PnX-SI / gn_mobile_occtax

Application mobile pour la saisie dans le module Occtax de GeoNature
GNU General Public License v3.0
13 stars 4 forks source link

[Occtax2] - Probleme de récupération settings.json #130

Closed PNPyrenees closed 2 years ago

PNPyrenees commented 2 years ago

Version de l'application Version d'Occtax-mobile affectée par le bug : 2.0.0 Version de GeoNature utilisée : 2.9.1

Terminal et Version Android Marque et modèle du terminal : Samsung galaxy A40 Version d'Android : 11

Description du bug et comportement attendu Je n'arrive pas à faire fonctionner occTax V2 sur mon smartphone. J'essais de le tester sur un server de démo http://demo-geonature.parc-pyrenees.fr/geonature

J'ai bien déposé l'apk et le fichier settings.json dans geonature/backend/static/mobile/occtax/. L'url http://demo-geonature.parc-pyrenees.fr/geonature/api/gn_commons/t_mobile_apps fonctionne bien et l'apk a été installé sur le mobile.

Voici ce que j'ai dans gn_commons.t_mobile_app: 1,"OCCTAX","static/mobile/occtax/occtax-2.0.0-generic-release.apk",NULL,"fr.geonature.occtax2","2560"

Je lance l'appli sur le smartphone qui me demande de saisir l'url de GeoNature (http://demo-geonature.parc-pyrenees.fr/geonature) ainsi que l'url de taxhub (http://demo-geonature.parc-pyrenees.fr/taxhub). J'appuie sur la flèche retour puis l'appli reste sur la page "Synchronisation des données" mais rien ne se passe. Si je ferme et relance l'appli, j'apperçois furtivement un message d'erreur (portant sur settings_occtax2.json qui est introuvable) et je me retrouve sur la page paramètre à nouveau.

Vous auriez des pistes ? merci par avance

Logs 12:24:06.038 INFO: [fr.geonature.occtax.MainApplication] starting fr.geonature.occtax2... 12:24:06.039 INFO: [fr.geonature.occtax.MainApplication] logs directory: '/storage/emulated/0/Android/data/fr.geonature.occtax2/logs' 12:24:06.039 INFO: [fr.geonature.occtax.MainApplication] internal storage: 'MountPoint(mountPath=/storage/emulated/0, storageType=INTERNAL)' 12:24:06.040 INFO: [fr.geonature.occtax.MainApplication] external storage: 'MountPoint(mountPath=/storage/0010-A0E0, storageType=EXTERNAL)' 12:24:06.199 INFO: [fr.geonature.commons.settings.AppSettingsManagerImpl] loading settings from URI 'content://fr.geonature.occtax2.provider/settings/settings_occtax2.json'... 12:24:06.203 INFO: [fr.geonature.commons.settings.AppSettingsManagerImpl] loading settings from '/storage/emulated/0/Android/data/fr.geonature.occtax2/settings_occtax2.json'... 12:24:06.204 WARN: [fr.geonature.commons.settings.AppSettingsManagerImpl] '/storage/emulated/0/Android/data/fr.geonature.occtax2/settings_occtax2.json' not found 12:24:06.205 WARN: [fr.geonature.commons.settings.AppSettingsManagerImpl] failed to load 'settings_occtax2.json' 12:24:06.227 INFO: [fr.geonature.occtax.ui.home.HomeActivity] failed to load settings 12:24:06.760 INFO: [fr.geonature.datasync.packageinfo.worker.CheckInputsToSynchronizeWorker] available inputs to synchronize: 0

sgrimault commented 2 years ago

Pour information, l'application n'utilise que la route GET -> /api/gn_commons/t_mobile_apps pour ensuite filtrer par package name afin de récupérer les informations de l'application. Comme cette route est censée retourner dans tous les cas une liste, je préfère que la correction fasse en sorte d'avoir toujours en retour une liste. Idéalement, il faudrait une route dédiée permettant de récupérer directement les informations de l'application à partir de son package name, à l'image de GET -> /api/gn_commons/t_mobile_apps/{id}, ainsi l'application pourra y faire appel sans devoir tout récupérer pour ensuite filtrer.

Autres petits points d'améliorations :

camillemonchicourt commented 2 years ago

Fait dans la 2.0.1. Par ailleurs la correction de la route /api/gn_commons/t_mobile_apps sera faite dans la prochaine version de GeoNature pour ne plus utiliser la solution de contournement mise en place au niveau d'Occtax-mobile quand la route ne renvoie qu'une seule ligne.

PNPyrenees commented 2 years ago

Mes tests ne sont pas pleinement concluant. La bonne nouvelle est que la mise à jour semble s'être bien (installation : ok, synchro : ok). Mais, pour simuler l'installation sur un autre smartphone, j'ai testé de désinstaller l'application pour en faire une nouvelle installation -> le settings ne redescend pas (que ce soit avec une seul entrée dans la table t_mobile_app ou avec une fausse seconde application sync).

Log :

08:39:18.396 INFO: [fr.geonature.occtax.MainApplication] starting fr.geonature.occtax2...
08:39:18.398 INFO: [fr.geonature.occtax.MainApplication] logs directory: '/storage/emulated/0/Android/data/fr.geonature.occtax2/logs'
08:39:18.398 INFO: [fr.geonature.occtax.MainApplication] internal storage: 'MountPoint(mountPath=/storage/emulated/0, storageType=INTERNAL)'
08:39:18.399 INFO: [fr.geonature.occtax.MainApplication] external storage: 'MountPoint(mountPath=/storage/0010-A0E0, storageType=EXTERNAL)'
08:39:18.726 INFO: [fr.geonature.commons.settings.AppSettingsManagerImpl] loading settings from URI 'content://fr.geonature.occtax2.provider/settings/settings_occtax.json'...
08:39:18.731 INFO: [fr.geonature.commons.settings.AppSettingsManagerImpl] loading settings from '/storage/emulated/0/Android/data/fr.geonature.occtax2/settings_occtax.json'...
08:39:18.732 WARN: [fr.geonature.commons.settings.AppSettingsManagerImpl] '/storage/emulated/0/Android/data/fr.geonature.occtax2/settings_occtax.json' not found
08:39:18.733 WARN: [fr.geonature.commons.settings.AppSettingsManagerImpl] failed to load 'settings_occtax.json'
08:39:18.753 INFO: [fr.geonature.occtax.ui.home.HomeActivity] failed to load settings
08:39:19.052 INFO: [fr.geonature.datasync.packageinfo.worker.CheckInputsToSynchronizeWorker] available inputs to synchronize: 0
08:39:19.284 INFO: [fr.geonature.commons.data.DatabaseModule] loading local database '/storage/emulated/0/Android/data/fr.geonature.occtax2/databases/data.db'...
08:39:19.313 DEBUG: [fr.geonature.commons.data.helper.SQLiteSelectQueryBuilder] sql:
  SELECT dataset."_id" AS dataset__id, dataset."module" AS dataset_module, dataset."name" AS dataset_name, dataset."description" AS dataset_description, dataset."active" AS dataset_active, dataset."created_at" AS dataset_created_at
  FROM dataset dataset
  WHERE (dataset_module = ?)
    AND (dataset__id = ?)
  ORDER BY dataset_name COLLATE NOCASE ASC
  args: ['occtax', 69]
08:39:19.333 DEBUG: [fr.geonature.commons.data.helper.SQLiteSelectQueryBuilder] sql:
  SELECT observers."_id" AS observers__id, observers."lastname" AS observers_lastname, observers."firstname" AS observers_firstname
  FROM observers observers
  WHERE observers__id = ?
  ORDER BY observers_lastname COLLATE NOCASE ASC, observers_firstname COLLATE NOCASE ASC
  args: [10]

Qu'en est-il chez vous ?

edit : je n'ai pas précisé mais j'ai bien attribué le version_code = 2575

camillemonchicourt commented 2 years ago

Salut. De mon côté, j'ai mis à jour l'APK sur le serveur de démo, avec une seule ligne dans la table t_mobile_apps. Sur mon mobile de test, j'avais une application v2.0.0 n'arrivait logiquement plus à charger le fichier de configuration. Je l'ai désinstallé et installé la 2.0.1 sur mon mobile et tout a bien fonctionné.

DonovanMaillard commented 2 years ago

Salut,

De mon coté on vient de faire le test sur un Android 11 qui passe de la 1.3 à la 2.0.1. On a plusieurs applis mentionnées coté BDD.

Ca fonctionne. Mais on a du fermer l'appli puis relancer pour que le fichier de settings soit pris en charge. L'utilisateur me confirme également que la 1ere configuration n'est pas du tout intuitive.

PNPyrenees commented 2 years ago

Re-testé, le problème persiste de mon côté.

image

https://geonature.pyrenees-parcnational.fr/geonature/api/gn_commons/t_mobile_apps

Je ne vois pas ce qui coince...

TheoLechemia commented 2 years ago

@PNPyrenees j'ai fait la modif de l'API que sur le serveur de démo. Normal que ça ne marche pas chez toi. Tu es au BRGM ou chez toi ? Si tu es chez toi, je peux te dire ce que j'ai fait, sinon pas d'autre solution que d'ajouter un element dans t_mobile_apps

Edit : désolé, ça a été corrigé côté appli mobile, oublie ce que j'ai dit

PNPyrenees commented 2 years ago

Merci Théo pour ton retour, je suis effectivement sur le serveur BRGM. L'idée étant de mettre l'appli à disposition d'un agent pour test mais en condition réelle.

J'ai donc remis la fausse config pour SYNC mais le settings.json ne redescendant pas pour autant (malgré ré-installation de l'appli). La V2.0.1 ne serait que compatible avec les modif que tu aurais apporté à l'API ?

