Resolve duplicate emailTemplateServiceClient bean conflict
**************** and **************** were identical @Components with the same default bean name, causing **************** at startup. Delete the duplicate in r...
Bump kamo-shared-library to 1.4.0
Docker Stage 1 builds kamo-shared-library main (now 1.4.0) and installs it to the local .m2; the service pom still referenced 1.0.0 which Maven could not find, ...
ปรับใช้ความถูกต้องและแก้ไขคุณภาพของ PP6
C1: ใช้ตัวเ ปลี่ยนหลัง ตัวแบ่งเขตแทนที่ตัวระบุตําแหน่ง C22 เปลี่ยนหน่วยความจําเรจิสเตอร์Response. userId และทุก API params from number เป็นสตริง (CockroachDB) ค...
ตัวช่วยลงทะเบียน SP6 — แบ่งส่วน parentinfo, เพิ่มข้อมูล API จริง
- แทนที่ FormPerseral Innfo ด้วย FormName (ชื่อสนาม) และ ฟอร์มาวาตาร์ (Avatar Word Criginal with upload/upload/skipp for 13+) - ลบรูปแบบการกู้ข้อมูลการบังคับใช้...
SP5 migrate KamoCRM agereq to ALL_WORK_ELIGIBLE
Add KamoCRMAgeReqUpdateRunner (order 10) — conditional idempotent UPDATE on startup; WHERE clause checks old value so re-runs are no-ops. Errors are swallowed s...
Address 4 code-review findings in registration and login paths
- Hide raw exception message in /register 500 path; log instead - Fail-closed (503) on email-verified DB check failure in login - verifyEmailToken throws if use...
Implement SP4 email verification and registration wiring
- Delete legacy email/VerificationEmail.java (hardcoded SMTP stub) - Add **************** (mirrors recovery package pattern) - Add **************** — token gene...
เพิ่มรายการอีเมล Tochen โดเมน + Repo + ผู้ใช้. lalias/ emailverified + ผู้ใช้Repo queriary; ชน 1. 4. 0 (P4)
Add SP4 email_verification_tokens DDL + User alias/email_verified columns
เพิ่มหน้าการตั้งค่าบัญชีผู้ใช้สําหรับโทรศัพท์ + คําถามความปลอดภัย (P3)
เพิ่ม... รักษาความปลอดภัย /api/account/*. ปรับเทียบข้อมูลทั้ง 3 ตําแหน่ง.
API จริงโทรเข้า/ สืบค้นหน้า (P3)
แทนที่การเขียนทับ Submit () ทั้งหมด ด้วยเครื่องหมาย Api เพิ่ม SMSOTP ตรวจสอบระยะ, การป้อนข้อมูลจากอีเมล, ขั้นตอนคําค้นใหม่, และสัญลักษณ์การลง ผ่าน param ของที่อ...
Add AccountSettingsController + Service for phone + security questions (SP3)
Allows logged-in users to set/verify phone and configure 3 security questions. Routes to /api/account/* (session-authenticated via KSESSION_DATA).
Add BulkTextSmsClient + EmailTemplateServiceClient + PasswordRecoveryController (SP3)
Full password recovery flow: email-link, SMS OTP, security questions, seed phrase. Routes to /api/recover/* (unauthenticated). Uses SP1 email pipeline + VOIPSer...
Add InternalAuthFilter + POST /api/bulktext/send for service-to-service SMS (SP3)
เพิ่มคุณสมบัติการกู้คืน + respos; ชนกับ 1. 03 (P3)
เพิ่มรหัสผ่านใหม่@ info: whatsthis JPA ประกอบด้วยสารที่คล้ายคลึงกัน สําหรับการไหลของ PP3.
เพิ่มข้อมูลความปลอดภัยCreationCatalog enum + พื้นพื้นที่//3 + เมล็ดพันธุ์ PhraseHash สําหรับผู้ใช้ (PS3)
Add SP3 recovery table DDL + User column additions to SchemaCleanupRunner
เส้นทางแสดงตัวอย่างผ่านโปรแกรมเบื้องหลังของเบราว์เซอร์
The mail TemptlopBrowser ตอนนี้เป็นเจ้าของการแสดงตัวอย่าง modal โดยตรง ดังนั้น ตัวจัดการไม่จําเป็นต้องดักจับการร้องขอแสดงตัวอย่างระดับแถวอีกต่อไป เปลี่ยนเส้นทาง...
อีเมลแบบออนไลน์
ไฮดรา จากแม่แบบ Api. ได้ บันทึกผ่านทาง Api.update ประเภท ลดลงเป็น API-ไดรฟ์ที่มีบรรทัด ค่าใช้จ่ายสร้างหมวดหมู่ ตัวแปร Chicker reading from dictions.t (decorded ...
Comment=รายการจดหมายName
แทนที่การแสดงข้อมูล~140 บรรทัดของการเยาะเย้ยด้วยข้อความเรียก MagnatuneApi.list () เงื่อนไข แท็บที่ 5 สําหรับ 'ค่าปริยาย' จะปรากฏเฉพาะส่วนโฆษณาและส่วนแสดงผลของส่...
เพิ่มรายการอีเมล
เปิดในตัวอย่างการกระทําแถว แบ็คเอนต์จัดการแฟ้มผ่านทาง ModelApi. preview ส่งผลให้แสดงในกรอบหินทราย สําหรับแยกรูปแบบ ตรงกับ เส้นทางรหัสที่แน่นอนที่ส่งใช้ ดังนั้นส...
ลบอีเมลที่ไม่ได้ใช้Generralmanger.stx (~560 บรรทัดของโค้ดที่ตาย)
ส่วนประกอบไม่เคยนําเข้าที่ไหนเลย มันสลับที่กัน รายการจดหมาย, การติดตามการส่ง, ค่าปริยายจากอีเมล) ไม่มีแบ็คเอนต์และ เป็นเครื่องสําอางค์แบบตั้งเวลา แต่ละคุณสมบัติ...
เพิ่มมอดูลลูกข่าย Api + ประเภท Api + ตัวแปร
ห่อ SPE1 ของ /api/ email/ templets/* และ* idents จุดสิ้นสุดที่มีชนิดแฟ้มช่วยเหลือพิมพ์ ตัวแปร Keys Javadoc ดังนั้นเครื่องมือเลือกตัวแปรของเครื่องมือแก้ไขได้ประก...
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...
Add InternalAuthFilter for service-to-service endpoints
Validates X-Internal-Auth header on /api/email/templates/send and /api/email/templates/seed-org/* paths. Other paths bypass this filter (user session auth handl...
Add EmailTemplateCategoryService — CRUD for org-scoped categories
Case-insensitive name uniqueness per org enforced at service layer (matches the partial unique index in the DB). Deletion nulls category_id on affected template...
Add EmailTemplateService — CRUD + send + seed + reset-to-default
Core orchestrator for transactional email. sendToUser resolves the template, renders subject/body, picks the org's primary domain from Organization.domains, and...
Add NoReplySenderService for 'NoReply@{domain}' from-address
Single source of truth for transactional-email from addresses. Accepts a domain string, lowercase-normalizes it, returns "NoReply@<domain>". Callers must resolv...
Add TemplateRenderer for {{var}} substitution
Stateless regex-based renderer. Missing vars substitute empty string and emit a WARN log with templateKey + orgId for attribution. No HTML escaping in v1 — valu...
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...
Bump kama- shared-library รุ่นที่เป็น 1. 2. 0 สําหรับเพิ่มเติม PP1
เพิ่มอีเมล Canonical Temple, Canonical Temple loader, และกระจายทรัพยากร HTML.
เพิ่มแผ่นเสียง Conical
อ่านเอกสารต้นแบบสามฉบับ ถนอมทรัพย์ นพบูรณ์EMAIL OF TRANSLATORS ~ประกาศออกไป~ ถูกจองโดย เครื่องเร่งอนุภาคของ SESTEMEE ส่วนของ SP1.
เพิ่มเอกสาร HTML + Json สําหรับ Wolcom, PassWord rest, EMAIL OF TRANSLATORS
ข้อมูลต้นฉบับของข้อมูลแถว SYSTEM โหลดที่ KamoInical Service เริ่มการทํางานโดย Canonical Temple Loader และ UpSported เป็นอีเมล ตราสาร ส่วนของ SP1.
Rename mailboxId→id and providerStatus→status in mailbox list response
Align field names with frontend expectations for member mailbox listings.
เพิ่มรายการอีเมล
เก็บหนึ่งแถว SYSTEME ต่อแม่แบบ (org id NULL, is ระบบจริง) บวก ตัวโคลนต่อแกนต่อแม่แบบ พาธที่อ้างถึง org id/ category id ดีบี ไดรฟ์ Timetramps; Jonsonb for bod...
เพิ่มรายการอีเมล
หมวดหมู่จดหมายที่อ่านแล้วสําหรับแม่แบบอีเมล พิมพ์แบบ SweetIMEX id (ไม่มี FK) ตรงกับรูปแบบที่มีอยู่ ชื่อตัวพิมพ์เล็ก- ใหญ่ บังคับใช้ผ่านทางดัชนีบางส่วนที่เพิ่มใ...
เพิ่มค่าคงที่ของต้นแบบจดหมาย
ประกาศสายรัด/CUSTOM/Archive Cycle และ 3 ต้องการกุญแจแม่แบบ (WELCE, PassWord resett, EMAIL OF TRANSLATORS สัญญาตัวแปรสําหรับแม่แบบ RECTIT ที่บันทึกเป็น JavaDoc บ...
เหมือนที่คุณเห็นการขนส่ง?
ทุก คน ที่ ได้ รับ การ ปรับ ปรุง เหล่า นี้ จะ ลง ไป ใน ที่ ทํา งาน ของ คุณ โดย อัตโนมัติ. เริ่มให้อิสระและดูมันเติบโตสัปดาห์แล้วสัปดาห์เล่า.