Przejdź do treści
KAMOUniverse

Changelog

Co nowego.

Każde ulepszenie platformy, jak to wysyła.

  1. · kamo-internal

    Rodzaje zadań, klienci sesyjni i prowadzący, a także terminy w strefie członka

  2. · kamo-shared-library

    Kolumny zadaniowe, linki, komentarze, Rodzaj skrzynki odbiorczej, linki do notatek i autorstwo

  3. · kamo-shared-library

    Ujawnienie podpisu AI na konfigu pola podpisu

  4. · KlusterServices

    Przypięty, zweryfikowany model i rozgrzewka, która utrzymuje kapsułę, dopóki każdy model nie zostanie rezydentem

    Uciekania upuszcza również model, którego obciążenie nie powiodło się: Speaches 0.9.0-rc.3 utrzymuje Wejście nieudanego obciążenia, więc następny start-upProbe otrzyma 409 i /api/s Wymień model, który nigdy nie załadował.

  5. · kamo-shared-library

    Nigdy niegrana prawa AI, typ szablonu ARTYFICIAL, zdarzenia AI access-log

  6. · kamo-internal

    Biblioteka klientów członków AI i proxy BFF

    Klient dla państwa członka AI, pauza / wznowienie / emeryturę, wynajem listy kontrolnej i ponowna próba, siedzenia, kontrola siły roboczej organizacji i platforma zabić przełączanie, plus cztery przekaźniki SecurityService. Przekaźnik odmawia... z 404 przed przesłaniem: encodeURIComponent pozostawia punkty nienaruszone i URL Przynieś building rozwiąże je ponad przedrostkiem.

  7. · kamo-shared-library

    Związanie nawrotu, koder przypomnienia i DODATNE; strefa UTC domyślna

  8. · TranslateService

    Obecny żeton Kamo w górę do bergaot i libretranslate

  9. · SecurityService

    Zakładka Zadań to zadania – obsługiwane przez KBService, zamknięte tutaj jak sama łówka

  10. · RAGService

    Przedstaw klucz API TEI do modeli osadzania i ponownego wybiegania

  11. · kamo-shared-library

    Zamienniki rejestru STRING, 24 typy dostawców, konwertery tolerancyjnymi cyfrowo

  12. · APIService

    Trasa do centrum powiadomień dla telefonu

  13. · DaemonService

    Praca Kamoai-hiresteps napędza krok po pracy SecurityService co minutę

  14. · KBService

    Schema SP06 — zadania, linki, komentarze, Skrzynka odbiorcza, linki notatek i autorstwo

  15. · kamo-shared-library

    Państwo członkowskie AI, org pauza i kolumny kill-switch (odczyt w JPA)

  16. · KlusterServices

    Svc _ ai publikuje ai.registry.changed.> (zdarzenia rejestru KamoAI SP01)

  17. · kamo-shared-library

    Status zadania, priorytet, rodzaje łącza rekordów, Sekcje skrzynki odbiorczej i głównego zapisu

  18. · KlusterServices

    Svc _ security publikuje kamoai.platform.state, svc _ kamoai subskrybuje go (KamoAI SP02)

    SecurityService ogłasza platformę AI kill switch na kamoai.platform.state i Służba Kamoai tego słucha. rt.org. < org > .ai- workers nie potrzebuje nowej dotacji: svc _ security już publikuje rt.org. >.

  19. · KlusterServices

    Wyrezyjnie udostępnionego loginu kamo_svc

  20. · kamo-internal

    Bąbelki obrazu rysuje podgląd 480px; lightbox zachowuje oryginał

    Obraz czatu jest rysowany najwyżej 240x240 CSS px i bańka pobierana jest całość Oryginał, aby to zrobić - 3-8 MB na zdjęcie telefoniczne, na widza. AttachmentChip teraz rysuje MediaService 480px WebP (dziesiątki KB), sprawiła, że po raz pierwszy ktoś zapyta i odpowiedział oryginałem, gdy Obraz nie ma żadnego (animacja, wektor). Skrzynka świetlna, pliki do pobrania, wideo i Dźwięk odczytuje oryginał. Fallback: jeśli podgląd nie powiedzie się, bańka wypróbuje oryginał pod tym samym adresem URL Pokolenie, a tylko awaria ORYGINALA wchodzi useAttachmentSource's Odzyskanie (cookie re-plant, a następnie werdykt HEAD) - zepsuta podgląd nigdy nie jest Zgłoszono jako plik zaginięcia. Chip pamięta, który adres URL nie powiódł się, Tak więc powrót do zdrowia, który zmienia adres URL (ponowny zakład, próba) próbuje podglądu Ponownie zamiast zostawiać cały oryginał w bańce. /api/media/' nie jest proxied prefiks, więc podgląd ma własny plik trasy. Obie trasy mają teraz wspólną aplikację/lib/imagingProxyRelay.ts (amego OTK forward, to samo Przejście dla MediaService CSP/nosniff/disposition, plus x-zapaterment-rendition) i odmówić identyfikatora, który nie jest UUID przed budową Adres URL upstream. Wdrażanie AFTER MediaService (punkt końcowy /preview). Jeśli to wyląduje najpierw Prośba podglądu 404s upstream i każda bańka wraca do oryginału — Dzisiejsze zachowanie, jedna dodatkowa mała prośba.

  21. · MediaService

    Załączniki obrazu są rysowane z podglądu 480px, a nie z oryginału

    Bańka czatu rysuje obraz co najwyżej 240x240 CSS px i każda pobrana oglądalność Oryginał, aby to zrobić - 3-8 MB na zdjęcie telefoniczne. GET (ang.) - teraz odpowiada WebP ograniczony do 480px Na jego długiej krawędzi; oryginalny punkt końcowy, lightbox i downloads są Niezmieniony. Jeden podgląd na zapisany plik (ImgDat), a nie na załącznik: .imgDatId>_thumb_480.webp W łyżce do obrazowania, obok oryginału. Poprawiono _thumb jest tym, co Rachunki OrgObjectStorageSweep z tytułu pochodnego tego pojęcia. To jest Celowo nie biblioteka obrazowania _thumb_p0.png (a 640px PNG DocsService Służy w ramach praw do dokumentów i flag na wspólnym profilu). Wykonane przy przesłaniu i na pierwsze życzenie. Obydwa załączają ścieżki (przeciążenie, a także dedup link) kolejkowanie go w tle; żądanie, które nie znajdzie żadnego, czyni go na spot przez ConversionService /api/konwersja/image/preview — tak każdy istniejący Przywiązanie dostaje jeden po raz pierwszy, kiedy ktoś patrzy, bez zasypydu. Współczesna Żądania o tę samą zawartość łączą się z jedną generacją; co najwyżej dwa biegi za kapsułę; Kolejka tła raczej spada, a nie rośnie. Odmowa (animacja, nie do ekscytencji, Nie mniejszy) jest pamiętany jako obiekt zbożowy, a oryginał jest obsługiwany Od tego momentu; awaria (zajęty, w dół, 404 z ConversionService bez Punkt końcowy) nie jest pamiętany. Ilekroć nie ma podglądu, punkt końcowy służy Oryginalna dokładnie tak, jak /imaging/proxy/'id', więc wskazał na niego "img" Zawsze dostaje zdjęcie. X-Attachment-Rendition mówi, które. Dostęp: oba punkty końcowe przechodzą przez jedno upoważnienie() – uwierzytelnianie, istnienie, unieważnienie, usuwanie wiadomości, brak treści, członkostwo w sesji, to samo zamówienie, I te same odpowiedzi – zanim sklep z podglądem zostanie dotknięty. Odwołane załączniki Podgląd jest odrzucany w tej samej chwili, co jego oryginał. ImagingProxyPreviewAccessTest przypina każdą odmowę oryginału (status i Ciało, GET i HEAD); negatywna kontrola (kontrola członka pominięta dla Podgląd) zawodzi go. Podgląd GET rejestruje pierwsze pobranie członka, jako cały plik GET Oryginał, gdy bąbelki narysowały oryginał. Deploy AFTER ConversionService f7729d9 (punkt końcowy). Zanim wyląduje każdy Prośba o podgląd nie jest miękka w stosunku do oryginału; nic nie jest oznaczone.

  22. · ConversionService

    / image / preview tnie zdjęcie czatu na jeden 480px WebP

    Załącznik do obrazu czatu jest rysowany w maksymalnie 240x240 CSS px i każdej przeglądarce pobrano oryginał, aby to zrobić - zdjęcie telefonu 3- 8 MB. MediaService będzie przechowywać jeden podgląd na zapisany plik (ImgDat) i służyć do czatu bańki; to jest Tego, którego nazywa. ImagePreviewService pasuje do długiej krawędzi 480 (2x pole), nigdy upscales, i pisze lossy WebP bez metadanych. Orientacja EXIF jest pieczony w (portret podgląd zdjęcia leżałby na jego boku obok jego wyprostowanego oryginału), z własnym autonotatem ffmpeg, więc żadna budowa nie może obracać się dwa razy. Wektory, animacje (GIF, APNG, animowany WebP), nierozbieralne bajty, przerośnięte źródła i podglądy nie mniejsze od oryginału są REFUSED - 422 z X- Preview- Refused, które dzwoniący może pamiętać. Busy / timeout / ffmpeg awaria jest 503 i mówi Nic o obrazie. Pamięć, po drabinie logo OOM- zabił obu strąków: ffmpeg działa jeden po drugim, Jeden-gwintowany * * * * * * * * * * * * * * * * * * * * * * 1), wagi przed obrotem i dekoduje JPEG na 1 / 2 ^ k w IDCT (-lowres, zachowując 2x krawędzi podglądu). Maksymalny RSS zmierzony z dokładnością / usr / bin / time -f% M polecenie: 12 MP JPEG 68 MB, 48 MP JPEG 123 MB, progressive 12 MP 92 MB, 16 MP PNG 115 MB (184 MB dla czystego hałasu). Pułapy: JPEG 52 MP, PNG / WebP / GIF 16.8 MP, źródło 40 MiB. Internal- tylko na czacie publicznym tajne MediaService już prezentuje do / transkrypcja; nie została zamknięta.

  23. · kamo-internal

    Narysuj logo z wariantów wielkości serwera, nigdy oryginału o multi-MB

    Członek zobaczył logo org header small w kompozytorze, ale obraz >3 MB w wysłane poczta: każda powierzchnia logo połączona z ?img/logo-full.svg / ?img/logo.svg, Który dla orgu raster-logo jest SVG owijający cały upload (crm: 2.95 MB), Wylosowany 24-120 px wysoki - a w wiadomości e-mail, w formacie Outlook nie jest wyświetlany. /Teraźniejsz pisz ;) Obok oryginałów (LOGO_VARIANTS_CONTRACT). To jest trasa każdego konsumenta logo Za pośrednictwem jednego pomocnika i zachowuje oryginał jako upadek, ponieważ warianty Na wiadrze na żywo zabraknie przez jakiś czas: - LOGO_RUNGS, pickLogoRung (najmniejszy katg > cssPx x 2, inne 1024), logoVariantUrl, logoDisplayCap, sonda (probebeage, beachrowane na zakładkę), cachedRemotemObrażkaImImIImIIst, 10 min) i rozliczenie/weryfikowanie szczelitów PNG. useLogoVariant.ts: useLogoVariantSrc (Awaria >: wariant, następnie oryginalny na błędzie, następnie własny powrót dzwoniący), useProbedLogoUrl (CSS/mask/canvas: '' aż do zbadania, nigdy oba), useEmailLogoLadders, useRemoteImageVerdicts. - ThemeLogo wybiera szczebel z własnego pudełka (NavPri 64, dom 128, ustawienia 128, obciążenie 256, walidacja 192, znaki wodne/pane 1024) i spada z powrotem na błąd; Nakładka maska następuje. Backdrop/error/not-found Znaki wodne, strona-przejście Pokrywa (chooseCoverLogo + sonda), oznakowana znakiem wodnym (1024) i zbieraczem (64), szachami Znak (192), Strona startowa Hosted Computer (128, data-fallback onerror), Meet Podglądy brandingu (128), podglądy szablonów email, chipy / sieciowe (poprzez Licznik obrazu, wariant -> oryginalny -> początkowy) i Hold'em chipowe twarze (128). - E-mail: ResolvedImages przenosi drabinę PNG każdego logo (podłogę); nagłówek, Podpisy i renderery odznak drukują rung dla rozmiaru, który rysują. Każdy z nas Ścieżka wysyłania potwierdza każdy wydrukowany szczebel z HEAD i odkłada oryginał gdzie go brakuje (kompozytor + zaproszenie na spotkanie, okład z kampanijno-pompowy, Ścieżka meet-invite). Przesłane odznaki stóp Zapytaj EmailService o "h"2x> (28). Przechowywany uchwyt zastępczy HTML nigdy nie ma nagłówka. Trasa Meet-Inproes Teraz czyta motyw z aliasu org zamiast folderu FQDN przed lias. - Pozostawiony na oryginałach według projektu: LabelManager, setup-wizard LogosStep, favicons. Testy: kompletowanie rung, kształt URL, sondy / pamięć podręczną HEAD, oba odwroty, ThemeLogo, Wybór coveru, sieć OrgLogo, odsłona strony startowej, odznaka i okablowanie Otłań, który renderuje każdy układ nagłówka / podpisu z drabinowym logo i Upadek na jakimkolwiek raw /img/logo URL lub niezweryfikowanym send path.

  24. · kamo-register

    Zarejestruj logotypy wczytywać przedwielkości kopii, a oryginał, gdy brakuje

    Każdy folder motywu niesie teraz img / size / < stem > / h < rung > .webp obok każdego logo. PNG org logo.svg / logo- full.svg jest jego cały transfer zawinięty w base64 (kilka MB), narysowany 30- 72px wysoki Tutaj; szczebel jest najmniejszą wysokością pokrywającą narysowany rozmiar przy 2x. - logoVariants.ts: drabina szczelinowa, pickLogoRung, URL wariantu i rekord opcji Nie udało się. - ThemeLogo najpierw próbuje wariantu, a następnie odczytuje jego wysokość liczbową: logo lądowania (72) h192, nagłówek przepływu (30 / 44) h64 / h96, ekran zakończenia (52), / org (60) i / sorry (64) h128. Nie miał w ogóle obsługi błędów; teraz nieudany wariant pokazuje oryginalny adres URL dokładnie jak został zbudowany wcześniej. Ukrytą < img > jest sonda, którą następuje maska nakładająca.

  25. · kamo-login

    Sign- in logos wczytaj przedwymiarową kopię, a oryginał, gdy brakuje

    Każdy folder motywu niesie teraz img / size / < stem > / h < rung > .webp obok każdego logo. PNG org logo.svg / logo- full.svg jest jego cały transfer zawinięty w base64 (kilka MB), narysowany 30- 140px wysoki Tutaj; szczebel jest najmniejszą wysokością pokrywającą narysowany rozmiar przy 2x. - logoVariants.ts: drabina szczelinowa, pickLogoRung, wariant URL, per- tab rekord wariantów, które nie powiodło się i używa LogoVariantSrc dla obrazów, które nie są ThemeLogo. - ThemeLogo najpierw próbuje wariantu (odczyt z wysokości / maxHeight / szerokość): znak i odzyskać logo (maxHeight 140) h384, logo dialogowe (96) h192, hasło do przesiedlenia i verify- email- change (52) h128, logout (120) h256. Na błąd to pokazuje oryginalny adres URL dokładnie Jak to zostało zbudowane wcześniej, a następnie idzie rozszerzenie awaryjne jak zawsze. Ukryte < img > jest sonda maska nakładka następuje. - 48 px animowany znak na sign- in i odzyskać: h96, a następnie oryginał. Jego ładunek czeka na Mount, więc drender nawilżający nie pobiera już całego oryginału. - WorkspacePicker rows (~ 30px): h64, then the org 's logoUrl, then the monogram.

  26. · EmailService

    Inline pre-wymiarowe logo PNG; odznaki stopowe podawane na wyciągniętej wysokości

    E-maile transakcyjne tylko wtedy, gdy oryginał był SVG poniżej 512 KB. E-mail org z logo PNG połączył całe przesłanie zamiast tego — crm 2.2 MB Logo-full.png dla nagłówka narysowana najwyżej 48px. - EmailTemplateService prosi EmailLogoService dla wcześniej wielkości usługi bezpieczeństwa PNGs teraz ścina obok każdego logo (img/size/logo-full/h96.png dla nagłówka 48px, img/sized/logo/h64.png dla znaku stopki 28px), nakreślony jako cid: części i - pachnął 10 min. Na logo, stara ścieżka (rasterize original SVG, inne link) Pozostaje upadek, podczas gdy kopie orgi nie istnieją jeszcze. - Bierze ?h': plakietkę PNG/JPEG wyższą od Wysokość zwróconą (doscony do 32/48/64/96/128) jest zmniejszona z powierzchnią Uśrednia i prasa w trakcie przetwarzania; GIF/WebP/SVG, krótkie odznaki i wszelkie niepowodzenia przechowywane bajty, więc każdy adres URL w już wysłanej poczcie pozostaje niezmieniony.

  27. · SecurityService

    Pre-wymiarowe kopie każdego logo org obok oryginału

    Każda powierzchnia narysowała logo org z oryginalnego przesłania: 2.2 MB dla pełnego logo crm przy 30-56px nav/header, 2.95 MB (jego .svg stand-in) w e-mail composer, 4.3 MB Za swój śladowy styl życia SVG. ThemeLogoVariantS jest teraz wstrzymuje + manifest.json dla wszystkich ośmiu gniazd logo (stem - nazwa pliku oryginalnego), wycięty przez ConversionService /image/logo-variants. Klienci wybierają najmniejszy rung > - wysokości ciągnienia x 2 i jesienią Wracając do oryginału. Oryginały są nietknięte. - upload-logo: najpierw usunięto kopie starego logo (nic nie jest wcale nieaktualne serwowane), a następnie nowe są cięte; prośba czeka najwyżej 20s, reszta Kończy się w tle. Po tym, jak ext zostanie uratowany. - PrzepisPałej/przekazywanieAktualizacja: zapewniamy wszystkie refryty tylko łodygi, których podstawy źródłowe Zmieniono (SHA-256 w manifeście), upuszcza kopie logo, które zniknęło. Przedtem writeConfigFiles, jak favicons. - DataLoader: wypełnienie tła dla każdego żywego orga (nie na ścieżce startowej). - img/size/ nigdy nie jest rozstawiony z podstawowego motywu.

  28. · kamo-signer-monorepo

    Narysuj logo org z jego wariantu wielkości, oryginału tylko wtedy, gdy go brakuje

    Strona podpisana narysowała przesłane logo orggu — logo crm-full.svg wynosi 2,95 MB — na wysokości 28-44px. Usługa tematyczna teraz tnie img/sized/'stem>/h'rung>.webp obok każdego logo; poproś o Najmniejszy szczelinowiec, który jest ostry w 2 p i wraca do oryginalnego adresu URL, dokładnie tak, jak został zbudowany Wcześniej, na jakikolwiek błąd (foldery nie wypełnione jeszcze z powrotem, nieudane pokolenie). - opakowanie/theme logoVariant.ts: LOGO_RUNGS, pickLogoRung (dpr 2), logoVariantUrl, LogoVariantFromUrl; eksportowane z pakietu tematycznego. - ThemeLogo: wariant jest pierwszą próbą, wielkością od wysokości numerycznej dzwoniącego, w innym rozmiarze maxHeight, w przeciwnym razie szerokość (nie wiąże się: oryginał, jak poprzednio). Błąd na nim idzie Oryginał, następnie istniejące rozszerzenie chodzą i fallbackText. Maska nakładkowa następuje Ukryty "img", który jest sondą. TopBar h64, h96. - Cytat (maksymalnie 56 -> h128): QuoteLogo czerpie wariant z branding.logoUrl W czasie renderowania, więc quoteThemeAlias nadal odczytuje folder z niezmienionego adresu URL. Strona jest Serwerowy renderowany, więc uchwyt chwyta również wariant, który przed nawodnieniem 404.

  29. · kamo-apps

    Logos poprosić o wariant pre- wielkości, i wrócić do oryginału

    Logo organizacji jest rysowane 30- 180px wysoki, ale ściągnięty w całości: crm 's logo- full.png is 2.2 MB, its .svg stand- in 2.95 MB. ThemeLogo pyta dla img / size / < stem > / h < rung > .webp first, wielkość rangi dla dwóch najwyższych można go narysować (odczyt z jego własnej wysokości / maxHeight / width reps: szyna 128, górny pasek 64, otrzymany nagłówek 96, znak portalu w 384, portal powłoka 64). Brak wariantu wraca do oryginału dokładnie tak jak było. zbudowany wcześniej, a dopiero potem przechodzi listę rozszerzeń. Farby do masek nakładanych z wariantem tylko po tym, jak ukryty obraz go załadował. Zdjęcie pożyczkodawcy prosi o 150px _ md cięcia zamiast pełnej wysyłanie; jego błąd wraca do oryginału, a następnie do inicjałów.

  30. · ConversionService

    /image/logo-variants tnie logo w pre-wymiarowych PNG + webP rungs

    Logo Org jest przesyłane raz i rysowane wszędzie w 24-120px, a każda powierzchnia Pobrany oryginał: crm's logo-full.png to 2.2 MB (jego .svg stand-in 2.95 MB, To, co kompozytor e-mail łączy z prędkością 40-48px), jego śladowy styl życia SVG 4.3 MB. LogoVariantService renderuje dowolne logo (SVG via Batik, rasaster via ffmpeg z przypięty Demuxer) do drabiny wysokości 32..1024 zarówno w PNG (e-mail), jak i przegranej WebP z alfa (web, mobile), nigdy nie skalując rastr i szerokości zakrętowania na 4096. Jeden ffmpeg Proces na logo. Punkt końcowy odpowiada na zamknięcie pliku h-rung>.png/.webp + manifest.json. SVG: wbudowane dane: obrazy są dozwolone (eksport pliku jest jeden), co inne Zasób i wszystkie skrypty są odrzucane; zwykły SVG 1.1 DOCTYPE (Illustrator) Upuszczony, jeden z wewnętrznym podzbiorem jest odrzucany. Zmierzony na prawdziwe logo: crm logo-full h128 - 67 KB PNG / 19 KB WebP.

Twój wszechświat czeka.

Rozpocznij bezpłatnie w kilka minut.Dodaj produkty, kiedy tylko będziesz gotowy — bez migracji, bez nowych logowań.

Bezpłatne na zawsze — nie wymaga karty kredytowej