Transmiteţi farul de urmărire către MediaService
Clonele înaintePublicWebinar mai degrabă decât înainte generic(): această metodă imprima fiecare URI, harta antet și lungimea corpului pentru a stdout cu nici u...
Reconstruiește împotriva librarului comun @Lob LONGVARCHAR fix
Dialectul Hibernate PostgreSQL citește @Lob String coloanele ca OID prin getLong(). Afectează notele, contactele, calendarul, jetoanele Oauth, parolele IMAP, ca...
Punct la YugabyteDB și utilizați PostgreSQLDialect
CockroachDB a fost înlocuit de YugabyteDB. Conexiunea se mișcă din gandac-public:26257 to yb-tserver-service:5433, and the Hibernate dialect De la *************...
Oglindă Maven Central prin Google GCS copie
Fiecare etapă a Docker începe de la o rece ~/.m2 și refrigerează întregul copac dependență, astfel încât Central vede greutatea totală a fiecărui serviciu conco...
Codifică semnul decodat exact o dată pe drumul în amonte
21670e5 rutat SocialWebhookController prin intrarea UpstreamUri FULLY-PRE-ENCODED punct, dar URL-ul său este un hibrid: handler valoarea DECODED, în timp ce ge...
Înaintează interogările apelantului pe proxies-ul public
Poarta a încetat să mai codeze coardele de interogare în 3c24d32, dar patru alte proxy-uri în acest serviciu încă concatenizate deja-procent codificate bytes în...
Înaintează interogările apelantului în loc să le codezi de două ori
Fiecare URL pe care această poartă îl construiește este asamblat din GETRequestURI() și GetQueryString () RestTemplate as a String. Supraîncărcarea String Rest...
Obținerea normelor de acces chiriaș la poarta de acces
Acest filtru a fost inert de când a fost scris. resultOrgId read org:domeniul: <host> de la Redis, nimic nu a scris vreodată acea cheie, și întoarcerea nulă a c...
Traseu furnizorul de întâlnire OAuth apel înapoi
Zoom şi Microsoft redirecţionează browserul către această poartă după autorizarea unei org Aplicaţia lui Kamo. Popup aterizeaza aici cu nici o sesiune chirias ...
Harden download kubectl împotriva egress fulg [skip ci]
dL.k8s.io peste ieşirea alergătorului scade intermitent la mijlocul transferului: curl: (56) OpenSSL SSL read: decriptare eșuată sau înregistrare proastă mac ca...
Proxy ruta de predare a oamenilor AI->
Adds POST *************** Proxied to MediaService alături de creaţia sa, sora SusportSession. Fara aceasta caracteristica de predare a fost mort la sosire: obi...
Traseu /api/email + /api/support prin gazda Api
(EmailService) și Support (MediaService, la fel în amonte ca /api/media) au fost nedirecționate → 404. Adăugați ambele înainte și repara e-mail. service.url de ...
GET /api/public-chat/bootstrap gateway route
Adăugați obiectivul boottrap care reutilizează conducta proxyWithAuth existentă (validarea cheii + originea opt-in + domeniul de aplicare PUBLIC CHAT + limita r...
Defer obligatoriu-origine la faza 1
Widget-uri de fază-0 încă apel prin proxy lor server-side, astfel încât de origine-blocare nu Beneficiu încă și fiecare viu cheie publică-chat are o listă de pe...
Nu cache-invalidat chei pe erori tranzitorii în aval (numai pe invalid definitiv)
Numai tastele cache-invalidate cu adevărat invalide, nenegate de origine (prevente valabile-cheie DoS)
Pe un Cache Redis rece, o cheie de chat public valid cu o origine greșită / absent a fost Cached ca INVALID pentru 60 de ani, negarea cererilor de origine corec...
Bind WS releu de strângere de mână la Origine + adăugați rece-cache tastă de validare toamna
Extrase PublicChatController's private validationViaDownstream() into a shared PublicChatKeyRezolver fasole astfel PublicChatWebSocketHandler poate refolosi la ...
Verificați *** PoW la marginea sesiunii publice crea (înființat atunci când sarcina utilă prezentă)
Fă obligatorie lista de permise a originii chatului public (negare a originii lipsă/listă goală)
Proxy GET /Lo-prezență la MediaService
Procurorul de suport-sesiune transmite deja corpul brut, astfel încât widget-ul fuzionat Preferat AgentMemberId ajunge MediaService neatins. Adaugă proxy-ul de ...
Passthrough public pentru e-mail OAuth furnizor apelback
Înainte GET ****************************************************************************************************************************************************...
Migrate to k1m1 (registry+kubeconfig from k1m1, drop k2m1, simple kubectl install)
Portalul API (API SIGNATURĂ)
Add /api/public/esign/** to PublicApiController: validează tasta API org, solicită domeniul de aplicare al API SIGNATURE, limite de rată și transmite către ESig...
Proxy support-message translate endpoint
Adds a passthrough route for the new MediaService endpoint that translates a single support-chat message into the visitor's URL locale. The marketing-side chat ...
Scope concurrency to build jobs, not Kubernetes deploys
Workflow-level concurrency serialized the whole pipeline (including kubectl rollouts). Move the group to the build job only so deploy jobs from different runs c...
Carve /api/voip/recordings/** out of the wildcard VOIP forwarder
The /api/voip/** catch-all in APIGatewayController was shadowing the dedicated VoipRecordingUploadController POST /api/voip/recordings/upload mapping when Sprin...
VoipRecordingUploadController pentru upload-uri de suport kamo-asterisk
Post/api/voip/înregistrări/upload acceptă corpuri multiple de suport kamo-asterisk rulează pe gazde FreePBX. Validarea X-Api-Key are noul VOIP RECORDING UPLOADS...
Mărește limita de încărcare a fișierului la 500MB
Primavara Boot implicit capac piese multipart la 1MB, provocând imagini de fundal uploads to fail with 500 in request.getParts(). Potrivire serviciu de securita...
Move CORS to Traefik via kamo-middlewares, remove in-app CorsFilter
The CorsFilter @Bean in the Spring app was silently not applying headers after WebConfig.java was removed. CORS is now handled entirely at the Traefik layer by ...
Eliminați antetele duplicate CorsFilter și benzi în amonte CORS în poarta de acces
WebConfig.java a definit o a doua fasole CorsFilter care concurează cu CorsConfig. Java Bean, riscând duplicatul scrie. A şters-o ca să existe doar un singur Co...
Setează cererea/josul pentru organismele JSON transmise Serviciului de securitate
RestTemplate în amonte ar putea lăsa conținut-tip incompatibile cu primăvara @RequestBody, cauzand 415. După citirea corpului brut, forța APLICARE JSON Când înc...
Add Stripe webhook forwarding and billing API gateway routing
- POST /api/billing/webhooks/stripe receives Stripe webhooks and forwards to BillingService with Stripe-Signature header preserved - /api/billing/** gateway r...
Forward locale param to SecurityService on public subscription catalog endpoint
Add concurrency group to prevent duplicate workflow runs
When a push triggers a workflow and workflow_dispatch is also fired (or two pushes arrive in quick succession), both runs would execute simultaneously. Adding a...
Add public lead intake endpoint for 3rd-party lead submission
Adds LeadIntakePublicController at /api/public/lead-intake/{token} that accepts lead data in any format (JSON, form-urlencoded) from 3rd-party vendors and forwa...
Add /api/esig/** gateway routing to ESigService
Route all /api/esig/** requests through the existing API gateway to the dedicated ESigService (kamowsesig-service) instead of the non-existent proxy target. Add...
Validate Forgejo HMAC-SHA256 signature instead of plain secret header
Forgejo sends webhook secret as X-Gitea-Signature / X-Forgejo-Signature HMAC-SHA256 hash, not as a plain header value. Read body, verify HMAC, then forward to S...
Expose changelog webhook through APIService with secret key auth
Adds POST /api/changelog/webhook route that validates *** header before forwarding to SecurityService. Secret configured via CHANGELOG_WEBHOOK_SECRET env var / ...
Enforce PUBLIC_WEBINAR scope on public webinar endpoints
Adds scope validation check before forwarding public webinar requests to MediaService, returning 403 if the API key lacks PUBLIC_WEBINAR scope.
Add webinar gateway routes for authenticated and public endpoints
Routes /api/webinar/** to MediaService for authenticated webinar operations and /api/public/webinar/** with API key validation for public scheduling and cancell...
Include SUBSCRIPTION_CATALOG in default scopes fallback
When MediaService doesn't return scopes in the validation response, default to including both PUBLIC_CHAT and SUBSCRIPTION_CATALOG scopes. This ensures public c...
Add commerce webhook forwarding endpoint for retail provider integrations
Like what you see shipping?
All of it arrives in your workspace on its own. Start on the free plan and read this page again in a month.
