diff --git a/.github/workflows/e2e.yml b/.github/workflows/e2e.yml index 81a4d044b4..c3c4516abe 100644 --- a/.github/workflows/e2e.yml +++ b/.github/workflows/e2e.yml @@ -55,6 +55,18 @@ jobs: --health-interval=10s --health-timeout=5s --health-retries=5 + minio: + image: minio/minio:RELEASE.2024-12-18T13-15-44Z + env: + MINIO_ROOT_USER: minioadmin + MINIO_ROOT_PASSWORD: minioadmin + ports: + - 9000:9000 + options: >- + --health-cmd="curl -f http://localhost:9000/minio/health/live || exit 1" + --health-interval=10s + --health-timeout=5s + --health-retries=5 steps: - name: Harden the runner (Audit all outbound calls) uses: step-security/harden-runner@0634a2670c59f64b4a01f0f96f84700a4088b9f0 # v2.12.0 @@ -92,8 +104,25 @@ jobs: sed -i "s|REDIS_URL=.*|REDIS_URL=redis://localhost:6379|" .env echo "" >> .env echo "E2E_TESTING=1" >> .env + echo "S3_REGION=us-east-1" >> .env + echo "S3_BUCKET_NAME=formbricks-e2e" >> .env + echo "S3_ENDPOINT_URL=http://localhost:9000" >> .env + echo "S3_ACCESS_KEY=minioadmin" >> .env + echo "S3_SECRET_KEY=minioadmin" >> .env + echo "S3_FORCE_PATH_STYLE=true" >> .env shell: bash + - name: Install MinIO client (mc) + run: | + wget -qO mc https://dl.min.io/client/mc/release/linux-amd64/mc + chmod +x mc + sudo mv mc /usr/local/bin/mc + + - name: Create S3 bucket in MinIO + run: | + mc alias set local http://localhost:9000 minioadmin minioadmin + mc mb --ignore-existing local/formbricks-e2e + - name: Build App run: | pnpm build --filter=@formbricks/web... diff --git a/apps/web/locales/de-DE.json b/apps/web/locales/de-DE.json index 7b8f6a546b..f082742d31 100644 --- a/apps/web/locales/de-DE.json +++ b/apps/web/locales/de-DE.json @@ -125,6 +125,7 @@ "add_filter": "Filter hinzufügen", "add_logo": "Logo hinzufügen", "add_member": "Mitglied hinzufügen", + "add_new_project": "Neues Projekt hinzufügen", "add_project": "Projekt hinzufügen", "add_to_team": "Zum Team hinzufügen", "all": "Alle", @@ -149,6 +150,9 @@ "cancel": "Abbrechen", "centered_modal": "Zentriertes Modalfenster", "choices": "Entscheidungen", + "choose_environment": "Umgebung auswählen", + "choose_organization": "Organisation auswählen", + "choose_project": "Projekt wählen", "clear_all": "Alles löschen", "clear_filters": "Filter löschen", "clear_selection": "Auswahl aufheben", @@ -177,7 +181,6 @@ "created_at": "Erstellt am", "created_by": "Erstellt von", "customer_success": "Kundenerfolg", - "danger_zone": "Gefahrenzone", "dark_overlay": "Dunkle Überlagerung", "date": "Datum", "default": "Standard", @@ -237,11 +240,9 @@ "label": "Bezeichnung", "language": "Sprache", "learn_more": "Mehr erfahren", - "license": "Lizenz", "light_overlay": "Helle Überlagerung", "limits_reached": "Limits erreicht", "link": "Link", - "link_and_email": "Link & E-Mail", "link_survey": "Link-Umfrage", "link_surveys": "Umfragen verknüpfen", "load_more": "Mehr laden", @@ -288,6 +289,7 @@ "organization": "Organisation", "organization_id": "Organisations-ID", "organization_not_found": "Organisation nicht gefunden", + "organization_settings": "Organisationseinstellungen", "organization_teams_not_found": "Organisations-Teams nicht gefunden", "other": "Andere", "others": "Andere", @@ -383,7 +385,6 @@ "survey_scheduled": "Umfrage geplant.", "survey_type": "Umfragetyp", "surveys": "Umfragen", - "switch_organization": "Organisation wechseln", "switch_to": "Wechseln zu {environment}", "table_items_deleted_successfully": "{type}s erfolgreich gelöscht", "table_settings": "Tabelleinstellungen", @@ -992,7 +993,6 @@ "free": "Kostenlos", "free_description": "Unbegrenzte Umfragen, Teammitglieder und mehr.", "get_2_months_free": "2 Monate gratis", - "get_in_touch": "Kontaktiere uns", "hosted_in_frankfurt": "Gehostet in Frankfurt", "ios_android_sdks": "iOS & Android SDK für mobile Umfragen", "link_surveys": "Umfragen verlinken (teilbar)", diff --git a/apps/web/locales/en-US.json b/apps/web/locales/en-US.json index 842695f94f..d93f4e9102 100644 --- a/apps/web/locales/en-US.json +++ b/apps/web/locales/en-US.json @@ -125,6 +125,7 @@ "add_filter": "Add filter", "add_logo": "Add logo", "add_member": "Add member", + "add_new_project": "Add new project", "add_project": "Add project", "add_to_team": "Add to team", "all": "All", @@ -149,6 +150,9 @@ "cancel": "Cancel", "centered_modal": "Centered Modal", "choices": "Choices", + "choose_environment": "Choose environment", + "choose_organization": "Choose organization", + "choose_project": "Choose project", "clear_all": "Clear all", "clear_filters": "Clear filters", "clear_selection": "Clear selection", @@ -177,7 +181,6 @@ "created_at": "Created at", "created_by": "Created by", "customer_success": "Customer Success", - "danger_zone": "Danger Zone", "dark_overlay": "Dark overlay", "date": "Date", "default": "Default", @@ -237,11 +240,9 @@ "label": "Label", "language": "Language", "learn_more": "Learn more", - "license": "License", "light_overlay": "Light overlay", "limits_reached": "Limits Reached", "link": "Link", - "link_and_email": "Link & Email", "link_survey": "Link Survey", "link_surveys": "Link Surveys", "load_more": "Load more", @@ -288,6 +289,7 @@ "organization": "Organization", "organization_id": "Organization ID", "organization_not_found": "Organization not found", + "organization_settings": "Organization settings", "organization_teams_not_found": "Organization teams not found", "other": "Other", "others": "Others", @@ -383,7 +385,6 @@ "survey_scheduled": "Survey scheduled.", "survey_type": "Survey Type", "surveys": "Surveys", - "switch_organization": "Switch organization", "switch_to": "Switch to {environment}", "table_items_deleted_successfully": "{type}s deleted successfully", "table_settings": "Table settings", @@ -992,7 +993,6 @@ "free": "Free", "free_description": "Unlimited Surveys, Team Members, and more.", "get_2_months_free": "Get 2 months free", - "get_in_touch": "Get in touch", "hosted_in_frankfurt": "Hosted in Frankfurt", "ios_android_sdks": "iOS & Android SDK for mobile surveys", "link_surveys": "Link Surveys (Shareable)", diff --git a/apps/web/locales/fr-FR.json b/apps/web/locales/fr-FR.json index c5783c3b25..2fd013d2d2 100644 --- a/apps/web/locales/fr-FR.json +++ b/apps/web/locales/fr-FR.json @@ -125,6 +125,7 @@ "add_filter": "Ajouter un filtre", "add_logo": "Ajouter un logo", "add_member": "Ajouter un membre", + "add_new_project": "Ajouter un nouveau projet", "add_project": "Ajouter un projet", "add_to_team": "Ajouter à l'équipe", "all": "Tout", @@ -149,6 +150,9 @@ "cancel": "Annuler", "centered_modal": "Modal centré", "choices": "Choix", + "choose_environment": "Choisir l'environnement", + "choose_organization": "Choisir l'organisation", + "choose_project": "Choisir projet", "clear_all": "Tout effacer", "clear_filters": "Effacer les filtres", "clear_selection": "Effacer la sélection", @@ -177,7 +181,6 @@ "created_at": "Créé le", "created_by": "Créé par", "customer_success": "Succès Client", - "danger_zone": "Zone de danger", "dark_overlay": "Superposition sombre", "date": "Date", "default": "Par défaut", @@ -237,11 +240,9 @@ "label": "Étiquette", "language": "Langue", "learn_more": "En savoir plus", - "license": "Licence", "light_overlay": "Superposition légère", "limits_reached": "Limites atteints", "link": "Lien", - "link_and_email": "Liens et e-mail", "link_survey": "Enquête de lien", "link_surveys": "Sondages de lien", "load_more": "Charger plus", @@ -288,6 +289,7 @@ "organization": "Organisation", "organization_id": "ID de l'organisation", "organization_not_found": "Organisation non trouvée", + "organization_settings": "Paramètres de l'organisation", "organization_teams_not_found": "Équipes d'organisation non trouvées", "other": "Autre", "others": "Autres", @@ -383,7 +385,6 @@ "survey_scheduled": "Sondage programmé.", "survey_type": "Type de sondage", "surveys": "Enquêtes", - "switch_organization": "Changer d'organisation", "switch_to": "Passer à {environment}", "table_items_deleted_successfully": "{type}s supprimés avec succès", "table_settings": "Réglages de table", @@ -992,7 +993,6 @@ "free": "Gratuit", "free_description": "Sondages illimités, membres d'équipe, et plus encore.", "get_2_months_free": "Obtenez 2 mois gratuits", - "get_in_touch": "Prenez contact", "hosted_in_frankfurt": "Hébergé à Francfort", "ios_android_sdks": "SDK iOS et Android pour les sondages mobiles", "link_surveys": "Sondages par lien (partageables)", diff --git a/apps/web/locales/ja-JP.json b/apps/web/locales/ja-JP.json index 72ed2d4c1e..6000f48a0f 100644 --- a/apps/web/locales/ja-JP.json +++ b/apps/web/locales/ja-JP.json @@ -125,6 +125,7 @@ "add_filter": "フィルターを追加", "add_logo": "ロゴを追加", "add_member": "メンバーを追加", + "add_new_project": "新しいプロジェクトを追加", "add_project": "プロジェクトを追加", "add_to_team": "チームに追加", "all": "すべて", @@ -149,6 +150,9 @@ "cancel": "キャンセル", "centered_modal": "中央モーダル", "choices": "選択肢", + "choose_environment": "環境を選択", + "choose_organization": "組織を選択", + "choose_project": "プロジェクト を 選択", "clear_all": "すべてクリア", "clear_filters": "フィルターをクリア", "clear_selection": "選択をクリア", @@ -177,7 +181,6 @@ "created_at": "作成日時", "created_by": "作成者", "customer_success": "カスタマーサクセス", - "danger_zone": "危険な操作", "dark_overlay": "暗いオーバーレイ", "date": "日付", "default": "デフォルト", @@ -237,11 +240,9 @@ "label": "ラベル", "language": "言語", "learn_more": "詳細を見る", - "license": "ライセンス", "light_overlay": "明るいオーバーレイ", "limits_reached": "上限に達しました", "link": "リンク", - "link_and_email": "リンク&メール", "link_survey": "リンクフォーム", "link_surveys": "リンクフォーム", "load_more": "さらに読み込む", @@ -288,6 +289,7 @@ "organization": "組織", "organization_id": "組織ID", "organization_not_found": "組織が見つかりません", + "organization_settings": "組織設定", "organization_teams_not_found": "組織のチームが見つかりません", "other": "その他", "others": "その他", @@ -383,7 +385,6 @@ "survey_scheduled": "フォームはスケジュール済みです。", "survey_type": "フォームの種類", "surveys": "フォーム", - "switch_organization": "組織を切り替え", "switch_to": "{environment}に切り替え", "table_items_deleted_successfully": "{type}を正常に削除しました", "table_settings": "テーブル設定", @@ -992,7 +993,6 @@ "free": "無料", "free_description": "無制限のフォーム、チームメンバー、その他多数。", "get_2_months_free": "2ヶ月間無料", - "get_in_touch": "お問い合わせください", "hosted_in_frankfurt": "フランクフルトでホスト", "ios_android_sdks": "モバイルフォーム用iOS & Android SDK", "link_surveys": "リンクフォーム(共有可能)", diff --git a/apps/web/locales/pt-BR.json b/apps/web/locales/pt-BR.json index f6e409d33a..7b755556b0 100644 --- a/apps/web/locales/pt-BR.json +++ b/apps/web/locales/pt-BR.json @@ -125,6 +125,7 @@ "add_filter": "Adicionar filtro", "add_logo": "Adicionar logo", "add_member": "Adicionar membro", + "add_new_project": "Adicionar novo projeto", "add_project": "Adicionar projeto", "add_to_team": "Adicionar à equipe", "all": "Todos", @@ -149,6 +150,9 @@ "cancel": "Cancelar", "centered_modal": "Modal Centralizado", "choices": "Escolhas", + "choose_environment": "Escolher ambiente", + "choose_organization": "Escolher organização", + "choose_project": "Escolher projeto", "clear_all": "Limpar tudo", "clear_filters": "Limpar filtros", "clear_selection": "Limpar seleção", @@ -177,7 +181,6 @@ "created_at": "Data de criação", "created_by": "Criado por", "customer_success": "Sucesso do Cliente", - "danger_zone": "Zona de Perigo", "dark_overlay": "sobreposição escura", "date": "Encontro", "default": "Padrão", @@ -237,11 +240,9 @@ "label": "Etiqueta", "language": "Língua", "learn_more": "Saiba mais", - "license": "Licença", "light_overlay": "sobreposição leve", "limits_reached": "Limites Atingidos", "link": "link", - "link_and_email": "Link & E-mail", "link_survey": "Pesquisa de Link", "link_surveys": "Link de Pesquisas", "load_more": "Carregar mais", @@ -288,6 +289,7 @@ "organization": "organização", "organization_id": "ID da Organização", "organization_not_found": "Organização não encontrada", + "organization_settings": "Configurações da Organização", "organization_teams_not_found": "Equipes da organização não encontradas", "other": "outro", "others": "Outros", @@ -383,7 +385,6 @@ "survey_scheduled": "Pesquisa agendada.", "survey_type": "Tipo de Pesquisa", "surveys": "Pesquisas", - "switch_organization": "Mudar organização", "switch_to": "Mudar para {environment}", "table_items_deleted_successfully": "{type}s deletados com sucesso", "table_settings": "Arrumação da mesa", @@ -992,7 +993,6 @@ "free": "grátis", "free_description": "Pesquisas ilimitadas, membros da equipe e mais.", "get_2_months_free": "Ganhe 2 meses grátis", - "get_in_touch": "Entre em contato", "hosted_in_frankfurt": "Hospedado em Frankfurt", "ios_android_sdks": "SDK para iOS e Android para pesquisas móveis", "link_surveys": "Link de Pesquisas (Compartilhável)", diff --git a/apps/web/locales/pt-PT.json b/apps/web/locales/pt-PT.json index 72e1079542..030eb52366 100644 --- a/apps/web/locales/pt-PT.json +++ b/apps/web/locales/pt-PT.json @@ -125,6 +125,7 @@ "add_filter": "Adicionar filtro", "add_logo": "Adicionar logótipo", "add_member": "Adicionar membro", + "add_new_project": "Adicionar novo projeto", "add_project": "Adicionar projeto", "add_to_team": "Adicionar à equipa", "all": "Todos", @@ -149,6 +150,9 @@ "cancel": "Cancelar", "centered_modal": "Modal Centralizado", "choices": "Escolhas", + "choose_environment": "Escolha o ambiente", + "choose_organization": "Escolher organização", + "choose_project": "Escolher projeto", "clear_all": "Limpar tudo", "clear_filters": "Limpar filtros", "clear_selection": "Limpar seleção", @@ -177,7 +181,6 @@ "created_at": "Criado em", "created_by": "Criado por", "customer_success": "Sucesso do Cliente", - "danger_zone": "Zona de Perigo", "dark_overlay": "Sobreposição escura", "date": "Data", "default": "Padrão", @@ -237,11 +240,9 @@ "label": "Etiqueta", "language": "Idioma", "learn_more": "Saiba mais", - "license": "Licença", "light_overlay": "Sobreposição leve", "limits_reached": "Limites Atingidos", "link": "Link", - "link_and_email": "Link e Email", "link_survey": "Ligar Inquérito", "link_surveys": "Ligar Inquéritos", "load_more": "Carregar mais", @@ -288,6 +289,7 @@ "organization": "Organização", "organization_id": "ID da Organização", "organization_not_found": "Organização não encontrada", + "organization_settings": "Configurações da Organização", "organization_teams_not_found": "Equipas da organização não encontradas", "other": "Outro", "others": "Outros", @@ -383,7 +385,6 @@ "survey_scheduled": "Inquérito agendado.", "survey_type": "Tipo de Inquérito", "surveys": "Inquéritos", - "switch_organization": "Mudar de organização", "switch_to": "Mudar para {environment}", "table_items_deleted_successfully": "{type}s eliminados com sucesso", "table_settings": "Configurações da tabela", @@ -992,7 +993,6 @@ "free": "Grátis", "free_description": "Inquéritos ilimitados, membros da equipa e mais.", "get_2_months_free": "Obtenha 2 meses grátis", - "get_in_touch": "Entre em contacto", "hosted_in_frankfurt": "Hospedado em Frankfurt", "ios_android_sdks": "SDK iOS e Android para inquéritos móveis", "link_surveys": "Ligar Inquéritos (Partilhável)", diff --git a/apps/web/locales/ro-RO.json b/apps/web/locales/ro-RO.json index d570b868b1..32be664d23 100644 --- a/apps/web/locales/ro-RO.json +++ b/apps/web/locales/ro-RO.json @@ -125,6 +125,7 @@ "add_filter": "Adăugați filtru", "add_logo": "Adaugă logo", "add_member": "Adaugă membru", + "add_new_project": "Adaugă proiect nou", "add_project": "Adaugă proiect", "add_to_team": "Adaugă la echipă", "all": "Toate", @@ -149,6 +150,9 @@ "cancel": "Anulare", "centered_modal": "Modală centralizată", "choices": "Alegeri", + "choose_environment": "Alege mediul", + "choose_organization": "Alege organizația", + "choose_project": "Alege proiectul", "clear_all": "Șterge tot", "clear_filters": "Curăță filtrele", "clear_selection": "Șterge selecția", @@ -177,7 +181,6 @@ "created_at": "Creat la", "created_by": "Creat de", "customer_success": "Succesul Clientului", - "danger_zone": "Zonă periculoasă", "dark_overlay": "Suprapunere întunecată", "date": "Dată", "default": "Implicit", @@ -237,11 +240,9 @@ "label": "Etichetă", "language": "Limba", "learn_more": "Află mai multe", - "license": "Licență", "light_overlay": "Suprapunere ușoară", "limits_reached": "Limite atinse", "link": "Legătura", - "link_and_email": "Link & email", "link_survey": "Conectează chestionarul", "link_surveys": "Conectează chestionarele", "load_more": "Încarcă mai multe", @@ -288,6 +289,7 @@ "organization": "Organizație", "organization_id": "ID Organizație", "organization_not_found": "Organizația nu a fost găsită", + "organization_settings": "Setări Organizație", "organization_teams_not_found": "Echipele organizației nu au fost găsite", "other": "Altele", "others": "Altele", @@ -383,7 +385,6 @@ "survey_scheduled": "Chestionar programat.", "survey_type": "Tip Chestionar", "surveys": "Sondaje", - "switch_organization": "Comută organizația", "switch_to": "Comută la {environment}", "table_items_deleted_successfully": "\"{type} șterse cu succes\"", "table_settings": "Setări tabel", @@ -992,7 +993,6 @@ "free": "Gratuit", "free_description": "Sondaje nelimitate, membri în echipă și altele.", "get_2_months_free": "Primește 2 luni gratuite", - "get_in_touch": "Contactați-ne", "hosted_in_frankfurt": "Găzduit în Frankfurt", "ios_android_sdks": "SDK iOS & Android pentru sondaje mobile", "link_surveys": "Sondaje Link (Distribuibil)", diff --git a/apps/web/locales/zh-Hant-TW.json b/apps/web/locales/zh-Hant-TW.json index 834b363535..2b05d665e0 100644 --- a/apps/web/locales/zh-Hant-TW.json +++ b/apps/web/locales/zh-Hant-TW.json @@ -125,6 +125,7 @@ "add_filter": "新增篩選器", "add_logo": "新增標誌", "add_member": "新增成員", + "add_new_project": "新增 新專案", "add_project": "新增專案", "add_to_team": "新增至團隊", "all": "全部", @@ -149,6 +150,9 @@ "cancel": "取消", "centered_modal": "置中彈窗", "choices": "選項", + "choose_environment": "選擇環境", + "choose_organization": "選擇 組織", + "choose_project": "選擇 專案", "clear_all": "全部清除", "clear_filters": "清除篩選器", "clear_selection": "清除選取", @@ -177,7 +181,6 @@ "created_at": "建立時間", "created_by": "建立者", "customer_success": "客戶成功", - "danger_zone": "危險區域", "dark_overlay": "深色覆蓋", "date": "日期", "default": "預設", @@ -237,11 +240,9 @@ "label": "標籤", "language": "語言", "learn_more": "瞭解更多", - "license": "授權", "light_overlay": "淺色覆蓋", "limits_reached": "已達上限", "link": "連結", - "link_and_email": "連結與電子郵件", "link_survey": "連結問卷", "link_surveys": "連結問卷", "load_more": "載入更多", @@ -288,6 +289,7 @@ "organization": "組織", "organization_id": "組織 ID", "organization_not_found": "找不到組織", + "organization_settings": "組織設定", "organization_teams_not_found": "找不到組織團隊", "other": "其他", "others": "其他", @@ -383,7 +385,6 @@ "survey_scheduled": "問卷已排程。", "survey_type": "問卷類型", "surveys": "問卷", - "switch_organization": "切換組織", "switch_to": "切換至 '{'environment'}'", "table_items_deleted_successfully": "'{'type'}' 已成功刪除", "table_settings": "表格設定", @@ -992,7 +993,6 @@ "free": "免費", "free_description": "無限問卷、團隊成員等。", "get_2_months_free": "免費獲得 2 個月", - "get_in_touch": "取得聯繫", "hosted_in_frankfurt": "託管在 Frankfurt", "ios_android_sdks": "iOS 和 Android SDK 用於行動問卷", "link_surveys": "連結問卷(可分享)",