Commit graph

517 commits

Author SHA1 Message Date
Neil Dorin
bc70aa629c Enhance logging and mobile control functionality
- Added error log level change notification in Debug.cs.
- Updated appdebug command usage to include sink options and timeout parameters in Debug.cs.
- Implemented AddDefaultMessengersForDevice method in IMobileControl interface for better messenger registration.
- Modified EssentialsDevice to create mobile control messengers based on available interfaces.
- Introduced MessengerFactoryRegistry to streamline messenger creation for various device types.
- Refactored MobileControlSystemController to utilize the new messenger registration system and removed redundant setup methods.

Co-authored-by: Copilot <copilot@github.com>
2026-05-06 13:44:09 -06:00
Neil Dorin
dc656bddf1 feat: Implement login request handler with token generation and error handling 2026-04-16 21:31:42 -06:00
Neil Dorin
7d60c41dbc feat: Rename LoadConfig2 to LoadConfig and implement plugin version checks against configuration 2026-04-13 21:50:24 -06:00
Neil Dorin
ac3b73cf32 feat: Implement initialization exceptions handling and add API endpoint for retrieval 2026-04-13 20:57:15 -06:00
Neil Dorin
554916a74a refactor: Remove commented generic interface from IRouting for clarity 2026-04-13 20:57:10 -06:00
Neil Dorin
3d8ee22f45 feat: Refactor routing signal types and enhance web API for routing devices
- Renamed `UsbOutput` to `Usb` in `eRoutingSignalType.cs`.
- Removed unused `UsbInput` and `SecondaryAudio` signal types.
- Added new HTTP route for retrieving routing devices and tielines in `EssentialsWebApi.cs`.
- Implemented `GetRoutingDevicesAndTieLinesHandler` to handle requests for routing devices and tielines, including detailed port information.
- Updated `GenericSink` to remove `SecondaryAudio` from input port signal types.
- Created `ICurrentSourcesMessenger` to manage current source information and status updates.
- Introduced `IDeviceInfoProviderMessenger` for device information communication with debounce functionality.
- Updated `MobileControlSystemController` to use new messenger classes for current sources and device info.
- Added console commands for listing tielines and visualizing routes in `ControlSystem.cs`.
- Implemented methods for visualizing routes and current routes, including filtering options.
2026-04-10 09:49:16 -06:00
Neil Dorin
ec3e2bbc0b fix: Remove 'Debug 4.7.2' configuration from project files for consistency 2026-04-09 14:19:33 -06:00
Neil Dorin
884b2c2e6e feat: Enhance documentation for MicrophonePrivacyController and its factory with detailed summaries and parameter descriptions 2026-04-08 15:49:38 -06:00
Neil Dorin
daf9b4bda0 refactor: Change CustomActivate and Initialize methods to protected access in multiple classes for better inheritance control 2026-04-08 15:47:58 -06:00
Neil Dorin
bfb9838743 refactor: Rename logging level switch variables for clarity and add fallback handler to WebApiServer to allow for serving debug app 2026-04-08 11:51:10 -06:00
Neil Dorin
c98b48ff87 refactor: Clean up and streamline Debug and WebApiServer classes for improved readability and performance 2026-04-07 15:53:00 -06:00
Neil Dorin
5c26438a1c refactor: Remove DebugWebsocketSink.cs to streamline the codebase 2026-03-31 19:29:58 -06:00
Neil Dorin
7bec96e68b refactor: Remove obsolete interfaces and classes to streamline the codebase 2026-03-30 12:11:21 -06:00
Neil Dorin
7076eafc21 Refator: Refactor timer implementation across multiple classes to use System.Timers.Timer instead of CTimer for improved consistency and performance.
- Updated RelayControlledShade to utilize Timer for output pulsing.
- Refactored MockVC to replace CTimer with Timer for call status simulation.
- Modified VideoCodecBase to enhance documentation and improve feedback handling.
- Removed obsolete IHasCamerasMessenger and updated related classes to use IHasCamerasWithControls.
- Adjusted PressAndHoldHandler to implement Timer for button hold actions.
- Enhanced logging throughout MobileControl and RoomBridges for better debugging and information tracking.
- Cleaned up unnecessary comments and improved exception handling in various classes.
2026-03-30 11:44:15 -06:00
Neil Dorin
b4d53dbe0e refactor: routing interfaces and implementations to support current sources
- Updated ICurrentSources interface to use IRoutingSource instead of SourceListItem.
- Introduced CurrentSourcesChangedEventArgs for detailed event notifications.
- Modified IRoutingOutputs and IRoutingSource interfaces to include JSON properties for serialization.
- Enhanced IRoutingSink and related interfaces to implement ICurrentSources for better source management.
- Refactored RoutingFeedbackManager to utilize new current source handling.
- Updated GenericAudioOut, GenericSink, and BlueJeansPc classes to implement new current source logic.
- Adjusted MobileControl messengers to accommodate changes in current source handling.
- Removed deprecated destination handling in MobileControlEssentialsRoomBridge.
2026-03-26 13:49:23 -06:00
Neil Dorin
43a9661e08 Refactor: Removing unused classes that reference Crestron HTTP classes
- Removed the HttpLogoServer class and its related functionality from ControlSystem.
- Updated ControlSystem to eliminate references to the logo server, including initialization and device checks.
- Cleaned up unused variables and methods related to logo server handling.
2026-03-23 11:20:44 -06:00
Neil Dorin
ac393c4885 refactor(force-patch): Remove obsolete GenericHttpClient class in favor of built-in HttpClient 2026-03-10 17:35:23 -06:00
Neil Dorin
346a5e9e57 refactor: Refactor DeviceManager and related classes to improve thread safety and performance
- Replaced CCriticalSection with lock statements in DeviceManager for better thread management.
- Updated AddDevice and RemoveDevice methods to use Monitor for locking.
- Enhanced event handling for device activation and registration.
- Modified FileIO class to utilize Task for asynchronous file operations instead of CrestronInvoke.
- Improved feedback mechanisms in FeedbackBase and SystemMonitorController using Task.Run.
- Refactored GenericQueue to remove Crestron threading dependencies and utilize System.Threading.
- Updated BlueJeansPc and VideoCodecBase classes to use Task for asynchronous operations.
- Cleaned up unnecessary critical sections and improved code documentation across various files.
2026-03-10 17:30:59 -06:00
Andrew Welker
3feab2593d fix: use correct line endings for verbatim strings 2026-03-10 00:35:18 -06:00
Andrew Welker
5d90fafbd7 chore: remove duplication namespace declaration
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-03-10 00:31:20 -06:00
Andrew Welker
574e4dfb0f feat: modify factory loading
Updating IDeviceFactory to resolve [FEATURE]-Refactor Plugin loading mechanism  #1065.
This change should be backwards-compatible with existing plugins that use the EssentialsPluginDeviceFactory<T> class,
as the interfaces are implemented by the various base classes.

