feat: add native T4 companion app for iOS and Android - #86
Conversation
oleksoleksoleks
left a comment
There was a problem hiding this comment.
Recommend closing as obsolete/superseded, not repairing for merge. Current main already ships the maintained Flutter Android/iOS/macOS client under com.lycaonsolutions.t4code; this Expo companion claims the same native identity, so the two applications cannot coexist. Rebasing also rejects Flutter's native Origin: https://localhost handshake at the Tailnet gateway and carries stale 0.1.29 release metadata that fails the 0.1.30 release contract. Preserve one supported native client: Flutter.
|
Maintainer recommendation: close this draft as superseded by the merged Flutter native client. Do not maintain two native apps with the same iOS/Android identity. |
|
Closing without merge. The canonical native client is Flutter per docs/T4_ARCHITECTURE.html; maintaining a second Expo application with the same iOS/Android identity would create conflicting product and release paths. |
What this changes
This remains a draft checkpoint while an alternative Flutter client is evaluated. The server-side bounded-tail fix for transcripts larger than 64 MiB is not part of this PR.
How you verified it
On
2bd5cd2:mise exec node@24.17.0 -- pnpm --filter @t4-code/companion typecheckmise exec node@24.17.0 -- pnpm --filter @t4-code/companion testmise exec node@24.17.0 -- node apps/companion/scripts/doctor-node-tests.mjsExact-head GitHub Actions are not green:
android-debugpassed;coreandtoolingfailed the same release-consistency invariant because the companion version is0.1.29while the repository version is0.1.30; the aggregateverifyjob therefore failed.Checklist
pnpm checkpasses (release contract, provenance, lint, typecheck)pnpm testpasses; new behavior has a test that fails without this changeTHIRD_PARTY_NOTICES.md(not applicable; no ported code)