mirror of
https://github.com/vitorpamplona/amethyst.git
synced 2026-08-11 08:47:33 +00:00
Refines the browser URL-bar experience across the launcher and the in-page browser chrome: - Shared URL normalization (commons OmniboxInput): dedupes the logic that was copied between BrowserScreen and NappletBrowserService, recognizes bare domains/localhost/IPs, falls back to a (configurable) DuckDuckGo search, and flags .onion as Tor-only so the launcher forces Tor for it. - Omnibox suggestions (commons OmniboxSuggestions): ranks favorites + visit history by prefix/substring match, favorite boost, and frecency; deduped by host. The launcher body turns into a suggestion list as you type. - Inline ghost-text completion in the address field (TextFieldValue selection), completing a typed host fragment to the top-ranked host. - Visit history (BrowserHistoryRegistry, main process): a device-local, bounded, DataStore-backed store. Pages are recorded ONLY on a clean main-frame load — relayed from the keyless :napplet browser host over a new MSG_RECORD_HISTORY IPC — so misspelled/unresolved addresses never enter it. - In-page editable address bar (websites only) in NappletControlSheet, showing the live URL + a security glyph (Tor/https/plain) and loading what the user types. nsite/napplet hosts pass no navigate callback, so they never get one. Pure logic is covered by unit tests in commons. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_017LyxWy2k3AT1LiZSvMsiDx