Coder Social home page Coder Social logo

ctrlsa / seal-app Goto Github PK

View Code? Open in Web Editor NEW
5.0 5.0 3.0 900 KB

A censorship-resistant Dropbox-like Telegram WebApp for permanent storage and sharing of any data/files. Decentralized storage on IPFS/Filecoin.

Home Page: https://t.me/sealfile_bot

License: MIT License

JavaScript 63.24% Python 4.60% CSS 0.18% HTML 0.99% Svelte 30.98%

seal-app's People

Contributors

0xevn avatar ctrlsa avatar ds-jr avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

ds-jr

seal-app's Issues

Laggy scroll on some Android devices

Scrolling may not work correctly on some Android devices. It freezes, slows down and can lead to the application closing

Tested on LineageOS 20 (Android 13)

Search file by type/extension

Sometimes you need to have a look at all PDF's or video files to find specific file (ex. you don't remember name of the video).
Possible implementation: if search query starts with . (dot) we should search by file extension
Cons: It is difficult to find files with names starting with . (dot)

Create component: "confirmation dialog"

We already have a nice confirmation dialog, but we still use Telegram's showConfirm() which is less convenient and requires to maintain additional code. We should create a new "confirmation dialog" component and switch to it.

upload error from GoogleDrive via Android

"Upload error" with all sorts of files (Ex.: PDF, JPEG, etc.) when uploading from GoogleDrive to Seal via Android.
Seal app behaves in a strange & random way: some files are uploaded successfully after 3-4 attempts.
Detected this bug during manual tests of Seal app.
Could NOT identify clear patterns & reasons of this bug after multiple attempts.

Better previews for video and audio files on "Files" screen

We need to somehow show a poster/thumbnail for mp4, mov, and other video files. First we need to extract poster/cover image locally before uploading the file to storage. Then we need to save extracted image on indexed DB or, maybe, on remote storage and show it as a poster on "Files" and "File details" screens.

We can scan audio file before uploading and try to get album cover. We should put obtained cover as a preview and place a "Play" button on top of it.

Share wallet address

We need to provide an ability to share a wallet address using QR code or by copying to clipboard or by share menu on device

About page

We need to have at least a simple about page in the app to provide basic information for our users

Share file: QR code is not recognized by the scanner when the dark theme is used

Having tried to share the file with friends using a QR code, it turned out that the code is not read by many devices when the dark theme is used in Telegram. In this case, the QR code becomes white and the background is gray, making it extremely difficult for scanners to recognize it.

The classic black on white option works great.

Possible solution: a white background for the image for a dark theme and a classic black color for the QR code itself.

File details screen

We need to have an ability to view details about selected file. Use Gdrive panel as a reference
Screenshot_2023-12-27_17-36-56

Disable button on tap (Massive)

We need to be sure that nervous users will not crash our server and damage the database by clicking buttons 1000 times per second.

Get rid of on-boarding screen

Get rid of On-boarding screen with "New wallet" and "Import wallet" options. Just create a new wallet right away and show a message: “If you want to use your existing wallet use Import button on the Settings page.

Pros: -1 one step for user to start using the app
Cons: If you want to import wallet you will have 1 extra step

IPFS/other providers support

We need to have an alternative storage providers such as an IPFS.
Maybe we should consider a self-hosted solution as an option or even offer our own cloud storage.

Wallet backup

We need a separate wallet backup page with these backup options:

  • QR code (scan it using other device)
  • Show mnemonic/private key ("paper" backup)
  • Copy mnemonic/private key to clipboard
  • Save to encrypted file (protect it with password)

Hide “Upload” button on scroll

Upload button does not allow to use "more" action on the last file in the list. We can fix this by replicating how Telegram's "New" button works

Add a security policy

To give people instructions for reporting security vulnerabilities in our project, we should add a SECURITY.md file to repository root

Wallet balance

We need to have a wallet balance somewhere. At least FIL balance should be shown.

Create templates for issues (bug, feature, etc.)

We need to adopt best practices for open-source development as early as possible. The good start is to create a templates for different types of issues:

  • Bug
  • Feature
  • Enhancement
  • For discussion
  • QA

This will improve collaboration and will allow us to have standardized and clear issues.
We need to follow best practices of open-source community and can easily borrow this one from any project.

Media files preview on file details screen

We can show a full-width preview for image, video and audio files on file details screen. Limit preview block max height for 1:1 or smaller. Stop playing video/audio before navigating.

  • Preview Image (jpg, png, gif, etc)
  • Preview Video (mp4, mov, webp, + all other supported formats by webkit)
  • Preview Audio (mp3, ogg, m4a, + all other supported formats by webkit)

Allow multiple files upload on Telegram desktop

We found that problems with uploading files in the previous version of the application were due to the fact that browsers on mobile devices do not support uploading multiple files at a time. But it also became clear that everything works fine on the desktop version of Telegram. We need to determine the platform on which the application runs using the Bowser library and allow the upload of several files at a time if we are on a desktop. This will improve the user experience for some of our users.

Integrate privacy first analytics

We need to understand how many users are using the app. As a privacy first company we need to do it without revealing of ANY user data.

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.