5d452824cd
refactor(backend): use single shared HTTP client with backoff
2025-03-11 16:15:11 +01:00
bba322bd22
chore(backend): update dependencies
2025-03-08 23:46:46 +01:00
200e648772
fix(backend): update User.LastActive in more places
2025-03-05 15:40:13 +01:00
790b39f730
fix(frontend): consistency in the editor
2025-03-05 15:13:44 +01:00
7d0df67c06
fix(frontend): fix moving pronouns
2025-03-05 15:13:26 +01:00
dd9d35249c
feat(frontend): notifications
2025-03-05 01:18:21 +01:00
f99d10ecf0
fix(backend): don't hardcode redis URL, add redis to docker compose
2025-03-04 17:25:07 +01:00
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
cd24196cd1
chore(backend): format
2025-02-28 16:53:53 +01:00
7d6d4631b8
fix(frontend): don't reference email auth in text if it's disabled
2025-02-28 16:50:57 +01:00
a248536789
fix typo in DOCKER.md
2025-02-28 16:47:21 +01:00
218c756a70
feat(backend): make field limits configurable
2025-02-28 16:37:15 +01:00
7ea6c62d67
chore(backend): update dependencies
2025-02-28 16:36:45 +01:00
64ea25e89e
feat(frontend): avatar cropping
2025-02-24 21:32:20 +01:00
f1f777ff82
fix(frontend): localize footer
2025-02-24 20:37:51 +01:00
a72c0f41c3
add build script
2025-02-24 18:25:49 +01:00
6fe816404f
rename rate/ to Foxnouns.RateLimiter/ for consistency
2025-02-24 17:47:37 +01:00
d1faf1ddee
feat(frontend): store pending profile changes in sessionStorage
2025-02-24 17:37:49 +01:00
92bf933c10
feat(frontend): link custom preferences in profile editor
2025-02-24 17:13:46 +01:00
c8e4078b35
fix: show 404 page if /api/v2/meta/page/{page} can't find a file
2025-02-23 21:42:01 +01:00
0c6e3bf38f
feat(frontend): show closed reports button, add some alerts for auth
2025-02-23 20:02:40 +01:00
30146556f5
chore: update frontend dockerfile to node 23
2025-02-11 14:57:07 +01:00
c47fc41437
feat(frontend): remove auth method
2025-02-11 14:21:40 +01:00
373d97e70a
feat: make some limits configurable
2025-02-07 21:48:50 +01:00
74800b46ef
feat(frontend): don't break signup pages on reload
2025-02-07 20:57:27 +01:00
32e0c09d06
fix(backend): add thousands separators to footer
2025-02-07 20:33:59 +01:00
6bb01f0bf1
feat(frontend): show audit log entry for closed reports
2025-02-03 17:35:34 +01:00
cacd3a30b7
feat: report page, take action on reports
2025-02-03 17:03:32 +01:00
a0ba712632
feat(frontend): show error ID for internal server errors
2025-01-30 02:00:49 +01:00
83b62b4845
chore: update husky/csharpier
2025-01-27 16:26:00 +01:00
045964ffb7
feat(backend): report detail endpoint
2025-01-27 16:25:49 +01:00
8edbc8bf1d
feat(backend): only one sensitive data request per 24 hours
2024-12-29 16:34:11 -05:00
db22e35f0d
feat(frontend): partial user lookup
2024-12-28 11:39:22 -05:00
9d3d46bf33
feat(frontend): show "query sensitive data" in audit log
2024-12-27 17:49:29 -05:00
12eddb9949
feat(backend): user lookup
2024-12-27 17:48:37 -05:00
8713279d3d
raise member limit to 1000
2024-12-27 13:34:54 -05:00
dc9c11ec52
feat: return reports in audit log entries
2024-12-27 13:21:02 -05:00
53006ea313
feat(frontend): audit log
2024-12-26 16:33:32 -05:00
49e9eabea0
refactor(frontend): deduplicate isActive function
2024-12-26 14:10:03 -05:00
5077bd6a0b
fix(backend): return report context in mod api
2024-12-26 14:01:51 -05:00
3f0edc4374
static pages volume in docker-compose.yml
2024-12-26 10:25:00 -05:00
7468aa20ab
feat: static documentation pages
2024-12-25 17:53:31 -05:00
fe1cf7ce8a
feat: GET /api/v1/users/@me
2024-12-25 16:04:32 -05:00
478ba2a406
feat: GET /api/v1/users/{userRef}/members/{memberRef}
2024-12-25 14:53:36 -05:00
78afb8b9c4
feat: GET /api/v1/users/{userRef}/members
2024-12-25 14:33:42 -05:00
e908e67ca6
chore: license headers
2024-12-25 14:24:18 -05:00
d182b07482
feat: GET /api/v1/members/{id}, api v1 flags
2024-12-25 14:23:16 -05:00
2281b3e478
fix: replace port 5000 in example docs with port 6000
...
macOS runs a service on port 5000 by default. this doesn't actually
prevent the backend server from *starting*, or the rate limiter proxy
from working, but it *does* mean that when the backend restarts, if the
proxy sends a request, it will stop working until it's restarted.
the easiest way to work around this is by just changing the port the
backend listens on. this does not change the ports used in the docker
configuration.
2024-12-25 14:03:15 -05:00
140419a1ca
feat: rate limiter lets api v1 requests through
2024-12-25 12:08:53 -05:00
7791c91960
feat(backend): initial /api/v1/users endpoint
2024-12-25 11:19:50 -05:00