Skip to content

Commit d56a781

Browse files
committed
pivot: only validate capabilities in setter if client has started already
1 parent 0ae1439 commit d56a781

File tree

1 file changed

+11
-2
lines changed

1 file changed

+11
-2
lines changed

client/internal/clientcommon.go

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -190,6 +190,11 @@ func (c *ClientCommon) PrepareStart(
190190
c.ClientSyncedState.SetConnectionSettingsStatus(settings.LastConnectionSettingsStatus)
191191
}
192192

193+
// Validate capabilities after initializing the client state.
194+
if err := c.validateCapabilities(c.ClientSyncedState.Capabilities()); err != nil {
195+
return err
196+
}
197+
193198
return nil
194199
}
195200

@@ -547,8 +552,12 @@ func (c *ClientCommon) SetCapabilities(capabilities *protobufs.AgentCapabilities
547552
}
548553
// According to OpAMP spec this capability MUST be set, since all Agents MUST report status.
549554
*capabilities |= protobufs.AgentCapabilities_AgentCapabilities_ReportsStatus
550-
if validateErr := c.validateCapabilities(*capabilities); validateErr != nil {
551-
return validateErr
555+
556+
// Only validate capabilities if we have already started.
557+
if c.isStarted {
558+
if validateErr := c.validateCapabilities(*capabilities); validateErr != nil {
559+
return validateErr
560+
}
552561
}
553562
// store the capabilities to send
554563
if err := c.ClientSyncedState.SetCapabilities(capabilities); err != nil {

0 commit comments

Comments
 (0)