FFlow Maintainerchore(qa): stop tracking the generated journey report
| Files | Last commit | Last update |
|---|---|---|
refactor(client): split oversized seller pages; docs: bilingual README and v1.23.0 release - Split ProductManagePage (1338 -> 300 lines) into product-manage/{schema, useProductCatalog, ProductTable, ProductFormDialog, ImportDialog, CopywriterDialog} with 17 new unit tests. - Split CopilotPage (1289 -> 707) into copilot/{ConversationSidebar, ChatPanel, FunnelDialog, WatchSettingsDialog}. - Split AICenterPage (1019 -> 717) into ai-center/{AgentRoster, ModelSettingsPanel, UsagePanel, ReportHistoryPanel}. - Fix buyer-only support widget overlapping the seller copilot composer. - Fix footer logo rendering as a white block on the dark footer. - Add README.zh-CN.md and rewrite README.md as the English primary page. - Add docs/PROJECT-MANAGEMENT.md and docs/MAINTAINERS.md. - Add real-browser QA harness (journey-audit, purchase-journey, qa stack). - Capture pipeline now hydrates lazy images and fails on broken images. - E2E runner accepts E2E_DATABASE_URL with a disposable-database guard. - Regenerate 31 screenshots and the demo video from a real PostgreSQL run. | 6 days ago | |
refactor(client): split oversized seller pages; docs: bilingual README and v1.23.0 release - Split ProductManagePage (1338 -> 300 lines) into product-manage/{schema, useProductCatalog, ProductTable, ProductFormDialog, ImportDialog, CopywriterDialog} with 17 new unit tests. - Split CopilotPage (1289 -> 707) into copilot/{ConversationSidebar, ChatPanel, FunnelDialog, WatchSettingsDialog}. - Split AICenterPage (1019 -> 717) into ai-center/{AgentRoster, ModelSettingsPanel, UsagePanel, ReportHistoryPanel}. - Fix buyer-only support widget overlapping the seller copilot composer. - Fix footer logo rendering as a white block on the dark footer. - Add README.zh-CN.md and rewrite README.md as the English primary page. - Add docs/PROJECT-MANAGEMENT.md and docs/MAINTAINERS.md. - Add real-browser QA harness (journey-audit, purchase-journey, qa stack). - Capture pipeline now hydrates lazy images and fails on broken images. - E2E runner accepts E2E_DATABASE_URL with a disposable-database guard. - Regenerate 31 screenshots and the demo video from a real PostgreSQL run. | 6 days ago | |
refactor(client): split oversized seller pages; docs: bilingual README and v1.23.0 release - Split ProductManagePage (1338 -> 300 lines) into product-manage/{schema, useProductCatalog, ProductTable, ProductFormDialog, ImportDialog, CopywriterDialog} with 17 new unit tests. - Split CopilotPage (1289 -> 707) into copilot/{ConversationSidebar, ChatPanel, FunnelDialog, WatchSettingsDialog}. - Split AICenterPage (1019 -> 717) into ai-center/{AgentRoster, ModelSettingsPanel, UsagePanel, ReportHistoryPanel}. - Fix buyer-only support widget overlapping the seller copilot composer. - Fix footer logo rendering as a white block on the dark footer. - Add README.zh-CN.md and rewrite README.md as the English primary page. - Add docs/PROJECT-MANAGEMENT.md and docs/MAINTAINERS.md. - Add real-browser QA harness (journey-audit, purchase-journey, qa stack). - Capture pipeline now hydrates lazy images and fails on broken images. - E2E runner accepts E2E_DATABASE_URL with a disposable-database guard. - Regenerate 31 screenshots and the demo video from a real PostgreSQL run. | 6 days ago | |
feat(quality): 多租户隔离加固 + 依赖清理 + 仓库治理(v1.20.0) | 16 days ago | |
refactor(client): split oversized seller pages; docs: bilingual README and v1.23.0 release - Split ProductManagePage (1338 -> 300 lines) into product-manage/{schema, useProductCatalog, ProductTable, ProductFormDialog, ImportDialog, CopywriterDialog} with 17 new unit tests. - Split CopilotPage (1289 -> 707) into copilot/{ConversationSidebar, ChatPanel, FunnelDialog, WatchSettingsDialog}. - Split AICenterPage (1019 -> 717) into ai-center/{AgentRoster, ModelSettingsPanel, UsagePanel, ReportHistoryPanel}. - Fix buyer-only support widget overlapping the seller copilot composer. - Fix footer logo rendering as a white block on the dark footer. - Add README.zh-CN.md and rewrite README.md as the English primary page. - Add docs/PROJECT-MANAGEMENT.md and docs/MAINTAINERS.md. - Add real-browser QA harness (journey-audit, purchase-journey, qa stack). - Capture pipeline now hydrates lazy images and fails on broken images. - E2E runner accepts E2E_DATABASE_URL with a disposable-database guard. - Regenerate 31 screenshots and the demo video from a real PostgreSQL run. | 6 days ago | |
refactor(client): split oversized seller pages; docs: bilingual README and v1.23.0 release - Split ProductManagePage (1338 -> 300 lines) into product-manage/{schema, useProductCatalog, ProductTable, ProductFormDialog, ImportDialog, CopywriterDialog} with 17 new unit tests. - Split CopilotPage (1289 -> 707) into copilot/{ConversationSidebar, ChatPanel, FunnelDialog, WatchSettingsDialog}. - Split AICenterPage (1019 -> 717) into ai-center/{AgentRoster, ModelSettingsPanel, UsagePanel, ReportHistoryPanel}. - Fix buyer-only support widget overlapping the seller copilot composer. - Fix footer logo rendering as a white block on the dark footer. - Add README.zh-CN.md and rewrite README.md as the English primary page. - Add docs/PROJECT-MANAGEMENT.md and docs/MAINTAINERS.md. - Add real-browser QA harness (journey-audit, purchase-journey, qa stack). - Capture pipeline now hydrates lazy images and fails on broken images. - E2E runner accepts E2E_DATABASE_URL with a disposable-database guard. - Regenerate 31 screenshots and the demo video from a real PostgreSQL run. | 6 days ago | |
feat(design): productize the whole front end around the AI-native positioning - add storefront design language (store cards, toolbars, empty states) and scope buyer routes; product list gets skeleton loading and actionable empty state - convert remaining seller pages (AI center, products, orders, refunds, coupons, collections, CMS, audit, shipping) to the shared page header and panel primitives - rebuild AI center as an agent console: metrics and roster first, model settings last - add dark-palette compatibility layer so legacy pages render correctly in the workbench - replace hardcoded brand hex with design tokens across buyer shell, auth and shopper widget - add frontend test stack (vitest + jsdom + testing-library) with 21 behavior tests - document the design system and roadmap; record v1.22.0 in the changelog - pin follow-redirects override; audit back to zero vulnerabilities | 8 days ago | |
refactor(client): split oversized seller pages; docs: bilingual README and v1.23.0 release - Split ProductManagePage (1338 -> 300 lines) into product-manage/{schema, useProductCatalog, ProductTable, ProductFormDialog, ImportDialog, CopywriterDialog} with 17 new unit tests. - Split CopilotPage (1289 -> 707) into copilot/{ConversationSidebar, ChatPanel, FunnelDialog, WatchSettingsDialog}. - Split AICenterPage (1019 -> 717) into ai-center/{AgentRoster, ModelSettingsPanel, UsagePanel, ReportHistoryPanel}. - Fix buyer-only support widget overlapping the seller copilot composer. - Fix footer logo rendering as a white block on the dark footer. - Add README.zh-CN.md and rewrite README.md as the English primary page. - Add docs/PROJECT-MANAGEMENT.md and docs/MAINTAINERS.md. - Add real-browser QA harness (journey-audit, purchase-journey, qa stack). - Capture pipeline now hydrates lazy images and fails on broken images. - E2E runner accepts E2E_DATABASE_URL with a disposable-database guard. - Regenerate 31 screenshots and the demo video from a real PostgreSQL run. | 6 days ago | |
refactor(client): split oversized seller pages; docs: bilingual README and v1.23.0 release - Split ProductManagePage (1338 -> 300 lines) into product-manage/{schema, useProductCatalog, ProductTable, ProductFormDialog, ImportDialog, CopywriterDialog} with 17 new unit tests. - Split CopilotPage (1289 -> 707) into copilot/{ConversationSidebar, ChatPanel, FunnelDialog, WatchSettingsDialog}. - Split AICenterPage (1019 -> 717) into ai-center/{AgentRoster, ModelSettingsPanel, UsagePanel, ReportHistoryPanel}. - Fix buyer-only support widget overlapping the seller copilot composer. - Fix footer logo rendering as a white block on the dark footer. - Add README.zh-CN.md and rewrite README.md as the English primary page. - Add docs/PROJECT-MANAGEMENT.md and docs/MAINTAINERS.md. - Add real-browser QA harness (journey-audit, purchase-journey, qa stack). - Capture pipeline now hydrates lazy images and fails on broken images. - E2E runner accepts E2E_DATABASE_URL with a disposable-database guard. - Regenerate 31 screenshots and the demo video from a real PostgreSQL run. | 6 days ago | |
fix(security): match CSRF-exempt webhook paths exactly; add RBAC and CSRF tests The CSRF middleware used startsWith on the webhook allow-list, so a lookalike path such as /api/payments/stripe-webhook-evil also bypassed the X-Requested-With check. Matching is now exact after stripping one trailing slash. Adds coverage that would have caught it: - 8 CSRF middleware cases (safe methods, missing/wrong header, exact match, both webhook exemptions, lookalike path, sibling route) - 5 RolesGuard cases (unauthenticated, disallowed role, allowed roles, empty allow-list, exact role comparison) Test suite: 45 files / 286 cases. | 6 days ago | |
fix(security): match CSRF-exempt webhook paths exactly; add RBAC and CSRF tests The CSRF middleware used startsWith on the webhook allow-list, so a lookalike path such as /api/payments/stripe-webhook-evil also bypassed the X-Requested-With check. Matching is now exact after stripping one trailing slash. Adds coverage that would have caught it: - 8 CSRF middleware cases (safe methods, missing/wrong header, exact match, both webhook exemptions, lookalike path, sibling route) - 5 RolesGuard cases (unauthenticated, disallowed role, allowed roles, empty allow-list, exact role comparison) Test suite: 45 files / 286 cases. | 6 days ago | |
feat: 品牌升级 Flow v1.9.0,重制截图与演示素材,调整 AI 网关与鉴权 | 23 days ago | |
chore: 全量清除死代码 + pgvector/飞书剥离 + README/CHANGELOG 修正 死代码清理(经前向追踪确认无引用): - 删除 3 个空壳模块: embedding(永返false) / hello(占位) / view(脚手架) - 删除 ExamplePage(全部注释掉的死文件) - 删除 8 个无调用前端API / 2张死表 / ShopFAQ类型 / 重复Toaster - 清理 58 处 console.info 生产噪音日志 架构修正: - docker-compose: pgvector/pgvector:pg16 → postgres:16-alpine - init.sql: 移除 vector 扩展 - database.provider: 注入ConfigService修复env加载顺序 - SupportService: 移除EmbeddingService依赖与向量检索分支 文档更新: - README: 移除pgvector描述,修正SupportAgent说明,架构图清理 - CHANGELOG: 新增v1.1.1记录 - docs/cleanup-v1.1.md: 完整清理审计记录 验证: server tsc 0 errors / client tsc 0 errors / vite build ✓ | 30 days ago | |
docs(branding): English-primary social preview card and repository metadata - Replace the Chinese social card (which also pointed at the retired GlobalEcom-AI repository path) with an English-primary 1280x640 card. - Add scripts/capture/social-preview.mjs and npm run capture:social so the card is reproducible instead of a hand-made binary. - Add .github/REPO_DESCRIPTION.txt and .github/REPO_TOPICS.txt so the hosting metadata matches the README positioning. | 6 days ago |