* fix(e2e): restore computer-update progress chip after reload
Harden the computer maintenance Playwright flow so mocked update state
survives a full page reload: stable background-chip test id, explicit
aria-label, wait for shell readiness and the updates RPC, and explicit
JSON route fulfillment.
Co-authored-by: cynarAI <cynarAI@users.noreply.github.com>
* fix(ci): bump Expo SDK 57 patches and harden flaky web e2e
Sync mobile Expo packages for frozen-lockfile typecheck and read RPC
fetch metadata before response bodies in Playwright route helpers.
Stabilize empty-project Starten, onboarding model catalog, and secret-card reload specs.
Co-authored-by: cynarAI <cynarAI@users.noreply.github.com>
* fix(e2e): stabilize RPC intercepts and project Starten flow
Fulfill patched RPC routes with string bodies, ignore benign route races,
target project Starten by test id, and wait for thread hydration after reload.
Co-authored-by: cynarAI <cynarAI@users.noreply.github.com>
* fix(e2e): drop threads/get wait after secret-card reload
Reload does not always refetch threads/get; poll the saved ask card instead.
Co-authored-by: cynarAI <cynarAI@users.noreply.github.com>
* fix(e2e): reserve unreachable setup port per desktop smoke run
Avoid CI races where a port reserved in beforeAll is rebound before the
unreachable-address check runs.
Co-authored-by: cynarAI <cynarAI@users.noreply.github.com>
* ci: retry product checks after runner OOM on web e2e
Previous Web E2E job exited 137 during the Playwright suite; no failing spec was reported.
Co-authored-by: cynarAI <cynarAI@users.noreply.github.com>
* fix(e2e): wait for shell before opening user settings
After reload, the user menu is not interactive until bootstrap finishes.
Co-authored-by: cynarAI <cynarAI@users.noreply.github.com>
---------
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Co-authored-by: cynarAI <cynarAI@users.noreply.github.com>
* fix(web): show Starten for empty projects instead of fallback bot
When a project space had no group conversations, the sidebar fell back
to listing 1:1 bots (e.g. Chief from onboarding) under the project name.
Bootstrap also redirected /app to the first bot, making it look like an
existing conversation.
Only show project group chats in Projekte, render + Starten for empty
projects, and open the existing create flow (group or bot) on click.
Co-authored-by: cynarAI <cynarAI@users.noreply.github.com>
* fix(web): keep empty-project Starten view and route flows correctly
Rebased onto main. Guard the Hauptthread auto-redirect when the current
space is an empty project so the main Starten CTA stays visible. Split
project start into create-bot vs create-group flows (main vs sidebar) and
feed home-space bots into the group form when starting from a project.
Co-authored-by: cynarAI <cynarAI@users.noreply.github.com>
* fix(web): surface empty-project Starten on Projekte pillar
Route bare /app in empty projects to the Projekte view, keep /app on
stale bot/group URLs, and show the create-group side panel without an
active thread.
Co-authored-by: cynarAI <cynarAI@users.noreply.github.com>
* fix(e2e): scope RPC to selected space and tighten Starten specs
Pass x-rakazo-space-id from Playwright RPC helpers so archive/list hit
the active project space. Trim the group-create Starten test to the side
panel flow and navigate to /app after archiving the last bot.
Co-authored-by: cynarAI <cynarAI@users.noreply.github.com>
* style(e2e): format empty-project-starten spec
Co-authored-by: cynarAI <cynarAI@users.noreply.github.com>
* fix(e2e): remove project bots so empty spaces stay deletable
Archived bots still count as space content and hide the delete-space
menu. Use bots/remove in spaces.spec when the test needs a deletable
empty project space.
Co-authored-by: cynarAI <cynarAI@users.noreply.github.com>
---------
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Co-authored-by: cynarAI <cynarAI@users.noreply.github.com>