Mobile startup network failures sign users out and delete pending recording files
Les mainteneurs répondent en général sous 1 jour
Évaluation
- Difficulté
- 3/5
- Temps estimé
- 1-2 jours
- Accessibilité débutants
- 35/100
- Type d'issue
- Bug
- Clarté
- Clairement spécifiée
- Activité
- À l'abandon
- Stack technique
- react-native, typescript
- Domaine
- authentication, mobile
Piste de recherche
Read apps/mobile/src/auth/AuthContext.tsx and its automatic bootstrap rejection handler, then trace how apps/mobile/src/uploads/recording-upload-provider.tsx handles signedOut. Start by running the described AuthProvider and RecordingUploadProvider fixture for network errors, HTTP 503, and HTTP 401. Done means temporary failures preserve credentials and recording recovery files while HTTP 401 still signs the user out; pull-to-refresh should remain able to retry bootstrap.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
Description
Launching the mobile app with a saved session during a temporary network outage signs the user out and deletes pending recording recovery data. The same happens when the bootstrap endpoint returns HTTP 503 or 429.
The automatic bootstrap failure handler clears the API key and user ID for every error. RecordingUploadProvider then sees signedOut, empties its queue, and calls FileSystem.deleteAsync for the recording directories and recording-upload-queue.json.
A transport or temporary service error should retain the session and recovery files. A server rejection of the credentials with HTTP 401 should still clear the session.
Reproduction
- Sign in to the mobile app and leave a camera recording awaiting upload completion.
- Relaunch with the saved session while the bootstrap request cannot reach the network, or responds with HTTP 503.
- The app returns to sign-in and deletes the pending recording directory and saved retry queue.
Reproduced against 5fcf8e9cb42625443d31be1023cc816284a7caf5 by mounting the actual AuthProvider and RecordingUploadProvider, using the real MobileApiClient with HTTP and native storage fixtures. In both network-error and HTTP 503 cases, the baseline called deletion for file:///documents/cap_123 and file:///documents/recording-upload-queue.json. HTTP 401 retained its expected sign-out behavior.
Additional Context
- Affected code:
apps/mobile/src/auth/AuthContext.tsx, automatic bootstrap rejection handler; downstream cleanup inapps/mobile/src/uploads/recording-upload-provider.tsx. - Environment: current mobile app source, Bun 1.4.4, Node 24.22.1, Vitest with native module and HTTP fixtures. No physical iOS device verification.
- Existing pull-to-refresh can retry bootstrap after connectivity returns. The credentials should remain available for that retry.
- Langage dominant
- Rust
- Étoiles
- 23.7k
- Forks
- 2.1k
- Merge moyen
- 1 j 6 h
- PR mergées (30 j)
- 705
Préparer son environnement
- Fournit un Dockerfile ou un fichier Docker Compose
- Aucun modèle de pull request
- Lire le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de CapSoftware/Cap
-
Web player intercepts ⌘⇧M and blocks Chrome profile-menu shortcutPeut-être pris @AatmanAJ l’a pris il y a 13 jours. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 80/100
CapSoftware/Cap#2596 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
CapSoftware/Cap#2384 · 2 commentaires ·
Les mainteneurs répondent en général sous 1 jour
-
Dashboard pagination causes full page reloads on self-hosted CapPeut-être pris @Dewin l’a pris il y a 41 jours. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 88/100
CapSoftware/Cap#2305 · 2 commentaires ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
CapSoftware/Cap#1714 · 3 commentaires ·
Les mainteneurs répondent en général sous 1 jour
-
Pending transcript saves discard later typingPeut-être pris @AksharP5 l’a pris aujourd’hui. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 35/100
CapSoftware/Cap#3502 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de CapSoftware/Cap
Issues similaires
-
vorbis: Inverse coupling runs in wrong orderPeut-être pris @computerfan l’a pris aujourd’hui. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 82/100
-
area:kernel needs-triage
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
bherbruck/solvecraft#8454 · 1 réaction ·
-
Add `Path.parent`Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 66/100
Les mainteneurs répondent en général sous 1 jour
-
bug
Difficulté 2/5 1-3 heures Accessibilité débutants 82/100
Les mainteneurs répondent en général sous 1 jour
-
audit(c2): assert [profile.release] parity across RUST_MANIFESTS in scripts/ci/check-workfl (C2-26)Ouvertehygiene type:refactor
Difficulté 2/5 Moins d'une heure Accessibilité débutants 78/100
Les mainteneurs répondent en général sous 1 jour