immich icon indicating copy to clipboard operation
immich copied to clipboard

feat(web): add privacy step in the onboarding

Open martabal opened this issue 1 year ago • 11 comments

Following the dicussion in #11350, add a new step in the onboarding to make clear which external services are used by Immich and an option to disable each service.

Screenshots

image

martabal avatar Jul 25 '24 20:07 martabal

Crazy fast!

aviv926 avatar Jul 25 '24 21:07 aviv926

Wow ! Thanks for handling this so quickly !

Can we consider cherry-picking commits e1f08a51eac981f5de69fc0a1c82aeec64226c71 and af0f53d2a3ffd05f9ccad4b143d4afe44bbc8b05 from my PR into this branch ? e1f08a makes the settings page clearer, and af0f53d rewords the guide in the docs so its easier to add guides for more alternative tile providers. This leaves the Nginx tutorial I proposed out of this PR.

I'm also wondering why one of the two switches mentions requests to Github, but the other one does not mention Cofractal as the default map provider. (Edit : If you merge e1f08a51eac981f5de69fc0a1c82aeec64226c71 into this branch, the onboarding screen could include the admin.map_implications from my PR as a subtitle for the switch)

Last thing (but this may be out of scope for this PR) is that since this is a server-side toggle, the F-Droid build will stil require either a client side opt-in toggle with clear details on the implications, or a "Non-free network services" tag

pcouy avatar Jul 26 '24 05:07 pcouy

Can we consider cherry-picking commits https://github.com/immich-app/immich/commit/e1f08a51eac981f5de69fc0a1c82aeec64226c71 and https://github.com/immich-app/immich/commit/af0f53d2a3ffd05f9ccad4b143d4afe44bbc8b05 from my PR into this branch ? e1f08a makes the settings page clearer, and https://github.com/immich-app/immich/commit/af0f53d2a3ffd05f9ccad4b143d4afe44bbc8b05 rewords the guide in the docs so its easier to add guides for more alternative tile providers. This leaves the Nginx tutorial I proposed out of this PR.

In only cherry-picked e1f08a51eac981f5de69fc0a1c82aeec64226c71, it makes sense to keep your PR for the documentation.

I'm also wondering why one of the two switches mentions requests to Github, but the other one does not mention Cofractal as the default map provider. (Edit : If you merge https://github.com/immich-app/immich/commit/e1f08a51eac981f5de69fc0a1c82aeec64226c71 into this branch, the onboarding screen could include the admin.map_implications from my PR as a subtitle for the switch)

Done with 4678dc7

Last thing (but this may be out of scope for this PR) is that since this is a server-side toggle, the F-Droid build will stil require either a client side opt-in toggle with clear details on the implications, or a "Non-free network services" tag

Yes, that's out of scope of this PR

martabal avatar Jul 26 '24 05:07 martabal

@pcouy Btw, what do you think about renaming Activer la carte causera l'envoi de requêtes to Activer la carte implique l'envoi de requêtes.

martabal avatar Jul 26 '24 06:07 martabal

This seems fine to me. While we're rephrasing this translation key, we should probably add a mention to the default tile provider. Something like The default tile provider is cofractal.com at the end.

pcouy avatar Jul 26 '24 06:07 pcouy

I went ahead and rebased the branch to keep the commit history as readable as possible :

  • I split 4ec1cf94b8d6486ca39058d14ad4a6c76cabae2b in 2 : a chores commit and the actual feature
  • I added a French translation in the onboarding commit
  • I squashed fe9c0c91500fe193fe197c2888cb406b9bf739ed into the previous commit
  • I reworded map_implications as suggested

The rebased branch is available at https://github.com/pcouy/immich/commits/feat/onboarding-privacy/

pcouy avatar Jul 26 '24 06:07 pcouy

I like having a clean git history, but we squash commits so it doesn't really matter.

The default tile provider is cofractal.com at the end.

I'll add it this evening

