⌂ Home ☷ Board

MC Mobile Bug Hunt — Tessa QA Report

Date: 2026-05-20
Tester: Tessa
Device: 375x812 mobile (Chrome DevTools device emulation, deviceScaleFactor=2)
MC Version: http://localhost:3001
Time spent: ~25 min


Summary

Severity Count
Blocker 2
Major 4
Minor 2
Polish 1
Total 9

Blocker Issues

BUG-01: Board FAB covers ticket "✗" action button [BLOCKER]

Page: /board
Screenshot: /tmp/tessa-board-fab-zone.png, /tmp/tessa-board-scroll.png

What I did: Opened Board, scrolled down to see ticket cards.

What happened: The blue "+" FAB (new ticket, fixed at x=303-359, y=684-740) sits directly on top of the last visible ticket card's "✗" (dismiss/reject) action button (x=308-352, y=715-759). The FAB covers the ✗ button completely. The user can see only 3 of 4 action buttons on the bottom card.

Proof: elementsFromPoint(330, 710) returns [BUTTON.fab, A.ticket-card, ...] — the FAB intercepts all taps at that location.

Fix: Increase FAB bottom offset so it clears the nav bar with enough room for one card row below it. Use bottom: calc(56px + 16px + 44px) (nav height + gap + one action row). Or move FAB to bottom-left side.


BUG-02: Console "+" FAB covers "Down" shortcut button [BLOCKER]

Page: /console
Screenshot: /tmp/tessa-console-full.png, /tmp/tessa-console-bottom-detail.png

What I did: Opened Console, looked at the quickkeys shortcut bar.

What happened: The Console's "+" FAB (fab-create, x=311-359, y=684-732) overlaps the "Down" shortcut button (x=288-330, y=686-716). Tapping "Down" at x=311-330 will hit the FAB instead. Additionally, the shortcut bar (overflow-x: auto) extends 710px but viewport is 375px — "PgUp", "PgDn", "0-5" are off-screen with no visible scroll indicator.

Fix: The FAB on Console should either be hidden or positioned so it doesn't overlap the shortcut bar. The shortcut bar needs a scroll indicator (e.g., fading right edge gradient) so users know more shortcuts exist.


Major Issues

BUG-03: Ticket detail page — nav bar broken [MAJOR]

Page: /ticket/{id}
Screenshot: /tmp/tessa-ticket-bottom.png

What I did: Opened a ticket from the board (ticket/3851), scrolled to bottom.

What happened: When scrolled to bottom of ticket page, the bottom nav bar renders broken — only 3 of 5 tabs visible (Overview, Board, Tasks) with Apps and More cut off. The nav right property reported as 658px on a 375px viewport. The fab-back (back button) reports y=1261 even at scrollY=0 which is way outside the viewport.

Root cause suspicion: A CSS transform on a parent container is breaking position: fixed on the nav and fab-back elements (CSS spec: fixed positioning is relative to the nearest containing block with a transform, not the viewport). The ticket page likely wraps content in a transformed container.

Fix: Find any transform, perspective, or will-change: transform on ancestor containers of .bottom-nav and .fab-back in the ticket layout and remove them, or ensure the nav/fab-back are NOT children of transformed containers.


BUG-04: Console session tabs overflow — last tab(s) clipped [MAJOR]

Page: /console
Screenshot: /tmp/tessa-console-full.png

What I did: Opened Console, looked at the preset tabs row.

What happened: The horizontal session-preset tabs ("Claude", "Claude Anthropic", "Claude GLM", "Claude Kimi...") overflow the viewport. The last tab "Claude Kimi" is clipped at the right edge with no scroll indicator. User doesn't know more presets exist.

Fix: Add overflow-x: auto + right-fade gradient indicator to the presets tab row, same as the shortcut-row already has.


BUG-05: Workbench bottom tab row — "Keys", "Brief", "Danger" off-screen [MAJOR]

Page: /runtime-workbench
Screenshot: /tmp/tessa-workbench-full.png

What I did: Opened Workbench on a ticket.

What happened: The .wb-tools-bar contains tabs: Status, Runtime, WAT, Session (visible), then Keys (x=353), Brief (x=431), Danger (x=504) — all off the 375px screen. The container has overflow-x: auto so they ARE reachable by swiping, but there is no visual affordance (no fade, no ">" indicator, no scroll shadow). Users will not discover these tabs.

