MosaicπŸ“”

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_PACKAGES so 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 model field 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_description column). 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-thread KeyboardAvoidingView, eliminating stutter on keyboard show/hide
  • Upgraded react-native-keyboard-controller from 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 KeyboardAvoidingView to 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 style prop not affecting layout (e.g. flex: 1 in footer buttons) β€” style now correctly applies to the outer Pressable

πŸ”§ Refactors

  • Extracted SettingsSection reusable 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 useSafeKeyboardHandler hook 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_tokens with config values in AI service calls
  • Added user_id to 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_ORIGINS environment 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_PASSWORD now 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.sh for macOS formatting
  • Admin UI theme improvements

v1.0.0 (2026-05-16)

  • Initial release
  • Mobile app reset to v1.0.0

On this page