Commit graph

45 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
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
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
Neil Dorin
1ce86dab29 fix: add escape handling for port forwarding in DebugSessionRequestHandler 2026-06-02 14:10:33 -06: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
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
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
Andrew Welker
2197dc489d fix: pre-built routes now respect source ports for finding 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
Neil Dorin
e800e0912c Merge remote-tracking branch 'origin/main' into tieline-visualisation 2026-04-10 09:50:58 -06:00
Andrew Welker
f88bb13367 docs: update XML comments for Essentials Core 2026-02-09 08:58:52 -06:00
Andrew Welker
9c9a643b6a feat: add CWS endpoint to get routing devices & tielines together 2026-01-14 10:22:35 -06:00
Andrew Welker
6ed7c96ec7 fix: centralize debug printing into extension methods
Stream debugging now uses CrestronConsole instead of debug methods, so that the debug statements will be printed regardless of console debug level. This also means that comm debug statements will NOT be in the Crestron Error log or in the files created by the logging system
2025-11-03 10:53:21 -06:00
copilot-swe-agent[bot]
7987eb8f9b docs: complete XML documentation for all projects with inheritdoc tags
Co-authored-by: andrew-welker <1765622+andrew-welker@users.noreply.github.com>
2025-07-22 15:53:01 +00:00
Andrew Welker
32e090648c fix: add missing parameter for GetRoutesHandler 2025-03-28 10:41:21 -05:00
Andrew Welker
bb045ba06b fix: add base URL to routes response 2025-03-28 10:32:16 -05:00
Andrew Welker
474b2eb647 fix: add routes to get routing ports & all defined routes 2025-03-28 10:25:17 -05:00
Andrew Welker
277771d154 chore: miscellaeneous cleanup 2025-03-25 22:46:41 -05:00
Andrew Welker
ba4ca20936 fix: add tieline type to output for console & CWS 2024-06-24 14:57:07 -05:00
Neil Dorin
027bdd5bf4 Merge 'development-2.0.0' into 'feature-2.0.0/fix-version-info' 2024-05-29 12:10:34 -06:00
Andrew Welker
effefc939c fix: minor Web API enhancements
* changed path for DevJson to include the device key instead of requiring it in the body
* Made the `GetRequestBody` method an extension method for the `HttpCwsRequest` class
2024-05-24 16:12:50 -05:00
Neil Dorin
0a2aaa693f feat: Replaces Crestron.SimplSharp.Reflection with System.Reflextion and updates the way essentials plugin versions are stored and retrieved 2024-05-23 14:11:42 -06:00
Andrew Welker
4bf026601f feat: get it working 2024-05-23 08:41:19 -05:00
Andrew Welker
ee4ccb0d1a feat: change to use Debug.LogMessage everywhere 2024-03-21 13:44:08 -05:00
Andrew Welker
b213262cdd refactor: use new method by default 2024-02-14 13:04:36 -06:00
Andrew Welker
e0e08ba22c feat: add methods to add routes to API 2024-02-14 13:02:09 -06:00
Andrew Welker
3eefd1ce36 fix: Web API is now correctly included, along with debug updates from PD Core 2024-02-05 13:49:58 -06:00
Neil Dorin
876689fdfe fix: minor updates to debug levels 2024-01-15 13:30:14 -07:00
Neil Dorin
a2c628145d feat: adds more api handlers to load config and get/set min log level 2023-11-24 18:58:11 -07:00
Neil Dorin
d2877f2cec feat: more debug testing 2023-11-23 23:11:36 -07:00
Neil Dorin
3eaa86905f feat: working websocket debug server 2023-11-20 19:21:30 -07:00
Neil Dorin
b263c7421b feat: updates to DebugSessionRequestHandler 2023-11-06 21:50:30 -07:00
Neil Dorin
1727e81e33 Adds handler for getting a debug session 2023-11-03 13:00:21 -06:00
Neil Dorin
5a097e7057 feat: updates for web debugging 2023-11-02 23:31:15 -06:00
Andrew Welker
8537630e03 merge branch 'development' into feature-2.0.0/move-dm-to-library 2023-10-26 23:07:55 -05:00
Andrew Welker
0d515e5f0a refactor: rearrange and add solution for 4-series 2023-02-07 15:45:01 -07:00