Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

Home Paste: verify and eliminate reuse of a historical menu-panel destination

Aperta
#162 3 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
45/100
Tipo di issue
Bug
Chiarezza
Abbastanza chiara
Stato di attività
Attiva
Stack tecnologico
macos, swift
Ambito
desktop

Direzione di ricerca

Read Sources/LocalVoice/WorkbenchHome.swift, main.swift and TextDelivery.swift, tracing how Home paste chooses a destination and how delivery validates it. Reproduce the two-destination sequence with harmless scratch fields and synthetic text, recording the activated app and changed field. Done means either native evidence shows the risk is blocked and the investigation is documented, or the issue's acceptance checks pass without weakening guarded delivery.

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

Descrizione

bug

Outcome and evidence

P1 investigation, source-supported delivery risk; no native wrong-target paste reproduced. Home's Paste path can reuse the destination captured by an earlier opening of Quick controls. A historic destination is not a fresh choice for a later Home action.

Workbench Preview 2.3.0, build 20260928054038, source 00be555139f87d4557f48fcffc132b8621c251a2, unmodified source, macOS 26.5.1 (25F80), Apple M5, built-in display. Identity verified in the running app using Copy build details on 28 September 2026.

This audit did not paste into live message composers. The request's first step is a controlled two-destination reproduction, not a claim that user text was already misdelivered.

Source chain

Source links below pin the earlier audited commit 9578d8cf; the relevant paths were checked against installed 00be5551 and the described behaviour is unchanged. Source findings and native observations are distinguished below.

  • WorkbenchHome.swift invokes onPasteTranscript, wired to paste in main.swift.
  • main.swift captures menuTarget when the panel opens. It is not cleared on panel closure.
  • main.swift lines 477–483 resume that stored app/field; lines 518–529 use this route for paste.
  • TextDelivery.swift revalidates the reactivated field, but that does not establish that the current Home invocation selected this historical destination.

A historical field may still be valid. This is the specific risk to establish, not a request to bypass guarded delivery.

Controlled reproduction and bounded fix

  1. Use two harmless scratch fields in separate apps, A and B.
  2. Focus A; open and close Quick controls.
  3. Work in B, then open Home through the normal window route.
  4. Paste a synthetic recent transcript. Record activated app, changed field and receipt.
  5. Repeat without a prior panel visit and with a changed field in A.

If the old destination is reused, give the current invocation a fresh explicit destination lifetime and expire panel-only snapshots. If the runtime contract already blocks it, document that evidence and close this investigation rather than adding redundant state.

Acceptance

  • Home cannot resurrect an unrelated historical field; ambiguous delivery safely copies or asks for a current destination through the existing flow.
  • Panel paste and fresh toolbar dictation still reach their intended fields.
  • Test same app/different field, unavailable app, secure field, drawing active, focus changes and clipboard changes during confirmation.
  • Never submit automatically; preserve originals and guarded target validation.
  • Record native evidence with synthetic text before claiming the risk fixed.

Related: #134 and #7. This investigation is prioritised by potential consequence, not by confirmed occurrence.

Lingua principale
Swift
Stelle
0
Fork
1
Merge medio
8h 16m
PR unite (30g)
210

Preparare l'ambiente

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 Ship-Work/workbench

Tutte le issue di Ship-Work/workbench

Issue simili

Altre issue su Swift

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.