Add public known-aliases endpoint for kamo-nowww build-time bake-in
Add analytics → analytics text replacement in changelog sanitization
Redact tokens ≥32 chars in changelog sanitization
Any word (run of non-whitespace) that is 32 characters or longer is replaced with **************** before titles and descriptions are sent to the translation se...
Generate TXT verification token on domain create, check in verify-dns
- createDomain: generate 32-char UUID token and store via setVerificationToken - verifyDns: check _kamo-verify TXT record for kamo-site-verification=<token> - T...
Update required aliases — add app, capcha, docs, sign; remove legacy
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...
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...
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...
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...
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 і ідентифікатори членів як рядки в кінцевій точці мережі, щоб запобігти втраті точності JS
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...
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...
Видалити перевести конфігурацію з програми.yml — належить до k8s/configmap.yaml
Використовуйте способи перерахування підписки на основі UUID, уникайте завантаження за допомогою параметра
Додавання асинхронного перекладу для планів зміни та підписки, додавання локальних публічних API
Додайте групу concurrency для запобігання дублікатів робочого процесу
Коли висхнений спрещує робочий процес і робочий процес (або два штовхаки прибувають в швидкий успіх), обидва траси будуть виконувати одночасно. Додавання групи ...
Додавання контролерів з управління активами та публічним отриманням
Додає два контролери для автоматизованої системи збирання свинцю: - LeadIntakeController: автентифікований CRUD для вхідних кінцевих точок, поле картографування...
Використовуйте bare PST midnight (без перетворення UTC) для підрахунку сучасних змін
Дата продажуЗнайдені в UTC і використовувати прокат 24h вікно для сьогодні
Правильна безпека рівневі колонки посилання в логін SQL
безпека рівень на стіл членів (m), не член team member (e). Неправильне псевдонім e.security level викликало весь SQL, щоб не мовчазно, так, щоб користувачВипис...
Магазин учасникаТип на Redis
Додаток CASE WHEN e.id НЕ NULL the 'TEAM MEMBER' ELSE 'MEMBER' END до Увійти за запитом і передається результат через створенняСезія в Redis, може відрізняти чл...
Видалити ImagingController і боби/видання — перемістили в ПеретворенняПослуги і DocsService
Завантажте кінцеві точки тепер в режимі перетворенняПослуги в /api/conversion/imaging/*. Все управління та завантажити кінцеві точки тепер живуть в DocsService ...
Видалення ескізів для перетворенняПослуги, видалення залежності PDFBox
генеруватиAndStoreThumbnails тепер POSTs перетворений PDF в ПеретворенняПослуги ********************************************************************************...
Синхронний пер-сторінок великого пальця під час завантаження шаблону з гранульованим прогресом WS
- Додати залежність PDFBox до pom.xml - Після зберігання перетворений PDF, надайте всі сторінки за допомогою PDFRenderer і завантажте кожну як {id} thumb p{n}.p...
Видалити KamoGamesRoboCluck від зміни публічних проектів, додати сценарії заповнення
Додавання /api/changelog/public/stats endpoint для сукупних підрахунків за типом та проектом
Додавання перевірки секрету webhook для зміни кінцевої точки
Оборона-глибина: дійсні *** заголовок на Надання послуг безпеки на додаток до перевірки воріт APIService.
Додавання рівня доступу користувачів та кінцевих точок статусу власника
Додати GET і PATCH *********** кінцеві точки для читання та оновлення рівнів доступу з повним дозволом. Створення організації оновлень для створенняОрганізаціїО...
Додайте етапи прогресу перетворення гранули з 8-ма різними оновленнями WebSocket
Етапи: завантаження (0-15%) → приготування (15-20%) → перетворення (20-65%) → Перевірка (65-75%) → зберігання (75-90%) → завершення (90-100%) → завершено
Додавання великого входу в синхронний потік перетворення, зафіксувати зовнішній вигляд відра
Використовуйте img.getAssocId() для відро замість локальної змінної assocType. Додайте покроковий журнал для завантаження, виклик перетворення та результат.
Як ви бачите відправлення?
Все це прибуває в робочому просторі. Почати безкоштовно план і читати цю сторінку знову в місяць.
