Skip to content

v1.4.0 — Atomic navigation & owner experience

Choose a tag to compare

@Aafff623 Aafff623 released this 21 Aug 00:42
· 31 commits to master since this release

What's new

v1.4.0 continues the navigation and ownership work after v1.3.0. Article transitions are now committed atomically in a single paint frame, and the blog gains a secure GitHub-based owner session with a local Markdown editor (production writes stay closed until OAuth is configured).

Highlights

Atomic article navigation

  • Uncached articles go through a 2-concurrency intent prefetch queue (pointer / focus / touch); idle prefetch covers only the first two posts.
  • URL, article DOM, layout switch and scroll reset land in one browser paint frame — no premature URL write, no scroll-to-top while waiting, no blank intermediate state.
  • On failure the old page, URL and scroll position are kept with a non-blocking retry notice. Back / Forward restore prior scroll positions without duplicate history entries.
  • Verified under injected 1.5s slow network: URL + DOM + scrollY=0 appeared in the same 2368ms commit frame.

Owner session and editor

  • GitHub login with numeric user id, signed HttpOnly session cookie, OAuth state + PKCE, origin check and CSRF token; DEV bypass requires an explicit flag plus a real loopback client.
  • Local Markdown editor with image upload (magic-byte check, 5MB cap, content-hash dedupe), optimistic-concurrency saves and soft archiving.
  • Production Git writes fail closed (production_git_provider_unconfigured) until a GitHub OAuth App is configured; no external writes in this release.
  • Non-owner GitHub accounts get no edit entry; logout now asks for confirmation.

Navbar and motion refresh

  • Search moved next to the "More" pill on the category bar; the navbar keeps only essential controls.
  • Sakura toggle returned to the Display Settings effects tab.
  • Decorative motion (pet, tag sphere, atmosphere) pauses during navigation; pet playback moved to requestAnimationFrame with distance-aware roaming.
  • Clock side digits and footer secondary links were de-emphasized; dark-mode Bot outline gained contrast; tag sphere idle speed up slightly.

Verification

  • astro check: 0 errors / 0 warnings (285 files); tsc --noEmit: clean.
  • Gates: article navigation 18/18, UI & motion 10/10, community 9/9, owner static 9 + live API 12 all PASS.
  • EdgeOne build: 85 pages, 28 Pagefind pages, 8127 indexed terms, exit 0.