47 Commits

Author SHA1 Message Date
Zane Helton
9143c1d408 Refactor /github endpoint into it's own file 2025-06-29 10:46:16 -04:00
Zane Helton
81d4313631 Properly filter existing embed links
In a previous PR, I was checking if the `.url` property existed, the
correct fix is to remove any embed that isn't a rich embed
type (non-link).

See also: #1296
2025-06-29 08:39:42 +10:00
Zane Helton
184433b078 Start fresh when updating embeds for links
In a previous commit I was attempting to be clever by only
replacing/removing embeds if necessary. This not only made the logic
more confusing but introduced a bug that would allow for orphaned
embeds when updating the search params of a URL.

This commit will remove all embeds that have a `.url` property and start
fresh. This simplifies the code and eliminates the aforementioned bug.
2025-06-28 18:30:52 +10:00
Zane Helton
f9cfb46e73 Fix various issues with embeds on message updates
The `postHandleMessage` function is parsing links and adding them to the
EmbedCache table if necessary. In the previous implementation, message
updates would push to the embeds unconditionally.

This commit parses links from the message and:

1. Normalizes the URLs
  - Useful for deduplicating similar URLs
2. Remove embeds with matching normalized URLs
  - Leaves all embeds except for ones with a `.url` property matching
  the updated message
  - This allows embeds to be re-ordered if the URL is moved
3. If no normalized URLs are found, remove all embeds
4. Take the deduplicated + normalized URLs and add an embed to the message and
insert into the EmbedCache table (if necessary)

This enables:

1. Embeds to be re-ordered by re-ordering links
2. Embeds to be removed by removing links

and fixes:

1. Duplicate embeds being attached to a message when edited
2025-06-28 18:30:52 +10:00
MathMan05
5488874476 delete the null eater 2025-05-28 08:46:35 +02:00
Emma [it/its]@Rory&
168758924c Update some patches, switch to node-fetch-commonjs, more updates 2024-10-28 00:32:15 +01:00
TomatoCake
873107f90d Perms for GET webhook, url property 2024-07-18 15:16:50 +02:00
TomatoCake
15a2e57b05 Prettier & fix merge util/handlers/Message 2024-07-18 14:42:22 +02:00
TomatoCake
128b81bc6a Merge branch 'master' of https://github.com/DEVTomatoCake/spacebar-server into feat/webhooks-3 2024-07-18 14:41:14 +02:00
TomatoCake
6be3714593 Fix ESLint & prettier 2024-07-18 12:52:00 +02:00
TomatoCake
e7a98b6c46 webhook fixes & username/avatar property for msg 2024-07-18 12:42:07 +02:00
TomatoCake
d3ece937e6 Make channel ID optional when replying 2024-07-17 20:34:09 +10:00
Cyber
7698a15f03 fix: check for message components 2024-07-09 17:19:28 +02:00
Cyber
21579b11cd fix: poll message is not an empty message 2024-07-09 16:02:11 +02:00
TomatoCake
9b02e82614 Make poll a single object instead of an array 2024-07-09 22:58:10 +10:00
Madeline
35c9a09ea5
fix poll in msg create schema 2024-07-09 15:27:24 +10:00
TomatoCake
0ac8888d41 Don't embed links in <> 2024-07-04 09:41:46 +10:00
TomatoCake
9e1ec8a673
Ban API compat & Bulk Ban endpoint (#1120)
Co-authored-by: Madeline <46743919+MaddyUnderStars@users.noreply.github.com>
2024-06-05 15:19:30 +10:00
Puyodead1
1ce7879ee8
oapi: users progress 2023-04-13 15:38:52 -04:00
Puyodead1
0dc5b19bd8
gifs and query params 2023-04-13 15:24:37 -04:00
Puyodead1
6b3a3b750f
fixing lots of openapi crap 2023-04-13 15:20:10 -04:00
Puyodead1
3335f16ad1
applications 2023-04-13 15:00:32 -04:00
Puyodead1
a567ca3f51
auth routes 2023-04-13 14:58:53 -04:00
Madeline
095cbf7b20
Remove ALL fosscord mentions 2023-03-31 15:52:33 +11:00
Madeline
698ad90d3e
Revert "Merge pull request #1008 from spacebarchat/dev/samuel"
This reverts commit 69ea71aa9e0bd2e5a98904a66fba0ad3745707cb, reversing
changes made to 8b2faf0b18336e5dff1eeff4e849bcfd96b09e88.
2023-03-31 15:26:15 +11:00
Samuel (Flam3rboy)
69ea71aa9e
Merge pull request #1008 from spacebarchat/dev/samuel 2023-03-30 18:13:34 +02:00
Madeline
8b2faf0b18
SPACEBAR 2023-03-31 02:15:42 +11:00
Madeline
64e747a4d2
SPACEBAR 2023-03-31 02:05:02 +11:00
Samuel
7b00e99053 fix: use entity.save() instead of insert (needed for caching) 2023-03-18 04:13:04 +01:00
TheArcaneBrony
16f13616d2 Remove channel mentions from messages, in order to fix them in test client.
Signed-off-by: TheArcaneBrony <myrainbowdash949@gmail.com>
2023-02-20 05:09:57 +01:00
Madeline
084dc0be08 Add ESLint (#941)
* Add eslint, switch to lint-staged for precommit

* Fix all ESLint errors

* Update GH workflow to check prettier and eslint
2023-01-20 18:10:47 +11:00
Madeline
0e7f127ece Script to add license preamble to each file. Also, does that. (#935)
* Add script to automatically add license to each file

* Add license preamble to each file.

* Fix existing preamble detection breaking due to line endings. Git :(

* Prevent license from being added to code with other licenses
2023-01-18 13:05:49 +11:00
Madeline
dda70a66c9 Add an error log if embed handler fails, in addition to the existing sentry log 2023-01-15 16:21:46 +11:00
Madeline
df449169bd Prettier 2023-01-05 17:16:55 +11:00
Madeline
bf420aac32 Remove Discord oauth login support 2022-12-17 19:41:49 +11:00
Madeline
e991e00f32 Move src-slowcord to own repo https://github.com/MaddyUnderStars/slowcord-services 2022-10-28 15:25:58 +11:00
Madeline
b2aac3eed7 embed fail 2022-10-05 16:10:24 +11:00
Madeline
7db5c02189 capture exception in sentry for embed processing 2022-10-04 15:43:01 +11:00
Madeline
c885fd5503 Embed cache 2022-10-03 23:50:34 +11:00
Madeline
69ff9c944c Twitter embeds 2022-10-03 23:38:53 +11:00
Madeline
e18af893f6 Better embed handling 2022-10-01 14:44:32 +10:00
Madeline
835a5ab3a3 Fix fetching members for roles in POST message 2022-09-29 21:29:54 +10:00
Madeline
357aada969 Prevent URL embedding and mentions when in codeblock 2022-09-29 15:53:13 +10:00
Madeline
ff28c95f2a Fix message editing 2022-09-27 23:02:43 +10:00
Madeline
99ee7e9400 Prettier 2022-09-26 22:41:21 +10:00
Madeline
849b257db7 Move schemas to /src/util/schemas 2022-09-26 22:08:14 +10:00
Madeline
f44f5d7ac2 Refactor to mono-repo + upgrade packages 2022-09-25 23:35:18 +10:00