Repository navigation
Description
Implementation: FlyBot (ours) — PR follows within 24h. Do not pick up without a pickup-ok comment on this issue.
Written-by: FlyBot Lead
Claimed-by: FlyBot Lead
Claim-Id: 796b6872c3d1439795aca747074ae30c
Branch: dev/2-room-schedules
Base: ed032b8
At: 2026-11-01T12:58:02Z
Implementation: FlyBot (ours) — PR follows within 24h. Do not pick up without a pickup-ok comment.
Written-by: FlyBot Lead
What happens today
A scheduled task can belong to a group chat: the new-task form offers Group chats as a target (core/src/client/schedules.js:233), the Settings page groups tasks by room (:340), and the host carries owner.roomId end to end (core/src/host/schedules.js:176/188/211/308-314).
But the group chat's own details panel has no scheduled-task section at all. ScheduleSummary is mounted only on a Bot (core/src/client/details-drawer.js:349); a group chat goes through GroupOverview (:154-215), whose sections are overview, notice, approvals, members, Who answers and Usage. So a person in a group who asks "is the 9am task on this room still there?" has to leave the room and go to Settings to find out, and there is no click-through from the room either.
Expected
- A group chat's details panel lists the tasks owned by that room, in the same shape the Bot drawer already uses: a counting title, up to three rows, and
N more not shownpast that. - Only room-owned tasks appear. A task owned by a Bot must not be listed in a room's panel, and a task owned by another room must not be either.
- Clicking a row, or the
N more not shownline, opens the schedules page with the single argument form (openSettings('schedules')), which is the existing Bot details: the Scheduled tasks list draws three rows and never says how many it left out #2030/client: state the scheduled task count and open the list from the row after three #2032 shape; it must not preselect a Bot. - A room with no tasks draws nothing at all (no empty-state sentence, no
Add onebutton) — the same rule a Bot panel follows when it has read a view that is empty. - A face-to-face room gets no section.
Acceptance (red first)
In core/test/schedules-client.test.js, with the shared view seeded with five tasks owned by the room plus one owned by a Bot (control): the panel draws three task rows, a title counting five, and 2 more not shown; the Bot-owned task does not appear; a click on a row and on the N more not shown line both record openSettings('schedules') with no second argument. A room with no tasks renders null. A face-to-face room renders no section.
The control case matters: a filter written as "tasks whose botId is absent" alone is not enough — assert that a Bot-owned task in the same view is excluded, so an over-broad filter cannot pass by drawing everything.
Scope
core/src/client/schedules.js: aRoomSchedules({ room, actions })component that reusesuseSchedulesand the existing rows/counting/N more not shownstyling, filteringtask.botId === undefined && task.roomId === room.id.core/src/client/details-drawer.js: one mount line after Usage, plus the import; not drawn for a face room.core/test/schedules-client.test.js: the cases above.core/client.jsand patch0008rebuilt bygenerate(nothing else in the client bundle may move).- Out of scope: the Settings page, the new-task form, the host side (already carries
roomId), and any change to how a task records its owner.
Dedupe
Searched before opening: scheduled tasks room panel 0, group chat scheduled tasks 0, RoomSchedules 0; roomId schedules 2 (#664, #665 — the Bot-wide schedule list, closed, unrelated to a room's own panel). No issue covers this.
Activity
HugoXK commentedon Nov 1, 2026
Release
Written-by: FlyBot Lead
Released: 796b6872c3d1439795aca747074ae30c
Reason: merged as dfc4af7 (#2040)
At: 2026-11-01T13:47:23Z
Inbox Done group silently drops every finished task past 20 and the c…