summaryrefslogtreecommitdiffstats
path: root/packages/meshbay-hub/src/meshbay_hub
diff options
context:
space:
mode:
authorChristophe Besson <cbesson@gmail.com>2026-10-15 14:33:03 +0200
committerChristophe Besson <cbesson@gmail.com>2026-10-15 14:33:03 +0200
commit37b38e0eb15a79bbda3cd0a1b502669b32e773dc (patch)
tree7c2b44576358b53ec6381312cca3b73b1f4506a0 /packages/meshbay-hub/src/meshbay_hub
parent28c77b7648b2a44a18be64ec44344d91cccfd742 (diff)
downloadmeshbay-37b38e0eb15a79bbda3cd0a1b502669b32e773dc.tar.gz
fix(auth): the sign-up notice links the privacy statement, with a space
The link under the Register button was glued to the sentence before it: htm drops whitespace that holds a line break, so "deleted.Legal information". It also pointed at the hub's /legal/ index. Where an account is created is where GDPR art. 13 owes the person the information about their data, so it now links the privacy statement itself — /legal/confidentialite.fr.txt in French, /legal/privacy-statement.en.txt in every other language — on the hub that served the page, like every legal link. The sidebar's "Legal information" is unchanged. Checked in Chrome and Firefox (headless), in English and French. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Diffstat (limited to 'packages/meshbay-hub/src/meshbay_hub')
-rw-r--r--packages/meshbay-hub/src/meshbay_hub/static/auth-page.js7
-rw-r--r--packages/meshbay-hub/src/meshbay_hub/static/locales/de.js1
-rw-r--r--packages/meshbay-hub/src/meshbay_hub/static/locales/en.js1
-rw-r--r--packages/meshbay-hub/src/meshbay_hub/static/locales/es.js1
-rw-r--r--packages/meshbay-hub/src/meshbay_hub/static/locales/fr.js1
-rw-r--r--packages/meshbay-hub/src/meshbay_hub/static/locales/it.js1
-rw-r--r--packages/meshbay-hub/src/meshbay_hub/static/locales/ja.js1
-rw-r--r--packages/meshbay-hub/src/meshbay_hub/static/locales/nl.js1
-rw-r--r--packages/meshbay-hub/src/meshbay_hub/static/locales/pl.js1
-rw-r--r--packages/meshbay-hub/src/meshbay_hub/static/locales/pt-BR.js1
-rw-r--r--packages/meshbay-hub/src/meshbay_hub/static/locales/zh-CN.js1
-rw-r--r--packages/meshbay-hub/src/meshbay_hub/static/platform.js11
12 files changed, 25 insertions, 3 deletions
diff --git a/packages/meshbay-hub/src/meshbay_hub/static/auth-page.js b/packages/meshbay-hub/src/meshbay_hub/static/auth-page.js
index 4b8ed7c..af4fe95 100644
--- a/packages/meshbay-hub/src/meshbay_hub/static/auth-page.js
+++ b/packages/meshbay-hub/src/meshbay_hub/static/auth-page.js
@@ -1,7 +1,7 @@
import {
html, useState, useEffect, useRef, useCallback,
} from './vendor/htm-preact.js';
-import { t } from './i18n.js';
+import { t, getLocale } from './i18n.js';
import {
hubFetch, navigate, session, HUB, loadAuth, _storeRecoveryKey,
} from './hub-client.js';
@@ -612,8 +612,9 @@ export function RegisterPage() {
${loading ? t('register.loading') : t('register.submit')}
</button>
<p class="register-legal">
- ${t('register.legal_notice')}
- <a href=${platform.legalUrl()} target="_blank" rel="noopener">${t('sidebar.legal')}</a>
+ ${t('register.legal_notice')}${' '}
+ <a href=${platform.privacyUrl(getLocale())} target="_blank"
+ rel="noopener">${t('register.privacy_link')}</a>
</p>
</form>
<div class="login-footer">
diff --git a/packages/meshbay-hub/src/meshbay_hub/static/locales/de.js b/packages/meshbay-hub/src/meshbay_hub/static/locales/de.js
index c0135b0..7bd3528 100644
--- a/packages/meshbay-hub/src/meshbay_hub/static/locales/de.js
+++ b/packages/meshbay-hub/src/meshbay_hub/static/locales/de.js
@@ -67,6 +67,7 @@ export default {
'register.loading': 'Konto wird erstellt …',
'register.has_account': 'Sie haben bereits ein Konto?',
'register.legal_notice': "Mit dem Erstellen eines Kontos akzeptieren Sie die Nutzungsbedingungen dieses Hubs. Das Gesetz verpflichtet ihn, ein Protokoll Ihrer Verbindungen (IP-Adresse, Datum, Aktion) ein Jahr lang aufzubewahren, auch nach der Löschung Ihres Kontos.",
+ 'register.privacy_link': 'Datenschutzerklärung',
'register.login_link': 'Anmelden',
'register.recovery_title': 'Speichern Sie Ihren Wiederherstellungsschlüssel',
'register.recovery_intro': 'Dieser Schlüssel stellt Ihre Gruppenidentitäten wieder her, falls Sie jemals Ihre Passphrase vergessen. Bewahren Sie ihn in einem Passwortmanager oder an einem sicheren Ort auf.',
diff --git a/packages/meshbay-hub/src/meshbay_hub/static/locales/en.js b/packages/meshbay-hub/src/meshbay_hub/static/locales/en.js
index b32c569..1ba570a 100644
--- a/packages/meshbay-hub/src/meshbay_hub/static/locales/en.js
+++ b/packages/meshbay-hub/src/meshbay_hub/static/locales/en.js
@@ -70,6 +70,7 @@ export default {
'register.loading': 'Creating account...',
'register.has_account': 'Already have an account?',
'register.legal_notice': "By creating an account, you accept this hub's terms of use. The law requires it to keep a log of your connections (IP address, date, action) for one year, even after your account is deleted.",
+ 'register.privacy_link': 'Privacy policy',
'register.login_link': 'Login',
'register.recovery_title': 'Save your recovery key',
'register.recovery_intro': 'This key restores your group identities if you ever forget your passphrase. Store it in a password manager or somewhere safe.',
diff --git a/packages/meshbay-hub/src/meshbay_hub/static/locales/es.js b/packages/meshbay-hub/src/meshbay_hub/static/locales/es.js
index 6a96f4d..e04d09d 100644
--- a/packages/meshbay-hub/src/meshbay_hub/static/locales/es.js
+++ b/packages/meshbay-hub/src/meshbay_hub/static/locales/es.js
@@ -66,6 +66,7 @@ export default {
'register.loading': 'Creando la cuenta...',
'register.has_account': '¿Ya tiene una cuenta?',
'register.legal_notice': "Al crear una cuenta, acepta las condiciones de uso de este hub. La ley le obliga a conservar durante un año el registro de sus conexiones (dirección IP, fecha, acción), incluso después de eliminar su cuenta.",
+ 'register.privacy_link': 'Política de privacidad',
'register.login_link': 'Iniciar sesión',
'register.recovery_title': 'Guarde su clave de recuperación',
'register.recovery_intro': 'Esta clave restaura sus identidades de grupo si alguna vez olvida su frase de contraseña. Guárdela en un gestor de contraseñas o en un lugar seguro.',
diff --git a/packages/meshbay-hub/src/meshbay_hub/static/locales/fr.js b/packages/meshbay-hub/src/meshbay_hub/static/locales/fr.js
index 92ab189..9165d6d 100644
--- a/packages/meshbay-hub/src/meshbay_hub/static/locales/fr.js
+++ b/packages/meshbay-hub/src/meshbay_hub/static/locales/fr.js
@@ -66,6 +66,7 @@ export default {
'register.loading': 'Création du compte...',
'register.has_account': 'Vous avez déjà un compte ?',
'register.legal_notice': "En créant un compte, vous acceptez les conditions d'utilisation de ce hub. La loi l'oblige à conserver un an le journal de vos connexions (adresse IP, date, action), même après la suppression de votre compte.",
+ 'register.privacy_link': 'Politique de confidentialité',
'register.login_link': 'Se connecter',
'register.recovery_title': 'Enregistrez votre clé de récupération',
'register.recovery_intro': "Cette clé restaure vos identités de groupe si vous oubliez un jour votre phrase secrète. Conservez-la dans un gestionnaire de mots de passe ou en lieu sûr.",
diff --git a/packages/meshbay-hub/src/meshbay_hub/static/locales/it.js b/packages/meshbay-hub/src/meshbay_hub/static/locales/it.js
index 47538ae..b7ae9e9 100644
--- a/packages/meshbay-hub/src/meshbay_hub/static/locales/it.js
+++ b/packages/meshbay-hub/src/meshbay_hub/static/locales/it.js
@@ -67,6 +67,7 @@ export default {
'register.loading': "Creazione dell'account...",
'register.has_account': 'Ha già un account?',
'register.legal_notice': "Creando un account, accetta le condizioni d'uso di questo hub. La legge gli impone di conservare per un anno il registro delle sue connessioni (indirizzo IP, data, azione), anche dopo l'eliminazione dell'account.",
+ 'register.privacy_link': 'Informativa sulla privacy',
'register.login_link': 'Accedi',
'register.recovery_title': 'Salvi la sua chiave di recupero',
'register.recovery_intro': 'Questa chiave ripristina le sue identità di gruppo se dovesse dimenticare la passphrase. La conservi in un gestore di password o in un luogo sicuro.',
diff --git a/packages/meshbay-hub/src/meshbay_hub/static/locales/ja.js b/packages/meshbay-hub/src/meshbay_hub/static/locales/ja.js
index 815435a..286051e 100644
--- a/packages/meshbay-hub/src/meshbay_hub/static/locales/ja.js
+++ b/packages/meshbay-hub/src/meshbay_hub/static/locales/ja.js
@@ -67,6 +67,7 @@ export default {
'register.loading': 'アカウントを作成しています…',
'register.has_account': 'すでにアカウントをお持ちですか?',
'register.legal_notice': "アカウントを作成すると、この hub の利用規約に同意したことになります。法律により、hub は接続ログ(IP アドレス、日時、操作)を、アカウント削除後も含めて 1 年間保存します。",
+ 'register.privacy_link': 'プライバシーポリシー',
'register.login_link': 'ログイン',
'register.recovery_title': 'リカバリーキーを保存してください',
'register.recovery_intro': 'このキーは、パスフレーズを忘れた場合にグループの identity を復元します。パスワードマネージャーや安全な場所に保管してください。',
diff --git a/packages/meshbay-hub/src/meshbay_hub/static/locales/nl.js b/packages/meshbay-hub/src/meshbay_hub/static/locales/nl.js
index fde0941..5bf1a3b 100644
--- a/packages/meshbay-hub/src/meshbay_hub/static/locales/nl.js
+++ b/packages/meshbay-hub/src/meshbay_hub/static/locales/nl.js
@@ -67,6 +67,7 @@ export default {
'register.loading': 'Account wordt aangemaakt...',
'register.has_account': 'Hebt u al een account?',
'register.legal_notice': "Door een account aan te maken, aanvaardt u de gebruiksvoorwaarden van deze hub. De wet verplicht hem een logboek van uw verbindingen (IP-adres, datum, handeling) een jaar lang te bewaren, ook nadat uw account is verwijderd.",
+ 'register.privacy_link': 'Privacyverklaring',
'register.login_link': 'Aanmelden',
'register.recovery_title': 'Bewaar uw herstelsleutel',
'register.recovery_intro': 'Deze sleutel herstelt uw groepsidentiteiten als u ooit uw wachtwoordzin vergeet. Bewaar hem in een wachtwoordmanager of op een veilige plek.',
diff --git a/packages/meshbay-hub/src/meshbay_hub/static/locales/pl.js b/packages/meshbay-hub/src/meshbay_hub/static/locales/pl.js
index b8dc1cd..e5bc31a 100644
--- a/packages/meshbay-hub/src/meshbay_hub/static/locales/pl.js
+++ b/packages/meshbay-hub/src/meshbay_hub/static/locales/pl.js
@@ -70,6 +70,7 @@ export default {
'register.loading': 'Tworzenie konta...',
'register.has_account': 'Konto już istnieje?',
'register.legal_notice': "Zakładając konto, akceptujesz warunki korzystania z tego huba. Prawo zobowiązuje go do przechowywania przez rok dziennika Twoich połączeń (adres IP, data, czynność), także po usunięciu konta.",
+ 'register.privacy_link': 'Polityka prywatności',
'register.login_link': 'Zaloguj',
'register.recovery_title': 'Zapisz swój klucz odzyskiwania',
'register.recovery_intro': 'Ten klucz przywraca Twoje tożsamości grupowe, jeśli kiedykolwiek zapomnisz hasło-frazę. Przechowuj go w menedżerze haseł lub w bezpiecznym miejscu.',
diff --git a/packages/meshbay-hub/src/meshbay_hub/static/locales/pt-BR.js b/packages/meshbay-hub/src/meshbay_hub/static/locales/pt-BR.js
index d517387..f21997b 100644
--- a/packages/meshbay-hub/src/meshbay_hub/static/locales/pt-BR.js
+++ b/packages/meshbay-hub/src/meshbay_hub/static/locales/pt-BR.js
@@ -68,6 +68,7 @@ export default {
'register.loading': 'Criando a conta...',
'register.has_account': 'Já tem uma conta?',
'register.legal_notice': "Ao criar uma conta, você aceita os termos de uso deste hub. A lei o obriga a manter por um ano o registro das suas conexões (endereço IP, data, ação), mesmo depois que sua conta for excluída.",
+ 'register.privacy_link': 'Política de privacidade',
'register.login_link': 'Entrar',
'register.recovery_title': 'Guarde sua chave de recuperação',
'register.recovery_intro': 'Esta chave restaura suas identidades de grupo caso você esqueça sua frase secreta. Guarde-a em um gerenciador de senhas ou em local seguro.',
diff --git a/packages/meshbay-hub/src/meshbay_hub/static/locales/zh-CN.js b/packages/meshbay-hub/src/meshbay_hub/static/locales/zh-CN.js
index 42c56f0..1d07025 100644
--- a/packages/meshbay-hub/src/meshbay_hub/static/locales/zh-CN.js
+++ b/packages/meshbay-hub/src/meshbay_hub/static/locales/zh-CN.js
@@ -67,6 +67,7 @@ export default {
'register.loading': '正在创建账户…',
'register.has_account': '已经有账户了?',
'register.legal_notice': "创建账户即表示您接受此 hub 的使用条款。依照法律,它须将您的连接日志(IP 地址、日期、操作)保存一年,即使您的账户已被删除。",
+ 'register.privacy_link': '隐私政策',
'register.login_link': '登录',
'register.recovery_title': '保存您的恢复密钥',
'register.recovery_intro': '如果您忘记了密码短语,此密钥可恢复您的群组身份。请将其保存在密码管理器或安全的地方。',
diff --git a/packages/meshbay-hub/src/meshbay_hub/static/platform.js b/packages/meshbay-hub/src/meshbay_hub/static/platform.js
index fa2065d..cf2acf3 100644
--- a/packages/meshbay-hub/src/meshbay_hub/static/platform.js
+++ b/packages/meshbay-hub/src/meshbay_hub/static/platform.js
@@ -65,6 +65,17 @@ export function legalUrl() {
return `${hubBase().replace(/\/$/, '')}/legal/`;
}
+/**
+ * The hub's privacy statement, linked where an account is created: the
+ * information GDPR art. 13 owes a person when their data is collected. Same
+ * hub as `legalUrl()`, for the same reason. French has its own text; every
+ * other language gets the English one.
+ */
+export function privacyUrl(locale) {
+ const doc = locale === 'fr' ? 'confidentialite.fr.txt' : 'privacy-statement.en.txt';
+ return `${legalUrl()}${doc}`;
+}
+
/** Native-only capabilities. A browser renders none of what these gate. */
export const capabilities = {
// Install, configure and drive a node running on this machine.