Check in for any installed license, regardless of seat usage #90

Merged
Cordy merged 2 commits from fix/checkin-any-license into main 2026-07-31 09:44:20 +00:00
Owner

Closes #89

checkinRequiredLocked drops the len(SeenUsers) > FreeSeats condition: an installed, unrevoked, unexpired license with a check-in URL now phones in monthly whatever the seat usage, so renewals and seat changes propagate to every paying customer — not only those past the free-tier threshold. Seat usage still rides along as seatsUsed.

The free-tier promise is untouched and now test-pinned from both sides: a licensed instance below the threshold must check in; an instance with no license must never phone home; no check-in URL (air-gapped) means no check-in. This also makes the dogfood instance exercise the real monthly check-in path despite its handful of test users.

Closes #89 `checkinRequiredLocked` drops the `len(SeenUsers) > FreeSeats` condition: an installed, unrevoked, unexpired license with a check-in URL now phones in monthly whatever the seat usage, so renewals and seat changes propagate to every paying customer — not only those past the free-tier threshold. Seat usage still rides along as `seatsUsed`. The free-tier promise is untouched and now test-pinned from both sides: a licensed instance below the threshold **must** check in; an instance with **no license** must never phone home; no check-in URL (air-gapped) means no check-in. This also makes the dogfood instance exercise the real monthly check-in path despite its handful of test users.
Cordy merged commit ab8afd0e5c into main 2026-07-31 09:44:20 +00:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: Cordy/Cairn#90
No description provided.