diff options
| author | Adam <[email protected]> | 2026-03-05 08:09:29 -0600 |
|---|---|---|
| committer | Adam <[email protected]> | 2026-03-05 08:09:29 -0600 |
| commit | 152df2428df84a1029be2b472b4a840cd94c966d (patch) | |
| tree | d6c930ec9e0c6e2af469ef6884ea09b069da6197 | |
| parent | 1a420a1a710e94bedfedbe61946f86265a347790 (diff) | |
| download | opencode-152df2428df84a1029be2b472b4a840cd94c966d.tar.gz opencode-152df2428df84a1029be2b472b4a840cd94c966d.zip | |
fix(app): stale read error
| -rw-r--r-- | packages/app/src/pages/layout.tsx | 34 |
1 files changed, 17 insertions, 17 deletions
diff --git a/packages/app/src/pages/layout.tsx b/packages/app/src/pages/layout.tsx index cc322d74f..2019ca4e5 100644 --- a/packages/app/src/pages/layout.tsx +++ b/packages/app/src/pages/layout.tsx @@ -1846,7 +1846,7 @@ export default function Layout(props: ParentProps) { }} style={{ width: panelProps.mobile ? undefined : `${Math.max(layout.sidebar.width() - 64, 0)}px` }} > - <Show when={panelProps.project}> + <Show when={panelProps.project} keyed> {(p) => ( <> <div class="shrink-0 px-2 py-1"> @@ -1855,7 +1855,7 @@ export default function Layout(props: ParentProps) { <InlineEditor id={`project:${projectId()}`} value={projectName} - onSave={(next) => renameProject(p(), next)} + onSave={(next) => renameProject(p, next)} class="text-14-medium text-text-strong truncate" displayClass="text-14-medium text-text-strong truncate" stopPropagation @@ -1864,7 +1864,7 @@ export default function Layout(props: ParentProps) { <Tooltip placement="bottom" gutter={2} - value={p().worktree} + value={p.worktree} class="shrink-0" contentStyle={{ "max-width": "640px", @@ -1872,7 +1872,7 @@ export default function Layout(props: ParentProps) { }} > <span class="text-12-regular text-text-base truncate select-text"> - {p().worktree.replace(homedir(), "~")} + {p.worktree.replace(homedir(), "~")} </span> </Tooltip> </div> @@ -1883,7 +1883,7 @@ export default function Layout(props: ParentProps) { icon="dot-grid" variant="ghost" data-action="project-menu" - data-project={base64Encode(p().worktree)} + data-project={base64Encode(p.worktree)} class="shrink-0 size-6 rounded-md data-[expanded]:bg-surface-base-active" classList={{ "opacity-0 group-hover/project:opacity-100 data-[expanded]:opacity-100": !panelProps.mobile, @@ -1892,24 +1892,24 @@ export default function Layout(props: ParentProps) { /> <DropdownMenu.Portal mount={!panelProps.mobile ? state.nav : undefined}> <DropdownMenu.Content class="mt-1"> - <DropdownMenu.Item onSelect={() => showEditProjectDialog(p())}> + <DropdownMenu.Item onSelect={() => showEditProjectDialog(p)}> <DropdownMenu.ItemLabel>{language.t("common.edit")}</DropdownMenu.ItemLabel> </DropdownMenu.Item> <DropdownMenu.Item data-action="project-workspaces-toggle" - data-project={base64Encode(p().worktree)} - disabled={p().vcs !== "git" && !layout.sidebar.workspaces(p().worktree)()} - onSelect={() => toggleProjectWorkspaces(p())} + data-project={base64Encode(p.worktree)} + disabled={p.vcs !== "git" && !layout.sidebar.workspaces(p.worktree)()} + onSelect={() => toggleProjectWorkspaces(p)} > <DropdownMenu.ItemLabel> - {layout.sidebar.workspaces(p().worktree)() + {layout.sidebar.workspaces(p.worktree)() ? language.t("sidebar.workspaces.disable") : language.t("sidebar.workspaces.enable")} </DropdownMenu.ItemLabel> </DropdownMenu.Item> <DropdownMenu.Item data-action="project-clear-notifications" - data-project={base64Encode(p().worktree)} + data-project={base64Encode(p.worktree)} disabled={unseenCount() === 0} onSelect={clearNotifications} > @@ -1920,8 +1920,8 @@ export default function Layout(props: ParentProps) { <DropdownMenu.Separator /> <DropdownMenu.Item data-action="project-close-menu" - data-project={base64Encode(p().worktree)} - onSelect={() => closeProject(p().worktree)} + data-project={base64Encode(p.worktree)} + onSelect={() => closeProject(p.worktree)} > <DropdownMenu.ItemLabel>{language.t("common.close")}</DropdownMenu.ItemLabel> </DropdownMenu.Item> @@ -1946,7 +1946,7 @@ export default function Layout(props: ParentProps) { size="large" icon="plus-small" class="w-full" - onClick={() => navigateWithSidebarReset(`/${base64Encode(p().worktree)}/session`)} + onClick={() => navigateWithSidebarReset(`/${base64Encode(p.worktree)}/session`)} > {language.t("command.session.new")} </Button> @@ -1955,7 +1955,7 @@ export default function Layout(props: ParentProps) { <div class="flex-1 min-h-0"> <LocalWorkspace ctx={workspaceSidebarCtx} - project={p()} + project={p} sortNow={sortNow} mobile={panelProps.mobile} /> @@ -1970,7 +1970,7 @@ export default function Layout(props: ParentProps) { keybind={command.keybind("workspace.new")} placement="top" > - <Button size="large" icon="plus-small" class="w-full" onClick={() => createWorkspace(p())}> + <Button size="large" icon="plus-small" class="w-full" onClick={() => createWorkspace(p)}> {language.t("workspace.new")} </Button> </TooltipKeybind> @@ -1996,7 +1996,7 @@ export default function Layout(props: ParentProps) { <SortableWorkspace ctx={workspaceSidebarCtx} directory={directory} - project={p()} + project={p} sortNow={sortNow} mobile={panelProps.mobile} /> |
