Skip to content

[repo-status] Daily Status Report β€” April 1, 2026Β #20

@github-actions

Description

@github-actions

πŸš€ StreamCaster Android β€” Daily Status Report

Date: April 1, 2026 | Release: v0.0.1


πŸ“Š Repository at a Glance

Metric Value
πŸ“¦ Latest release v0.0.1 (March 15, 2026)
🌿 Open PRs 2 (both draft)
πŸ› Open Issues 0
πŸ§ͺ Unit tests 150 passing (T-035 βœ…)
πŸ“ Source files ~88 Kotlin files

πŸ”„ Recent Activity

Pull Requests Awaiting Review

πŸ”§ PR #5 β€” Fix: energy-saving mode stops RTMP stream (draft)
This is the most important PR right now! It fixes a critical bug where enabling energy-saving mode (screen dimming during long streams) was killing the RTMP stream. The fix is elegant: energy-saving is implemented entirely as a UI overlay β€” the SurfaceView stays in the Compose composition at all times, and a near-black overlay (0xFF111111) is composited on top. The encoder, camera session, and RTMP connection are never touched. Toggling on/off any number of times mid-stream is safe. ✨

⚑ Action needed: Review and merge PR #5 β€” this is a user-facing critical fix.

πŸ—‘οΈ PR #6 β€” No changes: non-actionable issue (draft)
Triaged from an off-topic calendar query β€” no code changes. Safe to close.

🧹 Action needed: Close PR #6 as it has no actionable scope.

Recent Commits (Last 2 Weeks)

  • βœ… T-035 β€” QA acceptance test suite: 150 tests passing across 7 test classes
  • πŸ”§ Added GitHub Actions workflow for APK release with input tag support
  • πŸ› οΈ Enhanced streaming service diagnostics & logging
  • 🎨 Refactored control panel icons
  • πŸ“– Added SIDELOAD_INSTRUCTIONS.md
  • πŸ”— OpenGlView integration + default profile seeding
  • βš™οΈ Added daily-repo-status agentic workflow (PR #1, merged)

πŸ—οΈ Implementation Progress

The codebase is impressively comprehensive for a v0.0.1! Here's what's already implemented:

βœ… Core layers fully built:

  • 🎯 Service layer β€” StreamingService, ConnectionManager, EncoderController, NotificationController, reconnect with exponential backoff, thermal monitoring, battery monitoring
  • πŸ–₯️ UI layer β€” StreamScreen, StreamHud, CameraPreview, settings screens (Video, Audio, General, Endpoint)
  • πŸ’Ύ Data layer β€” DataStoreSettingsRepository, EncryptedEndpointProfileRepository, all domain models
  • πŸ”’ Security β€” CredentialSanitizer, AcraConfigurator, TransportSecurity, IntentSecurity
  • πŸ§ͺ Tests β€” ABR policy, connection manager, encoder controller, reconnect policy, credential sanitizer, ACRA, and more

πŸ”² Known open tasks from implementation plan:

  • T-025: Local MP4 Recording (medium complexity)
  • T-027: Process Death Recovery (robust re-bind after activity kill)
  • T-031: Prolonged Session Monitor (ProlongedSessionMonitor.kt exists β€” needs wiring)
  • T-033: F-Droid / FOSS flavor CI verification

🎯 Recommended Next Steps

  1. πŸ”΄ High priority: Review and merge PR #5 (energy-saving mode fix β€” user-facing critical bug)
  2. 🟑 Housekeeping: Close PR #6 (non-actionable draft PR)
  3. 🟒 Feature work: Wire up LocalRecordingManager for local MP4 recording (T-025)
  4. 🟒 Reliability: Complete process-death recovery testing (T-027)
  5. πŸ”΅ CI: Add F-Droid flavor GMS check to CI pipeline (T-033): ./gradlew :app:dependencies --configuration fossReleaseRuntimeClasspath | grep -i gms

πŸ’‘ Health Highlights

  • πŸ›‘οΈ Security posture is strong: EncryptedSharedPreferences, credential log redaction, ACRA crash reporting with sanitization, no credentials in Intent extras
  • πŸ§ͺ Test coverage is solid with 150 passing unit tests
  • πŸ“ Architecture is clean: MVVM, single source of truth in StreamingService, Mutex-serialized encoder operations
  • πŸͺ Both foss (F-Droid) and gms (Play Store) flavors are maintained from the start

Great momentum on StreamCaster β€” the foundation is rock-solid! πŸŽ‰

Generated by Daily Repo Status Β· β—·

To install this agentic workflow, run

gh aw add githubnext/agentics/workflows/daily-repo-status.md@1199e4a230756fb94a382496a73e689091aa4b6b

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions