mrleo1nid and Claude Sonnet 5.5
f7ffa5d742
Fix track page hero layout and add full-screen player
...
ci / ts / ts (packages + web) (push) Successful in 5m9s
ci / mobile / mobile (Metro-бандл Android) (push) Successful in 1m37s
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-11-04 00:17:55 +03:00
mrleo1nid
db4548b115
Omit missing years from upload destination paths
ci / module boundaries / boundaries (push) Successful in 7s
ci / db / db (push) Successful in 2m33s
ci / api / api (push) Successful in 1m10s
ci / mobile / mobile (Metro-бандл Android) (push) Successful in 3m45s
ci / ts / ts (packages + web) (push) Successful in 6m29s
2026-10-30 11:40:42 +03:00
mrleo1nid
fd17c06397
Fix release matching for featured artists and credit annotations
ci / module boundaries / boundaries (push) Successful in 1m11s
ci / api / api (push) Successful in 1m54s
ci / mobile / mobile (Metro-бандл Android) (push) Failing after 6m50s
ci / ts / ts (packages + web) (push) Failing after 6m19s
ci / db / db (push) Failing after 11s
2026-10-30 10:23:12 +03:00
mrleo1nid
39bf7d4b70
feat(uploads): match release groups with MusicBrainz and AcoustID
ci / api / api (push) Successful in 58s
ci / contract / contract (сгенерированный код совпадает с openapi.yaml) (push) Successful in 1m1s
ci / db / db (push) Failing after 25s
ci / ts / ts (packages + web) (push) Failing after 6m3s
ci / module boundaries / boundaries (push) Successful in 10s
ci / mobile / mobile (Metro-бандл Android) (push) Successful in 1m30s
ci / docker / docker (образы собираются — их сервер собирает сам при обновлении) (push) Successful in 1m36s
2026-10-29 20:44:59 +03:00
mrleo1nid
1e3a149aef
feat(uploads): show batch format counts and quality ranges
ci / ts / ts (packages + web) (push) Failing after 5m56s
ci / mobile / mobile (Metro-бандл Android) (push) Successful in 1m39s
ci / module boundaries / boundaries (push) Successful in 5s
2026-10-29 17:41:28 +03:00
mrleo1nid
e78cab6ce6
fix(uploads): serialize status filters and resize oversized covers
ci / module boundaries / boundaries (push) Successful in 9s
ci / contract / contract (сгенерированный код совпадает с openapi.yaml) (push) Successful in 1m37s
ci / mobile / mobile (Metro-бандл Android) (push) Successful in 1m22s
ci / ts / ts (packages + web) (push) Failing after 27m2s
ci / api / api (push) Successful in 58s
ci / db / db (push) Successful in 6m19s
2026-10-29 12:14:49 +03:00
mrleo1nid
7d62531c02
fix(uploads): serve private previews through API and show batch cover status
ci / mobile / mobile (Metro-бандл Android) (push) Successful in 1m30s
ci / ts / ts (packages + web) (push) Canceled after 4m13s
ci / module boundaries / boundaries (push) Successful in 8s
ci / contract / contract (сгенерированный код совпадает с openapi.yaml) (push) Successful in 1m1s
ci / api / api (push) Successful in 56s
ci / db / db (push) Successful in 1m7s
2026-10-29 11:34:55 +03:00
mrleo1nid
37e33c656b
fix(uploads): allow signed audio previews and compact destination details
ci / module boundaries / boundaries (push) Successful in 7s
ci / db / db (push) Successful in 47s
ci / mobile / mobile (Metro-бандл Android) (push) Successful in 1m42s
ci / ts / ts (packages + web) (push) Failing after 5m24s
ci / api / api (push) Successful in 42s
2026-10-29 11:21:48 +03:00
mrleo1nid
30c3c85f89
fix(uploads): refresh destination previews and improve queue layout
ci / api / api (push) Successful in 50s
ci / module boundaries / boundaries (push) Successful in 8s
ci / contract / contract (сгенерированный код совпадает с openapi.yaml) (push) Successful in 1m2s
ci / mobile / mobile (Metro-бандл Android) (push) Successful in 1m15s
ci / ts / ts (packages + web) (push) Failing after 4m28s
ci / db / db (push) Successful in 56s
2026-10-29 11:10:54 +03:00
mrleo1nid
eb75437708
fix(uploads): separate withdrawn proposals from default filters
ci / mobile / mobile (Metro-бандл Android) (push) Successful in 1m44s
ci / ts / ts (packages + web) (push) Failing after 1m56s
2026-10-29 10:44:10 +03:00
mrleo1nid
64dd8ed05e
feat(uploads): preview storage paths, detect templates, attach covers and withdraw batches
ci / contract / contract (сгенерированный код совпадает с openapi.yaml) (push) Successful in 55s
ci / ts / ts (packages + web) (push) Failing after 4m4s
ci / api / api (push) Successful in 55s
ci / db / db (push) Failing after 1m14s
ci / mobile / mobile (Metro-бандл Android) (push) Successful in 1m11s
ci / module boundaries / boundaries (push) Successful in 7s
2026-10-29 10:28:29 +03:00
mrleo1nid
5e2d1e902b
fix(uploads): retry failed files and report full storage
ci / db / db (push) Successful in 1m51s
ci / mobile / mobile (Metro-бандл Android) (push) Successful in 1m40s
ci / module boundaries / boundaries (push) Successful in 7s
ci / api / api (push) Successful in 33s
ci / ts / ts (packages + web) (push) Failing after 5m16s
2026-10-29 00:39:03 +03:00
mrleo1nid
66d3897f66
feat(admin): group navigation into media, uploads and system
ci / ts / ts (packages + web) (push) Failing after 4m33s
ci / mobile / mobile (Metro-бандл Android) (push) Successful in 1m35s
release / desktop (Linux и Windows в релиз) (push) Successful in 12m14s
release / prune (старые файлы и прогоны) (push) Successful in 12s
release / android (APK в релиз) (push) Successful in 4m45s
release / release (версия и заметки) (push) Successful in 8s
2026-10-28 23:47:17 +03:00
mrleo1nid
59983ed1b3
fix(social): complete shared listening request lifecycle
2026-10-24 02:16:00 +03:00
mrleo1nid
cb22f15912
fix(web): polish social UI and prevent doubled shared audio
ci / mobile / mobile (Metro-бандл Android) (push) Successful in 1m20s
ci / ts / ts (packages + web) (push) Successful in 3m9s
release / release (версия и заметки) (push) Successful in 10s
release / prune (старые файлы и прогоны) (push) Successful in 11s
release / desktop (Linux и Windows в релиз) (push) Successful in 19m22s
release / android (APK в релиз) (push) Successful in 4m7s
2026-10-23 19:54:10 +03:00
mrleo1nid
6450027b88
feat(web): add desktop mini chat and move social controls to profile
ci / ts / ts (packages + web) (push) Successful in 4m55s
ci / mobile / mobile (Metro-бандл Android) (push) Successful in 1m37s
2026-10-23 18:37:32 +03:00
mrleo1nid
cd84ceecb2
feat(social): show friend presence and require online listening
ci / api / api (push) Successful in 1m11s
ci / ts / ts (packages + web) (push) Successful in 3m15s
ci / contract / contract (сгенерированный код совпадает с openapi.yaml) (push) Successful in 1m27s
ci / db / db (push) Failing after 23s
ci / mobile / mobile (Metro-бандл Android) (push) Successful in 1m29s
2026-10-23 12:52:00 +03:00
mrleo1nid
1a693848f2
Redesign social conversations and shared music
ci / ts / ts (packages + web) (push) Successful in 2m44s
ci / contract / contract (сгенерированный код совпадает с openapi.yaml) (push) Successful in 59s
ci / db / db (push) Failing after 18s
ci / mobile / mobile (Metro-бандл Android) (push) Successful in 1m18s
ci / api / api (push) Successful in 19m12s
ci / module boundaries / boundaries (push) Successful in 18m23s
2026-10-23 11:27:47 +03:00
mrleo1nid
11a16cd023
feat(social): add listening activity, shared rooms and modern chat
ci / api / api (push) Canceled after 0s
ci / module boundaries / boundaries (push) Canceled after 0s
ci / db / db (push) Canceled after 11m22s
ci / mobile / mobile (Metro-бандл Android) (push) Canceled after 6m43s
ci / ts / ts (packages + web) (push) Canceled after 1s
ci / contract / contract (сгенерированный код совпадает с openapi.yaml) (push) Canceled after 11m29s
ci / recommender / recommender (push) Canceled after 6m47s
2026-10-23 10:45:40 +03:00
mrleo1nid
0a05bfe2cd
feat(social): add friends, private chats, inbox and music sharing
ci / mobile / mobile (Metro-бандл Android) (push) Successful in 1m8s
ci / contract / contract (сгенерированный код совпадает с openapi.yaml) (push) Successful in 1m23s
ci / db / db (push) Successful in 2m29s
ci / ts / ts (packages + web) (push) Successful in 2m55s
ci / module boundaries / boundaries (push) Successful in 7s
ci / api / api (push) Successful in 1m9s
2026-10-23 03:19:29 +03:00
mrleo1nid
f1528de948
feat(admin): transfer user accounts and show local cover coverage
ci / contract / contract (сгенерированный код совпадает с openapi.yaml) (push) Successful in 1m17s
ci / ts / ts (packages + web) (push) Successful in 3m13s
ci / api / api (push) Successful in 59s
ci / mobile / mobile (Metro-бандл Android) (push) Successful in 1m31s
ci / db / db (push) Successful in 2m50s
2026-10-23 02:17:06 +03:00
mrleo1nid
a6c9fd8a00
fix(ui): reflect update availability and config changes; expand mobile player metadata
ci / api / api (push) Successful in 50s
ci / contract / contract (сгенерированный код совпадает с openapi.yaml) (push) Successful in 1m0s
ci / mobile / mobile (Metro-бандл Android) (push) Successful in 1m27s
ci / docker / docker (образы собираются — их сервер собирает сам при обновлении) (push) Successful in 1m39s
ci / ts / ts (packages + web) (push) Successful in 2m40s
ci / db / db (push) Successful in 58s
2026-10-23 00:20:59 +03:00
mrleo1nid
a29a8b18ad
feat(admin): manage server updates and local configuration
ci / api / api (push) Successful in 52s
ci / contract / contract (сгенерированный код совпадает с openapi.yaml) (push) Successful in 1m9s
ci / mobile / mobile (Metro-бандл Android) (push) Successful in 1m35s
release / release (версия и заметки) (push) Successful in 5s
release / android (APK в релиз) (push) Successful in 4m6s
ci / docker / docker (образы собираются — их сервер собирает сам при обновлении) (push) Successful in 1m19s
ci / ts / ts (packages + web) (push) Successful in 2m34s
release / desktop (Linux и Windows в релиз) (push) Successful in 14m27s
release / prune (старые файлы и прогоны) (push) Successful in 6s
ci / db / db (push) Successful in 1m15s
2026-10-22 23:01:36 +03:00
mrleo1nid
ab49e22357
feat(desktop): add offline cache and verified app updates
...
ci / mobile / mobile (Metro-бандл Android) (push) Successful in 1m2s
ci / ts / ts (packages + web) (push) Successful in 3m8s
ci / desktop / rust (desktop proxy) (push) Successful in 4m21s
release / release (версия и заметки) (push) Successful in 6s
release / desktop (Linux и Windows в релиз) (push) Successful in 11m49s
ci / module boundaries / boundaries (push) Successful in 7s
release / android (APK в релиз) (push) Successful in 4m0s
release / prune (старые файлы и прогоны) (push) Successful in 5s
Clean release notes in Android and desktop update dialogs. Persist downloaded audio and offline playback events per server and user; add desktop update checks, checksum verification and installer launch.
2026-10-22 22:37:35 +03:00
mrleo1nid
75ae2092ad
feat(library): exclude configured folders from scanning and analysis
ci / api / api (push) Successful in 56s
ci / contract / contract (сгенерированный код совпадает с openapi.yaml) (push) Successful in 1m23s
ci / recommender / recommender (push) Failing after 40s
ci / mobile / mobile (Metro-бандл Android) (push) Successful in 1m25s
ci / ts / ts (packages + web) (push) Successful in 7m20s
ci / db / db (push) Successful in 1m8s
2026-10-22 15:51:15 +03:00
mrleo1nid
0dc0384c78
fix(library): expose scan activity and failed analysis file details
ci / api / api (push) Successful in 55s
ci / contract / contract (сгенерированный код совпадает с openapi.yaml) (push) Successful in 1m6s
ci / mobile / mobile (Metro-бандл Android) (push) Successful in 1m38s
release / android (APK в релиз) (push) Successful in 3m50s
ci / ts / ts (packages + web) (push) Successful in 3m20s
release / release (версия и заметки) (push) Successful in 5s
release / desktop (Linux и Windows в релиз) (push) Successful in 44m45s
ci / db / db (push) Successful in 52s
release / prune (старые файлы и прогоны) (push) Successful in 7s
2026-10-22 15:25:48 +03:00
mrleo1nid
17b6dd2041
fix(web): clarify Genius processing progress and queue actions
ci / mobile / mobile (Metro-бандл Android) (push) Successful in 1m27s
ci / ts / ts (packages + web) (push) Successful in 5m23s
2026-10-22 15:05:11 +03:00
mrleo1nid
0a59059738
feat(playlists): share playlists with revocable read-only links
release / release (версия и заметки) (push) Successful in 5s
ci / ts / ts (packages + web) (push) Successful in 2m19s
release / android (APK в релиз) (push) Successful in 4m45s
release / desktop (Linux и Windows в релиз) (push) Successful in 20m58s
ci / module boundaries / boundaries (push) Successful in 7s
ci / db / db (push) Successful in 59s
ci / api / api (push) Successful in 55s
ci / mobile / mobile (Metro-бандл Android) (push) Successful in 1m21s
release / prune (старые файлы и прогоны) (push) Successful in 9s
ci / contract / contract (сгенерированный код совпадает с openapi.yaml) (push) Successful in 1m35s
2026-10-22 14:57:14 +03:00
mrleo1nid
fff91c446b
feat(recommendations): collect demographics and advance age cohorts
ci / ts / ts (packages + web) (push) Successful in 3m19s
ci / db / db (push) Successful in 53s
ci / module boundaries / boundaries (push) Successful in 7s
ci / api / api (push) Successful in 51s
ci / contract / contract (сгенерированный код совпадает с openapi.yaml) (push) Successful in 1m3s
ci / recommender / recommender (push) Failing after 16s
ci / mobile / mobile (Metro-бандл Android) (push) Successful in 1m15s
2026-10-22 14:19:52 +03:00
mrleo1nid and Cursor
72567acd28
feat(web): polish catalog motion, empty states, and mobile now-playing
...
release / desktop (Linux и Windows в релиз) (push) Successful in 16m22s
release / prune (старые файлы и прогоны) (push) Successful in 6s
ci / ts / ts (packages + web) (push) Failing after 5m25s
release / android (APK в релиз) (push) Successful in 4m18s
ci / mobile / mobile (Metro-бандл Android) (push) Successful in 1m23s
release / release (версия и заметки) (push) Successful in 6s
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-22 09:53:37 +03:00
mrleo1nid and Cursor
39aaaed969
feat(web): list previous app builds on the download page
...
ci / api / api (push) Successful in 48s
ci / mobile / mobile (Metro-бандл Android) (push) Successful in 1m17s
ci / ts / ts (packages + web) (push) Successful in 2m1s
ci / db / db (push) Successful in 1m4s
ci / contract / contract (сгенерированный код совпадает с openapi.yaml) (push) Successful in 58s
GET /app/clients now returns up to 8 Gitea releases per OS so users can download older installers while they still exist after prune.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-22 08:40:08 +03:00
mrleo1nid and Cursor
83b604437c
perf(desktop): ship a .deb instead of an 80MB AppImage
...
ci / api / api (push) Successful in 50s
ci / db / db (push) Successful in 50s
ci / contract / contract (сгенерированный код совпадает с openapi.yaml) (push) Failing after 49s
ci / mobile / mobile (Metro-бандл Android) (push) Successful in 1m13s
ci / ts / ts (packages + web) (push) Canceled after 2m4s
ci / desktop / rust (desktop proxy) (push) Successful in 5m33s
release / release (версия и заметки) (push) Successful in 9s
release / desktop (Linux и Windows в релиз) (push) Successful in 17m20s
release / android (APK в релиз) (push) Failing after 4m6s
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-22 08:26:50 +03:00
mrleo1nid and Cursor
73ad61e7a5
feat(genius): load song metadata, lyrics, and artwork
...
ci / ts / ts (packages + web) (push) Canceled after 1m0s
ci / api / api (push) Successful in 46s
ci / contract / contract (сгенерированный код совпадает с openapi.yaml) (push) Successful in 56s
ci / db / db (push) Successful in 1m32s
ci / mobile / mobile (Metro-бандл Android) (push) Successful in 1m27s
ci / docker / docker (образы собираются — их сервер собирает сам при обновлении) (push) Successful in 1m31s
Search hits omit album covers and artist images. The worker now reads the full song and artist, stores the description, and leaves Genius image URLs unchanged on mobile.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-22 08:23:54 +03:00
mrleo1nid and Cursor
597067689a
feat: add a platform-aware apps download page
...
ci / api / api (push) Successful in 48s
ci / contract / contract (сгенерированный код совпадает с openapi.yaml) (push) Successful in 1m10s
ci / db / db (push) Successful in 57s
ci / mobile / mobile (Metro-бандл Android) (push) Successful in 1m1s
ci / desktop / rust (desktop proxy) (push) Successful in 5m37s
ci / ts / ts (packages + web) (push) Successful in 4m10s
release / release (версия и заметки) (push) Successful in 11s
release / android (APK в релиз) (push) Successful in 4m22s
Serve desktop and Android builds from the latest Gitea release on /download, and fix the desktop compile and CI flakes that blocked v1.3.0.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-22 00:10:03 +03:00
mrleo1nid and Cursor
fa79394869
feat: add personal playlists and shareable track links
...
release / release (версия и заметки) (push) Successful in 6s
release / android (APK в релиз) (push) Successful in 4m8s
EOF
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-21 23:37:53 +03:00
mrleo1nid
c34272d508
fix(auth): allow admins to change any username including their own
ci / contract / contract (сгенерированный код совпадает с openapi.yaml) (push) Successful in 1m6s
ci / ts / ts (packages + web) (push) Successful in 2m59s
ci / api / api (push) Successful in 49s
ci / db / db (push) Successful in 1m17s
ci / mobile / mobile (Metro-бандл Android) (push) Successful in 1m25s
2026-10-21 17:33:19 +03:00
mrleo1nid
b0cbd0f149
fix: repair Android startup and improve mobile web layouts
ci / mobile / mobile (Metro-бандл Android) (push) Successful in 1m17s
ci / ts / ts (packages + web) (push) Successful in 2m22s
release / android (APK в релиз) (push) Successful in 4m15s
release / release (версия и заметки) (push) Successful in 6s
2026-10-21 17:14:05 +03:00
mrleo1nid and Claude Opus 5.5
4d2c6ce22f
fix(web): treat AIFF and WavPack as lossless in the upload format hint
...
ci / mobile / mobile (Metro-бандл Android) (push) Successful in 1m30s
ci / ts / ts (packages + web) (push) Successful in 2m11s
The web check only accepted FLAC and WAV, so AIFF files were flagged
"needs attention" although the server already counts them as lossless.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-21 10:35:43 +03:00
mrleo1nid
1e3b350dfc
feat(upload): enhance audio upload handling and user feedback
...
ci / contract / contract (сгенерированный код совпадает с openapi.yaml) (push) Successful in 1m1s
ci / db / db (push) Successful in 1m16s
ci / api / api (push) Successful in 45s
ci / recommender / recommender (push) Successful in 1m50s
ci / ts / ts (packages + web) (push) Failing after 6m53s
ci / mobile / mobile (Metro-бандл Android) (push) Successful in 1m12s
ci / docker / docker (образы собираются — их сервер собирает сам при обновлении) (push) Successful in 1m13s
- Introduced a new warning for users uploading non-FLAC or WAV formats, indicating that these formats should only be used as a last resort.
- Added functionality to highlight files needing format attention in the upload queue.
- Updated the UI to provide clearer guidance on acceptable audio formats during uploads.
- Improved documentation to reflect changes in upload requirements and user interface updates.
2026-10-21 10:07:43 +03:00
mrleo1nid and Claude Opus 5.5
74da457362
feat(auth): make upload review a separate grant instead of an admin privilege
...
Reviewing the upload queue is now a per-user flag (reviews_uploads), not part
of the admin role: several people can hold it, a moderator can have it, and an
admin may not. Only admins grant or revoke it; existing admins keep it.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-21 10:07:05 +03:00
mrleo1nid and Cursor
066ba24834
feat: finish the upload, playback, and test gaps from the docs
...
ci / db / db (push) Successful in 1m3s
ci / docker / docker (образы собираются — их сервер собирает сам при обновлении) (push) Successful in 46s
ci / ts / ts (packages + web) (push) Failing after 4m57s
ci / mobile / mobile (Metro-бандл Android) (push) Successful in 5m7s
ci / api / api (push) Successful in 40s
ci / contract / contract (сгенерированный код совпадает с openapi.yaml) (push) Failing after 1m48s
Quality upgrades, batch covers, staging preview, and resume after reload are in the queue. Loudness and crossfade work on web and Android, and the documented checks now have suites.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-21 09:37:53 +03:00
mrleo1nid and Claude Opus 5.5
978f03b8f8
feat(admin): reset a user's recommendations from the users panel
...
ci / contract / contract (сгенерированный код совпадает с openapi.yaml) (push) Successful in 55s
ci / mobile / mobile (Metro-бандл Android) (push) Successful in 1m10s
ci / ts / ts (packages + web) (push) Successful in 1m23s
ci / api / api (push) Successful in 40s
ci / db / db (push) Successful in 2m35s
- POST /admin/users/{id}/reset-recommendations clears the taste profile
(onboarding, CF vector, bandit), play stats and wave impressions; likes,
dislikes and history stay, wave sessions stay so a playing wave keeps going
- moderators may reset plain users, admins anyone including themselves;
the reset is written to the audit log
- users panel gets the menu action with a confirmation; docs updated
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-21 08:52:31 +03:00
mrleo1nid and Claude Opus 5.5
b27b915b63
feat(web): settings to keep the search open and hide home pickers; collapsible menu sections
...
ci / contract / contract (сгенерированный код совпадает с openapi.yaml) (push) Successful in 2m44s
ci / ts / ts (packages + web) (push) Successful in 1m16s
ci / db / db (push) Successful in 2m23s
ci / mobile / mobile (Metro-бандл Android) (push) Successful in 1m43s
ci / api / api (push) Successful in 2m27s
- appearance settings get "collapse search" (off keeps the field always open)
and separate switches for the activity and mood pickers on the home page;
stored in ui_prefs (search_collapse, home_activities, home_moods)
- Collection and Admin headers in the sidebar fold their items; the state is
remembered in the browser, a folded Admin shows the review queue badge;
icon-only and phone layouts always show every item
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-21 08:26:48 +03:00
mrleo1nid and Claude Opus 5.5
860072e542
feat(web): choose where the search sits, and controls no longer select text
...
ci / api / api (push) Successful in 36s
ci / contract / contract (сгенерированный код совпадает с openapi.yaml) (push) Successful in 48s
ci / db / db (push) Successful in 2m43s
ci / mobile / mobile (Metro-бандл Android) (push) Successful in 59s
ci / ts / ts (packages + web) (push) Canceled after 12s
- settings get a search position (left, center by default, right); the top bar
is three zones and the suggestions open towards the free space
- buttons, chips, tabs, menu items and the home screen controls are not
text-selectable, so clicks and double clicks no longer highlight labels
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-21 00:11:06 +03:00
mrleo1nid and Claude Opus 5.5
fda6ed48ab
feat: Android download page, analysis retry and a collapsible search
...
ci / api / api (push) Successful in 37s
ci / contract / contract (сгенерированный код совпадает с openapi.yaml) (push) Successful in 46s
ci / db / db (push) Failing after 14s
ci / recommender / recommender (push) Successful in 51s
ci / ts / ts (packages + web) (push) Successful in 57s
ci / mobile / mobile (Metro-бандл Android) (push) Successful in 1m2s
- /android is a public page with the latest APK, the server address to copy
and three install steps; linked from the sign-in screen and the profile menu
- failed audio analysis can be retried from the library page, which also shows
the most common error; the analyzer no longer burns attempts on files that
are missing because the disk is not mounted
- the top bar search folds into a round button and slides open on click, "/"
or Ctrl+K
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-20 23:55:51 +03:00
mrleo1nid and Claude Opus 5.5
de4e59d9f8
fix(web): accessibility pass to WCAG 2.1 AA (M7)
...
ci / mobile / mobile (Metro-бандл Android) (push) Canceled after 31s
ci / ts / ts (packages + web) (push) Canceled after 0s
ci / contract / contract (сгенерированный код совпадает с openapi.yaml) (push) Successful in 44s
An axe-core audit of every screen in both themes found low contrast on white
text over the accent and on caption text, track rows using row roles without
cells, and unlabelled progress bars. Accent fills now use a darker token,
caption text meets 4.5:1, track lists are lists and progress bars are labelled.
The queue drawer slides in from the right as designed, takes focus, closes on
Escape and notes that the wave never ends.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-20 23:15:03 +03:00
mrleo1nid and Claude Opus 5.5
d91ff89c64
feat(admin): wave metrics split by model version (M6)
...
ci / contract / contract (сгенерированный код совпадает с openapi.yaml) (push) Successful in 51s
ci / api / api (push) Successful in 29s
ci / db / db (push) Failing after 12s
ci / mobile / mobile (Metro-бандл Android) (push) Successful in 1m5s
ci / ts / ts (packages + web) (push) Successful in 1m3s
The library page compares listen-through, early-skip and like rates per
impression model version, so v1 and the trained ranker can be compared online.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-20 22:57:11 +03:00
mrleo1nid and Claude Opus 5.5
fb07f962eb
feat: taste onboarding for new listeners (M6)
...
ci / contract / contract (сгенерированный код совпадает с openapi.yaml) (push) Successful in 1m2s
ci / db / db (push) Failing after 1m29s
ci / ts / ts (packages + web) (push) Successful in 49s
ci / api / api (push) Successful in 1m25s
ci / mobile / mobile (Metro-бандл Android) (push) Successful in 48s
ci / recommender / recommender (push) Successful in 21s
- GET /onboarding offers the library's top artists (with album covers)
and genres and says whether to show it (not done and < 10 plays);
PUT /me/onboarding stores the choice or a skip (migration 00009).
- The recommender seeds the taste from it while the user has fewer than
30 scored tracks: chosen artists' tracks +1, chosen genres +0.5.
- Web: onboarding replaces the wave on the home page until done or
skipped; artist grid with covers, genre chips, at least 3 artists.
- e2e journey and the recommender DB test cover it.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-20 22:35:43 +03:00
mrleo1nid and Claude Opus 5.5
1c4e209e86
feat(web): align the web UI with the design prototype
...
ci / api / api (push) Successful in 43s
ci / contract / contract (сгенерированный код совпадает с openapi.yaml) (push) Successful in 52s
ci / mobile / mobile (Metro-бандл Android) (push) Successful in 1m36s
ci / ts / ts (packages + web) (push) Successful in 1m39s
- Ambient background in the app shell: three drifting blurred blobs,
the third one tinted with the current track's cover; can be turned off
in settings and stays still with reduced motion.
- Island player variant (floating glass panel) next to the bar, chosen
in settings; player source line ("Album · …", "My Wave"), reactions
around the transport controls, queue drawer.
- Sidebar: like / dislike counters, pending uploads badge on Queue,
admin Settings page holding the upload queue limits.
- Collection: header tile with kicker, underline tabs, time / number
lead column with an equalizer for the current track, album column,
dimmed dislikes with undo, Play all / Shuffle pills.
- Album: cover-tinted header and Play / Shuffle; artist: artist wave,
Play and popular tracks (new GET /artists/{id}/top-tracks).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-20 18:13:24 +03:00
mrleo1nid and Claude Opus 5.5
a3f212d253
feat(web): suggest tracks, my uploads and admin upload queue screens (M5.5)
...
ci / mobile / mobile (Metro-бандл Android) (push) Successful in 3m4s
ci / ts / ts (packages + web) (push) Successful in 1m23s
ci / docker / docker (образы собираются — их сервер собирает сам при обновлении) (push) Successful in 52s
ci / contract / contract (сгенерированный код совпадает с openapi.yaml) (push) Successful in 1m51s
- Suggest tracks: drag-and-drop of files and folders with relative
paths, streaming SHA-256 in a Web Worker (hash-wasm), duplicate
precheck, batch reservation and tus-js-client upload (8 MB chunks,
4 in parallel, token refresh on 401, resume of failed files).
- My uploads: statuses, rejection reasons, withdraw, quota meter.
- Upload queue (admin): status tabs, possible-duplicate filter, batches,
metadata and storage editing, bulk approve / reject with a reason,
import retry, and the queue settings form.
- Sidebar section for moderators and admins; ru / en strings.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-20 17:46:18 +03:00