ソースを参照

fix webapi startup NPEs

Mike 3 ヶ月 前
コミット
14a30abefa
1 ファイル変更4 行追加4 行削除
  1. 4 4
      server/webapi/handlers/session.go

+ 4 - 4
server/webapi/handlers/session.go

@@ -39,8 +39,8 @@ type AuthService interface {
 
 // SessionManager defines methods for OSCAR session management.
 type SessionManager interface {
-	AddSession(ctx context.Context, screenName state.DisplayScreenName) (*state.SessionInstance, error)
-	RemoveSession(instance *state.SessionInstance)
+	AddSession(ctx context.Context, screenName state.DisplayScreenName, doMultiSess bool, cfg ...func(sess *state.Session)) (*state.SessionInstance, error)
+	RemoveSession(session *state.Session)
 	RelayToScreenName(ctx context.Context, screenName state.IdentScreenName, msg wire.SNACMessage)
 }
 
@@ -214,7 +214,7 @@ func (h *SessionHandler) StartSession(w http.ResponseWriter, r *http.Request) {
 	var err error
 	if authToken != "" && h.OSCARSessionManager != nil {
 		// Create OSCAR session
-		oscarInstance, err = h.OSCARSessionManager.AddSession(ctx, screenName)
+		oscarInstance, err = h.OSCARSessionManager.AddSession(ctx, screenName, true)
 		if err != nil {
 			h.Logger.ErrorContext(ctx, "failed to create OSCAR session", "err", err.Error())
 			// Continue without OSCAR session - WebAPI can work standalone
@@ -524,7 +524,7 @@ func (h *SessionHandler) EndSession(w http.ResponseWriter, r *http.Request) {
 		}
 
 		// Remove OSCAR session
-		h.OSCARSessionManager.RemoveSession(session.OSCARSession)
+		h.OSCARSessionManager.RemoveSession(session.OSCARSession.Session())
 		session.OSCARSession = nil
 	}