On-demand Opus browser QA pass: full feature matrix + UI consistency audit + admin dashboard + one-time OpenCloud comparison (supersedes #642) #656

Open
opened 2026-09-23 02:22:27 +00:00 by Cordy · 6 comments
Owner

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

  1. Cairn feature matrix, top to bottom: docs/testing/feature-matrix.md is the inventory; the Auto column says how far automation carries each row.
  2. Admin dashboard scouting (new vs #642): walk every Administration topic — Basic settings, Storage & quotas, Retention & holds, Locks, Deleted files, Audit log, Updates, Document editor, Users & access, Encryption & keys, Sharing (all three tabs incl. Departed owners), Spaces, Cairn Peering, Open Cloud Mesh — exercising what is non-destructive and screenshotting every pane.
  3. UI consistency audit: docs/design/style-guide.md is the yardstick, including the Tabs and Dialogs canon sections; any screen contradicting it is a finding even when behaviour is correct.
  4. OpenCloud comparison, one-time: map https://demo.opencloud.eu/ (credentials are displayed publicly on its login screen — sign in directly) against the Cairn just mapped, and produce ONE consolidated candidate-gaps issue for a decision run afterwards. This section does not recur.

Operational protocol (decided)

  1. Sessions: two accounts, three sign-ins. Cookies are per host, so one account holds both hostnames in one browser. Nikola signs in nikola-test (Keycloak, admin — drives the run and the dashboard scouting) in Chrome on files.c0rdyceps.ch AND files-bao.c0rdyceps.ch, and sharer1 (local, non-admin, exists only on files-bao) in the in-app browser on files-bao.c0rdyceps.ch. Two-user rows therefore run on files-bao (nikola-test ↔ sharer1); on files those 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-synced k3s/cairn/ changes) mid-run. (sharer2 no longer exists — departed in the #597 dogfood.)
  2. Screenshots. Saved to the outputs folder named by issue number (<issue>-<slug>.png) and referenced by filename in issue bodies; Nikola drags the ones worth keeping into Forgejo. Filename references are acceptable as-is.
  3. API rows are OUT OF SCOPE for this pass. This is a browser run: UI scouting, feature presence, consistency, comparison. The matrix's API-flagged rows are the protocol layer, and the standing manual-dispatch interop workflows (interop-rclone / tus / s3 / enc / ldap / ad / ocm-interop / interop-collabora) already exercise it with their own credentials. The pass dispatches the relevant ones ONCE during section 1 — fresh evidence against the deployed binary, sequentially, letting each finish — and records pass/fail as its answer for such rows; no new credential machinery, no extra secrets. An environment-caused failure (e.g. a test directory container being down) is "environment, not a finding" after one retry. An API-only row not covered by any interop gets a "not covered here" note, not a finding.
  4. Test data. Everything confined to a _qa folder 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.
  5. Findings. One issue per finding on the v0.7 milestone, carrying: matrix row or style-guide rule, steps, expected vs seen, screenshot filename. Retry once before filing — flaky UI is not a finding. The OpenCloud section files exactly one consolidated issue instead.
  6. Cadence. Short progress note after each numbered section, posted on this issue.

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).

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 1. **Cairn feature matrix**, top to bottom: `docs/testing/feature-matrix.md` is the inventory; the Auto column says how far automation carries each row. 2. **Admin dashboard scouting** (new vs #642): walk every Administration topic — Basic settings, Storage & quotas, Retention & holds, Locks, Deleted files, Audit log, Updates, Document editor, Users & access, Encryption & keys, Sharing (all three tabs incl. Departed owners), Spaces, Cairn Peering, Open Cloud Mesh — exercising what is non-destructive and screenshotting every pane. 3. **UI consistency audit**: `docs/design/style-guide.md` is the yardstick, including the Tabs and Dialogs canon sections; any screen contradicting it is a finding even when behaviour is correct. 4. **OpenCloud comparison, one-time**: map https://demo.opencloud.eu/ (credentials are displayed publicly on its login screen — sign in directly) against the Cairn just mapped, and produce ONE consolidated candidate-gaps issue for a decision run afterwards. This section does not recur. ## Operational protocol (decided) 1. **Sessions: two accounts, three sign-ins.** Cookies are per host, so one account holds both hostnames in one browser. Nikola signs in **nikola-test** (Keycloak, admin — drives the run and the dashboard scouting) in Chrome on `files.c0rdyceps.ch` AND `files-bao.c0rdyceps.ch`, and **sharer1** (local, non-admin, **exists only on files-bao**) in the in-app browser on `files-bao.c0rdyceps.ch`. Two-user rows therefore run on **files-bao** (nikola-test ↔ sharer1); on `files` those 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-synced `k3s/cairn/` changes) mid-run. (sharer2 no longer exists — departed in the #597 dogfood.) 2. **Screenshots.** Saved to the outputs folder named by issue number (`<issue>-<slug>.png`) and referenced by filename in issue bodies; Nikola drags the ones worth keeping into Forgejo. Filename references are acceptable as-is. 3. **API rows are OUT OF SCOPE for this pass.** This is a browser run: UI scouting, feature presence, consistency, comparison. The matrix's API-flagged rows are the protocol layer, and the standing manual-dispatch interop workflows (interop-rclone / tus / s3 / enc / ldap / ad / ocm-interop / interop-collabora) already exercise it with their own credentials. The pass dispatches the relevant ones ONCE during section 1 — fresh evidence against the deployed binary, sequentially, letting each finish — and records pass/fail as its answer for such rows; no new credential machinery, no extra secrets. An environment-caused failure (e.g. a test directory container being down) is "environment, not a finding" after one retry. An API-only row not covered by any interop gets a "not covered here" note, not a finding. 4. **Test data.** Everything confined to a `_qa` folder 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. 5. **Findings.** One issue per finding on the **v0.7 milestone**, carrying: matrix row or style-guide rule, steps, expected vs seen, screenshot filename. Retry once before filing — flaky UI is not a finding. The OpenCloud section files exactly one consolidated issue instead. 6. **Cadence.** Short progress note after each numbered section, posted on this issue. ## 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).
Author
Owner

§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):

  • rclone , tus , s3 , collabora (run 3855), ocm-interop .
  • enc ×2, environment, not a finding: the CAIRN_ENC_APP_PASSWORD secret is stale (401), so the encrypted path has no fresh CI evidence.
  • ldap , environment, not a finding: .250 is 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):

  • #657 avatar initials NI vs NT
  • #658 Change password offered to IdP accounts
  • #659 ciphertext size in listing and PROPFIND
  • #660 double empty state
  • #661 disabled picker buttons look enabled
  • #662 /home path leak (picker crumb, Favorites, pane, My shares)
  • #663 picker rows lack counts
  • #664 rename/move rewrites mtime
  • #665 collection getlastmodified is Go zero time
  • #666 storage meter stale until reload
  • #667 stale path shows previous rows plus a raw error
  • #668 six sidebar views have no route
  • #669 Recents sorted A–Z
  • #670 version mint fails (Garage 403)
  • #671 list and pane stale after the editor
  • #672 xlsx hero: spreadsheets missing from preview formats
  • #673 Activity drill-down always empty
  • #674 row actions wrap and clip at 641–780px
  • #675 phone bottom sheet never shows (#app > aside rule)
  • #676 Shared-with-me file rows open as folders
  • #677 internal #loc: link never resolves
  • #678 file drop returns 500 on both hosts
  • #679 view-only empty state offers write CTAs
  • #680 Enter in the people field silently creates a public link (high)
  • #681 federated share from the panel impossible

