admin
|
a52e7f15ff
|
refactor(auth): enhance business login session validation and add tests
|
2026-07-01 15:01:15 +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
|
8d5ee68e5f
|
Reapply "fix(user): refresh profile on sidebar open"
This reverts commit f4d0f76466.
|
2026-06-30 17:18:36 +08:00 |
|
admin
|
e254c93078
|
feat(subscription): default pay channel by country
|
2026-06-30 16:49:47 +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
|
f4d0f76466
|
Revert "fix(user): refresh profile on sidebar open"
This reverts commit 6e811b0e09.
|
2026-06-30 13:07:50 +08:00 |
|
admin
|
a99a6e056d
|
feat(auth): persist login provider for restored sessions
|
2026-06-30 12:50:18 +08:00 |
|
admin
|
6e811b0e09
|
fix(user): refresh profile on sidebar open
|
2026-06-30 11:36:52 +08:00 |
|
admin
|
01a17fbdc9
|
fix(payment): fail order polling after timeout
|
2026-06-30 10:37:44 +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
|
e372d58b4c
|
feat(payment): sync plans and add coins rules
|
2026-06-29 14:11:50 +08:00 |
|
admin
|
934b92502b
|
fix(chat): clear limit prompt after payment
|
2026-06-29 11:27:39 +08:00 |
|
admin
|
2207301ccb
|
refactor(sidebar): remove unused store
|
2026-06-29 10:58:15 +08:00 |
|
admin
|
b7779878cf
|
feat(chat): unlock history after payment
|
2026-06-29 10:53:52 +08:00 |
|
admin
|
58cd2a7545
|
feat(user): sync entitlement snapshot
|
2026-06-29 10:37:37 +08:00 |
|
admin
|
1b73c3ac10
|
refactor(chat): remove private unlock machine flow
|
2026-06-26 19:17:29 +08:00 |
|
admin
|
b6f18a1ef3
|
refactor(payment): remove vip status flow
|
2026-06-26 18:48:22 +08:00 |
|
admin
|
e9fc001a6f
|
refactor(chat): remove vip websocket session flow
|
2026-06-26 18:35:26 +08:00 |
|
admin
|
49b67064f7
|
feat(subscription): load vip and credit plans from api
|
2026-06-26 15:09:27 +08:00 |
|
admin
|
3a85c1d46f
|
fix(auth): use uuid device id outside production
|
2026-06-26 13:14:01 +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
|
9a3c8f0d12
|
fix(payment): allow renewing active subscriptions
|
2026-06-22 18:48:21 +08:00 |
|