senke
3da269875e
fix(ci): repair CD pipeline -- use vars.* instead of secrets.* in if conditions, target Dockerfile.production
2026-02-22 17:23:43 +01:00
senke
901b1ce2ce
feat(marketplace): wire RefundRequestModal to API, add refund button to SellerDashboard (v0.403 R2)
...
- RefundRequestModal: call marketplaceService.refundOrder, loading state, onSuccess callback
- PurchasesView: pass loadPurchases as onSuccess to refetch after refund
- SellerDashboardView: add Refund button on each sale, RefundRequestModal with fetchData onSuccess
- MSW: add POST /marketplace/orders/:id/refund handler
2026-02-22 16:19:31 +01:00
senke
952520dd7f
feat(marketplace): add license revoked_at migration
2026-02-22 16:18:01 +01:00
senke
bf57d58f5a
feat(hyperswitch): add CreateRefund to client
2026-02-22 16:17:54 +01:00
senke
3ff3784946
feat(marketplace): add invoice download link to PurchasesView and LicensesView
2026-02-22 16:15:55 +01:00
senke
5b023ae895
chore(backend): add PDF library for invoices
...
feat(marketplace): add invoice generation service and download endpoint
2026-02-22 16:11:42 +01:00
senke
cfb270e5a9
feat(marketplace): add review API to frontend
2026-02-22 16:09:04 +01:00
senke
45cbc96fac
feat(marketplace): add avg_rating and review_count to Product
2026-02-22 16:07:06 +01:00
senke
25eee5bf91
feat(marketplace): add create and list reviews endpoints
2026-02-22 16:06:18 +01:00
senke
578af84819
feat(marketplace): add ProductReview model and service
2026-02-22 16:05:16 +01:00
senke
c3b8d9198a
feat(marketplace): add product_reviews migration
2026-02-22 16:04:14 +01:00
senke
f64c858464
docs: prepare v0.403 implementation (scope, plan, SCOPE_CONTROL)
...
- Add V0_403_RELEASE_SCOPE.md: P3 Payout, R1 Reviews, F1 Factures, R2 Remboursements
- Add PLAN_V0_403_IMPLEMENTATION.md: phases détaillées, commits suggérés
- Update SCOPE_CONTROL: reference v0.403, v0.402 taguée
- Update FEATURE_STATUS: section Prévu en v0.403
- Update PROJECT_STATE: prochaines étapes v0.403
2026-02-22 16:01:03 +01:00
senke
230b35009f
feat(checkout): integrate Hyperswitch payment form in Cart
2026-02-22 14:46:06 +01:00
senke
afeec3ae65
fix(checkout): handle cancelled status in Hyperswitch webhook
2026-02-22 14:42:57 +01:00
senke
d502ea83ee
docs: update PAYMENTS_SETUP for checkout complete URL
2026-02-22 14:42:44 +01:00
senke
49d1a0f67e
feat(checkout): add CheckoutSuccessView, CheckoutErrorView and getOrder
2026-02-22 14:42:15 +01:00
senke
e60354f7ce
feat(checkout): add order_id to Hyperswitch return URL
2026-02-22 14:40:13 +01:00
senke
23034cd3a1
docs: update SCOPE_CONTROL for v0.402
2026-02-22 14:26:28 +01:00
senke
ef4afc39d0
docs: add V0_402_RELEASE_SCOPE and PLAN_V0_402_IMPLEMENTATION
2026-02-22 14:26:19 +01:00
senke
c97ebe70e7
test(marketplace): add MSW handlers, update CHANGELOG and docs for v0.401
2026-02-22 14:23:28 +01:00
senke
79ef2f52a0
feat(seller): add GET /sell/stats/evolution, top-products, sales, SalesEvolutionChart, real commerceService
2026-02-22 14:21:21 +01:00
senke
76d38b2718
feat(marketplace): add getMyLicenses, enrich LicenceCard/LicenceDetailsModal, LicensesView
2026-02-22 14:18:05 +01:00
senke
c977681bf8
feat(marketplace): add migration 098 product_licenses, ProductLicense model, GET /licenses/mine
2026-02-22 14:16:24 +01:00
senke
432cabec6f
feat(marketplace): add playable preview and image gallery to ProductDetailView
2026-02-22 14:14:38 +01:00
senke
f25956e9e2
feat(marketplace): add rich text description with sanitization
2026-02-22 14:14:27 +01:00
senke
d57c45c32e
feat(marketplace): add BPM, key, category filters to MarketplaceHome
2026-02-22 14:14:20 +01:00
senke
854ea0ab03
feat(marketplace): connect CreateProductView to enriched product API
2026-02-22 14:10:26 +01:00
senke
ac795f16bf
feat(marketplace): add bpm, musical_key, category to marketplaceService listProducts
2026-02-22 14:08:59 +01:00
senke
f4fff1126f
feat(marketplace): add bpm, musical_key, category filters to ListProducts
2026-02-22 14:08:41 +01:00
senke
8ecd66786d
feat(marketplace): add product images management endpoint
2026-02-22 14:08:13 +01:00
senke
8e68ca3be0
feat(marketplace): add POST /products/:id/preview for audio preview upload
2026-02-22 14:07:30 +01:00
senke
7a68e3ced2
feat(marketplace): accept bpm, musical_key, category in CreateProduct and UpdateProduct
2026-02-22 14:06:20 +01:00
senke
ef0a928ab4
feat(marketplace): add ProductPreview, ProductImage models and Product enrichment fields
2026-02-22 14:05:37 +01:00
senke
0a00da931e
feat(marketplace): add migrations 095-097 for products enrichment, previews, images
2026-02-22 14:05:19 +01:00
senke
428bdb088d
docs(scope): update SCOPE_CONTROL for v0.401
...
- Référence active V0_401_RELEASE_SCOPE
- Règle d'or, checklist, historique versions alignés
2026-02-22 14:02:31 +01:00
senke
e5f44941b7
docs(v0.401): add V0_401_RELEASE_SCOPE and PLAN_V0_401_IMPLEMENTATION
...
- V0_401_RELEASE_SCOPE: Phase 4 Commerce (M1 produits, M2 licences, M3 seller)
- PLAN_V0_401_IMPLEMENTATION: phases 0-4, diagramme Mermaid, commits suggérés
2026-02-22 14:02:24 +01:00
senke
88ef467820
chore(docs): remove V0_302_IMPLEMENTATION, update V0_302_RELEASE_SCOPE
2026-02-22 03:46:50 +01:00
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