fix(client): Add reason to unregistration to skip persistence

This commit is contained in:
hkfires
2025-09-18 20:58:43 +08:00
parent 8f0a345e2a
commit d9f8129a32
5 changed files with 70 additions and 15 deletions

View File

@@ -346,7 +346,12 @@ func StartService(cfg *config.Config, configPath string) {
for _, c := range snapshot {
// Persist tokens/cookies then unregister/cleanup per client.
_ = c.SaveTokenToFile()
if u, ok := any(c).(interface{ UnregisterClient() }); ok {
switch u := any(c).(type) {
case interface {
UnregisterClientWithReason(interfaces.UnregisterReason)
}:
u.UnregisterClientWithReason(interfaces.UnregisterReasonShutdown)
case interface{ UnregisterClient() }:
u.UnregisterClient()
}
}