>`, since n... [TRUNCATED]",scope: types,2024-12-24 10:51:56+00:00,2025-03-19 03:39:00+00:00,1,scope: types,84.6994,directive type definition has wrong modifiers definition vue version link to create a simple directive directives vtest ts import it not using all the modifiers at once app vue what is expected no error what is actually happening the following error appears in vscode mentioning a runtime core d ts type image thye issue appears to be here image where maps to where it should be since n truncated,others,-0.8481
vuejs/core,2755042227,Memory leak,"### Vue version
3.5.12
### Link to minimal reproduction
none
### Steps to reproduce
Regarding the issue of memory leakage in obtaining focus for input boxes, it has been determined that it is a bug in Chrome. Is there a temporary solution to solve this leak? Our project relies on browsers and has already been launched for customer use. Currently, memory leaks often cause crashes, and we do not know when Chrome will fix this bug. We hope to provide a temporary solution. Thank you!
### What is expected?
Resolve memory leaks
### What is actually happening?
Memory leak on input focus
### System Info
_No response_
### Any additional comments?
_No response_",,2024-12-23 01:55:39+00:00,2024-12-23 03:02:26+00:00,1,nan,0.0464,memory leak vue version link to none regarding the issue of memory leakage in obtaining focus for input boxes it has been determined that it is a bug in chrome is there a temporary solution to solve this leak our project relies on browsers and has already been launched for customer use currently memory leaks often cause crashes and we do not know when chrome will fix this bug we hope to provide a temporary solution thank you what is expected resolve memory leaks what is actually happening memory leak on input focus system info no response any additional comments no response,others,0.2732
vuejs/core,2752371621,tsx中使用指令传递数组对象的时候指令编译出来的结果不对,"### Vue version
3.5.13
### Link to minimal reproduction
https://play.vuejs.org/#eNp9UstOwzAQ/BVrTyCVVG3hUiWVAPUAB0DADSNkJUua4tiWH6FSlH9nnVBopbY3787s7OzILVwbkzQBYQ6px9pI4XHBFWNta1EVaLtut5rGMh3vMKl0ua2MZ1KoMuPg3YYDc+iDITjXynk2DLOMnZ2zbMHaKGmJYRVLi6phzYUIfpW1bxwmHEa/NA5TDu/dIh0Th7Ro9b7gdF9xgAQ1D+kc2yn2FqTj4RqqYES3kOZnVSZrpxVF1K/hkOvaVBLto/EV7eQwHwxETEipv+/7nrcBR9t+vsL860B/HeOa0+PJokPbIPneYl7YEv0AL18ecEPvP7DWRZDEPgE+o9MyRI8D7Saogmzv8Hq3d7XR1leqfHXLjUfltkdFo5HZ9XwO9E9uT5z+b3eWXPZzFCml+NGgjZoU4Cy5SiYz6H4AbRLNEw==
### Steps to reproduce
将下列 tsx 代码编译之后的到的结果即可查看到差异
` ""2""]}>
` 和 `const a = [""1"", () => ""2""]
return
` 编译的结果不一样
```ts
{{render}}
{{render2}}
```
编译结果
```ts
/* Analyzed bindings: {
""render"": ""setup-const"",
""render2"": ""setup-const""
} */
import { defineComponent as _defineComponent, resolveDirective as _resolveDirective, createVNode as _createVNode, withDirectives as _withDirectives } from 'vue';
const __sfc__ = /*@__PURE__*/_defineComponent({
__name: 'App',
setup(__props, {
expose: __expose
}) {
__expose();
const render = () => {
return _withDirectives(_createVNode(""div"", null, null), [[_resolveDirective(""auth""), ""1"", () => ""2""]]);
};... [TRUNCATED]",,2024-12-20 09:56:39+00:00,2024-12-23 01:52:04+00:00,2,nan,2.6635,tsx vue version link to tsx const a return ts analyzed bindings render setup const render setup const import definecomponent as definecomponent resolvedirective as resolvedirective createvnode as createvnode withdirectives as withdirectives from vue const sfc pure definecomponent name app setup props expose expose expose const render return withdirectives createvnode div null null resolvedirective auth truncated,others,-0.4215
vuejs/core,2752049926,Error reported due to esbuild@0.24.1 version issue after project creation,"### Vue version
3.5.13
### Link to minimal reproduction
https://stackblitz.com/edit/vitejs-vite-7e6aek9b?file=package.json&terminal=dev
### Steps to reproduce
1. 使用 pnpm create vue@latest 创建项目
2. 安装依赖
3. 启动项目
### What is expected?
normal operation
目前是 esbuild@0.24.1 更新到此版本。导致项目报错,换一个低版本0.24.0就正常运行
### What is actually happening?
### System Info
```shell
System:
OS: macOS 15.1
CPU: (10) arm64 Apple M2 Pro
Memory: 69.50 MB / 16.00 GB
Shell: 5.9 - /bin/zsh
Binaries:
Node: 18.16.0 - /usr/local/bin/node
Yarn: 1.22.19 - /usr/local/bin/yarn
npm: 8.19.2 - /usr/local/bin/npm
pnpm: 8.5.0 - /usr/local/bin/pnpm
Watchman: 2023.10.23.00 - /opt/homebrew/bin/watchman
Browsers:
Chrome: 131.0.6778.205
Edge: 131.0.2903.112
Safari: 18.1
npmPackages:
vue: ^3.5.13 => 3.5.13
```
### Any additional comments?
_No response_",,2024-12-20 06:36:15+00:00,2024-12-20 08:09:27+00:00,2,nan,0.0647,error reported due to esbuild version issue after project creation vue version link to pnpm create vue latest what is expected normal operation esbuild what is actually happening system info any additional comments no response,bug,-0.25
vuejs/core,2749447702,KeepAlive includeremovedeactive component应该从 keep-alive storageContainer 中删除组件,"### Vue version
3.5.13
### Link to minimal reproduction
https://play.vuejs.org/#eNqNVMGO2jAQ/RXL6oGVdhNBe6IBdUs5bA9t1eVW9+AmE+LFsSPHDkiIf+/YCQksLO0t9rw382bmOXv6WFVR44BOaVKnRlSW1GBdNWdKlJU2luyJgfyeKNjZlUg35EByo0vCKLIY/djjFrqsxsdYFIejz/waMznHTHoMUxKweqG3baqZLzyyxsEdRn1MqFS6DLrIL0YDkNF7zBZyMfrbY5nKnUqt0IqkBVdreMakozuyZ4oMBaKGS+eT5VzWgLTDBe+pLXikdvV7YqfAl0U66Wc0QsJs3nII4RKMHW0AqkcpGljwtIAvoonSQshsKaEEZRfaKXvn8QffACpJ4nYduAg8WCgryS3giZDkj7MWNX5KJRabMTo0yejc90dSlEUmSdwib7G6FpFooNQNEC/0gXulIcv4PMnKcFWLMCLFS8A0OfdsUurMn7SzD0LhmVcVcBNISDtJOu2miODuC2u3MAS2q28eRI7xflWYLz7HTBADuLb+PomHGq3UeNCKF0ncz5Det2t75XsEwS7YNIOcO4nWD0vFNqeDwXA5uKBb2ynG84BNYvy6Vjg8i/PC/Vt7+5n9S5t/B/6u9FaC7OjZS1cGh6HRAjoDjoZvUN0JYytUprfRhWXR8rYQdfQOZFRxg77t7Nsn/M/ZoKmuzMbWqVa5WEcvtVY4n6AGfYoEgW/oe+VXWTM6PepklEupt1/Dnf9RhJYCp4B0c+X+pd75O0Z/GKjBNDjaPma5WYNtw8vnbzi1kyDa20lE3wj+hFpL5zW2sM9OZSj7BBfUPoVVC7Ve1cudBXRo15QXOiwmLN7P6q3WB7nvow+Bh+Onh7/L4/OJ
### Steps to reproduce
类似的问题 #5258
在这个的基础上如果keepalive被Transition包裹则还是会导致无法回收
点击show comp2按钮显示comp2
单击remove keep-alive comp1按钮comp1从保持活动状态中删除
KeepAlive 的 storageContainer 仍然有 comp1.element
### What is expected?
储存容器移除 comp1.element
### What is actually happening?
存储容器仍有 comp1.element
### System Info
_No response_
### Any additional comments?
_No response_",,2024-12-19 07:10:54+00:00,2024-12-19 08:37:43+00:00,1,nan,0.0603,keepalive includeremovedeactive component keep alive storagecontainer vue version link to keepalive transition show comp comp remove keep alive comp comp keepalive storagecontainer comp element what is expected comp element what is actually happening comp element system info no response any additional comments no response,others,0.2023
vuejs/core,2742265099,vue 3.4.15及以上版本中发现 compiler-sfc.cjs.js 引用magic-string^0.30.11,6小时前magic-string更新导致报错,"### Vue version
3.4.15
### Link to minimal reproduction
https://github.com/vuejs/core/issues/new?assignees=&labels=&projects=&template=bug_report.yml
### Steps to reproduce
更新导致 ES 模块和 CommonJS 模块的兼容性
### What is expected?
magic-string引用更新导致 ES 模块和 CommonJS 模块的兼容性问题,导致新install的包运行时直接报错
### What is actually happening?
magic-string引用更新导致 ES 模块和 CommonJS 模块的兼容性问题,导致新install的包运行时直接报错
### System Info
_No response_
### Any additional comments?
_No response_","need more info,can't reproduce",2024-12-16 12:31:17+00:00,2024-12-20 00:09:48+00:00,1,"need more info,can't reproduce",3.4851,vue compiler sfc cjs js magic string magic string vue version link to es commonjs what is expected magic string es commonjs install what is actually happening magic string es commonjs install system info no response any additional comments no response,others,-0.5267
vuejs/core,2740739842,watch with deep: true incorrectly collects parent dependencies,"### Vue version
3.5.13
### Link to minimal reproduction
https://play.vuejs.org/#eNq1kk1PwzAMhv+KldOQqk4ITmWbBGgHOAACxCmX0npdR5pESbpNqvrfcVy2AZomceCW2K/txx+duLY2XbcoMjHxhattAI+htTOp68YaF6CDTR6KZQIO8yLUa4QeFs40IAXFSXEltdSF0T6AeV/BdK8bdaDRBywzyrEwJoNzCu3POIBzjqQGGJ3BdBZD00GdkjRhh8bNW65aTMCokl8s7aITIJY0ClNlqpEUnI/q/Y7ICDM5Yo8UAL3U/4NTItphbn9n4modxBQZBNfSwHeYByyaMxce5kohPQsm42GJtD76BGysygMOv/GPr0hE8AS9qKt05Y2mA+CEUhSmsbVC92hDTU1JQfsbepQiV8ps7tkWyRiVY5ZYfByxr/w22qR4cujRrele9r6QuwrD4J6/POCW3ntnY8pWkfqE8xlp4G1kHGQ3rS4J+5uOae/4jGtdvfr5NqD2u6Yi6GHgfM23J1o/4F6kl1/H04v+EyfJFQA=
### Steps to reproduce
```js
const obj = reactive({ nested: { foo: 1 } });
watch(
() => obj.nested.foo,
(newValue, oldValue) => {
console.log(""watch triggered newValue, oldValue: "", newValue, oldValue);
}
);
watch(
() => obj.nested.foo,
(newValue, oldValue) => {
console.log(""watch deep triggered newValue, oldValue: "", newValue, oldValue);
},
{ deep: true }
);
obj.nested = {
foo: 1,
};
```
When using watch with the deep: true option, the getter execution triggers dependency collection for the entire object tree, including parent properties, instead of only the target property. This causes the callback to be triggered when a parent property (e.g., obj.nested) is modified, even though the target property (e.g., obj.nested.foo) itself has not changed.
### What is expected?
The callback should only be triggered when obj.nested.foo changes, not when the parent ... [TRUNCATED]",,2024-12-15 16:11:54+00:00,2024-12-16 03:24:39+00:00,1,nan,0.4672,watch with deep true incorrectly collects parent dependencies vue version link to when using watch with the deep true option the getter execution triggers dependency collection for the entire object tree including parent properties instead of only the target property this causes the callback to be triggered when a parent property e g obj nested is modified even though the target property e g obj nested foo itself has not changed what is expected the callback should only be triggered when obj nested foo changes not when the parent truncated,others,0.6808
vuejs/core,2738498830,Vue flags not working correctly,"### Vue version
3.5.13
### Link to minimal reproduction
https://github.com/rstoenescu/vue-flags-bug
### Steps to reproduce
Please see the reproduction repo (a barebones Vitejs project folder): /vite.config.js for flags configuration and /src/App.vue for an Options API component.
```
define: {
// No effect, it's still included
__VUE_OPTIONS_API__: 'false',
// Has the opposite effect: devtools will be enabled for prod builds!
// Commenting this out will disable devtools in prod builds.
__VUE_PROD_DEVTOOLS__: 'false',
// Has the opposite effect: mismatch details will be included in prod builds!
__VUE_PROD_HYDRATION_MISMATCH_DETAILS__: 'false'
},
```
1. Run `yarn build` then serve the /dist folder. App.vue, which is an Options API component runs fine and executes its Options API definition.
2. Run `yarn build` with vite.config.js > `__VUE_PROD_DEVTOOLS__: 'false',`. Serve the /dist folder and notice that Vue Devtools is available and running. Then again with the vite.config.js `__VUE_PROD_DEVTOOLS__` line commented out. Notice that Vue Devtools is not available.
### What is expected?
1. Options API to not be included when define > `__VUE_OPTIONS_API__` is set to false.
2. Vue Devtools not to be available for production builds when define > `__VUE_PROD_DEVTOOLS__` is set to false.
3. Hydration mismatches will still be available in production builds when define > `__VUE_PROD_HYDRATION_MISMATCH_DETAILS__` is set to false.
... [TRUNCATED]",,2024-12-13 14:14:42+00:00,2024-12-16 00:48:57+00:00,2,nan,2.4405,vue flags not working correctly vue version link to please see the reproduction repo a barebones vitejs project folder vite config js for flags configuration and src app vue for an options api component run then serve the dist folder app vue which is an options api component runs fine and executes its options api definition run with vite config js serve the dist folder and notice that vue devtools is available and running then again with the vite config js line commented out notice that vue devtools is not available what is expected options api to not be included when define is set to false vue devtools not to be available for production builds when define is set to false hydration mismatches will still be available in production builds when define is set to false truncated,others,0.4767
vuejs/core,2737661676,incorrect default value of boolean prop in defineProps ,"### Vue version
3.5.13
### Link to minimal reproduction
https://play.vuejs.org/#eNqFUstOwzAQ/JWVLwWpSg5wqtIiQD3AASrg6EuabIOLY1t+lEoh/87aoQ8kaG87O7P27NgduzUm2wRkE1a4ygrjwaEPBmSpmiln3nE240q0RlsP97o1sLK6hVGWRxBHR1xxVeTDNGkJeGyNLD0SAijSVE51kR8RbEyHV1qtRJOtnVbkoItyzirSC4n22XihFRmYQGIiV0qpPx9Tz9uA412/esfq44/+2m1jj7OFRYd2g5ztOV/aBv1Az1+fcEv1nmx1HSSpT5Av6LQM0eMguwuqJttHuuT2IWUnVPPm5luPyu2Wikajsk96zijLGNV/qx/sXmXXaY6rnlLcvcOZJ6SonQdjtXEwhRpXQuEioiLdUN5MwHlLNpObJUEV2iXaBCuCS60llirh+oDhC2jvdFxNhmYXl6d/Qy02qQDouh87PW1CTD5Qv39J/w0r/uD7
### Steps to reproduce
define props like:
```ts
const props = defineProps<{
a?: string,
b?: number,
c?: boolean,
d?: boolean | undefined
}>()
```
got the result:
```
{ ""c"": false, ""d"": false }
```
### What is expected?
default value of (not required) boolean props should be undefined
### What is actually happening?
got false
### System Info
_No response_
### Any additional comments?
_No response_",,2024-12-13 07:29:45+00:00,2024-12-13 07:33:59+00:00,1,nan,0.0029,incorrect default value of boolean prop in defineprops vue version link to define props like got the result what is expected default value of not required boolean props should be undefined what is actually happening got false system info no response any additional comments no response,others,0.4404
vuejs/core,2735339893,Hydration mismatch with non-printable characters,"### Vue version
3.5.13
### Link to minimal reproduction
https://play.vuejs.org/#__SSR__eNp9kUFLxDAQhf9KnMteli5SvSxVUFlQDyoqeAlIacfaNU1CMqmF0v/uJGW1B9nc8t6byTeTEa6szfqAsIXCV661JDxSsJdSV0Z7EoQDiQuxukWljHgzTtUnUrqV1MVmLuAoXwg7q0pCvglRxHrBZxznBtOU5E3Ui80iC2sgzy99tE2290YzxxijEirT2Vahe7TUMomErUhO9Epm+b5PGrmA64NefWL19Y++90PUJDw59Oh6lPDrUekapNnevTww7cLsTB0Up4+Yz+iNCpFxjl0HXTP2Ipdo7zprHLW6efW7gVD7w1ARNCanlJfAn3FzZPQ/3Dw7S3VST7zF9x5d7MkLzLPz7DSH6Qet+5ud
### Steps to reproduce
1) Open the reproduction
2) Look into the console
### What is expected?
No hydration mismatch should occur since Vue should recognize that by retrieving the content of an HTML element from the DOM, it will not receive these characters.
### What is actually happening?
When Vue renders a string with non-printable characters on the server, a hydration mismatch appears on the client.
For example:
```ts
const text = 'Hello World!\r'
```
_Edit: Actually, it seems that only `\r` is causing problems based on my testing._
### System Info
_No response_
### Any additional comments?
_No response_",":hammer: p3-minor-bug,scope:hydration",2024-12-12 09:21:50+00:00,2024-12-12 10:41:24+00:00,1,":hammer: p3-minor-bug,scope:hydration",0.0553,hydration mismatch with non printable characters vue version link to open the reproduction look into the console what is expected no hydration mismatch should occur since vue should recognize that by retrieving the content of an html element from the dom it will not receive these characters what is actually happening when vue renders a string with non printable characters on the server a hydration mismatch appears on the client for example edit actually it seems that only is causing problems based on my testing system info no response any additional comments no response,bug,-0.8074
vuejs/core,2733970230,Typescript error: required named v-model props passed in camelCase but expected in kebab-case,"### Vue version
3.5.13
### Link to minimal reproduction
https://play.vuejs.org/#eNqVUl1PwjAU/StNX9AERhB9QTABwoMmfkR9bGLGdoFiaWvbIWbZf/e2kw0ETHzaes69t+eenpwOtY7WGdAe7TtYaRE7uGGSkH6y4CJtJWqllQTpyLq1UimInjZKg3FfrXjAqIHZkNFDblpyI+TaOK7f3pmNR5sYrh2x4DJNRCznWO4so8hyvM84khNsJwWZGbUiDRTYuK64sVc2roSVJVH7l2C/lW9iMlHSOj9vSAb+c9Y5R7xCRz/ohUf77VIbKqFN1IRVMz6PllZJtCj3zjDq7+ACzKN2HKcw2iOB8VwshPq8C5gzGTS3eLKA5P0IvrQbjzH6ZMCCWQOjFediMwdX0pOXB9jgf0Wi45nA6j/IZ7BKZF5jWTbKZIqyd+qC2ttgK5fzVzvZOJB2u9SeUOsMT4IYD3u0CByjaLR/jVOO1Ft0o8vQx2SB5h55r4MU5jnZZmpICmzcg0YB+ke4yjevJw5ICjMu4d6n96xRR7vRDAn8yLiBtNyYFHVqagGnJkxPTthP2NsajPcbN+9GV1GnS4tvs5I37Q==
### Steps to reproduce
I'm not sure why in the linked project I don't have any type errors, but I get them locally when running the same code example. If you have a named `defineModel` with `required: true` and try to pass it via kebab case to the child component, typescript complains that `property-a` isn't being passed. It does say that `propertyA` is being passed. I noticed that only the v-model props are being expected in kebab-case, the others are expected in camelcase.
I was also having additional runtime problems with kebab casing, but these were resolved in version 3.5.12. It seems the typescript issue is a lingering problem.

### What is expected?
I called `defineModel` with the string `property-a` and I ex... [TRUNCATED]",scope: types,2024-12-11 20:45:30+00:00,2025-02-25 14:25:48+00:00,0,scope: types,75.7363,typescript error required named v model props passed in camelcase but expected in kebab case vue version link to i m not sure why in the linked project i don t have any type errors but i get them locally when running the same code example if you have a named with and try to pass it via kebab case to the child component typescript complains that isn t being passed it does say that is being passed i noticed that only the v model props are being expected in kebab case the others are expected in camelcase i was also having additional runtime problems with kebab casing but these were resolved in version it seems the typescript issue is a lingering problem capture d cran what is expected i called with the string and i ex truncated,bug,-0.9432
vuejs/core,2732236231,子组件直接作为父组件根元素时,父组件的事件会传递到子组件,类似事件冒泡,"### Vue version
3.5.13
### Link to minimal reproduction
https://play.vuejs.org/#eNqtU8tO6zAQ/RXLm6RSlS7uXUFa8VAXIPEQsMMsImdaDMk48qNUqvrvjB1SQkkRCzaW533m+HjDT5smW3ngRzy30qjGMQvONzOBqm60cey2MIDuXJOFdGELo2uWZJM9f2iSCFx4lE5pZJVepqONQMakRqsryIInaWJVMjoWuBWYT9qZNI0MB3VTFQ7IYizfn3tC9VPB6RR8lu+Pp5p80mvAx9xZmrxQy+zFaqT9IhjBJZWoCsxNE3BawY9YjIRYUVX67TL6nPEw7vzyGeTrgP/FroNP8FsDFswKBN/FXGGW4Nrw/P4a1nTfBWtd+oqyfwjeAbHmA8Y27cxjSbB7eRHtRXwlhcsHO187QNstFYCGzG3MF5zeJ7B1aPVPuP+y/7GOXohYHHjmw1rZMI1X2qODcsyo3bk3ofoCrStQAtu26olgBCcNfNTda/wusL7zQ11BSo6prt10YEYapCVwhyNNR9PZQR2Ou15RkKMowx802YdEGvxifhfg/gJ/yFtLBNTKWWKhhIVCmAcrfUxov+Qp7PN3bNEHGqJq4LNHSGnE8Is/XqpVvLRXdiIrJV+7T85mfQLzSZfc3b7SvX0HaRytMg==
### Steps to reproduce
点击子元素
### What is expected?
控制台不该有任何输出
### What is actually happening?
控制台输出了 'parent'
### System Info
_No response_
### Any additional comments?
不清楚是不是就是这样设计的",,2024-12-11 08:32:33+00:00,2024-12-11 08:39:57+00:00,1,nan,0.0051,vue version link to what is expected what is actually happening parent system info no response any additional comments,others,-0.296
vuejs/core,2730398601,怎样定义方法暴露给JCEF(Chrominu内核)调用,"### Vue version
3.5.1
### Link to minimal reproduction
无
### Steps to reproduce
如果是 javascript,只要定义方法,直接可以被 jcef 的 executeJavaScript 调用。
function fnAlert(){....}
jcef调用:executeJavaScript('fnAlert();','',0)
但在vue3中,使用setup模式定义方法,在jcef中调用提示 Uncaught ReferenceError: fnAlert is not defined
vue3中定义
`
`
在vue3中如何像javascript把方法暴露出来给chromium内核浏览器执行 executeJavaScript 来调用方法。
### What is expected?
向浏览器暴露方法
### What is actually happening?
...
### System Info
_No response_
### Any additional comments?
_No response_",,2024-12-10 15:08:52+00:00,2024-12-10 15:12:26+00:00,0,nan,0.0025,jcef chrominu vue version link to javascript jcef executejavascript function fnalert jcef executejavascript fnalert vue setup jcef uncaught referenceerror fnalert is not defined vue function fnalert msg alert msg defineexpose fnalert vue javascript chromium executejavascript what is expected what is actually happening system info no response any additional comments no response,others,-0.296
vuejs/core,2729672988,@vue/compat传递组件未声明的props,没有作为attrs穿透,"### Vue version
3.5.13
### Link to minimal reproduction
https://play.vuejs.org/#eNp9UsFuwjAM/ZUolxapgsN2qmDShjiwA5s2tFMuVWogEJIocRlSxb/PSSmrpm252e/Zfnl2yx+dG58a4CWfBumVQxYAG/cgjDo665G1NWyUgbml0IDBYldIDxXCx8rWcGEbb49McOohuDDSmoBsDWdkM/ajMm+FYV373HnrQtFWiD5cRgmgF6uthrG227ztKFfGlcA8VXvD8tHsYZdntTplRRanZYlxESZSexlLE0jFQG0eqUWcJnUVQpkhBMwKiq2ZayUPZWzcDmVkMuahzka35sJMJ51X5BIFCEenaQRFjE1l/11WqjATnEQIPiFsOhkQecEx0JyN2o73wRryP5kgeKxXGvyLQ0U6BC/Z1R7BK63t53PKoW8gCk95uQN5+CW/D+eYE/zVQwB/ohXdMKz8FrCDF+8rMmYAHm3daGL/A74BedREjR3tqTE1yR7wktpluiJltuuwOCOY0H8qCk07S/x0QPFS/vr6t9y78X2/a375Aun37qM=
### Steps to reproduce
如以上repo
### What is expected?
在vue中,class 和 onClick都会作为attrs被传递,因为并没有在组件的props中声明
### What is actually happening?
在@vue/compat中,props和attrs中都没有class 和 onClick 属性。
此行为导致vant组件库大量组件无法使用
### System Info
_No response_
### Any additional comments?
_No response_",,2024-12-10 10:18:46+00:00,2024-12-11 01:17:16+00:00,2,nan,0.624,vue compat props attrs vue version link to repo what is expected vue class onclick attrs props what is actually happening vue compat props attrs class onclick vant system info no response any additional comments no response,others,-0.5267
vuejs/core,2726585872,多次切换checkbox,vnode没有释放,"### Vue version
latest
### Link to minimal reproduction
https://play.vuejs.org/#eNqNU8tu2zAQ/JUtL06AVILQnlLZ6CuH9tAWTY68KPLKZkKRBB+KA8P/niUZyXEeRm7kzJC7wx1u2TdjiiEgO2e1a60wHhz6YBZcid5o62ELFjvYQWd1DzOSzibqh+7NI16UcRNvmn054KsDQTUquGq1clRsre/SNfNY5sTbgKd7tl03aoXEnZzCfAFbrmA6UQyNDJH7cIhwtYsX1GW2Q0Zo47E3svFIO4D6OnivFXxtpWhv55zlMpwt8qIusyCLU3fDR9GRcKzEGZR7tiIapcOE1eWTWuyMeUdWOrEqbpxW9MrJA5Wkc0Ki/Wu8IKucnWd3kWuk1He/Exbf42zE2zW2t6/gN24TMc7+WXRoB3Iycb6xK/SZvrj8gxtaT2Svl0GS+gj5H52WIfaYZd+DWlLbT3Sp219p4EKtrtzFxqNyo6nYaFTukp4zGn98sres79v9VHxO52ic9IpjuF7E9NiYl2JIi5zDqkpgmdHnY5rC+cpHOPIVKMkAY1ZpOrj8ib1+DHPXUCgoze/qEWqhTPDg7w2mSNJt15oGS+GiUaAcwVyCwvq2nd0DcQVLGQ==
### Steps to reproduce
重复切换/勾选多少次就会出现多少个vnode
https://github.com/user-attachments/assets/1537f206-c147-4595-9d31-c236cf691c15
### What is expected?
销毁掉
### What is actually happening?
没有销毁
### System Info
_No response_
### Any additional comments?
_No response_",,2024-12-09 10:12:16+00:00,2024-12-09 12:41:32+00:00,1,nan,0.1037,checkbox vnode vue version latest link to vnode what is expected what is actually happening system info no response any additional comments no response,others,-0.5267
vuejs/core,2725006087,Reactivity is lost when using `Reactive Props Destructure` on props with default values specified using `withDefaults`.,"### Vue version
v3.5.13
### Link to minimal reproduction
https://play.vuejs.org/#eNq1U0uP0zAQ/itTX9KVSqJV4VLSSjxWAg6wWpC4WEJRMmm9OHZkT7JFUf47Y2dTCiy9cfN83zy+eXgQr9o27TsUG5H70qmWwCN17U4a1bTWEQzgsIYRamcbSNg1OVFvbNM+4mkWjJApeSlNaY0naPwetiF6mbxDrS18tU5Xi+RKmjybinEZNgibVheEbAHkh+vdMMTgccwztiKqTNsR9M8aW6HeSsG8FJBNZBSyYeg3Is/OEouVIM+6arVP77013PAQYqUoOVhpdJ9aUqxbig1EJnAFy374EDFyHa5mvDxg+f0J/N4fAybFrUOPrkcpThwVbo800TefP+KR3yeS2+o0e18g79Bb3QWNk9vrzlQs+8wvqn0fd6PM/ou/ORIaPzcVhAbPMfpLwbsKc/tX67/krtPnMU6akac47/nsYnRhwuSJE5yuJ8vgDouSVK/oBygP2nqaL+NxvXwdD4oOb7EuOk1+WWGtDN462/p8YI8NeHLcybhbXq1gQqSYbinIWCykGPmanqhmLMuKFZn630Ugcuetbf9KEbu9VPvyp6hUHx8QE/Ka5h8S2Wyi/zz4bz26sH5e1Tp9kV6vxfgTLfRRWA==
### Steps to reproduce
* Update `msg` in `App.vue` from Preview from input tag.
* The `Comp: Hello World!` shown in Preview does not change according to the input value (`msg`).
### What is expected?
* That reactivity is not lost and that the `Comp: Hello World!` shown in Preview is changed to match the `msg` in `App.vue`.
### What is actually happening?
* Reactivity is lost and the `Comp: Hello World!` displayed in Preview is not changed to match the `msg` in `App.vue`.
### System Info
_No response_
### Any additional comments?
As shown below, it seems to occur when you set default values with `withDefaults` while expecting `Reactive Props Destructure` and split assigning props.
```ts
// Reactivity is lost
const { msg } = withDefaults(defineProps<{msg: string}>(), {msg: ""Hello Comp!!... [TRUNCATED]",,2024-12-08 07:28:30+00:00,2024-12-09 00:54:00+00:00,3,nan,0.726,reactivity is lost when using on props with default values specified using vue version v link to update in from preview from input tag the shown in preview does not change according to the input value what is expected that reactivity is not lost and that the shown in preview is changed to match the in what is actually happening reactivity is lost and the displayed in preview is not changed to match the in system info no response any additional comments as shown below it seems to occur when you set default values with while expecting and split assigning props ts reactivity is lost const msg withdefaults defineprops msg hello comp truncated,others,-0.3818
vuejs/core,2720437152,Using headers attribute on table cells trigger warning when running tests with happy-dom environment ,"### Vue version
3.5.13
### Link to minimal reproduction
https://codesandbox.io/p/devbox/8kthxl
### Steps to reproduce
**From the reproduction link**
On a terminal, run :
```shell
pnpm run test
```
**From a new project**
1. Install vue, vue-test-utils and vitest with happy-dom as environment.
2. Create a component with a table and a `headers` attribute on any of the table cells.
3. Set up a test for this component, then run the tests.
### What is expected?
`headers` attribute on td element should be displayed and interpreted as an HTML attribute.
### What is actually happening?
Got the following warning
```
[Vue warn]: Failed setting prop ""headers"" on : value header is invalid. TypeError: Cannot set property headers of [object Object] which has only a getter
at patchDOMProp (/project/workspace/node_modules/.pnpm/@vue+runtime-dom@3.5.13/node_modules/@vue/runtime-dom/dist/runtime-dom.cjs.js:603:13)
at patchProp (/project/workspace/node_modules/.pnpm/@vue+runtime-dom@3.5.13/node_modules/@vue/runtime-dom/dist/runtime-dom.cjs.js:714:5)
at mountElement (/project/workspace/node_modules/.pnpm/@vue+runtime-core@3.5.13/node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4827:11)
at processElement (/project/workspace/node_modules/.pnpm/@vue+runtime-core@3.5.13/node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:4774:7)
at patch (/project/workspace/node_modules/.pnpm/@vue+runtime-core@3.5.13/node_module... [TRUNCATED]",,2024-12-05 13:35:41+00:00,2024-12-06 07:01:31+00:00,2,nan,0.7263,using headers attribute on table cells trigger warning when running tests with happy dom environment vue version link to from the on a terminal run from a new project install vue vue test utils and vitest with happy dom as environment create a component with a table and a attribute on any of the table cells set up a test for this component then run the tests what is expected attribute on td element should be displayed and interpreted as an html attribute what is actually happening got the following warning vue warn failed setting prop headers on value header is invalid typeerror cannot set property headers of object object which has only a getter at patchdomprop project workspace node modules pnpm vue runtime dom node modules vue runtime dom dist runtime dom cjs js at patchprop project workspace node modules pnpm vue runtime dom node modules vue runtime dom dist runtime dom cjs js at mountelement project workspace node modules pnpm vue runtime core node modules vue runtime core dist runtime core cjs js at processelement project workspace node modules pnpm vue runtime core node modules vue runtime core dist runtime core cjs js at patch project workspace node modules pnpm vue runtime core node module truncated,others,0.5267
vuejs/core,2712322905,The v-model in @vue/compact is not work well,"### Vue version
3.5.13
### Link to minimal reproduction
NA
### Steps to reproduce
Recently, we have been upgrading from Vue 2 to Vue 3 using the migration build. We found that the Vue 2 and Vue 3 syntax for v-model cannot coexist. The version of Vue3 is 3.5.13. ""If I set compatConfig.MODE=2, the Vue 3 code does not work correctly; if I set compatConfig.MODE=3, then the Vue 2 code does not work correctly
code: vue2
{{ value ? ""Yes"" : ""No"" }}
code: vue3
Parent bound v-model is: {{ model }}
Increment
### What is expected?
In @vue/compact, Use vue2 and vue3 totally
### What is actually happening?
v-model doesnot work well
### System Info
```shell
NA
```
### Any additional comments?
_No response_",,2024-12-02 15:27:32+00:00,2024-12-09 02:08:29+00:00,3,nan,6.4451,the v model in vue compact is not work well vue version link to na recently we have been upgrading from vue to vue using the migration build we found that the vue and vue syntax for v model cannot coexist the version of vue is if i set compatconfig mode the vue code does not work correctly if i set compatconfig mode then the vue code does not work correctly code vue value yes no export default props value type boolean default false data return text valid false methods emitchange event this emit input event target checked code vue const model definemodel eslint disable line function update model value parent bound v model is model increment what is expected in vue compact use vue and vue totally what is actually happening v model doesnot work well system info any additional comments no response,others,0.4352
angular/angular,4687389145,Dependency conflict during installation,"### Which @angular/* package(s) are the source of the bug?
core, compiler
### Is this a regression?
No
### Description
I am using Angular 20 and recently encountered a peer-dependency conflict during installation. It seems that platform-browser-dynamic is installing angular/core@20.0.7 and ^20.0.0 installs angular/core@20.3.25. I can get around the issue by locking down my versions but this issue occurred recently and was working fine last week. Attached are screenshots of the errors and my npm package.json dependancies.
### Please provide a link to a minimal reproduction of the bug
_No response_
### Please provide the exception or error you saw
```true
```
### Please provide the environment you discovered this bug in (run `ng version`)
```true
Repo 1 Dependencies:
""dependencies"": {
""@angular/animations"": ""^20.0.4"",
""@angular/cdk"": ""^20.0.3"",
""@angular/common"": ""^20.0.4"",
""@angular/core"": ""^20.0.4"",
""@angular/forms"": ""^20.0.4"",
""@angular/localize"": ""^20.0.4"",
""@angular/material"": ""^20.0.3"",
""@angular/material-moment-adapter"": ""^20.0.3"",
""@angular/platform-browser"": ""^20.0.4"",
""@angular/platform-browser-dynamic"": ""^20.0.4"",
""@syncfusion/ej2-angular-image-editor""... [TRUNCATED]","area: packaging,gemini-triaged",2026-06-17 22:04:46+00:00,2026-06-17 22:06:52+00:00,1,"area: packaging,gemini-triaged",0.0015,dependency conflict during installation which angular package s are the source of the bug core compiler is this a regression no description i am using angular and recently encountered a peer dependency conflict during installation it seems that platform browser dynamic is installing angular core and installs angular core i can get around the issue by locking down my versions but this issue occurred recently and was working fine last week attached are of the errors and my npm package json dependancies please provide a link to a of the bug no response please provide the exception or error you saw please provide the environment you discovered this bug in run true repo dependencies dependencies angular animations angular cdk angular common angular core angular forms angular localize angular material angular material moment adapter angular platform browser angular platform browser dynamic syncfusion ej angular image editor truncated,others,-0.5927
angular/angular,4675946453,"docs(adev): 404 error on page refresh (F5) for specific ARIA guides (combobox, autocomplete)","### Describe the problem that you experienced
When navigating directly to certain ARIA guide pages (like combobox or autocomplete) or refreshing the page (F5) while on them, the application redirects to the https://angular.dev/404 page.
https://angular.dev/guide/aria/autocomplete 404
https://angular.dev/guide/aria/combobox 404
https://angular.dev/guide/aria/grid 200
### Enter the URL of the topic with the problem
https://angular.dev/guide/aria/combobox
### Describe what you were looking for in the documentation
I was trying to read the documentation regarding ARIA patterns (specifically the combobox and autocomplete guides) and wanted the page to load correctly after a hard refresh.
### Describe the actions that led you to experience the problem
Open the browser and go to https://angular.dev/guide/aria/grid (this works fine).
Navigate to https://angular.dev/guide/aria/combobox or https://angular.dev/guide/aria/autocomplete.
Press F5 to refresh the page.
Observe that the URL changes to https://angular.dev/404 and the ""Page not found"" view is displayed.
### Describe what you want to experience that would fix the problem
The page should render correctly on initial load and after a hard refresh without redirecting to the 404 page.
### Add a screenshot if that helps illustrate the problem
_No response_
### If this problem caused an exception or error, please paste it here
```true
```
### If the problem is browser-specific, please specify the device, OS, browser, ... [TRUNCATED]","area: docs-infra,gemini-triaged",2026-06-16 16:12:49+00:00,2026-06-17 15:03:58+00:00,0,"area: docs-infra,gemini-triaged",0.9522,docs adev error on page refresh f for specific aria guides combobox autocomplete describe the problem that you experienced when navigating directly to certain aria guide pages like combobox or autocomplete or refreshing the page f while on them the application redirects to the page enter the url of the topic with the problem describe what you were looking for in the documentation i was trying to read the documentation regarding aria patterns specifically the combobox and autocomplete guides and wanted the page to load correctly after a hard refresh describe the actions that led you to experience the problem open the browser and go to this works fine navigate to or press f to refresh the page observe that the url changes to and the page not found view is displayed describe what you want to experience that would fix the problem the page should render correctly on initial load and after a hard refresh without redirecting to the page add a screenshot if that helps illustrate the problem no response if this problem caused an exception or error please paste it here if the problem is browser specific please specify the device os browser truncated,bug,-0.9403
angular/angular,4673140578,Regression: i18n-on attribute falsely rejected as an event handler since v22.0.1 — startsWith('on') is too broad,"### Which @angular/* package(s) are the source of the bug?
compiler
### Is this a regression?
Yes
### Description
In v22.0.1, commit [1ee224ca30](https://github.com/angular/angular/commit/1ee224ca30b9b5a7906b4f481135f1fb900fb3ce) (""fix(compiler): disallow i18n event attributes"") widened the i18n attribute security check to reject any i18n-prefixed attribute whose name starts with the substring on (case-insensitive):
```
// packages/compiler — I18nMetaVisitor._visitElementLike
if (isTrustedType || name.toLowerCase().startsWith('on')) {
this._reportError(attr, `Translating attribute '${name}' is disallowed for security reasons.`);
}
```
The intent is to block translation of event-handler attributes (onclick, onmouseover, …). But String.prototype.startsWith('on') matches much more than event handlers — it also matches the bare attribute on, as well as online, onboarding, once, etc. These are legitimate, translatable attributes and are now rejected as a false positive.
This breaks Kendo UI for Angular's Switch component (@progress/kendo-angular-inputs), whose precompiled kendoSwitchLocalizedMessages container declares i18n-on=""kendo.switch.on|The **On** label of the Switch."" for its On/Off labels. Any app importing now fails to build:
```
✘ [ERROR] Errors found in the template:
Translating attribute 'on' is disallowed for security reasons. (""oSwitch""], ngImport: i0, template: `
]i18n... [TRUNCATED]","area: compiler,gemini-triaged",2026-06-16 10:04:16+00:00,2026-06-16 10:22:51+00:00,1,"area: compiler,gemini-triaged",0.0129,regression i n on attribute falsely rejected as an event handler since v startswith on is too broad which angular package s are the source of the bug compiler is this a regression yes description in v commit ee ca fix compiler disallow i n event attributes widened the i n attribute security check to reject any i n prefixed attribute whose name starts with the substring on case insensitive the intent is to block translation of event handler attributes onclick onmouseover but string prototype startswith on matches much more than event handlers it also matches the bare attribute on as well as online onboarding once etc these are legitimate translatable attributes and are now rejected as a false positive this breaks kendo ui for angular s switch component progress kendo angular inputs whose precompiled kendoswitchlocalizedmessages container declares i n on kendo switch on the on label of the switch for its on off labels any app importing now fails to build error errors found in the template translating attribute on is disallowed for security reasons oswitch ngimport i template ng container kendoswitchlocalizedmessages error i n truncated,bug,-0.8126
angular/angular,4665932299,New synchronous resource behavior in v22 can cause test failures but is not called out as a breaking change,"### Which @angular/* package(s) are the source of the bug?
core
### Is this a regression?
Yes
### Description
During the upgrade to v22 I've found some of our tests suddenly failing with hard-to-explain issues. I eventually managed to trace this down to resource resolving earlier than they used to (#67382). This was causing conditions to change when manually controlling change detection (e.g. components now render because an `@if` matches).
While the behavior change is sound and guarded behind the major version bump, it would seem sensible to call out this behavior change in the breaking changes on the release and potentially in the upgrade guide (likely under *Advanced*).
### Please provide a link to a minimal reproduction of the bug
_No response_
### Please provide the exception or error you saw
```true
```
### Please provide the environment you discovered this bug in (run `ng version`)
```true
Angular CLI : n/a (we use Bazel)
Angular : 22.0.1
Node.js : 24.16.0
Package Manager : pnpm 11.4.0+sha512.f0febc7e37552ab485494a914241b338e0b3580b93d54ce31f00933015880863129038a1b4ae4e414a0ee63ac35bf21197e990172c4a68256450b5636310968f
Operating System : linux x64
┌───────────────────────────────────┬───────────────────┬───────────────────┐
│ Package │ Installed Version │ Requested Version │
├───────────────────────────────────┼───────────────────┼───────────────────┤
│ @angular-devkit/architect │ 0.2102.13 ... [TRUNCATED]",area: core,2026-06-15 14:20:08+00:00,2026-06-15 15:57:05+00:00,1,area: core,0.0673,new synchronous resource behavior in v can cause test failures but is not called out as a breaking change which angular package s are the source of the bug core is this a regression yes description during the upgrade to v i ve found some of our tests suddenly failing with hard to explain issues i eventually managed to trace this down to resource resolving earlier than they used to this was causing conditions to change when manually controlling change detection e g components now render because an matches while the behavior change is sound and guarded behind the major version bump it would seem sensible to call out this behavior change in the breaking changes on the release and potentially in the upgrade guide likely under advanced please provide a link to a of the bug no response please provide the exception or error you saw please provide the environment you discovered this bug in run true angular cli n a we use bazel angular node js package manager pnpm sha f febc e ab a b e b b d ce f a b ae e a ee ac bf e c a b f linux x package installed version requested version angular devkit architect truncated,feature,-0.8176
angular/angular,4658246464,Signals form: fill form model without some model fields,"### Which @angular/* package(s) are the source of the bug?
forms
### Is this a regression?
No
### Description
after defining the form with signal model including nested fields, then set this form with model and set the nested object of field with {} it will produce error in console this.field(...) is not a function
### Please provide a link to a minimal reproduction of the bug
_No response_
### Please provide the exception or error you saw
```true
```
### Please provide the environment you discovered this bug in (run `ng version`)
```true
ular CLI : 22.0.0
Angular : 22.0.0
Node.js : 24.16.0
Package Manager : npm 11.13.0
Operating System : win32 x64
┌───────────────────────────────────┬───────────────────┬───────────────────┐
│ Package │ Installed Version │ Requested Version │
├───────────────────────────────────┼───────────────────┼───────────────────┤
│ @angular/animations │ 22.0.0 │ ^22.0.0 │
│ @angular/build │ 22.0.0 │ ^22.0.0 │
│ @angular/cli │ 22.0.0 │ ^22.0.0 │
│ @angular/common │ 22.0.0 │ ^22.0.0 │
│ @angular/compiler │ 22.0.0 │ ^22.0.0 │
│ @angular/compiler-cli │ 22.0.0 │ ^22.0.0 │
│ @angular/core │ 22.0.0 │ ^22.0.0 │
│ @angular/forms ... [TRUNCATED]","area: forms,gemini-triaged",2026-06-14 07:05:53+00:00,2026-06-14 07:09:55+00:00,1,"area: forms,gemini-triaged",0.0028,signals form fill form model without some model fields which angular package s are the source of the bug forms is this a regression no description after defining the form with signal model including nested fields then set this form with model and set the nested object of field with it will produce error in console this field is not a function please provide a link to a of the bug no response please provide the exception or error you saw please provide the environment you discovered this bug in run true ular cli angular node js package manager npm win x package installed version requested version angular animations angular build angular cli angular common angular compiler angular compiler cli angular core angular forms truncated,others,-0.9402
angular/angular,4656382907,ngTemplateContextGuard does not narrow type when type parameter has constraint,"### Which @angular/* package(s) are the source of the bug?
language-service
### Is this a regression?
No
### Description
I've found that when I add type constraints to a generic directive, the language service is unable to narrow the context, and defaults to `any`. Not sure if this is a known limitation, but I've not been able to find anything that says it is.
Example:
```typescript
import { Component, Directive, input, signal } from '@angular/core';
export type GenericContext = { $implicit: T };
@Directive({
selector: '[appGeneric]'
})
export class GenericDirective> {
readonly items = input.required();
static ngTemplateContextGuard>(
directive: GenericDirective,
context: unknown
): context is GenericContext {
return true;
}
}
@Component({
selector: 'app-root',
template: `
`,
imports: [GenericDirective]
})
export class App {
readonly items = signal([
{ myNum: 0 }
]);
}
```
Result:
After removing `extends Record`:
### Please provide the environment you discovered this bug in (run `ng version`)
```tr... [TRUNCATED]","area: language-service,gemini-triaged",2026-06-13 17:50:04+00:00,2026-06-14 09:04:46+00:00,2,"area: language-service,gemini-triaged",0.6352,ngtemplatecontextguard does not narrow type when type parameter has constraint which angular package s are the source of the bug language service is this a regression no description i ve found that when i add type constraints to a generic directive the language service is unable to narrow the context and defaults to not sure if this is a known limitation but i ve not been able to find anything that says it is example result after removing please provide the environment you discovered this bug in run tr truncated,others,-0.6938
angular/angular,4653721552,Reference-counted component outputs,"### Which @angular/* package(s) are relevant/related to the feature request?
core
### Description
I would like to be able to detect when a component output has subscribers.
This enables components to dynamically show UI elements like buttons if an output for the button has subscribers.
For example:
```ts
@Component({
selector: 'app-component',
})
export class ExampleComponent {
// The button only gets rendered if the output has subscribers
readonly backClick = output();
}
```
```html
@if (backClick.hasSubscribers()) {
Back
}
```
This is very useful for making components _harder to misuse_, as we don't show buttons that we know have no effect. We can also log warnings or errors if an output should be used, but isn't.
Currently, we can accomplish this by extending the EventEmitter class to refcount on `subscribe()`. However, extending Angular classes is not supported under Angular's semver policy: https://github.com/angular/angular/blob/main/contributing-docs/public-api-surface.md#extending-angular-classes
### Proposed solution
Expose a new property on `OutputEmitterRef`:
```ts
class OutputEmitterRef {
hasSubscribers: Signal;
}
```
The `OutputEmitterRef` would refcount internally with a signal, returning `true` from the `hasSubscribers` signal if the refcount is > 0.
### Alternatives considered
Without this feature, components can use inputs to decide whether to show UI elemen... [TRUNCATED]","area: core,gemini-triaged",2026-06-13 01:16:08+00:00,2026-06-13 06:26:35+00:00,1,"area: core,gemini-triaged",0.2156,reference counted component outputs which angular package s are relevant related to the feature request core description i would like to be able to detect when a component output has subscribers this enables components to dynamically show ui elements like buttons if an output for the button has subscribers for example this is very useful for making components harder to misuse as we don t show buttons that we know have no effect we can also log warnings or errors if an output should be used but isn t currently we can accomplish this by extending the eventemitter class to refcount on however extending angular classes is not supported under angular s semver policy proposed solution expose a new property on the would refcount internally with a signal returning from the signal if the refcount is alternatives considered without this feature components can use inputs to decide whether to show ui elemen truncated,others,0.6959
angular/angular,4647263214,"Roadmap page (angular.dev/roadmap) appears stale, not updated since v22","### Describe the problem that you experienced
I noticed the [roadmap page](https://angular.dev/roadmap) may not have been updated in a little while, as the content still seems to reflect the v22 cycle.
The **""Available to experiment with""** section currently lists:
- Signal Forms
- Resource API
- httpResource
The **""Production ready""** section lists:
- Zoneless change detection
- Linked Signal API
- Incremental hydration
- Effect API
- Event replay with SSR
- Route-level render mode
Since v22, several of the ""experiment with"" items have graduated, but the page doesn't reflect their current status. It's unclear from the roadmap which of these have since stabilized, moved to production-ready, or changed, making the page misleading for developers checking what's safe to adopt.
### Enter the URL of the topic with the problem
https://angular.dev/roadmap","area: docs-infra,gemini-triaged",2026-06-12 07:24:43+00:00,2026-06-12 09:11:24+00:00,2,"area: docs-infra,gemini-triaged",0.0741,roadmap page angular dev roadmap appears stale not updated since v describe the problem that you experienced i noticed the roadmap page may not have been updated in a little while as the content still seems to reflect the v cycle the available to experiment with section currently lists signal forms resource api httpresource the production ready section lists zoneless change detection linked signal api incremental hydration effect api event replay with ssr route level render mode since v several of the experiment with items have graduated but the page doesn t reflect their current status it s unclear from the roadmap which of these have since stabilized moved to production ready or changed making the page misleading for developers checking what s safe to adopt enter the url of the topic with the problem,documentation,-0.1406
angular/angular,4646950049,OutputEmitterRef.emit() skips listeners when an earlier listener unsubscribes synchronously (e.g. outputToObservable + take(1)),"### Which @angular/* package(s) are the source of the bug?
core
### Is this a regression?
Yes
### Description
When two listeners are subscribed to the same signal-based `output()`, and the first listener unsubscribes itself synchronously while receiving an emitted value, the second listener is silently skipped — it never receives the event.
This is a regression compared to decorator-based `@Output()` / `EventEmitter`: the exact same code works correctly there, as it does in every comparable event system (DOM `EventTarget`, Node `EventEmitter`, RxJS `Subject`). A listener removing itself is never supposed to affect delivery to other listeners. Since `output()` is presented as a drop-in replacement for `@Output()`, this behavioral difference is subtle and very hard to debug — in our app it manifested as a template event binding that simply never fired, with nothing in the console pointing at the cause.
## Reproduction
https://stackblitz.com/edit/stackblitz-starters-scbzqgpg
A child component emits an output once:
```ts
@Component({ selector: 'app-child', /* ... */ })
export class ChildComponent implements OnInit {
ready = output();
ngOnInit() {
this.ready.emit('hello from child');
}
}
```
A directive on the same element consumes that output once, the idiomatic way:
```ts
@Directive({ selector: 'app-child[consumeOnce]' })
export class ConsumeOnceDirective {
private host = inject(ChildComponent);
constructor() {
out... [TRUNCATED]","area: core,state: has PR,bug",2026-06-12 06:34:32+00:00,2026-06-16 15:29:35+00:00,0,"area: core,state: has PR,bug",4.3716,outputemitterref emit skips listeners when an earlier listener unsubscribes synchronously e g outputtoobservable take which angular package s are the source of the bug core is this a regression yes description when two listeners are subscribed to the same signal based and the first listener unsubscribes itself synchronously while receiving an emitted value the second listener is silently skipped it never receives the event this is a regression compared to decorator based the exact same code works correctly there as it does in every comparable event system dom node rxjs a listener removing itself is never supposed to affect delivery to other listeners since is presented as a drop in replacement for this behavioral difference is subtle and very hard to debug in our app it manifested as a template event binding that simply never fired with nothing in the console pointing at the cause reproduction a child component emits an output once a directive on the same element consumes that output once the idiomatic way ts directive selector app child consumeonce export class consumeoncedirective private host inject childcomponent constructor out truncated,bug,0.0338
angular/angular,4637959398,CSS compilation issue for multi argument :host() selectors,"### Which @angular/* package(s) are the source of the bug?
compiler
### Is this a regression?
Yes
### Description
We started testing the new Angular 22 version and saw that in one of our applications some css styles were not applied correctly anymore.
There might be an issue with how multi-argument host selectors are rendered.
Example css style
```css
:host(ds-list-item, [ds-list-item], ds-menu-item, [ds-menu-item]) { ... }
```
In Angular 20 this got rendered into something like
```css
ds-list-item[_nghost-ng-c2697880216],
[ds-list-item][_nghost-ng-c2697880216],
ds-menu-item[_nghost-ng-c2697880216],
[ds-menu-item][_nghost-ng-c2697880216],
.ds-list-item[_ngcontent-ng-c2697880216] { ... }
```
Now within our tests with Angular 22 it got rendered into
```css
[_ngcontent-ng-c2697880216]:host(ds-list-item, [ds-list-item], ds-menu-item, [ds-menu-item]),
.ds-list-item[_ngcontent-ng-c2697880216] { ... }
```
The `:host()` arm uses `_ngcontent` — but the host element gets `_nghost`, not `_ngcontent`. The selector never matches, so all of our base styles are dead code.
### Please provide a link to a minimal reproduction of the bug
_No response_
### Please provide the exception or error you saw
```true
```
### Please provide the environment you discovered this bug in (run `ng version`)
```true
Angular CLI : 22.0.0
Angular : 22.0.0
Node.js : 24.15.0
Package Manager : npm 11.16.0
Operating System : linux x64
```
### Anything else?
_No respo... [TRUNCATED]","area: compiler,core: CSS encapsulation,gemini-triaged",2026-06-11 06:52:02+00:00,2026-06-11 15:44:01+00:00,2,"area: compiler,core: CSS encapsulation,gemini-triaged",0.3694,css compilation issue for multi argument host selectors which angular package s are the source of the bug compiler is this a regression yes description we started testing the new angular version and saw that in one of our applications some css styles were not applied correctly anymore there might be an issue with how multi argument host selectors are rendered example css style in angular this got rendered into something like now within our tests with angular it got rendered into the arm uses but the host element gets not the selector never matches so all of our base styles are dead code please provide a link to a of the bug no response please provide the exception or error you saw please provide the environment you discovered this bug in run anything else no respo truncated,bug,-0.9559
angular/angular,4634483856,animate.leave skipped for the closing panel when switching panels in an exclusive accordion (sibling instances share a TNode),"> **TL;DR — it breaks an exclusive accordion.** In an accordion (or tab group / expandable nav menu) where opening one panel closes the currently-open one, clicking a different panel makes the open panel **disappear instantly instead of animating its `animate.leave` collapse**. The opening panel's `animate.enter` plays fine; only the *closing* panel is broken, and only when another opens in the same change-detection tick.
>
> It's **order-dependent**: it only breaks when the closing section comes *before* the opening one in DOM order. (Both sections update in one tick, in order — so the closing element is detached and tracked *first*, then the entering sibling cancels it.) Closing a *later* section while opening an *earlier* one animates fine, as does toggling a single section with nothing else opening. So in the repro, **clicking Section B while A is open is broken; clicking Section A while B is open animates correctly** — don't be fooled by trying the working direction.
>
> Why: the panels are separate instances of the **same** item component, so their animated elements share one `TNode`. `cancelLeavingNodes` (added in 21.2.0) sees the still-animating closing panel under that shared `TNode` in a different DOM parent, assumes it's a stale duplicate, and force-removes it.
>
> ▶️ **Repro — same code, side by side** (a two-section exclusive accordion; click **Section B** while **Section A** is open):
> - ❌ **Broken (Angular 21.2.x):** https://stackblitz.com/github/kaiguogit/ng-... [TRUNCATED]","area: core,core: animations,gemini-triaged",2026-06-10 19:51:32+00:00,2026-06-11 17:38:59+00:00,4,"area: core,core: animations,gemini-triaged",0.908,animate leave skipped for the closing panel when switching panels in an exclusive accordion sibling instances share a tnode tl dr it breaks an exclusive accordion in an accordion or tab group expandable nav menu where opening one panel closes the currently open one clicking a different panel makes the open panel disappear instantly instead of animating its collapse the opening panel s plays fine only the closing panel is broken and only when another opens in the same change detection tick it s order dependent it only breaks when the closing section comes before the opening one in dom order both sections update in one tick in order so the closing element is detached and tracked first then the entering sibling cancels it closing a later section while opening an earlier one animates fine as does toggling a single section with nothing else opening so in the repro clicking section b while a is open is broken clicking section a while b is open animates correctly don t be fooled by trying the working direction why the panels are separate instances of the same item component so their animated elements share one added in sees the still animating closing panel under that shared in a different dom parent assumes it s a stale duplicate and force removes it repro same code side by side a two section exclusive accordion click section b while section a is open broken angular x truncated,others,-0.7717
angular/angular,4628829238,Build system migration guide still says webpack-based build system is fully supported,"### Describe the problem that you experienced
The build system migration guide still says:
>The existing webpack-based build system is still considered stable and fully supported.
> Applications can continue to use the browser builder and projects can opt-out of migrating during an update.
This seems outdated or at least incomplete after the Angular v22 deprecations.
Angular CLI v22 deprecates the webpack-related builders and points users to `@angular/build` instead. Because of that, the current wording can be confusing: it suggests that the webpack-based build system is still a fully supported long-term option, while the CLI now emits deprecation warnings for this path.
https://github.com/angular/angular-cli/pull/33127/
### Enter the URL of the topic with the problem
https://angular.dev/tools/cli/build-system-migration
### Describe what you were looking for in the documentation
I heard that webpack support had been deprecated in Angular v22, so I was looking for the official migration guidance and current status of the webpack-based builders.
### Describe the actions that led you to experience the problem
_No response_
### Describe what you want to experience that would fix the problem
_No response_
### Add a screenshot if that helps illustrate the problem
_No response_
### If this problem caused an exception or error, please paste it here
```true
```
### If the problem is browser-specific, please specify the device, OS, browser, and version
```true
```
... [TRUNCATED]","area: docs,gemini-triaged",2026-06-10 06:57:46+00:00,2026-06-10 17:54:44+00:00,1,"area: docs,gemini-triaged",0.4562,build system migration guide still says webpack based build system is fully supported describe the problem that you experienced the build system migration guide still says the existing webpack based build system is still considered stable and fully supported applications can continue to use the browser builder and projects can opt out of migrating during an update this seems outdated or at least incomplete after the angular v deprecations angular cli v deprecates the webpack related builders and points users to instead because of that the current wording can be confusing it suggests that the webpack based build system is still a fully supported long term option while the cli now emits deprecation warnings for this path enter the url of the topic with the problem describe what you were looking for in the documentation i heard that webpack support had been deprecated in angular v so i was looking for the official migration guidance and current status of the webpack based builders describe the actions that led you to experience the problem no response describe what you want to experience that would fix the problem no response add a screenshot if that helps illustrate the problem no response if this problem caused an exception or error please paste it here if the problem is browser specific please specify the device os browser and version truncated,documentation,-0.7976
angular/angular,4628430039,Feedback: Search docs panel should reset the input box on reopen,"### Describe the problem that you experienced
When opening the search panel for a second time within the same session on angular.dev, the input field retains the previous search query. This requires users to manually delete the old text before they can type a new query, causing friction in the search experience.
### Enter the URL of the topic with the problem
https://angular.dev/
### Describe what you were looking for in the documentation
_No response_
### Describe the actions that led you to experience the problem
_No response_
### Describe what you want to experience that would fix the problem
When the search panel is reopened, the previous search text should be fully cleared out.
Alternatively, we can keep the text in selected state.
### Benefits of this Approach
* **Effortless Overwriting:** The user can instantly start typing to replace the old query.
* **Easy Modification:** If the user wants to refine their previous search instead, they can press the right arrow key to deselect the text and append new terms.
### Add a screenshot if that helps illustrate the problem
_No response_
### If this problem caused an exception or error, please paste it here
```true
```
### If the problem is browser-specific, please specify the device, OS, browser, and version
```true
```
### Provide any additional information here in as much as detail as you can
```true
```","area: docs-infra,gemini-triaged",2026-06-10 05:48:17+00:00,2026-06-10 09:14:48+00:00,2,"area: docs-infra,gemini-triaged",0.1434,feedback search docs panel should reset the input box on reopen describe the problem that you experienced when opening the search panel for a second time within the same session on angular dev the input field retains the previous search query this requires users to manually delete the old text before they can type a new query causing friction in the search experience enter the url of the topic with the problem describe what you were looking for in the documentation no response describe the actions that led you to experience the problem no response describe what you want to experience that would fix the problem when the search panel is reopened the previous search text should be fully cleared out alternatively we can keep the text in selected state benefits of this approach effortless overwriting the user can instantly start typing to replace the old query easy modification if the user wants to refine their previous search instead they can press the right arrow key to deselect the text and append new terms add a screenshot if that helps illustrate the problem no response if this problem caused an exception or error please paste it here if the problem is browser specific please specify the device os browser and version provide any additional information here in as much as detail as you can,documentation,-0.8935
angular/angular,4627592425,Workspace tsdk not used when it is a relative path in the workspace,"### Is this a bug report or a feature request?
- [x] Bug Report
- [ ] Feature Request
### Please provide the steps to reproduce the issue [Bug Report only]
When using the Visual Studio Code setting `js/ts.tsdk.path` (previously `typescript.tsdk`) to specify a TypeScript version, if that path is a relative path within the workspace, the Angular Language Service does not use the TypeScript version specified at that path, and instead uses its own bundled version. This was working in version 21.2.3, but no longer works in version 21.2.4, or version 22.0.0.
I created a reproduction repository to demonstrate the issue: [https://github.com/Sidnoea/als-vscode-bug](https://github.com/Sidnoea/als-vscode-bug)
In this repository, the TypeScript version is kept committed, and the path used is `.yarn/sdks/typescript/lib`, because this repository uses Yarn PnP. I do not believe this bug is related to Yarn PnP specifically, but I included it in the repository to demonstrate my use case, as this is how I ended up discovering the bug. In this case, the custom TypeScript version 5.7.3-sdk should be loaded, but instead, TypeScript version 5.9.3 is loaded. This then causes the Angular Language Service to fail.
I believe this bug may have been caused by #68862, which changed the locations that are searched when looking for TypeScript.
As a temporary workaround, I can use an absolute folder path instead of a relative folder path, which causes the specified TypeScript version to be loaded. Th... [TRUNCATED]","area: language-service,gemini-triaged",2026-06-10 03:10:27+00:00,2026-06-10 18:09:58+00:00,3,"area: language-service,gemini-triaged",0.6247,workspace tsdk not used when it is a relative path in the workspace x bug report feature request please provide the the issue bug report only when using the visual studio code setting previously to specify a typescript version if that path is a relative path within the workspace the angular language service does not use the typescript version specified at that path and instead uses its own bundled version this was working in version but no longer works in version or version i created a reproduction repository to demonstrate the issue in this repository the typescript version is kept committed and the path used is because this repository uses yarn pnp i do not believe this bug is related to yarn pnp specifically but i included it in the repository to demonstrate my use case as this is how i ended up discovering the bug in this case the custom typescript version sdk should be loaded but instead typescript version is loaded this then causes the angular language service to fail i believe this bug may have been caused by which changed the locations that are searched when looking for typescript as a temporary workaround i can use an absolute folder path instead of a relative folder path which causes the specified typescript version to be loaded th truncated,others,-0.9517
angular/angular,4626288930,Safe navigation migration does unnecessary changes,"### Which @angular/* package(s) are the source of the bug?
core
### Is this a regression?
Yes
### Description
`[condition]=""category?.category != null""` such code gets overwritten for no reason.
furthermore, another migration adds unnecessary suppressions to tsconfig files (nullishCoalescingNotNullable, optionalChainNotNullable) even when project is not using strict nullability at all.
### Please provide a link to a minimal reproduction of the bug
_No response_
### Please provide the exception or error you saw
```true
```
### Please provide the environment you discovered this bug in (run `ng version`)
```true
```
### Anything else?
_No response_",area: migrations,2026-06-09 22:58:30+00:00,2026-06-10 00:11:57+00:00,0,area: migrations,0.051,safe navigation migration does unnecessary changes which angular package s are the source of the bug core is this a regression yes description such code gets overwritten for no reason furthermore another migration adds unnecessary suppressions to tsconfig files nullishcoalescingnotnullable optionalchainnotnullable even when project is not using strict nullability at all please provide a link to a of the bug no response please provide the exception or error you saw please provide the environment you discovered this bug in run anything else no response,others,-0.7269
angular/angular,4623032010,`experimentalWebMcpTool` is responsible for invoking the model synchronously,"### Which @angular/* package(s) are the source of the bug?
forms
### Is this a regression?
No
### Description
If the model depends on a required `input`, the forms webmcp tool, is responsible for throwing `NG0950: Input ""id"" is required but no value is available yet.`
Repro:
```ts
describe('App', () => {
@Component({
selector: 'app-root',
template: ``,
})
class App {
id = input.required();
model = linkedSignal(() => ({id: this.id()}));
form = form(this.model, () => {}, {
experimentalWebMcpTool: {
description: 'foo',
name: 'foo',
},
});
}
it('should work', async () => {
TestBed.configureTestingModule({providers: [provideExperimentalWebMcpForms()]});
const fixture = TestBed.createComponent(App);
});
});
```
","area: forms,core: webmcp",2026-06-09 14:49:22+00:00,2026-06-10 17:14:43+00:00,0,"area: forms,core: webmcp",1.1009,is responsible for invoking the model synchronously which angular package s are the source of the bug forms is this a regression no description if the model depends on a required the forms webmcp tool is responsible for throwing repro,others,-0.1531
angular/angular,4622767181,Youtube iframe on Angular v22 release page - broken,"### Describe the problem that you experienced
When I'm trying to load the Angular v22 release page - Youtube iframe looks broken.
MacOS, Firefox, 151.0.4 (aarch64).
https://github.com/user-attachments/assets/864632f4-639a-4952-9cda-b8ce92c59bd5
### Enter the URL of the topic with the problem
_No response_
### Describe what you were looking for in the documentation
_No response_
### Describe the actions that led you to experience the problem
_No response_
### Describe what you want to experience that would fix the problem
_No response_
### Add a screenshot if that helps illustrate the problem
_No response_
### If this problem caused an exception or error, please paste it here
```true
```
### If the problem is browser-specific, please specify the device, OS, browser, and version
```true
```
### Provide any additional information here in as much as detail as you can
```true
```","area: docs-infra,gemini-triaged",2026-06-09 14:14:55+00:00,2026-06-09 14:37:00+00:00,1,"area: docs-infra,gemini-triaged",0.0153,youtube iframe on angular v release page broken describe the problem that you experienced when i m trying to load the angular v release page youtube iframe looks broken macos firefox aarch enter the url of the topic with the problem no response describe what you were looking for in the documentation no response describe the actions that led you to experience the problem no response describe what you want to experience that would fix the problem no response add a screenshot if that helps illustrate the problem no response if this problem caused an exception or error please paste it here if the problem is browser specific please specify the device os browser and version provide any additional information here in as much as detail as you can,documentation,-0.9779
angular/angular,4622356548,"platformServer().onDestroy resets ngServerMode to undefined after every render, defeating the BootstrapContext guard introduced to fix GHSA-68x2-mx4q-78m7","### Which @angular/* package(s) are the source of the bug?
platform-server
### Is this a regression?
No
### Description
The fix for GHSA-68x2-mx4q-78m7 added a guard in `@angular/core` that throws `NG0401` (Missing Platform) when `bootstrapApplication()` is called server-side without a `BootstrapContext`. The guard checks `globalThis.ngServerMode`:
```javascript
// @angular/core/fesm2022/core.mjs ~line 2420
if (typeof ngServerMode !== 'undefined' && ngServerMode && !platformRef) {
throw new RuntimeError(-401, 'Missing Platform...');
}
```
The guard only fires when `ngServerMode === true`. The problem is that `platformServer()` in `@angular/platform-server` sets this flag to `true` at the start of a render but then resets it back to `undefined` inside an `onDestroy` callback when the platform is destroyed at the end of each render:
```javascript
// @angular/platform-server/fesm2022/_server-chunk.mjs lines 576-588
function platformServer(extraProviders) {
const noServerModeSet = typeof ngServerMode === 'undefined';
if (noServerModeSet) {
globalThis['ngServerMode'] = true;
}
const platform = createPlatformFactory(platformCore, 'server', INTERNAL_SERVER_PLATFORM_PROVIDERS)(extraProviders);
if (noServerModeSet) {
platform.onDestroy(() => {
globalThis['ngServerMode'] = undefined; // resets the guard flag after every render
});
}
return platform;
}
```
After any `renderApplication()` call completes (which internally calls `platformServer()... [TRUNCATED]","area: server,gemini-triaged",2026-06-09 13:23:47+00:00,2026-06-10 15:32:51+00:00,3,"area: server,gemini-triaged",1.0896,platformserver ondestroy resets ngservermode to undefined after every render defeating the bootstrapcontext guard introduced to fix ghsa x mx q m which angular package s are the source of the bug platform server is this a regression no description the fix for ghsa x mx q m added a guard in that throws missing platform when is called server side without a the guard checks the guard only fires when the problem is that in sets this flag to at the start of a render but then resets it back to inside an callback when the platform is destroyed at the end of each render after any call completes which internally calls platformserver truncated,bug,-0.8248
angular/angular,4620461234,Enum Default = 1 still has a comment that this is the default for v22,"### Describe the problem that you experienced
https://github.com/angular/angular/blob/e6ae250802ee1cb4cb321cad5fab0a9f0b2779dc/packages/core/src/change_detection/constants.ts#L37
constants.ts comment in line 37 says that `Default = 1` is the default. This contradicts the actual behavior that is already noted in line 25. That OnPush is the default
https://github.com/angular/angular/blob/e6ae250802ee1cb4cb321cad5fab0a9f0b2779dc/packages/core/src/change_detection/constants.ts#L25
### Enter the URL of the topic with the problem
_No response_
### Describe what you were looking for in the documentation
_No response_
### Describe the actions that led you to experience the problem
_No response_
### Describe what you want to experience that would fix the problem
_No response_
### Add a screenshot if that helps illustrate the problem
_No response_
### If this problem caused an exception or error, please paste it here
```true
```
### If the problem is browser-specific, please specify the device, OS, browser, and version
```true
```
### Provide any additional information here in as much as detail as you can
```true
```","area: core,gemini-triaged",2026-06-09 08:53:12+00:00,2026-06-09 20:10:01+00:00,0,"area: core,gemini-triaged",0.47,enum default still has a comment that this is the default for v describe the problem that you experienced constants ts comment in line says that is the default this contradicts the that is already noted in line that onpush is the default enter the url of the topic with the problem no response describe what you were looking for in the documentation no response describe the actions that led you to experience the problem no response describe what you want to experience that would fix the problem no response add a screenshot if that helps illustrate the problem no response if this problem caused an exception or error please paste it here if the problem is browser specific please specify the device os browser and version provide any additional information here in as much as detail as you can,others,-0.9707
angular/angular,4618740065,"Bug: AOT compilation slow, build times excessive","## Problem Statement
AOT slow:
- Build times long
- CI/CD slow
- Development blocked
**Business Impact:** Slow builds
**Technical Impact:** Compilation speed
## Root Cause Analysis
No optimization. Sequential compilation.
## Solution Overview
1. Parallel: parallel compilation
2. Caching: cache artifacts
3. Incremental: incremental builds
4. Optimization: optimize passes
5. Profiling: identify slow
## Type of Change
- Bug fix: Build performance
## Testing Done
- Build test: faster
- Cache test: works
- Incremental test: faster
## Related Issue
Relates to build time
## Suggested Labels
bug, build, performance, gssoc26","area: compiler,gemini-triaged",2026-06-09 04:12:42+00:00,2026-06-09 04:48:31+00:00,0,"area: compiler,gemini-triaged",0.0249,aot compilation slow build times excessive problem statement aot slow build times long ci cd slow development blocked business impact slow builds technical impact compilation speed root cause analysis no optimization sequential compilation solution overview parallel parallel compilation caching cache artifacts incremental incremental builds optimization optimize passes profiling identify slow type of change bug fix build performance testing done build test faster cache test works incremental test faster related issue relates to build time suggested labels bug build performance gssoc,bug,-0.93
angular/angular,4618739996,Enhancement: Add better error messages and debugging tools,"## Problem Statement
Error messages unclear:
- Hard to debug
- No helpful info
- Frustration
**Business Impact:** Hard to debug
**Technical Impact:** Poor errors
## Root Cause Analysis
Minimal error info. Generic messages.
## Solution Overview
1. Messages: clear messages
2. Context: include context
3. Suggestions: suggest fixes
4. Debugging: debug tools
5. Documentation: link docs
## Type of Change
- Feature: Error handling
## Testing Done
- Message test: clear
- Context test: helpful
- Tool test: useful
## Related Issue
Relates to DX
## Suggested Labels
feature, error-handling, dx, gssoc26","area: core,gemini-triaged",2026-06-09 04:12:41+00:00,2026-06-09 04:48:10+00:00,0,"area: core,gemini-triaged",0.0246,enhancement add better error messages and debugging tools problem statement error messages unclear hard to debug no helpful info frustration business impact hard to debug technical impact poor errors root cause analysis minimal error info generic messages solution overview messages clear messages context include context suggestions suggest fixes debugging debug tools documentation link docs type of change feature error handling testing done message test clear context test helpful tool test useful related issue relates to dx suggested labels feature error handling dx gssoc,bug,-0.9738
angular/angular,4618739943,"Bug: Change detection runs too frequently, unnecessary checks","## Problem Statement
Change detection excessive:
- Runs too often
- Performance impact
- Unnecessary checks
**Business Impact:** Performance degradation
**Technical Impact:** CD algorithm
## Root Cause Analysis
CD triggers on all events. No optimization.
## Solution Overview
1. OnPush: promote OnPush
2. Optimization: optimize checks
3. Smart: smart detection
4. Profiling: identify runs
5. Testing: CD tests
## Type of Change
- Bug fix: Change detection
## Testing Done
- Detection test: fewer runs
- Performance test: improved
- Correctness test: correct
## Related Issue
Relates to performance
## Suggested Labels
bug, change-detection, performance, gssoc26","area: core,gemini-triaged",2026-06-09 04:12:40+00:00,2026-06-09 04:47:45+00:00,1,"area: core,gemini-triaged",0.0244,change detection runs too frequently unnecessary checks problem statement change detection excessive runs too often performance impact unnecessary checks business impact performance degradation technical impact cd algorithm root cause analysis cd triggers on all events no optimization solution overview onpush promote onpush optimization optimize checks smart smart detection profiling identify runs testing cd tests type of change bug fix change detection testing done detection test fewer runs performance test improved correctness test correct related issue relates to performance suggested labels bug change detection performance gssoc,bug,0.8402
angular/angular,4618739896,Enhancement: Add better TypeScript strict mode support and type safety,"## Problem Statement
Strict mode incomplete:
- Type safety gaps
- Unsafe patterns allowed
- Limited strictness
**Business Impact:** Type safety issues
**Technical Impact:** Incomplete strict mode
## Root Cause Analysis
Not all strict rules enforced.
## Solution Overview
1. Strict: enable all strict
2. Rules: add rules
3. Linting: strict linting
4. Documentation: guide users
5. Migration: migration path
## Type of Change
- Enhancement: Type safety
## Testing Done
- Strict test: works
- Migration test: smooth
- Type test: safe
## Related Issue
Relates to safety
## Suggested Labels
feature, typescript, safety, gssoc26","area: dev-infra,gemini-triaged",2026-06-09 04:12:39+00:00,2026-06-09 04:48:52+00:00,0,"area: dev-infra,gemini-triaged",0.0252,enhancement add better typescript strict mode support and type safety problem statement strict mode incomplete type safety gaps unsafe patterns allowed limited strictness business impact type safety issues technical impact incomplete strict mode root cause analysis not all strict rules enforced solution overview strict enable all strict rules add rules linting strict linting documentation guide users migration migration path type of change enhancement type safety testing done strict test works migration test smooth type test safe related issue relates to safety suggested labels feature typescript safety gssoc,feature,0.9682
angular/angular,4618739838,Bug: Dependency injection performance degrades with large modules,"## Problem Statement
DI slow with large apps:
- Module initialization slow
- Startup time increases
- Scalability issues
**Business Impact:** Slow app startup
**Technical Impact:** DI performance
## Root Cause Analysis
No optimization for large modules. Linear resolution.
## Solution Overview
1. Caching: cache resolutions
2. Optimization: optimize lookup
3. Lazy loading: defer loading
4. Profiling: identify bottlenecks
5. Testing: performance tests
## Type of Change
- Bug fix: Performance
## Testing Done
- Performance test: improved
- Scalability test: handles large
- Startup test: faster
## Related Issue
Relates to startup performance
## Suggested Labels
bug, performance, di, gssoc26","area: core,gemini-triaged",2026-06-09 04:12:38+00:00,2026-06-09 04:49:38+00:00,0,"area: core,gemini-triaged",0.0257,dependency injection performance degrades with large modules problem statement di slow with large apps module initialization slow startup time increases scalability issues business impact slow app startup technical impact di performance root cause analysis no optimization for large modules linear resolution solution overview caching cache resolutions optimization optimize lookup lazy loading defer loading profiling identify bottlenecks testing performance tests type of change bug fix performance testing done performance test improved scalability test handles large startup test faster related issue relates to startup performance suggested labels bug performance di gssoc,bug,-0.886
angular/angular,4616723704,v22 HTTP option `reportUploadProgress` does not work,"### Which @angular/* package(s) are the source of the bug?
common
### Is this a regression?
No (in the sense that the flag is new 🙃)
### Description
In Angular 22, the HTTP request option `reportProgress` is deprecated, and encourages you to switch to `reportUploadProgress` / `reportDownloadProgress` instead. However, it seems at least `reportUploadProgress` does not work. (I did not verify download progress.)
I can't get a StackBlitz project set up because their version of Node is slightly out of Angular's support window, so I've attached a project that shows the issue. `npm install` and `npm start`, then you can flip between the old and new flags and upload a file to test (it uploads to a dummy API, https://jsonplaceholder.typicode.com/). The old flag reports progress, but the new one does not.
[ng22-upload-progress.zip](https://github.com/user-attachments/files/28726416/ng22-upload-progress.zip)
### Please provide a link to a minimal reproduction of the bug
_No response_
### Please provide the exception or error you saw
```true
```
### Please provide the environment you discovered this bug in (run `ng version`)
```true
Angular CLI : 22.0.0
Angular : 22.0.0
Node.js : 24.16.0
Package Manager : npm 11.13.0
Operating System : win32 x64
┌───────────────────────────┬───────────────────┬───────────────────┐
│ Package │ Installed Version │ Requested Version │
├───────────────────────────┼───────────────────┼────────────... [TRUNCATED]","area: common/http,gemini-triaged",2026-06-08 21:20:30+00:00,2026-06-10 18:37:48+00:00,3,"area: common/http,gemini-triaged",1.887,v http option does not work which angular package s are the source of the bug common is this a regression no in the sense that the flag is new description in angular the http request option is deprecated and encourages you to switch to instead however it seems at least does not work i did not verify download progress i can t get a stackblitz project set up because their version of node is slightly out of angular s support window so i ve attached a project that shows the issue and then you can flip between the old and new flags and upload a file to test it uploads to a dummy api the old flag reports progress but the new one does not ng upload progress zip please provide a link to a of the bug no response please provide the exception or error you saw please provide the environment you discovered this bug in run true angular cli angular node js package manager npm win x package installed version requested version truncated,others,-0.2914
angular/angular,4612437879,Add `@server` and `@browser` template blocks for SSR-only and browser-only rendering,"### Which @angular/* package(s) are relevant/related to the feature request?
compiler
### Description
This is a feature request for first-class template-level control-flow blocks that render only on a specific platform:
```html
@server {
}
@browser {
}
```
The goal is to make SSR/browser-only rendering explicit in Angular templates and make this behavior hydration-aware.
Today this can be approximated with isPlatformBrowser, isPlatformServer, custom structural directives, or component-level guards. However, those solutions are verbose, easy to implement inconsistently, and do not provide a clear framework-level contract for hydration behavior.
Angular already has template control-flow syntax such as `@if`, `@for`, `@switch`, and `@defer`. SSR apps often need a similarly clear way to express platform-specific template branches.
#### Common use cases:
```html
@server {
}
@browser {
}
```
```html
@server {
}
@browser {
}
```
```html
@browser {
}
```
This would help with:
- rendering static/SEO-friendly content on the server;
- rendering browser-only widgets that depend on DOM APIs such as window, document, ResizeObs... [TRUNCATED]",area: compiler,2026-06-08 11:22:50+00:00,2026-06-08 11:54:58+00:00,2,area: compiler,0.0223,add and template blocks for ssr only and browser only rendering which angular package s are relevant related to the feature request compiler description this is a feature request for first class template level control flow blocks that render only on a specific platform the goal is to make ssr browser only rendering explicit in angular templates and make this behavior hydration aware today this can be approximated with isplatformbrowser isplatformserver custom structural directives or component level guards however those solutions are verbose easy to implement inconsistently and do not provide a clear framework level contract for hydration behavior angular already has template control flow syntax such as and ssr apps often need a similarly clear way to express platform specific template branches common use cases this would help with rendering static seo friendly content on the server rendering browser only widgets that depend on dom apis such as window document resizeobs truncated,others,0.4464
angular/angular,4612423561,Will the LOCALE_DATA hardening fix be backported to Angular 20,"### Which @angular/* package(s) are the source of the bug?
core
### Is this a regression?
No
### Description
The change from
```typescript
let LOCALE_DATA: {[localeId: string]: any} = {};
```
to
```typescript
let LOCALE_DATA: {[localeId: string]: any} = Object.create(null);
```
was merged in https://github.com/angular/angular/pull/68917 and backported to [21.2.x](https://github.com/angular/angular/releases/tag/v21.2.16) and [22.0.x.](https://github.com/angular/angular/releases/tag/v22.0.0-rc.3) branches.
security scanners like aikido are flagging Angular 20.x as affected because the same code exists there. Currently, the suggested remediation is to migrate to v21
https://intel.aikido.dev/cve/AIKIDO-2026-11077
since v20 is LTS, is there a plan to include the changes to the 20.x branch as well?
Not really a bug. Posting this here because I was directed from Discord to ask on GitHub
### Please provide a link to a minimal reproduction of the bug
_No response_
### Please provide the exception or error you saw
```true
```
### Please provide the environment you discovered this bug in (run `ng version`)
```true
Angular 20.3.24
```
### Anything else?
_No response_","area: core,gemini-triaged",2026-06-08 11:20:31+00:00,2026-06-08 12:04:45+00:00,1,"area: core,gemini-triaged",0.0307,will the locale data hardening fix be backported to angular which angular package s are the source of the bug core is this a regression no description the change from to was merged in and backported to x and x branches security scanners like aikido are flagging angular x as affected because the same code exists there currently the suggested remediation is to migrate to v since v is lts is there a plan to include the changes to the x branch as well not really a bug posting this here because i was directed from discord to ask on github please provide a link to a of the bug no response please provide the exception or error you saw please provide the environment you discovered this bug in run anything else no response,bug,-0.7845
angular/angular,4612329406,Inlay Hints - Parameter name hints popping up in wrong places,"### Is this a bug report or a feature request?
- [x] Bug Report
- [ ] Feature Request
### Please provide the steps to reproduce the issue [Bug Report only]
When looking at some .ts files in our Angular application, parameter hints are wrongly placed within the code:
When setting the feature `Angular > Inlay Hints > Parameter Hints: Name Hints` to `none` the hints disappear:
I've so far only observed this in our production code, that i can't share here
### Please provide the expected behavior vs the actual behavior you encountered [Bug Report only]
_No response_
### Please provide a screenshot if possible [Bug Report only]
_No response_
### Please provide the exception or error you saw [Bug Report only]
```true
```
### Description [Feature Request only]
_No response_
### Proposed solution [Feature Request only]
_No response_
### Alternatives considered [Feature Request only]
_No response_","area: language-service,gemini-triaged",2026-06-08 11:06:27+00:00,2026-06-09 20:33:17+00:00,0,"area: language-service,gemini-triaged",1.3936,inlay hints parameter name hints popping up in wrong places x bug report feature request please provide the the issue bug report only when looking at some ts files in our angular application parameter hints are wrongly placed within the code when setting the feature to the hints disappear i ve so far only observed this in our production code that i can t share here please provide the vs the you encountered bug report only no response please provide a screenshot if possible bug report only no response please provide the exception or error you saw bug report only description feature request only no response proposed solution feature request only no response alternatives considered feature request only no response,others,-0.9601
angular/angular,4611745927,Aria: context menu doesn't close on outside click unless hovered first,"### Describe the problem that you experienced
When I open the context menu by right-clicking inside the target area, clicking somewhere outside the menu doesn't close it, the menu stays open.
The only time clicking outside does close it is if I first move my mouse over the menu (hover on it), and then click outside. Without hovering first, outside clicks are ignored and the menu remains open.
I'd expect the context menu to close whenever I click outside of it, whether or not I hovered over it first.
### Enter the URL of the topic with the problem
https://angular.dev/guide/aria/menu
### Describe what you were looking for in the documentation
_No response_
### Describe the actions that led you to experience the problem
_No response_
### Describe what you want to experience that would fix the problem
_No response_
### Add a screenshot if that helps illustrate the problem
_No response_
### If this problem caused an exception or error, please paste it here
```true
```
### If the problem is browser-specific, please specify the device, OS, browser, and version
```true
```
### Provide any additional information here in as much as detail as you can
```true
```","area: docs,gemini-triaged",2026-06-08 09:44:00+00:00,2026-06-08 19:58:02+00:00,1,"area: docs,gemini-triaged",0.4264,aria context menu doesn t close on outside click unless hovered first describe the problem that you experienced when i open the context menu by right clicking inside the target area clicking somewhere outside the menu doesn t close it the menu stays open the only time clicking outside does close it is if i first move my mouse over the menu hover on it and then click outside without hovering first outside clicks are ignored and the menu remains open i d expect the context menu to close whenever i click outside of it whether or not i hovered over it first enter the url of the topic with the problem describe what you were looking for in the documentation no response describe the actions that led you to experience the problem no response describe what you want to experience that would fix the problem no response add a screenshot if that helps illustrate the problem no response if this problem caused an exception or error please paste it here if the problem is browser specific please specify the device os browser and version provide any additional information here in as much as detail as you can,documentation,-0.9638
angular/angular,4610891825,"ng 22 update remove changeDetection: ChangeDetectionStrategy.OnPush,","### Command
update
### Description
when doing migration to ng 22 and component has `changeDetection: ChangeDetectionStrategy.OnPush,` could be be removed
### Describe the solution you'd like
a) basic update
b) or extra migration
### Describe alternatives you've considered
_No response_","area: migrations,gemini-triaged",2026-06-08 05:42:46+00:00,2026-06-08 18:23:45+00:00,3,"area: migrations,gemini-triaged",0.5285,ng update remove changedetection changedetectionstrategy onpush command update description when doing migration to ng and component has could be be removed describe the solution you d like a basic update b or extra migration describe alternatives you ve considered no response,others,0.3818
angular/angular,4607191885,Items no longer rendering in template on mac OS,"### Which @angular/* package(s) are the source of the bug?
Don't known / other
### Is this a regression?
Yes
### Description
After upgrading from release 21.2.14 to 21.2.15 and now v22. I have an issue on my MacOS with items not rendering
in template I have :
**@for(product of products; track product.id_product) { ... }**
In the ts I have :
**.subscribe(
res => {
this.products = [...res];
}
)**
poducts is retruning data and not rendering in the template
It's working again when reverting to:
Angular CLI : 21.2.12
Angular : 21.2.14
Node.js : 24.16.0
Package Manager : npm 11.13.0
Operating System : darwin arm64
I have no issue on the production server
### Please provide a link to a minimal reproduction of the bug
_No response_
### Please provide the exception or error you saw
```true
```
### Please provide the environment you discovered this bug in (run `ng version`)
```true
```
### Anything else?
_No response_","area: core,gemini-triaged",2026-06-07 11:45:35+00:00,2026-06-07 12:13:47+00:00,2,"area: core,gemini-triaged",0.0196,items no longer rendering in template on mac os which angular package s are the source of the bug don t known other is this a regression yes description after upgrading from release to and now v i have an issue on my macos with items not rendering in template i have for product of products track product id product in the ts i have subscribe res this products res poducts is retruning data and not rendering in the template it s working again when reverting to angular cli angular node js package manager npm darwin arm i have no issue on the production server please provide a link to a of the bug no response please provide the exception or error you saw please provide the environment you discovered this bug in run anything else no response,others,-0.8807
angular/angular,4600957327,Feature Request: Permit Readonly arrays in `Provider`,"### Which @angular/* package(s) are relevant/related to the feature request?
`@angular/core`
### Description
Sometimes it's useful to have a shared set of providers that get imported together:
```ts
export const SERVICE_PROVIDERS = [
ServiceA,
ServiceB,
// ...
]
```
```ts
@Component({
// ...
providers: [SERVICE_PROVIDERS],
})
// ...
```
This pattern is subject to really confusing issues if someone does something like `SERVICE_PROVIDERS.push(...)`, so it would be better if I could use a type annotation to avoid mutating the array, i.e.:
```ts
export const SERVICE_PROVIDERS: readonly Provider[] = [
ServiceA,
ServiceB,
// ...
]
```
However, adding the annotation triggers a build-time error and requires an update to the component definition:
```ts
@Component({
// ...
providers: [...SERVICE_PROVIDERS],
})
// ...
```
This technically impacts runtime performance by duplicating the array at runtime (just to satisfy the type requirements at build time).
It is a pretty minor concern, but declaring that arrays passed as `Provider` are readonly both offers a small performance win _and_ provides a TS-based assurance that the provided array will not be mutated by the framework (which I sure hope is true!).
### Proposed solution
Update `Provider` type to accept `readonly any[]` instead of `any[]`:
https://github.com/angular/angular/blob/255151a41349c519728651739412dbd0f6138e13/packages/core/src/di/interface/provider.ts#L336-L343
I'm not sure if this might cau... [TRUNCATED]","area: core,gemini-triaged",2026-06-06 00:02:15+00:00,2026-06-08 10:03:03+00:00,2,"area: core,gemini-triaged",2.4172,feature request permit readonly arrays in which angular package s are relevant related to the feature request description sometimes it s useful to have a shared set of providers that get imported together this pattern is subject to really confusing issues if someone does something like so it would be better if i could use a type annotation to avoid mutating the array i e however adding the annotation triggers a build time error and requires an update to the component definition this technically impacts runtime performance by duplicating the array at runtime just to satisfy the type requirements at build time it is a pretty minor concern but declaring that arrays passed as are readonly both offers a small performance win and provides a ts based assurance that the provided array will not be mutated by the framework which i sure hope is true proposed solution update type to accept instead of i m not sure if this might cau truncated,feature,0.9865
angular/angular,4596521396,Defer feature not indexed or returned properly by Algolia,"### Describe the problem that you experienced
Using the embedded search in angular.dev and typing `defer` or `@defer` only return the Tutorials pages.
You have to know better and type at least 'deferre' to start getting Docs results.
### Enter the URL of the topic with the problem
_No response_
### Describe what you were looking for in the documentation
_No response_
### Describe the actions that led you to experience the problem
_No response_
### Describe what you want to experience that would fix the problem
_No response_
### Add a screenshot if that helps illustrate the problem
_No response_
### If this problem caused an exception or error, please paste it here
```true
```
### If the problem is browser-specific, please specify the device, OS, browser, and version
```true
```
### Provide any additional information here in as much as detail as you can
```true
```","area: docs-infra,gemini-triaged",2026-06-05 11:23:44+00:00,2026-06-08 10:21:57+00:00,4,"area: docs-infra,gemini-triaged",2.9571,defer feature not indexed or returned properly by algolia describe the problem that you experienced using the embedded search in angular dev and typing or only return the tutorials pages you have to know better and type at least deferre to start getting docs results enter the url of the topic with the problem no response describe what you were looking for in the documentation no response describe the actions that led you to experience the problem no response describe what you want to experience that would fix the problem no response add a screenshot if that helps illustrate the problem no response if this problem caused an exception or error please paste it here if the problem is browser specific please specify the device os browser and version provide any additional information here in as much as detail as you can,feature,-0.9595
angular/angular,4596373284,Cannot use Type Parameter for Component @Input property transformers,"### Which @angular/* package(s) are the source of the bug?
Don't known / other
### Is this a regression?
No
### Description
[](url)
This component won’t compile:
https://github.com/mwaibel-go/component-type-parameter-repro/blob/type-param-repro/src/app/widget.ts
```ts
@Component({
template: ``,
})
export class Widget {
@Input({
transform: (value: T) => value
}) data!: T
}
```
### Please provide a link to a minimal reproduction of the bug
https://github.com/mwaibel-go/component-type-parameter-repro/tree/type-param-repro
### Please provide the exception or error you saw
```true
Symbol must be exported in order to be used as the type of an Input transform function(-993001)
```
### Please provide the environment you discovered this bug in (run `ng version`)
```true
Angular CLI : 21.2.14
Angular : 21.2.16
Node.js : 24.13.0
Package Manager : npm 11.11.1
Operating System : linux x64
┌───────────────────────────┬───────────────────┬───────────────────┐
│ Package │ Installed Version │ Requested Version │
├───────────────────────────┼───────────────────┼───────────────────┤
│ @angular/build │ 21.2.14 │ ^21.2.14 │
│ @angular/cli │ 21.2.14 │ ^21.2.14 │
│ @angular/common │ 21.2.16 │ ^21.2.16 │
│ @angular/compiler │ 21.2.16 │ ^21.2.16 │
│ @angular/compiler-cli │ 21.2.16 │ ^21.2.16 ... [TRUNCATED]","area: compiler,gemini-triaged",2026-06-05 10:59:47+00:00,2026-06-05 12:44:09+00:00,2,"area: compiler,gemini-triaged",0.0725,cannot use type parameter for component input property transformers which angular package s are the source of the bug don t known other is this a regression no description url this component won t compile please provide a link to a of the bug please provide the exception or error you saw please provide the environment you discovered this bug in run true angular cli angular node js package manager npm linux x package installed version requested version angular build angular cli angular common angular compiler angular compiler cli truncated,others,-0.2023
angular/angular,4596130691,Signal Forms: applyWhen with else option,"### Which @angular/* package(s) are relevant/related to the feature request?
@angular/forms/signals
### Description
When a subform is based on another Selection we have to use disabled and applyWhen (see the next example). I found no other option for this use case.
So in this example the other decides for goal points. Then the pointsSchema (could be required counter or a min of 10) should be applied. If the user selects something else this should be disabled -> Validation will be disabled.
```
interface MyForm {
goal: {
decision: 'points' | 'cards';
}
points: {
counter: number;
}
}
export const mySchema =
schema((schema) => {
const decision = schema.goal.decision;
disabled(schema.points, {
when: ({ valueOf }) => valueOf(decision) !== 'points',
});
applyWhen(
schema.points,
({ valueOf }) => valueOf(decision) === 'points',
pointsSchema,
);
});
```
### Proposed solution
valueOf can be part of schema at the top or applyWhen should have an else part or can contain options (in this case to disable the schema)
### Alternatives considered
-","area: forms,needs: clarification,forms: signals",2026-06-05 10:17:07+00:00,2026-06-09 19:07:58+00:00,3,"area: forms,needs: clarification,forms: signals",4.3686,signal forms applywhen with else option which angular package s are relevant related to the feature request angular forms signals description when a subform is based on another selection we have to use disabled and applywhen see the next example i found no other option for this use case so in this example the other decides for goal points then the pointsschema could be required counter or a min of should be applied if the user selects something else this should be disabled validation will be disabled proposed solution valueof can be part of schema at the top or applywhen should have an else part or can contain options in this case to disable the schema alternatives considered,others,0.2263
angular/angular,4595464276,Bug: [animate.enter] fires during SSR hydration on elements already present in server-rendered HTML,"### Which @angular/* package(s) are the source of the bug?
core
### Is this a regression?
No
### Description
When using Angular SSR, elements inside @if blocks that use the new [animate.enter] binding incorrectly trigger their enter animation during client-side hydration — even though those elements were already present and visible in the server-rendered HTML.
**Actual Behavior**
The enter-animation class is applied during hydration, causing a jarring flash/expand animation on every page load — even though the content was already visible from SSR. This makes [animate.enter] effectively unusable in any SSR + hydration context where the initial state is true.
**Expected Behavior**
Elements already present in the server-rendered DOM at hydration time should not trigger [animate.enter]. Enter animations should only fire when an element is genuinely inserted into the DOM as a result of a state change after hydration is complete.
### Please provide a link to a minimal reproduction of the bug
https://github.com/eneajaho/hydration-animate
### Please provide the exception or error you saw
```true
```
### Please provide the environment you discovered this bug in (run `ng version`)
```true
Latest Angular 22.
```
### Anything else?
_No response_","area: server,gemini-triaged",2026-06-05 08:24:07+00:00,2026-06-15 17:52:08+00:00,4,"area: server,gemini-triaged",10.3945,animate enter fires during ssr hydration on elements already present in server rendered html which angular package s are the source of the bug core is this a regression no description when using angular ssr elements inside if blocks that use the new animate enter binding incorrectly trigger their enter animation during client side hydration even though those elements were already present and visible in the server rendered html the enter animation class is applied during hydration causing a jarring flash expand animation on every page load even though the content was already visible from ssr this makes animate enter effectively unusable in any ssr hydration context where the initial state is true elements already present in the server rendered dom at hydration time should not trigger animate enter enter animations should only fire when an element is genuinely inserted into the dom as a result of a state change after hydration is complete please provide a link to a of the bug please provide the exception or error you saw please provide the environment you discovered this bug in run anything else no response,bug,-0.7003
angular/angular,4595309613,NG0600 is missing from error enclyclopedia,"### Describe the problem that you experienced
NG0600 (Writing to signals is not allowed in a `computed`) is missing from https://angular.dev/errors
### Enter the URL of the topic with the problem
https://angular.dev/errors
### Describe what you were looking for in the documentation
_No response_
### Describe the actions that led you to experience the problem
_No response_
### Describe what you want to experience that would fix the problem
_No response_
### Add a screenshot if that helps illustrate the problem
_No response_
### If this problem caused an exception or error, please paste it here
```true
```
### If the problem is browser-specific, please specify the device, OS, browser, and version
```true
```
### Provide any additional information here in as much as detail as you can
```true
```","area: docs,gemini-triaged",2026-06-05 08:00:06+00:00,2026-06-05 08:53:40+00:00,2,"area: docs,gemini-triaged",0.0372,ng is missing from error enclyclopedia describe the problem that you experienced ng writing to signals is not allowed in a is missing from enter the url of the topic with the problem describe what you were looking for in the documentation no response describe the actions that led you to experience the problem no response describe what you want to experience that would fix the problem no response add a screenshot if that helps illustrate the problem no response if this problem caused an exception or error please paste it here if the problem is browser specific please specify the device os browser and version provide any additional information here in as much as detail as you can,bug,-0.9753
angular/angular,4594626956,v22 Migration failed,"### Command
update
### Is this a regression?
- [ ] Yes, this behavior used to work in the previous version
### The previous version in which this bug was not present was
_No response_
### Description
Upgrading to angular 22, using `ng update @angular/core@22 @angular/cli@22`, I encounter an error when migrations start, which I have so far been unable to bypass.
> ❯ Adds `ChangeDetectionStrategy.Eager` to all components.
✖ Migration failed: Path ""app/app.ts"" does not exist.
See ""C:\Users\Doug\AppData\Local\Temp\ng-QzzQ4W\angular-errors.log"" for further details.
### Minimal Reproduction
This is reproducible since this is an open source repository. The branch is here:
https://github.com/factoriolab/factoriolab/tree/next
### Your Environment
```text
Angular CLI : 21.2.10
Angular : 21.2.12
Node.js : 24.16.0
Package Manager : npm 11.13.0
Operating System : win32 x64
┌───────────────────────────┬───────────────────┬───────────────────┐
│ Package │ Installed Version │ Requested Version │
├───────────────────────────┼───────────────────┼───────────────────┤
│ @angular/build │ 21.2.10 │ ^21.2.10 │
│ @angular/cdk │ 21.2.10 │ ^21.2.10 │
│ @angular/cli │ 21.2.10 │ ^21.2.10 │
│ @angular/common │ 21.2.12 │ ^21.2.12 │
│ @angular/compiler │ 21.2.12 │ ^21.2.12 │
│ @angular/compiler-... [TRUNCATED]",area: migrations,2026-06-05 04:19:02+00:00,2026-06-05 14:22:24+00:00,3,area: migrations,0.419,v migration failed command update is this a regression yes this behavior used to work in the previous version the previous version in which this bug was not present was no response description upgrading to angular using i encounter an error when migrations start which i have so far been unable to bypass adds to all components migration failed path app app ts does not exist see c users doug appdata local temp ng qzzq w angular errors log for further details this is reproducible since this is an open source repository the branch is here your environment text angular cli angular node js package manager npm win x package installed version requested version angular build angular cdk angular cli angular common angular compiler angular compiler truncated,others,-0.7971
angular/angular,4592051214,Zoneless: initial paint of components can occur before bindings are applied to attributes,"### Which @angular/* package(s) are the source of the bug?
core
### Is this a regression?
No
### Description
When using `provideZonelessChangeDetection()`, Angular appears to paint newly navigated components before bindings have been applied. A subsequent update then applies the correct classes, attributes, and property bindings.
The resulting DOM state is correct, but because the browser has already painted the initial HTML, CSS transitions can be triggered from the unbound state to the bound state.
### Reproduction
1. Navigate between **Home** and **Other** (only happens when visiting a page after the first time).
The example contains three disabled buttons:
* One button is rendered as static HTML and behaves correctly.
* Two buttons derive their disabled state from Angular bindings and demonstrate the issue.
### Current behavior
During navigation (zoneless) all three buttons should set the disabled attribute from the very first frame they exist. However the two buttons using host bindings appear enabled, but slowly fade to the grey disabled appearance in lockstep.
### Expected behavior
Bindings, classes and attributes should be reflected in the DOM before the first visible paint of a newly rendered view. Elements that are logically disabled from their first frame should never visibly transition from an enabled appearance to a disabled appearance as a result of Angular applying initial bindings after paint.
### Please provide a link to a minimal reproduction ... [TRUNCATED]","area: core,core: change detection",2026-06-04 20:45:07+00:00,2026-06-05 06:21:38+00:00,4,"area: core,core: change detection",0.4004,zoneless initial paint of components can occur before bindings are applied to attributes which angular package s are the source of the bug core is this a regression no description when using angular appears to paint newly navigated components before bindings have been applied a subsequent update then applies the correct classes attributes and property bindings the resulting dom state is correct but because the browser has already painted the initial html css transitions can be triggered from the unbound state to the bound state reproduction navigate between home and other only happens when visiting a page after the first time the example contains three disabled buttons one button is rendered as static html and behaves correctly two buttons derive their disabled state from angular bindings and demonstrate the issue current behavior during navigation zoneless all three buttons should set the disabled attribute from the very first frame they exist however the two buttons using host bindings appear enabled but slowly fade to the grey disabled appearance in lockstep bindings classes and attributes should be reflected in the dom before the first visible paint of a newly rendered view elements that are logically disabled from their first frame should never visibly transition from an enabled appearance to a disabled appearance as a result of angular applying initial bindings after paint please provide a link to a truncated,others,0.1655
angular/angular,4591805116,Security: dom_security_schema.ts URL list missing 12+ attribute pairs,"[attr.X] binding bypasses URL sanitizer for SVG use/image/feImage, media audio/source/track, video poster, legacy background attrs, img srcset. Related: CVE-2026-22610, CVE-2026-27970, CVE-2026-32635.",area: security,2026-06-04 20:05:39+00:00,2026-06-04 22:15:34+00:00,1,area: security,0.0902,security dom security schema ts url list missing attribute pairs attr x binding bypasses url sanitizer for svg use image feimage media audio source track video poster legacy background attrs img srcset related cve cve cve,others,0.3818
angular/angular,4591805021,Security: i18n attribute binding bypasses RESOURCE_URL sanitizer (incomplete CVE-2026-32635 fix),"TRUSTED_TYPES_SINKS missing base|href, link|href, frame|src. Compiler accepts i18n bindings on these while [href] binding throws NG0904.","area: security,gemini-triaged",2026-06-04 20:05:38+00:00,2026-06-04 21:22:49+00:00,1,"area: security,gemini-triaged",0.0536,security i n attribute binding bypasses resource url sanitizer incomplete cve fix trusted types sinks missing base href link href frame src compiler accepts i n bindings on these while href binding throws ng,bug,0.7964
angular/angular,4591204086,Broken v22 event link and duplicate-titled results in search,"### Describe the problem that you experienced
Two things happen when searching `v22` in search (shown in the video below).
1. The result for the v22 event page leads to a Page Not Found.
2. Several results all show the title ""Angular v22 is here!"" while each points to a different link.
https://github.com/user-attachments/assets/98cedbfc-2ca0-4afb-972a-ba32f346fe91","area: docs-infra,gemini-triaged",2026-06-04 18:28:03+00:00,2026-06-10 18:27:50+00:00,4,"area: docs-infra,gemini-triaged",5.9998,broken v event link and duplicate titled results in search describe the problem that you experienced two things happen when searching in search shown in the video below the result for the v event page leads to a page not found several results all show the title angular v is here while each points to a different link,documentation,-0.7003
angular/angular,4587721380,feat: Stronger official support for critical ecosystem tooling during major Angular releases (eg angular-eslint),"### Which @angular/* package(s) are relevant/related to the feature request?
_No response_
### Description
I’d like to raise a recurring concern regarding ecosystem tooling alignment with Angular major releases, in particular tools like [angular-eslint](https://github.com/angular-eslint/angular-eslint).
With each Angular major release, some critical ecosystem packages (such as `angular-eslint`) tend to remain tied to the previous major version for a period of time before full compatibility is available.
This creates a temporary gap where:
- Angular is upgraded, but linting/tooling support lags behind;
- teams are forced to delay upgrades or run mismatched versions;
### Proposed solution
It would be very valuable if the Angular team could take a more active role in supporting and maintaining the **most critical** ecosystem tools, especially around major releases, directly contributing to or co-maintaining key tooling.
### Alternatives considered
nope
see https://github.com/angular-eslint/angular-eslint/issues/3052","area: dev-infra,gemini-triaged",2026-06-04 10:00:12+00:00,2026-06-04 12:10:04+00:00,2,"area: dev-infra,gemini-triaged",0.0902,stronger official support for critical ecosystem tooling during major angular releases eg angular eslint which angular package s are relevant related to the feature request no response description i d like to raise a recurring concern regarding ecosystem tooling alignment with angular major releases in particular tools like angular eslint with each angular major release some critical ecosystem packages such as tend to remain tied to the previous major version for a period of time before full compatibility is available this creates a temporary gap where angular is upgraded but linting tooling support lags behind teams are forced to delay upgrades or run mismatched versions proposed solution it would be very valuable if the angular team could take a more active role in supporting and maintaining the most critical ecosystem tools especially around major releases directly contributing to or co maintaining key tooling alternatives considered nope see,feature,0.8663
angular/angular,4587209243,Angular Language Service should allow using workspace TypeScript version instead of forcing bundled TS 6,"### Is this a bug report or a feature request?
- [ ] Bug Report
- [x] Feature Request
### Please provide the steps to reproduce the issue [Bug Report only]
_No response_
### Please provide the expected behavior vs the actual behavior you encountered [Bug Report only]
_No response_
### Please provide a screenshot if possible [Bug Report only]
_No response_
### Please provide the exception or error you saw [Bug Report only]
```true
```
### Description [Feature Request only]
## Description
After upgrading Angular Language Service to v22.0.0, the extension now bundles and forces TypeScript 6.0, ignoring the workspace TypeScript version configured in VSCode (`typescript.tsdk`).
This breaks compatibility with older Angular projects (e.g. Angular 14), which depend on specific TypeScript versions (e.g. 4.7.4).
Previously, the extension respected the workspace TypeScript version.
### Proposed solution [Feature Request only]
## Expected behavior
Angular Language Service should:
- Allow using the workspace TypeScript version (like the built-in TS/JS extension)
- Respect `typescript.tsdk` setting
- Or provide a setting to select:
- Bundled TypeScript
- Workspace TypeScript
---
## Actual behavior
- Extension always uses bundled TypeScript 6.0
- Ignores workspace TypeScript (even when `typescript.tsdk` is set)
- Causes type errors in older Angular versions that were not present before
### Alternatives considered [Feature Request only]
_No response_","area: language-service,gemini-triaged",2026-06-04 08:41:04+00:00,2026-06-05 17:43:07+00:00,3,"area: language-service,gemini-triaged",1.3764,angular language service should allow using workspace typescript version instead of forcing bundled ts bug report x feature request please provide the the issue bug report only no response please provide the vs the you encountered bug report only no response please provide a screenshot if possible bug report only no response please provide the exception or error you saw bug report only description feature request only description after upgrading angular language service to v the extension now bundles and forces typescript ignoring the workspace typescript version configured in vscode this breaks compatibility with older angular projects e g angular which depend on specific typescript versions e g previously the extension respected the workspace typescript version proposed solution feature request only angular language service should allow using the workspace typescript version like the built in ts js extension respect setting or provide a setting to select bundled typescript workspace typescript extension always uses bundled typescript ignores workspace typescript even when is set causes type errors in older angular versions that were not present before alternatives considered feature request only no response,others,-0.875
angular/angular,4582535596,releases.md support table does not yet list v22,"### Describe the problem that you experienced
I noticed the ""Actively supported versions"" table in `adev/src/content/reference/releases.md` still tops out at v21:
| Version | Status | Released | Active ends | LTS ends |
| ------- | ------ | ---------- | ----------- | ---------- |
| ^21.0.0 | Active | 2025-11-19 | 2026-05-19 | 2027-05-19 |
| ^20.0.0 | LTS | 2025-05-28 | 2025-11-19 | 2026-11-28 |
There's no `^22.0.0` row yet, and v21 still shows as Active. I see `versions.json` and `reference/versions.md` already mention v22, so I wasn't sure if this table is updated on a different cadence or just hasn't been refreshed yet.
Totally fine if it's already on your list, just wanted to flag it in case it helps.
Congrats on the v22 release, and thanks for all the work that goes into each one!","area: docs,gemini-triaged",2026-06-03 18:20:55+00:00,2026-06-03 20:56:21+00:00,1,"area: docs,gemini-triaged",0.1079,releases md support table does not yet list v describe the problem that you experienced i noticed the actively supported versions table in still tops out at v version status released active ends lts ends active lts there s no row yet and v still shows as active i see and already mention v so i wasn t sure if this table is updated on a different cadence or just hasn t been refreshed yet totally fine if it s already on your list just wanted to flag it in case it helps congrats on the v release and thanks for all the work that goes into each one,documentation,0.9827
angular/angular,4581646589,Outdated Version Banner on Documentation Site,"### Which @angular/* package(s) are the source of the bug?
Don't known / other
### Is this a regression?
No
### Description
The documentation header displays an outdated announcement banner (""Angular v21 is here!"") while the user is explicitly viewing the v22 version of the documentation.
Steps to Reproduce:
1- Navigate to the Angular documentation website.
2- Ensure the version selector in the sidebar/navigation is set to v22.
3- Observe the announcement banner at the top of the main content area.
Expected Behavior:
The banner should reflect the current major release context. If the user is on the v22 documentation, the banner should either:
- Welcome them to v22.
- Highlight v22 features.
- Be hidden if there is no current announcement for v22.
Suggested Fix: Update the banner component's conditional rendering or content source to dynamically check the active documentation version, ensuring outdated release announcements are suppressed or updated when a newer major version is selected.
### Please provide a link to a minimal reproduction of the bug
https://angular.dev/
### Please provide the exception or error you saw
```true
Actual Behavior
The banner incorrectly promotes the previous version:
""Angular v21 is here! 🕹️ Start your adventure""
Visual Evidence
Version Dropdown: Displays v22
Banner Text: Displays Angular v21 is here!
... [TRUNCATED]","area: docs-infra,gemini-triaged",2026-06-03 16:15:53+00:00,2026-06-03 16:18:47+00:00,1,"area: docs-infra,gemini-triaged",0.002,outdated version banner on documentation site which angular package s are the source of the bug don t known other is this a regression no description the documentation header displays an outdated announcement banner angular v is here while the user is explicitly viewing the v version of the documentation navigate to the angular documentation website ensure the version selector in the sidebar navigation is set to v observe the announcement banner at the top of the main content area the banner should reflect the current major release context if the user is on the v documentation the banner should either welcome them to v highlight v features be hidden if there is no current announcement for v suggested fix update the banner component s conditional rendering or content source to dynamically check the active documentation version ensuring outdated release announcements are suppressed or updated when a newer major version is selected please provide a link to a of the bug please provide the exception or error you saw true the banner incorrectly promotes the previous version angular v is here start your adventure visual evidence version dropdown displays v banner text displays angular v is here truncated,documentation,0.936
angular/angular,4570204570,Colocating ControlValueAccessor and FormCheckboxControl does not seem to work,"### Which @angular/* package(s) are the source of the bug?
forms
### Is this a regression?
No
### Description
When creating a component that supports both reactive forms and signals, Trying to update the form signal fails. Removing all content about form controls then seem to work without issues.
Here is the downloaded artifact from the angular.dev playground with all files required
[playground_0-hello-world.zip](https://github.com/user-attachments/files/28502332/playground_0-hello-world.zip)
Otherwise, just write this file [at playground](https://angular.dev/playground?templateId=0-hello-world) :
```typescript
import { bootstrapApplication } from '@angular/platform-browser';
import {
afterNextRender,
ChangeDetectionStrategy,
Component,
DestroyRef,
inject,
linkedSignal,
model,
signal
} from '@angular/core';
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
import { ControlValueAccessor, NgControl } from '@angular/forms';
import { FormCheckboxControl, form, FormField } from '@angular/forms/signals';
@Component({
selector: 'tds-toggle',
imports: [],
template: `
`,
styles: `
:host {
--tds-toggle-inner-width: 2.25rem;
--tds-toggle-inner-height: 0.75rem;
--tds-toggle-thumb-size: 1.25rem;
--tds-toggle-inner-color: grey;
height: var(--tds-toggle-thumb-size);
width: calc(var(--tds-toggle-inner-width) + (v... [TRUNCATED]","area: forms,gemini-triaged",2026-06-02 09:30:06+00:00,2026-06-04 14:31:51+00:00,6,"area: forms,gemini-triaged",2.2095,colocating controlvalueaccessor and formcheckboxcontrol does not seem to work which angular package s are the source of the bug forms is this a regression no description when creating a component that supports both reactive forms and signals trying to update the form signal fails removing all content about form controls then seem to work without issues here is the downloaded artifact from the angular dev playground with all files required playground hello world zip otherwise just write this file at playground typescript import bootstrapapplication from angular platform browser import afternextrender changedetectionstrategy component destroyref inject linkedsignal model signal from angular core import takeuntildestroyed from angular core rxjs interop import controlvalueaccessor ngcontrol from angular forms import formcheckboxcontrol form formfield from angular forms signals component selector tds toggle imports template styles host tds toggle inner width rem tds toggle inner height rem tds toggle thumb size rem tds toggle inner color grey height var tds toggle thumb size width calc var tds toggle inner width v truncated,others,-0.4767
angular/angular,4561892210,Consistent 'when' availability on build-in Signal Forms validators,"### Which @angular/* package(s) are relevant/related to the feature request?
_No response_
### Description
Currently, only the `required` validator has a `when`property.
For other ones, we have to rely on `applyWhen` to do about the same.
Is there a reason for `required`having this specific behavior?
### Proposed solution
Having `when` exposed to all built-in validators would enhance the dev experience and make its usage consistent.
### Alternatives considered
Remove on `required` :D","area: forms,gemini-triaged",2026-06-01 09:24:01+00:00,2026-06-01 09:27:56+00:00,0,"area: forms,gemini-triaged",0.0027,consistent when availability on build in signal forms validators which angular package s are relevant related to the feature request no response description currently only the validator has a property for other ones we have to rely on to do about the same is there a reason for having this specific behavior proposed solution having exposed to all built in validators would enhance the dev experience and make its usage consistent alternatives considered remove on d,others,-0.0516
angular/angular,4561102136,"isDevMode() is still true, after calling enableProdMode()","### Which @angular/* package(s) are the source of the bug?
core
### Is this a regression?
Yes
### Description
After updating Angular from **21.1.2** to **21.2.13** `isDevMode()` stopped working properly. In my code I'm calling `enableProdMode()`. After this I expect `isDevMode()` to return false. It does this in Angular **21.1.2**, but in **21.2.13** it returns true.
### Please provide a link to a minimal reproduction of the bug
_No response_
### Please provide the exception or error you saw
There is now error, its just not working.
### Please provide the environment you discovered this bug in (run `ng version`)
```true
Angular CLI : 21.2.11
Angular : 21.2.13
Node.js : 24.15.0
Package Manager : npm 11.12.1
Operating System : win32 x64
┌───────────────────────────────────┬───────────────────┬───────────────────┐
│ Package │ Installed Version │ Requested Version │
├───────────────────────────────────┼───────────────────┼───────────────────┤
│ @angular/animations │ 21.2.13 │ 21.2.13 │
│ @angular/build │ 21.2.11 │ ^21.2.11 │
│ @angular/cdk │ 21.2.11 │ 21.2.11 │
│ @angular/cli │ 21.2.11 │ 21.2.11 │
│ @angular/common │ 21.2.13 │ 21.2.13 │
│ @angular/compiler │ 21.2.13 │ 21.2.13 │
│ @angular/c... [TRUNCATED]","needs reproduction,area: core",2026-06-01 07:14:01+00:00,2026-06-04 14:31:20+00:00,8,"needs reproduction,area: core",3.3037,isdevmode is still true after calling enableprodmode which angular package s are the source of the bug core is this a regression yes description after updating angular from to stopped working properly in my code i m calling after this i expect to return false it does this in angular but in it returns true please provide a link to a of the bug no response please provide the exception or error you saw there is now error its just not working please provide the environment you discovered this bug in run true angular cli angular node js package manager npm win x package installed version requested version angular animations angular build angular cdk angular cli angular common angular compiler angular c truncated,others,0.4497
angular/angular,4559688240,Scroll root on body causes 8 px gutter flicker (safari),"### Describe the problem that you experienced
### Problem
On Safari (desktop - tested on OS 26) - The original shell sets overflow: hidden on body to lock scroll when the mobile nav opens. This removes the scrollbar, causing an 8 px layout shift as the scrollbar gutter disappears. This instantly changes the viewport width, which:
- Triggers CSS media query breakpoint changes mid-animation
- Causes content to reflow and jump
- Is especially severe on Safari, where body is the scroll root by default
Here are 2 images to show the bug:
Note the top image gives one width, when enabling the menu and hiding the scrollbar, the second shows the new width which triggers the 700px media query with a new reported width.
### Enter the URL of the topic with the problem
https://angular.dev
### Describe what you were looking for in the documentation
_No response_
### Describe the actions that led you to experience the problem
I was testing another bug when setting to 700px exactly would expose a previous media query collision.
### Describe what you want to experience that would fix the problem
Move the scroll root from body to html by setting overflow-y: scroll on the html element. The persistent overflow-y: scroll keeps th... [TRUNCATED]","open for contributions,area: docs-infra",2026-06-01 01:26:49+00:00,2026-06-12 16:19:35+00:00,4,"open for contributions,area: docs-infra",11.62,scroll root on body causes px gutter flicker safari describe the problem that you experienced problem on safari desktop tested on os the original shell sets overflow hidden on body to lock scroll when the mobile nav opens this removes the scrollbar causing an px layout shift as the scrollbar gutter disappears this instantly changes the viewport width which triggers css media query breakpoint changes mid animation causes content to reflow and jump is especially severe on safari where body is the scroll root by default here are images to show the bug note the top image gives one width when enabling the menu and hiding the scrollbar the second shows the new width which triggers the px media query with a new reported width enter the url of the topic with the problem describe what you were looking for in the documentation no response describe the actions that led you to experience the problem i was testing another bug when setting to px exactly would expose a previous media query collision describe what you want to experience that would fix the problem move the scroll root from body to html by setting overflow y scroll on the html element the persistent overflow y scroll keeps th truncated,documentation,-0.9732
angular/angular,4557298337,Question about contributing,Hi from DEATHLEGION Sri Lanka! Great project. I would like to contribute. Is there a good first issue label available? Thank you!,"area: docs,gemini-triaged",2026-05-31 10:45:56+00:00,2026-05-31 21:32:00+00:00,4,"area: docs,gemini-triaged",0.4487,question about contributing hi from deathlegion sri lanka great project i would like to contribute is there a good first issue label available thank you,documentation,0.9001
angular/angular,4552759496,at exactly 700px the navigation structure breaks in _media-queries.scss,"### Describe the problem that you experienced
At 699px or 701px, the navigation behaves correctly. The issue happens specifically at exactly 700px, where the CSS media queries and TypeScript breakpoint logic appear to collide.
The problem is tied to the expanded/open navigation state at the 700px breakpoint.
The current 0.01px gap approach in the media queries is fragile at exact pixel boundaries. At exactly 700px, some browsers may evaluate min-width: calc(700px + 0.01px) as matching while max-width: 700px is also still active. This can cause both the phone and tablet rules to apply at the same time.
When the nav is open at exactly 700px, the two layout states conflict:
Phone rules: max-width: 700px
Primary nav becomes a position: absolute sidebar sliding in from the left.
Secondary nav host shifts over by 82px.
Tablet rules: min-width: 700.01px
Primary nav becomes a horizontal row.
Secondary nav becomes a fixed sidebar positioned at left: 0.
The fix is to replace the 0.01px breakpoint gaps with a clean 1px boundary. In other words, keep the phone rules at max-width: 700px, and start the tablet rules at min-width: 701px.
This removes the exact-pixel overlap and prevents both expanded navigation states from being applied simultaneously.
### Enter the URL of the topic with the problem
_No response_
### Describe what you were looking for in the documentation
_No response_
### Describe the actions that led you to experience the problem
_No response_
### Describe wh... [TRUNCATED]","area: core,gemini-triaged",2026-05-30 01:41:26+00:00,2026-06-01 01:16:09+00:00,0,"area: core,gemini-triaged",1.9824,at exactly px the navigation structure breaks in media queries scss describe the problem that you experienced at px or px the navigation behaves correctly the issue happens specifically at exactly px where the css media queries and typescript breakpoint logic appear to collide the problem is tied to the expanded open navigation state at the px breakpoint the current px gap approach in the media queries is fragile at exact pixel boundaries at exactly px some browsers may evaluate min width calc px px as matching while max width px is also still active this can cause both the phone and tablet rules to apply at the same time when the nav is open at exactly px the two layout states conflict phone rules max width px primary nav becomes a position absolute sidebar sliding in from the left secondary nav host shifts over by px tablet rules min width px primary nav becomes a horizontal row secondary nav becomes a fixed sidebar positioned at left the fix is to replace the px breakpoint gaps with a clean px boundary in other words keep the phone rules at max width px and start the tablet rules at min width px this removes the exact pixel overlap and prevents both expanded navigation states from being applied simultaneously enter the url of the topic with the problem no response describe what you were looking for in the documentation no response describe the actions that led you to experience the problem no response describe wh truncated,others,-0.8689
angular/angular,4547482971,wrong link in roadmap page,"### Describe the problem that you experienced
in roadmap page, when i click the Improve debugging with better Angular error messages card i get page not found
https://angular.dev/roadmap
### Enter the URL of the topic with the problem
_No response_
### Describe what you were looking for in the documentation
_No response_
### Describe the actions that led you to experience the problem
_No response_
### Describe what you want to experience that would fix the problem
_No response_
### Add a screenshot if that helps illustrate the problem
_No response_
### If this problem caused an exception or error, please paste it here
```true
```
### If the problem is browser-specific, please specify the device, OS, browser, and version
```true
```
### Provide any additional information here in as much as detail as you can
```true
```","area: docs-infra,gemini-triaged",2026-05-29 09:50:14+00:00,2026-06-01 10:17:00+00:00,0,"area: docs-infra,gemini-triaged",3.0186,wrong link in roadmap page describe the problem that you experienced in roadmap page when i click the improve debugging with better angular error messages card i get page not found enter the url of the topic with the problem no response describe what you were looking for in the documentation no response describe the actions that led you to experience the problem no response describe what you want to experience that would fix the problem no response add a screenshot if that helps illustrate the problem no response if this problem caused an exception or error please paste it here if the problem is browser specific please specify the device os browser and version provide any additional information here in as much as detail as you can,documentation,-0.9648
angular/angular,4543831202,`.hasMetadata(...)` is not found in FieldState object,"### Describe the problem that you experienced
In [this page](https://angular.dev/guide/forms/signals/field-metadata#reading-metadata-from-a-field) is explained how to use the `hasMetadata`, but when I navigate to the [FieldState](https://angular.dev/api/forms/signals/FieldState) documentation, the `hasMetadata()` method is not there.
Also, using the last stable version `21.2.15`, I can't find this method too:
the `ng version` output:
npx ng version
_ _ ____ _ ___
/ \ _ __ __ _ _ _| | __ _ _ __ / ___| | |_ _|
/ △ \ | '_ \ / _` | | | | |/ _` | '__| | | | | | |
/ ___ \| | | | (_| | |_| | | (_| | | | |___| |___ | |
/_/ \_\_| |_|\__, |\__,_|_|\__,_|_| \____|_____|___|
|___/
Angular CLI : 21.2.13
Angular : 21.2.15
Node.js : 22.19.0
Package Manager : npm 10.9.3
Operating System : linux x64
┌───────────────────────────┬───────────────────┬───────────────────┐
│ Package │ Installed Version │ Requested Version │
├───────────────────────────┼───────────────────┼───────────────────┤
│ @angular/build │ 21.2.13 │ ^21.1.4 │
│ @angular/cli │ 21.2.13 │ ^21.1.4 │
│ @angular/common │ 21.2.15 │ ^21.1.0 │
│ @angu... [TRUNCATED]","open for contributions,gemini-triaged",2026-05-28 21:07:27+00:00,2026-06-01 09:57:10+00:00,2,"open for contributions,gemini-triaged",3.5345,is not found in fieldstate object describe the problem that you experienced in this page is explained how to use the but when i navigate to the fieldstate documentation the method is not there also using the last stable version i can t find this method too the output npx ng version angular cli angular node js package manager npm linux x package installed version requested version angular build angular cli angular common angu truncated,others,0.4854
angular/angular,4541124000,WKWebView / iOS Safari crash (“A problem repeatedly occurred”) on Angular 18 SSR application loading/boot,"### Which @angular/* package(s) are the source of the bug?
Don't known / other
### Is this a regression?
No
### Description
We are running a production Angular 18 application with Server-Side Rendering (SSR) and Client Hydration enabled. It works flawlessly across most desktop and Android browsers.
However, on a subset of iPhone devices (specifically running within an iOS app’s embedded WKWebView / Facebook browser, and occasionally on standalone iOS Safari), the application crashes immediately upon loading.
The browser completely stops executing and shows the default iOS error page:
Observed Behavior
The server-rendered page is successfully retrieved and renders briefly (for a fraction of a second).
As soon as the client bundle loads, bootstraps, and begins hydration/initialization, the entire WebView/browser engine crashes.
The crash is not tied to one specific page; it happens both on the homepage (after login) and on static routes like /forgot-password.
Console logging via remote debugging (Safari Web Inspector) is extremely difficult to capture because the browser engine crashes completely before logs can be flushed.
Sanitized Project Configuration and Code
To help diagnose, here is our boot and runtime setup:
1. Angular Application Configuration (app.config.ts)
We use standalone API with provideClientHydration() and routing configurations.
typescriptimport { APP_INITIALIZER, ApplicationConfig, ErrorHandler, provideZoneChangeDetection } from '@angular/core... [TRUNCATED]","needs reproduction,area: server,gemini-triaged",2026-05-28 14:17:37+00:00,2026-05-30 20:21:46+00:00,2,"needs reproduction,area: server,gemini-triaged",2.2529,wkwebview ios safari crash a problem repeatedly occurred on angular ssr application loading boot which angular package s are the source of the bug don t known other is this a regression no description we are running a production angular application with server side rendering ssr and client hydration enabled it works flawlessly across most desktop and android browsers however on a subset of iphone devices specifically running within an ios app s embedded wkwebview facebook browser and occasionally on standalone ios safari the application crashes immediately upon loading the browser completely stops executing and shows the default ios error page observed behavior the server rendered page is successfully retrieved and renders briefly for a fraction of a second as soon as the client bundle loads bootstraps and begins hydration initialization the entire webview browser engine crashes the crash is not tied to one specific page it happens both on the homepage after login and on static routes like forgot password console logging via remote debugging safari web inspector is extremely difficult to capture because the browser engine crashes completely before logs can be flushed sanitized project configuration and code to help diagnose here is our boot and runtime setup angular application configuration app config ts we use standalone api with provideclienthydration and routing configurations typescriptimport app initializer applicationconfig errorhandler providezonechangedetection from angular core truncated,bug,-0.9244
angular/angular,4541038448,Infinite change detection silently hangs the app instead of throwing NG0103,"### Which @angular/* package(s) are the source of the bug?
core
### Is this a regression?
No
### Description
With a zone-based change detection, this loops change detection indefinitely:
```ts
@Component({
selector: 'app-child',
template: `Numbers: {{ numbers() }}
`,
})
export class Child {
numbers = input.required();
constructor() {
effect(() => {
console.log(this.numbers());
// Async tick
setTimeout(() => {});
});
}
}
@Component({
selector: 'app-root',
imports: [Child],
template: ` `,
})
export class App {
private numbers = [0, 1, 2, 3, 4, 5];
// New array reference on every read
get numbersBiggerThan2(): number[] {
return this.numbers.filter((n) => n > 2);
}
}
```
Such a bug is quite hard to debug, in bigger apps it can cause a browser tab to hang. It'd be great if this could be detected during the compilation or on a dev server. NG0103 error seems related.
### Minimal reproduction repo:
https://github.com/lukasmatta/angular-cd-infinite-loop
Version:
```true
Angular: 21.2.14
```
","area: core,gemini-triaged",2026-05-28 14:06:13+00:00,2026-05-28 14:29:55+00:00,1,"area: core,gemini-triaged",0.0165,infinite change detection silently hangs the app instead of throwing ng which angular package s are the source of the bug core is this a regression no description with a zone based change detection this loops change detection indefinitely such a bug is quite hard to debug in bigger apps it can cause a browser tab to hang it d be great if this could be detected during the compilation or on a dev server ng error seems related repo version,others,-0.8357
angular/angular,4538859063,Defs tags inside svg are stripped after updating to Angular v20.3.22,"### Which @angular/* package(s) are the source of the bug?
compiler
### Is this a regression?
No
### Description
After updating my application to the latest v20 version (v20.3.22). I see that the icons inside my application are not rendered correctly anymore.
While debugging I see that the style tag inside are gone.
This is the actual svg that is implemented in my application's code:
```html