Giter Club home page Giter Club logo

codepad-issues's Introduction

CodePad Issues

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 ๐Ÿ˜ƒ

codepad-issues's People

Contributors

bongs237 avatar codepadsite avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

codepad-issues's Issues

Large files fail to upload.

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.

Change password

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

Hiding system files from the user.

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.

Attempt to upload 2MB file fails silently

Attempting to upload 2MB file or greater fails silently. It's not clear what the file size limit is.

  1. The file size limit should be increased, perhaps to 20 MB.
  2. When it exceeds the file limit size, it should report an error.

Can't upload large files.

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:

  1. The file size limit should be increased, perhaps to 20 MB.
  2. When it exceeds the file limit size, it should report an error.

Be able to select which file to run

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.

Codepad.site does not work on Internet Explorer

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.

Make all anonymous pads public and allow users to claim pads by logging in

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.

Anonymous pads on the featured page will show up with an author of "null".

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.

Extra character in input on Mac running Safari or on iPad

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.

Unable to create or run pads on iPad, or on Mac running Safari

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.

User should be able to manually refresh the file explorer.

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.

Give the user the ability to change profile pictures.

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 same image causes two files to appear

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.

Share pad fails when inside a pad

The problem happens in two ways.

  1. Select a pad. Click the "Share" button. Select "Public". A dialog with "error" pops up. The pad is not shared.

  2. 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.

Show public pads on profile page

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.

Be able to duplicate a file

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.

Add Sign in with Google and connect CodePad account with Google account

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.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.