@@ -66,6 +66,7 @@ const UPDATE_INSTALL_CHANNEL = "desktop:update-install";
6666const PREVIEW_CREATE_TAB_CHANNEL = "desktop:preview-create-tab" ;
6767const PREVIEW_CLOSE_TAB_CHANNEL = "desktop:preview-close-tab" ;
6868const PREVIEW_ACTIVATE_TAB_CHANNEL = "desktop:preview-activate-tab" ;
69+ const PREVIEW_ACTIVATE_THREAD_CHANNEL = "desktop:preview-activate-thread" ;
6970const PREVIEW_GO_BACK_CHANNEL = "desktop:preview-go-back" ;
7071const PREVIEW_GO_FORWARD_CHANNEL = "desktop:preview-go-forward" ;
7172const PREVIEW_RELOAD_CHANNEL = "desktop:preview-reload" ;
@@ -1276,18 +1277,29 @@ function registerIpcHandlers(): void {
12761277 ipcMain . removeHandler ( PREVIEW_CREATE_TAB_CHANNEL ) ;
12771278 ipcMain . handle (
12781279 PREVIEW_CREATE_TAB_CHANNEL ,
1279- async ( event , input : { url ?: unknown ; title ?: unknown } ) => {
1280+ async ( event , input : { url ?: unknown ; title ?: unknown ; threadId ?: unknown } ) => {
12801281 const window = resolvePreviewWindow ( event . sender ) ;
12811282 if ( ! window ) {
12821283 return { tabId : "" , state : createEmptyTabsState ( ) } ;
12831284 }
12841285 return getPreviewController ( window ) . createTab ( {
12851286 url : input ?. url ,
12861287 title : input ?. title ,
1288+ threadId : input ?. threadId ,
12871289 } ) ;
12881290 } ,
12891291 ) ;
12901292
1293+ ipcMain . removeHandler ( PREVIEW_ACTIVATE_THREAD_CHANNEL ) ;
1294+ ipcMain . handle (
1295+ PREVIEW_ACTIVATE_THREAD_CHANNEL ,
1296+ async ( event , input : { threadId ?: string } ) => {
1297+ const window = resolvePreviewWindow ( event . sender ) ;
1298+ if ( ! window || ! input ?. threadId ) return createEmptyTabsState ( ) ;
1299+ return getPreviewController ( window ) . activateThread ( input . threadId ) ;
1300+ } ,
1301+ ) ;
1302+
12911303 ipcMain . removeHandler ( PREVIEW_CLOSE_TAB_CHANNEL ) ;
12921304 ipcMain . handle ( PREVIEW_CLOSE_TAB_CHANNEL , async ( event , input : { tabId ?: PreviewTabId } ) => {
12931305 const window = resolvePreviewWindow ( event . sender ) ;
0 commit comments