Closes#334. This solution should function similar to single post
tagging. Implications are automatically added but this also allows
for them to review and manually remove any unwanted implications.
+ Create new sql column for file last modified time (flmt)
+ Implement uploading of flmt to server
+ Implement flmt in post model
+ Ability to read flmt thru API
+ New section in post_readonly_sidebar that shows flmt
! Somehow flmt is the same as post creation time
! Implement proper alembic migrations
! Implement ability to sort by flmt
! Implement ability to filter posts by flmt
! Code cleanup
~ Polish post sidebar
~ Implement flmt visibility in post listing hover text
~ Implement function in misc.js that formats to absolute date
When the tag category list permission is not anonymous the category colors fail to load if you are not logged in, and because the page doesn't reload (SPA) the tag colors are still broken after logging in. Manually calling refreshCategoryColorMap after logging in solves this issue.
Anonymous node does not exist in view when a user without anonymous upload permission tries to post upload. So in this case we should check for the existence of anonymousNode first.
* Users are only authenticated against their password on login,
and to retrieve a token
* Passwords are wiped from the GUI frontend and cookies
after login and token retrieval
* Tokens are revoked at the end of the session/logout
* If the user chooses the "remember me" option,
the token is stored in the cookie
* Tokens correctly delete themselves on logout
* Tokens can expire at user-specified date
* Tokens have their last usage time
* Tokens can have user defined descriptions
* Users can manage login tokens in their account settings
* Added functionality for administrators to directly add users to the
application
* Added permission users:create:any to handle level that users are
allowed to create other users
* Moved old permission users:create to users:create:self