PASS: 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 navigate on 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 are 6xx-*.jpg in the outputs folder.

## §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):** - rclone ✅, tus ✅, s3 ✅, collabora ✅ (run 3855), ocm-interop ✅. - **enc** ❌×2, environment, not a finding: the `CAIRN_ENC_APP_PASSWORD` secret is stale (401), so the encrypted path has no fresh CI evidence. - **ldap** ❌, environment, not a finding: `.250` is 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):** - #657 avatar initials NI vs NT - #658 Change password offered to IdP accounts - #659 ciphertext size in listing and PROPFIND - #660 double empty state - #661 disabled picker buttons look enabled - #662 `/home` path leak (picker crumb, Favorites, pane, My shares) - #663 picker rows lack counts - #664 rename/move rewrites mtime - #665 collection getlastmodified is Go zero time - #666 storage meter stale until reload - #667 stale path shows previous rows plus a raw error - #668 six sidebar views have no route - #669 Recents sorted A–Z - #670 version mint fails (Garage 403) - #671 list and pane stale after the editor - #672 xlsx hero: spreadsheets missing from preview formats - #673 Activity drill-down always empty - #674 row actions wrap and clip at 641–780px - #675 **phone bottom sheet never shows** (`#app > aside` rule) - #676 Shared-with-me file rows open as folders - #677 internal `#loc:` link never resolves - #678 file drop returns 500 on both hosts - #679 view-only empty state offers write CTAs - #680 **Enter in the people field silently creates a public link (high)** - #681 federated share from the panel impossible **PASS:** 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 `navigate` on 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 are `6xx-*.jpg` in the outputs folder.
Author
Owner

