- Themes: a plugin theme is an `appearance.theme` value
(`plugin:<id>/<theme>`), offered by Settings › Appearance (and the
preferred themes of Sync with OS), Quick Switch, the toolbar gear menu and
Welcome › Customize. The project window selects it in the plugin host;
picking a built-in theme clears it. While its plugin is off, the built-in
theme of its kind shows and the choice is kept.
- File icon themes: chosen in Settings › Appearance › File icon theme and
kept in `appearance.fileIconTheme`, so every window follows.
- Keymap: plugins' default shortcuts show in Settings › Keymap as the
defaults of their actions: removable, changeable, resettable and part of
conflict checks.
- Problems: a plugin's problems are withdrawn when it stops, fails, is
disabled or uninstalled. Settings › Inspections lists them under Plugins by
plugin name; stored overrides of `plugin:` producers parse correctly.
- Status bar items of plugins are named in the status bar menu and can be
hidden.
- Languages added or removed by plugins refresh Override File Type, the
Code Style pages and Inspections without a restart.
- Uninstalling a plugin deletes the secrets it declared.
- The Settings window follows plugin changes made elsewhere.
- The plugin system is marked Preview (Settings › Plugins, README); Harbor
Night is versioned 0.1.0 like the other official plugins.
- Release: the official plugins are packed, signed (secret
PLUGIN_SIGNING_KEY) and indexed into the release as
`plugins-index.json`; released builds use it as the default marketplace.
Without the key the step is skipped.
* build: verify native Windows and Linux ARM64 bundles
* fix: select native ARM64 tools before Windows x64 fallback
* build: register verified ARM64 updater bundles and remove verification workflow
* fix(agent): prefer npx and uvx over emulated x64 binaries on Windows ARM64
Each build's tauri-action rewrote the shared latest.json by deleting and re-uploading it, so
parallel macOS builds raced: one failed with 404 on the delete (skipping DMG notarization), or a
platform could silently drop out of the manifest. The builds no longer upload it; a new
updater-manifest job builds it once from the uploaded .sig files and fails if any platform is
missing. publish waits for it.
Claude-Session: https://claude.ai/code/session_01Dq6jQQn8ZhRfkkyj3PRutA