Changelog
Release history
Changelog
v1.0.7 (2026-07-05)
π± Mobile
- Fix: Instant image display on new memos. When you create a memo with images, the photos now render immediately from the local album URI instead of waiting for the server to serve them (which previously caused blank/broken thumbnails due to network + CORS latency). The grid tile shows the local asset right away, silently preloads the remote thumbnail in the background, and swaps to the remote URL the moment it finishes loading β so the image is always visible and the switch is seamless.
v1.0.6 (2026-06-22)
π± Mobile
- Fix: Deduplicated local push notifications. Repeated local notifications no longer stack up for the same event.
- Fix: Android install-package permission. Granted
REQUEST_INSTALL_PACKAGESso in-app update APK installation works without manual permission grants. - Fix: Update badge & progress bar alignment. The in-app update badge tap target and progress bar layout were corrected.
v1.0.5 (2026-06-15)
π± Mobile
- Fix: AI summary font size consistency. The non-editable AI summary title in history/revision pager views now matches the editable variant (
fontSize: 12). - New: Download image on long press. Long-press an image in full-screen preview to reveal a "Save to Gallery" button. Downloads the original quality image and saves it to your device's photo library. Requires photo library permission.
v1.0.4 (2026-06-13)
π₯ Dashboard
- Bot configuration management. Bot editing has been fully migrated from the mobile app to the Dashboard (
/bots). All bot fields β name, description, tags, auto-reply, avatar, and model β are now managed in one place. - Model override field. Added
modelfield to the bot editor, allowing per-bot model override (empty = use system default). - Activity refresh polish. Clicking refresh no longer flashes skeleton placeholders β the existing activity list stays visible while new data loads.
- Color contrast fix. Clean Slate theme: accent foreground text changed from near-black to white for readability on the green accent background.
π± Mobile
- Bot list is now read-only. Bot editing has been removed from Settings. The bot list displays name, avatar, tags, and auto-reply status with a compact pill badge (filled for Auto, outline for Manual).
v1.0.3 (2026-06-08)
π€ AI Diary Archive
- Memo images now reach the AI. The daily diary archive now sends memo images alongside text. Each memo gets its own AI message with its inline images, so the model can associate photos with the correct context. Budget: max 2 images per memo, 6 per diary.
- Overflow images described as text. When image limits are exceeded, remaining images get AI-generated text descriptions appended as context β no image vanishes silently.
- Persistent image descriptions. Uploaded images now receive an AI-generated description (
resources.ai_descriptioncolumn). The diary archive reuses these stored descriptions instead of calling the vision model redundantly.
π± Display
- High-Quality Images toggle. Settings β General. When on, memo card grids and full-screen previews show original-resolution images immediately β no thumbnails, no "View Original" step. When off, the original blur-to-clear LQIP flow is preserved. Persisted via on-device storage.
π€ Bot Editor
- FPS monitor for performance profiling
- Description editor
π Fixes
- Keyboard handling improvements in HomeScreen and BotEditor
- SafeKeyboardProvider edge cases
- Frame drops during keyboard toggle and fold transitions
v1.0.2 (2026-05-28)
β‘ Performance
- Keyboard lag fix β BotEditorSheet now uses
KeyboardAwareScrollView(UI-thread native animation) instead of JS-threadKeyboardAvoidingView, eliminating stutter on keyboard show/hide - Upgraded
react-native-keyboard-controllerfrom 1.18.5 to 1.21.8 β brings layout-free keyboard animations, memory leak fixes, and Fabric compatibility improvements - FullScreenEditor migrated from React Native's built-in
KeyboardAvoidingViewto keyboard-controller's native version
π Bug Fixes
- Fixed ArchiveDialog re-appearing unexpectedly when switching dates after a previous archive session (BottomSheetModal props-change re-present issue)
- Fixed archive date picker remaining interactive during selection mode β now properly disabled
- Fixed clear (X) button on date filter still clickable during archive selection
- Fixed Button component
styleprop not affecting layout (e.g.flex: 1in footer buttons) β style now correctly applies to the outer Pressable
π§ Refactors
- Extracted
SettingsSectionreusable component β all settings sections now share a unified collapsible pattern (icon + title + summary + badge + collapsible content) - About section redesigned to match other collapsible sections with version info, update status, and action button
- Added
useSafeKeyboardHandlerhook to safeProviders for Expo Go compatibility
π Localization
- Added new i18n keys:
version,updateStatus,installUpdate,checkUpdate(zh/en)
π± Other Mobile Improvements
- In-app update system via GitHub Releases (download progress, install prompt)
- New app icon and splash screen with brand refresh
- BootSplash integration for native splash screen
- Terminology update: "ε©ζ" β "Bot" across the app
- Full i18n migration to
react-i18next - Diary feature enhancements with new hooks and pager animations
- Retry mechanism with exponential backoff for async operations
- ProGuard rules plugin for Android release builds
π₯ Server
- Fixed embedding execution order β now runs before bot replies to ensure RAG anchor exists
- Replaced hardcoded
max_tokenswith config values in AI service calls - Added
user_idto resources table for ownership tracking
v1.0.1 (2026-05-22)
π¨ New Theme System
- Replaced old light/dark toggle with a theme picker β choose between Quiet Paper and Clean Slate
- New users pick a theme on first launch
- Theme preference is persisted across sessions
π Brand New Documentation Site
- Completely redesigned homepage and documentation layout
- Bilingual support (English / Chinese) with language switcher
- Full-text search across all documentation
- 18 new articles covering environment setup, FAQ, server deployment, troubleshooting, AI configuration, sync, admin panel, privacy, and database
π± Mobile App Improvements
- Search now debounces input for smoother experience
- AI summaries rendered with proper Markdown formatting (was plain text)
- Added animated transitions for mood backgrounds and bot replies
- Memo cards cleaned up β fewer action buttons, cleaner UI
- Expo Go compatibility restored (lazy-loaded native modules)
- Image loading reliability improved
π Security & Reliability
- Stricter CORS policy configurable via
ALLOWED_ORIGINSenvironment variable - Upload size limits enforced (files: 100MB, avatars: 10MB)
- Internal error details no longer leaked in API responses
- Path traversal protection for local file storage
- Resource deletion now verifies user ownership
ADMIN_PASSWORDnow required (no default fallback)- PostgreSQL port no longer exposed in docker-compose
β‘ Performance
- Optimized memo list loading β eliminated N+1 resource queries (server + offline)
- Batch diary fetching in sync service
- Lazy initialization of syntax highlighter (lowlight) and markdown parser
- Docker build layer caching improved
π Other
- CI pipeline streamlined (lint + typecheck + build β single check command)
- Added
scripts/fmt.shfor macOS formatting - Admin UI theme improvements
v1.0.0 (2026-05-16)
- Initial release
- Mobile app reset to v1.0.0