Skip to content

fix(dev): bake WalletConnect project ID into frontend dev builds#591

Merged
OisinKyne merged 1 commit into
mainfrom
fix/walletconnect-dev-build-arg
Jun 3, 2026
Merged

fix(dev): bake WalletConnect project ID into frontend dev builds#591
OisinKyne merged 1 commit into
mainfrom
fix/walletconnect-dev-build-arg

Conversation

@bussyjd
Copy link
Copy Markdown
Collaborator

@bussyjd bussyjd commented Jun 3, 2026

Summary

Redo of #579, scoped to the local dev iteration path. just dev-frontend / dev-frontend-rebuild build the local FE image but never passed NEXT_PUBLIC_WALLET_CONNECT_PROJECT_ID, so dev images shipped with the wallet UI disabled — even though the FE Dockerfile already consumes the arg (ARGENVpnpm run build).

  • Resolve the ID at build time, in order: NEXT_PUBLIC_WALLET_CONNECT_PROJECT_ID env → WALLET_CONNECT_PROJECT_ID env → frontend repo .env.local.
  • Pass it as a --build-arg. The ID is public by design (browsers use it to reach WalletConnect) but stays out of tracked obol-stack files.
  • Factor the two near-identical recipes into a shared private recipe _dev-frontend-build no_cache set_image (vs. Pass WalletConnect project ID to frontend dev build #579 which duplicated the resolver into both recipes).

Scope

Local dev iteration only. The production release image is injected separately in the frontend repo's own build (per the discussion on #579).

Validation

  • just --summary / --list parse cleanly; _dev-frontend-build stays private.
  • just --dry-run dev-frontend → cache + set-image; dev-frontend-rebuild--no-cache + skip-set-image.
  • Resolver extracts the real 32-char ID from .env.local.
  • Real docker build --build-arg … against the FE repo → confirmed the project ID is baked into the compiled .next/static bundle.

Copy link
Copy Markdown
Contributor

@OisinKyne OisinKyne left a comment

Choose a reason for hiding this comment

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

I wasn't thinking about the local dev front end flow when i closed this earlier, my b.

`just dev-frontend` / `dev-frontend-rebuild` build the local FE image but
never passed NEXT_PUBLIC_WALLET_CONNECT_PROJECT_ID, so the dev image shipped
with the wallet UI disabled even though the FE Dockerfile already consumes the
arg (ARG -> ENV -> `pnpm run build`).

Resolve the ID at build time (env NEXT_PUBLIC_WALLET_CONNECT_PROJECT_ID ->
env WALLET_CONNECT_PROJECT_ID -> frontend repo .env.local) and pass it as a
--build-arg. The ID is public by design (browsers use it to reach
WalletConnect) but stays out of tracked obol-stack files.

Factor the two near-identical recipes into a shared private recipe
`_dev-frontend-build no_cache set_image` to avoid duplicating the resolver.

Scope: local dev iteration only; the production release image is injected
separately in the frontend repo's own build.
@OisinKyne OisinKyne force-pushed the fix/walletconnect-dev-build-arg branch from dbe0d8c to 2fcda71 Compare June 3, 2026 18:48
@OisinKyne OisinKyne enabled auto-merge (rebase) June 3, 2026 18:48
@OisinKyne OisinKyne merged commit a63d043 into main Jun 3, 2026
7 checks passed
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