Repository navigation
Feel-fix 2: the sidebar gaps sign-off 5 held (row glow, icon picker, Favorites across profiles, a window's first visit) - #35
Open
siyabendoezdemir wants to merge 8 commits into
Open
siyabendoezdemir wants to merge 8 commits into
siyabendoezdemir wants to merge 8 commits into
Conversation
…(FL-06, FL-05) The row kept `is-new-background` from its first render, and `row-glow` played on that class while the row was not selected. So the glow replayed each time the selection left the row, and whenever a reorder put the row's element back in the document; rows made in the background at launch kept the class for good. The glow is now played with the Web Animations API, once, as the row first mounts in this window: a row that remounts (another section, a folder opening, back near the visible band) is not a first appearance. A tab made selected never glows, a row selected while it glows shows its highlight in the same frame, and with reduced motion (Orbit's switch or the system) no row glows. The tint stays in CSS (`--row-glow`). feel-fix-2.spec.ts records every row's running animations each frame (frames.ts gains an `animations` option). Without the fix, the new row glowed 4 times, rows made before it 1-2 times more each, a row moved to Pinned as it glowed twice, and with reduced motion the glow played. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…, FD-07) The icon picker for a tab, folder, split or Favorite was a one-off grid of 48 emoji. It now hosts the Space icon's EmojiPicker (SP-05) in its six-column form, under the row: search, categories, skin tones and the emoji used last, shared with the Space picker through the same storage; an emoji typed or pasted is offered as it is; Remove icon (shown when there is one) brings back the favicon. The open/close motion (FL-25, FL-28), Escape and click-outside closing and the keys leaving its search at once are kept; it is placed with its measured height. The picker's search takes the keyboard in a layout effect, from the frame it first shows. Tests: feel-fix-2 TB-12 (tab: "sun", a skin tone and a hand, a typed emoji; folder; Favorite; Escape, click outside; Remove icon; the Space picker sees the same tone and recents), FL-25/FL-28 open and close; the specs that drove the old picker now use its search. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…in place (PR-06, SP-10) A profile change made the grid's AnimatePresence see one profile's tiles leave and the other's arrive. The real page was still hidden when they left, so popLayout measured them at 0 and left them in the flow: for several frames the grid wrapped into an extra row, pushed the title row and the lists down, and the new tiles popped in and slid back up. The grid's LayoutGroup is now keyed by the profile: a profile change swaps the whole grid at rest, and the switcher's cross-fade alone carries it. Within a profile nothing changes. The stand-in and neighbour pages drew only tab Favorites, so a profile with a split Favorite showed fewer, wider tiles until the real page arrived; they now count and draw split tiles as the grid does. Tests (feel-fix-2.spec.ts): click and swipe there and back, full and reduced motion, one and two rows, sampling every frame: title rows stay at their places, no tile below the grid, each page's tiles drawn as a resting grid. frames.ts gains `nth` for keyed matches that share a key. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…tab; a switch never takes another window's tab (SP-10, SP-23) A window that had nothing remembered for a Space (a window opened with ⌘N, then switched away and back) showed the empty state although the Space had tabs. As a window switches, `tabOnSwitch` now picks the tab it last used there, unless that tab has gone or another window shows it (or a pane of its split view); else the Space's most recently used tab that no other window shows; else none, the empty state. A switch never takes a tab from another window: before, the switching window kept its remembered tab and the other window had to pick again. A new window still opens with no tab selected (SP-24). Tests: feel-fix-2.spec.ts (⌘N, window 2 to B and back to A shows A's most recent tab window 1 doesn't show; window 1 keeps its page; a remembered tab window 1 now shows isn't taken back; a Space whose only tab window 1 shows gives the empty state); spaces.spec.ts TB-17 and the unit test now expect the switching window to pick another tab; new unit tests for a first visit, a gone tab and the empty state. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
feature-status.json: kept both sides per key, main's new "feels right" marks and this lane's notes (TB-12, FD-07, SP-10, SP-23, PR-06, FL-06, none of which main marked); FEATURES.md regenerated. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… B's tab (SP-10) Gate r1 found it: once a window's first visit to a Space selects that Space's last-used tab, the window that slides to B mid-drag shows B's tab, and its page's pane carries the same data-tab-id as the row, so the bare `[data-tab-id]` locator matched two elements. The test now takes the row and checks the window selected B's tab. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…-fix-2 No conflicts. FEATURES.md regenerates unchanged from the merged feature-status.json. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Bugbot couldn't run - usage limit reachedBugbot is counted against Cursor usage for this user or team, and this run hit a usage or spend limit. A user or team admin can review and increase usage limits in the Cursor dashboard. (requestId: ecae4459-7c8e-42db-b8cf-fe0783390f87) |
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.
What this does
The feel-fix-2 lane: the four gaps that the lead's sign-off 5 held back in the sidebar (D91). The builder's report is
reviews/lane-feel-fix-2-report.mdin the project's context folder, and its brief islanes/feel-fix-2.md.spaces.spec.tsand the TB-17 unit test were changed to match.New tests:
tests/e2e/feel-fix-2.spec.ts(10 tests, sampled every frame) and 3 unit tests intests/unit/spaces.test.ts. Each fix's test failed without it (the report gives the numbers).Merge gate (D42)
23081b6(before the merge ofmainbelow):20e7937had one real failure,tabs-more.spec.ts:586: a locator that matched two elements once item 4 showed the target Space's tab mid-drag. It's fixed in23081b6.mainin (08ba8f2: feel-fix, PR Feel fixes: split fill, the return from picture-in-picture, the first ⌘T, Peek's layout, split motion, the Mini Window, the page tools and the Library's first open (D80) #32, and sign-off 6's marks, PR Sign-off 6: feel marks for feel-fix's rows and Tweaks; PK-07 reopened #34). There were no conflicts, andFEATURES.mdregenerates unchanged. Because the merge brings feel-fix's code, gate r3 runs on08ba8f2, and its result goes here before the merge.git diff --stat cd74157 08ba8f2:Review
An independent review comes next (D42), and its result goes here before the merge.
🤖 Generated with Claude Code
Note
Medium Risk
Space-switch tab selection changes multi-window behavior (no longer taking a tab shown in another window), which is user-visible and touches core state in
switchSpaceInDraft; the rest is UI/motion with broad e2e coverage.Overview
Feel-fix 2 closes four sidebar/sign-off gaps: motion, icon picking, cross-profile Favorites, and multi-window Space tab selection.
Background tab row glow (FL-06) moves from a CSS class animation to a one-shot Web Animations API tint on first row mount, with reduced-motion and selection cancelling the effect; feature docs updated accordingly.
Change Icon… (TB-12 / FD-07) drops the small fixed emoji grid and reuses the Space EmojiPicker (search, categories, skin tones, shared recents) under the row; styling is simplified in
global.css.Favorites when switching profiles (PR-06) remounts the favorites
LayoutGroupper profile so tiles swap in place with the Space cross-fade; SpacePreview now renders split favorites like the live grid.Space switch tab pick (SP-10 / SP-23) adds
tabOnSwitchso a window keeps its remembered tab only if it still exists and isn’t shown elsewhere; otherwise it picks the Space’s MRU “free” tab or empty state—the switching window no longer steals a tab another window is showing (tests andspaces.specexpectations updated).New frame-recorder support (animations, nth keys) powers
feel-fix-2.spec.ts; existing e2e tests were adjusted for the unified emoji picker.Reviewed by Cursor Bugbot for commit 08ba8f2. Bugbot is set up for automated code reviews on this repo. Configure here.