§1 closed: batch results (Nikola: "yes to all")

PASS:

  • delete → trash restore (restored to origin)
  • public-link expiry (1 h links are now 404 and gone from the list)
  • public-link revoke (200 → 404)
  • remove grant (chip gone, no public link, recipient loses it)
  • send to peer (files → nikola-test@bao, landed in Inbox/files/, transfer "done")
  • spaces: create, member add/remove (immediate for an app-managed space), deactivate, delete (fact list + type-to-confirm)
  • legal hold: delete and rename refused with a clear message

New findings:

  • #682 the pane hides an existing public link (only "Create link" shows)
  • #683 legal-hold Lift is a single click, with no confirm and no reason
  • #684 the Peering "Global settings" tab never opens (both hosts), which blocks the enable/disable row
  • comment on #664: trash restore also rewrites mtime

Not run:

  • org-policy switches and download marks: the permission layer refuses instance-settings toggles even with Nikola's OK. Nikola to toggle himself, or allow it.
  • peering enable/disable: blocked by #684.

Test data still live (removed in final cleanup):

  • _qa on both hosts
  • app group qa656
  • qa656 group grant on bao _qa/drop
  • bao Inbox/files/qa-landscape.png
  • _qa-space contents, in trash for 90 days (name reserved until purge)

Moving to §2 admin scouting.

## §1 closed: batch results (Nikola: "yes to all") **PASS:** - delete → trash restore (restored to origin) - public-link expiry (1 h links are now 404 and gone from the list) - public-link revoke (200 → 404) - remove grant (chip gone, no public link, recipient loses it) - send to peer (files → nikola-test@bao, landed in `Inbox/files/`, transfer "done") - spaces: create, member add/remove (immediate for an app-managed space), deactivate, delete (fact list + type-to-confirm) - legal hold: delete and rename refused with a clear message **New findings:** - #682 the pane hides an existing public link (only "Create link" shows) - #683 legal-hold Lift is a single click, with no confirm and no reason - #684 the Peering "Global settings" tab never opens (both hosts), which blocks the enable/disable row - comment on #664: trash restore also rewrites mtime **Not run:** - org-policy switches and download marks: the permission layer refuses instance-settings toggles even with Nikola's OK. Nikola to toggle himself, or allow it. - peering enable/disable: blocked by #684. **Test data still live (removed in final cleanup):** - `_qa` on both hosts - app group `qa656` - `qa656` group grant on bao `_qa/drop` - bao `Inbox/files/qa-landscape.png` - `_qa-space` contents, in trash for 90 days (name reserved until purge) Moving to §2 admin scouting.
Author
Owner

§2 progress note: admin dashboard scouting (non-destructive; files + files-bao)

