e24c4f9b00
feat(frontend): self-service delete, force delete pages
3f8f6d0f23
delete stray console.log
661c3eab0f
fix(backend): save data exports as data-export.zip
96725cc304
feat: self-service deletion API, reactivate account page
8a2ffd7d69
feat(frontend): preference cheatsheet
546e900204
feat(backend): report context, fix deleting reports
bd21eeebcf
feat(frontend): report profile page
05913a3b2f
chore: update svelte
1fb1d8dd14
update gitignore
ddd96e415a
refactor(frontend): use handleError hook for errors instead of try/catch
d518cdf739
feat: filters on reports list
27846a4fe4
fix: make query parameters consistent
f766a2054b
feat: allow suspended *and* self-deleted users to access a handful of pages
36cb1d2043
feat: moderation API
d518cdf739
feat: filters on reports list
27846a4fe4
fix: make query parameters consistent
f766a2054b
feat: allow suspended *and* self-deleted users to access a handful of pages
79b8c4799e
feat: new migrator
b36b54f9e6
docker: expose metrics and internal API
9d33093339
feat: forgot password/reset password
26b32b40e2
feat: show utc offset on profile
5cdadc6158
fix: remove scoped styles from user pages
39a3098a99
fix: fix all eslint errors
77c3047b1e
feat: misskey auth
51e335f090
feat: use a FixedWindowRateLimiter keyed by IP to rate limit emails
1ce4f9d278
fix: favicon
ff8d53814d
feat: rate limit emails to two per address per hour
5cb3faa92b
feat(backend): allow suspended users to access some endpoints, add flag scopes