Skip to content

Commit 2106528

Browse files
committed
fix(dynamic): avoid panic on nil instance
For some yet unknown reasons, some instances are returned as nil. This commits adds a nil check to prevent that and logs a warning to help further debugging. Fixes #380
1 parent f721a05 commit 2106528

File tree

1 file changed

+10
-1
lines changed

1 file changed

+10
-1
lines changed

app/http/routes/strategies.go

+10-1
Original file line numberDiff line numberDiff line change
@@ -140,8 +140,17 @@ func (s *ServeStrategy) ServeBlocking(c *gin.Context) {
140140
}
141141

142142
func sessionStateToRenderOptionsInstanceState(sessionState *sessions.SessionState) (instances []theme.Instance) {
143+
if sessionState == nil {
144+
log.Warnf("sessionStateToRenderOptionsInstanceState: sessionState is nil")
145+
return
146+
}
143147
sessionState.Instances.Range(func(key, value any) bool {
144-
instances = append(instances, instanceStateToRenderOptionsRequestState(value.(sessions.InstanceState).Instance))
148+
if value != nil {
149+
instances = append(instances, instanceStateToRenderOptionsRequestState(value.(sessions.InstanceState).Instance))
150+
} else {
151+
log.Warnf("sessionStateToRenderOptionsInstanceState: sessionState instance is nil, key: %v", key)
152+
}
153+
145154
return true
146155
})
147156

0 commit comments

Comments
 (0)