mirror of
https://github.com/wwiinnddyy/LanMountainDesktop.git
synced 2026-06-20 23:54:26 +08:00
Replace UI DispatcherTimer polling with a StudySnapshotRenderGate across multiple widgets to queue and apply only the latest analytics snapshot; components updated include StudyDeductionReasonsWidget, StudyEnvironmentWidget, StudyInterruptDensityWidget, StudyNoiseCurveWidget. Add StudySnapshotRenderGate implementation to coordinate rendering and monitoring leases and update subscription/lease lifecycle handling (subscribe/unsubscribe, Acquire/Dispose leases, Clear/Dispose gate). Rewrite chart controls (StudyNoiseCurveChartControl and StudyNoiseDistributionScatterChartControl) to use stable logical-time origins, split series into static vs dynamic tails, add geometry/sample caching, stable jitter/coordinate mapping helpers, and expose internal helpers & counts for testing. Add unit tests (StudyComponentRenderingTests) covering the render gate and chart behaviors (layer counts, logical X mapping, stable jitter, cache rebuild). These changes improve rendering correctness and performance by avoiding redundant renders and enabling deterministic chart layout.
1.6 KiB
1.6 KiB
Tasks
- Remove VeloPack packaging from release workflow.
- Keep signed FileMap path as interim compatibility fallback.
- Remove launcher/runtime Velopack branching.
- Add
phainon.ymlfor PDCC publish configuration. - Add PDCC installation + publish steps in
release.yml(deferred; active path is GitHub Actions PloNDS static publish). - Upload app payload artifacts for PloNDS delta generation in release build jobs.
- Publish PloNDS metadata + sha256 object repo to S3 path root
lanmountain/update/. - Mirror installers to
lanmountain/update/installers/<platform>/<version>/. - Keep update source compatibility (
pdc/stcnnormalize to active PloNDS source). - Add PloNDS static payload model into host update check result.
- Add host download path for PloNDS payload (
plonds-filemap.json+ signature + object repo). - Add launcher PloNDS FileMap apply path with rollback-compatible semantics.
- Keep old
files.json + update.zippath behind compatibility fallback. - Keep rollback deployment directories after successful apply and prune by bounded retention.
- Return structured failure when manual rollback snapshot source is missing.
- Verify static S3 layout, filemap/signature, distribution, latest pointer, and at least one object in CI workflows.
- Add regression tests for PloNDS success rollback, hash-failure auto rollback, missing rollback source, static NS3 manifest, and manifest field mapping.
- Attach live CI run proving the full release matrix passes.
- Verify N-1 -> N incremental update on Windows x86 and Linux x64 in release artifacts.