Commit Graph
11 Commits
Author SHA1 Message Date
austin 41cf04fce9 Update dependency lucide-react to v1.31.0
renovate/artifacts Artifact file update failure
build-and-publish / build (pull_request) Successful in 2m43s
2026-08-09 19:03:15 +00:00
austinandClaude Opus 4.8 1f9271b611 Restore the dependency upgrades I reverted
build-and-publish / build (push) Successful in 1m22s
The merged Renovate bumps were undone when I rsync'd a local tree over these repos while
pushing the contract tests — that local package.json was a pre-merge backup I had kept so
the PRs would be the source of the versions.

Re-applied and verified from a clean install (rm -rf node_modules package-lock.json &&
npm install && tsc && vite build), which is also what regenerates a lock file consistent
with all the bumps at once.

Co-Authored-By: Claude Opus 4.8 <[email protected]>
Claude-Session: https://claude.ai/code/session_01XXKjx7FNyRVAjU8dgB5KhN
2026-07-23 09:56:47 -05:00
austinandClaude Opus 4.8 5db38831f5 Inherit the platform contract tests, and extend the shared Renovate preset
build-and-publish / build (push) Successful in 1m22s
PlatformWebContract asserts what this app must do because it is on the platform: an /api
path matching no controller 404s rather than returning the SPA, health is UP, the liveness
and readiness probes exist, and a client-side route forwards to the shell. That first one
shipped broken to six live sites and was found by typing a URL by hand; now it fails a
build instead.

renovate.json is three lines pointing at austin/renovate-config. The rules were copied per
repo, so they matched only by luck and a change was six edits.

Platform 0.1.9.

Co-Authored-By: Claude Opus 4.8 <[email protected]>
Claude-Session: https://claude.ai/code/session_01XXKjx7FNyRVAjU8dgB5KhN
2026-07-23 09:46:54 -05:00
austin acab25614b Merge pull request 'Update dependency lucide-react to v1.26.0' (#6) from renovate/lucide-monorepo into main
build-and-publish / build (push) Successful in 2m2s
2026-07-23 08:52:23 -05:00
austin 57c2497ae7 Merge pull request 'Update dependency typescript to v7' (#2) from renovate/typescript-7.x into main
build-and-publish / build (push) Successful in 1m19s
2026-07-23 08:50:51 -05:00
austinandClaude Opus 4.8 49aeb6ede4 Move search and the front-page decisions out of the browser into Java
build-and-publish / build (push) Successful in 1m19s
Search downloaded every post to every visitor and filtered the list with String.includes,
so it could only ever match what a summary carries — a phrase from the body of a post was
unfindable, and the cost grew with each post published. It is now a query
(/api/posts/search) that searches the body too.

The home page picked 'the latest post' by taking element zero of that list, which was only
correct for as long as the API happened to return posts in that order. /api/home now
decides what leads, what counts as recent, and the tag counts, in one call.

Tag counting moves out of the controller into TagService, shared by both.

The LIKE escaping needed an explicit ESCAPE clause: there is no default escape character to
rely on, and posts are markdown full of literal backslashes — escaping with a backslash
turned a search for '%' into a search for backslashes and matched unrelated posts. Caught by
the new tests.

Also on platform 0.1.6 (contact-form header-injection fix).

Co-Authored-By: Claude Opus 4.8 <[email protected]>
Claude-Session: https://claude.ai/code/session_01XXKjx7FNyRVAjU8dgB5KhN
2026-07-23 06:33:41 -05:00
austin ed830b07aa Update dependency lucide-react to v1.26.0
renovate/artifacts Artifact file update failure
2026-07-23 08:28:48 +00:00
austin ec739c3b31 Update dependency typescript to v7
renovate/artifacts Artifact file update failure
2026-07-23 02:21:08 +00:00
austinandClaude Opus 4.8 2a0dd1ae6b Restore the app files (prior commit mis-scoped its tar)
build-and-publish / build (push) Failing after 8s
Co-Authored-By: Claude Opus 4.8 <[email protected]>
2026-07-22 20:50:58 -05:00
austinandClaude Opus 4.8 eaad7b916e Add admin UI + MinIO image uploads
- Admin API: list/edit posts (incl. drafts, raw markdown), moderate comments, subscribers,
  author bio/links, and presigned image upload to MinIO (bucket is public-read for covers).
- Admin UI at /admin: post editor with cover-image upload, comment moderation, subscriber list.
- Public security switched to authenticated-paths so static assets (/images, /data) stay public.

Co-Authored-By: Claude Opus 4.8 <[email protected]>
2026-07-22 20:50:45 -05:00
austinandClaude Opus 4.8 cbe8a764b0 Rewrite as a Spring Boot app on the Bennett platform
build-and-publish / build (push) Successful in 1m38s
Restores the real backend lost with Supabase (posts, authors, comments, subscriptions, admin) in
Postgres, seeds the existing markdown posts, and rebuilds the site as a Vite/React SPA served by
Spring — keeping the original styling (serif + tan accent) and content.

Co-Authored-By: Claude Opus 4.8 <[email protected]>
2026-07-22 20:35:51 -05:00