Update EMAIL_VERIFICATION sample vars to match current template
Use expiryText instead of expiryMinutes (renamed variable), and update verifyLink to point to the register subdomain (correct send path).
Профілактика подвійного перекриття повноцінного кузова Html в конструкторі блоків
Коли bodyBlocks є null і bodyHtml є повним <!DOCTYPE html> документ (наприклад, канонічні засіяні шаблони), імпортуючи його як єдиний блок, викликаний авторизац...
Pass human-readable expiry time to email verification template
Add humanizeMinutes() helper that formats minutes as days/hours/minutes (e.g. "1 day" for 1440 min). Pass as {{expiryText}} to match updated canonical template ...
Поліпшити шаблон перевірки електронної пошти — URL-адреса, виставити текст, предмет
- Додати посилання на звичайний текст нижче, як копіювання-paste - Перемикач змінної від {{expiryMinutes}} до {{expiryText}} для формат людини (наприклад, "1 де...
Відновити перевірку сторінки макета зануренням прихованих розмірів введення
MUI Box інтерпретує числові значення / значення значення 0–1 у відсотках, тому ширина:1 зробив прихований вхідний чохол повну картку. Змінено 0 так вхід невидим...
Preserve DB domain case in NoReply from address
Removed toLowerCase() — the domain already comes from resolvePrimaryDomain which reads org_domains from the database, so case is canonical from DB.
Сфералізувати повну HTML електронної пошти з зовнішнім кадром на збереження шаблону
- серійноizeFullEmailHtml обгортає внутрішні блоки в фірмовому зовнішньому каркасі Логотип ВТС за допомогою абсолютних URL-адрес, так що клієнти електронної пош...
Додавання фірмового зовнішнього каркасу до шаблону канонічної електронної пошти
Обгортання внутрішнього вмісту з правою оболонкою електронної пошти: заголовок з назвою org, в'язану область вмісту і нижній колонтитул. Використовуйте {{orgNam...
Add code-based email verification path to /verify-email endpoint
The endpoint now handles both token (link click) and userId+code (manual 6-digit entry). Token path unchanged; code path hashes the supplied code and matches ag...
Token link auto-verifies і перенаправлення для входу; додати індикатор фокусу коду
- /verification?token=xxx тепер дзвінки перевіртеEmailByToken на mount і перенаправлення на логін на успішність; спадає назад до запису коду на відмову - Активн...
Lift *** Віджет над клацанням миші накладка (z-index)
Накладка (положення:absolute, z-index:0) була покрита Capcha Віджет, оскільки з'явився пізніше в порядку DOM. Додавання z-index:1 до *** контейнер дозволяє нати...
Remove nonexistent postfix-lmdb package, install lmdb library instead
postfix-lmdb is not a valid Alpine package; lmdb support is built into the base postfix package. The pod was CrashLoopBackOff due to apk failure.
Add weekly image prune and journal vacuum CronJob for k1m1
CronJob runs every Sunday 3am, privileged, pinned to k1m1. - crictl rmi --prune removes unused container images - nsenter journal vacuum enforces 500MB cap - CI...
Fix Docs image registry, add Recreate strategy to coturn/postfix, increase qdrant memory
- Docs: fix wrong image registry (redis.kamo.svc... → **************** add Recreate strategy - coturn: add Recreate strategy to prevent rolling update port conf...
Компактний редактор головки — видалення великого титулу/табів, переміщення дій нав ряду
Вилучає картку наклейка (title, subtitle, Save/Cancel/Preview buttons, Edit/Preview tab bar) від електронної поштиTemplateEdit to revok ~200px вертикального про...
Вимагати *** на сторінці перевірки перед кожним спробою
*** скидається після кожної дії (сухий або невірний) так свіжим для кожної наступної спроби необхідно вирішити.
Switch Postfix sasl_passwd from hash to lmdb format
Alpine postfix build does not include hash support — postmap and smtp_sasl_password_maps were silently failing, deferring every outbound relay attempt through s...
Перенаправлення / переадресація після реєстрації замість надання в режимі онлайн
Зберігайте точну URL-адресу — показує браузер /верифікація не /член.
Resolve root domain for NoReply from-address instead of bare subdomain
resolvePrimaryDomain() was returning the first domain entry (e.g. "www") which produced NoReply@www. Now prefers root domains (parent == null) so transactional ...
Populate all EMAIL_VERIFICATION template variables
Was sending only {token, code} — template also needs orgName, firstName, verifyLink, and expiryMinutes. Load org and user to build the full vars map, and resolv...
Add internal.auth.secret to EmailService configmap
InternalAuthFilter was rejecting all service-to-service calls (send, seed-org) with 503 because internal.auth.secret was unconfigured. Matches the same INTERNAL...
Перенаправлення EMAIL NOT VERIFIED для реєстрації/відновлення
Видаліть вбудовану електронну поштуVerifyCard з сторінки входу та пов’язаного з ним стан/закінчення. На EMAIL NOT VERIFIED користувач тепер передається ******, ...
Додавання /resend-verification page для переадресації логіну
Створює автономний /віддалений маршрут, який приймає ?email та ?userId пароми запитів, що нагадують PostCompletionScreen для послідовного перевірка електронної ...
Allow transactional send on port-25 relay and auto-seed missing templates
Port-25 SMTP (postfix) requires no auth — transactionalCredentials() was throwing ProviderUnavailableException when user/pass were unconfigured, blocking all ve...
Use subdomain-aware SQL to match findByDomain JPQL logic
Org domain lookup in resendVerification was doing an exact-match query that failed for subdomains stored as child records (e.g. 'api' with parent 'kamocrm.com')...
Встановити Host / X-Forwarded-Host так APIService вирішує правильний org
APIService overwrites X-Forwarded-Host з запитом.getServerName(), який читає від заголовка хосту. Без явного хостового заголовка внутрішньої служби K8s Ім'я кор...
Correct EmailService URL port in configmap (4203 -> 80)
EmailService K8s service exposes port 80, not 4203. Verification emails were timing out on every registration attempt.
Редизайн екрана перевірки електронної пошти + виправлено помилку електронної пошти
- PostCompletionScreen: повноформатний макет з анімованим org фоном, Скломорфізм карта, логотип, візуальні 6-ти цифрові коробки коду, успіх/верифіковані стани -...
Bypass JPA org lookup to avoid Hibernate cascade flush error
**************** triggers **************** which causes a Hibernate auto-flush. That flush fails because Organization.features was previously replaced with a pl...
Видалення потокового завантаження від getOrganizationByDomain
Особливості є концерном-рівневим, не пов'язаним з більшістю прихильників цього методу (наприклад, реєстрація домену, логін). Примусове завантаження їх за допомо...
Збірник функцій у місці, щоб уникнути каскадного притулку
Calling org.setОсобливості (новий список) замінює стійкий збірка, що викликає JpaSystemException, коли будь-який запитує автоматично у відкритій сесії EntityMan...
Use getReferenceById to avoid cascade orphanRemoval flush error on registration
Loading Organization via findById inside @Transactional caused Hibernate to detect the features collection was de-referenced during auto-flush, throwing JpaSyst...
Перевірити перевірку за допомогою електронної пошти не користувацького
SecurityService /register/resend-verification очікує повідомлення електронної пошти в тілі, не користувачІд (які відповіді на помилки входу ніколи не включені)....
Match kamo-internal avatar зберігання — 3 розміри, MinIO, окремий крок завантаження
Вирощування діалогового вікна тепер виробляє три підводні блоби (50/150/350px) полотні, ідентичні to kamo-internal's AvatarManager. Після реєстрації повертаєтьс...
Add register-photo endpoint for unauthenticated post-registration avatar upload
POST **************** accepts userId + file/fileSm/fileMd/fileLg without a session. Guards: user must be unverified and have no avatar yet, preventing abuse aga...
Замініть EMAIL NOT VERIFIED помилку з багатою картою перевірки
Коли логін не виходить з EMAIL NOT VERIFIED логін карти тепер замінюється полірований "Перевірити папку" екран: анімований конверт SVG з відкриттям клаптю і пла...
Розширення завантаження фото для підтримки AVIF та SVG форматів
Додавання зображення/avif та зображення/xml до файлу, що приймає список та Перевірка regex. Оновлення натиснення етикетки для списку всіх шести форматів. kamo-i...
Додати реагійно-крапний редактор фотографій для реєстрації крок завантаження
ФотоCropDialog від kamo-internal's AvatarManager: - діалогове вікно культури відкриває відразу після вибору файлу - сковорода шляхом перетягування, збільшення ч...
Add dao.repositories to JPA scan so EmailTemplateRepository is found
Same pattern as KamoInitializerService — explicit basePackages overrides default scanning and must include every package that has repositories.
Перемістити тіло помилки через проксі безпеки замість загального повідомлення
Попереднє повернення {error: "Поверніть помилку"} на non-2xxx, втративши реальний повідомлення про помилку від SecurityService. Тепер пересувається код стану і ...
Align registration field names and response shape with frontend contract
Frontend sends nameFirst/nameLast but controller read firstName/lastName, causing 400 "First name is required". Success response now returns {status, userId, al...
Замініть кешування Redis за допомогою прямого Java API fetch в маршруті org
Запобігання стеленого вікуРекТип з показу вікової перевірки невірно
- Org маршрут: зменшити Redis TTL від 24h до 5min і додати вікReqTypeMember для виявлення стелів, так що поля безпеки залишаються свіжими після змін DB - Реєстр...
Як ви бачите відправлення?
Все це прибуває в робочому просторі. Почати безкоштовно план і читати цю сторінку знову в місяць.
