Commit Graph

96 Commits

Author SHA1 Message Date
spiral
be89f907a0
feat: block running commands / proxying when system is being deleted
Large systems take way too long to delete, which causes any insert for that system to block a connection, which exhausts the connection pool
2022-03-23 21:32:18 -04:00
spiral
ae543b9c18
feat: fetch from REST instead of cache for cross-cluster lookups 2022-03-09 20:06:53 -05:00
spiral
078b5a5bcd
feat: log error when globally ratelimited 2022-02-26 16:28:28 -05:00
spiral
32a73eef09
feat: update to Discord API v10 2022-02-26 16:28:20 -05:00
spiral
47e501da81
fix: update guild cache on GUILD_UPDATE event 2022-02-04 14:54:56 -05:00
spiral
b6a160caef
feat: log full Discord error body 2022-01-26 06:21:19 -05:00
spiral
89c44a3482
feat: cache Discord DM channels in database 2022-01-22 02:47:47 -05:00
spiral
c6e4c862b8
feat: update Discord status only on identify
See <https://github.com/discord/discord-api-docs/issues/4073#issuecomment-1016762755>

We still update status when restarting cluster, because it doesn't really matter if the session dies in that case (we're already restarting / going to reidentify)
2022-01-20 05:52:40 -05:00
spiral
426d753827
feat: tweak durations in Redis gateway ratelimiter 2022-01-19 18:01:42 -05:00
spiral
a16903037f
fix: don't try to re-send stickers and activity invites 2022-01-14 23:22:12 -05:00
spiral
50a24f03a7
refactor: only pass shard ID to event handlers instead of full shard object 2022-01-14 18:39:03 -05:00
spiral
47e15e3acb
feat: add a couple missing Discord types 2022-01-13 12:28:44 -05:00
spiral
2aead40449
feat: add Redis identify ratelimiter 2022-01-13 12:26:25 -05:00
spiral
22feedd5dc
Revert "feat: query identify ratelimiter when identifying instead of when connecting websocket"
This reverts commit 5627fa9864.
2022-01-08 09:08:32 -05:00
spiral
5627fa9864
feat: query identify ratelimiter when identifying instead of when connecting websocket 2021-12-26 01:46:25 -05:00
spiral
40acd9370c
feat: lower timeout in twilight gateway ratelimiter 2021-12-26 01:42:47 -05:00
spiral
9ab1a873e5
feat: log shard ID in ShardConnection logs 2021-12-23 22:46:38 -05:00
spiral
fc5825a941
fix twilight gateway ratelimiter 2021-12-23 22:02:45 -05:00
Ske
92e638613f
Force HTTP/1.1 for now 2021-12-23 21:23:43 -05:00
spiral
04d78e3348
refactor: remove some unused code 2021-11-26 21:14:09 -05:00
spiral
1918c56937
feat: upgrade to .NET 6, refactor everything 2021-11-26 21:10:56 -05:00
spiral
7a5ba8246e
refactor: cache own user ID in IDiscordCache
- remove Cluster.User
- remove Cluster.Application (it was only being used as an alternative to Cluster.User for some reason)
- move Bot.PermissionsIn to DiscordCacheExtensions
2021-11-21 19:42:35 -05:00
spiral
24ac0725af
refactor: move guildMember caching to IDiscordCache 2021-11-21 12:06:08 -05:00
spiral
0ca356eec3
feat: add support for attachment descriptions 2021-11-19 09:34:52 -05:00
spiral
923ad100e5
lint 2021-11-19 07:57:01 -05:00
spiral
0efaab6d95
refactor: don't use 'out' in IDiscordCache methods
this change is required for async cache (.NET doesn't support async ref/out params)
2021-11-18 13:11:02 -05:00
spiral
e7f36eb31f
feat: async cache
this breaks logging bot permissions to Sentry.

we haven't had a need to check those recently (permissions issues were because of broken cache), so this is fine for now
this should be re-added in the future though
2021-11-17 20:41:02 -05:00
spiral
48d4009c69
fix: fix reporting Discord response metrics to influxdb 2021-11-09 02:19:31 -05:00
spiral
38cbca1b34
feat: respect guild boost file size limit when re-sending attachments 2021-11-04 14:13:43 -04:00
spiral
21e3e61db0
fix: correctly handle missing role cache in message embed 2021-11-02 22:36:14 -04:00
spiral
08c5b78cc2
fix: don't show discord URL tokens in logs 2021-11-02 05:44:47 -04:00
spiral
b430446171
feat: specify custom Discord base URL
for use with twilight_http_proxy or similar
2021-11-02 05:36:53 -04:00
spiral
14b0e98791
feat: remove DiscordRequestObserver 2021-11-02 05:34:17 -04:00
spiral
fb4aaad19f
lint 2021-09-26 22:50:08 -04:00
spiral
db5fae0fb4
feat: edit messages in threads 2021-09-24 19:03:40 -04:00
Ske
b9d090d8cf Don't hang shard startup for too long 2021-09-07 02:21:46 +02:00
Ske
6dfc937257 Attempted fix for concurrent shard startup 2021-09-07 02:17:41 +02:00
spiral
ac2671452d
run dotnet format 2021-08-27 11:03:47 -04:00
Ske
1aa4cbf3d8 Use docs-compliant user agent again 2021-08-23 22:55:21 +02:00
Ske
41427db178 Use a proper user agent when fetching images 2021-08-23 22:53:58 +02:00
spiral
55c56c4e58
oops, actually check guild permissions as well in channel EveryonePermissions 2021-08-15 01:04:04 -04:00
spiral
4c97a9daf6
hopefully a fix for #384 2021-08-15 00:50:31 -04:00
spiral
4761804082
add channel-specific EveryonePermissions 2021-08-15 00:38:37 -04:00
Ske
0b0ea5af1c Only hang shard startup until sending identify 2021-08-12 09:05:02 +02:00
Ske
8de6960335 Add HTTP timeout/retry to Twilight rate limiter 2021-08-12 08:59:48 +02:00
spiral
28bcb35bb2
fix cache error on system messages 2021-08-02 16:18:39 -04:00
spiral
def39b7bc5
fix interactions in DMs 2021-07-28 01:55:06 -04:00
Ske
1f2b9f998d Preliminary support for APIv9 and threads 2021-07-15 12:41:19 +02:00
Astrid
467d0746bd
Merge pull request #368 from spiralw/feat/yes-no-buttons
Use buttons for all yes/no prompts
2021-07-14 18:26:00 +02:00
spiral
889e1a8331
Don't kill the gateway session when trying to resume
Sending a close code of 1000 or 1001 invalidates gateway sessions.
Instead, we use close code 1005 (no error specified)
2021-07-08 09:19:44 -04:00