Changelog
Co nowego.
Każde ulepszenie platformy, jak to wysyła.
· SecurityService
Demos zarezerwowane na smyczy, na czołówkę
GET - Sekcja webinaria strony głównej o nazwie /api/webinar/liders/aid, ponieważ został napisany i nic nigdy nie zostało mu podane – na żywo odpowiada API 404, A komponent odczytuje 404 jako „fakt webinarium jest wyłączony” i nic nie czyni. Tak więc zarezerwowane demo Z witryny marketingowej stworzyło lead, powiązało z nim rezerwację i nigdy na nim nie pokazało. Służył tutaj, a nie w MediaService, który jest właścicielem rezerwacji, ponieważ pytanie, które ma dzwoniący Aby przejść pierwszy, to "czy możesz przeczytać ten trop": ważna sesja, przewodzić w organizacji dzwoniącego, a następnie LeadCommsReadGate — własny lead nie potrzebuje prawa, nieprzydzielony niepotrzebny jest VIEW_UNASSIGNED_LEADS, ktoś Inna potrzeba VIEW_LEAD_CONTACT_INFO_OTHERS, obwodnice boga. Brama jest tą kartą komunikacyjną Zwani, zwany, nie kopiowani. Odmowy są rejestrowane przez PhiAccessAuditor; odczyt nie jest, ponieważ Odpowiedź nie zawiera danych kontaktowych — tej samej linii losowania / komunikacji/liczbę punktów końcowych. LeadWebinarEntry to tytuł, start/end, nazwa prezentera i dwa statusy. Nic o tym, co Uczestniczka poza tym, czy nadal nadchodzą: imię i adres gościa są własne i adres czołówki. Już na stronie. Odwiedzający, który anuluje i rejestruje ponownie, tworzy drugi link do tego samego Uczestnicy w rzędzie, a sekcja pokazuje to raz. Pięć awarii w pełnym apartamencie x4, . . — które flagi - nie to] nie ponoszą awarii w identyczny sposób na pochodzenie / główne bez tego Zmiana. Ten punkt końcowy rozwiązuje sesję, więc grzechot nie podaje jej nazwy. 2712 testów inaczej zielonych.
· kamo-internal
Okno, przy którego członek przynosi do przodu, ląduje ze światłem, którego nie można przegapić
Kliknięcie szksowcy lub pasku okna stojącego za nim, przyniosło okno do przodu z Słamki kwitnienie cienia (pasek) lub 600ms zielony blask (hexhead) - łatwy do stracenia, podczas gdy rzędy przestawiają się Obej to. Teraz sama rama zapala się: pierścień wewnątrz krawędzi okna z dwoma komortami wyścigowymi Obejej go, faluje rozchodzący się z ramy i blask, który utrzymuje się, około 2,4 s, a następnie na zewnątrz. - Lit przez każdy gest użytkownika, który przenosi okno do przodu: kliknięcie paska, kliknięcie hexhead lub Przywrócenie (narzędzie:fokus) i każdy otwarty członek, o który prosił. Przychodzące podwyżki pozostają ciche. - Jeden na raz: najnowszy przyjazd przyciemnia ten wcześniej, więc zapalone okno jest zawsze tym, który jest Poseł po prostu zadzwonił. - Zmniejszony ruch utrzymuje sygnał i upuszcza ruch: pierścień i świecą światło w górę bez poruszania się. - Jego własna para kolorów na :root (--dock-arrival, --dock-arrival-ring); tytułowy pasek już nosi Marka i markowy pierścionek znikają wzdłuż niej.
· kamo-shared-library
Prezenter oglądany znaczek, więc zarezerwowana sesja może je odznać
Liczba webinariów Ikony Wsparcia czytamy WebinarAttendee.dateViewed. Prezenter nie jest uczestnikiem, Tak więc sesja zarezerwowana z nimi została wysłana e-mailem, a następnie nigdy nie wspomniano w aplikacji: odznaka została w Zero dla osoby, która musi go uruchomić. (PRESENTER_DATE_VIEWED, null - jeszcze nie pokazany) jest tym stembem dla Przydzielony prezenter i ScheduledWebinarRepository zysku countUnreviewedForPresenter / ZnajdźUnreviewedForPresenter z predykatem zapytań uczestników: własny SCHEDULED prezentera Sesje bez pieczęci. WebinarQueryParseTest analizuje oba przeciwko mapom. DDL, już stosowany do bazy danych na żywo jako właściciel tabeli: ALTER TABLE public.schedfed_webinar ADD COLUMN IF NOT EXISTS prezenter_date__viewed timetamp(6) bez strefy czasowej; Pięć awarii w pełnym pakiecie (SystemBugCotractTest, PhiServiceTypeMappingTest, StorageDomainCoverageTest, - Raport ViVisibilityTest) i tak niepowodzenie w identyczny sposób O pochodzeniu / głównym bez tej zmiany.
· kamo-marketing
Przycisk demo na żywo obok Start Free Forever
Bohater domu zaoferował dwie rzeczy: zacząć za darmo lub przeczytaj ceny. Teraz też też Oferuje pół godziny z osobą. "Zasre się na żywo demo", z "30 minutami" na a Druga linia, siedzi po prawej stronie Start Free Forever i otwiera /demo, Istniejący przepływ rezerwacji ("Połowa godziny z kimś, kto zna produkt"). Jest to szklany przycisk paska CTA, o wysokości i promieniu 56px i osmubi, więc Start Free pozostaje jedynym podstawowym. Dwa przyciski są pogrupowane z luką 12px, I zobacz ceny podąża za nimi. Długość jest na własnej linii dla szerokości. Jako jedna linijka, "Zarezerwuj 30 minut Live Demo" było 291px i spadł pod Start Free na 1280, 1366 i 1440 szerokości. Dwie linie sprawiają, że jest 196px, a para pasuje do kolumny kopiowania od 1280 do 1280 768. Tylko w 1024 (kolumna 361px) i na telefonach unosi się pod spodem. Mierzone w Chrome 390, 768, 1024, 1280, 1366, 1440 i 1920, bez Poziomy przelew w każdym z nich. Zobacz ceny teraz owijają się do własnego rzędu na szerokościach laptopów, a to odsłoniło jego Na dole graniczny: TouchOptimized podnosi link do 44px wysokości, gdy strona jest Bezczynność, więc granica sat 18px pod tekstem i czytana jako dzielnik. To jest Tekst podkreśla teraz, z tekstem wyśrodkowanym w polu. Klucze trafiły do kamo-translation-dykcyjnego po raz pierwszy (7ed8a400).
· kamo-marketing
Strona dla nieograniczonych kampanii e-mailowych i kapis, połączonych z każdym, gdzie należy
/email-marketing sprzedaje to, co zostało wysłane na 2026-09-16 (kampaniami transmisji, kroplówki, wysyłanie domen): Nieograniczona i w 100% darmowa z Business i Enterprise. Jedynym odważnym elementem strony jest suwak, którym otwiera się każda strona cenowa e-mail-marketingowa ("Jak Wiele kontaktów masz?"), z wyjątkiem tego, że poruszanie się nigdy nie zmienia rachunku. Nikogo cytuje Cena, za 206f9f3: argumentem jest model pomiarowy (poziomy dotyku, wysyłanie uprawnień, Automatyzacja utrzymana dla wyższych planów), a jedyną liczbą na stronie jest nasze 0 USD. Wszystko to Roszczenia zostały sprawdzone w stosunku do produktu: - 14 kroplów, wysyłanie okien we własnej strefie czasowej kontaktu i warunki otwarcia / kliknięcia Z podmienią lub wyjściem (dripCatalog). - Pięć z dziesięciu przepisów, narysowanych z ich prawdziwymi wyzwalaczami, czasami i wyjściami (dripRecipes.ts). - 14-dniowa rozgrzewka z hamulcem bezpieczeństwa na blokach i odbiciach (WarmupSettings, WarmupPlan). - Wymień przyczyny higieny, odrzuć / skargę, wypisać się z jednym kliknięciem i niestandardowe hosty SMTP. - "Nieograniczony" oznacza brak czapki opartej na planie: nic w EmailService licznikach org, a strona mówi Rozgrzewka i wysyłają okna ustawiły tempo. Linki w: nav i stopka, kategoria /features, karta produktu, wywołanie pod / karty planu cenowego, mapa drogowa (Bulk Email Campaigns przenosi się do Started), mapa witryny i Mapa strony i dziewiąta karta w "Przestań płacić za dziewięć różnych narzędzi". Serwer Pasek (EmailMarketingStrip) znajduje się pod macierzą funkcji na każdym porównaniu konkurencji, w obszarze "Co jest faktycznie dostarczone" na każdej stronie branżowej, na pięciu kategoriach glosariuszy i na obu zasobach Artykuły. PLATFORM_CAPABILITIES, który nazywa się listą tego, co zapewnia KamoCRM, teraz zawiera listę E-mail marketing. Cztery strony branżowe mówiły, że rzeczy, które teraz robią kroplówki, są do żądania: trasy online, hotele, Fitness-studios i e-commerce. Ich kopia jest korygowana, utrzymując to, co jest wciąż niezbudowane (formy-platformy i wyzwalacze frekwencji, czas oparty na utrzymaniu, segmentacja LTV, SMS) Prospekcjonalny, a każdy element przenosi się do -r3 i18nKey. Zweryfikowano o lokalnej budowie produkcji: każdy strażnik, prerendered route i bezgłowy-Chrome sondy (42 czeki) w rozdzielczości 390, 1440 i 2560 obejmujące bez przekroju poziomego, bez błędów konsoli, Brak surowych klawiszy wiadomości, korzystanie z klawiatury suwaka i zakładek receptur oraz link w korpusie strony Wszystkie strony powyżej. Strona słownikowa jest kamo-translation-dictionary 3ecaefa5.
· kamo-marketing
Zagraj w kołowrotki kamo14 i niech zostanie przerwany
Zwijanie (nowe zamknięcie logo, w przeciwnym razie rama-identyczna, te same 66s Czas pracy i czas rozdziału) jest publikowany pod własną nazwą. Kamo13 Drabina jest obsługiwana niezmiennym, a jej wariantowe listy odtwarzania i segmenty utrzymują swoje Adresy URL, cokolwiek mówi ?v, więc wymiana na miejscu nigdy nie Dotarcie do powracającego gościa. Przysłona bohatera oferowała restart i wyciszono, ale nie ma sposobu, aby kiedyś zatrzymać film - To była gra. Sterowanie pauzy / odtwarzania prowadzi teraz wiersz sterowania i stukanie Obraz również go przełącza; wznowienie utrzymuje pozycję. Kontrola następuje Własne wydarzenia gry/pauzy elementu, więc pozostaje w porządku, gdy bieg się kończy lub Przeglądarka wstrzymuje się w samym oddychaniu. Obejmuje to obie strony, które osadzają Przysłona (strona o opłatach za gimnazjum)); /watch już zatrzymuje się przez Natowatne kontrole.
· KlusterServices
Zakoduj kołowrotka kamo14
Zwijak marketingowy został wycięty (nowe zamknięcie logo) i przesłany jako Publiczne/kamo14.mp4. Otrzymuje nową nazwę zamiast zastępować kamo13 na miejscu Ponieważ drabina jest podawany niezmiennym: ?v Master nie dociera do Warianty playlists lub segmenty, które utrzymują ich względne adresy URL. Zakodowanie pracy buduje teraz publiczne / hls/kamo14/ i kamo14-poster. Kanał na żywo MediaMTX zapętla drabinę kamo14. Nazwa ścieżki live/kamo13 to Niezmieniony.
· kamo-internal
Okny, które nie pasują do stoiska doku w rzędach za nim
Okno narzędziowe, które nie pasuje do pierwszego rzędu, stoi teraz w rzędzie, Jeden listwa wyższa w rzędzie: jego pasek tytułowy 42px i 10px pokaz ciała powyżej Rząd z przodu, podobnie jak zakładki stosu folderów. To zastępuje Kaskada, która umieściła każde okno nad rządem i zakopała większość z nich. Rękawy są zamówieniem okien rozplanowanego pierwszego dopasowania (narzędziaDockPlacement, layoutDockStack): okno przechodzi do frontowego rzędu z miejscem na to, więc Pierwszy rząd nigdy nie jest pusty, podczas gdy okno, które pasuje, czeka za nim. Każdy rząd dzieli jedną wysokość. Kiedy najbardziej najbardziej tylny pasek przemknie górnący Margines, każde okno ustępuje razem, a wysokość wraca jako Wiosny są puste. Rząd, winda i wysokość paska są zapisane na każdym z nich Okno w tym samym przekaźniku co dockX (dockRows) i nigdy nie są trwałe. Kto stoi z przodu jest reorder (nastolicaDockTiers): - Kliknięcie na paski handlu miejscami z przednim oknem używanym najczęściej Niedawno. Relacja jest śledzona tylko z gestów członków (dockMemberUse), Ponieważ licznik z wspina się również na nadchodzące podwyżki. - Okno otwiera element, przywraca z hexhead, odkłada z powrotem Pane, doki lub podwyżki z powiadomienia są z przodu, handlują Zbliżane ostatnio okno do użycia. Okna podniesione przez przychodzące wiadomości Idą gdziekolwiek jest miejsce, więc nigdy nie zajmują miejsca w użyciu. - kropla do doku utrzymuje miejsce, w którym został upuszczony; przynajmniej niedawno Używane przednie okna cofną się, aby zrobić miejsce. - Zamknięcie lub zminimalizowanie okna przedniego jest zastępowane przez stojące okno Uległy za nim i nic innego się nie rusza. - szersze okno zbliżające się po schodach najmniej niedawno używane przednie okna wstecz Dopóki nie pasuje. Na ekranie (ToolWindowShell, ToolDock): - Okno za plecami jest przycięte do pasa, który jest również jego obszarem uderzeniowym. Jego to Ciało jest obojętne, więc nie wymaga naciśnięcia ani naciśnięcia klawisza i nie maluje paska przewijania. Maluje pod każdym przednim oknem i nigdy nie mówi się, że jest skoncentrowany. - Tytuł paska to przycisk (bring forward, klawiatura do zasięgu), pokazy Nieodczytać i przyciemnia każdym rzędzie dalej. - Jego bliskie, zminimalizuj, zmaksymalizuj i przyciski pływające działają na nim, gdzie stoi. Przesunięcie, które zaczyna się na pasku, nie jest również kliknięciem, podobnie jak Dwukrotne kliknięcie. - Przechodząc do przodu, okno spada i rozwija się do slotu podczas handlu Jeden fałd i wznosi się do tyłu. Oba biegają na krzywej doku 340 ms, a następnie a Kwitnie cień i lekkie zamiatanie zaznaczają przybycie. Podnoszenie pasa podnosi go I odkrywa trochę więcej. Okno urodzone za podgląda z tyłu Rząd z przodu; jeden urodzony z przodu wyłania się z dolnej krawędzi, nieprzezroczystych. - Zmniejszony ruch utrzymuje rzędy, a cieniowanie i upuszcza cały ruch. - Zrezygnować szwy są tylko w pierwszym rzędzie. Szwy wysokościowe zatrzymuje się tam, gdzie najbardziej do tyłu Pasek spełnia najwyższy margines i ogłasza ten sufit. Znalezione po drodze i naprawione: okna renderowane dokują w kolejności, więc wszelkie Zmiana kolejności (w tym przeciąganie-reorder, przed tą zmianą) sprawiło, że okno Reacta zostało przeniesione Elementy wokół dokumentu. Przesunięty element traci stan DOM: przekręcony dziennik Do 300 wróciło o 0, element medialny jest wstrzymany, a przejście Zrzucono okno do nowego szczeliny. ToolDock teraz renderuje okna w Zamówienie tworzenia, które jest bezpieczne, ponieważ każde okno jest zamocowane w jego własnym Pomalowany poziom. Zweryfikowany w prawdziwym Chrome z całym doku na wyciętych ciałach okiennych: 64 Zmierzone kontrole. Zakrywają rzędy, klipy i testowanie uderzeń, ciała obojętne i Paski przewijania, fokus, unosi się, oba kierunki wymiany, klawiatura, przyciski taśmowe, Zwiększanie i bierz, przeciągnij z pasa, zmniejszony ruch, zmaksymalizuj i przywrócę, Re-flow, kropla obok pierwszego rzędu, sufit szwowy i zachowany Przewijaj pozycje, a także ekrany w czasie rzeczywistym każdego przejścia. Nowe testy jednostkowe i dostawcze obejmują układ, porządki, układanie, układanie, powłokę i dok.
· kamo-marketing
Siedem zestawów linków, które pasują do nav, a kariera idzie na stronę kariery
Stawka zawiera teraz listę Funkcje, Usługi, Ceny, Firma, Zasoby, Rozwiązania i prawa w tej kolejności. To jest najwyższa piątka nawigacji. Kategorie plus dwa gniazduje w ramach Zasobów, a każdy zestaw posiada Nawiga łączy pod etykietą nawigację. Etykiety pochodzą z "nav" Przestrzeń nazw, która jest tłumaczona w każdym miejscu, więc nie dodaje to kopii. Tłumaczenia stopki i tak były identycznym kluczem do klucza. Dwa linki Istnieją tylko tutaj: Obejrzyj film pod Funkcjonowaniem, a Cookie Przycisk Ustawienia w obszarze Legal. Produkt był starym nagłówkiem i zniknął. Ceny i rozwiązania otrzymują własne zestawy, a Legal nie owija się już Sam w drugim rzędzie. Kariera to https://careers.kamocrm.com/ wszędzie, gdzie się pojawia: nav's Menu firmy (komputer stacjonarne i mobilne), stopka, karta strony firmy i Mapa strony. Adres URL żyje w aplikacji/lib/careerssite.ts. /careers jest teraz Stały przekierowanie tam, takie jak /vs, więc wyniki wyszukiwania, zakładki i Zewnętrzne linki docierają również do otwartych ról. Strona marketingowa, którą zastępuje Powiedział, że nie ma żadnych otwarć, podczas gdy strona kariery wymienia jedno z nich. Strona, Komponent klienta, układ i obraz OG są usuwane. Trasa jest na wylot Mapa strony (SITEMAP_EXCLUDED, z powodu), poza stroną Licznik (UNCOUNUNUNUNUNTED_STATIC_ROUTES) i poza stronami polowania, ponieważ Etap nie może ukryć się na stronie, która przekierowuje witrynę. Wybieranie polowań Strony według indeksu modulo listy, więc dzisiejsze strony sceniczne raz na Rozmieszczenie, tak samo jak nadwrócono w ciągu dnia. Link nie jest ponownie hostowany na jednego najemcę w sposób rejestracji./login. linki. Tylko www.kamorm.com obsługuje tę stronę już dziś. Pięciu z ośmiu najemców Dome, które sprawdziłem, nie mają kariery. DNS w ogóle, więc kariery.-apex> Zachowuj się martwym ogniwem na nich. Układ: stopka wykorzystuje pełną szerokość zamiast kolumny 1280px, oraz Rząd marki (linia i slogan, ikony społecznościowe i telefon) znajduje się nad Zestawy. Zestawy to 2 kolumny na telefonie, 3 od sm, 4 z md i jeden rząd 7 z xl. Nagłówki i etykiety mogą pęknąć wewnątrz słowa. Przetłumaczone Słowo może być szersze niż kolumna 149px (de "Dienstleistungen", "Anwendsentwicklung"), bez "max-w-full" link blokowy Rośnie do najdłuższego słowa i przepycha się obok kolumny. Zweryfikowano ze stroną uruchomioną, a nie źródło. On /en/about the Seven Nagłówki renderują w kolejności, a każdy link rozwiązuje się do trasy jej /en z wyjątkiem Kariera, czyli https://careers.kamorm.com/. Prawdziwe kliknięcia na Kariera w Desktop Firma rozwija, menu mobilne i stopka każda nawigacja https://careers.kamorm.com/. /en/careery i /de/karierarze odpowiadają 308 na To, i / /care dla koniunkturą przechodzi /en/careery. Zmierzyłem każdą kolumnę na 390, 768, 1024, 1280, 1440, 1920 i 2560px w en, 390, 768 i 1280 w de, ru i fr, a na 768 i 1280 w: brak elementu przepełnia jego kolumnę i Nie ma poziomego przewijania strony. check-i18n-keys został przetestowany mutacją przeciwko Nowa stopka (głupinik nav zawodzi go). npm test, check-hunt, tsc i Zbudowania biegu npm (z jego osłonami przed- i powiększonymi) są czyste.
· kamo-internal
Kampanie dryu na /marketing/email — wyzwalacze, wizualny budowniczy, ludzie i wydajność
/marketing/email otrzymuje transmisję / Przełącznik Drips (?view-drips). Widok kroplówek wymienia każdy kroplówkę jako Karta z jej wyzwalaczem, sekwencją i liczbami na żywo, KPI i kartami statusu, wyszukiwaniem i sortowaniem i rozpoczynaniem Nowy kroplówka blank lub z dziesięciu przepisów (witamy nowe tropy, życzenia urodzinowe, poznaj swojego nowego agenta, twierdzisz Wprowadzenie leadów, wychowanie statusu, ponowne zaangażowanie osób nieotwartych, kliknięcie łącza, członek zespołu i członek Onboarding, i jeszcze więcej). /marketing/email/drip jest budowniczym: - Wyzwalanie: nowy lead (ręcznie, importowany, integracje; rynki, sprzedawcy, produkty), status lub zmiana podstatu z/na wniosek, ponowne przypisanie, roszczenie lub free-for-all, urodziny i rocznice, utworzonym przez członka zespołu lub konta członka, wysłana wiadomość e-mail z kampanią / otwierana / link klikana, bez zaangażowania Z kampanią po N dniach, kończąc kolejną kroplówkę lub ludzi dodanych ręcznie. - E-maile na płótnie: dodaj, zduplikuj, przeciągnij do ponownego zamówienia, czekaj przed każdą (od minuty do tygodni, od Wyślij e-mail przed nim), okno wysłane na e-mail lub dla kroplówki (dni, godziny, kontakt lub czas organizacji) i warunek (tylko jeśli poprzedni e-mail był lub nie został otwarty lub nie został kliknięty, W inny sposób pomiń go lub zostaw kroplówkę). - Ustawienia: Od i Odpowiedz-Do dokładnie takiej kampanii (wspólnych zbieraczy), szablon podpisu, który może Dołącz ponownie (raz po wyjściu z odnowieniem lub ponownym uruchomieniem), a gdy ludzie odchodzą (zmiana statusu, Zmiana przyłożenia, kliknięcie). - Pasek gotowości, złuszczę (Ctrl/Cmd+S), Aktywuj z rozbłyskiem, Pauza, Archiwum, Zduplikowany; Etektory są strzeżone, a zmiana kolegi nadchodzi na żywo. - Ludzie: kto jest w kroplówce, gdzie są i kiedy ich następny e-mail idzie, oś czasu każdej osoby, dodaj Ludzie pod ręką, wyjąć kogoś. Wydajność: połączone / w toku / gotowe / lewe, lejek e-mailowy, I na żywo aktywność. Nowa kroplówka, pustka lub z przepisu, nie jest tworzona aż do pierwszego zapisu, jak w przypadku nowej kampanii, więc każdy E-mail jest przechowywany z szablonem i stopką zgodności. Szablon i stopa redaktora kampanii Kontekst przeniósł się do użyciaCampaignEmailTemplate, dzielony z budowniczym (uratowane ciała i prośby Porównano identyczne przed i po). CountUp pisze teraz pierwszy cel 0 zamiast desek rozdzielczy. EmailService obsługuje /api/email/kropienie i "kroplówki" na temat kampanii; angielski jest w Słownik.
· kamo-marketing
Każda strona pokazuje, ile razy była oglądana
Licznik widoku znajduje się teraz u podnóża każdej strony, w dolnym rzędzie stopy Obok Sitemap i Powrót do góry: oko, którego tęczówki jest sześciokątem witryny, i figura na bębnach liczników w własnych cyfrach czytelnika (Bengali's, Arabic's, Ugrupowanie Hindi). Za pierwszym razem, gdy pigułka jest na ekranie, w który obracają się bębny Miejsce od lewej, a kiedy ta wizyta była tą, która właśnie liczyła ostatnią Żarówka obraca się po drugim, gdy +1 wznosi się z niego. Hover lub klawiatura otwiera Karta z figurą i tym, co mierzy; dotknięcie otwiera ją w dotyku; kliknięcie Znowu obraca bębny. Zmniejszony ruch otrzymuje figurę i kartę, i Nic, co podróżuje. Kosztuje to nic ładowanie strony: - Nic o widoku nie jest czytane podczas renderowania strony. Każda trasa jest nadal Prenderowane (check-static-routes: 247, sentinels nienaruszony); HTML zawiera Rozmiar zastępczy, więc swap nie przesuwa wiersza. - Liczbą jest jeden POST przez wspólną kolejkę bezczynną, po tym, jak strona ma Naładowany, liczy się i odpowiada na to samo żądanie. Czytelnik, który odchodzi Zanim gniazdo bezczynne nadal się liczy: pagehide i nawigacji w miejscu wyślij Beacon dla niewysłanego widoku. - Obrót, ich ruch i arkusz stylów są oddzielnym kawałkiem, przyłapanym Tylko wtedy, gdy stopka znajduje się w granicach 800px ekranu. - "No figure" odpowiada 200 z widokami null, nigdy 404 lub 503, więc KBService restart nie może umieścić błędu konsoli na każdej stronie. W przypadku, gdy liczy się widok - artykuł oparty na wiedzy Liczby na artykuł, przez przewod, więc liczba jest częścią danych artykułu w KBService i podąża za nim poprzez zmiany nazw i ruchy; liczy się każda strona Na swojej drodze bez lokalizacji, więc /en/pricing i /fr/pricing share one - figure. Ścieżka liczy się tylko wtedy, gdy ta strona by jej służyła: trasa istnieje i Jego ślimaka wymienia prawdziwe konkurenta, termin glosariusz, serwis, post na blogu, opublikowany Artykuł (na jego ścieżce kanonicznej) lub zmianalogu. Crawlers, link unfurlers, Audyty i webdriver są pokazane jako liczba bez dodawania do niej, a to samo Przeglądarka wysyłająca tę samą stronę dwa razy w ciągu pięciu sekund to jeden widok. Każdy licznik zaczyna się od liczby wylosowej od 312 384 do 1200 384, gdy jest to jego liczba. Rząd jest tworzony, umieszczony według priorytetu mapy strony, więc strona główna się uruchamia Wysokie i zmiana logowania nisko. Wprowadzają się do wbudowanych priorytetów sitemap SITEMAP_PRIORITY więc zarówno przeczytaj jedną listę; kb-sections.ts zastępuje dwie kopie Z KB_SECTIONS sprawdza, czy licznik w przeciwnym razie zrobiłby trzy. Dolny rząd stopy układa znak wykonany pod linią praw autorskich: z Licznik dodał, że trzy strony obok nie mieszczą się już przy 1440px. check-page-views.ts (prebuild and test) nie udaje mu się zbudować, gdy dynamiczna trasa jest nie na routes.ts, gdy układ lub Podnóżek zatrzymuje montaż licznika, lub Kiedy cokolwiek poza jego obsługą tras importuje dezjoner. Sprawdzone przez usunięcie Wejście na trasę, wierzch montaż na stopę i wynalezienie nieaktualnego wpisu: każdy zawodzi. KBService 167981e (punkty końcowe /wewnętrzne/-page) i Klucze słownikowe (klucze).109948c); do momentu, aż KBService będzie na żywo Pigułka po prostu się nie pojawia.
· KBService
Policz wyświetlenia stron witryny marketingowej, na artykule lub na stronie
KBService odpowiada teraz na pokazy rynku kontra kamomarketingowe u podnóża Każda strona. Dwa punkty końcowe, oba "views": n" z widokiem właśnie policzonym W zestawie: POST: „ważność, liczenie” POST /wewnętrzne/strony-podglądy/strony ?path, znaczenie, liczysz Artykuł z bazy wiedzy liczy się na sam artykuł (KB_ARTICLE_VIEWS, przez Uid), więc jego liczba podąża za nim poprzez zmiany nazw i porusza się w /kb; przewod musi Nazwa opublikowany, publiczny artykuł, według tej samej zasady artykułu publicznego Korzystanie z punktów końcowych. Każda strona liczy się na swojej ścieżce poniżej lokalnego prefiksu (MARKETING_PAGE_VIEWS). Każdy napis jest jedną natywną uperwą z całkowitą lekturą Z powrotem w tej samej transakcji, powtórnie wypróbował konflikt w Yugabyte. Pod /wewnętrzny, nie /api/kb/public: APIService przekazuje wszystkie /api/kb/" api.kamorm.com i łańcuch bezpieczeństwa tej usługi pozwala na wszystko, więc a więc Liczenie punktu końcowego byłoby publiczną pętlą zwijaną od dowolnej liczby. W tym, w tym, że w tym, poty ot wt. ws., w tym, w tym, że w tym, w tym, w tym, że wt., w tym, w tym, Nowy InternalAuthFilter wymaga X-Internal-Auth (mlos-internal-auth, teraz zamontowany opcjonalnie) na całym przedrostku /wewnętrznym, zdecydowała się na dekodowaną ścieżkę konserwaletu, I odpowiada 503 zamiast otwierać się, gdy brakuje tajemnicy. W tym, w tym, że w tym, poty ot wt. ws., w tym, w tym, że w tym, w tym, w tym, że wt., w tym, w tym, Obsługa strony marketingowej jest jedynym dzwoniącego i podejmuje każdą decyzję O tym, co się liczy: tylko prawdziwe strony, roboty robotcze pokazywały figurę bez dodawania Na to, powtórka z jednej przeglądarki w ciągu pięciu sekund liczyła się raz. Początkowa figura licznika jest rysowana raz, gdy jego rząd jest tworzony, między 312 384 i 1 200 384 osób. Osoba dzwoniący przekazuje znaczenie od 0 do 1 (strony) Priorytet na mapie strony) i PageViewSeed umieszcza losowanie w zespole wokół niego, więc Strona główna zaczyna się wysoko, a zmianalogu nisko; skrajności lądują dokładnie na Zakres kończy się bez zaciskania. Nasienie jest przechowywane z wyjątkiem liczonych Widoki, więc prawdziwy ruch pozostaje czytelny. Rzędy pojawiają się na pierwszym żądaniu; count-false tworzy jeden bez liczenia, do pełzaczy i do rozsianego. create_page_views.sql to DDL, stosowane ręcznie do bazy danych na żywo przed To pchnięcie i dopasowanie tego, co Hibernate generuje dla wspólnego biblioteki Podmioty (sprawdzone na 6.2 i 6.5). The ConfigMap zyskuje internal.auth.secret, Podobnie jak kopia repo. 23 nowe testy: zakres nasion i pasma, ścieżki kanoniczne i przewodnie, które oświadczenie, w którym patrzy się, a punkty końcowe przez prawdziwy filtr (bez sekretu, Niewłaściwa tajemnica, niespokojny sekret, zła ścieżka, nieznany artykuł). Usuwanie filtrów Sprawdzanie przedrostka i odwrócenie flagi liczenia każda zmienia je na czerwono.
· kamo-shared-library
Liczniki stron dla strony marketingowej
Dwa stoły za liczą się widoku kamo-marketing teraz widać u podnóża Każda strona, napisana przez punkty końcowe KBService /wewnętrzne/page-views. KbArtykułView (KB_ARTICLE_VIEWS) liczy opinie artykułu z bazy wiedzy na temat ARTICYLE, włączony przez jego uid, więc liczenie jest częścią artykułu i następuje: Kiedy jest przemianowany lub poruszany w /kb. Jest to raczej stół, a nie Kolumna na KB_ARTICLES: wiersz artykułu jest zapisywany w całości przez JPA, więc licznik na Byłoby to odczytywane, gdy redaktor otworzył artykuł i odpisał, gdy Uratowany, odrzucający każdy widok pomiędzy. Zagraniczne kaskady kluczy w Baza danych, ponieważ KbArtykuł nie mapuje tego wiersza i Hibernacji usunięcia Artykuł w przeciwnym razie zawiódłby na nim. MarketingPageView (MARKETING_PAGE_VIEWS) liczy każdą inną stronę na swojej ścieżce Poniżej prefiksu locale, więc /en/pricing i /fr/pricing share jednolinie. Obaj utrzymują SEED_COUNT, początkową figurę, z którą powstaje wiersz, z wyjątkiem VIEW_COUNT, widoki faktycznie się policzy; strona pokazuje ich sumę i realną Ruch pozostaje czytelny z tabeli. Repozytoria ujawniają tylko trzy stwierdzenia, których potrzebuje widok: rodzimy Najlepsza, która się liczy, ta, która nasiona bez liczenia, a całość, czytaj po pisanie w tej samej transakcji. Brak zapisu(): licznik załadowany, zwiększony Oszczędne plecy tracą jednoczesne widoki. Sprawdzone w trybie offline: fabryka sesji buduje wszystkie jedenaście podmiotów KB plus Te na Hibernate 6.2.13 (KBService i inne usługi Boot 3.1) i 6.5.3 (Boot 3.3), a skrypt schematu, który pisze, pasuje do zastosowanego DDL przez Ręka, w tym ON DELETE CASCADE. ddl-auto nie jest wszędzie oprócz Instalizator, więc żadna inna usługa nie dotyka tabel.
· kamo-internal
Logo Lifestyle, czwarte logo na markę i domyślny znak wodny
Behavior & Labeling zyskuje gniazdo Lifestyle Logo obok pełnego logo, prostego logo i ikony karty, Zarówno w firmie, jak i w rzędach oprogramowania (biało-label). Bierzemy grafikę pikselową i wektory: a SVG lub rastr jest przechowywany dokładnie tak, jak wybrany, EPS/AI/PDF jest konwertowany po drodze (żadna przeglądarka nie może rysować Jeden), a rastrowa oferuje "Konwertuj do wektora", który otwiera współdzielony ImageToSVGConverter tylko wtedy, gdy Członek pyta. Podobnie jak ikona karty, każde gniazdo ma przełącznik (przestrzeń włącza go również, strona serwera) i Napis, który mówi, co faktycznie powciągnie powierzchnia stylu życia, z niezapisanej formy. Logo stylu życia domyślnie spełnia pełne logo, gdy nie jest ustawione. Dla każdej marki, rozgrajLogoVariant w Temat / brand.ts to łańcuszek: logo stylu życia oprogramowania w użyciu, w przeciwnym razie oprogramowanie pełne logo, gdy jest Nadpisuje firmę, w której logo firmy lifestylowe, gdy jest używane, w inny sposób pełne logo firmy. lifestyleLogo.ts stwierdza ten sam łańcuch, co podpisy; test przebiega zarówno we wszystkich 32 stanach formularza. Znak wodny oferuje najpierw Lifestyle Logo i jest domyślnym: determinacja wartości zerowej i nieznanej LIFESTYLE, który rysuje pełne logo, dopóki nie istnieje logo stylu życia, więc nie zmienia się znak wodny org Dopóki nie wrzuci jeden. Każde miejsce, które maluje znak wodny (BackgroundWatermark, Backdrop, błąd i Nieodkryte strony) przechodzi teraz przez determinacjęWatermarkVariant / watermarkLogoFile. - /network/create: grupa logo Lifestyle z takim samym spożyciem, przesłana po wytłonie orgi, jak Typ-lifestyle; zbieracz znaków wodnych oferuje najpierw Lifestyle, a forma domyślna. - Konfiguracja kreatora: Logo otrzymuje firmowe i białe gniazda na żywo (pokazując na żywo w użyciu), Tła oferują znak wodny Lifestyle, a orgDetails rozwiązuje domyślnie w ten sam sposób. - Schemat trasy org odczytuje bgWatermark jako zwykły sznurek. To .parase()s, tak stare ["NONE","PSZY",""SIMP"] enum rzuciłoby na cały rekord orgowy dla rzędu LIFESTYLE; Organizacja.fromJSON rozwiązuje nieznane wartości. Cztery pola stylu życia przejażdżą rekord org Za pośrednictwem OrgContext, a DynamicMetaLoader trzyma od config.json. Potrzebuje kamo-shared-library f22a867d i typów wysyłania usług zabezpieczeń (napchniętych najpierw) i Klucze słownikowe (putsowane pierwsze, w każdym miejscu).
· SecurityService
Logo Lifestyle przesyła, klucze config.json i znak wodny LIFESTYLE
Logo stylu życia to czwarte logo na markę (firma i białe etykiety), dekoracyjne interpretowanie Oznak wodny tła teraz domyślnie rysuje. Jego odpad to pełne logo. - upload-logo przyjmuje oprogramowanie typu-lifestyle i typu-lifestyle. Plik zachowuje swoje prawdziwe rozszerzenie (Pewna grafika fotograficzna jest mile widziana, że rasa jest wyborem członka w momencie przesyłania) - kopalna kolumna rejestruje go, a przesyłanie włącza logo, Na umowie ikony zakładki. Grzał również jest odzwierciedlony pod nazwą .svg jako stand-in, jak pełny Logotypy, więc powierzchnia, która nie odczytała rozszerzenia, nadal pokazuje własną grafikę org. - config.json nazwy logoLifestyleExt / logoLifestyleSoftwareExt tylko wtedy, gdy to logo jest w użyciu (doładowany ORAZ włączony); nieobecne oznacza pełne stoi w miejscu logo. - ładowność brytyjska utrzymuje bgWatermark LIFESTYLE zamiast upuszczać go do zerwania. - Dodaj cztery zerowe kolumny. Stosowany ręcznie na żywo Klaster na 2026-09-16, zanim zmieni się jednostka wspólna w parze kamo-biblioteka, została popchnięta.
· kamo-shared-library
Kolumny logo Lifestyle i LIFESTYLE jako znak wodny
Logo stylu życia to czwarte dzieło sztuki brandingowej na markę, obok pełnego logo, proste Logo i ikona zakładki: dekoracyjne interpretowanie znacznika wodnego rysuje domyślnie. To jest Kształtowany dokładnie tak, jak ikona tabu: logo_lifestyle_ext (i jego bliźniak oprogramowania) jest napisany tylko przez Punkt końcowy SecurityService z pliku, który został zapisany, i podwaja się jako znacznik "jeden istnieje"; Logo_lifestyle_enabled jest przełącznikiem obok niego. PUT /org/'id' może załatać dwa przełączniki, nigdy nie Przedłużenia. bg_watermark dokumentuje teraz LIFESTYLE, który każdy klient rozwiązuje unieważniony. Jest to pełne logo, ponieważ Tak długo, jak org nie ma używanego logo stylu życia, więc nic nie widzi zmian, dopóki nie zostanie przesłany. Cztery kolumny pochodzą z - nałożone ręcznie na Klaster na żywo przed tym pchnięciem: każda usługa Java zbudowana po tym, jak SELECT je na każdym odczytie org.
· EmailService
Kampanie drypowe
Kropla to automatyczna sekwencja wiadomości e-mail, do których wchodzi osoba, gdy coś się dzieje. Dzieje się: ołów przybywa (ręcznie, importowany lub z integracji), ołów Status lub zmiany podstateusza, ołów jest przeniesiony lub ubiegany o kredyt, Obchodzone są urodziny lub rocznica, członek zespołu lub konto członka jest Utworzony, e-mail z kampanii jest wysyłany, otwierany, klikany lub pozostaje bez odpowiedzi, ktoś Kończy kolejną kroplówkę lub członek dodaje je ręcznie. Każdy e-mail ma swój własny Odczekaj, wyślij okno (w org lub strefie czasowej kontaktu) i warunkuj na Jak wyglądał poprzedni e-mail. Wysyłam. Krojący e-mail jest w kolejce w kampanii w ukrytej edycji per (krok, cykl) Przejście przez - więc wychodzi dokładnie jak kampania Poczta: opt-out i kontrole kwalifikowalności, gospodarze zwalniającego, rozgrzewka i wysyłanie Okno, DKIM, śledzenie, wypis, odbicia i zainscenizowana skrzynka. Edycje są Pominięte na liście kampanii, migawka, widżet domowy i postępy Ramki i kadry zaangażowania, a punkty końcowe kampanii odpowiadają 404 za jeden. Silnik (kropać/DripEngine): co 5s we własnym wątku pod dzierżawą e-mail-drip-engine, to wyczerpuje email_drip_triggers (najpierw, potem Zapisy), zamiatają urodziny i rocznice raz na dzień lubg-lokalny, i Przesuń każdą należną osobę: liczy się czas oczekiwania, gdy poprzedni e-mail był faktycznie Wysłane, odbicie lub opt-out kończy bieg, osoba jest czytana ponownie przed każdym e-mailem (scaluj tokeny: first_name, agent_name, market i reszta) i gotowy bieg Pozwala uruchomić kapcias łańcuchowe. Ponowne wejście jest po raz kolejny po zakończeniu (z a) Czas odnowienie) lub ponowne uruchomienie; zasady wyjścia wyprowadzają ludzi na zmianę statusu, a Zmiana przydziału lub kliknięcie na link kroplowy. API: /api/email/kropie (lista, opcje, CRUD, aktywacja, pauza, archiwum, unarchive, duplikat, ludzie, ręczne zapisy, usuwanie, terminy, aktywność), VIEW_BULK_EMAIL do odczytu i MANAGE_BULK_EMAIL do zmiany. Na żywo: typ "drip" Ramki na temat kampanii, zjednoczone na sekundę. Kampania wysyła, najpierw otwiera się i kliknięcia linków (teraz z adresem URL) są wręczane Kamo-shared-library's DripTriggerRecorder. Tabele i kolumny edycji były Nakłada ręcznie - przed tym commitem.
· SecurityService
Przywożony ołów jest rejestrowany jako importowany
LeadImportController stworzył każdy rząd z two-argumentem createLead, więc a więc Historia leada powiedziała źródłowe API bez działania, dokładnie tak jak ten wysłany Za pośrednictwem API przylotu dostawcy. Nic nie może odróżnić importu z integracji, Kampanie kroplowe, które rozpoczynają się na "nowym łowicie", oferują wybór między Leady dodawane ręcznie, importowane lub z integracji. Rzędy są teraz tworzone z źródła IMPORT. Zbudowany przeciwko kamo-wewnętarze b5b56d6d, którego historia główna wręcza również nowe leady, zmiany statusu, zmiany przydziałów, Roszczenia kredytowe i nowe konta członkowskie do silnika kroplowego.
· kamo-internal
Reply-To jest wybór - NoReply, e-mail członka lub Custom, NoReply domyślnie
Słowotekstowa Reply-To under the From staje się CampaignReplyToPicker, trzy opcje, które mówią, gdzie pojawiają się odpowiedzi: - NoReply (default): NoReply's Campaign's From domain, np. NoReply-hello.kamocrm.com, który nie otrzymuje E-mail" - E-mail członka: edycja członka, pokazana pod adresem. Kampania, której odpowiedzi są już do kolegi z drużyny, trwa Pokazywanie kolegi z drużyny, dopóki ktoś nie wybierze opcji ponownie. Członek bez e-maila na swoim profilu nie może go wybrać. - Niestandardowe: pole zaznaczone w jego figurowaniu, sposób, w jaki EmailService sprawdza je za pomocą. Logika jest - przeczytaj kampanię (jedną z wyboru przed wyborem jest naładunku, gdy ma Adres, NoReply, gdy nie), wybierz, poświetl adres i zbuduj pola zapisu (replyTo, odpowiedźToMode, Odpowiedź dla członkowskiego Id). Niedokończony adres niestandardowy wstrzymuje Zapisz i pojawia się na liście kontrolnej wysyłania. Podgląd pokazuje Odpowiedź do odbiorcy otrzyma.
· kamo-shared-library
Kampania drypuje, rejestrowana tam, gdzie przewodzi i członkowie zmieniają się
Kampanie dryfowe zaczynają się, gdy coś dzieje się w CRM, więc miejsca, które Zmiana prowadzi, a członkowie przekazują te wydarzenia teraz silnikowi kroplowemu EmailService: - LeadHistorySService: stworzony lead (z tym, jak dotarł: ręcznie, importowany, lub z integracji lub formy), status lub podstateuszający się zmienia z obydwoma Strony i zmiana przydziału od jednego członka zespołu do drugiego. - - czołówka basenu, o którą twierdzili, wydając Kredyt (płatny lub bezpłatny dla wszystkich), który nie rejestruje własnej historii. - Usługa: utworzone konto członka lub członka zespołu. Lustro platformy Rząd nie jest nowym członkiem dostawcy org i nie zaczyna niczego. DripTriggerRecorder pisze do nich, do którego Odpływy silnika. Pisze tylko dla orgi, którego ACTIVE kapie słucha tego rodzaju (zasada wyzwalacza lub wyjścia, czytaj co najwyżej 30s), przejmowana po przyczynach Transakcja zobowiązuje się, pisze na własną rękę i połączenie, więc lead pisanie nigdy nie może zawieść ani cofać się z powodu kroplówki. Ołów stworzony Pustka (test Lead lub duplikat) nie jest kimś, kogo można przyjąć. EmailCampaignProbelity maps drip_id, kroplówka_step_id i kroplówka: kroplówka Wysyła przez ukrytą edycję kampanii per (krok, cykl), więc zachowuje wszystko Wyślij gwarancję, jaką ma kampania. Kolumny i tabele zostały nałożone ręcznie Przed tym commitem (emailservice)
· kamo-marketing
Otwarte co miesiąc i sprzedaj 1- i 3-letnie warunki jako blokowanie w dzisiejszej stawce
Większość kupujących porównuje to, co zapłaciliby bez zobowiązań, więc HOME_TERM jest teraz co miesiąc. /pricing, pasek planu strony głównej, /kalwator i Znak produktu nadal otwiera się na ten sam termin. Dłuższe warunki Czy to, co sprzedaje szyna stamtąd: niższa stawka na miejsce, zamknięta w Dzisiejsza cena za cały termin. - Obrzyna szyny brzmi "Zamknij się w dzisiejszej stawce przez 1 lub 3 lata", a Zdanie pod szyną mówi, co robi wybrany termin: miesięcznie nie ma Zobowiązanie; roczne i 3 lata posiadają dzisiejszą cenę przez 12 miesięcy lub 3 miesiące Lata, nawet jeśli nasze ceny idą w górę. Wszystkie trzy banknoty dzielą jedną komórkę siatki, więc Wybór terminu nigdy nie przesuwa kart poniżej, w dowolnym języku (zmierzone W en, de i ja). Obie linie są zrównoważone, więc telefon nigdy nie utknął w jednej Wiadomość. - Karty i kalkulatora linie terminowe ołowiu z napisem "Rate zablokowany na N miesięcy". - W ciągu co miesiąc zapisanej karty spada "ponad terminem", który na jednym- Miesiąc tylko powtórzył miesięczną liczbę obok niego. - Strona główna podpisała swoją cenę "na miejsce w semestrze miesięcznym", Co w miesiącu odczytywałoby jako 0,083-letni okres; teraz mówi się o ogłoszeniu Miesięczny, z 1- i 3-letnim zamkiem obok niego. - / Opis wyszukiwania cenowych nazywa trzyletnią cenę jako blokadę, I punkty strony wygasłej oferty w tym samym celu. czek-produkty-wydajne przypięły domyślność trzyyear (49 USD, 32,83). Teraz to szpilki Miesięczny (69 USD, 46,23 USD), więc cicha zmiana niewypłacalności nadal nie działa. Kopia jest w kamo-translation-dykcyjne, ręcznie napisane we wszystkich 20 Tłumaczone miejsca. Ten sam pchnięcie przywraca 340 wartości, które dziś złamały się, Który zawiódł strażnika prebuild tego repo na każdą od tego czasu.
· EmailService
Odpowiedzi kampanii idą na NoReply, e-mail członka lub niestandardowy adres - NoReply domyślnie
Reply-To staje się trzema opcjami (CampaignReplyTo), przechowywanymi w istniejącej kolumnie reply_to. Nie ma DDL. - NO_REPLY (odpobożna kolumna, domyślna): Odpowiedz: NoReply?the domain of's domain>, napisane przez NoReplySenderService Jak każdy inny adres NoReply. Odbiorca widzi przed napisaniem, że nikt tego nie czyta, i Postfix-k3m1 odmowa odmawia tego, co jest tam wysyłane. - Członek (członek:-id>): e-mail członka, który go wybrał, sprawdził, gdy każda wiadomość jest skomponowana (CampaignReplyToMembers, przechowywany pięć minut), więc przestrzegany jest zmieniony adres. Członek bez upadków e-mail Wracając do NoReply, zamiast wymieniać adres, który nikt nie otrzymuje. - KLIWOŚCI (adres): sprawdził się na zapisz, nagiej i z dotowaną domeną; wszystko inne to 400 powiedzenie, dlaczego. Zapisy są ważynie odpowiedziToMode i odpowiedźNaMemberId. Odpowiedzi mogą przejść do oszczędzania członka lub pozostać z członkiem już Wybrany, gdy kolega z drużyny oszczędza, ale nigdy do innego członka wybranego przez id. Edytor z przed wyborem wysyła Tylko adres: jeden to CUSTOM, żaden nie jest NIEZRZESZONY. Model odczytu kampanii dodaje odpowiedźToMode i odpowiedźToMemId, Aby otrzymać adres wyświetlany przez edytor (adres niestandardowy lub e-mail członka).
· kamo-internal
Wychodzące E-Mail Hosts pokazuje przekaźniki masowe, gdy serwery odbiorcze je widzą
Karta "Bulk przekaźniki" nad hostami platformy: wspólna przekaźnie każdej organizacji opuszcza przez (contact.kamorm.com, 47.181.8.86) i własną organizację platformy (hello.kamormm.com, 47.181.8.87). - Fakty: z których odchodzi każda poczta przekaźnika, z której EmailService dociera do niego w klastrze, oraz dla udostępnionych Przekaźnij, czy jego logowanie jest skonfigurowane i ile sprawdzonych domen wysyła za jego pośrednictwem. - Kontrole, każdy po prawej, inny, brakujący lub nieudzielony: adres nazwy (A), jej polityka nadawcy (SPF), Gdzie odbijają się odbicia (MX, który dla wspólnego przekaźnika musi wrócić do własnego adresu), odwrotny adres DNS (PTR) i klucz podpisu przekaźnika platformy (DKIM). Rekord, który nie jest w porządku, pokazuje, co powinno być Co ma DNS. - Odwrotny DNS mówi, że jest ustawiony przez dostawcę Internetu, który jest właścicielem adresu, więc nikt nie szuka go na DNS Gospodarz. Rozglądanie się, które nie otrzymało odpowiedzi, to "Nie mogę sprawdzić", nigdy "niewłaściwe". - Czytaj z GET - kiedy zakładka się otworzy i na "Sprawdź teraz". Nigdy nie jest W sondażu nieudany ponowny sprawdzanie utrzymuje to, co jest na ekranie, a bez MANAGE_BOUND_EMAIL_HOSTS nic nie renderuje.
· KlusterServices
Bounces dla domen wysyłających wysyłanie organizacji dociera do EmailService za pośrednictwem postfix-k3m1-wbound
Kampania wysłana za pośrednictwem udostępnionego przekaźnika ma swoją domenę wysyłania przez organizację jako kopertę Nadawca, a ta domena jest CNAME do kontaktu.kamorm.com, którego MX wynosi 47.181.8.86 — ta kapsuła. A więc a Serwer odbierający, który zaakceptował wiadomość i nie mógł jej dostarczyć po tym wszystkim, jak zapisuje raport dostawy Tutaj i do tej pory odmówiono. - Wysyłanie domen pochodzi z EmailService (przekaźnik-nadawcy?format-domains: ZWERYFIKOWANY i Ufanie), przeczytaj na Zacznij i każdą minutę. Tylko zwykłe nazwy gospodarzy kiedykolwiek docierają do stołu, a bezpłatny list pozostaje na ostatniej liście. - Każda domena pobiera tylko nadawcę null, tj. odbija i serwery sprawdzają, czy adres istnieje. Każdy W inny inny roku otrzymuje 550 „Ten adres wysyła e-mail, ale go nie otrzymuje”. - To, co jest zabierane, przechodzi do rury "bounces" (komenda szpuli głównego pofiksowania, z własną szpulą) i boczne odbijania-mail, główny poprawkę unsubscribe_mail.py z INCLUDE_RAW, publikuje go na - I - stack.loans, mail.stack.loans i contact.kamocrm.com działają dokładnie tak, jak wcześniej, i nic tutaj nie wysyła do Internet. Przetestowany w alpejskiej strule z tym samym skryptem: null sender 250, osoba 550, poczmistrz i nadużycia 250, inne i wyglądające domeny 554, DSN szpulowane żetonem i pustym w kolejce, zmiana listy W ciągu minuty, a bez odpowiedzi przyjście utrzymuje ostatnią listę.
· EmailService
Bounces to org wysyłanie domen wracających do domu, testy są podpisane, a przekaźniki DNS są odczytywane
Async odbija się. Nadawca koperty kampanii jest jej Od wejściówki organizacji, której MX (Przez CNAME do kontaktu.kamorm.com) jest adres własnego współdzielonego przekaźnika. Raporty z dostaw tam i opublikować je do POST - kształt przyjmowania reklamacji: - DeliveryStatusReport odczytuje prawdziwy raport RFC 3464 (wiadomość/aktualnianie/aktualnia) i tokeny w Zwróciła wiadomość. Odbicie prozy nigdy nie jest zgadwane. - BounceMailService rejestruje trwałą awarię (Działanie: nieudane, 5.x.x) jako BOUNCED w wierszu odbiorcy Nazwy tokenów, poprzez ścieżkę odbioru, której używały już przekaźniki. Opóźnienie, autoodposzczenie lub raport Bez tego, co nic nie zmienia, a raport ze skargą spamu jest przekazywana do przyjmowania reklamacji. - przekaźnika?format-domains wymienia domeny zweryfikowane i nieudolne wysyłające domeny, dla których przychodzące akceptują raporty. Testy wysyłane z Ustawienia - Wyślij e-mail są podpisane DKIM za pomocą klucza Z domeny, dokładnie tak, jak kampania Poczta jest (DkimSigning, dzielona z CampaignRecipientSender), więc test za pośrednictwem wspólnego przekaźnika pokazuje, co za a) Kampania będzie. DNS przekaźników. GET - (MANAGE_OUTBOUND_EMAIL_HOSTS) czyta, dla Każdy przekaźnik, jego nazwa A rekord i SPF, jego MX (dla wspólnego przekaźnika, z powrotem na własny adres), Odwróć DNS swojego adresu i klucz DKIM platformy. Uprzetwór DNS zyskuje wyszukiwanie PTR.
· KlusterServices
Postmaster i abuse-contact.kamocrm.com docierają do KamoCRM — nazwa współdzielonego przekaźnika otrzymuje swoje czeki
Kontakt.kamocrm.com to nazwa współdzielonego przekaźnika org (47.181.8.86 PTR, MX contact.kamorm.com) i jego MX Jest to 47.181.8.86 - k3m1, gdzie odpowiedzi przychodzące pofix-k3m1. Dostawcy skrzynek pocztowych autoryzują, kto prowadzi adres IP poprzez poczmistrz/abuse’ swojej domeny PTR, więc te teraz lądują: poczmistrz w skrzynce pocztowej poczmistrzów, Nadużycie i fbl' na abuse-hello.kamocrm.com, które główny postfix przekazuje do skargi EmailService Wlot z kopią dla poczmistrza. Ponowne uruchomienie postfix-k3m1 zatwierdzone przez Sage.
· kamo-internal
Bulk Email otrzymuje Setup i sub-tabs, /marketing/email wyjaśnia, czego brakuje, kampanie otrzymują odbieracza
Ustawienia > Adres e-mail > Bulk Email jest teraz cztery pod-tabs w >sub: Konfiguracja domen > Wysyłanie ? Przynieśrodliwość. Członek ląduje na Konfiguracji Domeny do czasu weryfikacji domeny wysyłającej i na Sending Po tym. Do tego czasu inne podtabełka pokazują blokadę i pozostają skupione; otwarcie wyjaśnia, co to Jest to dla tego, jak daleko zaszła najlepsza domena i linki z powrotem. Optację i dostarczanie utrzymują Prawo (MANAGE_EMAIL_OPT_OUTS lub właściciel) i poruszają się bez zmian; stary ?tab-opt-out i Linki do dostarczania przekierować do ich pod-tab, a karta wejścia do menu i lądowania. Każda podtastota umieszcza własne słowa w szynie pomocy. Setup jest stworzony dla kogoś, kto nigdy nie edytował DNS: bohatera z trzema krokami i Jeden jest włączony (lub "Bulk e-mail jest gotowy do wysłania"), karta na domenę z kropkami na żywo i "Skazane 8 sekund temu - sprawdzanie automatycznie", oraz przepływ dodany dodaną (domena org wstępnie napełnione i uporządkowane rozmycie ze zmianą wyjaśnioną, jednym kliknięciem wysyłających nazwy, podgląd na żywo, i znieważony wygląd, który mówi, dlaczego nie można użyć nazwy przed Kontynuujeniem). Konfiguracja jednej domeny (?domena) pokazuje wykryte kroki dostawcy DNS, każdy rekord w prostych słowach z przyciskami kopiowania I jego stan na żywo ("widziimy X, to powinno być Y", naprawić każdy kod podpowiedź), Kopiuj wszystko jako Instrukcje, alternatywa no-CNAME stojąca za ujawnieniem, Sprawdź teraz, Usuń (odmówiono z góry Podczas użytkowania, z przyczyną serwera pokazanym, jeśli nadal się odmówi), i zwróconą w ruchu - świadomy ruchu Chwila sukcesu prowadząca do "Wybierz swój adres". Wszystko czyta GET - przez istniejący pełnomocnik i pozostaje Żyj nad - bez sondaży, ciche ponowne przeczytanie, pisze adopcja Całe państwo, a nieudany lub odrzucony odczyt jest błędem lub notatką dostępową, nigdy nie pustą listą. /marketing/email: bez kampanii i bez zweryfikowanej domeny pusty stan jest wyjaśniaczem (dlaczego, Trzy kroki, "Ustaw moją domenę", lub kto może ją ukończyć bez MANAGE_EMAIL_SETTINGS); kampania Lista otrzymuje kompaktowy baner, który pochłania linię no-hosts, a domena FAILING jest nazwany na czerwono Z linkiem do jego konfiguracji. Nic nie widać podczas ładowania lub na nieudanej lekturze. Baner wysyłający blok NO_SENDING_DOMAIN i FROM_DOMAIN_NOTT_VERIFIED do Setup domeny. Redaktor kampanii Od jest wybierającym: domyślny nadawca lub adres w zweryfikowanej domenie (część lokalna, domena, Od nazwy), zapisana jako od poczty elektronicznej / od nazwy; zapisana Od niezasprawdzonej domeny Jest ostrzegany za pomocą linku do jego konfiguracji. UstawieniaMenuTabCoverage uczy się &sub i sprawdza, czy istnieje każda połączona sub-tab.
· EmailService
Kampania jest podpisywana, wysyłana i wysyłana przez zweryfikowaną domenę wysyłającą
Kampania może nazwać swoją własną Od zweryfikowanej domeny; w przeciwnym razie idzie jako nadawca masy orgnata - który Samokolwiek musi być w sprawdzonej domenie (zasłanuje, odrzuca cokolwiek innego). KampaniaOdbiera przekaźnik przez Domeny tej, ponieważ SPF jest ustalany pod adresem, o którym mówi przekaźnik, pozostawił: tylko zweryfikowana domena org za pośrednictwem współdzielonego przekaźnika orgowego (47.181.8.86), KamoCRM's hello.kamocrm.com tylko za pośrednictwem przekaźnika platformy (47.181.8.87), każdy inny gospodarz dla obu i niezweryfikowany znikąd. Wydawca bierze należny Odbiorca najpierw, a następnie gotowy gospodarz, z którego może korzystać jego kampania; kampania bez czeka, gdy org's Inne kampanie idą. Poczta jako zweryfikowana domena orgg jest podpisana przez DKIM po jej ostatniej saveChanges, z sesją wykluczoną z gry Przekształcenie go na 8 bitów w drodze. Nowe blokery wysyłania NO_SENDING_DOMAIN i FROM_DOMAIN_NOT_VERIFIED. Raporty z dostaw liczą się z rozgrzewką przekaźnika, którą przesłała ją przez nią. Kampania wysyłająca KamoCRM nie ma wpływu: noreply-hello.kamorm.com jest zarządzana przez platformę, więc utrzymuje Wyjeżdżając do 0,87, a wspólny przekaźnik jest wyłączony w rotacji KamoCRM.
· EmailService
API Domain Setup, mapa nadawcy udostępnionej przekaźnika i zamiatanie, które potwierdza rejestry na żywo
Uzyskaj kartę (VIEW_BULK_EMAIL), wyszukiwanie GET dla formularza dodawania, POST Dodaj, POST ?id?/check, DELETE (MANAGE_BULK_EMAIL); każdy zapis odpowiedzi z całą zakładką i odmową Naprawia jego pole. - podaje postfix-orgs jego zweryfikowaną domenę Mapa. Przegląd masowy zyskuje domeny „gotowe, zweryfikowane, oczekujące, zawierające” dla bramki. SendingDomainSweep ponownie czyta DNS na kadencji (15s, podczas gdy domena jest instalowana) w ramach umowy najmu, na Własny wątek: każde zadanie tutaj dzieli się pojedynczym wątkiem harmonogramowania Spring z releaserektorem To wysyła kampanijną pocztę w każdej sekundzie, a czekanie na serwerach nazwach będzie wysyłane.
· EmailService
Wysyłanie domen — dodaj jeden, przeczytaj jego rekord DNS przez rekord, sprawdź go, wiesz, co może zrobić adres
Domena wysyłająca (news.acme.com) jest przechowywana w zaszyfrowanym dostawcy masy orgnażyrowej z kluczem DKIM. SendingDomainChecker czyta, jakie odbiorniki zobaczą - SPF oceniony pod kątem adresu udostępnionego przekaźnika, naszego klucza W swoim selektorze, polityce DMARC w domenie lub rodzica – dla zalecanych zapisów (Nowar do: contact.kamocrm.com, DKIM TXT, DMARC) i alternatywny SPF TXT + MX, i wymienia zwykłe błędy: Podwożona nazwa strefy, oxied Cloudflare CNAME, nazwa, która ma już zapis, CNAME gdzie indziej, Rekordy SPF, zbyt wiele wyszukiwań, klucz wklejony krótko, zniekształconą lub odziedziczoną politykę, a "twój rekord jest Strona KamoCRM jeszcze nie jest żywa. SendingDomainService dodaje (czyszanie wklejonego adresu URL lub adresu, odmawianie kamocrmmmm.com do najemców), sprawdza, Usuwa (nie tylko jest to domyślny nadawca lub aktywna kampania) i przenosi status: PENDING/FAILING Zweryfikowany na przepustce; Zweryfikowany - Ufanie tylko po dwóch awariach w odstępie sześciu godzin; zmiana awarii DNS Nic. Odpowiada na ścieżkę wysyłania — ORG_VERIFIED (z kluczem podpisu), PLATFORM_MANAGED (hello.kamorm.com, tylko dla KamoCRM) lub UNVERIFIED — i buduje mapę nadawcy współdzielonego przekaźnika, która jest zweryfikowana Domeny. Zmiany publikują ;)

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