Skip to content

[pull] main from lynx-family:main#580

Merged
pull[bot] merged 5 commits intocolinaaa:mainfrom
lynx-family:main
Apr 13, 2026
Merged

[pull] main from lynx-family:main#580
pull[bot] merged 5 commits intocolinaaa:mainfrom
lynx-family:main

Conversation

@pull
Copy link
Copy Markdown

@pull pull bot commented Apr 13, 2026

See Commits and Changes for more details.


Created by pull[bot] (v2.0.0-alpha.4)

Can you help keep this open source service alive? 💖 Please sponsor : )

HuJean and others added 2 commits April 13, 2026 11:23
<!--
  Thank you for submitting a pull request!

We appreciate the time and effort you have invested in making these
changes. Please ensure that you provide enough information to allow
others to review your pull request.

Upon submission, your pull request will be automatically assigned with
reviewers.

If you want to learn more about contributing to this project, please
visit:
https://github.com/lynx-family/lynx-stack/blob/main/CONTRIBUTING.md.
-->

<!-- The AI summary below will be auto-generated - feel free to replace
it with your own. -->

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **Refactor**
* Optimized internal state handling for suspended components to ensure
consistent fallback rendering during server-side render paths.

* **Chores**
* Added a patch release entry documenting the suspense state update for
the React runtime.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

## Checklist

<!--- Check and mark with an "x" -->

- [ ] Tests updated (or not required).
- [ ] Documentation updated (or not required).
- [ ] Changeset added, and when a BREAKING CHANGE occurs, it needs to be
clearly marked (or not required).
## Summary
- replace `rspack.dev`, `rsbuild.dev`, and `rslib.dev` external
references with their `.rs` domains
- update website external-link selectors to match the new `rspack.rs`
and `rsbuild.rs` domains
- preserve non-domain identifiers such as `tools.rspack.devtool`

## Verification
- searched the repository for `rspack.dev|rsbuild.dev|rslib.dev` after
the replacement
- reviewed the diff against `main` to confirm only domain references
were changed
- requested an independent code review of the branch diff

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **Documentation**
* Updated numerous documentation links and in-code documentation
references to the new Rspack/Rsbuild domains across guides, changelogs,
and JSDoc; README credit link updated.
* **Style**
  * Adjusted external-link matching rules to target the updated domains.
* **Chores**
  * Added an empty changeset metadata file.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Signed-off-by: Qingyu Wang <40660121+colinaaa@users.noreply.github.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
@pull pull bot locked and limited conversation to collaborators Apr 13, 2026
@pull pull bot added the ⤵️ pull label Apr 13, 2026
@pull pull bot requested a review from colinaaa as a code owner April 13, 2026 03:37
@pull pull bot added the ⤵️ pull label Apr 13, 2026
PupilTong and others added 3 commits April 13, 2026 14:08
#2439)

…emory management.

<!--
  Thank you for submitting a pull request!

We appreciate the time and effort you have invested in making these
changes. Please ensure that you provide enough information to allow
others to review your pull request.

Upon submission, your pull request will be automatically assigned with
reviewers.

If you want to learn more about contributing to this project, please
visit:
https://github.com/lynx-family/lynx-stack/blob/main/CONTRIBUTING.md.
-->

<!-- The AI summary below will be auto-generated - feel free to replace
it with your own. -->

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **Refactor**
* Switched to weak references for DOM elements and added periodic GC
during idle time to remove stale references.
* Event and style flows now handle collected elements and surface
runtime errors instead of throwing, improving stability.

* **New Features**
* Runtime binding now supports safe set/remove attribute operations that
noop if the element was collected.

* **Tests**
  * Tests updated to expect weak-reference-based element handling.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

## Checklist

<!--- Check and mark with an "x" -->

- [ ] Tests updated (or not required).
- [ ] Documentation updated (or not required).
- [ ] Changeset added, and when a BREAKING CHANGE occurs, it needs to be
clearly marked (or not required).
<!--
  Thank you for submitting a pull request!

We appreciate the time and effort you have invested in making these
changes. Please ensure that you provide enough information to allow
others to review your pull request.

Upon submission, your pull request will be automatically assigned with
reviewers.

If you want to learn more about contributing to this project, please
visit:
https://github.com/lynx-family/lynx-stack/blob/main/CONTRIBUTING.md.
-->

<!-- The AI summary below will be auto-generated - feel free to replace
it with your own. -->

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **New Features**
* Exposed a gesture-detector removal API and added an interactive
Gesture Lifecycle example app with config and build scripts.

* **Bug Fixes**
* Remove stale gesture detectors when gestures are removed, replaced, or
reordered to prevent lingering state and incorrect handlers.

* **Tests**
* Expanded unit and integration tests covering gesture lifecycle,
deduplication, diffs, and detector wiring.

* **Style**
  * Added themed stylesheet for the gesture example UI.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

## Checklist

<!--- Check and mark with an "x" -->

- [x] Tests updated (or not required).
- [x] Documentation updated (or not required).
- [x] Changeset added, and when a BREAKING CHANGE occurs, it needs to be
clearly marked (or not required).
## Summary

close #1300

This PR introduces rstest support for ReactLynx Testing Library and
aligns the public testing APIs around plugin/config composition.

### What changed

- Added a new rstest config entrypoint:
  - `@lynx-js/react/testing-library/rstest-config`
  - `withLynxConfig(...)` for app scenarios (reuse `lynx.config.ts`)
- `withDefaultConfig(...)` for library scenarios (runner defaults only)
- Replaced `rstest-adapter` naming with `rstest-config` naming for
public exports.
  - The old adapter path is removed in this PR.
- Promoted plugin-based Vitest integration:
  - `vitestTestingLibraryPlugin()` is now the recommended API.
- `createVitestConfig` is **deprecated** but still supported for
backward compatibility.
- Updated examples so users can validate both runners:
  - `packages/testing-library/examples/basic`
  - `packages/testing-library/examples/library`
  - `packages/testing-library/examples/react-compiler`
- Updated package exports/docs to reflect the new API surface.

## Recommended usage

### Vitest

```ts
import { defineConfig } from 'vitest/config';
import { vitestTestingLibraryPlugin } from '@lynx-js/react/testing-library/plugins';

export default defineConfig({
  plugins: [vitestTestingLibraryPlugin()],
});
```

### Rstest (app)

```ts
import { defineConfig } from '@rstest/core';
import { withLynxConfig } from '@lynx-js/react/testing-library/rstest-config';

export default defineConfig({
  extends: withLynxConfig(),
});
```

### Rstest (library)

```ts
import { defineConfig } from '@rstest/core';
import { withDefaultConfig } from '@lynx-js/react/testing-library/rstest-config';

export default defineConfig({
  extends: withDefaultConfig(),
});
```

## Notes

- Main CI jobs for this change set are green after reruns for flaky
jobs.
- Codecov patch threshold checks are currently not treated as blocking
for this PR.

## Checklist

- [x] Tests updated (or not required).
- [x] Documentation updated (or not required).

---------

Signed-off-by: Yiming Li <yimingli.cs@gmail.com>
Co-authored-by: 9aoy <9aoyuao@gmail.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Co-authored-by: Qingyu Wang <40660121+colinaaa@users.noreply.github.com>
@pull pull bot merged commit b1ad1b9 into colinaaa:main Apr 13, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants