Skip to content

Conversation

@thkruz
Copy link
Owner

@thkruz thkruz commented Jan 3, 2026

This pull request introduces several improvements and fixes across the codebase, mainly focusing on the campaign scenario objectives, transmitter configuration UI, and test reliability. The most significant changes are the addition of explicit "Review Mission Brief" objectives to all NATS scenarios (with timer freezing and status check), transmitter UI enhancements for modulation and FEC, and updates to test setup and patterns for better maintainability.

Campaign scenario improvements:

  • Added a "Review Mission Brief" objective to each NATS scenario (scenario1.ts, scenario3.ts, scenario4.ts, scenario5.ts), requiring users to open and acknowledge the mission brief before proceeding, and freezing the scenario timer until completion. This includes a status check confirmation step and prerequisites for subsequent objectives. [1] [2] [3] [4]
  • Updated scenario 2's mission brief objective to match the new structure, including the status check and timer freezing.
  • Added time penalty logic to scenario 5 for exceeding SLA thresholds, and improved introductory and objective-specific briefing text. [1] [2]
  • Corrected FEC values and mission brief URLs in scenarios 3 and 4, and ensured consistent receiver modem configuration. [1] [2] [3]

Transmitter configuration and UI:

  • Added modulation and FEC selection controls to the transmitter UI, defaulting to 'QPSK' and '1/2' respectively, and updated types and initial values accordingly. [1] [2] [3]

Test reliability and documentation:

  • Added a detailed retrospective documenting test coverage patterns, common pitfalls, and recommended patterns for future adapter and DOM tests, including reliable mocking and event handler testing strategies.

Polyfill and infrastructure:

  • Added a fetch API polyfill for Jest test environments to allow jest.spyOn(global, fetch) to work, improving test reliability.
  • Minor update to the package version in package.json.

These changes collectively improve the user experience in campaign scenarios, enhance the flexibility of the transmitter configuration, and make the test suite more robust and maintainable.This pull request includes several minor updates to scenario data and traffic control logic, mainly improving code safety and updating scenario references.

Scenario data update:

  • Updated the missionBriefUrl in scenario4Data to point to the correct scenario 4 documentation.

Traffic control logic improvements:

  • Removed unnecessary non-null assertions (!) when accessing handoverTargetStationId in the TrafficControlManager, improving code safety. [1] [2]
  • Ensured the isHpaSwitchEnabled flag is set to false before toggling the HPA in the RF front end, preventing potential state inconsistencies.

@thkruz thkruz added the priority: critical Blocking other issues label Jan 3, 2026
@github-actions
Copy link

github-actions bot commented Jan 3, 2026

Dependency Review

✅ No vulnerabilities or license issues or OpenSSF Scorecard issues found.

Scanned Files

None

@github-actions
Copy link

github-actions bot commented Jan 3, 2026

Coverage Report

Status Category Percentage Covered / Total
🔵 Lines 40.44% 5188 / 12826
🔵 Statements 40.1% 5426 / 13529
🔵 Functions 36.75% 898 / 2443
🔵 Branches 29.96% 2051 / 6844
File Coverage
File Stmts Branches Functions Lines Uncovered Lines
Changed Files
src/campaigns/nats/scenario1.ts 100% 100% 100% 100%
src/campaigns/nats/scenario2.ts 100% 100% 100% 100%
src/campaigns/nats/scenario3.ts 100% 100% 100% 100%
src/campaigns/nats/scenario4.ts 100% 100% 100% 100%
src/campaigns/nats/scenario5.ts 100% 100% 100% 100%
src/equipment/rf-front-end/buc-module/buc-module-core.ts 48.38% 36.73% 36.36% 50%
src/equipment/transmitter/transmitter.ts 28.67% 27.22% 29.62% 30%
src/events/events.ts 0% 0% 0% 0%
src/modal/dialog-manager.ts 86.79% 56.75% 94.11% 88.23%
src/modal/level-complete-modal.ts 2.77% 0% 0% 2.98%
src/objectives/objective-types.ts 0% 0% 0% 0%
src/objectives/objectives-manager.ts 30.01% 18.69% 32.84% 32.4%
src/pages/scenario-selection.ts 36.3% 35.38% 29.41% 37.74%
src/pages/mission-control/asset-tree-sidebar.ts 0.68% 0% 0% 0.7%
src/pages/mission-control/tabs/satellite-dashboard-tab.ts 46.71% 32% 71.42% 48.3%
src/pages/mission-control/tabs/transmitter-adapter.ts 92.69% 61.63% 91.66% 93.61%
src/pages/mission-control/tabs/tx-chain-tab.ts 93.54% 66.66% 100% 93.54%
src/scenarios/scenario-dialog-manager.ts 0% 0% 0% 0%
src/traffic/traffic-control-manager.ts 70.74% 55.55% 82.6% 74.79%
Generated in workflow #181 for commit c9f3d5a by the Vitest Coverage Report Action

@thkruz
Copy link
Owner Author

thkruz commented Jan 3, 2026

/deploy-uat

@github-actions
Copy link

github-actions bot commented Jan 3, 2026

UAT deployment started by @thkruz

View workflow run

@github-actions
Copy link

github-actions bot commented Jan 3, 2026

🚀 UAT Deployment Complete

This PR has been deployed to the UAT environment.

URL: https://uat.signalrange.space
Commit: 031288f
Deployed by: @github-actions[bot]
Deployed at: 2026-01-03T20:43:38.346Z

Please test your changes and approve when ready for production.

@thkruz thkruz merged commit fd94263 into main Jan 3, 2026
10 of 11 checks passed
@thkruz thkruz mentioned this pull request Jan 3, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

priority: critical Blocking other issues

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants