Перезагрузка перевода хэш — LibreTranslate OOMKill фиксированный, повторный перевод
Перезагрузить хеш-перевод, чтобы заставить повторно переводить резервные ключи
Заселяйте DNS-статусы, когда они уже подтверждены; покажите имя организации на видном месте
Перевод всех оставшихся жестко закодированных строк UI по всему сайту
- PreviewBanner, PublicChatWidget, AiChatPanel, LiveSupportPanel, ExitIntentModal, FloatingSupportWidget теперь использовать - Добавлен предварительный просмотр...
Наглядно предупредите, что запись www является необязательной и может нарушить существующие сайты
Удалите двойные полосы прокрутки и горизонтальный переполнение на странице настройки DNS
Всегда отображайте кнопку DNS для владельцев, добавляйте изменение потока домена
Дельта-переводчик + провода всех жестко закодированных UI строк до i18n
Система перевода: Translate.ts теперь работает в режиме дельта - только ключи, которые отсутствуют или не доступны. все еще идентичные английскому языку отправл...
Подавить всплывающее окно Chrome для автоматического перевода на страницах с локальным коммутацией
Добавить translate="no" в <html> и <meta name="google" content="notranslate"> Chrome не предлагает переводить страницы, которые пользователь уже намеренно Переш...
Полномасштабная страница настройки DNS предприятия, успех как неуместный баннер
Bound translation concurrency to 3 threads to prevent DB pool exhaustion
Unbounded @Async (SimpleAsyncTaskExecutor) created 50 threads simultaneously when the retry scheduler fired, each opening a DB transaction and draining HikariCP...
Ретриггерная сборка для bergamot API и исправлений заказов провайдеров
Three bugs preventing changelog translations from being saved
1. **************** was discarding events because handleWebhook() had no @Transactional — save + publishEvent() ran outside any transaction. Add @Transact...
Query CommitLogs with LEFT JOIN, поэтому записи с нулевым переводом пойманы повторно
Старый запрос, выбранный из CommitLogTranslation - соединяйте журналы без Переводы были для него невидимы. Используйте левый вход из CommitLog Таким образом, HA...
Добавить /setup/dns страницу и установить домен поток в /network
Новая страница /setup/dns с двухфазным потоком: ввод домена, затем DNS 60-секундный автополлинг и подтверждение SSL Руководство DnsGuide: разборные пошаговые ин...
Add /setup/dns backend — one-domain enforcement, SSL probe, new aliases
- Enforce one custom domain per org in POST /api/security/domains - Add capcha, docs, sign to standard aliases; remove legacy aliases - Update verify-dns to tra...
Add ssl_confirmed and ssl_confirmed_at columns to org_domains
Adds idempotent ALTER TABLE statements to provision the two new columns needed for DNS setup SSL confirmation tracking.
Добавить sslConfirmed/sslConfirmedAt fields в OrgDomain и DomainDTO
Добавление двух новых полей в OrgDomain и DomainDTO для отслеживания SSL статус подтверждения сертификата после проблем с авто-сертификатом Сертификат. Также до...
Apply word replacement at translation time, not ingestion
Original text is preserved in the DB so that adding a new rule and re-triggering translation is all that is needed to update existing records. Changes: - Chang...
Удалить цензуру на стороне клиента — теперь обрабатывается backend
Замена слов и секретная редакция перешли в ChangelogSanitization Сервис (SecurityService), поэтому дезинфицирование происходит до хранения и перевода DB. Фронте...
Move changelog word replacement to backend before translation
Text replacements (Docs→Docs, Meet→Meet, etc.) and secret name redaction (K8s secret names→***) were previously applied client-side in ChangelogClient.tsx, mean...
Обработка пустых ответов API и изящная деградация на вкладке выставления счетов
BillingApi Get/Put Helpers теперь безопасно обрабатывает пустые тела Вместо того, чтобы врезаться в res.json() с пустым входом - PlansBillingTab loadData оберты...
Check TeamMember.isOrganizationOwner flag for owner detection in my-networks endpoint
The previous check only looked at org.getOwner() (user_id_owner column) which can be null for existing orgs. The authoritative owner flag lives on the TeamMembe...
Разрешить контекст орг/члена из *** сессии для выставления счетов прокси
Контроллеры BillingService требуют заголовков X-Org-Id и X-Member-Id. При вызове напрямую (в обход APIService) они не устанавливались. Теперь прокси-сервер Next...
Позвоните в BillingService напрямую через k8s DNS вместо APIService
Прокси-сервер Next.js теперь звонит в BillingService **************************** непосредственно, пропуская Необходимый переход через APIService. Использует BI...
Добавить Next.js API прокси-маршрут для /api/billing/*
Клиент платежного API звонил /api/billing/* в качестве относительного URL-адреса. Вместо шлюза APIService появился сервер Next.js. Добавлено универсальный прокс...
Замените дополнение к хранению переключателем количества слайдеров
Дополнительное хранилище основано на использовании (4/25 ГБ блока), а не на простом включении/выключении. дополнение. Заменить переключатель переключения с помо...
Include parent org in /org/domain response
The getOrganizationByDomain endpoint manually builds a response map but never included the parent organization reference. This prevented the frontend from knowi...
Добавить parentId и parent в тип OrgProviderProps
В интерфейсе реквизита Организации отсутствовали поля parentId и parent, Это приводит к их отбрасыванию во время компиляции TypeScript, даже если Бэкэнд отправл...
Проводите BillingManager и RelationshipManager к реальным бэкэндам
BillingManager (закладка счета): - Заменить 100% макет на местном уровне реальным способом оплаты с поддержкой Stripe Управление через BillingApi - Способы опла...
Purge incomplete model directories in init container
The service crashes on startup if it finds a directory in /models that has missing or partial model files. Add a sweep at init start that removes any directory ...
Remove GitHub LFS downloads, use only data.statmt.org models
GitHub raw URLs return LFS pointer files, not actual binaries. Drop enru/enar downloads entirely — LibreTranslate handles those locales. Only download the 4 pai...
Narrow bergamot to es/fr/de/pl, restore bergamot-first order
GitHub LFS files can't be downloaded with plain curl (raw URL returns the pointer not the content). Removing enru/enar from bergamot scope; those locales fall t...
Restore bergamot with working model sources and correct image
- replicas: 1 - Init container (alpine): downloads 4 pairs from data.statmt.org (tarballs for enes/enfr/ende/enpl) and 2 from firefox-translations-models GitH...
Narrow BergamotProvider targets to 6 pairs with available models
pt, it, uk, tr, ro, id, vi have no bergamot model source — LibreTranslate handles them. bergamot now claims: es, fr, de, pl, ru, ar.
Scale bergamot to 0, update image to mozilla/translation-service
The Google Cloud Storage model download bucket (bergamot-models-sandbox) returns 404 for all files and the firefox-translations-models repo was archived Dec 202...
Route all translations through LibreTranslate while bergamot is offline
BergamotProvider is moved to fallback position. LibreTranslate supports all 13 locales bergamot was handling **************** so this eliminates the flood of "C...
Замените страницу статистики с живой панелью мониторинга подписки KamoCRM
Перестроенный /settings /account?tab = stats в полностью проводной, только для чтения прозрение приборная панель. Замените все поддельные данные параллельными в...
Прокси *** вызов через сервер входа для поддержки нескольких доменов
Заменяет прямой кросс-оригинал fetch на capcha.{domain}/api/challenge Прокси-сервер того же происхождения в /api/capcha/challenge. Предыдущий подход требовал де...
Как вы видите судоходство?
Каждое из этих обновлений автоматически попадает в ваше рабочее пространство. Начните бесплатно и смотрите, как он растет неделю за неделей.