Hampus
|
1cd62eb661
|
chore(repo): remove dead code and useless tests (#3375)
|
2026-10-10 21:43:29 +02:00 |
|
Hampus
|
93d1f8af46
|
refactor: remove dead code (#3337)
|
2026-10-09 01:41:26 +02:00 |
|
Hampus
|
4db13b0375
|
fix(app,api): kick reasons, blocked counts and locale fallbacks (#3334)
|
2026-10-09 01:40:08 +02:00 |
|
Hampus
|
e0d7625c39
|
feat(api): hand desktop sign-in back with a deep link grant (#3278)
|
2026-10-08 17:23:28 +02:00 |
|
Hampus
|
cc5545c333
|
fix(api): sync stripe customer email on change (#3243)
|
2026-10-06 21:38:25 +02:00 |
|
Hampus
|
e1eecc3b6c
|
feat(auth): add username sign-in mode and recovery kits (#3215)
|
2026-10-05 14:10:07 +02:00 |
|
Hampus
|
da9e9ff0be
|
chore: tidy request handling across services (#3168)
|
2026-10-03 15:36:33 +02:00 |
|
Hampus
|
4e6b837ccc
|
fix: tighten edge cases across services (#3158)
|
2026-10-03 13:04:29 +02:00 |
|
Hampus
|
706c41aad9
|
fix(auth): check the TOTP setup code before asking for sudo (#3146)
|
2026-10-03 02:11:14 +02:00 |
|
Hampus
|
1ec8f31253
|
refactor: simplify account standing and verification levels (#3130)
|
2026-10-02 18:17:41 +02:00 |
|
Hampus
|
1abde06824
|
feat(admin): accept domain entries in the email blocklist (#3129)
|
2026-10-02 18:00:38 +02:00 |
|
Hampus
|
5040ae2c10
|
fix(sso): join provisioned users to the single community (#3118)
|
2026-10-02 17:23:03 +02:00 |
|
Hampus
|
c7bd1be3e4
|
fix(auth): offer every transport for passkeys stored without any (#3077)
|
2026-09-30 23:01:37 +02:00 |
|
Hampus
|
12bfaa83ba
|
fix(sso): route mobile sign-in through the web callback (#3060)
|
2026-09-30 14:48:24 +02:00 |
|
Hampus
|
4f968bbc47
|
feat(captcha): make ALTCHA the only captcha (#3035)
|
2026-09-29 17:00:15 +02:00 |
|
Hampus
|
364084c819
|
refactor(api): emit moderation events and apply account actions (#3031)
|
2026-09-29 12:24:15 +02:00 |
|
Hampus
|
5b280898c5
|
refactor(push): retire the push service delivery experiment (#3000)
|
2026-09-28 00:45:22 +02:00 |
|
Hampus
|
7e1b934637
|
feat(captcha): add ALTCHA proof-of-work captcha experiment (#2986)
|
2026-09-27 21:02:55 +02:00 |
|
Hampus
|
841fb7af41
|
feat(auth): migrate passkeys to fluxer.com (#2964)
|
2026-09-25 22:33:50 +02:00 |
|
Hampus
|
6730a242db
|
feat(web): prepare the fluxer.com domain migration (#2952)
|
2026-09-25 13:43:34 +02:00 |
|
Hampus
|
dcd5f09d6a
|
feat(api): add env toggles for automatic phone flagging (#2927)
|
2026-09-24 03:36:35 +02:00 |
|
Hampus
|
18c303abf6
|
feat(push): relay notifications as encrypted web push (#2906)
|
2026-09-23 14:04:55 +02:00 |
|
Hampus
|
ba7d8781cf
|
feat(auth): make passkey two-factor authentication opt-in (#2857)
|
2026-09-20 05:06:50 +02:00 |
|
Hampus
|
f32356801d
|
feat(api): make tor and breached password lookups opt-in (#2834)
|
2026-09-19 01:22:17 +02:00 |
|
Hampus
|
3b552e00ef
|
chore(deps): upgrade all dependencies, toolchains and images (#2825)
|
2026-09-17 21:08:56 +02:00 |
|
Hampus
|
56e04e7b53
|
test(backend): remove duplicate and useless tests (#2820)
|
2026-09-17 15:32:25 +02:00 |
|
Hampus
|
4cecbf1f43
|
fix(auth): disable TOTP with one code instead of two (#2816)
|
2026-09-17 04:21:50 +02:00 |
|
Hampus
|
8cb097f954
|
fix(i18n): review translations and fix i18n library misuse (#2750)
|
2026-09-13 22:58:09 +02:00 |
|
Hampus
|
84dcf6b8a8
|
refactor(imports): replace relative imports with path aliases (#2741)
|
2026-09-13 20:18:22 +02:00 |
|
Hampus
|
5afbf67a70
|
refactor(api): tidy the api and shared packages (#2733)
|
2026-09-13 17:37:48 +02:00 |
|
Hampus
|
adab646d1e
|
fix(schema): preserve WebAuthn payloads and align fixtures (#2710)
|
2026-09-12 00:19:44 +02:00 |
|
Hampus
|
de1fd95a99
|
refactor(schema): simplify validation and OpenAPI generation (#2709)
|
2026-09-11 23:24:26 +02:00 |
|
Hampus
|
c577b97f35
|
fix(api): reject a mail-less email domain by its own code (#2608)
|
2026-09-08 22:17:53 +02:00 |
|
Hampus
|
82859dc2f6
|
fix(api): keep a deferral while the phone gate state is unknown (#2554)
|
2026-09-06 23:41:29 +02:00 |
|
Hampus
|
d9f983b08e
|
fix(api): return the terminated count from terminate sessions (#2539)
|
2026-09-06 18:38:46 +02:00 |
|
Hampus
|
7f8f09ee51
|
feat(admin)!: move the admin api to rest and fix its defects (#2515)
|
2026-09-06 15:36:41 +02:00 |
|
Hampus
|
cc110b9f5a
|
fix(api): raise coded errors for prerequisites and bounds (#2502)
|
2026-09-06 15:29:36 +02:00 |
|
Hampus
|
f8a04b8985
|
fix(api)!: enforce declared rate limits and correct route auth (#2500)
|
2026-09-06 15:28:32 +02:00 |
|
Hampus
|
f392636857
|
fix(auth): correct mfa errors, sudo methods and birth dates (#2498)
|
2026-09-06 15:27:30 +02:00 |
|
Hampus
|
bff29d8f07
|
fix(api)!: always send Retry-After and reclassify two limits (#2489)
|
2026-09-06 15:07:00 +02:00 |
|
Hampus
|
8734956d86
|
fix(auth): explain why a phone number was rejected (#2480)
|
2026-09-06 03:09:26 +02:00 |
|
Hampus
|
9b3773c1e6
|
feat(auth): let phone-gated accounts set the check aside (#2478)
|
2026-09-06 01:11:24 +02:00 |
|
Hampus
|
12718eabbc
|
refactor(api): drop cookie support for sudo mode (#2466)
|
2026-09-05 01:29:34 +02:00 |
|
Hampus
|
90c349392b
|
fix(auth): email code to view backup codes, fix login matching (#2433)
|
2026-09-03 21:06:30 +02:00 |
|
Hampus
|
f703969e80
|
fix(auth): require a hashed poll secret for desktop handoff (#2357)
|
2026-09-02 17:25:54 +02:00 |
|
Hampus
|
b82681b77a
|
fix(auth): revoke the parsed token on logout (#2356)
|
2026-09-02 17:25:33 +02:00 |
|
Hampus
|
5719dfe8a3
|
fix(auth): bucket phone attempt risk by v4 and v6 subnet (#2348)
|
2026-09-02 17:23:58 +02:00 |
|
Hampus
|
4fb14e85e8
|
fix(auth): harden login rate keys and totp reuse (#2347)
|
2026-09-02 17:23:47 +02:00 |
|
Hampus
|
8dc2bad843
|
perf(auth): cache auth session lookups by token hash (#2225)
|
2026-08-31 01:04:51 +02:00 |
|
Hampus
|
c4b1471923
|
perf(api): cache channel and guild reads for the request (#2220)
|
2026-08-31 00:22:52 +02:00 |
|