Skip to content

[codex] Clean up app version fallback#65

Merged
KyleTryon merged 1 commit into
mainfrom
codex/cleanup-version-source
May 25, 2026
Merged

[codex] Clean up app version fallback#65
KyleTryon merged 1 commit into
mainfrom
codex/cleanup-version-source

Conversation

@KyleTryon
Copy link
Copy Markdown
Contributor

Summary

  • stop deriving the displayed app version from package metadata in local/dev runs
  • only include the health-check version when CLIPARR_VERSION is injected by CI or Docker build metadata
  • keep Jellyfin client versioning explicit with a local dev fallback
  • remove stale private package manifest version fields and Docker's baked-in default version

Root cause

The server version resolver fell back to npm_package_version, which pnpm populated from apps/server/package.json during pnpm dev. That made the dashboard display the stale manifest value even though CI injects the real build identity separately.

Validation

  • pnpm install --frozen-lockfile
  • pnpm --filter @cliparr/server test
  • pnpm --filter @cliparr/server lint:types
  • pnpm --filter @cliparr/frontend lint:types
  • pnpm --filter @cliparr/server lint:eslint
  • pnpm --filter @cliparr/frontend lint:eslint
  • pnpm build

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR updates Cliparr’s version resolution so that the displayed app version is only sourced from explicit build metadata (CLIPARR_VERSION), avoiding misleading/stale versions during local pnpm dev runs, and keeps Jellyfin client versioning explicitly defined with a local dev fallback.

Changes:

  • Remove package-manifest-based version fallbacks (including npm_package_version) and treat CLIPARR_VERSION as the sole source of the server “display version”.
  • Omit the version field from /api/health unless CLIPARR_VERSION is actually provided.
  • Introduce CLIPARR_CLIENT_VERSION (defaults to "dev" locally) and use it for Jellyfin client requests.

Reviewed changes

Copilot reviewed 11 out of 11 changed files in this pull request and generated no comments.

Show a summary per file
File Description
packages/shared/package.json Removes stale version field from private workspace package.
package.json Removes stale root version field so local tooling doesn’t accidentally surface it.
Dockerfile Removes default CLIPARR_VERSION build-arg value so images only carry a version when injected.
apps/server/src/providers/jellyfin/shared.ts Switches Jellyfin client version source to CLIPARR_CLIENT_VERSION.
apps/server/src/config/version.ts Simplifies version resolution to only use CLIPARR_VERSION; adds explicit client version resolver with local dev fallback.
apps/server/src/config/version.test.ts Updates tests to reflect new “omit when not injected” behavior and client fallback behavior.
apps/server/src/app.ts Makes /api/health conditionally include version.
apps/server/package.json Removes stale version field from private workspace package.
apps/frontend/src/components/DashboardScreen.tsx Handles missing health.version by falling back to an empty string.
apps/frontend/src/api/cliparrClient.ts Marks HealthResponse.version as optional to match API behavior.
apps/frontend/package.json Removes stale version field from private workspace package.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@KyleTryon KyleTryon marked this pull request as ready for review May 25, 2026 16:08
@KyleTryon KyleTryon merged commit d54f3c5 into main May 25, 2026
3 of 4 checks passed
@KyleTryon KyleTryon deleted the codex/cleanup-version-source branch May 26, 2026 03:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants