158 lines
6 KiB
Markdown
158 lines
6 KiB
Markdown
Canopy - 0.1-INDEV Release Checklist
|
|
======
|
|
|
|
This checklist serves as both a list of goals for this version, as well as a future patchnotes files.
|
|
Canopy - 0.1-INDEV inteds to be near-feature-complete with the chat and account management parts of fore.st
|
|
|
|
- Accounts/Authentication ✓
|
|
- single document collection in DB for instance statistics ✓
|
|
- session management ✓
|
|
- basic account system using bcrypt/mongoose/ferretdb (mongodb for now, mongo backend for express-session is currently incompatible) ✓
|
|
- account creation/login frontend ✓
|
|
- logout/kill session ✓
|
|
- Setup basic config file ✓
|
|
- XSS/Security check ✓
|
|
|
|
- Profile Info/Page ✓
|
|
- profile display page layout ✓
|
|
- display profile creation date ✓
|
|
- display profile short-bio ✓
|
|
- display profile bio ✓
|
|
- display profile image (url based) ✓
|
|
- display badges ✓
|
|
- edit profile items ✓
|
|
- password update (authenticated by old password) ✓
|
|
- account deletion ✓
|
|
- XSS/Security check
|
|
- standardize account functions ✓
|
|
- fix account id ✓
|
|
- check password ✓
|
|
- login ✓
|
|
- logout ✓
|
|
- session management features
|
|
- add ip, auth date, and redundant seshid to authed sessions ✓
|
|
- function to get authed sessions for specific user ✓
|
|
- full logout (kill all sessions for specific user) ✓
|
|
- password reset ✓
|
|
- account deletion ✓
|
|
- register ✓
|
|
- XSS check ✓
|
|
- navbar ✓
|
|
- profile ✓
|
|
|
|
- Multi-Channel ✓
|
|
- Channel Schema ✓
|
|
- Channel Creation ✓
|
|
- Channel List ✓
|
|
- basic channel page layout (no scripted functionality) ✓
|
|
- check layout scales proper ✓
|
|
- try in chromium ✓
|
|
- try on mobile (or at least browser-sim, getting this to work proper might req a little JS, so we might save it for a later touch up on UX :P) ✓
|
|
- Channel Settings ✓
|
|
- Channel Deletion ✓
|
|
- Site-Wide Admin Channel Management Page ✓
|
|
- XSS/Security check X
|
|
- FAIL: XSS: index (channel description - to be fixed by express-validator)
|
|
- FAIL: XSS: adminPanel (channel description - to be fixed by express-validator)
|
|
|
|
- Implement Express-Validator ✓
|
|
- /api/ ✓
|
|
- Account Logic ✓
|
|
- Login ✓
|
|
- Register ✓
|
|
- Delete ✓
|
|
- Update ✓
|
|
- Channel Logic ✓
|
|
- Register ✓
|
|
- Settings ✓
|
|
- Delete ✓
|
|
- XSS Check
|
|
- XSS: index ✓
|
|
- XSS: adminPanel ✓
|
|
|
|
- Chat
|
|
- duplex comms (socket.io) ✓
|
|
- connected user-list ✓
|
|
- simulatnious socket.io connections within same room for same user ✓
|
|
- chat ✓
|
|
- high-level ✓
|
|
- random-multi-color usernames a-la TTN/OF/TZ (super important) ✓
|
|
- XSS/Security check ✓
|
|
- express-validator - Chat ✓
|
|
|
|
- Quiet Public Code Release
|
|
- Prettify movie-night.css to make it at least kinda resemble TMN ✓
|
|
- Responsive Channel Page JS
|
|
- Click to Drag Video/Chat Split ✓
|
|
- Lock Chat Split to Aspect Ratio (fake aspect ratio for now until media playback is implemented) ✓
|
|
- Click to Drag Chat/Userlist Split ✓
|
|
- Prevent chat from breaking during resize ✓
|
|
- Prevent userlist from breaking during resize ✓
|
|
- Auto hide/show media header bar ✓
|
|
- Collapse Userlist ✓
|
|
- Collapse Video ✓
|
|
- Collapse Chat ✓
|
|
- Cinema Mode ✓
|
|
- AGPL v3 Notice check on all original files ✓
|
|
- Move realease_checklist.md milestones to gitlab issue tracker
|
|
|
|
- Channel Page Multi-Pannel
|
|
- Successor to fpanel from fore.st, that isn't so gross
|
|
- Create blank panel element that pops open/closed over chat with matching class which can take a current panel page object and display it
|
|
- Allow panel-pinning. Pinned panel opens next to chat, instead of over. Standard panel can be opened over pinned-panel/chat. Only one pinned-panel at a time.
|
|
- Allow panel-popouts, allowing users to pop-panels out into a seperate window.
|
|
- Allow dynamic resizing of both active and pinned panels via mouse click/drag.
|
|
|
|
- Rank/Authorization
|
|
- account ranks (user, gold, mod, bot, admin)
|
|
- session ranks (derived from account: anonymous, user, gold, mod, bot, admin)
|
|
- Central DB Collection for documents containing global permissions and min rank for each
|
|
- Global Permission Page
|
|
- No direct rank checks, all rank checks must go through a Permission
|
|
- Global Ban function
|
|
- flair (some rank-locked) (super duper important)
|
|
- Channel-Based Rank/Authorization
|
|
- Channel Ban function (automatically list all global banned)
|
|
- Channel Kick function
|
|
- XSS/Security check
|
|
|
|
- Commands
|
|
- Client-side command parser using '/'
|
|
- /high # to set high level
|
|
- Serverside command parser using '!'
|
|
- !whisper for subscript
|
|
- !announce for announcements
|
|
- !clear <username> to clear all or a specific users chat
|
|
- XSS/Security check
|
|
|
|
- Tokebot
|
|
- Basic tokebot functionality with global !tokes
|
|
- !toke commands stored in DB documents
|
|
- !toke command management page
|
|
- store use statistics for each !toke command within respective user account document
|
|
- display toke statistics on user profile
|
|
- store each toke as a document in toke history db collection
|
|
- tokebot "profile" that displays site/channel toke statistics
|
|
- XSS/Security check
|
|
|
|
- Link/Media Check/Embed (images/gif/webm in chat)
|
|
- Seperate links from message client-side
|
|
- Serverside media check
|
|
- Re-assemble link/embed client-side
|
|
- Site-wide Emotes
|
|
- XSS/Security check
|
|
|
|
- Account Security Extra's
|
|
- Email password reset
|
|
- captcha requirement for registration
|
|
|
|
Near-Future Milestones Post v0.1:
|
|
|
|
- Announcement & Loud Public Code Release
|
|
- Chat-only public test w/ bugfix sessions
|
|
- v0.2:
|
|
- Media Metadata Gathering (yt-dlp)
|
|
- Basic video queue
|
|
- Synced video embed based on current video from queue.
|
|
- Channel Queue History
|
|
- Video-Synced public test w/ bugfix sessions |