Skip to content

WIP: Version 670 - clean2#29122

Open
chrisnojima-zoom wants to merge 59 commits into
masterfrom
nojima/HOTPOT-next-670-clean-2
Open

WIP: Version 670 - clean2#29122
chrisnojima-zoom wants to merge 59 commits into
masterfrom
nojima/HOTPOT-next-670-clean-2

Conversation

@chrisnojima-zoom
Copy link
Copy Markdown
Contributor

No description provided.

@chrisnojima-zoom
Copy link
Copy Markdown
Contributor Author

Replaces #28898 . squashed to help git

chrisnojima-zoom and others added 30 commits April 26, 2026 15:19
* jsi perf test
* better android nav icons

better ios icons
* dont nav if were there

* maymbe makes foreground crashes happen less
* build: add tsconfig.base.json

* build: add gen-ts-paths.mjs to generate per-platform tsconfig paths

* build: remove unused imports and dead stripExt function from gen-ts-paths.mjs

* build: add generated tsconfig paths files

* build: add tsconfig.desktop.json

* build: add tsconfig.native.json (errors to fix in subsequent tasks)

* build: delete .d.ts stubs replaced by generated tsconfig paths

* fix: restore deleted .d.ts stubs and fix generator to skip .d.ts-covered modules

Task 6 deleted .d.ts files that are still needed for relative imports within
the same package (e.g. `import {Box2} from './box'` in common-adapters files).
The tsconfig paths mappings only intercept `@/*` imports, not relative ones.

Restore all 107 deleted .d.ts stubs. Update gen-ts-paths.mjs to skip emitting
a path entry when a plain .d.ts already exists (avoiding redundant and
conflicting @/foo/index → foo/index.platform entries). Also add bare-directory
path entries (e.g. @/foo → foo/index.platform) for directories that have only
platform-split index files and no index.d.ts.

Result: desktop 0 errors (was 421), native 47 errors (was 450, all pre-existing).

* fix: resolve type errors surfaced by per-platform tsconfig split

* build: tsconfig.json is editor fallback (extends tsconfig.desktop.json)

* build: yarn tsc generates paths and checks desktop + native configs

* build: replace global casts with globals.native.d.ts declarations

Add globals.native.d.ts to properly declare platform-specific globals
(window, location) instead of using `global as {window?: ...}` casts
throughout the codebase.

Also: split make-icons.page to .desktop/.native, fix DataTransfer
augmentation in globals.d.ts for tsgo compatibility, update ESLint to
use per-platform tsconfigs (native-first) so shared files are
type-checked with native types.

* WIP

* build: restore use-resize-observer.d.ts to base version

* replace common-adapters index.d.ts stub with proper platform barrel files

* split tsconfig into per-platform configs, inline types from deleted .d.ts stubs

* WIP

* WIP

* WIP

* WIP

* WIP

* WIP

* WIP

* WIP

* WIP

* WIP

* WIP

* delete orphaned icon.constants-gen.shared-2.tsx

Fragment containing only the IconMeta type with no importers; the type
is already defined in icon.constants-gen.shared.tsx.
All 5 master commits (audio classification, attachment moderation, mobile
download toast fix, team member count fix, UI fixes) were already applied
in this branch; merge resolves conflicts by keeping our refactored structure.

Last master commit merged: 44af330
* fix bg css not loading

* fix accessory for inbox
* bring back translate-with-padding. use KeybaseChatScrollView

* left align unread
* add implementation plan: replace react-native-zoom-toolkit with local module

* add zoom-toolkit/types.ts

* add zoom-toolkit commons utils

* add zoom-toolkit commons hooks with patches applied

* add zoom-toolkit fitContainer and useImageResolution

* add zoom-toolkit ResumableZoom (trimmed props, patches applied)

* add zoom-toolkit CropZoom (trimmed props, forwardRef inline, dead code removed)

* add zoom-toolkit module index

* update consumer imports to use local zoom-toolkit

* remove react-native-zoom-toolkit npm dep and config references

* fix lint errors in zoom-toolkit: use .set(), if guards, prefer-const, set-state-in-effect

* fix reanimated warning: use .value= in worklets, .set() only on JS thread

* WIP

* remove zoom-toolkit replacement plan doc

* add MIT license attribution for vendored react-native-zoom-toolkit code
* chat thread: update imports for LegendList migration

* chat thread: delete custom desktop waypoint/scroll system

* chat thread: migrate desktop to LegendList, remove custom virtualization

* chat thread: remove itemLayout from maintainScrollAtEnd to fix ResizeObserver loop

* remove scroll pointer changes

* WIP

* fix scroll hover stop. fix overlay being cut off

* handle unknown duration better

* chat thread: fix search highlight and scroll-to-center for LegendList

LegendList's scrollToIndex uses estimated item positions for unrendered
items, causing it to land far from the target when estimated sizes are
smaller than actual. Fix by adding data-ordinal to each row and using a
retry loop: attempt scrollIntoView on the element directly, falling back
to scrollToIndex to get closer each time until the element is rendered.

Also extract HighlightableRow so it subscribes to the center context
directly, ensuring re-renders propagate through LegendList's recycled
containers. Disable maintainVisibleContentPosition during centering to
prevent it from fighting the scroll.

* feedback

* update plans

* WIP

* WIP
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