Skip to content

Collaboration routines: Reference documents tab, full-height result panels, livelier running state - #3798

Merged
ryanweiler92 merged 1 commit into
devfrom
collab-updates-10-23-26
Oct 23, 2026
Merged

ryanweiler92 merged 1 commit into
devfrom
collab-updates-10-23-26

Conversation

@ryanweiler92

Copy link
Copy Markdown
Contributor

Summary

Routine cards in Collaboration get a Reference documents tab backed by the shared file dock, the result panels fill the card instead of stopping at a fixed height, and the in-progress state is a proper centered panel.

Reference documents tab

  • custom-routine-card.tsx: the right column is now a tab pair, Latest result and Reference documents, in the shared collaboration tab style.
  • routine-documents.tsx (new): opens the routine's folder with WorkRoutineDocuments(routineId), with loading and error states, then mounts the dock.
  • routine-documents-dock.tsx (new): the same dock as Settings > My Files (FILE_PANEL_COMPONENTS, the file explorer in USER mode) rooted at the routine folder through initialPath. Compact layout below 768px of container width, rail layout above. A Maximize action in the rail opens it over the page like My Files. The frame around the shell is positioned, because the workbench shell is absolute inset-0 and otherwise fills the page.
  • custom-routine-api.ts, custom-routine-schema.ts: openRoutineDocuments and its schema.
  • Known limit, marked with a shortcut: comment: the explorer's breadcrumbs can climb above the routine folder into the rest of the owner's files.

Result panels fill the column

  • routine-result.tsx: the scroll box grows to the bottom of the settings column and keeps 32rem as its minimum. It sits in an out-of-flow wrapper so a long brief scrolls inside the box instead of stretching the card. The wrapper carries the positioning because the Radix scroll area root pins position: relative inline. A new showTitle prop hides the heading when a tab already names the section.
  • inbox-routine-form.tsx, agenda-routine-form.tsx: the result wrapper is a flex column so the same growth applies to those cards.

Running state

  • routine-running.tsx (new): a breathing agent mark (pulse only under motion-safe), the routine's status sentence in a status region that is announced once, a live elapsed timer kept outside the live region so it is not read out every second, and a primary Watch it run button. It replaces the inline spinner and fills the frame. Shared by all three routine types.

@ryanweiler92 ryanweiler92 self-assigned this Oct 23, 2026
@ryanweiler92
ryanweiler92 requested a review from a team as a code owner October 23, 2026 20:41
@snyk-io

snyk-io Bot commented Oct 23, 2026

Copy link
Copy Markdown

✅ Snyk checks have passed. No issues have been found so far.

Status Scan Engine Critical High Medium Low Total (0)
✅ Open Source Security 0 0 0 0 0 issues

💻 Catch issues earlier using the plugins for VS Code, JetBrains IDEs, Visual Studio, and Eclipse.

@ryanweiler92
ryanweiler92 merged commit aad8232 into dev Oct 23, 2026
5 checks passed
@ryanweiler92
ryanweiler92 deleted the collab-updates-10-23-26 branch October 23, 2026 20:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant