- Dikirim
- 29 September 2026 pukul 02.05 UTC
- Penulis
- Kamo
- Commit
- 38cd3d5
Review independen dari D-luna-1 (email- fix-review-1.md) menemukan dua BLOCKERs dan MAJOR, setiap penolakan palsu nyata surat yang sah, ditunjukkan dari kode sudah dalam ini repo: - Case (BLOCKER): AliasService.createAlias, SharedMailboxService.create dan * * * * * * * * * * * * * semua bertahan alamat persis sebagai admin ketik itu - baris nyata dapat membaca "Sales @ kamocrm.com". Setiap pencarian sekarang case-sensitivitas di basis data (LOWER (col) = LOWER (?), scoped oleh org _ id, yang masih mencapai organisasi ini sendiri baris melalui setiap tabel (org _ id HASH, col) unik indeks daripada sebuah cross- organisasi scan - itu hanya tidak bisa menggunakan indeks komponen jangkauan terurut untuk mencari nilai yang tepat di dalamnya. Indeks fungsional pada LOWER (col) per tabel (atau kasus normalisasi pada waktu tulis dalam tiga layanan) akan mengembalikan titik biasa pencarian; tidak dilakukan di sini tanpa sign- off, karena keduanya lebih besar dari tugas ini. Diimplementasikan via EntityManager native queries in RececipientDomainValidator daripada kamo- shared- metode repositori pustaka baru. - Plus- tag (BLOCKER): sage + urgent @ kamocrm.com sekarang terlipat ke sage @ kamocrm.com (Email Address.BaseLocalPart (), lipatan yang sama dengan lapis delisability / suppression sudah berlaku) sebelum pemeriksaan kotak surat - tidak pernah untuk pemeriksaan alias, karena alias adalah sendiri berbeda, berunding-dibuat alamat. - Domain root berganda (MAJOR): sebuah alamat alias- domain (kamouniverse.com) sekarang mencoba kembali terhadap setiap domain dalam * * * * * * * * * * * * * * * * * * tidak hanya baku UI (alloudDomain) - sebuah kotak surat pada akar dimiliki kedua tidak lagi membaca sebagai tidak diketahui hanya karena bukan domain baku org. - Pencari anggota yang tidak terindeks (MAJOR): Fallback MemberRepositori dihapus. * * * * * * * * * * * * * tidak memiliki indeks pendukung, jadi itu berlari scan dari setiap anggota baris dalam organisasi untuk setiap benar-benar buruk menebak - persis ini Alasan fitur sendiri untuk ada. Itu juga tidak perlu: kelas ini hanya pernah berjalan untuk sebuah organisasi di KamoMail, dimana alamat nyata, yang dapat dikirim selalu memiliki * * * * * * * * * * * * baris (bahwa IS apa ketentuan itu); anggota yang .email terjadi untuk mencocokkan tetapi tidak memiliki baris-baris tidak memiliki kotak surat pada berbagi server baik, sehingga mengirim kepada mereka gagal di RCPT TO terlepas dari apa ini cek mengatakan. Lihat kelas Javadoc untuk argumen penuh. - Truncation (NIT): * * * * * * * * * * * * * * * sekarang tutup prosa di 5 alamat bernama ("dan N lebih"), jadi DownstemErrors '300-char cut tidak bisa lagi slice a many-bad-receiver send 's message off mid- address before Mailpack' s directorylookup petunjuk ditambahkan. rejectedRecipients () tidak pernah dipotong. Penemuaan MINOR (keberadaan) diterima sebagai alasan, bukan perubahan kode: pra-penerbangan cek jawaban "apakah x @ ownDomain ada" lebih cepat dari sebelumnya-ada SendFaledException- > 422 RECIPIENTS _ REJECTED path sudah bisa (RCPT TO sebenarnya), untuk Same- org yang sama, pemanggil dengan kursi; tidak membuka batasan hak istimewa baru. Tes (merah dikonfirmasi, kemudian hijau): RecipientDomainValidatorTest ditulis ulang terhadap desain EntityManager- baru berbasis (mirror * * * * * * * * * * * * * * * KEMBALI _ DIRI Penguncian query) dengan kasus baru untuk menyimpan -mixed alamat kasus, sebuah + tag terhadap kotak surat yang sebenarnya, sebuah + tag yang masih tidak terselesaikan, dan alamat alias-domain kotak surat yang sebenarnya hidup pada domain root yang tidak baku dimiliki (dengan dan tanpa + tag). SendsanureResponseTest memperoleh kasus untuk prosa capped vs. yang tak dipotong Daftar terstruktur. tes mvn berat * * * * * * * * * * * * * * * * * 77 run, 0 kegagalan.
