Commit graph

4138 commits

Author SHA1 Message Date
Neil Dorin
b9dcec587d feat: Add new status actions for call history, codec cameras, room presets, content sharing, room event schedule, shutdown prompt, and tech password messengers 2026-05-13 17:00:23 -06:00
Neil Dorin
91aa0efa5f feat: Add new messengers for various device interfaces and remove VideoCodecBaseMessenger
- Implemented IHasMeetingInfoMessenger to handle meeting information updates.
- Created IHasReadyMessenger for devices indicating readiness status.
- Added IHasStandbyModeMessenger to manage standby mode actions.
- Introduced IPrivacyMessenger for privacy mode control.
- Developed IVideoCodecInfoMessenger to provide codec information.
- Removed the obsolete VideoCodecBaseMessenger class.
- Updated MessengerFactoryRegistry to register new messengers for IHasReady, IHasMeetingInfo, IHasStartMeeting, IHasStandbyMode, IPrivacy, and IVideoCodecInfo interfaces.

Co-authored-by: Copilot <copilot@github.com>
2026-05-08 12:10:56 -06:00
Neil Dorin
b41c30cdd0 feat: Add full status actions to IHasCodecSelfView and IHasDirectory messengers 2026-05-07 20:55:44 -06:00
Neil Dorin
ab4a243ffb feat: Add messengers for codec functionalities and directory management
- Implemented IHasCodecCamerasMessenger to handle camera selection and control actions.
- Created IHasCodecLayoutsMessenger for managing codec layouts.
- Developed IHasCodecSelfViewMessenger to manage self-view functionality.
- Added IHasDirectoryMessenger for directory operations including fetching and searching.
- Introduced IHasFarEndContentStatusMessenger to report far-end content status.
- Implemented IPasswordPromptMessenger for handling password prompts.
- Updated VideoCodecBaseMessenger to remove redundant directory and call history handling.
- Registered new messenger types in MessengerFactoryRegistry.
- Added necessary using directives in ControlSystem.cs for UC functionalities.

Co-authored-by: Copilot <copilot@github.com>
2026-05-07 20:51:14 -06:00
Neil Dorin
e19e69d5c0 refactor: Update solution configuration for Debug and Release builds across multiple platforms to ensure all tests run 2026-05-07 14:04:14 -06:00
Neil Dorin
bad08fa6db refactor: Extract portal URL display logic into a separate method for improved readability 2026-05-07 12:08:26 -06:00
Neil Dorin
9a385eef96 refactor: Rename LocalConfigPresent to LocalConfigPresentBanner and enhance debug logging in ControlSystem 2026-05-07 11:00:49 -06:00
Neil Dorin
ff1393b768 refactor: Simplify namespace declaration and formatting in IDisplayCurrentInput interface 2026-05-06 17:13:48 -06:00
Neil Dorin
f80aa95649 Refactor audio codec and display messaging interfaces
- Introduced IDialerCallStatus interface to streamline call status handling in audio codecs.
- Updated AudioCodecBase to implement IDialerCallStatus, providing a common structure for call status events.
- Added IDisplayCurrentInput interface for display devices to expose current input information.
- Created corresponding messenger classes for IDialerCallStatus and IDisplayCurrentInput to facilitate communication.
- Implemented CameraControlMessenger for camera devices to manage camera controls and presets.
- Added IWarmingCoolingMessenger for warming and cooling devices to handle status updates.
- Updated MessengerFactoryRegistry to register new messenger classes and ensure proper device messaging.
- Cleaned up CameraBase and removed unnecessary comments and whitespace in various files.

Co-authored-by: Copilot <copilot@github.com>
2026-05-06 17:13:02 -06:00
Neil Dorin
dfc1d2bb21 refactor: Rename DisplayBaseMessenger to IRoutingSinkWithSwitchingMessenger and update related references 2026-05-06 13:54:10 -06:00
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
b0525b0f97 Merge remote-tracking branch 'origin/dev/v3-testing' into dev/v3-testing 2026-05-01 14:44:52 -06:00
Neil Dorin
2e1bb8b286 feat: Enhance WebSocket URL generation to support dual-stack environments by using CSLAN IP if available 2026-05-01 14:44:07 -06:00
Andrew Welker
89a1b662b0 fix: return early if config devices are null, with an appropriate log message 2026-04-24 10:19:18 -05: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
d1501d2dab feat: Enhance plugin version check with error handling and logging 2026-04-13 22:35:47 -06:00
Neil Dorin
af7411f43b fix: Correctly retrieve package ID from assembly metadata for version checks 2026-04-13 22:03:07 -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
5f4a35d425 feat: Enhance initialization error handling and add console command for reporting exceptions 2026-04-13 21:11:35 -06:00
Neil Dorin
71cf7ef4df feat: Add console command to report initialization exceptions for improved diagnostics 2026-04-13 21:01:22 -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
b85f1dab6b feat: Add asset loading functionality and related tests for improved resource management 2026-04-09 14:00:27 -06:00
Neil Dorin
4ed5e648c0 feat: Load assets during ControlSystem initialization for enhanced resource management 2026-04-08 17:00:16 -06:00
Neil Dorin
35d44f91e4 feat: Implement devTools zip file extraction and cleanup process for improved debugging support 2026-04-08 16:53:29 -06:00
Neil Dorin
fa9dc3a2b1 feat: Add devToolsVersion to build configuration for enhanced version control 2026-04-08 16:46:45 -06:00
Neil Dorin
7e3c62b303 fix: Update actions/checkout and actions/setup-dotnet versions for improved compatibility 2026-04-08 15:54:15 -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
e818c9ca03 fix: Downgrade setup-dotnet action version to v5 for compatibility 2026-04-08 15:24:13 -06:00
Neil Dorin
5dd6d18fcc feat: Update CI workflow and project files for improved testing and documentation generation 2026-04-08 15:23:49 -06:00
Neil Dorin
37961b9eac feat: Enhance device testing and environment handling with new interfaces and fakes 2026-04-08 13:21:15 -06:00
Neil Dorin
24df4e7a03 feat: Add unit tests and fakes for Crestron environment and data store
- Introduced `FakeCrestronEnvironment` and `FakeEthernetHelper` for testing purposes.
- Implemented `InMemoryCrestronDataStore` to facilitate unit tests for data storage.
- Created `DebugServiceTests` to validate the behavior of debug-related services.
- Added project files for unit tests targeting .NET 9.0 with necessary dependencies.
- Developed production adapters (`CrestronConsoleAdapter`, `CrestronDataStoreAdapter`, `CrestronEnvironmentAdapter`, `CrestronEthernetAdapter`) to interface with the Crestron SDK.
- Updated `Debug` class to utilize injected service abstractions instead of direct SDK calls.
- Enhanced `ControlSystem` initialization to register service adapters before usage.
2026-04-08 12:41:15 -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
7137945c94 refactor: Remove GenericRESTfulClient and GenericRESTfulConstants classes to streamline codebase 2026-03-12 13:56:18 -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
Nick Genovese
426ef4ad6b fix: add error handling when saving debug settings 2026-03-10 00:35:18 -06:00
Nick Genovese
bcb65c7fa4 ci(force-patch): force build 2026-03-10 00:35:18 -06:00
Andrew Welker
c2ff65dce3 build: remove unneeded references from PD Core project 2026-03-10 00:35:18 -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