mirror of
https://github.com/PepperDash/Essentials.git
synced 2026-08-31 10:58:28 +00:00
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. |
||
|---|---|---|
| .. | ||
| Bridges | ||
| Comm and IR | ||
| Config | ||
| Crestron | ||
| CrestronIO | ||
| Device Info | ||
| DeviceControlsParentInterfaces | ||
| Devices | ||
| DeviceTypeInterfaces | ||
| Ethernet | ||
| Extensions | ||
| Factory | ||
| Feedbacks | ||
| File | ||
| Fusion | ||
| Global | ||
| Interfaces | ||
| InUseTracking | ||
| JoinMaps | ||
| License | ||
| Lighting | ||
| Microphone Privacy | ||
| Monitoring | ||
| PartitionSensor | ||
| Plugins | ||
| Presets | ||
| Properties | ||
| Queues | ||
| Ramps and Increments | ||
| Room | ||
| Routing | ||
| Secrets | ||
| Shades | ||
| SmartObjects | ||
| Timers | ||
| Touchpanels | ||
| TriListBridges | ||
| UI | ||
| UI PageManagers | ||
| Utilities | ||
| VideoStatus | ||
| Web | ||
| app.config | ||
| PepperDash.Essentials.Core.csproj | ||
| PepperDash_Essentials_Core.csproj.DotSettings | ||
| SigHelper.cs | ||