admin
|
4682b4bf3f
|
refactor(chat): simplify paid message lock state
|
2026-07-13 15:20:07 +08:00 |
|
admin
|
fd631168c8
|
feat(auth): implement Facebook identity binding on external entry
|
2026-07-13 15:02:01 +08:00 |
|
admin
|
3752b3b729
|
feat(chat): add promotional external entry flow
|
2026-07-13 12:43:18 +08:00 |
|
admin
|
8b40720821
|
feat(storage): run startup persistence migrations
|
2026-07-10 17:42:06 +08:00 |
|
admin
|
53801490e5
|
feat(auth): add facebook identity psid login
|
2026-07-10 17:10:55 +08:00 |
|
admin
|
2e60bf64e6
|
feat(auth): rename facebookIdLogin to facebookAsidLogin and update related references
|
2026-07-10 16:35:38 +08:00 |
|
admin
|
dfcb06f5a9
|
feat(auth): add psid field to various login request DTOs and schemas
|
2026-07-10 16:33:29 +08:00 |
|
admin
|
e421192560
|
feat(auth): rename external ids to asid psid
|
2026-07-10 11:54:10 +08:00 |
|
admin
|
8312d08653
|
fix(chat): apply unlocked voice audio url
|
2026-07-10 11:15:59 +08:00 |
|
admin
|
a1a93a51fb
|
refactor(sidebar): split state derivation
|
2026-07-10 10:38:21 +08:00 |
|
admin
|
c594e55fd3
|
refactor(auth): remove apple login status
|
2026-07-09 17:25:16 +08:00 |
|
admin
|
6bc14ab799
|
refactor(payment): remove unused plan dto field
|
2026-07-09 16:38:14 +08:00 |
|
admin
|
dfa5b0c068
|
refactor(chat): make external browser launch user initiated
|
2026-07-09 15:18:52 +08:00 |
|
admin
|
360db0f813
|
refactor(auth): remove unused machine state
|
2026-07-09 15:02:49 +08:00 |
|
admin
|
9159f5346d
|
feat(navigation): add external entry routing
|
2026-07-09 14:43:28 +08:00 |
|
admin
|
fc92c3a5d5
|
refactor(chat): show images in page overlay
|
2026-07-09 10:11:25 +08:00 |
|
admin
|
cb7791dd8d
|
feat(tip): add coffee tipping page
|
2026-07-08 19:21:42 +08:00 |
|
admin
|
c46b9b4cdd
|
feat(private-room): connect moments feed
Docker Image / Build and Push Docker Image (push) Successful in 9m29s
|
2026-07-08 16:29:08 +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
|
b5bf81de59
|
refactor(api): remove unused network endpoints
|
2026-07-07 16:29:21 +08:00 |
|
admin
|
9f5e1533fc
|
refactor(user): remove unused view fields
|
2026-07-07 15:40:27 +08:00 |
|
admin
|
e10e65d2f3
|
refactor(user): persist compact user cache
|
2026-07-07 15:36:17 +08:00 |
|
admin
|
473f6a3726
|
refactor(dto): centralize backend schema defaults
|
2026-07-06 11:14:56 +08:00 |
|
admin
|
27cb2e2c33
|
fix(pwa): show install prompt only once
|
2026-07-03 18:29:58 +08:00 |
|
admin
|
c739cc5b6e
|
refactor(auth): fold guest restore into logout
|
2026-07-03 17:04:19 +08:00 |
|
admin
|
d17ab6c23d
|
feat(profile): surface daily free quotas
|
2026-07-03 16:56:06 +08:00 |
|
admin
|
8f17ea9c9f
|
fix(auth): return to guest session on logout
|
2026-07-03 16:14:04 +08:00 |
|
admin
|
79324defcf
|
refactor(auth): remove username fallback
|
2026-07-03 15:00:10 +08:00 |
|
admin
|
91dde42f92
|
refactor(router): introduce app navigation manager
|
2026-07-03 14:09:13 +08:00 |
|
admin
|
8a586e4471
|
refactor(errors): classify auth and browser failures
|
2026-07-03 13:20:16 +08:00 |
|
admin
|
65d972fbb4
|
feat(errors): add centralized exception handling
|
2026-07-03 12:55:45 +08:00 |
|
admin
|
489554cd78
|
fix(payment): consume first recharge offer after payment
|
2026-07-03 10:54:46 +08:00 |
|
admin
|
3592c6bb56
|
feat(chat): show first recharge offer in header
|
2026-07-02 18:45:08 +08:00 |
|
admin
|
f6932357c6
|
fix(payment): default nullable first recharge offer
|
2026-07-02 15:48:06 +08:00 |
|
admin
|
d4de1370e8
|
feat(payment): implement first recharge offer functionality and UI updates
|
2026-07-02 14:39:09 +08:00 |
|
admin
|
51987882eb
|
fix(api): replay requests after token refresh
|
2026-07-02 12:08:56 +08:00 |
|
admin
|
c20769b6a3
|
fix(chat): make cached media load on safari
|
2026-07-01 20:13:56 +08:00 |
|
admin
|
ae6578923b
|
refactor(storage): use unstorage for session state
|
2026-07-01 18:36:26 +08:00 |
|
admin
|
5f9df58dbe
|
fix(chat): downgrade media prefetch cache failures
|
2026-07-01 16:53:11 +08:00 |
|
admin
|
c477737c0d
|
fix(chat): allow nullable credit fields
|
2026-07-01 16:25:59 +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
|
b7bccaa4cf
|
test(chat): add test for defaulting nullable credit fields to zero
|
2026-06-30 19:33:34 +08:00 |
|
admin
|
a105820b88
|
test(chat): add test for defaulting nullable content to an empty string
|
2026-06-30 19:29:41 +08:00 |
|
admin
|
ed109f25a0
|
refactor(chat): split machine and repository flows
|
2026-06-30 19:16:33 +08:00 |
|
admin
|
5f94105bc6
|
fix(chat): update unlock response contract
|
2026-06-30 18:15:39 +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
|
61504050e5
|
fix(auth): trim email and username in emailLogin method
|
2026-06-30 15:15:35 +08:00 |
|