Skip to content

v0.7.4 — Multi-tab dashboard + plugin install via release assets

Choose a tag to compare

@Arediss Arediss released this 25 Apr 23:43

Highlights

The admin dashboard becomes multi-tab — name them, add new ones, drag your widgets where you want them. And plugin installs finally respect prebuilt release assets, unblocking the plugins that ship a clean source repo with dist/ shipped only on the GitHub Release page.

Features

  • Multi-tab dashboard. The dashboard hosts multiple named tabs above the grid. Add a tab with the + button, double-click a tab to rename, remove the active one in edit mode (the last remaining tab is locked so you're never empty). Widgets stay unique across the whole layout.
  • Reset confirm modal. The Reset-to-default action moved out of the toolbar into a proper a11y-aware modal (Escape, focus-trap, focus-return) and only renders in edit mode where it belongs.

Fixes

  • Plugin install respects release assets. The Discover-tab installer used to hardcode tarball/HEAD — GitHub's auto-generated source archive that omits gitignored build outputs. Plugins that ship dist/ as a Release asset (the recommended pattern) would land an unbuilt tree and fail with Cannot find module .../dist/index.js. Oscarr now resolves the install URL via the GitHub Releases API: the first .tar.gz asset on the latest release wins, with a fallback to tarball/HEAD for plugins that still commit dist/ to their repo.

Docs

  • Plugin release workflow. docs/plugins.md grows a Releasing a plugin section with a copy-paste GitHub Actions workflow that builds, packs and uploads a tarball asset on every v* tag — so future plugin authors land on the asset path by default and stop polluting their git history with built code.

Schema migration

The dashboard layout schema bumps to v2 (tabs). Existing v1 layouts are auto-migrated on the next GET into a single Main tab — the row is only rewritten on the next save. No DB migration required.


Full changelog: v0.7.3...v0.7.4

Upgrading

```
docker pull ghcr.io/arediss/oscarr:0.7.4
```
or
```
docker pull ghcr.io/arediss/oscarr:latest
```