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

37 lines
1.7 KiB
Markdown

# 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 <Name> · <relative time>”.
- 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.