- Added a new event for content changes in the Quick Note Editor to improve synchronization with the modal state.
- Implemented mobile viewport detection to adjust the editor's behavior and layout accordingly.
- Updated the Quick Note Modal to handle editor content changes and improve resizing logic based on viewport size.
- Introduced cache control headers for the Vditor route to optimize performance.
These changes enhance the user experience by ensuring better content management and responsiveness in the Quick Note feature.
Introduce a lightweight quick note flow with draggable/resizable modal editor, unsaved-change protection, and per-user backend storage APIs backed by a dedicated quick_notes schema.
Made-with: Cursor
- Updated the Vditor configuration to support real-time rendering and improved upload handling with error management.
- Introduced a new post preview draft feature, allowing users to preview posts in a new window before publishing.
- Enhanced the user interface for mobile responsiveness and added utility functions for managing post preview drafts.
These changes improve the markdown editing experience and streamline the post creation workflow.
- Introduced a new configuration option `showDiscoverInHeaderForGuest` to control the visibility of the "Discover" navigation link for guests.
- Updated the AppShell component to conditionally render the "Discover" link based on the user's login status and the new config option.
- Modified global configuration handling to include the new option, ensuring it is fetched and saved correctly.
- Enhanced middleware to allow guest access to the "Discover" route if the new config option is enabled.
These changes improve the user experience by providing guests with access to discover content while maintaining control over navigation visibility.
- 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.
- 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.
Introduce a new error handling component to display user-friendly error messages based on HTTP status codes. Implement global configuration management to control registration availability across the application. Update various components and pages to utilize the new configuration, ensuring consistent behavior for registration links and error handling. Enhance middleware to bypass authentication for specific paths and improve overall user experience.
Introduce a new AppShell component to encapsulate the main application layout, including header, footer, and menu items. Refactor existing layouts (default and not-login) to utilize the new AppShell component, enhancing code reusability and maintainability. Update the blank layout for a simplified structure. Modify index, login, and register pages for consistent styling and improved user experience.
Add a unified authentication session composable to manage user state and session handling. Implement global route middleware for access control, ensuring protected routes require authentication. Introduce utility functions for route validation and safe redirect handling. Update login and registration pages to support new authentication flow and redirect logic. Enhance homepage rendering based on user authentication status.