Skip to content

Latest commit

 

History

History
57 lines (52 loc) · 2.31 KB

todo.md

File metadata and controls

57 lines (52 loc) · 2.31 KB

Server

  • Write tests for time based entries
  • Write test for infinite download count
  • Implement Lifetime header parsing
  • Account types
  • Admin account
  • Cli command to create account
  • Log in api
  • Add a trait bound Into<Response<Body>> to handle_response, so that the error variant can also generate a response
  • Have two APIs: JSON (main one) and old school html redirect driven that will use the JSON one internally
  • Log out api
  • API to generate a registration link
  • Creating account from registration code
  • Admin and normal user registration code types
  • Delete invite code after 1 use
  • Websocket API
  • Deleting entries
  • Upload size limit enforced at server level
    • 500MB or 1GB for unregistered
    • 20 GB for registered

Error handling

  • Better error type for handling fallible http requests
    • Separation between internal and external errors
    • User presentable toggle
    • Various error formats (plaintext, json, http)
    • Ease of composability (not needing to add Http and Hyper errors everytime)

Website

  • Log in page
    • Redirect somewhere or display success or refresh the page on successful login
  • Account page
    • Generate registration link
  • Registration page
    • no button on the website, accessible by registration link
    • Display result of account creation
  • My files page
  • Display username of currently logged-in user
  • Being able to select whether the registration code should be for an admin or a regular account
  • Check the registration code when loading the registration page
  • Move infoMsg from upload.js into a reusable component (info_msg_box.mjs)
  • (upload) Display selected files
  • (upload) upload progress
  • Progress spinner and neutral message support for InfoMsgBox
  • Turn navigation into a web component
  • A page or a section on the upload page with a text box to upload text.
  • Get update's via WebSockets and refresh the list of entries on the fly
  • Deleting entries
  • Nicer visual indicator of a private entry
  • Link item type that will just go to the page instead of opening a text file with the link
  • Code editor for the text input upload (https://ace.c9.io/ is what rust playground uses)