Skip to content

fix(build): green staging tsc + declare phantom expo native deps#102

Merged
epicexcelsior merged 5 commits into
anonmesh:stagingfrom
epicexcelsior:night3/gate-green
Jun 13, 2026
Merged

fix(build): green staging tsc + declare phantom expo native deps#102
epicexcelsior merged 5 commits into
anonmesh:stagingfrom
epicexcelsior:night3/gate-green

Conversation

@epicexcelsior

Copy link
Copy Markdown
Collaborator

First of the night3 lane PRs — foundational, unblocks tsc/CI for the others.

What

  • Staging tsc was red. context/NetworkModeContext.tsx:110/112 passed beaconRpcWait (never destructured into scope) to MeshRpcAdapter instead of the already-in-scope beaconBroadcastRpc (destructured at :64). Half-finished rename. 2-line caller fix — touches no adapter/transport code.
  • Two phantom native deps now declared direct. expo-file-system + babel-preset-expo existed only transitively; a lock regen dropped them and one build produced an APK missing the expo-file-system native module (runtime crash at LxmfContext init). Both now direct deps with SDK-expected patch pins.
  • tier0 scans were vacuous where rg was absent (if rg … swallowed exit-127 → fake-money/secret scans silently passed). Script now requires rg.

Scope

5 files: NetworkModeContext.tsx (2 lines), package.json, package-lock.json, app.json, scripts/validate-tier0.sh. No adapter / lxmf / transport files.

Test

tier0 all 10 sections green on the integrated branch (local).

Watch

package-lock.json regenerated 3 days ago; the v3 lockfile fix (--legacy-peer-deps, 25h ago) isn't on staging yet — if CI enforces that flag, this lock may need a regen on the staging base.

Staging tsc is red: NetworkModeContext still passes the pre-anonmesh#81
beaconRpcWait name, but MeshRpcAdapter takes beaconBroadcastRpc since
the link-protocol migration. Use the hook value already destructured
in this component. Unblocks the tier0 gate.
expo install --check fails the tier0 gate on clean staging
(expo-font 14.0.11 -> ~14.0.12, expo-router 6.0.23 -> ~6.0.24).
LxmfContext imports expo-file-system/legacy but the package was only
present as a transitive dep of expo core; the 54.0.35 bump dropped it
from the graph, breaking tsc and silently omitting the native module
from new builds.
babel.config.js references babel-preset-expo by name but it was only
nested under expo/node_modules — any lockfile regen breaks Metro at the
root. The tier0 fake-money/secret scans run rg inside if-conditions, so
a missing binary passed them vacuously; fail loudly instead.
@epicexcelsior epicexcelsior merged commit def4326 into anonmesh:staging Jun 13, 2026
1 check passed
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.

1 participant