Commit Graph

19 Commits

Author SHA1 Message Date
Ske
1e8470e77f Potential quick fix for... something 2020-09-25 23:28:06 +02:00
Ske
c7612df37e Major database refactor (again) 2020-08-29 13:46:27 +02:00
Ske
59bbbab621 Handle cases where the channel webhook limit is already hit 2020-07-05 13:38:18 +02:00
Ske
c87e67245d Create GetXXX utils wrapping try blocks 2020-07-02 18:29:04 +02:00
Ske
ca882dba73 Add more performance metrics 2020-06-14 22:19:12 +02:00
Ske
3d69a00716 Fixed exceptions when fetching webhook list "sticking" in the cache
This happened because we cache Task instances, not the values, and a failed task is still a *valid* task that can repeatedly be awaited. This lead to the Task being saved even if it failed, and the same exception constantly being re-thrown.

This fix invalidates the cache if it finds a failed Task, and lets it retry fetching as normal (hopefully successfully this time).
2020-06-11 16:13:18 +02:00
Ske
23cf06df4c Port some things, still does not compile 2020-04-17 23:10:01 +02:00
Ske
474d561c54 Execute webhooks directly rather than through D.NET 2019-12-21 18:50:28 +01:00
Ske
6538c5d054 Fix line endings in WebhookCacheService 2019-10-27 13:09:07 +01:00
Ske
aed38f37f7 Allow starting bot before all shards are up 2019-10-27 13:01:33 +01:00
Ske
8396e17a87 Attempt to fix webhook invocation errors 2019-08-12 16:38:34 +02:00
Ske
145ecb91ad Refactor proxy service 2019-08-12 05:47:55 +02:00
Ske
17c8b7b765 Properly retry client creation on failure 2019-08-12 04:42:16 +02:00
Ske
5b13c1b100 Cache the entire webhook client rather than just the token 2019-08-12 04:32:01 +02:00
Ske
45f468fe21 Properly clean up after proxy operations 2019-07-21 04:27:04 +02:00
Ske
2620d2da9c Collect webhook cache statistics 2019-07-21 04:15:47 +02:00
Ske
a188c64a0e Clean up unused imports 2019-07-17 13:38:23 +02:00
Ske
ca56fd419b Fix various issues with proxying and webhook caching 2019-07-10 23:16:17 +02:00
Ske
08afa2543b Add member avatar edit command
This also refactors a large portion of the DI toolchain, since
I discovered that you shouldn't be reusing IDbConnection objects.

Instead, most services and stores are now declared transient, and
the webhook cache has been moved to a database-independent storage
singleton by itself.
2019-05-17 01:23:09 +02:00