From f5d036dd7df7504036592502665416df3d86002c Mon Sep 17 00:00:00 2001 From: Bretton <36870434+BrettM86@users.noreply.github.com> Date: Thu, 16 Jul 2026 05:39:00 -0700 Subject: [PATCH] docs: mark community pages section as passing after re-verification Co-Authored-By: Claude Fable 5 --- docs/QA_LOOP.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/QA_LOOP.md b/docs/QA_LOOP.md index f4d7f8c4..7ffb6b34 100644 --- a/docs/QA_LOOP.md +++ b/docs/QA_LOOP.md @@ -48,7 +48,7 @@ any bugs found, and committing the fixes. |---|---|---|---|---| | 1 | Auth & Session | pass | 2026-07-16 | Re-verified: all 3 fixes hold (idempotent logout confirmed via 200 on sessionless logout; "Handle" label; clean error copy), full logout/login round-trip clean, zero console errors or warnings. **Backend issue still open**: OAuth callback redirects to the Go backend landing page at `127.0.0.1:8081/` instead of back into the app — needs a fix in `~/Code/coves` `/oauth/callback`. Cosmetic: logout confirm dialog shows the raw backend URL instead of the instance domain. | | 2 | Home Feed | pass | 2026-07-16 | Re-verified: all 5 fixes hold (scroll-to-end through ~50 posts with no dead-stop, full end message, untitled fallback, zero nested anchors, zero console warnings on the feed). Sort + vote round-trips clean. Carry-forwards: post detail page still logs 6 dev warnings/load (1 ownership via SvelteKit data prop, 4 CommentTree virtualizer bindings, 1 isAdmin stub — all catalogued in §4); sidebar "Posts 0" stat (backend); vote count transition may announce transient values to screen readers. | -| 3 | Community Pages | fixed | 2026-07-16 | 3 bugs fixed: settings routes blank-crashed on legacy Lemmy data shape (now gated 404 — Coves has no community-update/moderator APIs yet), unknown communities showed a 500 leaking backend errors (now 404), duplicate community URLs `/c/c-` vs `/c/` (links now canonical). **Backend issues flagged**: `community.get` never populates `viewer` state despite the lexicon promising it, so subscribe state doesn't survive reload (user can't unsubscribe after refresh); sidebar stats show `subscriberCount` under "Members" and a `postCount: 0` that disagrees with actual posts. Carry-forwards: `displayHandle` from API unused (header shows `!c-science.coves.social`), community page sort dropdown renders no selected value, `binding_property_non_reactive` warnings in community +page.svelte. | +| 3 | Community Pages | pass | 2026-07-16 | Re-verified (2nd pass): settings gates, 404 for unknown communities, canonical links (zero `/c/c-` hrefs anywhere), and DID-fallback links all hold; pagination + subscribe round-trip clean. **Backend issues still open**: `community.get` omits `viewer` state (subscribe resets on reload — `community.list` has the correct pattern to copy); stats counters disagree with reality. Carry-forwards: feed loader logs a console error on community-404 pages before the 404 renders; `displayHandle` unused (header shows `!c-science.coves.social`); community sort dropdown renders no selected value; catalogued dev-only binding warnings on /c pages. | | 4 | Post Detail & Comments | fixed | 2026-07-16 | All 10 scenarios PASSED (comment lifecycle, deep threads, permalinks, tombstone + share regressions hold). 2 fixes: post/comment deletion now requires confirmation (was one-click irreversible), comment ownership-binding warnings silenced (was ~10/page). Carry-forwards: `binding_property_non_reactive` at CommentTree.svelte:114 needs a CommentListVirtualizer refactor (its function binding wraps each row in a fresh plain array — dev-only noise, behavior correct); single ownership warning on post detail page (SvelteKit `data` prop can't join a bind chain); deleted comments still count in "Comments (N)" total (backend count); comment action menus sometimes not click-stable for Playwright (persistent animation?). | | 5 | Creation Flows | fixed | 2026-07-16 | 3 fixes: community creation was entirely broken (still POSTing to the Lemmy endpoint → 404; form rewritten against `social.coves.community.create` and verified end-to-end — test community `qa-loop-test.coves.social` exists and can't be deleted, no API), failed submits showed an empty toast (`errorMessage` could return non-strings that crashed the toast markdown renderer), post-create redirect raced the AppView indexer showing "Post unavailable" for brand-new posts (now polls ~3s on the `?uri=` fresh-post signal). Post round-trips, URL/title validation all passed. Carry-forwards: drafts not preserved when navigating away from create forms; post delete succeeds but the page doesn't navigate/update in place; validation is native-browser only (no styled inline errors). | | 6 | Profiles & Blocks | fixed | 2026-07-16 | 5 frontend fixes: block requests sent `{did}` instead of the backend's `{subject}` contract (every block 400'd), missing `account.block/unblock` i18n keys, Block/Message rendered on own profile, `/profile/voted/*` + `/profile/media` crashed on legacy Lemmy endpoints (now gated 404s, nav links removed), `/profile/settings` was blank (gated 404; can migrate to `social.coves.actor.updateProfile` later). Profiles, tabs, foreign profiles, blocks pages all pass. **Backend issues flagged**: block records are never indexed (jetstream consumer) — `getBlockedUsers` stays empty, feeds unfiltered, unblock 404s, records stranded on PDS; mari's PDS has 3 stale block records from 2026-02-07. Blocks-users page still reads legacy shape (migrate to `getBlockedUsers` once backend indexes). Carry-forward: background feed fetch logs a console error on user-404 pages. | -- 2.51.2