Changelog
Ada kabar baru.
Setiap perbaikan pada platform, sebagai kapal.
· SecurityService
Demo memesan petunjuk, petunjuk
GET * * * * * * * * * * * * * * Bagian halaman utama Webinars telah disebut / api / webinar / leads / {id} sejak ditulis dan tidak ada yang pernah melayani itu - API langsung menjawab 404, dan komponen membaca 404 sebagai "fitur webinar adalah off" dan tidak menghasilkan apa-apa. Jadi demo dipesan dari situs pemasaran menciptakan memimpin, menghubungkan pemesanan untuk itu, dan tidak pernah menunjukkan di atasnya. Disajikan di sini daripada di MediaService, yang memiliki bookings, karena pertanyaan yang dimiliki penelpon untuk lulus pertama adalah "mungkin Anda membaca memimpin ini": sesi yang valid, memimpin dalam organisasi penelepon, maka Lead CompsReadGate - memimpin sendiri tidak perlu hak, yang tidak ditugaskan membutuhkan VIEW _ UNASSIGNED _ LEADS, seseorang else 's needs VIEW _ LEAD _ CONTACT _ INFO _ OTHERS, god bypass. Gerbang adalah salah satu tab komunikasi menggunakan, disebut, tidak disalin. Penyangkalan direkam melalui PhiAccessAuditor; pembacaan tidak, karena respon tidak membawa data kontak - baris yang sama menarik titik akhir / komunikasi / jumlah. LeadWebinarEntry adalah judul, awal / akhir, nama presenter dan dua status. Tidak ada tentang peserta di luar apakah mereka masih datang: nama pengunjung dan alamat adalah memimpin sendiri dan sudah di halaman. Seorang pengunjung yang membatalkan dan register lagi menghasilkan link kedua ke sama peserta baris, dan bagian menunjukkan bahwa sekali. 5 kegagalan di kamar penuh. - tanda yang mana * * * * * * * * * * * * * * * tidak ini) gagal identik pada asal / main tanpa ini Ganti. Titik akhir ini menyelesaikan sebuah sesi, jadi ratchet tidak menamainya. 2712 tes dinyatakan hijau.
· kamo-internal
Sebuah jendela membawa anggota ke tanah depan dengan cahaya Anda tidak dapat melewatkan
Mengklik hexhead, atau strip jendela berdiri di belakang, membawa jendela maju dengan bayangan samar mekar (strip) atau sebuah sinar hijau 600ms (hexhead) - mudah untuk kehilangan sementara baris mengatur ulang bulat itu. Sekarang frame sendiri menyala: cincin di dalam tepi jendela dengan dua komet balap bulat itu, riak menyebar keluar dari bingkai dan cahaya yang memegang, sekitar 2.4, kemudian keluar. - Lit oleh setiap anggota gerakan yang membawa jendela ke depan: klik strip, klik hxhead atau restore (tool: focus), and any open the member asked for. Serangan datang tetap tenang. - Satu per satu: kedatangan terbaru meredupkan yang sebelumnya, sehingga jendela menyala selalu satu anggota baru saja disebut. - Mengurangi gerakan terus isyarat dan tetes gerakan: cincin dan cahaya cahaya tanpa bergerak. - Its sendiri warna pasangan di: root (--dock-kedatangan, --dock-arrival- ring); bar judul sudah memakai dan cincin merek menghilang di sepanjang itu.
· kamo-shared-library
Seorang presenter yang melihat cap, sehingga sesi dipesan dapat lencana mereka
Jumlah dukungan ikon webinar dibaca WebinarAttendee.dateViewedmed. Seorang presenter bukanlah peserta baris, sehingga sesi yang dipesan dengan mereka diemail dan kemudian tidak pernah disebutkan dalam aplikasi: lencana tinggal di nol untuk satu orang yang harus menjalankannya. * * * * * * * * * * * * * * * (PRESENTER _ DATE _ VIEWED, null = belum ditampilkan) adalah bahwa stempel untuk presenter yang ditugaskan, dan ScheduledWebinarrepositori memperoleh countUnreviewed ForPresenter / find Unreviewed ForPresenter with the attendee query 'predicate: presenter' s own SCHEDULED sesi tanpa stempel. WebinarQueryParseTest keduanya bertentangan dengan pemetaan. DDL, telah diterapkan ke database langsung sebagai pemilik tabel: ALTER TABLE public.stamp _ webinar ADD COLUMN JIKA TIDAK EXISTS presenter _ date _ viewed (6) tanpa zona waktu; Lima kegagalan di suite penuh (SystemBugCountContractTest, PhiServiceTypeMapping Test, StorageDomainCoverageTest, * * * * * * * * * * * * * * ReportVisibility Uji) gagal secara identik pada asal / utama tanpa perubahan ini.
· kamo-marketing
Sebuah tombol demo hidup di samping Mulai Bebas Selamanya
Pahlawan rumah menawarkan dua hal: mulai bebas, atau membaca harga. Sekarang juga menawarkan setengah jam dengan seseorang. "Buku Demo Live", dengan "30 menit" pada baris kedua, duduk di kanan Mulai Bebas Selamanya dan terbuka / demo, ada pemesanan aliran ("Setengah jam dengan seseorang yang tahu produk"). Ini adalah tombol kaca CTA, pada .hero- cta 's 56px tinggi dan radius, jadi Mulai Free tetap yang utama. Dua tombol dikelompokkan dengan kesenjangan 12px, Dan melihat harga mengikuti mereka. Panjang adalah pada baris sendiri untuk lebar. Sebagai satu baris, "Buku 30 menit Demo Langsung "adalah 291px dan menjatuhkan di bawah Mulai Bebas pada 1280, 1366 dan 1440 lebar. Dua baris membuatnya 196px, dan pasangan cocok kolom salinan dari 1280 sampai dan di Hanya pada 1024 (kolom 361px) dan di telepon, itu menumpuk di bawahnya. Diukur di Chrome pada 390, 768, 1024, 1280, 1366, 1440 dan 1920, dengan tidak horizontal overflow pada salah satu dari mereka. Melihat Harga sekarang membungkus ke baris sendiri di widget laptop, dan yang terkena nya border-bottom: ToucheOpticated raise the link to 44px tall once the page is menganggur, sehingga perbatasan duduk 18px di bawah teks dan membaca sebagai pembagi. Ini adalah teks garis bawah sekarang, dengan teks terpusat dalam kotak tersebut. Kunci pergi ke kamo- terjemahan - kamus pertama (7ed8am400).
· kamo-marketing
Sebuah halaman untuk kampanye email tak terbatas dan menetes, terhubung dari mana pun asalnya
/ email-pemasaran menjual apa yang dikirim pada 2026-09-16 (kampanye siaran, drips, mengirim domain): tak terbatas, dan 100% bebas dengan bisnis dan Enterprise. Elemen satu halaman yang tebal adalah irisan setiap halaman harga pemasaran dibuka dengan ("Bagaimana banyak kontak yang Anda miliki? "), kecuali yang bergerak itu tidak pernah mengubah tagihan. Ini mengutip tidak ada harga lain, per 206f9f3: argumen adalah model metering (penghitung kontak, mengirim jaminan, otomatisasi disimpan untuk rencana yang lebih tinggi), dan satu-satunya angka pada halaman adalah $0 kami. Semuanya klaim diperiksa terhadap produk: - 14 tetes pemicu, mengirim jendela dalam zona waktu kontak sendiri, dan kondisi terbuka / klik dengan melewati atau keluar (dripCatalog). - Lima dari sepuluh resep, digambar dengan pemicu nyata mereka, waktu dan keluar (dripRecips.ts). - A 14-hari hangat-up dengan rem keselamatan di blok dan bounces (WarmupSettings, WarmupPlan). - Daftar alasan kebersihan, penekanan bounce / complaint, satu klik unsubscribe dan host SMTP custom. - "Unlimited" berarti tidak ada tutup berbasis plan-: tidak ada di EmailService meter sebuah org, dan halaman mengatakan yang menghangatkan-up dan mengirim jendela mengatur kecepatan. Taut dalam: nav dan footer, sebuah kategori fitur, a / kartu produk, sebuah callout di bawah / kartu-kartu harga, peta jalan (Bulk Email Campaigns bergerak untuk Launched), peta situs dan sitmap, dan kartu kesembilan di homepage 's "Stop Paying for Nine Different Tools". Server strip (EmailMarketingStrip) berjalan di bawah matriks fitur pada setiap perbandingan pesaing, di bawah "Apa yang sebenarnya disediakan" pada setiap halaman industri, pada lima istilah mengkilap dan pada kedua sumber daya artikel. PLATFORM _ KAPABILITIES, yang menyebut dirinya sendiri daftar dari apa yang KamoCRM sediakan, sekarang daftar Pemasaran email. Empat halaman industri mengatakan hal-hal menetes sekarang yang diperlukan: Online- kursus, hotel, Mungkin - studio dan ecommerce. Salinan mereka dikoreksi, menjaga apa yang masih belum dibangun (course- platform dan kehadiran pemicu, stay- berbasis waktu, LTV segmentasi, SMS) sebagai diperlukan, dan setiap item bergerak ke sebuah -r3 i18nKey. Diverifikasi pada pembangunan produksi lokal: setiap penjaga, rute prasyarat, dan tanpa kepala - Chrome probe (42 cek) di 390, 1440 dan 2560 mencakup lebar tidak ada gulungan horisontal, tidak ada kesalahan konsol, tidak ada kunci pesan mentah, penggunaan papan ketik dari slider dan tab resep, dan sebuah link dalam tubuh halaman setiap halaman di atas. Sisi kamus adalah kamo- terjemahan - kamus 3ecaefa5.
· kamo-marketing
Mainkan gulungan kamo14, dan biarkan diistirahatkan
Gulungan rerut (foto logo penutup baru, jika tidak lemah - identik, sama 66s menjalankan waktu dan waktu bab) diterbitkan dengan namanya sendiri. Kamo13 tangga disajikan immutable dan yang variant playlist dan segmen menjaga mereka URL apapun master? v = mengatakan, sehingga pengganti in- tempat tidak akan pernah mencapai pengunjung kembali. Aperture pahlawan ditawarkan restart dan bisu tapi tidak ada cara untuk menghentikan film sekali itu bermain. Jeda / putar kontrol sekarang memimpin baris kontrol, dan mengetuk gambar juga bergoyang; melanjutkan menjaga posisi. Kendali mengikuti elemen sendiri play / pause peristiwa, sehingga tetap tepat ketika run berakhir atau peramban berhenti memutar sendiri. Ini mencakup kedua halaman yang embed aperture (halaman biaya rumah dan HighLevel); / watch sudah berhenti melalui Native kontrol.
· KlusterServices
Enkode gulungan kamo14
Rol pemasaran adalah recrut (baru menutup logo shot) dan diunggah sebagai publik / kamo14.mp4. Ia mendapat nama baru daripada mengganti kamo13 di tempat karena tangganya tidak dapat diubah: master? v = tidak mencapai daftar putar atau segmen variasi, yang menyimpan URL relatif mereka. Pekerjaan enkode sekarang membangun publik / hls / kamo14 / dan kamo14-poster. *, dan MediaMTX siaran langsung loop tangga kamo14. Nama jalur langsung / kamo13 adalah tidak berubah.
· kamo-internal
Windows yang tidak cocok dok berdiri di baris di belakangnya
Sebuah jendela alat yang tidak sesuai baris depan sekarang berdiri dalam baris BEHIND itu, satu judul strip lebih tinggi per baris: yang 42px judul bar dan 10px dari body show di atas baris di depan, seperti tab tumpukan folder. Ini menggantikan cascade, yang ditempatkan setiap jendela di atas baris dan dimakamkan sebagian besar dari mereka. Baris-baris adalah urutan jendela ditata pertama-fit (toolDockPlacement, lay outDockStack): sebuah jendela menuju ke depan -paling baris dengan ruang untuk itu, jadi baris depan tidak pernah meninggalkan setengah kosong sementara jendela yang cocok menunggu di belakang. Setiap baris memiliki satu ketinggian. Ketika jalur belakang akan melewati puncak margin, setiap jendela memberikan jalan bersama-sama, dan tinggi kembali sebagai baris kosong. Baris, lift dan tinggi strip ditulis ke masing-masing jendela dalam relayout yang sama sebagai dockX (dockRows), dan tidak pernah bertahan. Yang berdiri di depan adalah reorder (toolDockTiers): - Sebuah klik pada trade strip tempat dengan jendela depan anggota yang paling digunakan Baru-baru ini. Resesi dilacak dari anggota gerakan saja (dockMenemberUse), karena z counter juga memanjat untuk kenaikan masuk. - Sebuah jendela anggota terbuka, restore dari hexhead nya, menempatkan kembali dari panel, dermaga atau kenaikan dari pemberitahuan duduk di depan, berdagang dengan jendela depan digunakan LEAST baru-baru ini. Windows diangkat oleh pesan masuk Pergi ke mana pun ada ruang, sehingga mereka tidak pernah mengambil tempat yang satu yang digunakan. - Sebuah drop ke dermaga terus tempat itu dijatuhkan di; paling tidak baru-baru ini menggunakan jendela depan langkah kembali untuk membuat ruang. - Sebuah jendela depan menutup atau diminimalkan digantikan oleh jendela berdiri Di belakangnya, tak ada yang bergerak. - Sebuah jendela yang lebih luas maju langkah-langkah kiri-recently digunakan jendela depan belakang sampai cocok. Pada layar (ToolWindowShell, ToolDock): - Sebuah jendela di belakang dipotong untuk strip, yang juga daerah memukul. Its body is inert, so it takes no focus or keystroke and paint no scrollbar. Ini lukisan di bawah setiap jendela depan dan tidak pernah diberitahu itu terfokus. - Judul strip adalah tombol (bawa maju, keyboard terjangkau), tampilkan jumlah yang belum dibaca, dan dims dengan setiap baris lebih jauh kembali. - Its dekat, meminimalkan, memaksimalkan dan float tombol bertindak di atasnya di mana ia berdiri. Sebuah drag yang dimulai pada strip tidak juga klik, dan tidak adalah Dua kali klik. - Datang ke depan, jendela tetes dan membuka lipatan ke dalam slot sementara diperdagangkan Satu lipatan dan naik di belakang. Keduanya berjalan di dok 340ms kurva, maka bayangan mekar dan menyapu cahaya menandai kedatangan. Menutupi strip mengangkatnya dan mengungkap sedikit lebih dari itu. Sebuah jendela lahir di belakang mengintip dari belakang baris di depan, satu lahir di depan naik dari tepi bawah, buram. - Mengurangi gerakan terus baris dan bayangan dan tetes semua gerakan. - Ganti ukuran hanya baris depan. Tinggi laut berhenti di mana paling belakang Strip memenuhi margin atas, dan mengumumkan bahwa langit-langit. Ditemukan di jalan, dan tetap: dok yang dirender jendela dalam urutan penyimpanan, jadi apapun reorder (termasuk drag-reorder, sebelum perubahan ini) dibuat React move window elemen di sekitar dokumen. Suatu elemen yang dipindahkan kehilangan keadaan DOM: suatu log scrolled sampai 300 kembali pada 0, elemen media yang sedang diputar diistirahatkan, dan transisi membawa jendela ke slot barunya dijatuhkan. ToolDock kini membuat jendela masuk urutan pembuatan, yang aman karena setiap jendela tetap pada sendiri level cat. Diverifikasi dalam Chrome nyata dengan seluruh dok pada badan jendela studbed: 64 Menukur cek. Mereka menutupi baris-baris, klip dan serangan-pengujian, tubuh inert dan scrollbars, fokus, hover, kedua arah swap, keyboard, tombol strip, tinggi memberikan - dan - mengambil, tarik dari strip, mengurangi gerak, memaksimalkan dan memulihkan, viewport ulang aliran, drop melewati baris depan, langit-langit jahitan dan diawetkan posisi scroll, plus real-time layar dari setiap transisi. Unit baru dan tes penyedia meliputi tata letak, reorders, menumpuk, shell dan dock.
· kamo-marketing
Tujuh set link yang cocok nav, dan karir pergi ke situs karir
Kaki sekarang daftar Fitur, Layanan, Harga, Perusahaan, Sumber Daya, Solusi dan Hukum, dalam urutan itu. Itu adalah lima navigasi atas itu sendiri kategori ditambah dua itu bersarang di bawah Sumber Daya, dan masing-masing set memegang nav link di bawah nav 's label. Label berasal dari' nav ' namespace, yang diterjemahkan dalam setiap lokal, sehingga ini menambahkan tidak ada salinan. Translasi kaki yang identik kunci untuk kunci pula. Dua tautan Hanya ada di bawah sini: Watch the Film under Features, dan Cookie Pengaturan tombol di bawah Legal. Produk adalah pos tua dan hilang. Harga dan Solusi mendapatkan set mereka sendiri, dan Hukum tidak lagi membungkus sendirian ke baris kedua. Careers adalah https: / / careers.kamocrm.com / dimanapun ia muncul: nav 's Menu perusahaan (desktop dan mobile), kaki, kartu halaman Company dan peta situs. URL hidup di app / lib / careers -sites .ts. / karir sekarang redirect permanen ada, seperti / vs, jadi hasil pencarian, penanda dan sambungan luar mencapai peran terbuka juga. Halaman pemasaran itu menggantikan Mengatakan tidak ada pembukaan sementara situs karir daftar satu. Halaman, komponen klien, tata letak dan gambar OG dihapus. Rute keluar dari saitmap (SITEMAP _ EXCLUDED, dengan alasan), diluar dari page- view counter (uncounted _ static _ routes) dan keluar dari halaman berburu, karena panggung tidak dapat menyembunyikan pada halaman yang mengarahkan kembali dari situs. Perburuan memilih halaman oleh indeks modulo daftar, jadi halaman tahap hari ini reshuffle sekali pada menyebarkan, sama seperti rollover hari. Link tidak rehosted per penyewa cara register. / login. link. Hanya www.kamocrm.com yang melayani situs ini hari ini. Lima dari delapan penyewa domain saya diperiksa tidak memiliki karir. DNS sama sekali, sehingga karir. < apex > akan menjadi link mati pada mereka. Tata letak: footer menggunakan lebar penuh daripada kolom 1280px, dan baris merek (logo dan tagline, ikon sosial dan telepon) duduk di atas set. Set adalah 2 kolom pada telepon, 3 dari sm, 4 dari md dan satu baris dari 7 dari xl. Heading dan label mungkin istirahat di dalam kata. Sebuah terjemahan kata dapat lebih luas dari kolom 149px (de "Dienstleisungen", "Anwenungsentwicklung"), dan tanpa 'max- w- penuh' sebuah line- blok link tumbuh menjadi kata terpanjang dan mendorong melewati kolom. Diverifikasi terhadap halaman running, bukan sumbernya. Pada / en / tentang tujuh headdings render dalam urutan, dan setiap link menyelesaikan ke nya / en route kecuali Careers, yaitu https: / / careers.kamocrm.com /. Real klik pada Careers di dropdown perusahaan desktop, menu mobile dan footer setiap navigasi ke https: / / careers.kamocrm.com /. / en / karier dan / de / karier jawaban 308 ke itu, dan / karir berjalan melalui / en / karir. Aku mengukur setiap kolom di 390, 768, 1024, 1280, 1440, 1920 dan 2560px di en, di 390, 768 dan 1280 di de, ru dan fr, dan pada 768 dan 1280 dalam ta: tidak ada elemen overflow kolom dan tidak ada halaman horizontal. check-i18n-keys was mutation-tested against the kaki baru (kunci navigasi palsu gagal). tes npm, check-hunt, tsc dan npm menjalankan membangun (dengan penjaga pra-dan postbuild) bersih.
· kamo-internal
Kampanye Drip pada / marketing / email - pemicu, pembangun visual, orang dan kinerja
/ marketing / email mendapat sebuah Siaran / Drips switch (? view = drips). The drips view list every drip as a kartu dengan pemicu, urutan dan jumlah hidup, KPI dan tab status, pencarian dan pengurutan, dan mulai tetesan baru kosong atau dari sepuluh resep (selamat datang petunjuk baru, salam ulang tahun, bertemu agen baru Anda, klaim pengenalan langsung, status pengasuhan, kembali terlibat bukan pembuka, klik link diikuti-up, anggota tim dan anggota onboarding, dan lebih). / marketing / email / tetes adalah pembangun: - Trigger: petunjuk baru (dengan tangan, impor, integrasi; pasar, vendor, produk), status atau sub- status perubahan dari / ke, penugasan kembali, kredit atau free- for - semua klaim, ulang tahun dan ulang tahun, anggota tim atau akun anggota dibuat, email kampanye dikirim / dibuka / link diklik, tidak ada keterlibatan dengan kampanye setelah N hari, menyelesaikan tetes lain, atau orang ditambahkan dengan tangan. - Email pada kanvas: tambahkan, duplikat, seret ke urutan ulang, tunggu sebelum setiap menit ke minggu, dari email sebelum itu), sebuah kirim jendela per email atau untuk tetesan (hari, jam, kontak atau organisasi waktu), dan kondisi (hanya jika email sebelumnya adalah atau tidak dibuka atau diklik, atau melewatkan atau meninggalkan tetesan. - Pengaturan: Dari dan ReplyUntuk persis sebagai kampanye (pemetik bersama), template tanda tangan, yang dapat bergabung lagi (sekali, setelah pergi dengan cooldown, atau restart) dan ketika orang meninggalkan (status perubahan, penugasan kembali, klik). - Sebuah strip kesiapan, Simpan (Ctrl / Cmd + S), Aktifkan dengan bust, Jeda, Archive, Duplikasi, Delete; tidak disimpan Edits dijaga dan perubahan rekan tiba secara langsung. - Orang: yang berada di tetesan, di mana mereka berada dan ketika email mereka berikutnya pergi, timeline masing-masing, menambahkan orang dengan tangan, mengambil seseorang. Performance: bergabung / dalam proses / selesai / kiri, sebuah corong email, dan aktivitas langsung. Sebuah tetes baru, kosong atau dari resep, tidak dibuat sampai pertama menyimpan, seperti dengan kampanye baru, sehingga setiap email disimpan dengan template dan footer compliance. Templat dan kaki penyunting kampanye konteks dipindahkan ke Use CampaigEmailTemplate, dibagikan dengan pembangun (tubuh dan permintaan tersimpan dibandingkan identik sebelum dan sesudah). Menghitung mundur sekarang menulis target pertama dari 0 bukannya dasbor. Layanan email melayani / api / email / menetes dan "menetes" frame pada topik kampanye; Inggris adalah dalam kamus.
· kamo-marketing
Setiap halaman menunjukkan berapa kali telah dilihat
Sebuah tampilan counter sekarang duduk di kaki dari setiap halaman, di baris bawah kaki di samping Sitmap dan Kembali ke atas: mata yang iris adalah hexagon situs, dan angka pada gulungan odometer dalam digit pembaca sendiri (Bengali, Arab, Hindi grouping). Pertama kali pil pada layar gulungan berputar ke tempat dari kiri, dan ketika kunjungan ini adalah salah satu hanya dihitung terakhir Rot ternyata satu sebagai + 1 naik dari itu. Hover atau fokus papan tik membuka suatu kartu dengan angka dan apa yang mengukur; keran membukanya pada sentuhan; klik Berputar lagi. Mengurangi gerakan mendapatkan angka dan kartu, dan tidak ada yang perjalanan. Biayanya halaman beban apa-apa: - Tidak ada tentang pandangan dibaca sementara halaman render. Setiap rute masih prerendered (cek-static-route: 247, sentinel utuh); HTML membawa ukuran placeholder, sehingga swap tidak memindahkan baris. - Cacah adalah salah satu POST melalui antrian menganggur bersama, setelah halaman memiliki dimuat, dan dihitung dan jawaban dalam permintaan yang sama. (yaitu) orang-orang yang terbenam dalam kebodohan yang lalai, sebelum slot idle masih menghitung: pagehide dan navigasi in- site mengirim sebuah suar untuk tampilan yang tidak terkirim. - Rongga, gerak mereka dan gaya mereka adalah potongan terpisah, diambil hanya ketika footer datang dalam 800px layar. - "Tidak ada angka" jawaban 200 dengan pandangan kosong, tidak pernah 404 atau 503, jadi KBService restart tidak dapat menempatkan galat konsol di setiap halaman. Dimana jumlah tampilan * * * * * * * * * * * * * * * artikel dasar dihitung pada artikel, oleh guid, sehingga angka adalah bagian dari data artikel di KBService dan mengikutinya melalui renames dan bergerak; setiap jumlah halaman lain di jalan tanpa lokal, begitu / en / harga dan / fr / harga berbagi satu Angka. Sebuah jalur hanya dihitung jika situs ini akan melayani itu: rute ada dan nama siput yang nyata pesaing, istilah Glossary, layanan, posting blog, diterbitkan artikel (pada jalur kanonikal) atau entri changelog. Merangkak, membuka kaitan, audit dan webdriver ditampilkan figure tanpa menambahkannya, dan sama peramban mengirim halaman yang sama dua kali dalam lima detik adalah satu tampilan. Setiap counter dimulai dari angka ditarik antara 312,384 dan 1.200,384 ketika yang baris dibuat, ditempatkan oleh prioritas tasemap halaman sehingga homepage dimulai tinggi dan masuk changelog rendah. Prioritasnya adalah saemap SISTEMAP _ PRIORITY sehingga keduanya membaca satu daftar; kb-sections.ts menggantikan dua salinan dari pemeriksaan KB _ SECTIONS konter akan dinyatakan telah membuat tiga. Baris bawah kaki tersebut menumpuk tanda di bawah garis hak cipta: dengan konter ditambahkan, tiga sisi per sisi tidak lagi cocok di 1440px. check-pages-views.ts (prebuild dan test) gagal membangun ketika rute dinamis tidak dalam rutin. Ketika tata letak atau Footer berhenti mengait counter, atau ketika apapun kecuali penanggungjawab rutenya mengimpor resolver. Dibuktikan dengan menghapus a route entry, the Footer mount and invents a stale entry: masing-masing gagal. Kebutuhan KBService 167981e (yang / internal / page- views titik akhir) dan mouter.pageview kamus * kunci (590948c); sampai KBService hidup Pil tidak muncul.
· KBService
Menghitung tampilan halaman situs pemasaran, pada artikel atau pada halaman
KBService sekarang menjawab pemandangan counter kamo- acara pemasaran di kaki Setiap halaman. Dua titik akhir, baik {"views": n} dengan tampilan hanya dihitung termasuk: POST * * * * * * * * * * * * * * * * {important, count} POST / internal / page- views / pages {path, important, count} Sebuah artikel dasar yang dimengandalkan artikel itu sendiri (KB _ ARTICLE _ VIEWS, oleh uid), sehingga jumlah mengikutinya melalui renames dan bergerak dalam / kb; guid harus nama sebuah diterbitkan, artikel publik, oleh aturan yang sama artikel publik penggunaan titik akhir. Setiap halaman lainnya dihitung pada lokasi di bawah awalan lokal (MARKETING _ PAGE _ VIEWS). Setiap tulisan adalah satu upsert asli dengan pembacaan total kembali dalam transaksi yang sama, mengulang pada konflik Yugabyte. Bawah / dalam, tidak / api / kb / publik: APIService maju semua dari / api / * dari api.kamocrm.com dan jaringan keamanan layanan ini memungkinkan segalanya, jadi menghitung titik akhir akan ada lingkaran keriting publik jauh dari angka apapun. The Penyaring Otorisasi Internall baru memerlukan Auth-X-Internall (mlos- process-auth, sekarang dikait secara opsional) pada keseluruhan / prefiks internal, memutuskan pada jalur serlet dekode, dan jawaban 503 daripada membuka ketika rahasia hilang. The penangan rute situs pemasaran adalah satu-satunya pemanggil dan membuat setiap keputusan tentang apa yang penting: halaman nyata saja, crawler menunjukkan angka tanpa menambahkan untuk itu, mengulang dari satu browser dalam lima detik dihitung sekali. A counter 's starting figure is drawn once, when its row is created, between 312,384 dan 1.200,384. Pemanggil melewati penting dari 0 ke 1 (halaman dan PageViewSeed menempatkan gambar dalam sebuah band di sekitarnya, sehingga homepage mulai tinggi dan sebuah masukan changelog rendah; area extreme persis pada Jangkauan berakhir tanpa menjepit. Benih disimpan kecuali yang dihitung pemandangan, sehingga lalu lintas nyata tetap dibaca. Baris muncul pada permintaan pertama; count = false crew one without count, for crawler and for seeding. buat _ page _ views.sql adalah DDL, diterapkan secara manual ke basis data langsung sebelum push dan pencocokan apa Hibernasi menghasilkan untuk shared- library Entinitas (sudah diperiksa 6.2 dan 6,5). The ConfigMap memperoleh provenal.secret, dan begitu juga salinan repo. 23 tes baru: kisaran benih dan band, jalur kanonikal dan guids, yang pernyataan tampilan berjalan, dan titik akhir melalui penyaring nyata (tidak ada rahasia, rahasia salah, rahasia unset, jalan buruk, artikel tidak diketahui). Menghapus filter prefix cek dan inverting tanda count setiap putar mereka merah.
· kamo-shared-library
Page- view counter untuk situs pemasaran
Dua meja di belakang tampilan count kamo- pemasaran sekarang menunjukkan di kaki setiap halaman, ditulis oleh KBService 's / internal / page- pandangan akhir. KbArticleView (KB _ ARTICLE _ VIEWS) menghitung tilikan dasar artikel ARTICLE, dikebiri oleh uid nya, sehingga jumlah adalah bagian dari artikel dan mengikuti itu ketika diganti nama atau dipindahkan dalam / kb. Ini adalah meja sendiri daripada kolom di KB _ ARTICLES: baris artikel disimpan secara keseluruhan oleh JPA, jadi counter on itu akan dibaca ketika seorang editor membuka artikel dan ditulis kembali ketika mereka disimpan, membuang setiap tampilan di antaranya. Cascades kunci asing di basis data, karena KbArtikel tidak memetakan baris ini dan penghapusan Hibernasi dari sebuah Jika tidak, artikel akan gagal. MarketingPageView (MARKETING _ PAGE _ VIEWS) menghitung setiap halaman lain di jalannya di bawah awalan lokal, sehingga / en / pricing dan / fr / pricing berbagi satu jumlah. Keduanya tetap SEED _ COUNT, angka awal baris dibuat dengan, selain VIEW _ COUNT, tampilan sebenarnya dihitung; halaman menunjukkan jumlah mereka, dan nyata lalu lintas tetap dapat dibaca dari meja. Repositor hanya mengekspos tiga pernyataan yang dibutuhkan tampilan: penduduk asli upsert yang penting, salah satu yang benih tanpa menghitung, dan total, membaca setelah tulisan dalam transaksi yang sama. Tidak ada save (): sebuah counter dimuat, meningkat dan disimpan kembali kehilangan tampilan kontemporer. Diperiksa offline: sebuah pabrik sesi membangun lebih dari semua sebelas entitas KB ditambah ini pada Hibernasi 6.2.13 (KBService, dan layanan Boot 3.1 lainnya) dan 6.5.3 (Boot 3.3), dan naskah skema yang ditulis cocok dengan DDL yang diterapkan tangan, termasuk di DELETE CASCADE. ddl- auto tidak ada di mana-mana tetapi penginisialisasi, sehingga tidak ada layanan lain menyentuh tabel.
· kamo-internal
Logo Lifestyle, logo keempat per merek dan tanda air baku latar belakang
Perilaku & Labeling memperoleh slot Logo Lifestyle di samping logo lengkap, logo sederhana dan ikon tab, dalam kedua baris perusahaan dan perangkat lunak (white- label). Dibutuhkan karya seni dan vektor pixel sama: sebuah SVG atau raster disimpan persis sebagai dipilih, sebuah EPS / AI / PDF dikonversi dalam perjalanan (tidak ada browser dapat menggambar satu), dan raster menawarkan "Ubah ke vektor", yang membuka ImageToSVGConverter bersama hanya ketika anggota bertanya. Seperti ikon tab, setiap slot memiliki switch (suatu upload menyalakannya, server-side juga) dan kapsi yang mengatakan apa yang permukaan gaya hidup benar-benar akan menarik, dari bentuk yang belum disimpan. Logo gaya hidup default untuk logo lengkap ketika tidak diset. Untuk setiap merek, resolveLogoVariant dalam tema / brand.ts adalah rantai: logo gaya hidup perangkat lunak ketika digunakan, lain logo lengkap perangkat lunak ketika overrides perusahaan satu, lain logo gaya hidup perusahaan ketika digunakan, lain logo perusahaan penuh. lifestyleLogo.ts menyatakan rantai yang sama sebagai takarir; sebuah tes berjalan baik atas 32 negara bentuk. Latar belakang Watermark menawarkan Logo gaya hidup pertama, dan ini adalah baku: nilai kosong dan tidak diketahui terselesaikan ke LIFESTILE, yang menarik logo lengkap sampai logo gaya hidup ada, sehingga tidak ada perubahan watermark org sampai upload satu. Setiap tempat yang melukis watermark (BackgroundWatermark, Backdrop, kesalahan dan tidak-ditemukan halaman) sekarang pergi melalui resolveWatermarkVariant / watermarkLogoFile. - / jaringan / buat: sebuah grup logo Lifestyle dengan masukan yang sama, diunggah setelah org ada sebagai tipe = gaya hidup; picker watermark menawarkan Lifestyle pertama dan bentuk baku untuk itu. - Setup wizard: Logos mendapat perusahaan dan slot gaya hidup white- label (menampilkan yang hidup ketika digunakan), Latar belakang menawarkan watermark Lifestyle, dan orgdetails menyelesaikan default dengan cara yang sama. - Skema rute org membaca bgWatermark sebagai tali biasa. Ini .parse () s, jadi yang lama ["NONE", "FULL", "SIMPLE"] Enum akan dilemparkan pada seluruh rekaman org untuk baris LIFESTILE; Organisasi. Dari JSON justru menyelesaikan nilai-nilai yang tidak diketahui. Keempat bidang gaya hidup naik rekaman org melalui Organ Context, dan DynamicMetaLoader terus Dari konfigurasi. Kebutuhan kamo- shared-library f22867d dan keamanan jenis upload layanan 's (mendorong pertama), dan kamus kunci (didorong pertama, dalam setiap lokal).
· SecurityService
Logo lifestyle uploads, config.json kunci, dan watermark LIFESTYLE
Logo gaya hidup adalah logo keempat per merek (perusahaan dan label putih), rendition dekorasi latar belakang watermark sekarang digambar secara baku. Yang jatuh kembali adalah logo penuh. - upload- logo mengambil tipe = gaya hidup dan tipe = life style -software. Berkas ini menyimpan ekstensi sebenarnya (Karya seni fotografi dipersilakan, melacak raster adalah pilihan anggota pada waktu upload) di bawah * * * * * * * * * * * * * * * kolom extext catatan itu, dan upload switch logo pada, pada kontrak tab ikon '. Sebuah raster juga cermin di bawah nama .svg sebagai stand- in, seperti penuh logo, sehingga permukaan yang belum membaca ekstensi namun masih menunjukkan karya seni org sendiri. - konfigurasi .json nama logoLifestyleExt / logoLifestyleSoftweExt hanya sementara logo yang sedang digunakan (Diunggah DAN diaktifkan); absen berarti logo penuh berdiri masuk - Muatan penciptaan terus bgWatermark LIFESTYLE bukannya menjatuhkannya ke kosong. - * * * * * * * * * * * * * * * menambahkan empat kolom nulable. Applied by hand on the live cluster pada 2026-01- 16, sebelum kamo- shared-perpustakaan perubahan entitas didorong.
· kamo-shared-library
Kolom logo gaya hidup, dan LIFESTILE sebagai baku tanda air
Logo gaya hidup adalah bagian keempat dari merek karya seni per merek, di samping logo lengkap, sederhana logo dan ikon tab: rancangan dekorasi watermark latar belakang secara baku. Hal ini bentuk persis seperti pasangan ikon tab: logo _ lifestyle _ ext (dan kembaran perangkat lunaknya) hanya ditulis oleh Keamanan Layanan mengunggah titik akhir dari berkas yang disimpan, dan ganda sebagai penanda "satu ada"; logo _ gaya hidup _ aktif adalah tombol di sampingnya. PUT / org / {id} mungkin patch dua switch, tidak pernah Ekstensi. bg _ watermark sekarang dokumen LIFESTILE, yang setiap klien menyelesaikan kosong ke. Ini adalah logo penuh untuk sebagai Iong sebagai org tidak memiliki logo gaya hidup yang digunakan, sehingga tidak ada orang melihat perubahan sampai satu diunggah. Empat kolom berasal dari * * * * * * * * * * * * * * * * * live cluster sebelum push ini: layanan Java apapun dibangun setelah itu SELECTT mereka pada setiap org membaca.
· EmailService
Kampanye Drip
Sebuah tetes adalah urutan otomatis email seseorang masuk ketika sesuatu terjadi: memimpin (dengan tangan, impor), memimpin status atau sub-status perubahan, memimpin dipindahkan atau diklaim dengan kredit, sebuah Ulang tahun atau ulang tahun timbal datang bulat, anggota tim atau akun anggota adalah dibuat, sebuah email kampanye dikirim, dibuka, diklik atau tidak terjawab, seseorang selesai tetesan lain, atau anggota menambahkan mereka dengan tangan. Setiap email memiliki sendiri tunggu, kirim jendela (di org atau zona waktu kontak) dan kondisi pada bagaimana email sebelumnya. Mengirim. Sebuah email menetes mengantri pada kampanye edisi tersembunyi per (langkah, sepeda) Melalui * * * * * * * * * * * * * * sehingga keluar persis seperti kampanye mail: opt- out dan eligibility cek, host intruser, perang-up dan kirim jendela, DKIM, pelacakan, unsubscribe, bounces dan dipentaskan outbox. Edisi tak ada daftar kampanye, snapshot, widget rumah dan kemajuan dan frame keterlibatan, dan titik akhir kampanye jawaban 404 untuk satu. Mesin (menetes / DripEngine): setiap 5 pada benang sendiri di bawah sewa mesin email-drip-, itu menguras email _ tetes _ pemicu (keluar pertama, lalu enrolments), sweeps birthday and anniveraries sekali per org- lokal hari, dan bergerak setiap orang jatuh tempo: menunggu menghitung dari ketika email sebelumnya sebenarnya dikirim, bounce atau opt-out berakhir menjalankan, seseorang dibaca lagi sebelum setiap email (merge token: first _ name, agent _ name, market dan sisanya), dan sebuah run selesai memungkinkan drips dirantai mulai. Entri ulang sekali lagi setelah selesai (dengan cooldown) atau restart; aturan keluar membawa orang keluar pada perubahan status, sebuah penugasan atau klik pada link menetes. API: / api / email / drips (daftar, pilihan, CRUD, aktifkan, jeda, archive, unarchive, duplikat, orang, enrolment manual, penghapusan, jadwal, aktivitas), VIEW _ BULK _ EMAIL untuk dibaca dan dibuat _ BULK _ EMAIL untuk diubah. Siaran langsung: ketik "tetes" frame pada topik kampanye, menggalang per detik. Kampanye mengirim, pertama membuka dan menghubungkan klik (sekarang dengan URL) diserahkan ke kamo- share- perpustakaan DripTriggerRecorder. Tabel dan kolom edisi diaplikasikan dengan tangan sebelum komit ini.
· SecurityService
Petunjuk yang diimpor direkam sebagai impor
LeadImportController membuat setiap baris dengan dua- argumen CreateLead, jadi sejarah lead 's mengatakan sumber API dengan tidak ada yang bertindak, persis seperti satu dikirim di melalui asupan API vendor. Tidak ada yang tahu impor dari integrasi, dan tetes kampanye yang dimulai pada "memimpin baru tiba" menawarkan pilihan antara lead ditambahkan dengan tangan, diimpor, atau dari integrasinya. Baris sekarang diciptakan dengan sumber IMPORT. Dibangun melawan kamo- shared-library b5b56d6d, yang riwayat utamanya juga memberikan petunjuk baru, perubahan status, penugasan, klaim kredit dan akun anggota baru ke mesin tetes.
· kamo-internal
Reply-To penyunting kampanye adalah pilihan - NoReply, Surat E- Anggota atau Ubahan, Secara baku
-The bebas teks Reply--Untuk di bawah CampaigReplyToPicker Dari menjadi Kampanye, tiga pilihan yang masing-masing mengatakan di mana membalas tanah: - NoReply (baku): NoReply @ < kampanye 's From domain >, mis. NoReply @ hello.kamocrm.com ", yang tidak menerima email " - Email Anggota: penyuntingan anggota, ditunjukkan oleh alamat. Sebuah kampanye yang menjawab sudah pergi ke rekan tim terus menunjukkan rekan satu tim sampai seseorang memilih pilihan lagi. Seorang anggota tanpa e-mail di profil mereka tidak bisa memilihnya. - Suai: kotak diperiksa karena diketik, cara EmailService memeriksanya pada menyimpan. Logika adalah * * * * * * * * * * * * * * * * membaca kampanye (satu dari pilihan adalah Ubahan ketika memiliki alamat, NoReply ketika tidak), pilih, tampilkan alamat, dan buat ruas simpan (replyTo, replyToMode, ReplyToMberId). Alamat ubahan yang belum selesai menahan Simpan dan muncul dalam daftar pesan. Pratinjau menunjukkan - Untuk penerima akan mendapatkan.
· kamo-shared-library
Pemicu kampanye Drip, direkam di mana lead dan anggota perubahan
Drip kampanye dimulai ketika sesuatu terjadi di CRM, sehingga tempat-tempat yang perubahan menyebabkan dan anggota sekarang menyerahkan peristiwa tersebut ke mesin tetes EmailService: - Layanan LeadHistories: lead tercipta (dengan cara itu tiba: dengan tangan, impor, atau dari integrasi atau bentuk), sebuah status atau substatus perubahan dengan keduanya sisi, dan penugasan kembali dari satu anggota tim ke anggota lain. - * * * * * * * * * * * * * * yang memimpin kolam renang diklaim dengan menghabiskan kredit (dibayar atau bebas - semua), yang catatan tidak ada riwayat memimpin sendiri. - Anggota: anggota atau anggota akun tim dibuat. Cermin platform baris bukan anggota baru dari operator org dan tidak memulai apapun. DripTriggerRecorder menulis mereka untuk * * * * * * * * * * * * yang Saluran mesin. Ini hanya menulis untuk org yang ACTIVE drips mendengarkan untuk semacam itu (pemicu atau aturan keluar, membaca paling banyak setiap 30-an), tangan atas setelah menyebabkan transaksi dilakukan, dan menulis pada benang dan koneksi sendiri, sehingga memimpin Menulis tidak pernah bisa gagal atau roll kembali karena tetesan. Sebuah memimpin diciptakan Void (tes memimpin atau duplikat) tidak seseorang untuk menyambut. EmailCampaignity map drip _ id, drip _ step _ id dan menetes _ cycle: sebuah email menetes mengirim melalui kampanye edisi tersembunyi per (langkah, siklus), sehingga membuat setiap mengirim jaminan kampanye telah. Kolom dan tabel yang diterapkan dengan tangan sebelum commit ini (emailservice * * * * * * * * * * * * * * * * *
· kamo-marketing
Buka bulanan, dan jual istilah 1 dan 3 tahun sebagai mengunci dalam tingkat hari ini
Kebanyakan pembeli datang untuk membandingkan apa yang akan mereka bayar tanpa komitmen, jadi RUMAH _ TERM sekarang bulanan. # pricing, the homepage plan strip, # kalkulator and markup produk masih terbuka pada istilah yang sama bersama-sama. Istilah yang lebih panjang adalah apa yang menjual rel dari sana: tingkat lebih rendah kursi, terkunci di hari ini harga untuk seluruh istilah. - Alis rel ini berbunyi "Kunci dalam tingkat hari ini untuk 1 atau 3 tahun", dan kalimat di bawah rel mengatakan apa istilah yang dipilih tidak: bulanan tidak komitmen; tahunan dan 3 tahun terus harga hari ini selama 12 bulan atau 3 tahun, bahkan jika harga kami naik. Ketiga catatan berbagi satu sel grid, jadi memilih sebuah istilah tidak pernah memindahkan kartu di bawah, dalam bahasa apapun (diukur Dalam en, de dan ja). Kedua garis yang seimbang, sehingga telepon tidak pernah helai satu kata. - Kartu dan istilah kalkulator memimpin dengan "Rate terkunci selama N bulan". - Pada bulan kartu disimpan baris tetes "selama istilah", yang pada satu - istilah bulan hanya mengulangi angka bulanan di sampingnya. - The homepage strip captioned its price "per seat on a {months} -year term", yang pada bulanan akan dibaca sebagai istilah 0.083- tahun; sekarang mengatakan ditagih sebulan, dengan 1 dan 3 tahun kunci di sampingnya. - # pricing 's search description the three-year price as a lock-in, dan tawaran berakhir-titik halaman pada hal yang sama. cek - produkt- menawarkan disematkan tiga tahun baku ($49, 32.83). Sekarang pin bulanan ($69, 46.23), sehingga perubahan diam default masih gagal membangun. Salinan ini dalam bahasa kamo- terjemahan - kamus, tangan-ditulis dalam semua 20 menerjemahkan locales. Dorongan yang sama mengembalikan 340 nilai hari ini sinkronisasi pecah, yang telah gagal ini repo 's prebuild copyguard untuk setiap bangunan sejak.
· EmailService
Sebuah kampanye menjawab ke NoReply, e-mail anggota, atau alamat gubahan - NoReply secara baku
ReplyUntuk Editor menjadi tiga pilihan (Kampanye ReplyTo), disimpan dalam kolom balasan yang ada. Tidak ada DDL. - NO _ REPLY (kolom kosong, baku): ReplyTo: NoReply @ < the From 's domain >, dieja oleh NoReplySenderService seperti setiap alamat NoReply lainnya. Penerima melihat sebelum menulis bahwa tidak ada yang membacanya, dan postfix-k3m1- inbound menolak apa yang dikirim ke sana. - MEMBER (anggota: < id >): e-mail dari anggota yang memilihnya, dicari ketika setiap pesan compose (Campaigly ReplyMembers, terus lima menit), sehingga alamat berubah diikuti. Seorang anggota tanpa email jatuh kembali ke NoReply daripada penamaan alamat tidak ada yang menerima. - CUSTOM (sebuah alamat): diperiksa pada menyimpan, telanjang dan dengan domain bertitik; hal lain adalah 400 mengatakan mengapa. Saves carry replyToMode and replyToMberId. Replies dapat pergi ke anggota tabungan, atau tinggal dengan anggota sudah dipilih ketika rekan satu tim menyelamatkan, tetapi tidak pernah untuk anggota lain yang dipilih oleh id. Editor dari sebelum pilihan dikirim hanya sebuah alamat: satu adalah CUSTOM, tidak ada NO _ REPLY. Model pembacaan kampanye menambahkan replyToMode dan replyToMberId, dan replyTo menjadi alamat editor menunjukkan (alamat gubahan atau e-mail anggota).
· kamo-internal
Host E-Mail keluar menampilkan relay besar sebagai server yang menerima melihatnya
Kartu "Bulk relay" di atas platform host: relay bersama setiap organisasi mengirim domain pergi through (contact.kamocrm.com, 47.181.8,86) and the platform organization 's own (hello.kamocrm.com, 47.181.8.87). - Fakta: di mana setiap surat relay daun dari, di mana EmailService mencapai dalam cluster, dan untuk berbagi relay apakah tanda-in dikonfigurasi dan berapa banyak domain diverifikasi mengirim melalui itu. - Checks, masing-masing kanan, berbeda, hilang atau tidak menjawab: nama alamat (A), kebijakan pengirim (SPF), dimana bounces pergi (MX, yang untuk relay bersama harus kembali ke alamat sendiri), alamat terbalik DNS (PTR) dan platform relay kunci penandatanganan (DKIM). Sebuah catatan yang tidak benar menunjukkan apa yang harus di samping Apa yang DNS miliki. - Reverse DNS mengatakan itu diatur oleh penyedia internet yang memiliki alamat, sehingga tidak ada yang mencarinya di DNS tuan rumah. Sebuah pencarian yang tidak punya jawaban adalah "Tidak bisa memeriksa", tidak pernah "salah". - Baca dari GET * * * * * * * * * * * * * ketika tab dibuka dan pada "Check sekarang". Tidak pernah cololled, a failed re-check keeps what is on screen, and without Manage _ OUTOUTBOUND _ EMAIL _ HOSTS it render nothing.
· KlusterServices
Bounces for organization 'sending domains reach EmailService through postfix- k3m1- inbound
Kampanye yang dikirim melalui relay bersama memiliki nya Dari pada organisasi pengiriman domain sebagai amplop pengirim, dan domain itu adalah CNAME untuk dihubungi. kamocrm.com, yang MX adalah 47.181.8,86 - pod ini. Jadi menerima server yang menerima pesan dan tidak dapat mengirimkannya setelah semua menulis laporan pengirimannya Di sini, dan sampai sekarang ditolak. - Domain pengiriman berasal dari EmailService (relay-senders? format = domain: VERIFIED dan GALAT), baca di mulai dan setiap menit. Hanya nama host biasa yang pernah mencapai tabel, dan yang tak terjawab menyimpan daftar terakhir. - Setiap domain hanya mengambil pengirim kosong, yaitu bounces dan server memeriksa bahwa alamat ada. Siapapun lain mendapat 550 "Alamat ini mengirim email tetapi tidak menerimanya". - Apa yang diambil pergi ke pipa 'bounces' (perintah postfix utama, dengan spool sendiri) dan bounce- sespan surat, postfix utama unsubscrip.py dengan INCLUDE _ RAW, posting ke * * * * * * * * * * * * * * * Stack.lents, mail.stack.lents dan contact.kamocrm.com bekerja persis seperti sebelumnya, dan tidak ada yang dikirim ke sini Internet. Teruji dalam kapsul alpine throwaway dengan skrip yang sama: null sender 250, seseorang 550, kepala pos @ dan penyalahgunaan @ 250, lain dan lookin-sama domain 554, sebuah DSN dipoolled dengan token dan antrian kosong, perubahan daftar diterapkan dalam satu menit, dan tak terjawab mengambil menyimpan daftar terakhir.
· EmailService
Bounces to org sending domains come home, test sends are signed, and the relay 'DNS is read
Async pantulan. Pengirim amplop kampanye adalah dari pada domain pengiriman organisasi, yang MX (melalui CNAME untuk kontact.kamocrm.com) adalah alamat relay sendiri. postfix- k3m1- inbound akan mengambil laporan pengiriman di sana dan posting mereka ke POST * * * * * * * * * * * * * * * * bentuk pengaduan asupan: - DeliveryStatusReport membaca laporan RFC 3464 (pesan / delivery-status) dan token di membalas pesan. Sebuah prosa bouncing tidak pernah menduga. - BounceMailService mencatat kegagalan permanen (Aksi: gagal, 5.x.x) sebagai Didukung pada baris penerima token names, through the delivery- event path the relays already use. Tundaan, auto- balasan atau laporan tanpa token perubahan apa-apa, dan laporan spam-keluhan diserahkan ke asupan keluhan. - relay- pengirim? format = domain daftar VERIFIED dan GAGAL mengirimkan domain inbound menerima laporan untuk. Tes dikirim dari Pengaturan Email ----Mengirim adalah DKIM-ditandatangani dengan kunci Dari domain, persis sebagai kampanye surel (DkimSigning, dibagi dengan CampaigRecipetSender), jadi tes melalui relay bersama menunjukkan apa yang Kampanye akan. DNS relay '. GET * * * * * * * * * * * * * * * (Manage _ OUTBOUND _ EMAIL _ HOSTS) dibaca, untuk setiap relay, namanya adalah A record dan SPF, nya MX (untuk relay bersama, kembali ke alamat sendiri), reverse DNS dari alamatnya, dan kunci relay platform DKIM. Resolver DNS mendapatkan pencarian PTR.
· KlusterServices
Postmaster @ dan penyalahgunaan @ contact.kamocrm.com mencapai KamoCRM - nama relay bersama menerima cek
contact.kamocrm.com adalah nama relay org bersama (47.181.8.86 's PTR, MX contact.kamocrm.com), dan MX nya adalah 47.181.8.86 fonk3m1, dimana postfix- k3m1-inbound jawaban. Penyedia mailbox mengotorisasi siapa yang menjalankan IP melalui postmaster @ / penyalahgunaan @ dari domain PTR nya, sehingga mereka sekarang mendarat: postmaster @ dalam kotak surat, penyalahgunaan @ dan fbl @ di penyalahgunaan @ hello.kamocrm.com, yang utama postfix tangan untuk keluhan EmailService Masuk dengan salinan untuk Kepala Pos. Start ulang dari postfix-k3m1- inbound disetujui oleh Sage.
· kamo-internal
Surat Email Bunk mendapatkan Domain Setup dan sub- tab, / marketing / email menjelaskan apa yang hilang, kampanye mendapatkan Picker Dari
Pengaturan Surel IPA Kini empat tab subtab? sub =: Domain Setup Dibebaskan. Anggota daerah Domain Setup sampai domain pengiriman diverifikasi dan pada Mengirim setelah. Sampai saat itu sub- tab lainnya menunjukkan kunci dan tetap fokus; membuka satu menjelaskan apa itu adalah untuk, seberapa jauh domain terbaik telah datang, dan link kembali. Opt Out and Deliverability keep their kanan (manage _ EMAIL _ OPT _ OUT atau pemilik) dan bergerak dalam tidak berubah; tab lama? = opt-out dan ? tab = devisability link redirect to their sub-tab, and the menu entry and landing card follow. Setiap sub- tab menempatkan kata-kata sendiri di rel bantuan. Domain Setup dibangun untuk seseorang yang tidak pernah mengedit DNS: seorang pahlawan dengan tiga langkah dan satu mereka berada di (atau "bulk email siap untuk mengirim"), kartu per domain dengan titik rekaman hidup dan "Diperiksa 8 detik yang lalu secara otomatis", dan sebuah baris inline add-a- domain flow (domain org) prefilled and tidied on blur with the change explayed, one - cck sending names, a live preview, dan pencarian debounded yang mengatakan mengapa nama tidak dapat digunakan sebelum Lanjutkan). Satu pengaturan domain (? domain =) menampilkan detected DNS provider 's steps, setiap catatan dalam kata-kata polos dengan tombol salin dan keadaan aktif ("kita melihat X, seharusnya Y", perbaikan untuk setiap kode petunjuk), Salin semua sebagai instruksi, alternatif no- CNAME dibelakang pengungkapan, Periksa sekarang, Hapus (menolak di depan ketika sedang digunakan, dengan alasan server ditampilkan apakah itu masih menolak), dan reduced- motion- sadar Saat sukses menuju "Pilih alamat Anda". Semuanya membaca GET * * * * * * * * * * * * * melalui proxy yang ada dan tetap live over * * * * * * * * * * * * * * * tidak polling, silent re- baca, menulis adopsi seluruh negara bagian, dan gagal atau ditolak dibaca adalah sebuah kesalahan atau catatan akses, tidak pernah daftar kosong. / marketing / email: tanpa kampanye dan tidak ada domain diverifikasi negara kosong adalah sebuah penjelasan (mengapa, tiga langkah, "Set up my domain", atau siapa yang dapat menyelesaikannya tanpa Manage _ EMAIL _ SETTINGS); sebuah kampanye daftar mendapat sebuah spanduk kompak yang menyerap baris no-host, dan domain FAILING dinamai dalam merah dengan link ke setup nya. Tidak ada yang menunjukkan ketika memuat atau pada membaca gagal. The send- blocker banner link NO _ ENDING _ DOMAIN dan DARI _ DOMAIN _ NOT _ VERIFIED ke Domain Setup. Penyunting Kampanye Dari adalah picker: pengirim baku, atau alamat pada domain yang diverifikasi (bagian lokal, domain, Dari nama), disimpan sebagai dari Email / from Name; sebuah disimpan Dari pada domain yang belum diverifikasi diperingatkan tentang dengan link ke setup nya. settingsMenuTabCoverage belajar & sub = dan memeriksa setiap sub- tab terkait ada.
· EmailService
Surat kampanye ditandatangani sebagai, dikirim dari, dan diarahkan oleh domain pengiriman yang diverifikasi
Kampanye dapat menyebutkan namanya sendiri Dari pada domain yang diverifikasi; jika tidak ia pergi sebagai pengirim massal org - yang harus sendiri berada di domain diverifikasi (saveSender menolak hal lain). Kampanye Dari memilih relay oleh domain itu, karena SPF diputuskan oleh alamat sebuah daun relay dari: sebuah domain yang diverifikasi oleh org saja melalui relay org terbagi (47.181.8,86), KamoCRM hello.kamocrm.com hanya melalui relay platform (47.181.8.87), host lain untuk baik, dan belum diverifikasi entah dari mana. Penjual mengambil jatuh tempo penerima pertama, maka host siap kampanye dapat menggunakan; kampanye dengan tidak menunggu sementara org kampanye lain pergi. Surat sebagai domain yang diverifikasi org adalah DKIM-ditandatangani setelah terakhir disimpan Perubahan, dengan sesi dilarang dari mengubahnya menjadi 8bit dalam perjalanan. Kirim blocker baru NO _ ENDING _ DOMAIN dan DARI _ DOMAIN _ NOT _ VERIFIED. Laporan pengiriman terhadap pemadam kebakaran dari relay dari kampanye From dikirim melalui. KamoCRM mengirim kampanye tidak berpengaruh: noreply @ hello.kamocrm.com adalah platform- dikelola, jadi itu terus meninggalkan melalui .87, dan relay bersama dimatikan dalam rotasi KamoCRM.
· EmailService
Domain Setup 's API, peta pengirim relay bersama, dan menyapu yang mengkonfirmasi catatan hidup
* * * * * * * * * * * * * * * GET THE tab (VIEW _ BULK _ EMAIL), GET lookup for the add form, POST tambah, POST {id} / check, DELETE (manage _ BULK _ EMAIL); setiap tulis jawaban dengan seluruh tab dan penolakan nama bidangnya. * * * * * * * * * * * * * * * memberikan postfix- orgs yang diverifikasi-domain peta. Overview massal memperoleh domain {siap, diverifikasi, tertunda, gagal} untuk gerbang. Sending DomainSweep re-read DNS on the cadence (15s while a domain is being set up) under a rent, on a thread dari sendiri: setiap tugas @ Scheduled di sini berbagi thread tunggal Spring penjadwalan dengan columser yang mengirimkan email kampanye setiap detik, dan menunggu nameserver ada akan kios pengiriman.
· EmailService
Mengirim domain - tambahkan satu, baca rekaman DNS secara direkam, verifikasi, tahu apa yang dapat dilakukan alamat
Domain pengiriman (news.acme.com) disimpan dalam blob penyedia massal terenkripsi org dengan kunci DKIM-nya. Sending DomainChecker membaca apa yang akan dilihat penerima - SPF dievaluasi untuk alamat relay bersama, kunci kami di pemilih, sebuah kebijakan DMARC di domain atau orangtua - untuk catatan yang direkomendasikan (sebuah CNAME untuk contact.kamocrm.com, DKIM TXT, DMARC) dan alternatif SPF TXT + MX, dan nama kesalahan biasa: nama yang sudah memiliki catatan, sebuah CNAME di tempat lain, dua Catatan SPF, terlalu banyak pencarian, kunci menempel pendek, salah bentuk atau kebijakan warisan, dan 'catatan Anda adalah Benar, sisi KamoCRM belum hidup. Sending DomainService menambahkan (membersihkan URL atau alamat yang telah ditempelkan, menolak kamocrm.com ke penyewa), cek, hapus (bukan sementara itu adalah pengirim baku atau sebuah kampanye aktif), dan bergerak status: PENDING / GAGAL VERIFIED dalam sebuah pass; VERIFIED FAILING hanya setelah dua kegagalan enam jam terpisah; sebuah DNS outage perubahan Tidak ada. Ini menjawab jalur kirim - ORG _ VERIFIED (dengan kunci penandatanganan), PLATFORM _ MANAGED (hello.kamocrm.com, untuk KamoCRM saja) atau UNVERIFIED - dan membangun peta pengirim relay bersama dari diverifikasi domain. Perubahan mempublikasikan * * * * * * * * * * * * * * * * * * *

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