Compare commits

..

12 Commits

Author SHA1 Message Date
Andrew Bastin
e3dd9e99a1 chore: bump version to 2023.4.6 2023-06-12 10:43:44 +05:30
Hoai-Thu Vuong
e3091cb6db chore(i18n): fix typo in translation of clear_all (#3133) 2023-06-12 10:31:58 +05:30
Akash K
270f796683 fix: fix url getting overridden when query params are present (#3130) 2023-06-09 21:53:55 +05:30
Anwarul Islam
24c6bce02d fix: failed to execute 'observe' on 'IntersectionObserver' (#3122) 2023-06-09 09:40:09 +05:30
Anwarul Islam
2db567589f fix: collection request name edit issue (#3115)
Co-authored-by: Liyas Thomas <liyascthomas@gmail.com>
Co-authored-by: Nivedin <nivedinp@gmail.com>
2023-06-09 09:36:41 +05:30
Liyas Thomas
1fe83ebdc8 chore: updated i18n strings (#3106) 2023-06-07 23:59:04 +05:30
islamzeki
8320d4f222 chore(i18n): update tr.json 2023-06-07 23:56:49 +05:30
Liyas Thomas
e76c1bc64c fix: stack order of tab inside environment selector (#3108) 2023-06-07 23:47:24 +05:30
Nivedin
1f3f8464ea fix: team environment lost when route changes (#3113)
Co-authored-by: Liyas Thomas <liyascthomas@gmail.com>
2023-06-07 23:46:09 +05:30
Liyas Thomas
e75391cdf1 chore: updated icon with correct size (#3105) 2023-06-04 23:46:47 -04:00
Andrew Bastin
a213c0c26c chore: bump version to 2023.4.5 2023-06-04 23:41:01 -04:00
Andrew Bastin
15424903ed fix: stop logging DATABASE_URL in logs 2023-06-04 23:33:32 -04:00
44 changed files with 153 additions and 88 deletions

View File

@@ -1,6 +1,6 @@
{ {
"name": "hoppscotch-backend", "name": "hoppscotch-backend",
"version": "2023.4.4", "version": "2023.4.6",
"description": "", "description": "",
"author": "", "author": "",
"private": true, "private": true,

View File

@@ -432,6 +432,7 @@
"view_my_links": "View my links" "view_my_links": "View my links"
}, },
"response": { "response": {
"audio": "Audio",
"body": "Reaksie liggaam", "body": "Reaksie liggaam",
"filter_response_body": "Filter JSON response body (uses JSONPath syntax)", "filter_response_body": "Filter JSON response body (uses JSONPath syntax)",
"headers": "Opskrifte", "headers": "Opskrifte",
@@ -445,6 +446,7 @@
"status": "Status", "status": "Status",
"time": "Tyd", "time": "Tyd",
"title": "Reaksie", "title": "Reaksie",
"video": "Video",
"waiting_for_connection": "wag vir verbinding", "waiting_for_connection": "wag vir verbinding",
"xml": "XML" "xml": "XML"
}, },

View File

@@ -432,6 +432,7 @@
"view_my_links": "View my links" "view_my_links": "View my links"
}, },
"response": { "response": {
"audio": "Audio",
"body": "هيئة الاستجابة", "body": "هيئة الاستجابة",
"filter_response_body": "Filter JSON response body (uses JSONPath syntax)", "filter_response_body": "Filter JSON response body (uses JSONPath syntax)",
"headers": "الرؤوس", "headers": "الرؤوس",
@@ -445,6 +446,7 @@
"status": "حالة", "status": "حالة",
"time": "وقت", "time": "وقت",
"title": "إجابة", "title": "إجابة",
"video": "Video",
"waiting_for_connection": "في انتظار الاتصال", "waiting_for_connection": "في انتظار الاتصال",
"xml": "XML" "xml": "XML"
}, },

View File

@@ -432,6 +432,7 @@
"view_my_links": "Visualitzar els meus enllaços" "view_my_links": "Visualitzar els meus enllaços"
}, },
"response": { "response": {
"audio": "Audio",
"body": "Cos de resposta", "body": "Cos de resposta",
"filter_response_body": "Filtrar el cos de la resposta JSON (utilitza la sintaxi JSONPath)", "filter_response_body": "Filtrar el cos de la resposta JSON (utilitza la sintaxi JSONPath)",
"headers": "Capçaleres", "headers": "Capçaleres",
@@ -445,6 +446,7 @@
"status": "Estat", "status": "Estat",
"time": "Temps", "time": "Temps",
"title": "Resposta", "title": "Resposta",
"video": "Video",
"waiting_for_connection": "esperant la connexió", "waiting_for_connection": "esperant la connexió",
"xml": "XML" "xml": "XML"
}, },

View File

@@ -432,6 +432,7 @@
"view_my_links": "查看我的链接" "view_my_links": "查看我的链接"
}, },
"response": { "response": {
"audio": "Audio",
"body": "响应体", "body": "响应体",
"filter_response_body": "筛选JSON响应本体使用JSONPath语法", "filter_response_body": "筛选JSON响应本体使用JSONPath语法",
"headers": "响应头", "headers": "响应头",
@@ -445,6 +446,7 @@
"status": "状态", "status": "状态",
"time": "时间", "time": "时间",
"title": "响应", "title": "响应",
"video": "Video",
"waiting_for_connection": "等待连接", "waiting_for_connection": "等待连接",
"xml": "XML" "xml": "XML"
}, },

View File

@@ -432,6 +432,7 @@
"view_my_links": "View my links" "view_my_links": "View my links"
}, },
"response": { "response": {
"audio": "Audio",
"body": "Odpovědní orgán", "body": "Odpovědní orgán",
"filter_response_body": "Filter JSON response body (uses JSONPath syntax)", "filter_response_body": "Filter JSON response body (uses JSONPath syntax)",
"headers": "Záhlaví", "headers": "Záhlaví",
@@ -445,6 +446,7 @@
"status": "Postavení", "status": "Postavení",
"time": "Čas", "time": "Čas",
"title": "Odezva", "title": "Odezva",
"video": "Video",
"waiting_for_connection": "čekání na připojení", "waiting_for_connection": "čekání na připojení",
"xml": "XML" "xml": "XML"
}, },

View File

