Skip to content

Merge release-1.8 into develop#8496

Merged
ajtmccarty merged 14 commits intodevelopfrom
release-1.8
Feb 27, 2026
Merged

Merge release-1.8 into develop#8496
ajtmccarty merged 14 commits intodevelopfrom
release-1.8

Conversation

@infrahub-github-bot-app
Copy link
Contributor

Merging release-1.8 into develop after merging pull request #8493.

@infrahub-github-bot-app infrahub-github-bot-app bot requested a review from a team as a code owner February 27, 2026 11:42
@github-actions github-actions bot added the group/backend Issue related to the backend (API Server, Git Agent) label Feb 27, 2026
fatih-acar and others added 4 commits February 27, 2026 13:17
This allows sharing anchored URLs pointing to non-default tabs.

Signed-off-by: Fatih Acar <fatih@opsmill.com>
However, shared links with query parameters (e.g., ?method=graphql) require visiting the page twice before the correct tab is shown.

Root cause: Docusaurus's SSG hydration forces search: '' in the server snapshot (useHistorySelector in historyUtils.js) to avoid React hydration mismatches. The useTabs hook initializes state with defaultValue (the first tab), then syncs the query string value only AFTER the initial render via useIsomorphicLayoutEffect. This means:

Pre-rendered HTML always shows the default tab
On first client render, useState initializes with defaultValue, not the query string
The query string value is applied after mount, but any hash-anchor scroll has already failed because the target content was hidden

Fix: Swizzle Tabs component with a --wrap wrapper
Create docs/src/theme/Tabs/index.tsx — a thin wrapper around the original Tabs that:

Reads the query string from window.location.search on the client
Passes the matching value as defaultValue to the original Tabs component (so useState initializes correctly on the client-side mount)
After hydration, re-scrolls to hash anchors (since the correct tab is now visible)

Why this works
Docusaurus's Tabs component uses key={String(isBrowser)} which causes a full remount after hydration. On the server/hydration pass, isBrowser=false so our wrapper passes the original defaultValue. After hydration, React remounts with isBrowser=true, our wrapper reads the query string from window.location.search, and the original Tabs receives the correct defaultValue for its useState initializer.
The --wrap swizzle pattern is Docusaurus's official extension mechanism — safe across upgrades.

Signed-off-by: Fatih Acar <fatih@opsmill.com>
@fatih-acar fatih-acar requested review from a team as code owners February 27, 2026 12:29
@github-actions github-actions bot added the type/documentation Improvements or additions to documentation label Feb 27, 2026
@codspeed-hq
Copy link

codspeed-hq bot commented Feb 27, 2026

Merging this PR will not alter performance

✅ 12 untouched benchmarks


Comparing release-1.8 (1cbe9af) with develop (8a2342e)

Open in CodSpeed

@github-actions github-actions bot added the group/frontend Issue related to the frontend (React) label Feb 27, 2026
ogenstad and others added 5 commits February 27, 2026 15:40
* make sure input number pool is validated for template instances

* typing fix

* prevent swallowing `handle_pool` errors during update mutation
* return latest diff for merged branch

* update comment

* prevent updating diff for merged branch

* allow getting diff for PC on deleted branch

* one more test case for deleted branch and invalid PC ID
* make sure input number pool is validated for template instances

* prevent swallowing `handle_pool` errors during update mutation

* allow updating pools by name

* fix intermittent unrelated unit test failure
@ajtmccarty ajtmccarty merged commit 175a0e9 into develop Feb 27, 2026
135 of 137 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

group/backend Issue related to the backend (API Server, Git Agent) group/frontend Issue related to the frontend (React) type/documentation Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants