From 2540d89968eab22347c53e0e3ca7de7039224912 Mon Sep 17 00:00:00 2001
From: Daniel Jackson
Date: Sat, 10 Dec 2022 12:38:18 +0100
Subject: [PATCH 1/3] Add posthog tracking to app
---
.env.example | 10 ++++++++++
app/javascript/custom/posthog.js | 7 +++++++
app/javascript/packs/application.js | 2 ++
3 files changed, 19 insertions(+)
create mode 100644 app/javascript/custom/posthog.js
diff --git a/.env.example b/.env.example
index 4ce6cdc3..f56e5afb 100644
--- a/.env.example
+++ b/.env.example
@@ -1,8 +1,18 @@
+# Mapbox
MAPBOX_API_KEY=
+
+# Sendgrid
SENDGRID_API_KEY=SG.*****.*****
SENDGRID_CONFIRMATION_TEMPLATE_ID=d-******
SENDGRID_RESET_TEMPLATE_ID=d-*****
SENDGRID_FROM_EMAIL=****@****-com
+
+# Scout
SCOUT_DEV_TRACE=true
+
+# Google oauth
GOOGLE_OAUTH_CLIENT_ID=
GOOGLE_OAUTH_CLIENT_SECRET=
+
+# Posthog
+POSTHOG_API_KEY=
diff --git a/app/javascript/custom/posthog.js b/app/javascript/custom/posthog.js
new file mode 100644
index 00000000..89e3fb64
--- /dev/null
+++ b/app/javascript/custom/posthog.js
@@ -0,0 +1,7 @@
+var POSTHOG_API_KEY = process.env.POSTHOG_API_KEY
+
+// Only initizalize Posthog if the API key is set
+if (POSTHOG_API_KEY) {
+ !function(t,e){var o,n,p,r;e.__SV||(window.posthog=e,e._i=[],e.init=function(i,s,a){function g(t,e){var o=e.split(".");2==o.length&&(t=t[o[0]],e=o[1]),t[e]=function(){t.push([e].concat(Array.prototype.slice.call(arguments,0)))}}(p=t.createElement("script")).type="text/javascript",p.async=!0,p.src=s.api_host+"/static/array.js",(r=t.getElementsByTagName("script")[0]).parentNode.insertBefore(p,r);var u=e;for(void 0!==a?u=e[a]=[]:a="posthog",u.people=u.people||[],u.toString=function(t){var e="posthog";return"posthog"!==a&&(e+="."+a),t||(e+=" (stub)"),e},u.people.toString=function(){return u.toString(1)+".people (stub)"},o="capture identify alias people.set people.set_once set_config register register_once unregister opt_out_capturing has_opted_out_capturing opt_in_capturing reset isFeatureEnabled onFeatureFlags".split(" "),n=0;n
Date: Sat, 10 Dec 2022 12:44:53 +0100
Subject: [PATCH 2/3] Change privacy policy to reflect use of posthog
---
app/javascript/custom/posthog.js | 1 +
app/views/pages/privacy_policy.html.erb | 5 +++++
2 files changed, 6 insertions(+)
diff --git a/app/javascript/custom/posthog.js b/app/javascript/custom/posthog.js
index 89e3fb64..63126ad2 100644
--- a/app/javascript/custom/posthog.js
+++ b/app/javascript/custom/posthog.js
@@ -5,3 +5,4 @@ if (POSTHOG_API_KEY) {
!function(t,e){var o,n,p,r;e.__SV||(window.posthog=e,e._i=[],e.init=function(i,s,a){function g(t,e){var o=e.split(".");2==o.length&&(t=t[o[0]],e=o[1]),t[e]=function(){t.push([e].concat(Array.prototype.slice.call(arguments,0)))}}(p=t.createElement("script")).type="text/javascript",p.async=!0,p.src=s.api_host+"/static/array.js",(r=t.getElementsByTagName("script")[0]).parentNode.insertBefore(p,r);var u=e;for(void 0!==a?u=e[a]=[]:a="posthog",u.people=u.people||[],u.toString=function(t){var e="posthog";return"posthog"!==a&&(e+="."+a),t||(e+=" (stub)"),e},u.people.toString=function(){return u.toString(1)+".people (stub)"},o="capture identify alias people.set people.set_once set_config register register_once unregister opt_out_capturing has_opted_out_capturing opt_in_capturing reset isFeatureEnabled onFeatureFlags".split(" "),n=0;nOm du legger inn organisasjonstilknytningen din på brukerprofilen din eller i en anmeldelse av et lokale, så vil dette knyttes til din bruker og kunne leses av andre brukere på siden.
All tekst du lagrer på siden
Av åpenbare grunner lagrer vi all tekst du måtte skrive om et lokale eller på andre måter på siden, og som regel vil også andre besøkende ha tilgang til å se at du skrev teksten.
+ Hvilke lokaler du søker på, og hvor du klikker på siden
+ Vi bruker Posthog for å lagre informasjon om hva som skjer på siden: Hva folk søker på, hva de klikker på, hvilke bugs som oppstår, og generelt hvordan det går med applikasjonen.
+ Dataene inneholder ikke din IP-adresse, men Posthog lagrer en cookie som gjenkjenner deg neste gang du besøker siden. Om du logger inn, så kan handlingene dine knyttes til din bruker.
+ Dataene lagres i Europa, men per Schrems II-dommen så kan amerikanske myndigheter fortsatt kreve dataene utlevert uten at vi vil få beskjed eller ha mulighet til å stoppe det.
Vi bruker følgende tredjepartstjenester som kan samle inn data om deg:
Om du logger inn med Google vil Google vite at du bruker siden.
+ Statistikk samles inn om bruk av siden gjennom Posthog (se over).
Dataene for siden lagres på Heroku, et amerikansk-eid selskap. Dataene lagres i Europa, men per Schrems II-dommen så kan amerikanske myndigheter fortsatt kreve dataene utlevert uten at vi vil få beskjed eller ha mulighet til å stoppe det.
From 6b7026d02f0865b9a10c4042e988e26f2d2aa04d Mon Sep 17 00:00:00 2001
From: Daniel Jackson
Date: Sat, 10 Dec 2022 12:46:22 +0100
Subject: [PATCH 3/3] Remove unnessary .js from require in js
---
app/javascript/packs/application.js | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/app/javascript/packs/application.js b/app/javascript/packs/application.js
index 96072980..fd11311f 100644
--- a/app/javascript/packs/application.js
+++ b/app/javascript/packs/application.js
@@ -14,7 +14,7 @@ ActiveStorage.start()
import "stylesheets/application"
import "controllers"
-require("../custom/posthog.js")
+require("../custom/posthog")
require("../custom/custom_trix")
require("@rails/actiontext")