Hampus
|
e8cb167dbf
|
feat(premium): add App Store and Google Play purchases (#3052)
|
2026-09-30 01:55:19 +02:00 |
|
Hampus
|
4f968bbc47
|
feat(captcha): make ALTCHA the only captcha (#3035)
|
2026-09-29 17:00:15 +02:00 |
|
Hampus
|
d433a039b5
|
feat(profile): ship profile timezone to everyone (#3034)
|
2026-09-29 16:28:40 +02:00 |
|
Hampus
|
364084c819
|
refactor(api): emit moderation events and apply account actions (#3031)
|
2026-09-29 12:24:15 +02:00 |
|
Hampus
|
c488906131
|
feat(voice): ship noise suppression treatment to everyone (#3029)
|
2026-09-29 03:43:58 +02:00 |
|
Hampus
|
3736d94d73
|
feat(premium): let self-hosted instances sell premium and gifts (#3025)
|
2026-09-28 21:21:51 +02:00 |
|
Hampus
|
eaee820216
|
feat(experiments): target rollouts by guild and premium status (#3012)
|
2026-09-28 14:34:19 +02:00 |
|
Hampus
|
564c5ae164
|
feat(profile): move profile timezone from staff to an experiment (#3011)
|
2026-09-28 12:57:26 +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
|
a0825e77c4
|
feat(voice): ship the screen share delivery rework to everyone (#2931)
|
2026-09-24 14:57:40 +02:00 |
|
Hampus
|
5fde6eb484
|
feat(push): ring Android calls and harden the relay (#2915)
|
2026-09-24 00:07:15 +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
|
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
|
f32356801d
|
feat(api): make tor and breached password lookups opt-in (#2834)
|
2026-09-19 01:22:17 +02:00 |
|
Hampus
|
522cf08e61
|
feat(media-proxy): sign attachment URLs and gate origins (#2830)
|
2026-09-18 15:57:32 +02:00 |
|
Hampus
|
4cecbf1f43
|
fix(auth): disable TOTP with one code instead of two (#2816)
|
2026-09-17 04:21:50 +02:00 |
|
Tarek
|
f753659899
|
feat(instance): make the status page URL configurable (#1159)
|
2026-09-16 15:20:37 +02:00 |
|
Hampus
|
570c8776c4
|
fix(api): require manage messages to remove others' reactions (#2799)
|
2026-09-15 18:16:55 +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
|
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
|
69c42cff90
|
docs: reword vague sentences and fix wrong claims (#2760)
|
2026-09-14 15:18:53 +02:00 |
|
Hampus
|
a59b80ce11
|
docs(api): correct the synced preferences size limits (#2740)
|
2026-09-13 19:37:32 +02:00 |
|
Hampus
|
007f338823
|
feat(schema): add double tap reaction to synced preferences (#2739)
|
2026-09-13 18:47:21 +02:00 |
|
Hampus
|
7375ac9d80
|
docs: simplify the reference and tighten the verifier (#2736)
|
2026-09-13 17:38:50 +02:00 |
|
Hampus
|
156315fd5a
|
docs: drop exact counts that go stale when inventory changes (#2721)
|
2026-09-12 15:39:07 +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
|
e6ee3b8059
|
fix(api): only offer desktop builds whose release is published (#2670)
|
2026-09-11 13:17:41 +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
|
48b569b9d4
|
fix(api): harvest every authored message, not the first 100000 (#2631)
|
2026-09-09 11:52:55 +02:00 |
|