Download updates asynchronously with persistent progress and validate matching source and build artifacts before an explicit restart. Keep upgrade workers alive across service restarts, verify the new runtime, and recover the browser with a one-time success notice.
Publish immutable archive sizes and checksums for accurate download progress. Align the update dialog, hide unavailable actions during transfers, and show the sidebar notice only for active, ready or failed jobs. Constrain long account names with ellipsis while preserving avatar and collapse controls.
Use native Gitee Pull mirrors for code and static artifacts, and verify branch and tag SHAs alongside image builds. Trigger stale mirrors through small GitHub REST ref updates, retry transient errors with backoff, and keep polling when a notification fails.
* feat(cli): add unified Commander CLI for QingLong 2.x
* fix(cli): publish via npm and address security review feedback
* ci(cli): package npm artifacts and remove evaluation collateral
* test(cli): use a fixed shell fixture for log retention
* refactor(cli): separate remote npm client from panel tools
* feat(cli): cover active panel OpenAPI resources
* docs(cli): unify authentication and skill guidance
* refactor(cli): isolate internal commands and generate Commander help
* refactor(cli): organize remote and internal modules by responsibility
* ci(cli): publish verified npm archives from master
* fix(cli): publish under the whyour npm scope
* ci: use npm trusted publishing for both packages
* docs: introduce the published CLI on the project homepage
* fix(cli): preserve server log truncation and correct login hints
* fix(cli): accept dashboard record request bodies
* fix(cli): preserve stdin for local task execution
* fix(cli): resolve task executables after changing directory
* fix(cli): preserve shell function tasks and sanitize test failures
* fix(cli): preserve shell hook state and resolve workdir after hooks
* fix(cli): preserve cleanup across shared shell task timeouts
* fix(cli): isolate shell control descriptors and reap timed-out descendants
Replace Yikun/hub-mirror-action with manual git push for Gitee mirrors. The action HTTPS API call to gitee.com timed out (60s). Use set +e with explicit notice/warning status. Also add .deepseek/ to .gitignore.