feat(app): add Settings view, configurable claude dir, and recap docs refactor
Introduce a Settings view for configuring the Claude data directory (with WSL auto-detection on Windows), sidebar project grouping module, and an empty-state onboarding screen for SessionList. Refactor recap-patterns.md into per-card reference files under references/recap/ with separate retrieval and writing guides. Remove the legacy panel.html. On the data layer: incremental indexing via changedPaths, per-session live-update IPC (obelisk:session-updated), and session dirty-tracking in the renderer.
This commit is contained in:
+11
-1
@@ -20,10 +20,15 @@ contextBridge.exposeInMainWorld('obelisk', {
|
||||
getStats: () => ipcRenderer.invoke('db:getStats'),
|
||||
getUsageStats: () => ipcRenderer.invoke('db:getUsageStats'),
|
||||
onIndexUpdated: (callback) => {
|
||||
const listener = () => callback();
|
||||
const listener = (_, payload) => callback(payload);
|
||||
ipcRenderer.on('obelisk:index-updated', listener);
|
||||
return () => ipcRenderer.removeListener('obelisk:index-updated', listener);
|
||||
},
|
||||
onSessionUpdated: (callback) => {
|
||||
const listener = (_, payload) => callback(payload);
|
||||
ipcRenderer.on('obelisk:session-updated', listener);
|
||||
return () => ipcRenderer.removeListener('obelisk:session-updated', listener);
|
||||
},
|
||||
captureExport: (opts) => ipcRenderer.invoke('capture:export', opts),
|
||||
copyImage: (opts) => ipcRenderer.invoke('capture:copy', opts),
|
||||
recapList: () => ipcRenderer.invoke('recap:list'),
|
||||
@@ -33,4 +38,9 @@ contextBridge.exposeInMainWorld('obelisk', {
|
||||
ipcRenderer.on('obelisk:recap-updated', listener);
|
||||
return () => ipcRenderer.removeListener('obelisk:recap-updated', listener);
|
||||
},
|
||||
getSettings: () => ipcRenderer.invoke('settings:get'),
|
||||
browseFolder: () => ipcRenderer.invoke('settings:browseFolder'),
|
||||
setSetting: (key, value) => ipcRenderer.invoke('settings:set', key, value),
|
||||
revealPath: (p) => ipcRenderer.invoke('settings:revealPath', p),
|
||||
rebuildIndex: () => ipcRenderer.invoke('settings:rebuildIndex'),
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user