Skip to content

Commit c335d76

Browse files
fix(vscode): claim a free display name and fix the Marketplace README links (#814)
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
1 parent d875047 commit c335d76

4 files changed

Lines changed: 13 additions & 6 deletions

File tree

.github/workflows/release-vscode-extension.yml

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -135,9 +135,14 @@ jobs:
135135
- name: Package VSIX
136136
id: pack
137137
working-directory: vscode-extension
138+
# Through `package:vsix`, so the README base URLs are declared once. vsce
139+
# ignores `repository.directory` (microsoft/vscode-vsce#980) and resolves
140+
# a relative README link against the repository root, which for an
141+
# extension in a subdirectory is one level too high — and it does so
142+
# silently, shipping a 404 with no warning.
138143
run: |
139144
set -euo pipefail
140-
vsce package --no-dependencies
145+
pnpm run package:vsix
141146
shopt -s nullglob
142147
files=( *.vsix )
143148
if [[ ${#files[@]} -ne 1 ]]; then

docs/contributor/development/project-structure.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,4 +59,6 @@ The scope carries the organization and the name carries the role, so `@tumaet/ap
5959

6060
Its Marketplace identity is `publisher.name``aet-tum.apollon-extension`, where `aet-tum` is the organization's publisher, alongside `aet-tum.iris-thaumantias`. `publisher` and `name` in `vscode-extension/package.json` are the only source for that identity: the release workflow reads both to decide which listing to query, which tag to cut, and what to print in the release notes. Changing either points the release at a different listing, and installed clients follow the identity, not the repository — a new identity reaches nobody who already has the extension.
6161

62-
The name reads oddly for a package whose directory is `vscode-extension/`, and it cannot be improved. The Marketplace reserves an extension name across **all** publishers, and `apollon-vscode` is held by `tumaet.apollon-vscode` — an abandoned listing from `ls1intum/apollon-vscode`, the archived repository this workspace replaced. Publishing a new extension under that name fails with `The extension 'apollon-vscode' already exists in the Marketplace`. `aet-tum.apollon-extension` is the listing this project already owns, so releases update it in place and the installs it carries keep receiving them.
62+
The name reads oddly for a package whose directory is `vscode-extension/`, and it cannot be improved. The Marketplace reserves both an extension's `name` and its `displayName` across **all** publishers, and the abandoned `tumaet.apollon-vscode` listing — from `ls1intum/apollon-vscode`, the archived repository this workspace replaced — holds `apollon-vscode` and `Apollon` respectively. Claiming either fails at publish time, server-side, with `already exists in the Marketplace` or `This extension display name is taken`. So the manifest keeps `apollon-extension` / `Apollon - TUM`: the listing this project already owns, whose display name also matches its sibling `aet-tum.iris-thaumantias` (`Artemis - TUM`). Releases update that listing in place, and the installs it carries keep receiving them.
63+
64+
`vsce` resolves relative README links against the repository root, ignoring `repository.directory` ([vscode-vsce#980](https://github.com/microsoft/vscode-vsce/issues/980)), so an extension in a subdirectory ships links one level too high — silently, with no warning. The `package:vsix` script therefore passes `--baseContentUrl` and `--baseImagesUrl` pointing at `vscode-extension/`, and the release workflow packages through that script rather than calling `vsce` itself. A README link may not escape the extension root either: `../LICENSE` survives verbatim into the URL, and GitHub does not normalize `..` in a blob path.

vscode-extension/README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ Model UML diagrams directly in Visual Studio Code using the [Apollon](https://gi
1313
2. Open any `.apollon` file to edit it on the canvas. It behaves like any other editor: <kbd>Cmd/Ctrl+S</kbd> saves, the tab shows unsaved changes, and <kbd>Cmd/Ctrl+Z</kbd> undoes.
1414
3. To read or diff the raw JSON, use **Reopen Editor With… → Text Editor**.
1515

16-
Supported diagram types match the [`@tumaet/apollon`](https://www.npmjs.com/package/@tumaet/apollon) library: class, object, activity, use case, communication, component, deployment, Petri net, reachability graph, syntax tree, flowchart, BPMN, and SFC.
16+
Supported diagram types match the [`@tumaet/apollon`](https://www.npmjs.com/package/@tumaet/apollon) library: class, object, activity, use case, communication, component, deployment, Petri net, reachability graph, syntax tree, flowchart, BPMN, and sequential function chart.
1717

1818
## Export
1919

@@ -27,4 +27,4 @@ Run **Apollon: Export Diagram as Image** to write a sibling `.svg` or `.png` nex
2727

2828
## License
2929

30-
MIT — see the monorepo [LICENSE](../LICENSE).
30+
MIT — see [LICENSE](./LICENSE.txt).

vscode-extension/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "apollon-extension",
3-
"displayName": "Apollon",
3+
"displayName": "Apollon - TUM",
44
"description": "Embeddable UML modeling editor for VS Code. Create, edit, and export UML diagrams (class, component, activity, BPMN, and more) directly inside your editor.",
55
"publisher": "aet-tum",
66
"license": "MIT",
@@ -162,7 +162,7 @@
162162
"lint:fix": "eslint --fix src webview/src",
163163
"typecheck": "tsc -p tsconfig.json --noEmit && tsc -p webview/tsconfig.json --noEmit",
164164
"test": "vitest run",
165-
"package:vsix": "vsce package --no-dependencies",
165+
"package:vsix": "vsce package --no-dependencies --baseContentUrl https://github.com/ls1intum/Apollon/blob/main/vscode-extension --baseImagesUrl https://raw.githubusercontent.com/ls1intum/Apollon/main/vscode-extension",
166166
"start:webview": "pnpm --filter @tumaet/vscode-webview run start",
167167
"build:webview": "pnpm --filter @tumaet/vscode-webview run build",
168168
"build:all": "pnpm run build && pnpm run build:webview"

0 commit comments

Comments
 (0)