Repository navigation
[VibeDash 0ae30fbf] Mobile application still uses mock authentication and protocol - #7
Draft
rapidstartup wants to merge 1 commit into
Conversation
|
|
✅ Deploy Preview for zesty-pavlova-54b539 ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
Contributor
There was a problem hiding this comment.
VibeDash Codex Agent Reviewer
The PR introduces real login and token registration, but production server startup breaks and the mobile call protocol remains nonfunctional and unauthenticated.
Recommendation: changes requested
Risk: high
Model: gpt-5.6-sol
Findings
- HIGH — Shared protocol relocates the compiled server entry point
Including the shared TypeScript source outside the server directory changes TypeScript's inferred source root. The build will emitserver/index.tsasdist/server/index.js, while both production launch configurations still expectdist/index.js. Deployment will fail to start.
Evidence:server/tsconfig.jsonhunk adds../shared/**/*.tswithoutDir: ./distand no explicitrootDir;server/package.jsonstartandserver/ecosystem.config.jsscriptboth executedist/index.js. - HIGH — Push registration has no incoming-call delivery path
The Expo token is stored, but nothing sends a push or supplies the generated call ID to a mobile device. The mobile incoming-call socket listener was removed and no notification listener populates the incoming-call state. Consequently, a device can never obtain a call to answer or reject.
Evidence: Inserver/socket.ts,setupSocketServer'scall-startbranch createscallIdbut records only the originating socket and emitscall-establishedback to that socket.mobile/services/notifications.tsonly registers a token. The diff hunk inmobile/app/(app)/(tabs)/calls.tsxremovesonIncomingCall, leavingsetIncomingCall/setShowIncomingCallwith no incoming event source. - HIGH — Supabase socket token is ignored and privileged signals are unauthorized
The mobile client supplies an access token, but the server accepts every handshake and never validatessocket.handshake.auth.token. Answer, reject, and mute requests are accepted solely when a call ID exists, without checking the authenticated user, widget ownership, or device route. These controls need an authenticated and authorized mobile path while preserving public widget connections.
Evidence:mobile/services/socketService.tsinit()sendsauth: { token: session.access_token };server/socket.tsallowRequestunconditionally callscallback(null, true)and its connection handler never readshandshake.auth. Thesignalbranches forcall-answer,call-reject, andcall-muteonly checkactiveCalls.has(data.callId).
Validation reviewed
- passed:
git diff --check 6607f7c64f19c00522a26605323c6002afbac6e8..51e26713826cfa9489480e03d17f4eb8880dcc7b— No whitespace errors. - not_run:
npm run build— The environment does not provide npm. - not_run:
cd server && npm run build— The environment does not provide npm. - not_run:
cd mobile && npx tsc --noEmit— The environment does not provide npx. - not_run:
cd mobile && npm run lint— The environment does not provide npm.
This agent does not merge or close tasks; final closure remains with a human.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Replaced mobile mock auth, push registration, and socket events with real Supabase-backed implementations and a shared typed protocol.
VibeDash task:
0ae30fbf-b84b-4346-b63d-610fa2c16ff7Runner: House Codex —
gpt-5.6-luna/xhighValidation:
mobile tsc --noEmitmobile npm ci --dry-runExpo web export— Bundle succeeded; existing asset MIME warnings were reported.Touched web ESLintFull repository TypeScript/lint— Unrelated pre-existing Twilio, Express typing, and legacy lint errors remain.This PR was opened as a draft for human review.