Complete recording coordination and recoverable stop semantics
Les mainteneurs répondent en général sous 1 jour
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 5/5
- Temps estimé
- Plus d'une semaine
- Accessibilité débutants
- 12/100
- Type d'issue
- Refactorisation
- Clarté
- À clarifier
- Activité
- Active
- Stack technique
- android, ios, typescript
Piste de recherche
Start with the linked Proposed ADR 0024 (docs/adr/0024-screen-recording-provable-signal.md) and the accepted-ADR follow-up under #3744, since this issue is an ordered design plan rather than a code edit. Coordinate with #2376 on process identity before touching any backend. Done means each backend (iOS, Android, HarmonyOS, transport) passes ordinary stop, recovery, retry, and stale-owner tests, and the superseded recovery controls are removed.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
Purpose
Finish the shared recording lifecycle without loss of recoverable output. This continues the Proposed ADR 0024 (screen recording: one coordinator, two facts). Its implemented decisions move to an accepted ADR under #3744, and the proposal is then deleted.
Required behavior
- Track export completion and recorder termination as two independent facts.
- Keep the native-path disposition together with both facts.
- Use one coordinator for a live stop and for an authorized recovery.
- Keep signal selection and identity checks inside each backend.
- Keep the manifest and the ownership fence.
- Before a replacement, retain unresolved recordings by fence generation.
- Return a playable committed export together with its recorder observation.
- If collection, finalization, or commit fails, keep the retry material.
- After the export completes, let recovery settle an unresolved termination.
Completion conditions
- Each supported backend proves an ordinary stop, recovery after daemon loss, a retry after failed collection, and refusal of a stale owner.
- A retry cannot apply processing twice.
- A replacement cannot overwrite unresolved evidence.
- The superseded recording recovery controls are removed only after equivalent behavior is proven.
- HarmonyOS and transport recording use the shared finish sequence.
Decisions so far
- Uncertain process identity is not a reason to discard usable output.
- No public probe or signal levels: backends own the sequence.
- Process markers are not a second lifecycle store. Keep markers only for launch windows that nothing else covers.
- Recovery does not signal independently: that would bypass the coordinator guards.
- Unresolved evidence is never retired.
- Below Android API 34, keep the rotation. Evaluate unlimited recording on API 34+ separately.
Dependencies
- Coordinate process identity with #2376.
- Change other durable kinds only with their own failed-finish evidence.
Source proposal: https://github.com/callstack/agent-device/blob/0149438faf/docs/adr/0024-screen-recording-provable-signal.md
- Langage dominant
- TypeScript
- Étoiles
- 5.1k
- Forks
- 339
- Merge moyen
- 12 h 53 min
- PR mergées (30 j)
- 644
Préparer son environnement
- Aucun Dockerfile ni 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 callstack/agent-device
-
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
callstack/agent-device#3982 ·
Les mainteneurs répondent en général sous 1 jour
-
A session bound to an Apple device rejects --device=<its own UDID>Peut-être pris Une pull request liée à cette issue est ouverte ou déjà fusionnée. Ouvertebug
Difficulté 2/5 1-3 heures Accessibilité débutants 64/100
callstack/agent-device#3945 ·
Les mainteneurs répondent en général sous 1 jour
-
Limrun iOS fill reports success but drops non-ASCII textPeut-être pris @mvanhorn l’a pris il y a 6 jours. Ouvertebug ready-for-agent
Difficulté 2/5 1-3 heures Accessibilité débutants 87/100
callstack/agent-device#3819 · 2 commentaires ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
callstack/agent-device#1869 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 4/5 3-5 jours Accessibilité débutants 55/100
callstack/agent-device#3981 ·
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de callstack/agent-device
Issues similaires
-
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 1/5 1-3 heures Accessibilité débutants 84/100
-
Difficulté 2/5 1-3 heures Accessibilité débutants 83/100
keptinventory/kept#336 ·
Les mainteneurs répondent en général sous 1 jour
-
good first issue
Difficulté 2/5 1-3 heures Accessibilité débutants 84/100
-
hemi-earn
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
vetro-protocol/vetro-monorepo#1013 ·
Les mainteneurs répondent en général sous 1 jour