Skip to content

Fix cecportcontroller null streamcec guard#1448

Merged
aknous merged 25 commits into
mainfrom
fix-cecportcontroller-null-streamcec-guard
Jul 16, 2026
Merged

Fix cecportcontroller null streamcec guard#1448
aknous merged 25 commits into
mainfrom
fix-cecportcontroller-null-streamcec-guard

Conversation

@erikdred

Copy link
Copy Markdown
Contributor

No description provided.

ndorin and others added 21 commits March 20, 2026 12:03
The cache wasn't being cleared correctly, and was an unnecessary
add.
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

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 updates several Essentials components, primarily hardening CEC port handling around a potentially-null StreamCec while also introducing new configuration/API surface in routing, web handlers, and device-type interfaces.

Changes:

  • Make CecPortController resilient to Port.StreamCec == null and attempt event subscription only when available.
  • Add optional Screen/Lift controller behaviors to disable auto-lower on power-on and auto-raise on power-off.
  • Adjust several JSON/web/API and routing utilities (null-value JSON serialization, feedback web handler behavior, routing mapping/logging) and add new device-type interfaces.

Reviewed changes

Copilot reviewed 9 out of 9 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
src/PepperDash.Essentials.MobileControl.Messengers/Messengers/DeviceStateMessageBase.cs Adds null-ignoring serialization and marks Interfaces as obsolete.
src/PepperDash.Essentials.MobileControl.Messengers/Messengers/DeviceMessageBase.cs Updates JSON serialization to omit null fields.
src/PepperDash.Essentials.Devices.Common/Displays/ScreenLiftControllerConfigProperties.cs Adds config flags to disable auto lower/raise behaviors.
src/PepperDash.Essentials.Devices.Common/Displays/ScreenLiftController.cs Honors new config flags when reacting to warming/cooling feedback.
src/PepperDash.Essentials.Core/Web/RequestHandlers/GetFeedbacksForDeviceRequestHandler.cs Changes response behavior for missing devices (now returns 200 + empty payload).
src/PepperDash.Essentials.Core/Routing/Extensions.cs Modifies routing mapping and removes “impossible route” cache; adds extra verbose logs.
src/PepperDash.Essentials.Core/DeviceTypeInterfaces/INetworkSwitchControl.cs Introduces network switch interfaces for per-port VLAN/PoE and related event types.
src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IHasWirelessSharing.cs Adds a standard interface/event args for wireless sharing activity feedback.
src/PepperDash.Essentials.Core/Comm and IR/CecPortController.cs Adds guarded subscription logic for StreamCec and updates send methods accordingly.

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

Comment thread src/PepperDash.Essentials.Core/Routing/Extensions.cs
Comment thread src/PepperDash.Essentials.Core/Comm and IR/CecPortController.cs Outdated
erikdred and others added 2 commits July 16, 2026 09:21
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
@aknous
aknous merged commit e23c987 into main Jul 16, 2026
3 checks passed
@aknous
aknous deleted the fix-cecportcontroller-null-streamcec-guard branch July 16, 2026 13:40
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.

9 participants