This repository has been archived by the owner on Aug 22, 2020. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathTODO
104 lines (99 loc) · 7.85 KB
/
TODO
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
youtube-audio-react:
UI:
☐ Widen search bar
☐ Give the website a more modern feel, material design with a dark theme(https://material-ui.com/)
☐ Use material ui's snackbar or the below
https://github.com/fkhadra/react-toastify
☐ Refractor css to use css grid and/or css flex
☐ Use One Dark colors or the default if it looks good
☐ Ensure that the context menu follows this same theme
☐ Conditional context menu only for videos and playlists and NOT for channels
☐ Hide player till something is requested to be played
☐ Add an error notification to send messages from server to client
Use socket.io to communicate and a snackbar to display
Features:
☐ Implement playlists
☐ Create feature to add a whole playlist to the queue
☐ Playlists should be cached
☐ Implement channels
☐ Show a list of playlists and videos
☐ Channels should be cached
☐ Use intro.js or something similar to give new users an introduction to the different features
Save a cookie that simple says newUser:true in the client's browser to determine
whether to give introduction or look in intro.js docs if they have something already
☐ Create a login/registration page and allow users to link their youtube accounts to their accounts
☐ Home component should get country trending videos by IP and set that country name in this component
☐ Use related videos to continue playing songs when the nothing is left in the queue
Bugs:
✔ Fix queue @done(19-05-26 21:53)
For some reason it doesn't work with sending the new state as just +1, it needs +=1 to work
☐ Fix error where user seeks a lot on a section that isn't buffered and results in some type of infinite loop.
Causes the web page to slow down drastically until refresh
☐ Fix this:Uncaught (in promise) DOMException: The play() request was interrupted by a new load request.
It happens when you skip a track while the current is still loading
✔ Fix HPE_INVALID_CONSTANT @done(20-01-05 13:30)
HPE_INVALID_CONSTANT - This was caused by setting content-length headers for live streams
☐ Fix ERR_CONTENT_LENGTH_MISMATCHED
This can't be easily fixed because the content-length has to be calculated since the content is being
converted and streamed as the user requests it(file is never stored). Only fix would be to catch errors like this and not print
them to browser console.
Enhancements:
✔ Everything that gets plays has to go through the queue first @done(19-05-26 21:54)
☐ Switch to a React based audio player instead of using plyr.
☐ Clean up ffmpeg processes that are not in use(socket.io)
☐ Check all dependencies to make sure they are being used and needed(script tags included)
☐ Update all dependencies to the latest versions
✔ Implement a better logic for switching play pause button @done(19-05-26 22:00)
☐ Use same method used in Results component to get seemingly higher resolution images on main page
☐ Cache data from youtube's api
✔ Cache the trending page and refresh the cache every 24 hours @done(19-05-18 21:47)
☐ Figure out a way to cache the search results since that counts more towards the quota.
If it is hard to cache search results, disable search when quota has been reach and have users rely on their playlists
☐ Look into switching to https://github.com/TimeForANinja/node-ytsr
☐ Check to ensure all the propTypes hold
☐ Add form validation to search
Development:
☐ Look into the impack of using async await on performance
☐ Move all eslint and other packages that are only relevant to the React client to the client's package.json
☐ Update README's
☐ Update heroku to the new stack(heroku-18) OR use TravisCI and docker containers to deploy to heroku
✔ Improve how 'Debug Client' works @done(19-05-17 14:08)
Archive:
✔ Duplicate requests made when searching @done(19-05-16 13:19) @project(youtube-audio-react.Bugs)
✔ Consider publishing stream.js since it shares code between two projects and it would make it easier to maintain @done(19-05-11 16:05) @project(youtube-audio-react.Development)
Published to the npm registry under the package name @isolution/youtube-audio-stream
✘ Implement live streams into youtube-audio-stream by submitting a pull request @cancelled(19-05-11 16:05) @project(youtube-audio-react.Development)
✘ Use ytld.getInfo() to retrieve meta data and return that in the 'stream' object (stream.info) @cancelled(19-05-11 16:05) @project(youtube-audio-react.Development)
Use the url from the format that is chosen so that livestreams and normal videos work out of the box
The only thing that is really needed in info is whether or not it is a live stream, content length
https://github.com/JamesKyburz/youtube-audio-stream
✔ Fix all eslint errors @done(19-05-15 23:58) @project(youtube-audio-react.Development)
✔ Add error handling to all promises on client and server @done(19-05-17 00:00) @project(youtube-audio-react.Development)
✔ Remove console.logs @done(19-05-16 00:35) @project(youtube-audio-react.Development)
✔ Update redux to the new API or use React's official state management @done(19-05-16 00:35) @project(youtube-audio-react.Development)
✔ Redo TODO @done(19-05-07 15:56) @project(youtube-audio-react.Development)
✔ Separate into categories: UI, Features, Bugs, Enhancements, Archive @done(19-05-07 15:56) @project(youtube-audio-react.Development)
✔ Move all current completed, cancelled items to archive @done(19-05-07 15:39) @project(youtube-audio-react.Development)
✔ Add launch.json configurations for debugging backend and frontend @done(19-05-07 15:37) @project(youtube-audio-react.Development)
✔ use redux to manage the state(playlist, queuing, singles etc) @done(19-05-07 15:38)
✔ use componentDidMount to make sure a route always renders what it is suppose to eg: results?searchQuery=hello @done(18-08-29 14:12)
✘ use redux to determine what is rendered in the main body, etc, search, channel(videos or playlists) @cancelled(18-08-29 14:19)
✔ remove all eslint-disable @done(18-08-29 14:19)
✔ add readme to root and backend then edit client readme @done(18-08-29 14:20)
✔ there should be three break points, >992px - large, >768px - medium and >600px <768px - small. refine these @done(18-09-03 10:37)
✔ fix the "Country Trending Videos" div and hr so they start wherever the first video starts and ends where the last video ends @done(18-09-03 21:29)
✔ add logic to update player controls so they synced with the audio @done(18-09-10 01:03)
✔ add seeking to player @done(18-09-10 01:19)
✘ separate react frontend and backend so they have to be started separately @cancelled(18-09-15 13:05)
✔ add classname to everything @done(18-09-15 13:37)
✔ rename classes(handleClick) to proper function names that mean something @done(18-09-24 00:59)
✔ implement queuing @done(18-09-24 01:00)
✔ implement forward and backward functionaility to queuing @done(18-09-24 15:38)
✔ fix crashing when skipping to previous songs @done(18-09-25 09:41)
✔ figure out how to play a song when a link is clicked and there is only one item in the queue @done(18-09-25 10:57)
✔ disable highlighting on seekbar @done(18-09-25 10:58)
✔ disable step-backward and/or step-forward until the user has songs in the queue to do each action @done(18-10-15 16:17)
✔ should the ability to play be separate from from the home and results component? @done(18-10-15 16:27)
✘ implement a hover effect for 'show more' for each 'playable item' on website @cancelled(19-05-05 00:17)
show more should just pop up the right click context menu
playable items are videos, playlists, livestreams