Giter Site home page Giter Site logo

ftp-client's People

Contributors

alvinn8 avatar bombardier-c-kram avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar

ftp-client's Issues

Use a different text editor on mobile

I don't think monaco editor is very well adapted for mobile

The Monaco editor is not supported in mobile browsers or mobile web frameworks.

Monaco Editor: About

Add a dropdown to choose between editors like monaco editor, ace and codemirror. On mobile a mobile-friendly one will be selected by default.

Always use absolute paths

Instead of using CD commands, cache everything and use absolute paths all the time. This saves us some CD commands, making the ftp-client faster. This also allows simple operations like list and download during a large task, because the large task will no longer modify the working directory. Also means we can remove the getConnection stuff.

Relates to #12

Better downloading of large files

For large files (above 10 MB maybe?), instead of downloading the entire file to a memory stream and encoding that as base64, add an entry to a list and create an endpoint on the HTTP server and pipe the output from the FTP server to the response of that HTTP endpoint with the request we get there. For the WebSocket, reply something saying that it's a big request, the URL to send to, and a file download id. On the WebSocket, we can then send progress updates on how much of the file has been downloaded. This can be used for a progress indicator on the client.

Dark Mode

Add a dark mode theme to the client. Just check what the system default is set to and then use that.

Preview of zip and folder uploads

When the contents of a folder is uploaded, maybe show a preview of the absolute paths of the files that are about to be uploaded, because the user maybe intended to make a folder and put the contents in there.

Hash the bundle

Make it update faster, as right now it caches. Maybe use a proper build tool like vite instead of the custom made scripts 🤔

Use cached folders when downloading, getting size, etc.

Should make stuff quicker, and if you for example check the size of a folder, you will then be able to traverse it instantly as it's all cached. Currently, the downloading, getting size, etc. just do it manually, and manually send cd commands to the connection. This also has the risk of desyncing.

Queue system for requests.

Avoids sending concurrent requests. This means we can remove the "A task is running right now".

Have two priorities: QUICK=2 and LARGE_TASK=1. Quick ones happen first, and then large ones. This allows for #12.

Requires #13, otherwise the workdir would be too unpredictable to run requests during large tasks.

Minecraft log file viewer

Highlight errors and stacktraces, colors using both legacy section signs and ansi escape codes (�[0;33;1m[ or something like that)

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.