-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathTODO.txt
47 lines (42 loc) · 3.15 KB
/
TODO.txt
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
logfile should be periodically cleared
playlist generators have seperate sliders when they dont fit on the screen
version number should be changed dynamically and not pushed to git (like in kappaconfig)
when syncing for the first time, the liked songs dropdown option is not enabled (this was when syncing library in v1.1.3)
probably should unset currently viewed playlist after sync is finished (viewed playlist is then an old version)
code improvements:
- DatabaseOperations has a lot of redundancy in methods like EditFilterKeyNode
- DatabaseOperations should take Id/Name as parameters instead of the whole object when the whole object is not used (e.g. for edit/delete)
- Dialogs should be templated
- the SpotifyPlayer control ViewModel should be seperate
- viewmodel tests
- DatabaseOperationsTests should probably use DatabaseOperations to prepare tests instead of directly inserting into db
- ConnectionManager turned into a weird mix of static method and singleton methods
- PlayerManager has properties of FullTrack and a FullTrack object (redundant)
- IsRunning does not belong into GraphGeneratorPage (should be in a seperate viewmodel)
possible bugs:
- RemoveNode had strange case where output result of input nodes was null that could not be reproduced
- I reproduced it once, where the error was that after propagating the result the UI fired set the value of a KeyFilterNode to the exact same value as it was before
This lead to it calling "PropagateForward(gn => gn.ClearResult(), applyToSelf: false)". I added to all methods of this pattern a "if (value == tag) return;" check
Not 100% sure though if this is the bug that occoured in the past or not.
minor bugs:
- couldn't delete a GraphNode, but moving it updated it in the db
- readme of tagify mentions something not working
- click delete GraphGeneratorPage --> cancel dialog --> same GraphGeneratorPage delete icon does nothing
- graph editor: nodes attach to mouse if mouse is released over e.g. a textbox while dragging a node
- playlists binding error in tageditor (not initially but after sync)
- newtag datacontext bugs sometimes (validator not working; NewTagText set null but not updated in ui) --> ugly workaround was implemented
- set progress/volume fires twice (when not dragged)
- RemoveNode had strange case where upon deleting input the input node would still be displayed as input (not sure if it was stored in db also)
- DatabaseOperations inserts with duplicate id throw exception (wrap with try catch)
- if databasefolder is changed while SST is running, it crashes
future
- display tag cards on currently playing song
- view that visualizes why a song is in the library (all playlists that it is contained in, all tags)
- popularity of a song (play count is not available through the API)
- add a property that "blacklists" a song in all playlists (like my "remove-from-charts" tag right now)
- support easy multiple accounts staying logged in
- settings for treeview expansions
- search function (search for track and tag it)
- playlists suggested by spotify as extra PlaylistGroup (daily mixes, radios, recently played playlists)
- display counter for playlists/playlist categories in TagEditor
- collapse tag groups