Skip to content

Migrate PANDA app runtime to Node 22 with validated compatibility boundaries#1

Open
argahsuknesib wants to merge 2 commits intomainfrom
node-migration
Open

Migrate PANDA app runtime to Node 22 with validated compatibility boundaries#1
argahsuknesib wants to merge 2 commits intomainfrom
node-migration

Conversation

@argahsuknesib
Copy link
Copy Markdown
Collaborator

@argahsuknesib argahsuknesib commented Apr 17, 2026

Migrated PANDA to Node 22 by removing the Node-22-incompatible RDF fetch dependency chain, updating runtime pinning and container config, and restoring a green build on Node 22.

Comparative test runs on Node 20.20.2 and 22.22.2 show the major failing suites are pre-existing and not specific to Node 22.

The PANDA Node 22 migration is complete at the app level, but the ecosystem around it is not fully Node-22-clean.

More precisely:

  • PANDA itself now builds and starts on Node 22.
  • The broad test failures are not introduced by Node 22, since they also occur on Node 20.
  • The only Node-22-specific signal left is the legacy warning from the CSS stack dependency chain, especially @solid/community-server -> oidc-provider.
  • A targeted transitive override was evaluated and rolled back because it introduced Jest/runtime incompatibilities.

Remaining cleanup is therefore not a PANDA app migration issue; it is a larger dependency-stack migration for the Solid/CSS auth layer if we want a fully clean Node 22 story with no warnings and fewer legacy compatibility risks.

Out of scope for this PR:

  • Broad test-suite correctness work unrelated to Node 22 compatibility
  • Full Solid/CSS auth dependency-stack upgrade

- Introduced a new script `webhook_latency_benchmark.js` to measure and log the latency of webhook responses.
- The script supports configuration via environment variables for flexibility in testing different endpoints and parameters.

feat: create temporary query registration script

- Added `tmp-register-query.js` to register a sample query with the WebSocket server.
- This script facilitates testing of query registration functionality.

feat: add exact test commands for UMA authorization

- Created `EXACT_TEST_COMMANDS.sh` to provide validated curl commands for testing derived resource authorization.
- The script includes steps for creating ODRL policies and testing access without tokens.

feat: implement live test for derived resource authorization

- Added `LIVE_TEST_DERIVED_RESOURCE.sh` to validate the authorization flow for derived resources.
- The script checks server availability, creates policies, and verifies access control.

feat: add smoke test for UMA authorization

- Introduced `smoke.js` to perform a basic smoke test for UMA authorization flows.
- The script checks resource accessibility and handles UMA challenges.

feat: create TypeScript test for derived policy

- Added `test-derived-policy.ts` to automate the creation and validation of ODRL policies for derived resources.
- The script fetches UMA configuration and checks for proper policy creation.

feat: add derived resource authorization test script

- Created `test-derived-resource-authorization.sh` to validate the full authorization flow for derived resources.
- The script includes steps for policy creation, ticket extraction, and token exchange.

fix: add default UMA claim configuration

- Introduced `UmaClaim.ts` to manage default UMA claim token and format.
- This ensures consistent claim handling across the application.

feat: implement notification topic resolver

- Added `NotificationTopicResolver.ts` to resolve notification topics from webhook data.
- The function normalizes URLs and extracts relevant topics for processing.
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.

1 participant