Saved views, serverless rate limiting, and tests for silent bugs
Users can now save and share filtered list views, auth rate limiting actually works on serverless, and a new test suite covers the logic that breaks without anything looking broken. Most of these changes shipped first in production apps built on Straktur and were backported once they proved generic.
- Saved views for lists
Save any list state — filters, search, sort — as a named view, pin it in the sidebar, share it with the team. "Overdue invoices, sorted by client" becomes one click instead of five filter selections nobody remembers. A view is just a named link, so there's no database-to-page sync for your AI agent to get wrong, and wiring views into a new list is one config entry.
- Auth rate limiting that works on serverless
Default in-memory rate limit counters reset with every warm lambda, so on Vercel the limits most apps think they have don't exist. Counters now live in the database, public file routes get per-IP caps, and a bundled cleanup job keeps the table small. You don't configure any of this — it's the default.
- Lists that can't drop rows
Postgres returns rows tied on a sort value in arbitrary order, so paged lists could duplicate some rows and silently skip others. Fixed in the query pattern itself — every list your AI agent generates is immune, without the agent knowing the bug exists.
- Scheduled jobs as a golden path
Cron jobs now have a decided pattern: a route, one line of config, a secret. When you tell your agent "add a nightly cleanup job", it copies a working reference instead of inventing infrastructure.
- A test suite for logic that breaks silently
54 tests over locale number parsing, URL state, and permission checks — the places where a bug still renders fine and is just wrong. No DOM, no database, runs in seconds, so your agent can verify its own changes cheaply.