Add InternalAuthFilter + POST /api/bulktext/send for service-to-service SMS (SP3)
Thêm các thực thể phục hồi + repos; va chạm vào 1. 0. 0 (P3)
Thêm mật khẩu ResetToken, SmsOtp, RecoverySession, Tài khoản Các thực thể JPA với các kho dự trữ tương ứng cho dòng chảy phục hồi SP3.
Thêm Bảo mậtQuseCatalog ensum + vuông1/2/3 + hạt giốngPhrseHash cho người dùng (P3)
Add SP3 recovery table DDL + User column additions to SchemaCleanupRunner
Xem trước lộ trình thông qua phương pháp điều chỉnh ngược của trình duyệt (một phần của SP2)
Máy quét emailTemBrowser bây giờ sở hữu các sửa đổi xem thử trực tiếp, do đó, Quản lý không còn cần phải ngăn chặn các yêu cầu xem thử hàng và Chuyển sang chế đ...
Trình soạn thảo biểu đồ điện tử qua email
Thủy thủ từ mẫu Api.get, tiết kiệm qua Mẫu Api.date.up.date. Loại Hạ cánh là hệ thống hỗ trợ trực tiếp cho việc sinh sản. Biến Bộ chọn đọc từ các tập tin & thay...
Wire Thư điện tửTemBrowser thực sự là thanh Mặc định hệ thống
Thay thế các dòng dữ liệu giả lập ~40 dòng với các cuộc gọi mẫu Api.list (). Điều kiện Thẻ thứ năm 'Sostem Mặc định' chỉ xuất hiện cho các quản trị cấp cao-org ...
Thêm phương pháp xem bảng nháp thư điện tử
Mở trên xem thử hành động hàng. Hậu phương- gởi qua Mẫu Api. Preview (); Kết quả hiển thị trong một hộp cát tôi khung cho sự cô lập phong cách. Khớp Chính xác l...
Xoá thư điện tử không dùng chung.tsx (~560 dòng mã đã chết)
Thành phần chưa bao giờ được nhập khẩu ở đâu cả. Nó bật lên. Theo dõi giao hàng, mặc định từ email) không có hậu phương và được hoàn toàn chỉnh thời gian. Mỗi t...
Thêm MẫuApi + Loại Api + biến mô- đun ứng dụng khách
Dịch bởi Vũ Hạnh, Mai Linh, Nga, Huy Tô, Yuki, Ann, Phương Điểm kết thúc với trợ lý gõ hoa văn biến MẫuKys Javadoc vì vậy bộ chọn biến trình soạn thảo hiển thị ...
Wire EmailTemplateSeedClient into ****************
Thin RestTemplate client that POSTs to EmailService's **************** after an org + owner TeamMember are persisted. Retries twice with backoff; failure throws...
Add EmailTemplateCategoryController REST endpoints
**************** CRUD. Delete response includes reassignedCount — the number of templates that became uncategorized as a result of removing the category. Sessio...
Add EmailTemplateController REST endpoints + DTOs
Exposes /api/email/templates/* CRUD + preview + duplicate + reset-to-default + service-to-service /send + /seed-org/{orgId}. Top-level orgs (no parent) addition...
Thêm bộ nạp nội bộ cho điểm kết thúc dịch vụ
Kiểm tra X-I nội bộ-Auth Header trên / api/email/gatelates/send và Đường dẫn: Các đường dẫn khác đi qua bộ lọc này (người dùng phiên điều khiển họ). Bí mật đến ...
Thêm mục lục địa chỉ email
Name (So sánh chỉ mục một phần duy nhất trong DB). Xoá nhóm d trên mẫu bị ảnh hưởng trước khi gỡ bỏ hàng loại. Một phần của SP1.
Thêm địa chỉ thư
Bộ dàn nhạc lõi cho email giao dịch. Gửi tới Người Dùng Giải quyết mẫu, vẽ đối tượng/cơ thể, chọn miền chính của org từ Tổ chức. miền và đưa tay vào emailSmpSer...
Thêm tập tin âm thanh
Một nguồn tin sự thật từ email giao dịch từ địa chỉ. Chấp nhận a Chuỗi miền, bình thường hoá nó, trả lại "NoReply@ <domain>". Người gọi phải giải quyết miền của...
Thêm MẫuRenderer cho thay thế{ver}
Trình tạo ra regex không dựa trên trạng thái. Thiếu chuỗi rỗng thay thế vars và phát ra một bản ghi URSN với mẫuKey + orgId cho lời buộc tội. Không thoát khỏi H...
Append Z to dateCommitted so JS parses it as UTC
LocalDateTime.toString() produces no timezone designator, causing JavaScript's new Date() to treat the UTC value as local time and display timestamps 7-8 hours ...
Add EmailTemplateSeedRunner for SYSTEM + per-org seeding
Runs at @Order(20) on KamoInitializerService startup. Loads canonical templates from kamo-shared-library resources; upserts SYSTEM rows (no clobber); backfills ...
Convert PT midnight cutoff to UTC for today-count query
Commits are stored in UTC but the cutoff was a naive LocalDateTime in PT, causing yesterday-evening PT commits (00:00–06:59 UTC) to be counted as today.
Add partial unique indexes + CHECK constraints for email_templates
Hibernate ddl-auto can't generate partial unique indexes or computed-CHECK constraints. This commit adds them via the existing idempotent DDL runner pattern aft...
Bup kamo-shared-library phiên bản tới 1. 2. 0 cho bổ sung SP1
Thêm địa chỉ thư điện tử, thư điện tử và Biểu mẫu, Biểu mẫuKeys, Bảng điều khiển chính thống, CanonemTemTemTelader, và tài nguyên HTML chính thống.
Thêm hồ sơ chính thống
Đọc được ba mẫu giả (WELCOME, PSSWORD REE, Nhóm Việt hoá KDEEMAIL OF TRANSLATORS (TIẾNG CÒI) Ăn bởi KamoInitor Service cho việc gieo giống SYSTEM-row. Một phần...
Thêm HTML chính thống + JSON cho WLCOME, PSSWORD RESE, Nhóm Việt hoá KDE
Nội dung nguồn gốc của sự thật cho hàng chữ SYSTEM. Name Khởi động bởi CanonemTemSlate Loader và USERighted vào email stlates. Một phần của SP1.
Thay tên hộp thư mục và nhà cung cấpStatus trong danh sách thư điện tử trả lời
Sắp xếp tên trường với mong đợi giao diện điều khiển cho danh sách hộp thư.
Thêm thực thể bảng biểu thư và kho
Lưu trữ một hàng SYSTEM trên mỗi mẫu key (org d NULL, là hệ thống đúng) cộng với 1 nhân bản trên 1 org 1 mẫu key. Tham chiếu mềm org id/ategory id. DB- đã điều ...
Thêm thư điện tử và kho
Phân loại theo kính hiển vi cho mẫu email. Name khớp các mẫu đã có. Tên nhạy cảm với trường hợp độc nhất trên 1-org là Thực hiện qua một chỉ mục được thêm vào t...
Thêm MẫuStatus enum + Mẫu Keys hằng số cho mẫu giao dịch
Tuyên bố các trạng thái cuộc sống và ba Cần thiết khóa mẫu (WELCOME, PSSWORD RET, Nhóm Việt hóa KDE). Hợp đồng thay đổi cho mỗi mẫu đã được ghi là Javadoc trên ...
Seed KamoCRM with ALL_WORK_ELIGIBLE on fresh installs
The createOrg() helper applies this single argument to both ageReqTypeMember and ageReqTypeTeamMember; consistent with platform convention. Pairs with KamoCRMAg...
Tighten KamoCRMAgeReqUpdateRunner per review
- Restore Javadoc paragraph explaining @Order(10) rationale. - Test now references the UPDATE_SQL constant directly instead of duplicating the SQL string, so ...
Add one-time runner to migrate KamoCRM agereq to ALL_WORK_ELIGIBLE
Conditional idempotent UPDATE runs on service startup; WHERE clause checks the expected old value so re-runs are no-ops. Errors are logged and swallowed — start...
Mẫu
Di chuyển, tải phụ, Chân trang, Bộ tải phụ và Bộ nạp sẵn đều được dùng Cùng một loại lọc độ sáng 0 nghịch đảo. Thay thế bằng logo trắng.
Dùng logo SVG màu trắng ở chân trang thay cho bộ lọc CNS
Cùng một cách sửa chữa như là bộ lọc nav - CSS trên bộ lọc hoạt động bên trong bối cảnh phía sau là không đáng tin cậy trên iOS Safari.
Bảo vệ màu sắc với! quan trọng chống lại lệnh ghi đè sắc thái CN
MetaLoader có thể tiêm thuốc nổ từ xa để chiến thắng. Đang thêm Điều quan trọng là đảm bảo màu sắc giả: bóng tối không bao giờ bị đè bẹp bởi những tờ rơi sắc th...
Mở rộng chân trang và liên kết nav từ TouchOptimized
TouchOptimized được thiết lập MinHeight:44px trên tất cả <a> yếu tố ngắn hơn 44px, bao gồm cả các liên kết chân trang nav (~20px cao). Điều này chạy trong khi n...
Dùng logo SVG có sẵn thay cho bộ lọc CNS
Bộ lọc CSS hoạt động bên trong khu vực nền không đáng tin cậy trên iOS Safari. Tạo ra logo trắng đầy đủ.svg với tất cả các đầy đủ thiết lập #ff phụ thuộc và nạp...
Khóa chiều tối chế độ khoá biến thể đến cơ sở lớp học, không bao giờ truy vấn hệ điều hành hệ thống cơ bản
Gió đuôi v4 mặc định là tối: các tiện ích để đáp ứng thích nhất- màu- chạy bộ (ý thích) Việc ghi đè@ variant bảo đảm bóng tối: lớp chỉ kích hoạt khi lớp tối là ...
Dùng kiểu bộ lọc thẳng trên liên kết logo cho việc vẽ màu trắng đáng tin cậy
Lớp lọc đuôi gió trên các yếu tố hoạt động không nhất quán trên các trình duyệt di động. Kiểu trực tiếp trên phần tử neo đảm bảo khả năng đảo ánh sáng( 1) áp dụ...
Buộc bộ màu tối làm cho trình duyệt không bao giờ áp dụng cho việc vẽ chế độ ánh sáng
Thay đổi từ 'light only' sang' tối trong toàn cầu.cs, tạo raViewport, và Name trong chế độ ánh sáng, đã làm cho logo xuất hiện màu đen chống lại nền tối.
Ngăn không vẽ phía sau hàng nav trên di động
Gói div wrapper với bộ lọc CNS tạo ra một bối cảnh xếp chồng mới xung đột với mẹo nền của bộ duyệt điện thoại di động, làm cho logo vẽ phía sau hậu trường. Áp d...
Name
- Thêm tràn: ẩn để JumpToBar bên trong container để ngăn chặn cuộn dọc thanh - Cho phép xem thửBanner nội dung để kết thúc trên điện thoại di động để không bị c...
Thay thế space-y-4 với khoảng cách thẳng trên danh sách các đường dẫn chân trang
Không gian đuôi gió-y-4 sử dụng: Where() (đặc biệt 0) mà cuộc đua với CN Nạp vào phần cập nhật khó gây ra khoảng cách dọc không nhất quán. Trực tiếp Kiểu dáng đ...
Thêm sức mạnh của KamoCRM vào / Chào mừng trang hạ cánh
Cuộc gặp thực sự. HTML — tĩnh Trang HTML phục vụ trực tiếp bởi nginx mà xử lý dòng chảy tiền tự động (Tên hiển thị / phòng, xác thực, chuyển hướng tới gặp JWT)....
Làm cho kết quả tương ứng với kamo-login bằng điện tử — trắng trên màu nhãn
Trang chào mừng KamoMeet đã có kết nối kết nối kết nối lại bằng đường dây điện thoại. Nhưng nó vẫn là phương pháp điều trị ít hiệu quả hiện nay. Nó quá mờ nhạt ...
Remove geo debug logging (root cause was Traefik externalTrafficPolicy)
Set Traefik externalTrafficPolicy=Local to preserve client IP
With the default "Cluster" policy, kube-proxy SNATs external traffic to the node IP before forwarding to Traefik. That caused Traefik to see the node IP as the ...
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.