Merge pull request #3019 from chengzhichao-xydt/codex/lastinsertid-nilguard

fix: type-switch capture, nil guard, check LastInsertId errors
This commit is contained in:
Mauro
2026-06-06 12:55:38 +02:00
committed by GitHub
3 changed files with 17 additions and 5 deletions
@@ -269,9 +269,9 @@ func (c *WhatsAppNativeChannel) Stop(ctx context.Context) error {
}
func (c *WhatsAppNativeChannel) eventHandler(evt any) {
switch evt.(type) {
switch v := evt.(type) {
case *events.Message:
c.handleIncoming(evt.(*events.Message))
c.handleIncoming(v)
case *events.Disconnected:
logger.InfoCF("whatsapp", "WhatsApp disconnected, will attempt reconnection", nil)
c.reconnectMu.Lock()
+3
View File
@@ -194,6 +194,9 @@ type ExposePath struct {
// Uses strings.Replacer for O(n+m) performance (computed once per SecurityConfig).
// Short content (below FilterMinLength) is returned unchanged for performance.
func (c *Config) FilterSensitiveData(content string) string {
if c == nil {
return content
}
// Check if filtering is enabled (default: true)
if !c.Tools.IsFilterSensitiveDataEnabled() {
return content
+12 -3
View File
@@ -56,7 +56,10 @@ func (s *Store) GetOrCreateConversation(ctx context.Context, sessionKey string)
}
return nil, fmt.Errorf("create conversation: %w", err)
}
id, _ := result.LastInsertId()
id, err := result.LastInsertId()
if err != nil {
return nil, fmt.Errorf("get last insert id: %w", err)
}
return &Conversation{
ConversationID: id,
SessionKey: sessionKey,
@@ -193,7 +196,10 @@ func (s *Store) AddMessageWithReasoning(
if err != nil {
return nil, fmt.Errorf("add message: %w", err)
}
id, _ := result.LastInsertId()
id, err := result.LastInsertId()
if err != nil {
return nil, fmt.Errorf("get last insert id: %w", err)
}
return &Message{
ID: id,
ConversationID: convID,
@@ -282,7 +288,10 @@ func (s *Store) AddMessageWithPartsAndReasoning(
if err != nil {
return nil, fmt.Errorf("add message: %w", err)
}
msgID, _ := result.LastInsertId()
msgID, err := result.LastInsertId()
if err != nil {
return nil, fmt.Errorf("get last insert id: %w", err)
}
for i, p := range parts {
_, err = tx.ExecContext(