Skip to content

Content updates for release 13.2#293

Merged
eerhardt merged 184 commits intomainfrom
release/13.2
Mar 23, 2026
Merged

Content updates for release 13.2#293
eerhardt merged 184 commits intomainfrom
release/13.2

Conversation

@IEvangelist
Copy link
Copy Markdown
Member

@IEvangelist IEvangelist commented Jan 23, 2026

The release/13.2 branch is currently deployed to https://aka.ms/aspire/vnext.

@IEvangelist IEvangelist force-pushed the release/13.2 branch 4 times, most recently from 98fa033 to e95e6d8 Compare January 30, 2026 16:17
@IEvangelist IEvangelist force-pushed the release/13.2 branch 2 times, most recently from c3c80a5 to f29daa1 Compare February 7, 2026 03:59
@IEvangelist IEvangelist force-pushed the release/13.2 branch 2 times, most recently from 59bb625 to c671510 Compare February 18, 2026 14:10
Copilot AI and others added 22 commits February 19, 2026 07:25
* Initial plan

* Add WithBun() documentation to JavaScript integration page

Co-authored-by: IEvangelist <7679720+IEvangelist@users.noreply.github.com>

* Update Bun example to use specific version tag

Co-authored-by: IEvangelist <7679720+IEvangelist@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: IEvangelist <7679720+IEvangelist@users.noreply.github.com>
)

* Initial plan

* Add documentation for deployment slot support to Azure App Service

Co-authored-by: IEvangelist <7679720+IEvangelist@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: IEvangelist <7679720+IEvangelist@users.noreply.github.com>
- Created documentation for Azure Application Insights integration.
- Created documentation for Azure Data Explorer (Kusto) integration.
- Created documentation for Azure Log Analytics integration.
- Created documentation for Azure Data Lake Storage integration.
- Added `aspire doctor` command placeholder with redirect to main CLI command page.
- Added documentation for `aspire ps` command to list running AppHost processes.
- Added documentation for `aspire stop` command to stop running AppHost processes.
…#288)

* Initial plan

* Update ASPIRE008 diagnostic page for GenerateAssemblyInfo requirement

Co-authored-by: IEvangelist <7679720+IEvangelist@users.noreply.github.com>

* Update project file samples to modern 13.x format

Co-authored-by: IEvangelist <7679720+IEvangelist@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: IEvangelist <7679720+IEvangelist@users.noreply.github.com>
#277)

* Add polyglot AppHost documentation for TypeScript, Python, Go, Rust, and Java

