Repository navigation
Remove Shin branding and duplicate Linux plugin packaging - #66
Merged
Merged
Conversation
…, harden release paths Android reservation now fully delegates to ReservationState: pending selection is advertised but not busy, only /reserve confirms. busy/advertised providers use isBusy/advertisedId, 45s lease split into pending rollback vs confirmed release. Fixes MainActivity val-vs-assignment compile break. Discovery prefers UDP peer with explicit manual override and blank-host rejection. Encoder log tags unified to shinEncoder with AVC hardware-only selection contract. Dock restores peer-bound lens/torch/identify via bounded slots (8 buttons). Worker exit documents release-before-clear destroy ordering. Tests: 101 passed.
…tall destinations - Android unit tests run on JVM against android.jar stubs where org.json.JSONObject throws 'not mocked'. Add test-only org.json:json so ObsDiscoveryProtocolTest exercises real parsing. On-device code still uses platform org.json. - Windows CMake MODULE target needs LIBRARY (and ARCHIVE) destination; configure failed with 'install TARGETS given no LIBRARY DESTINATION'. RUNTIME-only was insufficient. Tests: pytest -q 101 passed locally. Android unit-test + Windows build verification via CI.
- Camera2Controller: appContext + nullable CameraManager, non-crashing select/open/switch with single-Back fallback and warnings. - CameraControlServer: clientLock sync, bind errors surfaced via onError. - SrtStreamClient: guarded native load (loadError/isAvailable), explicit unavailable error instead of UnsatisfiedLinkError crash. - docs/architecture: canonical 51615/239.255.43.99/9100/9101. - gitignore local .claude/ agent scaffolding. Tests: pytest -q 113 passed.
Keep pending-advertised/confirmed-busy ReservationState model while porting crash/ANR fixes: appContext, native-unavailable status, control onError surface, onStop off-UI (shinActivityStop daemon), identify leak fix, permission-denied UI, bitrate lock, lens restart off-UI with single-flight lock, stopPhoneServer blockingWork off-UI with Reserved escape hatch. Tests: pytest -q 113 passed.
…rties - Discovery registry bounded 64 evict-eldest with warning (AGENTS 3/16). - Reserved names SRT target + control-OK log (TCP 9101 OK vs SRT 9100 blocked diagnosable). - Properties minimal: Test/Disconnect/Zoom/Identify only; torch/lens live in dock via bounded send (no duplication). Drop dead command table. Tests: pytest -q 113 passed.
- New test_prod_hardening_contract: 12 guards covering crash-free Android, ReservationState preserved, bounded discovery, diagnosable Reserved, dock-full/properties-minimal split, canonical docs. - test_srt_contract: accept guarded native wrappers (nativeSendVideo/ nativeSendAudio) + require loadError/isAvailable. Tests: pytest -q 113 passed.
|
Important
This repository does not receive automatic reviews because it has fewer than 10 stars. ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Advanced Run ID: Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The Android launcher and OBS source still showed Shin while the repository and setup flow use OpenStream. Linux also built and released
shin-obs.sobeside an existing OpenStream installer, leaving two plugin names to maintain.This change uses OpenStream for visible Android and OBS labels, Linux build output, installer, package, and release artifact. It removes the duplicate Shin installer and old audit file. The OpenStream Linux installer removes an older Shin module after placing the new module. Wire protocol tokens,
shin://links, the saved OBS source ID, Android application ID, and signing remain unchanged for compatibility.Validation: 115 Python contracts passed; four C++ tests passed; the Android debug APK built; the Linux plugin built; and the packaged Linux installer installed
openstream-obs.soin an isolated directory. Physical Android pairing and OBS GUI loading still require device testing.