@@ -432,6 +432,7 @@
"view_my_links": "View my links" "view_my_links": "View my links"
}, },
"response": { "response": {
"audio": "Audio",
"body": "Svarorgan", "body": "Svarorgan",
"filter_response_body": "Filter JSON response body (uses JSONPath syntax)", "filter_response_body": "Filter JSON response body (uses JSONPath syntax)",
"headers": "Overskrifter", "headers": "Overskrifter",
@@ -445,6 +446,7 @@
"status": "Status", "status": "Status",
"time": "Tid", "time": "Tid",
"title": "Respons", "title": "Respons",
"video": "Video",
"waiting_for_connection": "venter på forbindelse", "waiting_for_connection": "venter på forbindelse",
"xml": "XML" "xml": "XML"
}, },

View File

@@ -432,6 +432,7 @@
"view_my_links": "View my links" "view_my_links": "View my links"
}, },
"response": { "response": {
"audio": "Audio",
"body": "Antworttext", "body": "Antworttext",
"filter_response_body": "Filter JSON response body (uses JSONPath syntax)", "filter_response_body": "Filter JSON response body (uses JSONPath syntax)",
"headers": "Header", "headers": "Header",
@@ -445,6 +446,7 @@
"status": "Status", "status": "Status",
"time": "Zeit", "time": "Zeit",
"title": "Antwort", "title": "Antwort",
"video": "Video",
"waiting_for_connection": "auf Verbindung warten", "waiting_for_connection": "auf Verbindung warten",
"xml": "XML" "xml": "XML"
}, },

View File

@@ -432,6 +432,7 @@
"view_my_links": "Προβολή των links μου" "view_my_links": "Προβολή των links μου"
}, },
"response": { "response": {
"audio": "Audio",
"body": "Σώμα απόκρισης", "body": "Σώμα απόκρισης",
"filter_response_body": "Filter JSON response body (uses JSONPath syntax)", "filter_response_body": "Filter JSON response body (uses JSONPath syntax)",
"headers": "Κεφαλίδες", "headers": "Κεφαλίδες",
@@ -445,6 +446,7 @@
"status": "Κατάσταση", "status": "Κατάσταση",
"time": "χρόνος", "time": "χρόνος",
"title": "Απάντηση", "title": "Απάντηση",
"video": "Video",
"waiting_for_connection": "περιμένοντας τη σύνδεση", "waiting_for_connection": "περιμένοντας τη σύνδεση",
"xml": "XML" "xml": "XML"
}, },

View File

@@ -432,6 +432,7 @@
"view_my_links": "Ver mis enlaces" "view_my_links": "Ver mis enlaces"
}, },
"response": { "response": {
"audio": "Audio",
"body": "Cuerpo de respuesta", "body": "Cuerpo de respuesta",
"filter_response_body": "Filtrar el cuerpo de la respuesta JSON (utiliza la sintaxis JSONPath)", "filter_response_body": "Filtrar el cuerpo de la respuesta JSON (utiliza la sintaxis JSONPath)",
"headers": "Encabezados", "headers": "Encabezados",
@@ -445,6 +446,7 @@
"status": "Estado", "status": "Estado",
"time": "Tiempo", "time": "Tiempo",
"title": "Respuesta", "title": "Respuesta",
"video": "Video",
"waiting_for_connection": "esperando la conexión", "waiting_for_connection": "esperando la conexión",
"xml": "XML" "xml": "XML"
}, },

View File

@@ -432,6 +432,7 @@
"view_my_links": "View my links" "view_my_links": "View my links"
}, },
"response": { "response": {
"audio": "Audio",
"body": "Vastauselin", "body": "Vastauselin",
"filter_response_body": "Filter JSON response body (uses JSONPath syntax)", "filter_response_body": "Filter JSON response body (uses JSONPath syntax)",
"headers": "Otsikot", "headers": "Otsikot",
@@ -445,6 +446,7 @@
"status": "Tila", "status": "Tila",
"time": "Aika", "time": "Aika",
"title": "Vastaus", "title": "Vastaus",
"video": "Video",
"waiting_for_connection": "yhteyttä odotellessa", "waiting_for_connection": "yhteyttä odotellessa",
"xml": "XML" "xml": "XML"
}, },

View File

@@ -432,6 +432,7 @@
"view_my_links": "Voir mes liens" "view_my_links": "Voir mes liens"
}, },
"response": { "response": {
"audio": "Audio",
"body": "Corps de réponse", "body": "Corps de réponse",
"filter_response_body": "Filter JSON response body (uses JSONPath syntax)", "filter_response_body": "Filter JSON response body (uses JSONPath syntax)",
"headers": "En-têtes", "headers": "En-têtes",
@@ -445,6 +446,7 @@
"status": "Statut", "status": "Statut",
"time": "Temps", "time": "Temps",
"title": "Réponse", "title": "Réponse",
"video": "Video",
"waiting_for_connection": "En attente de connexion", "waiting_for_connection": "En attente de connexion",
"xml": "XML" "xml": "XML"
}, },

View File

@@ -432,6 +432,7 @@
"view_my_links": "View my links" "view_my_links": "View my links"
}, },
"response": { "response": {
"audio": "Audio",
"body": "גוף תגובה", "body": "גוף תגובה",
"filter_response_body": "Filter JSON response body (uses JSONPath syntax)", "filter_response_body": "Filter JSON response body (uses JSONPath syntax)",
"headers": "כותרות", "headers": "כותרות",
@@ -445,6 +446,7 @@
"status": "סטָטוּס", "status": "סטָטוּס",
"time": "זְמַן", "time": "זְמַן",
"title": "תְגוּבָה", "title": "תְגוּבָה",
"video": "Video",
"waiting_for_connection": "מחכה לחיבור", "waiting_for_connection": "מחכה לחיבור",
"xml": "XML" "xml": "XML"
}, },

View File

@@ -433,6 +433,7 @@
"view_my_links": "मेरे लिंक देखें" "view_my_links": "मेरे लिंक देखें"
}, },
"response": { "response": {
"audio": "Audio",
"body": "प्रतिक्रिया निकाय", "body": "प्रतिक्रिया निकाय",
"filter_response_body": "फ़िल्टर JSON रिस्पांस बॉडी (JSONPATH सिंटैक्स का उपयोग करता है)", "filter_response_body": "फ़िल्टर JSON रिस्पांस बॉडी (JSONPATH सिंटैक्स का उपयोग करता है)",
"headers": "हेडर", "headers": "हेडर",
@@ -446,6 +447,7 @@
"status": "दर्जा", "status": "दर्जा",
"time": "समय", "time": "समय",
"title": "जवाब", "title": "जवाब",
"video": "Video",
"waiting_for_connection": "जुडने के लिए इंतजार", "waiting_for_connection": "जुडने के लिए इंतजार",
"xml": "एक्सएमएल" "xml": "एक्सएमएल"
}, },

