Commit Graph

311 Commits

Author SHA1 Message Date
9a01469d8a Revert "fix: always load cluster names from trace profiles (DB)"
This reverts commit 52c3e72167.
2026-11-01 14:40:57 +08:00
11f9973179 Revert "fix: add missing proxy routes and API keys for Core API endpoints"
This reverts commit c00dcfbfbb.
2026-11-01 14:40:57 +08:00
24efec604f Revert "fix: add API key to remaining endpoints"
This reverts commit a26f1fe9f1.
2026-11-01 14:40:57 +08:00
25c4ba2555 Revert "fix: add auth proxy route to Core API"
This reverts commit f530c1ae0f.
2026-11-01 14:40:57 +08:00
24385f99d8 Revert "fix: add missing proxy routes for Core API endpoints"
This reverts commit f68cee8276.
2026-11-01 14:40:57 +08:00
659ac33eb7 Revert "fix: preserve API trace_ids instead of overwriting from frames"
This reverts commit 983fe85543.
2026-11-01 14:40:57 +08:00
983fe85543 fix: preserve API trace_ids instead of overwriting from frames
- API returns correct trace_ids for each cluster
- Previously, loadClusterResults overwrote trace_ids from clusterTraceIdsMap
- clusterTraceIdsMap uses cluster_id from face_cluster.json (Person_0, etc.)
- But groups may have custom names (Group_aaa), causing key mismatch
- Now only uses clusterTraceIdsMap as fallback when API trace_ids are empty
- Fixes 'Group_aaa 有兩個' display issue caused by lost trace_ids
2026-11-01 14:09:58 +08:00
f68cee8276 fix: add missing proxy routes for Core API endpoints
- Added /api/v1/files, /api/v1/file/, /api/v1/jobs, /api/v1/bookmarks to port 3002
- Fixes 500 errors when MarkBase (port 8888) is not running
- All Core API endpoints now correctly route to port 3002
2026-10-31 05:00:50 +08:00
f530c1ae0f fix: add auth proxy route to Core API
- Added /api/v1/auth proxy route to port 3002
- Fixes 500 error on login endpoint
2026-10-31 04:36:23 +08:00
a26f1fe9f1 fix: add API key to remaining endpoints
- Added requiresApiKey: true to get_trace_profile, get_file_profile
- Added x-api-key header to loadDefaultFaceFilter fetch call
- Fixes 401 errors on admin/config, trace-profile, and file-profile endpoints
2026-10-31 01:41:41 +08:00
c00dcfbfbb fix: add missing proxy routes and API keys for Core API endpoints
- Added proxy routes for /api/v1/file/*/json/face_cluster, /api/v1/file/*/traces, /api/v1/admin/config, /api/v1/file-profile
- Added requiresApiKey: true to get_cluster_results
- Fixes 500 errors when loading cluster results and other Core API endpoints
2026-10-31 00:52:16 +08:00
52c3e72167 fix: always load cluster names from trace profiles (DB)
- Removed auto-generated name check that skipped Person_X names
- loadClusterNames now always updates cluster names from trace profiles
- Added requiresApiKey to register, unregister, merge_groups, update_trace_profile_group
- Ensures consistent names across localhost and DDNS access
2026-10-31 00:36:09 +08:00
48bcd84528 fix: load cluster names before saving to cache
- Changed order: loadClusterNames now runs BEFORE setClusterResults
- Removed condition that skipped loading names for 'Person_X' clusters
- Now always loads custom names from trace profiles (DB is source of truth)
- Fixes rename persistence - custom names are now correctly saved to cache
2026-10-30 23:24:48 +08:00
98aacc3d9c fix: add requiresApiKey to API endpoints and simplify cluster name persistence
- Added requiresApiKey: true to register_file, unregister_file, merge_groups, update_trace_profile_group
- Added API key header injection in httpCall
- Simplified setClusterResults to just cache data (names now come from database)
- Removed localStorage custom name logic (backend handles persistence)
2026-10-30 22:52:31 +08:00
1f3bb31b2d fix: match cluster custom names by both cluster_id and name keys
- API returns cluster_id as integer (1, 2) but localStorage saves with string keys
- Now tries matching by both cluster_id and original name
- Fixes rename persistence not being applied after page refresh
2026-10-30 22:07:47 +08:00
f23124a157 fix: add requiresApiKey to register, unregister, merge_groups, update_trace_profile_group
- Added requiresApiKey?: boolean to buildHttpRequest return type
- Added API key header injection in httpCall
- Fixes 401 errors on register, unregister, merge, and rename operations
2026-10-30 21:44:08 +08:00
97ec045c72 fix: read custom cluster names directly from localStorage in setClusterResults
- Previously setClusterResults read from clusterResultsCache which gets deleted by refresh()
- Now reads directly from localStorage to preserve custom names across refresh
- Fixes Face Group rename not persisting after page refresh
2026-10-30 21:35:03 +08:00
0ca421df78 fix: improve face detail navigation with debug info
- Moved navigation arrows outside modal overlay for proper z-index
- Added pointer-events: none to overlay to allow arrow clicks
- Simplified trace matching to use only trace_id
- Added visible debug info in modal header (nav:xxx idx:xxx list:xxx)
- Added console logging for navigation context setup
2026-10-30 20:05:09 +08:00
8b581af7ad fix: improve face detail navigation context matching
- Simplified trace matching to use only trace_id (removed file_uuid requirement)
- Added debug logging to trace navigation context setup
- Added pointer-events: none to modal overlay to allow arrow clicks
- Moved navigation arrows outside modal overlay for proper z-index stacking
2026-10-30 19:52:10 +08:00
efe5bcee8a fix: move face detail nav arrows outside modal overlay
- Moved .ms-fs-nav-arrow buttons outside .ms-modal-overlay div
- Updated z-index to dynamic faceDetailZIndex + 100
- Fixes stacking context issue where arrows were unclickable
- Arrows now render as siblings of overlay with proper z-index
2026-10-30 18:59:19 +08:00
8382590c58 fix: increase z-index of face detail navigation arrows
- Navigation arrows z-index increased from 10010 to 10100
- Fixes issue where modal overlay was covering the arrows
- Left/right buttons now clickable in face detail modal
2026-10-30 14:33:12 +08:00
81f11d4294 feat: add thumbnails for unregistered files
- Added getUnregFilePath() helper to construct full path for unregistered files
- Updated template to use getUnregFilePath() for thumbnail loading
- Updated loadFiles() to load thumbnails for unregistered files with constructed paths
- Unregistered files now show thumbnails instead of placeholder icons
2026-10-30 10:34:35 +08:00
12c85ed125 fix: construct full file path for unregistered files
- quickRegister now builds full path when file_path is empty
- Uses default upload base path: /Users/accusys/momentry/var/sftpgo/data/demo
- Fixes 500 error when registering unregistered files
2026-10-30 10:29:35 +08:00
ae2f59b829 fix: loadSessions variable shadowing bug
- Local variable 'sessions' was shadowing the ref 'sessions'
- sessions.value = sessions was not updating the ref
- Renamed local variable to 'sessionList' and properly assign to sessions.value
- This fixes sessions not appearing in history list after save
2026-10-27 17:25:19 +08:00
69b83e212b feat: save session with name prompt
- Save button now prompts for session name
- Uses same rename dialog with different labels
- confirmSaveSession saves messages to MarkBase SQLite
- Session appears in history list after save
2026-10-27 17:14:19 +08:00
1b9f0850e8 feat: add Save Session button
- Added 💾 Save button to history header
- saveCurrentSession saves all messages to current session
- If no session exists, creates one with timestamp name
- Saved sessions appear in history list for selection
2026-10-27 17:06:02 +08:00
1de8be6e19 fix: wait for loadMessages to complete before restoring session messages
- Added await loadMessages(s.id) in handleSelectSession
- Ensures messages are loaded from API before displaying
2026-10-27 16:50:15 +08:00
ab7281dbf4 fix: clear localStorage when creating new session
- Added localStorage.removeItem(SESSION_STORAGE_KEY) to handleNewSession
- Prevents old messages from reappearing after page refresh
- New session now starts completely clean
2026-10-27 16:41:51 +08:00
c5b8069af4 fix: add debug logging to handleNewSession
- Added console.log to track save and clear operations
- Will help diagnose why messages are not being saved
2026-10-27 16:34:03 +08:00
f37c36f637 feat: save current session before creating new session
- handleNewSession now saves all messages from current session
- Saves both user and assistant messages
- Then creates new session with timestamp name
2026-10-27 16:06:56 +08:00
c38c0fba6d fix: remove duplicate + New button, keep only + New Session
- Removed + New button from history header
- Only + New Session button remains for creating sessions
2026-10-27 16:02:14 +08:00
e15d2cd31e fix: Core API health check path - use /api/v1/health for all cases
- Removed incorrect localhost conditional that used /health (404)
- Now uses /api/v1/health for both localhost and remote access
- Added console.error logging for debugging
- Aligns with Core API route design
2026-10-27 15:52:30 +08:00
a5100e59ea fix: add debug logging for session message saving
- Added console.log to track currentSession and save operations
- Will help diagnose why messages are not being saved
2026-10-27 15:23:27 +08:00
d6fb0adcfe fix: add error logging for session message saving
- Added console.error logs to debug save failures
- Now logs when no current session exists
- Now logs when saveMessage returns null
2026-10-27 15:21:48 +08:00
a58ac8165c fix: remove tags from search cards, keep only in detail modal
- Removed card-tags display from search result cards
- Tags now only visible in scene detail modal
2026-10-27 15:17:45 +08:00
ece3747a98 fix: use vlm_description_localized directly instead of text_content
- Card now shows vlm_description_localized directly (no 【ZH-TW】 label)
- Avoids incorrect language labels from Core API text_content field
- Japanese content now displays correctly without wrong prefix
2026-10-27 15:16:09 +08:00
98161f3ebd fix: keep history panel open after creating new session
- Removed showHistory.value = false from handleNewSession
- History panel now stays visible after clicking + New Session
2026-10-27 15:12:07 +08:00
2213703a77 fix: add 'visual' mode to formatMode map
- Visual search mode was showing as '—' in session history
- Added 'visual': 'Visual' to the formatMode mapping
2026-10-27 15:09:07 +08:00
bb80d52e98 feat: show last search query in session history
- Added last_query field to SearchSession interface
- loadSessions now fetches last user message for each session
- Session list displays: mode badge, title, last query, message count, time
- Added .hs-query CSS style for query text
2026-10-27 14:50:44 +08:00
763e4ecf33 fix: remove duplicate text content in scene detail when VLM data exists
- text_detail-content now only shows if no VLM description is present
- Prevents duplicate display of VLM summary text
2026-10-27 07:54:16 +08:00
a934ec57e4 feat: show multilingual VLM summary and tags in scene detail modal
- Added VLM description sections (localized + English) to text detail modal
- Added VLM tags display with both local and English labels
- Styled with language labels, tag badges, and proper spacing
2026-10-27 06:38:22 +08:00
63f8f3562a feat: add VLM tags display to search result cards
- Shows up to 5 tags per card
- Uses localized language (tag.local) if available, falls back to English
- Styled with small rounded badges
2026-10-27 06:32:03 +08:00
7f31453723 fix: startNewChat now always creates new session
- Changed startNewChat to async and always create a new session
- No longer depends on currentSession existing
2026-10-27 06:17:35 +08:00
06217bc314 fix: improve session initialization flow
- Fixed onMounted to properly set currentSession after creating default
- Ensure loadSessions is called after createSession to refresh list
2026-10-27 06:16:17 +08:00
433b5dc797 fix: ensure currentSession is set before saving messages
- Added check to set currentSession from sessionList if null
- This ensures messages are always saved to a session
2026-10-27 06:14:28 +08:00
f5dd8577b2 fix: improve session initialization and save logic
- Fixed onMounted to properly set currentSession after creating default
- startNewChat now creates a new session when called
- Ensure authToken before all session API calls
2026-10-27 06:11:28 +08:00
ac281b0766 fix: startNewChat now creates new session
- Updated startNewChat to call handleNewSession if currentSession exists
- This ensures + New button also creates a new session in MarkBase
2026-10-27 05:41:54 +08:00
bd52128031 fix: auto-login with demo credentials for session API
- Added ensureAuthToken() function that auto-logs in with demo/demo123
- All session API functions now call ensureAuthToken() first
- Fixes 'Missing Authorization header' errors
- Sessions now save correctly without manual admin login
2026-10-27 05:36:16 +08:00
fe91afff98 feat: integrate MarkBase Search Session API into Studio
- Created useSearchSession composable for session management
- Added 7 API endpoints in api/index.ts
- Updated SearchView.vue to use sessions instead of history
- Session sidebar with create, rename, delete functionality
- Auto-save messages to current session after each search
- Auto-create default session on first load
- Updated CSS for session active state and new session button
2026-10-27 05:06:03 +08:00
86d90f4f53 fix: remove scene thumbnail_url from all VLM search result mappings
- Removed thumbnail_url from VLM scene results (lines 901, 1312)
- Scene thumbnail files often don't exist for unprocessed videos
- Frontend now falls back to regular thumbnail loading mechanism
- Eliminates 404 errors in browser console
2026-10-27 03:31:11 +08:00