Ayant un accès FTP au code de GeoNature côté BRGM, peut-être que je peux appliquer tes modifications ? (bon ok, c'est sans doute pas très propre...)

sgrimault commented 2 years ago

Bonjour,

Pour redéployer la version 2.0.1 tout en gardant la configuration actuelle (avec une seule application de déclarée), il faudra la mettre à jour manuellement (puisque la version 2.0.0 ne peut pas récupérer son paramétrage et donc de procéder à sa mise à jour). Une fois fait, la nouvelle version pourra récupérer automatiquement son paramétrage.

PNPyrenees commented 2 years ago

Bonjour Sébastien,

L'installation de la version 2.0.1 (après avoir désinstallé la 2.0.0) ne devrait-elle pas récupérer le setting.json ? (c'est mon problème actuel)

camillemonchicourt commented 2 years ago

Si c'est ce que j'ai fait et ça a bien fonctionné de mon côté

sgrimault commented 2 years ago

Si justement :-) Aurais tu la possibilité de me créer un compte sur votre instance pour que je puisse voir ce qu'il en est ?

PNPyrenees commented 2 years ago

Je te propose que tu me fasse une demande de création compte pour na pas laisser trainer un id/mot de passe sur le web : https://geonature.pyrenees-parcnational.fr/geonature/#/inscription

Dés que je reçois la demande, je t'associe à un jeu de données test. Tu seras également rattaché à un groupe utilisateur possédant des droits tel que nos agents de terrain. Tu me fera savoir quand tu aura fini tes tests.

sgrimault commented 2 years ago

@PNPyrenees Mon compte est créé (identifiant : sgr).

PNPyrenees commented 2 years ago

Vue et acceptée (je t'en ai fait part par email)

sgrimault commented 2 years ago

@PNPyrenees , J'ai publié une nouvelle version de l'application "Occtax", toujours en version 2.0.1 (version code : 2580).

Dis moi quand tu auras un peu de temps pour tester de ton côté. Pour ma part, j'ai pu m'authentifier et synchroniser les données avec mon compte.

PNPyrenees commented 2 years ago

Merci Sébastien pour ce retour.

J'ai, dans un premier temps, désinstallé l'appli mobile puis installé la dernière version. Ce n'était pas mieux (j'ai pas regardé les logs mais il n'était pas possible de lancer la synchro). J'ai donc à nouveau désinstallé l'application, puis redémarré le smartphone et là, ça a fonctionné. Il y a donc un cache qui traine quelque part. Donc en conclusion, c'est également bon de mon côté (testé une saisie et remonté sur GN - OK) et je vais pouvoir passer à la phase suivante, test en condition réelle par un agent de terrain, dont je vous ferais des retours si nécessaire.

Merci encore Sébastien d'avoir pris le temps de solutionner cette anomalie.

DonovanMaillard commented 2 years ago

Merci Ludovic pour ces retours.

On suspecte bien un soucis de cache avec Camille depuis un moment. Dans la prochaine commande (cahier des charges transmis ces derniers jours) on prévoit bien de passer en revue la mise en cache sur ces points de connexion, car c'est assez récurrent.

Chrispnv commented 2 years ago

Bonjour,

Nous avons en base OcctaxV1 et SyncV1 inchangé en version 1.3.0 qui ne fonctionnement plus depuis quelques jours (retour des agents impossible à la synchronisation). Nous avons récupéré les données non synchronisées et souhaitons monter en version OccTaxV2 pour régler ce problème. Nous avons donc suivis la doc, installer manuellement le .apk sur smartphone test et ajouter sur la table t_mobile_apps:

3 OCCTAX2 static/mobile/occtax/occtax-2.0.1-generic-release.apk fr.geonature.occtax2 2580

Le settings.json ne se récupère que après de multiples essais. Nous avons lu les différents problèmes à ce sujet, désinstaller, réinstaller, éteins et rallumer le smartphone, vider les caches, modifier le fichier settings.json après de nombreux essais le fichier se télécharge. Cependant, dès que nous ouvrons occtax le message suivant s'affichent: Erreur lors du chargement des paramètres.

Ci-dessous la structure de notre settings sur le serveur pour occtax (un seul settings):

[ { "id_mobile_app": 3, "app_code": "OCCTAX2", "url_apk": "https://geonature2.vanoise-parcnational.fr/geonature/api/static/mobile/occtax/occtax-2.0.0-generic-release.apk", "package": "fr.geonature.occtax2", "version_code": "2580", "settings": { "area_observation_duration": 1825.0, "sync": { "geonature_url": "https://geonature2.vanoise-parcnational.fr/geonature", "taxhub_url": "https://geonature2.vanoise-parcnational.fr/taxhub", "uh_application_id": 14, "observers_list_id": 8, "taxa_list_id": 500, "code_area_type":"UG", "page_size": 40000, "page_max_retry": 10 }, "map": { "show_scale": true, "show_compass": true, "max_bounds": [ [ 46.0, 7.5 ], [ 44.0, 5.1 ] ], "center": [ 45.38, 6.83 ], "start_zoom": 11.0, "min_zoom": 8.0, "max_zoom": 18.0, "min_zoom_editing": 15.0, "layers": [ { "label": "Scans", "source": "scanvanoise.mbtiles" }, { "label": "Ortho", "source": "ortho.mbtiles" }, { "label": "Mailles", "source": "unities.geojson", "style": { "stroke": true, "color": "#FF0000", "weight": 7.0, "opacity": 0.6, "fill": true, "fillColor": "#FF8000", "fillOpacity": 0.2 } } ] } } } ]

On se tourne vers vous pour savoir si il y a une autre méthode afin d'installer OcctaxV2 ? Car le téléchargement du settings s'est réalisé assez aléatoirement entre les multiples d'installations, suppressions, etc.. (en suivant l'Issue sur les différents test déjà réalisés). Ainsi que le potentiel problème dans le paramétrage de notre settings ci-dessus.

En vous remerciant par avance pour votre temps et votre aide,

sgrimault commented 2 years ago

Bonjour @Chrispnv,

Si tu as moyen de récupérer les logs de l'application pour voir notamment où ça peut coincer lors du chargement des paramètres, ce serait cool :)

Concernant l'installation et le paramétrage, tu peux le faire en manuel en créant le fichier settings_occtax.json qui contient les paramètres que tu as mis ci-dessus :

{
  "area_observation_duration": 1825.0,
  "sync": {
    "geonature_url": "https://geonature2.vanoise-parcnational.fr/geonature",
    "taxhub_url": "https://geonature2.vanoise-parcnational.fr/taxhub",
    "uh_application_id": 14,
    "observers_list_id": 8,
    "taxa_list_id": 500,
    "code_area_type": "UG",
    "page_size": 40000
  },
  "map": {
    "show_scale": true,
    "show_compass": true,
    "max_bounds": [
      [46.0, 7.5],
      [44.0, 5.1]
    ],
    "center": [45.38, 6.83],
    "start_zoom": 11.0,
    "min_zoom": 8.0,
    "max_zoom": 18.0,
    "min_zoom_editing": 15.0,
    "layers": [
      {
        "label": "Scans",
        "source": "scanvanoise.mbtiles"
      },
      {
        "label": "Ortho",
        "source": "ortho.mbtiles"
      },
      {
        "label": "Mailles",
        "source": "unities.geojson",
        "style": {
          "stroke": true,
          "color": "#FF0000",
          "weight": 7.0,
          "opacity": 0.6,
          "fill": true,
          "fillColor": "#FF8000",
          "fillOpacity": 0.2
        }
      }
    ]
  }
}

(Pour information, le paramètre page_max_retry est obsolète).

Puis de le déposer dans le répertoire Android/data/fr.geonature.occtax2. Ensuite tu relances l'application. Il va tout de suite lire le fichier de paramétrage afin de pouvoir se connecter sur votre instance de GeoNature pour lancer une première synchronisation des données.

DonovanMaillard commented 2 years ago

Bonjour Christophe,

En faisant la mise à jour, tu as redéfini l'app_code, les url etc dans ton settings.json, qui est toujours utilisé par la version 1.3 qui s'y perd: https://geonature2.vanoise-parcnational.fr/geonature/api/gn_commons/t_mobile_apps). Capture d’écran 2022-04-05 à 07 57 03

Si tu enlève les infos qui sont déjà en base (app_code, identifiant, url, numéro de version) vos terminaux en 1.3 devraient continuer à fonctionner sans difficulté.

Une nouvelle commande est en cours et devrait permettre d'identifier ce soucis récurrent, qu'on suppose être un soucis de cache

PNPyrenees commented 2 years ago

Salut Christophe,

Je pense effectivement que ton setting.json n'est pas correct. Il ne devrait contenir que les infos suivantes :

{
   "area_observation_duration":1825.0,
   "sync":{
      "geonature_url":"https://geonature2.vanoise-parcnational.fr/geonature",
      "taxhub_url":"https://geonature2.vanoise-parcnational.fr/taxhub",
      "uh_application_id":14,
      "observers_list_id":8,
      "taxa_list_id":500,
      "code_area_type":"UG",
      "page_size":40000
   },
   "map":{
      "show_scale":true,
      "show_compass":true,
      "max_bounds":[
         [
            46.0,
            7.5
         ],
         [
            44.0,
            5.1
         ]
      ],
      "center":[
         45.38,
         6.83
      ],
      "start_zoom":11.0,
      "min_zoom":8.0,
      "max_zoom":18.0,
      "min_zoom_editing":15.0,
      "layers":[
         {
            "label":"Scans",
            "source":"scanvanoise.mbtiles"
         },
         {
            "label":"Ortho",
            "source":"ortho.mbtiles"
         },
         {
            "label":"Mailles",
            "source":"unities.geojson",
            "properties":{
               "style":{
                  "stroke":true,
                  "color":"#FF0000",
                  "weight":7.0,
                  "opacity":0.6,
                  "fill":true,
                  "fillColor":"#FF8000",
                  "fillOpacity":0.2
               }
            }
         }
      ]
   }
}
camillemonchicourt commented 2 years ago

Oui pour Occtax v1 ainsi qu'Occtax v2, il y a un soucis dans votre fichier settings.json sur le serveur. Il y a le settings dans le settings...

Dans tous les cas :

DonovanMaillard commented 2 years ago

Dans tous les cas :

* Ce n'est pas normal (pas possible ?) que l'application version 1.3 se mette à ne plus fonctionner du jour au lendemain sans changement

