Skip to content

Release v1.13.1#2948

Merged
nighca merged 21 commits intomainfrom
dev
Mar 13, 2026
Merged

Release v1.13.1#2948
nighca merged 21 commits intomainfrom
dev

Conversation

@nighca
Copy link
Copy Markdown
Collaborator

@nighca nighca commented Mar 13, 2026

aofei and others added 19 commits March 6, 2026 16:51
- Add `client.patch` and remove obsolete `client.put`
- Update user, project, asset, course, and course-series update calls

Updates #2892

Signed-off-by: Aofei Sheng <aofei@aofeisheng.com>
Bumps the infrastructure group with 3 updates: [docker/setup-buildx-action](https://github.com/docker/setup-buildx-action), [docker/login-action](https://github.com/docker/login-action) and [docker/build-push-action](https://github.com/docker/build-push-action).


Updates `docker/setup-buildx-action` from 3 to 4
- [Release notes](https://github.com/docker/setup-buildx-action/releases)
- [Commits](docker/setup-buildx-action@v3...v4)

Updates `docker/login-action` from 3 to 4
- [Release notes](https://github.com/docker/login-action/releases)
- [Commits](docker/login-action@v3...v4)

Updates `docker/build-push-action` from 6 to 7
- [Release notes](https://github.com/docker/build-push-action/releases)
- [Commits](docker/build-push-action@v6...v7)

---
updated-dependencies:
- dependency-name: docker/setup-buildx-action
  dependency-version: '4'
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: infrastructure
- dependency-name: docker/login-action
  dependency-version: '4'
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: infrastructure
- dependency-name: docker/build-push-action
  dependency-version: '7'
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: infrastructure
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* fix(spx-gui): stabilize AI asset generation ETA display

Fixes #2919

The previous implementation derived `timeLeft` from the estimated progress
percentage using the quadratic curve: `timeLeft = timeCost * (1 - percentage)`.
Because the quadratic function advances very fast in early intervals, the ETA
could drop from ~3 minutes to ~1.5 minutes within just 18 seconds, making
the display feel unreliable and fake.

Changes:
- `progress.ts`: Switch `startAutoReport` to use wall-clock elapsed time for
  ETA calculation (`timeLeft = max(0, timeCost - elapsed)`) instead of
  percentage-based estimation. The progress curve (quadratic) is kept for the
  visual progress bar, but ETA now decreases at a stable ~1 second per second,
  independent of the progress model.
- `common.ts`: Update video generation default estimated duration from 150s
  (2.5 min) to 180s (3 min) as specified in the issue.
- `progress.test.ts`: Update test expectations to reflect that timeLeft is now
  wall-clock based (non-increasing, clamped to [0, timeCost]).

Generated with [codeagent](https://github.com/qbox/codeagent)
Co-authored-by: nighca <1492263+nighca@users.noreply.github.com>

* fix(spx-gui): use linear algorithm for both progress and ETA

Replace the quadratic progress curve with a linear one and derive ETA
directly from the linear progress, so progress bar and ETA remain
consistent with each other.

Generated with [codeagent](https://github.com/qbox/codeagent)
Co-authored-by: nighca <1492263+nighca@users.noreply.github.com>

* fix(spx-gui): linear algorithm reaches 0.99 at estimated time cost

Fix the `startAutoReport` linear algorithm so percentage reaches exactly
0.99 at `timeCost` instead of at `2 * timeCost`.

Previously: `percentage = (times / maxTimes) * maxPercentage` where
`maxTimes = 2 * estimatedTimes` — so at `timeCost` only 0.495 was reached.

Now: `percentage = min(0.99, (elapsed / timeCost) * 0.99)` and
`timeLeft = max(0, timeCost - elapsed)`, both using wall-clock elapsed
time to guarantee 0.99 accuracy at the estimated time cost.

Update unit tests to verify the 0.99 target is met and adjust call
count expectations accordingly.

Generated with [codeagent](https://github.com/qbox/codeagent)
Co-authored-by: nighca <1492263+nighca@users.noreply.github.com>

* fix(spx-gui): derive timeLeft from percentage for consistency

Make `timeLeft` consistent with `percentage` by deriving it from the
progress value instead of wall-clock elapsed time:
  `timeLeft = timeCost * (1 - percentage)`

This ensures `percentage + timeLeft/timeCost = 1` at all times, so
the ETA display is coherent with the progress bar. Since `percentage`
is capped at 0.99, `timeLeft` approaches `0.01 * timeCost` at the
estimated time cost — never reaching 0 until `percentage: 1` is
manually reported on actual completion.

Update unit tests to verify the new consistency invariant and correct
the final-report assertions accordingly.

Generated with [codeagent](https://github.com/qbox/codeagent)
Co-authored-by: nighca <1492263+nighca@users.noreply.github.com>

---------

Co-authored-by: xgopilot <noreply@goplus.org>
Co-authored-by: nighca <1492263+nighca@users.noreply.github.com>
…icrosoft Edge' (#2937)

* fix: normalize browser name to handle bowser aliases like 'Microsoft Edge'

* optimize code
Update `install-spx.sh` to try the GitHub release asset first and fall
back to downloading `ghcr.io/goplus/spx:web-zip-<version>` from GHCR
with `wget` for pseudo-versioned runtimes.

Align Docker and Vercel with the lighter install flow. Keep the runtime
installation on the Node install path and avoid requiring Go there.

Bump the project Go toolchain to 1.25 across Docker, Vercel, CI, and
the `tools/ai`, `tools/ispx`, and `tools/spxls` modules.

Refresh `spx` to
`2.0.0-pre.46.0.20260311090023-f1d975cfeca5` across the runtime
defaults and tool modules, and bump `xgolsw` to
`0.16.2-0.20260311065322-dd7cbc43c3b4` while keeping the ixgo-based
toolchain on versions that no longer require the old `linkname` flags.

Update the local Wasm build toolchain to match the new runtime bundle
flow and dependency versions.

Updates goplus/spx#1348

Signed-off-by: Aofei Sheng <aofei@aofeisheng.com>
* rebase

* fix: sentinel value '$stage' leaks if project file contains target: "$stage"

* optimize code

* add comment
* feat: add AI-based asset description generation endpoint

* feat: update asset description endpoint to support multimodal input and enhance documentation
* Initial plan

* chore(deps): bump spx to v2.0.0-pre.47

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
… quick entries (#2927)

* move sound editor into stage editor tabs and add stage quick entries

* add v-radar to stage quick entries & optimize sounds empty styles

* dispose sounds state & remove redundant return

* remove legacy components

* reorder stage tabs and adjust stage panel layout

* add test cases

* set minimum height of panel content

* scroll area change to quick entries
Add a two-step username modification flow to profile editing and update
profile surfaces to show the username inline with copy actions.

- Add `username` to `PATCH /user`, frontend update params, and signed-in
  user state
- Add `useModifySignedInUsername` to invalidate old and new user caches
  and preserve the current route after rename
- Add `ModifyUsernameModal` with validation and a shared warning modal
- Rework `EditProfileModal` and `UserHeader` around a shared
  `UserUsernameInline` display with copy and modify actions
- Add `copyAltFilled` to `UIIcon` and remove the joined-at icon to match
  the updated design

Signed-off-by: Aofei Sheng <aofei@aofeisheng.com>
…uffer (#2933)

* feat(spx-gui): Implement circular buffer for runtime outputs with configurable max size and stable IDs.(#2812)

* feat(spx-gui): Implement output virtualization in ConsolePanel to improve performance with large logs.

* feat(spx-gui): Cache runtime outputs and enforce a safe upper bound for the maximum number of outputs.

* feat(spx-gui): Throttle runtime output change events and remove console panel virtualization.

* refactor(spx-gui): Improve runtime output caching with a dirty flag and reactive tick, and reduce default max outputs.

* refactor(spx-gui): improve output ring buffer reset logic and explicitly clear the output cache.

* refactor(spx-gui): replace manual loops with `splice` and `fill` for array manipulation in `resetOutputs`.

* refactor(spx-gui): use Vue refs for Runtime state and expose outputs as a throttled snapshot

* refactor(spx-gui): Improve runtime output change event throttling by utilizing requestAnimationFrame with a setTimeout fallback.

* feat(spx-gui): Remove configurable maximum console output limit, fixing it to a default value.

* refactor(spx-gui): streamline output flush scheduling to exclusively use `requestAnimationFrame`

---------

Co-authored-by: corcton <corton001@gmail.com>
@gemini-code-assist
Copy link
Copy Markdown

Summary of Changes

Hello, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request focuses on a major architectural shift for the code editor, making it more modular and extensible for future XGo frameworks. It also brings significant updates to the AI capabilities with a new SSE streaming endpoint for Copilot and an API for generating asset descriptions. Core infrastructure updates include a Go version bump and enhanced user profile management features.

Highlights

  • Go Version Upgrade: The project's Go version has been updated to 1.25.8 across the Dockerfile, VSCode tasks, and go.mod files, ensuring compatibility with the latest Go features and improvements.
  • Copilot API Enhancements: A new Server-Sent Events (SSE) streaming endpoint has been introduced for the Copilot API, allowing for real-time, incremental delivery of AI responses and tool calls. The existing streaming endpoint is now marked as legacy.
  • Code Editor Refactoring: The code editor has undergone a significant architectural refactoring, separating it into a generic, framework-agnostic xgo-code-editor layer and a specific spx-code-editor layer. This design enables easier integration of other XGo class frameworks in the future.
  • AI Asset Description API: A new API endpoint /aigc/asset/description has been added to generate AI-powered descriptions for assets, supporting multimodal input (text and image).
  • User Profile Management: Users can now modify their usernames, with appropriate warning modals to inform about potential impacts on URLs and shared links. The UpdateSignedInUserParams now includes a username field.
  • SPX Agent Updates: The spx-upgrader agent's responsibilities have been updated to support pseudo-versions and fetching SPX web assets from GitHub Container Registry (GHCR) when GitHub Releases are not available.

🧠 New Feature in Public Preview: You can now enable Memory to help Gemini Code Assist learn from your team's feedback. This makes future code reviews more consistent and personalized to your project's style. Click here to enable Memory in your admin console.

Changelog
  • .github/agents/spx-upgrader.md
    • Updated agent responsibilities to support pseudo-versions and GHCR for SPX web assets.
  • Dockerfile
    • Updated GO_BASE_IMAGE to golang:1.25.8.
  • docs/develop/generalization/code-editor.md
    • Added new documentation detailing the code editor generalization architecture.
  • docs/develop/generalization/project.md
    • Added new documentation explaining the project model generalization.
  • docs/openapi.yaml
    • Added new /aigc/asset/description endpoint for AI-generated asset descriptions.
    • Introduced /copilot/sse/message for structured Server-Sent Events streaming.
    • Updated /copilot/message and /copilot/stream/message to reference a new CopilotMessageRequest schema.
    • Added username property to user update schema.
    • Added lang parameter to AIGC enrichment endpoints.
  • spx-gui/.env
    • Updated VITE_SPX_VERSION to 2.0.0-pre.47.
  • spx-gui/.prettierignore
    • Updated paths to reflect the xgo-code-editor and xgo utility structure.
  • spx-gui/.vscode/tasks.json
    • Updated GOTOOLCHAIN to go1.25.8.
  • spx-gui/README.md
    • Updated Go environment requirement to >= 1.25.0.
  • spx-gui/eslint.config.js
    • Updated path to xgo-code-editor and added argsIgnorePattern to no-unused-vars rule.
  • spx-gui/install-spx.sh
    • Updated SPX_VERSION and enhanced logic to fetch SPX web assets from GitHub Releases or GHCR, supporting pseudo-versions.
  • spx-gui/src/apis/aigc.ts
    • Refactored API function signatures to remove unnecessary async keywords.
    • Added lang parameter to AIGC enrichment functions.
  • spx-gui/src/apis/asset.ts
    • Changed updateAsset HTTP method from PUT to PATCH.
  • spx-gui/src/apis/common/client.ts
    • Removed put method and added postJSONSSE method for SSE streaming.
  • spx-gui/src/apis/copilot.test.ts
    • Added new test cases for generateSSEMessage and tool definitions.
  • spx-gui/src/apis/copilot.ts
    • Refactored Message type to support tool calls and introduced MessageEvent types for SSE streaming.
    • Renamed generateStreamMessage to generateSSEMessage and updated its return type.
  • spx-gui/src/apis/course-series.ts
    • Refactored API function signatures to remove unnecessary async keywords.
    • Changed updateCourseSeries HTTP method from PUT to PATCH.
  • spx-gui/src/apis/course.ts
    • Refactored API function signatures to remove unnecessary async keywords.
    • Changed updateCourse HTTP method from PUT to PATCH.
  • spx-gui/src/apis/project.ts
    • Refactored API function signatures to remove unnecessary async keywords.
  • spx-gui/src/apis/sb2xbp.ts
    • Added type assertion for Blob return type.
  • spx-gui/src/apis/user.ts
    • Refactored API function signatures to remove unnecessary async keywords.
    • Added username to UpdateSignedInUserParams.
    • Changed updateSignedInUser HTTP method from PUT to PATCH.
  • spx-gui/src/components/agent-copilot/markdown/CodeView.vue
    • Changed default language to xgo and updated language detection logic.
  • spx-gui/src/components/agent-copilot/markdown/FileContent.vue
    • Changed determinedLanguage to xgo.
  • spx-gui/src/components/app/browser-check/browser-version.ts
    • Improved browser name normalization and type safety for recommendedBrowserVersions.
  • spx-gui/src/components/asset/BlobSoundPlayer.vue
    • Updated import path for SoundPlayer.
  • spx-gui/src/components/asset/index.ts
    • Updated import paths for SoundRecorderModal and code editor contexts/functions.
    • Modified useRenameSprite to update monitor targets when a sprite is renamed.
  • spx-gui/src/components/asset/library/AssetLibraryModal.vue
    • Updated BackdropGen constructor to pass i18n.
  • spx-gui/src/components/asset/library/SoundItem.vue
    • Updated import path for SoundPlayer.
  • spx-gui/src/components/asset/library/SoundPreview.vue
    • Updated import path for SoundPlayer.
  • spx-gui/src/components/asset/library/management/SoundItem.vue
    • Updated import path for SoundPlayer.
  • spx-gui/src/components/common/CodeView.vue
    • Changed default language to xgo and updated language detection logic.
  • spx-gui/src/components/common/ModificationWarningModal.vue
    • Renamed from ProjectModifyNameWarningModal.vue and generalized the modal component for modification warnings.
  • spx-gui/src/components/community/user/EditProfileModal.vue
    • Integrated UserUsernameInline component and added logic to handle username modification.
  • spx-gui/src/components/community/user/ModifyUsernameModal.vue
    • Added new component for modifying username.
  • spx-gui/src/components/community/user/UserHeader.vue
    • Integrated UserUsernameInline component and added logic to update route after username modification.
  • spx-gui/src/components/community/user/UserJoinedAt.vue
    • Removed calendar icon and adjusted styling.
  • spx-gui/src/components/community/user/UserUsernameInline.vue
    • Added new component for displaying and modifying username inline.
  • spx-gui/src/components/community/user/index.ts
    • Added useModifyUsername hook utilizing the new warning and modification modals.
  • spx-gui/src/components/copilot/CopilotRoot.vue
    • Refactored Copilot context provision and updated tool/context providers to use codeEditorRef.
    • Removed toolUse custom element.
  • spx-gui/src/components/copilot/CopilotRound.vue
    • Updated CopilotMessage content access to check for null.
  • spx-gui/src/components/copilot/CopilotUI.vue
    • Updated import path for useCopilot.
  • spx-gui/src/components/copilot/MarkdownView.vue
    • Updated import path for useCopilot.
  • spx-gui/src/components/copilot/context.ts
    • Added new file to provide Copilot context.
  • spx-gui/src/components/copilot/copilot.test.ts
    • Updated tests for new SSE message generation, tool call accumulation, and message conversion.
  • spx-gui/src/components/copilot/copilot.ts
    • Refactored message handling to support SSE streaming and tool calls.
    • Removed legacy toolUseTagName and findCustomComponentUsages.
    • Updated toApiMessage and sampleApiMessages functions.
  • spx-gui/src/components/copilot/custom-elements/CodeBlock.vue
    • Updated import path for useCodeEditorRef.
  • spx-gui/src/components/copilot/custom-elements/CodeChange.vue
    • Updated import path for CodeLink and useCodeEditorRef.
    • Changed removeLineCount attribute name to remove-line-count.
  • spx-gui/src/components/copilot/custom-elements/CodeLink.ts
    • Updated import path for CodeLink from spx-code-editor.
  • spx-gui/src/components/copilot/custom-elements/ToolUse.ts
    • Removed ToolUse.ts.
  • spx-gui/src/components/copilot/tool-call.test.ts
    • Added new test file for tool call accumulation and finalization.
  • spx-gui/src/components/copilot/tool-call.ts
    • Added new file for tool call draft management.
  • spx-gui/src/components/editor/EditorContextProvider.vue
    • Changed SpxProject import to type-only.
  • spx-gui/src/components/editor/ProjectEditor.vue
    • Removed SoundEditor and adjusted conditional rendering for SpriteEditor.
  • spx-gui/src/components/editor/code-editor/spx-code-editor/CodeLink.vue
    • Renamed from CodeLink.vue and moved to spx-specific folder.
    • Updated imports.
  • spx-gui/src/components/editor/code-editor/spx-code-editor/FormatButton.vue
    • Renamed from FormatButton.vue and moved to spx-specific folder.
    • Updated imports.
  • spx-gui/src/components/editor/code-editor/spx-code-editor/api-reference/icons/control.svg
    • Moved to spx-specific folder.
  • spx-gui/src/components/editor/code-editor/spx-code-editor/api-reference/icons/event.svg
    • Moved to spx-specific folder.
  • spx-gui/src/components/editor/code-editor/spx-code-editor/api-reference/icons/game.svg
    • Moved to spx-specific folder.
  • spx-gui/src/components/editor/code-editor/spx-code-editor/api-reference/icons/look.svg
    • Moved to spx-specific folder.
  • spx-gui/src/components/editor/code-editor/spx-code-editor/api-reference/icons/motion.svg
    • Moved to spx-specific folder.
  • spx-gui/src/components/editor/code-editor/spx-code-editor/api-reference/icons/sensing.svg
    • Moved to spx-specific folder.
  • spx-gui/src/components/editor/code-editor/spx-code-editor/api-reference/icons/sound.svg
    • Moved to spx-specific folder.
  • spx-gui/src/components/editor/code-editor/spx-code-editor/api-reference/index.ts
    • Added new file for SPX API reference provider.
  • spx-gui/src/components/editor/code-editor/spx-code-editor/common.ts
    • Added new file for SPX-specific common types and utilities.
  • spx-gui/src/components/editor/code-editor/spx-code-editor/context.ts
    • Added new file for SPX-specific code editor context.
  • spx-gui/src/components/editor/code-editor/spx-code-editor/diagnostics.ts
    • Added new file for SPX-specific diagnostics provider.
  • spx-gui/src/components/editor/code-editor/spx-code-editor/document-base/common.ts
    • Renamed from document-base/spx/common.ts and moved to spx-specific folder.
  • spx-gui/src/components/editor/code-editor/spx-code-editor/document-base/helpers.ts
    • Renamed from document-base/helpers.ts and moved to spx-specific folder.
    • Updated imports.
  • spx-gui/src/components/editor/code-editor/spx-code-editor/document-base/index.ts
    • Renamed from document-base/spx/index.ts and moved to spx-specific folder.
    • Updated imports.
  • spx-gui/src/components/editor/code-editor/spx-code-editor/document-base/key.ts
    • Renamed from document-base/spx/key.ts and moved to spx-specific folder.
  • spx-gui/src/components/editor/code-editor/spx-code-editor/index.ts
    • Added new entry point for spx-code-editor module.
  • spx-gui/src/components/editor/code-editor/spx-code-editor/input-helper.ts
    • Added new file for SPX-specific input helper provider.
  • spx-gui/src/components/editor/code-editor/spx-code-editor/lsp/spx-lsp-client.ts
    • Renamed from lsp/index.ts and moved to spx-specific folder.
    • Refactored LSP client.
  • spx-gui/src/components/editor/code-editor/spx-code-editor/lsp/spxls/client.ts
    • Renamed from lsp/spxls/client.ts and moved to spx-specific folder.
  • spx-gui/src/components/editor/code-editor/spx-code-editor/lsp/spxls/commands.ts
    • Renamed from lsp/spxls/commands.ts and moved to spx-specific folder.
    • Added xgoGetProperties.
  • spx-gui/src/components/editor/code-editor/spx-code-editor/lsp/spxls/index.d.ts
    • Renamed from lsp/spxls/index.d.ts and moved to spx-specific folder.
  • spx-gui/src/components/editor/code-editor/spx-code-editor/lsp/spxls/methods.ts
    • Renamed from lsp/spxls/methods.ts and moved to spx-specific folder.
    • Updated imports.
  • spx-gui/src/components/editor/code-editor/spx-code-editor/lsp/spxls/notifications.ts
    • Added new file for SPX-specific LSP notifications.
  • spx-gui/src/components/editor/code-editor/spx-code-editor/lsp/worker.ts
    • Renamed from lsp/worker.ts and moved to spx-specific folder.
  • spx-gui/src/components/editor/code-editor/spx-code-editor/resource.ts
    • Added new file for SPX-specific resource provider.
  • spx-gui/src/components/editor/code-editor/spx-code-editor/snippet-variables.ts
    • Added new file for SPX-specific snippet variables provider.
  • spx-gui/src/components/editor/code-editor/spx-code-editor/spx-project.ts
    • Added new file for SPX code editor project adapter.
  • spx-gui/src/components/editor/code-editor/spx-code-editor/text-document.ts
    • Added new file for SPX code owner implementations.
  • spx-gui/src/components/editor/code-editor/spx-code-editor/ui/CodeEditorUI.vue
    • Added new file for SPX wrapper around XGo's CodeEditorUI.
  • spx-gui/src/components/editor/code-editor/spx-code-editor/ui/input-helper/SpxDirActionInput.vue
    • Renamed from ui/input-helper/SpxDirActionInput.vue and moved to spx-specific folder.
    • Added submit emit.
  • spx-gui/src/components/editor/code-editor/spx-code-editor/ui/input-helper/SpxDirectionInput.vue
    • Renamed from ui/input-helper/SpxDirectionInput.vue and moved to spx-specific folder.
  • spx-gui/src/components/editor/code-editor/spx-code-editor/ui/input-helper/SpxKeyInput.vue
    • Renamed from ui/input-helper/SpxKeyInput.vue and moved to spx-specific folder.
    • Added submit emit.
  • spx-gui/src/components/editor/code-editor/spx-code-editor/ui/input-helper/SpxLayerActionInput.vue
    • Renamed from ui/input-helper/SpxLayerActionInput.vue and moved to spx-specific folder.
    • Added submit emit.
  • spx-gui/src/components/editor/code-editor/spx-code-editor/ui/input-helper/SpxPlayActionInput.vue
    • Renamed from ui/input-helper/SpxPlayActionInput.vue and moved to spx-specific folder.
    • Added submit emit.
  • spx-gui/src/components/editor/code-editor/spx-code-editor/ui/input-helper/SpxRotationStyleInput.vue
    • Renamed from ui/input-helper/SpxRotationStyleInput.vue and moved to spx-specific folder.
    • Added submit emit.
  • spx-gui/src/components/editor/code-editor/spx-code-editor/ui/input-helper/SpxSpecialObjInput.vue
    • Renamed from ui/input-helper/SpxSpecialObjInput.vue and moved to spx-specific folder.
    • Added submit emit.
  • spx-gui/src/components/editor/code-editor/spx-code-editor/ui/input-helper/spx-color-input/ColorSlider.vue
    • Renamed from ui/input-helper/spx-color-input/ColorSlider.vue and moved to spx-specific folder.
  • spx-gui/src/components/editor/code-editor/spx-code-editor/ui/input-helper/spx-color-input/SpxColorInput.vue
    • Renamed from ui/input-helper/spx-color-input/SpxColorInput.vue and moved to spx-specific folder.
  • spx-gui/src/components/editor/code-editor/spx-code-editor/ui/input-helper/spx-effect-input/SpxEffectKindInput.vue
    • Renamed from ui/input-helper/spx-effect-input/SpxEffectKindInput.vue and moved to spx-specific folder.
    • Added submit emit.
  • spx-gui/src/components/editor/code-editor/spx-code-editor/ui/input-helper/spx-effect-input/SpxEffectKindItem.vue
    • Renamed from ui/input-helper/spx-effect-input/SpxEffectKindItem.vue and moved to spx-specific folder.
  • spx-gui/src/components/editor/code-editor/spx-code-editor/ui/resource/SpxResourceItem.vue
    • Renamed from ui/resource/ResourceItem.vue and moved to spx-specific folder.
    • Updated to use ResourceIdentifier.
  • spx-gui/src/components/editor/code-editor/spx-code-editor/ui/resource/resource-selector.ts
    • Renamed from ui/resource/resource-selector.ts and moved to spx-specific folder.
    • Updated imports.
  • spx-gui/src/components/editor/code-editor/xgo-code-editor/api-reference.ts
    • Added new file for XGo API reference provider interface.
  • spx-gui/src/components/editor/code-editor/xgo-code-editor/code-editor.ts
    • Added new file for generic XGo Code Editor.
  • spx-gui/src/components/editor/code-editor/xgo-code-editor/common.test.ts
    • Added new test file for XGo common utilities.
  • spx-gui/src/components/editor/code-editor/xgo-code-editor/common.ts
    • Renamed from common.ts and moved to xgo-specific folder.
    • Refactored common utilities.
  • spx-gui/src/components/editor/code-editor/xgo-code-editor/completion.ts
    • Added new file for XGo completion provider.
  • spx-gui/src/components/editor/code-editor/xgo-code-editor/context-menu.ts
    • Added new file for XGo context menu provider.
  • spx-gui/src/components/editor/code-editor/xgo-code-editor/context.ts
    • Added new file for generic XGo Code Editor context.
  • spx-gui/src/components/editor/code-editor/xgo-code-editor/diagnostics.ts
    • Added new file for XGo diagnostics provider.
  • spx-gui/src/components/editor/code-editor/xgo-code-editor/document-base/index.ts
    • Renamed from document-base/index.ts and moved to xgo-specific folder.
    • Refactored document base.
  • spx-gui/src/components/editor/code-editor/xgo-code-editor/document-base/xgo.ts
    • Renamed from document-base/xgo.ts and moved to xgo-specific folder.
  • spx-gui/src/components/editor/code-editor/xgo-code-editor/hover.ts
    • Added new file for XGo hover provider.
  • spx-gui/src/components/editor/code-editor/xgo-code-editor/index.ts
    • Added new entry point for xgo-code-editor module.
  • spx-gui/src/components/editor/code-editor/xgo-code-editor/inlay-hint.ts
    • Added new file for XGo inlay hint provider.
  • spx-gui/src/components/editor/code-editor/xgo-code-editor/input-helper.ts
    • Added new file for XGo input helper provider.
  • spx-gui/src/components/editor/code-editor/xgo-code-editor/lsp/types.ts
    • Added new file for generic LSP client interface.
  • spx-gui/src/components/editor/code-editor/xgo-code-editor/monaco.ts
    • Added new file for Monaco editor utilities.
  • spx-gui/src/components/editor/code-editor/xgo-code-editor/project.ts
    • Added new file for XGo project interface.
  • spx-gui/src/components/editor/code-editor/xgo-code-editor/resource.ts
    • Added new file for XGo resource provider.
  • spx-gui/src/components/editor/code-editor/xgo-code-editor/snippet-variables.ts
    • Added new file for XGo snippet variables provider.
  • spx-gui/src/components/editor/code-editor/xgo-code-editor/text-document.ts
    • Renamed from text-document.ts and moved to xgo-specific folder.
    • Refactored text document management.
  • spx-gui/src/components/editor/code-editor/xgo-code-editor/ui/CodeEditorCard.vue
    • Renamed from ui/CodeEditorCard.vue and moved to xgo-specific folder.
  • spx-gui/src/components/editor/code-editor/xgo-code-editor/ui/CodeEditorUI.vue
    • Renamed from ui/CodeEditorUI.vue and moved to xgo-specific folder.
    • Refactored UI controller.
  • spx-gui/src/components/editor/code-editor/xgo-code-editor/ui/MonacoEditor.vue
    • Renamed from ui/MonacoEditor.vue and moved to xgo-specific folder.
  • spx-gui/src/components/editor/code-editor/xgo-code-editor/ui/ZoomControl.vue
    • Renamed from ui/ZoomControl.vue and moved to xgo-specific folder.
  • spx-gui/src/components/editor/code-editor/xgo-code-editor/ui/api-reference/APIReferenceItem.vue
    • Renamed from ui/api-reference/APIReferenceItem.vue and moved to xgo-specific folder.
  • spx-gui/src/components/editor/code-editor/xgo-code-editor/ui/api-reference/APIReferenceUI.vue
    • Renamed from ui/api-reference/APIReferenceUI.vue and moved to xgo-specific folder.
    • Refactored API reference UI.
  • spx-gui/src/components/editor/code-editor/xgo-code-editor/ui/api-reference/index.ts
    • Renamed from ui/api-reference/index.ts and moved to xgo-specific folder.
  • spx-gui/src/components/editor/code-editor/xgo-code-editor/ui/command/CommandIcon.vue
    • Renamed from ui/command/CommandIcon.vue and moved to xgo-specific folder.
  • spx-gui/src/components/editor/code-editor/xgo-code-editor/ui/command/copilot.svg
    • Renamed from ui/command/copilot.svg and moved to xgo-specific folder.
  • spx-gui/src/components/editor/code-editor/xgo-code-editor/ui/command/copy.svg
    • Renamed from ui/command/copy.svg and moved to xgo-specific folder.
  • spx-gui/src/components/editor/code-editor/xgo-code-editor/ui/command/explain.svg
    • Renamed from ui/command/explain.svg and moved to xgo-specific folder.
  • spx-gui/src/components/editor/code-editor/xgo-code-editor/ui/command/fix.svg
    • Renamed from ui/command/fix.svg and moved to xgo-specific folder.
  • spx-gui/src/components/editor/code-editor/xgo-code-editor/ui/command/goto.svg
    • Renamed from ui/command/goto.svg and moved to xgo-specific folder.
  • spx-gui/src/components/editor/code-editor/xgo-code-editor/ui/command/modify.svg
    • Renamed from ui/command/modify.svg and moved to xgo-specific folder.
  • spx-gui/src/components/editor/code-editor/xgo-code-editor/ui/command/rename.svg
    • Renamed from ui/command/rename.svg and moved to xgo-specific folder.
  • spx-gui/src/components/editor/code-editor/xgo-code-editor/ui/common.ts
    • Renamed from ui/common.ts and moved to xgo-specific folder.
  • spx-gui/src/components/editor/code-editor/xgo-code-editor/ui/completion/CompletionCard.vue
    • Renamed from ui/completion/CompletionCard.vue and moved to xgo-specific folder.
  • spx-gui/src/components/editor/code-editor/xgo-code-editor/ui/completion/CompletionItem.vue
    • Renamed from ui/completion/CompletionItem.vue and moved to xgo-specific folder.
  • spx-gui/src/components/editor/code-editor/xgo-code-editor/ui/completion/CompletionUI.vue
    • Renamed from ui/completion/CompletionUI.vue and moved to xgo-specific folder.
  • spx-gui/src/components/editor/code-editor/xgo-code-editor/ui/completion/fuzzy/README.md
    • Renamed from ui/completion/fuzzy/README.md and moved to xgo-specific folder.
  • spx-gui/src/components/editor/code-editor/xgo-code-editor/ui/completion/fuzzy/char-code.ts
    • Renamed from ui/completion/fuzzy/char-code.ts and moved to xgo-specific folder.
  • spx-gui/src/components/editor/code-editor/xgo-code-editor/ui/completion/fuzzy/index.ts
    • Renamed from ui/completion/fuzzy/index.ts and moved to xgo-specific folder.
  • spx-gui/src/components/editor/code-editor/xgo-code-editor/ui/completion/fuzzy/strings.ts
    • Renamed from ui/completion/fuzzy/strings.ts and moved to xgo-specific folder.
  • spx-gui/src/components/editor/code-editor/xgo-code-editor/ui/completion/index.ts
    • Renamed from ui/completion/index.ts and moved to xgo-specific folder.
    • Refactored completion controller.
  • spx-gui/src/components/editor/code-editor/xgo-code-editor/ui/context-menu/ContextMenu.vue
    • Renamed from ui/context-menu/ContextMenu.vue and moved to xgo-specific folder.
  • spx-gui/src/components/editor/code-editor/xgo-code-editor/ui/context-menu/ContextMenuTrigger.vue
    • Renamed from ui/context-menu/ContextMenuTrigger.vue and moved to xgo-specific folder.
  • spx-gui/src/components/editor/code-editor/xgo-code-editor/ui/context-menu/ContextMenuUI.vue
    • Renamed from ui/context-menu/ContextMenuUI.vue and moved to xgo-specific folder.
  • spx-gui/src/components/editor/code-editor/xgo-code-editor/ui/context-menu/index.ts
    • Renamed from ui/context-menu/index.ts and moved to xgo-specific folder.
    • Refactored context menu controller.
  • spx-gui/src/components/editor/code-editor/xgo-code-editor/ui/copilot.ts
    • Renamed from ui/copilot.ts and moved to xgo-specific folder.
  • spx-gui/src/components/editor/code-editor/xgo-code-editor/ui/definition/DefinitionDetail.vue
    • Renamed from ui/definition/DefinitionDetail.vue and moved to xgo-specific folder.
  • spx-gui/src/components/editor/code-editor/xgo-code-editor/ui/definition/DefinitionDetailWrapper.vue
    • Renamed from ui/definition/DefinitionDetailWrapper.vue and moved to xgo-specific folder.
  • spx-gui/src/components/editor/code-editor/xgo-code-editor/ui/definition/DefinitionIcon.vue
    • Renamed from ui/definition/DefinitionIcon.vue and moved to xgo-specific folder.
  • spx-gui/src/components/editor/code-editor/xgo-code-editor/ui/definition/DefinitionItem.vue
    • Renamed from ui/definition/DefinitionItem.vue and moved to xgo-specific folder.
  • spx-gui/src/components/editor/code-editor/xgo-code-editor/ui/definition/DefinitionOverviewWrapper.vue
    • Renamed from ui/definition/DefinitionOverviewWrapper.vue and moved to xgo-specific folder.
  • spx-gui/src/components/editor/code-editor/xgo-code-editor/ui/definition/code.svg
    • Renamed from ui/definition/code.svg and moved to xgo-specific folder.
  • spx-gui/src/components/editor/code-editor/xgo-code-editor/ui/definition/effect.svg
    • Renamed from ui/definition/effect.svg and moved to xgo-specific folder.
  • spx-gui/src/components/editor/code-editor/xgo-code-editor/ui/definition/listen.svg
    • Renamed from ui/definition/listen.svg and moved to xgo-specific folder.
  • spx-gui/src/components/editor/code-editor/xgo-code-editor/ui/definition/read.svg
    • Renamed from ui/definition/read.svg and moved to xgo-specific folder.
  • spx-gui/src/components/editor/code-editor/xgo-code-editor/ui/diagnostics/DiagnosticsUI.vue
    • Renamed from ui/diagnostics/DiagnosticsUI.vue and moved to xgo-specific folder.
  • spx-gui/src/components/editor/code-editor/xgo-code-editor/ui/diagnostics/index.ts
    • Renamed from ui/diagnostics/index.ts and moved to xgo-specific folder.
    • Refactored diagnostics controller.
  • spx-gui/src/components/editor/code-editor/xgo-code-editor/ui/document-tab/DocumentTab.vue
    • Renamed from ui/document-tab/DocumentTab.vue and moved to xgo-specific folder.
    • Refactored document tab.
  • spx-gui/src/components/editor/code-editor/xgo-code-editor/ui/document-tab/DocumentTabs.vue
    • Renamed from ui/document-tab/DocumentTabs.vue and moved to xgo-specific folder.
  • spx-gui/src/components/editor/code-editor/xgo-code-editor/ui/drop-indicator/DropIndicatorUI.vue
    • Renamed from ui/drop-indicator/DropIndicatorUI.vue and moved to xgo-specific folder.
  • spx-gui/src/components/editor/code-editor/xgo-code-editor/ui/drop-indicator/index.ts
    • Renamed from ui/drop-indicator/index.ts and moved to xgo-specific folder.
  • spx-gui/src/components/editor/code-editor/xgo-code-editor/ui/hover/ActionButton.vue
    • Renamed from ui/hover/ActionButton.vue and moved to xgo-specific folder.
  • spx-gui/src/components/editor/code-editor/xgo-code-editor/ui/hover/HoverCard.vue
    • Renamed from ui/hover/HoverCard.vue and moved to xgo-specific folder.
  • spx-gui/src/components/editor/code-editor/xgo-code-editor/ui/hover/HoverCardContent.vue
    • Renamed from ui/hover/HoverCardContent.vue and moved to xgo-specific folder.
  • spx-gui/src/components/editor/code-editor/xgo-code-editor/ui/hover/HoverUI.vue
    • Renamed from ui/hover/HoverUI.vue and moved to xgo-specific folder.
  • spx-gui/src/components/editor/code-editor/xgo-code-editor/ui/hover/index.ts
    • Renamed from ui/hover/index.ts and moved to xgo-specific folder.
    • Refactored hover controller.
  • spx-gui/src/components/editor/code-editor/xgo-code-editor/ui/icons/zoom-in.svg
    • Renamed from ui/icons/zoom-in.svg and moved to xgo-specific folder.
  • spx-gui/src/components/editor/code-editor/xgo-code-editor/ui/icons/zoom-out.svg
    • Renamed from ui/icons/zoom-out.svg and moved to xgo-specific folder.
  • spx-gui/src/components/editor/code-editor/xgo-code-editor/ui/icons/zoom-reset.svg
    • Renamed from ui/icons/zoom-reset.svg and moved to xgo-specific folder.
  • spx-gui/src/components/editor/code-editor/xgo-code-editor/ui/inlay-hint/InlayHintUI.vue
    • Renamed from ui/inlay-hint/InlayHintUI.vue and moved to xgo-specific folder.
  • spx-gui/src/components/editor/code-editor/xgo-code-editor/ui/inlay-hint/index.ts
    • Renamed from ui/inlay-hint/index.ts and moved to xgo-specific folder.
    • Refactored inlay hint controller.
  • spx-gui/src/components/editor/code-editor/xgo-code-editor/ui/input-helper/BooleanInput.vue
    • Renamed from ui/input-helper/BooleanInput.vue and moved to xgo-specific folder.
    • Added submit emit.
  • spx-gui/src/components/editor/code-editor/xgo-code-editor/ui/input-helper/DecimalInput.vue
    • Renamed from ui/input-helper/DecimalInput.vue and moved to xgo-specific folder.
  • spx-gui/src/components/editor/code-editor/xgo-code-editor/ui/input-helper/InputHelper.vue
    • Added new file for XGo input helper UI.
  • spx-gui/src/components/editor/code-editor/xgo-code-editor/ui/input-helper/InputHelperUI.vue
    • Renamed from ui/input-helper/InputHelperUI.vue and moved to xgo-specific folder.
    • Refactored input helper UI.
  • spx-gui/src/components/editor/code-editor/xgo-code-editor/ui/input-helper/IntegerInput.vue
    • Renamed from ui/input-helper/IntegerInput.vue and moved to xgo-specific folder.
  • spx-gui/src/components/editor/code-editor/xgo-code-editor/ui/input-helper/ResourceInput.vue
    • Renamed from ui/input-helper/ResourceInput.vue and moved to xgo-specific folder.
    • Refactored resource input.
  • spx-gui/src/components/editor/code-editor/xgo-code-editor/ui/input-helper/StringInput.vue
    • Renamed from ui/input-helper/StringInput.vue and moved to xgo-specific folder.
  • spx-gui/src/components/editor/code-editor/xgo-code-editor/ui/input-helper/index.ts
    • Renamed from ui/input-helper/index.ts and moved to xgo-specific folder.
    • Refactored input helper controller.
  • spx-gui/src/components/editor/code-editor/xgo-code-editor/ui/input-helper/pen.svg
    • Renamed from ui/input-helper/pen.svg and moved to xgo-specific folder.
  • spx-gui/src/components/editor/code-editor/xgo-code-editor/ui/markdown/CodeBlock.vue
    • Renamed from ui/markdown/CodeBlock.vue and moved to xgo-specific folder.
  • spx-gui/src/components/editor/code-editor/xgo-code-editor/ui/markdown/DiagnosticItem.vue
    • Renamed from ui/markdown/DiagnosticItem.vue and moved to xgo-specific folder.
  • spx-gui/src/components/editor/code-editor/xgo-code-editor/ui/markdown/InputValuePreview.vue
    • Added new file for XGo input value preview.
  • spx-gui/src/components/editor/code-editor/xgo-code-editor/ui/markdown/MarkdownView.vue
    • Renamed from ui/markdown/MarkdownView.vue and moved to xgo-specific folder.
  • spx-gui/src/components/editor/code-editor/xgo-code-editor/ui/markdown/ResourcePreview.vue
    • Renamed from ui/markdown/ResourcePreview.vue and moved to xgo-specific folder.
    • Refactored resource preview.
  • spx-gui/src/components/editor/code-editor/xgo-code-editor/ui/markdown/index.ts
    • Renamed from ui/markdown/index.ts and moved to xgo-specific folder.
  • spx-gui/src/components/editor/code-editor/xgo-code-editor/ui/resource/index.ts
    • Renamed from ui/resource-reference/index.ts and moved to xgo-specific folder.
    • Refactored resource reference controller.
  • spx-gui/src/components/editor/code-editor/xgo-code-editor/ui/snippet.ts
    • Added new file for XGo snippet parser.
  • spx-gui/src/components/editor/common/EditorList.vue
    • Updated resourceType prop type and flex styling.
  • spx-gui/src/components/editor/common/viewer/quick-config/utils.ts
    • Added target getter to WidgetLocalConfig.
  • spx-gui/src/components/editor/editor-state.test.ts
    • Removed sound-related selections from tests.
  • spx-gui/src/components/editor/editor-state.ts
    • Removed sound as a SelectedType.
    • Refactored sound selection to be part of stageState.
    • Updated route handling.
  • spx-gui/src/components/editor/gen.test.ts
    • Updated BackdropGen and AnimationGen constructors to pass i18n.
  • spx-gui/src/components/editor/gen.ts
    • Updated BackdropGen constructor to pass i18n.
  • spx-gui/src/components/editor/navbar/EditorProjectDisplayName.vue
    • Removed line-height: 1 from .name style.
  • spx-gui/src/components/editor/panels/ConsolePanel.vue
    • Updated outputs to be a computed property.
    • Changed key for v-for loop.
  • spx-gui/src/components/editor/panels/EditorPanels.vue
    • Refactored panel layout, removed SoundsPanel.
    • Adjusted radar descriptions.
  • spx-gui/src/components/editor/panels/stage/StagePanel.vue
    • Refactored stage panel to include quick action buttons for backdrops, sounds, and widgets.
    • Added new SVG icons.
  • spx-gui/src/components/editor/panels/stage/backdrop.svg
    • Added new SVG icon.
  • spx-gui/src/components/editor/panels/stage/sound.svg
    • Added new SVG icon.
  • spx-gui/src/components/editor/panels/stage/widget.svg
    • Added new SVG icon.
  • spx-gui/src/components/editor/preview/EditorPreview.vue
    • Updated imports for code editor.
    • Added checkAndNotifyMonitorError.
    • Updated handleRun to include monitor error check.
  • spx-gui/src/components/editor/preview/stage-viewer/widgets/MonitorNode.vue
    • Adjusted width calculations for monitor labels and values.
    • Updated colors.
  • spx-gui/src/components/editor/runtime.test.ts
    • Added new test file for Runtime outputs.
  • spx-gui/src/components/editor/runtime.ts
    • Refactored output handling to use a ring buffer and throttled updates.
  • spx-gui/src/components/editor/sprite/SpriteEditor.vue
    • Updated imports for CodeEditorUI and FormatButton.
  • spx-gui/src/components/editor/sprite/animation/SoundEditor.vue
    • Updated import path for SoundItem.
  • spx-gui/src/components/editor/stage/StageEditor.vue
    • Refactored StageEditorState to include soundsState.
    • Updated SelectedType and Selected types.
    • Adjusted tab rendering.
  • spx-gui/src/components/editor/stage/backdrop/BackdropsEditor.vue
    • Changed selectByRoute to return void.
  • spx-gui/src/components/editor/stage/sound/AddSoundMenu.vue
    • Added new component for adding sounds.
  • spx-gui/src/components/editor/stage/sound/SoundDetail.vue
    • Renamed from SoundEditor.vue and moved to stage-specific folder.
    • Refactored sound detail.
  • spx-gui/src/components/editor/stage/sound/SoundItem.vue
    • Renamed from SoundItem.vue and moved to stage-specific folder.
  • spx-gui/src/components/editor/stage/sound/SoundPlayer.vue
    • Renamed from SoundPlayer.vue and moved to stage-specific folder.
  • spx-gui/src/components/editor/stage/sound/SoundRecorder.vue
    • Renamed from SoundRecorder.vue and moved to stage-specific folder.
    • Updated button colors.
  • spx-gui/src/components/editor/stage/sound/SoundRecorderModal.vue
    • Renamed from SoundRecorderModal.vue and moved to stage-specific folder.
  • spx-gui/src/components/editor/stage/sound/SoundsEditor.vue
    • Added new component for sounds editor.
  • spx-gui/src/components/editor/stage/sound/VolumeSlider.vue
    • Renamed from VolumeSlider.vue and moved to stage-specific folder.
  • spx-gui/src/components/editor/stage/sound/sounds-editor-state.test.ts
    • Added new test file for SoundsEditorState.
  • spx-gui/src/components/editor/stage/sound/sounds-editor-state.ts
    • Added new file for SoundsEditorState.
  • spx-gui/src/components/editor/stage/sound/waveform/WaveformDisplay.vue
    • Renamed from waveform/WaveformDisplay.vue and moved to stage-specific folder.
    • Updated waveform colors.
  • spx-gui/src/components/editor/stage/sound/waveform/WaveformPlayer.vue
    • Renamed from waveform/WaveformPlayer.vue and moved to stage-specific folder.
  • spx-gui/src/components/editor/stage/sound/waveform/WaveformRangeControl.vue
    • Renamed from waveform/WaveformRangeControl.vue and moved to stage-specific folder.
  • spx-gui/src/components/editor/stage/sound/waveform/WaveformRecorder.vue
    • Renamed from waveform/WaveformRecorder.vue and moved to stage-specific folder.
  • spx-gui/src/components/editor/stage/sound/waveform/WaveformWithControls.vue
    • Renamed from waveform/WaveformWithControls.vue and moved to stage-specific folder.
  • spx-gui/src/components/editor/stage/sound/waveform/index.ts
    • Renamed from waveform/index.ts and moved to stage-specific folder.
  • spx-gui/src/components/editor/stage/sound/waveform/sum-processor.js
    • Renamed from waveform/sum-processor.js and moved to stage-specific folder.
  • spx-gui/src/components/editor/stage/widget/WidgetsEditor.vue
    • Updated add monitor button icon.
    • Changed selectByRoute to return void.
  • spx-gui/src/components/editor/stage/widget/detail/MonitorDetail.vue
    • Refactored monitor detail to include target selection and property selection.
    • Adjusted styling.
  • spx-gui/src/components/editor/stage/widget/monitor-gray.svg
    • Removed monitor-gray.svg.
  • spx-gui/src/components/project/index.ts
    • Updated useModifyProjectName to use the new ModificationWarningModal.
  • spx-gui/src/components/tutorials/TutorialCourseSuccess.vue
    • Updated import path for useCopilot.
  • spx-gui/src/components/tutorials/TutorialRoot.vue
    • Refactored custom element and quick input registration to be dynamic based on currentCourse.
  • spx-gui/src/components/tutorials/tutorial-course-abandon.ts
    • Updated descriptions for abandon prediction and dismissal custom elements.
  • spx-gui/src/components/ui/icons/UIIcon.vue
    • Added copyAltFilled icon.
  • spx-gui/src/components/ui/icons/copy-alt-filled.svg
    • Added new SVG icon.
  • spx-gui/src/components/ui/select/UISelect.vue
    • Improved UISelect to handle disabled placeholder options and re-sync on child option changes.
  • spx-gui/src/components/ui/tokens/colors.ts
    • Changed sound color to blue.
  • spx-gui/src/models/spx/common/asset-name.ts
    • Updated imports to use utils/xgo.
  • spx-gui/src/models/spx/common/resource.ts
    • Renamed from resource-model.ts and refactored resource types.
  • spx-gui/src/models/spx/gen/animation-gen.test.ts
    • Updated AnimationGen constructor to pass i18n.
    • Added test for forwarding UI language.
  • spx-gui/src/models/spx/gen/animation-gen.ts
    • Updated AnimationGen constructor to accept i18n and pass it to enrichAnimationSettings.
  • spx-gui/src/models/spx/gen/backdrop-gen.test.ts
    • Updated BackdropGen constructor to pass i18n.
    • Added test for forwarding UI language.
  • spx-gui/src/models/spx/gen/backdrop-gen.ts
    • Updated BackdropGen constructor to accept i18n and pass it to enrichBackdropSettings.
  • spx-gui/src/models/spx/gen/common.ts
    • Updated TaskType.GenerateAnimationVideo duration to 180 seconds.
  • spx-gui/src/models/spx/gen/costume-gen.test.ts
    • Updated CostumeGen constructor to pass i18n.
    • Added test for forwarding UI language.
  • spx-gui/src/models/spx/gen/costume-gen.ts
    • Updated CostumeGen constructor to accept i18n and pass it to enrichCostumeSettings.
  • spx-gui/src/models/spx/gen/sprite-gen.test.ts
    • Added test for forwarding UI language to enrich and sprite content APIs.
  • spx-gui/src/models/spx/gen/sprite-gen.ts
    • Updated enrichSpriteSettings and genSpriteContentSettings to pass i18n.lang.value.
  • spx-gui/src/models/spx/project.ts
    • Removed getResourceModel method.
  • spx-gui/src/models/spx/stage.test.ts
    • Updated val field in monitor configs to remove getVar: prefix.
  • spx-gui/src/models/spx/widget/monitor.ts
    • Refactored Monitor to include target property.
    • Updated constructor and adjusted load and export methods to handle new target and val fields.
  • spx-gui/src/models/spx/widget/widget.test.ts
    • Added tests for Monitor.load with different target and val formats.
  • spx-gui/src/pages/editor/index.vue
    • Refactored Copilot tool registration to be dynamic and use the new CodeEditor instance.
  • spx-gui/src/stores/user/signed-in.ts
    • Added username to userState.
    • Implemented decodeUsernameFromAccessToken.
    • Updated handleTokenResponse, signInWithAccessToken, signOut, getSignedInUsername, and useSignedInUser to manage username.
    • Added useModifySignedInUsername hook.
  • spx-gui/src/utils/emitter.ts
    • Marked map as raw to prevent Vue reactivity issues.
  • spx-gui/src/utils/i18n/index.ts
    • Marked I18n instance as raw.
  • spx-gui/src/utils/progress.test.ts
    • Updated progress reporting logic in tests.
  • spx-gui/src/utils/progress.ts
    • Updated startAutoReport logic for progress percentage and ETA calculation.
  • spx-gui/src/utils/spx/index.ts
    • Removed XGo identifier related functions and keywords.
  • spx-gui/src/utils/xgo/default-light-theme.json
    • Renamed from spx/default-light-theme.json and moved to xgo-specific folder.
  • spx-gui/src/utils/xgo/gop-tm-language.json
    • Renamed from spx/gop-tm-language.json and moved to xgo-specific folder.
  • spx-gui/src/utils/xgo/highlighter.ts
    • Renamed from spx/highlighter.ts and moved to xgo-specific folder.
    • Updated language aliases.
  • spx-gui/src/utils/xgo/index.test.ts
    • Renamed from spx/index.test.ts and moved to xgo-specific folder.
  • spx-gui/src/utils/xgo/index.ts
    • Added new file for XGo utilities.
  • spx-gui/vercel-install.sh
    • Updated Go version to 1.25.8.
  • tools/ai/go.mod
    • Updated Go version to 1.25.0 and spx/v2 to v2.0.0-pre.47.
    • Removed h2non/filetype.
  • tools/ai/go.sum
    • Updated checksums for spx/v2 and removed h2non/filetype.
  • tools/ispx/build.sh
    • Removed -checklinkname=0 flag.
  • tools/ispx/go.mod
    • Updated Go version to 1.25.0, ixgo to v1.0.4, mod to v0.19.5, spx/v2 to v2.0.0-pre.47, gogen to v1.21.2, reflectx to v1.6.3, xgo to v1.6.6, qiniu/x to v1.16.3, goembed to v0.3.4, xtype to v0.3.0, mod to v0.29.0, tools to v0.38.0.
    • Removed gopherjs/gopherjs, pkg/errors, visualfc/gid.
  • tools/ispx/go.sum
    • Updated checksums for various Go modules.
  • tools/spxls/go.mod
    • Updated Go version to 1.25.0, xgolsw to v0.16.2, gogen to v1.21.2, mod to v0.19.5, spx/v2 to v2.0.0-pre.47, xgo to v1.6.6, qiniu/x to v1.16.3, mod to v0.33.0, sync to v0.20.0, text to v0.34.0, tools to v0.42.0.
    • Removed h2non/filetype, pkg/errors.
  • tools/spxls/go.sum
    • Updated checksums for various Go modules.
Ignored Files
  • Ignored by pattern: .github/workflows/** (2)
    • .github/workflows/publish-docker-image.yml
    • .github/workflows/validate.yml
Activity
  • The pull request is a release candidate for v1.13.1.
  • The author explicitly marked the PR as [skip review] and noted that its changes are already integrated into other reviewed PRs, instructing agents to skip review and commenting.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for GitHub and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Comment thread spx-gui/install-spx.sh
Comment thread spx-gui/src/components/community/user/ModifyUsernameModal.vue
Comment thread spx-gui/src/components/copilot/tool-call.ts
Comment thread docs/develop/generalization/project.md
@fennoai
Copy link
Copy Markdown
Contributor

fennoai Bot commented Mar 13, 2026

Solid release aggregation. A few items worth addressing before merge:

spx-gui/src/components/copilot/copilot.ts — unawaited async call

handleCopilotMessage is async but its call site (inside the try/catch block in the SSE loop) is not awaited:

// line ~449
this.handleCopilotMessage(message)   // ← missing await

If handleCopilotMessage rejects (e.g., copilot.executor.getExecution(id) returns null), the error bypasses handleResponseError and the Round is permanently stuck in InProgress. Should be await this.handleCopilotMessage(message).

Copy link
Copy Markdown

@gemini-code-assist gemini-code-assist Bot left a comment

Choose a reason for hiding this comment

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

Code Review

This pull request appears to be a major release, introducing significant refactoring and new features. Key changes include a major architectural overhaul of the code editor, separating it into a generic xgo-code-editor and a specific spx-code-editor. The Copilot API has been updated to use SSE for streaming and a structured message format with tool calls. User profile management is enhanced with the ability to change usernames. The UI for monitor widgets and the overall editor panel layout have been improved. Additionally, there are numerous dependency updates.

My review focuses on one maintainability improvement in a shell script. The rest of the changes are extensive but appear to be well-integrated and consistent.

Comment thread spx-gui/install-spx.sh
Copy link
Copy Markdown

@gemini-code-assist gemini-code-assist Bot left a comment

Choose a reason for hiding this comment

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

Code Review

This pull request appears to be a release, incorporating a significant and well-executed refactoring of the code editor for better generalization. The introduction of a generic xgo-code-editor layer is a major architectural improvement. The changes also include substantial API enhancements, such as structured tool calls for the copilot via SSE, and new features like username modification and improved monitor widget functionality. The codebase has been consistently updated to reflect these changes, including API clients, documentation, and configuration files. Overall, the changes are of high quality and demonstrate a significant step forward in the application's architecture and feature set.

@gemini-code-assist
Copy link
Copy Markdown

Summary of Changes

Hello, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request focuses on updating the SPX version, upgrading the Go version in the Dockerfile, adding documentation for code editor generalization, updating API documentation, and refactoring the code editor to remove direct SPX dependencies. These changes collectively enhance the project's performance, maintainability, and extensibility.

Highlights

  • SPX Version Bump: The SPX (Simple Programming eXperience) version has been updated to v1.13.1, ensuring the project utilizes the latest features and improvements from the SPX framework.
  • Go Version Upgrade: The Go base image in the Dockerfile has been upgraded from version 1.24.4 to 1.25.8, providing access to newer Go language features and performance enhancements.
  • Code Editor Generalization Documentation: New documentation has been added to explain the generalization of the code editor, detailing how it now supports multiple XGo class frameworks beyond just SPX.
  • API Documentation Updates: The OpenAPI documentation has been updated to include a new AIGC endpoint for generating asset descriptions and to refine the Copilot API with structured SSE streaming.
  • Code Editor Refactoring: The code editor has been refactored to remove direct SPX dependencies, generalizing it for use with other XGo class frameworks.

🧠 New Feature in Public Preview: You can now enable Memory to help Gemini Code Assist learn from your team's feedback. This makes future code reviews more consistent and personalized to your project's style. Click here to enable Memory in your admin console.

Changelog
  • .github/agents/spx-upgrader.md
    • Modified the SPX upgrader agent to support pseudo-versions and verify the existence of matching GHCR packages.
  • Dockerfile
    • Upgraded the Go base image from version 1.24.4 to 1.25.8.
  • docs/develop/generalization/code-editor.md
    • Added documentation explaining the code editor's generalization to support multiple XGo class frameworks.
  • docs/develop/generalization/project.md
    • Added documentation describing the technical design for project model generalization.
  • docs/openapi.yaml
    • Updated the OpenAPI documentation to include a new AIGC endpoint for generating asset descriptions and to refine the Copilot API with structured SSE streaming.
  • spx-gui/.env
    • Bumped the VITE_SPX_VERSION to 2.0.0-pre.47.
  • spx-gui/.prettierignore
    • Updated paths in .prettierignore to reflect the code editor's generalization.
  • spx-gui/.vscode/tasks.json
    • Updated the GOTOOLCHAIN version to 1.25.8.
  • spx-gui/README.md
    • Updated the required Go version to >= 1.25.0.
  • spx-gui/eslint.config.js
    • Updated paths in eslint.config.js to reflect the code editor's generalization and added argsIgnorePattern to eslint rules.
  • spx-gui/install-spx.sh
    • Modified install-spx.sh to download runtime assets from GHCR for pseudo-versioned dev commits and improved the download process.
  • spx-gui/src/apis/aigc.ts
    • Modified AIGC APIs to use functions instead of async functions and added support for language parameter.
  • spx-gui/src/apis/asset.ts
    • Changed the updateAsset API to use PATCH instead of PUT.
  • spx-gui/src/apis/common/client.ts
    • Removed the PUT method and added the postJSONSSE method to the client.
  • spx-gui/src/apis/copilot.test.ts
    • Added tests for the Copilot API.
  • spx-gui/src/apis/copilot.ts
    • Updated Copilot APIs to support structured SSE streaming and tool definitions.
  • spx-gui/src/apis/course-series.ts
    • Changed the updateCourseSeries API to use PATCH instead of PUT.
  • spx-gui/src/apis/course.ts
    • Changed the updateCourse API to use PATCH instead of PUT.
  • spx-gui/src/apis/project.ts
    • Changed the updateProject API to use PATCH instead of PUT.
  • spx-gui/src/apis/sb2xbp.ts
    • Added a type assertion to the return value of convertScratchToXbp.
  • spx-gui/src/apis/user.ts
    • Changed the updateSignedInUser API to use PATCH instead of PUT and added username to UpdateSignedInUserParams.
  • spx-gui/src/components/agent-copilot/markdown/CodeView.vue
    • Updated the CodeView component to support xgo language highlighting.
  • spx-gui/src/components/agent-copilot/markdown/FileContent.vue
    • Updated the determinedLanguage variable to 'xgo'.
  • spx-gui/src/components/app/browser-check/browser-version.ts
    • Modified browser version check to normalize browser names and use BrowserName enum.
  • spx-gui/src/components/asset/BlobSoundPlayer.vue
    • Updated the import path for the SoundPlayer component.
  • spx-gui/src/components/asset/index.ts
    • Refactored asset-related components and functions to align with the code editor's generalization.
  • spx-gui/src/components/common/CodeView.vue
    • Updated the CodeView component to support xgo language highlighting.
  • spx-gui/src/components/common/ModificationWarningModal.vue
    • Renamed ProjectModifyNameWarningModal.vue to ModificationWarningModal.vue and generalized it for broader use.
  • spx-gui/src/components/community/user/EditProfileModal.vue
    • Updated EditProfileModal to include username modification and use UserUsernameInline component.
  • spx-gui/src/components/community/user/ModifyUsernameModal.vue
    • Added ModifyUsernameModal component for modifying the username.
  • spx-gui/src/components/community/user/UserHeader.vue
    • Updated UserHeader to use UserUsernameInline component and handle route replacement on username modification.
  • spx-gui/src/components/community/user/UserUsernameInline.vue
    • Added UserUsernameInline component for displaying and modifying the username.
  • spx-gui/src/components/copilot/CopilotRoot.vue
    • Refactored CopilotRoot to use provideCopilot and remove direct dependencies on code editor context.
  • spx-gui/src/components/copilot/CopilotUI.vue
    • Updated CopilotUI to use the new Copilot context.
  • spx-gui/src/components/copilot/MarkdownView.vue
    • Updated MarkdownView to use the new Copilot context.
  • spx-gui/src/components/editor/EditorContextProvider.vue
    • Updated EditorContextProvider to use the new code editor context.
  • spx-gui/src/components/editor/ProjectEditor.vue
    • Removed SoundEditor and updated SpriteEditor condition.
  • spx-gui/src/components/editor/code-editor/spx-code-editor/CodeLink.vue
    • Renamed and updated CodeLink component to align with code editor generalization.
  • spx-gui/src/components/editor/code-editor/spx-code-editor/FormatButton.vue
    • Renamed and updated FormatButton component to align with code editor generalization.
  • spx-gui/src/components/editor/code-editor/spx-code-editor/api-reference/index.ts
    • Added SpxAPIReferenceProvider for spx-specific API reference.
  • spx-gui/src/components/editor/code-editor/spx-code-editor/common.ts
    • Added spx-specific types and utilities for the code editor.
  • spx-gui/src/components/editor/code-editor/spx-code-editor/context.ts
    • Added spx-specific context setup for the code editor.
  • spx-gui/src/components/editor/code-editor/spx-code-editor/diagnostics.ts
    • Added SpxDiagnosticsProvider for spx-specific diagnostics.
  • spx-gui/src/components/editor/code-editor/spx-code-editor/index.ts
    • Added public API entry point for spx-code-editor module.
  • spx-gui/src/components/editor/code-editor/spx-code-editor/input-helper.ts
    • Added SpxInputHelperProvider for spx-specific input helper.
  • spx-gui/src/components/editor/code-editor/spx-code-editor/lsp/spx-lsp-client.ts
    • Renamed and updated SpxLSPClient to handle property rename notifications.
  • spx-gui/src/components/editor/code-editor/spx-code-editor/resource.ts
    • Added SpxResourceProvider for spx-specific resource handling.
  • spx-gui/src/components/editor/code-editor/spx-code-editor/snippet-variables.ts
    • Added SpxSnippetVariablesProvider for spx-specific snippet variables.
  • spx-gui/src/components/editor/code-editor/spx-code-editor/spx-project.ts
    • Added SpxCodeEditorProject for adapting SpxProject to IXGoProject.
  • spx-gui/src/components/editor/code-editor/spx-code-editor/text-document.ts
    • Added CodeOwnerStage and CodeOwnerSprite for managing code ownership.
  • spx-gui/src/components/editor/code-editor/xgo-code-editor/CodeLink.vue
    • Renamed CodeLink component to align with code editor generalization.
  • spx-gui/src/components/editor/code-editor/xgo-code-editor/FormatButton.vue
    • Renamed FormatButton component to align with code editor generalization.
  • spx-gui/src/components/editor/code-editor/xgo-code-editor/api-reference.ts
    • Added APIReferenceContext and IAPIReferenceProvider interfaces.
  • spx-gui/src/components/editor/code-editor/xgo-code-editor/common.ts
    • Added common types and utilities for the code editor.
  • spx-gui/src/components/editor/code-editor/xgo-code-editor/context.ts
    • Added context definitions for the code editor.
  • spx-gui/src/components/editor/code-editor/xgo-code-editor/diagnostics.ts
    • Added DiagnosticsProvider for handling diagnostics.
  • spx-gui/src/components/editor/code-editor/xgo-code-editor/hover.ts
    • Added HoverProvider for handling hover information.
  • spx-gui/src/components/editor/code-editor/xgo-code-editor/index.ts
    • Added public API entry point for xgo-code-editor module.
  • spx-gui/src/components/editor/code-editor/xgo-code-editor/inlay-hint.ts
    • Added InlayHintProvider for providing inlay hints.
  • spx-gui/src/components/editor/code-editor/xgo-code-editor/input-helper.ts
    • Added InputHelperProvider for handling input helpers.
  • spx-gui/src/components/editor/code-editor/xgo-code-editor/lsp/types.ts
    • Added LSP client interface types.
  • spx-gui/src/components/editor/code-editor/xgo-code-editor/monaco.ts
    • Added Monaco editor configuration.
  • spx-gui/src/components/editor/code-editor/xgo-code-editor/project.ts
    • Added project interfaces for the code editor.
  • spx-gui/src/components/editor/code-editor/xgo-code-editor/resource.ts
    • Added ResourceProvider for handling resources.
  • spx-gui/src/components/editor/code-editor/xgo-code-editor/snippet-variables.ts
    • Added SnippetVariablesProvider for providing snippet variables.
  • spx-gui/src/components/editor/code-editor/xgo-code-editor/text-document.ts
    • Added TextDocument class for managing text documents.
  • spx-gui/src/components/editor/code-editor/xgo-code-editor/ui/CodeEditorUI.vue
    • Added CodeEditorUI component for the code editor interface.
  • spx-gui/src/components/editor/code-editor/xgo-code-editor/ui/ZoomControl.vue
    • Added ZoomControl component for zoom functionality.
  • spx-gui/src/components/editor/code-editor/xgo-code-editor/ui/api-reference/APIReferenceItem.vue
    • Added APIReferenceItem component for API reference items.
  • spx-gui/src/components/editor/code-editor/xgo-code-editor/ui/api-reference/APIReferenceUI.vue
    • Added APIReferenceUI component for API reference UI.
  • spx-gui/src/components/editor/code-editor/xgo-code-editor/ui/command/CommandIcon.vue
    • Added CommandIcon component for command icons.
  • spx-gui/src/components/editor/code-editor/xgo-code-editor/ui/context-menu/ContextMenu.vue
    • Added ContextMenu component for context menus.
  • spx-gui/src/components/editor/code-editor/xgo-code-editor/ui/context-menu/ContextMenuTrigger.vue
    • Added ContextMenuTrigger component for triggering context menus.
  • spx-gui/src/components/editor/code-editor/xgo-code-editor/ui/context-menu/ContextMenuUI.vue
    • Added ContextMenuUI component for context menu UI.
  • spx-gui/src/components/editor/code-editor/xgo-code-editor/ui/diagnostics/DiagnosticsUI.vue
    • Added DiagnosticsUI component for displaying diagnostics.
  • spx-gui/src/components/editor/code-editor/xgo-code-editor/ui/input-helper/BooleanInput.vue
    • Added BooleanInput component for boolean input.
  • spx-gui/src/components/editor/code-editor/xgo-code-editor/ui/input-helper/DecimalInput.vue
    • Added DecimalInput component for decimal input.
  • spx-gui/src/components/editor/code-editor/xgo-code-editor/ui/input-helper/InputHelper.vue
    • Added InputHelper component for handling input helpers.
  • spx-gui/src/components/editor/code-editor/xgo-code-editor/ui/input-helper/ResourceInput.vue
    • Added ResourceInput component for resource input.
  • spx-gui/src/components/editor/code-editor/xgo-code-editor/ui/markdown/CodeBlock.vue
    • Added CodeBlock component for displaying code blocks.
  • spx-gui/src/components/editor/code-editor/xgo-code-editor/ui/markdown/InputValuePreview.vue
    • Added InputValuePreview component for previewing input values.
  • spx-gui/src/components/editor/code-editor/xgo-code-editor/ui/resource/SpxResourceItem.vue
    • Added SpxResourceItem component for rendering resource items.
Ignored Files
  • Ignored by pattern: .github/workflows/** (2)
    • .github/workflows/publish-docker-image.yml
    • .github/workflows/validate.yml
Activity
  • Bumping SPX version to v1.13.1
  • Upgrading Go version to 1.25.8
  • Generalizing code editor for multiple XGo class frameworks
  • Adding documentation for code editor generalization
  • Updating API documentation for AIGC and Copilot APIs
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for GitHub and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link
Copy Markdown

@gemini-code-assist gemini-code-assist Bot left a comment

Choose a reason for hiding this comment

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

Code Review

This pull request appears to be a release, incorporating a wide range of significant improvements. The most substantial change is a major architectural refactoring of the code editor to be more generic (xgo-code-editor) and extensible, which is well-documented. The Copilot API has been modernized to support structured tool calls and Server-Sent Events, a significant improvement over the previous implementation. Additionally, there are several new features, including username modification and AI-powered asset description generation. The UI has been refined, particularly in the editor panels and monitor configuration. Numerous bug fixes, such as ensuring monitors update correctly on sprite and variable renames, are also included. The overall quality of the changes is very high, and I have no specific issues to raise.

Add avatar editing to the profile modal with a dedicated
`EditAvatarModal` that lets users crop square images before upload.

Extend `PATCH /user` and the frontend user API types to accept
`avatar`, then upload the exported PNG to Kodo and save the returned
URL immediately from the avatar modal instead of bundling it into the
rest of the profile form.

Signed-off-by: Aofei Sheng <aofei@aofeisheng.com>
* fix editor styles

* details

* more details

* fix: stage preview size

* fix map editor sider width
@nighca nighca merged commit 624e1e9 into main Mar 13, 2026
8 checks passed
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.

6 participants