Skip to content

Conversation

@Sherry-hue
Copy link
Collaborator

@Sherry-hue Sherry-hue commented Nov 6, 2025

Summary by CodeRabbit

  • Bug Fixes
    • Fixed an issue where the Card component could encounter undefined context errors in web worker environments.

Checklist

  • 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).

@changeset-bot
Copy link

changeset-bot bot commented Nov 6, 2025

🦋 Changeset detected

Latest commit: b710a3a

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

This PR includes changesets to release 11 packages
Name Type
@lynx-js/web-worker-runtime Patch
@lynx-js/web-core Patch
upgrade-rspeedy Patch
@lynx-js/web-rsbuild-server-middleware Patch
@lynx-js/web-core-server Patch
@lynx-js/web-constants Patch
@lynx-js/web-mainthread-apis Patch
@lynx-js/web-worker-rpc Patch
@lynx-js/web-style-transformer Patch
@lynx-js/rspeedy Patch
create-rspeedy 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

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Nov 6, 2025

📝 Walkthrough

Walkthrough

This PR introduces a fix for a this binding issue in the web-worker-runtime by adding .bind(tt) to Card and Component function references passed during bundle initialization, alongside a corresponding changeset entry for the patch version bump.

Changes

Cohort / File(s) Summary
Changeset metadata
.changeset/petite-trains-take.md
Adds changeset entry bumping @lynx-js/web-worker-runtime to patch version with fix note for Card() this binding issue
Web-worker-runtime fix
packages/web-platform/web-worker-runtime/src/backgroundThread/background-apis/createChunkLoading.ts
Binds Card and Component functions with .bind(tt) when passed to bundle initialization to ensure correct this context

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~8 minutes

  • Focused, minimal change targeting a specific this binding issue
  • Single code file with straightforward function binding additions
  • Requires understanding the binding semantics and initialization flow context

Possibly related PRs

Suggested reviewers

  • PupilTong
  • colinaaa

Poem

🐰 A little hop through context binding,
Where this was lost, now it's winning!
With .bind(tt) so snug and tight,
Card and Component shine so bright! ✨

Pre-merge checks and finishing touches

