diff --git a/PluralKit.Bot/Bot.cs b/PluralKit.Bot/Bot.cs index 61769203..17e99571 100644 --- a/PluralKit.Bot/Bot.cs +++ b/PluralKit.Bot/Bot.cs @@ -231,6 +231,8 @@ public class Bot if (_config.DisableErrorReporting) return; + if (!exc.ShowToUser()) return; + // Once we've sent it to Sentry, report it to the user (if we have permission to) var reportChannel = handler.ErrorChannelFor(evt, _config.ClientId); if (reportChannel == null) diff --git a/PluralKit.Bot/Utils/MiscUtils.cs b/PluralKit.Bot/Utils/MiscUtils.cs index 83b29878..6845d858 100644 --- a/PluralKit.Bot/Utils/MiscUtils.cs +++ b/PluralKit.Bot/Utils/MiscUtils.cs @@ -57,6 +57,13 @@ public static class MiscUtils // HTTP/2 streams are complicated and break sometimes. if (e is HttpRequestException) return false; + // This may expanded at some point. + return true; + } + + public static bool ShowToUser(this Exception e) + { + // Ignore "Database is shutting down" error if (e is PostgresException pe && pe.SqlState == "57P03") return false; @@ -71,7 +78,10 @@ public static class MiscUtils if (e is NpgsqlException npe && npe.Message.Contains("The connection pool has been exhausted")) return false; - // This may expanded at some point. + // ignore "Exception while reading from stream" + if (e is NpgsqlException npe2 && npe2.Message.Contains("Exception while reading from stream")) + return false; + return true; } } \ No newline at end of file