Expose comment mail global config fields in the frontend composable and admin config page so admins can view and save notification mail settings.
Made-with: Cursor
Apply trim/blank-to-empty normalization for comment email/smtp global keys in setGlobalConfigValue, and replace registry test casts with KnownConfigKey-safe assertions plus normalization coverage.
Made-with: Cursor
- Updated package.json to specify exact versions for several dependencies and devDependencies, ensuring consistent installations across environments.
- Added log configuration options for maximum log size and backup retention in the logger module.
This update enhances dependency management and logging configuration.
- Revised the README to specify that the application currently only supports SQLite for the database.
- Removed the 'unlisted' option from the profile settings in the Vue component to streamline choices.
This update improves clarity in deployment instructions and user options.
- Added SCSS support with new global and common stylesheets.
- Introduced markdown styling for enhanced content presentation.
- Implemented a `usePageTitle` composable for dynamic document title management across various pages.
- Updated multiple pages to utilize the new title management system, improving SEO and user experience.
This update enhances the overall styling and usability of the application.
- Added constants for common cloud probe paths and prefixes.
- Introduced middleware to handle cloud probe requests with appropriate cache control headers.
- Updated Nuxt configuration to include route rules for cloud probe paths.
This enhances the application's ability to respond to health checks from various cloud platforms.
- Introduced user notes for media assets, allowing admins and users to add descriptions.
- Enhanced media asset listing with reference contexts, providing links to related content.
- Updated API endpoints to support note saving and retrieval.
- Modified database schema to include user notes and related fields.
- Improved search functionality to include user notes in media asset queries.
Made-with: Cursor
- Introduced new types for audit rows and reference details to improve data structure.
- Updated the media storage audit logic to include references for each asset, allowing for better tracking of media usage.
- Enhanced UI to display reference sources for media assets, clarifying the relationship between assets and their references.
- Improved cleanup descriptions and toast messages for better user understanding of actions taken.
Made-with: Cursor
- Added a custom JSON error handler to improve error responses in Nitro.
- Introduced utility functions to determine JSON request types and normalize error messages.
- Updated Nuxt configuration to utilize the new error handler.
Made-with: Cursor
- Added ImageCropModal component for cropping images before upload.
- Updated profile page to handle image cropping for avatar and header icon.
- Included vue-advanced-cropper as a dependency in package.json and bun.lock.
Made-with: Cursor
- Schema + migration 0007 rebuild users table with discover_visible DEFAULT true
- Profile form initial state matches (checkbox pre-checked before load)
- Journal when for 0007 set after 0006 so drizzle-kit migrate applies it
- Spec: document default opt-in
Made-with: Cursor
Drizzle SQLite migrator only runs files whose journal "when" is greater
than the latest row in __drizzle_migrations; 0006 was generated with a
smaller timestamp than 0005 and was silently skipped.
Made-with: Cursor