@@ -54,16 +54,22 @@ const ConnectApp: React.FC = () => {
54
54
return ;
55
55
}
56
56
57
- void connectToMCPRelay ( relayUrl ) ;
57
+ void connectToMCPRelay ( relayUrl , params . get ( 'pwMcpVersion' ) ) ;
58
58
void loadTabs ( ) ;
59
59
} , [ ] ) ;
60
60
61
- const connectToMCPRelay = useCallback ( async ( mcpRelayUrl : string ) => {
62
- const response = await chrome . runtime . sendMessage ( { type : 'connectToMCPRelay' , mcpRelayUrl } ) ;
63
- if ( ! response . success )
64
- setStatus ( { type : 'error' , message : 'Failed to connect to MCP relay: ' + response . error } ) ;
61
+ const handleReject = useCallback ( ( message : string ) => {
62
+ setShowButtons ( false ) ;
63
+ setShowTabList ( false ) ;
64
+ setStatus ( { type : 'error' , message } ) ;
65
65
} , [ ] ) ;
66
66
67
+ const connectToMCPRelay = useCallback ( async ( mcpRelayUrl : string , pwMcpVersion : string | null ) => {
68
+ const response = await chrome . runtime . sendMessage ( { type : 'connectToMCPRelay' , mcpRelayUrl, pwMcpVersion } ) ;
69
+ if ( ! response . success )
70
+ handleReject ( response . error ) ;
71
+ } , [ handleReject ] ) ;
72
+
67
73
const loadTabs = useCallback ( async ( ) => {
68
74
const response = await chrome . runtime . sendMessage ( { type : 'getTabs' } ) ;
69
75
if ( response . success )
@@ -100,22 +106,16 @@ const ConnectApp: React.FC = () => {
100
106
}
101
107
} , [ clientInfo , mcpRelayUrl ] ) ;
102
108
103
- const handleReject = useCallback ( ( ) => {
104
- setShowButtons ( false ) ;
105
- setShowTabList ( false ) ;
106
- setStatus ( { type : 'error' , message : 'Connection rejected. This tab can be closed.' } ) ;
107
- } , [ ] ) ;
108
-
109
109
useEffect ( ( ) => {
110
110
const listener = ( message : any ) => {
111
111
if ( message . type === 'connectionTimeout' )
112
- handleReject ( ) ;
112
+ handleReject ( 'Connection timed out.' ) ;
113
113
} ;
114
114
chrome . runtime . onMessage . addListener ( listener ) ;
115
115
return ( ) => {
116
116
chrome . runtime . onMessage . removeListener ( listener ) ;
117
117
} ;
118
- } , [ ] ) ;
118
+ } , [ handleReject ] ) ;
119
119
120
120
return (
121
121
< div className = 'app-container' >
@@ -124,7 +124,7 @@ const ConnectApp: React.FC = () => {
124
124
< div className = 'status-container' >
125
125
< StatusBanner type = { status . type } message = { status . message } />
126
126
{ showButtons && (
127
- < Button variant = 'reject' onClick = { handleReject } >
127
+ < Button variant = 'reject' onClick = { ( ) => handleReject ( 'Connection rejected. This tab can be closed.' ) } >
128
128
Reject
129
129
</ Button >
130
130
) }
0 commit comments