Coverage: all 16 sidebar topics and every sub-tab:

  • Overview
  • Basic settings
  • Storage & quotas: Usage, Limits
  • Retention & holds: Retention, Legal holds
  • Locks
  • Deleted files: Retention, Manual purge, Purge log
  • Audit log: Settings, Query
  • Updates
  • Document editor
  • Users & access: Access, Accounts, Groups, Seats
  • Encryption & keys: Custody, Recovery, Rotation
  • Sharing: Policy, Active links, Departed owners
  • Spaces
  • Cairn Peering
  • Open Cloud Mesh: Settings, Servers, Directory
  • Licensing

I opened the Departed owners Transfer and Revoke-all dialogs and cancelled both. Screenshots are 656-admin-*.jpg (32), plus 684-…/685-….

Findings (v0.7):

  • #684 Peering "Global settings" tab never opens (both hosts)
  • #685 "What applies to a path" never reports legal holds, and hold paths aren't validated. The files holds on /Fall 1 and /Spaces/Fall 1 protected nothing; /spaces/Fall 1 was purged on 08-19 while they were "active".
  • #686 sharer2 is a frozen departed owner, yet is offered as a share recipient and listed as an active directory account
  • #687 group "Used by" ignores share grants
  • #688 Active links shows a group grant as a link and hides the real one; the Overview "Public links N active" counts all shares
  • #689 the Transfer ownership dialog stuck on "computing…"; native input; contradictory copy
  • #690 creating an app group silently provisions a member-visible space, mislabelled "Managed by the identity provider", Members 0; also "ago ago"

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).

## §2 progress note: admin dashboard scouting (non-destructive; files + files-bao) **Coverage:** all 16 sidebar topics and every sub-tab: - Overview - Basic settings - Storage & quotas: Usage, Limits - Retention & holds: Retention, Legal holds - Locks - Deleted files: Retention, Manual purge, Purge log - Audit log: Settings, Query - Updates - Document editor - Users & access: Access, Accounts, Groups, Seats - Encryption & keys: Custody, Recovery, Rotation - Sharing: Policy, Active links, Departed owners - Spaces - Cairn Peering - Open Cloud Mesh: Settings, Servers, Directory - Licensing I opened the Departed owners Transfer and Revoke-all dialogs and cancelled both. Screenshots are `656-admin-*.jpg` (32), plus `684-…`/`685-…`. **Findings (v0.7):** - #684 Peering "Global settings" tab never opens (both hosts) - #685 **"What applies to a path" never reports legal holds, and hold paths aren't validated.** The files holds on `/Fall 1` and `/Spaces/Fall 1` protected nothing; `/spaces/Fall 1` was purged on 08-19 while they were "active". - #686 sharer2 is a frozen departed owner, yet is offered as a share recipient and listed as an active directory account - #687 group "Used by" ignores share grants - #688 Active links shows a group grant as a link and hides the real one; the Overview "Public links N active" counts all shares - #689 the Transfer ownership dialog stuck on "computing…"; native input; contradictory copy - #690 creating an app group silently provisions a member-visible space, mislabelled "Managed by the identity provider", Members 0; also "ago ago" **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).
Author
Owner

§3 progress note: UI consistency audit against docs/design/style-guide.md

Method:

  • a static inventory of all 30 <dialog>s
  • a computed-style scan of buttons, badges, tabs and font sizes across the file view, Shares, Federated, Transfers, Deleted files and 9 admin panes
  • a stylesheet scan for colours outside var()
  • 5 themes (Light, Night, Dusk, Ebony, Slate), with contrast measured and a bright-surface bleed scan
  • 4 languages, as an untranslated-string diff against en on 8 surfaces, plus raw-key and overflow scans
  • a 375px phone frame

Findings (v0.7):

  • #691 dark themes: the primary button is white on light teal, contrast 2.0–2.3:1 (hardcoded #fff)
  • #692 i18n: the de/fr/it admin sidebar, ledes and hints, the file-type subtitles and the sidebar headers stay English; accents are stripped ("Uebersicht", "Apercu", "elements")
  • #693 dialog canon: destructive confirms go through askConfirm with "OK"; the name dialog uses "OK"; 4 dialogs lack .dlgactions or a title; licdlg order and "License"/"licence"; legacy dialogs linger
  • #694 roll-up of smaller drift: off-scale font sizes, non-pill .kvbadge, lowercase actions, mono buttons, a UA-blue link, an off-palette banner, raw rpc error text, "Last seen", UTC times unlabelled, 28px touch targets

