github RunOnFlux/flux v8.6.3

11 hours ago

Summary

Fixes enterprise apps not appearing in global apps location database due to missing hash field in app running broadcast messages.

Root Cause

  • decryptEnterpriseApps() defaults to formatSpecs: true
  • specificationFormatter() strips hash and height metadata fields from app specs
  • App running broadcast messages require hash to identify the app registration
  • Without hash, the global apps location database rejects the message

Changes

Core Fix

Pass formatSpecs: false when reading apps from local database in:

  • checkAndNotifyPeersOfRunningApps() - broadcasts app running messages to network
  • recreateMissingContainers() - recreates containers from stored app specs

This preserves the hash and height metadata needed for app identification while still sanitizing specs from frontend/API calls using formatSpecs: true.

CI/CD Fixes

1. MongoDB Setup (.github/workflows/nodejs.yml)

  • Switched from supercharge/mongodb-github-action to native GitHub service containers
  • Why: Docker Engine 29+ enforces minimum API version 1.44, causing incompatibility with third-party actions
  • Solution: Use official mongo:7.0 image directly via GitHub services
  • References:

2. Test Updates (tests/unit/dockerService.test.js)

  • Updated Docker network config expectations to include IPRange field
  • Why: Newer Docker versions include IPRange: '' in network IPAM configuration
  • Fix: Added IPRange: '' to test expectations for network creation tests

Impact

Before: Enterprise apps like streamrnode1766836210779 were running locally but not showing in global location database

{
  "name": "streamrnode1766836210779",
  "runningSince": "2026-02-13T08:39:06.491Z"
}

After: Messages now include hash and are accepted by global database

{
  "name": "streamrnode1766836210779",
  "hash": "2fd2c736969db56594609be45e120f3886dd768ac220af4bd2ab2339bb2ae542",
  "runningSince": "2026-02-13T09:47:50.420Z"
}

Testing

✅ Tested on node 77.243.21.246 running streamrnode1766836210779
✅ Confirmed app running messages now include hash field
✅ Verified no other decryptEnterpriseApps() calls need modification
✅ CI tests passing with updated Docker configuration

Don't miss a new flux release

NewReleases is sending notifications on new releases.