ministero-salute / it-dgc-verificaC19-android

VerificaC19 is the official Italian customization of the EU Digital COVID Certificate Verifier App for the Android Operating System
https://www.dgc.gov.it
Apache License 2.0
101 stars 54 forks source link

Dati e regole non scaricati #239

Closed Mariuolo83 closed 1 year ago

Mariuolo83 commented 2 years ago

Describe the bug

Tablet Samsung Galaxy A7 Lite Dispositivi gestiti tramite Knox admin portal. VerificaC19 parte in kiosk mode Play store non configurato, app distribuita tramite knox. app bloccate/inibite:

Expected behaviour

All'avvio di VerificaC19 dovrebbe richiedere lo scaricamento di dati e regole

Steps to reproduce the issue

Creare un profilo su Knox, disabilitando le seguenti applicazioni: com.google.android.googlequicksearchbox com.android.chrome com.sec.android.app.sbrowser

Caricare VerificaC19 versione 1.2.0 and pubblicarla in kiosk mode sul dispositivo

Aggiornare VerificaC19 sul Knox Admin Portal alla versione 1.2.1 e ri-pubblicare l'applicazione in kiosk mode

Technical details

Android

Additional context

rawmain commented 2 years ago

Buongiorno @Mariuolo83

Tablet Samsung Galaxy A7 Lite Dispositivi gestiti tramite Knox admin portal. [...] Aggiornando da 1.2.0 a 1.2.1 il dispositivo non scarica più le regole aggiornate (non compare il popup che richiede consenso per lo scaricamento delle definizioni), con conseguente impossibilità ad effettuare le scansioni.

Verifica il deployment dell'update con le seguenti condizioni preliminari :

In questo modo si evitano a priori possibili errori di migrazione/aggiunta delle prefkeys (1.2.1 aggiunge pref per scanmode booster rispetto a 1.2.0) derivanti da aggiornamento con app in esecuzione in foreground & si forza il reset DB Room/Realm, comportando un nuovo fetch da zero di Rules / KIDs / DRL.

Mariuolo83 commented 2 years ago

Buongiorno @rawmain, innanzitutto grazie per la risposta. Essendo in kiosk mode l'applicazione viene lanciata all'avvio del telefono al posto del launcher e gli utenti non hanno modo di fare alcunchè sul dispositivo. L'applicazione quindi è sempre in esecuzione in foreground, e gli utenti non hanno alcun margine di manovra. In più mi risulta che l'applicazione venga killata dall'installer quando inizia l'installazione. Siamo un'azienda con 70 sedi e abbiamo la necessità di gestire in modo Enterprise la soluzione e non possiamo permetterci una gestione "amanuense" della manutenzione e aggiornamento di questi dispositivi, possibile che nessuno prima abbia fatto richieste in tal senso? In più, nelle note legali riportano: "è sviluppata dal Ministero della Salute per il tramite di SOGEI", possibile che nè ministero (non sa nulla) nè SOGEI (impossibile ottenere supporto per l'app VerificaC19) riescano a rispondere a quesiti tecnici?

rawmain commented 2 years ago

Buongiorno @Mariuolo83

innanzitutto grazie per la risposta.

Prego ;).

Essendo in kiosk mode l'applicazione viene lanciata all'avvio del telefono al posto del launcher e gli utenti non hanno modo di fare alcunchè sul dispositivo. [...] L'applicazione quindi è sempre in esecuzione in foreground, e gli utenti non hanno alcun margine di manovra. In più mi risulta che l'applicazione venga killata dall'installer quando inizia l'installazione.

Sconsiglierei di mantenere l'impostazione High-Priority (che prevede appunto la terminazione automatica dell'esecuzione in foreground) per l'installazione dell'update, dato che non è comunque esente da potenziali criticità - nemmeno in scenari EMM MGP (Managed Google Play) app su assigned targets con managed configuration.

Per il resto, non essendovi nel tuo messaggio iniziale dettagli sulla configurazione Knox kiosk-mode con uso VerificaC19 (se single-app esclusiva o comunque multi-app, profile/target policy per rilevamento/uso delle connessioni, etc.) né log da dispositivo relativi alle fasi di update/re-launch app, ho potuto solo indicarti di testare con azioni preliminari - comunque effettuabili da console Admin/Manage :

in modo appunto da verificare se vi siano (o meno) variazioni a seguire, impartendo il deploy dell'aggiornamento release & il re-launch dell'app.

Qualora non riscontrassi variazioni, servirebbero allora ulteriori dettagli e (soprattutto) log, onde esaminare meglio perché dopo deployment/installazione dell'update non parta fetch/sync al re-launch dell'app.

In tal caso sarebbe anche utile un controllo post-update, tramite successivo force-stop & re-launch, onde verificare se al 2° start vi fosse persistenza della situazione, oppure se invece fetch/sync avvenissero regolarmente.

zubeer95 commented 2 years ago

Abbiamo un'architettura simile, gestita tramite Knox con gli stessi tablet e non abbiamo riscontrato il problema (ed abbiamo circa 300 dispositivi con VerificaC19).

L'applicazione è stata caricata su knox manualmente compilando il sorgente? In locale senza fare il deploy da knox funziona l'aggiornamento? Potrebbe essere che l'apk è stato compilato in modalità debug ed è stato caricato su knox senza cambiare l'indirizzo ai quali punta l'SDK per scaricare i dati. (file build.gradle dell'sdk). Di default questi indirizzi sono server sogei sui quali si può accedere previo collegamento alla loro VPN, mentre dall'esterno viene restituito un'errore simile a quello riscontrato.

inmanCode commented 2 years ago

Hey m facing the same problem! 📲 is this bug still an open issue?

stale[bot] commented 1 year ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.