Commit 5df38ed
committed
fix(all): resolve OAuth popup not communicating back to parent window
When installing OAuth-requiring MCP servers (e.g., plane.so), the popup
window loses window.opener after cross-origin redirect chain, causing
postMessage to silently fail. Users get stuck on the install wizard.
Add fallback: when window.opener is null, backend redirects popup to a
new frontend route (/oauth/callback-complete) which uses BroadcastChannel
(same-origin) to notify the parent window, then closes itself.1 parent ff34160 commit 5df38ed
File tree
5 files changed
+119
-42
lines changed- services
- backend/src/routes/mcp/installations
- frontend/src
- components
- deploy/steps
- mcp-server/wizard
- router
- views/oauth
5 files changed
+119
-42
lines changedLines changed: 15 additions & 24 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
75 | 75 | | |
76 | 76 | | |
77 | 77 | | |
78 | | - | |
79 | 78 | | |
80 | 79 | | |
81 | 80 | | |
82 | 81 | | |
83 | 82 | | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
84 | 86 | | |
85 | | - | |
86 | | - | |
87 | | - | |
88 | | - | |
89 | | - | |
90 | 87 | | |
91 | 88 | | |
92 | 89 | | |
| |||
293 | 290 | | |
294 | 291 | | |
295 | 292 | | |
| 293 | + | |
| 294 | + | |
| 295 | + | |
296 | 296 | | |
297 | | - | |
298 | | - | |
299 | | - | |
300 | 297 | | |
301 | 298 | | |
302 | 299 | | |
| |||
438 | 435 | | |
439 | 436 | | |
440 | 437 | | |
| 438 | + | |
| 439 | + | |
| 440 | + | |
441 | 441 | | |
442 | | - | |
443 | | - | |
444 | | - | |
445 | 442 | | |
446 | 443 | | |
447 | 444 | | |
| |||
629 | 626 | | |
630 | 627 | | |
631 | 628 | | |
632 | | - | |
633 | 629 | | |
634 | 630 | | |
635 | 631 | | |
636 | 632 | | |
637 | 633 | | |
| 634 | + | |
| 635 | + | |
| 636 | + | |
638 | 637 | | |
639 | | - | |
640 | | - | |
641 | | - | |
642 | | - | |
643 | | - | |
644 | 638 | | |
645 | 639 | | |
646 | 640 | | |
| |||
672 | 666 | | |
673 | 667 | | |
674 | 668 | | |
675 | | - | |
676 | 669 | | |
677 | 670 | | |
678 | 671 | | |
679 | 672 | | |
680 | 673 | | |
| 674 | + | |
| 675 | + | |
| 676 | + | |
681 | 677 | | |
682 | | - | |
683 | | - | |
684 | | - | |
685 | | - | |
686 | | - | |
687 | 678 | | |
688 | 679 | | |
689 | 680 | | |
| |||
Lines changed: 2 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
179 | 179 | | |
180 | 180 | | |
181 | 181 | | |
182 | | - | |
| 182 | + | |
183 | 183 | | |
184 | 184 | | |
185 | 185 | | |
| |||
255 | 255 | | |
256 | 256 | | |
257 | 257 | | |
258 | | - | |
| 258 | + | |
259 | 259 | | |
260 | 260 | | |
261 | 261 | | |
| |||
Lines changed: 50 additions & 16 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
304 | 304 | | |
305 | 305 | | |
306 | 306 | | |
| 307 | + | |
| 308 | + | |
| 309 | + | |
307 | 310 | | |
308 | 311 | | |
309 | 312 | | |
| |||
366 | 369 | | |
367 | 370 | | |
368 | 371 | | |
369 | | - | |
370 | | - | |
371 | | - | |
372 | | - | |
373 | | - | |
374 | | - | |
375 | | - | |
376 | | - | |
377 | | - | |
378 | | - | |
379 | | - | |
| 372 | + | |
| 373 | + | |
| 374 | + | |
380 | 375 | | |
381 | 376 | | |
382 | 377 | | |
| |||
387 | 382 | | |
388 | 383 | | |
389 | 384 | | |
390 | | - | |
391 | | - | |
392 | 385 | | |
393 | | - | |
394 | | - | |
| 386 | + | |
| 387 | + | |
| 388 | + | |
| 389 | + | |
| 390 | + | |
| 391 | + | |
| 392 | + | |
395 | 393 | | |
| 394 | + | |
396 | 395 | | |
397 | 396 | | |
398 | 397 | | |
399 | 398 | | |
400 | 399 | | |
401 | 400 | | |
402 | | - | |
| 401 | + | |
403 | 402 | | |
404 | 403 | | |
405 | 404 | | |
406 | 405 | | |
| 406 | + | |
| 407 | + | |
| 408 | + | |
| 409 | + | |
| 410 | + | |
| 411 | + | |
| 412 | + | |
| 413 | + | |
| 414 | + | |
| 415 | + | |
| 416 | + | |
| 417 | + | |
| 418 | + | |
| 419 | + | |
| 420 | + | |
| 421 | + | |
| 422 | + | |
407 | 423 | | |
408 | 424 | | |
409 | 425 | | |
| |||
423 | 439 | | |
424 | 440 | | |
425 | 441 | | |
| 442 | + | |
| 443 | + | |
| 444 | + | |
| 445 | + | |
| 446 | + | |
| 447 | + | |
| 448 | + | |
| 449 | + | |
| 450 | + | |
| 451 | + | |
| 452 | + | |
| 453 | + | |
| 454 | + | |
426 | 455 | | |
427 | 456 | | |
428 | 457 | | |
429 | 458 | | |
430 | 459 | | |
| 460 | + | |
| 461 | + | |
| 462 | + | |
| 463 | + | |
| 464 | + | |
431 | 465 | | |
432 | 466 | | |
433 | 467 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
85 | 85 | | |
86 | 86 | | |
87 | 87 | | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
88 | 97 | | |
89 | 98 | | |
90 | 99 | | |
| |||
Lines changed: 43 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
0 commit comments