summary refs log tree commit diff
path: root/src (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Attempt 1 dev/openapi-improvementsRory&2025-10-1664-93/+94
|
* Implement applications/@meRory&2025-10-161-0/+115
|
* Switch from commonjs to nodenextRory&2025-10-151-0/+2
|
* Drop node-os-utilsRory&2025-10-151-22/+1
|
* More schema work, moved most stuff from entities to schemas, though messyRory&2025-10-1571-638/+753
|
* Reorganise schemas a little bitRory&2025-10-15220-584/+851
|
* Move schemas to separate moduleRory&2025-10-14143-21/+20
|
* Schema fixes, api bug fixRory&2025-10-142-4/+3
|
* app_id -> application_idRory&2025-10-141-0/+0
|
* Properly traverse result objectRory&2025-10-111-1/+3
|
* Try other way of querying?Rory&2025-10-111-5/+1
|
* Gateway: dont create user settingsRory&2025-10-111-3/+1
|
* Return defaults for missing {proto-,}settingsRory&2025-10-117-18/+39
|
* Try to fix duplicate user settingsRory&2025-10-112-1/+2
|
* More path fixesRory&2025-10-112-2/+2
|
* Update more path variablesRory&2025-10-114-14/+14
|
* Update path variablesRory&2025-10-1113-39/+39
|
* fix pathRory&2025-10-071-2/+2
|
* API: expose schemas.json and openapi.jsonRory&2025-10-071-50/+18
|
* Fix bad import, remove baseUrl from tsconfig to enable ts7 compatRory&2025-10-071-1/+0
|
* Try to fix sending messages with discord-goRory&2025-10-062-2/+3
|
* Fix nix, update admin api db modelsRory&2025-10-051-2/+2
|
* Merge remote-tracking branch 'origin/dev/admin-api'Rory&2025-10-054-46/+144
|\
| * Local changesEmma [it/its]@Rory&2025-10-053-7/+48
| |
| * Rewrite access tokens, initial admin apiEmma [it/its]@Rory&2025-10-052-45/+102
| |
* | Fix missing return statementRory&2025-10-041-1/+2
|/
* Fix importRory&2025-10-041-2/+2
|
* Templates, maybe?Rory&2025-10-041-99/+46
|
* Add sticker limitRory&2025-10-042-0/+13
|
* Fix missed mergeRory&2025-10-041-1/+2
|
* I guess it builds now?Rory&2025-10-044-16/+25
|
* Tests for extension methodsRory&2025-10-047-8/+201
|
* Fill in missing stuff from missing-native-js-functionsRory&2025-10-045-2/+50
|
* Unkown -> unkown (typo fix)Rory&2025-10-044-4/+4
|
* Clean up other extensionsRory&2025-10-042-5/+8
|
* Clean up array extensionsRory&2025-10-049-33/+75
|
* Add Array.remove extensionRory&2025-10-041-0/+12
|
* Add dotnet-ish Random classRory&2025-10-044-4/+79
|
* Drop dependency on missing-native-js-functionsRory&2025-10-0414-14/+0
|
* Implement sleep functionRory&2025-10-041-0/+11
|
* Move reporting menu to todoRory&2025-10-041-1/+2
|
* Config as classRory&2025-10-041-9/+9
|
* Attempt to vendor lambert-serverRory&2025-10-045-0/+350
|
* Fix ignored request schemasRory&2025-10-043-4/+47
|
* fix: getting invites for a channelCyberL12025-10-021-16/+3
|
* Log schema in validator?Rory&2025-10-011-2/+5
|
* Log schema name on errorRory&2025-10-011-1/+1
|
* Disable validation for JSON settings protos updateRory&2025-10-011-0/+3
|
* Safety hub workRory&2025-10-013-15/+195
|
* Send user settings proto in gateway ready, if one existsRory&2025-09-302-1/+13
|
* Implement fetching mutual friendsRory&2025-09-301-117/+124
|
* Pass mergeParams: true to new router calls due to express behavior changeRory&2025-09-30178-178/+178
|
* Fix some importsRory&2025-09-305-5/+5
|
* Remove mariadb support as it isnt maintained and hasnt worked in over a yearRory&2025-09-3070-748/+5
|
* Clean up unused importsRory&2025-09-3026-50/+19
|
* Copyright notices on email handlingRory&2025-09-306-3/+90
|
* Port MailJet transportRory&2025-09-303-55/+53
|
* Port MailGun transportRory&2025-09-305-59/+54
|
* Port SMTP transport, make nodemailer optionalRory&2025-09-305-89/+75
|
* Port SendGrid to new interfaceRory&2025-09-304-82/+128
|
* Silence, dotenv, we dont want your adsRory&2025-09-299-9/+11
|
* Drop @sentry/node (Sentry support) - untested and unusedRory&2025-09-2912-209/+3
|
* Update file-typeRory&2025-09-296-20/+20
|
* Fix column type on Message.pinned_atRory&2025-09-291-3/+2
|
* fix: make `pinned_at` column nullable (for real this time)CyberL12025-09-291-2/+2
|
* fix: make `pinned_at` column nullableCyberL12025-09-291-1/+1
|
* No error when message not foundRory&2025-09-291-1/+1
|
* No error when message not foundRory&2025-09-292-2/+2
|
* Also filter expired invites when returning invite listRory&2025-09-291-1/+1
|
* Delete expired invitesRory&2025-09-292-2/+17
|
* Add fetching guild profilesRory&2025-09-294-0/+165
|
* Set nick/pronouns to undefined if attempting to set to empty string. Fixes #1246Rory&2025-09-291-0/+2
|
* Maybe this tieRory&2025-09-292-1/+5
|
* Include attachmentsRory&2025-09-291-2/+5
|
* Oops, forgot to register extensionRory&2025-09-291-0/+4
|
* Polyfill referenced messageRory&2025-09-291-0/+12
|
* More relationsRory&2025-09-292-66/+20
|
* Add author and mentions relation to fetching messagesRory&2025-09-292-0/+7
|
* Actually set the referenced_message relation on new messagesRory&2025-09-291-1/+8
|
* Include referenced_message relation on GET /channel/.../messagesRory&2025-09-291-0/+1
|
* Null coalescing for file idRory&2025-09-291-3/+2
|
* Use default ID on file upload requestsRory&2025-09-292-1/+15
|
* Make cloud uploads workRory&2025-09-294-135/+116
|
* Logging of empty messagesRory&2025-09-292-2/+3
|
* meow???Rory&2025-09-292-2/+2
|
* Fix schemasRory&2025-09-291-1/+8
|
* Log validation errorsRory&2025-09-291-0/+5
|
* Try to handle new attachment style in message handlerRory&2025-09-291-0/+31
|
* Update message schema to handle cloud attachmentsRory&2025-09-293-7/+5
|
* Implement cloning cloud attachments into messagesRory&2025-09-294-3/+48
|
* Implment deleting cloud attachmentsRory&2025-09-292-3/+61
|
* Maybe end the request?Rory&2025-09-291-2/+2
|
* Add logging to cloud uploadsRory&2025-09-291-0/+5
|
* Fix uploads?Rory&2025-09-292-14/+29
|
* Fix upload filenameRory&2025-09-291-1/+1
|
* Fix ID referencesRory&2025-09-292-2/+26
|
* Add first half of cloud attachment uploadsRory&2025-09-2913-112/+377
|
* Fix schema for preload messagesRory&2025-09-291-3/+1
|
* Implement greetingRory&2025-09-296-1/+139
|
* Implement fetching DM messages by user IDRory&2025-09-299-65/+183
|
* Implement message preloadingRory&2025-09-296-2/+119
|
* Move to some etension methodsRory&2025-09-299-67/+123
|
* Channel: add helpers to calculate user permissions and determine channel ↵Rory&2025-09-291-8/+79
| | | | visibility
* Permissions: Add some constants for all or no permissionsRory&2025-09-291-0/+6
|
* Permissions: less magic numbersRory&2025-09-292-30/+10
|
* Fix traceRory&2025-09-291-1/+2
|
* Attempt to split up even more?Rory&2025-09-291-2/+103
|
* Attempt to reduce OOM chance by factoring out member->guild queriesRory&2025-09-291-108/+66
|
* Fix creating guildsRory&2025-09-291-72/+22
|
* Add endpoint implementationsRory&2025-09-294-0/+178
|
* Add schemas for collectiblesRory&2025-09-296-1/+273
|
* Screw off, telemetryRory&2025-09-291-0/+38
|
* Colorful rolesRory&2025-09-295-1/+57
|
* A little bit of formatting cleanupRory&2025-09-291-0/+2
|
* Initialise settings versionsRory&2025-09-291-16/+11
|
* Do settings versioningRory&2025-09-292-0/+10
|
* Oops, actually send the events to a user...Rory&2025-09-292-0/+2
|
* Emit USER_SETTINGS_PROTO_UPDATERory&2025-09-293-0/+37
|
* Merge in json representation of settings protosRory&2025-09-292-8/+38
|
* Make guild channels nullableRory&2025-09-291-8/+8
|
* Add new field to guild update schemaRory&2025-09-291-0/+1
|
* Release -> ClientReleaseRory&2025-09-294-5/+13
|
* Setting protos supportRory&2025-09-299-0/+664
|
* Nest query times for clarityRory&2025-09-291-10/+21
|
* Fix typoRory&2025-09-291-1/+1
|
* Update copyright date in pin endpointsRory&2025-09-292-2/+2
|
* Add tracing to IDENTIFYRory&2025-09-295-46/+129
|
* Add stopwatch/elapsedtime classesRory&2025-09-291-0/+115
|
* fix: use `createDateColumn()`CyberL12025-09-291-1/+2
|
* fix: don't set order for counting queriesCyberL12025-09-292-2/+0
|
* fix: set DESC orderCyberL12025-09-292-0/+4
|
* fix: update `pinned` column value in down migrationCyberL12025-09-291-0/+3
|
* refactor: don't use query builderCyberL12025-09-291-7/+3
|
* refactor: don't use query builderCyberL12025-09-292-21/+14
|
* fix: migrate older pinned messages to the new systemCyberL12025-09-291-0/+3
|
* refactor: add `pinned` getter to `Message` entityCyberL12025-09-293-2/+7
|
* refactor: use `pinned_at` to check if message is pinnnedCyberL12025-09-296-29/+39
|
* fix: getting message pinssCyberL12025-09-293-2/+31
|
* Remove @everyone role from `onIdentify`Zane Helton2025-09-291-1/+4
| | | | | | | | This prevents the @everyone role from leaking into places that might display it on the frontend. The @everyone role is still visible when needed, but `merged_members` (aka GuildMembers) won't include the role. Resolves: #1213
* add CONFIG_READONLY functionalityboogiewoogie2025-09-291-1/+3
|
* fix stupid bugMathMan052025-09-291-0/+2
|
* Update Identify.tsMathium052025-09-091-2/+15
|
* don't filter channelsMathium052025-09-091-12/+0
|
* prevent re-verifying emailPuyodead12025-09-051-1/+5
|
* fixes and minor changes for email stuffPuyodead12025-09-052-14/+16
|
* fix an issue with NO_AUTHENTICATE routesPuyodead12025-09-051-6/+17
|
* Add automod migrationRory&2025-07-272-1/+18
|
* More cleanupRory&2025-07-274-8/+14
|
* Some cleanupRory&2025-07-278-1439/+74
|
* Kitty stuff works nowEmma [it/its]@Rory&2025-07-273-59/+81
|
* WIP logo/terminal stuffEmma [it/its]@Rory&2025-07-2713-26/+1552
|
* Implement CRUD for automodEmma [it/its]@Rory&2025-07-276-3/+310
|
* add types to the ban api response objectsdank0742025-07-211-13/+24
|
* update guild bans apidank0742025-07-212-8/+77
|
* move dotenv.config() to top o filedank0742025-07-211-3/+2
|
* Merge pull request #1305 from ZaneH/feat/handle-github-webhookPuyodead12025-07-124-147/+724
|\ | | | | Implement GitHub-compatible webhook
| * Proxy avatar URL + adjust event logicZane Helton2025-06-291-17/+132
| | | | | | | | | | | | | | | | I've proxied the URLs with `getProxyUrl` specifying the size as 80x80. I've also adjusted the event logic so that unstarring doesn't trigger an alert and I've disabled the 'watch' event because Discord doesn't use it either.
| * Make tsc happy when using strings as Date in embedZane Helton2025-06-292-2/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | Validation on embeds has interesting behavior. Embeds have a `timestamp` property that is of type `Date`. However when providing a Date, `WebhookExecuteSchema` silently ends the operation. The resolution was to use strings and to annotate them with `// @ts-expect-error`. This was not my first choice, but it was the best option I saw. The other option is to allow `Embeds` to pass strings as a timestamp but I'd want a second opinion before making that change.
| * Refactor `/github` endpoint into it's own fileZane Helton2025-06-293-561/+577
| |
| * Capitalize `ref_type` when using in embedZane Helton2025-06-292-1/+12
| | | | | | | | | | | | | | | | | | The GitHub API provides `ref_type` as lowercase. For consistency, this adds a utility function and makes use of it when formatting the `create` event from GitHub. tag => Tag branch => Branch
| * Implement webhook handler for GitHubZane Helton2025-06-291-136/+551
| | | | | | | | | | | | I've created a middleware that runs when `/github` is appended to the webhook URL. The middleware parses the GitHub webhook and turns it into usable embeds.
* | Modern pins endpointsRory&2025-07-082-0/+195
| |
* | fix unbundled startup for webrtc, and enable eslintdank0742025-07-074-3/+8
| |
* | Add emoji source endpointRory&2025-07-073-0/+138
| |
* | Add endpoint to get account standingRory&2025-07-073-0/+97
| |
* | Add staff_only flag in guild create schemaRory&2025-07-071-0/+1
| |
* | Make time relative, oopsRory&2025-07-061-8/+8
| |
* | Log more identify timingsRory&2025-07-061-0/+29
| |
* | Add intent to event map as per discord docsRory&2025-07-061-0/+122
| |
* | Add map of privileged intentsRory&2025-07-061-1/+5
| |
* | Use binary flags for default intents in identifyRory&2025-07-061-1/+1
| |
* | Move erkinalp intents outRory&2025-07-061-0/+3
| |
* | Use discord names for intentsRory&2025-07-061-5/+5
| |
* | Add bitfield for discords privileged intentsRory&2025-07-061-0/+2
| |
* | Log gateway handling timeRory&2025-07-069-3/+47
| |
* | Silence duplicate url/path errors when signature objects are passed inRory&2025-07-061-4/+6
| |
* | Make CDN signature logging opt-in, log stack when both path and url are providedRory&2025-07-061-35/+51
| |
* | Fix CDN log prefix when fixing attachmentsRory&2025-07-061-3/+3
| |
* | PrettierRory&2025-07-069-75/+148
| |
* | Resolve eslint errorsRory&2025-07-062-6/+3
| |
* | Fix forgotten function signature changesRory&2025-07-063-5/+10
| |
* | Make IP/user-agent validation in CDN workRory&2025-07-0610-122/+264
| |
* | use prototype when signing messageEmma [it/its]@Rory&2025-07-061-1/+1
| |
* | sign urls in gatewayEmma [it/its]@Rory&2025-07-063-1/+21
| |
* | dont duplicate urlsEmma [it/its]@Rory&2025-07-061-2/+2
| |
* | include rest of attachment when signingEmma [it/its]@Rory&2025-07-061-0/+1
| |
* | sign attachment on sending messageEmma [it/its]@Rory&2025-07-061-1/+1
| |
* | Sign media per userEmma [it/its]@Rory&2025-07-066-11/+57
| |
* | Add ip?Emma [it/its]@Rory&2025-07-062-2/+1
| |
* | More loggingEmma [it/its]@Rory&2025-07-061-4/+16
| |
* | log signed ip addrEmma [it/its]@Rory&2025-07-061-0/+1
| |
* | Log signing errorsEmma [it/its]@Rory&2025-07-061-1/+9
| |
* | Add options to erquire IP or User Agent to access CDNEmma [it/its]@Rory&2025-07-066-26/+38
| |
* | Set trusted proxies in CDNEmma [it/its]@Rory&2025-07-061-0/+3
| |
* | Consistent request loggingEmma [it/its]@Rory&2025-07-062-0/+39
| |
* | Fix opcode 8Rory&2025-07-061-2/+7
| |
* | Fix typeorm queries no longer allowing empty where clausesEmma [it/its]@Rory&2025-07-062-12/+15
| |
* | Update some dependencies, fix nixEmma [it/its]@Rory&2025-07-026-11/+18
| |
* | Fix the fixMathMan052025-07-021-1/+1
| | | | | | this should actually be what's intended
* | Check for old password when setting newMathMan052025-07-021-1/+1
| | | | | | Checks for password
* | Fix the creation of guilds from templatesZane Helton2025-06-294-24/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The biggest hold-up was missing fields (`premium_tier`, `welcome_screen`, etc.) but it looks like someone has provided a helpful function called `createGuild(...)` to provide sensible default values. This commit fixes the errors related to creating a guild from a template. I've also refactored the code to include roles and channels in the template. To make sure that the @everyone role is cloned correctly, when creating the guild from a template, we check if the role's ID matches the template's `source_guild_id`. If it does, we set the @everyone role to the new guild's ID.
* | Set `premium_tier` to 0 when creating guild from templateZane Helton2025-06-291-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I think we'll need to discuss the proper way to provide default values here. `premium_tier` for example should never be provided from the template so it's fine going after the spread operator. This commit still doesn't allow guilds to be created from template because the next error is that `welcome_screen` doesn't exist. Our options: 1. Provide default values in the ORM 2. Provide default values in the guild creation process 3. Throw an error if the template is missing values Resolves: #1283 but creates a new issue
* | Await guild creation to fix a race conditionZane Helton2025-06-291-19/+18
| | | | | | | | | | | | | | `Promise.all(...)` runs these simultaneously, yet role depends on the guild to be created first. This can lead to a race condition. I've awaited role creation too because the call to `Member.addToGuild(...)` relies on the role to be created.
* | Fix PATCH Template route implementationZane Helton2025-06-291-6/+8
| | | | | | | | | | | | | | | | The previous PATCH implementation was creating a new template rather than editing the existing template. This resulted in all requests failing because it was missing more than one required field. Resolves: #1281
* | Make ban reason nullableZane Helton2025-06-291-1/+1
| | | | | | | | Resolves: #1276
* | Add OP to message.mentions when replied toZane Helton2025-06-291-1/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The `message.message_reference` stores: 1. `message_id` 2. `channel_id` 3. `guild_id` We use the `message_id` and `channel_id` to `.findOne(...)` Message, and find the author. If the author is the same as OP, we skip (so replying to yourself doesn't add you to the mentions array) otherwise, it adds the author_id to the mentions array. Resolves: #1247
* | Preserve reactions when a message is editedZane Helton2025-06-291-1/+3
|/ | | | Resolves #1241
* Properly filter existing embed linksZane Helton2025-06-291-8/+2
| | | | | | | | 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
* Change how GUILD_DELETE cleans up the listenerZane Helton2025-06-291-1/+1
| | | | | | | | Adding `this.events[id]?.()` cleans up the listener. I removed `opts.cancel()` because with it, the event had issues firing after the first time. Resolves: #1242
* Start fresh when updating embeds for linksZane Helton2025-06-281-8/+3
| | | | | | | | | | 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.
* Fix various issues with embeds on message updatesZane Helton2025-06-283-14/+125
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Add validation to date_of_birth registration fieldZane Helton2025-06-281-2/+16
| | | | Resolves: #1020
* update webrtc types packagePuyodead12025-06-254-7/+7
|
* add webrtc support (#1284)dank0742025-06-2247-770/+1213
| | | | Co-authored-by: MaddyUnderStars <46743919+MaddyUnderStars@users.noreply.github.com>
* send the real indexMathMan052025-05-281-1/+1
|
* code relies on things done in a certain orderMathMan052025-05-281-54/+50
| | | | This makes sure that the code gets done in the order that is expected
* remove missed logMathMan052025-05-281-1/+0
|
* sort array to make algorithm happyMathMan052025-05-281-1/+20
|
* fix another stupid bugMathMan052025-05-281-1/+1
|
* don't set possition if sentMathMan052025-05-281-1/+1
|
* remove logsMathMan052025-05-281-2/+0
|
* delete the null eaterMathMan052025-05-282-40/+2
|
* channel is nullable fixesMathMan052025-05-282-13/+22
|
* forgot to test on rebuildMathMan052025-05-281-0/+2
|
* fix moving channelsMathMan052025-05-281-1/+1
|
* Update attachments.tsPuyodead12025-05-031-2/+1
|
* Implement signed cdn urlsPuyodead12025-05-0310-13/+278
|
* fix op 8 handler for some discord librariesdank0742025-04-121-1/+8
|
* Merge pull request #1269 from dank074/patch/fix-missing-guildcreate-propertiesMadeline2025-04-121-5/+22
|\
| * revert back to original schema, but add missing `members`dank0742025-04-111-6/+19
| |
| * add type to make sure payload is consistent with other GUILD_CREATE eventdank0742025-04-091-1/+2
| |
| * fix missing properties in GUILD_CREATE for botsdank0742025-04-091-1/+4
| |
* | Merge pull request #1273 from dank074/patch/fix-members-listMadeline2025-04-125-0/+40
|\ \ | | | | | | add op handler for `GUILD_SUBSCRIPTIONS_BULK` message
| * | add ophandler for GuildSubscriptionsBulk messagedank0742025-04-125-0/+40
| |/
* / add `author` to query in pins APIdank0742025-04-091-0/+2
|/
* PrettierEmma [it/its]@Rory&2025-04-094-10/+12
|
* Fix dependenciesEmma [it/its]@Rory&2025-04-091-2/+4
|
* stupid fixMathMan052025-04-031-1/+1
|
* fix password reset bugMathMan052025-04-031-1/+1
| | | Not sure if this'll work, but made a pull so y'all could see the issue
* Validate Name for webhooks enforced moreroot2025-03-252-62/+3
|
* Added can_recover_account value to /api/policies/instance/configroot2025-03-251-0/+3
|
* Added better user configuration and removed extra loggingroot2025-03-255-13/+44
|
* Merge branch 'spacebarchat:master' into masterMunchy2025-03-241-0/+1
|\
| * acatually fix the embed issueMathMan052025-03-231-0/+1
| | | | | | This one added the line in the right spot, sorry about the previous one lol
* | Updated error message for empty webhook update bodyroot2025-03-242-2/+2
| |
* | Added Name Validation utility functionroot2025-03-245-32/+131
| |
* | Merge branch 'master' of https://github.com/spacebarchat/server into ↵root2025-03-234-26/+20
|\| | | | | | | update_webhooks
| * Merge pull request #1217 from SupremeMortal/fix/message-ackPuyodead12025-03-231-0/+3
| |\ | | | | | | Add missing fields to `MessageAcknowledgeSchema`
| | * Add missing fields to `MessageAcknowledgeSchema`SupremeMortal2024-09-151-0/+3
| | | | | | | | | | | | I'm not entirely sure what these fields do, but I've added them to make the client happy.
| * | Merge pull request #1205 from DEVTomatoCake/feat/dont-send-x-powered-byPuyodead12025-03-232-25/+13
| |\ \ | | | | | | | | Stop sending X-Powered-By & use API CORS + BodyParser middlewares in CDN