Skip to content

feat: modernization phase 5 PR3#54

Merged
dsmurfin merged 2 commits into
modernization-planfrom
modernization-phase5-pr3
Jul 19, 2026
Merged

feat: modernization phase 5 PR3#54
dsmurfin merged 2 commits into
modernization-planfrom
modernization-phase5-pr3

Conversation

@dsmurfin

Copy link
Copy Markdown
Owner

No description provided.

Copilot AI review requested due to automatic review settings July 19, 2026 12:00

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Pull request overview

This PR (Modernization Phase 5 PR3) expands the receiver/merger “merge surface” so consumers can observe priority-related merge state (universe priority and per-address priority activity) in addition to merged levels, while also fixing a newly-reachable universe-priority dedupe bug in sACNMerger.

Changes:

  • Surface winning per-slot priorities, whether PAP is active, and the winning universe priority on sACNReceiverMergedData.
  • Extend sACNReceiver.information(for:) to include per-source priority state, and emit/forward a .perAddressPriorityLost event from sACNReceiver and sACNReceiverGroup.
  • Fix sACNMerger.updateUniversePriorityForSource dedupe logic and add regression tests to pin the behavior.

Reviewed changes

Copilot reviewed 8 out of 8 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
Tests/sACNKitTests/ReceiverTests.swift Adds receiver-level tests for surfaced priority fields and PAP-loss event behavior.
Tests/sACNKitTests/MergerTests.swift Adds a regression test to ensure universe-priority decreases trigger a re-merge.
Sources/sACNKit/Receiver/sACNReceiverGroup.swift Adds and forwards a new group event for per-address-priority loss.
Sources/sACNKit/Receiver/sACNReceiver.swift Enables merger output tracking, enriches information(for:), emits PAP-loss events, and includes priority fields in merged payloads.
Sources/sACNKit/Receiver/Delegate/sACNReceiverSource.swift Adds per-source priority state fields to the receiver source info payload.
Sources/sACNKit/Receiver/Delegate/sACNReceiverMergedData.swift Adds merged priority-related fields (per-slot priorities, PAP active flag, universe priority).
Sources/sACNKit/Merger/sACNMerger.swift Exposes internal read of winning per-slot priorities and fixes universe-priority dedupe logic.
docs/modernization/phase-5.md Documents PR3’s delivery note and the uncovered/fixed guard bug.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread Sources/sACNKit/Receiver/sACNReceiver.swift
@dsmurfin
dsmurfin merged commit ee2965e into modernization-plan Jul 19, 2026
7 checks passed
@dsmurfin
dsmurfin deleted the modernization-phase5-pr3 branch July 19, 2026 12:20
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