332 Commits

Author SHA1 Message Date
ab3079b0ea [release] Bump to version 65.5
All checks were successful
ci / test (push) Successful in 2m12s
ci / build-and-deploy (push) Successful in 49s
- Fix database backup bug where running in celery task fails
- Rename the default,charts celery worker to vrobbler_celery_charts
2026-08-13 19:21:55 -04:00
8af58f5f25 [celery] Rename default,charts worker to vrobbler_celery_charts 2026-08-13 19:01:27 -04:00
74d0c67f02 [backups] Fix pg_dump not found in celery backup task 2026-08-13 18:56:11 -04:00
28cbe24f9a [release] Bump to version 65.3
All checks were successful
ci / test (push) Successful in 2m20s
ci / build-and-deploy (push) Has been skipped
- Trail scrobbles without names should try to use trial heads loc
2026-08-13 18:49:38 -04:00
8a392f4fa2 [trails] Add geo-derived names, terminus and route tags to trail imports 2026-08-13 15:06:58 -04:00
f41a98cbdd [release] Bump to version 65.2
Some checks failed
ci / test (push) Successful in 2m18s
ci / build-and-deploy (push) Failing after 50s
- Dedup track scrobbles from lastfm import
- Write a script to check for raw mopidy vs found track discrepancies
- Push database backups to WebDAV from the backup management command
2026-08-10 15:30:30 -04:00
bef416b7a1 Add WebDAV backup push to backup_database 2026-08-10 12:14:57 -04:00
bce6639b04 [scrobbles] Add dedup_scrobbles command to remove duplicate scrobbles (69f22940)
All checks were successful
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
All checks were successful
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
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
3cec979d0a [release] Bump to version 65.0
All checks were successful
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
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
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)
All checks were successful
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
All checks were successful
ci / test (push) Successful in 1m59s
ci / build-and-deploy (push) Successful in 38s
- Clean up issues with org-mode notes
2026-08-03 12:06:19 -04:00
6cd05ff6c8 [tasks] Clean up org-mode note syncing for emacs webhooks (aa3dae85)
All checks were successful
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
All checks were successful
ci / test (push) Successful in 2m1s
ci / build-and-deploy (push) Successful in 37s
- Fix raw HTML output from agent response
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
All checks were successful
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
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
c874fb8c6d [release] Bump to version 64.2
All checks were successful
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
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
All checks were successful
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
2026-08-01 21:43:20 -04:00
27b2f603ab [release] Bump to version 64.0
All checks were successful
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
2026-07-31 23:55:01 -04:00
1e338dec2d [agents] Swap agent flow to OpenRouter with model selection
All checks were successful
ci / test (push) Successful in 2m35s
ci / build-and-deploy (push) Has been skipped
2026-07-31 23:06:09 -04:00
de84e191df [geoloc] Handle Nominatim 429 rate limits with throttle and retry
All checks were successful
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
All checks were successful
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
2026-07-31 09:51:25 -04:00
66fa555f63 [release] Bump to version 63.1
All checks were successful
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
2026-07-31 09:09:19 -04:00
af84e1419b [agents] Auto-complete agent session scrobbles after 10 minutes
All checks were successful
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
All checks were successful
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
2026-07-31 00:27:42 -04:00
0c92174440 [agents] Add agent-session scrobbling for Gemini and opencode providers
All checks were successful
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
All checks were successful
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
2026-07-30 12:09:56 -04:00
428d84d3bf Fix ImproperlyConfigured for drink-detail in scrobbles API
HyperlinkedModelSerializer could not resolve drink-detail because no
API ViewSet existed for the Drink model, even though the template URL
existed in drinks/urls.py.

Fix:
- Add DrinkSerializer and DrinkViewSet to drinks/api/
- Register DrinkViewSet as 'drinks' in the DRF router (vrobbler/urls.py)
- Mark task 8f2a3b4c as DONE in PROJECT.org

GET /api/v1/scrobbles/ now resolves without error.
2026-07-23 20:26:39 -04:00
d004336dd3 Add backlog task for drink-detail ImproperlyConfigured bug
GET /api/v1/scrobbles/ fails because HyperlinkedModelSerializer
can't resolve drink-detail — no API ViewSet exists for it, only a
template view in drinks/urls.py.
2026-07-23 20:22:59 -04:00
261bb618f5 Mark Android scaffold task as DONE in PROJECT.org
Scaffold completed in ../vrobbler-android with Compose, Hilt,
Navigation, OkHttp, Moshi, and EncryptedSharedPreferences.
2026-07-23 20:16:21 -04:00
cd9961662e Add drf-spectacular for OpenAPI schema generation
Closes #2fddd5d0-1138-4a6e-96b7-5879035f033f

drf-spectacular provides OpenAPI 3.0 schema generation for all 52
registered ViewSet endpoints under api/v1/. This is a prerequisite for
auto-generating the Kotlin networking layer.

Changes:
- Add drf-spectacular dependency (0.27.x)
- Register in INSTALLED_APPS and configure DEFAULT_SCHEMA_CLASS
- Add /api/schema/ (OpenAPI YAML) and /api/docs/ (Swagger UI) routes
- Add SPECTACULAR_SETTINGS with enum name overrides to suppress warnings

Schema generates cleanly with 4 non-blocking warnings (1 unique:
TagListSerializerField defaulting to string) and 14 unique skipped
errors (all non-ViewSet APIViews like webhooks that lack serializers).
2026-07-23 20:01:04 -04:00
050fce7ffc [release] Bump to version 62.1
All checks were successful
ci / test (push) Successful in 2m41s
ci / build-and-deploy (push) Successful in 1m40s
- Add open food stats as requirement
2026-07-22 01:17:09 -04:00
3bfb01b3f7 poetry lock 2026-07-22 01:16:52 -04:00
dbb6225315 [release] Bump to version 62.0
Some checks failed
ci / test (push) Failing after 48s
ci / build-and-deploy (push) Has been skipped
- Add open food facts source for Food and Drink
2026-07-21 17:10:56 -04:00
155ed2a4f8 feat: add Open Food Facts search selector for food and drinks
- Add openfoodfacts Python SDK dependency
- Create foods/sources/openfoodfacts.py API wrapper with text_search
- Add off_code field + find_or_create_from_search() to Food model
- Add nutrition fields (protein, fat, carbs, fiber, sugar, sodium),
  ingredients, image, off_code to Drink model
- Create FoodSearchView and FoodScrobbleFromSearchView at /foods/search/
- Route beverages to Drink model based on OFF category keywords
- Update ManualScrobbleView to redirect '-f Food Name' to food search
- Add Drinks section to home page and scrobble detail templates
- Update drink_detail.html with nutrition grid and image display
2026-07-21 17:09:13 -04:00