Changelog
Ada kabar baru.
Setiap perbaikan pada platform, sebagai kapal.
· SecurityService
Memulai sesi koder di awan, dan mengatakan terminal mana
repositori sebagai cwd) dan jawaban 'awan: benar'; mesin membangun sesi awan bisa dimulai dari. Daftar terminal membawa agen 'Cloud' mark through, for the cloud on the window 's icon.
· KlusterServices
Mulai sesi koder di awan dari checkout lokal
repositori. Bundel dipaksa karena remot kami Forgejo, tidak GitHub, dan intinya adalah cek-out di disk ini. Tidak ada --permission- mode (CLI drops by passperisions for a cloud session) and no --session- id atau tanda terima (nama awan sesi dan tidak menyimpan transkrip di sini). Sesi tmux ditandai @ kamo _ cloud sehingga daftar laporan terminal 'cloud: true' dan konsol dapat menempatkan sebuah awan pada ikon jendela setelah ~ / Kamo / Proyek, yang paling baru-baru ini bekerja di pertama, untuk menu untuk memilih dari.
· kamo-internal
Lampiran duduk di atas tubuh, sebagai file sendiri
Sebuah email yang hanya isi adalah PDF tidak punya cara untuk membuka atau mengunduh berkas: klip kertas yang ditampilkan pada baris daftar, dan panel pembacaan ditampilkan Tidak ada. Layanan Surat menandai inline PDF karena aplikasi Gmail memberikan it a Content- ID (tetap ada di 0de0823); panel menjatuhkan setiap inline Bagian tanpa bertanya apakah tubuh benar-benar melukisnya. Aturan sekarang tinggal di satu tempat, IistedAttachments: bagian tetap keluar dari daftar hanya ketika tubuh HTML mereferensikan liriknya:. Panel baca, garis waktu memimpin dan meneruskan semua menggunakannya, sehingga pesan diteruskan no lebih lama diam-diam menjatuhkan file yang baik. Ini tidak percaya server flag, yang badan cached dalam browser masih membawa dari sebelum memperbaiki. The sanitizer menyelesaikan cid: referensi dengan normalisasi yang sama, jadi apa pun yang tersisa dari daftar selalu sesuatu tubuh menunjukkan. Rak lampiran, hal pertama di bawah header: - setiap berkas adalah kartu yang menampilkan berkas itu sendiri: halaman satu dari PDF (dengan halamannya menghitung), foto, atau tipe 's glyph pada kertas kosong - satu klik preview dalam sebuah layar layar penuh: PDF melalui pdf.js dengan zoom and a page counter, images fit-to-screen with click-to-zoom, video dan pemutar audio, teks, dan CSV / TSV sebagai tabel; tombol panah dan Strip film antara berkas - unduhan melalui fetch, membawa header sesi pertab telanjang < a download > tidak pernah bisa, dengan progress ring dan sebuah tick yang digambar - "Unduh semua" tangan setiap berkas atas sebagai satu .zip ditulis dalam browser - keyboard- pertama, pengurangan gerakan dihormati, kapak bersih; dua kartu per baris (Pada mata yang sempit) yakni kecil, pengertian ini disimpulkan dari ayat selanjutnya
· kamo-shared-library
"Arive as a second external LOS, and a provider seam that is real"
Arive hanya dapat dicapai melalui undangan - hanya aplikasi Zapier, sehingga koneksi Adalah Zapier di kedua arah: perintah posting Kamo (buat pinjaman, perbarui pinjaman panggung, memimpin update, memimpin konversi) ke dalam pasar Menangkap Hooks, dan Arive posting pemicu kembali ke sebuah inbound token per- koneksi. Adaptor, bidang mapper (tiga nama Arive, dibaca dari aplikasi langsung), peta panggung, dienkripsi rahasia dan catatan aktivitas hidup dalam integrasinya. hidup / terpisahkan. Kehilangan. LeadService tidak lagi menjalankan kode MeridianLink untuk setiap link. Pushes pergi ke Link sendiri LosProviderAdapter; penyedia tanpa satu dilewati dan log masuk daripada menerima amplop SOAP. Masuk berlaku mengambil provider - netral LosLeadPatch (kontak, alamat mailing, fakta hipotek, status) dan atribut riwayat ke penyedia. Resolver mencari anggota kredensial oleh penyedia koneksi, dan penyimpanan pasar dengan tidak diketahui Nilai MLOS adalah 400 daripada sebuah NO _ MLOS diam. Kolom peta ini sudah ada di Yugabyte (LosAriveSchemamigration 's Pernyataan yang diterapkan sebelum dorongan ini).
· kamo-internal
Sebuah layar peluncuran dirancang, dalam merek organisasi sendiri
Membuka komputer menampilkan satu baris teks polos pada halaman putih, ditulis langsung ke tab dengan 'Dokument.body.textContent'. Untuk sampai 90 detik - sebuah resume membaca seluruh gambar memori tamu kembali dari volume yang direplikasi - kalimat itu adalah seluruh pengalaman, dan membaca sebagai peramban error daripada sebagai anggota perangkat lunak sendiri. Sebuah halaman yang terlihat rusak adalah satu orang dekat pada empat puluh detik, yang membatalkan apa-apa. Ini adalah layar sekarang, dibangun untuk canon aplikasi ini daripada ditemukan: pencucian primer / sekunder radial pada putih, kartu putih di radius 14 dengan --eleven-hover, gradien pahlawan 90deg sebagai aturan, - Ease- rumah, mode cahaya. Logo organisasi dan siaran langsung ring counting down to the estimate the SERVER gave than a guess, and ambient washes that Sebaiknya - pengurangan - gerak mematikan sepenuhnya. Sebuah kegagalan sekarang memiliki jalan keluar dari itu. Ini menunjukkan server sendiri kalimat - "node sekarang tidak memiliki 8 GiB bebas "layak dibaca - dan Coba lagi yang dijalankan ulang peluncuran dalam tab yang sama. TAB menjaga ICON ORGANIZASI, yang merupakan setengah lainnya dari ini. Navigasi ke gateway serahkan seluruh dokumen ke Guacamole, yang memiliki '< link rel = "icon" href = "images / logo-64.png" >' maka memiliki tab: seorang anggota membuka komputer perusahaan mereka melihatnya berubah menjadi logo Guacamole. The sesi dibingkai dalam halaman ini, jadi ikon dan judul tetap org dan hand- over adalah memudar daripada flash putih. Guacamole tidak mengirim pilihan X- Frame- ataupun frame- nenek moyang kebijakan - diperiksa, tidak diasumsikan - dan jika bingkai tidak dapat dibuat navigasi tab seperti itu selalu melakukan, karena tab lebih cantik tidak layak anggota tidak mencapai komputer mereka. Ikon tidak dibangun kembali dari path: mereka adalah elemen '< link >' DynamicMetaLoader telah diselesaikan untuk organisasi ini, kloning. Re-deriving yang dari dua favicon direktori sebuah org menggunakan akan menjadi jawaban kedua yang dapat hanyut dari yang pertama. Setiap string adalah kunci, didorong ke kamus pertama. Salinan disuntikkan daripada dicari - halaman ditulis ke jendela lain oleh sebuah fungsi polos, dimana 'useTranslations' tidak dapat berjalan - dan ada sengaja tidak ada bahasa Inggris default, sehingga pemanggil yang lupa gagal kompilasi bukan pengiriman bahasa Inggris ke setiap lokal. Tiga belas tes, termasuk bahwa pesan server lolos daripada ditulis sebagai markup.
· kamo-login
Menunjuk anggota yang mengetik email kerja mereka pada salah satu pribadi mereka
Forgot- kata sandi reset pergi ke alamat pada akun pengguna, biasanya Satu pribadi, tapi anggota jenis alamat kerja organisasi mereka memberi mereka. SecurityService sekarang mengakui alamat kerja dan jawaban 409 works _ EMAIL dengan PersonalEmailHint, alamat rekening bertopeng. Tidak ada yang dikirim. Penyihir menunjukkan bahwa di tempat "memeriksa inbox Anda": alamat yang mereka ketik, petunjuk bertopeng pada garis sendiri, dan bidang dibersihkan, relabelled "Alamat email pribadi", fokus, dengan petunjuk sebagai tempatnya. The * * * tetap diselesaikan, karena anggota sedang membantu sepanjang daripada Ditolak. Memasuki alamat pribadi membawa ke tahap kode seperti sebelumnya. / langkah email recover menunjukkan jawaban yang sama sebagai pesan info daripada "Gagal mengirim email pemulihan".
· SecurityService
Alamat kerja pada forgot-password meminta untuk akun sendiri, ditampilkan bertopeng
Anggota membuka akun mereka dengan alamat pribadi (gmail, yahoo) dan kemudian yang mereka ingat dan ketik forgot- password. Yang hanya pernah diselesaikan pada org mereka sendiri host login, dan kemudian surat pergi ke kerja inbox. Untuk 20 anggota KamoCRM yang merupakan Kotak-surat KamoMail, yang dibaca di dalam produk mereka baru saja dikunci keluar. Pada host lain alamat tidak cocok, dan halaman mengatakan "jika ini email terdaftar, link telah dikirim "setelah mengirim apa-apa. / api / recover / email / mulai sekarang menjawab e- mail akun persis seperti sebelumnya. Untuk alamat lain itu mencari untuk anggota alamat kerja: pertama di org halaman log masuk yang ini (Kotak-surat Primary, kemudian members.email), kemudian dalam hidup apapun org. Ketika nama akun dengan alamat sendiri, tidak ada yang dikirim. The jawaban adalah 409 dengan alasan work _ EMAIL dan personalEmailHint, alamat akun dengan setiap karakter nama antara bintang pertama dan terakhir, (Dan demi rombongan yang menggiring dengan sebenar-benarnya) demi para malaikat yang menggiring atau mengarak awan. Ini adalah 409 pada tujuan: halaman login yang mendahului petunjuk menampilkan 'pesan' untuk bukan-2xx, dan 'message' kata hal yang sama dalam kata. Sebuah akun tanpa alamat sendiri masih mendapat surat di kotak kerja pada host org nya, karena itu adalah satu-satunya inbox pada catatan. Petunjuk mengatakan alamat milik seseorang, yang jawaban generik tidak pernah lakukan, sehingga masing-masing dihitung oleh CodeTrictLimiter: lima per jam per alamat diketik, ditambah alamat pemanggil membatasi bersama dengan pemeriksaan kode. Melewati itu permintaan mendapat 429.
· EmailService
Pindahkan surat sistem dan platform org sendiri kirim domain ke kamouniverse.com
platform.mail.domain sekarang baku ke kamouniverse.com (nilai konfigurasi, tidak ada kode perubahan baku) dan gerbang setiap unverified-domain org 's Transisi mundur Dari, seperti sebelumnya. Platform org (kamokrm) digunakan untuk memotong properti yang dan mengirim sebagai sendiri diverifikasi Organimain bukan - Sekarang PlatformOrganos Resolver memaksa melalui fallback yang sama, jadi keduanya ikuti satu properti daripada balap dua baris yang berbeda. * * * * * * * * * * * * * * * mendapat bagian yang cocok untuk anggota: platform org apos; s kotak surat utama mendapat sintetis entri kamouniverse.com sebelumnya (kotak surat yang sama, surat layanan kluster/ aliases it back to the real kamocrm.com maildir) sebagai komposer 's new baku, sementara alamat kamocrm.com asli tetap dapat diakses - Aditif, bukan pengganti. Setiap org lain tidak terpengaruh dengan cara apapun. Surat kampanye Bulk / (bulk-email .platform-rela. *, hello.kamocrm.com) adalah jalan kode terpisah dan tidak tersentuh.
· KlusterServices
Tambahkan kamouniverse.com sebagai domain regular- mail kedua
Tambahkan kamouniverse.com ke postfix virtual _ alias _ domains dengan local- part- menjaga regexp sehingga alamat apapun di atasnya tanah di kotak-surat kamocrm.com identik (tidak ada setup per- pengguna, bekerja untuk kotak surat dibuat kemudian juga), dan untuk relay _ sender _ domains sehingga anggota / service dapat Kirim sebagai kamouniverse.com melalui relay ini. rspamd mendapat DKIM sendiri pasangan kunci dan blok tanda tangan untuk domain (surat pemilih, diterbitkan sebagai * * * * * * * * * * * * * * * hello.kamocrm.com / postfix-massive tak tersentuh.
· KlusterServices
Teruskan kabouniverse.com ke kamocrm.com
DNS untuk puncak dan www sekarang menunjuk ke IP publik K1M1. Tambah redirectRegex rute pada kedua entrypoints (301, jalur / query diawetkan, Path tantangan ACME dikecualikan pada: 80) dan benih kedua host ke auto- cert 's STATIC _ DOMAINS sehingga mereka mendapatkan certs meskipun tidak menjadi domain org terdaftar, sama seperti sign.pink.
· kamo-internal
Pilih -semua / deselect- semua untuk negara bagian filter lead, baku ke semua
Dimensi negara bagian dari panelis kampanye dan pemicu tetes aktif filter tidak menunjukkan apa-apa diperiksa secara baku, meskipun sebuah unset daftar sudah berarti "setiap negara" di kawat - sama "tidak ada pembatasan" Konvensi pasar / vendor / vendor produk sudah digunakan. Yang membuat picker terlihat seperti itu penyaringan ke nol mengarah daripada ke semua orang, dan tidak memberikan cara cepat untuk memulai dari "setiap negara" atau "tidak ada" sebelum tangan-memilih beberapa. leadAudienceFilter.ts memperoleh efektiveAmerikaSerikat () (apa yang ditampilkan diperiksa: daftar tersimpan, atau setiap negara ketika itu unset) dan withStates () (apa untuk simpan kembali: set lengkap runtuh ke undefined daripada sebuah eksplisit daftar lima puluh kode, sehingga sebuah lead dengan keadaan kosong pada berkas masih cocok "setiap negara" cara yang sebenarnya ketiadaan filter tidak - eksplisit In-list tidak akan). Kedua panel mendapat "Pilih semua" / "Lepas semua" pasangan di sebelah negara bagian picker saja; tiga dimensi lainnya tidak berubah, karena empty- by- default framing sudah benar.
· kamo-internal
DKIM dan DMARC langkah-langkah, jadi email kami kirimkan untuk sebuah org sepenuhnya terotentikasi
Dua langkah baru setelah SPF yang ada, ditulis untuk pemilik bukan-teknis Dengan cara yang sama SpfCard sudah - bahasa biasa, sebuah "mengapa hal ini penting" kotak, dan tidak pernah meminta perubahan yang kita tidak benar-benar butuhkan: - DkimCard: SecurityService menghasilkan kunci penandatanganan untuk domain pertama waktu beban ini, kemudian membaca apakah TXT record diterbitkan. Hanya dua negara nyata (belum ada yang diterbitkan, atau sesuatu yang diterbitkan yang tidak cocok) karena DKIM record tidak pernah dapat bertabrakan dengan apa pelanggan sudah memiliki - tidak seperti SPF, tidak ada "add vs. edit" yang harus dibuat. - DmarcCard: baca saja. Karena surat Kamo selalu menggunakan domain org sebagai baik amplop pengirim dan terlihat Dari, pemeriksaan alignmen DMARC sudah puas setelah SPF dilakukan, kebijakan apapun org telah memilih - jadi ini hanya menunjukkan apa yang diterbitkan (atau menunjukkan titik awal), tidak pernah meminta untuk perubahan. Keduanya baru. proxy mengikuti sf / route.ts ada persis - tidak ada catch-semua di sini, jadi jalan tanpa sendiri file rute 404s sebelum mencapai SecurityService. DnsSetupStudio kini menampilkan 6 langkah bukannya 4; langkah angka-angka di seluruh diperbarui untuk kedua kepemilikan-token dan tidak-pemilik-kasus token. Tergantung kamo- terjemahan - kamus 2f143f94 (sempp.dns.studio.dkim. * dan sedip.dns.studio.dmarc. copy) dan penasihat keamanan titik akhir.
· EmailService
DKIM-sign surat transaksional dikirim sebagai domain org sendiri
Setelah SecurityService mengkonfirmasi sebuah rekaman DKIM domain diterbitkan (org _ domains.dkim _ verified), kata sandi reset, undangan dan lainnya surat transaksional dikirim sebagai domain NoReply @ {org} sekarang membawa sebuah DKIM tanda tangan bersama dengan otorisasi SPF yang ada - menggunakan kembali sama Surat kampanye DkimSigner telah ditandatangani, tidak diubah. Email SmttpService mendapat kiriman baru (...) overload mengambil MessageSigner, miroring sendVia 's signed path: savechanges () sekali, sign, then a Manual - dikelola Transportasi, karena Transport.send statis () digunakan oleh setiap kirim () lainnya panggilan savechanges () secara internal lagi dan akan mint sebuah Pesan-ID baru setelah tanda tangan dihitung lebih dari yang lama. The ada 6-arg mengirim (...) sekarang delegasi ke sana dengan penandatangan kosong, jadi setiap penelpon lain byte- for-byte tidak berubah. * * * * * * * * * * * * * * gerbang di dkimVerified secara khusus (bukan hanya kunci yang ada) dan hanya pernah berlaku ketika kita sudah mengirim sebagai domain org sendiri - tidak pernah di bawah domain platform, dan tidak pernah di platform-address coba ketika org sendiri mengirim gagal. Tergantung pada kamo- shared-library 5de57705 dan keamanan DKIM penasihat titik akhir, yang menghasilkan dan memverifikasi kunci yang dibaca.
· SecurityService
DKIM dan DMARC penasihat titik akhir untuk / setup / dns
Tambahkan dua titik akhir bersama SPF yang ada, sehingga transaksional org surat (kata sandi resset, undangan, pemberitahuan) dapat membawa sebuah tanda tangan DKIM dan pemilik dapat melihat postur DMARC mereka: - GET / api / keamanan / domains / {id} / dkim - menghasilkan kunci DKIM domain pertama kali diminta untuk (tidak pernah diregenerasi sesudahnya, sejak bertukar kunci akan memecahkan verifikasi dari apa pun sudah ditandatangani dengan yang lama), memeriksa apakah TXT record dipublikasikan, dan menyimpan vonis pada * * * * * * * * * * * * * * * * yang sama checkked-state bentuk sf _ verified telah menggunakan. - GET * * * * * * * * * * * * * * - read-only. Setiap pesan yang dikirim Kamo Sebagai NoReply @ {domain} menggunakan domain tersebut sebagai kedua pengirim amplop dan terlihat Dari, jadi cek alignmen DMARC sudah puas setelah SPF selesai, Kebijakan apapun yang telah dipilih pelanggan. Ini hanya laporan apa yang dipublikasikan (atau menyarankan sebuah catatan awal ketika tidak ada) - tidak pernah meminta untuk perubahan, karena tidak ada yang perlu Kamo. * * * * * * * * * * * * * * * bentuk layanan SpfAdvisoryService cermin (murni memeriksa (), createLookup () jahitan untuk tes) dan DkimOtorisasi Layanan mirror Spfautorization Service (persisten putusan, tinggalkan saja pada gagal dicari). DkimDomainRepositori adalah JpaRepositori biasa dengan cara yang sama SpfDomainRepositori, untuk alasan yang sama: kapal dengan satu penyebaran daripada shared- perpustakaan versi benjolan. Tergantung pada kamo- shared-library 5de57705 (OrganiDomain baru dkim _ *).
· kamo-shared-library
Ruas kunci DKIM untuk sebuah surel transaksional domain org
Tambahkan * * * * * * * * * * * ke org _ domains, mencerminkan pasangan spf _ verified / spf _ checked _ at sudah ada - sehingga suatu domain dapat menyimpan sebuah pasangan kunci DKIM yang dihasilkan dan apakah rekaman TXT nya memiliki telah dikonfirmasi, pemeriksaan yang sama - bentuk negara SPF yang sudah digunakan.
· EmailService
Memisahkan semua kampanye - menyebabkan penonton dan tetes pemicu oleh pasar, vendor, produk dan negara
Kotak kampanye "All Leads" dan filter timbal yang menetes itu bisa hanya cocok dengan setiap petunjuk yang dapat dilihat pengirim, dengan tidak ada cara untuk menargetkan pasar, vendor, produk vendor atau negara - jaringan memimpin telah memiliki semua empat minggu. - New LeadAudienceFilter * * * * * * * * * * * * * * * threaded melalui CampaignAudienceInput - > AudienceDefinition - > AudienceQueries.shape () 's Leads case, mirror LeadGridSpecifications 'predicates (pasar memiliki lead langsung atau melalui produk vendor; negara adalah hipotek-sadar properti vs mail, berubah lingkup tidak. / estimasi dan / browse mengambil empat filter yang sama sebagai param query dipisahkan koma, sehingga jumlah hidup penyunting mencerminkan sebuah unsaved filter juga. - TriggerConfig memperoleh sebuah negara bagian di samping pasar yang ada / vendorid / Produksi; DripTriggerMatcher.leadFilter () memeriksanya. Jalur muatan... tidak pernah membawa vendor atau negara, sehingga negara diselesaikan langsung setiap memimpin (DripContacts. Nasehat Lead), cara yang sama penjual sudah adalah dari produk vendor. Setiap situs panggilan 3 / 6 / 8 yang ada terus mengkompilasi tidak berubah melalui ditambahkan overloads dan konstruktor sekunder; hanya AudienceGatherer, yang selalu benang filter definisi melalui, dibutuhkan situs panggilan diperbarui.
· kamo-internal
filter pada kampanye lead dan menetes pemicu
Sumber pendengar "All lead" kampanye tidak memiliki cara untuk mempersempit (Yaitu orang-orang yang terbenam di dalam kebodohannya) di dalam kebodohan yang menutupi akal mereka (lagi lalai) akan perkara akhirat. Tambahkan panel penyaring (Pasar - > Vendor - > Vendor Produk cascade, ditambah sebuah independen dimensi Negara) yang mempersempit jumlah hidup, tampilan browse dan penonton disimpan, Terbentuk melalui perkiraan / panggilan audienceApi. Filter timbal menetes 's telah memiliki Pasar / Vendor / Produk cascade; menambahkan dimensi negara yang sama di sana, di samping yang ada tiga, bukan-cascading.
· KlusterServices
Host komputer org sendiri mendapatkan sertifikat dan rute
komputer adalah alias standar sekarang - setiap white- label org diberitahu untuk menunjuk satu di Kamo pada / setup / dns, cara titik bertemu dan menandatangani - jadi dua hal harus mengikutinya atau catatan akan menyelesaikan dan melakukan apa-apa. Sebuah certifikate. komputer bergabung dengan SUBDOMAINS, yang merupakan daftar per-org daftar layanan ini masalah dari. Tanpa itu host org memiliki DNS dan tanpa TLS, yang merupakan peringatan peramban pada merek mereka daripada meja kerja. Sebuah Route. Gateway yang cocok dengan Host ('computers.kamocrm.com') dan tidak ada yang lain, jadi org bisa menambahkan catatan, menonton studio setup berubah hijau dan masih tanah di suatu tempat yang bukan gerbang ini. Rute baru menggunakan HostRegexp ('^ komputer [.]. + $'), bentuk yang sama * * * * * * * * * * * * * dan aliran. / grafana. rute sudah digunakan. SePARATE IngressRoutes daripada memperluas aturan yang ada, dan alasannya adalah TLS. Rute platform membawa sebuah sekretName eksplisit, yang merupakan satu-satunya sertifikat yang dapat Nama awal dari waktu; penyewa tiba ketika domain mereka pergi hidup. Memperluas aturan akan membuat satu bernama jawaban rahasia untuk setiap domain penyewa - sertifikat peringatan pada merek orang lain, yang lebih buruk daripada tidak ada rute sama sekali karena terlihat Seperti Kamo punya domain yang salah. Rute penyewa meninggalkan TLS ke toko Traefik dan SNI, seperti halnya bertemu, dan duduk pada prioritas yang lebih rendah sehingga komputer. kamocrm.com menyimpan sendiri. Melayani setiap org dari satu tangan regex tidak ada apa-apa: koneksi dipilih oleh tanda tangan, tidak pernah oleh nama host, dan token mint satu komputer untuk satu anggota untuk satu sesi.
· kamo-internal
Rekor komputer di studio DNS
Satu kartu lebih pada / setup / dns, sehingga org mengatur domain nya diberitahu tentang host Host Computers terbuka. Tanpa itu org bisa mengikuti halaman ke surat, selesai dengan setiap kartu hijau, dan masih memiliki komputer yang menghasilkan tab peramban yang membuka dan menutup - link dibangun dari komputer. < domain >, dan link ke host tanpa catatan gagal sebelum permintaan apapun meninggalkan mesin. Perlu seperti setiap label lain daripada hanya untuk orgs memegang aplikasi. Rekor adalah apa yang membuat aplikasi bekerja hari itu diaktifkan, dan org dikirim kembali ke nya catatan sebulan kemudian untuk satu catatan adalah org yang komputer pertamanya tidak terbuka. Label ini harus sesuai dengan KnownAlias dalam layanan keamanan tepat - DomainAliasContractTest Pin mereka, karena label studio membutuhkan tetapi verify- dns tidak pernah memancarkan status untuk tidak melaporkan sebagai hilang: pencarian miss jatuh ke "tertunda" dan kartu duduk di "menunggu DNS" selamanya, apa pun kata daerah pelanggan.
· SecurityService
Komputer adalah alias standar, dan link menggunakan org sendiri
Setiap white- label org menunjuk set tetap label di Kamo dan komputer bukan salah dari mereka, sehingga org dapat mengikuti / setup / dns ke surat dan masih memiliki Host Komputer tidak ada yang bisa membuka. Taut dibuat dari host itu; sebuah link ke host dengan tidak catatan adalah tab browser yang membuka dan menutup sebelum permintaan meninggalkan mesin, dengan apa-apa login di mana saja di Kamo dan komputer itu sendiri sehat dan terjaga seluruh. Empat daftar bergerak bersama atau tidak sama sekali. DomainAliasContractTest menegaskan dengan tepat Kesetaraan antara KnownAlias, SSL _ PROBE _ LABELS dan cerminnya sendiri dari studio katalog, karena kegagalan mereka menjaga terhadap diam: sebuah label studio membutuhkan tapi verify- dns tidak pernah memancarkan status untuk falls melalui ke "tertunda", sehingga kartu duduk di "menunggu DNS" selamanya tidak peduli apa yang dikatakan pelanggan sebenarnya. Itulah yang terjadi pada 'media' selama empat bulan di 2026. Perlu seperti setiap label lain daripada hanya untuk orgs memegang aplikasi. Rekor adalah apa yang membuat Hosted Komputer bekerja hari itu diaktifkan, dan org dikirim kembali ke registrar bulan kemudian, untuk satu catatan, adalah org yang komputer pertama tidak Buka. THE LINK SEKARANG MENGGUNAKAN ATAS THE ORG 'S SENDIRI HOST buildLink mengambil organisasi dan membangun https: / / computers. < domain langsung >, via Organik LinkHosts.liveRootDomain - pembantu yang sama yang digunakan portal peminjam, dan untuk alasan yang sama: domain yang dikonfigurasi tetapi belum diverifikasi akan mengirim anggota ke tuan rumah yang tidak menyelesaikan. Tidak seperti portal peminjam, jatuh kembali ke host platform adalah CORRECT di sini bukan daripada link yang rusak. Satu gateway melayani setiap penyewa dan mesin dipilih oleh tanda tangan, tidak pernah oleh nama host, sehingga org tanpa domain hidup masih mendapat pekerjaan komputer - itu hanya terbuka pada komputer. kamocrm.com sampai domain sendiri hidup.
· SecurityService
Daftar hanya langkah-langkah Memulai sebuah organisasi yang diminta
Sebuah organisasi yang model keamanan memperbaiki setiap jawaban Komplemen (tidak ada produk anggota dapat beralih, satu usia jangkauan untuk setiap tipe anggota) masih dihitung terhadap sembilan langkah. Itu harus "menyimpan" langkah kesembilan kosong sebelum wizard terkunci seperti selesai (dilaporkan 2026-09- 21, Gnosia). Organ SetupStepApplicability memutuskan langkah mana yang diterapkan, dari model yang diterapkan. Hari ini hanya Kepatuhan yang bisa dikeluarkan. Ringkasan langkah-langkah, stepsCompleted dan Langkah TotalSteps, kait yang selesai dan langkah terakhir semua berjalan di atas daftar itu. A langkah dicatat sebelum berhenti menerapkan tetap disimpan tetapi tidak dihitung, jadi Jika model itu menawarkan pilihan lagi di sana. Jika model tidak dapat dibaca, langkah ditampilkan: langkah yang ditampilkan dapat dilewati, sebuah Yang tersembunyi tak bisa dihubungi. Aturan cermin kamo- internal 's getCompliances Stepui (apa langkah menarik); keduanya disematkan oleh meja kasus yang sama. AppliedModelController sekarang membaca kebijakan produk dan usia berkisar melalui pembantu yang sama, sehingga titik akhir dan aturan tidak bisa menyimpang.
· kamo-internal
Langkah organisasi tidak diminta tidak ditampilkan atau dihitung
Sebuah organisasi yang model keamanan memperbaiki setiap jawaban Komplemen (tidak ada produk anggota dapat beralih, satu usia jangkauan untuk setiap tipe anggota) masih menunjukkan langkah kesembilan mengatakan tidak ada yang perlu dikonfigurasi. Itu harus "menyelamatkan" langkah itu sebelum wizard dihitung selesai (dilaporkan 2026-09-21). SecurityService sekarang daftar hanya langkah-langkah sebuah organisasi yang diminta, dan halaman mengikuti daftar: rel, "x dari y" count, di mana penyihir resume, what comes after the last step, and a '? step =' penamaan a step that tidak terdaftar. Muatan tanpa daftar yang dapat dipakai masih dibaca sebagai setiap langkah, jadi Jawaban salah bentuk tidak pernah meninggalkan penyihir kosong. compligence StepApplies.testts pin getCompliances StepUi ke kasus yang sama tabel sebagai SecurityService 's Organization SetupStepApplicabilityTest. Server memutuskan apakah langkah ini terdaftar, dan fungsi ini memutuskan apa yang ditarik, sehingga dua harus setuju.
· KlusterServices
Issue and mirror the certificate for computers.kamocrm.com
Membuka Komputer Bertuan menghasilkan tab peramban yang muncul dan menghilang. The link peluncuran benar dan begitu juga token: SecurityService membangun * * * * * * * * * * * * * * dari KAMO _ HC _ GUAC _ BASE _ URL, yang default adalah host itu. Host tidak memiliki sertifikat dan catatan A, maka tab mati sebelum apapun di Kamo mendengar tentang hal itu - tidak ada permintaan mencapai Traefik, tidak ada yang log, dan komputer duduk AWAKE dan sehat sepanjang waktu. HC-https IngressRoute telah mereferensikan tls- komputer -kamocrm-com dengan nama; rahasia tidak pernah diremehkan, karena masalah layanan ini untuk daftar eksplisit dan komputer. Kamocrm.com tidak ada di dalamnya. desktop.kamocrm.com terdaftar untuk persis Alasan yang sama - tidak ada hits baik tuan rumah sampai seseorang menyerahkan link, sehingga tidak adalah yang ditemukan dari catatan Traefik seperti domain penyewa. Juga dicermin ke 'hosted- komputer', karena IngressRoute tinggal di sana dan referensi rahasia dengan nama dalam namespace sendiri. Ini tak ada artinya sampai catatan A ada. Loop melewati host yang DNS tidak menyelesaikan, karena tantangan HTTP-01 terhadap itu tidak dapat dijawab: Melewati media.b11capital.com (DNS tidak menyelesaikan; HTTP-01 akan gagal) computers.kamocrm.com membutuhkan catatan yang sama seperti kamocrm.com dan desktop.kamocrm.com, 47.181.8.84. Bagian itu ada di penyedia DNS, bukan di sini. Setelah menyelesaikan, masalah ini dalam satu lingkaran dan cermin rahasia tanpa tindakan lebih lanjut.
· kamo-internal
Daftar pesan nama timbal atau kontak, bukan alamat mereka
Baris dipimpin oleh nama tampilan pengirim, atau bagian dari alamat Sebelum @ ketika tidak ada, sehingga memimpin yang menulis dalam membaca sebagai "jlriver 1984" diatas "jlriver a1984 @ mail.example." Chip header sudah lebih suka nama catatan kita sendiri, tapi daftar tidak pernah bertanya. MesgageList Virtual sekarang menyelesaikan koresponden setiap halaman yang dimuat bersama avatar nya (satu permintaan backed, cached per alamat untuk sesi) dan kepala baris dengan nama pada catatan: seorang rekan, kontak disimpan, atau - baru dengan EmailService d3d6e03 - memimpin. Monogram mantra nama yang sama. Kartu koresponden menandai "Lead" memimpin dan menawarkan "View lead".
· kamo-internal
Daftar pesan nama timbal atau kontak, bukan alamat mereka
Baris dipimpin oleh nama tampilan pengirim, atau bagian dari alamat Sebelum @ ketika tidak ada, sehingga memimpin yang menulis dalam membaca sebagai "rodaisdolgovanton" di atas "rodarisdolgovanton @ gmail.com". Chip header sudah lebih suka nama catatan kita sendiri, tapi daftar tidak pernah bertanya. MesgageList Virtual sekarang menyelesaikan koresponden setiap halaman yang dimuat bersama avatar nya (satu permintaan backed, cached per alamat untuk sesi) dan kepala baris dengan nama pada catatan: seorang rekan, kontak disimpan, atau - baru dengan EmailService d3d6e03 - memimpin. Monogram mantra nama yang sama. Kartu koresponden menandai "Lead" memimpin dan menawarkan "View lead".
· EmailService
Petunjuk yang menulis namanya berdasarkan resolver koresponden
Daftar kotak surat dipimpin pesan memimpin dengan bagian dari alamat mereka sebelum @ ("jlrivera1984") ketika klien surat mereka tidak mengirim tampilan nama, meskipun org memegang mereka sebagai memimpin ("Jordan Rivera"). Resolver tahu rekan dan kontak disimpan saja. CorrespondentResolver memperoleh tingkat keempat, LEAD (setelah CONTACT), dengan nama, perusahaan dan leadId (string: uids lulus MAX _ SAFE _ INTEGER). LeadKorespondents menjawab hanya apa jaringan lead akan menunjukkan pembaca: VIEW _ LEADS dibutuhkan, sebuah unassign lead membutuhkan VIEW _ UNASSIGNED _ Leads (gagal tertutup pada free- for-all produk), tidak ada telepon (info kontak floored by hak kartu ini tidak memeriksa), dan setiap lead bernama ditulis ke phi _ access _ log sebagai LIST dibaca dalam PHI org, melalui AudiencePhiAudit. lead tidak memiliki indeks pada alamat: pencarian berjalan semua ~ 790k dari reporter org memimpin dalam 9.8. ix _ leads _ org _ email _ lower on (org _ id HASH, lebih rendah (trim (email))) dalam db / leads-email -lookup-index.sql dan APPLIED OLEH HAND sebagai pemilik sebelum ini menyebarkan; rencana umum sekarang mengambil 3.4 ms.
· EmailService
Petunjuk yang menulis namanya berdasarkan resolver koresponden
Daftar kotak surat dipimpin pesan memimpin dengan bagian dari alamat mereka sebelum @ ("rodaisdolgovanton") ketika klien surat mereka tidak mengirim tampilan nama, meskipun org memegang mereka sebagai memimpin ("Anton Dolgov"). Resolver tahu rekan dan kontak disimpan saja. CorrespondentResolver memperoleh tingkat keempat, LEAD (setelah CONTACT), dengan nama, perusahaan dan leadId (string: uids lulus MAX _ SAFE _ INTEGER). LeadKorespondents menjawab hanya apa jaringan lead akan menunjukkan pembaca: VIEW _ LEADS dibutuhkan, sebuah unassign lead membutuhkan VIEW _ UNASSIGNED _ Leads (gagal tertutup pada free- for-all produk), tidak ada telepon (info kontak floored by hak kartu ini tidak memeriksa), dan setiap lead bernama ditulis ke phi _ access _ log sebagai LIST dibaca dalam PHI org, melalui AudiencePhiAudit. lead tidak memiliki indeks pada alamat: pencarian berjalan semua ~ 790k dari reporter org memimpin dalam 9.8. ix _ leads _ org _ email _ lower on (org _ id HASH, lebih rendah (trim (email))) dalam db / leads-email -lookup-index.sql dan APPLIED OLEH HAND sebagai pemilik sebelum ini menyebarkan; rencana umum sekarang mengambil 3.4 ms.
· kamo-internal
Anggota yang menyebabkan pemberitahuan membuka kartu mereka dari itu
"Dana Reyes menugaskanmu", "Sinkronisasi mingguan Dana Reyes", sebuah kartu obrolan yang belum dibaca yang tubuhnya adalah pengirim: EmailService (29cb21e) sekarang mengirimkan actorMemberId (sebagai teks) dan actorName, nama persis sebagai judul atau tubuh mantra itu, dan bel menarik bahwa peregangan teks sebagai nama anggota. - NotificationText memotong nama keluar dari judul (lain tubuh) sekali, pada kejadian pertama; semuanya membaca persis seperti sebelumnya. Digunakan oleh roti panggang, baris sejarah (ClickToggles = {false}: baris membuka pemberitahuan) dan dialog detail. - Sebuah kartu roti panggang terbuka di tingkat dek. Anggota HoverCard / Anggota Nama mengambil pakaian, dan roti panggang melewati NOTIFIKASI _ DECK _ Z (1500, sekarang satu konstan dengan dek sendiri). Pada kartu 1305 itu Dibuka di bawah dek itu datang dari; pada tingkat yang sama lukisan di atasnya (ditambahkan ke < body > later) dan masih di bawah tooltip sendiri (ditambahkan kemudian masih). - UnreadChatNotifier mengirimkan pengirim sebagai aktor, tidak pernah untuk Exec2Exec. Server juga menyimpan aktor pada / diri hanya dari organisasi penelepon sendiri. - Spec "As built": paragraf pemberitahuan. Verifikasi: tsc; eslint (tidak ada yang berubah baris); repo 's 19 penjaga; vitest (pemberitahuan, anggota, lib, settings, chat; beberapa yang kehabisan waktu di bawah pengiriman beban mesin sendiri); dan Chrome probe that the name stays inline in the toast 's two-line clamped title and the history row' s Elipsis masih memegang.
· kamo-shared-library
Aplikasi Catatan adalah "Catatan & Checklist"
Aplikasi Catatan menyimpan checklist juga sejak 2026-09- 23 (step ticked off Ketika mereka selesai, langkah yang menunggu sampai langkah-langkah sebelum itu selesai, sebuah checklist yang dijadwalkan di kalender), dan itu disebut "Catatan & Checklist" dimana-mana namanya. ServiceType.NOTES membawa nama tampilan baru dan deskripsi yang mencakup keduanya, yaitu Apps & Features, Branch Types dan org- creating wizard show sekali SecurityService dibangun kembali. Salin saja: nama konstan dan id tidak berubah, jadi tidak ada hibah tersimpan atau Fitur baris bergerak. ServiceTypeCustomer Copy Uji pin nama dan bahwa deskripsi menyebutkan checklist.
· MediaService
The Hold 'em mengundang dan pengingat pertemuan mengatakan siapa mereka dari
Anggota NotificationClient.raise memperoleh kelebihan beban membawa aktorM / actorName (id dikirim sebagai teks; tanda-tangan lama tidak berubah dan mengirim keduanya). HoldemInviteMessenger melewati dealer ("Dana Reyes menangani Anda dalam"); MeetingReminderSweep melewati pembuat pertemuan ketika judul nama mereka ("Weekly sync"), membaca pencipta sekali daripada di dalam judul. EmailService menyimpan pasangan dan kamo- internal menarik nama sebagai kartu anggota. Jasa EmailService lebih tua dari ruas Abaikan mereka. Tes: HoldemInvitite MessengerTest (+ 1; peningkatan verifikasi mengambil kelebihan beban baru), MeetingReminderActorTest (2), * * * * * * * * * * * (2). Full suite: 1060 run, 0 failures.

Alam semestamu menunggu.
Mulai gratis dalam beberapa menit. Tambahkan produk kapanpun Anda siap — tidak ada migrasi, tidak ada login baru.
Gratis selamanya — tidak diperlukan kartu kredit