Commit graph

479 commits

Author SHA1 Message Date
jkdevito
588057f3ba feat: add packageManifest CWS API route
New GET https://{ip}/cws/app{xx}/api/packageManifest route returning a JSON
package manifest (Essentials + plugins + user interfaces) shaped to hydrate
the vsce-essentials-version-manager extension's VersionsSnapshot object.

- EssentialsConfig.cs: add [JsonProperty("versions")] to EssentialsConfig.Versions
  (was attribute-less); add NugetVersion.Name; NullValueHandling.Ignore on
  PackageId/RepoUrl/Name.
- New GetPackageManifestRequestHandler: deep-copies the config's VersionData
  (never mutates the live config object), then enriches it via reflection:
  - essentials: version from Global.AssemblyVersion, repoUrl/name from the
    RepositoryUrl AssemblyMetadata + AssemblyProduct of
    PepperDash.Essentials.Core's own assembly (PluginLoader.EssentialsAssembly.Assembly
    is null at runtime due to a pre-existing name-matching bug, so this route
    reads its own loaded assembly instead), packageId from config or a constant.
  - packages[]: merges PluginLoader.EssentialsPluginAssemblies (matched to config
    packages by packageId via AssemblyTitle -> AssemblyName -> AssemblyName minus
    a trailing .4Series suffix) with reflection supplying version and filling
    missing repoUrl/name; unmatched loaded assemblies are emitted without a
    packageId; configured-but-not-loaded packages pass through unchanged.
  - userInterfaces/touchpanelWrapperApp are passed through from config as-is.
  - Entries with no resolvable version are skipped (the extension's parser drops
    entries whose version isn't a string).
- EssentialsWebApi.cs: register the new packageManifest route next to versions.

Build verified clean (Core + Essentials program, 0 errors). Not yet tested on
hardware.
2026-07-05 20:57:05 -05:00
jkdevito
64d60dacc2 feat: update version object
Add touchpanelWrapperApp, userInterfaces, and repoUrl to VersionData config schema

VersionData/NugetVersion previously only modeled the essentials and
packages entries under the versions node. This adds support for the
touchpanelWrapperApp (single object) and userInterfaces (array) nodes,
plus a repoUrl property on NugetVersion so it round-trips instead of
being silently dropped, matching the schema produced by the
vsce-essentials-version-manager extension.
2026-07-02 17:13:26 -05:00
Andrew Welker
68c44e46ae fix: string formatting for console responses was incorrect in some cases and causing exceptions 2026-07-02 15:06:51 -05:00
Neil Dorin
2fac0ca926
Potential fix for pull request finding
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
2026-06-26 14:32:22 -06:00
anthropic-code-agent[bot]
af5611e403
Mark IMobileControlMessengerWithSubscriptions and EnableMessengerSubscriptions as obsolete
All messengers are now subscription based in v3.x, making these
constructs no longer necessary.

Closes #1435

Agent-Logs-Url: https://github.com/PepperDash/Essentials/sessions/bda64c9c-5343-412b-801f-5e60816bc38d

Co-authored-by: ndorin <18535240+ndorin@users.noreply.github.com>
2026-06-26 20:11:48 +00:00
Neil Dorin
3974455337 fix: add port forward timeout handling in DebugSessionRequestHandler 2026-06-12 15:08:34 -06:00
Neil Dorin
782bb6c057 fix: improve CS LAN IP handling and update fallback debug session URL in DebugSessionRequestHandler 2026-06-12 14:52:35 -06:00
Neil Dorin
907eb2f397 fix: add csIp handling and update debug session URL in DebugSessionRequestHandler 2026-06-12 14:29:49 -06:00
Neil Dorin
72a4c63a06
Merge pull request #1430 from PepperDash/feature/add-escape-handling-for-devjson
Feature/add escape handling for devjson
2026-06-12 11:31:24 -06:00
Neil Dorin
5f26cb98fd
Potential fix for pull request finding
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
2026-06-12 11:28:39 -06:00
Andrew Welker
c3511cd1a6 fix: remove impossibleRoutes cache
The cache wasn't being cleared correctly, and was an unnecessary
add.
2026-06-09 10:18:25 -05:00
Neil Dorin
1ce86dab29 fix: add escape handling for port forwarding in DebugSessionRequestHandler 2026-06-02 14:10:33 -06:00
Neil Dorin
77c700c565 fix: add escape handling for byte arrays and strings in DeviceJsonApi 2026-06-02 11:25:48 -06:00
Neil Dorin
abef1d095f fix: prevent processing of null or empty midpoint keys in RoutingFeedbackManager 2026-05-22 09:48:12 -06:00
Neil Dorin
f658fdf363 fix: update routing logic and enhance logging in Extensions and MockVC classes
closes #1423
2026-05-21 16:21:03 -06:00
Jonathan Arndt
c9f5af184b feat: add support for UdpClient in communication methods and implement GenericUdpClient class 2026-05-14 17:22:38 -07:00
Neil Dorin
a9dd57fdaf refactor: remove Password from LoginResponse and related token assignment 2026-05-11 09:51:48 -06:00
Neil Dorin
d879430616 feat: update LoginResponse structure to include Password in the token response 2026-05-11 09:50:39 -06:00
Neil Dorin
1a5840c29a
Potential fix for pull request finding
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
2026-05-11 09:48:12 -06:00
Neil Dorin
6fbdaa9ca0 Merge remote-tracking branch 'origin/main' into fix/devtools-fixex 2026-05-10 20:48:10 -06:00
Neil Dorin
e5e1802da9 feat: enhance LoginRequestHandler to include detailed LoginResponse structure
Co-authored-by: Copilot <copilot@github.com>
2026-05-10 20:48:05 -06:00
Neil Dorin
8ba993ed66
Potential fix for pull request finding
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
2026-05-08 13:19:04 -06:00
Neil Dorin
9fc866741e feat: mark deprecated classes and methods for future removal 2026-05-08 13:08:58 -06:00
Neil Dorin
2530003a58 refactor: clean up whitespace and improve debug URL logging format 2026-05-07 10:56:56 -06:00
Neil Dorin
c52d585a0c feat: Allow WebAPI to load if no config file is present 2026-05-07 10:44:54 -06:00
copilot-swe-agent[bot]
447af3883c
fix: align GetHtmlDebugPath with AssetLoader two-hop path resolution
Agent-Logs-Url: https://github.com/PepperDash/Essentials/sessions/9d7d71b4-b083-412b-b7b2-3167561eeed3

Co-authored-by: ndorin <18535240+ndorin@users.noreply.github.com>
2026-05-04 15:48:12 +00:00
Neil Dorin
3b57860123 fix: correct response status description in LoginRequestHandler and improve error logging in ServeDebugAppRequestHandler 2026-05-04 09:43:06 -06:00
Neil Dorin
2fdd73498a Merge remote-tracking branch 'origin/main' into tieline-visualisation 2026-04-30 14:24:14 -06:00
Neil Dorin
ee240ca378 feat: add ServeDebugAppRequestHandler for serving debug app assets and improve error handling in LoginRequestHandler
Co-authored-by: Copilot <copilot@github.com>
2026-04-30 14:22:53 -06:00
Neil Dorin
f31f0611f1
Merge pull request #1374 from PepperDash/tieline-visualisation
tieline visualisation
2026-04-30 10:59:50 -06:00
Andrew Welker
18088d37a1 feat: handle timers correctly and migrate to native Timer instead of CTimer 2026-04-17 10:56:51 -05:00
Andrew Welker
2197dc489d fix: pre-built routes now respect source ports for finding routes 2026-04-17 10:30:11 -05:00
Andrew Welker
db14a614bc fix: move to concurrent dictionary instead of hash set for impossible routes 2026-04-17 10:30:11 -05:00
Neil Dorin
9ea5ec5d1a feat: implement login functionality with LoginRequestHandler and integrate asset loading 2026-04-16 21:31:30 -06:00
Erik Meyer
bf517ad8b8 fix: add url property to WebViewClear 2026-04-14 10:09:52 -04:00
Erik Meyer
e55ac38719 feat: update IHasWebView with webview state info 2026-04-13 16:08:01 -04:00
Neil Dorin
e800e0912c Merge remote-tracking branch 'origin/main' into tieline-visualisation 2026-04-10 09:50:58 -06:00
Andrew Welker
c20d49f430 fix: restrict tieline creation when signal types are invalid 2026-04-02 15:22:17 -05:00
Neil Dorin
5a07e837ee feat: implement constructor for BridgeApi with key and name parameters 2026-03-12 14:27:21 -06: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