Skip to content

Fix MicroSD P2P uploads and release OpenADB 3.0.3#11

Merged
communism420 merged 1 commit into
mainfrom
codex/openadb-3.0.3
Jul 15, 2026
Merged

Fix MicroSD P2P uploads and release OpenADB 3.0.3#11
communism420 merged 1 commit into
mainfrom
codex/openadb-3.0.3

Conversation

@communism420

Copy link
Copy Markdown
Owner

What changed

  • Route removable MicroSD/USB P2P destinations through the matching persisted SAF tree before any direct filesystem fallback, even when Android reports global All files access.
  • Verify exact read/write access before publishing READY, pin the selected backend for the session, reject stale or malformed grants, and retry the legacy .part/EACCES failure once through the storage-access flow.
  • Move removable-storage probing off the Android UI thread and protect privileged ACBridge commands behind the shell-only DUMP permission.
  • Update OpenADB, ACBridge, release metadata, workflows, documentation, screenshots, and tests to 3.0.3 (versionCode 30301).

Why

Some Android TV firmware exposes removable media as readable while rejecting direct FileOutputStream writes. ACBridge previously trusted global All files access, opened the P2P session, and then failed while creating its temporary .openadb-*.part file. The new flow validates the actual destination through SAF before any file bytes leave the PC.

User impact

P2P uploads to approved MicroSD/USB locations no longer start against an unwritable direct path. OpenADB waits for Android storage approval, reports failed grants honestly, and preserves the existing internal-storage and compatibility fallback behavior.

Validation

  • 577 tests across 39 isolated modules; 38 exited cleanly, while the adaptive-window module reported all 41 tests OK before the known local PySide teardown status 0xc0000374.
  • Final ACBridge 3.0.3 APK transferred 2,097,455 bytes through an approved removable SAF tree on an Android 16 emulator; SHA-256 matched and no .openadb-* residue remained.
  • Ruff, compileall, workflow YAML parsing, and git diff --check passed.
  • APK metadata, ZIP alignment, v1/v2/v3 signatures, established signer, and byte-identical APK aliases were verified.

Known limitations

  • Physical Android TV MicroSD validation remains pending because no physical ADB device was connected.
  • Emulator NAT required a test-only ADB forward for the data socket, so the runtime check does not claim direct-LAN routing or speed.
  • No OpenADB 3.0.3 EXE was built as part of this fix.

@communism420
communism420 marked this pull request as ready for review July 15, 2026 15:24
@communism420
communism420 merged commit 1101e52 into main Jul 15, 2026
10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant