25ff653d83fee527d04caf567eaa0a6836216ff0
Active and hover used the same ACTIVE_NAV_BG, so a selected row gave no feedback when the cursor crossed it — the contrast ladder was a single rung. Replace it with a four-state ladder shared by the home anchor, launcher rows, and tab rows: rest → transparent (HOVER_NAV_BG hover) active → ACTIVE_NAV_BG (ACTIVE_NAV_BG_HOVER hover) The choice lives in nav_row_palette(active) so the ladder cannot silently disagree across the three callers. Close (×) becomes an 18 px circular coin (was a 16 px square) with the warm-dark hover wash from CLOSE_HOVER_BG, shared by both row variants via a single render_row_close_button recipe — the button now reads as something to press, not a glyph in a square. Hoist sidebar_chrome.rs alongside sidebar.rs to host the shared constants/helpers and keep both files under the 500-line ceiling (444 / 198). cargo test ely_app --bin ely_app: 103 passed.
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
Languages
Rust
76.2%
TypeScript
18.6%
JavaScript
3.8%
Shell
0.8%
CSS
0.3%
Other
0.2%