Skip to content

Conversation

@PupilTong
Copy link
Collaborator

@PupilTong PupilTong commented Apr 17, 2025

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

fix #229

```js
lynxView.customTemplateLoader = (url) => {
  return (await (await fetch(url, {
    method: 'GET',
  })).json())
}
```
@PupilTong PupilTong requested review from Sherry-hue and Copilot April 17, 2025 13:47
@changeset-bot
Copy link

changeset-bot bot commented Apr 17, 2025

🦋 Changeset detected

Latest commit: 22c73cb

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/web-core Patch
@lynx-js/react-alias-rsbuild-plugin Patch
@lynx-js/react-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.

Pull Request Overview

This PR introduces support for a custom template loader to allow users to override the default template fetching logic. The changes include:

  • Adding a new test in react.spec.ts to verify the custom template loader functionality.
  • Updating the loadTemplate function and UI thread startup to accept an optional customTemplateLoader.
  • Extending the LynxView API and its documentation to expose the custom template loader.

Reviewed Changes

Copilot reviewed 8 out of 8 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
packages/web-platform/web-tests/tests/react.spec.ts Adds a test case for verifying custom template loader behavior.
packages/web-platform/web-tests/shell-project/index.ts Implements a custom template loader in the test shell project when the casename includes 'custom-template-loader'.
packages/web-platform/web-core/src/utils/loadTemplate.ts Modifies loadTemplate to optionally use a custom template loader if provided.
packages/web-platform/web-core/src/uiThread/startUIThread.ts Passes the custom template loader from callbacks to loadTemplate.
packages/web-platform/web-core/src/index.ts Exports the LynxTemplate type.
packages/web-platform/web-core/src/apis/LynxView.ts Adds support for customTemplateLoader in the LynxView API and updates related documentation.
.changeset/small-carpets-reply.md Documents the new feature via a changeset note.
.changeset/bright-forks-try.md Updates dependency changes in the changeset.

@codecov
Copy link

codecov bot commented Apr 17, 2025

Bundle Report

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

Detailed changes
Bundle name Size Change
@lynx-js/web-explorer-web-array-push 315.96kB 28 bytes (0.01%) ⬆️

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 28 bytes 148.84kB 0.02%

@codspeed-hq
Copy link

codspeed-hq bot commented Apr 17, 2025

CodSpeed Performance Report

Merging #587 will not alter performance

Comparing PupilTong:p/hw/custom-load-template-func (22c73cb) with main (ba8ecc0)

Summary

✅ 1 untouched benchmarks

Sherry-hue
Sherry-hue previously approved these changes Apr 18, 2025
@PupilTong PupilTong enabled auto-merge April 18, 2025 02:24
Co-authored-by: Copilot <[email protected]>
Signed-off-by: PupilTong <[email protected]>
@Sherry-hue Sherry-hue self-requested a review April 18, 2025 03:46
@PupilTong PupilTong added this pull request to the merge queue Apr 18, 2025
Merged via the queue into lynx-family:main with commit e8bdc46 Apr 18, 2025
25 checks passed
@PupilTong PupilTong deleted the p/hw/custom-load-template-func branch April 18, 2025 04:01
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/[email protected]

### 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/[email protected]
    -   @lynx-js/[email protected]
    -   @lynx-js/[email protected]

## @lynx-js/[email protected]

### 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/[email protected]

### 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/[email protected]

### Patch Changes

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

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

## @lynx-js/[email protected]

### 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/[email protected]

### 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/[email protected]
    -   @lynx-js/[email protected]
    -   @lynx-js/[email protected]
    -   @lynx-js/[email protected]

## @lynx-js/[email protected]

### 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/[email protected]

## @lynx-js/[email protected]

### 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/[email protected]

### 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/[email protected]
    -   @lynx-js/[email protected]

## @lynx-js/[email protected]

### 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/[email protected]
    -   @lynx-js/[email protected]
    -   @lynx-js/[email protected]

## @lynx-js/[email protected]

### 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/[email protected]

### Patch Changes

