feat(usage): open the TokenTracker dashboard from the usage monitor
The modal deliberately shows only a slice of the analytics; this hands off to TokenTracker's own local dashboard for the rest. The worker starts `tokentracker serve` on demand and returns the URL, the UI opens the browser. Three things the spawn has to get right: port 7680 is not free on Windows (Delivery Optimization holds [::]:7680) and serve does not fall back, so we scan 7680-7689 with a dual-stack bind probe; --no-open because the CLI would open the browser before the server answers; and the child is a cmd.exe shim, so shutdown kills the process tree. --no-sync keeps our no-cloud-sync rule.
This commit is contained in:
@@ -180,6 +180,12 @@
|
||||
<TextBlock Classes="meta" VerticalAlignment="Center" Text="{Binding AnalyticsStampText}"/>
|
||||
<Button Classes="btn" Content="{loc:Tr modals.usageMonitor.analyticsRefresh}"
|
||||
Command="{Binding RefreshAnalyticsCommand}"/>
|
||||
<Button Classes="btn" Content="{loc:Tr modals.usageMonitor.openDashboard}"
|
||||
ToolTip.Tip="{loc:Tr modals.usageMonitor.openDashboardTip}"
|
||||
IsEnabled="{Binding !IsOpeningDashboard}"
|
||||
Command="{Binding OpenDashboardCommand}"/>
|
||||
<Ellipse Classes="spinner" Width="14" Height="14" VerticalAlignment="Center"
|
||||
IsVisible="{Binding IsOpeningDashboard}"/>
|
||||
</StackPanel>
|
||||
|
||||
<TabControl Padding="20,12" TabStripPlacement="Top">
|
||||
|
||||
Reference in New Issue
Block a user