* feat: enhance PivotSelector component with marginTop prop for better layout control (#302)

docs: update Polyglot AppHost documentation with new features and usage examples

docs: add link to Polyglot AppHost in resource model documentation

docs: include Polyglot AppHost reference in get-started guide for broader language support

style: import utility classes for padding and margin in site CSS

style: create utils.css for reusable padding and margin utility classes

* fix: format project structure in polyglot AppHost documentation for clarity

---------

Co-authored-by: David Pine <david.pine@microsoft.com>
- Created a new translation guide document in MDX format to assist contributors in translating the aspire.dev documentation.
- Added two new images for the translation page link and language selector in both light and dark themes.
- Included a detailed section on supported languages, translation status, best practices, and tips for translators.
- Added FooterPreferences component for user preferences (theme, language, keyboard shortcuts).
- Introduced FooterSocials component to display social media links.
- Updated Footer.astro to include new components and adjusted layout for preferences.
- Enhanced Header.astro to remove theme and language selectors, now located in the footer.
- Implemented auto-detection of user language on first visit in Head.astro.
- Adjusted styles for new components and improved responsiveness.
- Updated translations in various languages to include "preferences".
- Changed hideOnClick prop in Head.astro from 'toggle' to true for improved clarity.
- Removed fixed width and height from .starlight-sidebar-topics-icon to allow for flexible sizing.
- Adjusted icon size in .social-icons and .starlight-sidebar-topics-icon for consistency and better responsiveness.
davidfowl and others added 11 commits March 22, 2026 12:36
* Reframe existing app guide for JS and TS AppHosts

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Group getting started docs by AppHost language

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Refine AppHost language getting started copy

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Refactor documentation for clarity and consistency across AppHost guides

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: David Pine <david.pine@microsoft.com>
…NET-isms (#582)

* Fix certificate docs: validate TS samples, use aspire certs, remove .NET-isms

- Replace dotnet dev-certs with aspire certs trust/clean
- Fix TS samples: withDeveloperCertificateTrust takes boolean not object,
  withCertificateTrustScope takes CertificateTrustScope enum not string,
  withHttpsDeveloperCertificate takes options object, addNpmApp -> addNodeApp
- Remove TS samples for APIs not yet in TS SDK (withHttpsCertificate,
  withHttpsCertificateConfiguration, addCertificateAuthorityCollection,
  withCertificateTrustConfiguration, withContainerCertificatePaths)
- Add consistent 'not yet available in TypeScript AppHosts' notes
- Replace 'ASP.NET Core development certificate' with 'development certificate'

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Replace dotnet user-secrets with aspire secret set across docs

- persist-data-volumes.mdx: SQL password parameter
- secure-communication.mdx: MailDev username/password
- openai-get-started.mdx: OpenAI API key
- openai-host.mdx: OpenAI API key
- local-provisioning.mdx: Azure subscription/location

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Replace dotnet dev-certs with aspire certs trust in SDK templates doc

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Add link validation rules to doc-tester skill

- Require site-relative paths with trailing slashes
- Check for valid targets and anchors
- Add link checks to focus area templates

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* commit so i can grab latest 13.2 changes

* Tons of moves

* fixed ts slop

* Dashboard section improvements

* Fix broken links and malformed install code blocks in Aspire 13.2 What's New doc (#586)

* Initial plan

* Fix broken links and malformed install code blocks found by doc-tester

Co-authored-by: IEvangelist <7679720+IEvangelist@users.noreply.github.com>
Agent-Logs-Url: https://github.com/microsoft/aspire.dev/sessions/7eb3b1a7-0a30-436f-a036-7527613664f1

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: IEvangelist <7679720+IEvangelist@users.noreply.github.com>

* Address PR #584 review feedback

- Delete aspire.config.json upgrade tab (first release, nothing to update from)
- Reword CLI intro to emphasize exposing data from dashboard/apphost via CLI
- Remove 'Aspire SDK installation and version' from doctor checks (not yet implemented)
- Delete 'Non-interactive mode' section (not working yet)
- Delete 'Integration scaffolding with aspire template' section (doesn't exist)
- Apply JamesNK suggestions (JSON output, emoji alignment, data export title)

Image feedback (dark theme variants, red highlight outlines) noted but requires
manual image creation — not addressed in this commit.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Fix fabricated and broken code samples in 13.2 what's-new

- Remove DurableTaskScheduler section (PR #13711 not merged, no package)
- Remove Foundry TS sample (publishAsHostedAgent is AspireExportIgnore'd)
- Remove WithVolume on ProjectResource section (container-only API)
- Fix withMcpServer: takes options object, not string
- Fix Docker Compose: remove WithComposeFile (doesn't exist), fix description
  to 'publishing' not 'import'
- All remaining TS samples validated with tsc --noEmit against actual SDK

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Add validated Foundry TypeScript sample using local project reference

Validated addFoundry, addProject, addModelDeploymentFromModel, and
publishAsHostedAgent against actual TS SDK generated from local
Aspire.Hosting.Foundry csproj. All compile clean.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Note Foundry TypeScript support is in preview

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Mark TypeScript AppHost support as preview

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Remove aspire new --template (not in CLI yet)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Show aspire start --isolated alongside aspire run --isolated

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

---------

Co-authored-by: James Newton-King <james@newtonking.com>
Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com>
Co-authored-by: IEvangelist <7679720+IEvangelist@users.noreply.github.com>
Co-authored-by: David Fowler <davidfowl@gmail.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
* Add OTLP/HTTP endpoint mapping to standalone dashboard docs

* Update
Co-authored-by: Eric Erhardt <eric.erhardt@microsoft.com>
@eerhardt eerhardt marked this pull request as ready for review March 23, 2026 15:41
@eerhardt eerhardt requested a review from mitchdenny as a code owner March 23, 2026 15:41
Copilot AI review requested due to automatic review settings March 23, 2026 15:41
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates the Aspire site content and frontend components for release 13.2, including API-reference UX changes, new marketing/content components, refreshed CLI recordings, and repo/config maintenance (dependencies, redirects, workflows, and localization settings).

Changes:

  • Adds/updates Starlight overrides (Banner/Search/PageTitle/Head/MarkdownContent/Footer) to improve API-reference navigation, search behavior, and UI consistency.
  • Introduces several new frontend UI components (cards, showcases, grids) and API-reference rendering components; adjusts sidebar topics and redirects.
  • Updates scripts/dependencies/tooling (pnpm, package upgrades, new update scripts), repository links (dotnet → microsoft org), and CI/workflow configurations.

Reviewed changes

Copilot reviewed 137 out of 816 changed files in this pull request and generated 10 comments.

Show a summary per file
File Description
src/frontend/src/components/starlight/Search.astro Hides global search on API pages and injects an API-search notice into the search dialog
src/frontend/src/components/starlight/PageTitle.astro Adds PageTitle override and API-specific title handling
src/frontend/src/components/starlight/MarkdownContent.astro Adds optional breadcrumbs above markdown content
src/frontend/src/components/starlight/Head.astro Restores API sidebar collapsed state early; adds first-visit locale redirect; tooltip dismissal handling
src/frontend/src/components/starlight/Footer.astro Adds socials and preferences section; switches footer grid to 4 columns
src/frontend/src/components/starlight/Banner.astro Adds dismissible announcement banner with persistence
src/frontend/src/components/api-reference/inpage-search-sync.ts Adds URL ↔ in-page search/filter sync helper and clear-button wiring
src/frontend/src/components/api-reference/TypeSignature.astro Adds C# type signature rendering with constraints/bases links
src/frontend/src/components/api-reference/TsMemberCard.astro Adds TS member card adapter over shared base layout
src/frontend/src/components/api-reference/RemarksBlock.astro Adds consistent remarks styling/layout wrapper
src/frontend/src/components/api-reference/PolyglotAttributePanel.astro Adds ATS/polyglot attribute metadata panel rendering
src/frontend/src/components/api-reference/NuGetButton.astro Adds a NuGet link button component
src/frontend/src/components/api-reference/MemberSignatureName.astro Adds shared member signature name layout for multi-line parameter display
src/frontend/src/components/api-reference/MemberList.astro Adds grouped member list rendering with anchor headings
src/frontend/src/components/api-reference/MemberCardBase.astro Adds shared base layout for member cards with signature/params/returns slots
src/frontend/src/components/api-reference/InheritanceDiagram.astro Adds Mermaid-based inheritance/interface diagram rendering
src/frontend/src/components/api-reference/Examples.astro Adds example rendering with syntax highlighting and optional per-language titles
src/frontend/src/components/api-reference/EnumTable.astro Adds enum member list rendering with optional flags note
src/frontend/src/components/api-reference/AnchorHeading.astro Adds Starlight-compatible h2 anchor heading component
src/frontend/src/components/TestimonialCarousel.astro Standardizes carousel control icon sizing
src/frontend/src/components/TerminalShowcase.astro Adds terminal-style asciinema hero showcase component
src/frontend/src/components/StreamCard.astro Adds stream card component for embeds and outbound linking
src/frontend/src/components/SimpleAppHostCode.astro Adds C#/TypeScript AppHost tabbed code presentation and marker shifting
src/frontend/src/components/QuickStartJourney.astro Adds step-based journey component for quickstart navigation
src/frontend/src/components/PivotSelector.astro Adds optional marginTop prop and CSS var wiring for layout flexibility
src/frontend/src/components/OsAwareTabs.astro Normalizes imports and provides a default syncKey value
src/frontend/src/components/LicenseBadge.astro Adds tooltipable license badge that renders icon markup
src/frontend/src/components/IntegrationTotals.astro Refines totals card styling and responsive behavior
src/frontend/src/components/IntegrationGrid.astro Renames Azure AI Foundry display/search metadata
src/frontend/src/components/IntegrationCard.astro Adjusts icon sizes for downloads/links/docs
src/frontend/src/components/InstallAspireCLI.astro Updates poster frame and loop behavior for help recording
src/frontend/src/components/InfinitePosts.astro Removes the Bluesky infinite posts component
src/frontend/src/components/ImageShowcase.astro Adds split text/image showcase with zoom support
src/frontend/src/components/FooterSocials.astro Adds footer socials row rendering from config
src/frontend/src/components/FooterResources.astro Updates Releases link to microsoft/aspire
src/frontend/src/components/FooterLinks.astro Replaces StackOverflow “Ask” link with X account link
src/frontend/src/components/FeatureShowcase.astro Adds bento-style feature grid component
src/frontend/src/components/Expand.astro Improves summary overflow behavior and hover/active scoping
src/frontend/src/components/CapabilityGrid.astro Adds capability grid component with optional linking
src/frontend/src/components/CTABanner.astro Adds CTA banner component with primary/secondary actions
src/frontend/scripts/update-ts-api.js Adds script to regenerate TS API reference data via PowerShell tool
src/frontend/scripts/update-github-stats.js Updates tracked repo from dotnet/aspire to microsoft/aspire
src/frontend/scripts/aspire-package-source.js Adds logic to resolve Aspire nuget source based on release branches/feeds
src/frontend/public/casts/aspire-wait.cast Adds new CLI help recording
src/frontend/public/casts/aspire-version.cast Updates version recording to 13.2 using pwsh
src/frontend/public/casts/aspire-update.cast Adds new CLI help recording
src/frontend/public/casts/aspire-stop.cast Adds new CLI recording for stop
src/frontend/public/casts/aspire-publish.cast Adds new CLI help recording
src/frontend/public/casts/aspire-ps.cast Adds new CLI recording for ps
src/frontend/public/casts/aspire-otel.cast Adds new CLI help recording
src/frontend/public/casts/aspire-otel-traces.cast Adds new CLI help recording
src/frontend/public/casts/aspire-otel-spans.cast Adds new CLI help recording
src/frontend/public/casts/aspire-otel-logs.cast Adds new CLI help recording
src/frontend/public/casts/aspire-init.cast Adds new CLI help recording
src/frontend/public/casts/aspire-help.cast Updates help recording to new CLI command set
src/frontend/public/casts/aspire-doctor.cast Adds new CLI help recording
src/frontend/public/casts/aspire-docs.cast Adds new CLI help recording
src/frontend/public/casts/aspire-docs-search.cast Adds new CLI help recording
src/frontend/public/casts/aspire-docs-list.cast Adds new CLI help recording
src/frontend/public/casts/aspire-docs-get.cast Adds new CLI help recording
src/frontend/public/casts/aspire-do.cast Adds new CLI help recording
src/frontend/public/casts/aspire-deploy.cast Adds new CLI help recording
src/frontend/public/casts/aspire-config.cast Adds new CLI help recording
src/frontend/public/casts/aspire-config-set.cast Adds new CLI help recording
src/frontend/public/casts/aspire-config-list.cast Adds new CLI interactive output recording
src/frontend/public/casts/aspire-config-get.cast Adds new CLI output recording
src/frontend/public/casts/aspire-config-delete.cast Adds new CLI help recording
src/frontend/public/casts/aspire-cache.cast Adds new CLI help recording
src/frontend/public/casts/aspire-cache-clear.cast Adds new CLI help recording
src/frontend/public/casts/aspire-banner.cast Adds new CLI banner recording
src/frontend/public/casts/aspire-agent.cast Adds new CLI help recording
src/frontend/public/casts/aspire-agent-mcp.cast Adds new CLI help recording including verbose info output
src/frontend/public/casts/aspire-add.cast Adds new CLI help recording
src/frontend/public/casts/agent-init.cast Adds new interactive recording for agent init
src/frontend/package.json Bumps pnpm + deps; adds update scripts; adds pnpm overrides
src/frontend/lunaria/components.ts Updates translation guide link to site route
src/frontend/lunaria.config.json Ignores API reference in i18n; updates dashboard site/favicon links
src/frontend/config/socials.config.ts Updates GitHub repo link to microsoft org
src/frontend/config/sidebar/sidebar.topics.ts Removes diagnostics topic from sidebar
src/frontend/config/sidebar/integrations.topics.ts Updates topics structure, adds/renames pages, adds new integration entries
src/frontend/config/sidebar/diagnostic.topics.ts Removes diagnostics sidebar topic definition
src/frontend/config/sidebar/deployment.topics.ts Updates deployment topic root link and adds top-level landing slug
src/frontend/config/sidebar/dashboard.topics.ts Updates dashboard topic root link and adds top-level landing slug
src/frontend/config/sidebar/community.topics.ts Adds translation guide + thanks pages; removes BlueSky section entry
src/frontend/config/redirects.mjs Adds multiple redirects for moved/renamed pages and CLI command renames
src/frontend/config/head.attrs.ts Updates meta description/keywords/twitter description to new messaging
src/frontend/astro.config.mjs Adds route middleware, Banner/PageTitle overrides, plugin/config adjustments
README.md Updates project summary text
CONTRIBUTING.md Adds translation contribution section and links
AGENTS.md Removes Copilot instructions doc
.vscode/settings.json Switches formatter IDs to esbenp.prettier-vscode
.vscode/mcp.json Updates Aspire MCP command from mcp start to agent mcp and removes Playwright MCP entry
.playwright/cli.config.json Adds default Playwright CLI configuration
.github/workflows/security-scan.yml Pins actions by commit SHA and adjusts steps
.github/workflows/integration.yml Pins actions, disables Astro telemetry in build env, updates artifact upload
.github/workflows/frontend-build.yml Pins actions, disables Astro telemetry in build env, updates artifact upload
.github/workflows/apphost-build.yml Pins actions and updates artifact upload
.github/skills/update-samples/SKILL.md Adds skill documentation for updating samples catalog
.github/skills/playwright-cli/SKILL.md Adds skill documentation for Playwright CLI usage
.github/skills/doc-writer/SKILL.md Updates docs guidance (telemetry note, Tabs syncKey, new component sections)
.github/skills/doc-tester/SKILL.md Updates testing guidance, link validation rules, and repo references
.github/prompts/update-integrations.prompt.md Removes old prompt doc
.github/prompts/migrate-from-learn.prompt.md Removes old migration prompt doc
.github/policies/auto-merge.yml Removes old auto-merge policy config
.github/dependabot.yml Adds Dependabot config for npm updates
.github/CODEOWNERS Adjusts code ownership entries for workflows and compute docs
.dockerignore Stops excluding tests from Docker context
Comments suppressed due to low confidence (1)

src/frontend/src/components/starlight/Head.astro:1

  • This script accesses localStorage without a try/catch. In some environments (e.g., restrictive privacy modes, disabled storage, embedded contexts), localStorage access can throw and break the rest of the script execution on first paint. Wrap both getItem and setItem (and the redirect block) in a try { ... } catch {} similar to the earlier sidebar-collapsed script.
---

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +39 to +40
const existing = (window as any).__apiNoticeObserver as MutationObserver | undefined;
if (existing) existing.disconnect();
Copy link

Copilot AI Mar 23, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The inline <script> in an .astro file is parsed as JavaScript, but this code uses TypeScript-only syntax (window as any and the as MutationObserver | undefined assertion). This will cause a syntax error in the browser (and likely during build). Define a plain JS global (e.g., window.__apiNoticeObserver) without TS casts, or move this logic to a .ts module that gets compiled and imported.

Copilot uses AI. Check for mistakes.
});

observer.observe(siteSearch, { childList: true, subtree: true });
(window as any).__apiNoticeObserver = observer;
Copy link

Copilot AI Mar 23, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The inline <script> in an .astro file is parsed as JavaScript, but this code uses TypeScript-only syntax (window as any and the as MutationObserver | undefined assertion). This will cause a syntax error in the browser (and likely during build). Define a plain JS global (e.g., window.__apiNoticeObserver) without TS casts, or move this logic to a .ts module that gets compiled and imported.

Copilot uses AI. Check for mistakes.
<div class="social-icons-row">
<a
href="/rss.xml"
rel="no"
Copy link

Copilot AI Mar 23, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The RSS link has duplicate rel attributes, which is invalid HTML; only one will be applied. Also rel=\"no\" is not a valid relationship value. Replace with a single rel attribute (e.g., rel=\"noopener noreferrer\") and remove the invalid value.

Suggested change
rel="no"

Copilot uses AI. Check for mistakes.
Comment on lines +16 to 19
<a href="https://x.com/aspiredotdev" target="_blank">
<Icon name="x.com" size="1em" />
Follow
</a>
Copy link

Copilot AI Mar 23, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This external link uses target=\"_blank\" without rel=\"noopener noreferrer\", which enables reverse-tabnabbing. Add rel=\"noopener noreferrer\" to match the pattern used elsewhere in the repo for external links.

Copilot uses AI. Check for mistakes.
Comment on lines +10 to +13
const iconMarkup = icon.replace(
'<svg ',
'<svg class="thanks-license-icon" aria-hidden="true" focusable="false" '
);
Copy link

Copilot AI Mar 23, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Rendering iconMarkup via set:html can introduce XSS if icon is ever influenced by untrusted input (it only takes one unexpected string containing scripts/handlers). If this is intended to only accept trusted SVGs, enforce that assumption in code by whitelisting expected SVG sources (or validate/sanitize the SVG markup) rather than accepting an arbitrary string.

Copilot uses AI. Check for mistakes.
aria-label={`License: ${title}`}
target="_blank"
rel="noreferrer"
set:html={iconMarkup}
Copy link

Copilot AI Mar 23, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Rendering iconMarkup via set:html can introduce XSS if icon is ever influenced by untrusted input (it only takes one unexpected string containing scripts/handlers). If this is intended to only accept trusted SVGs, enforce that assumption in code by whitelisting expected SVG sources (or validate/sanitize the SVG markup) rather than accepting an arbitrary string.

Copilot uses AI. Check for mistakes.
title={title}
data-tooltip-placement="top"
aria-label={`License: ${title}`}
set:html={iconMarkup}
Copy link

Copilot AI Mar 23, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Rendering iconMarkup via set:html can introduce XSS if icon is ever influenced by untrusted input (it only takes one unexpected string containing scripts/handlers). If this is intended to only accept trusted SVGs, enforce that assumption in code by whitelisting expected SVG sources (or validate/sanitize the SVG markup) rather than accepting an arbitrary string.

Copilot uses AI. Check for mistakes.
Comment on lines +15 to +21
constructor(prefix: string, onClear: () => void) {
this.input = document.getElementById(`${prefix}-search-input`) as HTMLInputElement;
this.clearBtn = document.getElementById(`${prefix}-search-clear`) as HTMLElement;
this.onClear = onClear;

this.input.addEventListener('input', () => this.updateClearButton());
this.clearBtn.addEventListener('click', () => {
Copy link

Copilot AI Mar 23, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The constructor casts getElementById(...) results and immediately uses them. If the expected elements aren’t present (wrong prefix, markup changes, or partial renders), this will throw at runtime. Prefer validating the elements and either (a) throwing a clear error message that includes the prefix, or (b) no-op’ing safely when elements are missing, depending on how this helper is used.

Copilot uses AI. Check for mistakes.
Comment on lines +4 to +12
directories:
- "/"
- "/src/frontend"
schedule:
interval: "weekly"
groups:
npm-all:
patterns:
- "*"
Copy link

Copilot AI Mar 23, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Dependabot’s config schema uses directory (singular) per update entry; directories is not a valid key. As written, Dependabot will ignore this update configuration. Split this into two separate updates entries (one for / and one for /src/frontend) or use the supported schema for multiple directories.

Suggested change
directories:
- "/"
- "/src/frontend"
schedule:
interval: "weekly"
groups:
npm-all:
patterns:
- "*"
directory: "/"
schedule:
interval: "weekly"
groups:
npm-all:
patterns:
- "*"
- package-ecosystem: "npm"
directory: "/src/frontend"
schedule:
interval: "weekly"
groups:
npm-all:
patterns:
- "*"

Copilot uses AI. Check for mistakes.
},
editLink: {
baseUrl: 'https://github.com/microsoft/aspire.dev/edit/main/src/frontend/',
baseUrl: 'https://github.com/microsoft/aspire.dev/main/src/frontend/',
Copy link

Copilot AI Mar 23, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Starlight’s editLink.baseUrl is expected to point at an editor-friendly URL (commonly GitHub’s /edit/<branch>/... path). This change removes /edit/ and will likely produce broken or non-editing links. Use a GitHub edit URL base (e.g., https://github.com/microsoft/aspire.dev/edit/main/src/frontend/) so generated edit links work as intended.

Suggested change
baseUrl: 'https://github.com/microsoft/aspire.dev/main/src/frontend/',
baseUrl: 'https://github.com/microsoft/aspire.dev/edit/main/src/frontend/',

Copilot uses AI. Check for mistakes.
@eerhardt
Copy link
Copy Markdown
Member

@IEvangelist - can you make sure to follow up with any feedback above that needs to be addressed?

@eerhardt eerhardt enabled auto-merge (squash) March 23, 2026 15:50
eerhardt and others added 4 commits March 23, 2026 11:25
* fix whats new extension link, update all 3 references to aka.ms link

* Apply suggestion from @eerhardt

---------

Co-authored-by: Eric Erhardt <eric.erhardt@microsoft.com>
@eerhardt eerhardt merged commit 6f0d51c into main Mar 23, 2026
7 checks passed
@eerhardt eerhardt deleted the release/13.2 branch March 23, 2026 17:23
@eerhardt eerhardt restored the release/13.2 branch March 23, 2026 17:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.