Hard Refresh, Flick Scroll, and Video: What’s New After Chromium-Only
July 22, 2026 · Ryan X. Charles
You open a long page in an Astrohacker TermSurf Chromium pane, flick the
trackpad, and the document keeps coasting after your fingers leave the
glass. You hit Cmd+Shift+R (or type :rh in the command bar) and the
pane reloads past the cache. You open a video on X and it actually
plays.
That is the Chromium-only bet paying rent: one engine, finished enough to feel ordinary.
On July 21 we said Chromium only—for now: WebKit and Ladybird off the active product surface so one browser path can mature. This post is what landed for daily use after that cut—not the investor deck, not website tooling, not engine archaeology.
The short version
- Hard refresh — ignore-cache reload: Cmd+Shift+R / Shift+R, and
Control-mode
:refresh hard/:rh. Soft stays Cmd+R, toolbar click,:refresh/:r. - Trackpad flick — two-finger inertia (coast) works in Chromium browse panes.
- Media — proprietary codecs (Chrome branding path) so sites like X can play H.264 video in-pane.
- Shell — lazy zsh for a fast
ahshprompt; then a Nu-first PATH merge so zsh’s environment does not erase tools likecargo. - Housekeeping — TermSurf XDG / state paths under the product name; pane content corner clip so overflow does not fleck the chrome.
- Line — monorepo product crates moved through roughly 0.1.69–0.1.78; upgrade the cask when your tap has the bits you care about.
If you only remember one sentence: Chromium-only bought us room to fix reload, scroll feel, video, and shell startup—the stuff you touch every hour.
Hard refresh (cache-bust without leaving the pane)
Before this window, soft reload was easy and hard reload was not a trustworthy
product story. Soft still means normal reload. Hard means ignore HTTP
cache—the engine path is Chromium
ReloadType::BYPASSING_CACHE, not a soft reload() wearing a costume.
Soft
- Cmd+R (Command+R, no Shift)
- Toolbar refresh button
- Command bar:
:refreshor:r
Hard
- Cmd+Shift+R / Shift+R (in Control / Browse when keys reach
ahweb) - Command bar:
:refresh hardor:rh
What we deliberately do not promise: Shift+click on the toolbar as hard refresh. Terminals (including our host) often treat Shift+mouse as selection / “escape mouse grab” and do not deliver Shift on the click the way a browser chrome does. Units that faked Shift on mouse-up were green; the product was not. Hard reload lives on keyboard and commands, where modifiers actually arrive.
Trackpad flick / inertia
Direct scroll while fingers stay on the pad already moved the page. A flick—lift and coast—did not. That is the difference between a remote webview that only applies deltas and one that preserves a Mac phase / momentum sequence after finger-up.
We filled more wheel fields first; that alone was not enough. Tracing showed
momentum can reach the engine; the remaining fix was routing synthetic wheels
through Chromium’s Mac phase-handler path (delayed physical phase=ended,
same family as Chrome’s RouteOrProcessWheelEvent) instead of a bare route
that could kill the fling at the phase boundary.
Operator check: long page, two-finger flick, coast. That closed the issue.
Video in ahweb (X and friends)
Some sites never play without proprietary codecs. Our Chromium product build was too thin for that world: no H.264 where the page expects it, so X and similar media stayed silent or broken.
We enabled the product proprietary codecs + Chrome ffmpeg branding path used for real playback. After the rebuild, X video plays in a TermSurf Chromium pane. That is the user-facing bar—not a codec laundry list.
Faster shell, correct environment
Lazy zsh. Spawning a full zsh for every alt-shell handshake blocked a
snappy ahsh start. Lazy startup lets the prompt arrive while zsh is not
holding the door. Shift+Tab to zsh still exists when you want it; the greeting
does not wait on a serial cold start.
Env after lazy. Speed without cargo is a trap. The follow-on fix keeps zsh as the base environment, then merges with a Nu-first PATH (Nu entries first, zsh entries deduped after) so tools you installed under zsh still resolve and Nu’s own path additions are not clobbered.
Net: quick start, then an environment that still runs real work.
Paths and pixels
TermSurf XDG / state naming. Config and state folders follow the product name (termsurf), not a leftover “terminal” tree. If you had old paths, look for the new tree after upgrade—same product, honest home on disk.
Pane corner clip. Web content no longer peeks past rounded pane corners as a little fleck of overflow. Small visual, large “this is intentional chrome” energy.
Versions
Product crates in the monorepo stepped through roughly 0.1.69 to
0.1.78 in this window. Public cask version may lag a commit or two—when
you upgrade, match the notes above to what your install actually contains
(ahweb hard refresh, coast, codecs, ahsh startup).
What we did not cover here
- Investor deck / fundraising copy
- Website dev-server plumbing
- KeyPears or other non-TermSurf experiments
Those matter; they are not “open a pane and work.”
Still Chromium only
The previous post still holds: one shipped browser engine. This work is what “focus” is for—reload that matches developer muscle memory, scroll that matches a Mac trackpad, media that matches the modern web, shell that starts fast without lying about PATH.
Install or upgrade when ready:
brew tap astrohackerlabs/astrohacker
brew trust astrohackerlabs/astrohacker
brew install --cask astrohacker
Then try three things: flick a long page, hard refresh with
Cmd+Shift+R or :rh, and open a video on X. If something still
feels wrong, that is useful signal—send it.