fix(snapshot): @eN ref 未绑定目标 tab/session、快照即重置——并发或人手操作下静默错点/错页
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 30/100
- Tipo di issue
- Bug
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Attiva
- Stack tecnologico
- typescript
- Ambito
- devtools
Direzione di ricerca
Start at content/snapshot.ts (ref map cleared and counter reset each snapshot, lines 100-135) and content/interact.ts:2-10, where staleness only checks !isConnected. Then read src/gateway/src/router.ts:27-40 for the default tabId/session resolution, and the isomorphic path in client/inject.ts:156-177. Done looks like: refs carry a snapshot generation, interactions reject a mismatched generation or role+name+bbox fingerprint with stale_ref, snapshot replies echo tabId/sessionId, and truncation past MAX_NODES/MAX_DEPTH is explicitly marked.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
场景 gap 单(okguitar 提报)· 优先级 P1 · 依赖:无
基线 HEAD = f9c7b88。(web-bridge 同构问题一并见正文)
Summary
- 页面内 refs 是单例 Map,每次 snapshot
refs.clear(); counter=0重排(content/snapshot.ts:100-101,131-135);失效检查只查连接状态(content/interact.ts:2-10仅!isConnected报 stale)。 - 目标解析默认当前活跃 tab(
src/gateway/src/router.ts:27-40tabId缺省)/web-bridge 缺省"最近连接会话"。 - 快照超限
MAX_NODES=800/MAX_DEPTH=20静默 return(snapshot.ts:122-124),输出无 truncated 标记;遍历含全部可见元素(非仅交互元素),交互元素可能整批缺失而 agent 无感知。
影响
旧 @eN 落在新快照同序号上不会报错、静默指向另一个元素(可能是有副作用的按钮);叠加目标漂移(切 tab/新页面连接)后 ref 与对象彻底解耦。relay 主场景(多 MCP 会话 + 用户手动操作同一浏览器)下错误点击难以归因。
建议
ref 带快照代次(@s3:e12),交互时校验代次或元素指纹(role+name+bbox),不符即 stale_ref;快照结果回带目标 tabId/sessionId;截断显式标记 [truncated: N more]。web-bridge 侧同步改(client/inject.ts:156-177 同构)。
- Lingua principale
- TypeScript
- Stelle
- 0
- Fork
- 0
- Merge medio
- 8m
- PR unite (30g)
- 2
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
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Issue simili
-
area: server priority: P3 type: bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 83/100
appandflow/stim#4538 ·
I maintainer di solito rispondono entro 1 giorno
-
[BUG] Published Docker images lack the redis extra: HEADROOM_COMPRESS_SESSION_STORE stops startupForse già presa @AlessandroSpallina l’ha presa oggi. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
headroomlabs-ai/headroom#4513 ·
I maintainer di solito rispondono entro 1 giorno
-
bug extension extension: obsidian platform: Windows
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
raycast/extensions#32838 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
copy design-review mac P3
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
tosunlab/hisarapp-core#510 ·
-
bug priority-medium to-agent
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
I maintainer di solito rispondono entro 1 giorno