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