From 8e58fb5febba3aec837c6ac35b1c5aa2c9969db2 Mon Sep 17 00:00:00 2001 From: Navid Shad Date: Fri, 19 Jun 2026 19:33:37 +0300 Subject: [PATCH 1/4] feat: show dashboard version in a global footer #86exqazkq Stand up a semantic-release pipeline (mirroring the extension's) that owns the dashboard version in frontend/package.json, expose it to the SPA via Nuxt runtimeConfig, and render it in a global footer on every authenticated page. - frontend/package.json: name, version placeholder, release scripts, and semantic-release devDeps - frontend/release.config.cjs: dual changelog, main + dev-prerelease, runs from frontend/ so @semantic-release/npm bumps frontend/package.json - .github/workflows/release.yml: release-only job on push to main/dev - frontend/nuxt.config.ts: bake APP_VERSION from package.json into runtimeConfig.public - AppVersionFooter.vue wired into the DashboardShell #footer slot, with an app.version i18n string Co-Authored-By: Claude Opus 4.8 --- .github/workflows/release.yml | 45 + .../components/partial/AppVersionFooter.vue | 14 + frontend/layouts/default.vue | 4 + frontend/locales/en.json | 3 + frontend/nuxt.config.ts | 4 + frontend/package.json | 9 +- frontend/release.config.cjs | 35 + frontend/yarn.lock | 2603 ++++++++++++++++- 8 files changed, 2698 insertions(+), 19 deletions(-) create mode 100644 .github/workflows/release.yml create mode 100644 frontend/components/partial/AppVersionFooter.vue create mode 100644 frontend/release.config.cjs diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000..07e5ff0 --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,45 @@ +name: Release + +on: + push: + branches: + - main + - dev + +permissions: + contents: write + issues: write + pull-requests: write + +concurrency: + group: release-${{ github.ref }} + cancel-in-progress: false + +jobs: + release: + name: Release + runs-on: ubuntu-latest + defaults: + run: + working-directory: frontend + steps: + - name: Checkout + uses: actions/checkout@v4 + with: + fetch-depth: 0 + persist-credentials: false + + - name: Setup Node + uses: actions/setup-node@v4 + with: + node-version: 22 + cache: yarn + cache-dependency-path: frontend/yarn.lock + + - name: Install dependencies + run: yarn install --frozen-lockfile + + - name: Release + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: yarn release diff --git a/frontend/components/partial/AppVersionFooter.vue b/frontend/components/partial/AppVersionFooter.vue new file mode 100644 index 0000000..87600aa --- /dev/null +++ b/frontend/components/partial/AppVersionFooter.vue @@ -0,0 +1,14 @@ + + + diff --git a/frontend/layouts/default.vue b/frontend/layouts/default.vue index 38b5c98..0c40fd9 100644 --- a/frontend/layouts/default.vue +++ b/frontend/layouts/default.vue @@ -29,6 +29,10 @@ + +