- Added @ai-sdk/openai dependency to package.json and bun.lock
- Implemented chat index endpoint to handle user messages and stream responses from OpenAI
- Created models endpoint to retrieve active LLM providers and their models for the authenticated user
- Updated drizzle-pkg database with a new SQLite file
- Implemented GET, POST, PUT, and DELETE endpoints for managing LLM models and providers.
- Added user authorization checks to ensure only authorized users can access or modify resources.
- Enhanced provider and model retrieval functions to include user-specific data.
- Updated database service functions to handle user IDs for better data isolation.
- Introduced error handling for invalid inputs and unauthorized actions.
- Implemented GET, POST, PUT, DELETE endpoints for LLM providers and models.
- Added validation for provider and model IDs.
- Introduced functions to list, create, update, and delete providers and models in the service layer.
- Enhanced error handling for invalid inputs and non-existent resources.
- Updated database schema to include new provider and model management features.
- Added new API endpoints for project management: create, read, update, and delete projects.
- Implemented pagination for listing projects.
- Introduced siteIcon configuration in global settings.
- Updated file upload to support additional image formats (ICO, SVG).
- Enhanced validation for project input data.
- Implemented GET endpoint for listing ideas with pagination.
- Implemented POST endpoint for creating new ideas with validation.
- Added service functions for listing and creating ideas, including random color assignment.
- Created database schema for ideas in the migration files.
- Updated migration journal to reflect new versioning and changes.
- Add ChatWidget component for real-time chat functionality, including unread message notifications and @mention toasts.
- Create useChat composable for managing chat messages and SSE connections.
- Update index page layout to welcome users.
- Define API routes for fetching chat messages, sending messages, and managing unread counts.
- Implement chat message storage in SQLite with necessary migrations.
- Add server-side logic for handling chat message broadcasting and user connection tracking.
- Ensure chat messages are persisted across server restarts and implement rate limiting for message sending.
- Introduced new API endpoints for managing SMTP email configuration (GET, PUT, POST).
- Implemented email sending functionality using Nodemailer.
- Added middleware to require admin permissions for accessing admin routes.
- Updated admin sidebar navigation to conditionally display items based on admin role.
- Created a new email configuration page in the admin panel with form validation and test functionality.
- Masked sensitive information in API responses.
- Enhanced scheduler execution and task management APIs to require admin permissions.
- Added a new JSON file for desktop topic titles.
- Added a new `content` field to the `cards` table in the database.
- Updated the card creation and update schemas to include the `content` field.
- Modified the card service to handle the new `content` field in create and update operations.
- Enhanced search functionality to include the `content` field.
- Updated migrations to reflect the addition of the `content` field in the database schema.
- Added the `marked` package for potential markdown processing in the content field.
- Increased line clamping in WaterfallCard.vue, WaterfallImageCard.vue, WaterfallPortfolioCard.vue, WaterfallProjectCard.vue, and WaterfallTextCard.vue to enhance text visibility.
- Adjusted padding in WaterfallProjectCard.vue and WaterfallImageCard.vue for better layout.
- Enhanced drag-and-drop functionality in collect/index.vue with a blurred ghost clone effect during drag.
- Modified column width and gap settings for responsive design in collect/index.vue.
- Updated detail modal handling to support expanded view in collect/index.vue.
- General CSS adjustments for improved spacing and layout consistency across components.
- Implemented CRUD operations for articles including create, read, update, and delete functionalities.
- Added validation for article input data using Zod.
- Introduced caching mechanisms to clear related card caches upon article updates and deletions.
- Enhanced card schema to include article associations.
- Updated favorite and card listing services to include associated articles.
- Added new migration for articles.
- Updated package.json to include ByteMD dependencies.
- Created MdEditor component with Vue integration for ByteMD.
- Implemented tests for MdEditor and ByteMD plugin imports.
- Added styles for MdEditor to enhance UI.
- Updated component index to export MdEditor.
- Added image upload functionality in MdEditor.
- Updated database and added a new image file for uploads.
- Implemented a new `favorites` table in the database schema to store user favorites.
- Added API endpoint to toggle favorite status for cards.
- Enhanced card listing to include favorited status for the current user.
- Created service functions to manage favorites, including toggling and listing favorites.
- Updated migrations to include the new `favorites` table and its associated indexes.
- Added endpoints for creating, updating, retrieving, and deleting cards.
- Implemented validation for card creation and updates using Zod.
- Introduced caching mechanisms for card and category retrieval.
- Created endpoints for managing categories with validation and caching.
- Developed tag management endpoints with validation and caching.
- Added tools management endpoints for CRUD operations.
- Enhanced error handling for unique constraint violations in the error logger.
- Implemented utility functions for validation and error formatting.
Implement mobile-first responsive layout for the homepage per DESIGN.md.
bolt-ui:
- Add Drawer component (SSR-safe, keydown, theme styles)
- Add useMediaQuery composable
- Document both in bolt-ui README
index page:
- Sidebar switches between rail (desktop) and drawer (mobile) modes
- Three-row mobile header with drawer trigger
- Breakpoints aligned with DESIGN.md
- Mobile-first masonry column defaults (no flash on mobile refresh)
docs:
- Add homepage mobile adaptation design spec
- Add implementation plan and self-review notes
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
- Added CategoryTreeNode component to display hierarchical categories with expand/collapse functionality.
- Introduced ContextMenu component for right-click actions on categories, including add, rename, and delete options.
- Developed LeftSidebar component to integrate tools and categories, enhancing user navigation experience.
- Created home layout to structure the main application view with a top navigation bar and content area.
- Updated about page with dialog testing examples and improved UI for toast notifications.
- Enhanced index page with dynamic category management and responsive design for better usability.
- Added Google login functionality to the registration page.
- Updated the login and registration forms with a new layout and branding elements.
- Improved user experience with loading states and form validation.
- Removed unused background elements for a cleaner design.
feat: implement new authentication guard middleware for API and frontend page access control
refactor: replace old static file handling middleware with a new plugin-based approach
feat: add request timing logging for static file requests
feat: implement well-known ignore plugin for Chrome DevTools
feat: add error logging plugin for unhandled exceptions and request errors
feat: introduce a scheduler plugin for task management and log cleanup
- Added a new Container component with size variants and corresponding styles.
- Enhanced Button component to support loading and size props, with updated styles for different button states.
- Updated ConfigProvider to use optional locale prop with a default value.
- Introduced new SCSS styles for Container and updated Button styles for better UI consistency.
- Updated package.json to include @nuxt/kit as a dependency.
- Introduced ConfigProvider component to manage locale settings.
- Implemented useLocale hook for localization support.
- Added language JSON files for English and Chinese.
- Created utility hooks for context management and namespace handling.
- Developed various UI components with corresponding styles.
- Integrated Vite plugin for automatic style injection based on component usage.
- Established a Nuxt module for easy integration of Bolt UI components and styles.
- Backend: extend GET /api/users with status, role filtering and sorting
- Backend: add PUT /api/users/:id endpoint for updating user info
- Backend: add POST /api/users/batch for batch enable/disable/delete
- Frontend: rewrite users page with filter bar, stats cards, sortable table
- Frontend: add batch action bar and detail drawer for editing
- Frontend: add create modal and confirm dialog for batch delete
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
refactor: enhance scheduler task detail page with improved UI and status handling
style: update scheduler overview page with new layout and styling for task statistics
feat: create placeholder portfolio and profile pages
chore: update SQLite database schema