Skip to content

feat(web): fully support MTS#569

Merged
PupilTong merged 1 commit intolynx-family:mainfrom
PupilTong:p/hw/support-mts-ref
Apr 17, 2025
Merged

feat(web): fully support MTS#569
PupilTong merged 1 commit intolynx-family:mainfrom
PupilTong:p/hw/support-mts-ref

Conversation

@PupilTong
Copy link
Collaborator

@PupilTong PupilTong commented Apr 16, 2025

  • mainthread event
  • mainthread ref
  • runOnMainThread/runOnBackground
  • ref.current.xx

After this commit:

  • runWorklet will be a mutable variable
  • implment lynx.getJSContext() on main thread context
  • support sending event main <------> bg

close Support MTS #54

* mainthread event
* mainthread ref
* runOnMainThread/runOnBackground
* ref.current.xx

After this commit:

* `runWorklet` will be a mutable variable
* implment lynx.getJSContext() on main thread context
* support sending event main <------> bg

close Support MTS #54
@changeset-bot
Copy link

changeset-bot bot commented Apr 16, 2025

🦋 Changeset detected

Latest commit: 399f749

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 9 packages
Name Type
@lynx-js/web-mainthread-apis Patch
@lynx-js/web-worker-runtime Patch
@lynx-js/react-webpack-plugin Patch
@lynx-js/web-constants Patch
@lynx-js/web-elements Patch
@lynx-js/react-rsbuild-plugin Patch
@lynx-js/web-core Patch
@lynx-js/react-alias-rsbuild-plugin Patch
@lynx-js/web-worker-rpc Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot reviewed 14 out of 14 changed files in this pull request and generated no comments.

Comments suppressed due to low confidence (2)

packages/web-platform/web-tests/tests/react/basic-mts-mainthread-ref/index.jsx:22

  • [nitpick] The attribute 'main-thread:bindtap' is lower-case while similar attributes in other tests (e.g., 'main-thread:bindTap') use camel case. Consider standardizing the attribute naming for consistency.
main-thread:bindtap={handleTap}

packages/web-platform/web-tests/tests/react/basic-mts-run-on-background/index.jsx:10

  • [nitpick] Attribute naming is inconsistent with the similar attribute in 'basic-mts-mainthread-ref'; standardize on one format (either camelCase or lower-case) to avoid potential confusion.
