Skip to content

fix(docs): breadcrumb APIs only return category/docs items, ignoring links#11616

Merged
slorber merged 4 commits intofacebook:mainfrom
Chesars:fix/generated-index-cross-category-link
Dec 22, 2025
Merged

fix(docs): breadcrumb APIs only return category/docs items, ignoring links#11616
slorber merged 4 commits intofacebook:mainfrom
Chesars:fix/generated-index-cross-category-link

Conversation

@Chesars
Copy link
Copy Markdown
Contributor

@Chesars Chesars commented Dec 11, 2025

Pre-flight checklist

Motivation

Fixes #11612

When a sidebar link in one category points to a generated-index page URL from another category, Docusaurus incorrectly renders the page using items from the link's origin category instead of the target category's actual items.

Example:

  • Category A has docs (doc1, doc2) and a link pointing to /docs/category-b
  • Category B has a generated-index at /category-b containing items (item1, item2, item3)

/docs/category-b displays cards for item1, item2, item3
(bug): The page displays cards for doc1, doc2 from Category A

getSidebarBreadcrumbs() does a depth-first search that returns on the first match. If Category A appears before Category B in the sidebar, it finds the link in Category A first and returns Category A as the "owner" of the URL.

Solution

Use a two-pass approach when onlyCategories: true (used by useCurrentSidebarCategory()):

  1. Look for categories that directly own the URL (category.href === pathname)
  2. If not found, fall back to finding via links (to support doc pages)

This ensures generated-index pages display their correct category's items, while maintaining backwards compatibility for regular doc pages.

Test Plan

Added a regression test in docsUtils.test.tsx that verifies:

  • When Category A has a link pointing to Category B's URL
  • And Category B has href set to that URL (via generated-index)
  • useCurrentSidebarCategory() returns Category B (the owner), not Category A

Related issues/PRs

Closes #11612

…search

When a sidebar link in one category points to a generated-index page URL
from another category, the breadcrumb search would incorrectly return the
link's parent category instead of the category that owns the URL.

This fix uses a two-pass approach when searching for the current sidebar
category:
1. First pass: Look for categories that directly own the URL (category.href)
2. Second pass: If not found, fall back to finding via links (for doc pages)

This ensures generated-index pages display their correct category's items
even when another category has a link pointing to the same URL.

Closes facebook#11612
@meta-cla
Copy link
Copy Markdown

meta-cla Bot commented Dec 11, 2025

Hi @Chesars!

Thank you for your pull request and welcome to our community.

Action Required

In order to merge any pull request (code, docs, etc.), we require contributors to sign our Contributor License Agreement, and we don't seem to have one on file for you.

Process

In order for us to review and merge your suggested changes, please sign at https://code.facebook.com/cla. If you are contributing on behalf of someone else (eg your employer), the individual CLA may not be sufficient and your employer may need to sign the corporate CLA.

Once the CLA is signed, our tooling will perform checks and validations. Afterwards, the pull request will be tagged with CLA signed. The tagging process may take up to 1 hour after signing. Please give it that time before contacting us about it.

If you have received this in error or have any questions, please contact us at [email protected]. Thanks!

@netlify
Copy link
Copy Markdown

netlify Bot commented Dec 11, 2025

[V2]

Name Link
🔨 Latest commit 76ae622
🔍 Latest deploy log https://app.netlify.com/projects/docusaurus-2/deploys/694968441802e6000893828d
😎 Deploy Preview https://deploy-preview-11616--docusaurus-2.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@meta-cla
Copy link
Copy Markdown

meta-cla Bot commented Dec 11, 2025

Thank you for signing our Contributor License Agreement. We can now accept your code for this (and any) Meta Open Source project. Thanks!

@meta-cla meta-cla Bot added the CLA Signed Signed Facebook CLA label Dec 11, 2025
@meta-cla
Copy link
Copy Markdown

meta-cla Bot commented Dec 11, 2025

Thank you for signing our Contributor License Agreement. We can now accept your code for this (and any) Meta Open Source project. Thanks!

@slorber slorber added the Argos Add this label to run UI visual regression tests. See argos.yml GH action. label Dec 22, 2025
@argos-ci
Copy link
Copy Markdown

argos-ci Bot commented Dec 22, 2025

The latest updates on your projects. Learn more about Argos notifications ↗︎

Build Status Details Updated (UTC)
default (Inspect) ✅ No changes detected - Dec 22, 2025, 4:02 PM

@slorber
Copy link
Copy Markdown
Collaborator

slorber commented Dec 22, 2025

Thanks for catching this bug.

Your code seems to work, however I think it also makes sense to always favor category href over link href even for the regular breadcrumb case, so I reworked/simplified the logic and added an extra test for it.

To be honest, I'm not even sure we need this 2-pass approach. Is there any good reason to show a link item in a breadcrumb?

For now let's be conservative, but I think in #8008 and #6517 we may have added tests for something that shouldn't be supported in the first place?

@slorber
Copy link
Copy Markdown
Collaborator

slorber commented Dec 22, 2025

Yeah so it turns ouf that the 2-pass approach wouldn't completely solve the problem: this only works if your link targets a category, but there's another edge case to consider: linking to a doc.

After looking at the history (#6517) at the time this was implemented, there was no way on the frontend to distinguish between a doc link (sidebar item type doc) from a regular link (sidebar item type link). Now that we coan make that distinction, we can simply ignore the items that are not associated to a doc, because I see no good reason for a non-doc link to appear in a breadcrumb.

@slorber slorber changed the title fix(docs): prioritize category href over links in sidebar breadcrumb search fix(docs): breadcrumb APIs should only consoder category/docs as breadcrumb items (ignoring links) Dec 22, 2025
@slorber slorber added the pr: bug fix This PR fixes a bug in a past release. label Dec 22, 2025
@slorber slorber changed the title fix(docs): breadcrumb APIs should only consoder category/docs as breadcrumb items (ignoring links) fix(docs): breadcrumb APIs only return category/docs items, ignoring links Dec 22, 2025
@slorber slorber merged commit 7f5d612 into facebook:main Dec 22, 2025
45 of 47 checks passed
@Chesars Chesars deleted the fix/generated-index-cross-category-link branch December 22, 2025 18:20
@Chesars
Copy link
Copy Markdown
Contributor Author

Chesars commented Jan 17, 2026

Thanks @slorber! Is this included in some version for LiteLLM to update the docs site?

@slorber
Copy link
Copy Markdown
Collaborator

slorber commented Jan 19, 2026

Not yet included but will be in v3.10

@Chesars
Copy link
Copy Markdown
Contributor Author

Chesars commented Jan 21, 2026

Ok. Thanks!

Thiladev pushed a commit to Thiladev/effect-fc that referenced this pull request Apr 23, 2026
This PR contains the following updates:

| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
| [@docusaurus/core](https://github.com/facebook/docusaurus) ([source](https://github.com/facebook/docusaurus/tree/HEAD/packages/docusaurus)) | [`3.9.2` → `3.10.0`](https://renovatebot.com/diffs/npm/@docusaurus%2fcore/3.9.2/3.10.0) | ![age](https://developer.mend.io/api/mc/badges/age/npm/@docusaurus%2fcore/3.10.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@docusaurus%2fcore/3.9.2/3.10.0?slim=true) |
| [@docusaurus/module-type-aliases](https://github.com/facebook/docusaurus) ([source](https://github.com/facebook/docusaurus/tree/HEAD/packages/docusaurus-module-type-aliases)) | [`3.9.2` → `3.10.0`](https://renovatebot.com/diffs/npm/@docusaurus%2fmodule-type-aliases/3.9.2/3.10.0) | ![age](https://developer.mend.io/api/mc/badges/age/npm/@docusaurus%2fmodule-type-aliases/3.10.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@docusaurus%2fmodule-type-aliases/3.9.2/3.10.0?slim=true) |
| [@docusaurus/preset-classic](https://github.com/facebook/docusaurus) ([source](https://github.com/facebook/docusaurus/tree/HEAD/packages/docusaurus-preset-classic)) | [`3.9.2` → `3.10.0`](https://renovatebot.com/diffs/npm/@docusaurus%2fpreset-classic/3.9.2/3.10.0) | ![age](https://developer.mend.io/api/mc/badges/age/npm/@docusaurus%2fpreset-classic/3.10.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@docusaurus%2fpreset-classic/3.9.2/3.10.0?slim=true) |
| [@docusaurus/tsconfig](https://github.com/facebook/docusaurus) ([source](https://github.com/facebook/docusaurus/tree/HEAD/packages/docusaurus-tsconfig)) | [`3.9.2` → `3.10.0`](https://renovatebot.com/diffs/npm/@docusaurus%2ftsconfig/3.9.2/3.10.0) | ![age](https://developer.mend.io/api/mc/badges/age/npm/@docusaurus%2ftsconfig/3.10.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@docusaurus%2ftsconfig/3.9.2/3.10.0?slim=true) |
| [@docusaurus/types](https://github.com/facebook/docusaurus) ([source](https://github.com/facebook/docusaurus/tree/HEAD/packages/docusaurus-types)) | [`3.9.2` → `3.10.0`](https://renovatebot.com/diffs/npm/@docusaurus%2ftypes/3.9.2/3.10.0) | ![age](https://developer.mend.io/api/mc/badges/age/npm/@docusaurus%2ftypes/3.10.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@docusaurus%2ftypes/3.9.2/3.10.0?slim=true) |
| [@effect/language-service](https://github.com/Effect-TS/language-service) | [`^0.84.2` → `^0.85.0`](https://renovatebot.com/diffs/npm/@effect%2flanguage-service/0.84.3/0.85.1) | ![age](https://developer.mend.io/api/mc/badges/age/npm/@effect%2flanguage-service/0.85.1?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@effect%2flanguage-service/0.84.3/0.85.1?slim=true) |

---

### Release Notes

<details>
<summary>facebook/docusaurus (@&#8203;docusaurus/core)</summary>

### [`v3.10.0`](https://github.com/facebook/docusaurus/blob/HEAD/CHANGELOG.md#3100-2026-04-07)

[Compare Source](facebook/docusaurus@v3.9.2...v3.10.0)

##### 🚀 New Feature

- `docusaurus-types`, `docusaurus`
  - [#&#8203;11896](facebook/docusaurus#11896) feat(core): add `future.v4.mdx1CompatDisabledByDefault` flag ([@&#8203;slorber](https://github.com/slorber))
  - [#&#8203;11797](facebook/docusaurus#11797) feat(core): promote `siteConfig.storage` to stable + add `future.v4.siteStorageNamespacing` flag \[Claude] ([@&#8203;slorber](https://github.com/slorber))
  - [#&#8203;11571](facebook/docusaurus#11571) feat(core): support custom html elements in head tags ([@&#8203;lebalz](https://github.com/lebalz))
- `create-docusaurus`
  - [#&#8203;11897](facebook/docusaurus#11897) feat(create-docusaurus): update init template to `.mdx` extension and strict MDX syntax ([@&#8203;slorber](https://github.com/slorber))
  - [#&#8203;11696](facebook/docusaurus#11696) feat(create-docusaurus): Newly initialized TS sites should use "strict: true" ([@&#8203;slorber](https://github.com/slorber))
  - [#&#8203;11611](facebook/docusaurus#11611) feat(create-docusaurus): enable creation in current directory ([@&#8203;Mcheung7272](https://github.com/Mcheung7272))
- Other
  - [#&#8203;11874](facebook/docusaurus#11874) feat(ci): improve npm supply chain security - improve Dependabot config ([@&#8203;slorber](https://github.com/slorber))
  - [#&#8203;11712](facebook/docusaurus#11712) feat(publish): Use trusted publishing (OIDC) for canary releases ([@&#8203;slorber](https://github.com/slorber))
- `create-docusaurus`, `docusaurus-bundler`, `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-plugin-content-pages`, `docusaurus-plugin-pwa`, `docusaurus-types`, `docusaurus`
  - [#&#8203;11802](facebook/docusaurus#11802) feat(core): Docusaurus Faster is stable + v4 future flag turns it on by default ([@&#8203;slorber](https://github.com/slorber))
- `docusaurus-mdx-loader`, `docusaurus-utils`, `docusaurus`
  - [#&#8203;11777](facebook/docusaurus#11777) feat(cli): `write-heading-ids` CLI now supports the `--syntax` and `--migrate` options ([@&#8203;slorber](https://github.com/slorber))
- `docusaurus-mdx-loader`
  - [#&#8203;11755](facebook/docusaurus#11755) feat(mdx-loader): add support for explicit `headingId` based on MD/MDX comments ([@&#8203;slorber](https://github.com/slorber))
- `docusaurus-theme-live-codeblock`, `docusaurus-theme-translations`
  - [#&#8203;11675](facebook/docusaurus#11675) feat(theme-live-codeblock): reset button + wire `position` prop ([@&#8203;NPX2218](https://github.com/NPX2218))
- `docusaurus-theme-classic`, `docusaurus-theme-common`
  - [#&#8203;11734](facebook/docusaurus#11734) feat(theme): Split `<DocCard>`, improve extensibility, better handling of emoji icons, stable classNames ([@&#8203;slorber](https://github.com/slorber))
  - [#&#8203;11733](facebook/docusaurus#11733) feat(theme): Use React context for `<Tabs>`, allow custom `<TabItem>` components ([@&#8203;slorber](https://github.com/slorber))
- `docusaurus-faster`, `docusaurus`
  - [#&#8203;11715](facebook/docusaurus#11715) feat(bundler): upgrade to Rspack 1.7, remove useless experimental feature flags ([@&#8203;slorber](https://github.com/slorber))
- `docusaurus-plugin-content-pages`
  - [#&#8203;11666](facebook/docusaurus#11666) feat(pages): add support for Markdown file path links ([@&#8203;VedantMadane](https://github.com/VedantMadane))
- `docusaurus-mdx-loader`, `docusaurus-theme-classic`
  - [#&#8203;11642](facebook/docusaurus#11642) feat(mdx-loader): add admonitions directive support for class/id shortcuts ([@&#8203;lebalz](https://github.com/lebalz))
- `docusaurus-theme-classic`
  - [#&#8203;11635](facebook/docusaurus#11635) feat(theme): add MDXComponents/Li to swizzle config ([@&#8203;moskalakamil](https://github.com/moskalakamil))
- `docusaurus-theme-search-algolia`
  - [#&#8203;11581](facebook/docusaurus#11581) feat(theme-search-algolia): allow overriding transformSearchClient ([@&#8203;hugohaggmark](https://github.com/hugohaggmark))
  - [#&#8203;11541](facebook/docusaurus#11541) feat(theme-search-algolia): add support for DocSearch v4.3.2 and new Suggested Questions ([@&#8203;NatanTechofNY](https://github.com/NatanTechofNY))
- `create-docusaurus`, `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-plugin-content-pages`, `docusaurus-plugin-sitemap`, `docusaurus-types`, `docusaurus-utils`, `docusaurus`
  - [#&#8203;11512](facebook/docusaurus#11512) feat(core): New siteConfig `future.experimental_vcs` API + `future.experimental_faster.gitEagerVcs` flag ([@&#8203;slorber](https://github.com/slorber))

##### 🐛 Bug Fix

- `docusaurus`
  - [#&#8203;11844](facebook/docusaurus#11844) fix(core): fix `url.resolve()` Node.js deprecation warning ([@&#8203;slorber](https://github.com/slorber))
  - [#&#8203;11833](facebook/docusaurus#11833) fix(core): upgrade serve handler min version to for upgrade users to a secure version ([@&#8203;BearAlliance](https://github.com/BearAlliance))
  - [#&#8203;11763](facebook/docusaurus#11763) fix(cli): fix `write-heading-ids` CLI when no files provided ([@&#8203;slorber](https://github.com/slorber))
  - [#&#8203;11693](facebook/docusaurus#11693) fix(core): Remove deprecated experiments.lazyBarrel config for RsPack ([@&#8203;VedikaGupt](https://github.com/VedikaGupt))
  - [#&#8203;11604](facebook/docusaurus#11604) fix(core): webpack aliases shouldn't be created for test files and typedefs ([@&#8203;slorber](https://github.com/slorber))
  - [#&#8203;11603](facebook/docusaurus#11603) fix(core): Fix openBrowser AppleScript support for Arc ([@&#8203;slorber](https://github.com/slorber))
  - [#&#8203;11579](facebook/docusaurus#11579) fix(core): in `isInternalUrl()`, URI protocol scheme detection should implement the spec more strictly ([@&#8203;slorber](https://github.com/slorber))
  - [#&#8203;11550](facebook/docusaurus#11550) fix(core): optimize i18n integration for site builds + improve inference of locale config ([@&#8203;slorber](https://github.com/slorber))
- `docusaurus-faster`, `docusaurus`
  - [#&#8203;11817](facebook/docusaurus#11817) fix(faster): upgrade Rspack, fix Yarn PnP support ([@&#8203;slorber](https://github.com/slorber))
- `create-docusaurus`, `docusaurus-logger`, `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-plugin-google-gtag`, `docusaurus-plugin-pwa`, `docusaurus`
  - [#&#8203;11843](facebook/docusaurus#11843) fix(create-docusaurus): fix support for TypeScript 6.0 + fix our CI ([@&#8203;slorber](https://github.com/slorber))
- `docusaurus-utils`
  - [#&#8203;11804](facebook/docusaurus#11804) fix(utils): Git Eager VSC should have better DX ([@&#8203;slorber](https://github.com/slorber))
- `docusaurus-theme-classic`
  - [#&#8203;11796](facebook/docusaurus#11796) fix(theme): restore copy-text-to-clipboard as lazy fallback for non-secure contexts ([@&#8203;dmoranp](https://github.com/dmoranp))
  - [#&#8203;11513](facebook/docusaurus#11513) fix(a11y): add Space key support for navbar dropdowns ([@&#8203;TheCyperpunk](https://github.com/TheCyperpunk))
  - [#&#8203;11565](facebook/docusaurus#11565) fix(theme): Change code block line from span to div, fix Firefox text selection/copy bug ([@&#8203;slorber](https://github.com/slorber))
- `docusaurus-plugin-content-docs`
  - [#&#8203;11794](facebook/docusaurus#11794) fix(content-docs): translate generated-index category titles in pagination links ([@&#8203;dmoranp](https://github.com/dmoranp))
  - [#&#8203;11743](facebook/docusaurus#11743) fix(content-docs): use category key for generated-index translation lookup ([@&#8203;4RH1T3CT0R7](https://github.com/4RH1T3CT0R7))
  - [#&#8203;11616](facebook/docusaurus#11616) fix(docs): breadcrumb APIs only return category/docs items, ignoring links ([@&#8203;Chesars](https://github.com/Chesars))
- `docusaurus-plugin-google-gtag`
  - [#&#8203;11770](facebook/docusaurus#11770) fix(create-docusaurus): update [@&#8203;types/gtag](https://github.com/types/gtag).js to 0.0.20 ([@&#8203;fresh3nough](https://github.com/fresh3nough))
- `docusaurus-theme-search-algolia`
  - [#&#8203;11683](facebook/docusaurus#11683) fix(algolia): upgrade to DocSearch 4.5 + fix types ([@&#8203;slorber](https://github.com/slorber))
  - [#&#8203;11560](facebook/docusaurus#11560) fix(theme-search-algolia): preserve query strings in useSearchResultUrlProcessor ([@&#8203;pyrytakala](https://github.com/pyrytakala))
- `docusaurus-plugin-content-blog`
  - [#&#8203;11736](facebook/docusaurus#11736) fix(content-blog): fix wrong path variable in feed XSLT CSS file validation ([@&#8203;akshatsinha0](https://github.com/akshatsinha0))
  - [#&#8203;11577](facebook/docusaurus#11577) fix(blog): Fix author paginated page url: `/blog/authors/<author>/page/2` ([@&#8203;slorber](https://github.com/slorber))
  - [#&#8203;11562](facebook/docusaurus#11562) chore(blog): refactor blog Content, remove useless `blogListPaginated` attribute ([@&#8203;slorber](https://github.com/slorber))
  - [#&#8203;11559](facebook/docusaurus#11559) fix(content-blog): filter unlisted posts from author pages ([@&#8203;pyrytakala](https://github.com/pyrytakala))
- `docusaurus-theme-classic`, `docusaurus-theme-common`
  - [#&#8203;11713](facebook/docusaurus#11713) fix(a11y): remove `useKeyboardNavigation` hook ([@&#8203;nmggithub](https://github.com/nmggithub))
- `docusaurus-plugin-ideal-image`
  - [#&#8203;11659](facebook/docusaurus#11659) fix(ideal-image): `<IdealImage>` should forward remaining props to the underlying component ([@&#8203;tempoz](https://github.com/tempoz))
- `eslint-plugin`
  - [#&#8203;11587](facebook/docusaurus#11587) fix(eslint-plugin): specify exact type of `no-untranslated-text` rule options ([@&#8203;andreww2012](https://github.com/andreww2012))
- `docusaurus-mdx-loader`
  - [#&#8203;11530](facebook/docusaurus#11530) fix(mdx-loader): fix url.parse deprecation warning on Node 24+ ([@&#8203;kou029w](https://github.com/kou029w))
- `docusaurus-bundler`, `docusaurus-faster`, `docusaurus-theme-mermaid`
  - [#&#8203;11496](facebook/docusaurus#11496) fix(faster): fix server build SWC / browserslist node target ([@&#8203;slorber](https://github.com/slorber))

##### :running\_woman: Performance

- `docusaurus-plugin-content-blog`
  - [#&#8203;11707](facebook/docusaurus#11707) refactor(content-blog): decouple getTagsFile from generateBlogPosts ([@&#8203;garry00107](https://github.com/garry00107))
- `create-docusaurus`, `docusaurus-utils`, `docusaurus`
  - [#&#8203;11684](facebook/docusaurus#11684) refactor(create-docusaurus): remove useless dependencies (docusaurus-utils, execa, fs-extra) + simplify some code ([@&#8203;slorber](https://github.com/slorber))
- `create-docusaurus`
  - [#&#8203;11653](facebook/docusaurus#11653) refactor(create-docusaurus): replace lodash with native implementation ([@&#8203;torresgol10](https://github.com/torresgol10))

##### 📝 Documentation

- `docusaurus`
  - [#&#8203;11779](facebook/docusaurus#11779) chore(website): migrate MDX heading ids to comment syntax + upgrade Crowdin parser version ([@&#8203;slorber](https://github.com/slorber))
- Other
  - [#&#8203;11784](facebook/docusaurus#11784) docs(website): change recommended syntax for math equations ([@&#8203;slorber](https://github.com/slorber))
  - [#&#8203;11623](facebook/docusaurus#11623) docs: Add expose-markdown-docusaurus-plugin resource ([@&#8203;FlyNumber](https://github.com/FlyNumber))

##### 🤖 Dependencies

- Other
  - [#&#8203;11886](facebook/docusaurus#11886) chore(deps): bump react-json-view-lite from 2.3.0 to 2.5.0 ([@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot))
  - [#&#8203;11885](facebook/docusaurus#11885) chore(deps): bump postcss from 8.5.4 to 8.5.8 ([@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot))
  - [#&#8203;11888](facebook/docusaurus#11888) chore(deps): bump lodash from 4.17.23 to 4.18.1 ([@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot))
  - [#&#8203;11882](facebook/docusaurus#11882) chore(deps): bump [@&#8203;babel/core](https://github.com/babel/core) from 7.28.6 to 7.29.0 ([@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot))
  - [#&#8203;11880](facebook/docusaurus#11880) chore(deps): bump fs-extra and [@&#8203;types/fs-extra](https://github.com/types/fs-extra) ([@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot))
  - [#&#8203;11861](facebook/docusaurus#11861) chore(deps): bump preactjs/compressed-size-action from 2.9.0 to 2.9.1 ([@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot))
  - [#&#8203;11851](facebook/docusaurus#11851) chore(deps): bump handlebars from 4.7.7 to 4.7.9 ([@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot))
  - [#&#8203;11849](facebook/docusaurus#11849) chore(deps): bump convict from 6.2.4 to 6.2.5 ([@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot))
  - [#&#8203;11857](facebook/docusaurus#11857) chore(deps): bump node-forge from 1.3.2 to 1.4.0 ([@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot))
  - [#&#8203;11838](facebook/docusaurus#11838) chore(deps-dev): bump picomatch from 2.3.1 to 2.3.2 ([@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot))
  - [#&#8203;11822](facebook/docusaurus#11822) chore(deps): bump flatted from 3.3.1 to 3.4.2 ([@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot))
  - [#&#8203;11810](facebook/docusaurus#11810) chore(deps): bump marocchino/sticky-pull-request-comment from 2.9.4 to 3.0.2 ([@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot))
  - [#&#8203;11811](facebook/docusaurus#11811) chore(deps): bump treosh/lighthouse-ci-action from 12.6.1 to 12.6.2 ([@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot))
  - [#&#8203;11813](facebook/docusaurus#11813) chore(deps): bump socket.io-parser from 4.2.4 to 4.2.6 ([@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot))
  - [#&#8203;11806](facebook/docusaurus#11806) chore(deps): bump yauzl from 3.1.3 to 3.2.1 ([@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot))
  - [#&#8203;11789](facebook/docusaurus#11789) chore(deps): bump actions/dependency-review-action from 4.8.3 to 4.9.0 ([@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot))
  - [#&#8203;11790](facebook/docusaurus#11790) chore(deps): bump actions/setup-node from 6.2.0 to 6.3.0 ([@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot))
  - [#&#8203;11776](facebook/docusaurus#11776) chore(deps): bump dompurify from 3.2.5 to 3.3.2 ([@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot))
  - [#&#8203;11768](facebook/docusaurus#11768) chore(deps): bump actions/upload-artifact from 6.0.0 to 7.0.0 ([@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot))
  - [#&#8203;11774](facebook/docusaurus#11774) chore(deps): bump svgo from 3.2.0 to 3.3.3 ([@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot))
  - [#&#8203;11762](facebook/docusaurus#11762) chore(deps): bump rollup from 2.79.2 to 2.80.0 ([@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot))
  - [#&#8203;11756](facebook/docusaurus#11756) chore(deps): bump actions/dependency-review-action from 4.8.2 to 4.8.3 ([@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot))
  - [#&#8203;11692](facebook/docusaurus#11692) chore(deps): bump actions/checkout from 6.0.1 to 6.0.2 ([@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot))
  - [#&#8203;11679](facebook/docusaurus#11679) chore(deps): bump lodash from 4.17.21 to 4.17.23 ([@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot))
  - [#&#8203;11674](facebook/docusaurus#11674) chore(deps): bump actions/setup-node from 6.1.0 to 6.2.0 ([@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot))
  - [#&#8203;11625](facebook/docusaurus#11625) chore(deps): bump preactjs/compressed-size-action from 2.8.0 to 2.9.0 - pin all remaining GitHub actions ([@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot))
  - [#&#8203;11608](facebook/docusaurus#11608) chore(deps): bump actions/setup-node from 6.0.0 to 6.1.0 ([@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot))
  - [#&#8203;11609](facebook/docusaurus#11609) chore(deps): bump actions/checkout from 6.0.0 to 6.0.1 ([@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot))
  - [#&#8203;11589](facebook/docusaurus#11589) chore(deps): bump mdast-util-to-hast from 13.2.0 to 13.2.1 ([@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot))
  - [#&#8203;11574](facebook/docusaurus#11574) chore(deps): bump node-forge from 1.3.1 to 1.3.2 ([@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot))
  - [#&#8203;11557](facebook/docusaurus#11557) chore(deps): bump actions/dependency-review-action from 4.8.1 to 4.8.2 ([@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot))
  - [#&#8203;11569](facebook/docusaurus#11569) chore(deps): bump actions/checkout from 5.0.0 to 6.0.0 ([@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot))
  - [#&#8203;11551](facebook/docusaurus#11551) chore(deps): bump js-yaml from 4.1.0 to 4.1.1 ([@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot))
  - [#&#8203;11514](facebook/docusaurus#11514) chore(deps): bump actions/upload-artifact from 4 to 5 ([@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot))
  - [#&#8203;11515](facebook/docusaurus#11515) chore(deps): bump github/codeql-action from 4.30.9 to 4.31.0 ([@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot))
  - [#&#8203;11504](facebook/docusaurus#11504) chore(deps): bump github/codeql-action from 4.30.8 to 4.30.9 ([@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot))
  - [#&#8203;11503](facebook/docusaurus#11503) chore(deps): bump actions/setup-node from 5.0.0 to 6.0.0 ([@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot))
- `docusaurus-bundler`, `docusaurus-mdx-loader`
  - [#&#8203;11717](facebook/docusaurus#11717) chore(deps): bump webpack from 5.95.0 to 5.104.1 ([@&#8203;dependabot\[bot\]](https://github.com/apps/dependabot))

##### 🔧 Maintenance

- Other
  - [#&#8203;11846](facebook/docusaurus#11846) chore(website): disable `mdx1Compat.comments` on our site ([@&#8203;slorber](https://github.com/slorber))
  - [#&#8203;11845](facebook/docusaurus#11845) chore(website): Upgrade to Algolia v4.6 ([@&#8203;slorber](https://github.com/slorber))
  - [#&#8203;11795](facebook/docusaurus#11795) chore(ci): canary/trusted publishing shouldn't use any caching ([@&#8203;slorber](https://github.com/slorber))
  - [#&#8203;11753](facebook/docusaurus#11753) chore: Add basic AGENTS.md ([@&#8203;slorber](https://github.com/slorber))
  - [#&#8203;11639](facebook/docusaurus#11639) test(jest): simplify Jest snapshotPathNormalizer.ts ([@&#8203;slorber](https://github.com/slorber))
  - [#&#8203;11626](facebook/docusaurus#11626) chore(website): upgrade to DocSearch 4.4.0 + fix little website theming issues ([@&#8203;slorber](https://github.com/slorber))
  - [#&#8203;11553](facebook/docusaurus#11553) chore(ci): upgrade Netlify to Node 24 (LTS) + add `git backfill` command ([@&#8203;slorber](https://github.com/slorber))
- `create-docusaurus`, `docusaurus-babel`, `docusaurus-bundler`, `docusaurus-cssnano-preset`, `docusaurus-faster`, `docusaurus-logger`, `docusaurus-mdx-loader`, `docusaurus-module-type-aliases`, `docusaurus-plugin-client-redirects`, `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-plugin-content-pages`, `docusaurus-plugin-css-cascade-layers`, `docusaurus-plugin-debug`, `docusaurus-plugin-google-analytics`, `docusaurus-plugin-google-gtag`, `docusaurus-plugin-google-tag-manager`, `docusaurus-plugin-ideal-image`, `docusaurus-plugin-pwa`, `docusaurus-plugin-rsdoctor`, `docusaurus-plugin-sitemap`, `docusaurus-plugin-svgr`, `docusaurus-plugin-vercel-analytics`, `docusaurus-preset-classic`, `docusaurus-remark-plugin-npm2yarn`, `docusaurus-theme-classic`, `docusaurus-theme-common`, `docusaurus-theme-live-codeblock`, `docusaurus-theme-mermaid`, `docusaurus-theme-search-algolia`, `docusaurus-theme-translations`, `docusaurus-tsconfig`, `docusaurus-types`, `docusaurus-utils-common`, `docusaurus-utils-validation`, `docusaurus-utils`, `docusaurus`, `eslint-plugin`, `lqip-loader`, `stylelint-copyright`
  - [#&#8203;11823](facebook/docusaurus#11823) chore(ci): fixes for the npm trusted publishing workflow ([@&#8203;slorber](https://github.com/slorber))
  - [#&#8203;11819](facebook/docusaurus#11819) chore(ci): add Trusted Publishing release workflow through dispatch action ([@&#8203;slorber](https://github.com/slorber))
- `docusaurus-plugin-content-docs`, `docusaurus-plugin-ideal-image`, `docusaurus-theme-classic`, `docusaurus-theme-common`, `docusaurus-theme-mermaid`, `docusaurus-utils`, `docusaurus`
  - [#&#8203;11698](facebook/docusaurus#11698) chore(monorepo): upgrade React packages to v19 ([@&#8203;slorber](https://github.com/slorber))
- `docusaurus-cssnano-preset`, `docusaurus-logger`, `docusaurus-mdx-loader`, `docusaurus-plugin-client-redirects`, `docusaurus-plugin-content-blog`, `docusaurus-plugin-content-docs`, `docusaurus-plugin-content-pages`, `docusaurus-plugin-ideal-image`, `docusaurus-remark-plugin-npm2yarn`, `docusaurus-theme-classic`, `docusaurus-theme-common`, `docusaurus-utils-validation`, `docusaurus-utils`, `docusaurus`
  - [#&#8203;11702](facebook/docusaurus#11702) chore(monorepo): upgrade to Jest 30 ([@&#8203;slorber](https://github.com/slorber))
- `docusaurus-theme-classic`, `docusaurus-theme-common`, `docusaurus`
  - [#&#8203;11697](facebook/docusaurus#11697) chore(monorepo): upgrade React monorepo types to v19 ([@&#8203;slorber](https://github.com/slorber))
- `docusaurus-babel`
  - [#&#8203;11586](facebook/docusaurus#11586) chore(deps): remove unused [@&#8203;babel/runtime-corejs3](https://github.com/babel/runtime-corejs3) dependency ([@&#8203;JustinBeckwith](https://github.com/JustinBeckwith))
- `docusaurus-plugin-content-blog`
  - [#&#8203;11564](facebook/docusaurus#11564) test(blog): Add basic tests for blog routes. ([@&#8203;slorber](https://github.com/slorber))

##### :globe\_with\_meridians: Translations

- `docusaurus-theme-translations`
  - [#&#8203;11632](facebook/docusaurus#11632) feat(i18n): add Urdu (ur) default theme translations ([@&#8203;hammadurrehman2006](https://github.com/hammadurrehman2006))
  - [#&#8203;11533](facebook/docusaurus#11533) fix(translations): complete theme translations for Algolia pt-br ([@&#8203;luicfrr](https://github.com/luicfrr))

##### Committers: 41

- Akshat Sinha ([@&#8203;akshatsinha0](https://github.com/akshatsinha0))
- Aleksandar Zgonjan ([@&#8203;acosoft](https://github.com/acosoft))
- Andrew Kazakov ([@&#8203;andreww2012](https://github.com/andreww2012))
- Anukool Pandey ([@&#8203;ANUKOOL324](https://github.com/ANUKOOL324))
- Artem Lytkin ([@&#8203;4RH1T3CT0R7](https://github.com/4RH1T3CT0R7))
- Balthasar Hofer ([@&#8203;lebalz](https://github.com/lebalz))
- Bhoomi Sharma ([@&#8203;Bhoomi070](https://github.com/Bhoomi070))
- Cesar Garcia ([@&#8203;Chesars](https://github.com/Chesars))
- Denny Morán ([@&#8203;dmoranp](https://github.com/dmoranp))
- Dmitriy Rotaenko ([@&#8203;dmitriyrotaenko](https://github.com/dmitriyrotaenko))
- Eoin Shaughnessy ([@&#8203;EoinTrial](https://github.com/EoinTrial))
- Gaurav Sulsule ([@&#8203;garry00107](https://github.com/garry00107))
- Gnana Eswar Gunturu ([@&#8203;GnanaEswarGunturu](https://github.com/GnanaEswarGunturu))
- Hugo Häggmark ([@&#8203;hugohaggmark](https://github.com/hugohaggmark))
- Ivan Torres ([@&#8203;torresgol10](https://github.com/torresgol10))
- Justin Beckwith ([@&#8203;JustinBeckwith](https://github.com/JustinBeckwith))
- Kamil Moskała ([@&#8203;moskalakamil](https://github.com/moskalakamil))
- Kohei Watanabe ([@&#8203;kou029w](https://github.com/kou029w))
- Kuldeep Prasad Mishra ([@&#8203;kmish9685](https://github.com/kmish9685))
- Kunwardeep Singh ([@&#8203;work109677-sudo](https://github.com/work109677-sudo))
- Luiz Carlos ([@&#8203;luicfrr](https://github.com/luicfrr))
- Matthew Cheung ([@&#8203;Mcheung7272](https://github.com/Mcheung7272))
- Max Clayton Clowes ([@&#8203;mcclowes](https://github.com/mcclowes))
- Misrilal ([@&#8203;Misrilal-Sah](https://github.com/Misrilal-Sah))
- Muhammad Hammad ur Rehman ([@&#8203;hammadurrehman2006](https://github.com/hammadurrehman2006))
- Nader Jaber ([@&#8203;FlyNumber](https://github.com/FlyNumber))
- Natan Yagudayev ([@&#8203;NatanTechofNY](https://github.com/NatanTechofNY))
- Neel Bansal ([@&#8203;NPX2218](https://github.com/NPX2218))
- Nick Cacace ([@&#8203;BearAlliance](https://github.com/BearAlliance))
- Noah Gregory ([@&#8203;nmggithub](https://github.com/nmggithub))
- Poetry Of Code ([@&#8203;poetryofcode](https://github.com/poetryofcode))
- Pyry Takala ([@&#8203;pyrytakala](https://github.com/pyrytakala))
- Salman Chishti ([@&#8203;salmanmkc](https://github.com/salmanmkc))
- Sreehari Upas ([@&#8203;SreehariU](https://github.com/SreehariU))
- Sébastien Lorber ([@&#8203;slorber](https://github.com/slorber))
- Vedant Madane ([@&#8203;VedantMadane](https://github.com/VedantMadane))
- Vedika Gupta ([@&#8203;VedikaGupt](https://github.com/VedikaGupt))
- Zoey Greer ([@&#8203;tempoz](https://github.com/tempoz))
- [@&#8203;TheCyperpunk](https://github.com/TheCyperpunk)
- [@&#8203;snikkrs](https://github.com/snikkrs)
- fre$h ([@&#8203;fresh3nough](https://github.com/fresh3nough)

</details>

<details>
<summary>Effect-TS/language-service (@&#8203;effect/language-service)</summary>

### [`v0.85.1`](https://github.com/Effect-TS/language-service/releases/tag/%40effect/language-service%400.85.1)

[Compare Source](https://github.com/Effect-TS/language-service/compare/@effect/[email protected]...@effect/[email protected])

##### Patch Changes

- [#&#8203;726](Effect-TS/language-service#726) [`fd4a8da`](Effect-TS/language-service@fd4a8da) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Update the Effect v4 beta examples and type parsing to match the renamed Context APIs in the latest 4.0.0-beta releases.

- [#&#8203;724](Effect-TS/language-service#724) [`14d5798`](Effect-TS/language-service@14d5798) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Refactor Effect context tracking to use cached node context flags and direct generator lookups.

  This aligns the TypeScript implementation more closely with the TSGo version and simplifies diagnostics that need to detect whether code is inside an Effect generator.

### [`v0.85.0`](https://github.com/Effect-TS/language-service/releases/tag/%40effect/language-service%400.85.0)

[Compare Source](https://github.com/Effect-TS/language-service/compare/@effect/[email protected]...@effect/[email protected])

##### Minor Changes

- [#&#8203;720](Effect-TS/language-service#720) [`4229bb9`](Effect-TS/language-service@4229bb9) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Add the `nestedEffectGenYield` diagnostic to detect `yield* Effect.gen(...)` inside an existing Effect generator context.

  Example:

  ```ts
  Effect.gen(function* () {
    yield* Effect.gen(function* () {
      yield* Effect.succeed(1);
    });
  });
  ```

- [#&#8203;723](Effect-TS/language-service#723) [`da9cc4b`](Effect-TS/language-service@da9cc4b) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Add the `effectMapFlatten` style diagnostic for `Effect.map(...)` immediately followed by `Effect.flatten` in pipe flows.

  Example:

  ```ts
  import { Effect } from "effect";

  const program = Effect.succeed(1).pipe(
    Effect.map((n) => Effect.succeed(n + 1)),
    Effect.flatten
  );
  ```

- [#&#8203;718](Effect-TS/language-service#718) [`0af7c0f`](Effect-TS/language-service@0af7c0f) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Add the `lazyPromiseInEffectSync` diagnostic to catch `Effect.sync(() => Promise...)` patterns and suggest using `Effect.promise` or `Effect.tryPromise` for async work.

  Example:

  ```ts
  Effect.sync(() => Promise.resolve(1));
  ```

- [#&#8203;714](Effect-TS/language-service#714) [`32985b2`](Effect-TS/language-service@32985b2) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Add `processEnv` and `processEnvInEffect` diagnostics to guide `process.env.*` reads toward Effect `Config` APIs.

  Examples:

  - `process.env.PORT`
  - `process.env["API_KEY"]`

- [#&#8203;721](Effect-TS/language-service#721) [`f05ae89`](Effect-TS/language-service@f05ae89) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Add the `unnecessaryArrowBlock` style diagnostic for arrow functions whose block body only returns an expression.

  Example:

  ```ts
  const trim = (value: string) => {
    return value.trim();
  };
  ```

- [#&#8203;717](Effect-TS/language-service#717) [`b77848a`](Effect-TS/language-service@b77848a) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Add `newPromise` and `asyncFunction` effect-native diagnostics to report manual `Promise` construction and async function declarations, with guidance toward Effect-based async control flow.

- [#&#8203;722](Effect-TS/language-service#722) [`6f19858`](Effect-TS/language-service@6f19858) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Add the `effectDoNotation` style diagnostic for `Effect.Do` usage and suggest migrating to `Effect.gen` or `Effect.fn`.

  Example:

  ```ts
  import { pipe } from "effect/Function";
  import { Effect } from "effect";

  const program = pipe(
    Effect.Do,
    Effect.bind("a", () => Effect.succeed(1)),
    Effect.let("b", ({ a }) => a + 1)
  );
  ```

- [#&#8203;716](Effect-TS/language-service#716) [`c3f67b0`](Effect-TS/language-service@c3f67b0) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Add `cryptoRandomUUID` and `cryptoRandomUUIDInEffect` diagnostics for Effect v4 to discourage `crypto.randomUUID()` in favor of the Effect `Random` module, which uses Effect-injected randomness instead of the global crypto implementation.

##### Patch Changes

- [#&#8203;719](Effect-TS/language-service#719) [`d23980a`](Effect-TS/language-service@d23980a) Thanks [@&#8203;mattiamanzati](https://github.com/mattiamanzati)! - Update the Effect v4 beta dependencies to `4.0.0-beta.43` for the language service and v4 harness packages.

</details>

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - At any time (no schedule defined)
- Automerge
  - At any time (no schedule defined)

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://github.com/renovatebot/renovate/discussions) if that's undesired.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xMDkuNSIsInVwZGF0ZWRJblZlciI6IjQzLjExMC4xNCIsInRhcmdldEJyYW5jaCI6Im5leHQiLCJsYWJlbHMiOltdfQ==-->

Reviewed-on: https://git.valverde.cloud/Thilawyn/effect-fc/pulls/45
Co-authored-by: Renovate Bot <[email protected]>
Co-committed-by: Renovate Bot <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Argos Add this label to run UI visual regression tests. See argos.yml GH action. CLA Signed Signed Facebook CLA pr: bug fix This PR fixes a bug in a past release.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

generated-index page shows parent category items when linked from another category

2 participants