[FEATURE] Race-condition safe variables for workflow debounce

Aperta
#2,918 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
5/5
Tempo stimato
Più di una settimana
Idoneità per principianti
25/100
Tipo di issue
Funzionalità
Chiarezza
Abbastanza chiara
Stato di attività
Ferma
Stack tecnologico
typescript

Direzione di ricerca

The issue does not identify files, tests, or entry points. Start by tracing how workflow variables are scoped to a run and how webhook-triggered executions proceed concurrently; then clarify whether the change should provide atomic persistent variables or a built-in debounce/lock. Done should ensure only the latest run continues after a wait window, including under concurrent webhook bursts.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

Summary

Need race-condition safe, cross-run variables (or built-in debounce/lock) for webhook bursts.

Problem

Workflow variables are per-run only, so concurrent executions cannot coordinate. This makes debounce/“latest message wins” logic unreliable.

Current behavior

Multiple webhook runs triggered within seconds all proceed because each run sees only its own variable state.

Proposal

Add a persistent, atomic variable store scoped to workflow (optionally per-conversation) with compare-and-set semantics, or a built-in debounce/lock block with TTL.

Use case

User sends 4–5 messages quickly; only the latest run should continue after a wait window.

Lingua principale
TypeScript
Stelle
29.8k
Fork
3.9k
Merge medio
1h 44m
PR unite (30g)
841

Preparare l'ambiente

Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di simstudioai/sim

Tutte le issue di simstudioai/sim

Issue simili

Altre issue su TypeScript

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.