Skip to content

Implement Dynamic Island support for live session status #6

@BillSteinUNB

Description

@BillSteinUNB

Summary

Implement Dynamic Island support to show live coding session status and notifications in the iOS Dynamic Island.

Context

Dynamic Island (iOS 16+) provides a way to show live activities and notifications in the pill-shaped area at the top of the screen. This would be a compelling feature for WhisperCode to show real-time session status without needing to open the app.

Use Cases

  1. Session Status - Show when the AI agent is:

    • Thinking/processing
    • Running a command
    • Waiting for permission
    • Completed a task
  2. Progress Updates - Display ongoing operations like:

    • File edits in progress
    • Commands being executed
    • LLM responses streaming
  3. Quick Notifications - Deliver important alerts through Dynamic Island:

    • Errors requiring attention
    • Permission requests
    • Session completed

Technical Considerations

  • Use iOS ActivityKit framework for Live Activities
  • Design appropriate layouts for compact and expanded Dynamic Island views
  • Handle cases where Dynamic Island is not available (older iOS, iPad)
  • Consider battery implications of live activities
  • Ensure notifications also appear in Notification Center when app is backgrounded

Relationship to Notifications

This complements the server-driven push notification system (#5):

  • Live Activities show real-time in-app status
  • Push notifications deliver background events
  • Together they provide comprehensive notification coverage

Implementation Scope

  • Add ActivityKit entitlement and capabilities
  • Create Live Activity widget extension
  • Design Dynamic Island layouts (compact, minimal, expanded)
  • Integrate with session state management
  • Handle start/update/end of live activities

Labels

  • enhancement
  • ios-specific

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions