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

1.8 KiB
Raw Permalink Blame History

Q-Blog v0.2.0 — Wiki Mode Canonical Selection

Date: 2025-08-22

Highlights

  • Wiki Mode canonical selection: When multiple authors publish the same BLOG_POST identifier, the app now selects a single canonical revision to display based on blog settings.
  • Per-blog settings cache: Efficiently resolves each blogs owner and wiki settings (wikiEnabled, editorWhitelist, editorBlacklist).
  • Favorites and Subscriptions respect wiki mode: Lists deduplicate by identifier across names and pick the canonical author.
  • Individual post view resolves canonical author when wiki is enabled before fetching content JSON.
  • UI: Navbar search/filter and persistent Tile/List view toggle. Notifications consolidated in one place.
  • Quality: Accessibility tests and stronger utility/unit coverage; minor code cleanup and worker URL fix.

Canonical selection rules

  • Owner is always allowed (cannot be blocked by blacklist).
  • Blacklist disallows others even if whitelisted; whitelist gates non-owners if non-empty.
  • Among authorized authors: pick latest by updatedAt/qdnUpdated; owner wins ties; otherwise lowest id as last tiebreaker.

Implementation notes

  • utils/wiki.ts implements isAuthorized, canEdit, and selectCanonical.
  • utils/wikiSettingsCache.ts caches per-blog owner/settings, preferring metadata when available.
  • hooks/useFetchPosts.tsx canonicalizes search results for feed, favorites, and subscriptions.
  • pages/BlogIndividualPost/BlogIndividualPost.tsx selects the canonical author for the requested post.

Breaking changes

  • None. Existing identifiers and endpoints are unchanged.

Fixes & cleanup

  • Removed an unused web worker and fixed a BLOG_POST worker URL.
  • Removed redundant local helper where a shared util exists.

Upgrade notes

  • No migration steps required. Deploy as usual; v0.2.0 is compatible with prior data.