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 ...
Analiza de sarcină în mod implicit și include subdomeniu www în domeniile permise
- Urmăriți toți vizitatorii implicit, deoarece analiza este cookieless/GDPR-friendly - Dezactivați numai dacă utilizatorul neagă în mod explicit analiza în pref...
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...
Se încadrează la următorul furnizor atunci când traducerea este egală cu text sursă
Bergamot returna textul sursă neschimbat pentru un singur cuvânt nav elemente, fraze de acronim (API, CRM) și cuvinte compuse (Change Log) în timp ce raportăm s...
Populează statusurile DNS atunci când sunt deja confirmate; arată numele org proeminent pe tot parcursul
Eliminați barele duble de defilare și supraîncărcarea orizontală pe pagina de configurare DNS
Delta traducere motor + sârmă toate siruri de caractere hardcoded UI la i18n
Sistemul de traducere: - traduce.ts funcționează acum în modul delta încă identice cu limba engleză sunt trimise la API; cheile traduse existente sunt păstrate...
Suppress Chrome auto-translate popup on local-witched pages
Adaugă translate="no" to <html> and <meta name="google" content="notranslate über" astfel Chrome nu oferă pentru a traduce pagini utilizatorul are deja în mod i...
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...
Butonul domeniului de configurare navighează întotdeauna la / configurare/dns în fila curentă
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...
Interogatorie ComiteLogs cu stânga Conectare astfel încât înregistrările de la zero traducere sunt capturate prin retry
Vechea interogare selectata din ComiteTraducere traducerile erau invizibile. Folosește legătura stângă de la CommitLog astfel încât clauza HAVING COUNT < aștep...
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...
Manipulați răspunsurile API goale și degradare grațioasă pe fila de facturare
- facturareApi obține / pune ajutoare acum mâner în condiții de siguranță organisme de răspuns gol în loc de crashing pe res.json() cu intrare goală - PlansBill...
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...
Rezolva org/membru context de la *** sesiune pentru proxy facturare
Controlorii serviciului de facturare au nevoie de headere X-Org-Id şi X-Member-Id. Atunci când apelați direct (ocolind APIservice), acestea nu au fost stabilite...
Adaugă ruta proxy Next.js pentru /api/billing/*
Clientul API de facturare a fost de asteptare /api/billing /* ca un URL relativ, care a lovit serverul Next.js în loc de poarta APIService. Adăugat o rută proxy...
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...
Adaugă părinteId și părinte la tipul OrgProviderProps
Interfaţa de recuzită a Organizaţiei lipsea de la părinteId şi câmpuri părinteşti, care le determină să fie retrase în timpul compilaţiei TypeScript, chiar dacă...
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...
Bergamotă îngustă la es/fr/de/pl, restaurează bergamot-primul ordin
Fişierele GitHub LFS nu pot fi descărcate cu buclă simplă (retrage URL-ul pointer nu conţinutul). Îndepărtarea enru/enar din domeniul de aplicare al bergamotei;...
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
Modelul Google Cloud Storage de descărcare găleată (bergamot-modele-sandbox) întoarce 404 pentru toate fișierele și firefox-translations-modele repo a fost arhi...
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...
Proxi *** provocare prin server de conectare pentru suport multidom
Înlocuiește comanda directă de origine încrucișată în capcha. {domeniul}/api/provocare cu o proxy de aceeași origine la /api/capcha/provocare. Abordarea anterio...
Scale bergamot înapoi la 1 replica
Bergamot a fost la 0 replici cu serviciul său încă înregistrat. FurnizorulRouter în TranslateService nu a avut întrerupător de circuit, astfel încât fiecare cer...
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...
Reduce dimensiunea bucății de traducere la 50 de chei cu exponențial de rezervă
150 de taste încă prea mari pentru unii furnizori (valori de paragraf lung în intimitate/perioade/GDPR). Acum: 50 de chei pe bucată, 4 retries cu exponențial ba...
Solicitări de traducere bucată pentru a preveni timeout-uri de preluare pe sarcini utile mari
Cu 1500 de taste, singura cerere de lot a fost cauza de conectare timeouts pentru unii furnizori de traducere. Acum se împarte în bucăți de 150 de chei cu 3 ret...
Forța de re-transformare și să angajeze fișiere locale înapoi la repo după pas traduce
Utilizați etichetaKey în loc de etichetă pentru tasta TrustIndicator în DemoClient
Utilizați metode de repo bazate pe UUID pentru traducerile planului de abonament, evitați sarcina leneș în programator
Ca ceea ce vezi de transport maritim?
Fiecare dintre aceste actualizări aterizează automat în spațiul de lucru. Începe gratuit și urmăriți-l crească săptămână după săptămână.