- Updated dependencies
\[[`7edf478`](7edf478)]:
    -   @lynx-js/[email protected]

## [email protected]



## @lynx-js/[email protected]



## [email protected]



## @lynx-js/[email protected]

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/[email protected]

### 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/[email protected]
    -   @lynx-js/[email protected]
    -   @lynx-js/[email protected]

## @lynx-js/[email protected]

### 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/[email protected]

### 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/[email protected]

### 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/[email protected]

### 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/[email protected]

### 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/[email protected]
    -   @lynx-js/[email protected]
    -   @lynx-js/[email protected]
    -   @lynx-js/[email protected]

## @lynx-js/[email protected]

### 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/[email protected]

## @lynx-js/[email protected]

### 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/[email protected]

### 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/[email protected]
    -   @lynx-js/[email protected]

## @lynx-js/[email protected]

### 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/[email protected]
    -   @lynx-js/[email protected]
    -   @lynx-js/[email protected]

## @lynx-js/[email protected]

### 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/[email protected]

### Patch Changes

- Updated dependencies
\[[`7edf478`](lynx-family@7edf478)]:
    -   @lynx-js/[email protected]

## [email protected]



## @lynx-js/[email protected]



## [email protected]



## @lynx-js/[email protected]

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
colinaaa pushed a commit that referenced this pull request Apr 24, 2025
```js
lynxView.customTemplateLoader = (url) => {
  return (await (await fetch(url, {
    method: 'GET',
  })).json())
}
```

fix #229

---------

Signed-off-by: PupilTong <[email protected]>
Co-authored-by: Copilot <[email protected]>
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/[email protected]

### 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/[email protected]
    -   @lynx-js/[email protected]
    -   @lynx-js/[email protected]

## @lynx-js/[email protected]

### 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/[email protected]

### 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/[email protected]

### Patch Changes

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

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

## @lynx-js/[email protected]

### 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/[email protected]

### 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/[email protected]
    -   @lynx-js/[email protected]
    -   @lynx-js/[email protected]
    -   @lynx-js/[email protected]

## @lynx-js/[email protected]

### 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/[email protected]

## @lynx-js/[email protected]

### 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/[email protected]

### 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/[email protected]
    -   @lynx-js/[email protected]

## @lynx-js/[email protected]

### 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/[email protected]
    -   @lynx-js/[email protected]
    -   @lynx-js/[email protected]

## @lynx-js/[email protected]

### 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/[email protected]

### Patch Changes

- Updated dependencies
\[[`7edf478`](7edf478)]:
    -   @lynx-js/[email protected]

## [email protected]



## @lynx-js/[email protected]



## [email protected]



## @lynx-js/[email protected]

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
colinaaa pushed a commit to colinaaa/lynx-stack that referenced this pull request Apr 24, 2025
…ily#587)

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

fix #229

---------

Signed-off-by: PupilTong <[email protected]>
Co-authored-by: Copilot <[email protected]>
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/[email protected]

### 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/[email protected]
    -   @lynx-js/[email protected]
    -   @lynx-js/[email protected]

## @lynx-js/[email protected]

### 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
([#331](lynx-family#331))

## @lynx-js/[email protected]

### 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/[email protected]

### 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/[email protected]

### 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/[email protected]

### 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/[email protected]
    -   @lynx-js/[email protected]
    -   @lynx-js/[email protected]
    -   @lynx-js/[email protected]

## @lynx-js/[email protected]

### 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/[email protected]

## @lynx-js/[email protected]

### 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/[email protected]

### 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/[email protected]
    -   @lynx-js/[email protected]

## @lynx-js/[email protected]

### 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/[email protected]
    -   @lynx-js/[email protected]
    -   @lynx-js/[email protected]

## @lynx-js/[email protected]

### 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/[email protected]

### Patch Changes

- Updated dependencies
\[[`7edf478`](lynx-family@7edf478)]:
    -   @lynx-js/[email protected]

## [email protected]



## @lynx-js/[email protected]



## [email protected]



## @lynx-js/[email protected]

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.

[Feature]: Permit external requests for templateJSON

2 participants