View File

@@ -432,6 +432,7 @@
"view_my_links": "View my links" "view_my_links": "View my links"
}, },
"response": { "response": {
"audio": "Audio",
"body": "Válasz törzse", "body": "Válasz törzse",
"filter_response_body": "Filter JSON response body (uses JSONPath syntax)", "filter_response_body": "Filter JSON response body (uses JSONPath syntax)",
"headers": "Fejlécek", "headers": "Fejlécek",
@@ -445,6 +446,7 @@
"status": "Állapot", "status": "Állapot",
"time": "Idő", "time": "Idő",
"title": "Válasz", "title": "Válasz",
"video": "Video",
"waiting_for_connection": "várakozás kapcsolódásra", "waiting_for_connection": "várakozás kapcsolódásra",
"xml": "XML" "xml": "XML"
}, },

View File

@@ -432,6 +432,7 @@
"view_my_links": "Lihat tautan saya" "view_my_links": "Lihat tautan saya"
}, },
"response": { "response": {
"audio": "Audio",
"body": "Response Body", "body": "Response Body",
"filter_response_body": "Filter body respons JSON (menggunakan sintaks JSONPath)", "filter_response_body": "Filter body respons JSON (menggunakan sintaks JSONPath)",
"headers": "Headers", "headers": "Headers",
@@ -445,6 +446,7 @@
"status": "Status", "status": "Status",
"time": "Waktu", "time": "Waktu",
"title": "Response", "title": "Response",
"video": "Video",
"waiting_for_connection": "Menunggu koneksi", "waiting_for_connection": "Menunggu koneksi",
"xml": "XML" "xml": "XML"
}, },

View File

@@ -432,6 +432,7 @@
"view_my_links": "View my links" "view_my_links": "View my links"
}, },
"response": { "response": {
"audio": "Audio",
"body": "Corpo della risposta", "body": "Corpo della risposta",
"filter_response_body": "Filter JSON response body (uses JSONPath syntax)", "filter_response_body": "Filter JSON response body (uses JSONPath syntax)",
"headers": "Intestazioni", "headers": "Intestazioni",
@@ -445,6 +446,7 @@
"status": "Stato", "status": "Stato",
"time": "Tempo impiegato", "time": "Tempo impiegato",
"title": "Risposta", "title": "Risposta",
"video": "Video",
"waiting_for_connection": "In attesa di connessione", "waiting_for_connection": "In attesa di connessione",
"xml": "XML" "xml": "XML"
}, },

View File

@@ -432,6 +432,7 @@
"view_my_links": "自分のリンクを見る" "view_my_links": "自分のリンクを見る"
}, },
"response": { "response": {
"audio": "Audio",
"body": "レスポンスボディ", "body": "レスポンスボディ",
"filter_response_body": "JSONレスポンスボディをフィルタ (JSONPathシンタックスを使用)", "filter_response_body": "JSONレスポンスボディをフィルタ (JSONPathシンタックスを使用)",
"headers": "ヘッダー", "headers": "ヘッダー",
@@ -445,6 +446,7 @@
"status": "ステータス", "status": "ステータス",
"time": "時間", "time": "時間",
"title": "レスポンス", "title": "レスポンス",
"video": "Video",
"waiting_for_connection": "接続を待っています", "waiting_for_connection": "接続を待っています",
"xml": "XML" "xml": "XML"
}, },

View File

@@ -432,6 +432,7 @@
"view_my_links": "내 링크 보기" "view_my_links": "내 링크 보기"
}, },
"response": { "response": {
"audio": "Audio",
"body": "응답 본문", "body": "응답 본문",
"filter_response_body": "Filter JSON response body (uses JSONPath syntax)", "filter_response_body": "Filter JSON response body (uses JSONPath syntax)",
"headers": "헤더", "headers": "헤더",
@@ -445,6 +446,7 @@
"status": "상태", "status": "상태",
"time": "시간", "time": "시간",
"title": "제목", "title": "제목",
"video": "Video",
"waiting_for_connection": "연결 대기 중", "waiting_for_connection": "연결 대기 중",
"xml": "XML" "xml": "XML"
}, },

View File

@@ -432,6 +432,7 @@
"view_my_links": "View my links" "view_my_links": "View my links"
}, },
"response": { "response": {
"audio": "Audio",
"body": "Reactie inhoud", "body": "Reactie inhoud",
"filter_response_body": "Filter JSON response body (uses JSONPath syntax)", "filter_response_body": "Filter JSON response body (uses JSONPath syntax)",
"headers": "Headers", "headers": "Headers",
@@ -445,6 +446,7 @@
"status": "Status", "status": "Status",
"time": "Tijd", "time": "Tijd",
"title": "Antwoord", "title": "Antwoord",
"video": "Video",
"waiting_for_connection": "wachten op verbinding", "waiting_for_connection": "wachten op verbinding",
"xml": "XML" "xml": "XML"
}, },

View File

@@ -432,6 +432,7 @@
"view_my_links": "View my links" "view_my_links": "View my links"
}, },
"response": { "response": {
"audio": "Audio",
"body": "Svarkropp", "body": "Svarkropp",
"filter_response_body": "Filter JSON response body (uses JSONPath syntax)", "filter_response_body": "Filter JSON response body (uses JSONPath syntax)",
"headers": "Overskrifter", "headers": "Overskrifter",
@@ -445,6 +446,7 @@
"status": "Status", "status": "Status",
"time": "Tid", "time": "Tid",
"title": "Respons", "title": "Respons",
"video": "Video",
"waiting_for_connection": "venter på tilkobling", "waiting_for_connection": "venter på tilkobling",
"xml": "XML" "xml": "XML"
}, },

View File

