bce6639b04
[scrobbles] Add dedup_scrobbles command to remove duplicate scrobbles (69f22940)
ci / test (push) Successful in 2m6s
ci / build-and-deploy (push) Has been skipped
2026-08-10 00:31:54 -04:00
cbf027203c
[music] Report and fix mismatched track metadata (0b98a1b9)
2026-08-09 10:23:09 -04:00
2adc7f6f6b
[release] Bump to version 65.1
...
ci / test (push) Successful in 2m7s
ci / build-and-deploy (push) Has been skipped
- Add an exception list of artists as a constant that are exempted from splitting
- Fix celery task prioritization especially for agent sessions
- Before enriching anything, trust the POST data
- Fix lastfm rate limiting dropping scrobbles
65.1
2026-08-08 20:40:45 -04:00
5e3b0055dc
[music] Resolve artist identity before splitting (fd86a11a)
2026-08-08 20:35:45 -04:00
5f88d97c69
[scrobbles] Trust webhook POST data and enrich tracks async (db6b05f8)
2026-08-08 20:16:29 -04:00
17706f3f56
[project] Groom backlog
2026-08-08 12:33:15 -04:00
f7087ebe4e
[celery] Queue-based task prioritization (672c81bf)
2026-08-08 12:11:08 -04:00
d5a753146f
Fix LastFM rate limiting dropping scrobbles (f91fdd53 follow-up)
2026-08-08 00:40:29 -04:00
f8094fb1b0
[agent] Add opencode ignore file
2026-08-08 00:05:31 -04:00
3cec979d0a
[release] Bump to version 65.0
...
ci / test (push) Successful in 2m22s
ci / build-and-deploy (push) Successful in 1m26s
- Investigate how historice lastfm imports work
- Fix LookupError on scrobble start/long-plays views
- Add Flexify workout importer
- Add workouts app with exercise catalog and workout routines
- When sharing a scrobble, share the log data too
65.0
2026-08-08 00:04:53 -04:00
4e46bcd5c1
Fix historical LastFM import resume and dedup (f91fdd53)
2026-08-07 23:56:37 -04:00
080814d839
Split version history out of PROJECT.org into CHANGELOG.org
2026-08-07 21:54:24 -04:00
f04b7238b5
[tasks] Mark 868e2a91 scrobble lookup bug as done
2026-08-07 20:24:44 -04:00
dc17a285c1
[scrobbles] Share log data on shared scrobble links (46de9f0e)
2026-08-07 20:19:32 -04:00
c61823f881
[workouts] Mark imported workout scrobbles as complete (not in progress)
2026-08-07 14:36:51 -04:00
fbb1725d10
[scrobbles] Fix LookupError in scrobble start and long-plays media lookups (868e2a91)
2026-08-07 13:02:43 -04:00
b815ca4e80
[workouts] Add Flexify workout importer (96c9fbf5)
ci / test (push) Successful in 2m26s
ci / build-and-deploy (push) Has been skipped
2026-08-07 12:46:32 -04:00
89e95d2424
[workouts] Add the base for a workouts tracking app
2026-08-07 11:44:16 -04:00
5def87e7f1
[workouts] Add workouts app with exercise catalog and workout routines (ca613753)
2026-08-06 20:36:24 -04:00
550e17c5c5
[release] Bump to version 64.5
...
ci / test (push) Successful in 1m59s
ci / build-and-deploy (push) Successful in 38s
- Clean up issues with org-mode notes
64.5
2026-08-03 12:06:19 -04:00
6cd05ff6c8
[tasks] Clean up org-mode note syncing for emacs webhooks (aa3dae85)
ci / test (push) Successful in 2m10s
ci / build-and-deploy (push) Has been skipped
2026-08-03 12:02:08 -04:00
d19f931d21
[release] Bump to version 64.4
...
ci / test (push) Successful in 2m1s
ci / build-and-deploy (push) Successful in 37s
- Fix raw HTML output from agent response
64.4
2026-08-03 11:10:14 -04:00
6dfdf0f1cb
[agents] Fix raw HTML in agent session responses
2026-08-03 11:09:50 -04:00
937f431d7a
[release] Bump to version 64.3
...
ci / test (push) Successful in 2m1s
ci / build-and-deploy (push) Successful in 41s
- Add notifications when agent prompts return responses
- Make agent prompts more resilient
64.3
2026-08-03 10:27:59 -04:00
b8eb13083f
[agents] Notify on agent responses and retry failed prompts
2026-08-03 10:25:39 -04:00
2ce3b756e6
[data] Add example data files
2026-08-02 09:59:30 -04:00
c874fb8c6d
[release] Bump to version 64.2
...
ci / test (push) Successful in 2m35s
ci / build-and-deploy (push) Successful in 1m11s
- Fix a bug in koreader imports using a static tmp file
64.2
2026-08-02 09:26:40 -04:00
8be6c7c5f3
[koreader] Use unique temp file for WebDAV import downloads
2026-08-02 09:25:52 -04:00
5c3583e7f0
[release] Bump to version 64.1
...
ci / test (push) Successful in 2m36s
ci / build-and-deploy (push) Successful in 52s
- Add search for agent sessiosn
- Add rc.d files for FreeBSD process management
64.1
2026-08-01 21:43:20 -04:00
20e03dd686
[rc.d] Fix FreeBSD service scripts and switch deploy tooling to service(8)
2026-08-01 21:26:14 -04:00
8e16c8f91e
[agents] Add search across agent prompts and responses
2026-08-01 20:34:39 -04:00
27b2f603ab
[release] Bump to version 64.0
...
ci / test (push) Successful in 2m28s
ci / build-and-deploy (push) Has been skipped
- Add Google Gemini as a model option back for agent sessions
- Update agent flow to use OpenRouter and select model
64.0
2026-07-31 23:55:01 -04:00
42ccdf5507
[agents] Offer Gemini as a model option alongside OpenRouter
ci / test (push) Has been cancelled
ci / build-and-deploy (push) Has been cancelled
2026-07-31 23:52:54 -04:00
1e338dec2d
[agents] Swap agent flow to OpenRouter with model selection
ci / test (push) Successful in 2m35s
ci / build-and-deploy (push) Has been skipped
2026-07-31 23:06:09 -04:00
25f83bf08d
[css] Bummp font on notes
2026-07-31 22:36:24 -04:00
de84e191df
[geoloc] Handle Nominatim 429 rate limits with throttle and retry
ci / test (push) Successful in 2m45s
ci / build-and-deploy (push) Has been skipped
2026-07-31 22:31:13 -04:00
d12a42adeb
[release] Bump to version 63.2
...
ci / test (push) Successful in 2m37s
ci / build-and-deploy (push) Successful in 41s
- Swap around AI API key for Google so Youtube still works
63.2
2026-07-31 09:51:25 -04:00
668570188a
[agents] Use dedicated GOOGLE_AI_API_KEY for Gemini agent provider
ci / test (push) Has been cancelled
ci / build-and-deploy (push) Has been cancelled
2026-07-31 09:50:02 -04:00
66fa555f63
[release] Bump to version 63.1
...
ci / test (push) Successful in 2m31s
ci / build-and-deploy (push) Successful in 52s
- Fix agent scrobble bug with duration
- Swap around AI API key for Google so Youtube still works
63.1
2026-07-31 09:09:19 -04:00
af84e1419b
[agents] Auto-complete agent session scrobbles after 10 minutes
ci / test (push) Successful in 2m51s
ci / build-and-deploy (push) Has been skipped
2026-07-31 08:19:23 -04:00
63589c3fcc
[release] Bump to version 63.0
...
ci / test (push) Successful in 2m40s
ci / build-and-deploy (push) Successful in 56s
- Add agent-session scrobbling
- Fix small bug in nature importer if geojson is missing
63.0
2026-07-31 00:27:42 -04:00
eb991dbf0e
[agents] Show agent sessions on homepage with first-prompt title
ci / build-and-deploy (push) Has been cancelled
ci / test (push) Has been cancelled
2026-07-31 00:26:58 -04:00
0c92174440
[agents] Add agent-session scrobbling for Gemini and opencode providers
ci / test (push) Successful in 3m2s
ci / build-and-deploy (push) Has been skipped
2026-07-31 00:21:24 -04:00
952ed596da
[nature] Fix bug in importer when geojson is missing
2026-07-30 23:04:55 -04:00
2d2f77cfb4
[release] Bump to version 62.2
...
ci / test (push) Successful in 2m25s
ci / build-and-deploy (push) Successful in 1m42s
- Fix concurrent trend to be more useful
- Add a public blog feature for scrobbles with notes
- Add drf-spectacular for OpenAPI schema generation
62.2
2026-07-30 12:09:56 -04:00
124eb86b74
Remove concurrent-reading trend, replace with concurrent-media-listening
2026-07-30 12:07:55 -04:00
b437e2a970
Add blog endpoint at /blog/<username>/ showing scrobbles with notes
2026-07-30 11:25:58 -04:00
d08aedbe2a
Add filters to scrobble API endpoint
...
Add django-filter support to the ScrobbleViewSet with filters for:
- in_progress: boolean filter for active scrobbles
- visibility: enum filter (public/shared/private)
- media_type: enum filter for all 25 media types
- source: text search filter (icontains)
- played_to_completion: boolean filter
- timestamp_after/before: datetime range filters
Changes:
- Create scrobbles/api/filters.py with ScrobbleFilter class
- Add filterset_class to ScrobbleViewSet
- Filters appear in OpenAPI schema at /api/v1/scrobbles/
2026-07-23 21:45:50 -04:00
408475f159
Add videogame API and register ViewSets for scrobble relationships
...
VideoGame was missing from the API router, causing
HyperlinkedModelSerializer to fail when generating URLs for scrobble
relationships.
Changes:
- Create videogames/api/ with serializers and views
- Register VideoGameViewSet at /api/v1/videogames/
- Register VideoGameCollectionViewSet at /api/v1/videogame-collections/
- Register VideoGamePlatformViewSet at /api/v1/videogame-platforms/
2026-07-23 21:42:39 -04:00
caff69c714
Register missing trail and food-category ViewSets in API router
...
TrailViewSet and FoodCategoryViewSet were imported but never registered
in the DRF router, causing HyperlinkedModelSerializer to fail when
trying to generate URLs for scrobble relationships.
Changes:
- Add router.register(r'trails', TrailViewSet)
- Add router.register(r'food-categories', FoodCategoryViewSet)
2026-07-23 21:40:45 -04:00