Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

runtime compiler incorrectly entangles with tracked scope in explicit form#20907

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to ourterms of service andprivacy statement. We’ll occasionally send you account related emails.

Already on GitHub?Sign in to your account

Draft
NullVoxPopuli wants to merge6 commits intoemberjs:main
base:main
Choose a base branch
Loading
fromNullVoxPopuli:nvp/do-we-need-microtask

Conversation

NullVoxPopuli
Copy link
Contributor

@NullVoxPopuliNullVoxPopuli commentedMay 6, 2025
edited
Loading

Observed issue:

  • scope bag can include tracked state
  • scope bag is evaluated eagerly when runningtemplate() (twice), which means:
    • all tracked state accessed within the scope bag causes thetemplate() compilation to re-compile after each tracked change
    • we probably need to update the underlying compiler and runtime to accept the() => ({}) form of the scope, rather than() => []

Adding queueMicrotask back doesn't solve any of the above.

Why was queueMicrotask removed?

  • we want the added tests to work -- with queueMicrotask, we get eithernothing rendered, or an error.
    classDemoextendsComponent {// should work, currently doesn't, nothing rendered  component=template('hello world');  <template>    <this.component />  </template>}
    separate PR to remove this here:Remove microtask in runtime compiler #20909

@NullVoxPopuliNullVoxPopuli changed the titleDo we need the microtask wrapper here?Do we need the microtask wrapper in the runtime compiler?May 6, 2025
@github-actionsGitHub Actions
Copy link

github-actionsbot commentedMay 6, 2025
edited
Loading

Development Assets

Diff

--- main/out.txt2025-05-26 18:18:28.000000000 +0000+++ pr/./pr-15346559859/out.txt2025-05-30 12:16:36.000000000 +0000@@ -31,7 +31,7 @@   66K   │ │ └─┬ lib   62K   │ │   └── computed  114K   │ ├─┬ template-compiler- 109K   │ │ └─┬ lib+ 110K   │ │ └─┬ lib   20K   │ │   ├── plugins  4.6K   │ │   ├── system  4.1K   │ │   └── -internal

Details

This PRmain
Dev
 2.2M └─┬ .1015K   ├─┬ @ember 205K   │ ├─┬ -internals  69K   │ │ ├─┬ views  64K   │ │ │ └─┬ lib  23K   │ │ │   ├── mixins  22K   │ │ │   ├── system  10K   │ │ │   ├── views 4.3K   │ │ │   └── compat  35K   │ │ ├─┬ runtime  30K   │ │ │ └─┬ lib  21K   │ │ │   ├── mixins 5.7K   │ │ │   └── ext  26K   │ │ ├─┬ meta  21K   │ │ │ └── lib  11K   │ │ ├── owner 9.4K   │ │ ├── deprecations 7.4K   │ │ ├── metal 7.0K   │ │ ├── string 5.1K   │ │ ├── glimmer 4.9K   │ │ ├── utils 4.9K   │ │ ├── routing 4.5K   │ │ ├── error-handling 4.5K   │ │ ├── utility-types 4.2K   │ │ ├── container 4.2K   │ │ ├── browser-environment 4.1K   │ │ └── environment 183K   │ ├─┬ routing  28K   │ │ └── lib 149K   │ ├─┬ object  66K   │ │ └─┬ lib  62K   │ │   └── computed 114K   │ ├─┬ template-compiler 110K   │ │ └─┬ lib  20K   │ │   ├── plugins 4.6K   │ │   ├── system 4.1K   │ │   └── -internal  66K   │ ├─┬ application 5.6K   │ │ └── lib  52K   │ ├─┬ debug  21K   │ │ └── lib  38K   │ ├─┬ array 4.9K   │ │ └── lib  31K   │ ├─┬ engine 4.7K   │ │ └── lib  27K   │ ├── runloop  22K   │ ├─┬ utils  18K   │ │ └── lib  20K   │ ├── helper  11K   │ ├── destroyable 9.8K   │ ├── instrumentation 9.4K   │ ├── controller 7.4K   │ ├── service 7.2K   │ ├── owner 6.2K   │ ├── component 5.6K   │ ├── canary-features 5.5K   │ ├── modifier 5.1K   │ ├── template-compilation 5.0K   │ ├── enumerable 5.0K   │ ├── test 4.4K   │ ├── template 4.4K   │ ├── renderer 4.2K   │ ├── deprecated-features 4.1K   │ ├── template-factory 4.1K   │ └── version 709K   ├── shared-chunks 384K   ├─┬ @glimmer 166K   │ ├── runtime  60K   │ ├── opcode-compiler  30K   │ ├── manager  22K   │ ├── validator  14K   │ ├── program  12K   │ ├── reference  11K   │ ├── destroyable  10K   │ ├─┬ tracking 4.4K   │ │ └── primitives  10K   │ ├── util 8.1K   │ ├── node 7.3K   │ ├── global-context 6.4K   │ ├── wire-format 5.0K   │ ├── vm 4.9K   │ ├── encoder 4.6K   │ ├── owner 4.1K   │ └── env  60K   ├─┬ ember-testing  56K   │ └─┬ lib  14K   │   ├── test  14K   │   ├── helpers  10K   │   ├── ext 6.5K   │   └── adapters  31K   ├── backburner.js  25K   ├── ember  24K   ├── route-recognizer  18K   ├─┬ @simple-dom  14K   │ └── document 9.2K   ├── dag-map 4.3K   ├── rsvp 4.3K   └── router_js
 2.2M └─┬ .1015K   ├─┬ @ember 205K   │ ├─┬ -internals  69K   │ │ ├─┬ views  64K   │ │ │ └─┬ lib  23K   │ │ │   ├── mixins  22K   │ │ │   ├── system  10K   │ │ │   ├── views 4.3K   │ │ │   └── compat  35K   │ │ ├─┬ runtime  30K   │ │ │ └─┬ lib  21K   │ │ │   ├── mixins 5.7K   │ │ │   └── ext  26K   │ │ ├─┬ meta  21K   │ │ │ └── lib  11K   │ │ ├── owner 9.4K   │ │ ├── deprecations 7.4K   │ │ ├── metal 7.0K   │ │ ├── string 5.1K   │ │ ├── glimmer 4.9K   │ │ ├── utils 4.9K   │ │ ├── routing 4.5K   │ │ ├── error-handling 4.5K   │ │ ├── utility-types 4.2K   │ │ ├── container 4.2K   │ │ ├── browser-environment 4.1K   │ │ └── environment 183K   │ ├─┬ routing  28K   │ │ └── lib 149K   │ ├─┬ object  66K   │ │ └─┬ lib  62K   │ │   └── computed 114K   │ ├─┬ template-compiler 109K   │ │ └─┬ lib  20K   │ │   ├── plugins 4.6K   │ │   ├── system 4.1K   │ │   └── -internal  66K   │ ├─┬ application 5.6K   │ │ └── lib  52K   │ ├─┬ debug  21K   │ │ └── lib  38K   │ ├─┬ array 4.9K   │ │ └── lib  31K   │ ├─┬ engine 4.7K   │ │ └── lib  27K   │ ├── runloop  22K   │ ├─┬ utils  18K   │ │ └── lib  20K   │ ├── helper  11K   │ ├── destroyable 9.8K   │ ├── instrumentation 9.4K   │ ├── controller 7.4K   │ ├── service 7.2K   │ ├── owner 6.2K   │ ├── component 5.6K   │ ├── canary-features 5.5K   │ ├── modifier 5.1K   │ ├── template-compilation 5.0K   │ ├── enumerable 5.0K   │ ├── test 4.4K   │ ├── template 4.4K   │ ├── renderer 4.2K   │ ├── deprecated-features 4.1K   │ ├── template-factory 4.1K   │ └── version 709K   ├── shared-chunks 384K   ├─┬ @glimmer 166K   │ ├── runtime  60K   │ ├── opcode-compiler  30K   │ ├── manager  22K   │ ├── validator  14K   │ ├── program  12K   │ ├── reference  11K   │ ├── destroyable  10K   │ ├─┬ tracking 4.4K   │ │ └── primitives  10K   │ ├── util 8.1K   │ ├── node 7.3K   │ ├── global-context 6.4K   │ ├── wire-format 5.0K   │ ├── vm 4.9K   │ ├── encoder 4.6K   │ ├── owner 4.1K   │ └── env  60K   ├─┬ ember-testing  56K   │ └─┬ lib  14K   │   ├── test  14K   │   ├── helpers  10K   │   ├── ext 6.5K   │   └── adapters  31K   ├── backburner.js  25K   ├── ember  24K   ├── route-recognizer  18K   ├─┬ @simple-dom  14K   │ └── document 9.2K   ├── dag-map 4.3K   ├── rsvp 4.3K   └── router_js

@NullVoxPopuliNullVoxPopuli changed the titleDo we need the microtask wrapper in the runtime compiler?runtime compiler incorrectly entangles with tracked scope in explicit formMay 9, 2025
Sign up for freeto join this conversation on GitHub. Already have an account?Sign in to comment
Reviewers
No reviews
Assignees
No one assigned
Labels
None yet
Projects
None yet
Milestone
No milestone
Development

Successfully merging this pull request may close these issues.

1 participant
@NullVoxPopuli

[8]ページ先頭

©2009-2025 Movatter.jp