Skip to content

Exo Browser 1.4.5

Latest

Choose a tag to compare

@UhhErix UhhErix released this 06 Nov 00:22

Exo Browser 1.4.5

  • Exo Launcher's look, current. The Bar, Search, menus, Settings and every sheet now draw from Exo Launcher 3.24.2's own design (the copy here had stayed at an older one): Geist instead of Inter, Exo's tokens, Liquid Glass, controls, notices and motion. The copy refreshes only from a Launcher checkout's committed design. Checked: type check, lint, Exo's design rules and the interface's tests; screenshots of every screen before and after, looked over one by one.
  • Settings has a sidebar of pages, as Exo Launcher's does: General, Search, Look, Spaces, Privacy, Extensions, Bookmarks, History, Downloads, Import and About, each under its title with a close at the top right and its own action (New space, Full history) on the title line. Before, it was one long column with no title or close. Search and the menus still open it at a page or a setting. Checked: tools/layout-check.mjs over every page at 1280, 1600 and 1920 wide and 100–150% scale; screenshots.
  • Boosts, Zap and Mods are labs, off by default (Settings > About > Labs): a site's own CSS typed as code, picking things off a page, and themes and tweaks of the browser itself weren't finished. Off, their page, rows, menu items and commands are gone and nothing of theirs applies; what you set is kept for when you turn one on. Checked: Settings with the labs off and on (pages and sections appear and go); the host's side (no boost script, Zap not starting) in code only.
  • Tabs across the top share the strip evenly. Each took its title's width, so a long title stayed wide while the short ones beside it went down to one letter. Checked: screenshots with a second space and a long title; tools/layout-check.mjs now fails a name shortened to almost nothing.
  • Down the side, New tab is a row like the tabs under it instead of a lone + in the middle of the pane, and Exo Vault's sheet has a title, a close and its Show and Lock on the title line, as a Settings page. Checked: screenshots.
  • The new tab page names a site at a number or one word whole: 127.0.0.1's tile read "0", bbc.co.uk's "Co". Checked: screenshots of the page with a 127.0.0.1 tile.
  • No 5-second freeze on a new profile's first start. The first tab was made at the same moment as the Bar's own view, and the window then waited for the engine for 5 s in about half of first starts. The tabs now come right after the Bar's view. Checked: cold starts on fresh profiles, 5 of 10 froze before and 0 of 8 after; tools/smoke.mjs 3 of 3 passing, cold start to typing-ready 604–669 ms (6.5 s in the run that froze).
  • Freeze reports say where the window waited (the code it waited in, by module), and the Bar's page reports only what actually held it, not the wait for its first paint, which logged most starts as a hang. Checked: long-frame captures at start; the stack named NtUserSetWindowPos in the engine's own code; tools/smoke.mjs 3 of 3 with no hang line.
  • tools/layout-check.mjs starts its own test copy on the second screen, checks every prompt (Ctrl+Tab, a page's dialogs, permissions, Zap, the status line, a page's menu, the error card) and a matrix of 1280, 1600 and 1920 wide at 100%, 125% and 150% page scale. Checked: run on this build and the one before: 0 faults in 324 looks across the matrix now, 180 before (every page laid out 1280 wide: 1280 at 100%, 1600 at 125%, 1920 at 150%), and 0 against 185 at the window's own size.
  • tools/smoke.mjs hooks the Bar's page once it is its own document, not the blank one before it, which made the click-on-the-address check throw now and then. _Checked: the failure seen once on this build (window._sent missing); the fix not yet run end to end.
  • Typing right away. When Exo Browser opens, and on every new tab (Ctrl+T, the + button, a closed tab leaving a new tab), the address field has the keyboard with its caret, without a click; a click on the page or the Bar still goes there, and a page that loads after you started typing doesn't take your keys. Checked: tools/smoke.mjs on a test copy (field focused and the host's keyboard on the Bar's page at start and on 19 new tabs).
  • No more frozen tabs because of another tab. Every tab of a site shared one engine process, so a page waiting on its own alert in a tab you couldn't see froze the tab you were using, with no way to click. Each tab has its own process now, a dialog from a tab off screen is answered Cancel as in Chrome, and one left open in a tab you leave is too. Checked: two tabs of one site, an alert in the hidden one: the visible one stopped dead before and keeps running now.
  • A page that stops responding says so. Its card offers Try again, which starts it afresh; before, it stayed frozen. Checked in code only: an unresponsive page couldn't be produced on demand.
  • Search opens with one clean edge. Clicking the address grew Search in while the frost under it was already full size, which drew a doubled outline and shadow; it opens at once now. Checked: frame-by-frame captures at 100% and 125%.
  • Search suggestions as you type from your search engine, under your own tabs, bookmarks and history, never for an address or in a private tab; Settings > Search turns them off. Search engines open clean results in Windows' language and region (Google's Web results without AI Overview), with a short line about each in Settings > Search, and addresses are told from searches by real domains (example.com, nas:5000, localhost; not file.txt). Checked: the interface's tests; suggestions timed in tools/smoke.mjs.
  • Profiles are gone: no profile button in the Bar and no profile pane (it could only show the Exo Profile; signing in never worked there). Nothing of yours moves. Checked: tools/smoke.mjs finds no profile UI.
  • The interface is 290 KB of script and styles smaller (1 MB with the fonts) without the profile pane, and the Bar's page starts listening before it says it's ready, so nothing the window says at start is lost. Checked: the build's sizes, tools/smoke.mjs.
  • A freeze or a crash leaves a trace, and a report. The window's thread and the Bar's page are watched: anything holding them over 200 ms is logged with what ran, and a crash, a hang over 5 s or the Bar's process failing sends Exo a short report stripped of anything personal (the same error once a day, five a day). The last run's log stays as exo-previous.log. PRIVACY.md and Help say what is sent. Checked: tests/report (every personal pattern the service refuses, the limits); the report service itself not called from a test.
  • Live folders whose feed address has a query (?format=rss) update again: Windows' fetches went out without it. Checked: the same fix brought suggestions back from all five engines on a test copy.
  • Updates' GitHub fallback works again: only the first host listed for updates was allowed, so GitHub was always refused. Checked in code: tools/privacy-check.mjs.
  • Newest interface tools: Vite 8.3.6, Tailwind 4.3.4 and the rest; WebView2's SDK stays at 1.0.4314.35, the newest stable. Checked: type check, lint, tests and a build.