Ca pourrait puisqu'on modifie le fichier settings utilisé par la v1 pour servir la V2. Mais ca a été testé et ce point est bien fonctionnel en effet donc là ça semble bien être uniquement la configuration qui n'est pas bonne.

Chrispnv commented 2 years ago

Bonjour,

On a réalisé les changements sur notre setting pour avoir celui conseiller. lors de l'installation de la V2 sur le le smartphone le settings_occtax.fr ne se récupère pas donc impossible de faire la synchronisation. Ci-dessous le log:

10:01:39.032 INFO: [fr.geonature.occtax.MainApplication] starting fr.geonature.occtax2... 10:01:39.033 INFO: [fr.geonature.occtax.MainApplication] logs directory: '/storage/emulated/0/Android/data/fr.geonature.occtax2/logs' 10:01:39.034 INFO: [fr.geonature.occtax.MainApplication] internal storage: 'MountPoint(mountPath=/storage/emulated/0, storageType=INTERNAL)' 10:01:39.037 INFO: [fr.geonature.occtax.MainApplication] external storage: 'MountPoint(mountPath=/storage/6463-3162, storageType=EXTERNAL)' 10:01:39.257 INFO: [fr.geonature.commons.settings.AppSettingsManagerImpl] loading settings from URI 'content://fr.geonature.occtax2.provider/settings/settings_occtax.json'... 10:01:39.262 INFO: [fr.geonature.commons.settings.AppSettingsManagerImpl] loading settings from '/storage/emulated/0/Android/data/fr.geonature.occtax2/settings_occtax.json'... 10:01:39.263 WARN: [fr.geonature.commons.settings.AppSettingsManagerImpl] '/storage/emulated/0/Android/data/fr.geonature.occtax2/settings_occtax.json' not found 10:01:39.263 WARN: [fr.geonature.commons.settings.AppSettingsManagerImpl] failed to load 'settings_occtax.json' 10:01:39.292 INFO: [fr.geonature.occtax.ui.home.HomeActivity] failed to load settings 10:01:39.558 INFO: [fr.geonature.datasync.packageinfo.worker.CheckInputsToSynchronizeWorker] available inputs to synchronize: 0 10:02:45.182 INFO: [fr.geonature.datasync.settings.DataSyncSettingsFileDataSourceImpl] loading data sync settings from '/storage/emulated/0/Android/data/fr.geonature.occtax2/settings_occtax.json'... 10:02:45.184 WARN: [fr.geonature.datasync.settings.DataSyncSettingsFileDataSourceImpl] '/storage/emulated/0/Android/data/fr.geonature.occtax2/settings_occtax.json' not found

Du coup, on a suivi les conseils de le faire manuellement de mettre le fichier settings_occtax sous fr.geonature.occtax2. Nous avons réalise un test, cela fonctionne correctement, merci pour la correction de notre settings.

Pour le non fonctionnement, il est encore actuel pour la V1 (cependant normale en vue du changement dans le settings ?). Cependant, la V1 a arrêtée de fonctionner pour plusieurs de nos agents sans modifications ou de monter en version (nous avons commencé les modifications lorsque le problème est remonté). Il n'est pas possible pour nos agents de synchroniser (connexion réussite mais non connecté donc pas de synchronisation ou demande à répétition de connexion sans se connecter donc aucune synchronisation réalisé).

DonovanMaillard commented 2 years ago

connexion réussite mais non connecté donc pas de synchronisation ou demande à répétition de connexion sans se connecter donc aucune synchronisation réalisé)

Ce problème là renvoie à mon avis au soucis de cache dont on parlait plus haut, et qu'on observe sur différents terminaux...

camillemonchicourt commented 2 years ago

Ça pourrait puisqu'on modifie le fichier settings utilisé par la v1 pour servir la V2. Mais ça a été testé et ce point est bien fonctionnel en effet donc là ça semble bien être uniquement la configuration qui n'est pas bonne.

Oui donc c'est bien suite à une modification quelque part que la v1.3 s'est mise à ne plus fonctionner. L'application v1.3 ne s'est pas mise à ne plus fonctionner du jour au lendemain comme ça, sans changement. C'est ça qui me paraissait bizarre et inexplicable.

Maintenant que le fichier settings.json a été corrigé et si il est correct, il n'y a pas de raison que la v1.3 ne fonctionne plus comme avant. Sauf si il reste une erreur dans le fichier vu que c'est la seule partie qui a été modifiée.


Idem pour la version 2.0.1, si le fichier settings.json a été corrigé, il devrait être correctement lu et récupérer par l'application mobile pour générer localement le fichier settings_occtax.json.

Si la récupération de la conf et l'authentification ne fonctionne pas, il faudrait désinstaller la v2.0.1, redémarrer le terminal et réinstaller la v2.0.1 et cela devrait bien fonctionner, comme testé et validé sur le serveur de DEMO ou au PNP.

DonovanMaillard commented 2 years ago

Au vu de ce qu'indique christophe, on pourrait avoir la superposition de deux choses non?

Chrispnv commented 2 years ago

J'ai du mal m'exprimer sur la chronologie des problèmes, je voulais dire que nous avions fait aucune modification, puis nos agents nous ont remonté le non fonctionnement de la V1 1.3.0: synchronisation plus possible. C'est à partir de ce moment que nous nous sommes lancé dans la monté en version en voulant résoudre le problème. Puis nous avons mal paramétré le settings qui a fait que la V2 ne fonctionnait pas non plus. Le fichier settings_occtax se récupérait mais ne fonctionnait pas car erreur de paramétrage (notre premier message sur cette issue). Puis nous avons suivi vos modifications et re-tester. La V2 ne récupère plus le settings_occtax en local (besoin de le faire manuellement pour réaliser la première synchronisation), mais une fois la manip réalisée manuellement pour le settings_occtax: la V2 fonctionne correctement et le V1 1.3.0 ne fonctionne toujours pas pour certains de nos agents.

Merci encore pour la correction du settings, ainsi que vos retours sur les potentielles dysfonctionnement de notre côté,

Cléa,

camillemonchicourt commented 2 years ago

OK merci pour les précisions. Cela reste incompréhensible qu'un outil fonctionne puis ne fonctionne plus sans avoir rien changé. :-) Il y a forcément une explication, un changement quelque part.

Maintenant que le settings.json sur le serveur a été corrigé, si une installation de la v2 ou la v1 est faite sur un terminal, tout devrait bien fonctionner et la configuration bien récupérée depuis le serveur.

Chrispnv commented 2 years ago

Oui, on aurait du, de notre côté, regarder plus en détail lors du dysfonctionnement avant de faire la monter en version/ modifications directement pour comprendre.

Merci pour l'aide et les explications,

Cléa

Chrispnv commented 2 years ago

Bonjour, On a déployé la version 2 d'Occtax sur des téléphones. Sur certains, pour le moment tout marche bien. Sur d'autres, on retrouve l'erreur de connexion (rappel : on peut se logguer, mais on revient sur la page de loggin) que l'on avait sur Occtax 1.3. Pour résumé : On a des téléphones sur lesquels fonctionne Occtax 1.3 et 2 et on a des téléphones sur lesquels fonctionnent ni Occtax 1.3, ni 2 J'ai récupéré les logs d'un téléphone sur lequel se trouve Occtax 2 avec le problème de connexion. Voici le contenu du log. Il y a une histoire de redirection...

11:00:17.067 INFO: [fr.geonature.occtax.MainApplication] starting fr.geonature.occtax2... 11:00:17.068 INFO: [fr.geonature.occtax.MainApplication] logs directory: '/storage/emulated/0/Android/data/fr.geonature.occtax2/logs' 11:00:17.068 INFO: [fr.geonature.occtax.MainApplication] internal storage: 'MountPoint(mountPath=/storage/emulated/0, storageType=INTERNAL)' 11:00:17.069 INFO: [fr.geonature.occtax.MainApplication] external storage: 'null' 11:00:17.136 INFO: [fr.geonature.commons.settings.AppSettingsManagerImpl] loading settings from URI 'content://fr.geonature.occtax2.provider/settings/settings_occtax.json'... 11:00:17.162 INFO: [fr.geonature.occtax.ui.home.HomeActivity] app settings successfully loaded 11:00:17.201 INFO: [fr.geonature.datasync.sync.DataSyncViewModel] starting local data synchronization... 11:00:17.231 INFO: [fr.geonature.commons.data.DatabaseModule] loading local database '/storage/emulated/0/Android/data/fr.geonature.occtax2/databases/data.db'... 11:00:17.262 INFO: [fr.geonature.occtax.ui.home.HomeActivity] not connected, redirect to fr.geonature.datasync.ui.login.LoginActivity 11:00:17.287 INFO: [fr.geonature.datasync.packageinfo.PackageInfoRepositoryImpl] updating settings for 'fr.geonature.occtax2'... 11:00:17.289 WARN: [fr.geonature.datasync.packageinfo.io.AppSettingsJsonWriter] undefined app settings to update from 'fr.geonature.occtax2' 11:00:17.317 INFO: [fr.geonature.datasync.api.GeoNatureAPIClientImpl] --> GET https://geonature2.vanoise-parcnational.fr/geonature/api/gn_commons/t_mobile_apps 11:00:17.324 INFO: [fr.geonature.datasync.packageinfo.worker.CheckInputsToSynchronizeWorker] available inputs to synchronize: 0 11:00:17.349 WARN: [fr.geonature.datasync.sync.worker.DataSyncWorker] not connected: abort 11:00:17.444 INFO: [fr.geonature.datasync.settings.DataSyncSettingsFileDataSourceImpl] loading data sync settings from '/storage/emulated/0/Android/data/fr.geonature.occtax2/settings_occtax.json'... 11:00:17.516 INFO: [fr.geonature.datasync.sync.DataSyncViewModel] no periodic synchronization configured: abort 11:00:17.573 INFO: [fr.geonature.occtax.ui.home.HomeActivity] not connected (HTTP error code: 401), redirect to fr.geonature.datasync.ui.login.LoginActivity 11:00:17.637 INFO: [fr.geonature.datasync.api.GeoNatureAPIClientImpl] <-- 200 OK https://geonature2.vanoise-parcnational.fr/geonature/api/gn_commons/t_mobile_apps (319ms, 2615-byte body) 11:00:17.644 INFO: [fr.geonature.datasync.packageinfo.PackageInfoRepositoryImpl] updating settings for 'fr.geonature.occtax2'... 11:00:17.651 INFO: [fr.geonature.datasync.packageinfo.io.AppSettingsJsonWriter] updating app settings '/storage/emulated/0/Android/data/fr.geonature.occtax2/settings_occtax.json' 11:00:17.902 INFO: [fr.geonature.occtax.ui.home.HomeActivity] reloading settings after update... 11:00:17.902 INFO: [fr.geonature.commons.settings.AppSettingsManagerImpl] loading settings from URI 'content://fr.geonature.occtax2.provider/settings/settings_occtax.json'... 11:00:17.904 INFO: [fr.geonature.occtax.ui.home.HomeActivity] app settings successfully loaded 11:00:17.924 INFO: [fr.geonature.datasync.sync.DataSyncViewModel] starting local data synchronization... 11:00:17.928 INFO: [fr.geonature.datasync.api.GeoNatureAPIClientImpl] --> GET https://geonature2.vanoise-parcnational.fr/geonature/api/gn_commons/t_mobile_apps 11:00:17.928 INFO: [fr.geonature.datasync.packageinfo.PackageInfoRepositoryImpl] updating settings for 'fr.geonature.occtax2'... 11:00:17.928 INFO: [fr.geonature.datasync.packageinfo.PackageInfoRepositoryImpl] updating settings for 'fr.geonature.occtax2'... 11:00:17.932 INFO: [fr.geonature.datasync.packageinfo.io.AppSettingsJsonWriter] updating app settings '/storage/emulated/0/Android/data/fr.geonature.occtax2/settings_occtax.json' 11:00:17.933 INFO: [fr.geonature.datasync.packageinfo.io.AppSettingsJsonWriter] updating app settings '/storage/emulated/0/Android/data/fr.geonature.occtax2/settings_occtax.json' 11:00:17.960 INFO: [fr.geonature.datasync.sync.DataSyncViewModel] no periodic synchronization configured: abort 11:00:17.963 WARN: [fr.geonature.datasync.sync.worker.DataSyncWorker] not connected: abort 11:00:17.978 INFO: [fr.geonature.datasync.packageinfo.worker.InputsSyncWorker] no inputs to synchronize for 'fr.geonature.occtax2' 11:00:19.316 INFO: [fr.geonature.datasync.api.GeoNatureAPIClientImpl] <-- 200 OK https://geonature2.vanoise-parcnational.fr/geonature/api/gn_commons/t_mobile_apps (1387ms, 2615-byte body) 11:00:33.491 INFO: [fr.geonature.datasync.api.GeoNatureAPIClientImpl] --> POST https://geonature2.vanoise-parcnational.fr/geonature/api/auth/login (64-byte body) 11:00:34.716 INFO: [fr.geonature.datasync.api.GeoNatureAPIClientImpl] <-- 200 OK https://geonature2.vanoise-parcnational.fr/geonature/api/auth/login (1224ms, unknown-length body) 11:00:34.725 INFO: [fr.geonature.datasync.auth.AuthManagerImpl] successfully authenticated, login expiration date: Fri Apr 08 11:00:34 GMT+02:00 2022 11:00:34.760 INFO: [fr.geonature.datasync.sync.DataSyncViewModel] starting local data synchronization... 11:00:34.762 INFO: [fr.geonature.datasync.packageinfo.PackageInfoRepositoryImpl] updating settings for 'fr.geonature.occtax2'... 11:00:34.768 INFO: [fr.geonature.datasync.packageinfo.io.AppSettingsJsonWriter] updating app settings '/storage/emulated/0/Android/data/fr.geonature.occtax2/settings_occtax.json' 11:00:34.815 INFO: [fr.geonature.datasync.packageinfo.PackageInfoRepositoryImpl] updating settings for 'fr.geonature.occtax2'... 11:00:34.818 INFO: [fr.geonature.datasync.packageinfo.io.AppSettingsJsonWriter] updating app settings '/storage/emulated/0/Android/data/fr.geonature.occtax2/settings_occtax.json' 11:00:34.820 INFO: [fr.geonature.datasync.packageinfo.PackageInfoRepositoryImpl] updating settings for 'fr.geonature.occtax2'... 11:00:34.821 INFO: [fr.geonature.datasync.auth.AuthManagerImpl] auth login expiry date Fri Apr 08 11:00:34 GMT+02:00 2022 reached: perform logout 11:00:34.824 WARN: [fr.geonature.datasync.sync.worker.DataSyncWorker] not connected: abort 11:00:34.826 INFO: [fr.geonature.datasync.packageinfo.io.AppSettingsJsonWriter] updating app settings '/storage/emulated/0/Android/data/fr.geonature.occtax2/settings_occtax.json' 11:00:34.864 INFO: [fr.geonature.occtax.ui.home.HomeActivity] not connected (HTTP error code: 401), redirect to fr.geonature.datasync.ui.login.LoginActivity 11:00:34.882 INFO: [fr.geonature.datasync.packageinfo.worker.InputsSyncWorker] no inputs to synchronize for 'fr.geonature.occtax2' 11:00:34.908 INFO: [fr.geonature.datasync.settings.DataSyncSettingsFileDataSourceImpl] loading data sync settings from '/storage/emulated/0/Android/data/fr.geonature.occtax2/settings_occtax.json'... 11:01:10.812 INFO: [fr.geonature.datasync.settings.DataSyncSettingsFileDataSourceImpl] loading data sync settings from '/storage/emulated/0/Android/data/fr.geonature.occtax2/settings_occtax.json'... 11:01:28.057 INFO: [fr.geonature.datasync.api.GeoNatureAPIClientImpl] --> POST https://geonature2.vanoise-parcnational.fr/geonature/api/auth/login (64-byte body) 11:01:28.989 INFO: [fr.geonature.datasync.api.GeoNatureAPIClientImpl] <-- 200 OK https://geonature2.vanoise-parcnational.fr/geonature/api/auth/login (931ms, unknown-length body) 11:01:28.995 INFO: [fr.geonature.datasync.auth.AuthManagerImpl] successfully authenticated, login expiration date: Fri Apr 08 11:01:28 GMT+02:00 2022 11:01:29.030 INFO: [fr.geonature.datasync.sync.DataSyncViewModel] starting local data synchronization... 11:01:29.071 INFO: [fr.geonature.datasync.packageinfo.PackageInfoRepositoryImpl] updating settings for 'fr.geonature.occtax2'... 11:01:29.077 INFO: [fr.geonature.datasync.packageinfo.io.AppSettingsJsonWriter] updating app settings '/storage/emulated/0/Android/data/fr.geonature.occtax2/settings_occtax.json' 11:01:29.077 INFO: [fr.geonature.datasync.auth.AuthManagerImpl] auth login expiry date Fri Apr 08 11:01:28 GMT+02:00 2022 reached: perform logout 11:01:29.077 INFO: [fr.geonature.datasync.packageinfo.PackageInfoRepositoryImpl] updating settings for 'fr.geonature.occtax2'... 11:01:29.081 INFO: [fr.geonature.datasync.packageinfo.io.AppSettingsJsonWriter] updating app settings '/storage/emulated/0/Android/data/fr.geonature.occtax2/settings_occtax.json' 11:01:29.085 WARN: [fr.geonature.datasync.sync.worker.DataSyncWorker] not connected: abort 11:01:29.113 INFO: [fr.geonature.occtax.ui.home.HomeActivity] not connected (HTTP error code: 401), redirect to fr.geonature.datasync.ui.login.LoginActivity 11:01:29.130 INFO: [fr.geonature.datasync.packageinfo.worker.InputsSyncWorker] no inputs to synchronize for 'fr.geonature.occtax2' 11:01:29.159 INFO: [fr.geonature.datasync.settings.DataSyncSettingsFileDataSourceImpl] loading data sync settings from '/storage/emulated/0/Android/data/fr.geonature.occtax2/settings_occtax.json'... 11:01:56.572 INFO: [fr.geonature.occtax.ui.input.InputPagerFragmentActivity] loading input: 197805716 11:01:56.660 INFO: [fr.geonature.maps.util.ManageExternalStoragePermissionLifecycleObserver] ask permission to have access to manage all files... 11:01:56.771 DEBUG: [fr.geonature.commons.data.helper.SQLiteSelectQueryBuilder] sql: SELECT nomenclatures."_id" AS nomenclaturesid, nomenclatures."code" AS nomenclatures_code, nomenclatures."hierarchy" AS nomenclatures_hierarchy, nomenclatures."default_label" AS nomenclatures_default_label, nomenclatures."type_id" AS nomenclatures_type_id, nomenclature_types."_id" AS nomenclature_types__id, nomenclature_types."mnemonic" AS nomenclature_types_mnemonic, nomenclature_types."default_label" AS nomenclature_types_default_label, default_nomenclatures."module" AS default_nomenclatures_module, default_nomenclatures."nomenclature_id" AS default_nomenclatures_nomenclature_id FROM nomenclatures nomenclatures JOIN nomenclature_types AS nomenclature_types ON nomenclature_typesid = nomenclatures_type_id JOIN default_nomenclatures AS default_nomenclatures ON default_nomenclatures_nomenclature_id = nomenclaturesid AND default_nomenclatures_module = ? ORDER BY nomenclatures_default_label ASC args: ['occtax'] 11:02:12.560 INFO: [fr.geonature.datasync.settings.DataSyncSettingsFileDataSourceImpl] loading data sync settings from '/storage/emulated/0/Android/data/fr.geonature.occtax2/settings_occtax.json'... 11:02:24.100 INFO: [fr.geonature.datasync.api.GeoNatureAPIClientImpl] --> POST https://geonature2.vanoise-parcnational.fr/geonature/api/auth/login (64-byte body) 11:02:25.515 INFO: [fr.geonature.datasync.api.GeoNatureAPIClientImpl] <-- 200 OK https://geonature2.vanoise-parcnational.fr/geonature/api/auth/login (1414ms, unknown-length body) 11:02:25.520 INFO: [fr.geonature.datasync.auth.AuthManagerImpl] successfully authenticated, login expiration date: Fri Apr 08 11:02:24 GMT+02:00 2022 11:02:25.558 INFO: [fr.geonature.datasync.sync.DataSyncViewModel] starting local data synchronization... 11:02:25.595 INFO: [fr.geonature.datasync.packageinfo.PackageInfoRepositoryImpl] updating settings for 'fr.geonature.occtax2'... 11:02:25.600 INFO: [fr.geonature.datasync.packageinfo.PackageInfoRepositoryImpl] updating settings for 'fr.geonature.occtax2'... 11:02:25.602 INFO: [fr.geonature.datasync.packageinfo.io.AppSettingsJsonWriter] updating app settings '/storage/emulated/0/Android/data/fr.geonature.occtax2/settings_occtax.json' 11:02:25.602 INFO: [fr.geonature.datasync.auth.AuthManagerImpl] auth login expiry date Fri Apr 08 11:02:24 GMT+02:00 2022 reached: perform logout 11:02:25.605 INFO: [fr.geonature.datasync.packageinfo.io.AppSettingsJsonWriter] updating app settings '/storage/emulated/0/Android/data/fr.geonature.occtax2/settings_occtax.json' 11:02:25.606 WARN: [fr.geonature.datasync.sync.worker.DataSyncWorker] not connected: abort 11:02:25.634 INFO: [fr.geonature.occtax.ui.home.HomeActivity] not connected (HTTP error code: 401), redirect to fr.geonature.datasync.ui.login.LoginActivity 11:02:25.649 INFO: [fr.geonature.datasync.packageinfo.worker.InputsSyncWorker] no inputs to synchronize for 'fr.geonature.occtax2' 11:02:25.677 INFO: [fr.geonature.datasync.settings.DataSyncSettingsFileDataSourceImpl] loading data sync settings from '/storage/emulated/0/Android/data/fr.geonature.occtax2/settings_occtax.json'... 11:02:39.887 INFO: [fr.geonature.occtax.ui.input.InputPagerFragmentActivity] loading input: 197805759 11:02:39.941 INFO: [fr.geonature.maps.settings.LayerSettingsViewModel] root path: '/storage/emulated/0' 11:02:39.953 INFO: [fr.geonature.maps.settings.LayerSettingsViewModel] loading selected layers: 'ortho.mbtiles' (active: true) 'scanvanoise.mbtiles' (active: true) 'unities.geojson' (active: true) 11:02:39.954 INFO: [fr.geonature.maps.settings.LayerSettingsViewModel] loading local tiles layer 'ortho.mbtiles'... 11:02:39.998 DEBUG: [fr.geonature.commons.data.helper.SQLiteSelectQueryBuilder] sql: SELECT nomenclatures."_id" AS nomenclatures__id, nomenclatures."code" AS nomenclatures_code, nomenclatures."hierarchy" AS nomenclatures_hierarchy, nomenclatures."default_label" AS nomenclatures_default_label, nomenclatures."type_id" AS nomenclatures_type_id, nomenclature_types."_id" AS nomenclature_typesid, nomenclature_types."mnemonic" AS nomenclature_types_mnemonic, nomenclature_types."default_label" AS nomenclature_types_default_label, default_nomenclatures."module" AS default_nomenclatures_module, default_nomenclatures."nomenclature_id" AS default_nomenclatures_nomenclature_id FROM nomenclatures nomenclatures JOIN nomenclature_types AS nomenclature_types ON nomenclature_typesid = nomenclatures_type_id JOIN default_nomenclatures AS default_nomenclatures ON default_nomenclatures_nomenclature_id = nomenclatures__id AND default_nomenclatures_module = ? ORDER BY nomenclatures_default_label ASC args: ['occtax'] 11:02:44.542 INFO: [fr.geonature.maps.settings.LayerSettingsViewModel] local tiles layer 'ortho.mbtiles' loaded 11:02:44.543 INFO: [fr.geonature.maps.settings.LayerSettingsViewModel] loading local tiles layer 'scanvanoise.mbtiles'... 11:02:47.534 INFO: [fr.geonature.maps.settings.LayerSettingsViewModel] local tiles layer 'scanvanoise.mbtiles' loaded 11:02:47.549 INFO: [fr.geonature.maps.settings.LayerSettingsViewModel] loading vector layer 'unities.geojson'... 11:02:50.202 DEBUG: [fr.geonature.commons.data.helper.SQLiteSelectQueryBuilder] sql: SELECT observers."_id" AS observersid, observers."lastname" AS observers_lastname, observers."firstname" AS observers_firstname FROM observers observers ORDER BY observers_lastname COLLATE NOCASE ASC, observers_firstname COLLATE NOCASE ASC args: [] 11:02:50.433 INFO: [fr.geonature.maps.settings.LayerSettingsViewModel] vector layer 'unities.geojson' loaded 11:03:02.156 DEBUG: [fr.geonature.commons.data.helper.SQLiteSelectQueryBuilder] sql: SELECT observers."_id" AS observersid, observers."lastname" AS observers_lastname, observers."firstname" AS observers_firstname FROM observers observers ORDER BY observers_lastname COLLATE NOCASE ASC, observers_firstname COLLATE NOCASE ASC args: [] 11:03:12.512 INFO: [fr.geonature.commons.input.InputManagerImpl] input '197805716' deleted: true 11:03:14.318 INFO: [fr.geonature.commons.input.InputManagerImpl] input '197805759' deleted: true 11:03:21.071 INFO: [fr.geonature.occtax.ui.input.InputPagerFragmentActivity] loading input: 197805801 11:03:21.118 INFO: [fr.geonature.maps.settings.LayerSettingsViewModel] root path: '/storage/emulated/0' 11:03:21.125 INFO: [fr.geonature.maps.settings.LayerSettingsViewModel] loading selected layers: 'unities.geojson' (active: true) 'ortho.mbtiles' (active: true) 'scanvanoise.mbtiles' (active: true) 11:03:21.125 INFO: [fr.geonature.maps.settings.LayerSettingsViewModel] loading local tiles layer 'ortho.mbtiles'... 11:03:21.151 DEBUG: [fr.geonature.commons.data.helper.SQLiteSelectQueryBuilder] sql: SELECT nomenclatures."_id" AS nomenclatures__id, nomenclatures."code" AS nomenclatures_code, nomenclatures."hierarchy" AS nomenclatures_hierarchy, nomenclatures."default_label" AS nomenclatures_default_label, nomenclatures."type_id" AS nomenclatures_type_id, nomenclature_types."_id" AS nomenclature_typesid, nomenclature_types."mnemonic" AS nomenclature_types_mnemonic, nomenclature_types."default_label" AS nomenclature_types_default_label, default_nomenclatures."module" AS default_nomenclatures_module, default_nomenclatures."nomenclature_id" AS default_nomenclatures_nomenclature_id FROM nomenclatures nomenclatures JOIN nomenclature_types AS nomenclature_types ON nomenclature_typesid = nomenclatures_type_id JOIN default_nomenclatures AS default_nomenclatures ON default_nomenclatures_nomenclature_id = nomenclatures__id AND default_nomenclatures_module = ? ORDER BY nomenclatures_default_label ASC args: ['occtax'] 11:03:23.331 INFO: [fr.geonature.maps.settings.LayerSettingsViewModel] local tiles layer 'ortho.mbtiles' loaded 11:03:23.332 INFO: [fr.geonature.maps.settings.LayerSettingsViewModel] loading local tiles layer 'scanvanoise.mbtiles'... 11:03:25.184 DEBUG: [fr.geonature.commons.data.helper.SQLiteSelectQueryBuilder] sql: SELECT observers."_id" AS observersid, observers."lastname" AS observers_lastname, observers."firstname" AS observers_firstname FROM observers observers ORDER BY observers_lastname COLLATE NOCASE ASC, observers_firstname COLLATE NOCASE ASC args: [] 11:03:25.649 INFO: [fr.geonature.maps.settings.LayerSettingsViewModel] local tiles layer 'scanvanoise.mbtiles' loaded 11:03:25.654 INFO: [fr.geonature.maps.settings.LayerSettingsViewModel] loading vector layer 'unities.geojson'... 11:03:28.145 INFO: [fr.geonature.maps.settings.LayerSettingsViewModel] vector layer 'unities.geojson' loaded 11:07:12.243 INFO: [fr.geonature.datasync.settings.DataSyncSettingsFileDataSourceImpl] loading data sync settings from '/storage/emulated/0/Android/data/fr.geonature.occtax2/settings_occtax.json'... 11:07:25.072 INFO: [fr.geonature.datasync.api.GeoNatureAPIClientImpl] --> POST https://geonature2.vanoise-parcnational.fr/geonature/api/auth/login (64-byte body) 11:07:25.652 INFO: [fr.geonature.datasync.api.GeoNatureAPIClientImpl] <-- 200 OK https://geonature2.vanoise-parcnational.fr/geonature/api/auth/login (579ms, unknown-length body) 11:07:25.658 INFO: [fr.geonature.datasync.auth.AuthManagerImpl] successfully authenticated, login expiration date: Fri Apr 08 11:07:25 GMT+02:00 2022 11:07:25.686 INFO: [fr.geonature.datasync.sync.DataSyncViewModel] starting local data synchronization... 11:07:25.725 INFO: [fr.geonature.datasync.packageinfo.PackageInfoRepositoryImpl] updating settings for 'fr.geonature.occtax2'... 11:07:25.730 INFO: [fr.geonature.datasync.packageinfo.PackageInfoRepositoryImpl] updating settings for 'fr.geonature.occtax2'... 11:07:25.731 INFO: [fr.geonature.datasync.auth.AuthManagerImpl] auth login expiry date Fri Apr 08 11:07:25 GMT+02:00 2022 reached: perform logout 11:07:25.732 INFO: [fr.geonature.datasync.packageinfo.io.AppSettingsJsonWriter] updating app settings '/storage/emulated/0/Android/data/fr.geonature.occtax2/settings_occtax.json' 11:07:25.735 WARN: [fr.geonature.datasync.sync.worker.DataSyncWorker] not connected: abort 11:07:25.742 INFO: [fr.geonature.datasync.packageinfo.io.AppSettingsJsonWriter] updating app settings '/storage/emulated/0/Android/data/fr.geonature.occtax2/settings_occtax.json' 11:07:25.765 INFO: [fr.geonature.occtax.ui.home.HomeActivity] not connected (HTTP error code: 401), redirect to fr.geonature.datasync.ui.login.LoginActivity 11:07:25.782 INFO: [fr.geonature.datasync.packageinfo.worker.InputsSyncWorker] no inputs to synchronize for 'fr.geonature.occtax2' 11:07:25.806 INFO: [fr.geonature.datasync.settings.DataSyncSettingsFileDataSourceImpl] loading data sync settings from '/storage/emulated/0/Android/data/fr.geonature.occtax2/settings_occtax.json'... 11:07:38.631 INFO: [fr.geonature.occtax.ui.input.InputPagerFragmentActivity] loading input: 197806058 11:07:38.689 INFO: [fr.geonature.maps.settings.LayerSettingsViewModel] root path: '/storage/emulated/0' 11:07:38.696 INFO: [fr.geonature.maps.settings.LayerSettingsViewModel] loading selected layers: 'unities.geojson' (active: true) 'ortho.mbtiles' (active: true) 'scanvanoise.mbtiles' (active: true) 11:07:38.697 INFO: [fr.geonature.maps.settings.LayerSettingsViewModel] loading local tiles layer 'ortho.mbtiles'... 11:07:38.736 DEBUG: [fr.geonature.commons.data.helper.SQLiteSelectQueryBuilder] sql: SELECT nomenclatures."_id" AS nomenclaturesid, nomenclatures."code" AS nomenclatures_code, nomenclatures."hierarchy" AS nomenclatures_hierarchy, nomenclatures."default_label" AS nomenclatures_default_label, nomenclatures."type_id" AS nomenclatures_type_id, nomenclature_types."_id" AS nomenclature_types__id, nomenclature_types."mnemonic" AS nomenclature_types_mnemonic, nomenclature_types."default_label" AS nomenclature_types_default_label, default_nomenclatures."module" AS default_nomenclatures_module, default_nomenclatures."nomenclature_id" AS default_nomenclatures_nomenclature_id FROM nomenclatures nomenclatures JOIN nomenclature_types AS nomenclature_types ON nomenclature_typesid = nomenclatures_type_id JOIN default_nomenclatures AS default_nomenclatures ON default_nomenclatures_nomenclature_id = nomenclaturesid AND default_nomenclatures_module = ? ORDER BY nomenclatures_default_label ASC args: ['occtax'] 11:07:40.483 INFO: [fr.geonature.maps.settings.LayerSettingsViewModel] local tiles layer 'ortho.mbtiles' loaded 11:07:40.484 INFO: [fr.geonature.maps.settings.LayerSettingsViewModel] loading local tiles layer 'scanvanoise.mbtiles'... 11:07:43.391 INFO: [fr.geonature.maps.settings.LayerSettingsViewModel] local tiles layer 'scanvanoise.mbtiles' loaded 11:07:45.368 INFO: [fr.geonature.commons.input.InputManagerImpl] input '197805801' deleted: true 11:07:46.742 INFO: [fr.geonature.commons.input.InputManagerImpl] input '197806058' deleted: true 11:07:49.527 INFO: [fr.geonature.occtax.ui.input.InputPagerFragmentActivity] loading input: 197806069 11:07:49.574 INFO: [fr.geonature.maps.settings.LayerSettingsViewModel] root path: '/storage/emulated/0' 11:07:49.582 INFO: [fr.geonature.maps.settings.LayerSettingsViewModel] loading selected layers: 'unities.geojson' (active: true) 'ortho.mbtiles' (active: true) 'scanvanoise.mbtiles' (active: true) 11:07:49.583 INFO: [fr.geonature.maps.settings.LayerSettingsViewModel] loading local tiles layer 'ortho.mbtiles'... 11:07:49.614 DEBUG: [fr.geonature.commons.data.helper.SQLiteSelectQueryBuilder] sql: SELECT nomenclatures."_id" AS nomenclatures__id, nomenclatures."code" AS nomenclatures_code, nomenclatures."hierarchy" AS nomenclatures_hierarchy, nomenclatures."default_label" AS nomenclatures_default_label, nomenclatures."type_id" AS nomenclatures_type_id, nomenclature_types."_id" AS nomenclature_typesid, nomenclature_types."mnemonic" AS nomenclature_types_mnemonic, nomenclature_types."default_label" AS nomenclature_types_default_label, default_nomenclatures."module" AS default_nomenclatures_module, default_nomenclatures."nomenclature_id" AS default_nomenclatures_nomenclature_id FROM nomenclatures nomenclatures JOIN nomenclature_types AS nomenclature_types ON nomenclature_typesid = nomenclatures_type_id JOIN default_nomenclatures AS default_nomenclatures ON default_nomenclatures_nomenclature_id = nomenclatures__id AND default_nomenclatures_module = ? ORDER BY nomenclatures_default_label ASC args: ['occtax'] 11:07:51.701 INFO: [fr.geonature.maps.settings.LayerSettingsViewModel] local tiles layer 'ortho.mbtiles' loaded 11:07:51.701 INFO: [fr.geonature.maps.settings.LayerSettingsViewModel] loading local tiles layer 'scanvanoise.mbtiles'... 11:07:54.226 INFO: [fr.geonature.commons.input.InputManagerImpl] input '197806069' deleted: true 11:07:54.329 INFO: [fr.geonature.maps.settings.LayerSettingsViewModel] local tiles layer 'scanvanoise.mbtiles' loaded 11:08:36.028 INFO: [fr.geonature.occtax.ui.input.InputPagerFragmentActivity] loading input: 197806116 11:08:36.075 INFO: [fr.geonature.maps.settings.LayerSettingsViewModel] root path: '/storage/emulated/0' 11:08:36.080 INFO: [fr.geonature.maps.settings.LayerSettingsViewModel] loading selected layers: 'unities.geojson' (active: true) 'ortho.mbtiles' (active: true) 'scanvanoise.mbtiles' (active: true) 11:08:36.081 INFO: [fr.geonature.maps.settings.LayerSettingsViewModel] loading local tiles layer 'ortho.mbtiles'... 11:08:36.113 DEBUG: [fr.geonature.commons.data.helper.SQLiteSelectQueryBuilder] sql: SELECT nomenclatures."_id" AS nomenclaturesid, nomenclatures."code" AS nomenclatures_code, nomenclatures."hierarchy" AS nomenclatures_hierarchy, nomenclatures."default_label" AS nomenclatures_default_label, nomenclatures."type_id" AS nomenclatures_type_id, nomenclature_types."_id" AS nomenclature_typesid, nomenclature_types."mnemonic" AS nomenclature_types_mnemonic, nomenclature_types."default_label" AS nomenclature_types_default_label, default_nomenclatures."module" AS default_nomenclatures_module, default_nomenclatures."nomenclature_id" AS default_nomenclatures_nomenclature_id FROM nomenclatures nomenclatures JOIN nomenclature_types AS nomenclature_types ON nomenclature_types__id = nomenclatures_type_id JOIN default_nomenclatures AS default_nomenclatures ON default_nomenclatures_nomenclature_id = nomenclaturesid AND default_nomenclatures_module = ? ORDER BY nomenclatures_default_label ASC args: ['occtax'] 11:08:38.961 INFO: [fr.geonature.maps.settings.LayerSettingsViewModel] local tiles layer 'ortho.mbtiles' loaded 11:08:38.962 INFO: [fr.geonature.maps.settings.LayerSettingsViewModel] loading local tiles layer 'scanvanoise.mbtiles'... 11:08:42.817 INFO: [fr.geonature.maps.settings.LayerSettingsViewModel] local tiles layer 'scanvanoise.mbtiles' loaded 11:08:42.826 INFO: [fr.geonature.maps.settings.LayerSettingsViewModel] loading vector layer 'unities.geojson'... 11:08:46.576 INFO: [fr.geonature.maps.settings.LayerSettingsViewModel] vector layer 'unities.geojson' loaded 11:08:47.969 DEBUG: [fr.geonature.commons.data.helper.SQLiteSelectQueryBuilder] sql: SELECT observers."_id" AS observersid, observers."lastname" AS observers_lastname, observers."firstname" AS observers_firstname FROM observers observers ORDER BY observers_lastname COLLATE NOCASE ASC, observers_firstname COLLATE NOCASE ASC args: [] 11:09:00.426 INFO: [fr.geonature.commons.input.InputManagerImpl] input '197806116' deleted: true 11:09:53.271 DEBUG: [fr.geonature.commons.data.helper.SQLiteSelectQueryBuilder] sql: SELECT dataset."_id" AS dataset__id, dataset."module" AS dataset_module, dataset."name" AS dataset_name, dataset."description" AS dataset_description, dataset."active" AS dataset_active, dataset."created_at" AS dataset_created_at FROM dataset dataset WHERE (dataset_module = ?) AND (dataset_active = 1) ORDER BY dataset_name COLLATE NOCASE ASC args: ['occtax'] 11:09:56.549 DEBUG: [fr.geonature.commons.data.helper.SQLiteSelectQueryBuilder] sql: SELECT observers."_id" AS observersid, observers."lastname" AS observers_lastname, observers."firstname" AS observers_firstname FROM observers observers ORDER BY observers_lastname COLLATE NOCASE ASC, observers_firstname COLLATE NOCASE ASC args: [] 11:11:00.173 INFO: [fr.geonature.datasync.settings.DataSyncSettingsFileDataSourceImpl] loading data sync settings from '/storage/emulated/0/Android/data/fr.geonature.occtax2/settings_occtax.json'... 11:11:15.236 INFO: [fr.geonature.datasync.api.GeoNatureAPIClientImpl] --> POST https://geonature2.vanoise-parcnational.fr/geonature/api/auth/login (64-byte body) 11:11:15.953 INFO: [fr.geonature.datasync.api.GeoNatureAPIClientImpl] <-- 200 OK https://geonature2.vanoise-parcnational.fr/geonature/api/auth/login (716ms, unknown-length body) 11:11:15.958 INFO: [fr.geonature.datasync.auth.AuthManagerImpl] successfully authenticated, login expiration date: Fri Apr 08 11:11:15 GMT+02:00 2022 11:11:15.993 INFO: [fr.geonature.datasync.sync.DataSyncViewModel] starting local data synchronization... 11:11:16.032 INFO: [fr.geonature.datasync.packageinfo.PackageInfoRepositoryImpl] updating settings for 'fr.geonature.occtax2'... 11:11:16.036 INFO: [fr.geonature.datasync.packageinfo.PackageInfoRepositoryImpl] updating settings for 'fr.geonature.occtax2'... 11:11:16.036 INFO: [fr.geonature.datasync.auth.AuthManagerImpl] auth login expiry date Fri Apr 08 11:11:15 GMT+02:00 2022 reached: perform logout 11:11:16.037 INFO: [fr.geonature.datasync.packageinfo.io.AppSettingsJsonWriter] updating app settings '/storage/emulated/0/Android/data/fr.geonature.occtax2/settings_occtax.json' 11:11:16.041 WARN: [fr.geonature.datasync.sync.worker.DataSyncWorker] not connected: abort 11:11:16.042 INFO: [fr.geonature.datasync.packageinfo.io.AppSettingsJsonWriter] updating app settings '/storage/emulated/0/Android/data/fr.geonature.occtax2/settings_occtax.json' 11:11:16.070 INFO: [fr.geonature.occtax.ui.home.HomeActivity] not connected (HTTP error code: 401), redirect to fr.geonature.datasync.ui.login.LoginActivity 11:11:16.093 INFO: [fr.geonature.datasync.packageinfo.worker.InputsSyncWorker] no inputs to synchronize for 'fr.geonature.occtax2' 11:11:16.108 INFO: [fr.geonature.datasync.settings.DataSyncSettingsFileDataSourceImpl] loading data sync settings from '/storage/emulated/0/Android/data/fr.geonature.occtax2/settings_occtax.json'... 11:12:34.822 INFO: [fr.geonature.datasync.settings.DataSyncSettingsFileDataSourceImpl] loading data sync settings from '/storage/emulated/0/Android/data/fr.geonature.occtax2/settings_occtax.json'... 11:12:57.256 INFO: [fr.geonature.datasync.api.GeoNatureAPIClientImpl] --> POST https://geonature2.vanoise-parcnational.fr/geonature/api/auth/login (64-byte body) 11:12:58.356 INFO: [fr.geonature.datasync.api.GeoNatureAPIClientImpl] <-- 200 OK https://geonature2.vanoise-parcnational.fr/geonature/api/auth/login (1099ms, unknown-length body) 11:12:58.361 INFO: [fr.geonature.datasync.auth.AuthManagerImpl] successfully authenticated, login expiration date: Fri Apr 08 11:12:57 GMT+02:00 2022 11:12:58.399 INFO: [fr.geonature.datasync.sync.DataSyncViewModel] starting local data synchronization... 11:12:58.437 INFO: [fr.geonature.datasync.packageinfo.PackageInfoRepositoryImpl] updating settings for 'fr.geonature.occtax2'... 11:12:58.444 INFO: [fr.geonature.datasync.packageinfo.io.AppSettingsJsonWriter] updating app settings '/storage/emulated/0/Android/data/fr.geonature.occtax2/settings_occtax.json' 11:12:58.447 INFO: [fr.geonature.datasync.packageinfo.PackageInfoRepositoryImpl] updating settings for 'fr.geonature.occtax2'... 11:12:58.449 INFO: [fr.geonature.datasync.auth.AuthManagerImpl] auth login expiry date Fri Apr 08 11:12:57 GMT+02:00 2022 reached: perform logout 11:12:58.453 INFO: [fr.geonature.datasync.packageinfo.io.AppSettingsJsonWriter] updating app settings '/storage/emulated/0/Android/data/fr.geonature.occtax2/settings_occtax.json' 11:12:58.454 WARN: [fr.geonature.datasync.sync.worker.DataSyncWorker] not connected: abort 11:12:58.496 INFO: [fr.geonature.occtax.ui.home.HomeActivity] not connected (HTTP error code: 401), redirect to fr.geonature.datasync.ui.login.LoginActivity 11:12:58.516 INFO: [fr.geonature.datasync.packageinfo.worker.InputsSyncWorker] no inputs to synchronize for 'fr.geonature.occtax2' 11:12:58.545 INFO: [fr.geonature.datasync.settings.DataSyncSettingsFileDataSourceImpl] loading data sync settings from '/storage/emulated/0/Android/data/fr.geonature.occtax2/settings_occtax.json'... 11:13:36.555 INFO: [fr.geonature.datasync.settings.DataSyncSettingsFileDataSourceImpl] loading data sync settings from '/storage/emulated/0/Android/data/fr.geonature.occtax2/settings_occtax.json'... 11:13:52.321 INFO: [fr.geonature.datasync.api.GeoNatureAPIClientImpl] --> POST https://geonature2.vanoise-parcnational.fr/geonature/api/auth/login (64-byte body) 11:13:55.407 INFO: [fr.geonature.datasync.api.GeoNatureAPIClientImpl] <-- 200 OK https://geonature2.vanoise-parcnational.fr/geonature/api/auth/login (3084ms, unknown-length body) 11:13:55.412 INFO: [fr.geonature.datasync.auth.AuthManagerImpl] successfully authenticated, login expiration date: Fri Apr 08 11:13:54 GMT+02:00 2022 11:13:55.440 INFO: [fr.geonature.datasync.sync.DataSyncViewModel] starting local data synchronization... 11:13:55.477 INFO: [fr.geonature.datasync.packageinfo.PackageInfoRepositoryImpl] updating settings for 'fr.geonature.occtax2'... 11:13:55.480 INFO: [fr.geonature.datasync.packageinfo.PackageInfoRepositoryImpl] updating settings for 'fr.geonature.occtax2'... 11:13:55.481 INFO: [fr.geonature.datasync.auth.AuthManagerImpl] auth login expiry date Fri Apr 08 11:13:54 GMT+02:00 2022 reached: perform logout 11:13:55.484 INFO: [fr.geonature.datasync.packageinfo.io.AppSettingsJsonWriter] updating app settings '/storage/emulated/0/Android/data/fr.geonature.occtax2/settings_occtax.json' 11:13:55.484 WARN: [fr.geonature.datasync.sync.worker.DataSyncWorker] not connected: abort 11:13:55.489 INFO: [fr.geonature.datasync.packageinfo.io.AppSettingsJsonWriter] updating app settings '/storage/emulated/0/Android/data/fr.geonature.occtax2/settings_occtax.json' 11:13:55.520 INFO: [fr.geonature.occtax.ui.home.HomeActivity] not connected (HTTP error code: 401), redirect to fr.geonature.datasync.ui.login.LoginActivity 11:13:55.522 INFO: [fr.geonature.datasync.packageinfo.worker.InputsSyncWorker] no inputs to synchronize for 'fr.geonature.occtax2' 11:13:55.560 INFO: [fr.geonature.datasync.settings.DataSyncSettingsFileDataSourceImpl] loading data sync settings from '/storage/emulated/0/Android/data/fr.geonature.occtax2/settings_occtax.json'... 11:15:17.387 INFO: [fr.geonature.datasync.packageinfo.worker.CheckInputsToSynchronizeWorker] available inputs to synchronize: 0 11:15:23.240 INFO: [fr.geonature.datasync.settings.DataSyncSettingsFileDataSourceImpl] loading data sync settings from '/storage/emulated/0/Android/data/fr.geonature.occtax2/settings_occtax.json'... 11:15:34.470 INFO: [fr.geonature.datasync.api.GeoNatureAPIClientImpl] --> POST https://geonature2.vanoise-parcnational.fr/geonature/api/auth/login (64-byte body) 11:15:35.436 INFO: [fr.geonature.datasync.api.GeoNatureAPIClientImpl] <-- 200 OK https://geonature2.vanoise-parcnational.fr/geonature/api/auth/login (965ms, unknown-length body) 11:15:35.442 INFO: [fr.geonature.datasync.auth.AuthManagerImpl] successfully authenticated, login expiration date: Fri Apr 08 11:15:34 GMT+02:00 2022 11:15:35.475 INFO: [fr.geonature.datasync.sync.DataSyncViewModel] starting local data synchronization... 11:15:35.515 INFO: [fr.geonature.datasync.packageinfo.PackageInfoRepositoryImpl] updating settings for 'fr.geonature.occtax2'... 11:15:35.517 INFO: [fr.geonature.datasync.packageinfo.PackageInfoRepositoryImpl] updating settings for 'fr.geonature.occtax2'... 11:15:35.519 INFO: [fr.geonature.datasync.packageinfo.io.AppSettingsJsonWriter] updating app settings '/storage/emulated/0/Android/data/fr.geonature.occtax2/settings_occtax.json' 11:15:35.521 INFO: [fr.geonature.datasync.packageinfo.io.AppSettingsJsonWriter] updating app settings '/storage/emulated/0/Android/data/fr.geonature.occtax2/settings_occtax.json' 11:15:35.519 INFO: [fr.geonature.datasync.auth.AuthManagerImpl] auth login expiry date Fri Apr 08 11:15:34 GMT+02:00 2022 reached: perform logout 11:15:35.527 WARN: [fr.geonature.datasync.sync.worker.DataSyncWorker] not connected: abort 11:15:35.554 INFO: [fr.geonature.occtax.ui.home.HomeActivity] not connected (HTTP error code: 401), redirect to fr.geonature.datasync.ui.login.LoginActivity 11:15:35.571 INFO: [fr.geonature.datasync.packageinfo.worker.InputsSyncWorker] no inputs to synchronize for 'fr.geonature.occtax2' 11:15:35.599 INFO: [fr.geonature.datasync.settings.DataSyncSettingsFileDataSourceImpl] loading data sync settings from '/storage/emulated/0/Android/data/fr.geonature.occtax2/settings_occtax.json'... 11:42:59.434 INFO: [fr.geonature.datasync.packageinfo.worker.CheckInputsToSynchronizeWorker] available inputs to synchronize: 0

