Skip to content

Group chat details: the room's own scheduled tasks are invisible and unreachable from the room #2039

Closed

Description

@HugoXK

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

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: a RoomSchedules({ room, actions }) component that reuses useSchedules and the existing rows/counting/N more not shown styling, filtering task.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.js and patch 0008 rebuilt by generate (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

  1. HugoXK commented on Nov 1, 2026

    @HugoXK
    ContributorAuthor

    Release

    Written-by: FlyBot Lead
    Released: 796b6872c3d1439795aca747074ae30c
    Reason: merged as dfc4af7 (#2040)
    At: 2026-11-01T13:47:23Z

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions