File tree Expand file tree Collapse file tree 1 file changed +13
-0
lines changed
src/main/kotlin/com/coder/toolbox Expand file tree Collapse file tree 1 file changed +13
-0
lines changed Original file line number Diff line number Diff line change @@ -96,7 +96,20 @@ data class CoderToolboxContext(
96
96
* Forces the title bar on the main page to be refreshed
97
97
*/
98
98
suspend fun refreshMainPage () {
99
+ // the url/title on the main page is only refreshed if
100
+ // we're navigating to the main env page from another page.
101
+ // If TBX is already on the main page the title is not refreshed
102
+ // hence we force a navigation from a blank page.
99
103
ui.showUiPage(CoderPage .emptyPage(this ))
104
+
105
+
106
+ // Toolbox uses an internal shared flow with a buffer of 4 items and a DROP_OLDEST strategy.
107
+ // Both showUiPage and showPluginEnvironmentsPage send events to this flow.
108
+ // If we emit two events back-to-back, the first one often gets dropped and only the second is shown.
109
+ // To reduce this risk, we add a small delay to let the UI coroutine process the first event.
110
+ // Simply yielding the coroutine isn't reliable, especially right after Toolbox starts via URI handling.
111
+ // Based on my testing, a 5–10 ms delay is enough to ensure the blank page is processed,
112
+ // while still short enough to be invisible to users.
100
113
delay(10 .milliseconds)
101
114
envPageManager.showPluginEnvironmentsPage()
102
115
}
You can’t perform that action at this time.
0 commit comments