Present, Draw and Persona successes pin an orange alert in the menu-bar panel

Aperta
#333 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à
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
22/100
Tipo di issue
Bug
Chiarezza
Abbastanza chiara
Stato di attività
Attiva
Stack tecnologico
swift
Ambito
desktop

Direzione di ricerca

The panel's orange row is driven by StageKitController.notices (around :497-501) and StageNotice (:683-686) in StageKitController.swift, rendered in WorkbenchQuickPanel.swift at :142 and :316-325. Success notices are raised at call sites in AppCoordinator.swift, DemoScenes.swift, SceneSharing.swift, Persona.swift and StageKitController.swift:407. Start by adding a tone to StageNotice and checking the NoticeOwnerTests expectations. Done when a nil-completed screenshot leaves no panel notice, errors and copyBoard with no board remain problems, and the mutation check fails when the filter is removed.

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

Descrizione

bug

Outcome: routine successes stay on their page. The panel's orange recovery row shows only problems, and a stale success can no longer hide a live one.

Evidence (main edc15df)
  • StageKitController.notices merges notices with no tone (:497-501; StageNotice :683-686).
  • The panel turns any stage notice into an orange warning row (WorkbenchQuickPanel.swift:142, :316-325).
  • Successes are posted as notices at:
    • AppCoordinator.swift:406, 428 and 460-461
    • DemoScenes.swift:499, 645, 677 and 972
    • SceneSharing.swift:17 and 37
    • StageKitController.swift:407
    • Persona.swift:707, 752 and 1337
  • A Draw success takes precedence over a later Live Camera failure.
  • This conflicts with docs/workbench.md:119 (Fit 7) and #134 T5.
Change
  • Give StageNotice a tone (problem by default).
  • Add post(_:on:tone:). The screenshot completion splits on error == nil.
  • Scenes and personas get noticeIsDone (reset in didSet) plus confirm(_:), used only for the listed successes.
  • The panel-facing notice takes the first problem. Pages keep every notice.
Acceptance

NoticeOwnerTests:

  • a nil-completed screenshot leaves no panel notice, while the Draw page keeps it;
  • an error is a problem;
  • copyBoard with no board is still a problem;
  • a done notice does not hide a scene problem;
  • saveMyDevice is done.
  • Mutation check: these tests fail when the filter is removed.
Value before scope
  1. Outcome: a presenter sees only real problems. Evidence: the call sites above.
  2. Simpler route: classify where each notice is raised.
  3. Owner: StageKitController notices.
  4. Complexity: one tone field.
  5. Verified by: StageKitLegacy tests.

Grammar: Quality.

Refs #134


Build-ready record from the overnight lead session of 15 Oct 2026, verified against main edc15df by an independent skeptic per item. Implementation follows on a claude/* branch; this issue closes only after native acceptance.

Lingua principale
Swift
Stelle
0
Fork
1
Merge medio
14h 21m
PR unite (30g)
208

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.