mirror of
https://github.com/stablyai/orca.git
synced 2026-11-04 02:57:36 +00:00
Sidebar: land the switch-on fixes from the flip branch on main, switch still off (#31466)
* fix(sidebar): land flip-a's switch-on fixes on main, still dark (no flip) The fixes found while the sidebar ran from main's feed, without turning that on: ORCA_SIDEBAR_INPUTS_IS_MAIN stays false, and none of flip-a's stop-gaps come along. - Main stops counting a closed tab's terminal once it was asked to stop and no pane shows it; a failed or refused stop takes the request back, and a host out of contact stays unverifiable. - Main fetches a paired server's rows with the transport's normal bound, so a server slower than 5 s still lists. - A deferred unread raise flips the folder row it was decided for, and a read while the owner check is out cancels it. - Phone: no worktree.ps flash before the feed; a host's last installed feed stands in while a fresh read is out; it highlights its own last-opened workspace and a fold never scrolls; projects file under their project group with the desktop's indent; the collapse spinner shows only after 500 ms; "Reopen to update" keeps the rows on screen. - e2e helpers and journeys for the switch-on suite. * fix(sidebar): keep an owed relay stop marked, clear a thrown stop, and prune pending unread raises - A stop-and-wait that throws takes its stop request back, like one that fails. - A final stop the legacy relay still owes stays marked, since the relay retries it. - Pending unread raises are tracked only while one waits, so the map no longer grows. - The paired-server fallback poll test gives its third fetch a reply and asserts live.
This commit is contained in:
@@ -9,6 +9,7 @@ import type { WorktreeCardDetails } from '../../../src/shared/worktree/card-prop
|
||||
import { isRemoteExecutionHostId } from '../../../src/shared/execution-host'
|
||||
import type { AgentActivityDisplayMode } from '../../../src/shared/ui-chrome-types'
|
||||
import { areStructurallyEqual } from '../worktree/structural-equality'
|
||||
import { projectGroupRowIndent } from '../worktree/project-group-indent'
|
||||
import { getWorktreeMetaGlyphPresence } from '../worktree/worktree-meta-glyph-presence'
|
||||
import { AgentSpinner } from './AgentSpinner'
|
||||
import { HostKindIcon } from './HostKindIcon'
|
||||
@@ -64,6 +65,7 @@ function WorktreeListRowComponent({
|
||||
const folderMeta = item.comment?.trim() || item.path || 'Folder'
|
||||
const metaText = isFolderWorkspace ? folderMeta : displayBranch(item.branch)
|
||||
const lineageDepth = Math.max(0, item.lineageDepth ?? 0)
|
||||
const indent = projectGroupRowIndent(item) + lineageDepth * 18
|
||||
const lineageChildCount = item.lineageChildCount ?? 0
|
||||
const shouldHideRepo = hideRepo && !item.showProjectName
|
||||
const showRepoChip = cardDetails.repoInTitle && !shouldHideRepo && !isFolderWorkspace
|
||||
@@ -79,7 +81,7 @@ function WorktreeListRowComponent({
|
||||
<Pressable
|
||||
style={({ pressed }) => [
|
||||
styles.worktreeRow,
|
||||
lineageDepth > 0 && { paddingLeft: spacing.lg + lineageDepth * 18 },
|
||||
indent > 0 && { paddingLeft: spacing.lg + indent },
|
||||
item.isActive && styles.worktreeRowActive,
|
||||
pressed && styles.worktreeRowPressed
|
||||
]}
|
||||
|
||||
Reference in New Issue
Block a user