In addition, the correct assembly name is now printed when a type is loaded.
2026-03-10 00:30:36 -06:00
Andrew Welker
3ece4f0b7b chore: move all files to file-scoped namespace 2026-03-10 00:21:06 -06:00
Andrew Welker
aaa5b0532b feat: modify plugin loading process 2026-03-06 10:34:53 -07:00
Andrew Welker
04c4557528 docs: update XML docs 2026-03-05 17:19:20 -07:00
Andrew Welker
9febbf2557 chore: fix issues related to remving crestron usings 2026-03-05 15:51:29 -07:00
Andrew Welker
4e5b8f3897 wip: package updates 2026-03-05 14:54:54 -07:00
jtalborough
fbcd9c84da wip: address performance issues in plugin loading and versioning 2026-03-05 14:22:53 -07:00
jtalborough
4a2c9fe311 fix: update target framework to net8 and bump PepperDashCore version to 2.0.0-alpha-462
BREAKING CHANGE: Target Framework is now .NET 8:
2026-03-05 13:10:22 -07:00
jtalborough
bdd398e2e6 feat: implement WebSocket classes and update culture settings; bump PepperDashCore version 2026-03-05 13:10:22 -07:00
jtalborough
8be5481ac9 fix: update target frameworks and package references; change culture to InvariantCulture 2026-03-05 13:09:14 -07:00
jtalborough
dbab427d69 fix: update package references and clean up unused imports 2026-03-05 12:00:35 -07:00
Nick Genovese
b21be608f0
Update src/PepperDash.Essentials.Core/Factory/DeviceFactory.cs
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-03-01 14:38:07 -05:00
copilot-swe-agent[bot]
6ab3ed9911 fix(hotfix): skip CrestronOnvif.dll when scanning assemblies at startup
Co-authored-by: ngenovese11 <23391587+ngenovese11@users.noreply.github.com>
2026-03-01 19:27:22 +00:00
Neil Dorin
e162ed208b
Update src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IHasWebView.cs
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-02-24 14:53:31 -07:00
Neil Dorin
bd38475b10
Update src/PepperDash.Essentials.Core/DeviceTypeInterfaces/IHasWebView.cs
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-02-24 14:53:12 -07:00
Neil Dorin
a704e48ae6 feat: add IsInPwaModeFeedback property to IHasWebViewWithPwaMode interface 2026-02-24 14:48:21 -07:00
Neil Dorin
b40200ecae feat: add IHasWebViewWithPwaMode interface with PWA navigation methods 2026-02-24 11:52:08 -07:00
Andrew Welker
3ed0bd52d8
Merge branch 'main' into feature/circuittype-property-versiport 2026-02-09 14:58:06 -05:00
Andrew Welker
f88bb13367 docs: update XML comments for Essentials Core 2026-02-09 08:58:52 -06:00
Andrew Welker
4437074f07 fix: implement copilot suggestions 2026-02-09 08:45:28 -06:00
Andrew Welker
1fb5d3e5ee fix: make registering for push schedule updates optional
The default config for a Fusion room will now NOT subscribe for Fusion schedule push updates unless explicitly
requested.
2026-02-09 08:09:18 -06:00
equinoy
c0971a4f8e Merge remote-tracking branch 'origin/screen-lift-controller-mute-logic' into feature/circuittype-property-versiport 2026-01-22 15:36:27 -06:00
equinoy
8bc6d4392b feat: add circuitType property to IOPortConfig and implement state inversion in digital input devices 2026-01-22 15:04:25 -06:00
Nick Genovese
f49901d3fa fix: Improve status messages in StatusMonitorCollection
Enhanced error and warning message generation to use monitor names when available, include counts, proper pluralization, and append "Offline" when issues are present. Avoided multiple enumerations by converting to lists. "Room Ok." is shown when no issues are detected.
2026-01-01 18:01:37 -06:00
Andrew Welker
7f2bb078c8 fix: revert prop name to inUpPosition for screenlift messenger
- refactor volume interfaces into separate files
- IBasicVolumeControl implements IKeyName
2025-12-31 12:20:40 -06:00
Andrew Welker
a983e2c87f fix: save config only when values change 2025-12-30 14:34:11 -06:00
Nick Genovese
babb9a77df fix: a few logging updates 2025-12-29 16:48:13 -06:00
Nick Genovese
7629921113 fix: a few logging updates 2025-12-29 15:34:14 -06:00
Andrew Welker
7ad8218af0 fix: fusion controller now sets only associated room custom values 2025-12-29 13:03:47 -06:00
Andrew Welker
2cc37a4e40 fix: ExecuteJoinAction now uses the correct Sig collections 2025-12-23 11:06:52 -06:00