Przejdź do treści
KAMOUniverse

Changelog

Co nowego.

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

  1. · KlusterServices

    Wymagać klucza API i dopuścić tylko RAGService

  2. · EmailService

    Wysyłanie poczty wymaga miejsca, zarówno dla ludzi, jak i członków AI

    Członek bez licencjonowanego miejsca jest odrzucony ze wspólnym ciałem 403 SEAT_REQUIRED Zanim cokolwiek zostanie wysłane: POST /api/email/send, współdzielona skrzynka pocztowa i cztery Trasy zapraszania do spotkania (wyślij, aktualizacji, anulowania, odpowiedzi). Zapisanie wydarzenia kalendarza prosi o miejsce tylko wtedy, gdy zaprasza swoich gości pocztą elektroniczną (sendInvites true, powiadomByEmail nie false): dialog kalendarza i KamoMobile wysyłają powiadomienieByEmail true na każdym zapisie, więc Wejście do kalendarza pozostaje otwarte dla wszystkich. Wewnętrzne trasy nigdy nie pytają. Wdrożenie pobiera również własny login NATS (nats-user-email), Redis Logowanie ACL (redis-auth) i tajemnica wewnętrzna KamoAI.

  3. · MediaService

    Spotkania, czaty grupowe, załączniki i połączenia wymagają miejsca, które je zawiera

  4. · kamo-internal

    Lista wybieracza czatu zawiera tylko modele, które może wybrać członek

    Wybrańca odczytuje listę modeli administratora (403 bez MANAGE_AI_MODELS) i oferował dostawców, Który nigdy nie wybrał modelu. Teraz czyta GET /api/ai/modele/do wyboru przez nową trasę BFF, Usuwa opcje dostawcy, przenosi rozmowę z dostawcą z powrotem do Auto i utrzymuje Dostawca zamawia AIS wysyła (priorytet organizacji) zamiast ponownie sortować ją po imieniu.

  5. · InitializerService

    Migracja dla org _ alias _ domen, siadanie dwóch platform org

    Tworzy * * * * * * * * * * * * * * * * i nasiona platformy org (is _ top _ level) z kurxiverse.com (domyślnie, przenoszenie do przodu starego hardcoded platform.mail.domain) i kontakt.kamocrm.com (dodatkowe, nie domyślny). Stosowane bezpośrednio do produkcji przed tym zobowiązaniem - ta usługa jest uruchamiany ręcznie w stosunku do DB, nie jest stosowany - tak więc tabela już istnieje; jest to źródło zapisu dla następnego świeżego środowiska lub ponownego uruchomienia. Kamo- Shared - biblioteka spadła do 1.6.2 dla * * * * * * * * * * * * * * * * * * * * * * * * * *

  6. · EmailService

    Przeczytaj alias-domu kompozytora domyślny z org_alias_domains

    - użyta jedna zakodowana domena (platform.mail.domain, kamouniverse.com) jako syntetyczny send-as default, oraz Tylko dla platformy org - Odczyty OrgAliasDomainRepository zamiast: dowolny org może zarejestrować dowolną liczbę aliasów Domeny teraz, z których każda jest oferowana jako nadawa - jako tożsamość na głównym miejscu członka Skrzynka pocztowa, z domyślnym wierszem orgnia, który nadal jest przygotowywany jako Domyślnie kompozytora dokładnie tak, jak kamouniverse.com. Kamo-shared-library spadły do 1.6.2 za .

  7. · kamo-shared-library

    Dodaj org_alias_domains, formę per-org domeny poczty platformy

    Generalizuje pojedynczą zakodowana platforma.mail.domain (kamouniverse.com, i Tylko dla platformy org) do stołu org może pomieścić dowolną liczbę wierszy Wszedł. EmailService's SendableMailboxService czyta go, aby oferował każdą domenę jako Wyślij tożsamość na głównej skrzynce pocztowej każdego członka, w tym samym mechanizmie, co wcześniej.

  8. · SecurityService

    Wyłącznik awaryjny AI może być odczytany przez każdego, kto ma rację.

  9. · kamo-internal

    Usługi platformy AI i AI Kill Switch prawa do platformy

  10. · kamo-internal

    Aplikacja AI Workforce i jej cztery prawa; strażnik aplikacji irrator ponownie czyta Javę

  11. · AIService

    Jeden stół trasy decyduje, kto może zadzwonić do każdej trasy AIService

  12. · kamo-shared-library

    Prywatny prefiks skrzynki odbiorczej dla nowych usług, a pracownik LOS webhook jest opt-in

  13. · kamo-shared-library

    Usługi logują się do Redis z nazwą użytkownika i hasłem, gdy zostanie podana

  14. · kamo-shared-library

    Jedna zasada siedzenia dla konsoli i każdej usługi, która ją wzmacnia

    Resolver czyta członka z jego organizacji pobrane i otwiera nie transakcji własnych, więc miejsce jest podejmowane prawidłowo na gwincie z kontekst trwałości (AI WebSocket) i nieudany odczyt naprawdę nie jest otwarty zamiast rzucać nieoczekiwanym RollbackException obok połowu.

  15. · KlusterServices

    Zaloguj się do Redis jako mail_rspamd

    rspamd odczytuje swoje hasło z tajnej poczty / rsup-redis-auth, włączone do Lokal.d/redis.conf. Kapsuła zyskuje fsGroup 11333: obraz działa jako 11333:11333 I root:root 0440 Secret plik to fatalne pozwolenie odrzucone przy obciążeniu konfiskaty.

  16. · kamo-shared-library

    Usługi platformy AI i prawa do wyłączania zabijają oraz kolumnę przełącznika

  17. · KlusterServices

    Użytkownicy ACL dla platformy, rspamd i operatorzy (domyślnie wciąż otwarte)

  18. · kamo-shared-library

    Oglądanie, nadzorowanie, zatwierdzanie i zarządzanie siłą roboczą AI (329-332)

  19. · KlusterServices

    Jeden login na obciążenie na koncie KAMO, obok kamo_svc

  20. · kamo-shared-library

    Aplikacja AI Workforce, poza granicami PHI i nigdy automatycznie

  21. · kamo-internal

    Wybierz sposób, w jaki publikowana aplikacja zadaje swoje pytania

    "Publikuj tę aplikację" (Ustawienia → Cechy → CRM → Sprzedawcy & Produkty) teraz posiada trzy opcje obok czatu, każda para kart, które mówią, co oni średnia: - Typ: Normalny (kilka powiązanych pytań na krok) lub Squeeze (jedno pytanie na ekran, każdy wyjaśniony w prostych słowach). - Informacje kontaktowe: Start (nazwa, e-mail i telefon najpierw, zapisane w momencie, gdy są one wpisane, więc porzucona aplikacja jest nadal ołów) lub Last (pożyczka najpierw, dane kontaktowe tuż przed wysłaniem; nic do tego czasu nie zostało zapisane). - Pola: Pełna lub Podstawowa (tylko to, czego potrzebuje pierwsze połączenie). Podgląd na żywo obok nich zwraca pierwszy ekran, zamówienie sekcji (kontakt widocznie przesuwa się do końca) i co kredytobiorca spotka - ile pytań, i kiedy ołów zostanie uratowany. Okno dialogowe to 'md', więc oba pasują obok siebie. Wybór odbywa się na istniejącej aplikacji PUT... / (securityservice d345869), rund- trip przez listę sprzedawców, i prefill po ponownym otwarciu okna. Ponowne otwarcie strony na żywo mówi "Zapisz zmiany" / "Ustawienia aplikacji zapisane". zamiast publikować go ponownie, a jego ikona wiersza jest przesuwaczem ustawień niż bańka czatu, ponieważ otwiera więcej niż czat.

  22. · kamo-apps

    Wybór układu pożyczkodawcy — ściskaj, kontakt pierwszy lub ostatni, podstawowy

    Wniosek o kredyt hipoteczny przedstawia się teraz, gdy produkt został opublikowany (Ustawienia > Funkcje > CRM > Publikuj tę aplikację): - Typ. - Tak. NORMAL to pięć pogrupowanych kroków, jak wcześniej. SQUEEZE zadaje jedno pytanie Na ekranie: brwi mówiącą, gdzie jesteś, pytanie na wyświetlaczu Twarz, prosta linia językowa na temat tego, co to znaczy i dlaczego jest pytana, a następnie jedna Odpowiedz. Pola dzielą ekran tylko wtedy, gdy są częścią jednej odpowiedzi (nazwa, Adres, agent i firma). Dotknięcie wyboru rusza po a Beat; klawiatura wybiera strzałkami i porusza się w trakcie Enter. Szyna wypełnia Pytanie po pytaniu. - Dane kontaktowe. START pyta, kto jest pożyczkobiorcą jako pierwszy, i oszczędza prowadzenie Chwila, w którym jest imię i e-mail – za niewidzialnym dowodem pracy, Ten sam przycisk wysyłania — a następnie dodaje każdą późniejszą odpowiedź na ten trop Token, a finał wysyła go dokończy, zamiast złożyć wniosek o sekundę. Strona Tak jest przy pytaniach kontaktowych. OSTATNIA przenosi kontakt do samego początku Zgoda i nic nie zostanie zapisane, dopóki formularz nie zostanie wysłany. - Pola. - Nie. BASIC zachowuje nazwę, e-mail, telefon, cel, sposób, w jaki dom będzie używany, Stan i ZIP, cena lub wartość, zaliczka lub saldo oraz kredyt. Help text zakłada, że czytelnik nic nie wie: zaliczka, ocena kredytowa, HOA, Podatki, ubezpieczenia, programy kredytowe i rodzaje nieruchomości są wyjaśnione Gdzie są pytani. Bez odpowiedzi tak/nie pytania pozostają nieważne (pominięty lub jeszcze nie) Osiągnięty) zamiast przyjazdu jako "nie". Również stałe, obaj żyją dzisiaj: akapit zgody nigdy nie został wymieniony pożyczkodawcy ("ty Wyraź swoją wyraźną pisemną zgodę na kontakt z Tobą” – funkcja przekazana jako Argument ICU nic nie dał), a pokwitowanie "Kopia jest w drodze". Upuścił adres w ten sam sposób. Przywództwo zgody nie zaczyna się już od Taśma "kilkuś". Proxies: (POST) i /progres, (Pentret/" (PUT), Udostępnianie X-For Obsługa z zgłoszeniem. Potrzebuje usługi zabezpieczenia d345869 dla układu i punktów końcowych postępu; Starszy backend formularz jest pogrupowany, pełny, kontaktowy formularz i pierwszy Wczesne zapisywanie 404 raz i zatrzymuje się.

  23. · kamo-internal

    Zakładka sesji przestaje nosić ikonę Guacamole

    Zakładka sesji to dokument Guacamole, więc jego własny ’link rel’''icon" href""images/logo-64png"> Posiada zakładkę, a członek otwierający komputer swojej firmy obserwuje, że ikona zamienia się w Trzecia strona. Trzymanie zakładki na temat pochodzenia Kamo i kadrowanie sesji pozwoliłoby na Ikona organizacji; brama odpowiada na każdą trasę. Tak więc nie jest dostępny. Brama odpowiada za te dwa pliki. Kto Ikona jest oderwana od HOST, a czas, w którym jest to odpowiedź. Żądanie ikony jest zwykłym obrazem GET wydanym, gdy przeglądarka renderuje stronę trzecią Dokument. Nie ma sesji i żadnego tokena, więc gospodarz jest jedynym sygnałem. Na azie Własne komputery organizacji.-domaina, która jest kompletną odpowiedzią. Na wspólnej platformie host Nie jest: OTWIERDZAniu przez gospodarza nazywa się PLATFORM, jak już mówi layout.tsx — "co jest Nikogo nie jest lokatorem”. Tak więc host platformy celowo rozwiązuje się bez organizacji i otrzymuje niemarkowy glif. Każda organizacja, której domena nie jest jeszcze na żywo, dzieli się tym gospodarzem, i malowanie znaku KamoCRM Na karcie najemcy jest dokładnie ta, której istnieje biała etykieta, aby zapobiec - patrząc, Tutaj, nie do odróżnienia od pracy. Jest również nie do odróżnienia od poprawnej odpowiedzi na Członkowie KamoCRM, dlatego nie ma dla nich wyróżnienia. Nic nie musi Zmiana dla organizacji, aby uzyskać własną ikonę: w momencie, gdy jej komputery hostują, jest na żywo, Nazwiska go host i trasa rozwiązuje go. Glyph to zwykły zarys monitor w łupku, bez marki, w dwóch rozmiarach Guacamole klaruje. Ikona organizacji jest rozwiązywana alias -> config.json -> favicon set, tak samo łańcuch DynamicMetaLoader wykorzystuje, a każda awaria spada z powrotem do glify: favicon to Nie warto przesadzać z kartą, a niewłaściwa marka jest gorsza niż żadna marka. RORELes LIVES IN kamo, nie przyjmą najdłup w hostowanych komputerach. Traefik biegnie Z allowCrossNamespace i zezwolić naExternalNameServices zarówno w przypadku ich niewykonania fałszu, jak i Ingress tam nie może dotrzeć do kamowebinternal-service, a włączenie którejkolwiek z flag nie jest Zmiana w całym klastrze, aby osiągnąć jeden favicon. Certyfikat jest już wydawany w tej przestrzeni nazw, Tak więc trasa znajduje się obok usługi, do której przekazuje się, i CI stosuje ją kodem. TematPublicBase jest ekstrahowany, więc układ wiadra jest zapisywane raz: Theme.tsx is "Użyj klienta", a serwer potrzebuje takiego samego kształtu.

  24. · kamo-internal

    Atak na rynkach CRM, na stronie głównej oraz na profilach członków

    - Rynki: "Arive" dołącza do zrzutu MLOS, a jego okno konfiguracji cztery haki Zapier (tylko pismo, zamaskowane), Arive → Adresy Kamo do wklej do Zaps, etap → mapa statusu, lead- tworzenie i przełączniki stage- push, przewodnik konfiguracji i dziennik aktywności połączenia. Konfiguracja jest teraz allow- list: dostawca nie ma nic do skonfigurowania longer otrzymuje włączony przycisk, który nic nie robi. - Strona główna: LosHeaderActions sprawia, że każde państwo dostawcy - MeridianLink bez zmian; Arive utworzyć → czekając na Arive (z zadowoleniem po 15 min, z potwierdzenie) → otwarte w Arive z jego etapie, konwertować na prowadzenie Arive, i chip sync-problem. Oczekiwany link ponownie czyta rynek config każdy 10 s zmienia się w "Open in Arive" bez przeładowania. - Profil: karta lender uwierzytelniania oszczędza ponownie (nie mógł od rekonstrukcja profilu, c20bac57). Każdy wiersz rynkowy edytuje samodzielnie: MeridianLink pobiera nazwę użytkownika + secret, Arive członka Arive logowanie e- mail. - MarketConfig.mlosProvider to związek usługodawców, a nie goły ciąg. Spec: Nie, nie, nie

  25. · SecurityService

    Wybór układu i zapisywanie danych kontaktowych

    Okno z publikacją teraz wybiera, w jaki sposób aplikacja publiczna hipoteki sama się umieszcza na zewnątrz (kamo- Shared-library ac83bea1): NORMAL lub SQUEEZE, dane kontaktowe Pytania początkowe lub ostatnie, pełne lub podstawowe. - Put * * * * * * * * * * * * Układ, applicationContactStep and applicationFieldSet; brakujący zachowuje to, co jest przechowywane, więc przejście na emeryturę strona nigdy nie resetuje swój układ. Reakcja ich echa. - GET / public / loan- application / {p} odpowiada na układ {type, contactStep, fieldSet}, Zawsze załatwione. - POST * * * * * * * * * * * * * * * * * - tylko dla produktu START (404 w przeciwnym wypadku): * * * niepowodzenie zamknięte, złożenie budżetu IP, nazwa + e-mail wymagane. Tworzy ołów ze źródła "Aplikacja pożyczki online (niedokończone)" i odpowiedzi a 256- bit token utrzymywany w Redis na dzień, napisany wewnątrz transakcji tak Niepowodzenie Redis raczej odwraca prowadzenie niż gwarantuje duplikat. - Nie. dodaje odpowiedzi na ten trop przez updateLead (brak = niezmieniony). Token związany z produktem. - POST / public / loan- application / {p} z progressToken kończy ten ołów (źródło "Wniosek o pożyczkę online", odbiór jak wcześniej) zamiast składania drugi; nieznany lub przeterminowany token tworzy nowy trop jak wcześniej. - Własność wiodąca jest sprawdzana przed updateLead, a nie poprzez łapanie jej wyjątek: jest @ Transactional i oznaczałby żądanie rollback- only. Baza bazowa Ratchet: startProgress i SaveProgress dodawane z powodów, oraz byHost (dodany przez 81e0756 bez linii, która pozostawiła zapadkę na czerwono).

  26. · kamo-shared-library

    Wybór układu dla opublikowanego wniosku o pożyczkę

    Trzy kolumny na LEAD _ VENDOR _ PRODUKTY, wybrane w oknie publikacji i przeczytane przez kamo-apps do złożenia publicznej formy hipoteki: - Application _ LAYOUT NORMAL (zgrupowane kroki) - Application _ CONTACT _ STEP START (kontakt pierwszy, zapisany jak idą) 124; LAST - Application _ field _ SET FULL BEL124; BASIC Struny proste, nie @ Enurated, więc żadne ograniczenie ddl- auto CHECK nie zamraża wartości Gotowe. Null odczytuje jako NORMAL / START / FULL, postać, jaka była. DTO nosi rozwiązane wartości; setProductApplication zyskuje przeciążenie biorąc opcje, z null członkowie oznaczający "zachować", a stary podpis delegatów do niego bez zmian. DDL został już zastosowany do klastra jako właściciel: ALTER TABLE public.lead _ seller _ products ADD COLUMN IF NOT EXISTS application _ layout varchar (16); ALTER TABLE public.lead _ seller _ products ADD COLUMN IF NOT EXISTS application _ contact _ step varchar (16); ALTER TABLE public.lead _ seller _ products ADD COLUMN IF NOT EXISTS application _ field _ set varchar (16);

  27. · InitializerService

    Kolumny i aktywność rejestrują mapy integracji Arive

    (unikalne), pola łącza Arive na lead_los_links (rodzaj, GUID, deep link, etap, oczekujący od błędu, ostatni błąd) i los_sync_events. Wszystkie unieważniane, bez zasypu; ?Zamówienie(0), ponieważ podmioty Nakreśl je. Już złożył wniosek do Yugabyte ręcznie (jako właściciel, kamo) przed Popychanie biblioteki współdzielone; to utrzymuje świeże środowisko na kroku.

  28. · APIService

    Publiczny adres Zapier podaje wydarzenia Arive do

    POST * * * * * * * * * * * * * * * * wyzwalacz > do przodu SecurityService 's AriveInboundController, który jest właścicielem czeku. W query string (zdarzenie) przecina hop, forma korpusu pojemnika już Parsed jest przebudowywany z jego parametrów, a status SecurityService jest przekazywany przez as- is: Zapier pokazuje zadanie non-2xx jako errored, gdzie jest Ludzie, którzy utrzymują Zap będą patrzeć. Nieuformowany żeton nigdy nie opuszcza krawędzi.

  29. · SecurityService

    Aryve poprzez Zapier - połączenie, przychodzące zdarzenia i działania przekierowujące

    Rynek związany z Arive dostaje połączenie (cztery Zapier Łap Hooks dla create- loan, update- loan, update- lead i convert- lead, plus jeden przychodzący adres URL którego token jest przechowywany jako hasz) w Z dziennikiem aktywności, rotacja symbolu i "wysłanie próbki", aby Zapapier mógł nauczyć się każdego pola haka. Aryve 's wyzwalacze post do * * * * * * * * * * * * * * * * * * * JSON lub formuje ciała (domyślnie Zapier), uznane przez naszego crmReferenceId, Arive GUID, identyfikator wyświetlacza lub - dla ołowiu przekonwertowanego wewnątrz Arive - kredytobiorca e-mail. Uznane rekordy stosują Arive- wygrywa; nowy etap przenosi Kamo status poprzez mapę sceny połączenia; nieznane rekordy stają się wiodącymi przypisany do członka Arive nazwiska jako oficer, i nasz uid jest odesłany z powrotem. Każdy wynik jest zapisany i nic nie odpowiada na milczące 200. Strona główna tworzenia / otwartych wysyłek na rynku: Arive odpowiedzi 202 PENDING (potwierdza asynchronicznie) i dodaje / konwertuje. Mapa członków same do swojej poczty e-mail Arive (bez tajemnicy, bez NMLS, jeden członek na e-mail na rynek). LO- XML zastosować punkt końcowy teraz odmawia non-MeridianLink Dostawcy zamiast naklejać plaster all- null.

  30. · kamo-internal

    Rozpocznij sesję kodera w chmurze i pokaż ją w oknie

    Która zawiera listę kas git na maszynie dev (ostatnio pracował w Model i wysiłek członka. Maszyna buduje polecenie, z CCR_FORCE_BUNDLE1, więc lokalna kasa jest przesyłana, a nie klonowana Z pilota GitHudu, którego nie mamy. Terminal, który otwiera, nosi „chmura: true” w swoich rekwizytach i tytuł Bar imaksymaska zakładka rysuj chmurę nad ikoną terminala (windowIcon). Rekwizyt zamiast węzł ikony, więc przetrwał przeładowanie; ponowne otwarcie z Lista terminala przenosi własny znak maszyny z powrotem do okna.

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