
Two launches went out today — Save Cannes and Kairos each got their own post, so I won’t repeat them here. This is everything else since the Citadel changelog: six releases across four apps, and two of them have a story worth the telling.
Browser Notes 2.1.0 starts with a small courtesy: press controloptionshiftcommandN on an article and the note arrives pre-filled with the page’s title — press Return to keep it, type to make it your own. The title comes off the browser window itself, with the browser’s own name stripped from the end, and it politely declines to guess when the page has no real title to give. Most of my notes were the headline anyway; now the app does the typing.
Testing that feature is how I found the bug that became the better half of the release. On my own machine, the Add Note panel had quietly stopped appearing at all — and the app was sitting at half a core of CPU while apparently doing nothing. A process sample told the story in one line: every worker thread the system would grant was wedged inside the same function. The address-bar reader walked the browser’s accessibility tree to find the URL — and on a heavy page it descended into the page content itself, tens of thousands of elements, a fresh crawl started every three-quarters of a second, each new one piling up behind the last until there were no threads left to give. The panel waits for that read before it shows. It was going to be waiting a long time.
The fix is three sentences. Never crawl the page content looking for browser chrome — the address bar has never once been inside the web page. Never start a poll while the previous one is still running. And never let a single enquiry to an unresponsive browser block for the six seconds macOS considers a reasonable default. The panel now appears instantly on pages that used to defeat it, and the CPU graph is flat again.
2.2.0 followed the same day with five more supported browsers — SigmaOS, Waterfox, LibreWolf, Mullvad Browser and Tor Browser — which is less a feature than a confession: the README had promised them from the start, and the code had never actually delivered. It does now, and where a browser has shipped under more than one bundle identifier over the years, both are recognised.
Browser Commander 2.1.0 picks up the identical five, and takes the lesson from its sibling’s thread-pool adventure as a precaution rather than a cure: its link scanner crawls the page deliberately — the links are the page — but it now bounds every enquiry the same way, and pressing the hotkey impatiently while a slow page is being read no longer stacks up duplicate scans behind the first.
RainbowApple had a big day: its first bug report from an actual stranger, which I’m choosing to read as a sign of adoption. The report was precise and slightly delightful — with the menu bar set to auto-hide, the rainbow stayed floating at the top of an otherwise empty screen after the bar slid away, and launching while the bar was hidden parked a tiny orphaned rainbow in the bottom-left corner of the display. I had, I admit, never once tested with auto-hide.
Three releases in an afternoon, because each one taught me the next. 2.0.15 made it correct: the bar’s own backing window vanishes from the window list whenever the bar is hidden, so the overlay now hides and shows in lockstep with it — full-screen apps get the same treatment for free. 2.0.16 made the reveal smooth, after measuring showed the bar’s window is present from the first frame of its slide, with live coordinates the whole way down — so the rainbow now rides the animation like a proper menu-bar citizen instead of popping in after the bar lands. And 2.0.17 taught it the same trick on the way out, because the hide begins a beat after the pointer leaves the bar, and anticipating one direction but not the other turns out to be very noticeable in a way I’d have sworn it wouldn’t be.
The only delay left is the quarter-second macOS itself waits before deciding you meant it when you push the pointer at the top of the screen — and that one belongs to Cupertino. My thanks to emjayess for the report: both halves of it were real, distinct bugs, and the app is better for the afternoon.
Lookout 1.1.3 is one honest fix: the error panel now offers “Re-enter Token…” only when GitHub has actually rejected the token. A server outage, a rate limit or a dropped connection now gets a plain Retry — rather than an engraved invitation to go and replace a credential that was never at fault, which is the kind of suggestion that costs you ten minutes and a small crisis of confidence in your own password manager.
Everything above is live — via each app’s built-in updater, the download pages, or Homebrew, whichever you prefer.