senke
b517258ef5
feat(chat): add call signaling types
2026-02-22 03:46:10 +01:00
senke
08bc158ae0
feat(chat-server): add C2.1 WebRTC call signaling (CallOffer, CallAnswer, ICECandidate, CallHangup, CallReject)
2026-02-22 03:42:47 +01:00
senke
5987c846b2
docs(scope): update SCOPE_CONTROL for v0.303
2026-02-22 03:38:49 +01:00
senke
eea7262d93
docs(v0.303): add full V0_303_RELEASE_SCOPE with C2 detail
2026-02-22 03:38:43 +01:00
senke
0bf60726d3
docs: prepare v0.302 documentation - scope, implementation guide, SCOPE_CONTROL
2026-02-22 03:35:45 +01:00
senke
5d12ec2c6f
docs: add V0_303_RELEASE_SCOPE placeholder for transition
2026-02-22 03:28:59 +01:00
senke
c918e0204d
docs: update FEATURE_STATUS, PROJECT_STATE, CHANGELOG for v0.302
2026-02-22 03:24:01 +01:00
senke
8f4f445dcb
feat(presence): P2.1 rich presence, P2.2 invisible mode
...
Backend:
- UserPresence: track_id, track_title, invisible
- UpdatePresenceFull, GetPresenceForViewer (invisible hides for others)
- PUT /users/me/presence
- Migration 094 rich presence columns
Frontend:
- presenceService.updatePresence
- usePresenceSync: sync currentTrack to presence
- PresenceBadge: statusMessage tooltip
- PresenceInvisibleToggle in PrivacySettings
- MSW: PUT /users/me/presence
2026-02-21 16:47:09 +01:00
senke
f1f6317370
feat(notifications): N1 Web Push subscribe, preferences, badge
...
- notificationService: subscribePush, getPreferences, updatePreferences
- PushPreferencesSection: API-connected toggles, subscribe button
- usePushSubscribe: permission, pushManager.subscribe, POST to API
- NotificationMenu: document.title badge (N1.4)
- sw.js: payload compat (link/url)
- MSW: push/subscribe, preferences handlers
2026-02-21 16:43:48 +01:00
senke
51af2d073f
feat(notifications): N1.1-N1.3 Web Push subscription, send on events, preferences
...
- N1.1: POST /notifications/push/subscribe, PushService, migration 090
- N1.2: Send Web Push on follow/like/comment/message via CreateNotification
- N1.3: GET/PUT /notifications/preferences, migration 093
- Shared NotificationService with PushService for profile, track, comment handlers
- Fix MockSocialService GetGlobalFeed, GetTrendingHashtags for tests
2026-02-21 16:41:39 +01:00
senke
ed5e395900
feat(groups): S2 frontend - request join, invite, roles, my groups, MSW handlers
2026-02-21 05:51:29 +01:00
senke
2bc8c36b79
feat(groups): S2.1-S2.5 request join, invite, roles, feed groups, my groups
2026-02-21 05:48:59 +01:00
senke
6a8252a351
chore(migrations): add 069, 089, 090, 091 for v0.302
2026-02-21 05:47:14 +01:00
senke
fd606a6234
docs: préparation v0.302 - V0_302_RELEASE_SCOPE, PROJECT_STATE, SCOPE_CONTROL, FEATURE_STATUS, CHANGELOG
2026-02-21 05:42:16 +01:00
senke
a27ccc12b6
docs: plan finalisation v0.301, checklists cochées, PROJECT_STATE et SCOPE_CONTROL à jour
2026-02-21 05:36:33 +01:00
senke
f145ff740b
docs: update FEATURE_STATUS, PROJECT_STATE, CHANGELOG for v0.301
2026-02-21 05:32:29 +01:00
senke
d8be2c0164
feat(social): GET /social/explore, explore tab, feed filters all/following/groups (S1.5, S1.6)
2026-02-21 05:31:12 +01:00
senke
7e106cc096
feat(social): feed pagination with cursor (S1.4)
2026-02-21 05:28:19 +01:00
senke
2fc102e46b
feat(social): connect feed to social API, enrich with actor/track, FeedItem supports posts (S1.1-S1.3)
2026-02-21 05:26:52 +01:00
senke
b63106a9a3
feat(presence): PresenceBadge and display (P1.3)
2026-02-21 05:22:52 +01:00
senke
ade1a7d2a6
feat(presence): PresenceService and GET /users/:id/presence (P1.2)
2026-02-21 05:22:43 +01:00
senke
4a2ba9f404
feat(presence): migration 088 user_presence (P1.1)
2026-02-21 05:22:33 +01:00
senke
3ddb52e3e0
feat(chat): wire typing indicators, read receipts, delivered status (C1)
...
- Add setMessageRead to chatStore, handle MessageRead in useChat
- Send MarkAsRead when receiving messages and when loading history
- Add read_at to ChatMessage, tooltip 'Vu à HH:mm' for read status
- Typing, Delivered, MessageRead already wired in useChat
2026-02-21 05:18:54 +01:00
senke
697dd5aa52
chore(v0.301): verify Chat Server build and P0 completion
2026-02-21 05:17:04 +01:00
senke
db117d5881
fix(chat): align typing WebSocket protocol with Chat Server
...
- startTyping/stopTyping now send { type: 'Typing', conversation_id, is_typing }
- Document JWT auth limitation (query param) for v0.302
2026-02-21 05:16:52 +01:00
senke
b4e958a1c6
chore(v0.301): create release branch
2026-02-21 05:16:36 +01:00
senke
15398e8941
docs: prepare v0.301 Phase 3 Social implementation
...
- Add V0_301_RELEASE_SCOPE.md: P0 (Chat Server fix), C1 (typing, read receipts),
P1 (presence), S1 (social enrichi)
- Update SCOPE_CONTROL.md to reference v0.301
- Update PROJECT_STATE.md and FEATURE_STATUS.md
- Update .cursorrules scope to v0.301
2026-02-21 05:13:43 +01:00
senke
bcde78461e
docs: update PROJECT_STATE post v0.203 merge
2026-02-21 05:11:36 +01:00
senke
b02946cc75
fix(player): resolve TypeScript errors in PlayerQueue and queue API types
2026-02-21 05:11:07 +01:00
senke
95aa9682d7
docs: update FEATURE_STATUS, PROJECT_STATE, CHANGELOG for v0.203
2026-02-20 18:47:23 +01:00
senke
9987b392ad
feat(queue): add collaborative queue UI (share link, session mode, polling sync)
2026-02-20 18:45:42 +01:00
senke
5c79b8fafe
feat(queue): add queue session API (create, get, delete, add/remove items)
2026-02-20 18:41:12 +01:00
senke
92d25164e9
feat(queue): add queue_sessions and shared_queue_items models
2026-02-20 18:39:33 +01:00
senke
4e1fd7bd42
feat(search): add search syntax help tooltip
2026-02-20 18:38:55 +01:00
senke
d54945d84e
feat(search): add boolean operators AND, OR, NOT, exact phrase
2026-02-20 18:38:34 +01:00
senke
b209a8dc96
feat(search): add phonetic/fuzzy search via pg_trgm
2026-02-20 18:36:07 +01:00
senke
6b71c6b6b8
feat(search): add pg_trgm extension for fuzzy search
2026-02-20 18:34:50 +01:00
senke
a789019b8e
feat(social): connect SocialViewTrending to API
2026-02-20 18:34:21 +01:00
senke
544ffd140a
feat(social): cache trending hashtags in Redis
2026-02-20 18:33:17 +01:00
senke
3ad7d39128
feat(social): add GET /social/trending endpoint
2026-02-20 18:32:16 +01:00
senke
cbd2266bc3
chore(release): create branch release/v0.203
2026-02-20 18:31:29 +01:00
senke
b5fe6e8fd1
feat(release): v0.202 — Lots G, H, F, C, D
...
- Lot G: Recherche avancée (musical_key, tri pertinence, autocomplete, facettes, historique)
- Lot H: Analytics créateur (stats, charts, completion rate, export CSV/JSON)
- Lot F: Seller dashboard (GET /sell/stats, liste produits)
- Lot C: Player (crossfade, gapless preload, PiP)
- Lot D2: Autoplay (GET /tracks/recommendations, section À écouter ensuite)
Backend: GetRecommendations handler, route /tracks/recommendations
Frontend: PlayerQueue recommendations, fix TS errors (GlobalPlayer, AnalyticsViewKpiGrid, etc.)
Docs: FEATURE_STATUS, PROJECT_STATE, CHANGELOG, SCOPE_CONTROL
2026-02-20 18:16:17 +01:00
senke
32b4a48c81
feat(player): add PiP button when supported (C3)
2026-02-20 17:52:46 +01:00
senke
8071fd2b16
feat(player): add gapless playback via preload (C2)
2026-02-20 17:05:41 +01:00
senke
4fcc1d4049
feat(player): implement crossfade from settings (C1)
2026-02-20 17:04:54 +01:00
senke
b8693ca07f
feat(seller): connect products list to marketplace API (F2)
2026-02-20 17:02:54 +01:00
senke
ea29927d2a
feat(seller): add GET /sell/stats and connect dashboard (F1)
2026-02-20 17:02:13 +01:00
senke
b887110214
feat(analytics): add creator export CSV/JSON (H4)
2026-02-20 17:00:36 +01:00
senke
d9fee2684b
feat(analytics): add creator charts endpoint and UI (H2)
2026-02-20 16:59:25 +01:00
senke
9ca90e6096
feat(analytics): add creator stats endpoint and UI (H1)
2026-02-20 16:57:58 +01:00