Skip to content

Commit 5259bf4

Browse files
author
catlog22
committed
feat: 添加服务模块到加载顺序,优化工作区状态加载逻辑,支持预加载和直接获取
1 parent ecaa011 commit 5259bf4

2 files changed

Lines changed: 23 additions & 15 deletions

File tree

ccw/src/core/server.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -104,6 +104,7 @@ const MODULE_FILES = [
104104
'help-i18n.js', // Help page translations
105105
'utils.js',
106106
'state.js',
107+
'services.js', // CacheManager, EventManager, PreloadService - must be before main.js
107108
'api.js',
108109
'components/theme.js',
109110
'components/modals.js',

ccw/src/templates/dashboard-js/views/codexlens-manager.js

Lines changed: 22 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -174,21 +174,28 @@ async function refreshWorkspaceIndexStatus(forceRefresh) {
174174
window.eventManager.on('data:updated:workspace-status', _workspaceStatusHandler);
175175
}
176176

177-
// 3. Trigger background loading
178-
if (window.preloadService) {
179-
try {
180-
var freshData = await window.preloadService.preload('workspace-status', { force: forceRefresh });
181-
render(freshData);
182-
} catch (err) {
183-
console.error('[CodexLens] Failed to load workspace status:', err);
184-
if (headerFtsEl) headerFtsEl.textContent = '--';
185-
if (headerVectorEl) headerVectorEl.textContent = '--';
186-
if (container) {
187-
container.innerHTML = '<div class="text-xs text-destructive text-center py-2">' +
188-
'<i data-lucide="alert-circle" class="w-4 h-4 inline mr-1"></i> ' +
189-
(t('common.error') || 'Error') + ': ' + err.message +
190-
'</div>';
191-
}
177+
// 3. Trigger background loading (with fallback to direct fetch)
178+
try {
179+
var freshData;
180+
if (window.preloadService) {
181+
freshData = await window.preloadService.preload('workspace-status', { force: forceRefresh });
182+
} else {
183+
// Fallback: direct fetch if preloadService not available
184+
var path = encodeURIComponent(projectPath || '');
185+
var response = await fetch('/api/codexlens/workspace-status?path=' + path);
186+
if (!response.ok) throw new Error('HTTP ' + response.status);
187+
freshData = await response.json();
188+
}
189+
render(freshData);
190+
} catch (err) {
191+
console.error('[CodexLens] Failed to load workspace status:', err);
192+
if (headerFtsEl) headerFtsEl.textContent = '--';
193+
if (headerVectorEl) headerVectorEl.textContent = '--';
194+
if (container) {
195+
container.innerHTML = '<div class="text-xs text-destructive text-center py-2">' +
196+
'<i data-lucide="alert-circle" class="w-4 h-4 inline mr-1"></i> ' +
197+
(t('common.error') || 'Error') + ': ' + err.message +
198+
'</div>';
192199
}
193200
}
194201

0 commit comments

Comments
 (0)