Porzuć zdarzenie webhook, którego pierwsza próba zginęła, i odrzuć jeden, którego SDK nie może przeczytać
Przegrane roszczenie w nieprzetworzonym wierszu zawsze odpowiadało 500, więc zdarzenie którego pierwsza próba nie powiodła się (wyjątkowy wyścig w środku faukcj...
Tylko nieudane ładunek zaczyna się dusować, a Stripe musi się zgodzić przed wydłumieniem aktów
Faktura.finalizowana niesie Państwo status-otwarta z kwotą należną za każdą Auto-naładowana faktura przed próbą opłaty, a faktura Obsługa uruchomiła zegara zawi...
Strażnik tej samej komp-com-odbudowa nigdy nie mógł wystrzelić, a kontrola trawienia nie otworzyła się
Obie zabezpieczenia przed rozmieszczeniem, które nie rozmieszczają niczego, były obojętne, więc rurociąg Zgłosił dwie zielone miejsca pracy, podczas gdy strąki ...
Wiosna katalogowa nazewnatowa aplikacji, której ta kompilacja nie jest rozwiązyna, nie jest na sprzedaż
ServiceTypeConverter przestał rzucać nieznanym id aplikacją i zaczął ją rozwiązywać Do zerwania, co jest tym, co musi zrobić służba — enum statki w każdym słoju...
Cena, o której Stripe nigdy nie słyszała, to wina, a nie cisza
Pogońcący porównał zmapowane ceny w stosunku do katalogu i wrócił wcześniej Za każdym razem, gdy nic nie było w ogóle odwrócono. Tak więc termin, który katalog ...
Załaduj to, co mówi ekran, i odrzuć, a nie udawaj
Audyt konsoli Plans & Billing przed kluczami na żywo Stripe znalazł szwy Pomiędzy ekranem a Stripe zepsuty w każdym kierunku naraz i cichy w Wszystkie. Żadna or...
Udowodnij wdrożenie przez trawienie, a nie przez tag
Poprzednia zatwierdzona powstrzymuje „ustawę obrazu” jako cichy no-op. To potwierdza: Wynik: po wdrożeniu znacznik jest rozdzielony do trawienia w rejestrze i U...
Odbudowa tego samego zobowiązania nie rozmieściła niczego i zgłosiła sukces
Obraz jest oznaczony za pomocą commit SHA, więc odbudowa tego samego commita Identyczne odniesienie do obrazu. Obraz z zestawem kubecttl ?, a następnie nic nie ...
Niech rollout zakończy to, co robiła stara kapsuła
Wdrażania zastąpiły jedyną kapsułę każdej usługi, nie mając nic do złapania żądań w - Lot. Trzy ustawienia, zastosowane w całej flocie: - PreStop śpi 10s, zani...
Przestań oferować wewnętrzny plan właściciela platformy na sprzedaż
ListPlansForMarket filtrowany na samym isActive, a aktywny to nie to samo, co w Menu. OWNER_UNLIMITED ("Właściciel formy — wewnętrzny") jest aktywny, nie Ligi c...
Platforma org nie jest zamknięta przez własny katalog
Platforma org została poinformowana "Wymaga dodatku do KamoPBX Hosting" na własną rękę Ekran telefonu-serwer, dla dodatku, który publikuje. Jest właścicielem k...
Zeskanuj pakiet współdzielonego-lib email.billing repozytorium
WableJpaRepositories notuje pakiety wyraźnie, więc MailboxBillingDayRepository była niewidzialna, a służba odmówiła rozpoczęcia od samego początku – złapana prz...
Zamknąć nawiązywanie webhook idempotencji luki końcowej BL0
Znalezienie 1 (Krytyczne): przegrane roszczenie tylko na imprezie zbiorem Stripe Udowodnił, że istnieje rząd, a nie to, że poprzednia próba się zakończyła. A tw...
Nie chwij się efemeral na próbę, którą tworzy Stripe
Runda 2 recenzja (Ruling 17) została wykaziona "czy to stworzenie?" jest konieczne, ale Niewystarczająco. Pytanie, które ma znaczenie: czy może ten temat Należy...
Klucze należą do Stripe tylko, a nie na mutacje
Przegląd rundy 1 (Ruling 15) stwierdził, że Krytyczny: stabilna idempotencja Klucz na aktualizacji/ancel/attach/detach nie jest zabezpieczeniem, jest błędem. Te...
Spraw, aby każdy Stripe napisał idempotent, i nie udaj się zbudować na nowym bez klucza
Eksout gniazda na Stripe pisze, że faktycznie się to udało, jest Nieodróżnialne, z naszej strony, od tego, który tego nie zrobił; bez Klucz idempotency, który p...
Zobowiązanie przetworzonej flagi z napisem pieniędzy, a nie przed nim
MarkProcessed był REQUIRES_NEW, więc dopuścił się przetworzonych?trutych podczas Pieniądze z obsługi pisze, że nadal były niezreagowane w zawieszonym na zewnątr...
Odpowiedź Stripe webhooks z odpowiednim statusem i nigdy nie odbija się echem od wyjątku
Przestań sprzedawać dodatki, które wybrany plan zawiera już
Katalog zawsze rejestrował, które dodatki pakiety planowe, w - Biznes i przedsiębiorstwa przewożone Konferze wideo, asystent AI, system HR i e-podpisy. Nic Na ś...
Rozmiar kapsuły nad własnym sufitem JVM [skip ci]
Obraz rozpoczyna JVM od -XX:MaxRAMPercentage -70 -XX:+Always PrereTouch, więc Sama kasa może przyjąć 70% limitu pojemnika, a wstępny dotyk utrzymuje wszystkie z...
Anulowanie zatrzymuje przyszłe faktury i nic więcej
Anulowanie nie ma już "natychmiastowej" flagi, a żadna trasa zorientowana na klienta nie może pytać Dla jednego. Przypisanie tego prawdziwego zakończyło subskry...
Zatrzymaj wysyłanie wspólnego poświadczenia jako domyślnego zobowiązania konfiskatowego
Podzielone hasło platformy zostało upieczone jako upadek dla DB_PASSWORD i MINIO_ROOT_PASSWORD, więc żył w tym repo i na zbudowanym obrazie, jak również W groma...
Przestań odkuwać dostęp do fakturowania członka podczas dodawania ich w innym miejscu
add() usunęła wiersz członka na dowolnym innym koncie, aby spełnić globalne unikalne To już nie istnieje. Dodanie kogoś do drugiego konta rozliczeniowego teraz ...
Niech sub-org dotrze do konta, które za niego płaci
KonkontoSubskrypcja celowo oddziela płatnika od organizacji, której Członkowie zużywają miejsca, a automatycznie zaopatrzone konta znajdują się na najwyższym po...
Naładuj to, co katalog mówi, raz, dla odpowiedniej ilości
Pięć wad, które wszystkie przeniosły prawdziwe pieniądze, plus pod nimi IDOR pod nimi. Cykle rozliczeniowe. Ceny zostały wysłane do Stripe po żądanej przez mie...
Sprawdź tryb Boga w bazie danych, a nie wykuł nagłówek
KonkonkonorconyScopeInterceptor zwarcie zbieżne z każdym orgiem i członkiem Surowy nagłówek X-God-Mode-Active i kamo-internal's billing proxy, które Nagłówek be...
SQL tylko cockachDB, który PostgreSQL odrzuca
CockarachDB zapisuje typ tekstowy STRING; PostgreSQL i YugabyteDB używają TEXT. 25 odlewów w natywnych zapytaniach nadal emitował CAST (x AS STRING) i ::STRING,...
Daj każdej organizacji prawdziwą granicę transakcji
StorageSnapshotSweep.catchUp przeniesiony . Transactional(REQUIRES_NEW) i został nazwany Od zamiatania () na tej samej fasoli. Wiosna stosuje się . Przejrzystuj...
Egzekwacja samo-lub-właściciela na koncie, a nie tylko na granicy org
Następne do bramy krzyżowej, teraz, gdy reguła jest ustalona: wewnątrz organizacji, którą możesz zarządzać Twoje własne konto rozliczeniowe i właściciel organiz...
Powstrzymaj jedną organizację dotarcia do innej organizacji rozliczeniowej
/api/billing/accounts obejmuje jego notowanie przez nagłówek X-Org-Id, ale każda trasa poniżej /AmcountUid wziął id prosto ze ścieżki i nigdy nie sprawdził, kto...
Odpowiedź "jest to do sprzedania" z katalogu aplikacji, a nie enum
Dostępność stała się edytowalna w czasie rzeczywistym, więc wywodząca się z serwisu ServiceType.getStage() oznacza Publikowanie MLOS w aplikacjach i funkcjach p...
Walijalne kody dodatowe, zanim będą mogły udzielić aplikacji
Aktywny_addon_codes został napisany bezpośrednio z ciała żądającego. To było nieszkodliwe, podczas gdy nic nie czytało kolumna, ale jest to teraz wejście autory...
Ukryj niepublikowane aplikacje z katalogu Plans & Billing
- z powrotem zakładkę, w której klient wybiera, do czego się zapisać, W ten sposób nie może oferować produktu nadal na liście Nie dostępne – ta sama zasada, co ...
Zachowaj prefiks na nazwach przewodów PlatformAccountSummary
Same Lombok/Jackson hazard jak PlatformOrgRow: isTopLevel() traci swoje „is” Spalizacji, więc DTO umieściło na przewodach „topLevel”/platformProdukt” Frontend d...
Przechowywać prefiks is-prefix na przewodzie dla isTopLevel/isPlatformProdukt
Lombok generuje isTopLevel() dla pola „boolean isTopLevel” i Jackson Rozdziera prefiks „is”, więc żywy punkt końcowy był serializując „topLevel” i "platformProd...
Ogłosź dopasowywać zabezpieczenia wyraźnie, aby usługa mogła rozpocząć
Usługa nie jest wdrożona od 2026-07-03; każda kapsuła od tego czasu rozbita Przed załadowaniem się kontekstu: Metoda ta nie może zdecydować, czy te wzorce są...
Harden the kubectl download przeciwko łuszczącej się egresji [skip ci]
dl.k8s.io nad wydziskiem biegacza przerywa w połowie transferu: Zwijanie: (56) OpenSSL SSL_read: odszyfrowanie nieudane lub złe rekordowe mac Co zawodzi wdroż...
Serializuj długie id jako ciągi, aby zatrzymać precyzję org-id
Ids Org są wartościami CockroachDB unique_rowid(), które przekraczają JS MAX_SAFE_INTEGER. BillingService serializuje je jako surowe JSON Liczby, więc kamo-inte...
Zarejestruj esign repozytoria dla fasoli do przedłożenia licznika
EsignMeterSubmissionService potrzebuje EsignUsageRepository, ale EnableJpaRepositories nie skanowali com.kamo.shared.esign.repos, więc kontekst Nie udało się za...
Zwrotne ceny add-on z licznikiem rozliczeniowym
Stripe (> 2025-03-31.basil) odrzuca stare użycie_type + aggregate_usage Model mierzony (''metered cen musi być cofany przez liczniki'), więc dodatek USAGE_BASED...
Dodaj "JsonProperty do prefixed boolean pól DTO
Lombok generuje isXxx() is-getters dla pól booleanowych o nazwie isXxx. Jackson rozbiera wiodące "jest" od is-getters i serializuje je jako "xxx" zamiast 'isXxx...
Uwzględnij konta ukierunkowane na subskrypcję w liście org
ListForOrg zwraca teraz również konta, których subskrypcje są ukierunkowane na Poproszony org - nie tylko konta bezpośrednio do niego. W modelu multiorg Modelow...
Użyj - prymitywny getter
OrganizationOwner jest prymitywnym booleanem w TeamMember, więc Lombok- wygenerowany dodatek jest isOrganizationOwner() nie getIsOrganizationOwner(). Naprawiono...
Subskrypcja emisyjna na temat GET / subsykrypcja/current
Gdy nie istnieje rzęd lustra Stripe, rozwiąż aktywny handel orgi SubskrypcjaRecord (np. Dotacje COMP), obejmują płatnościMetoda i Funkcje planu. Fixes Ustawieni...
Jak to, co widzisz żeglugę?
Każda z tych aktualizacji automatycznie ląduje w miejscu pracy. Zacznij za darmo i obserwuj, jak rośnie tydzień po tygodniu.