Files
q-blog/docs/RELEASE_NOTES_v0.1.1.md
greenflame089 0b100af686 Release v0.2.2
2025-08-22 07:28:42 -04:00

1.7 KiB

Q-Blog v0.1.1 — Wiki Mode Integration, Canonicalization, and Perf

Date: 2025-08-22

Highlights

  • Wiki Mode settings in Create + Edit Blog modals (checkbox + whitelist/blacklist).
  • Canonical resolver wired into Post, Blog page, Global feed, Subscriptions, and Favorites.
  • Attribution on Post page: “Latest by · ”.
  • Header “My Blogs” switcher seeds blog context for immediate list refresh.
  • Performance: settings read from BLOG metadata when available; per-page parallel prefetch for duplicate identifiers; singletons skip canonicalization.

Details

  • Data model: BLOG JSON and metadata now include wikiEnabled, editorWhitelist, editorBlacklist.
  • Resolver logic (src/utils/wiki.ts): Owner always allowed; blacklist > whitelist > global allow; newest wins with owner/id tiebreakers.
  • Caching (src/utils/wikiSettingsCache.ts): Reads from metadata; fetches BLOG JSON only when fields are missing.
  • Lists (src/hooks/useFetchPosts.tsx):
    • Global feed and Subscriptions canonicalize per identifier across Names.
    • Favorites canonicalizes per identifier across Names.
    • Prefetches settings for blogs with duplicates in parallel; singles are fast-pathed.

Fixes

  • Edit modal now correctly pre-fills the wiki checkbox and lists.
  • Blog page refreshes the posts list reliably when switching blogs in the header.

Testing

  • New tests for resolver, cache, blog/post pages, and Favorites canonicalization.
  • MSW defaults prevent unhandled network calls in tests.

Notes

  • Backwards compatible: legacy blogs behave unchanged until wiki is enabled.
  • Further perf options: optimistic list render and concurrency caps are available if desired.