Commit 1efa25ee authored by Timothy J. Baek's avatar Timothy J. Baek
Browse files

chore: format

parent 54b65a89
...@@ -33,7 +33,11 @@ from utils.utils import ( ...@@ -33,7 +33,11 @@ from utils.utils import (
from utils.misc import parse_duration, validate_email_format from utils.misc import parse_duration, validate_email_format
from utils.webhook import post_webhook from utils.webhook import post_webhook
from constants import ERROR_MESSAGES, WEBHOOK_MESSAGES from constants import ERROR_MESSAGES, WEBHOOK_MESSAGES
from config import WEBUI_AUTH, WEBUI_AUTH_TRUSTED_EMAIL_HEADER, WEBUI_AUTH_TRUSTED_NAME_HEADER from config import (
WEBUI_AUTH,
WEBUI_AUTH_TRUSTED_EMAIL_HEADER,
WEBUI_AUTH_TRUSTED_NAME_HEADER,
)
router = APIRouter() router = APIRouter()
...@@ -112,7 +116,9 @@ async def signin(request: Request, form_data: SigninForm): ...@@ -112,7 +116,9 @@ async def signin(request: Request, form_data: SigninForm):
trusted_email = request.headers[WEBUI_AUTH_TRUSTED_EMAIL_HEADER].lower() trusted_email = request.headers[WEBUI_AUTH_TRUSTED_EMAIL_HEADER].lower()
trusted_name = trusted_email trusted_name = trusted_email
if WEBUI_AUTH_TRUSTED_NAME_HEADER: if WEBUI_AUTH_TRUSTED_NAME_HEADER:
trusted_name = request.headers.get(WEBUI_AUTH_TRUSTED_NAME_HEADER, trusted_email) trusted_name = request.headers.get(
WEBUI_AUTH_TRUSTED_NAME_HEADER, trusted_email
)
if not Users.get_user_by_email(trusted_email.lower()): if not Users.get_user_by_email(trusted_email.lower()):
await signup( await signup(
request, request,
......
...@@ -294,9 +294,7 @@ WEBUI_AUTH = os.environ.get("WEBUI_AUTH", "True").lower() == "true" ...@@ -294,9 +294,7 @@ WEBUI_AUTH = os.environ.get("WEBUI_AUTH", "True").lower() == "true"
WEBUI_AUTH_TRUSTED_EMAIL_HEADER = os.environ.get( WEBUI_AUTH_TRUSTED_EMAIL_HEADER = os.environ.get(
"WEBUI_AUTH_TRUSTED_EMAIL_HEADER", None "WEBUI_AUTH_TRUSTED_EMAIL_HEADER", None
) )
WEBUI_AUTH_TRUSTED_NAME_HEADER = os.environ.get( WEBUI_AUTH_TRUSTED_NAME_HEADER = os.environ.get("WEBUI_AUTH_TRUSTED_NAME_HEADER", None)
"WEBUI_AUTH_TRUSTED_NAME_HEADER", None
)
JWT_EXPIRES_IN = PersistentConfig( JWT_EXPIRES_IN = PersistentConfig(
"JWT_EXPIRES_IN", "auth.jwt_expiry", os.environ.get("JWT_EXPIRES_IN", "-1") "JWT_EXPIRES_IN", "auth.jwt_expiry", os.environ.get("JWT_EXPIRES_IN", "-1")
) )
......
...@@ -80,7 +80,11 @@ ...@@ -80,7 +80,11 @@
class="text-xs text-gray-700 uppercase bg-transparent dark:text-gray-200 border-b-2 dark:border-gray-800" class="text-xs text-gray-700 uppercase bg-transparent dark:text-gray-200 border-b-2 dark:border-gray-800"
> >
<tr> <tr>
<th scope="col" class="px-3 py-2 cursor-pointer select-none" on:click={() => setSortKey('title')}> <th
scope="col"
class="px-3 py-2 cursor-pointer select-none"
on:click={() => setSortKey('title')}
>
{$i18n.t('Title')} {$i18n.t('Title')}
{#if sortKey === 'title'} {#if sortKey === 'title'}
{sortOrder === 'asc' ? '▲' : '▼'} {sortOrder === 'asc' ? '▲' : '▼'}
...@@ -88,7 +92,11 @@ ...@@ -88,7 +92,11 @@
<span class="invisible">▲</span> <span class="invisible">▲</span>
{/if} {/if}
</th> </th>
<th scope="col" class="px-3 py-2 cursor-pointer select-none" on:click={() => setSortKey('created_at')}> <th
scope="col"
class="px-3 py-2 cursor-pointer select-none"
on:click={() => setSortKey('created_at')}
>
{$i18n.t('Created at')} {$i18n.t('Created at')}
{#if sortKey === 'created_at'} {#if sortKey === 'created_at'}
{sortOrder === 'asc' ? '▲' : '▼'} {sortOrder === 'asc' ? '▲' : '▼'}
...@@ -96,7 +104,11 @@ ...@@ -96,7 +104,11 @@
<span class="invisible">▲</span> <span class="invisible">▲</span>
{/if} {/if}
</th> </th>
<th scope="col" class="px-3 py-2 hidden md:flex cursor-pointer select-none" on:click={() => setSortKey('updated_at')}> <th
scope="col"
class="px-3 py-2 hidden md:flex cursor-pointer select-none"
on:click={() => setSortKey('updated_at')}
>
{$i18n.t('Updated at')} {$i18n.t('Updated at')}
{#if sortKey === 'updated_at'} {#if sortKey === 'updated_at'}
{sortOrder === 'asc' ? '▲' : '▼'} {sortOrder === 'asc' ? '▲' : '▼'}
...@@ -108,8 +120,7 @@ ...@@ -108,8 +120,7 @@
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
{#each chats {#each chats.sort((a, b) => {
.sort((a, b) => {
if (a[sortKey] < b[sortKey]) return sortOrder === 'asc' ? -1 : 1; if (a[sortKey] < b[sortKey]) return sortOrder === 'asc' ? -1 : 1;
if (a[sortKey] > b[sortKey]) return sortOrder === 'asc' ? 1 : -1; if (a[sortKey] > b[sortKey]) return sortOrder === 'asc' ? 1 : -1;
return 0; return 0;
......
...@@ -499,6 +499,7 @@ ...@@ -499,6 +499,7 @@
"System": "النظام", "System": "النظام",
"System Prompt": "محادثة النظام", "System Prompt": "محادثة النظام",
"Tags": "الوسوم", "Tags": "الوسوم",
"Tap to interrupt": "",
"Tavily API Key": "", "Tavily API Key": "",
"Tell us more:": "أخبرنا المزيد:", "Tell us more:": "أخبرنا المزيد:",
"Temperature": "درجة حرارة", "Temperature": "درجة حرارة",
...@@ -545,6 +546,7 @@ ...@@ -545,6 +546,7 @@
"Update": "", "Update": "",
"Update and Copy Link": "تحديث ونسخ الرابط", "Update and Copy Link": "تحديث ونسخ الرابط",
"Update password": "تحديث كلمة المرور", "Update password": "تحديث كلمة المرور",
"Updated at": "",
"Upload a GGUF model": "GGUF رفع موديل نوع", "Upload a GGUF model": "GGUF رفع موديل نوع",
"Upload Files": "تحميل الملفات", "Upload Files": "تحميل الملفات",
"Upload Pipeline": "", "Upload Pipeline": "",
......
...@@ -495,6 +495,7 @@ ...@@ -495,6 +495,7 @@
"System": "Система", "System": "Система",
"System Prompt": "Системен Промпт", "System Prompt": "Системен Промпт",
"Tags": "Тагове", "Tags": "Тагове",
"Tap to interrupt": "",
"Tavily API Key": "", "Tavily API Key": "",
"Tell us more:": "Повече информация:", "Tell us more:": "Повече информация:",
"Temperature": "Температура", "Temperature": "Температура",
...@@ -541,6 +542,7 @@ ...@@ -541,6 +542,7 @@
"Update": "", "Update": "",
"Update and Copy Link": "Обнови и копирай връзка", "Update and Copy Link": "Обнови и копирай връзка",
"Update password": "Обновяване на парола", "Update password": "Обновяване на парола",
"Updated at": "",
"Upload a GGUF model": "Качване на GGUF модел", "Upload a GGUF model": "Качване на GGUF модел",
"Upload Files": "Качване на файлове", "Upload Files": "Качване на файлове",
"Upload Pipeline": "", "Upload Pipeline": "",
......
...@@ -495,6 +495,7 @@ ...@@ -495,6 +495,7 @@
"System": "সিস্টেম", "System": "সিস্টেম",
"System Prompt": "সিস্টেম প্রম্পট", "System Prompt": "সিস্টেম প্রম্পট",
"Tags": "ট্যাগসমূহ", "Tags": "ট্যাগসমূহ",
"Tap to interrupt": "",
"Tavily API Key": "", "Tavily API Key": "",
"Tell us more:": "আরও বলুন:", "Tell us more:": "আরও বলুন:",
"Temperature": "তাপমাত্রা", "Temperature": "তাপমাত্রা",
...@@ -541,6 +542,7 @@ ...@@ -541,6 +542,7 @@
"Update": "", "Update": "",
"Update and Copy Link": "আপডেট এবং লিংক কপি করুন", "Update and Copy Link": "আপডেট এবং লিংক কপি করুন",
"Update password": "পাসওয়ার্ড আপডেট করুন", "Update password": "পাসওয়ার্ড আপডেট করুন",
"Updated at": "",
"Upload a GGUF model": "একটি GGUF মডেল আপলোড করুন", "Upload a GGUF model": "একটি GGUF মডেল আপলোড করুন",
"Upload Files": "ফাইল আপলোড করুন", "Upload Files": "ফাইল আপলোড করুন",
"Upload Pipeline": "", "Upload Pipeline": "",
......
...@@ -496,6 +496,7 @@ ...@@ -496,6 +496,7 @@
"System": "Sistema", "System": "Sistema",
"System Prompt": "Prompt del Sistema", "System Prompt": "Prompt del Sistema",
"Tags": "Etiquetes", "Tags": "Etiquetes",
"Tap to interrupt": "",
"Tavily API Key": "", "Tavily API Key": "",
"Tell us more:": "Dóna'ns més informació:", "Tell us more:": "Dóna'ns més informació:",
"Temperature": "Temperatura", "Temperature": "Temperatura",
...@@ -542,6 +543,7 @@ ...@@ -542,6 +543,7 @@
"Update": "", "Update": "",
"Update and Copy Link": "Actualitza i Copia enllaç", "Update and Copy Link": "Actualitza i Copia enllaç",
"Update password": "Actualitza contrasenya", "Update password": "Actualitza contrasenya",
"Updated at": "",
"Upload a GGUF model": "Puja un model GGUF", "Upload a GGUF model": "Puja un model GGUF",
"Upload Files": "Pujar fitxers", "Upload Files": "Pujar fitxers",
"Upload Pipeline": "", "Upload Pipeline": "",
......
...@@ -495,6 +495,7 @@ ...@@ -495,6 +495,7 @@
"System": "Sistema", "System": "Sistema",
"System Prompt": "Madasig nga Sistema", "System Prompt": "Madasig nga Sistema",
"Tags": "Mga tag", "Tags": "Mga tag",
"Tap to interrupt": "",
"Tavily API Key": "", "Tavily API Key": "",
"Tell us more:": "", "Tell us more:": "",
"Temperature": "Temperatura", "Temperature": "Temperatura",
...@@ -541,6 +542,7 @@ ...@@ -541,6 +542,7 @@
"Update": "", "Update": "",
"Update and Copy Link": "", "Update and Copy Link": "",
"Update password": "I-update ang password", "Update password": "I-update ang password",
"Updated at": "",
"Upload a GGUF model": "Pag-upload ug modelo sa GGUF", "Upload a GGUF model": "Pag-upload ug modelo sa GGUF",
"Upload Files": "", "Upload Files": "",
"Upload Pipeline": "", "Upload Pipeline": "",
......
...@@ -495,6 +495,7 @@ ...@@ -495,6 +495,7 @@
"System": "System", "System": "System",
"System Prompt": "System-Prompt", "System Prompt": "System-Prompt",
"Tags": "Tags", "Tags": "Tags",
"Tap to interrupt": "",
"Tavily API Key": "", "Tavily API Key": "",
"Tell us more:": "Erzähl uns mehr", "Tell us more:": "Erzähl uns mehr",
"Temperature": "Temperatur", "Temperature": "Temperatur",
...@@ -541,6 +542,7 @@ ...@@ -541,6 +542,7 @@
"Update": "", "Update": "",
"Update and Copy Link": "Erneuern und kopieren", "Update and Copy Link": "Erneuern und kopieren",
"Update password": "Passwort aktualisieren", "Update password": "Passwort aktualisieren",
"Updated at": "",
"Upload a GGUF model": "GGUF Model hochladen", "Upload a GGUF model": "GGUF Model hochladen",
"Upload Files": "Dateien hochladen", "Upload Files": "Dateien hochladen",
"Upload Pipeline": "", "Upload Pipeline": "",
......
...@@ -495,6 +495,7 @@ ...@@ -495,6 +495,7 @@
"System": "System very system", "System": "System very system",
"System Prompt": "System Prompt much prompt", "System Prompt": "System Prompt much prompt",
"Tags": "Tags very tags", "Tags": "Tags very tags",
"Tap to interrupt": "",
"Tavily API Key": "", "Tavily API Key": "",
"Tell us more:": "", "Tell us more:": "",
"Temperature": "Temperature very temp", "Temperature": "Temperature very temp",
...@@ -541,6 +542,7 @@ ...@@ -541,6 +542,7 @@
"Update": "", "Update": "",
"Update and Copy Link": "", "Update and Copy Link": "",
"Update password": "Update password much change", "Update password": "Update password much change",
"Updated at": "",
"Upload a GGUF model": "Upload a GGUF model very upload", "Upload a GGUF model": "Upload a GGUF model very upload",
"Upload Files": "", "Upload Files": "",
"Upload Pipeline": "", "Upload Pipeline": "",
......
...@@ -495,6 +495,7 @@ ...@@ -495,6 +495,7 @@
"System": "", "System": "",
"System Prompt": "", "System Prompt": "",
"Tags": "", "Tags": "",
"Tap to interrupt": "",
"Tavily API Key": "", "Tavily API Key": "",
"Tell us more:": "", "Tell us more:": "",
"Temperature": "", "Temperature": "",
...@@ -541,6 +542,7 @@ ...@@ -541,6 +542,7 @@
"Update": "", "Update": "",
"Update and Copy Link": "", "Update and Copy Link": "",
"Update password": "", "Update password": "",
"Updated at": "",
"Upload a GGUF model": "", "Upload a GGUF model": "",
"Upload Files": "", "Upload Files": "",
"Upload Pipeline": "", "Upload Pipeline": "",
......
...@@ -495,6 +495,7 @@ ...@@ -495,6 +495,7 @@
"System": "", "System": "",
"System Prompt": "", "System Prompt": "",
"Tags": "", "Tags": "",
"Tap to interrupt": "",
"Tavily API Key": "", "Tavily API Key": "",
"Tell us more:": "", "Tell us more:": "",
"Temperature": "", "Temperature": "",
...@@ -541,6 +542,7 @@ ...@@ -541,6 +542,7 @@
"Update": "", "Update": "",
"Update and Copy Link": "", "Update and Copy Link": "",
"Update password": "", "Update password": "",
"Updated at": "",
"Upload a GGUF model": "", "Upload a GGUF model": "",
"Upload Files": "", "Upload Files": "",
"Upload Pipeline": "", "Upload Pipeline": "",
......
...@@ -496,6 +496,7 @@ ...@@ -496,6 +496,7 @@
"System": "Sistema", "System": "Sistema",
"System Prompt": "Prompt del sistema", "System Prompt": "Prompt del sistema",
"Tags": "Etiquetas", "Tags": "Etiquetas",
"Tap to interrupt": "",
"Tavily API Key": "", "Tavily API Key": "",
"Tell us more:": "Dinos más:", "Tell us more:": "Dinos más:",
"Temperature": "Temperatura", "Temperature": "Temperatura",
...@@ -542,6 +543,7 @@ ...@@ -542,6 +543,7 @@
"Update": "", "Update": "",
"Update and Copy Link": "Actualizar y copiar enlace", "Update and Copy Link": "Actualizar y copiar enlace",
"Update password": "Actualizar contraseña", "Update password": "Actualizar contraseña",
"Updated at": "",
"Upload a GGUF model": "Subir un modelo GGUF", "Upload a GGUF model": "Subir un modelo GGUF",
"Upload Files": "Subir archivos", "Upload Files": "Subir archivos",
"Upload Pipeline": "", "Upload Pipeline": "",
......
...@@ -495,6 +495,7 @@ ...@@ -495,6 +495,7 @@
"System": "سیستم", "System": "سیستم",
"System Prompt": "پرامپت سیستم", "System Prompt": "پرامپت سیستم",
"Tags": "تگ\u200cها", "Tags": "تگ\u200cها",
"Tap to interrupt": "",
"Tavily API Key": "", "Tavily API Key": "",
"Tell us more:": "بیشتر بگویید:", "Tell us more:": "بیشتر بگویید:",
"Temperature": "دما", "Temperature": "دما",
...@@ -541,6 +542,7 @@ ...@@ -541,6 +542,7 @@
"Update": "", "Update": "",
"Update and Copy Link": "به روزرسانی و کپی لینک", "Update and Copy Link": "به روزرسانی و کپی لینک",
"Update password": "به روزرسانی رمزعبور", "Update password": "به روزرسانی رمزعبور",
"Updated at": "",
"Upload a GGUF model": "آپلود یک مدل GGUF", "Upload a GGUF model": "آپلود یک مدل GGUF",
"Upload Files": "بارگذاری پروندهها", "Upload Files": "بارگذاری پروندهها",
"Upload Pipeline": "", "Upload Pipeline": "",
......
...@@ -495,6 +495,7 @@ ...@@ -495,6 +495,7 @@
"System": "Järjestelmä", "System": "Järjestelmä",
"System Prompt": "Järjestelmäkehote", "System Prompt": "Järjestelmäkehote",
"Tags": "Tagit", "Tags": "Tagit",
"Tap to interrupt": "",
"Tavily API Key": "", "Tavily API Key": "",
"Tell us more:": "Kerro lisää:", "Tell us more:": "Kerro lisää:",
"Temperature": "Lämpötila", "Temperature": "Lämpötila",
...@@ -541,6 +542,7 @@ ...@@ -541,6 +542,7 @@
"Update": "", "Update": "",
"Update and Copy Link": "Päivitä ja kopioi linkki", "Update and Copy Link": "Päivitä ja kopioi linkki",
"Update password": "Päivitä salasana", "Update password": "Päivitä salasana",
"Updated at": "",
"Upload a GGUF model": "Lataa GGUF-malli", "Upload a GGUF model": "Lataa GGUF-malli",
"Upload Files": "Lataa tiedostoja", "Upload Files": "Lataa tiedostoja",
"Upload Pipeline": "", "Upload Pipeline": "",
......
...@@ -496,6 +496,7 @@ ...@@ -496,6 +496,7 @@
"System": "Système", "System": "Système",
"System Prompt": "Prompt Système", "System Prompt": "Prompt Système",
"Tags": "Tags", "Tags": "Tags",
"Tap to interrupt": "",
"Tavily API Key": "", "Tavily API Key": "",
"Tell us more:": "Donnez-nous plus:", "Tell us more:": "Donnez-nous plus:",
"Temperature": "Température", "Temperature": "Température",
...@@ -542,6 +543,7 @@ ...@@ -542,6 +543,7 @@
"Update": "", "Update": "",
"Update and Copy Link": "Mettre à jour et copier le lien", "Update and Copy Link": "Mettre à jour et copier le lien",
"Update password": "Mettre à jour le mot de passe", "Update password": "Mettre à jour le mot de passe",
"Updated at": "",
"Upload a GGUF model": "Téléverser un modèle GGUF", "Upload a GGUF model": "Téléverser un modèle GGUF",
"Upload Files": "Téléverser des fichiers", "Upload Files": "Téléverser des fichiers",
"Upload Pipeline": "", "Upload Pipeline": "",
......
...@@ -496,6 +496,7 @@ ...@@ -496,6 +496,7 @@
"System": "Système", "System": "Système",
"System Prompt": "Prompt du Système", "System Prompt": "Prompt du Système",
"Tags": "Tags", "Tags": "Tags",
"Tap to interrupt": "",
"Tavily API Key": "", "Tavily API Key": "",
"Tell us more:": "Dites-nous en plus :", "Tell us more:": "Dites-nous en plus :",
"Temperature": "Température", "Temperature": "Température",
...@@ -542,6 +543,7 @@ ...@@ -542,6 +543,7 @@
"Update": "", "Update": "",
"Update and Copy Link": "Mettre à Jour et Copier le Lien", "Update and Copy Link": "Mettre à Jour et Copier le Lien",
"Update password": "Mettre à Jour le Mot de Passe", "Update password": "Mettre à Jour le Mot de Passe",
"Updated at": "",
"Upload a GGUF model": "Téléverser un modèle GGUF", "Upload a GGUF model": "Téléverser un modèle GGUF",
"Upload Files": "Téléverser des fichiers", "Upload Files": "Téléverser des fichiers",
"Upload Pipeline": "", "Upload Pipeline": "",
......
...@@ -496,6 +496,7 @@ ...@@ -496,6 +496,7 @@
"System": "מערכת", "System": "מערכת",
"System Prompt": "תגובת מערכת", "System Prompt": "תגובת מערכת",
"Tags": "תגיות", "Tags": "תגיות",
"Tap to interrupt": "",
"Tavily API Key": "", "Tavily API Key": "",
"Tell us more:": "תרשמו יותר:", "Tell us more:": "תרשמו יותר:",
"Temperature": "טמפרטורה", "Temperature": "טמפרטורה",
...@@ -542,6 +543,7 @@ ...@@ -542,6 +543,7 @@
"Update": "", "Update": "",
"Update and Copy Link": "עדכן ושכפל קישור", "Update and Copy Link": "עדכן ושכפל קישור",
"Update password": "עדכן סיסמה", "Update password": "עדכן סיסמה",
"Updated at": "",
"Upload a GGUF model": "העלה מודל GGUF", "Upload a GGUF model": "העלה מודל GGUF",
"Upload Files": "העלאת קבצים", "Upload Files": "העלאת קבצים",
"Upload Pipeline": "", "Upload Pipeline": "",
......
...@@ -495,6 +495,7 @@ ...@@ -495,6 +495,7 @@
"System": "सिस्टम", "System": "सिस्टम",
"System Prompt": "सिस्टम प्रॉम्प्ट", "System Prompt": "सिस्टम प्रॉम्प्ट",
"Tags": "टैग", "Tags": "टैग",
"Tap to interrupt": "",
"Tavily API Key": "", "Tavily API Key": "",
"Tell us more:": "हमें और अधिक बताएँ:", "Tell us more:": "हमें और अधिक बताएँ:",
"Temperature": "टेंपेरेचर", "Temperature": "टेंपेरेचर",
...@@ -541,6 +542,7 @@ ...@@ -541,6 +542,7 @@
"Update": "", "Update": "",
"Update and Copy Link": "अपडेट करें और लिंक कॉपी करें", "Update and Copy Link": "अपडेट करें और लिंक कॉपी करें",
"Update password": "पासवर्ड अपडेट करें", "Update password": "पासवर्ड अपडेट करें",
"Updated at": "",
"Upload a GGUF model": "GGUF मॉडल अपलोड करें", "Upload a GGUF model": "GGUF मॉडल अपलोड करें",
"Upload Files": "फ़ाइलें अपलोड करें", "Upload Files": "फ़ाइलें अपलोड करें",
"Upload Pipeline": "", "Upload Pipeline": "",
......
...@@ -496,6 +496,7 @@ ...@@ -496,6 +496,7 @@
"System": "Sustav", "System": "Sustav",
"System Prompt": "Sistemski prompt", "System Prompt": "Sistemski prompt",
"Tags": "Oznake", "Tags": "Oznake",
"Tap to interrupt": "",
"Tavily API Key": "", "Tavily API Key": "",
"Tell us more:": "Recite nam više:", "Tell us more:": "Recite nam više:",
"Temperature": "Temperatura", "Temperature": "Temperatura",
...@@ -542,6 +543,7 @@ ...@@ -542,6 +543,7 @@
"Update": "", "Update": "",
"Update and Copy Link": "Ažuriraj i kopiraj vezu", "Update and Copy Link": "Ažuriraj i kopiraj vezu",
"Update password": "Ažuriraj lozinku", "Update password": "Ažuriraj lozinku",
"Updated at": "",
"Upload a GGUF model": "Učitaj GGUF model", "Upload a GGUF model": "Učitaj GGUF model",
"Upload Files": "Prijenos datoteka", "Upload Files": "Prijenos datoteka",
"Upload Pipeline": "Prijenos kanala", "Upload Pipeline": "Prijenos kanala",
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment