feat: expose usage limit response headers#3
Open
Yassinbrine wants to merge 187 commits into
Open
Conversation
Automated: grant contributor access to @daiquydev --- <!-- archestra-banner:v1 --> <a href="https://archestra.ai/contributor-onboard" rel="nofollow noreferrer noopener" target="_blank"> <img alt="Archestra Contributor" src="https://raw.githubusercontent.com/archestra-ai/archestra/main/docs/assets/archestra-contributor-banner.webp"/> </a> Co-authored-by: daiquydev <105071667+daiquydev@users.noreply.github.com>
Automated: grant contributor access to @BrodoB --- <!-- archestra-banner:v1 --> <a href="https://archestra.ai/contributor-onboard" rel="nofollow noreferrer noopener" target="_blank"> <img alt="Archestra Contributor" src="https://raw.githubusercontent.com/archestra-ai/archestra/main/docs/assets/archestra-contributor-banner.webp"/> </a> Co-authored-by: BrodoB <264983715+BrodoB@users.noreply.github.com>
## Summary - Defer noncritical GitHub star and latest-release lookups by 5s so authenticated shell APIs win the cold-load network window. - Skip latest-release checks when release links are hidden or custom footer text is configured. - Skip GitHub stars when community links are hidden or the user is not authenticated. - Give the default app logo stable dimensions to avoid the sidebar logo being flagged as an unsized image. ## Audit notes Chrome DevTools performance/network pass on `/mcp/registry` showed the initial fetch/font window included two external GitHub API requests: - `https://api.github.com/repos/archestra-ai/archestra` - `https://api.github.com/repos/archestra-ai/archestra/releases/latest` After this change, the same initial network window contains only local app/auth data plus the active font. The GitHub calls are delayed and no longer compete with shell startup requests.
Automated: grant contributor access to @sus689 --- <!-- archestra-banner:v1 --> <a href="https://archestra.ai/contributor-onboard" rel="nofollow noreferrer noopener" target="_blank"> <img alt="Archestra Contributor" src="https://raw.githubusercontent.com/archestra-ai/archestra/main/docs/assets/archestra-contributor-banner.webp"/> </a> Co-authored-by: sus689 <137593950+sus689@users.noreply.github.com>
…tra-ai#4588) --- <!-- archestra-banner:v1 --> <a href="https://archestra.ai/contributor-onboard" rel="nofollow noreferrer noopener" target="_blank"> <img alt="Archestra Contributor" src="https://raw.githubusercontent.com/archestra-ai/archestra/main/docs/assets/archestra-contributor-banner.webp"/> </a>
Automated: grant contributor access to @didier-brown --- <!-- archestra-banner:v1 --> <a href="https://archestra.ai/contributor-onboard" rel="nofollow noreferrer noopener" target="_blank"> <img alt="Archestra Contributor" src="https://raw.githubusercontent.com/archestra-ai/archestra/main/docs/assets/archestra-contributor-banner.webp"/> </a> Co-authored-by: didier-brown <209773413+didier-brown@users.noreply.github.com>
🤖 I have created a release *beep* *boop* --- ## [1.2.43](archestra-ai/archestra@platform-v1.2.42...platform-v1.2.43) (2026-05-12) ### Bug Fixes * **security:** clear Docker Scout HIGH CVEs ([archestra-ai#4578](archestra-ai#4578)) ([5d6b758](archestra-ai@5d6b758)) ### Miscellaneous Chores * add separate --check mode for the vault migrate script ([archestra-ai#4588](archestra-ai#4588)) ([04323e0](archestra-ai@04323e0)) * reduce shell noncritical startup requests ([archestra-ai#4585](archestra-ai#4585)) ([fae7a67](archestra-ai@fae7a67)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). --------- Co-authored-by: archestra-ci[bot] <222894074+archestra-ci[bot]@users.noreply.github.com> Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Automated: grant contributor access to @diegousdz --- <!-- archestra-banner:v1 --> <a href="https://archestra.ai/contributor-onboard" rel="nofollow noreferrer noopener" target="_blank"> <img alt="Archestra Contributor" src="https://raw.githubusercontent.com/archestra-ai/archestra/main/docs/assets/archestra-contributor-banner.webp"/> </a> Co-authored-by: diegousdz <27159075+diegousdz@users.noreply.github.com>
Automated: grant contributor access to @Adysekus --- <!-- archestra-banner:v1 --> <a href="https://archestra.ai/contributor-onboard" rel="nofollow noreferrer noopener" target="_blank"> <img alt="Archestra Contributor" src="https://raw.githubusercontent.com/archestra-ai/archestra/main/docs/assets/archestra-contributor-banner.webp"/> </a> Co-authored-by: Adysekus <263228245+Adysekus@users.noreply.github.com>
--- <!-- archestra-banner:v1 --> <a href="https://archestra.ai/contributor-onboard" rel="nofollow noreferrer noopener" target="_blank"> <img alt="Archestra Contributor" src="https://raw.githubusercontent.com/archestra-ai/archestra/main/docs/assets/archestra-contributor-banner.webp"/> </a>
🤖 I have created a release *beep* *boop* --- ## [1.2.44](archestra-ai/archestra@platform-v1.2.43...platform-v1.2.44) (2026-05-12) ### Bug Fixes * relax probe timeouts and make them configurable ([archestra-ai#4595](archestra-ai#4595)) ([58568bc](archestra-ai@58568bc)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). --- <!-- archestra-banner:v1 --> <a href="https://archestra.ai/contributor-onboard" rel="nofollow noreferrer noopener" target="_blank"> <img alt="Archestra Contributor" src="https://raw.githubusercontent.com/archestra-ai/archestra/main/docs/assets/archestra-contributor-banner.webp"/> </a> Co-authored-by: archestra-ci[bot] <222894074+archestra-ci[bot]@users.noreply.github.com>
Automated: grant contributor access to @phquand2000 --- <!-- archestra-banner:v1 --> <a href="https://archestra.ai/contributor-onboard" rel="nofollow noreferrer noopener" target="_blank"> <img alt="Archestra Contributor" src="https://raw.githubusercontent.com/archestra-ai/archestra/main/docs/assets/archestra-contributor-banner.webp"/> </a> Co-authored-by: phquand2000 <129814932+phquand2000@users.noreply.github.com>
Automated: grant contributor access to @elfketchup --- <!-- archestra-banner:v1 --> <a href="https://archestra.ai/contributor-onboard" rel="nofollow noreferrer noopener" target="_blank"> <img alt="Archestra Contributor" src="https://raw.githubusercontent.com/archestra-ai/archestra/main/docs/assets/archestra-contributor-banner.webp"/> </a> Co-authored-by: elfketchup <4986185+elfketchup@users.noreply.github.com>
Automated: grant contributor access to @basdilhan --- <!-- archestra-banner:v1 --> <a href="https://archestra.ai/contributor-onboard" rel="nofollow noreferrer noopener" target="_blank"> <img alt="Archestra Contributor" src="https://raw.githubusercontent.com/archestra-ai/archestra/main/docs/assets/archestra-contributor-banner.webp"/> </a> Co-authored-by: basdilhan <174925119+basdilhan@users.noreply.github.com>
## Summary - Tighten Bedrock chat message content detection to match provider-visible UI message parts - Pad messages made only of ignored data/control parts or streaming tool input before sending to Bedrock - Add regression coverage for ignored data parts, step markers, and streaming tool input --- <!-- archestra-banner:v1 --> <a href="https://archestra.ai/contributor-onboard" rel="nofollow noreferrer noopener" target="_blank"> <img alt="Archestra Contributor" src="https://raw.githubusercontent.com/archestra-ai/archestra/main/docs/assets/archestra-contributor-banner.webp"/> </a>
…ra-ai#4602) ## Summary - Replace pino's default sync stdout with `pino.destination({ fd: 1, sync: false, minLength: 4096 })` so log writes don't block the event loop when the container log pipe is backpressured. - Drop `pino-pretty` from the main logger path entirely. Backend logs are now raw JSON in all environments. (`pino-pretty` stays in `dependencies` because `entrypoints/_shared/log-capture.ts` still uses it.) - Demote per-tool-result payload logs in `convertToolResultsToToon` (anthropic / gemini / ollama / openai / vllm / zhipuai adapters) from `debug` to `trace`. - OTEL log-forwarding stream is unchanged. ## What changes at runtime | | Before | After | | --- | --- | --- | | stdout format | pino-pretty (colorized, single-line) | raw JSON (one object per line) | | stdout write mode | sync — blocks the event loop on full kernel log pipe | async, buffered (4 KB) | | Per-line CPU on hot path | JSON parse → colorize → format → stringify → sync write | append to buffer; flush async | | Per-tool-result payload logs | `debug` (active when `LOG_LEVEL=debug`) | `trace` (off by default) | | OTEL log stream | enabled | enabled | Trade-off: up to 4 KB of buffered logs may be lost on a hard crash before flush — standard pino async-destination behaviour.
…a-ai#4603) --- <!-- archestra-banner:v1 --> <a href="https://archestra.ai/contributor-onboard" rel="nofollow noreferrer noopener" target="_blank"> <img alt="Archestra Contributor" src="https://raw.githubusercontent.com/archestra-ai/archestra/main/docs/assets/archestra-contributor-banner.webp"/> </a> --------- Co-authored-by: Joey Orlando <joey@archestra.ai> Co-authored-by: Joey Orlando <joseph.t.orlando@gmail.com>
## Summary - Adds default 2 vCPU CPU requests to the Helm chart values for the main platform and worker containers. - Documents the updated Helm resource defaults. - Adds Helm unit coverage for the rendered CPU request defaults. ## Why Fastify recommends 2 vCPU per app instance for lowest latency because the second vCPU helps garbage collection and libuv work avoid blocking the main thread. Reference: https://fastify.dev/docs/latest/Guides/Recommendations/#capacity-planning-for-production
🤖 I have created a release *beep* *boop* --- ## [1.2.45](archestra-ai/archestra@platform-v1.2.44...platform-v1.2.45) (2026-05-12) ### Bug Fixes * Bedrock empty chat content ([archestra-ai#4598](archestra-ai#4598)) ([e39d9d4](archestra-ai@e39d9d4)) * stop computing toolCount on singular find/update paths ([archestra-ai#4603](archestra-ai#4603)) ([f8a926e](archestra-ai@f8a926e)) ### Performance Improvements * **logging:** async stdout in prod, gate pino-pretty to dev ([archestra-ai#4602](archestra-ai#4602)) ([46b1756](archestra-ai@46b1756)) ### Miscellaneous Chores * add default Helm CPU requests ([archestra-ai#4605](archestra-ai#4605)) ([8b8851c](archestra-ai@8b8851c)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). --------- Co-authored-by: archestra-ci[bot] <222894074+archestra-ci[bot]@users.noreply.github.com> Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Automated: grant contributor access to @Darshan3690 --- <!-- archestra-banner:v1 --> <a href="https://archestra.ai/contributor-onboard" rel="nofollow noreferrer noopener" target="_blank"> <img alt="Archestra Contributor" src="https://raw.githubusercontent.com/archestra-ai/archestra/main/docs/assets/archestra-contributor-banner.webp"/> </a> Co-authored-by: Darshan3690 <177705772+Darshan3690@users.noreply.github.com>
Automated: grant contributor access to @nguyen-hung-dev --- <!-- archestra-banner:v1 --> <a href="https://archestra.ai/contributor-onboard" rel="nofollow noreferrer noopener" target="_blank"> <img alt="Archestra Contributor" src="https://raw.githubusercontent.com/archestra-ai/archestra/main/docs/assets/archestra-contributor-banner.webp"/> </a> Co-authored-by: nguyen-hung-dev <203117713+nguyen-hung-dev@users.noreply.github.com>
Automated: grant contributor access to @phungkaizen --- <!-- archestra-banner:v1 --> <a href="https://archestra.ai/contributor-onboard" rel="nofollow noreferrer noopener" target="_blank"> <img alt="Archestra Contributor" src="https://raw.githubusercontent.com/archestra-ai/archestra/main/docs/assets/archestra-contributor-banner.webp"/> </a> Co-authored-by: phungkaizen <223699997+phungkaizen@users.noreply.github.com>
## Summary - skip cached MCP client ping checks for clients validated within the last 30 seconds - keep idle-client validation and existing failure recovery paths for stale connections - switch the role debugger user picker to the searchable user select component
Automated: grant contributor access to @IssacDanny --- <!-- archestra-banner:v1 --> <a href="https://archestra.ai/contributor-onboard" rel="nofollow noreferrer noopener" target="_blank"> <img alt="Archestra Contributor" src="https://raw.githubusercontent.com/archestra-ai/archestra/main/docs/assets/archestra-contributor-banner.webp"/> </a> Co-authored-by: IssacDanny <153848108+IssacDanny@users.noreply.github.com>
Automated: grant contributor access to @lyraforge --- <!-- archestra-banner:v1 --> <a href="https://archestra.ai/contributor-onboard" rel="nofollow noreferrer noopener" target="_blank"> <img alt="Archestra Contributor" src="https://raw.githubusercontent.com/archestra-ai/archestra/main/docs/assets/archestra-contributor-banner.webp"/> </a> Co-authored-by: lyraforge <284144456+lyraforge@users.noreply.github.com>
Automated: grant contributor access to @ErnestHysa --- <!-- archestra-banner:v1 --> <a href="https://archestra.ai/contributor-onboard" rel="nofollow noreferrer noopener" target="_blank"> <img alt="Archestra Contributor" src="https://raw.githubusercontent.com/archestra-ai/archestra/main/docs/assets/archestra-contributor-banner.webp"/> </a> Co-authored-by: ErnestHysa <59969602+ErnestHysa@users.noreply.github.com>
Automated: grant contributor access to @mgalavai --- <!-- archestra-banner:v1 --> <a href="https://archestra.ai/contributor-onboard" rel="nofollow noreferrer noopener" target="_blank"> <img alt="Archestra Contributor" src="https://raw.githubusercontent.com/archestra-ai/archestra/main/docs/assets/archestra-contributor-banner.webp"/> </a> Co-authored-by: mgalavai <7943076+mgalavai@users.noreply.github.com>
Automated: grant contributor access to @Gammarays1980 --- <!-- archestra-banner:v1 --> <a href="https://archestra.ai/contributor-onboard" rel="nofollow noreferrer noopener" target="_blank"> <img alt="Archestra Contributor" src="https://raw.githubusercontent.com/archestra-ai/archestra/main/docs/assets/archestra-contributor-banner.webp"/> </a> Co-authored-by: Gammarays1980 <98857547+Gammarays1980@users.noreply.github.com>
Automated: grant contributor access to @AshuraXX2206 --- <!-- archestra-banner:v1 --> <a href="https://archestra.ai/contributor-onboard" rel="nofollow noreferrer noopener" target="_blank"> <img alt="Archestra Contributor" src="https://raw.githubusercontent.com/archestra-ai/archestra/main/docs/assets/archestra-contributor-banner.webp"/> </a> Co-authored-by: AshuraXX2206 <124451787+AshuraXX2206@users.noreply.github.com>
Automated: grant contributor access to @AshuraXX2206 --- <!-- archestra-banner:v1 --> <a href="https://archestra.ai/contributor-onboard" rel="nofollow noreferrer noopener" target="_blank"> <img alt="Archestra Contributor" src="https://raw.githubusercontent.com/archestra-ai/archestra/main/docs/assets/archestra-contributor-banner.webp"/> </a> Co-authored-by: AshuraXX2206 <124451787+AshuraXX2206@users.noreply.github.com>
) Oversized request bodies were returning 500 with a terse `"Request body is too large"` log line and no useful details in the frontend chat UI. - Detect `FST_ERR_CTP_BODY_TOO_LARGE` in the global Fastify error handler and return 413 with a message naming the limit and observed Content-Length. - All error log branches now include `method`, `url`, `route`, `routeId`, `reqId`, `contentLength`, `contentType`. 413 logs add `bodyLimit` + Fastify code; generic Errors add `code` + `stack`. - Frontend `mapClientError` maps backend `error.type` values (`api_payload_too_large_error`, etc.) to normalized `ChatErrorCode`s so the inline error card renders the right code/retryable badge with the backend message verbatim. close archestra-ai#4741 --- <!-- archestra-banner:v1 --> <a href="https://archestra.ai/contributor-onboard" rel="nofollow noreferrer noopener" target="_blank"> <img alt="Archestra Contributor" src="https://raw.githubusercontent.com/archestra-ai/archestra/main/docs/assets/archestra-contributor-banner.webp"/> </a>
Automated: grant contributor access to @schaelle --- <!-- archestra-banner:v1 --> <a href="https://archestra.ai/contributor-onboard" rel="nofollow noreferrer noopener" target="_blank"> <img alt="Archestra Contributor" src="https://raw.githubusercontent.com/archestra-ai/archestra/main/docs/assets/archestra-contributor-banner.webp"/> </a> Co-authored-by: schaelle <42194+schaelle@users.noreply.github.com>
Automated: grant contributor access to @k-kozika --- <!-- archestra-banner:v1 --> <a href="https://archestra.ai/contributor-onboard" rel="nofollow noreferrer noopener" target="_blank"> <img alt="Archestra Contributor" src="https://raw.githubusercontent.com/archestra-ai/archestra/main/docs/assets/archestra-contributor-banner.webp"/> </a> Co-authored-by: k-kozika <127573443+k-kozika@users.noreply.github.com>
Automated: grant contributor access to @Yeetusbleetus --- <!-- archestra-banner:v1 --> <a href="https://archestra.ai/contributor-onboard" rel="nofollow noreferrer noopener" target="_blank"> <img alt="Archestra Contributor" src="https://raw.githubusercontent.com/archestra-ai/archestra/main/docs/assets/archestra-contributor-banner.webp"/> </a> Co-authored-by: Yeetusbleetus <49679841+Yeetusbleetus@users.noreply.github.com>
Automated: grant contributor access to @pedropaulovc --- <!-- archestra-banner:v1 --> <a href="https://archestra.ai/contributor-onboard" rel="nofollow noreferrer noopener" target="_blank"> <img alt="Archestra Contributor" src="https://raw.githubusercontent.com/archestra-ai/archestra/main/docs/assets/archestra-contributor-banner.webp"/> </a> Co-authored-by: pedropaulovc <577970+pedropaulovc@users.noreply.github.com>
Automated: grant contributor access to @is3ka1 --- <!-- archestra-banner:v1 --> <a href="https://archestra.ai/contributor-onboard" rel="nofollow noreferrer noopener" target="_blank"> <img alt="Archestra Contributor" src="https://raw.githubusercontent.com/archestra-ai/archestra/main/docs/assets/archestra-contributor-banner.webp"/> </a> Co-authored-by: is3ka1 <25743179+is3ka1@users.noreply.github.com>
Automated: grant contributor access to @akhildevelops --- <!-- archestra-banner:v1 --> <a href="https://archestra.ai/contributor-onboard" rel="nofollow noreferrer noopener" target="_blank"> <img alt="Archestra Contributor" src="https://raw.githubusercontent.com/archestra-ai/archestra/main/docs/assets/archestra-contributor-banner.webp"/> </a> Co-authored-by: akhildevelops <6951100+akhildevelops@users.noreply.github.com>
Automated: grant contributor access to @luwinter111 --- <!-- archestra-banner:v1 --> <a href="https://archestra.ai/contributor-onboard" rel="nofollow noreferrer noopener" target="_blank"> <img alt="Archestra Contributor" src="https://raw.githubusercontent.com/archestra-ai/archestra/main/docs/assets/archestra-contributor-banner.webp"/> </a> Co-authored-by: luwinter111 <285847764+luwinter111@users.noreply.github.com>
Automated: grant contributor access to @adamjacobmuller --- <!-- archestra-banner:v1 --> <a href="https://archestra.ai/contributor-onboard" rel="nofollow noreferrer noopener" target="_blank"> <img alt="Archestra Contributor" src="https://raw.githubusercontent.com/archestra-ai/archestra/main/docs/assets/archestra-contributor-banner.webp"/> </a> Co-authored-by: adamjacobmuller <623767+adamjacobmuller@users.noreply.github.com>
Automated: grant contributor access to @falkirks --- <!-- archestra-banner:v1 --> <a href="https://archestra.ai/contributor-onboard" rel="nofollow noreferrer noopener" target="_blank"> <img alt="Archestra Contributor" src="https://raw.githubusercontent.com/archestra-ai/archestra/main/docs/assets/archestra-contributor-banner.webp"/> </a> Co-authored-by: falkirks <5827558+falkirks@users.noreply.github.com>
Automated: grant contributor access to @fernando-aguilar-coro --- <!-- archestra-banner:v1 --> <a href="https://archestra.ai/contributor-onboard" rel="nofollow noreferrer noopener" target="_blank"> <img alt="Archestra Contributor" src="https://raw.githubusercontent.com/archestra-ai/archestra/main/docs/assets/archestra-contributor-banner.webp"/> </a> Co-authored-by: fernando-aguilar-coro <196711081+fernando-aguilar-coro@users.noreply.github.com>
Automated: grant contributor access to @caffeinum --- <!-- archestra-banner:v1 --> <a href="https://archestra.ai/contributor-onboard" rel="nofollow noreferrer noopener" target="_blank"> <img alt="Archestra Contributor" src="https://raw.githubusercontent.com/archestra-ai/archestra/main/docs/assets/archestra-contributor-banner.webp"/> </a> Co-authored-by: caffeinum <1909384+caffeinum@users.noreply.github.com>
Automated: grant contributor access to @RYB-404 --- <!-- archestra-banner:v1 --> <a href="https://archestra.ai/contributor-onboard" rel="nofollow noreferrer noopener" target="_blank"> <img alt="Archestra Contributor" src="https://raw.githubusercontent.com/archestra-ai/archestra/main/docs/assets/archestra-contributor-banner.webp"/> </a> Co-authored-by: RYB-404 <116948958+RYB-404@users.noreply.github.com>
Automated: grant contributor access to @crftr --- <!-- archestra-banner:v1 --> <a href="https://archestra.ai/contributor-onboard" rel="nofollow noreferrer noopener" target="_blank"> <img alt="Archestra Contributor" src="https://raw.githubusercontent.com/archestra-ai/archestra/main/docs/assets/archestra-contributor-banner.webp"/> </a> Co-authored-by: crftr <547985+crftr@users.noreply.github.com>
Automated: grant contributor access to @StevenWanglolz --- <!-- archestra-banner:v1 --> <a href="https://archestra.ai/contributor-onboard" rel="nofollow noreferrer noopener" target="_blank"> <img alt="Archestra Contributor" src="https://raw.githubusercontent.com/archestra-ai/archestra/main/docs/assets/archestra-contributor-banner.webp"/> </a> Co-authored-by: StevenWanglolz <113498839+StevenWanglolz@users.noreply.github.com>
Automated: grant contributor access to @SwathiMystery --- <!-- archestra-banner:v1 --> <a href="https://archestra.ai/contributor-onboard" rel="nofollow noreferrer noopener" target="_blank"> <img alt="Archestra Contributor" src="https://raw.githubusercontent.com/archestra-ai/archestra/main/docs/assets/archestra-contributor-banner.webp"/> </a> Co-authored-by: SwathiMystery <1615134+SwathiMystery@users.noreply.github.com>
Automated: grant contributor access to @dennisoelkers --- <!-- archestra-banner:v1 --> <a href="https://archestra.ai/contributor-onboard" rel="nofollow noreferrer noopener" target="_blank"> <img alt="Archestra Contributor" src="https://raw.githubusercontent.com/archestra-ai/archestra/main/docs/assets/archestra-contributor-banner.webp"/> </a> Co-authored-by: dennisoelkers <41929+dennisoelkers@users.noreply.github.com>
Automated: grant contributor access to @mkcash --- <!-- archestra-banner:v1 --> <a href="https://archestra.ai/contributor-onboard" rel="nofollow noreferrer noopener" target="_blank"> <img alt="Archestra Contributor" src="https://raw.githubusercontent.com/archestra-ai/archestra/main/docs/assets/archestra-contributor-banner.webp"/> </a> Co-authored-by: mkcash <35645504+mkcash@users.noreply.github.com>
Automated: grant contributor access to @prakash-atul --- <!-- archestra-banner:v1 --> <a href="https://archestra.ai/contributor-onboard" rel="nofollow noreferrer noopener" target="_blank"> <img alt="Archestra Contributor" src="https://raw.githubusercontent.com/archestra-ai/archestra/main/docs/assets/archestra-contributor-banner.webp"/> </a> Co-authored-by: prakash-atul <84735805+prakash-atul@users.noreply.github.com>
…-ai#4780) ## Summary Editing a catalog row's description today shows the "Reinstall affected servers?" cascade modal and runs `cascadeReinstallForCatalog`, which restarts the K8s pod (local servers) or re-fetches tools from the remote MCP server. Description has no runtime effect — the restart is wasted work and an unnecessary user confirmation step. This PR skips the cascade (and the modal) when the **only** changed field is `description`. Everything else keeps its existing behavior.
Automated: grant contributor access to @elinamirnaya --- <!-- archestra-banner:v1 --> <a href="https://archestra.ai/contributor-onboard" rel="nofollow noreferrer noopener" target="_blank"> <img alt="Archestra Contributor" src="https://raw.githubusercontent.com/archestra-ai/archestra/main/docs/assets/archestra-contributor-banner.webp"/> </a> Co-authored-by: elinamirnaya <20165953+elinamirnaya@users.noreply.github.com>
Automated: grant contributor access to @sypham98-prog --- <!-- archestra-banner:v1 --> <a href="https://archestra.ai/contributor-onboard" rel="nofollow noreferrer noopener" target="_blank"> <img alt="Archestra Contributor" src="https://raw.githubusercontent.com/archestra-ai/archestra/main/docs/assets/archestra-contributor-banner.webp"/> </a> Co-authored-by: sypham98-prog <246709336+sypham98-prog@users.noreply.github.com>
Automated: grant contributor access to @pk-vyshak --- <!-- archestra-banner:v1 --> <a href="https://archestra.ai/contributor-onboard" rel="nofollow noreferrer noopener" target="_blank"> <img alt="Archestra Contributor" src="https://raw.githubusercontent.com/archestra-ai/archestra/main/docs/assets/archestra-contributor-banner.webp"/> </a> Co-authored-by: pk-vyshak <91388638+pk-vyshak@users.noreply.github.com>
Automated: grant contributor access to @rohit-Jung --- <!-- archestra-banner:v1 --> <a href="https://archestra.ai/contributor-onboard" rel="nofollow noreferrer noopener" target="_blank"> <img alt="Archestra Contributor" src="https://raw.githubusercontent.com/archestra-ai/archestra/main/docs/assets/archestra-contributor-banner.webp"/> </a> Co-authored-by: rohit-Jung <157964658+rohit-Jung@users.noreply.github.com>
Automated: grant contributor access to @rohit-Jung --- <!-- archestra-banner:v1 --> <a href="https://archestra.ai/contributor-onboard" rel="nofollow noreferrer noopener" target="_blank"> <img alt="Archestra Contributor" src="https://raw.githubusercontent.com/archestra-ai/archestra/main/docs/assets/archestra-contributor-banner.webp"/> </a> Co-authored-by: rohit-Jung <157964658+rohit-Jung@users.noreply.github.com>
--- <!-- archestra-banner:v1 --> <a href="https://archestra.ai/contributor-onboard" rel="nofollow noreferrer noopener" target="_blank"> <img alt="Archestra Contributor" src="https://raw.githubusercontent.com/archestra-ai/archestra/main/docs/assets/archestra-contributor-banner.webp"/> </a> --------- Co-authored-by: Claude <noreply@anthropic.com>
🤖 I have created a release *beep* *boop* --- ## [1.2.50](archestra-ai/archestra@platform-v1.2.48...platform-v1.2.50) (2026-05-19) ### Features * add preset validation regex ([archestra-ai#4830](archestra-ai#4830)) ([e92adcf](archestra-ai@e92adcf)) * **catalog-headers:** expose Sensitive toggle in Header dialog ([archestra-ai#4767](archestra-ai#4767)) ([1b9ebe2](archestra-ai@1b9ebe2)) * configurable preset term + org-level preset entries ([archestra-ai#4750](archestra-ai#4750)) ([3b32fb9](archestra-ai@3b32fb9)) * empty state for presets tab when no preset fields ([archestra-ai#4756](archestra-ai#4756)) ([e5ee00d](archestra-ai@e5ee00d)) * mcp catalog presets ([archestra-ai#4402](archestra-ai#4402)) ([95644e2](archestra-ai@95644e2)) * **org-structure:** allow renaming the Default preset label ([archestra-ai#4770](archestra-ai#4770)) ([f8366e6](archestra-ai@f8366e6)) * preset filter on catalog Logs/Inspector/Shell/Credentials pages ([archestra-ai#4755](archestra-ai#4755)) ([b78e39c](archestra-ai@b78e39c)) * sequential preset fill step before MCP install ([archestra-ai#4757](archestra-ai#4757)) ([f0a383f](archestra-ai@f0a383f)) * support Azure inference URL overrides ([archestra-ai#4682](archestra-ai#4682)) ([dba30ee](archestra-ai@dba30ee)) * support per-limit cleanup intervals and default user limits ([archestra-ai#4668](archestra-ai#4668)) ([42ae7dd](archestra-ai@42ae7dd)) * **ui:** logos panel rework + sidebar toggler tweaks ([archestra-ai#4751](archestra-ai#4751)) ([fadb47e](archestra-ai@fadb47e)) ### Bug Fixes * **catalog:** skip reinstall when only description changed ([archestra-ai#4780](archestra-ai#4780)) ([5c86b98](archestra-ai@5c86b98)) * don't require env variable ARCHESTRA_VLLM_BASE_URL ([archestra-ai#4308](archestra-ai#4308)) ([2581460](archestra-ai@2581460)) * **e2e:** scope addCustomSelfHostedCatalogItem to the new env-var sub-dialog ([archestra-ai#4696](archestra-ai#4696) follow-up) ([archestra-ai#4704](archestra-ai#4704)) ([5514b42](archestra-ai@5514b42)) * honor keyless azure chat provider keys ([archestra-ai#4692](archestra-ai#4692)) ([9ff1162](archestra-ai@9ff1162)) * make claude code work ([archestra-ai#4686](archestra-ai#4686)) ([b646834](archestra-ai@b646834)) * **mcp-gateway:** stop caching negative auth results to break the 401 race ([archestra-ai#4708](archestra-ai#4708)) ([8570c9e](archestra-ai@8570c9e)) * **orchestrator:** preserve plain preset env vars across auto redeploy ([archestra-ai#4703](archestra-ai#4703)) ([5359004](archestra-ai@5359004)) * **orchestrator:** preserve plain prompted env values across auto redeploy ([archestra-ai#4709](archestra-ai#4709)) ([f9b5292](archestra-ai@f9b5292)) * preset entry secret cascade ([archestra-ai#4752](archestra-ai#4752)) ([5c59b81](archestra-ai@5c59b81)) * **presets:** preset edit silently fails when row carries orphan keys from past scope flips ([archestra-ai#4701](archestra-ai#4701)) ([80b09ba](archestra-ai@80b09ba)) * **presets:** scope password manager autofill to the preset editor form ([archestra-ai#4697](archestra-ai#4697)) ([7288fa0](archestra-ai@7288fa0)) * prevent backend crash when Socket Mode WebSocket rotates ([archestra-ai#4695](archestra-ai#4695)) ([1fe5d17](archestra-ai@1fe5d17)) * proxy to catalog from backend too ([archestra-ai#4717](archestra-ai#4717)) ([f89e53a](archestra-ai@f89e53a)) * return 413 for body-too-large, enrich error logs ([archestra-ai#4802](archestra-ai#4802)) ([fbad846](archestra-ai@fbad846)) * stop double-prefixing path in Anthropic proxy fallback ([archestra-ai#4662](archestra-ai#4662)) ([e23d2fd](archestra-ai@e23d2fd)) ### Documentation * **models:** add class-level overviews for catalog + mcp_server ([archestra-ai#4766](archestra-ai#4766)) ([05d7100](archestra-ai@05d7100)) ### Miscellaneous Chores * backport xml hotfix ([archestra-ai#4677](archestra-ai#4677)) ([be917b6](archestra-ai@be917b6)) * **e2e:** mark two known-broken specs as expected-fail ([archestra-ai#4775](archestra-ai#4775)) ([69412aa](archestra-ai@69412aa)) * move env var and header add/edit into dialogs with read-only catalog tables ([archestra-ai#4696](archestra-ai#4696)) ([8abb77d](archestra-ai@8abb77d)) * move envFrom and Secret Files add/edit into dialogs ([archestra-ai#4698](archestra-ai#4698)) ([caaa920](archestra-ai@caaa920)) * **release:** bump version ([archestra-ai#4678](archestra-ai#4678)) ([4852e22](archestra-ai@4852e22)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). --------- Co-authored-by: archestra-ci[bot] <222894074+archestra-ci[bot]@users.noreply.github.com> Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
… span (archestra-ai#4834) ## Summary - The Install button on MCP catalog cards rendered as a small content-width pill instead of filling the row when no required preset value was set. - Root cause: when `PermissionButton` renders a `<TooltipTrigger asChild>` path (tooltip provided, or disabled-for-permission state), the `<span>` wrapper becomes the actual flex child of the parent row. `className` (e.g. `flex-1`) was forwarded only to the inner `<Button>`, so the span shrank to content width. - Fix: forward `className` to the wrapper span and add `w-full` to the inner Button. Layout classes like `flex-1` now take effect at the flex-child level; visual classes (text/border/hover) still apply to the button. </a>
Automated: grant contributor access to @tolik518 --- <!-- archestra-banner:v1 --> <a href="https://archestra.ai/contributor-onboard" rel="nofollow noreferrer noopener" target="_blank"> <img alt="Archestra Contributor" src="https://raw.githubusercontent.com/archestra-ai/archestra/main/docs/assets/archestra-contributor-banner.webp"/> </a> Co-authored-by: tolik518 <3026792+tolik518@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
/claim archestra-ai#4758
Summary
X-Archestra-Limit-*headers.Testing
git diff --checkpnpmis not installed in this environment.Note: GitHub blocked opening this directly against
archestra-ai/archestrabecause the upstream repository restricts new PRs to prior contributors. This fork PR is based on upstreammaincommitb62f8728197c455833a8cc3542acacc22c1d5ba8.