- Replace hardcoded Chinese text in footer with t() function calls
- Internationalize footer menu titles (Products & Services, Resources, Support & Help)
- Internationalize footer menu links (Use Cases, API & Pricing, Developer Documentation, etc.)
- Internationalize social media icon titles (WeChat, Weibo, TikTok, Zhihu)
- Internationalize copyright text and company name
- Add Chinese translations for all new i18n keys in zh-CN.json
- Replace all hardcoded Chinese text with t() function calls
- Add Chinese translations for all new i18n keys in zh-CN.json
- Update UI text including buttons, labels, error messages, and status messages
- Ensure all user-facing strings are properly internationalized
- Replace hardcoded text with i18n function in HomePage.vue
- Add Chinese translation for 'Click image to try' in zh-CN.json
- Update sample images section title to support multiple languages
- Add imageResize utility using native Canvas API
- Compress images to max 1024x1024px before upload
- Support contain mode for proportional scaling
- Integrate compression into file upload, drag-drop, and URL loading flows
- Optimize memory management with proper URL cleanup
- Skip compression for images already below target size
- Set tool page max-width to 1400px to match remove_background page
- Fix single image view to use same sizing logic as comparison view
- Add dynamic size calculation for processing images to match result view
- Ensure images maintain aspect ratio instead of filling container width
- Relocate Menu Management and Settings from sidebar to user dropdown menu in header
- Remove Profile menu item from user dropdown (not currently used)
- Remove Menu Management and Settings from default sidebar menu items
- Update menu filtering logic to reflect new menu structure
- Improve UX by following common SaaS design patterns
- Free up sidebar space for core business functionality
- Update MenuManager.vue to match menu.ts filtering logic
- Non-system users should only see Tool Marketplace in Development group
- Hide App Marketplace, Node Marketplace, and Agent Marketplace for non-system users
- Restore documentation comments in menu.ts
- Add comment to getDefaultMenus() explaining menu visibility filtering
- Document that pagetype/workspace menus are System User only
- Document that App/Node/Agent marketplaces are System User only
- Ensure default menu documentation matches filtering logic
- Restrict App Marketplace, Node Marketplace, and Agent Marketplace visibility to System Users only
- Non-system users can only see Tool Marketplace in the Development group
- Update comment to reflect the actual filtering logic
- Change 'Click or drag to upload' to 'Click or drag to upload image'
- Update translation key in PublishTool.vue and PublishApp.vue
- Add new translation entry in zh-CN.json
- Improve user clarity by explicitly stating image upload requirement
- Add SEO meta tags (title, description, keywords, robots)
- Add Open Graph and Twitter Card meta tags
- Add JSON-LD structured data (WebPage schema)
- Use relative URLs for og:url, og:image, and canonical links to avoid hardcoded localhost addresses in prerendered HTML
- Support internationalized keywords with English defaults and Chinese translations
- Optimize for Chinese search engines (Baidu, 360, Sogou)
This ensures SEO metadata is properly captured in prerendered static HTML files without hardcoding development server URLs.
Set chunkSizeWarningLimit to 2000KB to suppress build warnings for
large chunks. This is acceptable as some third-party libraries (e.g.,
naive-ui) inherently require larger bundle sizes.
Add @vite-ignore comment to dynamic import statement to suppress
Vite's warning about unanalyzable dynamic imports. This is intentional
as the component path is determined at runtime for tool routes.
- Improve route existence check using router.resolve() for accurate nested route detection
- Register tool routes before router is used to prevent 'No match found' warnings
- Update beforeEach guard to handle dynamic route registration more reliably
- Add MyPublishedTools component aligned with MyPublishedApps functionality
- Add backend API endpoints:
- GET /jingrow/my-published-tools (list published tools with search, pagination, sorting)
- POST /jingrow/delete-published-tool (delete published tool)
- Add route configuration for my-published-tools page
- Add menu item "My Published Tools" under Development group
- Add Chinese translations for all tool-related text
- Remove uppercase transformation for tool_name display in list
The new page provides the same functionality as "My Published Apps":
- Search and filter tools
- Sort by various criteria
- Pagination support
- View tool details
- Delete published tools
- Publish new tool button
- Override delete method in LocalAiNode to delete corresponding node folder
- Add _delete_node_folder helper function to remove node directory
- Import shutil module for directory removal
- Node folder at ai/nodes/{node_type}/ will be automatically deleted when node record is deleted