661c3eab0f
fix(backend): save data exports as data-export.zip
...
change the random base 64 to a directory rather than part of the
filename, so that users downloading their exports aren't greeted with a
completely incomprehensible file in their downloads folder
2024-12-19 16:19:27 +01:00
96725cc304
feat: self-service deletion API, reactivate account page
2024-12-19 16:13:05 +01:00
546e900204
feat(backend): report context, fix deleting reports
2024-12-18 21:26:35 +01:00
80385893c7
feat: split migration into batches
2024-12-17 21:23:02 +01:00
d518cdf739
feat: filters on reports list
2024-12-17 20:48:52 +01:00
27846a4fe4
fix: make query parameters consistent
2024-12-17 20:48:39 +01:00
f766a2054b
feat: allow suspended *and* self-deleted users to access a handful of pages
2024-12-17 18:08:43 +01:00
36cb1d2043
feat: moderation API
2024-12-17 17:52:32 +01:00
79b8c4799e
feat: new migrator
2024-12-16 21:38:38 +01:00
41a008799a
update dependencies
2024-12-14 16:54:47 +01:00
11257ae069
chore: clean up backend code, fix most inspections
2024-12-14 16:51:58 +01:00
49b2902d6d
fix: use url-unsafe base 64 for auth tokens
...
.net throws an error when decoding url-safe base 64
luckily we never decode it *except* for tokens, so those can keep using
url-unsafe base 64. they're never used in URLs after all
2024-12-14 16:39:02 +01:00
9d33093339
feat: forgot password/reset password
2024-12-14 16:32:08 +01:00
1cf2619393
feat: add email to existing account, change password
2024-12-13 21:25:41 +01:00
77c3047b1e
feat: misskey auth
2024-12-12 16:44:01 +01:00
51e335f090
feat: use a FixedWindowRateLimiter keyed by IP to rate limit emails
...
we don't talk about the sent_emails table :)
2024-12-11 21:17:46 +01:00
ff8d53814d
feat: rate limit emails to two per address per hour
2024-12-11 20:42:48 +01:00
5cb3faa92b
feat(backend): allow suspended users to access some endpoints, add flag scopes
2024-12-11 20:42:26 +01:00
7f8e72e857
fix backend dockerfile, Caddyfile, and email controller
2024-12-11 02:11:53 +01:00
a29d1fdb78
feat: plain text emails
2024-12-11 01:44:00 +01:00
7e6698c3fb
update to .net 9 and add new OpenAPI packages
2024-12-10 15:28:44 +01:00
80b7f192f1
clean up RemoteAuthService
2024-12-10 14:09:32 +01:00
3338243cea
feat: log in with tumblr
2024-12-09 21:48:07 +01:00
d30ebacc72
chore: add license headers to all c# files
2024-12-09 21:11:46 +01:00
8a8b4caa18
feat: log in with google
2024-12-09 21:07:53 +01:00
d9d48c3cbf
feat: flag management
2024-12-09 14:52:31 +01:00
8bd4449804
refactor(backend): move all request/response types to a new Dto namespace
2024-12-09 13:58:18 +01:00
f8e6032449
chore(backend): add roslynator and fix diagnostics
2024-12-08 15:17:18 +01:00
649988db25
refactor(backend): use explicit types instead of var by default
2024-12-08 15:07:25 +01:00
bc7fd6d804
feat(frontend): register/log in with email
2024-12-04 17:43:02 +01:00
57e1ec09c0
feat: link fediverse account to existing user
2024-12-04 01:49:03 +01:00
03209e4028
chore(backend): clean imports
2024-12-03 20:05:24 +01:00
9966656c0c
fix(backend): don't need [NotMapped] for these actually
2024-12-03 20:04:28 +01:00
18bdbc0745
feat(backend): clean deleted users
2024-12-03 14:55:19 +01:00
903be2709c
feat(backend): initial data export support
...
obviously it's missing things that haven't been added yet
2024-12-02 18:06:19 +01:00
b47ed7b699
rate limit tweaks
...
the /users/{id} prefix contains most API routes so it's not a good idea
to put a single rate limit on *all* of them combined. the rate limiter
will now ignore the /users/{id} prefix *if* there's a second {id}
parameter in the URL.
also, X-RateLimit-Bucket is no longer hashed, so it can be directly
decoded by clients to get the actual bucket name. i'm not sure if this
will actually be useful, but it's nice to have the option.
2024-12-02 16:13:56 +01:00
de733a0682
feat(frontend): discord registration/login/linking
...
also moves the registration form found on the mastodon callback page
into a component so we're not repeating the same code for every auth method
2024-11-28 21:37:30 +01:00
4780be3019
fix(backend): add unique index to auth methods
2024-11-28 21:29:25 +01:00
8b1d5b2c1b
feat(backend): validate custom preferences on save
2024-11-28 17:28:52 +01:00
71b59dbb00
feat: add icon list generation script
...
this is used to validate icons for custom preferences. it generates both
typescript and c# code
2024-11-27 20:00:28 +01:00
59496a8cd8
feat(frontend): edit names/pronouns
2024-11-25 23:07:17 +01:00
c237aa8827
fix(backend): add unlisted param to patch member
2024-11-25 21:24:28 +01:00
c0bb76580d
even more frontend stuff
2024-11-25 17:35:24 +01:00
261435c252
feat: so much more frontend stuff
2024-11-24 22:19:53 +01:00
0c78cd25b0
fix(backend): use serilog theme that actually works with a light terminal
2024-11-24 16:01:40 +01:00
c8cd483d20
feat: sid redirect controller
2024-11-24 15:40:12 +01:00
7cb17409cd
fix: explicitly set sids to null so the find free sid functions actually trigger
2024-11-24 15:39:44 +01:00
4e9c4af4a5
feat(auth): misc fediverse auth improvements
...
- remove automatic app validation
- add force refresh option to GetFediverseUrlAsync
- pass state to mastodon authorization URI
2024-11-24 15:37:36 +01:00
142ff36d3a
fix: stop crash on start with empty sentry dsn, make max avatar length a constant
2024-11-23 20:43:43 +01:00
d87856bf2c
refactor: change ConvertBase64UriToImage from extension method to static method
2024-11-23 20:42:14 +01:00