Skip to content

Error Boundary - Keyword based - #4

Open
megothss wants to merge 6 commits into
mainfrom
try-keyword
Open

megothss wants to merge 6 commits into
mainfrom
try-keyword

Conversation

@megothss

@megothss megothss commented Oct 7, 2026

Copy link
Copy Markdown
Owner

No description provided.

Adds grammar, AST flag, printer and template-locals support for `{{#try}}...{{catch as |e r|}}...{{/try}}`.
Rejects arguments, block params, `{{else}}`, more than two catch params, and `{{catch}}` on any other block.
A failed attempt is removed by DOM range and its queued lifecycle work, unowned modifiers and remote content are released.
The boundary that catches a fallback's error now retries when state the fallback read changes.
@github-actions

github-actions Bot commented Oct 7, 2026 •

Copy link
Copy Markdown

📊 Size report

Tarball size — 1.2 MB → 1.2 MB

dist/dev   2%↑

File Before (Size / Brotli) After (Size / Brotli)
./packages/@ember/component/index.js 44.7 kB / 10.3 kB -96.3%↓1.6 kB / -94.2%↓597 B
./packages/shared-chunks/api-{hash}.js 26.3 kB / 5.9 kB -77.5%↓5.9 kB / -67.9%↓1.9 kB
./packages/shared-chunks/arguments-{hash}.js 62.1 kB / 12.2 kB 30%↑80.9 kB / 34%↑16.3 kB
./packages/shared-chunks/cache-{hash}.js 17.8 kB / 4.8 kB 10%↑19.5 kB / 10%↑5.2 kB
./packages/shared-chunks/compiler-{hash}.js 348.6 kB / 67 kB 2%↑355.1 kB / 2%↑68.3 kB
./packages/shared-chunks/element-builder-C884N2Uc.js — 29.8 kB / 6.8 kB
./packages/shared-chunks/index-{hash}.js 62.6 kB / 12.5 kB 2%↑64.1 kB / 3%↑12.9 kB
./packages/shared-chunks/managers-DG3owVk8.js — 44.2 kB / 10.2 kB
./packages/shared-chunks/normalize-CKySQVU7.js 2.2 kB / 617 B —
./packages/shared-chunks/props-fiqxqhAH.js 2.3 kB / 735 B —
./packages/shared-chunks/render-{hash}.js 55.9 kB / 12.2 kB -0.57%↓55.6 kB / 4%↑12.7 kB
./packages/shared-chunks/transform-{hash}.js 17.2 kB / 3.8 kB 1%↑17.4 kB / 0.8%↑3.8 kB
Total (Includes all files) 2.1 MB / 509.9 kB 2%↑2.1 MB / 2%↑518 kB

dist/prod   2%↑

File Before (Size / Brotli) After (Size / Brotli)
./packages/@ember/component/index.js 40.4 kB / 9.4 kB -95.9%↓1.6 kB / -93.7%↓594 B
./packages/shared-chunks/api-{hash}.js 25.8 kB / 5.8 kB -77.1%↓5.9 kB / -67.3%↓1.9 kB
./packages/shared-chunks/arguments-{hash}.js 58.6 kB / 11.5 kB 31%↑76.9 kB / 35%↑15.5 kB
./packages/shared-chunks/cache-{hash}.js 9.9 kB / 2.8 kB 17%↑11.5 kB / 18%↑3.3 kB
./packages/shared-chunks/compiler-{hash}.js 361.9 kB / 69.4 kB 2%↑368.6 kB / 2%↑70.7 kB
./packages/shared-chunks/element-builder-DnVLQdza.js — 29.3 kB / 6.7 kB
./packages/shared-chunks/index-{hash}.js 59.8 kB / 12.1 kB 3%↑61.3 kB / 3%↑12.5 kB
./packages/shared-chunks/managers-an-tc4dB.js — 40 kB / 9.3 kB
./packages/shared-chunks/normalize-C_IStty9.js 2.2 kB / 617 B —
./packages/shared-chunks/props-fiqxqhAH.js 2.3 kB / 735 B —
./packages/shared-chunks/render-{hash}.js 52.2 kB / 11.3 kB 2%↑53.2 kB / 6%↑12.1 kB
Total (Includes all files) 1.9 MB / 466.8 kB 2%↑2 MB / 2%↑475.1 kB

smoke-tests/v2-app-template/dist   2%↑

File Before (Size / Brotli) After (Size / Brotli)
./assets/main-{hash}.js 319.9 kB / 85.8 kB 2%↑326.7 kB / 2%↑87.6 kB
./assets/modules-{hash}.js 30.5 kB / 9.5 kB 1%↑30.9 kB / 1%↑9.6 kB
Total (Includes all files) 352.3 kB / 96.2 kB 2%↑359.5 kB / 2%↑98.1 kB

smoke-tests/v2-app-hello-world-template/dist   5%↑

File Before (Size / Brotli) After (Size / Brotli)
./assets/main-{hash}.js 125.9 kB / 35 kB 5%↑132.6 kB / 5%↑36.7 kB
Total (Includes all files) 126.2 kB / 35.1 kB 5%↑132.9 kB / 5%↑36.9 kB

🤖 This report was automatically generated by wyvox/pkg-size

A template-only component whose layout is a single `{{#try}}`, exported from `@ember/component`.
An update skips the whole boundary while nothing it read changed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant