Selaa lähdekoodia

[todos] Update todo formatting

Colin Powell 2 kuukautta sitten
vanhempi
commit
7357b5bfec
1 muutettua tiedostoa jossa 238 lisäystä ja 238 poistoa
  1. 238 238
      todos.org

+ 238 - 238
todos.org

@@ -1,52 +1,6 @@
 #+title: TODOs
 
-* Version 17
-** DONE [#A] Investigate new source of video metadata :personal:project:video:imdb:
-:PROPERTIES:
-:ID:       df2b486c-1170-5199-c312-9bc87760d962
-:END:
-
-Cinemagoer broke and I probably should find a more reilable source of video data.
-
-- Note taken on [2025-06-13 Fri 11:19]
-
-  TMDB is much more reliable, but does require an API key. That's all setup now,
-  so hopefully this breaking IMDB crap is over.
-
-** DONE IMDB video lookups are failing :personal:bug:video:imdb:
-:PROPERTIES:
-:ID:       38f1081f-37b4-f4f2-79aa-c1e87eca4b69
-:END:
-<2025-06-13 Fri>
-
-- Note taken on [2025-06-13 Fri 08:24]
-
-  Looks like Cinemagoer is broken: https://github.com/cinemagoer/cinemagoer/issues/537
-
-** DONE [#A] Emacs is not syncing notes :personal:scrobbling:emacs:bug:
-:PROPERTIES:
-:ID:       c79cd491-b30f-0945-d84b-b8cac7562791
-:END:
-<2025-06-12 Thu 9:30>
-
-Not sure if the problem is in my Emacs hook sending or Vrobbler itself.
-
-- Note taken on [2025-06-12 Thu 09:47]
-
-  Adding a quick note to check on it
-
-- Note taken on [2025-06-12 Thu 09:50]
-
-  Ah ha. All the messing about with the source field meant that I was looking
-  for `emacs` as a source but the hook was initially setting sources to
-  `orgmode` I think I prefer `orgmode` as the source, so updating it thusly.
-
-  Fixed in `490d60cbbb1f8bf90b5fc47d8685b15bdc1d485b`
-
-** DONE [#A] Show the description of a task in the string rep for a scrobble of a Task :personal:project:scrobbling:vrobbler:feature:
-:PROPERTIES:
-:ID:       df58f8d0-fa4a-2037-c7d7-e5388c239042
-:END:
+* Backlog [0/7]
 ** TODO [#B] Add AllTrails as a source for Trail data :vrobbler:trails:feature:personal:project:
 Pretty clear, I would love to make trails more useful. Historically I wasn't
 hiking a lot, which made the source for this a bit silly. But it's clear that
@@ -66,197 +20,6 @@ Rather than pick up an existing Podcast using the podcast title in the mopidy
 file name, Vrobbler creates a new podcast with no enriched data. Not a big deal
 for my use as the volume of podcasts I listen to makes manual fixes easy. But
 it's annoying.
-* Version 0.16.0
-** DONE [#A] Jellyfin, bandcamp tracks from Mopidy create duplicate music tracks :bug:scrobbling:music:
-:PROPERTIES:
-:ID:       670e8634-49b5-dce9-1684-14f2ffb797f1
-:END:
-Effectively, any track that comes in without a MusicBrainz ID does some funky
-lookup where it doesn't find a track without an MB id and the track title /
-artist combination and creates a new track every time. This has to be cleaned up
-by condensing the duplicated tracks into the original proper track.
-
-But it opens a bigger question about how much MB id should the drive the app
-lookup. If it can't be depended on to exist from all sources, it really can't be
-canonical. Instead, the combination of track title / artist is really the best
-we can do. Last.fm also has this problem, where it doesn't know about albums and
-definitely does not know or care about MB ids.
-
-** DONE Add a user profile page with ability to change settings :profiles:improvement:
-- Note taken on [2025-04-04 Fri 10:51]
- [[orgit-rev:~/src/code.unbl.ink/secstate/vrobbler/::93c16d80ecff4cd1663cf9ec40fbe6d8f58c3e44][~/src/code.unbl.ink/secstate/vrobbler/ (magit-rev 93c16d8)]]
-
- https://code.unbl.ink/secstate/vrobbler/commit/93c16d80ecff4cd1663cf9ec40fbe6d8f58c3e44
-
-** DONE What to do with Youtube videos from LastFM and web-scrobbler :bug:source:lastfm:
-- Note taken on [2025-04-04 Fri 10:46]
-
-  Nothing. Over the last few months I built out a youtube model in videos and
-  use a bookmarklet scrobbling pattern. Now web-scrobbler is just disabled for
-  Youtube.
-
-  May want to revisit this at some point and only scrobble tracks from Youtube,
-  because many people use YT for music listening.
-
-** DONE [#C] Consider a purge command for duplicated and stuck in-progress scrobbles :utililty:improvement:
-CLOSED: [2023-04-06 Thu 14:09]
-** DONE Add a "stop_timestamp" so we don't rely on content length :improvement:scrobbling:
-CLOSED: [2023-04-02 Sun 23:58]
-
-Essentially, we currently have the timestamp as when the content began
-scrobbling and then calculate the finish time from the length of the content.
-This works pretty well because we know how long most things are.
-
-But in some cases, sports events or long podcasts, we may start mid-way through
-an event or finish halfway through but still want to mark it as done. In these
-cases, knowing the finish time could be useful, especially when interfacing with
-other scrobblers which may have different definitions of when a scrobble
-finishes or started.
-** DONE Fix bug with Various Artist albums being labeled with first artist as album artist :scrobbling:bug:music:
-CLOSED: [2023-03-27 Mon 20:18]
-:LOGBOOK:
-CLOCK: [2023-03-26 Sun 22:01]--[2023-03-27 Mon 01:07] =>  3:06
-:END:
-** DONE Fix bug with weekly aggregator being blank on Sundays :aggregators:music:bug:
-CLOSED: [2023-03-26 Sun 13:52]
-** DONE Fix KoReader scrobbling to use pages rather than time of last read :scrobbling:books:improvement:
-CLOSED: [2023-03-26 Sun 13:51]
-:LOGBOOK:
-CLOCK: [2023-03-26 Sun 13:11]--[2023-03-26 Sun 13:51] =>  0:40
-:END:
-** DONE [#A] Add django-storage to store files on S3 :settings:improvement:
-CLOSED: [2023-03-24 Fri 14:46]
-:LOGBOOK:
-CLOCK: [2023-03-24 Fri 10:47]--[2023-03-24 Fri 14:46] =>  3:59
-CLOCK: [2023-03-24 Fri 10:36]--[2023-03-24 Fri 10:40] =>  0:04
-:END:
-** DONE Fix vrobbler settings not using booleans :settings:bug:
-CLOSED: [2023-03-24 Fri 10:45]
-:LOGBOOK:
-CLOCK: [2023-03-24 Fri 10:40]--[2023-03-24 Fri 10:46] =>  0:06
-:END:
-** DONE Update weekly live chart to be 7-day continuous rather than weekly :views:bug:
-CLOSED: [2023-03-24 Fri 00:31]
-The live view will be blank every Monday, no reason to tie it to a day of the
-week. It should be "the last 7 days"
-** DONE [#B] Implement a detail view for TV shows :improvement:views:
-CLOSED: [2023-03-22 Wed 17:05]
-** DONE [#B] Implement a detail view for Movies :improvement:views:
-CLOSED: [2023-03-22 Wed 17:05]
-** DONE Add "service provider" to TV Series, and use that for source when available :bug:scrobbling:
-CLOSED: [2023-03-22 Wed 17:04]
-** DONE Add view for long-play content (books, video games) to restart them :views:improvement:
-CLOSED: [2023-03-22 Wed 17:01]
-** DONE Add live chart view like Maloja :improvement:views:
-CLOSED: [2023-03-07 Tue 11:13]
-** DONE [#C] Figure out how to add to web-scrobbler :improvement:scrobbling:
-CLOSED: [2023-03-22 Wed 17:06]
-
-An example:
-https://github.com/web-scrobbler/web-scrobbler/blob/master/src/core/background/scrobbler/maloja-scrobbler.js
-
-This is actually going to be moot because we can import from LastFM, and
-web-scrobbler integrates well with LastFM. The only thing to think through here
-now is what to do with all the garbage web-scrobbler sometimes pushes to LastFM
-from Youtube (all videos get pushed, sigh).
-
-** DONE Add Amazon scraper to look up books when OL fails :books:improvement:
-This turned out to be a non-starter ... Amazon is aggressive at disallowing
-scraping quality. And all the OSS tools out there are stuck in an arms race
-trying to keep them from breaking.
-
-That said, Google Books actually has a decent API (for now), and I've built this
-out using that.
-
-** DONE Fix bug in Jellyfin scrobbles that spam more scrobbles after completion :scrobbling:videos:bug:
-This was fixed a while ago, but there's a new manifested bug. Going to create a
-separate bug tracking ticket for that.
-* Version 0.11.4
-** DONE Add rudimentary video game scrobbling :improvement:content:videogames:
-CLOSED: [2023-03-07 Tue 11:11]
-** DONE Add ability to scrobble from KOReader statistics files :improvement:books:content:
-CLOSED: [2023-03-07 Tue 11:11]
-
-** DONE [#A] Fix fetching artwork without release group :bug:
-CLOSED: [2023-01-29 Sun 14:27]
-
-When we get artwork from Musicbrianz, and it's not found, we should check for
-release groups as well. This will stop issues with missing artwork because of
-obscure MB release matches.
-
-** DONE [#A] Fix Jellyfin music scrobbling N+1 past 90 completion percent :bug:
-CLOSED: [2023-01-30 Mon 18:31]
-:LOGBOOK:
-CLOCK: [2023-01-30 Mon 18:00]--[2023-01-30 Mon 18:31] =>  0:31
-:END:
-
-If we play music from Jellyfin and the track reaches 90% completion, the
-scrobbling goes crazy and starts creating new scrobbles with every update.
-
-The cause is pretty simple, but the solution is hard. We want to mark a scrobble
-as complete for the following conditions:
-
-- Play stopped and percent played beyond 90%
-- Play completely finished
-
-But if we keep listening beyond 90, we should basically ignore updates (or just
-update the existing scrobble)
-** DONE [#A] Add support for Audioscrobbler tab-separated file uploads :improvement:
-CLOSED: [2023-02-03 Fri 16:52]
-
-An example of the format:
-#+begin_src csv
-,
-#AUDIOSCROBBLER/1.1
-#TZ/UNKNOWN
-#CLIENT/Rockbox sansaclipplus $Revision$
-75 Dollar Bill	I Was Real	I Was Real	4	1015	S	1740494944	64ff5f53-d187-4512-827e-7606c69e66ff
-75 Dollar Bill	I Was Real	I Was Real	4	1015	S	1740494990	64ff5f53-d187-4512-827e-7606c69e66ff
-311	311	Down	1	173	S	1740495003	00476c23-fd9e-464b-9b27-a62d69f3d4f4
-311	311	Down	1	173	L	1740495049	00476c23-fd9e-464b-9b27-a62d69f3d4f4
-311	311	Down	1	173	L	1740495113	00476c23-fd9e-464b-9b27-a62d69f3d4f4
-311	311	Random	2	187	S	1740495190	530c09f3-46fe-4d90-b11f-7b63bcb4b373
-311	311	Random	2	187	L	1740495194	530c09f3-46fe-4d90-b11f-7b63bcb4b373
-311	311	Jackolantern’s Weather	3	204	L	1740495382	cc3b2dec-5d99-47ea-8930-20bf258be4ea
-311	311	All Mixed Up	4	182	L	1740495586	980a78b5-5bdd-4f50-9e3a-e13261e2817b
-311	311	Hive	5	179	L	1740495768	18f6dc98-d3a2-4f81-b967-97359d14c68c
-311	311	Guns (Are for Pussies)	6	137	L	1740495948	5e97ed9f-c8cc-4282-9cbe-f8e17aee5128
-311	311	Misdirected Hostility	7	179	S	1740496085	61ff2c1a-fc9c-44c3-8da1-5e50a44245af
-,
-#+end_src
-** DONE [#B] Allow scrobbling music without MB IDs by grabbing them before scrobble :improvement:
-CLOSED: [2023-02-17 Fri 00:10]
-
-This would allow a few nice flows. One, you'd be able to record the play of an
-entire album by just dropping the muscibrainz_id in. This could be helpful for
-offline listening. It would also mean bad metadata from mopidy would not break
-scrobbling.
-** DONE When updating musicbrainz IDs, clear and run fetch artwrok :improvement:
-CLOSED: [2023-02-17 Fri 00:11]
-** DONE [#A] Add ability to manually scrobble albums or tracks from MB :improvement:
-CLOSED: [2023-03-07 Tue 11:09]
-
-Given a UUID from musicbrainz, we should be able to scrobble an album or
-individual track.
-
-** DONE [#C] Implement keeping track of week/month/year chart-toppers :improvement:
-CLOSED: [2023-03-07 Tue 11:10]
-:LOGBOOK:
-CLOCK: [2023-01-30 Mon 16:30]--[2023-01-30 Mon 18:00] =>  1:30
-:END:
-
-Maloja does this cool thing where artists and tracks get recorded as the top
-track of a given week, month or year. They get gold, silver or bronze stars for
-their place in the time period.
-
-I could see this being implemented as a separate Chart table which gets
-populated at the end of a time period and has a start and end date that defines
-a period, along with a one, two, three instance.
-
-Of course, it could also be a data model without a table, where it runs some fun
-calculations, stores it's values in Redis as a long-term lookup table and just
-has to re-populate when the server restarts.
-* Backlog
 ** TODO [#C] Move to using more robust mopidy-webhooks pacakge form pypi :utility:improvement:
 *** Example payloads from mopidy-webhooks
 **** Podcast playback ended
@@ -548,3 +311,240 @@ has to re-populate when the server restarts.
     }
 }
 #+end_src
+* Version 17 [4/4]
+** DONE [#A] Investigate new source of video metadata :personal:project:video:imdb:
+:PROPERTIES:
+:ID:       df2b486c-1170-5199-c312-9bc87760d962
+:END:
+
+Cinemagoer broke and I probably should find a more reilable source of video data.
+
+- Note taken on [2025-06-13 Fri 11:19]
+
+  TMDB is much more reliable, but does require an API key. That's all setup now,
+  so hopefully this breaking IMDB crap is over.
+
+** DONE IMDB video lookups are failing :personal:bug:video:imdb:
+:PROPERTIES:
+:ID:       38f1081f-37b4-f4f2-79aa-c1e87eca4b69
+:END:
+<2025-06-13 Fri>
+
+- Note taken on [2025-06-13 Fri 08:24]
+
+  Looks like Cinemagoer is broken: https://github.com/cinemagoer/cinemagoer/issues/537
+
+** DONE [#A] Emacs is not syncing notes :personal:scrobbling:emacs:bug:
+:PROPERTIES:
+:ID:       c79cd491-b30f-0945-d84b-b8cac7562791
+:END:
+<2025-06-12 Thu 9:30>
+
+Not sure if the problem is in my Emacs hook sending or Vrobbler itself.
+
+- Note taken on [2025-06-12 Thu 09:47]
+
+  Adding a quick note to check on it
+
+- Note taken on [2025-06-12 Thu 09:50]
+
+  Ah ha. All the messing about with the source field meant that I was looking
+  for `emacs` as a source but the hook was initially setting sources to
+  `orgmode` I think I prefer `orgmode` as the source, so updating it thusly.
+
+  Fixed in `490d60cbbb1f8bf90b5fc47d8685b15bdc1d485b`
+
+** DONE [#A] Show the description of a task in the string rep for a scrobble of a Task :personal:project:scrobbling:vrobbler:feature:
+:PROPERTIES:
+:ID:       df58f8d0-fa4a-2037-c7d7-e5388c239042
+:END:
+* Version 0.16.0
+** DONE [#A] Jellyfin, bandcamp tracks from Mopidy create duplicate music tracks :bug:scrobbling:music:
+:PROPERTIES:
+:ID:       670e8634-49b5-dce9-1684-14f2ffb797f1
+:END:
+Effectively, any track that comes in without a MusicBrainz ID does some funky
+lookup where it doesn't find a track without an MB id and the track title /
+artist combination and creates a new track every time. This has to be cleaned up
+by condensing the duplicated tracks into the original proper track.
+
+But it opens a bigger question about how much MB id should the drive the app
+lookup. If it can't be depended on to exist from all sources, it really can't be
+canonical. Instead, the combination of track title / artist is really the best
+we can do. Last.fm also has this problem, where it doesn't know about albums and
+definitely does not know or care about MB ids.
+
+** DONE Add a user profile page with ability to change settings :profiles:improvement:
+- Note taken on [2025-04-04 Fri 10:51]
+ [[orgit-rev:~/src/code.unbl.ink/secstate/vrobbler/::93c16d80ecff4cd1663cf9ec40fbe6d8f58c3e44][~/src/code.unbl.ink/secstate/vrobbler/ (magit-rev 93c16d8)]]
+
+ https://code.unbl.ink/secstate/vrobbler/commit/93c16d80ecff4cd1663cf9ec40fbe6d8f58c3e44
+
+** DONE What to do with Youtube videos from LastFM and web-scrobbler :bug:source:lastfm:
+- Note taken on [2025-04-04 Fri 10:46]
+
+  Nothing. Over the last few months I built out a youtube model in videos and
+  use a bookmarklet scrobbling pattern. Now web-scrobbler is just disabled for
+  Youtube.
+
+  May want to revisit this at some point and only scrobble tracks from Youtube,
+  because many people use YT for music listening.
+
+** DONE [#C] Consider a purge command for duplicated and stuck in-progress scrobbles :utililty:improvement:
+CLOSED: [2023-04-06 Thu 14:09]
+** DONE Add a "stop_timestamp" so we don't rely on content length :improvement:scrobbling:
+CLOSED: [2023-04-02 Sun 23:58]
+
+Essentially, we currently have the timestamp as when the content began
+scrobbling and then calculate the finish time from the length of the content.
+This works pretty well because we know how long most things are.
+
+But in some cases, sports events or long podcasts, we may start mid-way through
+an event or finish halfway through but still want to mark it as done. In these
+cases, knowing the finish time could be useful, especially when interfacing with
+other scrobblers which may have different definitions of when a scrobble
+finishes or started.
+** DONE Fix bug with Various Artist albums being labeled with first artist as album artist :scrobbling:bug:music:
+CLOSED: [2023-03-27 Mon 20:18]
+:LOGBOOK:
+CLOCK: [2023-03-26 Sun 22:01]--[2023-03-27 Mon 01:07] =>  3:06
+:END:
+** DONE Fix bug with weekly aggregator being blank on Sundays :aggregators:music:bug:
+CLOSED: [2023-03-26 Sun 13:52]
+** DONE Fix KoReader scrobbling to use pages rather than time of last read :scrobbling:books:improvement:
+CLOSED: [2023-03-26 Sun 13:51]
+:LOGBOOK:
+CLOCK: [2023-03-26 Sun 13:11]--[2023-03-26 Sun 13:51] =>  0:40
+:END:
+** DONE [#A] Add django-storage to store files on S3 :settings:improvement:
+CLOSED: [2023-03-24 Fri 14:46]
+:LOGBOOK:
+CLOCK: [2023-03-24 Fri 10:47]--[2023-03-24 Fri 14:46] =>  3:59
+CLOCK: [2023-03-24 Fri 10:36]--[2023-03-24 Fri 10:40] =>  0:04
+:END:
+** DONE Fix vrobbler settings not using booleans :settings:bug:
+CLOSED: [2023-03-24 Fri 10:45]
+:LOGBOOK:
+CLOCK: [2023-03-24 Fri 10:40]--[2023-03-24 Fri 10:46] =>  0:06
+:END:
+** DONE Update weekly live chart to be 7-day continuous rather than weekly :views:bug:
+CLOSED: [2023-03-24 Fri 00:31]
+The live view will be blank every Monday, no reason to tie it to a day of the
+week. It should be "the last 7 days"
+** DONE [#B] Implement a detail view for TV shows :improvement:views:
+CLOSED: [2023-03-22 Wed 17:05]
+** DONE [#B] Implement a detail view for Movies :improvement:views:
+CLOSED: [2023-03-22 Wed 17:05]
+** DONE Add "service provider" to TV Series, and use that for source when available :bug:scrobbling:
+CLOSED: [2023-03-22 Wed 17:04]
+** DONE Add view for long-play content (books, video games) to restart them :views:improvement:
+CLOSED: [2023-03-22 Wed 17:01]
+** DONE Add live chart view like Maloja :improvement:views:
+CLOSED: [2023-03-07 Tue 11:13]
+** DONE [#C] Figure out how to add to web-scrobbler :improvement:scrobbling:
+CLOSED: [2023-03-22 Wed 17:06]
+
+An example:
+https://github.com/web-scrobbler/web-scrobbler/blob/master/src/core/background/scrobbler/maloja-scrobbler.js
+
+This is actually going to be moot because we can import from LastFM, and
+web-scrobbler integrates well with LastFM. The only thing to think through here
+now is what to do with all the garbage web-scrobbler sometimes pushes to LastFM
+from Youtube (all videos get pushed, sigh).
+
+** DONE Add Amazon scraper to look up books when OL fails :books:improvement:
+This turned out to be a non-starter ... Amazon is aggressive at disallowing
+scraping quality. And all the OSS tools out there are stuck in an arms race
+trying to keep them from breaking.
+
+That said, Google Books actually has a decent API (for now), and I've built this
+out using that.
+
+** DONE Fix bug in Jellyfin scrobbles that spam more scrobbles after completion :scrobbling:videos:bug:
+This was fixed a while ago, but there's a new manifested bug. Going to create a
+separate bug tracking ticket for that.
+* Version 0.11.4
+** DONE Add rudimentary video game scrobbling :improvement:content:videogames:
+CLOSED: [2023-03-07 Tue 11:11]
+** DONE Add ability to scrobble from KOReader statistics files :improvement:books:content:
+CLOSED: [2023-03-07 Tue 11:11]
+
+** DONE [#A] Fix fetching artwork without release group :bug:
+CLOSED: [2023-01-29 Sun 14:27]
+
+When we get artwork from Musicbrianz, and it's not found, we should check for
+release groups as well. This will stop issues with missing artwork because of
+obscure MB release matches.
+
+** DONE [#A] Fix Jellyfin music scrobbling N+1 past 90 completion percent :bug:
+CLOSED: [2023-01-30 Mon 18:31]
+:LOGBOOK:
+CLOCK: [2023-01-30 Mon 18:00]--[2023-01-30 Mon 18:31] =>  0:31
+:END:
+
+If we play music from Jellyfin and the track reaches 90% completion, the
+scrobbling goes crazy and starts creating new scrobbles with every update.
+
+The cause is pretty simple, but the solution is hard. We want to mark a scrobble
+as complete for the following conditions:
+
+- Play stopped and percent played beyond 90%
+- Play completely finished
+
+But if we keep listening beyond 90, we should basically ignore updates (or just
+update the existing scrobble)
+** DONE [#A] Add support for Audioscrobbler tab-separated file uploads :improvement:
+CLOSED: [2023-02-03 Fri 16:52]
+
+An example of the format:
+#+begin_src csv
+,
+#AUDIOSCROBBLER/1.1
+#TZ/UNKNOWN
+#CLIENT/Rockbox sansaclipplus $Revision$
+75 Dollar Bill	I Was Real	I Was Real	4	1015	S	1740494944	64ff5f53-d187-4512-827e-7606c69e66ff
+75 Dollar Bill	I Was Real	I Was Real	4	1015	S	1740494990	64ff5f53-d187-4512-827e-7606c69e66ff
+311	311	Down	1	173	S	1740495003	00476c23-fd9e-464b-9b27-a62d69f3d4f4
+311	311	Down	1	173	L	1740495049	00476c23-fd9e-464b-9b27-a62d69f3d4f4
+311	311	Down	1	173	L	1740495113	00476c23-fd9e-464b-9b27-a62d69f3d4f4
+311	311	Random	2	187	S	1740495190	530c09f3-46fe-4d90-b11f-7b63bcb4b373
+311	311	Random	2	187	L	1740495194	530c09f3-46fe-4d90-b11f-7b63bcb4b373
+311	311	Jackolantern’s Weather	3	204	L	1740495382	cc3b2dec-5d99-47ea-8930-20bf258be4ea
+311	311	All Mixed Up	4	182	L	1740495586	980a78b5-5bdd-4f50-9e3a-e13261e2817b
+311	311	Hive	5	179	L	1740495768	18f6dc98-d3a2-4f81-b967-97359d14c68c
+311	311	Guns (Are for Pussies)	6	137	L	1740495948	5e97ed9f-c8cc-4282-9cbe-f8e17aee5128
+311	311	Misdirected Hostility	7	179	S	1740496085	61ff2c1a-fc9c-44c3-8da1-5e50a44245af
+,
+#+end_src
+** DONE [#B] Allow scrobbling music without MB IDs by grabbing them before scrobble :improvement:
+CLOSED: [2023-02-17 Fri 00:10]
+
+This would allow a few nice flows. One, you'd be able to record the play of an
+entire album by just dropping the muscibrainz_id in. This could be helpful for
+offline listening. It would also mean bad metadata from mopidy would not break
+scrobbling.
+** DONE When updating musicbrainz IDs, clear and run fetch artwrok :improvement:
+CLOSED: [2023-02-17 Fri 00:11]
+** DONE [#A] Add ability to manually scrobble albums or tracks from MB :improvement:
+CLOSED: [2023-03-07 Tue 11:09]
+
+Given a UUID from musicbrainz, we should be able to scrobble an album or
+individual track.
+
+** DONE [#C] Implement keeping track of week/month/year chart-toppers :improvement:
+CLOSED: [2023-03-07 Tue 11:10]
+:LOGBOOK:
+CLOCK: [2023-01-30 Mon 16:30]--[2023-01-30 Mon 18:00] =>  1:30
+:END:
+
+Maloja does this cool thing where artists and tracks get recorded as the top
+track of a given week, month or year. They get gold, silver or bronze stars for
+their place in the time period.
+
+I could see this being implemented as a separate Chart table which gets
+populated at the end of a time period and has a start and end date that defines
+a period, along with a one, two, three instance.
+
+Of course, it could also be a data model without a table, where it runs some fun
+calculations, stores it's values in Redis as a long-term lookup table and just
+has to re-populate when the server restarts.