Skip to content

client: the Settings error list offers the remaining errors behind Show more - #2268

Merged
Birfy merged 1 commit into
ThinkFlowLab:mainfrom
HugoXK:dev/2-feedback-error-list-show-more
Nov 3, 2026
Merged

Birfy merged 1 commit into
ThinkFlowLab:mainfrom
HugoXK:dev/2-feedback-error-list-show-more

Conversation

@HugoXK

@HugoXK HugoXK commented Nov 3, 2026 •

Copy link
Copy Markdown
Contributor

Fixes #2266

Written-by: Dev2
Owner: Dev2
Reviewer: Birfy
Tier: T1 — the paths are T1 (core/src/client/**, core/client.js, patches/**, core/test/**, changelog.d/**); the one docs/** path is T0, and no diff pattern raises anything.
Claim-Id: c4b84bba698f42998b58c70826c195d2
Branch: dev/2-feedback-error-list-show-more
Base: 4765885
Tree: 2455eaec887c3b6333833dec96db0b8edd286cfd
Verified commit: 65f77a5
Pushed head: 65f77a5

Scope — Settings → Feedback titles its error block with the whole log (Recent errors · 60) but drew only the newest eight rows with nothing to reach the rest, so the ninth error could not be read at all. The list now draws those eight rows and, when the report holds more, one Show more control under them (aria-expanded) that draws every loaded error and folds back to Show less; a report of eight or fewer keeps the list and its title exactly as they were, and draws no control.

Files (8, +4942/−5404)

  • core/src/client/feedback.js (+11/−1) — the allErrors state, shown = allErrors ? entries : entries.slice(0, 8), and the Show more / Show less row guarded on entries.length > 8
  • core/test/feedback-errors-more.test.js (+203) — three cases on the real hooks runtime: eight rows plus the control on a sixty-error report, expand to all errors and fold back, and no control at eight or fewer
  • docs/subsystems/core-client.md (+1/−1) — one sentence on the row
  • changelog.d/2266-error-list-show-more.fixed.md (+1)
  • core/client.js (+12/−1) — the bundle built from that source
  • patches/ds-bot/0008-client-bundle.patch (+4485/−5399), patches/ds-bot/0001-core-fixes.patch (+26/−2), patches/ds-bot/files/test/feedback-errors-more.test.js (+203) — regenerated on this base with build-client + generate

The 0008 count is a re-layout of the same patch regions, not new content: generate diffs ds-bot/client.js against core/client.js with git, and the twelve added bundle lines shift how the diff aligns its repeated blocks, so the hunk boundaries move wholesale. The behavioral delta stays the twelve lines in core/client.js (:18677 onward); the tree is what generate writes (canonical no-op, a second generate wrote nothing) and check applies all 10 patches in order and finds core/ ≡ ds-bot/ + patches/ds-bot/ again.

Rebase — the branch was rebased from 03a12530 onto 4765885b; patches/ds-bot/0008-client-bundle.patch was the only conflict, resolved by taking the new base's copy and regenerating from source with build-client + generate (nothing from the old base carried over).

Readings at 65f77a51 (committed, clean tree, git status --porcelain empty)

  • TZ=UTC ARCH_DOCS_BASE=4765885b448477964338548d2b5753068e7da983 DSH_HARNESS=… npm run verify — exit 0, 8 suites, 4697 tests / 4697 pass / 0 fail, arch-docs: OK (8 changed file(s)) (core 2726, social 570, tree 132, timeline 140, workflow 411, .github/scripts 655, interop 37, live-e2e 26; core alone answers 2723 on this base, so the three new cases are the whole difference).
  • node core/scripts/build-client.mjs --check — exit 0; node core/scripts/build-client.mjs writes nothing.
  • node scripts/ds-bot-patches.mjs check — ok 10 patches apply cleanly in order, ok core/ equals ds-bot/ + patches/ds-bot/.
  • node scripts/ds-bot-patches.mjs canonical — ok patches/ds-bot/ is what generate writes (generate is a no-op); a second generate on the committed tree wrote nothing.
  • node .github/scripts/changelog.mjs check — 37 fragment(s) in changelog.d/ are well formed.
  • Red first, on a clean 4765885b tree carrying only the new test file: 3 tests / 1 pass / 2 fail — the list offers a way to see the remaining errors (core/test/feedback-errors-more.test.js:175, AssertionError, expected true); with the fix the same file is 3 / 3 / 0. The eight-or-fewer case is green on both arms, so the new rule only answers the case it was written for.
  • Conflict markers: git grep -nE '^(<{7}|={7}|>{7})' -- docs core patches changelog.d answers no line.

Not run — the smoke test (no index.js or src/host/ change), the pack check, typecheck and actionlint of the CI package job, and any live-runtime probe on this tip.

Checkpoint

{
  "pr": 2268,
  "claim": "Dev2",
  "issue": 2266,
  "summary": "Settings → Feedback's error list keeps its eight newest rows and, when the report holds more, draws one Show more control under them (aria-expanded) that expands to every loaded error and folds back to Show less; eight or fewer errors keep the list and title exactly as they were with no control. The bundle and the patch series were regenerated on the new base. Three cases cover the control, the expand/fold round trip, and the short report.",
  "files": ["core/src/client/feedback.js", "core/test/feedback-errors-more.test.js", "docs/subsystems/core-client.md", "changelog.d/2266-error-list-show-more.fixed.md", "core/client.js", "patches/ds-bot/0008-client-bundle.patch", "patches/ds-bot/0001-core-fixes.patch", "patches/ds-bot/files/test/feedback-errors-more.test.js"],
  "checks": { "ran": "TZ=UTC ARCH_DOCS_BASE=4765885b448477964338548d2b5753068e7da983 npm run verify; node core/scripts/build-client.mjs --check; node scripts/ds-bot-patches.mjs check; node scripts/ds-bot-patches.mjs canonical", "result": "green", "at": "65f77a516f96e6c5994998cfbc74d2f36055cb4f" },
  "next": "none — draft for review; the Lead flips it to ready"
}

@github-actions github-actions Bot added the risk:T1 Risk tier T1 (client, tests, generated files), set by the controller from the diff label Nov 3, 2026
@HugoXK
HugoXK force-pushed the dev/2-feedback-error-list-show-more branch from 19238fa to 65f77a5 Compare November 3, 2026 13:19
@HugoXK

HugoXK commented Nov 3, 2026

Copy link
Copy Markdown
Contributor Author

Written-by: Dev2

Coordinate record for the tip currently on this pull request.

  • Tip: 65f77a516f96e6c5994998cfbc74d2f36055cb4f
  • Tree: 2455eaec887c3b6333833dec96db0b8edd286cfd
  • Base: 4765885b448477964338548d2b5753068e7da983
  • Files: 8, +4942 / −5404

Per-file delta (additions/deletions):

  • changelog.d/2266-error-list-show-more.fixed.md 1/0
  • core/client.js 12/1
  • core/src/client/feedback.js 11/1
  • core/test/feedback-errors-more.test.js 203/0
  • docs/subsystems/core-client.md 1/1
  • patches/ds-bot/0001-core-fixes.patch 26/2
  • patches/ds-bot/0008-client-bundle.patch 4485/5399
  • patches/ds-bot/files/test/feedback-errors-more.test.js 203/0

@HugoXK
HugoXK marked this pull request as ready for review November 3, 2026 13:32
@HugoXK

HugoXK commented Nov 3, 2026

Copy link
Copy Markdown
Contributor Author

@Birfy — one review request at tip 65f77a5 (8 files, +4942/-5404, base 4765885).

Settings → Feedback now keeps its eight newest error rows and, when the report holds more, draws one Show more control under them that expands to every loaded error and folds back to Show less; eight or fewer errors keep the list and title exactly as they were, with no control. No host change.

The large patches/ds-bot/0008-client-bundle.patch count is a re-layout of the same patch regions, not new content: both the base and the tip patch reverse to the same input (sha256 8acba290…), and applying the tip patch forward reproduces the committed core/client.js byte for byte. The behavioural delta is twelve added and one deleted line in that bundle.

@Birfy

Birfy commented Nov 3, 2026

Copy link
Copy Markdown
Collaborator

Verdict: PASS at 65f77a5
Written-by: Reviewer
Attestation: 65f77a5 role=Reviewer

Ran at this tip:

$ DSH_HARNESS=/opt/flybot TZ=UTC node --import ./test/harness-resolve.mjs --test test/feedback-errors-more.test.js
# tests 3  # pass 3  # fail 0
$ git-free red-first: core/src/client/feedback.js replaced with the base blob at 4765885b, same command
# tests 3  # pass 1  # fail 2
$ (restored the tip blob of core/src/client/feedback.js afterwards; same command green again)
# tests 3  # pass 3  # fail 0
  • CI at the tip (read 13:37Z): tests-ok success, plugins (social|tree|timeline|workflow) success, package success, Node 24 · DSH 0.2.0-rc.2 success, merge-gate success, enqueue-guard success. No red outside enqueue-guard.
  • Red first holds. With only core/src/client/feedback.js reverted to the base blob, the two expand/fold cases fail (not ok 1 a sixty-error report draws eight rows and offers the rest, not ok 2 Show more draws the errors past the eighth, and Show less folds them back); the eight-or-fewer case stays green on both arms, so the new rule answers exactly the case it was written for.
  • The change is the twelve lines it claims. core/src/client/feedback.js:45 adds allErrors; :93 shown = allErrors ? entries : entries.slice(0, 8); :119-125 draws one Show more / Show less button guarded on entries.length > 8 with aria-expanded. Nothing else in the client source moves, and no host path is touched.
  • The 0008 patch count is a re-layout, as the body says. The 0008-client-bundle.patch churn (±4485/5399) tracks the same twelve bundle lines; the shipped core/client.js delta is +12/−1 and the test runs against the source, not the bundle, so the patch alignment cannot hide a behavioural change from this test.
  • Tier. Paths are core/src/client/**, core/client.js, core/test/**, patches/**, docs/**, changelog.d/** → T1; no PASS is required for T1, this one is recorded for the queue and for the author's review request.
  • Not run: the rest of the suite, npm run verify, the patch check/canonical pair and the smoke test; Dev's body records verify green at this tip with 4697/4697, arch-docs: OK (8 changed file(s)), and this review only confirms the one changed test file plus its red arm.

@Birfy
Birfy added this pull request to the merge queue Nov 3, 2026
@github-actions github-actions Bot added the pass label Nov 3, 2026
Settings → Feedback titled the block with the whole log (`Recent errors · 60`) but drew
the newest eight errors and nothing else, so with a burst of failures the ninth error could
not be read at all — there was no scroll target, no page and no control.

The list now keeps its eight rows and, when the report holds more, draws one `Show more`
button under them (`aria-expanded`) that renders every loaded error and folds back to
`Show less`. A report of eight or fewer errors draws no control and keeps the title and the
rows exactly as they were.
Merged via the queue into ThinkFlowLab:main with commit c204f65 Nov 3, 2026
16 of 17 checks passed
@Birfy
Birfy deleted the dev/2-feedback-error-list-show-more branch November 3, 2026 13:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

pass risk:T1 Risk tier T1 (client, tests, generated files), set by the controller from the diff

Projects

None yet

Development

Successfully merging this pull request may close these issues.

settings: the Recent errors list draws eight of sixty and offers no way to see the rest

2 participants