Skip to content

Add filter functionality to CloudWatch Logs tail view #120

@yimsk

Description

@yimsk

Feature Request

Add real-time filter functionality to CloudWatch Logs tail view.

Implementation: Client-Side Only ✅

Decision: Simplified to client-side substring match only (removed initial hybrid AWS+Client approach)

Why Client-Only?

  • Tail views logs already fetched → client mode sufficient
  • AWS filtering only useful for high-volume streams (rare case)
  • Hybrid approach added unnecessary complexity
  • Avoids confusion about which filter is active

Features Implemented

  • Filter activation: / key (consistent with ResourceBrowser)
  • Real-time filtering: Filters as user types (instant feedback)
  • Filter syntax: Simple case-insensitive substring match
  • Clear filter: c key (or clears buffer if no filter active)
  • Visual indicators:
    • 🔍 filter: ERROR
    • Filtered count: (45/1,234 lines)
  • Status help: Esc:cancel Enter:done when filtering

UI/UX

  • / → Activate filter input
  • Type → Real-time filtering
  • Enter → Done (filter already applied)
  • Esc → Cancel/deactivate
  • c → Clear filter (or buffer)
  • Backspace → Delete chars (fixed via HasActiveInput)

Implementation

  • File: internal/view/log_view.go only
  • Net change: -68 lines (simpler than initial hybrid)
  • No breaking changes: Pure additive feature

Branch

feature/120-log-tail-filter

Status

✅ Implemented
✅ Tests pass
✅ Backspace handling fixed
✅ Simplified from hybrid to client-only
⏳ Ready for manual testing + PR

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions