Skip to content

feat: show dashboard version in a global footer #86exqazkq#52

Merged
navidshad merged 4 commits into
devfrom
CU-86exqazkq_Show-versions-on-both-dashboard-and-Exension_Navid-Shad
Jun 19, 2026
Merged

feat: show dashboard version in a global footer #86exqazkq#52
navidshad merged 4 commits into
devfrom
CU-86exqazkq_Show-versions-on-both-dashboard-and-Exension_Navid-Shad

Conversation

@navidshad

@navidshad navidshad commented Jun 19, 2026

Copy link
Copy Markdown
Contributor

📋 Summary

This PR introduces a global footer on the dashboard that displays the current dashboard version. It also updates documentation to require ClickUp task IDs in commit subjects and PR titles for better traceability. Additionally, it fixes a stale note about release automation in the CLAUDE.md file and enhances the CI pipeline to gate dashboard releases by passing unit tests before publishing.

🔗 Related Tasks

#86exqazkq - Show dashboard version in global footer, require ClickUp task IDs in commits and PRs, fix release automation note, and gate dashboard release on unit tests

📝 Additional Details

  • Documentation improvements ensure consistency and traceability via ClickUp task IDs.
  • The dashboard footer enhancement improves visibility of the deployed version.
  • CI gating prevents publishing if unit tests fail, improving release stability.

📜 Commit List

  • 5a8e246 docs: correct stale "release automation not wired up" note in CLAUDE.md #86exqazkq
  • 7228660 ci: gate dashboard release on unit tests before publishing #86exqazkq
  • ea095dc docs: require ClickUp # in commit subject and PR title #86exqazkq
  • 8e58fb5 feat: show dashboard version in a global footer #86exqazkq

@navidshad

Copy link
Copy Markdown
Contributor Author

@navidshad navidshad added the review Claude Routine will take this and review the PR label Jun 19, 2026

Copy link
Copy Markdown
Contributor Author

Automated PR Review

Primary Task: CU-86exqazkq — Show versions on both dashboard and Extension


Task alignment

