- Introduced a new debug step in the .drone.yml file to output the current PATH, user, and locations of Node.js and PM2.
- This addition aims to assist in troubleshooting deployment issues by providing visibility into the environment configuration during the CI/CD process.
- Set the HOME environment variable to /root to prevent path expansion issues for npm and bun.
- Replaced the previous PM2 command handling with direct commands to streamline the application lifecycle management for nuxt4-demo.
- Sourced nvm to ensure the correct Node.js version is used during deployment.
These changes enhance the reliability of the deployment process by improving environment configuration and command execution.
- Replaced direct PM2 commands with a function to check for PM2 or npx availability, enhancing error handling and flexibility.
- Updated the deployment script in .drone.yml to set the PATH correctly, ensuring that npm global binaries are accessible.
- This refactor streamlines the application lifecycle management for the nuxt4-demo, improving the robustness of the deployment process.
- Added new environment variables in .drone.yml for database and media management, improving security and flexibility during deployment.
- Included PM2 commands to manage the application lifecycle, ensuring proper start, stop, and delete operations for the nuxt4-demo application.
- Updated package.json to streamline the database copy command by removing unnecessary file operations.
These changes enhance the deployment process by improving environment management and application control.
- Updated the .drone.yml file to include GIT_SSH_HOST and GIT_SSH_PORT variables for improved SSH handling.
- Refined the SSH key scanning and command execution to ensure compatibility with the specified remote host and port.
- These changes enhance the reliability of the deployment process by ensuring proper SSH configuration and host verification.
- Changed the GIT_REMOTE URL in the .drone.yml file to use a new SSH format for improved access to the repository.
- This update ensures that the deployment process can connect to the correct remote repository, enhancing the reliability of the CI/CD pipeline.
These changes refine the deployment configuration, ensuring proper repository access during the deployment process.
- Changed the trigger branch from 'deploy' to 'test' in the .drone.yml configuration.
- This adjustment aligns the pipeline with the new testing strategy, ensuring that the CI/CD process is initiated on the correct branch.
These changes enhance the deployment workflow by refining the branch trigger for testing purposes.
- Introduced a new .drone.yml file to define the deployment pipeline, enhancing the CI/CD process.
- Updated the deployment script in package.json to reference the correct script for Gitea.
- Refined the deployment logic in the existing .drone.prod.yml and .drone.yml files to improve repository management and SSH handling.
- Enhanced environment variable management for better security and reliability during deployment.
These changes establish a more structured and efficient deployment pipeline, improving automation and security in the CI/CD workflow.
- Disabled the cloning step to optimize the deployment process.
- Changed the trigger branch from 'deploy-branch' to 'deploy' for better alignment with deployment strategy.
- Refined environment variables to focus on SSH key management, enhancing security during deployment.
- Updated commands to set up SSH configuration, improving connection reliability.
These changes streamline the deployment workflow and enhance security measures in the CI/CD pipeline.
- Disabled the cloning step to optimize the deployment process.
- Changed the trigger branch from 'deploy-branch' to 'deploy' for better alignment with deployment strategy.
- Refactored environment variables to focus on SSH key management, enhancing security during deployment.
- Added commands for setting up SSH keys and known hosts, improving connection reliability.
These changes streamline the deployment workflow and enhance security measures in the CI/CD pipeline.
- Added a step to copy the .drone.yml configuration file to the temporary distribution directory during the deployment process.
- This change ensures that the necessary Drone configuration is included with the deployment artifacts, improving the deployment workflow.
- Introduced a new Drone CI/CD pipeline configuration file to manage deployment processes.
- Set up environment variables for database and static directory management, enhancing security by using secrets.
- Implemented commands for managing the project directory and controlling the PM2 process during deployment.
These changes establish a structured deployment pipeline, improving the automation and reliability of the deployment process.
- Removed the existing Drone configuration from the root directory and added a new configuration file in the scripts directory to better organize deployment scripts.
- Updated the deployment command in package.json to copy the new Drone configuration file during the build process.
- Adjusted the trigger branch for the deployment pipeline to 'deploy-branch' to align with the new deployment strategy.
These changes improve the structure of the project and streamline the deployment process.
- Updated the deployment logic in the Drone configuration to streamline the handling of the repository directory.
- Enhanced the cloning and fetching process to ensure the correct branch is checked out while removing the existing directory if it does not contain a valid git repository.
These changes improve the reliability and efficiency of the CI/CD deployment process.
- Refactored the SSH command in the Drone configuration to use a variable for options, enhancing readability and maintainability.
- Updated the cloning and pulling logic to ensure the correct branch is used and added error handling for stopping and starting the PM2 process.
These changes streamline the deployment process and improve the robustness of the CI/CD pipeline.
- Updated the SSH command in the Drone configuration to include additional options for improved connection stability and security.
- Modified the cloning logic to use a shallow clone and added error handling for the SSH connection, ensuring a more robust deployment process.
These changes optimize the deployment workflow by enhancing SSH configurations and improving the handling of project cloning.
- Disabled the cloning step in the Drone configuration to streamline the deployment process.
- Set the HOME environment variable to /root to ensure proper SSH key handling during deployment.
These changes enhance the deployment workflow by optimizing the CI/CD pipeline configuration.
- Updated the SSH command in the Drone configuration to include host key verification options, improving security during the deployment process.
- Changed the branch for cloning and pulling from 'deploy-branch' to 'main' to align with the current deployment strategy.
These changes ensure a more secure and streamlined deployment workflow.
- Changed the trigger branch for the CI/CD pipeline in the Drone configuration to 'main' to align with the primary development workflow.
This update ensures that deployments are now triggered from the main branch, streamlining the deployment process.
- Introduced a new Drone CI/CD pipeline configuration for automated deployment on the 'deploy-branch'.
- Created a deployment script that builds the project, manages temporary directories, and handles git operations for pushing build artifacts.
- Updated the .env.example file to reflect new environment variable configurations for deployment.
- Enhanced .gitignore to include temporary distribution files.
These changes streamline the deployment process and improve project management for production releases.
- 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
- Introduced a new optional callback for editor readiness in the markdown editor configuration, allowing for better integration with the component lifecycle.
- Implemented a fallback timer to manage the editor's readiness state, ensuring it reflects visibility accurately.
- Enhanced the component to check for the editor's visibility before marking it as ready, improving user experience during initialization.
These changes enhance the responsiveness and reliability of the markdown editor, providing clearer feedback on its loading state.
- Updated the image upload handler to prevent conflicts when the input and output paths are the same, particularly for webp images.
- Introduced a temporary output path for converted images, ensuring the original file is preserved during processing.
- Enhanced error handling to clean up temporary files and maintain the integrity of the final output.
These changes improve the reliability of the image upload process and prevent potential file overwrites.
- Introduced a loading overlay that displays while the markdown editor is being initialized, enhancing user experience during the loading phase.
- Added a reactive property to manage the editor's readiness state, ensuring the UI reflects the editor's status accurately.
- Updated the component structure to accommodate the new loading state, improving visual feedback for users.
These changes improve the usability of the markdown editor by providing clear indications of its loading status.
- Introduced new utility functions to ensure relative directory paths and prevent unsafe segments in environment variables for static and media directories.
- Updated the STATIC_DIR, MEDIA_UPLOAD_SUBDIR, and RELATIVE_TMP_DIR exports to utilize these new functions, improving error handling and validation.
- Adjusted POST_MEDIA_PUBLIC_PREFIX to align with the new static directory structure.
These changes improve the robustness of media and static asset management, ensuring safer and more consistent directory configurations.
- Removed redundant state for available tags and replaced it with a computed property that consolidates tags from API and post items.
- Enhanced the tag filtering UI by maintaining the existing structure while improving the logic for tag selection and clearing.
- Updated the posts page to ensure consistent tag management across user and public views.
These changes improve the efficiency of tag management and enhance the user experience in filtering posts by tags.
- Added components for tag input and display, allowing users to create and manage tags for posts.
- Implemented backend support for tag persistence and filtering in post lists, enabling OR/AND logic for tag-based queries.
- Updated various pages and components to integrate tag functionality, including post creation, editing, and display in lists.
- Enhanced database schema to support tags and their relationships with posts.
These changes provide a comprehensive tagging system that improves content organization and discoverability across the application.
Define a unified design for mixed-mode post tags and backend URL-persistent filtering across all post list pages, including OR/AND semantics, data model migration, API contracts, and rollout/testing strategy.
Made-with: Cursor
- Introduced a new script `mv-env.sh` to manage environment variable files, copying `.env.prod` if it exists, otherwise falling back to `.env.example`.
- Updated the `cp:db` command in `package.json` to utilize the new script for improved environment configuration handling.
These changes enhance the project's environment setup process, ensuring the correct environment variables are used during deployment.
- Introduced a new function to open export downloads in a new tab, improving user experience for task downloads.
- Updated the export job service to use more precise checks for task expiration, enhancing reliability.
- Modified the .gitignore to include temporary files, ensuring a cleaner project structure.
These changes streamline the export process and improve the management of temporary files.
- Added environment variables to control the maximum number of running and queued export tasks, as well as the maximum retained bytes for exports.
- Implemented logic in the export job service to enforce these limits, providing appropriate error messages when limits are exceeded.
- Enhanced the export task creation process to ensure better resource management and prevent server overload.
These changes improve the stability and reliability of the export functionality by managing task concurrency and resource usage.
- Updated the media upload process to store files in the new `static/media` directory instead of `public/upload`.
- Adjusted related components and tests to reflect the new media URL structure, ensuring all references to media assets are consistent with the new path.
- Enhanced the environment configuration to support dynamic directory settings for media uploads and static assets.
- Improved documentation to outline the changes in media asset management and URL handling.
These changes streamline media management and improve the organization of static assets within the project.
- 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.
Record the task-by-task implementation plan for migrating editable markdown inputs to Vditor with desktop/mobile behavior and verification steps.
Made-with: Cursor
Replace md-editor-v3 in the post markdown editor with Vditor, preserving v-model and upload flow while adding responsive desktop/mobile configuration and stability tests for init, sync, and viewport remount behavior.
Made-with: Cursor
Document the approved design to replace editable markdown inputs with Vditor, including PC/mobile behavior, scope boundaries, and acceptance criteria.
Made-with: Cursor
- 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 pagination functionality to the users and posts management pages, allowing for better navigation through large datasets.
- Updated API endpoints to support pagination parameters and return total counts for users and posts.
- Introduced a reusable pagination component to enhance user experience and streamline page transitions.
These changes improve the overall usability of the admin interface by enabling efficient data handling and display.
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
Unify public profile aggregation and route canonical handling so the home page acts as a navigation hub with consistent public-only counts, safer external links, and backward-compatible API fields.
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
Create the me export center page with task controls and expose API usage guidance so users can launch and track data export from the dashboard.
Made-with: Cursor