feat(desktop): preload exposes setConnectedOrigins + onOpenInternalRoute
This commit is contained in:
@@ -51,6 +51,16 @@ contextBridge.exposeInMainWorld('backspace', {
|
|||||||
ipcRenderer.on('deep-link', (_event, url) => callback(url));
|
ipcRenderer.on('deep-link', (_event, url) => callback(url));
|
||||||
},
|
},
|
||||||
|
|
||||||
|
// Instance-origin-aware URL routing
|
||||||
|
setConnectedOrigins: (origins: string[]) => {
|
||||||
|
ipcRenderer.send('set-connected-origins', origins);
|
||||||
|
},
|
||||||
|
onOpenInternalRoute: (callback: (path: string) => void) => {
|
||||||
|
const handler = (_evt: Electron.IpcRendererEvent, path: string) => callback(path);
|
||||||
|
ipcRenderer.on('open-internal-route', handler);
|
||||||
|
return () => { ipcRenderer.removeListener('open-internal-route', handler); };
|
||||||
|
},
|
||||||
|
|
||||||
// Screen share picker coordination
|
// Screen share picker coordination
|
||||||
onScreenShareSources: (callback: (sources: unknown[]) => void) => {
|
onScreenShareSources: (callback: (sources: unknown[]) => void) => {
|
||||||
ipcRenderer.on('screen-share-sources', (_event, sources) => callback(sources));
|
ipcRenderer.on('screen-share-sources', (_event, sources) => callback(sources));
|
||||||
|
|||||||
+4
@@ -35,6 +35,10 @@ interface BackspaceElectronAPI {
|
|||||||
// Deep linking (Task 2.3)
|
// Deep linking (Task 2.3)
|
||||||
onDeepLink: (callback: (url: string) => void) => void;
|
onDeepLink: (callback: (url: string) => void) => void;
|
||||||
|
|
||||||
|
// Instance-origin-aware URL routing
|
||||||
|
setConnectedOrigins: (origins: string[]) => void;
|
||||||
|
onOpenInternalRoute: (callback: (path: string) => void) => (() => void);
|
||||||
|
|
||||||
// Screen share picker coordination
|
// Screen share picker coordination
|
||||||
onScreenShareSources: (callback: (sources: ElectronScreenSource[]) => void) => void;
|
onScreenShareSources: (callback: (sources: ElectronScreenSource[]) => void) => void;
|
||||||
selectScreenSource: (sourceId: string | null, shareAudio?: boolean) => void;
|
selectScreenSource: (sourceId: string | null, shareAudio?: boolean) => void;
|
||||||
|
|||||||
Reference in New Issue
Block a user