zebra-report didn't have a defect tracker before; until now everything
lived in commit-message archaeology and signal-server log greps. Two
known defects make this the right moment to start one:
0001: fedora chrome cannot hear speakers (P0, in-progress)
P0 because every invariant (RTP arriving, worklet started,
ctxState=running) is green but the user hears nothing — silent
regression is trust-eroding. Primary hypothesis is that
AudioContext.destination always routed to system-default while
the speaker-output picker only setSinkId'd <audio> elements.
Fix landed in 467146a (applySinkToAudioCtx), awaiting fox retest
in production.
0002: fedora firefox cannot share camera (High, open)
Camera publish fails on firefox; chrome same machine works.
No telemetry yet; ticket enumerates the candidates to narrow
on the next attempt.
README.md spells out the format (status / priority / surface / first
seen, then symptom / telemetry / hypothesis / fix / status notes)
and the resolution loop (telemetry → failing test → fix → stamp →
deploy → update ticket).
2.4 KiB
2.4 KiB
Tickets
Defect tracker for zebra-report. Anything that takes more than 15 minutes or needs to be reproduced across browsers, devices, or sessions lives here as a numbered markdown file.
File format
Each ticket is docs/tickets/NNNN-slug.md where NNNN is monotonically
increasing. New tickets get the next number.
# NNNN: Short title
**Status:** open | in-progress | blocked | fixed | won't-fix
**Priority:** P0 (silent regression / data loss) | High | Medium | Low
**Surface:** browser / OS / role (e.g. "fedora chrome listener")
**First seen:** YYYY-MM-DD (reporter's local date)
**Reporter:** handle
## Symptom
What the user sees. Plain language, no implementation details.
## Telemetry / Repro
What the signal log / browser console / pcap shows. Concrete lines if
available. How to reproduce.
## Hypothesis
What we think is going on. List candidates if not yet narrowed.
## Fix
What was tried, what landed, what commit. Empty until something ships.
## Status notes
Running log of attempts, observations, retests. Newest at the top.
Priority
- P0 — silent regression: the app appears to work but doesn't (no error surfaced, audio routes nowhere, video goes black). Trust-eroding because the user can't tell what's wrong.
- High — feature unavailable (can't share camera, can't enter room). Visible error or empty state.
- Medium — degraded UX with workaround (slight latency, wrong tile order).
- Low — cosmetic, log noise, tooling.
How tickets are resolved
- Reproduce or grab telemetry from the signal-server log
(
/var/log/zebra-spaces-signal.log— grepCLIENT_LOG+ the reporter's handle). - Write a failing test in
test/that pins the contract the defect violates. The test failing IS the diagnosis. - Fix the code so the test passes. Commit with the test name in the message body.
make stamp, push bothzebra-reportand the deploy repo (www.unturf.com/zebra-report/).- Update the ticket Status to
fixed, link the commit, note what to re-test in production.
Open
| # | Title | Priority | Surface | Status |
|---|---|---|---|---|
| 0001 | fedora chrome cannot hear speakers | P0 | fedora chrome (any role) | in-progress |
| 0002 | fedora firefox cannot share camera | High | fedora firefox (speaker/host) | open |
Fixed
(none yet)