How "issues()" is supposed to work

There is an “issues()” extension:


which was added in 2024.f in this PR.
Tried to use it in Dev tools → Template, faced a problem (recursion: calling “issues()” causes a new issue): the output was empty:

But when I managed to get a result, it was rather strange, here just a small part of it:

I wonder what are these issues are?

They cannot be same as “Repairs” - I got only two of them:
400036285-07f7e9f3-5e91-42df-82e5-4ecfd027c061

Some issues look like left from past - like these:

('homeassistant', 'deprecated_yaml_ping'): {'created': '2023-12-07T05:52:48.741017+00:00', 'dismissed_version': None, 'domain': 'homeassistant', 'is_persistent': False, 'issue_id': 'deprecated_yaml_ping'},

or this:

('weather', 'deprecated_service_weather_get_forecast'): {'created': '2023-12-09T04:59:29.979977+00:00', 'dismissed_version': None, 'domain': 'weather', 'is_persistent': False, 'issue_id': 'deprecated_service_weather_get_forecast'}

There are tons of this HACS-related junk:

('hacs', 'restart_required_145180996_tags/0.2.0.b7'): {'created': '2024-03-18T19:08:14.016666+00:00', 'dismissed_version': None, 'domain': 'hacs', 'is_persistent': False, 'issue_id': 'restart_required_145180996_tags/0.2.0.b7'}

Only 2 entries are present in Repairs:

('openweathermap', 'deprecated_v25_992a6f69bb6b42e2e14e11d836a84ff3'): {'created': '2024-06-10T16:40:54.217023+00:00', 'dismissed_version': None, 'domain': 'openweathermap', 'is_persistent': False, 'issue_id': 'deprecated_v25_992a6f69bb6b42e2e14e11d836a84ff3'}, ('openweathermap', 'deprecated_v25_f238cda88d83b877cb4c8a3a72a2962c'): {'created': '2024-06-10T16:40:54.287549+00:00', 'dismissed_version': None, 'domain': 'openweathermap', 'is_persistent': False, 'issue_id': 'deprecated_v25_f238cda88d83b877cb4c8a3a72a2962c'}

issues() returns a set object. apparently it’s a dict, but the keys are tuples. So the resolver screws up when you just output that.

{{ issues().items() | list  }}

Thanks, I will look into it!
Could be useful for a proper processing of these data by a user.
But this object should reflect a current state, right? It should not contain some old records? (not to mention that calling “issues()” is not supposed to cause an error)

Oh, you updated your post.
Tried to use “{{ issues().items() | list }}” in Dev tools → Template.
See no errors in Log (although cannot trust a log since 2024.11, one of reasons)

pretty sure it’s purposely designed to show all issues that have ever been encountered.

I wonder, what is a purpose of this accumulation?

See, it says


which me (a non-English person) understands as “still open” )))

Similarly, from this PR:

About that “issues().items() | list” - should be in Docs probably.