Repository navigation
Closed
Labels
bugSomething is broken or shows wrong dataSomething is broken or shows wrong datafeatureA feature request or a pull request that adds oneA feature request or a pull request that adds one
Description
Items still open from the audit issues #345 and #346. The fixed items landed in #361; this issue tracks what is left. Each item says why it was not part of that fix.
From #345 (injectors)
Partly done (the rest is open):
- Low: Hardcoded caps: Added a '+N more' note after the 12 Provided by chips, with a test and docs. Did not send the 2000 cap in the report, because that changes the report shape and the panel text for a value that never changes. (done in feat(injectors): refresh, inactive lazy injectors, unresolved helpers and provider hints #475)
Open:
- Medium: Element entries never refresh: There is no cheap version key. Element provider records don't change, and the dependency count is only readable through ɵgetDependenciesFromInjectable, which is the costly call the cache avoids. Re-reading every element on every tick is a performance trade-off that needs a decision, and it overlaps with phase 3 of 4: a shell you live in #342. (done in feat(injectors): refresh, inactive lazy injectors, unresolved helpers and provider hints #475)
- Medium: Environment injectors off the rendered path are missing: Needs new discovery from Router internals (_injector/_loadedInjector) through a minified token lookup, plus a new 'inactive' state. That is larger than a local fix and needs a design decision. (done in feat(injectors): refresh, inactive lazy injectors, unresolved helpers and provider hints #475)
- Low: Panel types drift from the package: The package has no types export and the panel keeps local copies of types on every page. Importing the shared types needs a new public export or tsconfig path, which is a project-wide decision. (done in feat(injectors): refresh, inactive lazy injectors, unresolved helpers and provider hints #475)
- Low: Tokens matched by name only: Needs token ids across collector, report, tools and panel. Too large for this batch. (done in fix(injectors): tell apart DI tokens that share a name #469)
- Low: Live view hides source data: A larger panel feature (joining live tokens to source providers with links). Not local. (done in feat(injectors): refresh, inactive lazy injectors, unresolved helpers and provider hints #475)
- Low: Unknown provide*() helpers are dropped: Changes what source mode lists and adds a new entry kind. Needs a product decision on false positives; the docs limits section already describes this. (done in feat(injectors): refresh, inactive lazy injectors, unresolved helpers and provider hints #475)
- Improvement: Resolution path graph: A new UI feature that needs design. (done in feat(injectors): refresh, inactive lazy injectors, unresolved helpers and provider hints #475)
- Improvement: Orphaned providers: Spans package and panel and needs design. (done in feat(injectors): refresh, inactive lazy injectors, unresolved helpers and provider hints #475)
- Low: Truncation notice wording: when only environment injectors are cut, the panel and inspect-providers still say "more than 2000 element injectors". Needs a separate flag across the server and panel. (done in fix(components): report silent limits, fix two notices, add real-app CD tests and an API canary #380)
From #346 (signals)
Partly done (the rest is open):
- Medium: Unnamed writes dropped silently: The Signals page now shows a writeHint in the node detail: either 'no name, pass debugName', or 'every change was sampled' for a named signal or linkedSignal whose history has only sampled entries. Docs updated. The Angular version that adds names automatically is not named yet, because it could not be confirmed from the code. (done in feat(injectors): refresh, inactive lazy injectors, unresolved helpers and provider hints #475)
Open:
- Low: Peeks only take environment injectors: This changes the peek wire protocol, the page-side matching and the inspect-signals wait. Every unmatched component selector would then wait up to 1.5s, and many existing tests rely on the current flow. It is better done as its own change. (done in fix: work through the follow-up lists and mask Signal Forms secrets in signal graphs #438)
- Low: Live nodes not linked to source: Needs new label and class matching with ambiguity rules plus new card UI. Too large for this batch. (done in feat(injectors): refresh, inactive lazy injectors, unresolved helpers and provider hints #475)
- Improvement: Restore a past value from history: Blocked on signal editing (phase 2 of 4: deeper inspection #341). (done in fix: finish small follow-ups across forms, router, http, analog, signals and compat #418)
- Improvement: JSON diff between consecutive history entries: Needs new diff UI and design decisions; not small. (done in feat(injectors): refresh, inactive lazy injectors, unresolved helpers and provider hints #475)
- Improvement: Effect run counts and durations: Depends on an Angular hook that is not confirmed to exist. This is a design question. (decided: only where Angular's profiler emits effect events, so none on 22.1; done in feat(injectors): refresh, inactive lazy injectors, unresolved helpers and provider hints #475)
Tracked elsewhere
These items from the audit are not listed above because another issue already tracks them:
- A warning count badge on the dock: phase 1 of 4: safe by default and wired into your workflow #340 (dock badges)
Generated by Claude Code
Metadata
Metadata
Assignees
Labels
bugSomething is broken or shows wrong dataSomething is broken or shows wrong datafeatureA feature request or a pull request that adds oneA feature request or a pull request that adds one
Activity
fix(injectors): say deep injector trees are cut too
docs(docs): say which limits apply to slow components, pipe hosts and…
build(extension): rebuild extension/ui
fix(components): report silent limits, fix two notices, add real-app …
feat(signals): restore a past value from a signal's history
fix(signals): only offer Restore on a signal proven to be the compone…
fix(analog): flag ssr and static values that only start with true or …
fix: finish small follow-ups across forms, router, http, analog, sign…
fix(signals): let inspect-signals peek at a component injector
fix(injectors): tell apart DI tokens that share a name
fix(injectors): tell apart DI tokens that share a name (#469)
feat(forms): inline edit, WebMCP try, Playwright export, Signal Forms…
feat(injectors): refresh, inactive lazy injectors, unresolved helpers…
erkamyaman commentedon Nov 7, 2026
Every item here is done or decided:
provide*()helpers, orphaned provider hints, resolution paths, tree limits in the report, shared panel types, source links, signal history diffs and the unnamed-signal hintinspect-signalsGenerated by Claude Code