Commit a253ff7
Feature/unified sample hub (#73)
* fix(Server): add missing /Upgrade/Report route
The server registers both /Upgrade/Verification and /Update/Verification
but only /Update/Report for status reporting. Add /Upgrade/Report so
clients using the /Upgrade/* URL variant can report update status.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
* docs: comprehensive documentation update
- Add Architecture.md: system architecture, update flow, component relationships
- Add Pipeline.md: middleware pipeline deep dive, BSDiff/HDiffPatch algorithms
- Add Security.md: TLS, auth (Bearer/API Key/HMAC), AES-256-CBC IPC encryption
- Add Configuration.md: complete config reference for all components
- Add FAQ.md: 24 frequently asked questions with code examples
- Enhance PacketTool.md: add Simulate Update and Config Generator documentation
- Enhance Packaging.md: expand from 2 links to comprehensive deployment guide
- All new docs include English translations (i18n/en/)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
* feat: unified sample hub — consolidate all samples into a single interactive CLI
Consolidate all 9 individual sample projects into a single Hub console
application with an interactive menu. Each sample demonstrates a different
GeneralUpdate component API end-to-end.
**New:**
- src/Hub/ — unified sample launcher with interactive menu
- src/Hub/Samples/ — all 9 samples as ISample implementations
- src/Hub/AppConfig.cs — JSON configuration model
- src/Hub/appsettings.json — server & product configuration
- src/Run.cmd / src/Run.ps1 — one-click launcher scripts
- src/gen_packages.ps1 — test package generator
- src/content_client/ — test data for Differential sample
- src/content_upgrade/ — test data for Upgrade packages
- src/content/ — intermediate version test data
- Directory.Build.props — shared build properties
- global.json — .NET 10 SDK pinning
**Samples & their GeneralUpdate API usage:**
1. CompleteUpdate — GeneralUpdateBootstrap (AppType.Client)
2. SilentUpdate — GeneralUpdateBootstrap (AppType.Client, silent)
3. OSS — GeneralUpdateBootstrap (AppType.OssClient)
4. Differential — DiffPipelineBuilder + BsdiffDiffer
5. Push — UpgradeHubService (SignalR push client)
6. Bowl — BowlContext (process monitor/dump)
7. Extension — GeneralExtensionHost (plugin system)
8. Drivelution — GeneralDrivelution (driver management)
9. Compress — CompressProvider (zip compress/decompress)
**Removed:** old individual sample projects (Bowl, Client, Compress,
Diff, Drivelution, Extension, OSS, Push, Upgrade) — all consolidated
under src/Hub/.
**Fixed:**
- Removed unnecessary PackageReferences already provided by ASP.NET Core
- Added OperatingSystem.IsWindows() guard in DrivelutionSample (CA1416)
- Cleaned up unused GuLibsPath property in Directory.Build.props
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
* fix(Samples): resolve pipe buffer deadlock, missing UpdatePath, and input conflict
- Program.cs: drain server stdout/stderr to prevent pipe buffer deadlock
that blocked HTTP download request handling (~2 min timeout)
- CompleteUpdateSample: add UpdatePath to find Hub.exe in Both scenario,
add MultiDownloadCompleted listener for success feedback
- SilentUpdateSample: wait for poll completion then call TryLaunchUpgrade,
exit process after launch to prevent duplicate console input
- OssSample: use full UpdateRequest with UpdatePath+UpdateAppName so
OssClient can locate Hub.exe in temp install directory
- libs: update GeneralUpdate.Core.dll with ClientStrategy launch banner
and SilentPollOrchestrator improved log message
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
* fix(CI): update workflow for unified sample hub structure
- Remove non-existent ClientSample.sln and UpgradeSample.sln references
- Add .NET 10 SDK setup for Hub project (net10.0)
- Build ServerSample.sln with .NET 8
- Build Hub with UseNuGet=true (local DLLs not available in CI)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
* fix: address Copilot review — menu index and cross-machine paths
- Program.cs: find sample by ISample.Index instead of array position
to handle non-contiguous indices correctly
- Run.ps1: replace hard-coded GeneralUpdate source path with
auto-detect sibling repo + -GeneralUpdateSrc parameter
- dotnet.yml: remove Hub build from CI (NuGet packages not synced
with latest source), ServerSample build only for now
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>1 parent f1f280a commit a253ff7
136 files changed
Lines changed: 6510 additions & 2088 deletions
File tree
- .github/workflows
- src
- Bowl/BowlSample
- .idea/.idea.BowlSample/.idea
- Client
- .idea/.idea.ClientSample/.idea
- Compress/CompressSample
- .idea/.idea.CompressSample/.idea
- Diff
- .idea/.idea.DiffSample/.idea
- Drivelution/DrivelutionSample
- Extension/ExtensionSample
- Hub
- Samples
- libs
- Applications
- Linux
- Windows
- OSS
- .idea/.idea.OSSSample/.idea
- OSSClientSample
- .idea/.idea.OSSClientSample/.idea
- OSSUpgradeSample
- .idea/.idea.OSSUpgradeSample/.idea
- Push
- .idea/.idea.PushSample/.idea
- Server
- wwwroot/packages
- Upgrade
- .idea/.idea.UpgradeSample/.idea
- inspectionProfiles
- .vs/UpgradeSample/v17
- content_client
- v1.0.0.0
- config
- v2.0.0.0
- config
- dotnet10_scripts
- website
- docs
- doc
- guide
- i18n/en/docusaurus-plugin-content-docs/current
- doc
- guide
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | | - | |
2 | | - | |
3 | | - | |
4 | 1 | | |
5 | 2 | | |
6 | 3 | | |
| |||
15 | 12 | | |
16 | 13 | | |
17 | 14 | | |
18 | | - | |
19 | | - | |
20 | | - | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
21 | 19 | | |
22 | 20 | | |
23 | | - | |
24 | | - | |
25 | | - | |
26 | 21 | | |
27 | | - | |
28 | | - | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
29 | 29 | | |
30 | | - | |
31 | | - | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
This file was deleted.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
Lines changed: 0 additions & 13 deletions
This file was deleted.
Lines changed: 0 additions & 4 deletions
This file was deleted.
Lines changed: 0 additions & 8 deletions
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
0 commit comments