Commit graph

4234 commits

Author SHA1 Message Date
Neil Dorin
33e56d3259 feat: enhance IHasWebView interface with detailed webview event handling and error reporting 2026-08-21 12:23:23 -06:00
Neil Dorin
fd0a612c1a chore(force-patch): generate new build 2026-08-21 12:22:03 -06:00
Neil Dorin
c513115be9 Merge commit '59d2eeea90' into release 2026-08-21 09:52:51 -06:00
Neil Dorin
7e466fbed1 chore(force-patch): generate new build 2026-08-21 09:52:21 -06:00
erikdred
59d2eeea90
Merge pull request #1465 from PepperDash/feature/wireless-sharing-interface
feat: add IHasWirelessSharing interface for wireless presentation dev…
2026-08-19 13:55:32 -04:00
Erik Meyer
72844aa6ca feat: add IHasWirelessSharing interface for wireless presentation devices 2026-08-19 13:51:11 -04:00
Neil Dorin
cd2dfbd69c Merge remote-tracking branch 'origin/dev/v3-routing' into fix/correct-interface-name 2026-08-17 14:50:05 -06:00
Neil Dorin
b92e3cf8ac
Merge pull request #1459 from PepperDash/fix/audio-codec-messenger-codec-info-null-ref
fix: null-safe CodecInfo access in AudioCodecBaseMessenger
2026-08-17 11:06:23 -06:00
Neil Dorin
51926c07dd (force-patch): generate build 2026-08-14 13:19:17 -06:00
Neil Dorin
e9812f7858 refactor: update documentation comments in IHasCresnetBranches interface 2026-08-14 13:16:49 -06:00
Neil Dorin
0d4fd7773e feat: update documentation links and remove obsolete files 2026-08-13 16:03:51 -06:00
Neil Dorin
da2a09f7cb feat: add INetworkSwitchVlanManager and INetworkSwitchPoeManager interfaces for VLAN and PoE control 2026-08-13 12:06:13 -06:00
Neil Dorin
2588b81f0d feat: add error handling and logging to SendAtcFullMessageObject method in IDialerCallStatusMessenger 2026-08-12 10:59:01 -06:00
equinoy
1a5db87c1e fix: null-safe CodecInfo access in AudioCodecBaseMessenger
Codec.CodecInfo is null during DSP startup/reconnect. Guard with null-
conditional to prevent NullReferenceException from propagating up through
the CallStatusChange event chain.
2026-08-12 09:16:29 -05:00
Neil Dorin
7fca4d74bf feat: add IAnnotationStream interface for annotation stream functionality 2026-08-11 14:16:56 -06:00
Neil Dorin
77e6ba7f36 feat: make IsInCall property virtual in VideoCodecBase class 2026-08-10 22:00:22 -06:00
Neil Dorin
61b5ca6297 feat: add Mobile Control documentation and update table of contents 2026-07-23 22:16:55 -06:00
Neil Dorin
5a183e7333 (force-patch): Updates devtools version 2026-07-23 13:00:36 -06:00
Neil Dorin
5e0a4c04ad feat: add missing using directive for System in IDtmfDecode interface 2026-07-23 08:54:53 -06:00
Neil Dorin
a782651e4d feat: enhance documentation for IDtmfDecode interface and DtmfReceivedEventArgs class 2026-07-23 08:49:11 -06:00
Neil Dorin
dac5325ecf feat: add IDtmfDecode interface and DtmfReceivedEventArgs class for DTMF digit handling 2026-07-23 08:47:57 -06:00
Neil Dorin
56208342c9 feat: implement deployment of mcUserApp zip files with cleanup and extraction 2026-07-22 15:36:15 -06:00
Neil Dorin
830e207ea7 fix: correct device key reference in LevelControl property 2026-07-22 11:43:50 -06:00
Neil Dorin
4252e9c8e6 feat: add thread safety to error timer management in StatusMonitorBase 2026-07-22 09:04:43 -06:00
Neil Dorin
42b358862f feat: add DisableEcho property to GenericSshClient and integrate with CommFactory 2026-07-21 15:16:54 -06:00
Neil Dorin
9656e3c408 feat: add audio input port to GenericSink for enhanced routing capabilities 2026-07-21 13:19:25 -06:00
Neil Dorin
f971a3adff feat: add IDspPresetsDirectRecall interface to define preset recall functionality 2026-07-21 11:21:22 -06:00
Neil Dorin
6852f47ce2 feat: add multiview layout support with new interface and state classes 2026-07-15 11:35:51 -06:00
Neil Dorin
f05a25c3e2 feat: update RoutingFeedbackManager to use ConcurrentDictionary for update timers to ensure thread safety 2026-07-14 21:47:52 -06:00
Neil Dorin
079f2beb8b feat: enhance routing graph handling for tile-sink children and add RoutingGraphHelpers utility class 2026-07-14 19:34:14 -06:00
Neil Dorin
7d1e0432cb feat: add IRoutingSinkWithLayouts interface to support layouts with multiple tile sinks 2026-07-13 12:26:57 -06:00
Neil Dorin
21995db550 feat: refactor FeedbackCollection and RoutingPortCollection to enforce unique keys and add AddRange method 2026-07-13 10:40:56 -06:00
Neil Dorin
dddb67317a
Merge pull request #1441 from PepperDash/feature/package-manifest-v3-routing-backport
Backport PR #1439: packageManifest CWS endpoint + v1/v2 config merge fix
2026-07-10 21:58:45 -06:00
Neil Dorin
3f8b97bff7 feat: add IHasDynamicMultiviewLayout interface and MultiviewParticipantSource class for dynamic layout support 2026-07-10 21:48:01 -06:00
jkdevito
4a366a5a51 fix: guard against empty Version in configured-but-not-loaded package passthrough
PopulatePackages' "configured but not currently loaded" pass-through could
still emit PackageVersion entries with a null/empty Version, reintroducing
the schema issue the loaded-reflection branch's own guard already prevents
(downstream parsers drop entries whose version isn't a string).
2026-07-10 13:03:28 -05:00
jkdevito
4631d3a537 refactor: replace client-reported UI app version tracking with disk-based check
Remove ConnectedClientVersionInfo and the per-client version dictionary in
MobileControlSystemController, which grew unbounded and depended on a UI
client connecting and self-reporting its APP_VERSION.

Add TouchpanelWrapperAppVersionChecker, which instead scans the deployed
mcUserApp files on disk for the configured versions.touchpanelWrapperApp
version string. This works without any client connected and doesn't
accumulate state. Wired into the mobileinfo console command output.
2026-07-10 12:25:43 -05:00
Neil Dorin
f0b546f97d feat: add custom logo URL feedback for light and dark backgrounds 2026-07-10 10:05:49 -06:00
jkdevito
e7406dbead ci(force-patch): increment patch by force 2026-07-10 09:51:23 -05:00
jkdevito
2d8e42f566 style: use file-scoped namespace in GetPackageManifestRequestHandler
Matches the convention used by the other request handlers in this
folder (ReportVersionsRequestHandler.cs, AppDebugRequestHandler.cs,
etc). Addresses PR #1441 review comment.
2026-07-10 09:37:29 -05:00
jkdevito
f0025ce56c Backport PR #1439: packageManifest CWS endpoint + v1/v2 config merge fix
Backports PepperDash/Essentials#1439 (merged to main at 6ceddcf5) onto
dev/v3-routing (v3.0.0-dev-v3-routing.40):

- New GET /packageManifest CWS route reporting Essentials/plugin/touchpanel
  UI package version info (GetPackageManifestRequestHandler).
- EssentialsConfig.Versions now round-trips via [JsonProperty("versions")].
- ConfigReader now detects v1 vs v2 config by presence of system/template
  nodes (previously any versions node caused the v1->v2 merge to be
  skipped), and re-applies the versions node after merge since
  PortalConfigReader.MergeConfigs does not carry it forward.
- Mobile control: track and validate UI client app versions
  (ConnectedClientVersionInfo, MobileControlSystemController changes merged
  cleanly from the PR).
- Directory.Build.props: adds PackageId AssemblyMetadata item (kept this
  branch's 3.0.0-local version).

Conflict resolution notes:
- This branch had already introduced its own AppVersion type (Version +
  RepoUrl only) for TouchpanelWrapperApp/UserInterfaces. Replaced it with
  the PR's unified NugetVersion (adds PackageId/RepoUrl/Name, all
  NullValueHandling.Ignore) to match main's schema, since AppVersion had
  no other references in the codebase.
- ConfigReader.LoadConfig on this branch had already fixed a double
  Stream.ReadToEnd() bug (reading fileContents once); kept that fix and
  layered the PR's v1/v2 detection fix + versions-node preservation on
  top of it, plus this branch's null-ConfigObject-after-merge guard.
- EssentialsWebApi.SetupRoutes: inserted the new packageManifest route
  into this branch's existing (longer) route list, which already
  includes routing-specific endpoints not present on main.

Builds clean (dotnet build on the full solution, 0 errors).

Not pushed - pending local hardware/config testing before push.
2026-07-10 09:37:29 -05:00
Neil Dorin
73bc50ef0d feat: update IP address retrieval logic to handle invalid values 2026-07-09 11:51:53 -06:00
Neil Dorin
f68e033850 feat(force-build): Rebuild with updated dev tools 2026-07-09 09:33:59 -06:00
Neil Dorin
d5432e489d feat: add USB camera input ports for enhanced multi-camera routing support 2026-07-08 15:51:53 -06:00
Neil Dorin
94837a60cf feat: update debounce timer logic to handle multiple input ports for a single sink 2026-07-08 15:37:14 -06:00
Neil Dorin
4ab4ee1680 feat: update directory contact name from "Corporate Bridge" to "Overflow" 2026-07-08 14:41:04 -06:00
Neil Dorin
122881100a feat: enhance MockVC to support participant management and add HDMI output port 2026-07-08 14:39:50 -06:00
Neil Dorin
34c82588f0 feat: add additional HDMI output ports to MockVC for enhanced routing capabilities 2026-07-07 15:10:08 -06:00
Neil Dorin
7de2aa7c2e feat: update directory contacts and enhance directory messaging to include current root directory 2026-07-07 14:57:23 -06:00
Neil Dorin
f3f7755735 feat: refine messenger factory to prevent conflicting state shapes for IDialerCallStatus and ICodecCallControls 2026-07-02 17:21:06 -06:00
Neil Dorin
d771320fff feat: refactor DeviceJsonApi parameter conversion and add MockRoutingMidpoint with configuration properties 2026-07-02 15:43:07 -06:00