On-demand Opus browser QA pass: full feature matrix + UI consistency audit + admin dashboard + one-time OpenCloud comparison (supersedes #642) #656
Labels
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: Cordy/Cairn#656
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Clean re-cut of #642 with the operational protocol settled. Run on demand only — token-heavy is accepted, but it is never started without Nikola saying go, and never on Fable.
Scope, in order
docs/testing/feature-matrix.mdis the inventory; the Auto column says how far automation carries each row.docs/design/style-guide.mdis the yardstick, including the Tabs and Dialogs canon sections; any screen contradicting it is a finding even when behaviour is correct.Operational protocol (decided)
files.c0rdyceps.chANDfiles-bao.c0rdyceps.ch, and sharer1 (local, non-admin, exists only on files-bao) in the in-app browser onfiles-bao.c0rdyceps.ch. Two-user rows therefore run on files-bao (nikola-test ↔ sharer1); onfilesthose rows are covered single-sided or noted as run on the sibling instance. sharer1 doubles as the free permission-boundary probe: no Administration entry visible, admin endpoints refuse. Password entry is Nikola's, always; redeploys log everyone out, so no releases (or Argo-syncedk3s/cairn/changes) mid-run. (sharer2 no longer exists — departed in the #597 dogfood.)<issue>-<slug>.png) and referenced by filename in issue bodies; Nikola drags the ones worth keeping into Forgejo. Filename references are acceptable as-is._qafolder per instance, cleaned up at the end. Irreversible actions (delete, revoke, hold release) are batch-confirmed with Nikola per section, not one by one. Nothing touches real dogfood content outside_qa; departed-owner rows about real accounts are read-only.Out of scope
Fixes (this run only observes and files), API/protocol testing beyond dispatching existing interop workflows, and password-gated flows (stay M per the matrix).
#app > asidealso hides #detpane below 820px #675§1 progress note: feature matrix (v0.6.247, both dogfoods). Non-irreversible rows done; the irreversible batch is pending Nikola
Interops at v0.6.247 (fresh, sequential):
CAIRN_ENC_APP_PASSWORDsecret is stale (401), so the encrypted path has no fresh CI evidence..250is now Collabora (the LDAP test instance was retired and its IP reused). Not retried, and ad not dispatched: both would send directory credentials to Collabora via Basic auth. Both workflows need a new target or retirement.Findings filed (v0.7):
/homepath leak (picker crumb, Favorites, pane, My shares)#app > asiderule)#loc:link never resolvesPASS: reload survives; new folder/file; upload (button and drop, 110 MB); sort and tile; rename/move/copy plus self-move guard; favorites; tags and tag search; keyboard nav; double-click; heroes (image, PDF, md, docx on both converter dialects); pane resize, persist, reset, keyboard resize; Collabora open/save on both hosts; person share, role change (recipient's editor flips read-only → editable); group share via app group
qa656; view-only enforced server-side; public link with expiry; My shares view; OCM allow-list Check normalisation; peering test connection; audit filter by actor; admin storage card; Departed owners listing (read-only).Not run yet, waiting on Nikola's batch OK: delete → trash restore; remove grant; revoke public links; org-policy switches (the permission layer blocked the admin toggle); send-to-peer (writes to Inbox outside
_qa); peering enable/disable; spaces create/members; legal hold + release; download marks; sign-out (end of run).Environment/tooling notes: DevTools network reads and
navigateon an already-loaded app tab can freeze the Chrome renderer (fresh tabs are fine, so not filed). Background tabs delay the pdf.js hero until painted. In-app-browser (sharer1) states cannot be saved as screenshots, so #676 and #679 quote the state instead.Log:
qa-656-log.md. Screenshots are6xx-*.jpgin the outputs folder.§1 closed: batch results (Nikola: "yes to all")
PASS:
Inbox/files/, transfer "done")New findings:
Not run:
Test data still live (removed in final cleanup):
_qaon both hostsqa656qa656group grant on bao_qa/dropInbox/files/qa-landscape.png_qa-spacecontents, in trash for 90 days (name reserved until purge)Moving to §2 admin scouting.
§2 progress note: admin dashboard scouting (non-destructive; files + files-bao)
Coverage: all 16 sidebar topics and every sub-tab:
I opened the Departed owners Transfer and Revoke-all dialogs and cancelled both. Screenshots are
656-admin-*.jpg(32), plus684-…/685-….Findings (v0.7):
/Fall 1and/Spaces/Fall 1protected nothing;/spaces/Fall 1was purged on 08-19 while they were "active".Style notes carried into §3: these are in the log (badge colours, mono on buttons, off-palette warning banner, browser-blue link, pluralisation, hyphen-as-dash, "Last seen" meaning last sign-in).
Moving to §3 (UI consistency audit).
§3 progress note: UI consistency audit against
docs/design/style-guide.mdMethod:
<dialog>svar()enon 8 surfaces, plus raw-key and overflow scansFindings (v0.7):
#fff).dlgactionsor a title; licdlg order and "License"/"licence"; legacy dialogs linger.kvbadge, lowercase actions, mono buttons, a UA-blue link, an off-palette banner, raw rpc error text, "Last seen", UTC times unlabelled, 28px touch targetsPASS:
.admtab)Moving to §4 (OpenCloud comparison).
§4 progress note: OpenCloud comparison
The demo.opencloud.eu session ("dennis") was still live. I browsed it read-mostly and created nothing. The result is one consolidated issue: #695, with 20 observed candidate gaps. Headline items: routed views plus per-row permanent links; the batch action bar; the WebDAV URL in the details panel; search filters (type, modified, title-only); Shares tabs, including "via link", with filters; space header, quota and per-space trash; per-user notification matrix (in-app/mail, digest); GDPR self-export; illustrated empty states with a next step. It closes with a short "where Cairn is ahead" list.
Next: cleanup of
_qaand the other test data, sign-out rows, then the final summary.Final summary: #656 QA pass (v0.6.247, files + files-bao) — done
39 issues filed on v0.7: #657–#695. Plus comments on #662, #664, #673, #685, #687, #688, #690 and #693.
Worth looking at first:
<form>, and Create link is its only submit button./Fall 1and/Spaces/Fall 1were "active" while/spaces/Fall 1was purged on 08-19.Sections:
Interops at v0.6.247:
CAIRN_ENC_APP_PASSWORD).250is now Collabora).250target; it would send AD credentials to Collabora)Needs attention: the enc secret, and the ldap/ad targets.
Cleanup:
_qafolders, baoInbox/files/qa-landscape.pngand the_qa-spacecontents are in Deleted files. I did not purge them (permanent deletion is Nikola's call). An emptyInbox/files/folder on bao is left from the peering send.qa656and its grant are removed./login, deep link re-prompts). The sharer1 in-app session was left signed in.Tooling notes for the next run:
Log:
qa-656-log.md. Screenshots: 67.jpgfiles named by issue number, plus656-*.