@@ -432,6 +432,7 @@
"view_my_links": "View my links" "view_my_links": "View my links"
}, },
"response": { "response": {
"audio": "Audio",
"body": "Ciało odpowiedzi", "body": "Ciało odpowiedzi",
"filter_response_body": "Filter JSON response body (uses JSONPath syntax)", "filter_response_body": "Filter JSON response body (uses JSONPath syntax)",
"headers": "Nagłówki", "headers": "Nagłówki",
@@ -445,6 +446,7 @@
"status": "Status", "status": "Status",
"time": "Czas", "time": "Czas",
"title": "Odpowiedź", "title": "Odpowiedź",
"video": "Video",
"waiting_for_connection": "oczekiwanie na połączenie", "waiting_for_connection": "oczekiwanie na połączenie",
"xml": "XML" "xml": "XML"
}, },

View File

@@ -432,6 +432,7 @@
"view_my_links": "View my links" "view_my_links": "View my links"
}, },
"response": { "response": {
"audio": "Audio",
"body": "Corpo de Resposta", "body": "Corpo de Resposta",
"filter_response_body": "Filter JSON response body (uses JSONPath syntax)", "filter_response_body": "Filter JSON response body (uses JSONPath syntax)",
"headers": "Cabeçalhos", "headers": "Cabeçalhos",
@@ -445,6 +446,7 @@
"status": "Status", "status": "Status",
"time": "Tempo", "time": "Tempo",
"title": "Resposta", "title": "Resposta",
"video": "Video",
"waiting_for_connection": "aguardando conexão", "waiting_for_connection": "aguardando conexão",
"xml": "XML" "xml": "XML"
}, },

View File

@@ -432,6 +432,7 @@
"view_my_links": "View my links" "view_my_links": "View my links"
}, },
"response": { "response": {
"audio": "Audio",
"body": "Corpo de Resposta", "body": "Corpo de Resposta",
"filter_response_body": "Filter JSON response body (uses JSONPath syntax)", "filter_response_body": "Filter JSON response body (uses JSONPath syntax)",
"headers": "Cabeçalhos", "headers": "Cabeçalhos",
@@ -445,6 +446,7 @@
"status": "Status", "status": "Status",
"time": "Tempo", "time": "Tempo",
"title": "Resposta", "title": "Resposta",
"video": "Video",
"waiting_for_connection": "aguardando conexão", "waiting_for_connection": "aguardando conexão",
"xml": "XML" "xml": "XML"
}, },

View File

@@ -432,6 +432,7 @@
"view_my_links": "Vizualizare link-uri" "view_my_links": "Vizualizare link-uri"
}, },
"response": { "response": {
"audio": "Audio",
"body": "Corpul de răspuns", "body": "Corpul de răspuns",
"filter_response_body": "Filtrează corpul răspunsului JSON (folosește sintaxa JSONPath)", "filter_response_body": "Filtrează corpul răspunsului JSON (folosește sintaxa JSONPath)",
"headers": "Anteturi", "headers": "Anteturi",
@@ -445,6 +446,7 @@
"status": "Stare", "status": "Stare",
"time": "Timp", "time": "Timp",
"title": "Raspuns", "title": "Raspuns",
"video": "Video",
"waiting_for_connection": "Așteptând conexiunea", "waiting_for_connection": "Așteptând conexiunea",
"xml": "XML" "xml": "XML"
}, },

View File

@@ -432,6 +432,7 @@
"view_my_links": "View my links" "view_my_links": "View my links"
}, },
"response": { "response": {
"audio": "Audio",
"body": "Тело ответа", "body": "Тело ответа",
"filter_response_body": "Filter JSON response body (uses JSONPath syntax)", "filter_response_body": "Filter JSON response body (uses JSONPath syntax)",
"headers": "Заголовки", "headers": "Заголовки",
@@ -445,6 +446,7 @@
"status": "Статус", "status": "Статус",
"time": "Время", "time": "Время",
"title": "Ответ", "title": "Ответ",
"video": "Video",
"waiting_for_connection": "Ожидание соединения", "waiting_for_connection": "Ожидание соединения",
"xml": "XML" "xml": "XML"
}, },

View File

@@ -432,6 +432,7 @@
"view_my_links": "View my links" "view_my_links": "View my links"
}, },
"response": { "response": {
"audio": "Audio",
"body": "Тело за одговор", "body": "Тело за одговор",
"filter_response_body": "Filter JSON response body (uses JSONPath syntax)", "filter_response_body": "Filter JSON response body (uses JSONPath syntax)",
"headers": "Заглавља", "headers": "Заглавља",
@@ -445,6 +446,7 @@
"status": "Статус", "status": "Статус",
"time": "време", "time": "време",
"title": "Одговор", "title": "Одговор",
"video": "Video",
"waiting_for_connection": "чека везу", "waiting_for_connection": "чека везу",
"xml": "КСМЛ" "xml": "КСМЛ"
}, },

View File

@@ -432,6 +432,7 @@
"view_my_links": "View my links" "view_my_links": "View my links"
}, },
"response": { "response": {
"audio": "Audio",
"body": "Svarskommitté", "body": "Svarskommitté",
"filter_response_body": "Filter JSON response body (uses JSONPath syntax)", "filter_response_body": "Filter JSON response body (uses JSONPath syntax)",
"headers": "Rubriker", "headers": "Rubriker",
@@ -445,6 +446,7 @@
"status": "Status", "status": "Status",
"time": "Tid", "time": "Tid",
"title": "Svar", "title": "Svar",
"video": "Video",
"waiting_for_connection": "väntar på anslutning", "waiting_for_connection": "väntar på anslutning",
"xml": "XML" "xml": "XML"
}, },

View File

