Conversation
🎩 PreviewA preview build has been created at: |
This was referenced Sep 19, 2026
Draft
Collaborator
Author
camielvs
marked this pull request as draft
September 19, 2026 01:04
This was referenced Sep 21, 2026
This was referenced Sep 22, 2026
The two pages barely acknowledged each other. Tangent showed a bare project name whose only action was to rename it, with no way back and nothing about what the project is. The project page listed its sessions as untitled rows that opened an empty preview, and could not start one. Tangent gains a Project window above Sessions, an icon and a link to the project's own page on its name, and a pencil for the rename that used to happen by clicking the name itself. The project page numbers its sessions the way Tangent does and sends a row to the session it names. Starting one has to be asked of Tangent, since a session can only be opened from inside its provider, so the button travels there and says what it went for. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
A session's row offered to take it back out of the project, which is not a thing a session can do: like a run, a session that happened belongs to the project it happened in. The row keeps its cell so the columns still line up, and every other kind of resource keeps its own way out. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
A project's notes are the agent's instructions on the Tangent page: the Resources window edits them under that name and a session opens with them. The project window showed the same field again as Notes, which made one field look like two. The project's own page still keeps both, where notes are only notes. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Opening a window appends it to the dock, so for anyone whose saved layout predates the project window it turned up underneath everything. Docking it again by index did not help: dockWindow does nothing until the side's DockArea has mounted and enabled it, which has not happened yet when these windows open. The order now goes through restoreDockArea, which has no such guard, and a snapshot taken before any window opens says which ones the saved layout already knew about. Only the newcomers are moved; a stack someone rearranged keeps the order they gave it. A session is started from New session, or in Tangent, never by adding one to a list, so the Add menu no longer offers a disabled row saying otherwise. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
camielvs
force-pushed
the
09-18-fix_keep_long_project_names_inside_their_tile
branch
from
September 23, 2026 20:57
1a65b63 to
f01c58f
Compare
camielvs
force-pushed
the
09-18-feat_connect_the_project_page_and_tangent
branch
from
September 23, 2026 20:57
68939e0 to
5f534f6
Compare
This branch has not been deployed
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.

The two pages barely acknowledged each other. Tangent showed a bare project name whose only action was an inline rename — no way back to the project's own page, nothing about what the project is. The project page listed its sessions as
Untitledrows that opened an empty preview, and offered no way to start one.On the Tangent page
ProjectAbout, so it stays editable) and created-by / created / updated.ResourcesWindowContentreadsproject.notesasinstructionsand its Edit instructions dialog writes the same field, and a session opens with them. A second box labelled Notes made one field look like two. The project's own page still shows both.RenameProjectDialoginstead of the old inline input.On the project page
Untitled.Agent sessionrow — a session is started, not added.Two things worth a reviewer's eye
A session cannot be started from the project page.
store.startSessionneedsio.newSession, which comes fromuseTangent()and only exists insideTangentProvider. So the button navigates to Tangent and asks it to start one. That is carried by a single new search param, since it is the same question in both directions — which session should Tangent open?It is acted on once and stripped from the URL, so a reload does not start a second session. Following the repo's convention, there is no
validateSearch— a hand-written guard reads it, because the router JSON-parses params and an all-digit id arrives as a number.Dock ordering took two attempts.
openWindowappends to the dock (windowStore.ts:78), so for anyone with a saved layout the project window landed below Sessions. Re-docking it by index did not fix it, as a reviewer with an existing layout found:dockWindowreturns early whileenabledDockSideslacks the side, and that set is empty until theDockAreamounts and fills it — which has not happened when these windows open.tangentProjectWindowOrder.tsnow writes the order throughrestoreDockArea, which has no such guard. It takes a snapshot of the dock before any window opens, because once a window is open there is nothing to distinguish a newcomer from one the layout placed — both are simply sitting inwindowOrder. Only ids missing from that snapshot are moved, each in front of the first window it should precede, so a stack someone rearranged keeps the order they gave it.Testing
pnpm run validateclean; 3018 tests pass, 31 new.Verified in a browser against the dev server (
projectson):/tangent/<id>?session=<sessionId>/tangent/<id>?session=newNo page errors in any case.
Not exercised in a browser: everything inside Tangent — the Project window and its position, the header's icon/link/pencil, and the param actually selecting or starting a session — because Tangent is not configured locally and the page shows the unreachable box from #2760. Those have unit tests only; the ordering ones drive the real
WindowStoreImplthrough both a fresh browser and a saved layout that predates the window.Pre-existing, not from this PR: at 400px the resources table's Name column collapses to nothing behind the fixed-width Added column, and the Runs table's headers overlap. Confirmed identical on the parent branch by screenshotting both. Happy to fix separately.
🤖 Generated with Claude Code