Add an Android app and CI builds (standard and legacy32) on top of Flowseal v1.10.4, with upstream settings parity and no fork relay features. Fork Android-only CI run 35544443612 passed; local Python tests and API34 instrumentation passed. Physical ARMv7, live Telegram/Cloudflare, and production signing remain unverified. Supersedes closed PR #200; submitted as a draft for maintainer review.
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.
## 📋 Pull Request Information
**Original PR:** https://github.com/Flowseal/tg-ws-proxy/pull/1353
**Author:** [@Dark-Avery](https://github.com/Dark-Avery)
**Created:** 9/20/2026
**Status:** ❌ Closed
**Base:** `main` ← **Head:** `work/android_migration-v1.10.4-upstream-pr`
---
### 📝 Commits (10+)
- [`1107ec0`](https://github.com/Flowseal/tg-ws-proxy/commit/1107ec09a9970783cef47c91c56c6a0f3cae25e6) feat(android): adapt runtime to upstream v1.10.4
- [`60c3c25`](https://github.com/Flowseal/tg-ws-proxy/commit/60c3c253b1f5f4e8d8df4ffb55ee5e59706853d7) fix(android): synchronize proxy startup and shutdown
- [`4fdf5b1`](https://github.com/Flowseal/tg-ws-proxy/commit/4fdf5b15a076e2ed754774ba877c9a0c8c7f8ebc) Port Android shell and connect Task 2 Python bridge
- [`e0c9552`](https://github.com/Flowseal/tg-ws-proxy/commit/e0c9552950dc54375fab0c5ff57b2f7dfd660ebd) Serialize Android proxy lifecycle and verify certifi provenance
- [`b2d3cf4`](https://github.com/Flowseal/tg-ws-proxy/commit/b2d3cf40b5af875f867d4a210a6d79dd5655636e) Ignore stale Android traffic poll completions
- [`5f64074`](https://github.com/Flowseal/tg-ws-proxy/commit/5f640740a5f17d0e9204edd40b1f93fe4ef72d13) Invalidate traffic polls before Android restart state
- [`1e3e0d5`](https://github.com/Flowseal/tg-ws-proxy/commit/1e3e0d5137f956178cbb95331256528c6e0fbb27) ci(android): validate variants and publish signed APKs
- [`6ac8c03`](https://github.com/Flowseal/tg-ws-proxy/commit/6ac8c036966c8c962c38047bc3845f92d4f3cbd9) Keep desktop release independent of Android signing
- [`f329b9d`](https://github.com/Flowseal/tg-ws-proxy/commit/f329b9d6792a586b72a0c99f0cbb4cfaaa910996) ci: require desktop release assets when Android APKs are optional
- [`5f5d1b0`](https://github.com/Flowseal/tg-ws-proxy/commit/5f5d1b0e757b5ce46204327ef9b68b51eccd5f4e) android: persist upstream settings and bridge domain lists
### 📊 Changes
**80 files changed** (+12146 additions, -157 deletions)
<details>
<summary>View changed files</summary>
📝 `.github/workflows/build.yml` (+170 -4)
➕ `.github/workflows/test_build.py` (+104 -0)
📝 `.gitignore` (+8 -0)
➕ `android/app/build.gradle.kts` (+183 -0)
➕ `android/app/proguard-rules.pro` (+1 -0)
➕ `android/app/src/androidTest/java/org/flowseal/tgwsproxy/PackagedPythonSmokeTest.kt` (+37 -0)
➕ `android/app/src/androidTest/java/org/flowseal/tgwsproxy/SettingsUiParityTest.kt` (+278 -0)
➕ `android/app/src/main/AndroidManifest.xml` (+41 -0)
➕ `android/app/src/main/java/org/flowseal/tgwsproxy/AndroidLanguageContext.kt` (+14 -0)
➕ `android/app/src/main/java/org/flowseal/tgwsproxy/AndroidSystemStatus.kt` (+62 -0)
➕ `android/app/src/main/java/org/flowseal/tgwsproxy/CfProxyDiagnosticsViewModel.kt` (+117 -0)
➕ `android/app/src/main/java/org/flowseal/tgwsproxy/LatestUpdateRequest.kt` (+13 -0)
➕ `android/app/src/main/java/org/flowseal/tgwsproxy/LogViewerActivity.kt` (+58 -0)
➕ `android/app/src/main/java/org/flowseal/tgwsproxy/MainActivity.kt` (+737 -0)
➕ `android/app/src/main/java/org/flowseal/tgwsproxy/NotificationSummary.kt` (+17 -0)
➕ `android/app/src/main/java/org/flowseal/tgwsproxy/ProxyConfig.kt` (+247 -0)
➕ `android/app/src/main/java/org/flowseal/tgwsproxy/ProxyForegroundService.kt` (+501 -0)
➕ `android/app/src/main/java/org/flowseal/tgwsproxy/ProxyLifecycleCoordinator.kt` (+85 -0)
➕ `android/app/src/main/java/org/flowseal/tgwsproxy/ProxyRestartSequence.kt` (+16 -0)
➕ `android/app/src/main/java/org/flowseal/tgwsproxy/ProxyServiceState.kt` (+49 -0)
_...and 60 more files_
</details>
### 📄 Description
Add an Android app and CI builds (standard and legacy32) on top of Flowseal v1.10.4, with upstream settings parity and no fork relay features. Fork Android-only CI run 35544443612 passed; local Python tests and API34 instrumentation passed. Physical ARMv7, live Telegram/Cloudflare, and production signing remain unverified. Supersedes closed PR #200; submitted as a draft for maintainer review.
---
<sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
mirror-bot
changed title from [PR #1353] Android app and release builds for v1.10.4 to [PR #1353] [CLOSED] Android app and release builds for v1.10.42026-10-07 00:00:31 +03:00
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
📋 Pull Request Information
Original PR: https://github.com/Flowseal/tg-ws-proxy/pull/1353
Author: @Dark-Avery
Created: 9/20/2026
Status: ❌ Closed
Base:
main← Head:work/android_migration-v1.10.4-upstream-pr📝 Commits (10+)
1107ec0feat(android): adapt runtime to upstream v1.10.460c3c25fix(android): synchronize proxy startup and shutdown4fdf5b1Port Android shell and connect Task 2 Python bridgee0c9552Serialize Android proxy lifecycle and verify certifi provenanceb2d3cf4Ignore stale Android traffic poll completions5f64074Invalidate traffic polls before Android restart state1e3e0d5ci(android): validate variants and publish signed APKs6ac8c03Keep desktop release independent of Android signingf329b9dci: require desktop release assets when Android APKs are optional5f5d1b0android: persist upstream settings and bridge domain lists📊 Changes
80 files changed (+12146 additions, -157 deletions)
View changed files
📝
.github/workflows/build.yml(+170 -4)➕
.github/workflows/test_build.py(+104 -0)📝
.gitignore(+8 -0)➕
android/app/build.gradle.kts(+183 -0)➕
android/app/proguard-rules.pro(+1 -0)➕
android/app/src/androidTest/java/org/flowseal/tgwsproxy/PackagedPythonSmokeTest.kt(+37 -0)➕
android/app/src/androidTest/java/org/flowseal/tgwsproxy/SettingsUiParityTest.kt(+278 -0)➕
android/app/src/main/AndroidManifest.xml(+41 -0)➕
android/app/src/main/java/org/flowseal/tgwsproxy/AndroidLanguageContext.kt(+14 -0)➕
android/app/src/main/java/org/flowseal/tgwsproxy/AndroidSystemStatus.kt(+62 -0)➕
android/app/src/main/java/org/flowseal/tgwsproxy/CfProxyDiagnosticsViewModel.kt(+117 -0)➕
android/app/src/main/java/org/flowseal/tgwsproxy/LatestUpdateRequest.kt(+13 -0)➕
android/app/src/main/java/org/flowseal/tgwsproxy/LogViewerActivity.kt(+58 -0)➕
android/app/src/main/java/org/flowseal/tgwsproxy/MainActivity.kt(+737 -0)➕
android/app/src/main/java/org/flowseal/tgwsproxy/NotificationSummary.kt(+17 -0)➕
android/app/src/main/java/org/flowseal/tgwsproxy/ProxyConfig.kt(+247 -0)➕
android/app/src/main/java/org/flowseal/tgwsproxy/ProxyForegroundService.kt(+501 -0)➕
android/app/src/main/java/org/flowseal/tgwsproxy/ProxyLifecycleCoordinator.kt(+85 -0)➕
android/app/src/main/java/org/flowseal/tgwsproxy/ProxyRestartSequence.kt(+16 -0)➕
android/app/src/main/java/org/flowseal/tgwsproxy/ProxyServiceState.kt(+49 -0)...and 60 more files
📄 Description
Add an Android app and CI builds (standard and legacy32) on top of Flowseal v1.10.4, with upstream settings parity and no fork relay features. Fork Android-only CI run 35544443612 passed; local Python tests and API34 instrumentation passed. Physical ARMv7, live Telegram/Cloudflare, and production signing remain unverified. Supersedes closed PR #200; submitted as a draft for maintainer review.
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.
[PR #1353] Android app and release builds for v1.10.4to [PR #1353] [CLOSED] Android app and release builds for v1.10.4