You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Simplify: second batch of safe, behavior-preserving cleanups
More from the app-wide analysis — each type-checked and test-covered, no
behavior change:
- Shared helpers replace duplicated logic: `placeFlag` (trip flag emoji, was
copied in three travel components), `nullableSanitized`/`optionalLabel` (Zod
transforms in models.ts, were repeated 4×/3× — the generated JSON-Schema
artifact is byte-identical), a generic `ts` accessor in sync/engine, and
`partitionTombs`/`snapFor` in sync/runSync.
- offline/tiles: one `defaultFetch`, one `prefetchDisabled()` guard, and one
`runPrefetchPool()` replacing two near-identical 2-worker loops.
- Dead code / tighter surface: drop the unused `MOMENT_GROUP_ORDER`, the write-
only `BrowseRow.lat/lon`, the `PackPlace` type, the never-passed `hint` prop
on the stats NameList; collapse `fullCitiesOptedIn`/`fullCitiesEnabled` into
one; drop unreferenced i18n barrel re-exports and the `export` on
`MAX_PACK_PLACES`.
- Smaller reads: PassportScreen counts instead of allocating; PublishScreen
reuses `passNorm`; importJson renames a shadowing loop var; guideNames gets
its explicit return type; photoBlobs' decode is one loop.
Gate: tsc clean, 459 unit tests (incl. schema-artifact + import-security),
e2e green (trip-reconstruction, trip-routemap, offline, a11y).
0 commit comments