Skip to content

Add GPUI browser target and web workspace support - #43

Open
cxnmai wants to merge 39 commits into
mainfrom
gpui-wasm-browser
Open

cxnmai wants to merge 39 commits into
mainfrom
gpui-wasm-browser

Conversation

@cxnmai

@cxnmai cxnmai commented Aug 23, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • pin and vendor a matched WASM-capable GPUI/component cohort
  • add a browser target with web-safe settings, clocks, fonts, icons, and document I/O
  • preserve the shared workspace shell and editor behavior in the browser while gating native-only services
  • move collaboration snapshot work off latency-sensitive workers

Validation

  • not rerun as part of moving the existing commit series to this branch

Notes

  • this is a large dependency-cohort migration and includes the corresponding vendored component sources
  • the local uncommitted movement-core edit and generated dist directory are intentionally excluded

cxnmai added 30 commits August 19, 2026 15:46
@coderabbitai

coderabbitai Bot commented Aug 23, 2026

Copy link
Copy Markdown
Contributor

Important

  • 🔍 Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 109a5e3a-d62f-4972-8d36-d782d00823e0


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.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 3ad8471fbd

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment on lines +65 to +66
pub fn save_active(&mut self, _: &mut Window, _: &mut Context<Self>) {}
pub fn save_active_as(&mut self, _: &mut Window, _: &mut Context<Self>) {}

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Implement browser document saving

In the WASM build, selecting either File → Save or File → Save As after editing invokes these empty methods even though both menu entries are enabled in top_bar.rs. The operation produces no download, persistence, or error, so users can reasonably believe their document was saved and then lose all edits on close or reload; implement browser package export/download or disable these commands with a clear explanation.

Useful? React with 👍 / 👎.

Comment on lines +21 to +23

pub fn close_document_panel(&mut self, panel_id: Uuid, window: &mut Window, cx: &mut Context<Self>) {
self.remove_document_panel(panel_id, window, cx);

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Prompt before discarding dirty browser tabs

When a browser document has unsaved edits, clicking the tab close button or File → Close File immediately removes the panel through this method without checking editor dirtiness or asking for confirmation. Because browser documents currently live only in memory, an accidental close irreversibly discards the work; retain the native close-confirmation behavior or add an equivalent WASM prompt before removal.

Useful? React with 👍 / 👎.

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