Skip to content

fix: isolate boot shell and rename packages#135

Merged
filipeforattini merged 1 commit into
mainfrom
agent/boot-failsafe-v2
Jun 28, 2026
Merged

fix: isolate boot shell and rename packages#135
filipeforattini merged 1 commit into
mainfrom
agent/boot-failsafe-v2

Conversation

@filipeforattini

@filipeforattini filipeforattini commented Jun 28, 2026

Copy link
Copy Markdown
Contributor

Summary

  • keep the route root minimal with the native titlebar and a safe shell loader, so workspace import crashes cannot hide the topbar or window controls
  • move the workspace app into AppShell and load it dynamically behind retry, crash export, project picker, and reload actions
  • rename internal workspace packages and imports from the old red-request scope to the reddb-io request package names

Validation

  • pnpm --filter @reddb-io/request-core build
  • pnpm --filter @reddb-io/request-engine build
  • pnpm --filter @reddb-io/request-cli check
  • focused UI shell regression test
  • workspace recovery and sync test suite
  • pnpm --filter @reddb-io/request-ui check
  • pnpm --filter @reddb-io/request-ui build
  • pnpm -r check

Summary by CodeRabbit

  • New Features

    • Added a more resilient app startup experience with loading progress, recovery states, and clearer failure handling.
    • Improved shutdown behavior to better preserve unsaved changes when closing the app.
    • Added keyboard shortcuts for opening the command palette and sending requests.
  • Documentation

    • Updated project docs and build instructions to reflect the new package naming and workspace layout.

@coderabbitai

coderabbitai Bot commented Jun 28, 2026

Copy link
Copy Markdown

Review Change Stack

Caution

Review failed

Pull request was closed or merged during review

📝 Walkthrough

Walkthrough

All workspace packages are renamed from @red-request/* to @reddb-io/request-*. Every source import, CI workflow filter, script, config, changelog, and documentation reference is updated to match. Separately, the large boot/recovery/autosave/resize UI is extracted from +page.svelte into new AppShell.svelte and ShellLoader.svelte components, with a test harness AppShellHarness.svelte added and existing tests updated accordingly.

Changes

Package rename and AppShell extraction

Layer / File(s) Summary
Package manifest renames
packages/core/package.json, packages/engine/package.json, packages/ui/package.json, packages/cli/package.json, apps/desktop/package.json, packages/*/CHANGELOG.md
name fields and workspace dependency keys renamed from @red-request/* to @reddb-io/request-* across all packages.
Root scripts, CI workflows, and build tooling
package.json, .github/workflows/*.yml, apps/desktop/src-tauri/tauri.conf.json, apps/desktop/e2e/*, scripts/*.mjs, README.md
Root scripts, CI pnpm filters, Tauri dev/build commands, e2e instructions, and perf/brand-icon scripts updated to new package names; README architecture table updated to match.
Engine source and CLI import updates
packages/cli/src/cli.ts, packages/engine/src/*.ts
All engine source files and the CLI updated to import from @reddb-io/request-core / @reddb-io/request-engine instead of @red-request/*.
UI component and library import updates
packages/ui/src/lib/components/*.svelte, packages/ui/src/lib/*.ts
All UI Svelte components and library modules (repo.ts, rpc.ts, secrets.ts, store.svelte.ts, yaml-io.ts) updated to import from @reddb-io/request-core. Dynamic importers in store.svelte.ts also updated.
AppShell.svelte and ShellLoader.svelte extracted from +page.svelte
packages/ui/src/routes/+page.svelte, packages/ui/src/lib/components/AppShell.svelte, packages/ui/src/lib/components/ShellLoader.svelte, packages/ui/src/lib/test/AppShellHarness.svelte
+page.svelte reduced to a thin Titlebar + ShellLoader wrapper. Boot/recovery/autosave/resize/keyboard-shortcut logic and all UI boundary states moved into AppShell.svelte. ShellLoader.svelte manages dynamic import, boot errors, crash-report export, and project-switch recovery. AppShellHarness.svelte added as a test wrapper.
Tests updated for AppShellHarness and new shell assertions
packages/ui/src/lib/boundary-regression.svelte.test.ts, packages/ui/src/lib/page-iconbar-navigation.svelte.test.ts, packages/ui/src/lib/project-transition-css.test.ts, packages/ui/src/lib/repo.*.test.ts, packages/ui/src/lib/store.workspace.svelte.test.ts
Tests render AppShellHarness instead of the page route directly; assertions updated to check AppShell.svelte and ShellLoader.svelte content; mock stubs extended; import paths updated to @reddb-io/request-core.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related PRs

  • reddb-io/red-request#59: Edits the same release workflows and updates pnpm --filter targets for core/desktop builds, directly overlapping with the CI workflow changes here.
  • reddb-io/red-request#112: Modifies +page.svelte boundary rendering and boundary-regression.svelte.test.ts assertions, which are the same files restructured in this PR's AppShell extraction.
  • reddb-io/red-request#133: Removes the iris project transition and adds shell-level boot recovery, directly related to the project-transition-css.test.ts and shell wiring changes in this PR.

Poem

🐇 A scope rename, a fresh new name,
@reddb-io joins the game!
The shell split out, the page so lean,
AppShell holds all the boot machine.
ShellLoader guards the fragile boot,
and hops along a safer route! 🌿

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 14.29% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately reflects the two main changes: isolating the boot shell and renaming workspace packages.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch agent/boot-failsafe-v2

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@filipeforattini filipeforattini force-pushed the agent/boot-failsafe-v2 branch from d39d553 to 0fcf3a1 Compare June 28, 2026 04:05
@filipeforattini filipeforattini merged commit 1d34c67 into main Jun 28, 2026
2 of 3 checks passed
@filipeforattini filipeforattini deleted the agent/boot-failsafe-v2 branch June 28, 2026 04:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant