From 420ec5611cd11bca57fc1bcd02fa103c72300bac Mon Sep 17 00:00:00 2001 From: Admin Else <74665496+admin-else@users.noreply.github.com> Date: Sun, 29 Mar 2026 21:08:48 +0200 Subject: [PATCH] Fix register(critical)?untilLatest being inverted --- client/login.go | 8 ++++---- proto/smart_convert.go | 4 ++-- server/login_server.go | 10 +++++----- 3 files changed, 11 insertions(+), 11 deletions(-) diff --git a/client/login.go b/client/login.go index 962d4d9..88e95fe 100644 --- a/client/login.go +++ b/client/login.go @@ -130,10 +130,10 @@ func LoginRaw(c *proto.Conn, account *api.Account, addr string) (err error) { } lc.RegisterCritical(lc.OnDefault) lc.RegisterCritical(lc.OnClose) - lc.RegisterUntilLatest(lc.OnCompress) - lc.RegisterUntilLatest(lc.OnEncrypt) - lc.RegisterUntilLatest(lc.OnDisconnect) - lc.RegisterUntilLatest(lc.OnSuccess) + lc.RegisterCriticalUntilLatest(lc.OnCompress) + lc.RegisterCriticalUntilLatest(lc.OnEncrypt) + lc.RegisterCriticalUntilLatest(lc.OnDisconnect) + lc.RegisterCriticalUntilLatest(lc.OnSuccess) p, err := MakeHandshakePacket(lc.Conn, proto_base.Login) if err != nil { diff --git a/proto/smart_convert.go b/proto/smart_convert.go index 75b11a0..f6859f3 100644 --- a/proto/smart_convert.go +++ b/proto/smart_convert.go @@ -125,9 +125,9 @@ func (c *Conn) registerUntil(h any, until string, critical bool) { return v.Interface().(error) } if critical { - c.RegisterCustomType(newT, reflect.ValueOf(handleFunc)) - } else { c.RegisterDirect(newT, reflect.ValueOf(handleFunc)) + } else { + c.RegisterCustomType(newT, reflect.ValueOf(handleFunc)) } } } diff --git a/server/login_server.go b/server/login_server.go index aa97695..400407e 100644 --- a/server/login_server.go +++ b/server/login_server.go @@ -161,11 +161,11 @@ func ServeLogin(c *proto.Conn, settings ...LoginServerSetting) (ret *LoginServer ret = &LoginServer{Conn: c} ret.RegisterCritical(ret.OnDefault) ret.RegisterIgnore(event.Close{}) - ret.RegisterUntilLatest(ret.OnHandshake) - ret.RegisterUntilLatest(ret.OnLoginStart) - ret.RegisterUntilLatest(ret.OnLoginAcknowledged) - ret.RegisterUntilLatest(ret.OnStatusRequest) - ret.RegisterUntilLatest(ret.OnStatusPing) + ret.RegisterCriticalUntilLatest(ret.OnHandshake) + ret.RegisterCriticalUntilLatest(ret.OnLoginStart) + ret.RegisterCriticalUntilLatest(ret.OnLoginAcknowledged) + ret.RegisterCriticalUntilLatest(ret.OnStatusRequest) + ret.RegisterCriticalUntilLatest(ret.OnStatusPing) for _, s := range settings { s(ret) }