diff --git a/internal/backend/tmux/session.go b/internal/backend/tmux/session.go index 1d21138..8d55a18 100644 --- a/internal/backend/tmux/session.go +++ b/internal/backend/tmux/session.go @@ -426,7 +426,11 @@ func (s *Session) Send(ctx context.Context, prompt string) (string, error) { // Check command support if applicable if strings.HasPrefix(prompt, "/") && s.commands != nil { if !s.commands.IsSupported(prompt) { - cmd := strings.Fields(prompt)[0] + fields := strings.Fields(prompt) + cmd := "unknown" + if len(fields) > 0 { + cmd = fields[0] + } s.mu.Unlock() return "", fmt.Errorf("slash command not supported by %s backend: %s\nTo use manually, middle-click Attach", s.backendName, cmd) } diff --git a/internal/session/manager.go b/internal/session/manager.go index 0cc0be6..920174c 100644 --- a/internal/session/manager.go +++ b/internal/session/manager.go @@ -192,10 +192,6 @@ func (m *Manager) mailProcessingLoop() { // processMailboxes handles outbox delivery and inbox processing func (m *Manager) processMailboxes() { - if m.mailManager == nil { - return - } - m.mu.RLock() sessions := make([]backend.Session, 0, len(m.sessions)) for _, sess := range m.sessions { @@ -258,7 +254,7 @@ func (m *Manager) processMailboxes() { } } -// GetMailManager returns the mailbox manager +// GetMailManager returns the mailbox manager (guaranteed non-nil) func (m *Manager) GetMailManager() *mailbox.Manager { return m.mailManager }