byGalax
ba8ba75490
feat(mobile): add expo-dev-client for EAS development builds
2026-05-14 12:49:25 +02:00
byGalax
122191276e
fix(mobile): use @config-plugins/react-native-webrtc, link EAS project
...
- replace bogus @livekit/* plugin entries with @config-plugins/react-native-webrtc@^10 (real Expo config plugin; LiveKit packages do not ship app.plugin.js)
- eas init linked project @bygalax/netralax (id 255e2fde-...)
- app.json picked up Expo defaults (Android permissions, owner)
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-14 12:44:24 +02:00
byGalax
5a3dc15704
chore(mobile): extract ENDED_STATE_LINGER_MS constant
...
The 2500ms timer that drifts CallState from `ended` back to `idle` was
an inline magic number. Promote to a module-level constant with a
comment explaining why the value isn't arbitrary — picked from the
post-Phase-3 quality review.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-14 06:24:05 +02:00
byGalax
10d3e91bbb
chore(mobile): restore German umlauts + ellipsis in call screen labels
...
The Phase-3 implementer ASCII'd four strings to side-step a Windows
console encoding issue during the apply step. The TypeScript / Metro
toolchain handles non-ASCII string literals cleanly — the workaround
was unnecessary and produced ugly UI labels ("Anruf lauft", "Hoerer",
"Verbinde ..."). Restore the originals.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-14 06:16:40 +02:00
byGalax
04da0f211d
feat(mobile): phone-icon header button + navigate to /call on connect
2026-05-14 06:14:17 +02:00
byGalax
4d787b68b4
feat(mobile): in-call screen with participants + toolbar
2026-05-14 06:13:25 +02:00
byGalax
c2df741055
feat(mobile): register /call full-screen modal route
2026-05-14 06:12:50 +02:00
byGalax
b81c63a2d3
feat(mobile): mount CallProvider + global IncomingCallModal
2026-05-14 06:12:20 +02:00
byGalax
098e4f4c1d
feat(mobile): IncomingCallModal with Annehmen/Ablehnen + name resolution
2026-05-14 06:11:45 +02:00
byGalax
e83c23d698
feat(mobile): CallProvider with state machine + LiveKit room lifecycle
2026-05-14 06:11:00 +02:00
byGalax
68cd4108dd
feat(mobile): callSignal subscribe + broadcast helpers
2026-05-14 06:06:53 +02:00
byGalax
ed7cb72ebe
chore(mobile): add LiveKit RN deps + mic permission + audio bg mode
2026-05-14 06:06:07 +02:00
byGalax
1440b11740
feat(mobile): wire image attachments, reactions, reply, delete into conversation detail
2026-05-14 00:22:18 +02:00
byGalax
286836f539
feat(mobile): MessageBubble with reply, attachment, reactions, delete state
2026-05-14 00:21:11 +02:00
byGalax
3b62fbc243
feat(mobile): MessageActionsSheet bottom modal — react/reply/delete
2026-05-14 00:20:08 +02:00
byGalax
8d7ed592b8
feat(mobile): ReactionStrip quick-reactor + ReactionPills display
2026-05-14 00:19:15 +02:00
byGalax
153e40bdcb
feat(mobile): AttachmentImage component with on-demand decrypt + cache
2026-05-14 00:18:11 +02:00
byGalax
415fa10ed0
feat(mobile): in-memory attachment cache by handle id
2026-05-14 00:16:49 +02:00
byGalax
8b7b6a3b0f
feat(mobile): imagePicker helper with library + camera flows
2026-05-14 00:16:25 +02:00
byGalax
05a17b7c1c
chore(mobile): add expo-image-picker dep + permission strings
2026-05-14 00:15:40 +02:00
byGalax
b1cdc4d184
chore(mobile): phase 1 quality-review fixups
...
Three small follow-ups from the post-Phase-1 quality review:
* authContext.tsx — drop the dead `userId` extraction + the `void
userId` suppressor that masked an unused-locals warning. The session
is already implicitly threaded through the supabase client, so no
consumer of ensureDevice needed the value.
* authContext.tsx — switch the device-name string concat to a
template literal for consistency with the rest of the codebase.
* ErrorBoundary.tsx — replace the four inline hex literals with their
`theme/colors.ts` constants. The boundary was authored in Phase 0
before the theme module existed; this brings it in line with every
Phase 1 screen.
* apps/mobile/README.md — drop the stale Phase-0 paragraph about the
`lib/sharedSmoke.ts` canary (deleted in Phase 1) and add a short
pointer to the env-var setup.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-14 00:08:22 +02:00
byGalax
263d2455a8
feat(mobile): conversation detail with decrypt + send
2026-05-14 00:01:48 +02:00
byGalax
3755a927c3
feat(mobile): real chat list with pull-to-refresh + logout
2026-05-14 00:00:24 +02:00
byGalax
0b3a6280fc
feat(mobile): Avatar + ConversationRow + relative-time helper
2026-05-13 23:59:53 +02:00
byGalax
3313dd84f3
feat(mobile): auth callback screen consumes magic-link tokens
2026-05-13 23:58:52 +02:00
byGalax
2a5f836b86
feat(mobile): magic-link login screen
2026-05-13 23:58:15 +02:00
byGalax
bf02380c19
feat(mobile): session-gated (app) layout redirects to login when signed out
2026-05-13 23:57:43 +02:00
byGalax
375d28efa5
feat(mobile): AuthProvider + crypto-backend registration; drop sharedSmoke canary
2026-05-13 23:57:18 +02:00
byGalax
1e88941796
feat(mobile): supabase client wired through async-storage session
2026-05-13 23:55:35 +02:00
byGalax
7ac93a95e6
feat(mobile): crypto + secret-store + session-storage adapters
2026-05-13 23:55:07 +02:00
byGalax
a275703ba6
feat(mobile): add AsyncStorage dep + env reader + theme constants
2026-05-13 23:54:10 +02:00
byGalax
13c6ad68f0
docs(mobile): phase 0 quickstart + roadmap pointer
2026-05-13 23:38:05 +02:00
byGalax
7eb8224bb0
feat(mobile): Netralax-branded Chats placeholder screen
2026-05-13 23:36:58 +02:00
byGalax
574436ab71
feat(mobile): Netralax landing screen with runtime version + nav smoke test
2026-05-13 23:36:31 +02:00
byGalax
5e483368ec
feat(mobile): wrap root layout in GestureHandler + SafeArea + ErrorBoundary
2026-05-13 23:35:51 +02:00
byGalax
b4457b74f5
chore(mobile): add runtime canary import from @chat-app/shared
2026-05-13 23:35:17 +02:00
byGalax
bb7aeec345
feat(mobile): add ErrorBoundary for render-error fallback
2026-05-13 23:34:46 +02:00
byGalax
1bf4f4bb83
chore(mobile): add expo-application + react-native-gesture-handler for phase 0 shell
2026-05-13 23:34:10 +02:00
byGalax
3049a0e39d
chore(mobile): add eas.json with development/preview/production build profiles
2026-05-13 23:33:47 +02:00
byGalax
2003a26c23
chore(mobile): rebrand app.json to Netralax + cloud.netralax.app bundle ids
2026-05-13 23:33:24 +02:00
byGalax
f7cfd2a86e
initial
2026-04-18 23:11:35 +02:00