Files
filip131311 dee49473c8 refactor(tool-server): remove ARGENT_DISABLE_UPDATE_NOTIFICATIONS opt-out (#282)
## What

Removes the `ARGENT_DISABLE_UPDATE_NOTIFICATIONS` environment variable
and everything tied to it: the `DISABLE_ENV` constant, the exported
`areUpdateNotificationsDisabled()` predicate, the early-return gate in
`startUpdateChecker()`, the reminder-note bullet that advertised it, and
the corresponding test.

## Why

The env var made `startUpdateChecker()` a no-op, which left
`getUpdateState()` stuck at its defaults (`updateAvailable: false`,
`installableVersion: null`). Because the `update-argent` tool reads that
shared state, **silencing the periodic reminder also blinded the
explicit, user-consented update path** — `update-argent` would report
*"Argent is already up to date"* even when a newer version existed on
npm. A user who'd quietened the nags but then explicitly asked the agent
to update was wrongly told there was nothing to do (only the CLI `npx
@swmansion/argent update` still worked).

Postponing/suppressing reminders is already handled by the time-based
`dismiss-update` tool, whose suppression persists in
`~/.argent/update-suppression.json` and does **not** disable the
underlying check — so the update state stays accurate. That makes the
env var both redundant and a footgun, so it's removed rather than worked
around.

## Behavior after this change

- The 24h update checker always runs; `getUpdateState()` reflects real
registry state.
- Reminders are still gated by `dismiss-update` (and the 30-minute
auto-suppress after each surfaced note).
- `update-argent` now sees accurate state regardless of reminder
suppression.

## Tests

- Removed the now-obsolete "does not check or notify when notifications
are disabled" test.
- `vitest run` for `update-checker`, `http-update-note`, and
`update-argent-tool` passes (42 tests); `tsc --noEmit` clean for
`tool-server`.
2026-06-01 18:29:16 +02:00
..