Releases
v1.0.0
Compare
Sorry, something went wrong.
No results found
Features
replace theme grid with compact preview + list selector
add dark rounded background to app icons
regenerate all app and tray icons from new logos
add context menu with copy title/content to notification cards
auto-mark notifications as read for muted topics
add notification deletion with optional remote delete and animated UI
add comprehensive error handling with toast notifications
add image preview route component
hide to system tray on minimize when minimize_to_tray is enabled
add image-preview window capability and route
add attachment availability check with unavailable state
migrate from rusqlite to Diesel ORM
add LazyImage component for deferred image loading
add notification sound setting
add compact view mode for notifications
add notification expanded state persistence
add reusable components and utilities
Bug Fixes
validate URL in image-preview route
downgrade credential logging to debug level
propagate errors in create_subscription server insert
add rehype-sanitize to prevent XSS in markdown content
sanitize Diesel error messages sent to frontend
use url::Url for WebSocket URL building
remove password column from schema
add try-catch guards to localStorage theme operations
resolve unused variable lint warnings and enable unsafe biome fixes
log JSON parse errors in JsonVec deserialization
prevent infinite loop on connection setup failures
wrap multi-step operations in transactions
enable SQLite foreign key constraints
add comprehensive error handling for image preview window
preserve notification collapse state across app restarts
run Rust linting on Windows and improve pre-commit hook
add fetch-depth for changelog generation
Performance
replace lucide-react barrel imports with direct path imports
extract noop and reuse stable callback for UpdateToast
memoize Header component
read previewErrors via ref in handleImageClick callback
stabilize onOpenSettings/onAddSubscription callbacks
cache localStorage reads for theme preferences
defer currentTopicId read in handleMarkAllAsRead via ref
narrow loadNotifications effect dependency to subscription IDs
pass stable onExpandedChange callback to NotificationCard
pass stable callbacks to SidebarTopicItem to preserve memo
hoist static ReactMarkdown config to module scope in MarkdownContent
use counting loop for unreadCount in NotificationList
use Map index for O(1) theme lookup in getThemeById
deduplicate totalUnread computation and use single-pass loop
memoize AppContext provider value object
memoize ThemeProvider context value and callbacks
replace lucide-react barrel imports with direct path imports
fix double getInitialState() call in ThemeProvider
replace filter().length with counting loops in unread counts
add reverse index for O(1) notification-to-topic lookup
add content-visibility for notification list items
memoize AppLayout, SidebarTopicList, and unreadCount
lazy load SettingsDialog to code-split settings UI
replace barrel imports with direct imports
lazy load MarkdownContent to code-split react-markdown
spawn notification display as background task
optimize N+1 queries in subscription lookups
add in-memory cache to reduce OS keychain access
Refactor
extract duplicated subscription SQL to constant
use toSorted() for immutable notification sorting
simplify release changelog to use git log and gh CLI
add granular settings queries to avoid unnecessary credential lookups
remove unnecessary 100ms sleep
reorganize BehaviorTab layout
improve notification components
Documentation
rewrite feature list and fix formatting
document sync Mutex design trade-off in async context
Miscellaneous
import sorting
remove unused test dependencies
remove unused web-vitals
remove unused @radix-ui/react-avatar
move @radix-ui/react-collapsible to ui package
remove CHANGELOG.md and update script reference
bump version to 1.0.0
update Cargo.lock and apply rustfmt formatting
remove unused r2d2 feature from diesel
update dependencies and add react-collapsible
release 0.7.0
add red logo variant
update .gitignore with IDE and system files
You can’t perform that action at this time.