[ux] Misc polish & consistency nits (dictation message, mark-all-read, invalid-invite page, reader Share button, non-admin AI settings, avatar) #133

Closed
opened 2026-06-22 06:27:57 +03:00 by Ghost · 0 comments

Severity: ux-polish (collected small findings)

  • Dictation error copy: with no STT model configured, transcription 503 shows toast "AI STT model not configured" — inconsistent with the documented/other-surface wording "Voice dictation is not configured".
  • "Mark all as read" in the notifications menu is not disabled when unread = 0 (clicking is a no-op); the disabled gate isn't applied for the empty case.
  • "invalid invitation link" page is a bare, unstyled lowercase line with no heading and no navigation/CTA — inconsistent with the password-reset-error and 404 pages, which both offer a "go to login"/home link.
  • READER sees an inert Share button: a space READER can open the "Share to web" panel from the page header (the create toggle inside is disabled, but the entry point is visible/reachable, unlike the other edit actions which are hidden).
  • Non-admin AI settings: a Member on /settings/ai sees only the "MCP server" section (itself disabled); all provider/endpoint config the admin sees is hidden, leaving a near-empty half-rendered page.
  • Avatar: no "Remove avatar" option (can only replace, never revert to initials); uploading an invalid image (e.g. a text file renamed .png) fails silently with no toast and no request.
  • Profile Save button is never disabled on a clean/unchanged form (re-submits the unchanged value).
  • Login validation copy: "email is required" (lowercase) vs "Password is required"; /login and /forgot-password do no client-side email-format check.

Filed from an automated full-product QA pass on develop @ v0.93.0-64-gb60190ff, fresh DB. Items were observed live in the browser; grouped issues collect several small related findings.

**Severity:** ux-polish (collected small findings) - **Dictation error copy**: with no STT model configured, transcription 503 shows toast **"AI STT model not configured"** — inconsistent with the documented/other-surface wording "Voice dictation is not configured". - **"Mark all as read"** in the notifications menu is **not disabled when unread = 0** (clicking is a no-op); the disabled gate isn't applied for the empty case. - **"invalid invitation link"** page is a bare, unstyled lowercase line with no heading and no navigation/CTA — inconsistent with the password-reset-error and 404 pages, which both offer a "go to login"/home link. - **READER sees an inert Share button**: a space READER can open the "Share to web" panel from the page header (the create toggle inside is disabled, but the entry point is visible/reachable, unlike the other edit actions which are hidden). - **Non-admin AI settings**: a Member on `/settings/ai` sees only the "MCP server" section (itself disabled); all provider/endpoint config the admin sees is hidden, leaving a near-empty half-rendered page. - **Avatar**: no "Remove avatar" option (can only replace, never revert to initials); uploading an invalid image (e.g. a text file renamed `.png`) fails **silently** with no toast and no request. - **Profile Save** button is never disabled on a clean/unchanged form (re-submits the unchanged value). - **Login validation copy**: "email is required" (lowercase) vs "Password is required"; `/login` and `/forgot-password` do no client-side email-format check. --- _Filed from an automated full-product QA pass on `develop` @ `v0.93.0-64-gb60190ff`, fresh DB. Items were observed live in the browser; grouped issues collect several small related findings._
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: vvzvlad/gitmost#133