PASS:

  • the tab idiom (all .admtab)
  • no raw i18n keys, and no overflow in de/fr/it
  • no light-surface bleed in the dark themes
  • phone dialogs are bottom sheets with a sticky action bar
  • no horizontal scroll at 375px (the phone-band gaps are #674 and #675)

Moving to §4 (OpenCloud comparison).

## §3 progress note: UI consistency audit against `docs/design/style-guide.md` **Method:** - a static inventory of all 30 `<dialog>`s - a computed-style scan of buttons, badges, tabs and font sizes across the file view, Shares, Federated, Transfers, Deleted files and 9 admin panes - a stylesheet scan for colours outside `var()` - 5 themes (Light, Night, Dusk, Ebony, Slate), with contrast measured and a bright-surface bleed scan - 4 languages, as an untranslated-string diff against `en` on 8 surfaces, plus raw-key and overflow scans - a 375px phone frame **Findings (v0.7):** - #691 **dark themes: the primary button is white on light teal, contrast 2.0–2.3:1** (hardcoded `#fff`) - #692 **i18n:** the de/fr/it admin sidebar, ledes and hints, the file-type subtitles and the sidebar headers stay English; accents are stripped ("Uebersicht", "Apercu", "elements") - #693 dialog canon: destructive confirms go through askConfirm with "OK"; the name dialog uses "OK"; 4 dialogs lack `.dlgactions` or a title; licdlg order and "License"/"licence"; legacy dialogs linger - #694 roll-up of smaller drift: off-scale font sizes, non-pill `.kvbadge`, lowercase actions, mono buttons, a UA-blue link, an off-palette banner, raw rpc error text, "Last seen", UTC times unlabelled, 28px touch targets **PASS:** - the tab idiom (all `.admtab`) - no raw i18n keys, and no overflow in de/fr/it - no light-surface bleed in the dark themes - phone dialogs are bottom sheets with a sticky action bar - no horizontal scroll at 375px (the phone-band gaps are #674 and #675) Moving to §4 (OpenCloud comparison).
Author
Owner

§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 _qa and the other test data, sign-out rows, then the final summary.

## §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 `_qa` and the other test data, sign-out rows, then the final summary.
Author
Owner

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:

  • #680 Enter in the people field silently creates a public, passwordless 24-hour link. The Shares panel is one <form>, and Create link is its only submit button.
  • #685 Legal holds are accepted on paths that match nothing. "What applies to a path" never reports holds. The files holds on /Fall 1 and /Spaces/Fall 1 were "active" while /spaces/Fall 1 was purged on 08-19.
  • #675 The phone details sheet never shows (CSS specificity). Shares, Versions and Activity are unreachable below 820px.
  • #676 / #677 / #681 / #678 Recipients can't open shared files; internal links resolve for nobody; federated share from the panel is impossible; file drop returns 500.
  • #670 Version mint fails silently (Garage SigV4 403).
  • #673 Activity is always empty.
  • #691 Dark-theme primary button contrast is about 2:1.
  • #692 de/fr/it are partly English, with accents stripped.
  • #687 Group delete: "Used by" says Not used, the dialog says nothing references the group, and the server 409 is swallowed.

Sections:

  • §1 matrix: closed. Not run: org-policy switches and download marks (the permission layer refuses instance-settings toggles even with Nikola's OK) and peering enable/disable (blocked by #684). M rows were skipped per protocol.
  • §2 admin: closed. 32 screenshots, all 16 topics and sub-tabs.
  • §3 style audit: closed. 5 themes, 4 languages, phone.
  • §4 OpenCloud: closed, as the single issue #695.

Interops at v0.6.247:

  • rclone, tus, s3, collabora and ocm-interop:
  • enc: environment (stale CAIRN_ENC_APP_PASSWORD)
  • ldap: environment (.250 is now Collabora)
  • ad: not dispatched (same .250 target; it would send AD credentials to Collabora)

Needs attention: the enc secret, and the ldap/ad targets.

Cleanup:

  • Both _qa folders, bao Inbox/files/qa-landscape.png and the _qa-space contents are in Deleted files. I did not purge them (permanent deletion is Nikola's call). An empty Inbox/files/ folder on bao is left from the peering send.
  • App group qa656 and its grant are removed.
  • All test public links are expired or revoked.
  • Sign-out on both hosts (same-host /login, deep link re-prompts). The sharer1 in-app session was left signed in.

Tooling notes for the next run:

  • The Chrome renderer froze on long-lived Cairn tabs 5×. Each time a fresh tab with the same URL was fine, so nothing was filed; use fresh tabs.
  • Never use DevTools network capture on Cairn tabs.
  • Background-tab throttling delays pdf.js heroes.
  • In-app-browser screenshots can't be saved, so sharer1-only states are quoted in text.

Log: qa-656-log.md. Screenshots: 67 .jpg files named by issue number, plus 656-*.

## 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:** - **#680** Enter in the people field silently creates a public, passwordless 24-hour link. The Shares panel is one `<form>`, and Create link is its only submit button. - **#685** Legal holds are accepted on paths that match nothing. "What applies to a path" never reports holds. The files holds on `/Fall 1` and `/Spaces/Fall 1` were "active" while `/spaces/Fall 1` was purged on 08-19. - **#675** The phone details sheet never shows (CSS specificity). Shares, Versions and Activity are unreachable below 820px. - **#676 / #677 / #681 / #678** Recipients can't open shared files; internal links resolve for nobody; federated share from the panel is impossible; file drop returns 500. - **#670** Version mint fails silently (Garage SigV4 403). - **#673** Activity is always empty. - **#691** Dark-theme primary button contrast is about 2:1. - **#692** de/fr/it are partly English, with accents stripped. - **#687** Group delete: "Used by" says Not used, the dialog says nothing references the group, and the server 409 is swallowed. **Sections:** - **§1 matrix:** closed. Not run: org-policy switches and download marks (the permission layer refuses instance-settings toggles even with Nikola's OK) and peering enable/disable (blocked by #684). M rows were skipped per protocol. - **§2 admin:** closed. 32 screenshots, all 16 topics and sub-tabs. - **§3 style audit:** closed. 5 themes, 4 languages, phone. - **§4 OpenCloud:** closed, as the single issue #695. **Interops at v0.6.247:** - rclone, tus, s3, collabora and ocm-interop: ✅ - enc: ❌ environment (stale `CAIRN_ENC_APP_PASSWORD`) - ldap: ❌ environment (`.250` is now Collabora) - ad: not dispatched (same `.250` target; it would send AD credentials to Collabora) Needs attention: the enc secret, and the ldap/ad targets. **Cleanup:** - Both `_qa` folders, bao `Inbox/files/qa-landscape.png` and the `_qa-space` contents are in **Deleted files**. I did **not purge** them (permanent deletion is Nikola's call). An empty `Inbox/files/` folder on bao is left from the peering send. - App group `qa656` and its grant are removed. - All test public links are expired or revoked. - Sign-out ✅ on both hosts (same-host `/login`, deep link re-prompts). The sharer1 in-app session was left signed in. **Tooling notes for the next run:** - The Chrome renderer froze on long-lived Cairn tabs 5×. Each time a fresh tab with the same URL was fine, so nothing was filed; use fresh tabs. - Never use DevTools network capture on Cairn tabs. - Background-tab throttling delays pdf.js heroes. - In-app-browser screenshots can't be saved, so sharer1-only states are quoted in text. Log: `qa-656-log.md`. Screenshots: 67 `.jpg` files named by issue number, plus `656-*`.
Sign in to join this conversation.
No labels
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: Cordy/Cairn#656
No description provided.