Skip to content

fix(tangent): give the project page columns that scale both ways - #2798

Draft
camielvs wants to merge 1 commit into
09-23-fix_say_why_the_backend_refused_a_runfrom
09-23-fix_give_the_tangent_page_columns_that_scale
Draft

camielvs wants to merge 1 commit into
09-23-fix_say_why_the_backend_refused_a_runfrom
09-23-fix_give_the_tangent_page_columns_that_scale

Conversation

@camielvs

@camielvs camielvs commented Sep 23, 2026

Copy link
Copy Markdown
Collaborator

Problem

The three columns were sized the wrong way round. The workarea had a fixed
width capped at 960, and the chat column took flex-1 — whatever was left:

[ dock 320 ][ chat: flex-1 ][ workarea: fixed 320–960 ]

On a wide screen chat swallowed every extra pixel — about 1270px of it on a
2560 display — while the workarea sat stuck at its cap, which is backwards for
the column that holds a pipeline graph. On a narrow screen there was nothing
left to take: 320 + 960 already exceeds a 1280 viewport, so with shrink-0 on
the workarea and min-w-0 on chat, the chat column was squeezed to zero and
disappeared
.

What changed

The roles are swapped. Chat is the fixed column with a floor; the workarea takes
the remainder and grows:

[ dock ][ chat: 480, clamped 380–760 ][ workarea: flex-1, min 420 ]
  • Chat starts smaller and cannot vanish. 480 by default, never below 380 at
    any window size. The drag handle moves to the chat column's right edge, which
    is the same boundary as before — it now drives chat's width rather than the
    workarea's.
  • The workarea grows instead of capping, so a pipeline or run view gets the
    room on a large display.
  • Below the width where all three can hold their minimum (dock 220 + chat
    380 + workarea 420 = 1020), the left dock gives up its width and shows its
    icon rail.

The auto-collapse only undoes a collapse it performed itself. Someone who closed
the dock and then widened the window meant to keep it closed, and reopening it
under them would read as the app fighting the mouse.

Rail icons

A rail is only as useful as its icons, and two were not pulling their weight
once the titles were hidden:

before after
Resources Folder — identical to Project FileText
Runs Play — reads as "start something" ListChecks

All six are now distinct: Project Folder, Sessions MessagesSquare, Agents
Bot, Assets Files, Resources FileText, Runs ListChecks.

Beta flags

Tangent Shell moves next to Projects — one is where the other is used — and
becomes just Tangent. Its description named the workspace concept, which the
UI does not otherwise expose:

Enable the Tangent Shell workspace: a projects area where you collaborate
with Tangent on…

Collaborate with Tangent inside a project on building, improving, and
debugging ML pipelines.

Testing

  • New useNarrowLayoutDock.test.tsx (4), covering the "leave a dock the user
    collapsed alone" rule.
  • pnpm run validate clean; npx vitest run 322 files / 3260 tests green.
  • Column behaviour across window sizes, and the rail icons, were checked in the
    browser by the reviewer, not by me — jsdom has no layout, so the unit tests
    cover the collapse logic only.

🤖 Generated with Claude Code

@github-actions

github-actions Bot commented Sep 23, 2026

Copy link
Copy Markdown

🎩 Preview

A preview build has been created at: 09-23-fix_give_the_tangent_page_columns_that_scale/c03d155

This was referenced Sep 23, 2026

Copy link
Copy Markdown
Collaborator Author

Warning

This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

This stack of pull requests is managed by Graphite. Learn more about stacking.

@camielvs
camielvs force-pushed the 09-23-fix_give_the_tangent_page_columns_that_scale branch from 7dd1d5d to 2fd78c5 Compare September 23, 2026 22:42
@camielvs
camielvs force-pushed the 09-23-fix_say_why_the_backend_refused_a_run branch from 36fde75 to b10dd2d Compare September 23, 2026 23:00
@camielvs
camielvs force-pushed the 09-23-fix_give_the_tangent_page_columns_that_scale branch from 2fd78c5 to 189b6a7 Compare September 23, 2026 23:00
@camielvs
camielvs force-pushed the 09-23-fix_give_the_tangent_page_columns_that_scale branch from 189b6a7 to b53f04c Compare September 23, 2026 23:36
@camielvs
camielvs force-pushed the 09-23-fix_say_why_the_backend_refused_a_run branch from b10dd2d to 1af76ca Compare September 23, 2026 23:36
@camielvs
camielvs force-pushed the 09-23-fix_give_the_tangent_page_columns_that_scale branch from b53f04c to 9605006 Compare September 23, 2026 23:56
@camielvs
camielvs force-pushed the 09-23-fix_say_why_the_backend_refused_a_run branch 2 times, most recently from 26b49fa to c5ed5c7 Compare September 24, 2026 00:14
@camielvs
camielvs force-pushed the 09-23-fix_give_the_tangent_page_columns_that_scale branch from 9605006 to 3de4138 Compare September 24, 2026 00:14
The three columns were sized the wrong way round. The workarea had a fixed
width capped at 960 and the chat took whatever was left, so on a wide
screen chat swallowed every extra pixel — 1270px of it on a 2560 display,
against a workarea stuck at its cap — and on a narrow one there was
nothing left to take and chat was squeezed out of view entirely.

The chat column is now the fixed one, and the workarea takes the
remainder. Chat starts at 480 and cannot go below 380, so it survives any
window; the workarea grows instead of capping, which is what a pipeline
or run view wants the room for.

Below the width where all three can hold their minimum, the left dock
gives up its width and shows its icon rail. Only a collapse this performs
is undone on the way back out: someone who closed the dock themselves and
then widened the window meant to keep it closed.

That rail is only as useful as its icons, and two of them were not
pulling their weight: Resources wore the same folder as Project, so the
two were indistinguishable with the titles hidden, and Runs wore a play
triangle, which reads as a button that starts something rather than a
list of what has already run.

The Tangent flag also moves next to Projects, since one is where the
other is used, and loses a name and a description that named the
workspace concept the UI does not otherwise expose.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@camielvs
camielvs force-pushed the 09-23-fix_say_why_the_backend_refused_a_run branch from c5ed5c7 to 36356b9 Compare September 24, 2026 00:56
@camielvs
camielvs force-pushed the 09-23-fix_give_the_tangent_page_columns_that_scale branch from 3de4138 to c03d155 Compare September 24, 2026 00:56

This branch has not been deployed

No deployments
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