mirror of
https://github.com/Such-Software/adaptive-multi-protocol-browser.git
synced 2026-10-19 07:18:32 +02:00
Add mobile platform capability planning
This commit is contained in:
@@ -22,6 +22,7 @@ browser engine until those contracts are stable.
|
||||
- `ampbrowser.transports`: local readiness checks for Tor, I2P, Reticulum, and Gemini.
|
||||
- `ampbrowser.plan`: dry-run action planner for browser launches.
|
||||
- `ampbrowser.launch`: side-effect-free launch specs and first-use consent state.
|
||||
- `ampbrowser.platforms`: platform capability matrix for desktop, Android, and iOS.
|
||||
- `ampbrowser.docsgen`: generated public documentation from code-owned metadata.
|
||||
|
||||
## Browser Strategy
|
||||
|
||||
@@ -0,0 +1,26 @@
|
||||
# Generated Platform Capabilities
|
||||
|
||||
> Status: generated | Updated by `python3 -m ampbrowser docs generate` | Applies to: AMPB
|
||||
|
||||
This file is generated from code. Do not edit it by hand.
|
||||
|
||||
| Transport | Platform | Browse | Adopt | Manage | Install | Note |
|
||||
| --- | --- | --- | --- | --- | --- | --- |
|
||||
| `clearnet` | `desktop` | `ready` | `ready` | `unsupported` | `unsupported` | Use system browser or isolated desktop profile. |
|
||||
| `clearnet` | `android` | `ready` | `ready` | `unsupported` | `unsupported` | Use Android browser shell, WebView, or Custom Tabs. |
|
||||
| `clearnet` | `ios` | `ready` | `ready` | `unsupported` | `unsupported` | Use iOS browser shell with platform web constraints. |
|
||||
| `tor` | `desktop` | `ready` | `ready` | `planned` | `planned` | Adopt local Tor or prompt before managed desktop daemon setup. |
|
||||
| `tor` | `android` | `planned` | `planned` | `planned` | `planned` | Use an app-owned foreground service or compatible installed Tor provider. |
|
||||
| `tor` | `ios` | `foreground-only` | `planned` | `foreground-only` | `constrained` | Plan for in-app foreground sessions; do not assume always-on background service. |
|
||||
| `i2p` | `desktop` | `ready` | `ready` | `planned` | `planned` | Adopt local I2P proxy or prompt before managed desktop daemon setup. |
|
||||
| `i2p` | `android` | `planned` | `planned` | `planned` | `planned` | Use an app-owned foreground service or compatible installed I2P provider. |
|
||||
| `i2p` | `ios` | `constrained` | `planned` | `foreground-only` | `constrained` | Treat iOS I2P support as foreground-only until native adapter constraints are proven. |
|
||||
| `gemini` | `desktop` | `ready` | `ready` | `ready` | `unsupported` | Built-in fetch/render path can be shared by desktop shell. |
|
||||
| `gemini` | `android` | `ready` | `ready` | `ready` | `unsupported` | Built-in fetch/render path can be shared by Android shell. |
|
||||
| `gemini` | `ios` | `ready` | `ready` | `ready` | `unsupported` | Built-in fetch/render path can be shared by iOS shell. |
|
||||
| `reticulum` | `desktop` | `planned` | `planned` | `planned` | `planned` | Adapter and local interface readiness checks are planned. |
|
||||
| `reticulum` | `android` | `planned` | `planned` | `planned` | `planned` | Mobile adapter should use explicit foreground service consent. |
|
||||
| `reticulum` | `ios` | `constrained` | `planned` | `foreground-only` | `constrained` | Do not assume background Reticulum operation on iOS. |
|
||||
| `unknown` | `desktop` | `unsupported` | `unsupported` | `unsupported` | `unsupported` | No platform route is available. |
|
||||
| `unknown` | `android` | `unsupported` | `unsupported` | `unsupported` | `unsupported` | No platform route is available. |
|
||||
| `unknown` | `ios` | `unsupported` | `unsupported` | `unsupported` | `unsupported` | No platform route is available. |
|
||||
@@ -0,0 +1,25 @@
|
||||
# Mobile Browser
|
||||
|
||||
> Status: draft | Updated 2026-07-06 | Applies to: AMPB mobile shells
|
||||
|
||||
Mobile is a first-class AMPB target. The core router, policy model, consent flow, profile
|
||||
isolation, and fixture checks should stay shared across desktop, Android, and iOS. Native
|
||||
mobile shells should implement only the platform-specific browser and transport pieces.
|
||||
|
||||
## Android
|
||||
|
||||
Android is the primary mobile target for full AMPB browsing. Tor, I2P, and Reticulum
|
||||
adapters should run only after a URL selects that transport and the user approves setup.
|
||||
Managed adapters must use visible, stoppable foreground services and app-owned state.
|
||||
|
||||
## iOS
|
||||
|
||||
iOS is a supported design target, but transport management is constrained. AMPB should
|
||||
assume foreground-only sessions unless a reviewed platform capability proves otherwise.
|
||||
The iOS shell should still share routing, policy, consent, fixture, Gemini, and clearnet
|
||||
behavior with the rest of AMPB.
|
||||
|
||||
## Capability Matrix
|
||||
|
||||
Generated platform capability metadata lives in
|
||||
[generated platform capabilities](generated/platform-capabilities.md).
|
||||
@@ -27,4 +27,5 @@ python3 -m ampbrowser open https://wownero.org/
|
||||
python3 -m ampbrowser open http://example.b32.i2p/
|
||||
python3 -m ampbrowser open http://example.b32.i2p/ --yes
|
||||
python3 -m ampbrowser open http://example.b32.i2p/ --config examples/config.toml
|
||||
python3 -m ampbrowser open http://example.b32.i2p/ --platform android
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user