fix(android): l'APK release n'avait PAS la permission INTERNET
Trouvé sur téléphone, pas en test : l'app installée en release rendait une « OS exception » à la connexion, et google_fonts échouait en amont sur un errno 7 (pas de résolution DNS). Le paquet installé ne demandait AUCUNE permission — dumpsys package le dit sans détour. android.permission.INTERNET n'était déclarée que dans src/debug/ et src/profile/, les deux manifestes que le modèle Flutter fournit pour le développement. Le release ne retient que src/main/, qui ne la portait pas. Donc TOUT APK release jamais produit depuis ce dépôt était sans réseau — une app dont le seul rôle est de parler JSON-RPC à une box en ws://<box>:4444. Rien ne pouvait le montrer : les 164 tests tournent sur l'hôte, la passe sur appareil installe un APK de DEBUG (qui, lui, hérite de la permission), et la mise en ligne se fait en web où la question ne se pose pas. Il fallait installer un release sur un vrai téléphone et essayer de se connecter. Le commentaire du manifeste garde la raison à côté de la ligne : sans elle, l'échec est au niveau OS, donc muet côté Flutter — exactement le genre de panne silencieuse qu'on documente ailleurs dans ce dépôt (docs/UI_data_contract.md §9). Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01SQbZKrWqsMFP1Lh2jjjd9f
This commit is contained in:
parent
376acb2181
commit
63f145d723
@ -1,4 +1,14 @@
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<!-- L'app ne parle QU'AU RÉSEAU LOCAL : JSON-RPC nymea sur ws://<box>:4444, ou TCP
|
||||
brut 2222. Sans cette permission, aucune socket ne s'ouvre — et l'échec est au
|
||||
niveau OS, donc muet côté Flutter : « OS exception » à la connexion, et jusqu'aux
|
||||
polices Google qui ne se résolvent plus (errno 7).
|
||||
|
||||
Elle n'était déclarée que dans src/debug/ et src/profile/, les manifestes du
|
||||
modèle Flutter. Le release ne retient que celui-ci : TOUT APK release produit
|
||||
avant le 2026-08-28 était donc sans réseau, ce qu'aucun test n'aurait montré —
|
||||
les tests tournent en debug, et la mise en ligne se fait en web. -->
|
||||
<uses-permission android:name="android.permission.INTERNET"/>
|
||||
<application
|
||||
android:label="etm_powersync_app"
|
||||
android:name="${applicationName}"
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user