Merci de votre aide.

sgrimault commented 2 years ago

Bonjour @Chrispnv ,

Merci pour les logs, ça aide bien :)

De ce que j'ai pu voir, c'est la vérification de la validité du cookie qui pose problème :

11:00:34.725 INFO: [fr.geonature.datasync.auth.AuthManagerImpl] successfully authenticated, login expiration date: Fri Apr 08 11:00:34 GMT+02:00 2022

Il est déjà expiré à réception et comme l'application vérifie toujours sa validité (notamment lors de la synchronisation) :

11:01:29.085 WARN: [fr.geonature.datasync.sync.worker.DataSyncWorker] not connected: abort

on retrouve la même erreur un peu plus loin après authentification :

11:01:28.995 INFO: [fr.geonature.datasync.auth.AuthManagerImpl] successfully authenticated, login expiration date: Fri Apr 08 11:01:28 GMT+02:00 2022

avec un cookie expiré.

Donc il y a plusieurs sujets :

Concernant la validation systématique du cookie de session, j'aurais une approche plus "optimiste" où l'application fait toujours l'appel à la route souhaitée avec le token présent et si jamais l'API de GeoNature retourne une erreur 401, alors on considère que la session est expirée :

Chrispnv commented 2 years ago

Bonjour,

@sgrimault C'est bien déjà que les logs permettent d'identifier certains soucis que nous avons. Je pense que ces soucis sont valables aussi pour la version 1.3 d'Occtax que nous utilisons. Nous nous retrouvons dans une situation avec pleins de cas différents. Je ne sais pas dire à mes agents pour qui Occtax fonctionne si cela va durer car j'ai l'impression que ce problème de cookies peut arriver à tout moment. Est ce que c'est le cas ?