Fix: Add a right-fade gradient to .wb-tools-bar when scrollWidth > clientWidth.


BUG-06: Insights "398 Tickets Done" count doesn't match mc.db [MAJOR]

Page: /insights (7-day period)

What I did: Checked the "398 TICKETS DONE" figure against SELECT COUNT(*) FROM tickets WHERE status='done' AND updated_at >= 7-days-ago.

What happened: DB returns 418 tickets. Insights shows 398. Discrepancy: 20 tickets (4.8%).

Note: Could be updated_at vs done_at semantics. Needs investigation to confirm which timestamp the insights query uses.

Fix: Verify the Insights query uses the correct timestamp column. If done_at is NULL for some tickets, add a fallback.


Minor Issues

BUG-07: Workbench tab UX — chat-first feel adequate but not chat-first [MINOR]

Page: /runtime-workbench
Screenshot: /tmp/tessa-workbench-full.png

What I did: Used the Workbench page as a first-time user.

What happened: The page defaults to showing the ticket description in a big text block above the chat area. A real Claude Code / Aion-style workbench would lead with the chat feed and push the ticket description to a collapsible sidebar. The current layout feels like a "ticket viewer with a chat at the bottom" rather than a "live AI agent session".

Fix: Consider making the chat feed the primary focus (full height) and moving ticket description to a collapsible "Ticket" tab panel. This is an aesthetics/UX direction question for Elmar.


BUG-08: Overview — "You're offline" banner shows briefly [MINOR]

Page: / (Overview)

What I did: Loaded overview with cache-bust.

What happened: The BODY element had text "You're offline — showing cache..." visible in DOM structure. Likely a service worker cache message that flickers on hard reload. Not consistently reproducible but present in DOM text content.

Fix: Ensure the offline banner only shows when actually offline (check navigator.onLine state before showing).


Polish Issues

BUG-09: Board — "Quick Start" label misaligned with chip row [POLISH]

Page: /board
Screenshot: /tmp/tessa-board-correct.png

What I did: Looked at the Board page Quick Start chip area.

What happened: The "QUICK START" label is on the same row as the first chip row but the label is in uppercase small-caps style while chips are regular weight. The label and chips don't visually form a clear grouped unit — the label appears orphaned to the left.

Fix: Add align-items: center to the Quick Start row, or move the label to its own line above the chips.


Page-by-Page Status

Page FAB Issue Scroll Buttons Accessible Data OK
Overview / Minor (cloud FAB, no overlap) OK OK OK
Board /board BLOCKER (+ FAB covers ✗ btn) OK 3/4 action btns per last card OK
Tasks /tasks None OK OK OK
Apps /apps None OK OK OK
More sheet None (sheet z-index above cloud FAB) OK OK OK
Workbench /runtime-workbench None OK "Keys/Brief/Danger" hidden (scrollable) OK
Console /console BLOCKER (+ FAB covers Down btn) OK Shortcut bar overflow, no indicator OK
Briefings /briefings None OK OK OK
Ticket Detail /ticket/{id} N/A OK nav broken (only 3/5 tabs) OK
Insights /insights None OK OK Data off by 20

Top 5 Worst Issues

# Issue Severity Screenshot
1 Board FAB covers ticket ✗ button Blocker /tmp/tessa-board-fab-zone.png
2 Console FAB covers "Down" shortcut Blocker /tmp/tessa-console-full.png
3 Ticket detail nav bar broken (only 3 tabs, fixed positioning fails) Major /tmp/tessa-ticket-bottom.png
4 Console preset tabs overflow with no indicator Major /tmp/tessa-console-full.png
5 Workbench "Keys/Brief/Danger" tabs off-screen no scroll hint Major /tmp/tessa-workbench-full.png

Data Verification (Tessa bias check)


Fix Priority

  1. MUST fix before Elmar sees: BUG-01, BUG-02, BUG-03
  2. Should fix before Elmar sees: BUG-04, BUG-05, BUG-06
  3. Can ship with note: BUG-07, BUG-08, BUG-09

Tessa sign-off: NOT APPROVED FOR ELMAR — 2 Blockers + 3 Majors outstanding.