My Mega Feature Suggestion Thread

Rather than put all my tiny suggestions into 1 thread and let them get only 1-3 votes each I am going to type everything into a big thread.

1. Preventing binary files from being opened

Files like database files, .jar files, compiled code,…etc. You might accidentally open these files and all of a sudden the editor freezes and you have do to all sorts of problem solving. To solve this the editor attempt to guess whenther(MIMEtype checking, test decoding first few bytes, …etc) the file is binary, then display a dialog saying “Are you sure you want to open a binary file?”, with Yes or No buttons. There can even be a “exclude from binary file checking list” option.

2. Multifile variable checking

I have noticed if you use the $ sign in the editor the editor won’t say it is a undefined variable. It will assume you have added jquery to your projects. I propose that we can “link” two files A and B together with A -> B so if the editor finds no reference of a variable in file B it will check in A because they are linked(meaning file A loads before B). This will be primarily useful in javascript files where one library might load before your script.

3. Built in rate limiting

Simply whenever a user requests a page we check if the user’s ip is already in the database. If not create a new entry. Then store the users time that they requested the page as part of that users data in unix time, epoch time, or something similar. Before storing the time data if the user has already visited this page check the difference between the current time and the last time they visited. If the difference is lower than 50ms or some other number stop the request otherwise allow it.
Essentially what I am saying is that glitch should calculate each users average request rate and try to limit that to protect projects like gogs from being DDoSed.

4. Loading Screen changes

The application startup screen should display a progress bar depending on which stage it is on. An even better way would be an animation of water filling up the window and the water rises each time a loading stage is completed.

What’s next

I’ll be adding more so be sure to check from time to time

  1. Not a good UI and technical solution. For instance, what if I have a minified JS library in my project and I want to check it out in the editor. Editor checks whether it’s a binary file, understands it’s not and freezes by trying to open it. I would suggest checking the file size. Usually, a regular JS module is determined as big if it reaches 1-3KB. So the editor can easily get this information from the server and show a notification. VSCode, for example disables tokenization for big files.

  2. When I try to open VSCode using code-server on mobile, it freezes for a minute, trying to enable JS/TS features. By that, VSCode tries matching and searching for all variables you have, determines paths, etc. So it would be very unpleasant user experience if Glitch’s editor would start parsing your JQuery libs. The solution is that you can use linting comments whose will disable those warnings about undefined $ variable.

  3. Probably not a Glitch’s problem, because you do whatever you do in your container and you have to make your anti-DDoS system. Maybe DDoS is just a sign that your project needs something more serious than Glitch?

  4. Still waiting for powerful changes Glitch has planned

1 Like