[Contracts] resume_stream lacks an is_active/status guard - a cancelled-while-paused stream can be resumed back to Active
Les mainteneurs répondent en général sous 7 jours
@Anthony-19 y travaille déjà.
Depuis le 30/6/2026.
Évaluation
Cette issue n'a pas encore été évaluée.
Description
Telegram (ask questions / claim the issue here first): https://t.me/+DOylgFv1jyJlNzM0
Labels: bug, contracts, Stellar Wave, rust
A stream that was cancelled while paused can be resumed back to Active, leaving an inconsistent record.
cancel_stream (lib.rs:515-518) sets is_active=false and status=Cancelled but never clears paused or paused_at. resume_stream (lib.rs:591) only checks if !stream.paused and never calls validate_stream_active. So if a stream was paused (paused=true) and then cancelled, it still passes the resume check: status flips back to Active (lib.rs:613) while is_active stays false. That's a contradictory record, plus a phantom stream_resumed event with a bogus new_end_time that indexers read as a reactivation.
What the fix has to hold to
resume_streamrejects any non-active stream- Cancelling settles the pause flags so no stale
pausedstate lingers
Done when
-
resume_streamrejects non-active streams (callvalidate_stream_activeor requirestatus==Paused), returningStreamInactive -
cancel_streamclearspaused/paused_atwhen settling - Test: pause, then cancel, then
resume_streamreturnsStreamInactiveand emits nostream_resumedevent - Tests + fmt pass, CI green
Where to start
All in contracts/stream_contract/src/lib.rs. Indexer/event-worker changes are out of scope. Small guard plus a state-cleanup line.
- Langage dominant
- TypeScript
- Étoiles
- 18
- Forks
- 250
- Merge moyen
- 5 j 6 h
- PR mergées (30 j)
- 82
Préparer son environnement
- Fournit un Dockerfile ou un fichier Docker Compose
- Propose un 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 LabsCrypt/flowfi
-
backend points: 150 testing
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
Les mainteneurs répondent en général sous 7 jours
-
backend points: 150 testing
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
Les mainteneurs répondent en général sous 7 jours
-
backend points: 150 testing
Difficulté 2/5 1-3 heures Accessibilité débutants 76/100
Les mainteneurs répondent en général sous 7 jours
-
backend points: 150 testing
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
Les mainteneurs répondent en général sous 7 jours
-
backend points: 150 testing
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
Les mainteneurs répondent en général sous 7 jours
Toutes les issues de LabsCrypt/flowfi
Issues similaires
-
area: image-engine bug priority: low
Difficulté 2/5 1-3 heures Accessibilité débutants 88/100
snapotter-hq/SnapOtter#3885 ·
Les mainteneurs répondent en général sous 1 jour
-
Mend: dependency security vulnerability
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
Les mainteneurs répondent en général sous 3 jours
-
pending triage
Difficulté 2/5 1-3 heures Accessibilité débutants 76/100
Les mainteneurs répondent en général sous 1 jour
-
bug P3 UI/UX
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
Les mainteneurs répondent en général sous 1 jour
-
clawsweeper:fix-shape-clear clawsweeper:queueable-fix clawsweeper:source-repro impact:ux-friction issue-rating: 🦞 diamond lobster no-stale P3
Difficulté 2/5 1-3 heures Accessibilité débutants 73/100
openclaw/openclaw#182077 · 1 commentaire · 1 réaction ·
Les mainteneurs répondent en général sous 1 jour