Skip to content

feat: add stage 3 browser stability controls#102

Merged
hmmhmmhm merged 15 commits into
mainfrom
feat/stage-3-browser-stability
May 19, 2026
Merged

feat: add stage 3 browser stability controls#102
hmmhmmhm merged 15 commits into
mainfrom
feat/stage-3-browser-stability

Conversation

@hmmhmmhm

@hmmhmmhm hmmhmmhm commented May 19, 2026

Copy link
Copy Markdown
Owner

Summary

  • Adds Stage 3 design and implementation plan docs for browser stability scope.
  • Adds explicit navigation security policy, site permission management, and external protocol confirmation.
  • Adds history/session restore, browsing-data controls, downloads view, and page tools for find/zoom/print.
  • Adds Vitest unit coverage and includes tests in the release gate.
  • Fixes production startup by deferring Electron session-dependent managers until app ready.
  • Fixes the browser menu route and overlay stacking so page tools are visible and usable above the phone frame.
  • Fixes tab switching state refresh so the top bar updates to the active tab URL/title.
  • Hardens theme color cache persistence with atomic writes and corrupt-cache recovery.

Browser completeness impact

This moves aka-browser from a basic embedded browser shell toward a safer assistant-browser candidate. It is much closer to a usable secondary browser, with Stage 3 browser safety and utility controls covered by automated and desktop smoke checks.

Validation

  • pnpm release:check
  • Unit tests: 9 files, 36 tests
  • TypeScript, lint, build
  • Dependency audit
  • Source file size policy
  • Whitespace check
  • Production Electron launch smoke: app starts and creates webview
  • Session restore smoke: example.com restored before browsing-data clear; blank tab restored after session clear
  • Navigation smoke: address edit navigates to https://example.com
  • Security smoke: javascript:alert(1) rejected with no dialog
  • Tab smoke: create, switch, close; active tab title/domain refreshes after switch
  • Browsing Data smoke: clear-all action runs and controls re-enable
  • Download smoke: aka-browser-main.zip appears in Settings > Downloads at 100%
  • Menu smoke: page menu visible above phone frame
  • Find-in-page smoke: find overlay visible and accepts input
  • Zoom smoke: Zoom In, Zoom Out, Reset Zoom menu actions execute and return to page
  • Settings smoke: Browsing Data, Site Permissions, Downloads, Favorites, Language views open
  • Print dialog smoke: Print menu opens an additional Electron-owned native window (516x658)
  • External protocol smoke: mailto opens an additional Electron-owned confirmation window (260x171)
  • Theme cache smoke: app relaunch loads cache without corrupt-cache parse error after atomic persistence fix

Merge note

Ready after CI completes on the latest head.

@hmmhmmhm hmmhmmhm marked this pull request as ready for review May 19, 2026 12:36
@hmmhmmhm hmmhmmhm merged commit e070a6f into main May 19, 2026
3 checks passed
@hmmhmmhm hmmhmmhm deleted the feat/stage-3-browser-stability branch May 19, 2026 12:37
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