Kody v2026.08.15
Kody v2026.08.15
This release closes the biggest gap in package apps: your attached remote connectors now work everywhere Kody builds a caller context, not just in chat. We also shipped an interactive Google OAuth walkthrough, stabilized client navigation so blog and guide pages stop looping, and pinned homepage scroll restoration so refreshing a scrolled page lands in the same spot every time.
New
-
Package apps, services, and subscriptions can now call attached remotes. If you've connected a remote connector in
/account/remote-connectors, it's already the grant — but until now, package apps, package services, and subscription handlers couldn't see those connectors the way chat and execute can. You can now usekody.remote["home"]from any of those background contexts, and nested package invocations inherit the same refs. (#1451, #1453) -
There's a new interactive Google OAuth guide. When inbox reading requires your own Google credentials, Kody now walks you through the Google Auth Platform one step at a time — refusing to accept secrets in chat, sending a prefilled connect URL, and smoke-testing your Gmail profile when you're done. It lives at
/guides/google-oauthand shares the same interactive transcript UI as the How Kody works walkthrough, which now plays as a real coding-agent conversation. (#1448)
Improved
- Homepage scroll restoration no longer drifts on refresh. If you scrolled to a mid-page section and hit refresh, the page used to land slightly off — and each refresh made it worse because the browser clamped an early scroll to whatever the document height was before fonts and images settled. The restorer now holds the saved position until the document is tall enough to reach it, so repeated refreshes land on the exact same
scrollYevery time. (#1444)
Fixed
-
Client navigation no longer infinite-loops on blog and guide pages. When a SPA navigation fell back to a client route fetch and Remix aborted the fetch on a re-render, the blog, blog-post, guides, guide-detail, timeline, and account-stars loaders would re-queue indefinitely until the scheduler's update guard threw. Route loads now latch the pending href with a per-attempt guard, so an aborted fetch clears only its own attempt and a newer load for the same path stays intact. (#1449, #1450, #1452)
-
Admin audit log queries no longer fail on negative IDs. SQLite integer primary keys can be negative — especially for legacy or manually inserted rows — and the audit log schema was rejecting them. The validation constraint is gone, so
admin_audit_log_queryparses every valid entry again. (#1447)