Repository navigation
client: state the scheduled task count and open the list from the row after three - #2032
Merged
Merged
Conversation
… after three
The details panel's Scheduled tasks line drew tasks.slice(0, 3) and said
nothing about the rest, so five tasks looked like three and the only way
to learn the real number was to open Settings by hand.
Above three the title now carries the count (Scheduled tasks · 5) and one
row after the three says how many are left and opens the settings list.
That row calls openSettings('schedules') with no bot id: with an id the
settings page opens the new-task form, which is what only the empty
state's button means. Three or fewer tasks and no tasks render as before
(ThinkFlowLab#2030).
HugoXK
force-pushed
the
dev/3-schedule-summary-more
branch
from
November 1, 2026 11:47
17da02d to
5c34342
Compare
This was referenced Nov 1, 2026
Group chat details: the room's own scheduled tasks are invisible and unreachable from the room
#2039
Closed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Owner: Dev-3
Reviewer: Birfy
Fixes #2030
What changed
The details panel's Scheduled tasks line drew
tasks.slice(0, 3)and said nothing about what it left out: a Bot with five scheduled tasks looked like a Bot with three, and the only way to learn the real number was to open Settings → Scheduled tasks by hand.Scheduled tasks · 5, the same·separator the settings rows and the board already use. At three or fewer the title stays exactlyScheduled tasks, so the common case does not change.2 more not shown, the key the project board already uses) and opens the full list.openSettings('schedules')with no bot id:schedules.jsisuseState(Boolean(start))and the settings page isstart: id ?? undefined, so an id opens the new-task form instead of the list. Only the empty state's button passesbot.id, which is what "Add one" means.openSettings('schedules', bot.id).Scope:
ScheduleSummaryonly.SchedulesPage,TaskList, the settings section, the cap of three, the row order andnextTextare untouched; no new i18n string beyond the count-bearing title (theN morerow reuses an existing key); one changelog fragment and one sentence on the owned subsystem doc (core/src/client/is an owned path).Rebase
The branch was rebased onto
f6fcb7ffabee43da79388313cbcdb7ada9111dcb(the merge of #2028, which had also touchedcore/client.jsand both generated patches) and every generated artifact was rebuilt on that base, not text-merged:core/scripts/build-client.mjswrotecore/client.js;node scripts/ds-bot-patches.mjs generateran twice — the second run leftcore/client.js,patches/ds-bot/0001-core-fixes.patchandpatches/ds-bot/0008-client-bundle.patchbyte-identical (md5cc779a1bc78475c33e13028dc7294779,c3df40f0e46bee10deabc6c8ed4a7b3c,45aa8be6c2125fadf1a2ad87173360b8);check→ok 10 patches apply cleanly in orderandok core/ equals ds-bot/ + patches/ds-bot/;canonical→ok patches/ds-bot/ is what generate writes (generate is a no-op);build-client.mjs --check→ no-op.Red first
Two independent runs on the base
f6fcb7ffabee43da79388313cbcdb7ada9111dcb, each in a fresh checkout of the base carrying only the new test file: 30 tests, 28 pass / 2 fail both times, and the two failures are the two new behaviours:#2030: five tasks draw three rows and the title says the real count— the rendered title isScheduled taskswhereScheduled tasks · 5is expected (the three.bt-task-linerows already pass today).#2030: the row after the three says how many are left and opens the list, not the new-task form—0buttons with classbt-more, expected1.morerow; zero tasks keep the empty state, and its click still passesbot.id.Each new test bites
Mutation checks, one at a time, on the fixed tree:
t('Scheduled tasks'))morerow passesbot.idmorerow drawn at three tasks too (hidden > -1)Verified on the head
TZ=UTC ARCH_DOCS_BASE=f6fcb7ffabee43da79388313cbcdb7ada9111dcb npm run verifyin a clean detached checkout of5c34342690a3a9ad948f084c57515e204f138224, exit 0:2454/2454, social541/541, tree127/127, timeline135/135, workflow336/336,.github/scripts563/563, interop37/37, live-e2e24/24arch-docs: OK (9 changed file(s))against basef6fcb7ff; core lint73 warnings and 0 errors— the base's own count, with no warning in a line this diff addsok 10 patches apply cleanly in order,ok core/ equals ds-bot/ + patches/ds-bot/,ok patches/ds-bot/ is what generate writes (generate is a no-op);build-client.mjs --checkno-opNot run: smoke/bench (no host or turn path), and the CI
packagejob's pack, typecheck and actionlint.The generated patch: 0008 moves text, it does not rewrite it
core/client.jschanges by +16/−8 (one i18n key, oneScheduleSummaryhunk),0001-core-fixes.patchby +16/−6 (theschedules.jsdiff), yetpatches/ds-bot/0008-client-bundle.patchshows +4,700/−2,925 and grows from 23,095 to 24,870 lines. What that is, measured rather than asserted:generateon a pristine checkout of the base with no changes at all reproducesmain's0008byte-for-byte, so this is not a git-version or tooling difference;0008are now emitted as removals: the bundle text is re-hunked (303 hunks become 266, one block merging into@@ -1624,969 +1624,2049 @@), becausecore/client.jsand ds-bot'sclient.jsdiffer almost everywhere and a small edit re-pairs the duplicated minified CSS/JS;0008substituted reproducesmain'score/client.jsbyte-for-byte, and substituting this PR's0008changes the result by exactly +16/−8 — the same delta ascore/client.js. The patch is a different spelling of the same edit, not a different edit.Nothing in the patch was hand-edited:
canonicalproves the committed series is exactly whatgeneratewrites, andcheckproves the ten patches still apply in order and reproducecore/— the tree that ships.Checkpoint
{ "pr": 2032, "claim": "Dev-3", "issue": 2030, "summary": "The details panel's Scheduled tasks line drew only three rows and said nothing about the rest of a Bot's tasks. Above three it now puts the real count in the title (Scheduled tasks · 5) and draws one more row saying how many are left, which opens the settings list. That row passes no bot id, because an id opens the new-task form rather than the list. Three or fewer tasks, and a Bot with none, render exactly as before, and the empty state keeps its add-one button.", "files": [ "core/src/client/schedules.js", "core/src/client/i18n.js", "core/test/schedules-client.test.js", "core/client.js", "patches/ds-bot/0001-core-fixes.patch", "patches/ds-bot/0008-client-bundle.patch", "patches/ds-bot/files/test/schedules-client.test.js", "docs/subsystems/core-client.md", "changelog.d/2030-schedules-summary-more.changed.md" ], "checks": { "ran": "TZ=UTC ARCH_DOCS_BASE=f6fcb7ffabee43da79388313cbcdb7ada9111dcb npm run verify", "result": "green", "at": "5c34342690a3a9ad948f084c57515e204f138224" }, "next": "none — ready for review" }