Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
47 changes: 47 additions & 0 deletions PATCHES.md
Original file line number Diff line number Diff line change
Expand Up @@ -94,6 +94,53 @@ unbenutzten Icon-Imports.
`grep -n "trypost.it/discord\|affiliates.trypost.it" resources/js/components/AppSidebar.vue`
muss leer bleiben.

### Patch 4 · madevisible-legal-footer-links

Grund: TikToks App-Review lehnte "madevisible.io Social" am 04.09.2026 ab, unter anderem weil
`social.madevisible.io/login` **ueberhaupt keine** Privacy-/ToS-Links zeigte (live per Playwright
mit frisch gecleartem Cookie-Zustand als echter ausgeloggter Besucher verifiziert). Root-Cause:
Upstream haengt den einzigen Legal-Footer-Block (`auth.legal`-Uebersetzung) an
`v-if="!isSelfHosted"` in `Register.vue`, und `Login.vue` hatte den Block gar nicht erst. Unser
Docker-Deployment laeuft mit `trypost.self_hosted=true` (Betreiber-Modell, nicht Multi-Tenant-
SaaS wie trypost.it selbst), darum blieb der Footer bei uns immer unsichtbar, upstream-seitig
vermutlich bewusst so gedacht ("Self-Hoster bringt eigene Legal-Links mit"), was fuer uns aber
nie zutraf.

- **Dateien**:
- `lang/*/auth.php` (alle 16 Locales): der `legal`-String zeigte in JEDER Sprache hart auf
`https://trypost.it/terms` und `https://trypost.it/privacy`. Beide URLs auf
`https://madevisible.io/agb/` bzw. `https://madevisible.io/privacy/` umgestellt (reiner
URL-Tausch, uebersetzter Fliesstext unveraendert). Diese beiden Seiten nennen
"madevisible.io Social" seit `Cryptoom/digital-mind-agency#396` explizit beim Namen.
- `resources/js/pages/auth/Register.vue`: `v-if="!isSelfHosted"`-Guard auf dem Legal-Footer-Div
entfernt (zeigt jetzt immer), dadurch wurde die `isSelfHosted`-Computed-Variable unbenutzt und
wurde mitentfernt. `page`/`usePage()` bleiben (weiterhin fuer `hasSocial` gebraucht).
- `resources/js/pages/auth/Login.vue`: denselben Legal-Footer-Block (identisches Markup wie
`Register.vue`, `v-html="$t('auth.legal')"`) direkt nach dem `</Form>` neu ergaenzt, vorher
gab es dort ueberhaupt keinen.
- **Marker-Strings zum Wiedererkennen nach `git merge upstream/main`**: `madevisible.io` in
`lang/en/auth.php`s `legal`-Zeile (kommt upstream nicht vor). In `Login.vue`: das
`v-html="$t('auth.legal')"`-Div direkt vor dem schliessenden `</div></AuthBase></template>`
(existiert upstream nicht in dieser Datei). In `Register.vue`: Abwesenheit von
`v-if="!isSelfHosted"` auf dem Legal-Div (upstream hat es).
- **Bruchbedingung**: Upstream aendert den `auth.legal`-Text selbst (neue Formulierung, neue
Platzhalter) und `git merge upstream/main` ueberschreibt konfliktfrei unsere URL-Werte mit den
originalen `trypost.it`-URLs zurueck, weil beide Seiten dieselbe Zeile aendern koennten aber
Git bei reinem Text-Unterschied idR einen Konflikt meldet (text-basiertes 3-Way-Merge), pruefen
nach jedem Merge trotzdem gezielt: `grep -rn "trypost.it/terms\|trypost.it/privacy" lang/*/auth.php`
muss leer bleiben. Ergaenzt upstream `Login.vue`/`Register.vue` selbst einen aehnlichen
Legal-Footer oder aendert die `isSelfHosted`-Logik grundlegend, Patch-Platzierung manuell
gegenpruefen statt blind erneut einzufuegen.
- **Test**: keine automatisierten Tests vorhanden (reine Template-/Copy-Aenderung), Verifikation
ueber Live-Check nach Deploy (siehe unten).
- **Deploy-Falle (Review Round 2)**: `lang/*/auth.php` wirken erst nach einem ECHTEN Frontend-
Build. `vite.config.ts` nutzt `laravel-vue-i18n/vite`, das die PHP-Locales zur Build-Zeit nach
`lang/php_*.json` kompiliert (die JSON-Dateien selbst stehen in `.gitignore`). Ein reines
Kopieren der geaenderten PHP-Datei in den laufenden Container plus Neustart behaelt die alten
`trypost.it`-URLs im bereits gebundelten JSON, ohne Fehlermeldung. Zwingend
`docker compose up -d --build` (voller Rebuild), NICHT nur `restart`.
- **Deployed**: <Datum nach Merge + `docker compose up -d --build` auf web02 nachtragen>.

