fix(vault): drain and replay the pin retry queue
Les mainteneurs répondent en général sous 1 jour
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Accessibilité débutants
- 55/100
- Type d'issue
- Fonctionnalité
- Clarté
- Clairement spécifiée
- Activité
- Active
- Stack technique
- bun, javascript, localization, typescript
Piste de recherche
Read frontend/src/features/vault-pinning/lib/sync-queue.ts and frontend/src/features/vault-pinning/hooks/use-pin.ts to understand queue storage and enqueue behavior. Then inspect the pin UI and the /api/vault/pin handler to trace manual retry, startup and online triggers, and idempotent replay. Add tests in the frontend/tests/*.test.mjs style and run them with bun test; done means retries are ordered and bounded, successful entries are removed, and persistent failures appear in the UI.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
Summary
Failed pin-audit writes are queued in the browser but never replayed. Add a drain that retries them safely.
Estimated size: S
Motivation
A pin can succeed at the provider while the audit write fails, leaving quota accounting wrong until someone fixes it by hand.
Current state in this repo
frontend/src/features/vault-pinning/hooks/use-pin.tscallsenqueue(...)when the audit write fails.frontend/src/features/vault-pinning/lib/sync-queue.tsstores entries undervault:pin_queueinlocalStorage; nothing reads and replays them.
Proposal
- Add
drainQueue()that replays entries against/api/vault/pinin timestamp order. - Run it on app start, on the browser
onlineevent, and from a manual retry action in the pin UI. - Exponential backoff with a cap; de-duplicate by
(cid, service, action)keeping the latest entry; stop after N failures and surface the entry in the UI.
Acceptance criteria
- A failed audit write is replayed after reconnect and then removed from the queue.
- Replaying the same entry twice does not change quota (the server write is idempotent).
- Entries that keep failing are surfaced to the user instead of retrying forever.
Out of scope
- Syncing the queue across devices.
Dependencies
- None; can be picked up independently.
Testing plan
- Unit tests with a fake
fetchand fake timers (frontend/tests/*.test.mjsstyle, run withbun test).
Part of #43. Ground rules for the content layer: no secrets in the repo, content-layer failures must never block or discard quantum execution, and tests and docs ship with every PR.
- Langage dominant
- Python
- Étoiles
- 2
- Forks
- 4
- Merge moyen
- 5 h 54 min
- PR mergées (30 j)
- 24
Préparer son environnement
- Fournit un Dockerfile ou un fichier Docker Compose
- Aucun modèle de pull request
- Aucun 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 QMeshPy/distributed-quantum
-
enhancement good first issue helia storage tier-1
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
QMeshPy/distributed-quantum#53 ·
Les mainteneurs répondent en général sous 1 jour
-
chain-integration enhancement payments research-spike tier-2
Difficulté 4/5 3-5 jours Accessibilité débutants 55/100
QMeshPy/distributed-quantum#78 ·
Les mainteneurs répondent en général sous 1 jour
-
chain-integration enhancement payments research-spike tier-2
Difficulté 3/5 1-2 jours Accessibilité débutants 66/100
QMeshPy/distributed-quantum#77 ·
Les mainteneurs répondent en général sous 1 jour
-
documentation good first issue kubo storage tier-1
Difficulté 2/5 1-3 heures Accessibilité débutants 42/100
QMeshPy/distributed-quantum#75 ·
Les mainteneurs répondent en général sous 1 jour
-
feat(provenance): IPFS storage adapter for bundle verificationPeut-être pris @vinayskanse l’a pris aujourd’hui. Ouverteenhancement kubo storage tier-2
Difficulté 4/5 3-5 jours Accessibilité débutants 56/100
QMeshPy/distributed-quantum#74 · 2 commentaires · 1 personne assignée ·
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de QMeshPy/distributed-quantum
Issues similaires
-
Difficulté 2/5 1-3 heures Accessibilité débutants 65/100
NVIDIA/flare-local-inference#90 ·
Les mainteneurs répondent en général sous 1 jour
-
area/streaming comp/gateway P2 platform/telegram type/bug
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
NousResearch/hermes-agent#144897 ·
Les mainteneurs répondent en général sous 1 jour
-
request-theme
Difficulté 1/5 Moins d'une heure Accessibilité débutants 66/100
LizardByte/ThemerrDB#9575 ·
Les mainteneurs répondent en général sous 1 jour
-
Author Page: noshin-nawalOuverteauthor-page correction
Difficulté 2/5 1-3 heures Accessibilité débutants 62/100
acl-org/acl-anthology#10599 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
zilliztech/memsearch#818 ·
Les mainteneurs répondent en général sous 1 jour