@@ -47,7 +47,7 @@ function setPortProxy(port, proxyTabId) {
4747 const proxyOnDisconnect = ( ) => {
4848 port . proxy = Browser . tabs . connect ( proxyTabId )
4949 }
50- const portOnDisconnect = ( msg ) => {
50+ const portOnDisconnect = ( ) => {
5151 port . proxy . onMessage . removeListener ( proxyOnMessage )
5252 port . onMessage . removeListener ( portOnMessage )
5353 port . proxy . onDisconnect . removeListener ( proxyOnDisconnect )
@@ -118,7 +118,7 @@ async function executeApi(session, port, config) {
118118 }
119119}
120120
121- Browser . runtime . onMessage . addListener ( async ( message ) => {
121+ Browser . runtime . onMessage . addListener ( async ( message , sender ) => {
122122 switch ( message . type ) {
123123 case 'FEEDBACK' : {
124124 const token = await getChatGptAccessToken ( )
@@ -130,6 +130,22 @@ Browser.runtime.onMessage.addListener(async (message) => {
130130 await deleteConversation ( token , message . data . conversationId )
131131 break
132132 }
133+ case 'NEW_URL' : {
134+ const newTab = await Browser . tabs . create ( {
135+ url : message . data . url ,
136+ pinned : message . data . pinned ,
137+ } )
138+ if ( message . data . saveAsChatgptConfig ) {
139+ await setUserConfig ( {
140+ chatgptTabId : newTab . id ,
141+ chatgptJumpBackTabId : sender . tab . id ,
142+ } )
143+ }
144+ break
145+ }
146+ case 'ACTIVATE_URL' :
147+ await Browser . tabs . update ( message . data . tabId , { active : true } )
148+ break
133149 case 'OPEN_URL' :
134150 openUrl ( message . data . url )
135151 break
@@ -139,17 +155,11 @@ Browser.runtime.onMessage.addListener(async (message) => {
139155 case 'PIN_TAB' : {
140156 let tabId
141157 if ( message . data . tabId ) tabId = message . data . tabId
142- else {
143- const currentTab = ( await Browser . tabs . query ( { active : true , currentWindow : true } ) ) [ 0 ]
144- if ( message . data . saveAsChatgptConfig ) {
145- if ( currentTab . url . includes ( 'chat.openai.com' ) ) tabId = currentTab . id
146- } else {
147- tabId = currentTab . id
148- }
149- }
150- if ( tabId ) {
151- await Browser . tabs . update ( tabId , { pinned : true } )
152- if ( message . data . saveAsChatgptConfig ) await setUserConfig ( { chatgptTabId : tabId } )
158+ else tabId = sender . tab . id
159+
160+ await Browser . tabs . update ( tabId , { pinned : true } )
161+ if ( message . data . saveAsChatgptConfig ) {
162+ await setUserConfig ( { chatgptTabId : tabId } )
153163 }
154164 break
155165 }
0 commit comments