ZacharyZhang-NY 6bacb3faa8 Add Sync now button that uploads a bookmarks snapshot
Wire `SyncEngine::upload_bytes` to a Settings → Sync button:

- `BrowserCore::build_sync_snapshot_bytes` serialises the user's
  bookmarks on the UI thread (cheap, synchronous).
- `ElyShell::trigger_cloud_sync_upload` resolves the active
  profile data dir, spawns a dedicated `ely-sync-upload` thread,
  and lets the engine run the blocking HTTP round-trip there so
  the GPUI render loop never stalls on the network — the same
  invariant the Servo IPC worker enforces.
- Outcomes go through `tracing` on the `ely::sync` target. Users
  drop a Better Auth bearer token into
  `<profile_data>/sync/bearer.token` to opt in; without one, the
  engine reports `SignedOut` and the click is a no-op.

The Better Auth handshake + device-approval UX still need their
own UI passes; this lands the data-plane plumbing so those pieces
slot in without re-architecting the snapshot path.
2026-05-15 17:15:07 -04:00
2026-05-09 16:27:40 -04:00
2026-05-15 17:10:30 -04:00
2026-05-15 17:05:10 -04:00
2026-05-07 18:27:15 -04:00
2026-05-13 00:22:00 -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,hardware-render --all-targets
cargo clippy -p ely_servo_host --features servo-engine,hardware-render --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%