Skip to content

fix: resolve Docker build failures and enrich mobile hotspot metadata#1167

Merged
bryzettler merged 5 commits intodevelopfrom
bugfix/blockchain-api-build
Apr 3, 2026
Merged

fix: resolve Docker build failures and enrich mobile hotspot metadata#1167
bryzettler merged 5 commits intodevelopfrom
bugfix/blockchain-api-build

Conversation

@bryzettler
Copy link
Copy Markdown
Contributor

Build fixes:

  • Add export const dynamic = "force-dynamic" to both /rpc/[[...rest]] and /api/v1/[[...rest]] route handlers to prevent Next.js from attempting static page data collection on API routes
  • Move transaction-resubmission background job from root layout.tsx side-effect import to instrumentation.ts register() hook, so it only runs at server startup and doesn't trigger db/env imports at build time
  • Write dummy .env file in Dockerfile before build instead of relying on Docker ENV, which doesn't reach Next.js 15 worker threads during the page data collection phase

Mobile hotspot_update enrichment:

  • Expand actionMetadata for mobile hotspot updates to include full deployment info: antenna, elevation, azimuth, mechanicalDownTilt, electricalDownTilt for WIFI; radioInfos for CBRS
  • Add h3Index to actionMetadata so frontend has the on-chain hex index
  • Previously only stored deploymentType ("WIFI"/"CBRS") which gave the frontend no detail about what was actually updated

Build fixes:
- Add `export const dynamic = "force-dynamic"` to both /rpc/[[...rest]]
  and /api/v1/[[...rest]] route handlers to prevent Next.js from
  attempting static page data collection on API routes
- Move transaction-resubmission background job from root layout.tsx
  side-effect import to instrumentation.ts register() hook, so it only
  runs at server startup and doesn't trigger db/env imports at build time
- Write dummy .env file in Dockerfile before build instead of relying on
  Docker ENV, which doesn't reach Next.js 15 worker threads during the
  page data collection phase

Mobile hotspot_update enrichment:
- Expand actionMetadata for mobile hotspot updates to include full
  deployment info: antenna, elevation, azimuth, mechanicalDownTilt,
  electricalDownTilt for WIFI; radioInfos for CBRS
- Add h3Index to actionMetadata so frontend has the on-chain hex index
- Previously only stored deploymentType ("WIFI"/"CBRS") which gave the
  frontend no detail about what was actually updated
@bryzettler bryzettler requested a review from ChewingGlass April 3, 2026 13:52
… vars

SKIP_ENV_VALIDATION alone is insufficient — db.ts uses env values to
construct the Postgres URL at import time, producing an invalid URL
when values are undefined. Dummy values needed for valid URL syntax.
When NO_PG=true (E2E test mode), set pool min to 0 so Sequelize
doesn't eagerly open connections to a non-existent database. The
Sequelize instance is still created (models need it for init) but
no connections are attempted until a query runs.
The background service polls the DB every 2s, producing connection
errors in E2E tests where no Postgres is running.
@bryzettler bryzettler merged commit 135a3cd into develop Apr 3, 2026
97 of 98 checks passed
@bryzettler bryzettler deleted the bugfix/blockchain-api-build branch April 3, 2026 15:19
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