Dodaj e-mailProsmodalTemplatePreview
Otwiera się na podgląd w akcję wozówką. Backend-rendered via templateApi.preview(); Wynik wyświetlany w piaskownicy iframe dla izolacji stylu. Pasuje do: Dokład...
Usunij nieużywane EmailGeneralManager.tsx ( 560 linii martwego kodu)
Komponent nigdy nigdzie nie był importowany. Jego przełączanie (przeprowadzanie odbijania, Wysubskrybuj, śledzenie dostaw, domyślnie z poczty e-mail) nie miało ...
Dodaj templateApi + categoryApi + zmienne moduły klienta
Wraps SP1's /api/email/plats/pl-es/a - i . Punkty końcowe z typed TypeScript helpers. zmienneKontrakty Lusterka SP1's TemplateKeys Javadoc więc zmienny numernik...
Wire EmailTemplateSeedClient do -
Thin RestTemplate klient, który POSTuje się do poczty e-mailService Po org + właściciel TeamMember Wytrwale. Retries dwa razy z backoffem; porażka rzuca OrgProv...
Dodaj e-mailTemplateCategory Kontroler REST punkty końcowe
CRUD. - Usunięcie odpowiedzi obejmuje ReasededCount – liczba szablonów, które stały się niekategoryzowane jako Wynik usunięcia kategorii. Kontekst sesji odczyty...
Dodaj e-mailTemplateController Punkty końcowe REST + DTO
Ekspozycje /api/email/templates/? CRUD + podgląd + duplikat + reset-to-default + service-to-service /send + /seed-org/orgId. orgi najwyższego poziomu (bez rodzi...
Dodaj InternalAuthFilter dla punktów końcowych usługi
Walifikuje nagłówek X-Internal-Auth na /api/email/templates/send i /api/email/templates/seed-orgs/' ścieżki. Inne ścieżki omijają ten filtr (Sedaż sesji użytkow...
Dodaj e-mailTemplateCategoryService — CRUD for org-scoped kategorii
Niewrażliwa na przypadek wymierna nazwa na org w warstwie usługowej (dopasuje częściowy unikalny indeks w DB). Delikatesy nulls category_id na dotkniętych szabl...
Dodaj e-mailTusterlateService — CRUD + wysyłaj + nasienie + reset-to-default
Core orkiestrator dla transakcyjnej poczty e-mail. sendToUser rozwiązuje szablon, renderuje podmiot/ciało, wybiera domenę orgi z Organization.domains, i przekaz...
Dodać adres NoReplySenderService for 'NoReply'-domen'
Pojedyncze źródło prawdy dla transakcyjnego-email z adresów. Akceptuje a Ciąg domeny, masa doznormalizuje go, zwraca "NoReply'domain>". Dzwonicze muszą rozwiąza...
Dodaj TemplateRenderer dla substytucji .var
Bezpaństwowy renderer oparty na regex. Brakujące vars zastępują pusty sznurek i emitowanie dziennika WARN z szablonemKey + orgId do przypisania. Brak ucieczki H...
Doda się Z do tej poryPozeń, więc JS analizuje go jako UTC
LocalDateTime.toString() nie produkuje oznacznika strefy czasowej, powodując JavaScript's new Date() do traktowania wartości UTC jako czasu lokalnego i Wyświetl...
Dodaj e-mailTumplateSeedRunner dla SYSTEM + za-org seeding
Działa na stronie "Zamek" (20) na startupie KamoInitializerService. Obciążenia kanoniczne Szablony z zasobów bibliotekowych kamo-wspólnych; upserts rzędy SYSTEM...
Konwertuj odcięcie PT midnight na UTC dla zapytania o dzisiejszą liczbę
Zobowiązania są przechowywane w UTC, ale odcięcie było naiwnym LocalDateTime w PT, powodując wczorajsze zobowiązania PT (00:00–06:59 UTC) Liczyło się jak dzisia...
Dodaj częściowe unikalne indeksy + CHECK ograniczenia dla email_templates
Hibernate ddl-auto nie może generować częściowych unikalnych indeksów ani oliwonych-CHECK Ograniczenia. To zobowiązanie dodaje je za pośrednictwem istniejącego ...
Bump kamo-shared-library wersja do wersji 1.2,0 dla dodatków SP1
Dodaje EmailTemplate, EmailTemplateCategory, TemplateStatus, TemplateKeys, CanonicalTemplate, CanonicalTemplateLoader i kanoniczne zasoby HTML.
CanonicalTemplateLoader + CanonicalTemplate rekord
Odczytuje trzy wymagane szablony (WELCOME, PASSWORD_RESET, EMAIL_VERIFICATION) z zasobów klasy patowych - Spożywane przez KamoInitializerService for SYSTEM-rzęd...
Dodaj kanoniczny HTML + JSON dla WELCOME, PASSWORD_RESET, EMAIL_VERIFICATION
Zawartość źródła prawdy dla wierszy SYSTEM. Załadowanie w KamoInitializerService Start firmy CanonicalTemplateLoader i UPSERTed do email_templates. Część SP1.
Zmień nazwę skrzynki pocztowejId-id i providerStatus-status w odpowiedzi na listę skrzynek pocztowych
Wyrównaj nazwy pól z oczekiwaniami frontendu dla listów skrzynek pocztowych członków.
Dodaj EmailTemplate entity + repozytorium
Przechowuje jeden wiersz SYSTEM na template_key (org_id NULL, is_system TRUE) plus Klon na org na template_key. Soft-reference org_id/category_id. DB- Przekiero...
Dodaj EmailTemplateCategory entity + repozytorium
Kategorie Org-scoped dla szablonów e-mail. Miękki BIGINT org_id (bez FK) Pasuje do istniejących wzorców. Niewrażliwa na przypadek nazwa niepowtarzalna per-org j...
Dodaj TemplateStatus enum + TemplateKluczowe stałe dla szablonów transakcyjnych
Ogłasuje stany cyklu życia wymaganego/okiennego/ARCHIVED oraz trzech Wymagane klucze szablonu (WELCOME, PASSWORD_RESET, EMAIL_VERIFICATION). Kontrakty zmienne d...
Seed KamoCRM z ALL_WORK_ELIGIBLE na świeżych instalacjach
Pomocnik createOrg() stosuje ten pojedynczy argument do obu ageReqTypeMember i ageReqTypeTeamMember; Konwencja platformowa. Pary z KamoCRMAgeReqAktudateRunner, ...
Tighten KamoCRMAgeReqAktualizacjaZakazowy na recenzję
- Przywracanie akapitu Javadoc wyjaśniającego uzasadnienie "Zamówienie(10). - Test teraz odnosi się do stałej UPDATE_SQL bezpośrednio zamiast Powielanie łańcu...
Dodaj jednorazową prowadzkę do migracji KamoCRM agereq do ALL_WORK_ELIGIBLE
Warunkowe idempotent UPDATE działa na startupie serwisowym; WHERE czeki klauzuli Oczekiwana stara wartość, więc powtórki są bezopowe. Błędy są rejestrowane i Po...
Zamień wszystkie instancje logo CSS-filtra białym SVG
Nawigacja, SubNavigation, Footer, SubFooter i Preloader To samo złamany wzorzec filtra-0. Zastąpiony Logo-full-white.svg na całej planszy.
Użyj białego logo SVG w stopie zamiast filtra CSS
Ta sama poprawka co nav — filtr CSS na img wewnątrz filtra tła jest niewiarygodny na iOS Safari.
Ostrzewny schemat kolorów z !importantem do przewodnipisu tematycznego CSS
DynamicMetaLoader może wstrzykiwać zdalny CSS, który wygrywa kaskadę. Dodawanie !ważne zapewnia, że kolor-schemat: ciemność nigdy nie może być nadpisywany przez...
Wykluczanie linków stopek i nav od TouchOptymalizowane egzekwowanie min-wysobnika
TouchOptimized było ustawienie minHeight:44px na wszystkich elementach a> krótszych niż 44px, w tym linki nav footer (wysoki 20px). To trwało podczas nawadniani...
Użyj wstępnie linijnego białego logo SVG zamiast filtra CSS
Filtr CSS na img inside backdod-filter jest niewiarygodny na iOS Safari. Wygeneruj logo-full-white.svg ze wszystkimi wypełnieniami ustawionym na ffffff i załadu...
Wariant trybu ciemnego Lock Tailwind do zapytania medialnego opartego na klasie, nigdy nie OS
Tailwind v4 domyślnie jest ciemny: narzędzia do reagowania na preferowane achemy w kolorze (preferencja OS). Przepisy typu „wariant” zapewnia ciemne: klasy akty...
Użyj stylu filtra inline na linku logo, aby uzyskać niezawodne białe renderowanie
Zajęcia filtracyjne Tailwind na elementach img są niespójne w przeglądarkach mobilnych. Inline styl na element kotwicy gwarantuje, że odwrócono jasność(0) inver...
Wymuś ciemny schemat kolorów, więc przeglądarka nigdy nie stosuje renderowania trybu świetlnego
Zmieniając się z „tylko dla światła” na „ciemny” w globals.css, generateViewport i Styl elementu html — to powstrzymuje przeglądarkę przed renderowaniem SVG i n...
Zapobiegaj renderowaniu logo za nav row na mobile
Owijanie div z filtrem CSS stworzyło nowy kontekst układania w stosy, który się kłócił Z filtrem tła nagłówka w przeglądarkach mobilnych, powodując malowanie lo...
Wyczywij pasek przewijania i przycinanie telefonów komórkowych na JumpToBar i PreviewBanner
- Dodawanie przelewu: ukryte do kontenera wewnętrznego JumpToBar, aby zapobiec pionowemu przewijaniu - Zezwalaj na owinięcie treści PreviewBanner na telefonie k...
Wymień przestrzeń-y-4 z inline flex gap on list linków footer
Tailwind space-y-4 wykorzystuje :where() (specyfika 0), która biegnie z CSS ładowanie na twardym odświeżeniu, powodując niespójne odstępy pionowe. Inline (wg) S...
Zestaw Traefik externalTrafficPolicyPolicja, aby zachować adres IP klienta
Dzięki domyślnej polityce "Cluster", kube-proxy SNATs ruch zewnętrzny Do adresu IP węzła przed przewinieniem do Traefik. To spowodowało, że Traefik zobaczył IP ...
Dodaj brakujące zapytanieIntegiat i18n klucz we wszystkich lokalizacjach
Przycisk "Podnieście żądanie" pod "Potępia niestandardową integrację?" CTA (ang.) Na /integracje spadały z powrotem do surowego klucza ;) Klucz nie został nigdz...
Logotypy integracyjne + dokładne /integracje metadane
Strony integracyjne i koncentrator wyświetlają teraz logo dostawców (powrot do istniejących - aktywa, które jest stroną główną TechStackBanner już używa). Usuni...
Rozszerz /integracje do wszystkich dostawców notowanych na stronie głównej
Wyrównuje stronę /integracji z rzeczywistymi integracjami ujawnionymi przez Strona główna (TechStackBanner). Dodaje 28 nowych stron integracyjnych dopasowanych ...
Dodaj stronę z Home Mortgage Brokers
Nowa strona rozwiązań branżowych w / rozwiązaniach/bromnikach hipotecznych Brokerzy i pożyczkodawcy. Śledzi uczciwe ramowanie platformy: Podstawowe CRM + comms ...
Uczciwny marketing – dostosowanie stron do rzeczywistych możliwości platformy
Pełna ocena stron marketingowych przeciwko rzeczywistym możliwościom produktu KamoCRM. Usunięto sfabrykowane twierdzenia o funkcjach, które nie zostały dziś zbu...
Dodaj 92 strony SEO — branże, integracje, glosariusz
Wdrożenie poziomu 1 planu rozszerzenia treści SEO: trzy nowe treści Podsystemy z łącznie 92 nowymi pełzanymi adresami URL plus 3 strony hub. 1. / Rozwiązuje — ...
Dodaj geo-database-url do tajemnicy analitycznej dla Geolite lookup CockroachDB
Kamo Analytics używa tego adresu URL, aby szukać odwiedzającego IP-country/region/city - Od stołów. Używa użytkownika kamo z Hasło auth i sslmode-require (Cockr...
Jak to, co widzisz żeglugę?
Wszystko to pojawia się w twoim miejscu pracy na własną rękę. Zacznij od bezpłatnego planu i przeczytaj tę stronę ponownie w miesiącu.