main-thread:bindTap={() => {

@PupilTong PupilTong changed the title Now use support the following usage feat(web): fully support MTS Apr 16, 2025
@codecov
Copy link

codecov bot commented Apr 16, 2025

Bundle Report

Changes will increase total bundle size by 272 bytes (0.04%) ⬆️. This is within the configured threshold ✅

Detailed changes
Bundle name Size Change
@lynx-js/web-explorer-web-array-push 315.48kB 272 bytes (0.09%) ⬆️

Affected Assets, Files, and Routes:

view changes for bundle: @lynx-js/web-explorer-web-array-push

Assets Changed:

Asset Name Size Change Total Size Change (%)
static/js/index.js 53 bytes 148.39kB 0.04%
static/js/async/151.js (New) 84.91kB 84.91kB 100.0% 🚀
static/js/async/159.js (Deleted) -84.69kB 0 bytes -100.0% 🗑️

@codspeed-hq
Copy link

codspeed-hq bot commented Apr 16, 2025

CodSpeed Performance Report

Merging #569 will not alter performance

Comparing PupilTong:p/hw/support-mts-ref (399f749) with main (579e2a8)

Summary

✅ 1 untouched benchmarks

@Yradex Yradex added this pull request to the merge queue Apr 17, 2025
@PupilTong PupilTong removed this pull request from the merge queue due to a manual request Apr 17, 2025
@PupilTong PupilTong added this pull request to the merge queue Apr 17, 2025
Merged via the queue into lynx-family:main with commit f1ca29b Apr 17, 2025
27 of 28 checks passed
@PupilTong PupilTong deleted the p/hw/support-mts-ref branch April 17, 2025 06:42
@colinaaa colinaaa mentioned this pull request Apr 17, 2025
2 tasks
colinaaa added a commit that referenced this pull request Apr 17, 2025
<!--
  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.
-->

## Summary

- Remove react-rsbuild-plugin from #569.
- Remove changeset from #530
- Replace `Rsbuild/core` with `Rsbuild`

<!-- Can you explain the reasoning behind implementing this change? What
problem or issue does this pull request resolve? -->

<!-- It would be helpful if you could provide any relevant context, such
as GitHub issues or related discussions. -->

## Checklist

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

- [ ] Tests updated (or not required).
- [ ] Documentation updated (or not required).
colinaaa pushed a commit that referenced this pull request Apr 21, 2025
This PR was opened by the [Changesets
release](https://github.com/changesets/action) GitHub action. When
you're ready to do a release, you can merge this and the packages will
be published to npm automatically. If you're not ready to do a release
yet, that's fine, whenever you add more changesets to main, this PR will
be updated.


# Releases
## @lynx-js/web-core@0.12.0

### Minor Changes

- feat: improve compatibility for chrome 108 & support linear-gradient
for nested x-text
([#590](#590))

    **This is a breaking change**

    -   Please upgrade your `@lynx-js/web-elements` to >=0.6.0
    -   Please upgrade your `@lynx-js/web-core` to >=0.12.0
    -   The compiled lynx template json won't be impacted.

On chrome 108, the `-webkit-background-clip:text` cannot be computed by
a `var(--css-var-value-text)`

    Therefore we move the logic into style transformation logic.

    Now the following status is supported

        <text style="color:linear-gradient()">
          <text>
          <text>
        </text>

### Patch Changes

- feat: allow user to implement custom template load function
([#587](#587))

    ```js
    lynxView.customTemplateLoader = (url) => {
      return (await (await fetch(url, {
        method: 'GET',
      })).json());
    };
    ```

- feat: support mts event with target methods
([#564](#564))

After this commit, developers are allowed to invoke
`event.target.setStyleProperty` in mts handler

- fix: crash on removing a id attribute
([#582](#582))

- Updated dependencies
\[[`f1ca29b`](f1ca29b)]:
    -   @lynx-js/web-worker-runtime@0.12.0
    -   @lynx-js/web-constants@0.12.0
    -   @lynx-js/web-worker-rpc@0.12.0

## @lynx-js/web-elements@0.6.0

### Minor Changes

- fix: When list-type is not specified, it is treated as single
formatting. ([#535](#535))

- feat: improve compatibility for chrome 108 & support linear-gradient
for nested x-text
([#590](#590))

    **This is a breaking change**

    -   Please upgrade your `@lynx-js/web-elements` to >=0.6.0
    -   Please upgrade your `@lynx-js/web-core` to >=0.12.0
    -   The compiled lynx template json won't be impacted.

On chrome 108, the `-webkit-background-clip:text` cannot be computed by
a `var(--css-var-value-text)`

    Therefore we move the logic into style transformation logic.

    Now the following status is supported

        <text style="color:linear-gradient()">
          <text>
          <text>
        </text>

### Patch Changes

- feat: fully support MTS
([#569](#569))

    Now use support the following usage

    -   mainthread event
    -   mainthread ref
    -   runOnMainThread/runOnBackground
    -   ref.current.xx

- feat: support `layoutchange` event for x-overlay-ng
([#519](#519))

- fix: position:fixed not work in scroll-view
([#580](#580))

- fix: x-list may cause error: 'Resizeobserver loop completed with
undelivered notifications'.
([#541](#541))

- fix: refactor foldview slot offset logic
([#575](#575))

- fix: improve x-foldview-ng
([#513](#513))

    -   support fling for touch event driven scrolling
- allow the height of `x-foldview-slot-ng` + `x-foldview-toolbar-ng` >
`x-foldview-ng`
- do not prevent horizontal gesture. After this commit we only allow one
direction gesture for one touch (start -> end)

- feat: add list with waterfall
([#331](#331))

## @lynx-js/web-style-transformer@0.3.0

### Minor Changes

- feat: improve compatibility for chrome 108 & support linear-gradient
for nested x-text
([#590](#590))

    **This is a breaking change**

    -   Please upgrade your `@lynx-js/web-elements` to >=0.6.0
    -   Please upgrade your `@lynx-js/web-core` to >=0.12.0
    -   The compiled lynx template json won't be impacted.

On chrome 108, the `-webkit-background-clip:text` cannot be computed by
a `var(--css-var-value-text)`

    Therefore we move the logic into style transformation logic.

    Now the following status is supported

        <text style="color:linear-gradient()">
          <text>
          <text>
        </text>

## @lynx-js/react@0.106.5

### Patch Changes

- Fix `lynx.loadLazyBundle` is not a function
([#568](#568))

- fix: flushDelayedLifecycleEvents stack overflow error
([#540](#540))

## @lynx-js/rspeedy@0.9.2

### Patch Changes

- Support cli option `--no-env` to disable loading of .env files
([#483](#483))

- Bump Rsbuild v1.3.8 with Rspack v1.3.5.
([#579](#579))

## @lynx-js/react-rsbuild-plugin@0.9.7

### Patch Changes

- Support overriding SWC configuration.
([#563](#563))

Now you can override configuration like `useDefineForClassFields` using
`tools.swc`.

    ```js
    import { defineConfig } from "@lynx-js/rspeedy";

    export default defineConfig({
      tools: {
        swc: {
          jsc: {
            transform: {
              useDefineForClassFields: true,
            },
          },
        },
      },
    });
    ```

- Updated dependencies
\[[`f1ca29b`](f1ca29b)]:
    -   @lynx-js/react-webpack-plugin@0.6.11
    -   @lynx-js/react-alias-rsbuild-plugin@0.9.7
    -   @lynx-js/react-refresh-webpack-plugin@0.3.2
    -   @lynx-js/web-webpack-plugin@0.6.5

## @lynx-js/web-constants@0.12.0

### Patch Changes

- feat: fully support MTS
([#569](#569))

    Now use support the following usage

    -   mainthread event
    -   mainthread ref
    -   runOnMainThread/runOnBackground
    -   ref.current.xx

-   Updated dependencies \[]:
    -   @lynx-js/web-worker-rpc@0.12.0

## @lynx-js/web-explorer@0.0.5

### Patch Changes

- fix: create a new lynx-view for lynxjs.org
([#566](#566))

- fix: blank screen issue for 0.0.4
([#543](#543))

## @lynx-js/web-mainthread-apis@0.12.0

### Patch Changes

- feat: fully support MTS
([#569](#569))

    Now use support the following usage

    -   mainthread event
    -   mainthread ref
    -   runOnMainThread/runOnBackground
    -   ref.current.xx

- feat: support mts event with target methods
([#564](#564))

After this commit, developers are allowed to invoke
`event.target.setStyleProperty` in mts handler

- fix: crash on removing a id attribute
([#582](#582))

- Updated dependencies
\[[`f1ca29b`](f1ca29b),
[`7edf478`](7edf478)]:
    -   @lynx-js/web-constants@0.12.0
    -   @lynx-js/web-style-transformer@0.3.0

## @lynx-js/web-worker-runtime@0.12.0

### Patch Changes

- feat: fully support MTS
([#569](#569))

    Now use support the following usage

    -   mainthread event
    -   mainthread ref
    -   runOnMainThread/runOnBackground
    -   ref.current.xx

- Updated dependencies
\[[`f1ca29b`](f1ca29b),
[`8ca9fcb`](8ca9fcb),
[`efe6fd7`](efe6fd7)]:
    -   @lynx-js/web-mainthread-apis@0.12.0
    -   @lynx-js/web-constants@0.12.0
    -   @lynx-js/web-worker-rpc@0.12.0

## @lynx-js/react-webpack-plugin@0.6.11

### Patch Changes

- feat: fully support MTS
([#569](#569))

    Now use support the following usage

    -   mainthread event
    -   mainthread ref
    -   runOnMainThread/runOnBackground
    -   ref.current.xx

## @lynx-js/web-webpack-plugin@0.6.5

### Patch Changes

- Updated dependencies
\[[`7edf478`](7edf478)]:
    -   @lynx-js/web-style-transformer@0.3.0

## create-rspeedy@0.9.2



## @lynx-js/react-alias-rsbuild-plugin@0.9.7



## upgrade-rspeedy@0.9.2



## @lynx-js/web-worker-rpc@0.12.0

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
upupming pushed a commit to upupming/lynx-stack that referenced this pull request Apr 22, 2025
This PR was opened by the [Changesets
release](https://github.com/changesets/action) GitHub action. When
you're ready to do a release, you can merge this and the packages will
be published to npm automatically. If you're not ready to do a release
yet, that's fine, whenever you add more changesets to main, this PR will
be updated.


# Releases
## @lynx-js/web-core@0.12.0

### Minor Changes

- feat: improve compatibility for chrome 108 & support linear-gradient
for nested x-text
([lynx-family#590](lynx-family#590))

    **This is a breaking change**

    -   Please upgrade your `@lynx-js/web-elements` to >=0.6.0
    -   Please upgrade your `@lynx-js/web-core` to >=0.12.0
    -   The compiled lynx template json won't be impacted.

On chrome 108, the `-webkit-background-clip:text` cannot be computed by
a `var(--css-var-value-text)`

    Therefore we move the logic into style transformation logic.

    Now the following status is supported

        <text style="color:linear-gradient()">
          <text>
          <text>
        </text>

### Patch Changes

- feat: allow user to implement custom template load function
([lynx-family#587](lynx-family#587))

    ```js
    lynxView.customTemplateLoader = (url) => {
      return (await (await fetch(url, {
        method: 'GET',
      })).json());
    };
    ```

- feat: support mts event with target methods
([lynx-family#564](lynx-family#564))

After this commit, developers are allowed to invoke
`event.target.setStyleProperty` in mts handler

- fix: crash on removing a id attribute
([lynx-family#582](lynx-family#582))

- Updated dependencies
\[[`f1ca29b`](lynx-family@f1ca29b)]:
    -   @lynx-js/web-worker-runtime@0.12.0
    -   @lynx-js/web-constants@0.12.0
    -   @lynx-js/web-worker-rpc@0.12.0

## @lynx-js/web-elements@0.6.0

### Minor Changes

- fix: When list-type is not specified, it is treated as single
formatting. ([lynx-family#535](lynx-family#535))

- feat: improve compatibility for chrome 108 & support linear-gradient
for nested x-text
([lynx-family#590](lynx-family#590))

    **This is a breaking change**

    -   Please upgrade your `@lynx-js/web-elements` to >=0.6.0
    -   Please upgrade your `@lynx-js/web-core` to >=0.12.0
    -   The compiled lynx template json won't be impacted.

On chrome 108, the `-webkit-background-clip:text` cannot be computed by
a `var(--css-var-value-text)`

    Therefore we move the logic into style transformation logic.

    Now the following status is supported

        <text style="color:linear-gradient()">
          <text>
          <text>
        </text>

### Patch Changes

- feat: fully support MTS
([lynx-family#569](lynx-family#569))

    Now use support the following usage

    -   mainthread event
    -   mainthread ref
    -   runOnMainThread/runOnBackground
    -   ref.current.xx

- feat: support `layoutchange` event for x-overlay-ng
([lynx-family#519](lynx-family#519))

- fix: position:fixed not work in scroll-view
([lynx-family#580](lynx-family#580))

- fix: x-list may cause error: 'Resizeobserver loop completed with
undelivered notifications'.
([lynx-family#541](lynx-family#541))

- fix: refactor foldview slot offset logic
([lynx-family#575](lynx-family#575))

- fix: improve x-foldview-ng
([lynx-family#513](lynx-family#513))

    -   support fling for touch event driven scrolling
- allow the height of `x-foldview-slot-ng` + `x-foldview-toolbar-ng` >
`x-foldview-ng`
- do not prevent horizontal gesture. After this commit we only allow one
direction gesture for one touch (start -> end)

- feat: add list with waterfall
([lynx-family#331](lynx-family#331))

## @lynx-js/web-style-transformer@0.3.0

### Minor Changes

- feat: improve compatibility for chrome 108 & support linear-gradient
for nested x-text
([lynx-family#590](lynx-family#590))

    **This is a breaking change**

    -   Please upgrade your `@lynx-js/web-elements` to >=0.6.0
    -   Please upgrade your `@lynx-js/web-core` to >=0.12.0
    -   The compiled lynx template json won't be impacted.

On chrome 108, the `-webkit-background-clip:text` cannot be computed by
a `var(--css-var-value-text)`

    Therefore we move the logic into style transformation logic.

    Now the following status is supported

        <text style="color:linear-gradient()">
          <text>
          <text>
        </text>

## @lynx-js/react@0.106.5

### Patch Changes

- Fix `lynx.loadLazyBundle` is not a function
([lynx-family#568](lynx-family#568))

- fix: flushDelayedLifecycleEvents stack overflow error
([lynx-family#540](lynx-family#540))

## @lynx-js/rspeedy@0.9.2

### Patch Changes

- Support cli option `--no-env` to disable loading of .env files
([lynx-family#483](lynx-family#483))

- Bump Rsbuild v1.3.8 with Rspack v1.3.5.
([lynx-family#579](lynx-family#579))

## @lynx-js/react-rsbuild-plugin@0.9.7

### Patch Changes

- Support overriding SWC configuration.
([lynx-family#563](lynx-family#563))

Now you can override configuration like `useDefineForClassFields` using
`tools.swc`.

    ```js
    import { defineConfig } from "@lynx-js/rspeedy";

    export default defineConfig({
      tools: {
        swc: {
          jsc: {
            transform: {
              useDefineForClassFields: true,
            },
          },
        },
      },
    });
    ```

- Updated dependencies
\[[`f1ca29b`](lynx-family@f1ca29b)]:
    -   @lynx-js/react-webpack-plugin@0.6.11
    -   @lynx-js/react-alias-rsbuild-plugin@0.9.7
    -   @lynx-js/react-refresh-webpack-plugin@0.3.2
    -   @lynx-js/web-webpack-plugin@0.6.5

## @lynx-js/web-constants@0.12.0

### Patch Changes

- feat: fully support MTS
([lynx-family#569](lynx-family#569))

    Now use support the following usage

    -   mainthread event
    -   mainthread ref
    -   runOnMainThread/runOnBackground
    -   ref.current.xx

-   Updated dependencies \[]:
    -   @lynx-js/web-worker-rpc@0.12.0

## @lynx-js/web-explorer@0.0.5

### Patch Changes

- fix: create a new lynx-view for lynxjs.org
([lynx-family#566](lynx-family#566))

- fix: blank screen issue for 0.0.4
([lynx-family#543](lynx-family#543))

## @lynx-js/web-mainthread-apis@0.12.0

### Patch Changes

- feat: fully support MTS
([lynx-family#569](lynx-family#569))

    Now use support the following usage

    -   mainthread event
    -   mainthread ref
    -   runOnMainThread/runOnBackground
    -   ref.current.xx

- feat: support mts event with target methods
([lynx-family#564](lynx-family#564))

After this commit, developers are allowed to invoke
`event.target.setStyleProperty` in mts handler

- fix: crash on removing a id attribute
([lynx-family#582](lynx-family#582))

- Updated dependencies
\[[`f1ca29b`](lynx-family@f1ca29b),
[`7edf478`](lynx-family@7edf478)]:
    -   @lynx-js/web-constants@0.12.0
    -   @lynx-js/web-style-transformer@0.3.0

## @lynx-js/web-worker-runtime@0.12.0

### Patch Changes

- feat: fully support MTS
([lynx-family#569](lynx-family#569))

    Now use support the following usage

    -   mainthread event
    -   mainthread ref
    -   runOnMainThread/runOnBackground
    -   ref.current.xx

- Updated dependencies
\[[`f1ca29b`](lynx-family@f1ca29b),
[`8ca9fcb`](lynx-family@8ca9fcb),
[`efe6fd7`](lynx-family@efe6fd7)]:
    -   @lynx-js/web-mainthread-apis@0.12.0
    -   @lynx-js/web-constants@0.12.0
    -   @lynx-js/web-worker-rpc@0.12.0

## @lynx-js/react-webpack-plugin@0.6.11

### Patch Changes

- feat: fully support MTS
([lynx-family#569](lynx-family#569))

    Now use support the following usage

    -   mainthread event
    -   mainthread ref
    -   runOnMainThread/runOnBackground
    -   ref.current.xx

## @lynx-js/web-webpack-plugin@0.6.5

### Patch Changes

- Updated dependencies
\[[`7edf478`](lynx-family@7edf478)]:
    -   @lynx-js/web-style-transformer@0.3.0

## create-rspeedy@0.9.2



## @lynx-js/react-alias-rsbuild-plugin@0.9.7



## upgrade-rspeedy@0.9.2



## @lynx-js/web-worker-rpc@0.12.0

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
colinaaa added a commit that referenced this pull request Apr 24, 2025
<!--
  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.
-->

## Summary

- Remove react-rsbuild-plugin from #569.
- Remove changeset from #530
- Replace `Rsbuild/core` with `Rsbuild`

<!-- Can you explain the reasoning behind implementing this change? What
problem or issue does this pull request resolve? -->

<!-- It would be helpful if you could provide any relevant context, such
as GitHub issues or related discussions. -->

## Checklist

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

- [ ] Tests updated (or not required).
- [ ] Documentation updated (or not required).
colinaaa pushed a commit that referenced this pull request Apr 24, 2025
This PR was opened by the [Changesets
release](https://github.com/changesets/action) GitHub action. When
you're ready to do a release, you can merge this and the packages will
be published to npm automatically. If you're not ready to do a release
yet, that's fine, whenever you add more changesets to main, this PR will
be updated.


# Releases
## @lynx-js/web-core@0.12.0

### Minor Changes

- feat: improve compatibility for chrome 108 & support linear-gradient
for nested x-text
([#590](#590))

    **This is a breaking change**

    -   Please upgrade your `@lynx-js/web-elements` to >=0.6.0
    -   Please upgrade your `@lynx-js/web-core` to >=0.12.0
    -   The compiled lynx template json won't be impacted.

On chrome 108, the `-webkit-background-clip:text` cannot be computed by
a `var(--css-var-value-text)`

    Therefore we move the logic into style transformation logic.

    Now the following status is supported

        <text style="color:linear-gradient()">
          <text>
          <text>
        </text>

### Patch Changes

- feat: allow user to implement custom template load function
([#587](#587))

    ```js
    lynxView.customTemplateLoader = (url) => {
      return (await (await fetch(url, {
        method: 'GET',
      })).json());
    };
    ```

- feat: support mts event with target methods
([#564](#564))

After this commit, developers are allowed to invoke
`event.target.setStyleProperty` in mts handler

- fix: crash on removing a id attribute
([#582](#582))

- Updated dependencies
\[[`f1ca29b`](f1ca29b)]:
    -   @lynx-js/web-worker-runtime@0.12.0
    -   @lynx-js/web-constants@0.12.0
    -   @lynx-js/web-worker-rpc@0.12.0

## @lynx-js/web-elements@0.6.0

### Minor Changes

- fix: When list-type is not specified, it is treated as single
formatting. ([#535](#535))

- feat: improve compatibility for chrome 108 & support linear-gradient
for nested x-text
([#590](#590))

    **This is a breaking change**

    -   Please upgrade your `@lynx-js/web-elements` to >=0.6.0
    -   Please upgrade your `@lynx-js/web-core` to >=0.12.0
    -   The compiled lynx template json won't be impacted.

On chrome 108, the `-webkit-background-clip:text` cannot be computed by
a `var(--css-var-value-text)`

    Therefore we move the logic into style transformation logic.

    Now the following status is supported

        <text style="color:linear-gradient()">
          <text>
          <text>
        </text>

### Patch Changes

- feat: fully support MTS
([#569](#569))

    Now use support the following usage

    -   mainthread event
    -   mainthread ref
    -   runOnMainThread/runOnBackground
    -   ref.current.xx

- feat: support `layoutchange` event for x-overlay-ng
([#519](#519))

- fix: position:fixed not work in scroll-view
([#580](#580))

- fix: x-list may cause error: 'Resizeobserver loop completed with
undelivered notifications'.
([#541](#541))

- fix: refactor foldview slot offset logic
([#575](#575))

- fix: improve x-foldview-ng
([#513](#513))

    -   support fling for touch event driven scrolling
- allow the height of `x-foldview-slot-ng` + `x-foldview-toolbar-ng` >
`x-foldview-ng`
- do not prevent horizontal gesture. After this commit we only allow one
direction gesture for one touch (start -> end)

- feat: add list with waterfall
([#331](#331))

## @lynx-js/web-style-transformer@0.3.0

### Minor Changes

- feat: improve compatibility for chrome 108 & support linear-gradient
for nested x-text
([#590](#590))

    **This is a breaking change**

    -   Please upgrade your `@lynx-js/web-elements` to >=0.6.0
    -   Please upgrade your `@lynx-js/web-core` to >=0.12.0
    -   The compiled lynx template json won't be impacted.

On chrome 108, the `-webkit-background-clip:text` cannot be computed by
a `var(--css-var-value-text)`

    Therefore we move the logic into style transformation logic.

    Now the following status is supported

        <text style="color:linear-gradient()">
          <text>
          <text>
        </text>

## @lynx-js/react@0.106.5

### Patch Changes

- Fix `lynx.loadLazyBundle` is not a function
([#568](#568))

- fix: flushDelayedLifecycleEvents stack overflow error
([#540](#540))

## @lynx-js/rspeedy@0.9.2

### Patch Changes

- Support cli option `--no-env` to disable loading of .env files
([#483](#483))

- Bump Rsbuild v1.3.8 with Rspack v1.3.5.
([#579](#579))

## @lynx-js/react-rsbuild-plugin@0.9.7

### Patch Changes

- Support overriding SWC configuration.
([#563](#563))

Now you can override configuration like `useDefineForClassFields` using
`tools.swc`.

    ```js
    import { defineConfig } from "@lynx-js/rspeedy";

    export default defineConfig({
      tools: {
        swc: {
          jsc: {
            transform: {
              useDefineForClassFields: true,
            },
          },
        },
      },
    });
    ```

- Updated dependencies
\[[`f1ca29b`](f1ca29b)]:
    -   @lynx-js/react-webpack-plugin@0.6.11
    -   @lynx-js/react-alias-rsbuild-plugin@0.9.7
    -   @lynx-js/react-refresh-webpack-plugin@0.3.2
    -   @lynx-js/web-webpack-plugin@0.6.5

## @lynx-js/web-constants@0.12.0

### Patch Changes

- feat: fully support MTS
([#569](#569))

    Now use support the following usage

    -   mainthread event
    -   mainthread ref
    -   runOnMainThread/runOnBackground
    -   ref.current.xx

-   Updated dependencies \[]:
    -   @lynx-js/web-worker-rpc@0.12.0

## @lynx-js/web-explorer@0.0.5

### Patch Changes

- fix: create a new lynx-view for lynxjs.org
([#566](#566))

- fix: blank screen issue for 0.0.4
([#543](#543))

## @lynx-js/web-mainthread-apis@0.12.0

### Patch Changes

- feat: fully support MTS
([#569](#569))

    Now use support the following usage

    -   mainthread event
    -   mainthread ref
    -   runOnMainThread/runOnBackground
    -   ref.current.xx

- feat: support mts event with target methods
([#564](#564))

After this commit, developers are allowed to invoke
`event.target.setStyleProperty` in mts handler

- fix: crash on removing a id attribute
([#582](#582))

- Updated dependencies
\[[`f1ca29b`](f1ca29b),
[`7edf478`](7edf478)]:
    -   @lynx-js/web-constants@0.12.0
    -   @lynx-js/web-style-transformer@0.3.0

## @lynx-js/web-worker-runtime@0.12.0

### Patch Changes

- feat: fully support MTS
([#569](#569))

    Now use support the following usage

    -   mainthread event
    -   mainthread ref
    -   runOnMainThread/runOnBackground
    -   ref.current.xx

- Updated dependencies
\[[`f1ca29b`](f1ca29b),
[`8ca9fcb`](8ca9fcb),
[`efe6fd7`](efe6fd7)]:
    -   @lynx-js/web-mainthread-apis@0.12.0
    -   @lynx-js/web-constants@0.12.0
    -   @lynx-js/web-worker-rpc@0.12.0

## @lynx-js/react-webpack-plugin@0.6.11

### Patch Changes

- feat: fully support MTS
([#569](#569))

    Now use support the following usage

    -   mainthread event
    -   mainthread ref
    -   runOnMainThread/runOnBackground
    -   ref.current.xx

## @lynx-js/web-webpack-plugin@0.6.5

### Patch Changes

- Updated dependencies
\[[`7edf478`](7edf478)]:
    -   @lynx-js/web-style-transformer@0.3.0

## create-rspeedy@0.9.2



## @lynx-js/react-alias-rsbuild-plugin@0.9.7



## upgrade-rspeedy@0.9.2



## @lynx-js/web-worker-rpc@0.12.0

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
colinaaa added a commit to colinaaa/lynx-stack that referenced this pull request Apr 24, 2025
<!--
  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.
-->

## Summary

- Remove react-rsbuild-plugin from lynx-family#569.
- Remove changeset from lynx-family#530
- Replace `Rsbuild/core` with `Rsbuild`

<!-- Can you explain the reasoning behind implementing this change? What
problem or issue does this pull request resolve? -->

<!-- It would be helpful if you could provide any relevant context, such
as GitHub issues or related discussions. -->

## Checklist

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

- [ ] Tests updated (or not required).
- [ ] Documentation updated (or not required).
colinaaa pushed a commit to colinaaa/lynx-stack that referenced this pull request Apr 24, 2025
This PR was opened by the [Changesets
release](https://github.com/changesets/action) GitHub action. When
you're ready to do a release, you can merge this and the packages will
be published to npm automatically. If you're not ready to do a release
yet, that's fine, whenever you add more changesets to main, this PR will
be updated.


# Releases
## @lynx-js/web-core@0.12.0

### Minor Changes

- feat: improve compatibility for chrome 108 & support linear-gradient
for nested x-text
([lynx-family#590](lynx-family#590))

    **This is a breaking change**

    -   Please upgrade your `@lynx-js/web-elements` to >=0.6.0
    -   Please upgrade your `@lynx-js/web-core` to >=0.12.0
    -   The compiled lynx template json won't be impacted.

On chrome 108, the `-webkit-background-clip:text` cannot be computed by
a `var(--css-var-value-text)`

    Therefore we move the logic into style transformation logic.

    Now the following status is supported

        <text style="color:linear-gradient()">
          <text>
          <text>
        </text>

### Patch Changes

- feat: allow user to implement custom template load function
([lynx-family#587](lynx-family#587))

    ```js
    lynxView.customTemplateLoader = (url) => {
      return (await (await fetch(url, {
        method: 'GET',
      })).json());
    };
    ```

- feat: support mts event with target methods
([lynx-family#564](lynx-family#564))

After this commit, developers are allowed to invoke
`event.target.setStyleProperty` in mts handler

- fix: crash on removing a id attribute
([lynx-family#582](lynx-family#582))

- Updated dependencies
\[[`f1ca29b`](lynx-family@f1ca29b)]:
    -   @lynx-js/web-worker-runtime@0.12.0
    -   @lynx-js/web-constants@0.12.0
    -   @lynx-js/web-worker-rpc@0.12.0

## @lynx-js/web-elements@0.6.0

### Minor Changes

- fix: When list-type is not specified, it is treated as single
formatting. ([lynx-family#535](lynx-family#535))

- feat: improve compatibility for chrome 108 & support linear-gradient
for nested x-text
([lynx-family#590](lynx-family#590))

    **This is a breaking change**

    -   Please upgrade your `@lynx-js/web-elements` to >=0.6.0
    -   Please upgrade your `@lynx-js/web-core` to >=0.12.0
    -   The compiled lynx template json won't be impacted.

On chrome 108, the `-webkit-background-clip:text` cannot be computed by
a `var(--css-var-value-text)`

    Therefore we move the logic into style transformation logic.

    Now the following status is supported

        <text style="color:linear-gradient()">
          <text>
          <text>
        </text>

### Patch Changes

- feat: fully support MTS
([lynx-family#569](lynx-family#569))

    Now use support the following usage

    -   mainthread event
    -   mainthread ref
    -   runOnMainThread/runOnBackground
    -   ref.current.xx

- feat: support `layoutchange` event for x-overlay-ng
([#519](lynx-family#519))

- fix: position:fixed not work in scroll-view
([lynx-family#580](lynx-family#580))

- fix: x-list may cause error: 'Resizeobserver loop completed with
undelivered notifications'.
([lynx-family#541](lynx-family#541))

- fix: refactor foldview slot offset logic
([lynx-family#575](lynx-family#575))

- fix: improve x-foldview-ng
([#513](lynx-family#513))

    -   support fling for touch event driven scrolling
- allow the height of `x-foldview-slot-ng` + `x-foldview-toolbar-ng` >
`x-foldview-ng`
- do not prevent horizontal gesture. After this commit we only allow one
direction gesture for one touch (start -> end)

- feat: add list with waterfall
([#331](lynx-family#331))

## @lynx-js/web-style-transformer@0.3.0

### Minor Changes

- feat: improve compatibility for chrome 108 & support linear-gradient
for nested x-text
([lynx-family#590](lynx-family#590))

    **This is a breaking change**

    -   Please upgrade your `@lynx-js/web-elements` to >=0.6.0
    -   Please upgrade your `@lynx-js/web-core` to >=0.12.0
    -   The compiled lynx template json won't be impacted.

On chrome 108, the `-webkit-background-clip:text` cannot be computed by
a `var(--css-var-value-text)`

    Therefore we move the logic into style transformation logic.

    Now the following status is supported

        <text style="color:linear-gradient()">
          <text>
          <text>
        </text>

## @lynx-js/react@0.106.5

### Patch Changes

- Fix `lynx.loadLazyBundle` is not a function
([lynx-family#568](lynx-family#568))

- fix: flushDelayedLifecycleEvents stack overflow error
([lynx-family#540](lynx-family#540))

## @lynx-js/rspeedy@0.9.2

### Patch Changes

- Support cli option `--no-env` to disable loading of .env files
([#483](lynx-family#483))

- Bump Rsbuild v1.3.8 with Rspack v1.3.5.
([lynx-family#579](lynx-family#579))

## @lynx-js/react-rsbuild-plugin@0.9.7

### Patch Changes

- Support overriding SWC configuration.
([lynx-family#563](lynx-family#563))

Now you can override configuration like `useDefineForClassFields` using
`tools.swc`.

    ```js
    import { defineConfig } from "@lynx-js/rspeedy";

    export default defineConfig({
      tools: {
        swc: {
          jsc: {
            transform: {
              useDefineForClassFields: true,
            },
          },
        },
      },
    });
    ```

- Updated dependencies
\[[`f1ca29b`](lynx-family@f1ca29b)]:
    -   @lynx-js/react-webpack-plugin@0.6.11
    -   @lynx-js/react-alias-rsbuild-plugin@0.9.7
    -   @lynx-js/react-refresh-webpack-plugin@0.3.2
    -   @lynx-js/web-webpack-plugin@0.6.5

## @lynx-js/web-constants@0.12.0

### Patch Changes

- feat: fully support MTS
([lynx-family#569](lynx-family#569))

    Now use support the following usage

    -   mainthread event
    -   mainthread ref
    -   runOnMainThread/runOnBackground
    -   ref.current.xx

-   Updated dependencies \[]:
    -   @lynx-js/web-worker-rpc@0.12.0

## @lynx-js/web-explorer@0.0.5

### Patch Changes

- fix: create a new lynx-view for lynxjs.org
([lynx-family#566](lynx-family#566))

- fix: blank screen issue for 0.0.4
([lynx-family#543](lynx-family#543))

## @lynx-js/web-mainthread-apis@0.12.0

### Patch Changes

- feat: fully support MTS
([lynx-family#569](lynx-family#569))

    Now use support the following usage

    -   mainthread event
    -   mainthread ref
    -   runOnMainThread/runOnBackground
    -   ref.current.xx

- feat: support mts event with target methods
([lynx-family#564](lynx-family#564))

After this commit, developers are allowed to invoke
`event.target.setStyleProperty` in mts handler

- fix: crash on removing a id attribute
([lynx-family#582](lynx-family#582))

- Updated dependencies
\[[`f1ca29b`](lynx-family@f1ca29b),
[`7edf478`](lynx-family@7edf478)]:
    -   @lynx-js/web-constants@0.12.0
    -   @lynx-js/web-style-transformer@0.3.0

## @lynx-js/web-worker-runtime@0.12.0

### Patch Changes

- feat: fully support MTS
([lynx-family#569](lynx-family#569))

    Now use support the following usage

    -   mainthread event
    -   mainthread ref
    -   runOnMainThread/runOnBackground
    -   ref.current.xx

- Updated dependencies
\[[`f1ca29b`](lynx-family@f1ca29b),
[`8ca9fcb`](lynx-family@8ca9fcb),
[`efe6fd7`](lynx-family@efe6fd7)]:
    -   @lynx-js/web-mainthread-apis@0.12.0
    -   @lynx-js/web-constants@0.12.0
    -   @lynx-js/web-worker-rpc@0.12.0

## @lynx-js/react-webpack-plugin@0.6.11

### Patch Changes

- feat: fully support MTS
([lynx-family#569](lynx-family#569))

    Now use support the following usage

    -   mainthread event
    -   mainthread ref
    -   runOnMainThread/runOnBackground
    -   ref.current.xx

## @lynx-js/web-webpack-plugin@0.6.5

### Patch Changes

- Updated dependencies
\[[`7edf478`](lynx-family@7edf478)]:
    -   @lynx-js/web-style-transformer@0.3.0

## create-rspeedy@0.9.2



## @lynx-js/react-alias-rsbuild-plugin@0.9.7



## upgrade-rspeedy@0.9.2



## @lynx-js/web-worker-rpc@0.12.0

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

4 participants