This is transient file that lists functionalities to be implemented before first major release. everything related to posts: - single post view - fav - score - editing - ability to loop video posts - post edit history (think http://konachan.com/history?search=post%3A188614) - previous and next post (difficult) - extract Pager from PagedCollectionPresenter - rename PagedCollectionPresenter to PagerPresenter - remember last search - take care of pages - add A/D hotkeys - hiding posts - link to iqdb and/or tineye - random post - regard safety settings - ability to paste many urls in post upload - post listing - better thumbnail loading - fav count - score - comment count - regard safety settings - add warning if no posts were found - search filters - tag - -tag - submit:rr- - comment:rr- - comment: 3..5 - fav:rr- - fav:3..5 - score:3..5 - tag:3..5 - date:today - date:yesterday - date:yyyy[-mm[-dd]]..yyyy[-mm[-dd]] - filesize:3K..5M - imgsize:huge/large/medium/small - id:3,4,5 - hash:postName - type:img/flash/yt/video - special:liked - special:disliked - special:fav - special:hidden - search order - order:id - order:date - order:score - order:comments - order:favs - order:tags - order:commentdate - order:favdate - order:filesize - order:random (at least unstable version) - safe/sketchy/unsafe buttons and top navigation search goes to post list presenter everything related to users: - banning - show link to user's uploads - show link to user's favs - show link to user's liked posts - better avatar loading everything related to tags: - tag listing - tag autocompletion (difficult) - time of last tag usage - time of tag addition - mass tag - tag merging - editing tags - tag relations - tag aliases - tag categories (from config.ini) - tag descriptions - tag edit history everything related to comments: - adding comments - listing comments in post view - listing comments in comment list view - deleting - editing - markdown - score refactors: - add enum validation in IValidatables (needs refactors of enums and possible disposal of EnumHelper in favor of something more subtle) - (idea) keep denormalized data in separate tables, i.e. tag usages in tag_meta or post favorite count in post_meta, so that it's obvious what can be recalculated on demand and what is real data - simplify template loading in presenters - right now template loading requires _, util and promise: promise.wait(util.loadTemplate('blah')) .then(function(html) { template = _.template(html); }); - change content spinner to nprogress: http://ricostacruz.com/nprogress/ - add fetchUsers to PostSearchFilter: when AbstractDao fetches entities with query decorated by PostDao::decorateQueryFromFilter, call PostDao::decorateEntitiesWithFilter that will optimally load users and inject them using posts' lazy loaders. - make view proxies less greedy, e.g. favs should be fetched only in post view, not for each of 40 posts in post list. (same goes to other things) - reduce dependencies miscellaneous: - fix mouse trap hotkeys when leaving page - add hotkeys for focusing items in top navigation - add ability to select tags text in tag input - pasting tags should "soft-add" latest word in clipboard to input - pasting tags should have protection against very long clipboard content - add protection against ridiculously long tag names - add customizable favicon - add customizable logo - add log engine and log everything that should be logged - I don't think browsing online logs is very necessary - add help, api documentation - add version on homepage that reads version from package.json and git hash - add tool for migrating szurubooru database - endless pager should include information about page number - add README - apache2 has good README: http://svn.apache.org/repos/asf/httpd/httpd/trunk/README - add spinner to forms such as registration, user query, login, settings etc. make sure the code isn't too duplicated. - add 404 pages some day: - configure mails and ensure it works with gmail