@sgrimault @camillemonchicourt , comment voyez vous les choses pour corriger tout cela ? Est ce que cela est facile à corriger et à stabiliser ? Quand cela peut être fait ? Si c'est plus compliqué, dans quel cadre ces corrections peuvent être faites. Si besoin @camillemonchicourt on peut en discuter au téléphone.

Merci.

geobrun commented 2 years ago

Pour information, nous venons de passer de la version 1.3.0 à 2.0.1. Voici comment ça s'est passé de notre côté :

A priori, cela correspond parfaitement au problème rencontré par @PNPyrenees :

J'ai donc à nouveau désinstallé l'application, puis redémarré le smartphone et là, ça a fonctionné. Il y a donc un cache qui traine quelque part.

Ça laisse effectivement penser qu'il y aurait une configuration conservée quelque part qui ne se supprimerait qu'au redémarrage du téléphone (je n'y connais rien). En espérant que cela aide !

DonovanMaillard commented 2 years ago

Merci @geobrun , dans la prestation en cours qui permettra de publier une corrective, j'ai demandé à @sgrimault d'identifier ce soucis quon attribue a priori au cache, et qui reste l'un des principaux bugs quon rencontré sur la 2.0.1

Splendens commented 2 years ago

Bonjour, Je vous fais également un retour sur le passage de la version 1.3.0 à 2.0.1, mais qui n'a pas fonctionné de mon côté (et impossible de revenir à la version antérieure après ce test d'installation) :

