Changelog
Ada kabar baru.
Setiap perbaikan pada platform, sebagai kapal.
· kamo-internal
Tipe tugas, sesi dan klien memimpin, dan karena kali dalam zona anggota
· kamo-shared-library
Kolom tugas, tautan, komentar, jenis Inbox, catatan, dan otorisasi
· kamo-shared-library
Pengungkapan tanda tangan AI pada konfigurasi ruas tanda tangan
· KlusterServices
Pinned, hash-verified model fetch dan perang -up yang memegang pod sampai setiap model adalah penduduk
Pemanasan-naik juga menjatuhkan sebuah model yang muatannya gagal: Bicara 0.9.0-rc.3 menyimpan entry dari sebuah load gagal, sehingga startupProbe berikutnya akan mendapatkan 409 dan / api / ps daftar model yang tidak pernah dimuat.
· kamo-shared-library
Tidak pernah ada hak AI yang megah, tipe template ARTIFICIAL, acara alencesse- log
· kamo-internal
Perpustakaan anggota klien AI dan proksi BFF
Klien untuk keadaan anggota AI, jeda / resume / pensiun, mempekerjakan checklist dan coba lagi, kursi, organisasi kontrol tenaga kerja dan platform membunuh switch, plus empat relay ke SecurityService. Sebuah relay menolak. atau.. segmen dengan 404 sebelum penerusan: encodeURIComponen meninggalkan titik utuh dan URL Mengambil membangun akan menyelesaikan mereka di atas awalan relayed.
· kamo-shared-library
Rekursi terikat, pengingat koder dan entitas EXDATE; zona UTC baku
· TranslateService
Sajikan token upstream Kamo untuk bergamot dan libretranslation
· SecurityService
Tab Tugas adalah tugas - dilayani oleh KBService, gerbang di sini seperti memimpin sendiri
· RAGService
Sajikan kunci TEI API bagi model embedding dan renanking
· kamo-shared-library
Inums STRING, 24 tipe penyedia, pengubah-toleransi digital
· APIService
Rute pusat pemberitahuan telepon
· DaemonService
Kamoi- hire- langkah-langkah pekerjaan drive Layanan Security- langkah menyapu setiap menit
· KBService
SP06 schema - tugas, link, komentar, Inbox, catatan link dan otoritas
· kamo-shared-library
Kondisi anggota AI, org jeda dan kill- switch kolom (baca-hanya dalam JPA)
· KlusterServices
Svc _ ai mempublikasikan ai.registry.changed. > (KamoAI SP01 peristiwa registry)
· kamo-shared-library
Status tugas, prioritas, jenis catatan-link, Inbox dan daerah mahak- catatan
· KlusterServices
Svc _ security mempublikasikan kamoai.platform.state, svc _ kamoai subsators untuk itu (KamoAI Sp02)
SecurityService mengumumkan platform AI mematikan switch pada kamoai.platform.state dan KamoAI Service mendengarkan untuk itu. rt.org. < org > .ai- workforce tidak membutuhkan hibah baru: svc _ security telah menerbitkan rt.org. >.
· KlusterServices
Kembalikan log masuk Kamo _ svc yang dipakai bersama
· kamo-internal
Busa gambar menggambar 480px preview; lightbox menyimpan yang asli
Sebuah gambar obrolan digambar paling banyak 240x240 CSS px dan gelembung diunduh seluruh asli untuk melakukannya - 3-8 MB per foto telepon, per viewer. Lampiran Chip sekarang menarik * * * * * * * * * * * * * * * WebP 480px MediaService (puluhan KB), membuat pertama kalinya orang bertanya dan menjawab dengan asli setiap kali gambar tidak memiliki animasi, vektor. Kotak cahaya, download, video dan audio terus membaca aslinya. Fallback: jika pratinjau gagal gelembung mencoba yang asli pada URL yang sama generasi, dan hanya kegagalan ORIGINAL yang memasuki utiAttachment Source pemulihan (cookie re- plant, maka keputusan HEAD) - preview rusak tidak pernah dilaporkan sebagai file yang hilang. Chip ingat di mana url pratilik gagal di, sehingga pemulihan yang mengubah url (pabrik-ulang, Coba lagi) mencoba pratinjau lagi daripada meninggalkan seluruh asli dalam gelembung. / api / media / * bukan prefiks proxied, jadi pratilik memiliki file rute sendiri. Kedua rute sekarang berbagi aplikasi / lib / imaginingProxyRelay.ts (OTK sama maju, sama Melewati CSP / nosniff / disposisi MediaService, ditambah x-lampiran -rendition), dan tolak sebuah id yang bukan sebuah UUID sebelum membuat URL upstream. Kirim AFTER MediaService (titik akhir pratilik). Jika tanah ini pertama kali permintaan pratinjau 404s hulu dan setiap gelembung jatuh kembali ke asli - perilaku hari ini, satu permintaan ekstra kecil.
· MediaService
Lampiran gambar digambar dari pratinjau 480px, bukan yang asli
Sebuah gelembung obrolan menggambar gambar paling banyak di 240x240 CSS px dan setiap penampil diunduh asli untuk melakukannya - 3-8 MB per foto telepon. GET Sekarang menjawab WebP dengan 480px pada tepi panjang; titik akhir asli, lightbox dan unduhan adalah tidak berubah. Satu pratilik per berkas tersimpan (ImgDat), bukan per lampiran: < imgDatId > _ thumb _ 480.webp di ember pencitraan, di samping yang asli. Infix _ jempol adalah apa yang Tagihan SecurityService 's OrolObjectStorageSweep sebagai turunan dari dat itu. Hal ini sengaja bukan pustaka pencitraan _ thumb _ p0.png (layanan dokter 640px PNG melayani hak dokumen dan bendera pada dat bersama). Dibuat di upload dan pada permintaan pertama. Baik path melampirkan (unggah, dan dedup link) antrian itu di latar belakang, permintaan yang menemukan tidak ada membuatnya pada spot via ConversionService / api / conversion / image / preview - jadi setiap yang ada lampiran mendapat satu pertama kali siapa pun terlihat, tanpa backfill. Kondisi permintaan untuk isi yang sama bergabung dengan satu generasi; paling banyak dua run per pod; background queue drops ketimbang grows. Penolakan (animasi, tidak dapat dideteksi, tidak lebih kecil) diingat sebagai sebuah objek zero-byte dan yang asli disajikan dari kemudian pada; kegagalan (sibuk, bawah, sebuah 404 dari ConversionService tanpa titik akhir) tidak ingat. Setiap kali tidak ada pratinjau titik akhir melayani asli persis seperti / pencitraan / proxy / {id} tidak, sehingga < img > menunjuk kepadanya selalu mendapat gambar. X- Lampiran - Rendition mengatakan yang mana. Akses: kedua titik akhir melalui satu otorisasi () - otentikasi, eksistensi, pembatalan, penghapusan pesan, isi yang hilang, keanggotaan sesi, urutan yang sama, jawaban yang sama - sebelum toko preview disentuh. Sebuah lampiran dibatalkan pratilik ditolak pada saat yang sama seperti aslinya. Gambar ProxyPreviewAccessTest pin setiap penolakan terhadap asli (status dan badan, GET dan HEAD); kontrol negatif (pemeriksaan keanggotaan dilewati untuk pratinjau) gagal. Preview GET mencatat download pertama anggota, sebagai whole-file GET dari Asli lakukan ketika gelembung menarik asli. Menyebarkan AFTER ConversionService f7729d9 (titik akhir). Sebelum mendarat setiap permintaan pratinjau gagal lembut ke asli; tidak ada yang ditandai.
· ConversionService
/ gambar / pratinjau memotong sebuah foto obrolan kedalam satu 480px WebP
Sebuah lampiran gambar obrolan digambar paling banyak pada 240x240 CSS px dan setiap penampil download asli untuk melakukannya - foto telepon adalah 3-8 MB. MediaService akan simpan satu pratinjau per berkas disimpan (ImgDAt) dan layani ke gelembung percakapan; ini adalah Si pemotong itu memanggil. ImagePreviewService cocok dengan tepi panjang ke 480 (2x kotak), tidak pernah upscale, dan menulis lossy WebP tanpa metadata. Orientasi EXIF dipanggang dalam (potret pratinjau foto sebaliknya akan terletak di samping di samping yang tegak asli), dengan otomatisasi frompeg sendiri off sehingga tidak ada membangun dapat memutar dua kali. Vektor, animations (GIF, APNG, animated WebP), undecovable bytes, oversized source and preview tidak lebih kecil dari yang asli REFUSED - 422 dengan X- Preview- ditolak, (Yang memanggil orang yang membelakang dan yang berpaling) dari iman; sebab neraka Jahanam itu mengatakan kepada mereka kemarilah, kemarilah. Sibuk / timeout / frompeg gagal 503 dan mengatakan tidak ada tentang gambar. Memori, setelah tangga logo OOM membunuh kedua pod: frompeg berjalan satu per satu, single- threaded * * * * * * * * * * * * * * * * * * * * 1), skala sebelum berputar, dan decode sebuah JPEG pada 1 / 2 ^ k dalam IDCT (-lowres, menjaga 2x Tepi pratinjau). Puncak RSS diukur dengan / usr / bin / waktu -f% M pada tepat perintah: 12 MP JPEG 68 MB, 48 MP JPEG 123 MB, progresif 12 MP 92 MB, 16 MP PNG 115 MB (184 MB untuk kebisingan murni). Kebocoran: JPEG 52 MP, PNG / WebP / GIF 16.8 MP, sumber 40 MiB. Internall-hanya pada public-chat mediaService rahasia telah menyajikan / translate; gagal ditutup.
· kamo-internal
Gambar logo dari varian praberukuran server, tidak pernah multi- MB asli
Seorang anggota melihat logo header org kecil di komposer tapi sebuah gambar > 3 MB di surat yang dikirim: setiap permukaan logo terkait 'img / logo-full.svg' / 'img / logo.svg', yang untuk sebuah logo raster org adalah SVG membungkus seluruh upload (crm: 2.95 MB), gambar 24- 120 px tinggi - dan dalam email, dalam format Outlook tidak menunjukkan. Sekarang menulis Selain yang asli (LOGO _ VARIANTS _ CONTRACT). Ini rute setiap konsumen logo melalui satu helper dan menjaga asli sebagai fallback, karena varian akan hilang di ember hidup untuk sementara waktu: - * * * * * * * * * * * * * * LOGO _ RUNGS, pickLogoRung (kelas terkecil > = cssPx x 2, lain 1024), logoVariantUrl, logoDisplatyCap, probe (ProbeImage, cached per tab), cachedRemotemageExists (HEAD, 10 menit) dan Surel kirim / verifikasi dari rungs PNG. useLogoVariant.ts: useLogoVariantSrc (< img >: varian, kemudian asli pada kesalahan, maka penelepon sendiri mundur), USED LogoUrl (CSS / mask / kanvas: "sampai diperiksa, tidak pernah keduanya), Use EmailLogoLadder, useRemotemIgeVerdicts. - Theme Logo mengambil rung dari kotak sendiri (NavPri 64, rumah 128, pengaturan 128, loading 256, validate 192, watermark / pane 1024) and falls back on error; Berikut masker overlay. Backdrop / error / not-found watermark, the page- transisi penutup (choseCovered Logo + probe), esign watermark (1024) dan picker (64), catur tandai (192), Host Computer launching page (128, data- fallback onerror), Temui preview branding (128), preview penyunting template email, / cip jaringan (via proksi gambar, varian - > asli - > inisial) dan Hold 'em chip wajah (128). - Surel: Dipecahkan Gambar membawa setiap logo tangga PNG (diperiksa); header, tanda tangan dan renderer lencana mencetak rung untuk ukuran yang mereka gambar. Setiap kirim path konfirmasi setiap tercetak Red dengan HEAD dan menempatkan kembali asli dimana ia hilang (komposer + undangan pertemuannya, kampanye / menetes bungkus, pertemuan - rute mengundang). Lencana kaki terunggah tanyakan EmailService untuk '? h = < 2x >' (< = 128). Peninggalan HTML yang tersimpan tidak pernah membawa ponsel. Pertemuan rute undangan sekarang membaca tema dari org alias daripada folder FQDN sebelumnya. LabelManager, penyihir LogosStep, favicon. Tes: pendaftar, bentuk URL, singgahan probe / HEAD, kedua fallbacks, ThemeLogo, pilihan sampul, rantai Organ Logo, launch- halaman fallback, lencana? h =, dan kabel penjaga yang membuat setiap tata letak header / signature dengan logo laddered dan gagal pada setiap URL mentah / img / logo atau jalur pengiriman yang belum diverifikasi.
· kamo-register
Logo register memuat sebuah salinan pre-sized, dan yang asli ketika hilang
Setiap folder tema sekarang membawa img / sized / < stem > / h < rung > .webp di samping setiap logo. A PNG org logo.svg / logo-full.svg adalah seluruh upload dibungkus dalam base64 (beberapa MB), digambar 30- 72px tinggi di sini; rung adalah ketinggian terkecil meliputi ukuran ditarik di 2x. - logoVariantsts: tangga, PickLogoRung, URL varian dan catatan pertab dari varian yang gagal. - Tema Logo mencoba varian pertama, dibunyikan dari tingginya numerik: logo pendaratan (72) h192, tajuk aliran (30 / 44) h64 / h96, layar pelengkapan (52), / org (60) dan / maaf (64) h128. Ini tidak memiliki kesalahan penanganan sama sekali; sekarang varian gagal menunjukkan URL asli persis seperti itu dibangun sebelumnya. < img > yang tersembunyi adalah probe yang diikuti topeng overlay.
· kamo-login
Sinyal-dalam logo memuat salinan pre-sized, dan yang asli ketika hilang
Setiap folder tema sekarang membawa img / sized / < stem > / h < rung > .webp di samping setiap logo. A PNG org logo.svg / logo-full.svg adalah seluruh upload dibungkus dalam base64 (beberapa MB), digambar 30- 140px tinggi di sini; rung adalah ketinggian terkecil meliputi ukuran ditarik di 2x. - logoVariantsts: tangga mesin, PickLogoRung, URL varian, catatan tab per- dari varian yang gagal, dan use LogoVariantSrc untuk gambar yang bukan sebuah Theme Logo. - Tema Logo mencoba varian pertama (baris baca dari tinggi / maxHeight / lebar): tanda-in dan logo recover (maxHeight 140) h384, logo dialog (96) h192, reset-password dan verify-email--change (52) h128, logout (120) h256. Pada suatu galat ia menunjukkan URL asli persis seperti yang dibangun sebelumnya, kemudian berjalan penurunan ekstensi seperti yang selalu dilakukan. < img > yang tersembunyi adalah probe masker overlay mengikuti. - The 48px animasi tanda - dalam dan memulihkan: h96, maka asli. Preload nya menunggu mount, sehingga render hydrating tidak lagi menahan seluruh asli. - Pekerja Picker baris (~ 30px): h64, kemudian org logoUrl, lalu monogram.
· EmailService
Logos PNG berukuran inline; lencana kaki yang disajikan pada tinggi yang digambar
Email transaksional hanya inlined logo ketika asli adalah SVG bawah 512 KB. Logo org PNG menghubungkan seluruh upload saja - crm 's 2.2 MB logo- full.png untuk header ditarik paling 48px tinggi. - Email TemplateService meminta EmailLogoService untuk PNG SecurityService yang lebih besar sekarang memotong di samping setiap logo (img / size / logo-full / h96.png untuk header 48px, img / size / logo / h64.png untuk tanda footer 28px), inlined sebagai cid: bagian dan cached 10 menit. Per logo, path lama (rasterize SVG asli, lain mengaitkannya) sisa fallback sementara salinan org belum ada. - * * * * * * * * * * * * * * mengambil? h =: lencana PNG / JPEG lebih tinggi dari tinggi yang diminta (bentak hingga 32 / 48 / 64 / 96 / 128) skala bawah dengan area rata-rata dan cached proses in-; GIF / WebP / SVG, lencana pendek dan kegagalan apapun mendapatkan byte yang tersimpan, sehingga setiap URL dalam surat telah dikirim tidak berubah.
· SecurityService
Salinan ukuran awal dari setiap logo org di samping yang asli
Setiap permukaan menggambar org logo dari upload asli: 2.2 MB untuk logo lengkap crm 's pada sebuah 30- 56px nav / header, 2.95 MB (its .svg stand-in) dalam komposer email, 4.3 MB untuk ditelusuri gaya hidup SVG. ¶ ThemeLogoVarianService now keeps ¶ * * * * * * * * * * * * * * * + manifejson untuk semua delapan slot logo (batang = nama berkas asli), dipotong oleh ConversionService / gambar / logo-variants. Clients pick the small rung > = drated height x 2 and fall kembali ke aslinya. Asli tidak tersentuh. - upload- logo: salinan logo lama dihapus pertama (tidak ada yang basi pernah dilayani), maka yang baru dipotong; permintaan menunggu paling 20-an, sisanya selesai di latar belakang. Setelah teks disimpan. - provisionFull / provisionUpdate: pastiAll re- cutting only skin whose source bytes berubah (SHA-256 dalam manifes), tetes salinan logo yang hilang. Sebelum writeConfigFiles, seperti favicons. - DataLoader: backfill latar belakang untuk setiap org hidup (tidak di jalur boot). - img / size / is never seeded from the base theme.
· kamo-signer-monorepo
Gambar logo org dari varian ukuran sebelumnya, yang asli hanya jika hilang
Halaman penandatanganan menggambar logo org yang diunggah - logo crm penuh-full.svg adalah 2.95 MB - pada tinggi 28-44px. Layanan tema sekarang memotong img / sized / < stem > / h < rung > .webp di samping setiap logo; minta untuk bage terkecil yang tajam di dpr 2 dan jatuh kembali ke URL asli, persis seperti itu dibangun Sebelumnya, pada setiap kesalahan (folder belum diisi ulang, generasi yang gagal). - Paket / tema logoVariant.ts: LOGO _ RUNGS, pickup LogoRung (dpr 2), logoVariant Url, logoVariantFromUrl; diekspor dari paket tema. - Theme Logo: varian adalah percobaan pertama, berukuran dari tinggi numerik penelepon, lain maxHeight, lain lebar terikat (tidak terikat: asli, seperti sebelumnya). Sebuah kesalahan di atasnya pergi ke yang asli, kemudian ekstensi yang ada berjalan dan fallbackText. Topeng overlay mengikuti < img > tersembunyi, yang merupakan probe. TopBar h64, * * * * * * * * * * * * * h96. - Kutipan letterhead (max-height 56 - > h128): QuoteLogo mengambil varian dari branding .logoUrl pada waktu render, sehingga quoteThemeAlias masih membaca folder dari URL yang tidak berubah. Halaman ini server- diberikan, sehingga mount juga menangkap varian yang 404ed sebelum dehidrasi.
· kamo-apps
Logo meminta varian ukuran sebelumnya, dan kembali ke awal
Sebuah logo organisasi digambar 30-180px tinggi di sini tapi diunduh secara keseluruhan: crom 's logo- full.png adalah 2.2 MB, nya .svg stand- dalam 2.95 MB. ThemeLogo now asks untuk img / sized / < batang > / h < rung > .webp pertama, rung berukuran untuk dua kali tertinggi dapat digambar (baca dari tingginya sendiri / maxHeight / lebar props: rel 128, bar atas 64, header yang diterima 96, portal sinyal-di 384, portal shell 64). A varian hilang jatuh kembali ke asli persis seperti itu dibangun sebelum, dan hanya kemudian berjalan daftar ekstensi. The overlay mask cat dengan varian hanya setelah gambar tersembunyi telah dimuat itu. Foto petugas pinjaman meminta potongan 150px _ md daripada potongan penuh upload; kesalahan jatuh kembali ke asli, kemudian untuk inisial.
· ConversionService
/ image / logo- variants memotong sebuah logo kedalam pre-sized PNG + WebP rungs
Logo organ yang diunggah sekali dan ditarik di mana-mana di 24- 120px, dan setiap permukaan download asli: crom logo- full.png adalah 2.2 MB (nya .svg stand- dalam 2.95 MB, yang merupakan link komposer email pada 40- 48px), gaya hidup dilacak nya SVG 4.3 MB. LogoVariantService membuat logo apapun (SVG via Batik, raster via ffmpeg dengan sebuah disematkan demuxer) ke tangga tinggi 32.. 1024 di kedua PNG (email) dan lossy WebP dengan alpha (Web, mobile), tidak pernah menaikkan raster dan lebar capping di 4096. Satu ffmpeg proses per logo. Titik akhir menjawab zip dari h < rung > .png / .webp + manifesjson. SVG: data tertanam: gambar diijinkan (ekspor Figma adalah satu), setiap lainnya sumber daya dan seluruh skrip ditolak; sebuah SVG 1.1 DOCTYPE (Illustrator) polos dijatuhkan, satu dengan subset internal ditolak. Diukur pada logo asli: crom logo-full h128 = 67 KB PNG / 19 KB WebP.

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