* fix: /bots/{bot}
Paths "/bots/{bot}" and "/bots/{target}" must not be equivalent.
Signed-off-by: Damocles078 <hellodamocles078@gmail.com>
* fix: /channels/{group_id}/recipients/{member_id}
Paths "/channels/{group_id}/recipients/{member_id}" and "/channels/{target}/recipients/{member}" must not be equivalent.
Signed-off-by: Damocles078 <hellodamocles078@gmail.com>
* fix: /channels/{channel_id}/webhook
Paths "/channels/{target}/webhooks" and "/channels/{channel_id}/webhooks" must not be equivalent.
Signed-off-by: Damocles078 <hellodamocles078@gmail.com>
* fix: /servers/{server_id}/members/{member_id}
Paths "/servers/{target}/members/{member}" and "/servers/{server}/members/{member}" must not be equivalent.
Signed-off-by: Damocles078 <hellodamocles078@gmail.com>
* fix: /custom/emoji/{emoji_id}
Paths "/custom/emoji/{id}" and "/custom/emoji/{emoji_id}" must not be equivalent.
Signed-off-by: Damocles078 <hellodamocles078@gmail.com>
---------
Signed-off-by: Damocles078 <hellodamocles078@gmail.com>
Signed-off-by: Damocles <106018783+Damocles078@users.noreply.github.com>
* feat: implement time based message sweep on user ban
- Adds `delete_message_seconds` (0 to 7 days in seconds) to the ban request payload.
Signed-off-by: arsabutispik <ispik@ispik.dev>
* refactor: pass ulid conversion to database
Signed-off-by: arsabutispik <ispik@ispik.dev>
* fix: use COL constant instead of hardcoded string in error mapper
Signed-off-by: arsabutispik <ispik@ispik.dev>
* refactor: broadcast bulk delete events during ban sweep
Updates the `delete_messages_by_author_since` trait to return a
HashMap of deleted message IDs grouped by channel.
The MongoDB implementation now uses a two-step process: it first
runs a projected `find` query to gather the target `_id` and
`channel` fields, then executes the `delete_many` operation.
This allows the ban route to loop through the affected channels and
dispatch `EventV1::BulkMessageDelete` WebSocket events, ensuring
that the swept messages are instantly removed from the UI for
all connected clients.
Signed-off-by: arsabutispik <ispik@ispik.dev>
* refactor: optimize message deletion by using $group and aggregate
Signed-off-by: arsabutispik <ispik@ispik.dev>
* refactor: use with_type in query
Signed-off-by: arsabutispik <ispik@ispik.dev>
* refactor: abstract function to Message model and mark attachments as deleted
Signed-off-by: arsabutispik <ispik@ispik.dev>
---------
Signed-off-by: arsabutispik <ispik@ispik.dev>
Updates user-facing links to point to the new organization. Does not
update references in source code (user-agent, dependency references),
as they should be handled separately.
Signed-off-by: sinus-x <14353790+sinus-x@users.noreply.github.com>
* Implement animated metadata TODOs for database and thumbnailing.
Signed-off-by: Assisting <erik@eriklabine.com>
* Run linter for code changes
Signed-off-by: Assisting <erik@eriklabine.com>
---------
Signed-off-by: Assisting <erik@eriklabine.com>
* fix: uname is missing from crond
Signed-off-by: IAmTomahawkx <iamtomahawkx@gmail.com>
* fix: don't use a bitop
lol, two of us missed that.
---------
Signed-off-by: IAmTomahawkx <iamtomahawkx@gmail.com>
DMs and group messages never triggered push notifications because
the condition only checked for explicit @mentions. DMs don't use
mentions, so users were never notified of new direct messages.
Signed-off-by: sanasol <mail@sanasol.ws>
* fix: Fix typo for p256dh in vapid notification flow
This commit was made without the use of generative AI.
Signed-off-by: Jacob Schlecht <dadadah@echoha.us>
* fix: Revert .clone() change as it works fine without that change
This commit was made without the use of generative AI.
Signed-off-by: Jacob Schlecht <dadadah@echoha.us>
---------
Signed-off-by: Jacob Schlecht <dadadah@echoha.us>
* feat: expose global and user limits in root API response
Signed-off-by: Chris Hultin <chris.hultin@gmail.com>
* add missing file upload limits
Signed-off-by: Chris Hultin <chris.hultin@gmail.com>
* extract logic to generate "UserLimits" struct from "config"
Signed-off-by: Chris Hultin <chris.hultin@gmail.com>
* convert user limits from feature limits function to impl function
Signed-off-by: Chris Hultin <chris.hultin@gmail.com>
* picking nits
Signed-off-by: Chris Hultin <chris.hultin@gmail.com>
---------
Signed-off-by: Chris Hultin <chris.hultin@gmail.com>
* Revert "fix: cut presence traffic too while we engineer a new events architecture (#561)"
This reverts commit 1f8ea963ad.
* Revert "fix: cut events traffic while we engineer a new events architecture (#559)"
This reverts commit a11986ba1a.
* chore: only revert user update