J'ai donc voulu repasser à la version 1.3 pour avoir quand même la saisie mobile :

Bref, si ça peut aider un peu pour le développement : le problème de cache fonctionne aussi en sens inverse si je comprends bien, car après avoir tenté de monter en version, impossible de revenir à une version précédente sur mon téléphone, même en essayant des désinstallation / redémarrage / installation.

Chrispnv commented 2 years ago

Bonjour,

Les agents du PNV sont en train de tester la solution de @geobrun . J'ai des retours positifs sur la v1.3. Je vais tester sur mon téléphone la descente en version (v2 -> v1.3) comme @Splendens pour voir. Merci de votre aide en attendant une correction.

gildeluermoz commented 2 years ago

Avez vous reste de vider le cache avec des outils dédiés. J'utilisais CCleaner et il trouvait tjs un t'as de chose à nettoyer. Mais il y a peut être des outils plus simples et dédiés spécifiquement à cette tâche de nettoyage du cache.

camillemonchicourt commented 2 years ago

Salut, Cela confirme qu'il y a des difficultés à récupérer la configuration quand on a déjà une version 1.3 installée sur le terminal mobile. A creuser au niveau du cache et autre. Mais lors de nos tests, ça fonctionnait au final. Là on a encore quelques difficultés pour récupérer la configuration dans certains cas.

