Group Admin breaks on an approximately 10 to 15 minute interval (narrowed down to possible problem)

I’ve managed to possibly narrow down exactly what the cause of this five year old bug is after a few minutes of investigating what was going on with the network requests being sent out when the admin page errors.

It turns out that when the page is loaded there are a set of page locations for the group api loaded with the group admin page. They are initialized by a javascript element with the following code:

function() {
    Roblox.GroupAdmin.InitializeGlobalVars(group_id_here, "/long_hash_here", "/long_hash_here", "/long_hash_here");
});

Anyone can find the above code by CTRL+F’ing “InitializeGlobalVars” on the page’s DOM and you can scrape the specific URLs out of the function’s raw code.

All three of the URLs are visitable, but you’ll just be directed to a part of the website that generates the html that the search menu uses or the settings page uses.

Through various experimentation with these URLs, I’ve noticed the times that the group admin page errors is when the the websites it requests to the pre-loaded website URL and for some reason the endpoint is now non-existent.

For example, go to the group admin page of any group you own and make sure the page works properly. If it does, (assuming google chrome) open the F12 console and paste the following code into the console:

Roblox.GroupAdmin.GroupMembers()

You’ll be given the rest of the URL that points to the endpoint of the website that fetches the member list of the group admin page. If you visit the page www.roblox.com/HASH_FROM_ABOVE_CODE_HERE?groupId=GROUP_ID_HERE&pageNum=1 fast enough you’ll see the list of members from the first page of the website.

Now, here is where the problem comes in. If you wait long enough, you’ll find that the page eventually gets removed. You can confirm this by waiting about 10-15 minutes, then refreshing. You’ll get an error saying the page doesn’t exist.

How does this tie into the group admin breaking? The page you’re on has the pointer to that now broken endpoint saved, and therefore if it tries to send a request to the page to fetch information it’ll error because the page no longer exists. You can confirm this too by waiting 10-15 minutes, then on another tab verifying the page has been removed, and trying to switch to a different rank or even just searching for a group member. It will error.

If you refresh and run the code again, the page has changed to something else.

I’ve noticed that in particular with large groups, it takes a few moments (upwards to a minute in some of my tests even after refreshing several times) for the fetched page to receive the new endpoint url. Sometimes, the page receives the new endpoint, and then when you refresh it has the old one again. I found that especially weird. I could not replicate this with small groups.

speculation

  • I assume ROBLOX is changing the endpoint periodically for security reasons (wouldn’t make sense because exile doesn’t do this).
  • I assume the endpoint changes every 10 to 15 minutes because there seems to be a consistent time period for it to become something else and the old one becoming invalidated
  • I assume the page doesn’t keep up to date with the endpoint and hence why idling on the group admin page will eventually lead to an error
  • I assume that, proportional of the number of members in your group, it takes time for the web server to update/propagate the new endpoint to the group admin (???)

possible how to fix?
I don’t know why the endpoint needs to change every 10-15 minutes, just keep it static. There needs to be a nice way to fetch group members anyway.

I understand ROBLOX is doing the overhaul and all for groups this year, but this bug is beyond annoying. I physically want to strangle my computer whenever I try to update my group (200K+ members) member’s ranks manually and this happens for MINUTES at a time.

Please look into based on this? I’m not even sure if this is related, just random stuff I’ve correlated with the group admin page breaking.

6 Likes

This has been a long standing issue within groups. What’s interesting is when the first group overhaul was released in about 2012-2013, this issue wasn’t occurring. This must’ve happened in conjunction with some web updates sometime after.

Perhaps @Merely could look into this?

We’d appreciate not waiting until the end of this year for the group overhaul.

cc @Caelestene since she mentioned in another thread this issue could be looked into before the group redesign, and this might help pin the issue down

As someone who runs an automatic ranking system, it was one of the many annoyances I had to work around:

I don’t think the issue is the endpoint changing (although this is one of the issues after a set amount of time has passed), but that the requests are being scheduled to different servers to even out the load, and only one server actually acknowledges the endpoint. Likely why it’s hit or miss, even right after refreshing the page.

Yeah, I outlined in the body that I experienced a situation where the endpoint was changed. I refresh, its updated. I refresh again, it reverted. I do believe the issue is that the servers aren’t updating the endpoints fast enough (?).

I still don’t know why that calls for needing to refresh it every 10 or so minutes at all though.


Both of these things make me very sad. :frowning:

1 Like

So my script just checks for a new endpoint every time it fails, which leads to some interesting results:

Like you, I really want to know the story behind these endpoints, and why it’s handled this way in the first place.

I’ve created a TamperMonkey script that overrides the default behaviour of the group admin search button and fixes this broken behaviour.

I’ll release it sometime soon when I finish optimizing and I’m done my university classes (very bogged down in work for them :sad:).

I’d prefer however not to use this alternative as it involves bruteforcing the group admin page for a proper endpoint.

waiting intensifies

1 Like

beads of perspiration

ROBLOX has resolved this issue.

They’ve created three new permanent endpoints that do not refresh, thank you whoever fixed it.

“/groups/7013/groupmembers-html”, “/groups/7013/joinrequests-html”, “/groups/7013/groupsettings-html”

5 Likes

Whoever did this – you’re awesome

1 Like