Tambahkan halaman pengaturan akun bagi pertanyaan keamanan telepon + (SP3)
Tambahkan * * * * * * * * * * * * * * * * dengan kabel API ke SecurityService / api / account / *. Syncs nav di semua 3 lokasi.
Panggilan API nyata ke halaman / recover (SP3)
Mengganti semua fakeSubmit () dengan panggilan rekoveryApi. Tambahkan SMS OTP verifikasi fase, masukan surel benih, langkah sandi baru, dan pendarat token via? ...
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)
Tambahkan entitas pemulihan + repos; bump ke 1.3.0 (SP3)
Tambahkan Password ResetToken, SmSOtp, RecloverySesion, AkuntVerificationCode Entitas JPA dengan repositori yang sesuai untuk aliran pemulihan SP3.
Tambahkan SecurityRequesonCatalog enum + sq1 / 2 / 3 + seedPhraseHash ke Pengguna (SP3)
Add SP3 recovery table DDL + User column additions to SchemaCleanupRunner
Pratinjau rute melalui latar belakang Browser - modal yang dirender (bagian dari Sp2)
Peramban Templat Email kini memiliki Modal Pratilik secara langsung, jadi Manajer tidak perlu lagi mencegat permintaan pratinjau tingkat row-dan redirect to edi...
Wire EmailTemplateEdit ke API nyata
Hidrates dari templateApi.get, saved via templateAppi.update. Kategori dropdown adalah API- didorong dengan kategori inline-menciptakan affordance. Variabel pic...
Wire EmailTemplateBrowser ke API + tambahkan tab Standar Sistem
Menggantikan ~ 140 baris data mock dengan template Api.list () panggilan. Kondisional tab kelima 'Sistem Baku' hanya muncul untuk tingkat atas -org admin dan re...
Tambahkan Modal EmailTemplatePreview
Opens on row- action Preview. Backend- dirender melalui templateApi.preview (); hasil yang ditampilkan dalam iframe sandboxed untuk isolasi gaya. Cocok jalur ko...
Tambahkan template Api + kategoryApi + variableContracts modul klien
Wraps SP1 's / api / email / templates / * dan * * * * * * * * * * * endpoints with typeScript helpers. variableContracts cermin SP1 Javadoc TemplateKeys sehing...
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...
Tambahkan Email TemplateCategoryService - CRUD untuk kategori org- scoped
Menyebabkan keunikan nama sensitivitas per org dipaksa pada lapisan layanan (Cocok dengan sebagian indeks unik di DB). Penghapusan _ id kategori pada template t...
Tambahkan Email TemplateService - CRUD + kirim + seed + reset-to-default
Penata inti untuk email transkasional. sendToUser menyelesaikan template, membuat subjek / tubuh, memilih domain utama org dari Organisasi. domain, and hands of...
Tambahkan Layanan Pemberitahuan untuk 'NoReply @ {domain}' dari -address
Sumber kebenaran tunggal untuk transctional- email dari alamat. Menerima domain string, lowercase-normalizes itu, kembali "NoReply @ < domain >". Penelepon haru...
Tambah Pengatur Templat bagi pengganti {{var}}}
Stareless regex- berbasis renderer. Hilang vars pengganti string kosong dan Keluarkan sebuah log WARN dengan templateKey + orgId untuk atclate. Tidak ada HTML m...
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 ...
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...
Tambahkan Canonicale TemplateLoader + CanonicalTemplate record
Membaca tiga contoh yang hilang (WELCOME, PASSWORD _ RESET, EMAIL _ VERIFIKASI) dari sumber daya classpath di * * * * * * * * * * * * * * * Dikonsumsi oleh Kamo...
Tambahkan HTML + JSON untuk Welcome, PASSWORD _ RESET, EMAIL _ VERIFIKASI
Isi dari kebenaran bagi baris SISTEM. Dimuat di Layanan KamoInitializerService started by Canoniclale TemplateLoader and UPSERTed into email _ templates. Bagia...
Tambahkan repositori EmailTemplate +
Toko satu baris SYSTEM per template _ key (org _ id NULL, adalah _ system TRUE) plus satu clone per org per template _ key. Soft--reference org _ id / categori ...
Tambahkan repositori Email TemplateKategori +
Kategori organik untuk template email. _ Id BIGINT Lembut (tidak ada FK) cocok dengan pola yang ada. Case- nama sensitif unik per-org adalah dipaksa melalui ind...
Tambahkan TemplateStatus enum + TemplateKeys konstanta untuk template trankasional
Menyatakan keadaan lifecycle REQUIRED / CUSTOM / ARCHIVED dan tiga membutuhkan kunci template (WELCOME, PASSWORD _ RESET, EMAIL _ VERIFIKASI). Kontrak variabel ...
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...
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...
Metadata integrasi logo + akurat / integrasinya
Halaman integrasi dan hub sekarang menampilkan logo vendor (menggunakan yang ada * * * * * * * * * * * * * aset yang homepage TechStackBanner sudah menggunakan)...
Expand / integrations ke semua penyedia yang terdaftar
Aligns halaman integration dengan integrasi aktual yang terkena homepage (TechStackBanner). Tambahkan 28 halaman integrasi baru apa produk benar-benar menyediak...
Tambah Halaman Industri Mortgage Brokers
Halaman solusi industri baru di / solusi / hipotek-pialang untuk hipotek broker dan penyewa pinjaman. Mengikuti platform framing jujur: core CRM + comms + docs ...
Tambahkan 92 halaman SEO - industri, integration, glossary
Implikasi Tier 1 dari rencana ekspansi isi SEO: tiga isi baru subsistem dengan total 92 URL merangkak baru ditambah 3 halaman pusat. 1 / solusi - 36 halaman pe...
Add geo-database-url to analytics-secret for CockroachDB geolite lookup
Kamo Analytics uses this URL to look up visitor IP→country/region/city from the **************** tables. Uses kamo user with password auth and sslmode=require (...
Tambahkan k8 manifests untuk kamo- nowww (catch-semua IngressRoute, prioritas 1)
Tambahkan kamo- nowww redirect middleware (apex / tidak diketahui www, ACME Pase, 308)
Hapus rumah / aplikasi / perusahaan / wawasan dari alias DNS yang diperlukan
Add public known-aliases endpoint for kamo-nowww build-time bake-in
Tambahkan taut balik KamoCRM halus ke halaman pendaftaran
Cermin lencana PoweredByKamo dikirim dalam kamo- login. Sejak kami- register disajikan pada setiap domain putih label klien, ini menciptakan stabil ikuti backli...
Seperti apa yang Anda lihat pengiriman?
Semuanya tiba di ruang kerja Anda sendiri. Mulai dengan rencana gratis dan baca halaman ini lagi dalam sebulan.