The task covers both dashboard and extension. This PR scopes to the dashboard side only, which is the correct approach for a single-repo PR. Within scope:

  • ✅ Dashboard version visible in a global footer on every authenticated page (AppVersionFooter.vue wired into DashboardShell #footer slot)
  • ✅ Semantic-release pipeline stood up (release.config.cjs, frontend/package.json versioned, GitHub Actions workflow)
  • ✅ Version baked at build time from package.json via nuxt.config.ts → runtimeConfig.public.APP_VERSION
  • ✅ i18n string app.version added to frontend/locales/en.json

Commit messages

⚠️ feat: show dashboard version in a global footer — the commit body is detailed and the feat: type is correct, but the ClickUp task ID is missing. Per CLAUDE.md (Commits & versioning):

Always include the ClickUp task ID in the commit message. Reference it as #<task-id> (e.g. fix(console-crane): align bundle selector height #86exw6kme), matching existing history.

The commit must include #86exqazkq in either the subject or body.


Convention check

❌ Missing task ID in commit (frontend/package.json, commit sha 9f7f251)
The single commit lacks #86exqazkq. This is a documented, enforced convention across all repos.

⚠️ Release workflow has no verify/test gate (.github/workflows/release.yml)
The commit message says this mirrors the extension's pipeline, but the extension's workflow has a verify job (typecheck → unit tests → e2e) that release needs: before it can run. The dashboard workflow only has a bare release job — a push with broken tests to main/dev would still cut a release. At minimum a yarn test step should run before yarn release.

# .github/workflows/release.yml — missing before the Release step:
- name: Install dependencies
  run: yarn install --frozen-lockfile

- name: Typecheck
  run: yarn typecheck   # if available

- name: Test
  run: yarn test

✅ Everything else looks solid:

  • AppVersionFooter.vue: clean, v-if="version" guard prevents empty render
  • release.config.cjs: dual-changelog pattern (CHANGELOG.md / CHANGELOG-DEV.md), npmPublish: false, branch prerelease config — correct mirror of the extension's setup
  • Component placed in frontend/components/partial/ — consistent with existing structure
  • nuxt.config.ts import and runtimeConfig.public placement are correct

Verdict

REQUEST CHANGES

Two issues to address before merge: (1) add #86exqazkq to the commit message per the documented convention, and (2) add a test/typecheck step to .github/workflows/release.yml before the yarn release step so broken code cannot trigger a version bump.


Generated by Claude Code

@navidshad navidshad removed the review Claude Routine will take this and review the PR label Jun 19, 2026 — with Claude
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 <noreply@anthropic.com>
@navidshad navidshad force-pushed the CU-86exqazkq_Show-versions-on-both-dashboard-and-Exension_Navid-Shad branch from 9f7f251 to 8e58fb5 Compare June 19, 2026 16:46
@navidshad navidshad changed the title feat: show dashboard version in a global footer feat: show dashboard version in a global footer #86exqazkq Jun 19, 2026
navidshad and others added 2 commits June 19, 2026 19:50
…azkq

Document the convention in CLAUDE.md's Commits & versioning section:
append the bare ClickUp task id as `#<taskId>` to the commit subject and
the PR title (so it survives a squash-merge into dev). The Conventional
Commits type prefix still drives the semver bump.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
The release job ran `yarn release` with nothing verifying first, so a push
to main/dev with failing tests could still cut a version. Add a `yarn test`
step before the Release step. E2E is left out (needs Playwright browsers +
a live backend); PRs already run the full suite via test.yml.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@navidshad navidshad added the review Claude Routine will take this and review the PR label Jun 19, 2026

Copy link
Copy Markdown
Contributor Author

Automated PR Review

Primary Task: CU-86exqazkq — Show versions on both dashboard and Extension


Task alignment

This PR correctly scopes to the dashboard side of the task.

  • ✅ Dashboard version displayed in a global footer on every authenticated page (AppVersionFooter.vue wired into DashboardShell #footer slot)
  • ✅ Semantic-release pipeline stood up (frontend/release.config.cjs, frontend/package.json versioned at 0.0.0, release.yml GitHub Actions workflow)
  • ✅ Version baked at build time from package.json via nuxt.config.ts → runtimeConfig.public.APP_VERSION
  • ✅ i18n string app.version added to frontend/locales/en.json
  • ✅ ClickUp task ID convention documented in CLAUDE.md
  • ✅ Unit test gate added to release workflow

Commit messages

All three commits carry #86exqazkq and have correct type prefixes:

  • feat: show dashboard version in a global footer #86exqazkqfeat is correct for a new user-facing capability
  • docs: require ClickUp #<taskId> in commit subject and PR title #86exqazkqdocs is correct, no version bump
  • ci: gate dashboard release on unit tests before publishing #86exqazkqci is correct, no version bump

Prior review follow-up

The previous review requested two changes:

  • Resolved#86exqazkq is now present in all three commit subjects (first commit was amended)
  • Resolvedyarn test step added before yarn release in .github/workflows/release.yml

Convention check

❌ CLAUDE.md has a contradictory statement (CLAUDE.md, line ~169 in the diff context)

The docs: commit adds the ClickUp convention paragraph directly above this existing blockquote:

Release automation is not wired up in this repo yet (no semantic-release, no tags, server/package.json is 0.0.0) — the convention currently records the intended bump.

But the feat: commit in this same PR does wire up semantic-release for the frontend (frontend/package.json now has version: "0.0.0" and a release script; frontend/release.config.cjs and .github/workflows/release.yml are added). The blockquote is now incorrect and will mislead future contributors and AI assistants reading CLAUDE.md.

The docs: commit should update that paragraph to reflect the new reality — e.g.:

> Release automation is now wired up for the **frontend** via `semantic-release`
> (`frontend/package.json`, `frontend/release.config.cjs`, `.github/workflows/release.yml`).
> `server/package.json` remains at `0.0.0` (no release pipeline yet for the server).

✅ Everything else looks solid:

  • AppVersionFooter.vue: clean, v-if="version" guard prevents empty render, comment explains version ownership
  • release.config.cjs: dual-changelog (CHANGELOG.md / CHANGELOG-DEV.md), npmPublish: false, prerelease branch config — mirrors the extension's pattern correctly
  • nuxt.config.ts: import { version as APP_VERSION } from './package.json' is the correct Nuxt build-time pattern
  • Component placed in frontend/components/partial/ — consistent with existing structure
  • @semantic-release/changelog and @semantic-release/git added as devDeps; remaining plugins (commit-analyzer, release-notes-generator, npm, github) are bundled with semantic-release
  • persist-credentials: false + GITHUB_TOKEN in Release step is the standard semantic-release pattern

Verdict

REQUEST CHANGES

One issue to fix before merge: update the stale "release automation is not wired up" blockquote in CLAUDE.md — the docs: commit adds the ClickUp convention immediately above it but leaves a directly contradictory statement in place. All other aspects of the PR are well-implemented.


Generated by Claude Code

@navidshad navidshad removed the review Claude Routine will take this and review the PR label Jun 19, 2026 — with Claude
…md #86exqazkq

This PR's feat commit wires up semantic-release for the frontend, so the
existing blockquote claiming no release automation exists is now false and
would mislead future contributors. Update it: frontend release automation
is live (release.config.cjs, release.yml, versioned frontend/package.json);
the server remains unversioned (0.0.0, no pipeline).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@navidshad navidshad added the review Claude Routine will take this and review the PR label Jun 19, 2026

Copy link
Copy Markdown
Contributor Author

Automated PR Review

Primary Task: CU-86exqazkq — Show versions on both dashboard and Extension


Task alignment

This PR scopes correctly to the dashboard side of the task.

  • ✅ Dashboard version displayed in a global footer on every authenticated page (AppVersionFooter.vue wired into DashboardShell #footer slot via default.vue)
  • ✅ Semantic-release pipeline stood up (frontend/release.config.cjs, frontend/package.json with name/version/release scripts, .github/workflows/release.yml)
  • ✅ Version baked at build time via import { version as APP_VERSION } from './package.json' in nuxt.config.ts → runtimeConfig.public.APP_VERSION
  • ✅ i18n string app.version added to frontend/locales/en.json
  • ✅ ClickUp task ID convention documented in CLAUDE.md
  • ✅ Unit test gate added to release workflow before yarn release
  • ✅ Stale "release automation not wired up" blockquote corrected in CLAUDE.md

Commit messages

All four commits carry #86exqazkq and correct type prefixes:

  • feat: show dashboard version in a global footer #86exqazkqfeat is correct for a new user-facing capability; minor bump
  • docs: require ClickUp #<taskId> in commit subject and PR title #86exqazkqdocs is correct, no version bump
  • ci: gate dashboard release on unit tests before publishing #86exqazkqci is correct, no version bump
  • docs: correct stale "release automation not wired up" note in CLAUDE.md #86exqazkqdocs is correct, no version bump

Prior review follow-up

First review requested two changes:

  • Resolved#86exqazkq is now present in all commit subjects
  • Resolvedyarn test step added before yarn release in .github/workflows/release.yml

Second review requested one change:

  • Resolved — commit 5a8e246 updates the stale CLAUDE.md blockquote. The old "Release automation is not wired up in this repo yet" is now correctly replaced with "Release automation is wired up for the frontend via semantic-release…" including links to the newly added files.

Convention check

✅ No issues found.

  • AppVersionFooter.vue: clean, v-if="version" guard prevents empty render, in-line comment explains semantic-release ownership — correct
  • release.config.cjs: dual-changelog (CHANGELOG.md / CHANGELOG-DEV.md), npmPublish: false, prerelease branch config mirrors the extension's pattern
  • nuxt.config.ts: build-time package.json import is the correct Nuxt pattern for baking a version
  • Component placed in frontend/components/partial/ — consistent with existing structure
  • private: true in package.json pairs correctly with npmPublish: false in the release config
  • Footer only injected in default.vue (the authenticated layout) — auth/blank/spotlight are pre-auth, so this is the right scope

Verdict

APPROVE

All three concerns raised across the two prior reviews have been addressed. The implementation is clean, the release pipeline mirrors the extension's established pattern, and the documentation is now accurate and internally consistent.


Generated by Claude Code

@navidshad navidshad removed the review Claude Routine will take this and review the PR label Jun 19, 2026 — with Claude
@navidshad navidshad merged commit 2dfd8ea into dev Jun 19, 2026
6 checks passed
@github-actions

Copy link
Copy Markdown

🎉 This PR is included in version 1.0.0-dev.1 🎉

The release is available on GitHub release

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant