Commit graph

49 commits

Author SHA1 Message Date
sam
5d452824cd
refactor(backend): use single shared HTTP client with backoff 2025-03-11 16:15:11 +01:00
sam
7759225428
refactor(backend): replace coravel with hangfire for background jobs
for *some reason*, coravel locks a persistent job queue behind a
paywall. this means that if the server ever crashes, all pending jobs
are lost. this is... not good, so we're switching to hangfire for that
instead.

coravel is still used for emails, though.

BREAKING CHANGE: Foxnouns.NET now requires Redis to work. the EFCore
storage for hangfire doesn't work well enough, unfortunately.
2025-03-04 17:03:39 +01:00
sam
373d97e70a
feat: make some limits configurable 2025-02-07 21:48:50 +01:00
sam
d182b07482
feat: GET /api/v1/members/{id}, api v1 flags 2024-12-25 14:23:16 -05:00
sam
7791c91960
feat(backend): initial /api/v1/users endpoint 2024-12-25 11:19:50 -05:00
sam
36cb1d2043
feat: moderation API 2024-12-17 17:52:32 +01:00
sam
11257ae069
chore: clean up backend code, fix most inspections 2024-12-14 16:51:58 +01:00
sam
9d33093339
feat: forgot password/reset password 2024-12-14 16:32:08 +01:00
sam
77c3047b1e
feat: misskey auth 2024-12-12 16:44:01 +01:00
sam
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
sam
d30ebacc72
chore: add license headers to all c# files 2024-12-09 21:11:46 +01:00
sam
649988db25
refactor(backend): use explicit types instead of var by default 2024-12-08 15:07:25 +01:00
sam
bc7fd6d804
feat(frontend): register/log in with email 2024-12-04 17:43:02 +01:00
sam
57e1ec09c0
feat: link fediverse account to existing user 2024-12-04 01:49:03 +01:00
sam
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
sam
0c78cd25b0
fix(backend): use serilog theme that actually works with a light terminal 2024-11-24 16:01:40 +01:00
sam
d87856bf2c
refactor: change ConvertBase64UriToImage from extension method to static method 2024-11-23 20:42:14 +01:00
sam
201c56c3dd
feat: link discord account to existing account 2024-11-03 13:53:16 +01:00
sam
c4cb08cdc1
feat: initial fediverse registration/login 2024-11-03 02:07:07 +01:00
sam
d982342ab8
refactor: pass DbContextOptions into context directly
turns out efcore doesn't like it when we create a new options instance
(which includes a new data source *and* a new logger factory)
every single time we create a context. this commit extracts
OnConfiguring into static methods which are called when the context is
added to the service collection and when it's manually created for
migrations and the importer.
2024-10-30 15:35:23 +01:00
sam
0077a165b5
feat: add some fediverse authentication code
* create applications on instances
* generate authorize URLs
* exchange oauth code for token and user info (untested)
* recreate mastodon app on authentication failure
2024-10-06 15:34:31 +02:00
sam
7f971e8549
chore: add csharpier to husky, format backend with csharpier 2024-10-02 00:28:07 +02:00
sam
758ab9ec5b
feat(backend): delete flag endpoint 2024-09-26 23:03:50 +02:00
sam
e20a7d3465
fix(backend): *actually* correctly hash images 2024-09-26 22:30:24 +02:00
sam
14e6e35cb7
feat(backend): add create flag endpoint and job 2024-09-26 22:26:40 +02:00
sam
ff2ba1fb1b
fix(backend): correctly hash images 2024-09-26 22:25:47 +02:00
sam
f81ae97821
feat(backend): return unlisted status in partial member for authenticated users 2024-09-25 19:48:09 +02:00
sam
412d720abc
feat: add .net user importer 2024-09-18 21:44:47 +02:00
sam
ff22530f0a
feat(frontend): add discord callback page
this only handles existing accounts for now, still need to write an action function
2024-09-13 14:56:38 +02:00
sam
498d79de4e
feat(frontend): internationalization 2024-09-10 20:33:22 +02:00
sam
13a0cac663
feat(backend): email registration 2024-09-10 02:39:07 +02:00
sam
c77ee660ca
refactor: more consistent field names, also in STYLE.md 2024-09-09 14:50:00 +02:00
sam
344a0071e5
start (actual) email auth, add CancellationToken to most async methods 2024-09-09 14:37:59 +02:00
sam
6c9d1c328b
fix: add class context to all loggers, format 2024-09-04 14:25:44 +02:00
sam
fb324e7576
refactor: replace periodic tasks loop with background service 2024-09-04 01:46:39 +02:00
sam
54ec469cd9
feat: add actual metrics using prometheus-net 2024-09-03 17:00:14 +02:00
sam
0aadc5fb47
feat: replace Hangfire with Coravel 2024-09-03 16:29:51 +02:00
sam
a069d0ff15
feat(backend): add more params to POST /users/@me/members 2024-07-14 21:25:23 +02:00
sam
16f230b97d
feat(backend): start work on metrics 2024-07-13 17:23:52 +02:00
sam
fa49030b06
feat: add deleted user columns in database 2024-07-13 03:09:07 +02:00
sam
d6c9345dba
too many things to list (notably, user avatar update) 2024-07-08 19:03:04 +02:00
sam
a7950671e1
feat: initial working discord authentication 2024-06-13 02:23:55 +02:00
sam
6186eda092
feat(backend): add RequestDiscordTokenAsync method 2024-06-12 16:19:49 +02:00
sam
25540f2de2 feat(backend): start authentication controllers 2024-06-12 03:47:20 +02:00
sam
588afeec20 feat: add debug registration endpoint, fix snowflake serialization 2024-06-04 17:38:59 +02:00
sam
852036a6f7
format, add more query extensions 2024-05-30 16:59:40 +02:00
sam
f674d059fd add UserRendererService and improve errors 2024-05-28 17:09:50 +02:00
sam
6114f384a0
add a bunch of stuff copied from Foxchat.NET 2024-05-28 15:29:18 +02:00
sam
f4c0a40259
init 2024-05-27 15:53:54 +02:00