1660 Commits

Author SHA1 Message Date
stoat-release[bot]
18b6564658 chore(deps): update rust crate log to v0.4.35 (#1084)
Co-authored-by: stoat-release[bot] <245062572+stoat-release[bot]@users.noreply.github.com>
2026-10-30 17:08:19 -07:00
stoat-release[bot]
e4b6d758f5 chore(deps): update rust crate lapin to v4.12.3 (#1063)
Co-authored-by: stoat-release[bot] <245062572+stoat-release[bot]@users.noreply.github.com>
2026-10-30 17:07:25 -07:00
stoat-release[bot]
ad7840a418 chore(deps): update pnpm to v10.34.9 (#1081)
Co-authored-by: stoat-release[bot] <245062572+stoat-release[bot]@users.noreply.github.com>
2026-10-30 14:54:49 -07:00
stoat-release[bot]
7eb89e1f89 chore(deps): update rust crate tokio-util to v0.7.20 (#1074)
Co-authored-by: stoat-release[bot] <245062572+stoat-release[bot]@users.noreply.github.com>
2026-10-30 14:53:08 -07:00
stoat-release[bot]
4a6799ed38 chore(deps): update rust crate async-recursion to v1.2.0 (#1082)
Co-authored-by: stoat-release[bot] <245062572+stoat-release[bot]@users.noreply.github.com>
2026-10-30 14:52:10 -07:00
stoat-release[bot]
56f41d160c chore(deps): update rust crate encoding_rs to v0.8.44 (#1079)
Co-authored-by: stoat-release[bot] <245062572+stoat-release[bot]@users.noreply.github.com>
2026-10-30 14:51:24 -07:00
Tom
76fcb04c6f fix: check both hash and processed hash when deleting files. (#1076)
Change-Id: I99a8042440a3732ee0d88c67a92e51a459be1ae3

Signed-off-by: IAmTomahawkx <iamtomahawkx@gmail.com>
2026-10-30 23:08:57 +03:00
stoat-release[bot]
4b81382851 chore(deps): update rust crate lazy_static to v1.5.1 (#1064)
Co-authored-by: stoat-release[bot] <245062572+stoat-release[bot]@users.noreply.github.com>
2026-10-29 14:13:08 -07:00
stoat-release[bot]
b4ce97e47f chore(deps): update rust crate serde_json to v1.0.154 (#1065)
Co-authored-by: stoat-release[bot] <245062572+stoat-release[bot]@users.noreply.github.com>
2026-10-29 14:11:53 -07:00
stoat-release[bot]
311da7617d chore(deps): update rust crate thiserror to v2.0.21 (#1066)
Co-authored-by: stoat-release[bot] <245062572+stoat-release[bot]@users.noreply.github.com>
2026-10-29 14:11:23 -07:00
İspik
d59aeeca06 fix: Enforce image sizes config in autumn (#1067)
Signed-off-by: İspik <ispik@ispik.dev>
2026-10-29 11:51:09 -07:00
İspik
883d449f9a fix: add oembed generation to gifbox (#1045)
Signed-off-by: İspik <ispik@ispik.dev>
2026-10-28 14:27:53 -07:00
Dmytro Rymar
6e4fc998df feat(pushd): make the APNs topic configurable (#1056)
pushd sent every APNs notification with the hardcoded topic "chat.revolt.app", so a self-hosted instance could not deliver pushes to its own iOS app.
Read it from pushd.apn.topic, defaulting to the previous value.

Closes #1055

Signed-off-by: Dmytro Rymar <2586810+drymar@users.noreply.github.com>
2026-10-22 19:40:15 +00:00
Sophie L
5c89e1d618 fix(webhooks): unbreak links in GitHub "issue reopened" messages (#1033)
the properties were the wrong way round, which lead to the link being "[issue URL](title)"; this broke the link.

this commit also fixes a typo in the team struct.

Signed-off-by: Rexogamer <beartechtalks@gmail.com>
2026-10-22 12:29:32 -07:00
İspik
e981e8685b fix: roles not updating with the owner ID (#1054)
Signed-off-by: İspik <ispik@ispik.dev>
2026-10-22 12:14:06 -07:00
Aki
4b9047bfd5 fix: allow joining discoverable servers by ID (#1048)
Signed-off-by: Aki <aki@akiworks.xyz>
2026-10-19 10:34:17 -07:00
Paul Makles
0735ada206 fix: validate create invite body & make body optional (#1040)
Change-Id: I306e66a03f3d4e8657cd9d9aa17ae65adde86223

Signed-off-by: izzy <me@insrt.uk>
2026-10-15 13:58:41 +01:00
Paul Makles
416562b20d ci: tighten triggers for publish (#1041)
Change-Id: I6e6ec4261c32a6fd2ee13c6a26c5dfdc9d664967

Signed-off-by: izzy <me@insrt.uk>
2026-10-15 13:58:30 +01:00
Paul Makles
198335429d ci: create notes on release prepare (#1039)
Signed-off-by: izzy <me@insrt.uk>
2026-10-14 22:59:15 +01:00
stoat-release[bot]
8d93de5974 chore(release): 0.16.0 v0.16.0 2026-10-14 20:35:04 +00:00
Paul Makles
319b739eb9 ci: delete Gerrit workflows for now (#1038)
Signed-off-by: izzy <me@insrt.uk>
2026-10-14 21:33:47 +01:00
Paul Makles
518fc60626 ci: adopt GH release pattern like Immich, import tasks back in (#1037)
Signed-off-by: izzy <me@insrt.uk>
2026-10-14 21:31:33 +01:00
Paul Makles
9046651a95 chore: update maintainer entry on crates (#1036)
Signed-off-by: izzy <me@insrt.uk>
2026-10-14 21:28:37 +01:00
izzy
dc3937c402 fix: skip unversioned crates when selecting version
Change-Id: I142ed32325a8ee127e4cb37bbc2482a90f503af7
Signed-off-by: izzy <me@insrt.uk>
Reviewed-on: https://gerrit.stoatinternal.com/c/stoatchat/+/251
Tested-by: Paul Makles <insert@stoat.chat>
Reviewed-by: Paul Makles <insert@stoat.chat>
2026-10-13 19:10:30 +00:00
izzy
d0fdf3934b fix: use precompiled cargo edit
Change-Id: I274c9224d7c6cb879a8e46d2f7c7e6ee71446a1e
Signed-off-by: izzy <me@insrt.uk>
Reviewed-on: https://gerrit.stoatinternal.com/c/stoatchat/+/247
Tested-by: insert <insert@stoat.chat>
Reviewed-by: insert <insert@stoat.chat>
2026-10-13 18:23:42 +00:00
izzy
fe348db834 feat: opentelemetry crate and files/autumn integration (#499)
Signed-off-by: izzy <me@insrt.uk>
GitHub-Pull-Request: https://github.com/stoatchat/stoatchat/pull/499
Change-Id: If576743ccf6c7bea288a4ebb3fc485708cd21b51
Reviewed-on: https://gerrit.stoatinternal.com/c/stoatchat/+/201
Tested-by: Stoat Code Review <code-review@stoat.chat>
Reviewed-by: insert <insert@stoat.chat>
2026-10-13 18:22:38 +00:00
izzy
3bfb8de24c ci: add rc warning to release description
Change-Id: I315cdb78b7433a0253442f25582f403e9c3af355
Signed-off-by: izzy <me@insrt.uk>
Reviewed-on: https://gerrit.stoatinternal.com/c/stoatchat/+/246
Tested-by: insert <insert@stoat.chat>
Reviewed-by: insert <insert@stoat.chat>
2026-10-13 18:11:07 +00:00
izzy
0d22eedbab ci: use tag body as release
Change-Id: I7876ee7174df224ca060eb4e4e1103630ab31276
Reviewed-on: https://gerrit.stoatinternal.com/c/stoatchat/+/245
Reviewed-by: insert <insert@stoat.chat>
Tested-by: insert <insert@stoat.chat>
2026-10-13 17:59:38 +00:00
izzy
4f6072c91c chore(release): 0.16.0-rc.0
Change-Id: I56c06adba02e8015f76847bfa5906da5e0aff250
Signed-off-by: izzy <me@insrt.uk>
Reviewed-on: https://gerrit.stoatinternal.com/c/stoatchat/+/241
Reviewed-by: insert <insert@stoat.chat>
Tested-by: insert <insert@stoat.chat>
Tested-by: Stoat Code Review <code-review@stoat.chat>
v0.16.0-rc.0
2026-10-13 17:52:42 +00:00
izzy
1df449f9d2 ci: bridge Gerrit tag releases to GitHub
Change-Id: Ic59625bbddc3587b629f01fc5262270eb3af018d
Reviewed-on: https://gerrit.stoatinternal.com/c/stoatchat/+/243
Reviewed-by: insert <insert@stoat.chat>
Tested-by: insert <insert@stoat.chat>
2026-10-13 17:49:43 +00:00
izzy
3a686e712b ci: configure tests with zuul
Change-Id: Idc12626b86f2011259acd97c4d69c79f910fb12d
Reviewed-on: https://gerrit.stoatinternal.com/c/stoatchat/+/227
Tested-by: Zuul
Reviewed-by: insert <insert@stoat.chat>
2026-10-12 22:45:28 +00:00
izzy
442a6197cd chore: add .editorconfig (yaml only for now)
Change-Id: Iaac0fe625cba9354db9521fd06f9be7a21a3bedb
Reviewed-on: https://gerrit.stoatinternal.com/c/stoatchat/+/183
Reviewed-by: insert <insert@stoat.chat>
Tested-by: insert <insert@stoat.chat>
2026-10-12 18:56:33 +00:00
izzy
4ddbd46e1a ci: fix gerrit mirror
Change-Id: Ia41a8e593d40acfd03d3b3b6e42fa280020e5275
Reviewed-on: https://gerrit.stoatinternal.com/c/stoatchat/+/182
Reviewed-by: insert <insert@stoat.chat>
Tested-by: insert <insert@stoat.chat>
2026-10-12 18:55:58 +00:00
insert
088e85e730 Merge "ci: github to gerrit PR lifecycle" into main 2026-10-12 18:51:33 +00:00
izzy
4b8b571906 ci: github to gerrit PR lifecycle
Change-Id: Ia8a3f8b759e9f15b457b285faf33761c8fb9f67f
Signed-off-by: izzy <me@insrt.uk>
2026-10-12 19:33:57 +01:00
Tom
3938ca5d50 feat: Fix twitter embeds via fxtwitter api (#1016)
* feat: Fix twitter embeds via fxtwitter api

Signed-off-by: IAmTomahawkx <iamtomahawkx@gmail.com>

* fix: external platform name

Signed-off-by: IAmTomahawkx <iamtomahawkx@gmail.com>

* fix: management said no

Signed-off-by: IAmTomahawkx <iamtomahawkx@gmail.com>

* chore: please the peanut gallery

Signed-off-by: IAmTomahawkx <iamtomahawkx@gmail.com>

* fix: misc fixes

Signed-off-by: IAmTomahawkx <iamtomahawkx@gmail.com>

---------

Signed-off-by: IAmTomahawkx <iamtomahawkx@gmail.com>
2026-10-10 12:03:33 -07:00
en
ab4cd74c09 test(delta): add unit tests for webhook creation and fetching (#1007)
* test(delta): add unit tests for webhook creation and fetching

Signed-off-by: en <54501296+2hexed@users.noreply.github.com>

* fix(tests): correct test module structure and remove duplicate imports

Signed-off-by: en <54501296+2hexed@users.noreply.github.com>

---------

Signed-off-by: en <54501296+2hexed@users.noreply.github.com>
Co-authored-by: Tom <iamtomahawkx@gmail.com>
2026-10-10 10:47:14 -07:00
İspik
490b0c4156 feat: add information fields to public bots (#1030)
* feat: add information fields to public bots

Signed-off-by: İspik <ispik@ispik.dev>

* fix: default_permissions not actually being applied

Signed-off-by: İspik <ispik@ispik.dev>

---------

Signed-off-by: İspik <ispik@ispik.dev>
2026-10-10 10:45:34 -07:00
Tom
ff5845d01d feat: Use new shield URL (#1018)
* Use new shield URL

Signed-off-by: IAmTomahawkx <iamtomahawkx@gmail.com>

* fix: fix libdav1d in publish ci

Signed-off-by: IAmTomahawkx <iamtomahawkx@gmail.com>

---------

Signed-off-by: IAmTomahawkx <iamtomahawkx@gmail.com>
2026-10-02 13:02:33 -07:00
en
716dd0ce0f feat(nix): migrate to flake and remove default.nix (#1019)
Signed-off-by: en <54501296+2hexed@users.noreply.github.com>
2026-10-02 13:02:13 -07:00
İspik
2f3802fe0d feat: add assets route to root payload (#1021)
Signed-off-by: İspik <ispik@ispik.dev>
2026-09-25 14:47:04 -07:00
Erik LaBine
3c117d5a6b fix(group): Prevent bots being assigned ownership of group (#1015)
* Add check on group owner change to deny bots as new owner. Add tests. Add new_bot helper.

Signed-off-by: Assisting <erik@eriklabine.com>

* reading function signatures is cool

Signed-off-by: Assisting <erik@eriklabine.com>

* cleanup import

Signed-off-by: Assisting <erik@eriklabine.com>

* Simplify new group owner db fetch

Co-authored-by: Tom <iamtomahawkx@gmail.com>
Signed-off-by: Erik LaBine <erik@eriklabine.com>

* Try swapping registry to Google's mirror

Signed-off-by: Assisting <erik@eriklabine.com>

---------

Signed-off-by: Assisting <erik@eriklabine.com>
Signed-off-by: Erik LaBine <erik@eriklabine.com>
Co-authored-by: Tom <iamtomahawkx@gmail.com>
2026-09-24 13:32:29 -07:00
Aki
dab66c1625 fix: enforce UseExternalEmojis permission on message reactions (#1012)
* fix: enforce UseExternalEmojis permission on message reactions

Signed-off-by: Aki <aki@akiworks.xyz>

* refactor: reuse permission query and extract foreign emoji check

Signed-off-by: Aki <aki@akiworks.xyz>

---------

Signed-off-by: Aki <aki@akiworks.xyz>
2026-09-24 13:30:14 -07:00
stoat-release[bot]
ae69b65519 chore(deps): update rust crate lapin to v4.12.0 (#997)
Co-authored-by: stoat-release[bot] <245062572+stoat-release[bot]@users.noreply.github.com>
2026-09-21 18:05:45 -07:00
Tom
21052df7a8 feat: Dual write events to redis and amqp (#1008)
* feat: publish events over amqp

Signed-off-by: Zomatree <me@zomatree.live>

* fix: update events

Signed-off-by: Zomatree <me@zomatree.live>

* chore: update channels for gateway

* fix: don't delete logging

* feat: broadcast events

Signed-off-by: Zomatree <me@zomatree.live>

* feat: send events as etf over rmq

Signed-off-by: Zomatree <me@zomatree.live>

* chore: dual-write to redis using legacy channel format

Signed-off-by: Rodrigo Rocha <twitch@twitch.dance>

* fix: create AMQP instance for events

Signed-off-by: Rodrigo Rocha <twitch@twitch.dance>

* fix: initalise AMQP for tests

Signed-off-by: Rodrigo Rocha <twitch@twitch.dance>

* fix: send GDM channel events to the correct channel

Signed-off-by: Rodrigo Rocha <twitch@twitch.dance>

* fix: declare exchange in tests

Signed-off-by: Rodrigo Rocha <twitch@twitch.dance>

* fix: declare exchange within amqp client - i may be stupid

Signed-off-by: Rodrigo Rocha <twitch@twitch.dance>

* fix(tests): Add exchange declare fix to revolt-database macro (#1010)

Add exchange declare fix to revolt-database macro

Signed-off-by: Assisting <erik@eriklabine.com>

* chore: revert exchange declaration for another branch

Signed-off-by: Rodrigo Rocha <twitch@twitch.dance>

---------

Signed-off-by: Zomatree <me@zomatree.live>
Signed-off-by: Rodrigo Rocha <twitch@twitch.dance>
Signed-off-by: Assisting <erik@eriklabine.com>
Co-authored-by: Zomatree <me@zomatree.live>
Co-authored-by: RR <twitch@twitch.dance>
Co-authored-by: Erik LaBine <erik@eriklabine.com>
2026-09-21 18:04:40 -07:00
İspik
2573699f08 feat: invite expiry and max use limit (#986)
* feat: invite expiry and max use limit

Signed-off-by: İspik <ispik@ispik.dev>

* fix: validate values in models

Signed-off-by: İspik <ispik@ispik.dev>

* fix: review points

Signed-off-by: İspik <ispik@ispik.dev>

* fix: forgot to push this

Signed-off-by: İspik <ispik@ispik.dev>

* refactor: put the expiry checks on database

Signed-off-by: İspik <ispik@ispik.dev>

* fix: DRY

Signed-off-by: İspik <ispik@ispik.dev>

* fix: I swear I removed them

Signed-off-by: İspik <ispik@ispik.dev>

* fix: Why are you stored in i64 also tests

Signed-off-by: İspik <ispik@ispik.dev>

* fix: tests

Signed-off-by: İspik <ispik@ispik.dev>

---------

Signed-off-by: İspik <ispik@ispik.dev>
2026-09-19 10:32:18 -07:00
Erik LaBine
eca6ffd7e4 fix(compose): Swap MinIO to Silo (#1005)
* Swap docker for quay on minio/mc

Signed-off-by: Assisting <erik@eriklabine.com>

* update compose to Silo

Signed-off-by: Erik LaBine <erik@eriklabine.com>

* Add the Silo startup command from their example compose

Signed-off-by: Assisting <erik@eriklabine.com>

* Remove :latest tag from Mongo (my version of the Linux kernel was complaining >_>)

Signed-off-by: Assisting <erik@eriklabine.com>

---------

Signed-off-by: Assisting <erik@eriklabine.com>
Signed-off-by: Erik LaBine <erik@eriklabine.com>
2026-09-18 14:58:20 -07:00
İspik
5f9e82f18c feat: bot roles with permissions upon joining a server (#883)
* feat: bot roles with permissions upon joining a server

Signed-off-by: İspik <ispik@ispik.dev>

* fix: remove Owner from FieldsRole

Signed-off-by: İspik <ispik@ispik.dev>

* fix: put back the openapi description

Signed-off-by: İspik <ispik@ispik.dev>

* feat: delete roles from all servers when the bot gets deleted

Signed-off-by: İspik <ispik@ispik.dev>

* refactor: pass deletion of roles to delete helper

Signed-off-by: İspik <ispik@ispik.dev>

* fix: remove unused import

Signed-off-by: İspik <ispik@ispik.dev>

---------

Signed-off-by: İspik <ispik@ispik.dev>
Co-authored-by: Tom <iamtomahawkx@gmail.com>
2026-09-16 21:53:43 -07:00
İspik
2e03051cc4 feat: permissions to block external emojis (#926)
* feat: permissions to block external emojis

Signed-off-by: İspik <ispik@ispik.dev>

* fix: use create_database_error instead

Signed-off-by: İspik <ispik@ispik.dev>

* fix: apparently there is a better way, 53.

Signed-off-by: İspik <ispik@ispik.dev>

---------

Signed-off-by: İspik <ispik@ispik.dev>
2026-09-16 21:48:09 -07:00
Tom
2825481070 fix: Actually update permissions for webhooks (#1003)
Signed-off-by: IAmTomahawkx <iamtomahawkx@gmail.com>
2026-09-16 21:47:16 -07:00