Icon deprecation warnings causing rate limiting issues

AI-generated summary

Icon Deprecation Warnings Causing Rate Limiting Issues

The discussion revolves around the issue of “FA icon deprecation” warnings causing 429 rate limit errors. RGJ initially reports seeing many of these warnings from themes and plugins, which can be difficult to fix. The warnings are causing rate limiting issues and filling logs with errors.

@outofthebox and @WorldIsMine confirm the issue, with the latter noting that even liking posts quickly can cause 429 errors. However, pmusaraj points out that the icon deprecation warnings are already rate-limited, thanks to a commit by @david. They suggest replacing the deprecated icons to remove log entries and post requests to /logs.

RJG further investigates the issue and finds that Logster rate-limits the warnings even further, resulting in 429 errors when there are multiple deprecation warnings in a single page load. This can cause deprecation warnings to get lost, making the /logs tool less valuable.

We’re seeing more and more of this lately:

Themes and plugins are causing lots of “FA icon deprecation” warnings:

and I have seen two different kind of responses to this: “don’t worry it’s just a warning” and “if you want to get rid of them, just fix the theme or plugin” (which is not always easy).

So, let’s just ignore those warnings. Or… as it turns out… these warnings are frequently causing 429 rate limit errors and our logs are full of

Would it be possible to well, rate limit those warnings on the client, so they don’t trigger all those requests? Or exempt POST /logs/ from rate limiting?

Tagging @outofthebox @WorldIsMine

Thanks @RGJ! I think this would improve performance.

I can confirm, happening on my site. Getting this if we open too many things too fast:

Even liking things too fast can now cause 429 errors. All because of two little depreciated icons.

I thought @pmusaraj dealt with this already? Not sure.

The icon deprecation warnings are rate-limited thanks to FIX: Limit requests and include data when reporting deprecated icons · discourse/discourse@7737ecd · GitHub by @david.

You should replace the deprecated icons, that will remove the log entries and the post requests to /logs entirely. Plus, the old name fallbacks will be gone very soon (i.e. next few weeks).

Thanks @pmusaraj, I am going to further investigate what could be causing this.

Ok, I found something. This is not the problem @DaveK was having though.

They are indeed rate-limited, but Logster rate-limits them even further, at one per minute per IP, resulting in 429 errors when there are multiple deprecation warnings in a single page load.

This actually causes deprecation warnings to get lost, making the /logs less valuable as a tool to find all deprecations…

a 1 minute rate limit to all JS error reporting per IP

https://github.com/discourse/discourse/commit/8db38de9d7d47b8c931ae0cc409c5550e37653b7#