Use TreeWalker to remove all "analytics" text nodes from rendered DOM
The workspace nav title "analytics" comes from JS bundles loaded after auth, rendered as a text node next to the logo SVG. Uses TreeWalker to find and clear all...
Add guarded MutationObserver for client-side rendered logo/text
Login page and dashboard content is rendered by Next.js JS bundles, not in the HTML body, so sub_filter can't reach it. Adds a script with a busy-flag-guarded M...
Redirect favicons at nginx level, fix RSC payload escaping
- Serve favicon via nginx 302 redirect instead of trying to rewrite HTML/RSC payload href strings (cleaner, always works) - Fix RSC title replacement with pro...
Use pure sub_filter replacements instead of MutationObserver
MutationObserver caused infinite loop (DOM change -> observer fires -> DOM change). Switch to direct nginx sub_filter string replacements targeting both static ...
Аналіз навантаження за замовчуванням і включає в себе www піддомен в дозволених доменах
- Відстежуйте всі відвідувачі за замовчуванням, оскільки аналітика є безпечними / GDPR - Тільки відключити, якщо користувач явно заперечує аналітику у файлах co...
Comprehensive analytics rebranding for login page and dashboard
- Replace title dynamically (handles "Login | analytics", "Dashboard | analytics" etc.) - Replace "analytics" h2 text on login page with Kamo logo image - Repla...
Use MutationObserver to rebrand analytics client-side rendered UI
analytics is a Next.js app that sets title/logo via JavaScript after initial HTML load. Replaces static sub_filter approach with injected script that uses Mutat...
Падіння через наступний провайдер при перекладі тексту джерело
Бергамот був повернений текст джерела, що не змінився для одного слова nav елементи, acronym фрази (API, CRM), і з'єднання слів (Змінити лог) в той час як успіш...
Позолити DNS статуси, коли вже підтверджено; показати org назву, виділяючись по всій
Видалення подвійних прокруток та горизонтального переливу на сторінці налаштування DNS
Драйвер для перекладу Delta + дрот всіх жорстких кодованих рядків UI до i18n
Система перекладу: - переклад.ts тепер працює в режимі delta - тільки ключі, які відсутні або до API все одно ідентично англійською мовою; існуючі перекладені к...
Suppress Chrome auto-translate popup на місцевих сторінках
Додати переклад ="no" в <html> і <meta name="google" вміст="notranslate"> так Chrome не пропонує перевести сторінки, користувач вже навмисно переключений на інш...
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...
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 з LEFT JOIN так нульово-перекладними записами спійманий птицею
Стара запиту, вибрана з CommitLogTranslation — комітувати журнали без переклади на всіх невидимих Використовуйте ліву JOIN від CommitLog Отже, HAVING COUNT < оч...
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...
Порожня відповідь 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...
Розчинити org/членувати контекст з *** сеанс для зарахування проксі
Контролери BillingService вимагають X-Org-Id і X-Member-Id головки. При зверненні безпосередньо (обхід APIService), вони не встановлюються. Тепер Next.js proxy ...
Сфералізуйте org і ідентифікатори членів як рядки в кінцевій точці мережі, щоб запобігти втраті точності JS
Додати наступний.js API проксі- маршрут для /api/billing/*
Вексельний клієнт API був виклик /api/billing/* як відносний URL, який потрапив на сервер Next.js замість шлюзу APIService. Додати високий проксі-маршрут (такий...
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...
Додати батьківІд і батька в OrgProviderProps тип
Інтерфейс організації пропсів був відсутнім батьківських та батьківських полів, викликаючи їх, щоб бути пошкоджені під час складання TypeScript, хоча Повернути ...
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...
Боротьба бергамот до es/fr/de/pl, відновлення бергамот-першого замовлення
Файли GitHub LFS не можна завантажити за допомогою звичайного curl (raw URL повертає URL тостер не зміст. Видалення енкодера / ангару з бергамотного обсягу; ті ...
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.
Ваги бергамот до 0, оновлення зображення до mozilla/translation-service
EnglishDeutschPусский简体中文中國傳統EspañolالعربيةFrançaisελληνικάDanskАнглійскаябългарски повертає 404 для всіх файлів та репо-трансляційних моделей Firefox-translati...
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...
Proxy *** виклик через логін сервер для багатодоменної підтримки
Замінює прямий перехресний мангал до капчі.{domain}/api/challenge з однозначні проксі в /api/capcha/challenge. Попередній підхід дійсний сертифікат TLS на Capch...
Ваги бергамот назад до 1 репліка — помилки перекладу, викликані відсутнім под
Бергамот був на 0 реплікацій з сервісом все ще зареєстрований. ПостачальникRouter У перекладіПослуга не мала вимикача, тому кожен запит на es/fr/de/pt/it/ pl/ru...
Don't let null translated description hide the English original in changelog
The translation lookup for non-en locales was unconditionally overwriting description with **************** which is null when: - the translation was saved befo...
Resolve 23 compilation errors from controller-service signature mismatches
Controllers were built by a separate agent from services, causing method name and parameter type mismatches. Fixed all controllers to match actual service signa...
Update kamo-shared-library version from 1.0.0 to 1.1.0
Needed to resolve the new billing entities in the commerce.billing package added to shared library 1.1.0.
Update kamo-shared-library version from 1.0.0 to 1.1.0
The shared library is published as 1.1.0, not 1.0.0. This was causing the Docker build to fail with "artifact not found" since Maven could not resolve the depen...
Add -U flag to maven build steps to resolve shared library from local repo
The dependency:go-offline step was trying Maven Central first, getting a cached failure for kamo-shared-library (which is local-only), and that poisoned the sub...
Зменшити розмір коробки для перекладу до 50 ключів з відключенням
150 ключів все ще занадто великий для деяких постачальників (довго значення абзацу в конфіденційність/терміни/ГДП. Тепер: 50 ключів на шматки, 4 рети з потенціа...
Потрібні переклади для запобігання часових видатків на великих навантаженнях
З ключами 1500+, одноразовий пакетний запит було викликано підключення час для деяких постачальників перекладів. Тепер розщеплюється на шматки 150 ключів 3-х ре...
Релогін реєструвати безпосередньо перед будівництвом, щоб запобігти прискоренню еути після довгих кроків перекладу
Примушувати переперехід і зробити локальні файли назад до репо після переведення кроку
Використовуйте міткуKey замість етикетки для довіреного ключа в DemoClient
Використовуйте текстKey замість тексту, щоб скористатися ключем в DemoClient
Використовуйте способи перерахування підписки на основі UUID, уникайте завантаження за допомогою параметра
Як ви бачите відправлення?
Кожен з цих оновлень землі в робочому просторі автоматично. Почати вільний час і дивитися його на тиждень після тижня.