filesafe/todo.md
Bobby Wibowo 4f04225ba0
Updated
Added delete user feature.
API: /api/users/delete
json: id<number>, purge[boolean]
By default will not purge out files, but will still clear userid
attribute from the files.
All associated albums will also be marked, and have their ZIP archives
be unliked, if applicable.

Fixed purging albums not properly reporting amount of associated files
that could not be removed, if any.

Fixed moderators being able to disable users by manually sending API
requests, if they at least know of the user IDs.
They could only disable regular users however.
2019-10-07 06:11:07 +07:00

2.8 KiB

Todo

Normal priority:

  • Improve performance of album public pages, and maybe paginate them.
  • Use native lazy-load tag on nojs album pages.
  • Use incremental version numbering instead of randomized strings.
  • Use versioning in APIs, somehow.
  • Better df handling (system disk stats).
  • Use loading spinners on dashboard's sidebar menus.
  • Disable all other sidebar menus when a menu is still loading.
  • Collapsible dashboard's sidebar albums menus.
  • Change title attribute of disabled control buttons in uploads & users lists.
  • Use Gatsby logo for link to blog.fiery.me on the homepage.
  • Automatically create missing columns in database/db.js. That way we will no longer need the migration script.
  • Better error message when server is down.
  • Show expiry date in thumbs view.
  • Add Select all checkbox somewhere in thumbs view.
  • Display renders after API check.
  • Enforce pass min/max lengths in dashboard's change password form.
  • Add a copy all links to clipboard when there are more than 2 uploads in history.
  • Update fb_share.png.
  • Support fragments for dashboard sidebar menus.
  • I forsaked all Promise.all() in favor of await-in-for-loop a while back. I personally think it was fine, considering a lot of them were tasks that required serial processing (continuation be dependant on previous iterations), but maybe I should review the current codes to find any sections that would do just fine, or maybe even great, with Promise.all().
  • Find a way to detect whether a user had disabled their browser's built-in smooth scrolling capability. We will then use that to decide whether we should use smooth scrolling when auto-scrolling during navigation (for now smooth scrolling is always enabled; and polified if applicable).
  • Parallel URL uploads.
  • Black-ish colorscheme.

Low priority:

  • Delete user feature.
  • Bulk delete user feature.
  • Bulk disable user feature.
  • Strip EXIF from images. #51
  • DMCA request logs (bare text file will do), and link it in FAQ.

Lower priority:

  • Perhaps consider switching from Express to Fastify?
  • Multi-level sub dirs for uploads. #51
  • Mime type blacklist. #51
  • Cluster mode (multi-core support). #50
  • Tiered accounts. #51