Mais dans ce cas, on peut toujours s'en sortir en copiant le fichier settings.json du serveur, directement sur le terminal mobile, en le nommant settings_occtax.json dans le dossier \Phone\Android\data\fr.geonature.occtax2.

Et là ça fonctionnera correctement et le terminal arrivera à le récupérer du serveur les fois suivantes. Donc je comprends pas pourquoi repasser de la version 2.0 à la 1.3 ?

Splendens commented 2 years ago

Bonjour, Merci pour tous ces retours !

Mais dans ce cas, on peut toujours s'en sortir en copiant le fichier settings.json du serveur, directement sur le terminal mobile, en le nommant settings_occtax.json dans le dossier \Phone\Android\data\fr.geonature.occtax2.

Je viens de vouloir tester avec cette méthode : le fichier settings_occtax.json était déjà dans le dossier \Phone\Android\data\fr.geonature.occtax2, et il s'agit bien du même fichier que celui du serveur. Donc a priori, ce n'est pas un problème de récupération de ce fichier.

J'ai tenté aussi de passer un coup de CCleaner sur le téléphone, mais cela ne change rien : je me connecte et le message "authentification réussie " apparait, puis je me fait déconnecter 1 seconde plus tard.

sgrimault commented 2 years ago

Bonjour, Pour la prochaine version de "Occtax" je vais revoir un peu le fonctionnement du chargement des paramètres via des "usecases" suivants afin d'améliorer cette partie là :

DonovanMaillard commented 2 years ago

Merci sébastien, c'est parfait,

Je pense qu'il faut vraiment être vigilant notamment à la gestion du cache, qui pose question dans la version actuelle et qui doit être résolu dans la prochaine release pour pouvoir passer aux autres améliorations :)

cen-cgeier commented 2 years ago

Bonjour,

Je viens de vouloir tester avec cette méthode : le fichier settings_occtax.json était déjà dans le dossier \Phone\Android\data\fr.geonature.occtax2, et il s'agit bien du même fichier que celui du serveur. Donc a priori, ce n'est pas un problème de récupération de ce fichier.

J'ai tenté aussi de passer un coup de CCleaner sur le téléphone, mais cela ne change rien : je me connecte et le message "authentification réussie " apparait, puis je me fait déconnecter 1 seconde plus tard.

J'avais le même problème que @Splendens jusqu'à hier avec un Samsung Galaxy Note 9 équipé d'Android 10 (Version occtax-mobile testé : 1.3.0, 2.0.1). J'ai testé la solution proposé par @TheoLechemia dans #145 en changeant la variable COOKIE_EXPIRATION dans le fichier geonature_config.toml. En définissant la variable à 10800 (7200 à l'origine), je ne me fais plus déconnecter immédiatement et l'application se synchronise pleinement.

J'utilise un Fairphone 3 (Android 10) comme téléphone perso sur lequel j'ai installé occtax-mobile 1.3.0 puis 2.0.1. La déconnexion immédiate après une authentification réussie ne s'est jamais produite.

camillemonchicourt commented 2 years ago

OK merci pour ce retour. Pourriez vous tester la version de test 2.1.0-rc (release candidate) sortie hier qui améliore et corrige beaucoup de choses au niveau de la conf, la synchronisation, le cache. On a besoin du maximum de retours avant d'en faire la sortie définitive.

Merci.

DonovanMaillard commented 2 years ago

Après test sur un terminal Android 11 (samsung) :

15:05:23.349 INFO: [fr.geonature.datasync.features.settings.usecase.UpdateSettingsFromRemoteUseCase] updating app configuration from 'https://geonature.flavia-ape.fr'...
15:05:23.427 INFO: [fr.geonature.datasync.api.GeoNatureAPIClientImpl] --> GET https://geonature.flavia-ape.fr/api/gn_commons/t_mobile_apps
15:05:23.463 INFO: [fr.geonature.datasync.packageinfo.worker.CheckInputsToSynchronizeWorker] available inputs to synchronize: 0
15:05:23.821 INFO: [fr.geonature.datasync.api.GeoNatureAPIClientImpl] <-- 200 OK https://geonature.flavia-ape.fr/api/gn_commons/t_mobile_apps (392ms, 3615-byte body)
15:05:23.838 WARN: [fr.geonature.datasync.features.settings.usecase.UpdateSettingsFromRemoteUseCase] failed to update app configuration from 'https://geonature.flavia-ape.fr'
15:05:23.849 INFO: [fr.geonature.commons.settings.AppSettingsManagerImpl] loading settings from URI 'content://fr.geonature.occtax2.provider/settings/settings_occtax.json'...

Sur Android 10 (samsung) ça fonctionne, en étant branché sur la même instance

A priori c'est lié à #136 et un soucis de permissions sur le stockage, qui ne nous est pas demandé et qu'on ne peut pas activer manuellement.

camillemonchicourt commented 2 years ago

Le dernier soucis remonté par @DonovanMaillard a été identifié et corrigé dans la 2.1.0-rc1.

Il y avais un soucis sur la mise à jour du fichier de configuration avec un petit bug pour lors du "merge" des informations de l'application installée localement avec les informations de l'application déclarée côté GeoNature.