martabal avatar Jul 26 '24 07:07 martabal

You can still use the rebased branch, or just patch-in the output of git diff origin/feat/onboarding-privacy below :

diff --git a/web/src/lib/i18n/en.json b/web/src/lib/i18n/en.json
index 7a0cea9a9..0d22afcc2 100644
--- a/web/src/lib/i18n/en.json
+++ b/web/src/lib/i18n/en.json
@@ -127,7 +127,7 @@
     "map_enable_description": "Enable map features",
     "map_gps_settings": "Map & GPS Settings",
     "map_gps_settings_description": "Manage Map & GPS (Reverse Geocoding) Settings",
-    "map_implications": "Enabling the map causes clients (web and mobile apps) to send requests to a third-party map server in order to display the map. These requests include the client's IP address, the Immich instance URL, as well as the coordinates and zoom level of the requested map tiles.",
+    "map_implications": "Enabling the map implies clients (web and mobile apps) sending requests to a third-party map server in order to display the map. These requests include the client's IP address, the Immich instance URL, as well as the coordinates and zoom level of the requested map tiles. The default tile provider is cofractal.com",
     "map_light_style": "Light style",
     "map_manage_reverse_geocoding_settings": "Manage <link>Reverse Geocoding</link> settings",
     "map_reverse_geocoding": "Reverse Geocoding",
diff --git a/web/src/lib/i18n/fr.json b/web/src/lib/i18n/fr.json
index ea4af18a2..356510374 100644
--- a/web/src/lib/i18n/fr.json
+++ b/web/src/lib/i18n/fr.json
@@ -129,7 +129,7 @@
     "map_enable_description": "Activer la carte",
     "map_gps_settings": "Paramètres de la carte et GPS",
     "map_gps_settings_description": "Gérer les paramètres de la Carte & GPS",
-    "map_implications": "Activer la carte causera l'envoi de requêtes vers un serveur de cartes tiers depuis les clients (web et applications mobiles) afin d'afficher la carte. Ces requêtes contiennent l'adresse IP du client, l'URL de l'instance Immich, ainsi que les coordonnées et le niveau de zoom des tuiles de carte demandées.",
+    "map_implications": "Activer la carte implique l'envoi de requêtes vers un serveur de cartes tiers depuis les clients (web et applications mobiles) afin d'afficher la carte. Ces requêtes contiennent l'adresse IP du client, l'URL de l'instance Immich, ainsi que les coordonnées et le niveau de zoom des tuiles de carte demandées. Le founisseur de tuiles par défaut est cofractal.com",
     "map_light_style": "Thème clair",
     "map_manage_reverse_geocoding_settings": "Gérer les <link> paramètres de géocodage inversé</link>",
     "map_reverse_geocoding": "Géocodage inversé",
@@ -868,6 +868,7 @@
+  "onboarding_privacy_description": "Pour fonctionner correctement, Immich utilise des services tiers tels qu'un fournisseur de tuiles utilisé pour afficher la carte et Github pour détecter les nouvelles versions",
   "onboarding_theme_description": "Choisissez un thème de couleur pour votre instance. Vous pouvez le changer plus tard dans vos paramètres.",
   "onboarding_welcome_description": "Mettons votre instance en place avec quelques paramètres communs.",

pcouy avatar Jul 26 '24 07:07 pcouy

Oh thanks, you're making it really easy 😄

martabal avatar Jul 26 '24 07:07 martabal

I like having a clean git history, but we squash commits so it doesn't really matter.

Should the chores commit I created live in a different branch/PR (and get its own commit, separate from this feature, when everything gets merged) then ?

pcouy avatar Jul 26 '24 09:07 pcouy

IMO, that's a small change and it's absolutely fine to have it in one of our PRs, preferably yours, so we can discuss about the wording (if we need to) there.

Nothing has been merged yet, so let's keep it simple.

martabal avatar Jul 26 '24 10:07 martabal