@@ -122,7 +122,7 @@
"edit": "Koleksiyonu düzenle", "edit": "Koleksiyonu düzenle",
"invalid_name": "Lütfen koleksiyon için geçerli bir ad girin", "invalid_name": "Lütfen koleksiyon için geçerli bir ad girin",
"invalid_root_move": "Collection already in the root", "invalid_root_move": "Collection already in the root",
"moved": "Moved Successfully", "moved": "Başarıyla taşındı",
"my_collections": "Koleksiyonlarım", "my_collections": "Koleksiyonlarım",
"name": "Yeni Koleksiyonum", "name": "Yeni Koleksiyonum",
"name_length_insufficient": "Koleksiyon adı en az 3 karakter uzunluğunda olmalıdır", "name_length_insufficient": "Koleksiyon adı en az 3 karakter uzunluğunda olmalıdır",
@@ -147,7 +147,7 @@
"remove_team": "Bu takımı silmek istediğinizden emin misiniz?", "remove_team": "Bu takımı silmek istediğinizden emin misiniz?",
"remove_telemetry": "Telemetriden çıkmak istediğinizden emin misiniz?", "remove_telemetry": "Telemetriden çıkmak istediğinizden emin misiniz?",
"request_change": "Are you sure you want to discard current request, unsaved changes will be lost.", "request_change": "Are you sure you want to discard current request, unsaved changes will be lost.",
"save_unsaved_tab": "Do you want to save changes made in this tab?", "save_unsaved_tab": "Bu sekmede yapılan değişiklikleri kaydetmek istiyor musunuz?",
"sync": "Bu çalışma alanını senkronize etmek istediğinizden emin misiniz?" "sync": "Bu çalışma alanını senkronize etmek istediğinizden emin misiniz?"
}, },
"count": { "count": {
@@ -368,9 +368,9 @@
}, },
"profile": { "profile": {
"app_settings": "Uygulama ayarları", "app_settings": "Uygulama ayarları",
"default_hopp_displayname": "Unnamed User", "default_hopp_displayname": "Adsız Kullanıcı",
"editor": "Düzenleyici", "editor": "Editör",
"editor_description": "Editors can add, edit, and delete requests.", "editor_description": "Editörler istekleri ekleyebilir, düzenleyebilir ve silebilir.",
"email_verification_mail": "Doğrulama bağlantısı e-postanıza gönderildi. E-postanızı doğrulamak için gelen bağlantıya tıklayınız.", "email_verification_mail": "Doğrulama bağlantısı e-postanıza gönderildi. E-postanızı doğrulamak için gelen bağlantıya tıklayınız.",
"no_permission": "Bu eylemi gerçekleştirmek için gerekli yetkiniz yok.", "no_permission": "Bu eylemi gerçekleştirmek için gerekli yetkiniz yok.",
"owner": "Kurucu", "owner": "Kurucu",
@@ -432,6 +432,7 @@
"view_my_links": "View my links" "view_my_links": "View my links"
}, },
"response": { "response": {
"audio": "Audio",
"body": "Yanıt gövdesi", "body": "Yanıt gövdesi",
"filter_response_body": "Filter JSON response body (uses JSONPath syntax)", "filter_response_body": "Filter JSON response body (uses JSONPath syntax)",
"headers": "Başlıklar", "headers": "Başlıklar",
@@ -445,6 +446,7 @@
"status": "Durum", "status": "Durum",
"time": "Zaman", "time": "Zaman",
"title": "Cevap", "title": "Cevap",
"video": "Video",
"waiting_for_connection": "Bağlantı için bekleniyor", "waiting_for_connection": "Bağlantı için bekleniyor",
"xml": "XML" "xml": "XML"
}, },

View File

@@ -432,6 +432,7 @@
"view_my_links": "檢視我的連結" "view_my_links": "檢視我的連結"
}, },
"response": { "response": {
"audio": "Audio",
"body": "回應本體", "body": "回應本體",
"filter_response_body": "篩選 JSON 回應本體 (使用 JSONPath 語法)", "filter_response_body": "篩選 JSON 回應本體 (使用 JSONPath 語法)",
"headers": "回應標頭", "headers": "回應標頭",
@@ -445,6 +446,7 @@
"status": "狀態", "status": "狀態",
"time": "時間", "time": "時間",
"title": "回應", "title": "回應",
"video": "Video",
"waiting_for_connection": "等待連線", "waiting_for_connection": "等待連線",
"xml": "XML" "xml": "XML"
}, },

View File

@@ -432,6 +432,7 @@
"view_my_links": "Переглянути мої посилання" "view_my_links": "Переглянути мої посилання"
}, },
"response": { "response": {
"audio": "Audio",
"body": "Орган реагування", "body": "Орган реагування",
"filter_response_body": "Фільтр тіла відповідей JSON (використовує синтаксис JSONPath)", "filter_response_body": "Фільтр тіла відповідей JSON (використовує синтаксис JSONPath)",
"headers": "Заголовки", "headers": "Заголовки",
@@ -445,6 +446,7 @@
"status": "Статус", "status": "Статус",
"time": "Час", "time": "Час",
"title": "Відповідь", "title": "Відповідь",
"video": "Video",
"waiting_for_connection": "очікування підключення", "waiting_for_connection": "очікування підключення",
"xml": "XML" "xml": "XML"
}, },

View File

@@ -4,7 +4,7 @@
"cancel": "Hủy bỏ", "cancel": "Hủy bỏ",
"choose_file": "Chọn một tệp", "choose_file": "Chọn một tệp",
"clear": "Thông thoáng", "clear": "Thông thoáng",
"clear_all": "Quet sạch tât cả", "clear_all": "Quet sạch tt cả",
"close": "Close", "close": "Close",
"connect": "Liên kết", "connect": "Liên kết",
"connecting": "Connecting", "connecting": "Connecting",
@@ -432,6 +432,7 @@
"view_my_links": "View my links" "view_my_links": "View my links"
}, },
"response": { "response": {
"audio": "Audio",
"body": "Cơ quan phản hồi", "body": "Cơ quan phản hồi",
"filter_response_body": "Filter JSON response body (uses JSONPath syntax)", "filter_response_body": "Filter JSON response body (uses JSONPath syntax)",
"headers": "Tiêu đề", "headers": "Tiêu đề",
@@ -445,6 +446,7 @@
"status": "Tình trạng", "status": "Tình trạng",
"time": "Thời gian", "time": "Thời gian",
"title": "Phản ứng", "title": "Phản ứng",
"video": "Video",
"waiting_for_connection": "Đang đợi kết nối", "waiting_for_connection": "Đang đợi kết nối",
"xml": "XML" "xml": "XML"
}, },

View File

