T-HUB/docs/reports/ux-audit-2026-10.md

3 KiB
Raw Blame History

UX Audit — app.occupymedia.cc (live, read-only) — October 2026

Auditor: fresh account uxaudit-2653, registered via /onboarding (solo path). Method: Playwright 1.63 / Chromium, Desktop 1440×900 and Mobile 390×844 (iPhone UA, 3× DPR). Scope: landing, onboarding, sidebar + mobile nav, streams, compose, calendar, video, groups, settings, audit, chat embed, files embed, inbox/approvals/analytics/connections/team/archive/control-room/search/more. Brand check: dark brand consistent across every screen (#060403/#0F0A09/#FF1610 trio honored); no off-brand colors observed.

Findings

# Sev Screen / element Finding
1 P0 Compose → Publish Button disabled with no visible reason (zero channels default): helper line far above only. No tooltip/inline reason.
2 P0 First-run home (/streams) Language Spanish-only with no toggle (t() hard-codes .es in no-collectives-home.tsx) while the landing has a working EN/ES toggle. Fails the 5-second first-run test for EN users.
3 P1 Sidebar 16 ungrouped nav items, no sectioning; home route labeled "Streams"; dead "Onboarding" item when signed in.
4 P1 /groups Orphaned route — linked from nowhere; background 404 /groups on load (caught).
5 P1 Settings Nearly empty dead-end for solo accounts: read-only identity block + raw dump of ~40 permission strings.
6 P1 More menu "Security & sessions" duplicates "Settings" (same destination); "Invite member"/"Roles" both → /team; no Groups link.
7 P1 Terminology drift Channels vs Connections; Video vs Video library vs PeerTube; Audit vs Audit trail vs Audit log; Streams vs Home; Files vs Library vs Drive.
8 P1 Compose post-submit Publish vs Post label drift; "0 accounts" helper reinforces nothing happens; no destination confirmation after publish.
9 P2 Icons Nav icons reused across unrelated items (video icon for Streams/Control Room/Video; files icon for Files+Archive; home icon for Onboarding).
10 P2 Onboarding username pattern="[a-z0-9][a-z0-9_.-]{1,31}" invalid regex → console error, native validation silently disabled.
11 P2 Chat embed Desktop Element embed fine (harmless config 404); mobile hand-off is good.
12 P2 Files embed Solo empty state good; background 400 /files?groupId=sample-group (caught). NOTE: Drive tab has since been REMOVED (oCIS retired) — stale.
13 P2 Loading/error states Strong: branded spinner, OfflineBadge, per-screen empty states with next-step + CTA. Highlight.
14 P2 Mobile touch targets Good: 44px enforced; Post 44×44, FAB 64×64; bottom nav + FAB thumb-friendly.
15 P2 Empty states Consistent + useful across screens; only Settings (Finding 5) is a dead end.

Status note (2026-10-16)

Findings 1–8 + 10 queued for fixes (ux-fix agent); Finding 12's Drive tab is already resolved (oCIS retired, Library replaces it). Sidebar grouping (3) and terminology unification (7) land with the same pass.