Kamwe mbele ya wateja-kutolewa utambulisho headers upstream
kuendeleza mwelekeo wa mbele, upande wa nyuma na nyuma. Kwa upande mwingine, upande wa pili, ni upande wa kulia wa mchezaji. kwenye maombi ya juu. Billing Servi...
Nenda kwenye wavuti ya SMS, ambayo haijafikia chochote
Al Azhar yasisitiza kuwa kuvaa Hijabu ni lazima kwa mujibu maamurisho ya Qur'ani Tukufu Na hii ni kwa ajili ya /api /voip / / / / / / / voip / / / / / / / / / /...
Nenda kwenye wavuti ya SMS, ambayo haijafikia chochote
Al Azhar yasisitiza kuwa kuvaa Hijabu ni lazima kwa mujibu maamurisho ya Qur'ani Tukufu Na hii ni kwa ajili ya /api /voip / / / / / / / voip / / / / / / / / / /...
Jaribu kuweka kwa digest, si kwa tag
Ahadi ya awali inaacha "kuweka picha" kuwa kimya hakuna-op. Hii inathibitisha kuwa matokeo: baada ya rollout, tag ni kutatuliwa kwa digest katika Usajili na Vio...
Ujenzi wa mradi huo haukuleta chochote na uliripoti mafanikio
Picha ni tagged na SHA ahadi, hivyo kujenga upya ahadi hiyo kuzalisha Mfano wa picha sawa. "Kuweka picha" kisha hakuna mabadiliko, Kufukuzwa ni kamwe kuguswa, '...
Drop the /api/settings forward, which pointed at nothing
EmailService serves the sync-integration controller at **************** not /api/settings/integrations ā so that forward reached a path the service does not map...
Route /api/contacts, /api/calendar and /api/settings to EmailService
KamoMobile's contacts and calendar screens 404'd on every request. Neither path was routed at the api host, so nothing reached EmailService and the service logg...
Give the rollout room for the 15s minReadySeconds now costs
progressDeadlineSeconds was 60. That is the window a rollout has to show progress before Kubernetes gives up and marks it failed, and the previous commit added ...
APIService never shut down gracefully at all
Deploys replaced the only pod of each service with nothing to catch the requests in flight. Three settings, applied across the fleet: - preStop sleeps 10s befo...
Encode the decoded token exactly once on the way upstream
21670e5 routed SocialWebhookController through UpstreamUri's FULLY-PRE-ENCODED entry point, but its URL is a hybrid: `token` is an @PathVariable, so Spring hand...
Forward the caller's query bytes on the public-facing proxies
The gateway stopped double-encoding forwarded query strings in 3c24d32, but four other proxies in this service still concatenated already-percent-encoded bytes ...
Forward the caller's query bytes instead of encoding them twice
Every URL this gateway builds is assembled from getRequestURI() and getQueryString() ā both already percent-encoded ā and was then handed to RestTemplate as a S...
Harden the kubectl download against flaky egress [skip ci]
dl.k8s.io over the runner's egress intermittently drops mid-transfer: curl: (56) OpenSSL SSL_read: decryption failed or bad record mac which fails the deploy ...
Kutetea lazima-origin kwa Awamu ya 1 - OriginMatcher opt-in (empty kuruhusu-list / missing asili kuruhusiwa)
Phase-0 widgets still call via their server-side proxy, so origin-locking has no benefit yet and every live public-chat key has an empty allow-list. Strict enfo...
Usihifadhi funguo za kuthibitisha kwenye makosa ya chini ya mtiririko (tu kwenye batili ya mwisho)
Tu cache-kuthibitisha funguo kweli-invalid, si asili-denied (prevents halali-key DoS)
Kwenye cache ya baridi ya Redis, ufunguo wa wazi wa umma na asili isiyo sahihi / isiyokubalika ilikuwa Imehifadhiwa kama INVALID kwa 60s, kukataa maombi ya asil...
Bind WS relay handshake kwa asili + kuongeza baridi-cache muhimu uthibitisho fallback
Inaondoa PublicChatController ya binafsi kuhalalishaViaDownstream () katika pamoja PublicChatKeyResolver bean hivyo PublicChatWebSocketHandler inaweza kutumia t...
Make public-chat origin allow-list mandatory (deny on missing Origin / empty list)
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...
Raise file upload size limit to 500MB
Spring Boot defaults cap multipart parts at 1MB, causing background image uploads to fail with 500 in request.getParts(). Match SecurityService's existing 500MB...
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 ...
Remove duplicate CorsFilter and strip upstream CORS headers in gateway
WebConfig.java defined a second CorsFilter bean competing with CorsConfig.java's bean, risking duplicate header writes. Deleted it so only one CorsFilter exists...
Set application/json for JSON bodies forwarded to SecurityService
RestTemplate to upstream could leave Content-Type incompatible with Spring @RequestBody, causing 415. After reading the raw body, force APPLICATION_JSON when th...
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...
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...
Use getServerName() instead of getHeader(Host) for original host resolution
ForwardedHeaderFilter consumes X-Forwarded-Host and adapts getServerName() accordingly, while getHeader(Host) returns the raw HTTP Host which may be a K8s inter...
Use HTTP on port 80 for meet service URL to match other services
The HTTPS endpoint on 8443 causes SSL cert mismatch when routing through K8s internal DNS. All other services use HTTP on port 80.
Preserve upstream X-Forwarded-Host instead of overwriting with own Host
When an upstream proxy (Next.js) sets X-Forwarded-Host to the browser's original host, APIService now preserves it instead of overwriting with its own Host head...
Explicitly forward visitor IP to downstream services
ForwardedHeaderFilter consumes X-Forwarded-For from the incoming request, so when APIService forwards to SecurityService via RestTemplate the header is missing....
Move AccessEnforcementFilter to scanned package, revert ComponentScan
The widened @ComponentScan caused a corsFilter bean conflict between CorsConfig and WebConfig. Moved the filter into com.kamo.api.app.config (already scanned by...
Add Redis connection config to K8s configmap
APIService pod was failing to start because spring-boot-starter-data-redis auto-configuration couldn't connect to Redis at localhost:6379. Points to redis.kamo....
Use JdkClientHttpRequestFactory to support PATCH method forwarding
The default RestTemplate uses SimpleClientHttpRequestFactory (HttpURLConnection) which doesn't support the PATCH HTTP method, causing branch-titles save to fail...
Add Buildx setup with insecure registry config to resolve 401 auth errors
Force-terminate stuck pods faster and add graceful shutdown config
Add preStop hooks, probes, and increase termination grace period to prevent deployment timeouts
Properly forward multipart/form-data by rebuilding parts for RestTemplate
Je, unaona nini kuhusu usafiri?
Kila moja ya hizi updates ardhi katika nafasi yako ya kazi moja kwa moja. Kuanza bure na kuangalia kukua wiki baada ya wiki.