Windows Chrome detection lands, Android bumps to 2026.1.7 with APK naming discipline

Cross-platform day. Through the first week of January openclaw had been functionally mac-first, with Linux working but rough, Windows treated as best-effort, and Android mostly theoretical. Today was the push to stop pretending mac was the only target. Windows Chrome detection, an actual APK naming convention, and a CI gate that refuses to merge CRLF line endings all shipped. 295 commits on the day, the second-highest count of the year so far.
Signal
Openclaw crosses into cross-platform discipline: Windows Chrome executable detection, Android 2026.1.7 with a formal APK naming convention, Windows CI checks enforced 295 commits on the day, +42,897 / -11,327 net, and line-endings get pinned to LF across the tree Cron timer clamps arrive to dodge TimeoutOverflowWarning, which is the kind of bug that only appears when users leave the daemon running for weeks
Evidence
openclaw (295 commits, +42,897 / -11,327): Windows Chrome detect, android 2026.1.7 apk naming, LF line-ending CI gate, Cron timer clamp Platform surface: ClawdBot CLI branding, discord outbound message chunking by chars+lines, Bonjour ciao cancellation ignore Docs refresh: comprehensive configuration examples guide, PR #403/#364 changelog entries, ClawdHub showcase previews, CLI color palette Deps: carbon version bump (#349, #354), dependency refresh, ui test script added, interactive android license prompt avoided
Windows Chrome detection is the first entry in what will become a longer story. On mac the daemon can reliably find Chrome or Chromium in /Applications; on Linux there are two or three canonical binary names in PATH; on Windows the layout is a minefield of registry keys, per-user install paths, and multiple Chrome channel coexistence. Today’s detection logic is deliberately conservative: it checks the three common locations, falls back on a registry probe, and surfaces a clean error when it finds nothing. It’s not exhaustive yet but it’s correct, and correctness beats exhaustive when users are going to paste the error into an issue.
Android 2026.1.7 with APK naming is the other half of the cross-platform discipline move. A formal APK naming convention (version + arch + variant) means Play Store uploads, sideload distributions, and CI artifacts all line up with each other and with the appcast versioning scheme. Before today an APK could ship with any name a release engineer typed; after, the filename itself is the manifest.
The LF line-ending CI gate is the one I’d been putting off for weeks. CRLF sneaks in from Windows contributors using editors without a .editorconfig override. Once it lands in a file, git diffs become useless until someone notices and does a repo-wide fix. Making the CI gate refuse a push with CRLF files is a one-line rule that prevents an afternoon of forensics every couple months.
So What
The three-platform ship (mac, Linux, Windows, Android) is a discipline tax. Every one of these 295 commits has to survive four build matrices Line-ending CI gates are the unsexy infrastructure that prevents an afternoon of debugging a week later. Correct to land early
The cron timer clamp is the third “only-happens-after-a-week” fix of the first week. Node’s setTimeout silently overflows at values above about 24.8 days, emitting TimeoutOverflowWarning and then firing immediately. For a daemon that runs cron-style scheduled tasks, this means any user who sets a cron far enough in the future would see it fire right away on the first tick. The clamp caps the timer at a safe value and re-schedules the remainder. Not a bug users would have hit this week, but one they’d hit in week five.
What’s Next
Discord message chunking by chars-and-lines is a useful pattern for any outbound integration with length limits. Is there a general “chunker” abstraction, or does each platform reinvent it? A general chunker would pay for itself the first time WhatsApp hits its own message-length limit, which is a different value and a different semantic but the same shape of problem.
Log
- Sessions: 0 (bloomnet.db lag, evidence from live git)
- Top repos: openclaw (295)
- Commits: 295 across 1 repo (+42,897 / -11,327)
- Notable: Windows Chrome detect, Android 2026.1.7, LF gate, cron timer clamp
- Cost: not tracked (pre-bloomnet-ingest window)