admin
|
3752b3b729
|
feat(chat): add promotional external entry flow
|
2026-07-13 12:43:18 +08:00 |
|
admin
|
8312d08653
|
fix(chat): apply unlocked voice audio url
|
2026-07-10 11:15:59 +08:00 |
|
admin
|
1b85f3a410
|
fix(chat): keep single locked history message unchanged
|
2026-07-10 10:48:40 +08:00 |
|
admin
|
9cb9534459
|
refactor(dto): group request and response models
Docker Image / Build and Push Docker Image (push) Successful in 2m50s
|
2026-07-07 16:43:08 +08:00 |
|
admin
|
3b53fc9bad
|
refactor(chat): export flow capabilities individually
|
2026-07-06 15:13:19 +08:00 |
|
admin
|
8f17ea9c9f
|
fix(auth): return to guest session on logout
|
2026-07-03 16:14:04 +08:00 |
|
admin
|
65d972fbb4
|
feat(errors): add centralized exception handling
|
2026-07-03 12:55:45 +08:00 |
|
admin
|
5821a4d062
|
fix(chat): render cached history before network sync
|
2026-07-02 11:51:20 +08:00 |
|
admin
|
760e4fe343
|
refactor(app): tighten chat and sync boundaries
|
2026-07-01 14:03:25 +08:00 |
|
admin
|
f6e7adbe96
|
refactor(chat): remove weekly limit flow
|
2026-07-01 13:12:14 +08:00 |
|
admin
|
617f1d4777
|
fix(chat): preserve locked message content on unlock
|
2026-07-01 10:47:55 +08:00 |
|
admin
|
9c45c7eb69
|
fix(chat): avoid overwriting user messages on unlock
|
2026-07-01 10:22:11 +08:00 |
|
admin
|
5d9ed7e027
|
refactor(stores): tighten chat and payment boundaries
|
2026-07-01 10:12:19 +08:00 |
|
admin
|
ed109f25a0
|
refactor(chat): split machine and repository flows
|
2026-06-30 19:16:33 +08:00 |
|
admin
|
e7a9e7abe5
|
feat(chat): unlock paid messages before payment
|
2026-06-30 18:56:17 +08:00 |
|
admin
|
9cff16e2d9
|
refactor(chat): tighten media cache boundaries
|
2026-06-30 16:12:02 +08:00 |
|
admin
|
ccd2d6bd48
|
feat(media): implement caching for chat media and update components to use cached media
|
2026-06-30 15:59:33 +08:00 |
|
admin
|
958a0f8ffd
|
feat(chat): handle credit-gated send responses
|
2026-06-30 14:17:14 +08:00 |
|
admin
|
cee63e8658
|
fix(chat): use weekly limit for message quota
|
2026-06-29 18:40:44 +08:00 |
|
admin
|
0bae53bfba
|
feat: implement lazy singleton pattern for repository instances and update related imports
|
2026-06-29 17:25:41 +08:00 |
|
admin
|
80d6563ffb
|
refactor(chat): remove unused upgrade state fields
|
2026-06-29 16:32:11 +08:00 |
|
admin
|
61796c732f
|
feat(chat): restore image viewer after payment
|
2026-06-29 16:19:48 +08:00 |
|
admin
|
6273cd1bbe
|
test(chat-machine): add test for ignoring repeated user login during active session
|
2026-06-29 15:49:03 +08:00 |
|
admin
|
934b92502b
|
fix(chat): clear limit prompt after payment
|
2026-06-29 11:27:39 +08:00 |
|
admin
|
b7779878cf
|
feat(chat): unlock history after payment
|
2026-06-29 10:53:52 +08:00 |
|
admin
|
1b73c3ac10
|
refactor(chat): remove private unlock machine flow
|
2026-06-26 19:17:29 +08:00 |
|
admin
|
e9fc001a6f
|
refactor(chat): remove vip websocket session flow
|
2026-06-26 18:35:26 +08:00 |
|
admin
|
58236453ed
|
fix(chat): track replies by queued batch
|
2026-06-26 11:42:17 +08:00 |
|
admin
|
fe85af0cd7
|
fix(chat): queue outgoing messages
|
2026-06-26 11:11:43 +08:00 |
|
admin
|
6081f2896a
|
test(stores): add state machine coverage
|
2026-06-25 13:28:08 +08:00 |
|
admin
|
0bff65dd32
|
feat(docs): add simplified API documentation for chat messages
|
2026-06-25 12:06:49 +08:00 |
|
admin
|
8d956bc95d
|
fix(chat): render locked voice messages correctly
|
2026-06-25 12:04:38 +08:00 |
|
admin
|
cd836cda43
|
feat(chat): add voice message bubbles
|
2026-06-25 11:13:25 +08:00 |
|
admin
|
c288148c12
|
fix(chat): remove dynamic upgradeHint for daily limit message
|
2026-06-24 18:18:21 +08:00 |
|
admin
|
42c03f8901
|
feat(chat): migrate chat protocol to lock detail
|
2026-06-24 14:06:30 +08:00 |
|
admin
|
3e766a0ecd
|
fix(chat): preserve private send response fields
|
2026-06-24 11:02:15 +08:00 |
|
admin
|
f80b5215a9
|
feat(chat): log websocket traffic
|
2026-06-24 10:48:36 +08:00 |
|
admin
|
a571867620
|
fix(chat): hide text for ai image messages
|
2026-06-24 10:19:30 +08:00 |
|
admin
|
bfbf7ee91a
|
feat(app): improve payment and paywall UX
|
2026-06-24 10:02:22 +08:00 |
|
admin
|
f14b8a48d2
|
fix(chat): handle guest total limit
|
2026-06-23 15:14:17 +08:00 |
|
admin
|
7dd4878d7d
|
fix(chat): constrain auth state transitions
|
2026-06-23 14:10:59 +08:00 |
|
admin
|
ebd44c4980
|
feat(chat): add private message unlock flow
|
2026-06-23 13:21:57 +08:00 |
|
admin
|
6bcc070ba1
|
refactor(chat): rely on server message limits
|
2026-06-23 11:20:48 +08:00 |
|
admin
|
d81abd6efd
|
feat(chat): support ai photo viewing
|
2026-06-23 10:34:02 +08:00 |
|
admin
|
27021f9328
|
fix(chat): normalize message date headers
|
2026-06-22 18:23:50 +08:00 |
|
admin
|
6ff1accad5
|
refactor(chat): split sessions by vip status
|
2026-06-22 15:11:57 +08:00 |
|
admin
|
61fd4ca916
|
feat(chat): handle daily message paywall
|
2026-06-22 10:46:17 +08:00 |
|
admin
|
d87bfcc859
|
refactor(chat): remove commented-out code in guestSession
|
2026-06-18 15:47:24 +08:00 |
|
admin
|
812a3e41b9
|
refactor(logging): centralize console output
|
2026-06-18 13:34:19 +08:00 |
|
admin
|
f600e11d55
|
refactor(auth): centralize login status sync
|
2026-06-18 12:52:49 +08:00 |
|