contributing-docs icon indicating copy to clipboard operation
contributing-docs copied to clipboard

[CL-875] 0028 - Adopt Angular Signals for Component State

Open willmartian opened this issue 5 months ago • 5 comments

🎟️ Tracking

https://bitwarden.atlassian.net/browse/CL-875

📔 Objective

Adds an ADR that describes our preference for signals over RxJS in Angular components.

⏰ Reminders before review

  • Contributor guidelines followed
  • All formatters and local linters executed and passed
  • Written new unit and / or integration tests where applicable
  • Protected functional changes with optionality (feature flags)
  • Used internationalization (i18n) for all UI strings
  • CI builds passed
  • Communicated to DevOps any deployment requirements
  • Updated any necessary documentation (Confluence, contributing docs) or informed the documentation team

🦮 Reviewer guidelines

  • 👍 (:+1:) or similar for great changes
  • 📝 (:memo:) or ℹ️ (:information_source:) for notes or general info
  • ❓ (:question:) for questions
  • 🤔 (:thinking:) or 💭 (:thought_balloon:) for more open inquiry that's not quite a confirmed issue and could potentially benefit from discussion
  • 🎨 (:art:) for suggestions / improvements
  • ❌ (:x:) or ⚠️ (:warning:) for more significant problems or concerns needing attention
  • 🌱 (:seedling:) or ♻️ (:recycle:) for future improvements or indications of technical debt
  • ⛏ (:pick:) for minor or nitpick changes

willmartian avatar Jul 22 '25 04:07 willmartian

Deploying contributing-docs with  Cloudflare Pages  Cloudflare Pages

Latest commit: c977fa5
Status: ✅  Deploy successful!
Preview URL: https://c235cbb4.contributing-docs.pages.dev
Branch Preview URL: https://signals-adr.contributing-docs.pages.dev

View logs

Logo Checkmarx One – Scan Summary & Detailsd2e4f0a0-08d9-4d32-b32e-bf8224e99acd

Great job! No new security vulnerabilities introduced in this pull request

github-actions[bot] avatar Jul 22 '25 04:07 github-actions[bot]

Claude finished @willmartian's task —— View job


Review complete

This ADR documents an important architectural decision for Angular development at Bitwarden. The structure follows the established ADR pattern well, and the decision is clearly explained.

Summary of findings

Finding 1: Performance claim needs supporting evidence or clarification (💭)

Finding 2: Grammatical issue with punctuation in line 17 (⚠️)

Finding 3: Consider adding concrete examples to distinguish UI-coupled vs business logic services (🎨)

Finding 4: Typo - "adhoc" should be "ad hoc" (⚠️)

Finding 5: Migration strategy could be more detailed, similar to ADR 0027's implementation plan (💭)

PR metadata

The PR title and description are clear and appropriate for a documentation change. The objective clearly explains that this adds an ADR about preferring signals over RxJS in Angular components.

What was done well

The ADR effectively articulates the rationale for adopting signals, provides clear API migration paths, and thoughtfully addresses portability concerns for non-Angular environments.


claude[bot] avatar Nov 24 '25 19:11 claude[bot]

I like the Claude feedback as of this writing so let's continue improving that. There's also https://contributing.bitwarden.com/contributing/code-style/web/angular/#reactivity-adr-0003--adr-0028 which can get a formal link.

withinfocus avatar Nov 24 '25 19:11 withinfocus

Can we add a admonitions to https://contributing.bitwarden.com/architecture/adr/observable-data-services linking to this ADR? I think it slightly supersedes the existing one.

Hinton avatar Nov 25 '25 15:11 Hinton