Skip to content

Make the cloud web client buildable - #130

Merged
SunkenInTime merged 1 commit into
icarus-cloudfrom
cloud-beta/web-client
Aug 25, 2026
Merged

Make the cloud web client buildable#130
SunkenInTime merged 1 commit into
icarus-cloudfrom
cloud-beta/web-client

Conversation

@SunkenInTime

Copy link
Copy Markdown
Owner

The browser client was not a usable second beta client: the web compiler reached Windows-only FFI imports and failed before Icarus could load.

This PR:

  • isolates Windows protocol, single-instance, and window setup behind conditional imports
  • adds a release web build to CI with the required dynamic-icon flag
  • removes the blocking demo modal and relabels the browser as a web beta
  • sends Windows downloads to the stable direct installer instead of the Microsoft Store
  • prevents a failed sign-out toast from turning a completed sign-out into an auth incident
  • updates stale auth assertions to the current user-facing error copy
  • replaces Flutter placeholder web metadata with Icarus metadata

Verification:

  • fvm flutter analyze --no-fatal-infos: exit 0, six existing info notices
  • fvm flutter test: 319 passed
  • fvm flutter build web --no-wasm-dry-run --no-tree-shake-icons: passed
  • Computer Use: Chrome loaded the local library without a blocking modal; the web beta notice and email/password sign-in dialog rendered correctly; Convex and Supabase initialized

The authenticated two-client edit/join proof still needs a beta account in the browser. No credentials were created or copied as part of this PR.

@coderabbitai

coderabbitai Bot commented Aug 25, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 8b42d4a5-e6f4-4845-ad2f-9397b23d2253

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

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.

@greptile-apps

greptile-apps Bot commented Aug 25, 2026

Copy link
Copy Markdown
Contributor

Greptile Summary

This change prepares Icarus for browser use by isolating Windows-only startup work, adding a release web build to CI, and updating browser beta messaging and metadata.

Browser-target execution confirmed that deep-link registration, single-instance handling, and desktop window setup resolve to web-safe implementations. A Linux execution harness also confirmed that non-Windows deep-link registration exits before reaching Windows Registry operations.

T-Rex validation blocked

Direct sign-out toast and WebView warm-up tests, along with the complete Flutter web build, could not finish because lucide_icons_flutter 3.1.9 subclasses Flutter 3.44.4's final IconData. The repository requests Flutter 3.41.1 while the supplied environment provides Flutter 3.44.4; no dependency files were changed to work around this mismatch. Configure VMs

Confidence Score: 4/5

The reviewed platform-isolation changes behave safely in the executed browser-target and Linux-native checks.

Focused execution proved web startup avoids native desktop operations and Linux registration avoids Registry access. Complete browser startup, direct toast-failure handling, and direct WebView warm-up state assertions remain unexecuted because dependency compilation fails before the test bodies run.

Files Needing Attention: Before merging, validate lib/main.dart, lib/providers/auth_provider.dart, and the release web build using the Flutter version compatible with the resolved lucide_icons_flutter dependency.

T-Rex T-Rex Logs

What T-Rex did

  • We compiled a browser-target harness with conditional imports and exercised protocol registration, single-instance handling, and desktop-window setup, and confirmed the browser target resolves APIs without native implementation symbols, while the full web build was stopped by a Flutter/package compatibility issue.
  • We established the Linux native runtime baseline before invoking deep-link registration, ran the native registrar through a focused Linux Flutter harness, and confirmed the platform guard runs before Registry operations.
  • We compared the sign-out implementations and confirmed that the signed-out state is assigned before toast rendering, while attempting a narrow toast harness and a focused AuthProvider test; both executions stopped during dependency compilation before test bodies could run.
  • We inspected the runtime export, non-Windows guard, and WebView initialization branch, attempted a direct non-Windows warm-up test which stopped during dependency compilation, and ran a focused Linux runtime test that proved the guard evaluates to false on the non-Windows runtime.
  • We captured before/after source showing how the authentication failure toast is handled and observed that both requested executions were performed with the repository's bundled Flutter SDK and blocked by dependency incompatibility before test bodies; no files were modified.

View all artifacts

T-Rex Ran code and verified through T-Rex

Reviews (1): Last reviewed commit: "Make the cloud web client buildable" | Re-trigger Greptile

@SunkenInTime
SunkenInTime merged commit d440cc0 into icarus-cloud Aug 25, 2026
3 checks passed
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