From 66dbf0046ecaf86f2a96070d6168adc4130609ba Mon Sep 17 00:00:00 2001 From: cynarAI <155274210+cynarAI@users.noreply.github.com> Date: Mon, 19 Oct 2026 18:57:04 +0200 Subject: [PATCH] fix(web,core,db): resolve responsive layout overflows, dialog clipping, i18n gaps, and runtime stability --- apps/web/e2e/unterhaltungen-sidebar.spec.ts | 7 + apps/web/src/components/OoAtelier.tsx | 34 ++-- .../onboarding/OnboardingDiscoveryShell.tsx | 10 +- .../onboarding/OnboardingOoDesigner.tsx | 2 +- apps/web/src/locales/de/messages.po | 36 ++-- apps/web/src/locales/en/messages.po | 24 ++- apps/web/src/locales/es/messages.po | 24 ++- apps/web/src/locales/hi/messages.po | 24 ++- apps/web/src/locales/ko/messages.po | 24 ++- apps/web/src/locales/pt-BR/messages.po | 24 ++- apps/web/src/locales/ru/messages.po | 24 ++- apps/web/src/locales/tr/messages.po | 24 ++- apps/web/src/locales/zh-CN/messages.po | 24 ++- apps/web/src/pages/AccountSettingsOverlay.tsx | 5 + apps/web/src/pages/ActivityList.tsx | 8 +- apps/web/src/pages/PluginsOverlay.tsx | 3 +- apps/web/src/pages/SettingsOverlay.tsx | 2 +- apps/web/src/pages/Shell.tsx | 64 +++---- .../pages/shell/computer-panel-preview.tsx | 12 +- apps/web/src/pages/shell/dialogs.tsx | 32 +++- .../shell/fullscreen-computer-overlay.tsx | 4 +- .../src/pages/shell/project-look-dialog.tsx | 14 +- apps/web/src/pages/shell/sidebar-header.tsx | 3 +- apps/web/src/pages/shell/transcript.tsx | 12 -- .../supervisor/src/computer-spec.test.ts | 9 + .../sandboxes/supervisor/src/computer-spec.ts | 14 +- infra/sandboxes/supervisor/src/index.ts | 5 +- packages/adapters/src/executor.ts | 18 +- packages/adapters/src/pi-runtime.ts | 5 + packages/core/src/events.test.ts | 42 +++++ packages/core/src/events.ts | 45 ++++- packages/db/src/events.test.ts | 45 +++++ packages/db/src/events.ts | 172 +++++++++--------- packages/db/src/messages.ts | 6 +- packages/db/src/project-workspace.test.ts | 8 +- packages/db/src/project-workspace.ts | 9 +- packages/ui-web/src/components/ui/popover.tsx | 9 +- packages/ui-web/src/evoo-brand.tsx | 2 +- 38 files changed, 585 insertions(+), 244 deletions(-) diff --git a/apps/web/e2e/unterhaltungen-sidebar.spec.ts b/apps/web/e2e/unterhaltungen-sidebar.spec.ts index b3a6713..a4154d0 100644 --- a/apps/web/e2e/unterhaltungen-sidebar.spec.ts +++ b/apps/web/e2e/unterhaltungen-sidebar.spec.ts @@ -14,6 +14,13 @@ test("conversations and projects stay separate; + opens bot picker", async ({ pa await expect(unterhaltungen.getByText("Talk to your Oos", { exact: true })).toBeVisible(); await expect(projekte.getByText("Projects", { exact: true })).toBeVisible(); await expect(unterhaltungen.getByRole("button", { name: /^Chief/ })).toBeVisible(); + const [projekteBox, unterhaltungenBox] = await Promise.all([ + projekte.boundingBox(), + unterhaltungen.boundingBox(), + ]); + expect(projekteBox).not.toBeNull(); + expect(unterhaltungenBox).not.toBeNull(); + expect(projekteBox!.y).toBeLessThan(unterhaltungenBox!.y); await unterhaltungen.getByTestId("conversation-picker-trigger").click(); const picker = page.getByTestId("conversation-bot-picker"); diff --git a/apps/web/src/components/OoAtelier.tsx b/apps/web/src/components/OoAtelier.tsx index 2aa2c8c..2fe801f 100644 --- a/apps/web/src/components/OoAtelier.tsx +++ b/apps/web/src/components/OoAtelier.tsx @@ -254,10 +254,10 @@ export function OoAtelierDialog({ - + Atelier @@ -274,19 +274,19 @@ export function OoAtelierDialog({ -
+
- - + + Body @@ -303,7 +303,11 @@ export function OoAtelierDialog({ ) : null} - + - + - + {allowUpload ? ( - +
{projectSidebarGroups.length === 0 ? ( -
-

{t`No projects yet.`}

- -
+

+ {t`No projects yet.`} +

) : null} @@ -4399,6 +4390,7 @@ export function ShellPage() { ) : panel === "browser" || (effectiveTab === "browser" && !isOverlayPanel) ? (
{ setPanel(null); if (!inProject) dualSurface.setLayoutMode("stream"); @@ -5292,15 +5284,15 @@ export function ShellPage() { {booting ? (
- Booting up {active?.name}’s computer + Booting up {(active ?? coordinatorBot)?.name}’s computer
- ) : computerOpen && active ? ( + ) : computerOpen && (active ?? coordinatorBot) ? (
{computerOpen ? (
Open in full window
) : computer?.kind === "desktop" ? ( - + ) : computer?.state === "running" && embeddedScreenUrl && !computerScreenError ? ( <>