New Find Replace All - Search Result Limit affects Replacer - Improvement? Most likely not, improvement was avoided

Description

I will label these issues into multiple “sub-issues” related to all of this, and re-summarize them below again.

This issue relates to the new Beta Feature for an “Improved Find and Replace All”. Which is a Luau version of the Find and Replace All.

image

 

I went to https://www.browserling.com/tools/text-repeat and created 30k new lines of a.

It only claims to show 20k results.

This is still present if you have more than one file. It will actually try to split up the search results… somehow…?

This means it’s trying to limit the search results to 20k. Without the option to change that.

This is Issue A.

 

Then, Issue B

When you use the “Replace All”, it doesn’t replace all, it only replaces these 20k results…

The Script Editor’s one is even better.


Please, don’t touch and ruin the Script Editor’s one. Thanks

Disclaimer: Do NOT use the existance of the Script Editor’s “Find/Replace” as a reason, to not fix the issue.

 

Then Issue C.

Given that there was attempted experimenting with “Search result amount limits” (Though if there was a setting, I’d just go and pick the limitless, I want to Find All and see all. Not, partially) there is still an issue.

You can temporarily go over the limit. Notice how it says 120’000.

If you refresh the search, it will go to 20k… again… well, it could go over 20000 for some reason.

 

Issues summarized again

Issue A

Search results limit to 20k. You can’t see the rest.

Issue B

“Replace All” doesn’t replace everything because of Issue A.

Issue C

If there are multiple Script Instances, for some reason it can go above 20k results.

Additionally, if you clone a Script while you have an active “Find in Place” search open, it can go way above that 20k limit, until you re-query a search.

and the text is still blurry btw. for some reason

 

Conclusion

So here… is my opinion and feedback.

It doesn’t matter, if this says “Beta”.
The 20k limit doesn’t exist because it’s “Beta”, it’s because it was explicitly put in.

And here is what I think about it…

This is presented as the new Find and Replace All, as the Improved “Find All/Replace All”, with the description of it being the “Faster and modernized Find All/Replace All tool”.

Immediately, I went and did comparisons and I got heavily disappointed. The first impressions weren’t so bad (despite the revamped blurry UI due to DPI).

 

But when I did a test, I noticed that all search results are trying to be capped to 20’000 results. This is just “babysitting”.

When I brought up RobloxScriptSecurity once, on how you can’t use CreateQWidgetPluginGui because the user could get locked in and or wrong use can crash Studio. In short, it’s more secure.

I found that as a very valid reason. But with other things, I did not completely find it valid. No easy option is given to create it anyways. Even if you know what you’re doing, there’s no easy option to use it anyways. And the reason is security again. But this is over-security at that point. That I call it babysitting.

 

I believe the 20k limit exists for two reason, and I don’t want to talk about the second reason. But the first reason, is literally “babysitting”.

Calling it “faster” because it has a 20k cap, allowing you to still find things without running into Roblox Studio white screen freezing issues. That’s all just babysitting.

If there would be an option to opt-out of that “babysitting”, maybe we could look at it at a different perspective. But then this new “Find and Replace All” might just be like the old C++ version. Where then I ask myself the question, on why this Plugin was created. Maybe not with “UI virtualization”.

 

Because I managed to encounter the same issue the old one had, on the new one. Which is also disappointing. This is how I feel for every Luau-ized Built-in Plugin. I don’t even know if it is known, but seen that this was already put out on Beta, I don’t think there was even the slightest attempt to even improve it.

 

But the worst issues being LuaBridge and the blurry text and icons caused by DPI settings, that the previous ones did not have. But not only that. There’s lack of care on inheriting and analyzing all features from the old ones, so that they smoothly “port” over to the new Plugin.

Making me think that this was allowed to put out, because presentation wise “it looks good”. Where that is my second thought, put up summarized.

 

It is really bad to call it modernized and improvement, for all these most-used Window Components in Roblox Studio.

You can’t present something like this and not expect there to be complains if something from the old one is missing, for no valid reason. Excuses are not reasons.

 

 

Exactly because of things like that, I am asking myself a tons of questions, and I haven’t found answers for them yet.

 

Re-production Steps

Re-production file is also attached in Private Message

This all assumes that you enabled the Beta Feature.

image

Issue A and B

  • Click repeat text.

 

  • Copy paste the result
  • Go into Roblox Studio
  • Create an empty script somewhere
  • Put this in it
[[
<You will have to paste the contents in here>
]]
  • Copy paste and replace the placeholder

  • Now open up “Find in Place”.

  • Type in “a” in the search field

  • Observe how it says “20k” results

  • Check “Replace”

  • Type in whatever you prefer into the “Replace” field

  • Click “Replace All”

  • Click “Yes”

  • Observe

Issue C
  • Ensure you’re searching for a in the “Find in Place”
  • Select the Script in the New Explorer and press CTRL + D to create clones.
  • Observe the result count in “Find in Place”
  • Empty the search field in “Find in Place”
  • Then, type in a in the search field again.

 

Expected Result

  • An option to change the limit, with the ability to have no limit at all.
    • Especially, for “Replace All”…

“Replace All” should have replaced everything.

Actual Result

All search results are limited to 20k, even if there’s multiple files.

I told it to search for all a, but it doesn’t show me all a. The old Find Replace All, didn’t have this “babysitting”.

I told it to Replace All a with b. But because of the Search result limit, it doesn’t do it.

 


A private message is associated with this bug report

2 Likes

Hello! Thank you for the feedback.

The current behavior is working as intended - we did indeed add a 20k result soft limit in the new find list, after which the query cancels itself. The limit was intended as a sanity check to not consume the user’s resources needlessly, as we did not anticipate people intentionally looking for that number of results. Replace All is also intended to replace only the listed matches to avoid unintentional changes.

But your point that this limit should be configurable is well taken and we’ll be sure to add that setting before full release, including the ability to disable the limit entirely (or at least set it to a value like 2 billion where it will genuinely never be hit).

2 Likes

Intended behavior.