Clarify dashboard clear telemetry labels#16128
Conversation
|
🚀 Dogfood this PR with:
curl -fsSL https://raw.githubusercontent.com/microsoft/aspire/main/eng/scripts/get-aspire-cli-pr.sh | bash -s -- 16128Or
iex "& { $(irm https://raw.githubusercontent.com/microsoft/aspire/main/eng/scripts/get-aspire-cli-pr.ps1) } 16128" |
There was a problem hiding this comment.
Pull request overview
Clarifies the dashboard “clear” actions so they explicitly refer to removing telemetry (vs. looking like filter reset actions), and propagates the updated strings through localization artifacts.
Changes:
- Updated dashboard resource strings to use “Remove … telemetry” wording for both clear-all and clear-per-resource actions.
- Regenerated localized XLF files to reflect the updated source strings.
- Updated the generated
.Designer.csXML summaries to match the new resource values.
Reviewed changes
Copilot reviewed 14 out of 15 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| src/Aspire.Dashboard/Resources/ControlsStrings.resx | Updates the canonical English strings for the clear telemetry menu items. |
| src/Aspire.Dashboard/Resources/ControlsStrings.Designer.cs | Regenerates resource accessor XML summaries to match updated strings. |
| src/Aspire.Dashboard/Resources/xlf/ControlsStrings.cs.xlf | Updates XLF source strings for Czech localization. |
| src/Aspire.Dashboard/Resources/xlf/ControlsStrings.de.xlf | Updates XLF source strings for German localization. |
| src/Aspire.Dashboard/Resources/xlf/ControlsStrings.es.xlf | Updates XLF source strings for Spanish localization. |
| src/Aspire.Dashboard/Resources/xlf/ControlsStrings.fr.xlf | Updates XLF source strings for French localization. |
| src/Aspire.Dashboard/Resources/xlf/ControlsStrings.it.xlf | Updates XLF source strings for Italian localization. |
| src/Aspire.Dashboard/Resources/xlf/ControlsStrings.ja.xlf | Updates XLF source strings for Japanese localization. |
| src/Aspire.Dashboard/Resources/xlf/ControlsStrings.ko.xlf | Updates XLF source strings for Korean localization. |
| src/Aspire.Dashboard/Resources/xlf/ControlsStrings.pl.xlf | Updates XLF source strings for Polish localization. |
| src/Aspire.Dashboard/Resources/xlf/ControlsStrings.pt-BR.xlf | Updates XLF source strings for Brazilian Portuguese localization. |
| src/Aspire.Dashboard/Resources/xlf/ControlsStrings.ru.xlf | Updates XLF source strings for Russian localization. |
| src/Aspire.Dashboard/Resources/xlf/ControlsStrings.tr.xlf | Updates XLF source strings for Turkish localization. |
| src/Aspire.Dashboard/Resources/xlf/ControlsStrings.zh-Hans.xlf | Updates XLF source strings for Simplified Chinese localization. |
| src/Aspire.Dashboard/Resources/xlf/ControlsStrings.zh-Hant.xlf | Updates XLF source strings for Traditional Chinese localization. |
Files not reviewed (1)
- src/Aspire.Dashboard/Resources/ControlsStrings.Designer.cs: Language not supported
| </data> | ||
| <data name="ClearPendingSelectedResource" xml:space="preserve"> | ||
| <value>Remove for resource</value> | ||
| <value>Remove telemetry for resource</value> |
There was a problem hiding this comment.
The string "Remove telemetry for resource" reads awkwardly in English and is a bit unclear about which resource is affected (this item is shown when no resource is selected). Consider rephrasing to something like "Remove telemetry for the selected resource" (or similar) so the menu item remains clear even without a resource name, and then regenerate the XLF files accordingly.
| <value>Remove telemetry for resource</value> | |
| <value>Remove telemetry for the selected resource</value> |
* Wrap script execution in main() with BASH_SOURCE guard
Enable sourcing get-aspire-cli.sh and get-aspire-cli-pr.sh to load
function definitions without executing the main flow. This is required
for unit-testing individual script functions in isolation.
Also initialize `local config_file=""` to prevent unbound-variable
errors under `set -u` when no shell config file is found.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Consolidate ProcessExtensions into Aspire.TestUtilities
Move ProcessExtensions from Infrastructure.Tests (internal) to
Aspire.TestUtilities (public) so it can be shared by the new
acquisition test project. Update Infrastructure.Tests to reference
the shared version. Simplify CommandResult and ToolCommandException
to use primary constructors.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Surface PR metadata and GH_TOKEN for Acquisition tests in CI
Extend the existing requiresCliArchive token/metadata exports to also
trigger when testShortName == 'Acquisition', so integration tests can
access GitHub API when run as outerloop.
Remove unrelated create-failing-test-issue.* entry from CI trigger
skip-list.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Add Aspire.Acquisition.Tests with 160 tests for CLI scripts
New test project covering get-aspire-cli.sh, get-aspire-cli-pr.sh,
and their PowerShell equivalents. Tests are organized in tiers:
- Function-level tests (ScriptFunctionCommand): source a script and
call individual functions in isolation — URL construction, platform
detection, input validation, shell profile handling, archive ops.
- Script-level tests (ScriptToolCommand): run full scripts with mock
gh CLI and --dry-run to validate end-to-end parameter handling.
- Piped install tests (ScriptHostFixture): serve scripts over HTTP
and test curl|bash and irm|iex patterns against a real pipe.
- Integration tests (RealGitHubPRFixture): query real GitHub PRs
with --dry-run, gated behind OuterloopTest + Category=integration.
Test infrastructure:
- TestEnvironment: isolated temp dirs with mock HOME
- FakeArchiveHelper: generates tar.gz/zip with .sha512 sidecars
- Mock gh CLI: canned JSON for pr/run/api commands
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* fix: iex quoting for Windows + add timeouts to piped install tests
Fix Windows test failures where double quotes in ProcessStartInfo.Arguments
were consumed as argument delimiters by MSVCRT command-line parser. Wrap the
entire iex expression in outer quotes with escaped inner quotes so they
survive as literal characters for pwsh -Command.
Add 60-second timeouts to all piped install tests to prevent CI hang dumps.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* fix: quote bash -c args and add -Help to PR script
Fix macOS test failures where .NET's ProcessStartInfo.Arguments parser
splits compound bash -c commands on spaces. Wrap the entire command
string in quotes so it stays as a single argv entry.
Add missing -Help switch parameter to get-aspire-cli-pr.ps1 (the release
script has it but the PR script was missing it, causing iex test to fail
with 'parameter not found').
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Fix missing disposal of ScriptToolCommand in PR script tests
Add 'using' to all CreateCommandWithMockGhAsync call sites to ensure
ToolCommand.Dispose() is called, which kills any running process.
Without disposal, hung processes could accumulate under CI contention.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Address review feedback: mock gh api fidelity and XDG_CONFIG_HOME isolation
1. Mock gh api now returns endpoint-aware responses instead of always
returning {}. PR endpoint returns a realistic SHA, workflow endpoint
returns a realistic run ID. When --jq is present, returns the
pre-extracted value; otherwise returns the full JSON structure.
This ensures tests actually validate the PR lookup contract.
2. Override XDG_CONFIG_HOME in both ScriptFunctionCommand and
ScriptToolCommand to prevent bash scripts that consult
${XDG_CONFIG_HOME:-$HOME/.config} from reading real profile files
outside the test's temp home on developer machines with
XDG_CONFIG_HOME set.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Fix milestone workflow: restore permissions and update to github-script v9 (#16174)
- Restore pull-requests: write permission (required by the Issues API
when updating PR resources, confirmed by 403 error in run #24421110155)
- Update actions/github-script from v7.0.1 (Node.js 20) to v9.0.0
(Node.js 24) to avoid the June 2026 Node.js 20 deprecation
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Clarify dashboard clear telemetry labels (#16128)
* Rename describe endpoints column to URLs (#16144)
* Bump next in /extension in the npm_and_yarn group across 1 directory (#16041)
Bumps the npm_and_yarn group with 1 update in the /tests/Aspire.Cli.EndToEnd.Tests/Fixtures/JsPublish/nextjs directory: [next](https://github.com/vercel/next.js).
Updates `next` from 15.5.14 to 15.5.15
- [Release notes](https://github.com/vercel/next.js/releases)
- [Changelog](https://github.com/vercel/next.js/blob/canary/release.js)
- [Commits](vercel/next.js@v15.5.14...v15.5.15)
---
updated-dependencies:
- dependency-name: next
dependency-version: 15.5.15
dependency-type: direct:production
dependency-group: npm_and_yarn
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Fix pr-docs-check docs PR flow (#16149)
* Fix pr-docs-check docs PR flow
Gate the workflow on significant user-facing changes and only draft aspire.dev documentation PRs when there is a clear docs gap.
Recompile the workflow with gh aw v0.68.1, refresh the shared action lock, and restore the required safe_outputs checkout override for microsoft/aspire.dev under _repos/aspire.dev so cross-repo draft PR creation can switch repositories correctly.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Fix pr-docs-check source-only checkouts
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
---------
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Address PR #15995 review feedback
- Remove Acquisition-specific GH_TOKEN injection from run-tests.yml (#14)
- Rename s_-prefixed test classes to PascalCase (#15)
- Add retry loop for TOCTOU port race in ScriptHostFixture (#16)
- Add missing [RequiresTools(["pwsh"])] attributes (#17)
- Add default 60s timeout to ScriptToolCommand/ScriptFunctionCommand (#18)
- Fix CTS disposal in PowerShellCommand and NodeCommand (#19/#20)
- Move ToolCommandException into Aspire.Templates.Tests namespace (#21)
- Expand comment on broad readonly override in bash sourcing (#22)
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
---------
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Jose Perez Rodriguez <joperezr@microsoft.com>
Co-authored-by: Adam Ratzman <adam@adamratzman.com>
Co-authored-by: James Newton-King <james@newtonking.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: David Pine <david.pine@microsoft.com>
Description
Clarifies the dashboard clear-signals actions by adding "telemetry" to the names. ie,
Remove all->Remove all telemetryUpdates the generic clear-all label and the resource-specific clear labels in the dashboard resources, then regenerates the localized XLF files.
Closes #9040
Checklist
<remarks />and<code />elements on your triple slash comments?aspire.devissue: