![]() Rocket.Chat is an open-source messenger that supports group chats, file sharing, video conferencing, bots, and more. This article is for those looking for a detailed and straightforward guide on installing Rocket.Chat on Ubuntu Server. The bug can reappear the next time someone tries to use this hook or whenĮxisting code gets refactored, as tests don’t currently cover this part of the The problem of not solving the issue for every caller of useMethodData, so We can do this by using useMemo(() =>, ) instead of. We can memoize in the caller, ensuring that we’re always passing the same The array from the equation, but may cause additional problems if any of the Now that the problem with the code has been identified, there are many ways to Recomputed every time, causing useEffect`’s body to run every time as well, Pass the same array to usePolledMethodData, causing fetchData to be Each call to creates a new array, so OverviewSection will never OverviewSection is passing a literal asĪrgs. is (, ) false > const args = undefined > Object. Similar but not exactly the same as = ( there are some differences when UseEffect to check if dependencies change. ![]() To understand why args was causing the bug, I checked what’s used by args was always being set to, so I had little reason to It’s a function that’s not being properly memoized, and I was expecting it toīe getData. Removing every dependency by replacingīoth and with, stopped the infinite httpĪfter some more iterations of adding and removing dependencies, I narrowed down UseCallback and it was changing, then one of its dependencies was alsoĬhanging : either getData or args. Theįunction passed to useEffect is only executed when a dependency changes, so Import īoth console.logs were being executed nonstop, without any delay. This looks like a meteor method call, so I wasĮxpecting matches in both the server and the client: I started by searching forįederation:getOverviewData. Something like a misconfigured retry, perhaps. Meteor, but being a monorepo is great for code spelunking, as I didn’t have toįrom the behavior we saw, I expected that the bug would be in the frontend. IĬould have just posted a comment saying we were experiencing the same issue,īut I decided to take a look at their codebase to try to add some moreĪround a bit. The comments were mostly “me too”Īnd stack traces, so it seemed like no one had started to debug the problem. Not the only ones to experience this problem. Quick search on github led me to this issue: Problem in federation:getOverviewData and federation:getServers calls. Meanwhile, after the upgrade, we were checking if everything was working fineĪnd we found a bug in the administration panel, in the federation dashboard.Īccessing the dashboard causes the frontend to freeze and the backend logs toīe filled with Error, too many requests exceptions. I’m not sure if this will be enough to keep us under 5000 per month. There was a redesign of this logic in 3.2.0, but See if the latest version is smarter when deciding whether to send a push Rocket.Chat announced some paid plans to raise the limit, but beforeĬonsidering them, we decided to upgrade our instance (we were a bit behind) to If you want more info on this, read Thomas’s blog post or check If we wanted to self-host the push notification server to avoidĭepending on their gateway, we’d have to publish our own mobile applications. Reach users of the official apps, they need to use a gateway provided by theĬompany. ![]() ![]() This is because the official Android and iOSĪpplications are published by Rocket.Chat the company, and only they can send Side note: with Rocket Chat being open source software, the push notifications Stayaway Covid mess, and we almost hit 20k notifications. September was a particularly active month for us, thanks to the Their new limit is 5000 notifications per month, and we’re way over that The number of monthly mobile push notifications for self hosted instances. Recently, Rocket.Chat announced that they’re limiting We use Rocket Chat as our main communication tool (think I’m a member of D3, a portuguese association focused on defending digital If you enjoy my work, consider sponsoring me so I can keep on doing this full
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |