Commit 876ea91
committed
fix(Sky): Add reentrancy guard to InstallSkyBridge and phase advancement
The InstallSkyBridge function lacked reentrancy protection, causing duplicate Tauri listen() registrations on Astro view-transitions, Tauri webview reloads, and dev HMR. Each Mountain emit fired handlers N times, resulting in duplicated tree views, markers, and webview renders—the "workbench loading twice" / "purple overlays" bug.
Add a module-level guard (_SkyBridgeInstalled, _SkyBridgeInstallPromise) so multiple calls to InstallSkyBridge only execute once. Also add the phase advance script to Layout.astro that fires BEFORE the workbench import, mirroring Mountain.astro to prevent the 8s/23s fallback timers from leaving the workbench in a half-restored render state. Finally, add a +5s view-registry snapshot diagnostic to probe extension-point registration status.
Additionally, update astro.config.ts: set output="static", disable clientPrerender and contentIntellisense, and add queuedRendering config. This restores responsive UI during startup and eliminates the double-render flicker.1 parent d574527 commit 876ea91
4 files changed
Lines changed: 123 additions & 39 deletions
File tree
- Source
- Function
- Markup
- Workbench/Bundled/Electron
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
5 | 5 | | |
6 | 6 | | |
7 | 7 | | |
8 | | - | |
9 | | - | |
10 | | - | |
11 | | - | |
12 | | - | |
13 | | - | |
14 | | - | |
15 | | - | |
16 | | - | |
17 | | - | |
18 | | - | |
19 | | - | |
20 | | - | |
21 | | - | |
22 | | - | |
23 | | - | |
24 | | - | |
25 | | - | |
26 | 8 | | |
27 | 9 | | |
28 | 10 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
316 | 316 | | |
317 | 317 | | |
318 | 318 | | |
| 319 | + | |
| 320 | + | |
| 321 | + | |
| 322 | + | |
| 323 | + | |
| 324 | + | |
| 325 | + | |
| 326 | + | |
| 327 | + | |
| 328 | + | |
| 329 | + | |
| 330 | + | |
| 331 | + | |
| 332 | + | |
| 333 | + | |
| 334 | + | |
| 335 | + | |
| 336 | + | |
| 337 | + | |
| 338 | + | |
| 339 | + | |
| 340 | + | |
| 341 | + | |
| 342 | + | |
| 343 | + | |
| 344 | + | |
| 345 | + | |
| 346 | + | |
| 347 | + | |
| 348 | + | |
| 349 | + | |
| 350 | + | |
| 351 | + | |
| 352 | + | |
| 353 | + | |
319 | 354 | | |
320 | 355 | | |
321 | 356 | | |
| |||
592 | 627 | | |
593 | 628 | | |
594 | 629 | | |
| 630 | + | |
| 631 | + | |
| 632 | + | |
| 633 | + | |
| 634 | + | |
| 635 | + | |
| 636 | + | |
| 637 | + | |
| 638 | + | |
595 | 639 | | |
| 640 | + | |
| 641 | + | |
| 642 | + | |
596 | 643 | | |
| 644 | + | |
| 645 | + | |
| 646 | + | |
| 647 | + | |
| 648 | + | |
| 649 | + | |
| 650 | + | |
| 651 | + | |
| 652 | + | |
| 653 | + | |
| 654 | + | |
| 655 | + | |
| 656 | + | |
| 657 | + | |
| 658 | + | |
| 659 | + | |
| 660 | + | |
| 661 | + | |
597 | 662 | | |
598 | 663 | | |
599 | 664 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
26 | 26 | | |
27 | 27 | | |
28 | 28 | | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
29 | 62 | | |
30 | 63 | | |
31 | 64 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
63 | 63 | | |
64 | 64 | | |
65 | 65 | | |
66 | | - | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
67 | 72 | | |
68 | 73 | | |
69 | 74 | | |
| |||
616 | 621 | | |
617 | 622 | | |
618 | 623 | | |
619 | | - | |
620 | | - | |
621 | | - | |
| 624 | + | |
622 | 625 | | |
623 | 626 | | |
624 | 627 | | |
| |||
645 | 648 | | |
646 | 649 | | |
647 | 650 | | |
648 | | - | |
649 | | - | |
| 651 | + | |
650 | 652 | | |
651 | 653 | | |
652 | 654 | | |
| |||
739 | 741 | | |
740 | 742 | | |
741 | 743 | | |
742 | | - | |
743 | | - | |
744 | | - | |
745 | | - | |
746 | | - | |
| 744 | + | |
747 | 745 | | |
748 | 746 | | |
749 | 747 | | |
| |||
807 | 805 | | |
808 | 806 | | |
809 | 807 | | |
| 808 | + | |
| 809 | + | |
810 | 810 | | |
811 | | - | |
| 811 | + | |
812 | 812 | | |
813 | | - | |
| 813 | + | |
814 | 814 | | |
815 | 815 | | |
| 816 | + | |
| 817 | + | |
| 818 | + | |
| 819 | + | |
| 820 | + | |
| 821 | + | |
| 822 | + | |
| 823 | + | |
816 | 824 | | |
817 | 825 | | |
818 | 826 | | |
| |||
853 | 861 | | |
854 | 862 | | |
855 | 863 | | |
856 | | - | |
857 | | - | |
858 | | - | |
859 | | - | |
860 | | - | |
| 864 | + | |
| 865 | + | |
| 866 | + | |
861 | 867 | | |
862 | 868 | | |
863 | 869 | | |
| |||
870 | 876 | | |
871 | 877 | | |
872 | 878 | | |
873 | | - | |
874 | | - | |
875 | | - | |
| 879 | + | |
876 | 880 | | |
877 | 881 | | |
878 | 882 | | |
| |||
0 commit comments