Florian Sylvain
|
0eb46b0d74
|
feat: SEO backend data (1/4)
|
2026-10-15 19:30:29 +02:00 |
|
Florian Sylvain
|
b34a173d83
|
feat: Authors feature backend (and upgraded deprecated mods)
|
2026-10-14 17:45:00 +02:00 |
|
Florian Sylvain
|
a11338094e
|
feat: Sites feature backend
|
2026-10-14 03:56:50 +02:00 |
|
fsylvain
|
d768668014
|
feat: image variants cache panel
|
2026-10-08 21:13:32 +02:00 |
|
fsylvain
|
951fef18ba
|
feat: image variants per image
|
2026-10-08 19:57:51 +02:00 |
|
fsylvain
|
f1d56ef50e
|
feat: image variants engine
|
2026-10-08 02:33:32 +02:00 |
|
fsylvain
|
e82d0ce254
|
feat: media duplicate purge, part 1 of 3: persisted purge settings and the purge API
|
2026-10-05 18:24:03 +02:00 |
|
fsylvain
|
844842fdae
|
feat: integration v2 and API key PART 1/3
|
2026-10-04 21:56:14 +02:00 |
|
fsylvain
|
7e9bd9ba30
|
feat: articles format option with markdown new default
|
2026-10-04 19:04:12 +02:00 |
|
fsylvain
|
54e8fd5fed
|
feat: restart to apply update, privileged helper, rollback
|
2026-10-01 21:36:40 +02:00 |
|
fsylvain
|
70460e4170
|
feat: update button (download, verify, stage)
|
2026-10-01 18:13:45 +02:00 |
|
fsylvain
|
0d99544579
|
feat(API): media library
|
2026-09-30 18:35:28 +02:00 |
|
fsylvain
|
153fd8719a
|
feat: invite management API: DELETE /v1/user/invite/:id (204, cancels a pending invite) and POST /v1/user/invite/:id/renew (200, new code, expires_at = now+3d, created_at = now, resends the invitation email, old link dead)
|
2026-09-30 01:36:43 +02:00 |
|
fsylvain
|
461e93e3b5
|
feat: add Role (owner|admin) to the user domain, persistence model and mapper
|
2026-09-30 00:58:58 +02:00 |
|
fsylvain
|
da36c78bc0
|
refac: hardening pass with multiple overhauls
|
2026-09-29 10:55:23 +02:00 |
|
fsylvain
|
55525c06d6
|
feat: invitation accept screen and api
|
2026-09-29 09:21:53 +02:00 |
|
fsylvain
|
acdef18b37
|
feat(API): user invitations and emails
|
2026-09-29 07:15:17 +02:00 |
|
fsylvain
|
7aae704d0a
|
feat(API): optional display name on users
|
2026-09-29 06:52:58 +02:00 |
|
fsylvain
|
b29d0ed045
|
feat: editor image removal QOLs
|
2026-09-29 02:44:31 +02:00 |
|
fsylvain
|
3282b0580c
|
fix: remove the unused user use cases, fix the specs that no longer match the code, include api/middleware and api/pkg/claims in mutation testing, log failures that password reset requests currently ignore, and reject user_id claims that don't fit a user id
|
2026-09-25 05:58:37 +02:00 |
|
fsylvain
|
cbb403011a
|
fix: login and password reset requests are rate-limited per client (not in the README; there is currently no brute-force protection on the public auth routes)
|
2026-09-25 05:33:02 +02:00 |
|
fsylvain
|
f3ec3d2fa2
|
fix: resetting the password or cancelling a registration ends existing sessions: a token issued before the change is refused
|
2026-09-25 05:03:34 +02:00 |
|
fsylvain
|
aa865af2e9
|
refac: reamaining auth surface rewrite, T0
|
2026-09-24 05:11:49 +02:00 |
|
fsylvain
|
6d510d2805
|
refac: register only open while no verified acc exists, enforced by a use case rather than handler & sends verification email whose link uses the conf pub URL whose code expires after 2h
|
2026-09-24 03:36:37 +02:00 |
|
fsylvain
|
4278d96882
|
refac: article title rules are the same in the API request and the domain; an invalid title returns 400 instead of 500
|
2026-09-23 20:04:09 +02:00 |
|
fsylvain
|
8460a078e3
|
refac: missing user or article is reported with a domain not-found error instead of a raw GORM error, and the API answers 404 for it
|
2026-09-23 18:55:05 +02:00 |
|
Floriansylvain
|
61a84201d8
|
refac: remove frontend & clearer DDD
|
2025-12-21 21:31:30 +01:00 |
|