Monaco editor#607
Merged
Merged
Conversation
Volte6
pushed a commit
that referenced
this pull request
Jun 9, 2026
## Context - Current release automation mixes mutable prereleases with stable releases, making tag and asset policy hard to verify. - Prereleases should move with `master`; stable releases should be manual, protected, and immutable. - Release targets, checksums, notes, uploads, and attestations were duplicated across workflow steps. - Local CI needed one documented path for workflow lint, YAML lint, Go checks, JS lint, and `act` dry runs. - This branch is rebased on #607 and preserves the Monaco editor work. ## Changes - Splits release automation into `CI`, `Prerelease`, and `Stable Release` workflows. - Publishes rolling prereleases automatically from `master` to the mutable `prerelease` tag. - Publishes stable releases manually, draft-first, with semver tag/release reuse checks. - Runs Go tests on PRs, but release cross-compiles only after merge to `master`. - Centralizes release asset metadata in `.github/scripts/release-assets.sh`. - Adds helper scripts for release builds, asset assembly, checksums, notes, and provenance text. - Tidies shared Go actions and Makefile targets, including local CI, JS lint, and `fmtcheck`. - Excludes vendored Monaco files from JSHint while preserving the editor implementation. - Updates release docs and keeps `PLAN.md` local-only. ## Validation - `make js-lint` - `make ci-local` ## Review Notes - Draft because this changes release policy and local CI behavior. - Focus review on tag immutability, asset names, permissions, and prerelease/stable behavior. - Rebased after #607, so the PR no longer removes Monaco editor files.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Replaces the plain
<textarea>script editor in the admin panel with an embedded Monaco editor, providing syntax highlighting, IntelliSense, and TypeScript-backed autocompletion for GoMud's scripting hooks. The editor is bundled and served locally, fed by an auto-generated TypeScript definition file describing the engine's script objects and event handlers.Changes
vs/assets) and served it from the admin static path.monaco-editor-frame.html/.js) and aScriptEditorcontroller (script-editor.js) that embeds the editor inline with a fullscreen "Pop Out" modal, keeping the form<textarea>as the source of truth.GET /admin/api/v1/scripting/types.d.tsendpoint that emits TypeScript declarations for engine script objects and event handlers to power editor autocompletion.ReturnTypevalues and strongereventDetailsparameter types for each script hook.serveAdminStaticFileto serve.js,.css, and.htmlwith explicit content types, preventing MIME sniffing from breaking Monaco assets.