ZacharyZhang-NY fcac3268ad Stop hijacking omnibar typing when an external web tab is active
Real bug found by reading capture_key_down semantics: the web
keyboard handler was registered as `capture_key_down` on the root
div, which fires from root → focused element. So when the user is
on an external tab (https://google.com) and clicks the omnibar to
type a new URL, every keystroke was intercepted at the root, the
text was forwarded to Servo, and `cx.stop_propagation()` killed the
event before it could reach the focused Input. The omnibar appeared
dead.

Gate the handler on `self.focus_handle.is_focused(window)`. The
shell's root handle is only focused when nothing deeper is — clicks
on the web viewport call `focus_handle.focus(window)`, which makes
the root focused; clicks on any Input transfer focus to the Input's
handle and `is_focused` returns false on the root. Now keystrokes
reach the Input untouched while still flowing to Servo when the
user is interacting with the page itself.

cargo test --workspace: 440 passed, 0 failed.
2026-05-10 00:23:55 -04:00
2026-05-08 11:47:38 -04:00
2026-05-09 16:27:40 -04:00
2026-05-09 03:23:39 -04:00
2026-05-09 16:27:40 -04:00
2026-05-07 18:27:15 -04:00
2026-05-09 03:35:00 -04:00
2026-05-09 16:27:40 -04:00

ELY Browser

Native Rust + GPUI browser workspace for ELY Browser by Elydora.

The repository is organized around explicit product boundaries from PRD.md: domain state, browser orchestration, design tokens, GPUI shell, and Servo host contracts. Reference GPUI ecosystem repositories live under references/ for local review and are excluded from version control.

Local Commands

cargo fmt --all --check
cargo check --workspace --all-targets
cargo clippy --workspace --all-targets -- -D warnings
cargo test --workspace --all-targets
cargo check -p ely_servo_host --features servo-engine --all-targets
cargo clippy -p ely_servo_host --features servo-engine --all-targets -- -D warnings
cargo test -p ely_servo_host --features servo-engine --test software_host
scripts/verify_prd_site_rendering.sh
scripts/verify_windows_app_manifest.sh
cargo run -p ely_app

Cloudflare Auth Configuration

/api/auth/* is served by Better Auth in the Cloudflare Worker. Local wrangler dev uses ELY_AUTH_BASE_URL from cloudflare/wrangler.toml; deployed environments should set the matching public Worker origin.

Use Wrangler secrets or an untracked cloudflare/.dev.vars file for the remaining auth bindings:

wrangler secret put ELY_AUTH_SECRET
wrangler secret put ELY_AUTH_GOOGLE_CLIENT_ID
wrangler secret put ELY_AUTH_GOOGLE_CLIENT_SECRET
wrangler secret put ELY_AUTH_GITHUB_CLIENT_ID
wrangler secret put ELY_AUTH_GITHUB_CLIENT_SECRET
wrangler secret put ELY_AUTH_EMAIL_OTP_ENDPOINT
wrangler secret put ELY_AUTH_EMAIL_OTP_TOKEN
S
Description
No description provided
Readme
6.2 MiB
Languages
Rust 76.2%
TypeScript 18.6%
JavaScript 3.8%
Shell 0.8%
CSS 0.3%
Other 0.2%