## Geprueft und NICHT gepatcht: is_aigc-Composer-Toggle (25.08.2026)

Der urspruenglich fuer diesen Fork geplante Patch (TikTok-`is_aigc`-Toggle im Post-Composer,
Expand Down
2 changes: 1 addition & 1 deletion lang/ar/auth.php
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
'welcome_trial' => 'مرحبًا بك في TryPost! لقد بدأت فترتك التجريبية.',
],

'legal' => 'بمتابعتك، فإنك توافق على <a href="https://trypost.it/terms" target="_blank">شروط الخدمة</a> و<a href="https://trypost.it/privacy" target="_blank">سياسة الخصوصية</a>.',
'legal' => 'بمتابعتك، فإنك توافق على <a href="https://madevisible.io/agb/" target="_blank">شروط الخدمة</a> و<a href="https://madevisible.io/privacy/" target="_blank">سياسة الخصوصية</a>.',

'slides' => [
'calendar' => [
Expand Down
2 changes: 1 addition & 1 deletion lang/de/auth.php
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
'welcome_trial' => 'Willkommen bei TryPost! Deine Testphase hat begonnen.',
],

'legal' => 'Indem du fortfährst, stimmst du unseren <a href="https://trypost.it/terms" target="_blank">Nutzungsbedingungen</a> und unserer <a href="https://trypost.it/privacy" target="_blank">Datenschutzerklärung</a> zu.',
'legal' => 'Indem du fortfährst, stimmst du unseren <a href="https://madevisible.io/agb/" target="_blank">Nutzungsbedingungen</a> und unserer <a href="https://madevisible.io/privacy/" target="_blank">Datenschutzerklärung</a> zu.',

'slides' => [
'calendar' => [
Expand Down
2 changes: 1 addition & 1 deletion lang/el/auth.php
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
'welcome_trial' => 'Καλώς ήρθατε στο TryPost! Η δοκιμαστική σας περίοδος ξεκίνησε.',
],

'legal' => 'Συνεχίζοντας, συμφωνείτε με τους <a href="https://trypost.it/terms" target="_blank">Όρους Χρήσης</a> και την <a href="https://trypost.it/privacy" target="_blank">Πολιτική Απορρήτου</a> μας.',
'legal' => 'Συνεχίζοντας, συμφωνείτε με τους <a href="https://madevisible.io/agb/" target="_blank">Όρους Χρήσης</a> και την <a href="https://madevisible.io/privacy/" target="_blank">Πολιτική Απορρήτου</a> μας.',

'slides' => [
'calendar' => [
Expand Down
2 changes: 1 addition & 1 deletion lang/en/auth.php
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
'welcome_trial' => 'Welcome to TryPost! Your trial has started.',
],

'legal' => 'By continuing, you agree to our <a href="https://trypost.it/terms" target="_blank">Terms of Service</a> and <a href="https://trypost.it/privacy" target="_blank">Privacy Policy</a>.',
'legal' => 'By continuing, you agree to our <a href="https://madevisible.io/agb/" target="_blank">Terms of Service</a> and <a href="https://madevisible.io/privacy/" target="_blank">Privacy Policy</a>.',

'slides' => [
'calendar' => [
Expand Down
2 changes: 1 addition & 1 deletion lang/es/auth.php
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
'welcome_trial' => '¡Bienvenido a TryPost! Tu prueba ha comenzado.',
],

'legal' => 'Al continuar, aceptas nuestros <a href="https://trypost.it/terms" target="_blank">Términos de Servicio</a> y <a href="https://trypost.it/privacy" target="_blank">Política de Privacidad</a>.',
'legal' => 'Al continuar, aceptas nuestros <a href="https://madevisible.io/agb/" target="_blank">Términos de Servicio</a> y <a href="https://madevisible.io/privacy/" target="_blank">Política de Privacidad</a>.',

'slides' => [
'calendar' => [
Expand Down
2 changes: 1 addition & 1 deletion lang/fr/auth.php
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
'welcome_trial' => 'Bienvenue sur TryPost ! Votre essai a commencé.',
],

'legal' => 'En continuant, vous acceptez nos <a href="https://trypost.it/terms" target="_blank">Conditions d\'utilisation</a> et notre <a href="https://trypost.it/privacy" target="_blank">Politique de confidentialité</a>.',
'legal' => 'En continuant, vous acceptez nos <a href="https://madevisible.io/agb/" target="_blank">Conditions d\'utilisation</a> et notre <a href="https://madevisible.io/privacy/" target="_blank">Politique de confidentialité</a>.',

'slides' => [
'calendar' => [
Expand Down
2 changes: 1 addition & 1 deletion lang/it/auth.php
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
'welcome_trial' => 'Benvenuto su TryPost! La tua prova è iniziata.',
],

'legal' => 'Continuando, accetti i nostri <a href="https://trypost.it/terms" target="_blank">Termini di servizio</a> e la nostra <a href="https://trypost.it/privacy" target="_blank">Informativa sulla privacy</a>.',
'legal' => 'Continuando, accetti i nostri <a href="https://madevisible.io/agb/" target="_blank">Termini di servizio</a> e la nostra <a href="https://madevisible.io/privacy/" target="_blank">Informativa sulla privacy</a>.',

'slides' => [
'calendar' => [
Expand Down
2 changes: 1 addition & 1 deletion lang/ja/auth.php
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
'welcome_trial' => 'TryPost へようこそ!トライアルが開始されました。',
],

'legal' => '続行すると、<a href="https://trypost.it/terms" target="_blank">利用規約</a>および<a href="https://trypost.it/privacy" target="_blank">プライバシーポリシー</a>に同意したものとみなされます。',
'legal' => '続行すると、<a href="https://madevisible.io/agb/" target="_blank">利用規約</a>および<a href="https://madevisible.io/privacy/" target="_blank">プライバシーポリシー</a>に同意したものとみなされます。',

'slides' => [
'calendar' => [
Expand Down
2 changes: 1 addition & 1 deletion lang/ko/auth.php
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
'welcome_trial' => 'TryPost에 오신 것을 환영합니다! 체험이 시작되었습니다.',
],

'legal' => '계속 진행하면 <a href="https://trypost.it/terms" target="_blank">서비스 약관</a> 및 <a href="https://trypost.it/privacy" target="_blank">개인정보 처리방침</a>에 동의하는 것입니다.',
'legal' => '계속 진행하면 <a href="https://madevisible.io/agb/" target="_blank">서비스 약관</a> 및 <a href="https://madevisible.io/privacy/" target="_blank">개인정보 처리방침</a>에 동의하는 것입니다.',

'slides' => [
'calendar' => [
Expand Down
2 changes: 1 addition & 1 deletion lang/nl/auth.php
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
'welcome_trial' => 'Welkom bij TryPost! Je proefperiode is gestart.',
],

'legal' => 'Door door te gaan ga je akkoord met onze <a href="https://trypost.it/terms" target="_blank">Servicevoorwaarden</a> en <a href="https://trypost.it/privacy" target="_blank">Privacybeleid</a>.',
'legal' => 'Door door te gaan ga je akkoord met onze <a href="https://madevisible.io/agb/" target="_blank">Servicevoorwaarden</a> en <a href="https://madevisible.io/privacy/" target="_blank">Privacybeleid</a>.',

'slides' => [
'calendar' => [
Expand Down
2 changes: 1 addition & 1 deletion lang/pl/auth.php
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
'welcome_trial' => 'Witamy w TryPost! Twój okres próbny właśnie się rozpoczął.',
],

'legal' => 'Kontynuując, akceptujesz nasze <a href="https://trypost.it/terms" target="_blank">Warunki korzystania z usługi</a> oraz <a href="https://trypost.it/privacy" target="_blank">Politykę prywatności</a>.',
'legal' => 'Kontynuując, akceptujesz nasze <a href="https://madevisible.io/agb/" target="_blank">Warunki korzystania z usługi</a> oraz <a href="https://madevisible.io/privacy/" target="_blank">Politykę prywatności</a>.',

'slides' => [
'calendar' => [
Expand Down
2 changes: 1 addition & 1 deletion lang/pt-BR/auth.php
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
'welcome_trial' => 'Bem-vindo ao TryPost! Seu período de teste começou.',
],

'legal' => 'Ao continuar, você concorda com nossos <a href="https://trypost.it/terms" target="_blank">Termos de Serviço</a> e <a href="https://trypost.it/privacy" target="_blank">Política de Privacidade</a>.',
'legal' => 'Ao continuar, você concorda com nossos <a href="https://madevisible.io/agb/" target="_blank">Termos de Serviço</a> e <a href="https://madevisible.io/privacy/" target="_blank">Política de Privacidade</a>.',

'slides' => [
'calendar' => [
Expand Down
2 changes: 1 addition & 1 deletion lang/ru/auth.php
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
'welcome_trial' => 'Добро пожаловать в TryPost! Ваш пробный период начался.',
],

'legal' => 'Продолжая, вы соглашаетесь с нашими <a href="https://trypost.it/terms" target="_blank">Условиями использования</a> и <a href="https://trypost.it/privacy" target="_blank">Политикой конфиденциальности</a>.',
'legal' => 'Продолжая, вы соглашаетесь с нашими <a href="https://madevisible.io/agb/" target="_blank">Условиями использования</a> и <a href="https://madevisible.io/privacy/" target="_blank">Политикой конфиденциальности</a>.',

'slides' => [
'calendar' => [
Expand Down
2 changes: 1 addition & 1 deletion lang/tr/auth.php
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
'welcome_trial' => 'TryPost\'a hoş geldiniz! Deneme süreniz başladı.',
],

'legal' => 'Devam ederek <a href="https://trypost.it/terms" target="_blank">Hizmet Şartları</a> ve <a href="https://trypost.it/privacy" target="_blank">Gizlilik Politikası</a>\'nı kabul etmiş olursunuz.',
'legal' => 'Devam ederek <a href="https://madevisible.io/agb/" target="_blank">Hizmet Şartları</a> ve <a href="https://madevisible.io/privacy/" target="_blank">Gizlilik Politikası</a>\'nı kabul etmiş olursunuz.',

'slides' => [
'calendar' => [
Expand Down
2 changes: 1 addition & 1 deletion lang/uk/auth.php
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
'welcome_trial' => 'Ласкаво просимо до TryPost! Ваш пробний період розпочато.',
],

'legal' => 'Продовжуючи, ви погоджуєтеся з нашими <a href="https://trypost.it/terms" target="_blank">Умовами використання</a> та <a href="https://trypost.it/privacy" target="_blank">Політикою конфіденційності</a>.',
'legal' => 'Продовжуючи, ви погоджуєтеся з нашими <a href="https://madevisible.io/agb/" target="_blank">Умовами використання</a> та <a href="https://madevisible.io/privacy/" target="_blank">Політикою конфіденційності</a>.',

'slides' => [
'calendar' => [
Expand Down
2 changes: 1 addition & 1 deletion lang/zh/auth.php
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
'welcome_trial' => '欢迎使用 TryPost!你的试用已开始。',
],

'legal' => '继续即表示你同意我们的<a href="https://trypost.it/terms" target="_blank">服务条款</a>和<a href="https://trypost.it/privacy" target="_blank">隐私政策</a>。',
'legal' => '继续即表示你同意我们的<a href="https://madevisible.io/agb/" target="_blank">服务条款</a>和<a href="https://madevisible.io/privacy/" target="_blank">隐私政策</a>。',

'slides' => [
'calendar' => [
Expand Down
6 changes: 6 additions & 0 deletions resources/js/pages/auth/Login.vue
Original file line number Diff line number Diff line change
Expand Up @@ -183,6 +183,12 @@ const pageErrors = usePageErrors();
}}</TextLink>
</div>
</Form>

<!-- eslint-disable-next-line vue/no-v-html -->
<div
class="text-center text-xs text-muted-foreground [&_a]:underline [&_a]:underline-offset-4 [&_a]:hover:text-primary"
v-html="$t('auth.legal')"
/>
</div>
</AuthBase>
</template>
2 changes: 0 additions & 2 deletions resources/js/pages/auth/Register.vue
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,6 @@ const showPassword = ref(false);
const showEmailForm = ref(false);

const page = usePage();
const isSelfHosted = computed(() => Boolean(page.props.selfHosted));
const hasSocial = computed(
() =>
Boolean(page.props.googleAuthEnabled) ||
Expand Down Expand Up @@ -178,7 +177,6 @@ const emailFormVisible = computed(() => !hasSocial.value || showEmailForm.value)

<!-- eslint-disable-next-line vue/no-v-html -->
<div
v-if="!isSelfHosted"
class="text-center text-xs text-muted-foreground [&_a]:underline [&_a]:underline-offset-4 [&_a]:hover:text-primary"
v-html="$t('auth.legal')"
/>
Expand Down