You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+3Lines changed: 3 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -86,6 +86,9 @@ For local-first Supabase development:
86
86
87
87
The repo defaults `NEXT_PUBLIC_SUPABASE_URL` to the local stack so development does not need the hosted Peels project. Peels uses ports `54331`–`54334` so it can run beside other local Supabase projects. If `.env.local` still points at hosted Supabase, update it; copying `.env.example` later may not overwrite an existing file.
88
88
89
+
Keep the local URL, anon key, and service-role key together. Never reuse the
90
+
hosted secret key for local development.
91
+
89
92
If you need to serve [Supabase edge functions](https://github.com/peels-org/peels/blob/main/supabase/functions) locally, copy `supabase/functions/.env.example` to `supabase/functions/.env`. That file is loaded by `supabase start`. Use `supabase functions serve` only when you want hot reload while editing function code. Production secrets should remain dashboard-managed for now.
90
93
91
94
For the fuller operational walkthrough, including GitHub/Vercel dashboard setup and fresh-computer bootstrap, see [docs/supabase-local-first.md](./docs/supabase-local-first.md).
Copy file name to clipboardExpand all lines: docs/supabase-local-first.md
+5-2Lines changed: 5 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -88,9 +88,11 @@ Then make sure `.env.local` has:
88
88
```bash
89
89
NEXT_PUBLIC_SUPABASE_URL=http://127.0.0.1:54331
90
90
NEXT_PUBLIC_SUPABASE_ANON_KEY=<paste the ANON_KEY value here>
91
+
SUPABASE_SERVICE_ROLE_KEY=<paste the SERVICE_ROLE_KEY value here>
91
92
```
92
93
93
-
Do not mix the hosted project URL with the local anon key. That combination fails with `Invalid API key`.
94
+
Use all three values printed by `npm run supabase:env`. Do not mix local and
95
+
hosted URLs or keys.
94
96
95
97
Finally:
96
98
@@ -108,6 +110,7 @@ Use this shape in `.env.local` before `npm run test:e2e:prod`:
108
110
NEXT_PUBLIC_SITE_URL=http://127.0.0.1:3000
109
111
NEXT_PUBLIC_SUPABASE_URL=http://127.0.0.1:54331
110
112
NEXT_PUBLIC_SUPABASE_ANON_KEY=<paste the ANON_KEY value from npm run supabase:env>
113
+
SUPABASE_SERVICE_ROLE_KEY=<paste the SERVICE_ROLE_KEY value from npm run supabase:env>
111
114
```
112
115
113
116
Recommended sequence:
@@ -116,7 +119,7 @@ Recommended sequence:
116
119
2. Run `npm run supabase:reset`
117
120
3. Run `npm run seed:local-media`
118
121
4. Run `npm run supabase:env`
119
-
5. Paste the printed `ANON_KEY` into `.env.local`
122
+
5. Paste the printed `ANON_KEY`and `SERVICE_ROLE_KEY`into `.env.local`
120
123
6. Run `npm run test:e2e` or `npm run test:e2e:prod`
121
124
122
125
If `.env.local` still points at `https://mfnaqdyunuafbwukbbyr.supabase.co`, the smoke suite will not see the seeded local listings, demo accounts, or demo chat thread.
Copy file name to clipboardExpand all lines: messages/de.json
+4-1Lines changed: 4 additions & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -118,6 +118,9 @@
118
118
"updateFirstNameFailed": "Entschuldigung, wir konnten deinen Vornamen nicht aktualisieren.",
119
119
"updateNewsletterFailed": "Entschuldigung, wir konnten deine Newsletter-Einstellung nicht aktualisieren.",
120
120
"unexpected": "Ein unerwarteter Fehler ist aufgetreten. Bitte versuche es später erneut.",
121
+
"unexpectedContact": "Wenn das weiterhin passiert, <contact>schreib uns eine E-Mail</contact>.",
122
+
"unexpectedEmailSubject": "Problem beim Erstellen eines Peels-Eintrags",
123
+
"unexpectedEmailBody": "Beim Speichern eines Peels-Eintrags ist ein Fehler aufgetreten.\n\nFehlerreferenz: {reference}\nSeite: {pageUrl}\nEintragstyp: {listingType}\nZeit: {timestamp}\n\nBitte ergänze unten weitere hilfreiche Angaben. Gib keine Passwörter oder andere vertrauliche Informationen an.",
121
124
"validationSummary": "Bitte behebe {count, plural, one {den obigen Fehler} other {die obigen Fehler}} und versuche es erneut.",
122
125
"verificationChallenge": "Bitte schließe die Verifizierung ab.",
123
126
"verificationFailed": "Die Verifizierung ist fehlgeschlagen. Bitte versuche es erneut.",
@@ -459,7 +462,7 @@
459
462
"showOnMap": "Diesen Eintrag auf der Karte anzeigen",
460
463
"hideFromMap": "Diesen Eintrag von der Karte ausblenden",
461
464
"adminHint": "Nur für Admins sichtbare Steuerelemente für diesen Eintrag.",
462
-
"stubSettings": "Stub-Einstellungen",
465
+
"stubSettings": "Präsentation",
463
466
"regularListing": "Dies ist ein regulärer Eintrag, der dir gehört",
464
467
"stubListing": "Dieser Eintrag ist ein Stub, den andere beanspruchen können",
465
468
"stubActiveHint": "Dieser Eintrag enthält keine deiner Kontaktinformationen. Andere können ihn als eigenen Eintrag beanspruchen und übernehmen.",
Copy file name to clipboardExpand all lines: messages/en.json
+4-1Lines changed: 4 additions & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -118,6 +118,9 @@
118
118
"updateFirstNameFailed": "Sorry, we couldn’t update your first name.",
119
119
"updateNewsletterFailed": "Sorry, we couldn’t update your newsletter preference.",
120
120
"unexpected": "An unexpected error occurred. Please try again later.",
121
+
"unexpectedContact": "If this keeps happening, <contact>email us</contact>.",
122
+
"unexpectedEmailSubject": "Problem creating a Peels listing",
123
+
"unexpectedEmailBody": "I encountered an error while saving a Peels listing.\n\nError reference: {reference}\nPage: {pageUrl}\nListing type: {listingType}\nTime: {timestamp}\n\nPlease add any other helpful details below. Do not include passwords or other sensitive information.",
121
124
"validationSummary": "Please fix the above error{count, plural, one {} other {s}} and then try again.",
122
125
"verificationChallenge": "Please complete the verification challenge.",
Copy file name to clipboardExpand all lines: messages/es.json
+4-1Lines changed: 4 additions & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -118,6 +118,9 @@
118
118
"updateFirstNameFailed": "Lo sentimos, no pudimos actualizar tu nombre.",
119
119
"updateNewsletterFailed": "Lo sentimos, no pudimos actualizar tu preferencia del boletín.",
120
120
"unexpected": "Ocurrió un error inesperado. Inténtalo de nuevo más tarde.",
121
+
"unexpectedContact": "Si sigue ocurriendo, <contact>envíanos un correo</contact>.",
122
+
"unexpectedEmailSubject": "Problema al crear un anuncio en Peels",
123
+
"unexpectedEmailBody": "Se produjo un error al guardar un anuncio en Peels.\n\nReferencia del error: {reference}\nPágina: {pageUrl}\nTipo de anuncio: {listingType}\nHora: {timestamp}\n\nAñade cualquier otro detalle útil a continuación. No incluyas contraseñas ni otra información confidencial.",
121
124
"validationSummary": "Corrige {count, plural, one {el error anterior} other {los errores anteriores}} y vuelve a intentarlo.",
122
125
"verificationChallenge": "Completa la verificación.",
123
126
"verificationFailed": "La verificación falló. Inténtalo de nuevo.",
@@ -459,7 +462,7 @@
459
462
"showOnMap": "Mostrar este anuncio en el mapa",
460
463
"hideFromMap": "Ocultar este anuncio del mapa",
461
464
"adminHint": "Controles solo para administradores de este anuncio.",
462
-
"stubSettings": "Configuración de ficha preliminar",
465
+
"stubSettings": "Presentación",
463
466
"regularListing": "Este es un anuncio normal de tu propiedad",
464
467
"stubListing": "Este anuncio es una ficha preliminar que otras personas pueden reclamar",
465
468
"stubActiveHint": "Este anuncio no contendrá tu información de contacto. Otras personas pueden reclamarlo como propio y hacerse cargo.",
Copy file name to clipboardExpand all lines: messages/fr.json
+4-1Lines changed: 4 additions & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -118,6 +118,9 @@
118
118
"updateFirstNameFailed": "Désolé, nous n’avons pas pu mettre à jour votre prénom.",
119
119
"updateNewsletterFailed": "Désolé, nous n’avons pas pu mettre à jour votre préférence d’infolettre.",
120
120
"unexpected": "Une erreur inattendue s’est produite. Veuillez réessayer plus tard.",
121
+
"unexpectedContact": "Si le problème persiste, <contact>envoyez-nous un e-mail</contact>.",
122
+
"unexpectedEmailSubject": "Problème lors de la création d’une annonce Peels",
123
+
"unexpectedEmailBody": "Une erreur s’est produite lors de l’enregistrement d’une annonce Peels.\n\nRéférence de l’erreur : {reference}\nPage : {pageUrl}\nType d’annonce : {listingType}\nHeure : {timestamp}\n\nAjoutez ci-dessous tout autre détail utile. N’indiquez aucun mot de passe ni aucune autre information sensible.",
121
124
"validationSummary": "Veuillez corriger {count, plural, one {l’erreur ci-dessus} other {les erreurs ci-dessus}} puis réessayer.",
122
125
"verificationChallenge": "Veuillez terminer la vérification de sécurité.",
123
126
"verificationFailed": "La vérification a échoué. Veuillez réessayer.",
@@ -459,7 +462,7 @@
459
462
"showOnMap": "Afficher cette annonce sur la carte",
460
463
"hideFromMap": "Masquer cette annonce de la carte",
461
464
"adminHint": "Contrôles réservés à l’administration pour cette annonce.",
462
-
"stubSettings": "Paramètres du brouillon",
465
+
"stubSettings": "Présentation",
463
466
"regularListing": "Ceci est une annonce normale créée par vous",
464
467
"stubListing": "Cette annonce est un brouillon que d’autres personnes peuvent revendiquer",
465
468
"stubActiveHint": "Cette annonce ne contiendra pas vos coordonnées. D’autres personnes pourront la revendiquer et la reprendre.",
Copy file name to clipboardExpand all lines: messages/pt-BR.json
+4-1Lines changed: 4 additions & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -118,6 +118,9 @@
118
118
"updateFirstNameFailed": "Desculpe, não foi possível atualizar o seu nome.",
119
119
"updateNewsletterFailed": "Desculpe, não foi possível atualizar a sua preferência do boletim.",
120
120
"unexpected": "Ocorreu um erro inesperado. Tente novamente mais tarde.",
121
+
"unexpectedContact": "Se isso continuar acontecendo, <contact>envie-nos um e-mail</contact>.",
122
+
"unexpectedEmailSubject": "Problema ao criar um anúncio no Peels",
123
+
"unexpectedEmailBody": "Ocorreu um erro ao salvar um anúncio no Peels.\n\nReferência do erro: {reference}\nPágina: {pageUrl}\nTipo de anúncio: {listingType}\nHorário: {timestamp}\n\nAdicione abaixo qualquer outro detalhe útil. Não inclua senhas nem outras informações confidenciais.",
121
124
"validationSummary": "Corrija {count, plural, one {o erro acima} other {os erros acima}} e tente novamente.",
122
125
"verificationChallenge": "Conclua a verificação de segurança.",
123
126
"verificationFailed": "A verificação falhou. Tente novamente.",
@@ -459,7 +462,7 @@
459
462
"showOnMap": "Mostrar este anúncio no mapa",
460
463
"hideFromMap": "Ocultar este anúncio do mapa",
461
464
"adminHint": "Controles apenas para admin deste anúncio.",
462
-
"stubSettings": "Configurações de rascunho",
465
+
"stubSettings": "Apresentação",
463
466
"regularListing": "Este é um anúncio normal criado por você",
464
467
"stubListing": "Este anúncio é um rascunho que outras pessoas podem reivindicar",
465
468
"stubActiveHint": "Este anúncio não mostrará as suas informações de contato. Outras pessoas podem reivindicá-lo e assumir o controle.",
0 commit comments