-
Notifications
You must be signed in to change notification settings - Fork 0
[repo-status] Daily Repo Status β March 29, 2026Β #17
Description
π StreamCaster Android β Daily Status Report
Date: March 29, 2026 | Release: v0.0.1
π Project Highlights
StreamCaster has come a long way! The core MVP is built and released π. The v0.0.1 release is live and includes a fully functional RTMP/RTMPS streaming engine backed by a solid architecture.
π Recent Activity Summary
β What's Been Shipped (March 14β15)
A massive burst of implementation work landed on main, covering virtually the entire WBS:
| Area | What Was Built |
|---|---|
| ποΈ Service Layer | StreamingService (FGS lifecycle + state machine), ConnectionManager (exponential backoff + Doze awareness), EncoderController (Mutex-serialized quality changes) |
| π₯ Camera & Media | RtmpCamera2Bridge integration, camera switching, mute toggle, audio focus handling, media mode transitions (video+audio β audio-only) |
| π₯ Resilience | Thermal monitoring (API 29+ & 23-28 paths), battery monitor (warn at 5%, stop at 2%), camera revocation handler, microphone revocation handler |
| πΌοΈ UI | StreamScreen with landscape-first HUD (bitrate, FPS, duration, thermal badge), Compose navigation graph, Settings Hub, Endpoint management screen |
| π Security | CredentialSanitizer, RedactingLogger, ACRA configurator (no LOGCAT/SHARED_PREFS), intent security (profile-ID-only FGS start) |
| β Tests | 150 unit tests passing across all core modules |
| π§ CI/CD | GitHub Actions APK release workflow with input tag support |
π Open Pull Requests
| PR | Title | Status | Action Needed |
|---|---|---|---|
#5 |
Fix: energy-saving mode stops RTMP stream | π‘ Draft | β Priority review β implements energy-saving as a pure UI overlay, keeping camera/encoder untouched during preview dim |
#6 |
No changes: non-actionable issue | π‘ Draft | ποΈ Safe to close β unrelated personal query, no code changes |
π Open Issues
No open issues. The tracker is clean! π§Ή
π Architecture Wins
The codebase is following the spec closely:
- β
Single source of truth β
StreamingServiceownsStreamStateandStreamStatsviaStateFlow - β
Security hard rules β No credentials in Intent extras,
EncryptedSharedPreferencesfor secrets,CredentialSanitizeron all log paths - β API branching β Thermal monitoring has proper API 29+ and API 23β28 paths
- β
Encoder serialization β
EncoderControlleruses coroutineMutex(notsynchronized) - β
FOSS flavor β
fossandgmsflavors both building, no GMS leakage in FOSS classpath
π― Actionable Next Steps
-
Review & merge PR
#5β The energy-saving bug fix is well-scoped and architecturally sound. It keepsCameraPreviewin the Compose composition and overlays a dark scrim β exactly the right approach per the service layer rules. -
Close PR
#6β It's a stale draft with zero code changes from an accidental non-engineering query. -
Instrumented tests on device β The 150 unit tests are green; next step is running
./gradlew connectedFossDebugAndroidTeston a real device to validate camera preview, RTMP streaming, and surface lifecycle. -
Settings screens validation β
VideoAudioSettingsScreen,GeneralSettingsScreen, andSettingsViewModelare wired up; a quick smoke test of the settings flows would be valuable. -
Consider a v0.0.2 milestone β PR
#5+ any polish work could be bundled into the next tagged release.
π‘ Recommendations
- π ProGuard / R8 (T-034): Verify
assembleFossReleaseworks end-to-end with the current R8 rules before the next release. - π± NFR measurements (T-035): Validate startup time < 2s and battery drain β€ 15%/hr on a mid-range device β these are spec Must-level requirements.
- π Backup rules (T-032): Double-check
android:allowBackup="false"is set in the manifest and thatBackupAgentexcludes encrypted prefs.
Generated by the daily-repo-status workflow Β· StreamCaster Android Β· alxayo/StreamCaster-android
Generated by Daily Repo Status Β· β·
To install this agentic workflow, run
gh aw add githubnext/agentics/workflows/daily-repo-status.md@1199e4a230756fb94a382496a73e689091aa4b6b