QS Overview review followups, brand sweep, version unification#315
Merged
erikdarlingdata merged 1 commit intodevfrom May 9, 2026
Merged
QS Overview review followups, brand sweep, version unification#315erikdarlingdata merged 1 commit intodevfrom
erikdarlingdata merged 1 commit intodevfrom
Conversation
QueryStoreOverviewControl fixes:
- Replace #888888 with theme ForegroundMutedBrush (dim-text rule)
- Convert wait-stats error modal to inline warning badge with tooltip
- Drop dispose-while-in-flight on the OnSlicerRangeChanged CTS race
- Replace blanket catch{} with an inline RefreshErrorBadge so failed
refreshes surface their SqlException instead of silently blanking
Brand sweep ("SQL Performance Studio" -> "Performance Studio"):
User-visible surfaces only — issue templates, .csproj <Product>,
VSIX manifest, vsct ButtonText, VSPackage.resx, AssemblyInfo,
all SSMS dialog titles + error messages, install.cmd, installer
console banner. Internal IDs (pipe name, registry key) and
Program-Files paths kept; legacy spaced "SQL Performance Studio"
Program-Files paths kept as additional fallbacks so existing
installs still launch.
Version unification:
- New src/Directory.Build.props centralizes Version + identity
for all SDK-style projects under src/
- Removed duplicated <Version>/<Authors>/<Company>/<Product>/
<Copyright> from App, Core, Cli, Web, Installer csprojs
- PlanViewer.Ssms is legacy non-SDK and bumped manually:
AssemblyInfo.cs 1.0.0.0 -> 1.10.0.0, vsixmanifest 1.0.0 -> 1.10.0
- Tests/server projects are outside src/ and unaffected
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Three logical chunks bundled into one PR — followups from a multi-agent review of
c90bff7(multi-DB Query Store overview).QueryStoreOverviewControl fixes
#888888→ themeForegroundMutedBrushat line 463.ShowWaitStatsErrorsmodal replaced with an inline⚠badge in the wait-stats panel header. Tooltip lists each[database] message. Clears automatically on a successful refresh.OnSlicerRangeChanged: stop disposing the previous CTS while the in-flight refresh still holds its token. Capture the new CTS in a local before assigning to_cts. TheDetachedFromVisualTreehandler still disposes on teardown — safe because nothing else is racing at that point.catch { }: replaced with aRefreshErrorBadgein Row 0 next to the LoadingBar. Tooltip surfacesex.Messageso a failed refresh no longer silently shows a blank chart. Cleared at the start of each new refresh attempt.Brand sweep ("SQL Performance Studio" → "Performance Studio")
User-visible surfaces only:
bug_report.yml,config.yml).csproj<Product>tags (Core, Web, Cli, Installer; App via inherited)DisplayName+Description,.vsctButtonText,VSPackage.resxAssemblyInfoDescription + ProductMessageBoxtitles and error strings inAnalyzePlanCommand.csAppLauncher.csinstall.cmduser-visible messages, installer console bannerCompatibility surfaces left unchanged: pipe name
SQLPerformanceStudio_OpenFile, registry keySOFTWARE\DarlingData\SQLPerformanceStudio, internal-ID Program-Files paths, legacyplan-bcandidate. Spaced "SQL Performance Studio" Program-Files paths preserved as additional fallbacks so existing installs still launch.Version unification
src/Directory.Build.propssetsVersion,Authors,Company,Product,Copyrightonce. Picked up by every SDK-style project undersrc/.PlanViewer.App,Core,Cli,Web,Ssms.Installercsprojs (all inherit now).PlanViewer.Ssmsis legacy non-SDK; bumped manually:Properties/AssemblyInfo.cs1.0.0.0 → 1.10.0.0 (×2)source.extension.vsixmanifest1.0.0 → 1.10.0PlanViewer.CliandPlanViewer.Appboth reportProductVersion=1.10.0+<sha>,FileVersion=1.10.0.0,ProductName=Performance Studio.tests/) and server (server/) projects are outsidesrc/and unaffected.Test plan
Performance Studioand1.10.01.10.0in the extension metadataC:\Program Files\SQL Performance Studio\available — confirm it still launches via the SSMS context menu🤖 Generated with Claude Code