This is the bug / feature tracker for CodePad.
We need your help with squashing bugs, so come and help us find some! ๐๐
For CodePad developers, only post issues here that you want anyone to see, since they're visible to the public ๐
Bug tracker for codepad.site
Home Page: https://codepad.site
This is the bug / feature tracker for CodePad.
We need your help with squashing bugs, so come and help us find some! ๐๐
For CodePad developers, only post issues here that you want anyone to see, since they're visible to the public ๐
It is currently not possible to run a Java or Python program that use graphics.
Allow the user to share the source code of a pad.
If you upload files over ~10 MB or so, the upload will fail. On Chrome, an error is printed in the console that says "413 Request Entity Too Large."
Ideally, we should figure out the exact upload limit and warn the users if the files they want to upload exceed it.
There is no way to change your password except to reset your password. Note that resetting a password requires an email associated with the account which you may not have.
Also, #43 indicates there is no way to add an email address to an existing account
When the server compiles and runs a java program, it will create .class files that will populate the file explorer on the side. Additionally, for remote desktop to work, a file called "run-program.sh" is programmatically created and it further clogs up the file explorer. One suggestion might be to make a system configuration file inside each project folder and hide its contents from the user.
123
Attempting to upload 2MB file or greater fails silently. It's not clear what the file size limit is.
When you try to upload large files, the upload dialog will disappear but no file will be uploaded. In the console, it says 413
Request Entity Too Large. From preliminary testing, the maximum file size seems to be about 1 MB.
What should be done:
Provide UI support of uploading at least up to 5 files.
Ideally, it should also allow upload of a zip file.
Main.java is the default file for java projects and main.py is the default file for python projects. When the user runs their project, the main file is run by default and there is no way for them to specify which file they would like to run. For HTML projects, it will display the HTML file that is currently being edited unless the user is not editing an HTML file, at which point it will display index.html.
For java and python projects, the user should be able to create a custom run configuration that contains both the file they want to run and the arguments they want to supply. For HTML projects, the user should be able to set the extension that they want to view.
Click 'Run' to run pad. It saves only the current file. It should save all the files.
If you navigate to Codepad.site the debugger will indicate that several scripts could not be found and the webpage will not load. Since many of the website's features will likely never work in IE, we should make a fallback page asking the user to update their browser. This bug is reproducible in Internet Explorer 11.
Right now, only the issue tracker is open, not the actual site code
When a pad is made anonymously, the user seemingly has the option to select public or private on the sharing options page. However, an anonymous pad is always public, even when marked private, and therefore an anonymous pad should only have the public option available. One idea is to gray out the private option and put a link next to it asking the user to log in first.
If the user logs in or creates a new account while editing an anonymous pad, they should be able to "claim" the project for themselves. Of course, this should only happen if they are the same session that created the anonymous pad.
It should be possible to specify which Java file to run. Currently, it picks the first one alphabetically.
When a pad created by an anonymous user reaches the featured page, it will say the pad is by "null." If the user clicks on the link associated with "null," they will be taken to a 404 error page. This should be changed so that it says the pad is by "Anonymous" and there should be no profile page link attached.
num = input('Enter number: ')
print(int(num))
This fails on iPad running Safari or Chrome, and fails on Mac running Safari but is okay on Chrome. The error is:
Traceback (most recent call last):
File "/home/bg62x3qw/main.py", line 2, in
print(int(num))
ValueError: invalid literal for int() with base 10: '\u200b5'
The problem stems from the extra character added in positioning the cursor on the screen.
Try to create or run a pad on Mac running Safari, or on iPad running Safari or Chrome. Only the CodePad header appears and the rest of the screen is blank.
The code is failing on codepad.js, function updateJavaPackageWarning on the line:
codeWithoutComments = codeWithoutComments.replaceAll(/\/\/.*|\/\*(.|\n)*?\*\/|("(?:(?<!\\)(?:\\\\)*\\"|[^\r\n"])*")/g, '$2').trim();
Error: Invalid regular expression: invalid group specifier name
It appears Safari and Chrome on iPad does not support the regex's lookbehind. See:
https://stackoverflow.com/questions/51568821/works-in-chrome-but-breaks-in-safari-invalid-regular-expression-invalid-group
This is considered a JavaScript syntax error so it cannot be fixed with a try/catch block or browser detection because it fails on parsing.
It should create/use a Docker container when the project is run.
Currently, if the user's java/python program creates new files, the only way the user can view those new files is by refreshing the page. Ideally, when the user right-clicks the file explorer, they should see a menu option that refreshes the files explorer list.
On the user's profile page, the profile picture shows up but it is the default Codepad icon. Ideally, the user should be able to click on the profile picture and a file dialog should open up, through which the user can upload an image of their choice. An example of this profile picture UI is Discord's profile page.
Upload an image into the project.
Upload the same image again.
Instead of updating the image, it shows up as two entries on the left-hand side of the project page. When you select this image, both items are selected.
Workaround: Refresh the page.
There should be a way to reset the account password.
When uploading many files repeatedly, upload button stops working
The problem happens in two ways.
Select a pad. Click the "Share" button. Select "Public". A dialog with "error" pops up. The pad is not shared.
Select a pad. Click the Settings icon. Scroll down and select "Public". A dialog with "error" pops up, but this time, the pad is shared.
Currently, the Shared Pads section on the profile page says "coming soon...". This section should display all the user's public pads, sorted by modification date.
It would be nice if you added the option to login with GitHub
Java projects using Scanner(System.in) and Python projects that call the input method are unable to get input. This is because there is no interactive support during the run of a project.
My pad has the following:
example/
Main.java
There is no way to create a new file at the top level directory. Whether a click the new file icon or right click and select "Add file", it creates in the 'example' directory.
Workaround:
You can drag the new file to the top level directory.
If you use Java packages and click "Run", you get:
[error message] File name could not be parsed.
Sometimes I want to be test a change so I want to make a duplicate of the file first. A UX implementation is to right-click a file and have a Duplicate option.
Right now, the only way to create a new account is to provide a username, email, and password to Codepad.
Ideally, users should also be able to create an account by signing in with their Google account. Internally, a Codepad account would still be created for the user, but it would be linked to the provided Google account.
Also, users should be able to connect a Google account to an existing CodePad account and, afterward, sign in with Google.
Create an HTML pad. Create a hyperlink such as:
Run and click the "Test" link. The row where the menu icons are disappears.
Workaround: Refresh the page to restore the menu icons.
There is no way to add an email address to an existing account.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.