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
|
a0825e77c4
|
feat(voice): ship the screen share delivery rework to everyone (#2931)
|
2026-09-24 14:57:40 +02:00 |
|
Hampus
|
b16989d567
|
feat(push): ring incoming calls on Apple PushKit devices (#2911)
|
2026-09-23 20:21:08 +02:00 |
|
Hampus
|
18c303abf6
|
feat(push): relay notifications as encrypted web push (#2906)
|
2026-09-23 14:04:55 +02:00 |
|
Hampus
|
7601bf98ee
|
fix(channel): sync a cleared group DM name without a reload (#2882)
|
2026-09-21 15:34:18 +02:00 |
|
Hampus
|
c157ab5752
|
feat(voice): rework screen share delivery behind an experiment (#2859)
|
2026-09-20 06:10:20 +02:00 |
|
Hampus
|
ba7d8781cf
|
feat(auth): make passkey two-factor authentication opt-in (#2857)
|
2026-09-20 05:06:50 +02:00 |
|
Hampus
|
e2abfd476a
|
feat(api): redirect desktop downloads to pkgs (#2853)
|
2026-09-20 01:20:30 +02:00 |
|
Hampus
|
487febac8e
|
fix(voice): make stereo microphones work in studio and custom (#2852)
|
2026-09-20 00:19:53 +02:00 |
|
Hampus
|
9027cbdf3e
|
fix(voice): send screen shares at the quality the user picked (#2840)
|
2026-09-19 16:46:22 +02:00 |
|
Hampus
|
bc47a724af
|
fix(voice): stop screen shares failing to reach their viewers (#2835)
|
2026-09-19 02:17:25 +02:00 |
|
Hampus
|
522cf08e61
|
feat(media-proxy): sign attachment URLs and gate origins (#2830)
|
2026-09-18 15:57:32 +02:00 |
|
Hampus
|
3b552e00ef
|
chore(deps): upgrade all dependencies, toolchains and images (#2825)
|
2026-09-17 21:08:56 +02:00 |
|
Tarek
|
f753659899
|
feat(instance): make the status page URL configurable (#1159)
|
2026-09-16 15:20:37 +02:00 |
|
Hampus
|
910db6734b
|
feat(experiments): ship seven treatments to everyone (#2798)
|
2026-09-15 18:03:35 +02:00 |
|
Hampus
|
951e39da3d
|
feat(api): add expression source guild routes (#2786)
|
2026-09-15 00:31:47 +02:00 |
|
Hampus
|
b693d84d2b
|
fix(openapi): restore named discriminated union branches (#2785)
|
2026-09-14 23:42:26 +02:00 |
|
Hampus
|
c212d315f4
|
fix(app): gate reworked typing indicators behind an experiment (#2782)
|
2026-09-14 21:54:52 +02:00 |
|
Hampus
|
d0c6146429
|
feat(app): gate a collapsing guild header behind an experiment (#2779)
|
2026-09-14 21:15:31 +02:00 |
|
Hampus
|
8ee2279b4b
|
feat(donations): add Nordic currencies, raise amount ceilings (#2775)
|
2026-09-14 20:27:24 +02:00 |
|
Hampus
|
6339c3b8ad
|
feat(app): gate the expression info card behind an experiment (#2773)
|
2026-09-14 20:14:58 +02:00 |
|
Hampus Kraft
|
a3d6cf37cb
|
fix(guild): render activity log entries deterministically (#2766)
|
2026-09-14 17:39:19 +02:00 |
|
Hampus
|
ed10f9d323
|
fix(app): gate blocked group rendering behind an experiment (#2763)
|
2026-09-14 16:08:19 +02:00 |
|
Hampus
|
4b278a0da8
|
fix(app): gate one-Tab message focus behind an experiment (#2762)
|
2026-09-14 15:55:00 +02:00 |
|
Hampus
|
1281045648
|
fix(app): gate single-source message hover behind an experiment (#2761)
|
2026-09-14 15:37:37 +02:00 |
|
Hampus
|
5afbf67a70
|
refactor(api): tidy the api and shared packages (#2733)
|
2026-09-13 17:37:48 +02:00 |
|
Hampus
|
3affd295e8
|
feat(guild): require opt-in for emoji and sticker cloning (#2712)
|
2026-09-12 00:33:23 +02:00 |
|
Hampus
|
de1fd95a99
|
refactor(schema): simplify validation and OpenAPI generation (#2709)
|
2026-09-11 23:24:26 +02:00 |
|
Hampus
|
172791316b
|
feat(voice): add noise suppression backends and rollout (#2706)
|
2026-09-11 22:24:05 +02:00 |
|
Hampus
|
258fe6f742
|
feat(voice): add audio bitrate guild features and 96 kbps cap (#2703)
|
2026-09-11 22:00:15 +02:00 |
|
Hampus
|
3af43b3366
|
feat(api): add SEK, DKK and NOK as localized currencies (#2684)
|
2026-09-11 15:48:56 +02:00 |
|
Hampus
|
f708586c59
|
feat(api)!: always use localized pricing where it is offered (#2646)
|
2026-09-10 21:22:32 +02:00 |
|
Hampus
|
4a93b677af
|
feat(api): retire prices safely and add a self-serve switch (#2637)
|
2026-09-10 17:28:16 +02:00 |
|
Hampus
|
fbf0f6adfe
|
fix(app): load more bookmarks as the list scrolls (#2556)
|
2026-09-06 21:05:57 +02:00 |
|
Hampus
|
d07f520b13
|
fix(api)!: correct pagination and locking, drop toggle routes (#2505)
|
2026-09-06 15:31:13 +02:00 |
|
Hampus
|
f8a04b8985
|
fix(api)!: enforce declared rate limits and correct route auth (#2500)
|
2026-09-06 15:28:32 +02:00 |
|
Hampus
|
d5bfa5a73d
|
fix(api)!: align error codes with throw sites and image bounds (#2488)
|
2026-09-06 15:21:38 +02:00 |
|
Hampus
|
bec34ea147
|
fix(api)!: correct declared bounds and hide public bot mfa (#2485)
|
2026-09-06 15:06:15 +02:00 |
|
Hampus
|
ea93ef5352
|
fix(api): find every live route when generating openapi.json (#2484)
|
2026-09-06 14:54:21 +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
|
ab68b61653
|
refactor: remove the CTP_MEMBER user flag (#2465)
|
2026-09-05 01:13:34 +02:00 |
|
Hampus
|
3f1f899b23
|
fix(api): keep a deprecated nsfw field for older clients (#2463)
|
2026-09-04 23:08:34 +02:00 |
|
Hampus
|
51cb750502
|
feat(api): drop NSFW classification for emojis and stickers (#2462)
|
2026-09-04 22:55:58 +02:00 |
|
Hampus
|
16ae98e189
|
fix(auth): regenerate backup codes with the emailed challenge (#2436)
|
2026-09-03 21:29:16 +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
|
a74f1b0e7b
|
fix(ci): clear knip, refresh openapi, close kv schema race (#2409)
|
2026-09-02 18:12:48 +02:00 |
|
Hampus
|
ef8d1225b5
|
refactor(api): split webhook attachment schemas (#2268)
|
2026-08-31 19:13:51 +02:00 |
|