mrhid6andClaude Opus 5 3a6c5ebae8
Server Deploy / deploy (push) Successful in 5m22s
fix(admin): licence and plan features serialise as [], never null
Free has no features, so a nil Go slice served "features": null. The
portal's type said string[], called .length on it, and took the page down.

The guarantee lives on a named Features type with its own MarshalJSON
rather than at each of the six places a licence or plan is serialised,
because the seventh is the one that would have been forgotten. Applying it
at marshal time also fixes rows already holding null in Mongo, which a
write-side fix alone would not.

Same class, found while checking the rest: staffListInstances built its
expiring filter from a nil []string, marshalling to $in: null, which Mongo
rejects — so the quiet week when nothing is expiring is precisely when the
staff Operations page's own query would have failed.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-26 18:10:07 +01:00
2026-07-26 15:42:07 +01:00
2026-07-24 09:51:30 +01:00
2026-07-26 15:41:52 +01:00
2026-07-24 13:13:47 +01:00
2026-07-26 14:46:38 +01:00
2026-07-26 14:46:38 +01:00
S
Description
No description provided
9 MiB
agent/v1.2.13
Latest
2026-08-06 15:20:34 +00:00
Languages
Go 48.5%
TypeScript 47.1%
CSS 2.3%
Go Template 1.3%
Dockerfile 0.5%
Other 0.3%