Commit Graph

16 Commits

Author SHA1 Message Date
4129c174ed feat: integrate MarkBase Settings API (GET/POST /api/v2/settings)
- Replaced deprecated /api/v2/config with new /api/v2/settings
- loadSettings() now uses GET /api/v2/settings (structured JSON)
- saveUploadPath() now uses POST /api/v2/settings
- Removed PostgreSQL migration error handling (no longer needed)
- Settings page now works correctly with SQLite-only MarkBase
2026-10-27 02:06:57 +08:00
cb2b6a0292 fix: show clear error message when MarkBase needs restart (PostgreSQL→SQLite migration)
- Detects 'missing field postgresql' error from MarkBase config endpoint
- Shows user-friendly message: 'MarkBase needs restart (PostgreSQL→SQLite migration)'
- Helps users understand the error is due to outdated MarkBase instance
2026-10-27 01:41:07 +08:00
052178b084 fix: improve Settings page error message for MarkBase config failures
- loadSettings now shows detailed error from MarkBase response body
- MarkBase /api/v2/config returns 500 when config file is incomplete
- Error message now includes actual error details instead of just HTTP status
2026-10-27 01:27:34 +08:00
388c548e4a feat: multi-language support for agent search and admin pipeline config
- search_agents now accepts output_language parameter (en/zh-TW/ja)
- Admin Settings: added Pipeline Configuration section (enabled, max_concurrent_stages, default_timeout_secs)
- Admin Settings: search config now includes vlm_output_language dropdown
- Added translations for pipeline config in en/zh-TW/ja locales
- Agent search uses searchConfig.vlm_output_language for output language
2026-10-27 01:18:19 +08:00
fa7a9e1084 fix: Admin Panel health checks work via reverse proxy
- loadServiceUrls: use window.location.origin for remote access, localhost for local dev
- testCoreApi: use /api/v1/health for remote, /health for localhost
- testProxy: health check path works for both
- testMbe: already uses getApiBase() which handles both cases

This fixes the issue where Admin Panel showed offline when accessed via
https://nextorage.momentry.ddns.net because localhost health checks
point to user's machine, not the server.
2026-10-23 21:35:29 +08:00
342d4e33b8 fix: Admin panel always uses localhost URLs for service health checks
- Removed isLocalhost checks from loadServiceUrls()
- All services now default to http://localhost:XXXX
- Health check URLs always use direct paths (/health)
- Fixes Core API and Proxy showing offline from external URL
2026-10-23 02:22:28 +08:00
6e0e306082 fix: optimize MBE start flow - skip redundant frontend polling
- Backend already polls 60s for MBE port readiness
- Frontend no longer polls 30s after backend returns
- Total wait time: ~60s instead of ~90s
- Start timeout set to 60s for MBE
2026-10-23 01:31:50 +08:00
951a2964f3 feat: add MBE health check proxy endpoint
- Added /api/v1/mbe/health proxy in Studio proxy (port 8888)
- Frontend now uses proxy endpoint instead of direct mbeUrl
- Works for both localhost and external access (once proxy is deployed)
- MBE health response: {status: 'healthy', model: 'e4b', layers: 42}
2026-10-22 23:52:23 +08:00
a429aca344 fix: accept MBE 'healthy' status and show model info
- Updated testMbe() to accept status='healthy' from MarkBaseServer
- Added model and layers info to mbeInfo display
- MBE now shows 'MBE (e4b)' instead of generic 'MarkBaseEngine'
2026-10-22 21:55:52 +08:00
2cff332d55 feat: fix MBE health check and add model selection dropdown
- Fixed testMbe() to always use /health instead of /v1/health
- Added model selection dropdown for MarkBaseEngine
- Modified startService('mbe') to pass model and port parameters
- Added loadMbeModels() to fetch available models on mount
- Added getApiBase import
2026-10-22 21:40:47 +08:00
8e71996ab1 fix: 修复 MarkBase Engine 健康检查状态不匹配问题
问题:
- MarkBase Engine 的 /health 端点返回 JSON 格式 {"status":"ok"}
- testMbe 函数期望纯文本 "OK"
- 导致状态被错误地设置为 offline

修复:
- 使用 Content-Type 判断响应格式
- JSON 格式:解析并检查 status 字段
- 纯文本格式:检查是否为 "OK" 或包含 JSON 状态
- 兼容两种响应格式,确保状态正确

改进:
- 从 JSON 响应中提取 version 和 uptime 信息
- 更健壮的错误处理
2026-10-08 09:44:30 +08:00
1bc53ae584 fix: AdminView 保存配置前先加载现有数据
- 避免空对象覆盖数据库中的现有配置
- 保存前先 GET 当前配置
- 合并修改的字段后再 POST
- 确保所有字段都正确保存
2026-10-02 05:42:31 +08:00
4eb423e424 fix: AdminView 确保 search config 正确保存
- 添加默认值处理
- vlm_min_score: 默认 0.0
- vlm_max_results: 默认 5
- vlm_output_language: 默认 'en'
- 修复空字符串导致保存失败的问题
2026-10-02 05:39:37 +08:00
f3d75ebce8 feat: Library 批量注册 + PeopleView 修复 + 国际化
Library:
- 添加 checkbox 和鼠标框选功能
- Unregistered 卡片添加快速注册按钮
- 状态标签移至左下方,人脸图标移至左侧中间
- Deep Scan 改为 unregister -> register -> process
- 完整国际化(日语、繁体中文、英语)

PeopleView:
- 修复卡片不显示问题(使用 get_file_traces API)
- 移除对 identity_id 字段的依赖

其他:
- 添加日语语言包
- 添加 useDragSelect composable
- 新增文档:Face Bbox Null Bug Report
2026-10-01 00:42:13 +08:00
5951aca086 feat: frame-based positioning and mark system foundation
Core Changes:
- Fix SearchView to use start_frame/end_frame directly (no time*fps conversion)
- Add hard_delete support to delete_trace API
- VideoPlayer: Main timeline + Mark system foundation
- Proxy: Add local routes for auth, media, identity-matches, cluster-results
- Add .gitignore to exclude build artifacts and dependencies

Design Documents:
- Multi-track Mark system design (.opencode/plans/)
- Video editing positioning standards research

Files Modified:
- src/views/SearchView.vue: Frame positioning, ensureMinDuration (240 frames)
- src/views/PeopleView.vue: batchDeleteGroups with hard_delete
- src/api/index.ts: delete_trace with hard_delete body
- src/components/VideoPlayer.vue: Timeline + Mark UI
- src-tauri/src/proxy.rs: New local routes
- AGENTS.md: Update documentation
2026-07-24 20:19:47 +08:00
691b38fe96 fix: m4mini deployment issues - duplicate script setup, auth redirect, Tauri bypass 2026-06-26 20:33:35 +08:00