Files
q-blog/docs/RELEASE_NOTES_v0.3.0.md

44 lines
2.9 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
QBlog v0.3.0 — Enhancements and UX updates
Summary
- Image Lightbox: Click images inside posts to view them in a fullwindow overlay. Close the overlay by clicking anywhere or pressing Escape.
- ScrollToTop Button: A floating button appears when scrolled down; smoothly returns to the top.
- Bookmarks: Favorites is becoming Bookmarks. Your existing Favorites are automatically migrated to Bookmarks on first launch and cleared from legacy storage. Bookmarks support folders, sorting, and a dedicated management page at /bookmarks.
- Header/menu: The header now organizes features as: QBlog logo, search, notifications, a unified Main Menu (Create Blog/Post, My Blogs, view toggle, Subscriptions, Bookmarks, Blocked Names, QMail), and the Name selector (for switching names only). The Authenticate button is positioned next to the Menu for stable layout.
Developer Details
- New Components
- ImageLightbox overlay: src/components/common/ImageLightbox.tsx
- ScrollToTop FAB: src/components/common/ScrollToTop.tsx
- Bookmarks
- Redux slice: src/state/features/bookmarksSlice.ts (load, add, remove, set folder)
- Bookmarks page: src/pages/Bookmarks/Bookmarks.tsx with table, sorting, actions, and confirmation dialog
- Migration: src/utils/migrateFavoritesToBookmarks.ts (runs at startup in GlobalWrapper to import Favorites → Bookmarks)
- Wiring: store registration in src/state/store.ts, route added in src/App.tsx, Navbar menu entry
- Toggles: Post list cards, post page, and blog page share a canonical href key so bookmark state is consistent across views
- UI and A11Y
- Navbar: Single “Menu” entry consolidates actions; Name menu focuses on switching only
- Authenticate button placed to the right of Menu to avoid layout jumps when authenticating
- ResponsiveImage passes alt to the underlying image for a11y
- Tests Added/Updated
- tests/features/ImageOverlay.test.tsx: Lightbox opens on image click
- tests/components/ScrollToTop.test.tsx: Button appears after scrolling
- tests/pages/Bookmarks.test.tsx: Bookmark save and list presence
- tests/components/Navbar.multiblog.test.tsx: Updated to open the Main Menu and assert menu items
- Total tests: 33 test files exercising routes, components, features (feed, wiki canonicalization, subscriptions, posting flows), a11y basics, and the new features above
Upgrade Notes
- Favorites is becoming Bookmarks: On first launch, the app migrates Favorites to Bookmarks automatically and removes the old entries from LocalForage. No manual steps required.
- No breaking changes to APIs.
QA Checklist
- Lightbox renders and closes cleanly on click
- Scroll to top button shows after scrolling and hides at top
- Bookmark icons are in sync across list, post page, and blog page views
- Bookmarks table loads metadata (Updated) per item and shows a spinner until available
- My Blogs section expands/collapses on click in the Main Menu