Add ReaderLayout and ShowcaseLayout components to enhance the public profile page, allowing for modular display of posts, timeline, and reading sections. This change establishes a unified navigation hub, improving user experience with structured content previews and consistent API handling.
Made-with: Cursor
- Updated SCSS for dark mode to use `:where()` for better specificity in styling `.markdown-body`.
- Added transparent background to highlighted code blocks in dark mode.
- Removed unnecessary navigation buttons from various pages to streamline the user interface.
- Introduced a new post preview page to allow users to view posts before publishing, with visibility handling for different post states.
These changes improve the visual consistency in dark mode and enhance the user experience when managing posts.
Add a plugin to enhance toast notifications with an autoclose fallback mechanism, ensuring that notifications are removed after a specified duration. This includes handling timers for toast removal and preventing duplicate plugin application.
Made-with: Cursor
Add full export bundle download, auto-expire missing artifacts on task refresh, and provide task deletion actions in both API and export center UI.
Made-with: Cursor
Introduce user export task persistence with schema exports and migration metadata so export jobs can be queued, tracked, and evolved safely.
Made-with: Cursor
- Added card density options (compact and detailed) in the media page for improved layout flexibility.
- Introduced reading mode in the RSS page, allowing users to navigate through items with next/previous controls.
- Implemented visibility filtering in the timeline, enabling users to filter events based on visibility settings.
- Enhanced the event creation form with improved validation and quick submission functionality.
These updates improve user experience by providing more control over content display and interaction.
- Changed asset paths from `/public/assets` to `/public/upload` across various files to ensure consistency in media storage.
- Introduced visibility handling for posts, allowing for better control over comment visibility based on post status.
- Enhanced markdown export functionality with new utilities for exporting unlisted posts and normalizing image URLs.
- Updated tests to reflect changes in asset paths and visibility logic.
These updates improve the overall media management and user experience in handling post visibility and markdown exports.
- Updated SCSS styles for markdown elements, improving visual consistency and readability.
- Enhanced the appearance of code blocks with new background colors, borders, and shadows.
- Introduced responsive design adjustments for better mobile compatibility.
- Added new styles for headings, links, and blockquotes to improve overall aesthetics.
These changes significantly enhance the user experience when interacting with markdown content, making it more visually appealing and easier to read.
- Added highlight.js for improved syntax highlighting in markdown code blocks.
- Updated markdown rendering configuration to support language-specific highlighting.
- Introduced a new SCSS file for styling highlighted code blocks, enhancing visual presentation.
- Implemented a copy button functionality for code blocks to improve usability.
These changes significantly enhance the markdown rendering experience, making code snippets more readable and interactive.
- Added commented-out styles for code blocks to enhance presentation and usability.
- Updated markdown configuration to disable HTML rendering for improved security.
- Introduced a function to handle path not found errors in the error logger for better error management.
These changes prepare the codebase for future enhancements in markdown rendering and error handling.
- Changed markdown background to transparent for better integration with surrounding elements.
- Enhanced the appearance of markdown code blocks with rounded corners, padding, and box shadows for improved readability.
- Updated font family for code elements to ensure consistency and better aesthetics.
- Commented out submit buttons in post creation and editing forms for future implementation.
These changes refine the visual presentation of markdown content and prepare the UI for upcoming features.
- Updated the layout of the admin configuration and user profile pages for better visual appeal and usability.
- Introduced rounded borders and background enhancements for containers and cards.
- Improved text visibility with highlighted styles and added informative descriptions.
- Consolidated action buttons into sticky footers for easier access to save functionality.
- Removed redundant elements and streamlined the form structure for a cleaner interface.
This update significantly enhances the user experience by providing a more modern and intuitive design.
- Added `ensureClientMeSynced` function to synchronize client session with server, improving user experience by reducing unnecessary API calls.
- Updated `AppShell`, `public.vue`, and other components to utilize the new synchronization method instead of the previous refresh mechanism.
- Introduced a new API endpoint for session handling, ensuring consistent user state across client and server.
- Refactored `useAuthSession` to manage client session state more effectively, enhancing overall authentication flow.
This update streamlines the authentication process and enhances the reliability of user session management.
- Introduced `GuestHomeSection` and `LoggedInHomeSection` components to provide tailored content for guests and logged-in users.
- Added a quick create button for logged-in users to facilitate easy post creation.
- Updated the AppShell component to include computed properties for visibility of the quick create button based on user login status.
- Refactored the main index page to utilize the new components, improving the overall layout and user engagement.
- Implemented a new utility function for normalizing post slugs to ensure consistent URL formatting.
This update significantly enhances the homepage experience for both guests and registered users, promoting user interaction and content creation.
- Added TypeScript definitions for nodemailer to improve type safety in email handling.
- Refactored comment email test handler to utilize a dedicated logger for better error tracking and debugging.
- Simplified email configuration retrieval by consolidating it into a single object for clarity and maintainability.
This update enhances the email notification system's robustness and developer experience.
Extend post comment schema and sqlite migration metadata to persist optional guest email and an explicit anonymous flag for upcoming guest comment flows.
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
- Changed DATABASE_URL in .env.example to use SQLite file.
- Modified refresh function calls in AppShell.vue and public.vue to remove unnecessary parameter.
- Enhanced run.sh to include seeding script execution.
- Improved seed.js to ensure proper SQLite file path resolution and directory creation.
- Introduced db-bun.ts for Bun compatibility with SQLite.
- Updated db.ts to handle better-sqlite3 integration and path management.
- Adjusted paths.ts to ensure reliable package root resolution for production.
- Added site name configuration to global settings.
- Improved public home layout with dynamic header and navigation.
- Introduced detailed view for posts and timeline with visibility controls.
- Implemented admin interface for site configuration management.
- Enhanced user experience with responsive design adjustments and improved loading states.
Enhance the environment configuration for the SQLite database by adjusting the handling of the DATABASE_URL to ensure correct file path resolution based on the NODE_ENV variable. Modify the temporary working directory logic to correctly set paths for both production and development environments, improving overall path management.
Modify the temporary working directory path in the SQLite database configuration to dynamically set the current working directory based on the NODE_ENV variable. This change ensures that the application uses the correct path in both production and development environments.
Transition the database from PostgreSQL to SQLite, updating migration files, database connection settings, and schema definitions accordingly. Adjust package dependencies to reflect the new database type and ensure compatibility. Remove obsolete migration files and snapshots related to PostgreSQL. Enhance error handling in authentication and configuration services to accommodate the new database structure.
Add new database tables for global and user configurations, along with corresponding migration files. Introduce API endpoints for managing configuration values, including retrieval and updates. Enhance authentication context to support configuration access, and implement error handling for configuration-related operations.
Implement the username-password register and login flow with cookie-backed sessions, auth APIs, and login/register pages. Include the supporting auth schema, migration files, service validation fixes, and planning/design docs for the scoped delivery.
Made-with: Cursor
fix: change dotenv config path to use .env file
feat: add usersTable schema for authentication
fix: update seed file to import usersTable from the correct path
feat: add 404 handler for non-existent API routes
feat: implement file upload API with multer
refactor: remove deprecated health check endpoint
feat: add hello endpoint returning static user data
refactor: remove old hello endpoint implementation
feat: add random image selection API with multiple sources
feat: create public file serving middleware with caching
refactor: update response handler utility for better error handling