@@ -1,7 +1,7 @@
{ {
"name": "@hoppscotch/common", "name": "@hoppscotch/common",
"private": true, "private": true,
"version": "2023.4.4", "version": "2023.4.6",
"scripts": { "scripts": {
"dev": "pnpm exec npm-run-all -p -l dev:*", "dev": "pnpm exec npm-run-all -p -l dev:*",
"dev:vite": "vite", "dev:vite": "vite",

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.9 KiB

After

Width:  |  Height:  |  Size: 12 KiB

View File

@@ -134,11 +134,13 @@ declare module '@vue/runtime-core' {
IconLucideUsers: typeof import('~icons/lucide/users')['default'] IconLucideUsers: typeof import('~icons/lucide/users')['default']
LensesHeadersRenderer: typeof import('./components/lenses/HeadersRenderer.vue')['default'] LensesHeadersRenderer: typeof import('./components/lenses/HeadersRenderer.vue')['default']
LensesHeadersRendererEntry: typeof import('./components/lenses/HeadersRendererEntry.vue')['default'] LensesHeadersRendererEntry: typeof import('./components/lenses/HeadersRendererEntry.vue')['default']
LensesRenderersAudioLensRenderer: typeof import('./components/lenses/renderers/AudioLensRenderer.vue')['default']
LensesRenderersHTMLLensRenderer: typeof import('./components/lenses/renderers/HTMLLensRenderer.vue')['default'] LensesRenderersHTMLLensRenderer: typeof import('./components/lenses/renderers/HTMLLensRenderer.vue')['default']
LensesRenderersImageLensRenderer: typeof import('./components/lenses/renderers/ImageLensRenderer.vue')['default'] LensesRenderersImageLensRenderer: typeof import('./components/lenses/renderers/ImageLensRenderer.vue')['default']
LensesRenderersJSONLensRenderer: typeof import('./components/lenses/renderers/JSONLensRenderer.vue')['default'] LensesRenderersJSONLensRenderer: typeof import('./components/lenses/renderers/JSONLensRenderer.vue')['default']
LensesRenderersPDFLensRenderer: typeof import('./components/lenses/renderers/PDFLensRenderer.vue')['default'] LensesRenderersPDFLensRenderer: typeof import('./components/lenses/renderers/PDFLensRenderer.vue')['default']
LensesRenderersRawLensRenderer: typeof import('./components/lenses/renderers/RawLensRenderer.vue')['default'] LensesRenderersRawLensRenderer: typeof import('./components/lenses/renderers/RawLensRenderer.vue')['default']
LensesRenderersVideoLensRenderer: typeof import('./components/lenses/renderers/VideoLensRenderer.vue')['default']
LensesRenderersXMLLensRenderer: typeof import('./components/lenses/renderers/XMLLensRenderer.vue')['default'] LensesRenderersXMLLensRenderer: typeof import('./components/lenses/renderers/XMLLensRenderer.vue')['default']
LensesResponseBodyRenderer: typeof import('./components/lenses/ResponseBodyRenderer.vue')['default'] LensesResponseBodyRenderer: typeof import('./components/lenses/ResponseBodyRenderer.vue')['default']
ProfileShortcode: typeof import('./components/profile/Shortcode.vue')['default'] ProfileShortcode: typeof import('./components/profile/Shortcode.vue')['default']

View File

@@ -125,8 +125,8 @@
@hide-modal="displayModalEditFolder(false)" @hide-modal="displayModalEditFolder(false)"
/> />
<CollectionsEditRequest <CollectionsEditRequest
v-model="editingRequestName"
:show="showModalEditRequest" :show="showModalEditRequest"
:model-value="editingRequest ? editingRequest.name : ''"
:loading-state="modalLoadingState" :loading-state="modalLoadingState"
@submit="updateEditingRequest" @submit="updateEditingRequest"
@hide-modal="displayModalEditRequest(false)" @hide-modal="displayModalEditRequest(false)"
@@ -157,7 +157,7 @@
</template> </template>
<script setup lang="ts"> <script setup lang="ts">
import { computed, PropType, ref, watch } from "vue" import { computed, nextTick, PropType, ref, watch } from "vue"
import { useToast } from "@composables/toast" import { useToast } from "@composables/toast"
import { useI18n } from "@composables/i18n" import { useI18n } from "@composables/i18n"
import { Picked } from "~/helpers/types/HoppPicked" import { Picked } from "~/helpers/types/HoppPicked"
@@ -288,6 +288,7 @@ const editingFolder = ref<
const editingFolderName = ref<string | null>(null) const editingFolderName = ref<string | null>(null)
const editingFolderPath = ref<string | null>(null) const editingFolderPath = ref<string | null>(null)
const editingRequest = ref<HoppRESTRequest | null>(null) const editingRequest = ref<HoppRESTRequest | null>(null)
const editingRequestName = ref("")
const editingRequestIndex = ref<number | null>(null) const editingRequestIndex = ref<number | null>(null)
const editingRequestID = ref<string | null>(null) const editingRequestID = ref<string | null>(null)
@@ -860,6 +861,7 @@ const editRequest = (payload: {
}) => { }) => {
const { folderPath, requestIndex, request } = payload const { folderPath, requestIndex, request } = payload
editingRequest.value = request editingRequest.value = request
editingRequestName.value = request.name ?? ""
if (collectionsType.value.type === "my-collections" && folderPath) { if (collectionsType.value.type === "my-collections" && folderPath) {
editingFolderPath.value = folderPath editingFolderPath.value = folderPath
editingRequestIndex.value = parseInt(requestIndex) editingRequestIndex.value = parseInt(requestIndex)
@@ -893,6 +895,9 @@ const updateEditingRequest = (newName: string) => {
if (possibleActiveTab) { if (possibleActiveTab) {
possibleActiveTab.value.document.request.name = requestUpdated.name possibleActiveTab.value.document.request.name = requestUpdated.name
nextTick(() => {
possibleActiveTab.value.document.isDirty = false
})
} }
displayModalEditRequest(false) displayModalEditRequest(false)
@@ -931,6 +936,9 @@ const updateEditingRequest = (newName: string) => {
if (possibleTab) { if (possibleTab) {
possibleTab.value.document.request.name = requestName possibleTab.value.document.request.name = requestName
nextTick(() => {
possibleTab.value.document.isDirty = false
})
} }
} }
} }

View File

@@ -49,7 +49,7 @@
/> />
<HoppSmartTabs <HoppSmartTabs
v-model="selectedEnvTab" v-model="selectedEnvTab"
styles="sticky overflow-x-auto my-2 border border-divider rounded flex-shrink-0 z-0 top-0 bg-primary" styles="sticky overflow-x-auto my-2 border border-divider rounded flex-shrink-0 z-10 top-0 bg-primary"
render-inactive-tabs render-inactive-tabs
> >
<HoppSmartTab <HoppSmartTab
@@ -97,7 +97,7 @@
<HoppSmartSpinner class="my-4" /> <HoppSmartSpinner class="my-4" />
<span class="text-secondaryLight">{{ t("state.loading") }}</span> <span class="text-secondaryLight">{{ t("state.loading") }}</span>
</div> </div>
<div v-if="isTeamSelected" class="flex flex-col"> <div v-else-if="isTeamSelected" class="flex flex-col">
<HoppSmartItem <HoppSmartItem
v-for="(gen, index) in teamEnvironmentList" v-for="(gen, index) in teamEnvironmentList"
:key="`gen-team-${index}`" :key="`gen-team-${index}`"
@@ -161,10 +161,14 @@ import {
selectedEnvironmentIndex$, selectedEnvironmentIndex$,
setSelectedEnvironmentIndex, setSelectedEnvironmentIndex,
} from "~/newstore/environments" } from "~/newstore/environments"
import { workspaceStatus$ } from "~/newstore/workspace" import { changeWorkspace, workspaceStatus$ } from "~/newstore/workspace"
import TeamEnvironmentAdapter from "~/helpers/teams/TeamEnvironmentAdapter" import TeamEnvironmentAdapter from "~/helpers/teams/TeamEnvironmentAdapter"
import { useColorMode } from "@composables/theming" import { useColorMode } from "@composables/theming"
import { breakpointsTailwind, useBreakpoints } from "@vueuse/core" import { breakpointsTailwind, useBreakpoints } from "@vueuse/core"
import TeamListAdapter from "~/helpers/teams/TeamListAdapter"
import { useLocalState } from "~/newstore/localstate"
import { onLoggedIn } from "~/composables/auth"
import { GetMyTeamsQuery } from "~/helpers/backend/graphql"
const breakpoints = useBreakpoints(breakpointsTailwind) const breakpoints = useBreakpoints(breakpointsTailwind)
const mdAndLarger = breakpoints.greater("md") const mdAndLarger = breakpoints.greater("md")
@@ -213,6 +217,38 @@ watch(
} }
) )
// TeamList-Adapter
const teamListAdapter = new TeamListAdapter(true)
const myTeams = useReadonlyStream(teamListAdapter.teamList$, null)
const teamListFetched = ref(false)
const REMEMBERED_TEAM_ID = useLocalState("REMEMBERED_TEAM_ID")
onLoggedIn(() => {
!teamListAdapter.isInitialized && teamListAdapter.initialize()
})
const switchToTeamWorkspace = (team: GetMyTeamsQuery["myTeams"][number]) => {
REMEMBERED_TEAM_ID.value = team.id
changeWorkspace({
teamID: team.id,
teamName: team.name,
type: "team",
})
}
watch(
() => myTeams.value,
(newTeams) => {
if (newTeams && !teamListFetched.value) {
teamListFetched.value = true
if (REMEMBERED_TEAM_ID.value) {
const team = newTeams.find((t) => t.id === REMEMBERED_TEAM_ID.value)
if (team) switchToTeamWorkspace(team)
}
}
}
)
const selectedEnv = computed(() => { const selectedEnv = computed(() => {
if (selectedEnvironmentIndex.value.type === "MY_ENV") { if (selectedEnvironmentIndex.value.type === "MY_ENV") {
return { return {

View File

@@ -217,6 +217,7 @@
@hide-modal="showCodegenModal = false" @hide-modal="showCodegenModal = false"
/> />
<CollectionsSaveRequest <CollectionsSaveRequest
v-if="showSaveRequestModal"
mode="rest" mode="rest"
:show="showSaveRequestModal" :show="showSaveRequestModal"
@hide-modal="showSaveRequestModal = false" @hide-modal="showSaveRequestModal = false"

View File

@@ -6,14 +6,18 @@ import { isJSONContentType } from "./utils/contenttypes"
* Handles translations for all the hopp.io REST Shareable URL params * Handles translations for all the hopp.io REST Shareable URL params
*/ */
export function translateExtURLParams( export function translateExtURLParams(
urlParams: Record<string, any> urlParams: Record<string, any>,
initialReq?: HoppRESTRequest
): HoppRESTRequest { ): HoppRESTRequest {
if (urlParams.v) return parseV1ExtURL(urlParams) if (urlParams.v) return parseV1ExtURL(urlParams, initialReq)
else return parseV0ExtURL(urlParams) else return parseV0ExtURL(urlParams, initialReq)
} }
function parseV0ExtURL(urlParams: Record<string, any>): HoppRESTRequest { function parseV0ExtURL(
const resolvedReq = getDefaultRESTRequest() urlParams: Record<string, any>,
initialReq?: HoppRESTRequest
): HoppRESTRequest {
const resolvedReq = initialReq ?? getDefaultRESTRequest()
if (urlParams.method && typeof urlParams.method === "string") { if (urlParams.method && typeof urlParams.method === "string") {
resolvedReq.method = urlParams.method resolvedReq.method = urlParams.method
@@ -89,8 +93,11 @@ function parseV0ExtURL(urlParams: Record<string, any>): HoppRESTRequest {
return resolvedReq return resolvedReq
} }
function parseV1ExtURL(urlParams: Record<string, any>): HoppRESTRequest { function parseV1ExtURL(
const resolvedReq = getDefaultRESTRequest() urlParams: Record<string, any>,
initialReq?: HoppRESTRequest
): HoppRESTRequest {
const resolvedReq = initialReq ?? getDefaultRESTRequest()
if (urlParams.headers && typeof urlParams.headers === "string") { if (urlParams.headers && typeof urlParams.headers === "string") {
resolvedReq.headers = JSON.parse(urlParams.headers) resolvedReq.headers = JSON.parse(urlParams.headers)

View File

@@ -79,8 +79,9 @@
@resolve="onResolveConfirmSaveTab" @resolve="onResolveConfirmSaveTab"
/> />
<CollectionsSaveRequest <CollectionsSaveRequest
v-if="savingRequest"
mode="rest"
:show="savingRequest" :show="savingRequest"
:mode="'rest'"
@hide-modal="onSaveModalClose" @hide-modal="onSaveModalClose"
/> />
</div> </div>
@@ -153,8 +154,11 @@ function bindRequestToURLParams() {
// If query params are empty, or contains code or error param (these are from Oauth Redirect) // If query params are empty, or contains code or error param (these are from Oauth Redirect)
// We skip URL params parsing // We skip URL params parsing
if (Object.keys(query).length === 0 || query.code || query.error) return if (Object.keys(query).length === 0 || query.code || query.error) return
const request = currentActiveTab.value.document.request
currentActiveTab.value.document.request = safelyExtractRESTRequest( currentActiveTab.value.document.request = safelyExtractRESTRequest(
translateExtURLParams(query), translateExtURLParams(query, request),
getDefaultRESTRequest() getDefaultRESTRequest()
) )
}) })

View File

@@ -1,7 +1,7 @@
{ {
"name": "@hoppscotch/selfhost-web", "name": "@hoppscotch/selfhost-web",
"private": true, "private": true,
"version": "2023.4.4", "version": "2023.4.6",
"type": "module", "type": "module",
"scripts": { "scripts": {
"dev:vite": "vite", "dev:vite": "vite",

View File

@@ -1,7 +1,7 @@
{ {
"name": "hoppscotch-sh-admin", "name": "hoppscotch-sh-admin",
"private": true, "private": true,
"version": "2023.4.4", "version": "2023.4.6",
"type": "module", "type": "module",
"scripts": { "scripts": {
"dev": "pnpm exec npm-run-all -p -l dev:*", "dev": "pnpm exec npm-run-all -p -l dev:*",

View File

@@ -115,7 +115,9 @@
}" }"
:style="[ :style="[
`--thumb-width: ${scrollThumb.width}px`, `--thumb-width: ${scrollThumb.width}px`,
`width: calc(100% - ${hasActions ? mdAndLarger ? '19rem' : '7rem' : '3rem'})`, `width: calc(100% - ${
hasActions ? (mdAndLarger ? '19rem' : '7rem') : '3rem'
})`,
]" ]"
id="myRange" id="myRange"
/> />
@@ -144,7 +146,11 @@ import {
nextTick, nextTick,
useSlots, useSlots,
} from "vue" } from "vue"
import { breakpointsTailwind, useBreakpoints, useElementSize } from "@vueuse/core" import {
breakpointsTailwind,
useBreakpoints,
useElementSize,
} from "@vueuse/core"
import type { Slot } from "vue" import type { Slot } from "vue"
import draggable from "vuedraggable-es" import draggable from "vuedraggable-es"
import { HoppUIPluginOptions, HOPP_UI_OPTIONS } from "./../../index" import { HoppUIPluginOptions, HOPP_UI_OPTIONS } from "./../../index"
@@ -350,8 +356,8 @@ watch(
rootMargin: "0px", rootMargin: "0px",
threshold: 1.0, threshold: 1.0,
}) })
observer.observe(element!)
if (element) observer.observe(element)
element?.scrollIntoView({ behavior: "smooth", inline: "center" }) element?.scrollIntoView({ behavior: "smooth", inline: "center" })
}) })
}, },

61
pnpm-lock.yaml generated
View File

@@ -58,25 +58,6 @@ importers:
specifier: ^4.6.3 specifier: ^4.6.3
version: 4.7.4 version: 4.7.4
packages/dioc:
dependencies:
rxjs:
specifier: ^7.8.1
version: 7.8.1
vue:
specifier: ^3.2.25
version: 3.2.45
devDependencies:
typescript:
specifier: ^4.9.4
version: 4.9.4
vite:
specifier: ^4.0.4
version: 4.0.4(@types/node@17.0.45)
vitest:
specifier: ^0.29.3
version: 0.29.8(terser@5.14.1)
packages/hoppscotch-backend: packages/hoppscotch-backend:
dependencies: dependencies:
'@nestjs-modules/mailer': '@nestjs-modules/mailer':
@@ -18610,14 +18591,6 @@ packages:
optionalDependencies: optionalDependencies:
fsevents: 2.3.2 fsevents: 2.3.2
/rollup@3.23.0:
resolution: {integrity: sha512-h31UlwEi7FHihLe1zbk+3Q7z1k/84rb9BSwmBSr/XjOCEaBJ2YyedQDuM0t/kfOS0IxM+vk1/zI9XxYj9V+NJQ==}
engines: {node: '>=14.18.0', npm: '>=8.0.0'}
hasBin: true
optionalDependencies:
fsevents: 2.3.2
dev: true
/run-async@2.4.1: /run-async@2.4.1:
resolution: {integrity: sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==} resolution: {integrity: sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==}
engines: {node: '>=0.12.0'} engines: {node: '>=0.12.0'}
@@ -21105,40 +21078,6 @@ packages:
optionalDependencies: optionalDependencies:
fsevents: 2.3.2 fsevents: 2.3.2
/vite@4.0.4(@types/node@17.0.45):
resolution: {integrity: sha512-xevPU7M8FU0i/80DMR+YhgrzR5KS2ORy1B4xcX/cXLsvnUWvfHuqMmVU6N0YiJ4JWGRJJsLCgjEzKjG9/GKoSw==}
engines: {node: ^14.18.0 || >=16.0.0}
hasBin: true
peerDependencies:
'@types/node': '>= 14'
less: '*'
sass: '*'
stylus: '*'
sugarss: '*'
terser: ^5.4.0
peerDependenciesMeta:
'@types/node':
optional: true
less:
optional: true
sass:
optional: true
stylus:
optional: true
sugarss:
optional: true
terser:
optional: true
dependencies:
'@types/node': 17.0.45
esbuild: 0.16.17
postcss: 8.4.21
resolve: 1.22.1
rollup: 3.23.0
optionalDependencies:
fsevents: 2.3.2
dev: true
/vitest@0.29.8(terser@5.14.1): /vitest@0.29.8(terser@5.14.1):
resolution: {integrity: sha512-JIAVi2GK5cvA6awGpH0HvH/gEG9PZ0a/WoxdiV3PmqK+3CjQMf8c+J/Vhv4mdZ2nRyXFw66sAg6qz7VNkaHfDQ==} resolution: {integrity: sha512-JIAVi2GK5cvA6awGpH0HvH/gEG9PZ0a/WoxdiV3PmqK+3CjQMf8c+J/Vhv4mdZ2nRyXFw66sAg6qz7VNkaHfDQ==}
engines: {node: '>=v14.16.0'} engines: {node: '>=v14.16.0'}