Skip to content

[pull] main from tldraw:main#538

Merged
pull[bot] merged 2 commits into
code:mainfrom
tldraw:main
May 7, 2026
Merged

[pull] main from tldraw:main#538
pull[bot] merged 2 commits into
code:mainfrom
tldraw:main

Conversation

@pull
Copy link
Copy Markdown

@pull pull Bot commented May 7, 2026

See Commits and Changes for more details.


Created by pull[bot] (v2.0.0-alpha.4)

Can you help keep this open source service alive? 💖 Please sponsor : )

angrycaptain19 and others added 2 commits May 7, 2026 14:27
…vered versions (#8791)

For perpetual licenses, the calendar expiry date only gates access to
future major and minor releases — it does not actually expire the
license while the user is on a covered version. Previously,
`daysSinceExpiry` was computed from the calendar expiry date for every
license type, which caused the grace-period branch in `getLicenseState`
to fire and log a misleading red console banner saying "Your tldraw
license has expired" even though the editor was working exactly as
licensed.

This PR makes `daysSinceExpiry` reflect the *functional* expiry
semantics: for perpetual licenses, it stays at `0` while
`isPerpetualLicenseExpired` is `false`. The "expired for more than 30
days" path still fires once a perpetual customer upgrades to a version
released outside their license coverage.

| License type | Past calendar expiry, still covered | Past coverage /
30‑day grace |
| --- | --- | --- |
| Perpetual | `daysSinceExpiry = 0`, `'licensed'`, no console message
(was: misleading "expired" banner) | unchanged: `'expired'` with the
standard banner |
| Annual | unchanged: grace-period warning, `'licensed'` | unchanged:
`'expired'` with the standard banner |
| Evaluation | unchanged | unchanged |

### Change type

- [x] `bugfix`

### Test plan

- [x] Unit tests

Added a unit test in `LicenseManager.test.ts` covering a perpetual
license whose calendar expiry is in the past but whose installed version
is still within coverage — `daysSinceExpiry` is now `0` and no
grace-period message is logged.

### Release notes

- Perpetual licenses no longer show a misleading "license expired"
console warning when the user is past their calendar expiry date but
still on a version covered by the license.

Made with [Cursor](https://cursor.com)

Co-authored-by: Cursor <cursoragent@cursor.com>
@pull pull Bot locked and limited conversation to collaborators May 7, 2026
@pull pull Bot added the ⤵️ pull label May 7, 2026
@pull pull Bot merged commit ee8c47a into code:main May 7, 2026
@pull pull Bot had a problem deploying to deploy-production May 7, 2026 15:13 Failure
@pull pull Bot had a problem deploying to deploy-staging May 7, 2026 15:13 Error
@pull pull Bot had a problem deploying to deploy-staging May 7, 2026 15:13 Error
@pull pull Bot had a problem deploying to vsce publish May 7, 2026 15:13 Error
@pull pull Bot had a problem deploying to bemo-canary May 7, 2026 15:13 Failure
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants