main
4
Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
6a18d01855 |
fix(ci): harden release smoke SS path for slow arm64 runners
Wait for Shadowsocks TCP bind after async ApplyConfig; lengthen proxy checks. fix(ci): harden release smoke SS path for slow arm64 runners Wait for Shadowsocks TCP bind after async ApplyConfig; lengthen proxy checks. fix(ci): harden release smoke SS path for slow arm64 runners Wait for Shadowsocks TCP bind after async ApplyConfig; lengthen proxy checks. fix(ci): harden release smoke SS path for slow arm64 runners Wait for Shadowsocks TCP bind after async ApplyConfig; lengthen proxy checks. fix(ci): harden release smoke SS path for slow arm64 runners Wait for Shadowsocks TCP bind after async ApplyConfig; lengthen proxy checks. fix(ci): harden release smoke SS path for slow arm64 runners Wait for Shadowsocks TCP bind after async ApplyConfig; lengthen proxy checks. fix(ci): harden release smoke SS path for slow arm64 runners Wait for Shadowsocks TCP bind after async ApplyConfig; lengthen proxy checks. fix(ci): harden release smoke SS path for slow arm64 runners Wait for Shadowsocks TCP bind after async ApplyConfig; lengthen proxy checks. fix(ci): harden release smoke SS path for slow arm64 runners Wait for Shadowsocks TCP bind after async ApplyConfig; lengthen proxy checks. fix(ci): harden release smoke SS path for slow arm64 runners Wait for Shadowsocks TCP bind after async ApplyConfig; lengthen proxy checks. fix(ci): harden release smoke SS path for slow arm64 runners Wait for Shadowsocks TCP bind after async ApplyConfig; lengthen proxy checks. fix(ci): harden release smoke SS path for slow arm64 runners Wait for Shadowsocks TCP bind after async ApplyConfig; lengthen proxy checks. |
||
|
|
7f664a5d1a |
fix(ci): wait for async certstore after listener create in smoke-runtime
Listener TLS PEMs are written during debounced GenerateFinalConfig/ApplyConfig. Smoke was asserting listener-certs immediately after POST /listeners and failed on amd64/arm64 pre builds. fix(ci): wait for async certstore after listener create in smoke-runtime Listener TLS PEMs are written during debounced GenerateFinalConfig/ApplyConfig. Smoke was asserting listener-certs immediately after POST /listeners and failed on amd64/arm64 pre builds. fix(ci): wait for async certstore after listener create in smoke-runtime Listener TLS PEMs are written during debounced GenerateFinalConfig/ApplyConfig. Smoke was asserting listener-certs immediately after POST /listeners and failed on amd64/arm64 pre builds. fix(ci): wait for async certstore after listener create in smoke-runtime Listener TLS PEMs are written during debounced GenerateFinalConfig/ApplyConfig. Smoke was asserting listener-certs immediately after POST /listeners and failed on amd64/arm64 pre builds. fix(ci): wait for async certstore after listener create in smoke-runtime Listener TLS PEMs are written during debounced GenerateFinalConfig/ApplyConfig. Smoke was asserting listener-certs immediately after POST /listeners and failed on amd64/arm64 pre builds. fix(ci): wait for async certstore after listener create in smoke-runtime Listener TLS PEMs are written during debounced GenerateFinalConfig/ApplyConfig. Smoke was asserting listener-certs immediately after POST /listeners and failed on amd64/arm64 pre builds. fix(ci): wait for async certstore after listener create in smoke-runtime Listener TLS PEMs are written during debounced GenerateFinalConfig/ApplyConfig. Smoke was asserting listener-certs immediately after POST /listeners and failed on amd64/arm64 pre builds. fix(ci): wait for async certstore after listener create in smoke-runtime Listener TLS PEMs are written during debounced GenerateFinalConfig/ApplyConfig. Smoke was asserting listener-certs immediately after POST /listeners and failed on amd64/arm64 pre builds. fix(ci): wait for async certstore after listener create in smoke-runtime Listener TLS PEMs are written during debounced GenerateFinalConfig/ApplyConfig. Smoke was asserting listener-certs immediately after POST /listeners and failed on amd64/arm64 pre builds. fix(ci): wait for async certstore after listener create in smoke-runtime Listener TLS PEMs are written during debounced GenerateFinalConfig/ApplyConfig. Smoke was asserting listener-certs immediately after POST /listeners and failed on amd64/arm64 pre builds. fix(ci): wait for async certstore after listener create in smoke-runtime Listener TLS PEMs are written during debounced GenerateFinalConfig/ApplyConfig. Smoke was asserting listener-certs immediately after POST /listeners and failed on amd64/arm64 pre builds. fix(ci): wait for async certstore after listener create in smoke-runtime Listener TLS PEMs are written during debounced GenerateFinalConfig/ApplyConfig. Smoke was asserting listener-certs immediately after POST /listeners and failed on amd64/arm64 pre builds. |
||
|
|
d404de8cb9 |
fix(mihomo): start core synchronously on first apply; poll in smoke
ApplyConfigDeferredRestart returned before Start() when core was down, so smoke (and UI) saw running=false right after creating the first listener. - First start: still synchronous (fail the API if core cannot start) - Already running: keep async restart for responsive create/update - smoke-runtime: brief poll for mihomo/status.running fix(mihomo): start core synchronously on first apply; poll in smoke ApplyConfigDeferredRestart returned before Start() when core was down, so smoke (and UI) saw running=false right after creating the first listener. - First start: still synchronous (fail the API if core cannot start) - Already running: keep async restart for responsive create/update - smoke-runtime: brief poll for mihomo/status.running fix(mihomo): start core synchronously on first apply; poll in smoke ApplyConfigDeferredRestart returned before Start() when core was down, so smoke (and UI) saw running=false right after creating the first listener. - First start: still synchronous (fail the API if core cannot start) - Already running: keep async restart for responsive create/update - smoke-runtime: brief poll for mihomo/status.running fix(mihomo): start core synchronously on first apply; poll in smoke ApplyConfigDeferredRestart returned before Start() when core was down, so smoke (and UI) saw running=false right after creating the first listener. - First start: still synchronous (fail the API if core cannot start) - Already running: keep async restart for responsive create/update - smoke-runtime: brief poll for mihomo/status.running fix(mihomo): start core synchronously on first apply; poll in smoke ApplyConfigDeferredRestart returned before Start() when core was down, so smoke (and UI) saw running=false right after creating the first listener. - First start: still synchronous (fail the API if core cannot start) - Already running: keep async restart for responsive create/update - smoke-runtime: brief poll for mihomo/status.running fix(mihomo): start core synchronously on first apply; poll in smoke ApplyConfigDeferredRestart returned before Start() when core was down, so smoke (and UI) saw running=false right after creating the first listener. - First start: still synchronous (fail the API if core cannot start) - Already running: keep async restart for responsive create/update - smoke-runtime: brief poll for mihomo/status.running fix(mihomo): start core synchronously on first apply; poll in smoke ApplyConfigDeferredRestart returned before Start() when core was down, so smoke (and UI) saw running=false right after creating the first listener. - First start: still synchronous (fail the API if core cannot start) - Already running: keep async restart for responsive create/update - smoke-runtime: brief poll for mihomo/status.running fix(mihomo): start core synchronously on first apply; poll in smoke ApplyConfigDeferredRestart returned before Start() when core was down, so smoke (and UI) saw running=false right after creating the first listener. - First start: still synchronous (fail the API if core cannot start) - Already running: keep async restart for responsive create/update - smoke-runtime: brief poll for mihomo/status.running fix(mihomo): start core synchronously on first apply; poll in smoke ApplyConfigDeferredRestart returned before Start() when core was down, so smoke (and UI) saw running=false right after creating the first listener. - First start: still synchronous (fail the API if core cannot start) - Already running: keep async restart for responsive create/update - smoke-runtime: brief poll for mihomo/status.running fix(mihomo): start core synchronously on first apply; poll in smoke ApplyConfigDeferredRestart returned before Start() when core was down, so smoke (and UI) saw running=false right after creating the first listener. - First start: still synchronous (fail the API if core cannot start) - Already running: keep async restart for responsive create/update - smoke-runtime: brief poll for mihomo/status.running fix(mihomo): start core synchronously on first apply; poll in smoke ApplyConfigDeferredRestart returned before Start() when core was down, so smoke (and UI) saw running=false right after creating the first listener. - First start: still synchronous (fail the API if core cannot start) - Already running: keep async restart for responsive create/update - smoke-runtime: brief poll for mihomo/status.running fix(mihomo): start core synchronously on first apply; poll in smoke ApplyConfigDeferredRestart returned before Start() when core was down, so smoke (and UI) saw running=false right after creating the first listener. - First start: still synchronous (fail the API if core cannot start) - Already running: keep async restart for responsive create/update - smoke-runtime: brief poll for mihomo/status.running |
||
|
|
2e6256fb6a |
feat(distribution): add complete installation and recovery workflows
Ship stable-only Linux bundles and multiarch Docker images with a pinned Mihomo core. Share secure first-run initialization across native and container installs. Validate downloads before downtime, snapshot persistent state before updates, and restore the previous installation after a failed upgrade. Add backup, restore, healthcheck, and randomized administrator reset commands. Add release verification, lifecycle regression tests, and installation documentation. feat(distribution): add complete installation and recovery workflows Ship stable-only Linux bundles and multiarch Docker images with a pinned Mihomo core. Share secure first-run initialization across native and container installs. Validate downloads before downtime, snapshot persistent state before updates, and restore the previous installation after a failed upgrade. Add backup, restore, healthcheck, and randomized administrator reset commands. Add release verification, lifecycle regression tests, and installation documentation. feat(distribution): add complete installation and recovery workflows Ship stable-only Linux bundles and multiarch Docker images with a pinned Mihomo core. Share secure first-run initialization across native and container installs. Validate downloads before downtime, snapshot persistent state before updates, and restore the previous installation after a failed upgrade. Add backup, restore, healthcheck, and randomized administrator reset commands. Add release verification, lifecycle regression tests, and installation documentation. feat(distribution): add complete installation and recovery workflows Ship stable-only Linux bundles and multiarch Docker images with a pinned Mihomo core. Share secure first-run initialization across native and container installs. Validate downloads before downtime, snapshot persistent state before updates, and restore the previous installation after a failed upgrade. Add backup, restore, healthcheck, and randomized administrator reset commands. Add release verification, lifecycle regression tests, and installation documentation. feat(distribution): add complete installation and recovery workflows Ship stable-only Linux bundles and multiarch Docker images with a pinned Mihomo core. Share secure first-run initialization across native and container installs. Validate downloads before downtime, snapshot persistent state before updates, and restore the previous installation after a failed upgrade. Add backup, restore, healthcheck, and randomized administrator reset commands. Add release verification, lifecycle regression tests, and installation documentation. feat(distribution): add complete installation and recovery workflows Ship stable-only Linux bundles and multiarch Docker images with a pinned Mihomo core. Share secure first-run initialization across native and container installs. Validate downloads before downtime, snapshot persistent state before updates, and restore the previous installation after a failed upgrade. Add backup, restore, healthcheck, and randomized administrator reset commands. Add release verification, lifecycle regression tests, and installation documentation. feat(distribution): add complete installation and recovery workflows Ship stable-only Linux bundles and multiarch Docker images with a pinned Mihomo core. Share secure first-run initialization across native and container installs. Validate downloads before downtime, snapshot persistent state before updates, and restore the previous installation after a failed upgrade. Add backup, restore, healthcheck, and randomized administrator reset commands. Add release verification, lifecycle regression tests, and installation documentation. feat(distribution): add complete installation and recovery workflows Ship stable-only Linux bundles and multiarch Docker images with a pinned Mihomo core. Share secure first-run initialization across native and container installs. Validate downloads before downtime, snapshot persistent state before updates, and restore the previous installation after a failed upgrade. Add backup, restore, healthcheck, and randomized administrator reset commands. Add release verification, lifecycle regression tests, and installation documentation. feat(distribution): add complete installation and recovery workflows Ship stable-only Linux bundles and multiarch Docker images with a pinned Mihomo core. Share secure first-run initialization across native and container installs. Validate downloads before downtime, snapshot persistent state before updates, and restore the previous installation after a failed upgrade. Add backup, restore, healthcheck, and randomized administrator reset commands. Add release verification, lifecycle regression tests, and installation documentation. feat(distribution): add complete installation and recovery workflows Ship stable-only Linux bundles and multiarch Docker images with a pinned Mihomo core. Share secure first-run initialization across native and container installs. Validate downloads before downtime, snapshot persistent state before updates, and restore the previous installation after a failed upgrade. Add backup, restore, healthcheck, and randomized administrator reset commands. Add release verification, lifecycle regression tests, and installation documentation. feat(distribution): add complete installation and recovery workflows Ship stable-only Linux bundles and multiarch Docker images with a pinned Mihomo core. Share secure first-run initialization across native and container installs. Validate downloads before downtime, snapshot persistent state before updates, and restore the previous installation after a failed upgrade. Add backup, restore, healthcheck, and randomized administrator reset commands. Add release verification, lifecycle regression tests, and installation documentation. feat(distribution): add complete installation and recovery workflows Ship stable-only Linux bundles and multiarch Docker images with a pinned Mihomo core. Share secure first-run initialization across native and container installs. Validate downloads before downtime, snapshot persistent state before updates, and restore the previous installation after a failed upgrade. Add backup, restore, healthcheck, and randomized administrator reset commands. Add release verification, lifecycle regression tests, and installation documentation. |