❌ Failed checks (1 warning)
Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. You can run @coderabbitai generate docstrings to improve docstring coverage.
✅ Passed checks (2 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and specifically identifies the main fix: binding the 'this' context in Card() to prevent undefined reference errors.
✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

📜 Recent review details

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between ffd193b and b710a3a.

📒 Files selected for processing (2)
  • .changeset/petite-trains-take.md (1 hunks)
  • packages/web-platform/web-worker-runtime/src/backgroundThread/background-apis/createChunkLoading.ts (1 hunks)
🧰 Additional context used
📓 Path-based instructions (1)
.changeset/*.md

📄 CodeRabbit inference engine (AGENTS.md)

For contributions, generate and commit a Changeset describing your changes

Files:

  • .changeset/petite-trains-take.md
🧠 Learnings (15)
📓 Common learnings
Learnt from: Sherry-hue
Repo: lynx-family/lynx-stack PR: 1770
File: packages/web-platform/web-mainthread-apis/src/utils/processStyleInfo.ts:316-318
Timestamp: 2025-09-18T08:12:56.802Z
Learning: In packages/web-platform/web-mainthread-apis/src/utils/processStyleInfo.ts, the current implementation uses cardStyleElement.textContent += for lazy component styles. While this could theoretically invalidate rule indices by reparsing the stylesheet, Sherry-hue indicated that UIDs don't repeat for the same element, making this approach acceptable for now. A future optimization to use separate style elements per entry was discussed but deferred to a separate PR to keep the current lazy bundle PR focused.
Learnt from: f0rdream
Repo: lynx-family/lynx-stack PR: 1835
File: packages/react/worklet-runtime/src/workletRuntime.ts:52-55
Timestamp: 2025-09-28T08:46:43.177Z
Learning: The legacy worklet path with `_lepusWorkletHash` in `packages/react/worklet-runtime/src/workletRuntime.ts` is preserved for compatibility with MTS (Mini-app Threading Service) that doesn't support Initial Frame Rendering. This path will not be touched in current implementations.
📚 Learning: 2025-09-12T09:43:04.847Z
Learnt from: gaoachao
Repo: lynx-family/lynx-stack PR: 1736
File: .changeset/spotty-experts-smoke.md:1-3
Timestamp: 2025-09-12T09:43:04.847Z
Learning: In the lynx-family/lynx-stack repository, empty changeset files (containing only `---\n\n---`) are used for internal changes that modify src/** files but don't require meaningful release notes, such as private package changes or testing-only modifications. This satisfies CI requirements without generating user-facing release notes.

Applied to files:

  • .changeset/petite-trains-take.md
📚 Learning: 2025-07-22T09:23:07.797Z
Learnt from: colinaaa
Repo: lynx-family/lynx-stack PR: 1330
File: .changeset/olive-animals-attend.md:1-3
Timestamp: 2025-07-22T09:23:07.797Z
Learning: In the lynx-family/lynx-stack repository, changesets are only required for meaningful changes to end-users such as bugfixes and features. Internal/development changes like chores, refactoring, or removing debug info do not need changeset entries.

Applied to files:

  • .changeset/petite-trains-take.md
📚 Learning: 2025-09-12T09:43:04.847Z
Learnt from: gaoachao
Repo: lynx-family/lynx-stack PR: 1736
File: .changeset/spotty-experts-smoke.md:1-3
Timestamp: 2025-09-12T09:43:04.847Z
Learning: In the lynx-family/lynx-stack repository, private packages (marked with "private": true in package.json) like lynx-js/react-transform don't require meaningful changeset entries even when their public APIs change, since they are not published externally and only affect internal development.

Applied to files:

  • .changeset/petite-trains-take.md
  • packages/web-platform/web-worker-runtime/src/backgroundThread/background-apis/createChunkLoading.ts
📚 Learning: 2025-07-22T09:26:16.722Z
Learnt from: colinaaa
Repo: lynx-family/lynx-stack PR: 1330
File: .changeset/olive-animals-attend.md:1-3
Timestamp: 2025-07-22T09:26:16.722Z
Learning: In the lynx-family/lynx-stack repository, CI checks require changesets when files matching the pattern "src/**" are modified (as configured in .changeset/config.json). For internal changes that don't need meaningful changesets, an empty changeset file is used to satisfy the CI requirement while not generating any release notes.

Applied to files:

  • .changeset/petite-trains-take.md
📚 Learning: 2025-08-07T04:00:59.645Z
Learnt from: colinaaa
Repo: lynx-family/lynx-stack PR: 1454
File: pnpm-workspace.yaml:46-46
Timestamp: 2025-08-07T04:00:59.645Z
Learning: In the lynx-family/lynx-stack repository, the webpack patch (patches/webpack5.101.0.patch) was created to fix issues with webpack5.99.9 but only takes effect on webpack5.100.0 and later versions. The patchedDependencies entry should use "webpack@^5.100.0" to ensure the patch applies to the correct version range.

Applied to files:

  • .changeset/petite-trains-take.md
📚 Learning: 2025-09-18T08:12:56.802Z
Learnt from: Sherry-hue
Repo: lynx-family/lynx-stack PR: 1770
File: packages/web-platform/web-mainthread-apis/src/utils/processStyleInfo.ts:316-318
Timestamp: 2025-09-18T08:12:56.802Z
Learning: In packages/web-platform/web-mainthread-apis/src/utils/processStyleInfo.ts, the current implementation uses cardStyleElement.textContent += for lazy component styles. While this could theoretically invalidate rule indices by reparsing the stylesheet, Sherry-hue indicated that UIDs don't repeat for the same element, making this approach acceptable for now. A future optimization to use separate style elements per entry was discussed but deferred to a separate PR to keep the current lazy bundle PR focused.

Applied to files:

  • packages/web-platform/web-worker-runtime/src/backgroundThread/background-apis/createChunkLoading.ts
📚 Learning: 2025-09-28T07:52:03.601Z
Learnt from: Sherry-hue
Repo: lynx-family/lynx-stack PR: 1837
File: packages/web-platform/web-worker-runtime/src/backgroundThread/background-apis/createNativeApp.ts:151-154
Timestamp: 2025-09-28T07:52:03.601Z
Learning: There are two different registerUpdateDataHandler functions in the lynx-stack codebase:
1. Main thread version in packages/web-platform/web-worker-runtime/src/mainThread/crossThreadHandlers/registerUpdateDataHandler.ts takes (mainThreadRpc: Rpc, backgroundThreadRpc: Rpc, runtime: MainThreadGlobalThis)
2. Background thread version in packages/web-platform/web-worker-runtime/src/backgroundThread/background-apis/crossThreadHandlers/registerUpdateDataHandler.ts takes only (rpc: Rpc, tt: NativeTTObject)

Applied to files:

  • packages/web-platform/web-worker-runtime/src/backgroundThread/background-apis/createChunkLoading.ts
📚 Learning: 2025-09-28T07:52:03.601Z
Learnt from: Sherry-hue
Repo: lynx-family/lynx-stack PR: 1837
File: packages/web-platform/web-worker-runtime/src/backgroundThread/background-apis/createNativeApp.ts:151-154
Timestamp: 2025-09-28T07:52:03.601Z
Learning: There are two different registerUpdateDataHandler functions in the lynx-stack codebase:
1. Main thread version in packages/web-platform/web-worker-runtime/src/mainThread/crossThreadHandlers/registerUpdateDataHandler.ts takes (mainThreadRpc: Rpc, backgroundThreadRpc: Rpc, runtime: MainThreadGlobalThis)
2. Background thread version in packages/web-platform/web-worker-runtime/src/backgroundThread/background-apis/crossThreadHandlers/registerUpdateDataHandler.ts takes only (rpc: Rpc, tt: any)

Applied to files:

  • packages/web-platform/web-worker-runtime/src/backgroundThread/background-apis/createChunkLoading.ts
📚 Learning: 2025-10-10T08:22:12.051Z
Learnt from: Sherry-hue
Repo: lynx-family/lynx-stack PR: 1837
File: packages/web-platform/web-mainthread-apis/src/prepareMainThreadAPIs.ts:266-266
Timestamp: 2025-10-10T08:22:12.051Z
Learning: In packages/web-platform/web-mainthread-apis, the handleUpdatedData function returned from prepareMainThreadAPIs is internal-only, used to serve web-core. It does not require public documentation, type exports, or SSR support.

Applied to files:

  • packages/web-platform/web-worker-runtime/src/backgroundThread/background-apis/createChunkLoading.ts
📚 Learning: 2025-09-28T08:46:43.177Z
Learnt from: f0rdream
Repo: lynx-family/lynx-stack PR: 1835
File: packages/react/worklet-runtime/src/workletRuntime.ts:52-55
Timestamp: 2025-09-28T08:46:43.177Z
Learning: The legacy worklet path with `_lepusWorkletHash` in `packages/react/worklet-runtime/src/workletRuntime.ts` is preserved for compatibility with MTS (Mini-app Threading Service) that doesn't support Initial Frame Rendering. This path will not be touched in current implementations.

Applied to files:

  • packages/web-platform/web-worker-runtime/src/backgroundThread/background-apis/createChunkLoading.ts
📚 Learning: 2025-08-12T16:09:32.413Z
Learnt from: colinaaa
Repo: lynx-family/lynx-stack PR: 1497
File: packages/react/transform/tests/__swc_snapshots__/src/swc_plugin_snapshot/mod.rs/basic_full_static.js:9-10
Timestamp: 2025-08-12T16:09:32.413Z
Learning: In the Lynx stack, functions prefixed with `__` that are called in transformed code may be injected globally by the Lynx Engine at runtime rather than exported from the React runtime package. For example, `__CreateFrame` is injected globally by the Lynx Engine, not exported from lynx-js/react.

Applied to files:

  • packages/web-platform/web-worker-runtime/src/backgroundThread/background-apis/createChunkLoading.ts
📚 Learning: 2025-08-27T12:42:01.095Z
Learnt from: upupming
Repo: lynx-family/lynx-stack PR: 1616
File: packages/webpack/cache-events-webpack-plugin/test/cases/not-cache-events/lazy-bundle/index.js:3-3
Timestamp: 2025-08-27T12:42:01.095Z
Learning: In webpack, properties like __webpack_require__.lynx_ce are injected during compilation/build time when webpack processes modules and generates bundles, not at runtime when dynamic imports execute. Tests for such properties don't need to wait for dynamic imports to complete.

Applied to files:

  • packages/web-platform/web-worker-runtime/src/backgroundThread/background-apis/createChunkLoading.ts
📚 Learning: 2025-08-21T08:46:54.494Z
Learnt from: upupming
Repo: lynx-family/lynx-stack PR: 1370
File: packages/webpack/cache-events-webpack-plugin/src/LynxCacheEventsRuntimeModule.ts:23-27
Timestamp: 2025-08-21T08:46:54.494Z
Learning: In Lynx webpack runtime modules, the team prioritizes performance and simplicity over defensive runtime error handling. They prefer relying on compile-time type safety (TypeScript) rather than adding runtime checks like try-catch blocks or type validation, especially for performance-critical code like cache event setup/cleanup functions.

Applied to files:

  • packages/web-platform/web-worker-runtime/src/backgroundThread/background-apis/createChunkLoading.ts
📚 Learning: 2025-08-13T11:46:43.737Z
Learnt from: colinaaa
Repo: lynx-family/lynx-stack PR: 1523
File: vitest.config.ts:5-6
Timestamp: 2025-08-13T11:46:43.737Z
Learning: In the lynx-stack codebase, default imports are consistently used for Node.js built-in modules (e.g., `import os from 'node:os'`, `import fs from 'node:fs'`). The TypeScript configuration supports esModuleInterop and allowSyntheticDefaultImports, making default imports the preferred pattern over namespace imports for Node.js built-ins.

Applied to files:

  • packages/web-platform/web-worker-runtime/src/backgroundThread/background-apis/createChunkLoading.ts
🔇 Additional comments (2)
.changeset/petite-trains-take.md (1)

1-5: LGTM! Changeset format is correct.

The changeset appropriately documents this bugfix with a patch version bump for @lynx-js/web-worker-runtime.

packages/web-platform/web-worker-runtime/src/backgroundThread/background-apis/createChunkLoading.ts (1)

117-117: Binding of Card and Component is correct and complete.

The verification confirms that binding tt.Card and tt.Component at lines 117 and 123 is intentional and correct. These are constructors that require this context preservation. Other APIs like fetch and XMLHttpRequest are either already wrapped/bound in the tt object implementation or don't rely on this context, which explains why they don't need explicit binding. No other APIs in the codebase use this pattern, confirming the implementation is complete.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@Sherry-hue Sherry-hue force-pushed the fix/card-this-undefined branch from d2c396b to b710a3a Compare November 6, 2025 07:38
@codecov
Copy link

codecov bot commented Nov 6, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ All tests successful. No failed tests found.

📢 Thoughts on this report? Let us know!

@Sherry-hue Sherry-hue enabled auto-merge (squash) November 6, 2025 07:48
@codspeed-hq
Copy link

codspeed-hq bot commented Nov 6, 2025

CodSpeed Performance Report

Merging #1922 will improve performances by 9.08%

Comparing Sherry-hue:fix/card-this-undefined (b710a3a) with main (ffd193b)

Summary

⚡ 1 improvement
✅ 62 untouched
⏩ 3 skipped1

Benchmarks breakdown

Benchmark BASE HEAD Change
transform 1000 view elements 45.9 ms 42 ms +9.08%

Footnotes

  1. 3 benchmarks were skipped, so the baseline results were used instead. If they were deleted from the codebase, click here and archive them to remove them from the performance reports.

@Sherry-hue Sherry-hue merged commit e1db63f into lynx-family:main Nov 6, 2025
44 checks passed
@relativeci
Copy link

relativeci bot commented Nov 6, 2025

React Example

#6143 Bundle Size — 234.35KiB (-1.56%).

b710a3a(current) vs 83952a0 main#6132(baseline)

Bundle metrics  no changes
                 Current
#6143
     Baseline
#6132
No change  Initial JS 0B 0B
No change  Initial CSS 0B 0B
No change  Cache Invalidation 0% 0%
No change  Chunks 0 0
No change  Assets 4 4
No change  Modules 165 165
No change  Duplicate Modules 67 67
No change  Duplicate Code 46.78% 46.78%
No change  Packages 2 2
No change  Duplicate Packages 0 0
Bundle size by type  Change 1 change Improvement 1 improvement
                 Current
#6143
     Baseline
#6132
No change  IMG 145.76KiB 145.76KiB
Improvement  Other 88.59KiB (-4.03%) 92.31KiB

Bundle analysis reportBranch Sherry-hue:fix/card-this-undefin...Project dashboard


Generated by RelativeCIDocumentationReport issue

@relativeci
Copy link

relativeci bot commented Nov 6, 2025

Web Explorer

#6144 Bundle Size — 366.72KiB (~+0.01%).

b710a3a(current) vs ffd193b main#6142(baseline)

Bundle metrics  Change 1 change
                 Current
#6144
     Baseline
#6142
No change  Initial JS 146.2KiB 146.2KiB
No change  Initial CSS 32.22KiB 32.22KiB
Change  Cache Invalidation 16.43% 0%
No change  Chunks 8 8
No change  Assets 8 8
No change  Modules 220 220
No change  Duplicate Modules 16 16
No change  Duplicate Code 3.21% 3.21%
No change  Packages 4 4
No change  Duplicate Packages 0 0
Bundle size by type  Change 1 change Regression 1 regression
                 Current
#6144
     Baseline
#6142
Regression  JS 240.7KiB (~+0.01%) 240.68KiB
No change  Other 93.8KiB 93.8KiB
No change  CSS 32.22KiB 32.22KiB

Bundle analysis reportBranch Sherry-hue:fix/card-this-undefin...Project dashboard


Generated by RelativeCIDocumentationReport issue

colinaaa pushed a commit that referenced this pull request Nov 9, 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]

### Patch Changes

- During hydration, replace update with insert + remove for same-type
`<list-item />` with different `item-key` so the Lynx Engine detects
changes. ([#1598](#1598))

    ```html
    Hydrate List B into List A: List A:
    <list>
      <list-item item-key="a">hello</list-item>
      <list-item item-key="a">world</list-item>
    </list>

    List B:
    <list>
      <list-item item-key="a1">hello</list-item>
      <list-item item-key="a2">world</list-item>
    </list>
    ```

Previously this case was hydrated as an update; it is now emitted as
insert + remove to ensure SDK detection.

- Bump `swc_core` v47.
([#1916](#1916))

- Pass sourcemap generated by rspack to swc transformer.
([#1910](#1910))

- When engineVersion is greater than or equal to 3.1, use
`__SetAttribute` to set text attribute for text node instead of creating
a raw text node.
([#1880](#1880))

- Add profile for list `update-list-info`.
([#1480](#1480))

- Support testing React Compiler in testing library. Enable React
Compiler by setting the `experimental_enableReactCompiler` option of
`createVitestConfig` to `true`.
([#1269](#1269))

    ```js
    import { defineConfig, mergeConfig } from "vitest/config";
import { createVitestConfig } from
"@lynx-js/react/testing-library/vitest-config";

    const defaultConfig = await createVitestConfig({
      runtimePkgName: "@lynx-js/react",
      experimental_enableReactCompiler: true,
    });

    export default mergeConfig(defaultConfig, config);
    ```

## @lynx-js/[email protected]

### Patch Changes

-   Updated dependencies \[]:
    -   @lynx-js/[email protected]

## @lynx-js/[email protected]

### Patch Changes

- fix: print out the output chunk urls
([#1921](#1921))

## @lynx-js/[email protected]

### Patch Changes

- When engineVersion is greater than or equal to 3.1, use
`__SetAttribute` to set text attribute for text node instead of creating
a raw text node.
([#1880](#1880))

- Add `react-compiler-runtime` to `resolve.dedupe`.
([#1269](#1269))

With this change you can setup [React
Compiler](https://react.dev/learn/react-compiler) for ReactLynx by
`pluginBabel`:

    ```js
    import { defineConfig } from "@lynx-js/rspeedy";
    import { pluginBabel } from "@rsbuild/plugin-babel";

    export default defineConfig({
      plugins: [
        pluginBabel({
          include: /\.(?:jsx|tsx)$/,
          babelLoaderOptions(opts) {
            opts.plugins?.unshift([
              "babel-plugin-react-compiler",
// See https://react.dev/reference/react-compiler/configuration for
config
              {
                // ReactLynx only supports target to version 17
                target: "17",
              },
            ]);
          },
        }),
      ],
    });
    ```

- Updated dependencies
\[[`e7d186a`](e7d186a),
[`0d7a4c3`](0d7a4c3)]:
    -   @lynx-js/[email protected]
    -   @lynx-js/[email protected]
    -   @lynx-js/[email protected]
    -   @lynx-js/[email protected]

## @lynx-js/[email protected]

### Patch Changes

- feat: add \_\_GetSourceMapRelease API for nativeApp.
([#1923](#1923))

-   Updated dependencies \[]:
    -   @lynx-js/[email protected]

## @lynx-js/[email protected]

### Patch Changes

- Updated dependencies
\[[`fece7d0`](fece7d0),
[`e1db63f`](e1db63f),
[`ebc1a60`](ebc1a60)]:
    -   @lynx-js/[email protected]
    -   @lynx-js/[email protected]
    -   @lynx-js/[email protected]
    -   @lynx-js/[email protected]

## @lynx-js/[email protected]

### Patch Changes

- fix: define x-foldview-slot-drag-ng typo.
([#1915](#1915))

- feat: 1. Added support for the list `estimated-main-axis-size-px`
property; the width and height of `list-item` are no longer required.
([#1911](#1911))

2. Fixed an issue where the list `lower-threshold-item-count` event
would not trigger when using a horizontal layout under a waterfall
layout.

3. Fixed an issue where calling the list `autoScroll` method in
`useEffect` might not scroll.

4. Fixed an issue where the `scrolltolower` event might not be triggered
in waterfall, because the lower styles was not updated in
`registerEventEnableStatusChangeHandler`.

-   Updated dependencies \[]:
    -   @lynx-js/[email protected]

## @lynx-js/[email protected]

### Patch Changes

- fix: define x-foldview-slot-drag-ng typo.
([#1915](#1915))

## @lynx-js/[email protected]

### Patch Changes

- feat: update @lynx-js/web-elements to 0.8.10
([#1914](#1914))

## @lynx-js/[email protected]

### Patch Changes

- fix: The `e.detail` in the `bindtap` callback needs to correctly
include `x` and `y`.
([#1913](#1913))

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

## @lynx-js/[email protected]

### Patch Changes

- fix: `this` may be undefined in Card().
([#1922](#1922))

- feat: add \_\_GetSourceMapRelease API for nativeApp.
([#1923](#1923))

- Updated dependencies
\[[`fece7d0`](fece7d0),
[`ebc1a60`](ebc1a60)]:
    -   @lynx-js/[email protected]
    -   @lynx-js/[email protected]
    -   @lynx-js/[email protected]

## @lynx-js/[email protected]

### Patch Changes

- Pass sourcemap generated by rspack to swc transformer.
([#1910](#1910))

- When engineVersion is greater than or equal to 3.1, use
`__SetAttribute` to set text attribute for text node instead of creating
a raw text node.
([#1880](#1880))

## [email protected]



## @lynx-js/[email protected]



## [email protected]



## @lynx-js/[email protected]



## @lynx-js/[email protected]



## @lynx-js/[email protected]



## @lynx-js/[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.

2 participants