Ngăn chặn gấp đôi bao gồm toàn bộ cơ thể cơ thể Html trong nhà thiết kế khối
Khi cơ thể block là null và cơ thể Html là một tài liệu đầy đủ <!DOCYYPE html> (v. g. có thể hạt giống chính thống, nhập khẩu nó như là một khối duy nhất gây ra...
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 ...
Sửa đổi mẫu kiểm tra thư điện tử — URL sao lưu, văn bản mở, chủ đề
- Thêm liên kết xác thực ngữ cảnh đơn giản bên dưới cái nút là sự sao chép của quá khứ - Thay đổi biến từ{Epiry Minutes} thành{ BAR văn bản} cho Định dạng ngườ...
Phục hồi bố trí trang xác thực bằng cách zeroing chiều nhập ẩn
Hộp MUI giải thích chiều rộng số/hight giá trị 0–1 như phần trăm, vì vậy Độ rộng: 1 làm cho đầu vào ẩn bao phủ toàn bộ thẻ. Thay đổi thành 0 vì vậy đầu vào là v...
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.
Nối tiếp toàn bộ email HTML với khung ngoài trên mẫu lưu
- tuần tự hoá email Html bọc các khối bên trong trong khung bên ngoài nhãn @ info/ rich sử dụng địa chỉ URL tuyệt đối để khách hàng có thể lấy ảnh - Thiết lập k...
Thêm khung ngoài nhãn vào mẫu chính điển
Ngắt nội dung nội dung bên trong với một trình bao thư đúng: đầu trang có tên org, Khu vực nội dung và chân thùng. Dùng{{} làm bộ nhận diện.
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...
Tken liên kết tự động điều chỉnh và chuyển hướng sang đăng nhập; thêm chỉ thị tiêu điểm mã
- / Ngược lại?token =xxx bây giờ gọi xác minh email By Token trên núi và Chuyển hướng tới đăng nhập khi thành công; rơi vào mục nhập mã về thất bại - Hộp mã hoạ...
Nâng ô điều khiển *** lên trên nhấn- nhắm để phủ (z- index)
Các bao gồm (định vị:absolute, z-index:0) được bao gồm các Capcha Thiết bị điều khiển vì nó xuất hiện sau này theo thứ tự HTML. Đang thêm z-index: 1 để *** cont...
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...
Tính toán đầu trang soạn thảo — gỡ bỏ tiêu đề/ ngày tháng lớn, di chuyển hành động vào hàng nav
Gỡ bỏ thẻ đầu dính (phụ đề, phụ đề, Lưu/Cancel/Preview Nút, Edit/Preview tab) từ EmailTemlateEdit để lấy lại ~200px khoảng không dọc phía trên bộ sửa. Nút hành ...
Cần thiết *** trên trang chứng thực trước mỗi việc thử kiểm tra/ xác thực
*** được đặt lại sau mỗi hành động (thành công hay thất bại) vì vậy một mới giải quyết là cần thiết cho mỗi lần thử tiếp theo.
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...
Chuyển đổi sang / chuyển tiếp sau khi đăng ký, thay vì chuyển tiếp
Giữ địa chỉ URL chính xác — trình duyệt hiển thị / chuyển đổi không phải là một phần tử.
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...
Chuyển đổi người dùng sang thư mục
Bỏ Tiểu bang/gọi lại. Nhóm Việt hoá KDEEMAIL OF TRANSLATORS Nơi mà Các điều khiển màn hình thay đổi trang đã có và mã hóa mục nhập đã có.
Thêm /resend-ification trang để chuyển tiếp đăng nhập
Tạo một đường thẳng đứng /reend-verification chấp nhận ?mail và Comment Thư điện tử xác thực UX. Cho đăng kýResponse.lias tùy chọn. trang web hoạt động mà không...
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')...
Đặt máy/ X-Forwarded-Host để các giải pháp APISvice đúng org
APIService ghi đè X-Forwarded-Host với yêu cầu.getServerName từ chủ nhà. Không có một dịch vụ nội bộ máy chủ rõ ràng Tên máy đã được chuyển tới bảo mật Service,...
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.
Thiết kế lại màn hình kiểm tra thư điện tử và sửa lỗi thư điện tử
- Màn hình Hoàn chỉnh sau: bố trí đầy đủ trang với nền hoạt hình org, card hình thái thủy tinh, logo, hộp mã 6 chữ số, trạng thái thành công/ hợp lệ - Thông báo...
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...
Gỡ bỏ tính năng nạp đầy háo hức từ nhận đượcOrganization ByDomain
Tính năng là một mối quan tâm cấp độ org không liên quan đến hầu hết người gọi của phương pháp này (v. d. đăng ký, giải quyết miền đăng nhập). Nạp chúng bằng th...
Tập hợp tính năng Mutete tại chỗ để tránh lỗi removal trẻ mồ côi
Name bộ sưu tập, gây ra JpaSemexception khi bất kỳ truy vấn kích hoạt tự động-flash trong một phiên chạy Quản lý Thực thể mở (mởName Biến dạng Tập hợp đã có, có...
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...
Đang thẩm tra lại việc sử dụng thư không phải là người dùng Id, tiến trình X-Forwarded-Host
Bảo mật thông tin cá nhân. không phải userId (mà câu trả lời lỗi đăng nhập không bao giờ bao gồm). Cũng tiến lên X-Forwarded-Host để hậu phương có thể giải quyế...
Kết hợp kamo-i nội lưu lưu trữ — 3 kích cỡ, MinIO, riêng một bước tải lên
Hộp thoại cắt tạo ra ba đốm PNG (50/50/350px) thông qua vải, giống hệt Tới phòng điều hành Avatar của kamo-i nội bộ. Sau khi đăng ký trở lại userId, các đốm đượ...
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...
Nhóm Việt hoá KDEEMAIL OF TRANSLATORS
Khi việc đăng nhập bị lỗi với nhóm Việt hoá KDEEMAIL OF TRANSLATORS Đánh bóng màn hình "Hãy kiểm tra hộp thư mục": hoạt hình phong bì SVG với cánh mở và lấp lán...
Ảnh mở rộng gửi lên hỗ trợ định dạng AVIF và SVG
Thêm ảnh/vif và ảnh/svg+xml vào danh sách nhập tập tin và regex hợp lệ. Cập nhật nhãn gợi ý để liệt kê tất cả sáu định dạng. kamo- nội bộ đã chấp nhận hình ảnh/...
Thêm trình biên tập ảnh chụp có nhiễu phản ứng để đăng ký tải lên bước
Phản chiếu ảnh chụp từ trình quản lý Avatar nội bộ kamo: - Hộp thoại hoa màu mở ra ngay sau khi chọn tập tin - chảo bằng cách kéo, phóng to qua cuộn hay trượt (...
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.
Gửi thông điệp lỗi dòng lên thất bại qua ủy nhiệm bảo mật thay vì tin nhắn chung
Tập trước đã trả về... Tin nhắn lỗi từ cục an ninh. Bây giờ chuyển mã trạng thái và cơ thể trực tiếp.
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...
Thay thế bộ nhớ tạm phiên chạy Redis bằng Java API trực tiếp trên đường org
Ngăn chặn bộ nhớ tạm thời chứng minh niên đại bị lỗi
- Đường Org: giảm Redis TTL từ 24h đến 5min và thêm độ tuổi Req typeMem để phát hiện cũ để trường bảo mật giữ tươi sau khi DB thay đổi - Đăng kýFlow: mặc định n...
Add SecurityService and dao.repositories to EnableJpaRepositories scan
UserPhoneLookupRepository in recovery package was not picked up because EnableJpaRepositories only listed dao.repos and commerce. Added the SecurityService base...
Như những gì anh thấy vận chuyển?
Mỗi một bản cập nhật này đều được tự động cập nhật trong không gian làm việc của bạn. Bắt đầu tự do và xem nó lớn lên tuần này qua tuần khác.