summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorAdam <[email protected]>2026-03-05 08:09:29 -0600
committerAdam <[email protected]>2026-03-05 08:09:29 -0600
commit152df2428df84a1029be2b472b4a840cd94c966d (patch)
treed6c930ec9e0c6e2af469ef6884ea09b069da6197
parent1a420a1a710e94bedfedbe61946f86265a347790 (diff)
downloadopencode-152df2428df84a1029be2b472b4a840cd94c966d.tar.gz
opencode-152df2428df84a1029be2b472b4a840cd94c966d.zip
fix(app): stale read error
-rw-r--r--packages/app/src/pages/layout.tsx34
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}
/>