Skip to content

feat: add cross-platform native list - #92

Open
huhuanming wants to merge 32 commits into
mainfrom
codex/native-list-section-index
Open

feat: add cross-platform native list#92
huhuanming wants to merge 32 commits into
mainfrom
codex/native-list-section-index

Conversation

@huhuanming

Copy link
Copy Markdown
Contributor

Summary

  • add a cross-platform NativeList package backed by UICollectionView on iOS and RecyclerView on Android through Nitro Modules
  • support serializable row templates, selection, patching, reordering, refresh, visibility/load-more events, section index navigation, and RN-compatible imperative scroll APIs
  • add a pure DOM virtualized Web backend exposed through the same React component contract
  • add NativeList examples for API coverage, benchmarks, account selection, and the production-aligned network selector

Validation

  • NativeList Jest suites: 6 suites, 50 tests passed
  • example data suites: 2 suites, 8 tests passed
  • package typecheck, lint, and prepare passed
  • iOS and Android example builds and page-level runtime acceptance passed
  • Web virtualization harness kept a 5,000-row list to a small visible DOM window and covered imperative scrolling and section navigation

Comment thread native-views/react-native-native-list/ios/RNCNativeListView.swift Outdated
Comment thread native-views/react-native-native-list/ios/RNCNativeListView.swift
Comment thread native-views/react-native-native-list/ios/RNCNativeListView.swift Outdated
@socket-security

socket-security Bot commented Sep 5, 2026

Copy link
Copy Markdown

Review the following changes in direct dependencies. Learn more about Socket for GitHub.

Diff Package Supply Chain
Security
Vulnerability Quality Maintenance License
Addednpm/​@​rspack/​core@​2.1.21001008197100
Addednpm/​react-native-web@​0.21.2811009384100
Addednpm/​@​rspack/​cli@​2.1.21001008697100
Addednpm/​@​rspack/​dev-server@​2.1.010010010090100
Addednpm/​react-dom@​19.2.31001009298100

View full report

@socket-security

socket-security Bot commented Sep 5, 2026

Copy link
Copy Markdown

Warning

Review the following alerts detected in dependencies.

According to your organization's Security Policy, it is recommended to resolve "Warn" alerts. Learn more about Socket for GitHub.

Action Severity Alert  (click "▶" to expand/collapse)
Warn High
Obfuscated code: npm @emnapi/runtime is 90.0% likely obfuscated

Confidence: 0.90

Location: Package overview

From: example/react-native/package.jsonnpm/@rspack/core@2.1.2npm/@emnapi/runtime@1.11.1

ℹ Read more on: This package | This alert | What is obfuscated code?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Packages should not obfuscate their code. Consider not using packages with obfuscated code.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore npm/@emnapi/runtime@1.11.1. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

Warn High
Obfuscated code: npm react-native-web is 90.0% likely obfuscated

Confidence: 0.90

Location: Package overview

From: example/react-native/package.jsonnpm/react-native-web@0.21.2

ℹ Read more on: This package | This alert | What is obfuscated code?

Next steps: Take a moment to review the security alert above. Review the linked package source code to understand the potential risk. Ensure the package is not malicious before proceeding. If you're unsure how to proceed, reach out to your security team or ask the Socket team for help at support@socket.dev.

Suggestion: Packages should not obfuscate their code. Consider not using packages with obfuscated code.

Mark the package as acceptable risk. To ignore this alert only in this pull request, reply with the comment @SocketSecurity ignore npm/react-native-web@0.21.2. You can also ignore all packages with @SocketSecurity ignore-all. To ignore an alert for all future pull requests, use Socket's Dashboard to change the triage state of this alert.

View full report

Comment thread native-views/react-native-native-list/src/NativeList.tsx Outdated
Comment thread native-views/react-native-native-list/ios/RNCNativeListView.swift Outdated
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants