Commit Graph
12 Commits
Author SHA1 Message Date
jake c337c3a706 chore: bump dependencies 2026-10-12 17:17:23 -04:00
jake 3baffbbd29 fix: add cacheLife("max") to build-time cached functions and clarify throw-vs-catch caching rule
- Add `cacheLife("max")` to `getLocalImage` (OG image) and `getStaticRoutes` (sitemap) so entries are held as long as possible during prerender instead of expiring at the default TTL
- Update AGENTS.md to distinguish build-time reads (catch inside the cached function, return a fallback, use a short `cacheLife` on the error path) from request-time reads (may throw from the cached function since they never run during prerender)
- Expand the `getCachedComments` comment to explain why throwing is only safe there: a throw inside `"use cache"` during prerender fails the build even if the caller catches it
2026-10-03 09:55:33 -04:00
jake d3b2d07de7 refactor: use "use cache: remote" for request-time reads and updateTag/refresh for mutations
- Replace `"use cache"` with `"use cache: remote"` on functions that run inside dynamic holes (`getContributions`, `getRepos`, `getPostStats`, `getCachedComments`) so entries are shared across server instances
- Switch comment and view server actions from `revalidatePath`/`revalidateTag` to `updateTag` + `refresh` for read-your-writes invalidation
- Extract a `commentsTag(pageSlug)` helper so each page's comment cache is expired independently instead of blowing the whole "comments" tag
- Refactor `getComments` to delegate to a cached inner function that throws on failure (so errors are never cached); `getCommentCount` now reuses that cache entry instead of issuing a separate COUNT query
- Drop `lib/data/views.ts` (`getAllViewCounts`) — the `/api/hits` route now calls `getPostStats()` instead
- Remove `revalidateTag("views")` from `incrementViews`; view counts in `getPostStats` are allowed to lag by a cache TTL
- Remove the `Suspense`/`Skeleton` wrapper on the projects page since `getContributions` is now a remote-cached call
2026-10-03 09:50:06 -04:00
jakeandClaude Sonnet 5.5 1d8b8358ca docs: document lib/data and mutations-only server actions in AGENTS.md
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-03 08:40:14 -04:00
jakeandClaude Sonnet 5.5 1b472214a9 docs: update AGENTS.md for oxlint/oxfmt and current conventions
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-03 08:01:10 -04:00
jake 82eedf02bb chore: bump deps 2026-09-26 12:47:29 -04:00
jake f91bcd5dae chore: replace sonner with base-ui toast primitive 2026-08-16 18:28:44 -04:00
jake 5a1636baa3 refactor: migrate from Biome to oxlint/oxfmt, remove contact form
- Replace Biome with oxlint + oxfmt (OXC toolchain) for linting and formatting
- Add .oxlintrc.json and .oxfmtrc.json configuration files
- Update VS Code settings and devcontainer to use oxc-vscode extension
- Remove contact form, Resend email integration, and related server action/schema
- Remove unused UI components (accordion, alert, card, tabs, toggle, etc.)
2026-04-05 19:45:18 -04:00
jake c30197ccc5 refactor: eslint/prettier ➡️ biome 2026-02-19 14:02:03 -05:00
jake 4dca81b58a fix: batch server requests from posts list 2026-01-28 14:37:37 -05:00
jake 0d6e489cc8 refactor: neon -> planetscale 2026-01-28 12:26:17 -05:00
jake 2ece5c79fa 2026 Redesign (#2531) 2026-01-27 22:53:59 -05:00