admin
2ae7eb73d0
fix(subscription): surface stripe element load errors
2026-06-25 17:47:24 +08:00
admin
94fb3ed19b
fix(user): align dto with latest payload
2026-06-25 17:40:41 +08:00
admin
e01b0daaf3
fix(user): prefer stored avatar in account surfaces
2026-06-25 17:29:49 +08:00
admin
949b2ef00d
fix(chat): restore direct voice unlock subscription
2026-06-25 17:18:41 +08:00
admin
b8ee286b76
fix(subscription): sync vip state before chat return
2026-06-25 17:03:09 +08:00
admin
2c668399ad
fix(auth): prefill email login outside production
2026-06-25 16:14:58 +08:00
admin
cec3e68e81
fix(auth): show email option outside production
2026-06-25 16:07:40 +08:00
admin
ffc3db9a91
fix(chat): add voice unlock payment choices
2026-06-25 14:41:21 +08:00
admin
5879b7acf3
test(e2e): add playwright smoke coverage
2026-06-25 14:19:38 +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
f83e04ed6f
fix(chat): hide voice message transcript
2026-06-25 11:26:32 +08:00
admin
cd836cda43
feat(chat): add voice message bubbles
2026-06-25 11:13:25 +08:00
admin
038b207964
feat(ui): add responsive mobile design tokens
2026-06-25 10:50:46 +08:00
admin
cc065f7781
fix(sidebar): adjust padding for user slot
2026-06-25 10:21:52 +08:00
admin
c8f0827e40
fix(subscription): return chat paywalls after payment
2026-06-25 10:20:13 +08:00
admin
9555a173b5
fix(subscription): adjust padding and margin for card layout
2026-06-25 10:06:55 +08:00
admin
583215a99d
fix(chat): route private unlocks to subscription
2026-06-24 19:27:49 +08:00
admin
568808ed39
fix(auth): read redirect on client
2026-06-24 18:57:12 +08:00
admin
38bd9e8ac0
fix(githooks): remove unnecessary newline in post-commit log output
2026-06-24 18:54:25 +08:00
admin
a987da9bfe
fix(chat): redirect guests before quota upgrade
2026-06-24 18:47:10 +08:00
admin
5aa32a4256
fix(chat): redirect guests to auth before image paywall
2026-06-24 18:41:59 +08:00
admin
c288148c12
fix(chat): remove dynamic upgradeHint for daily limit message
2026-06-24 18:18:21 +08:00
admin
2d3cb0538c
fix(styles): adjust padding and remove margin for title in voice package card
2026-06-24 18:08:25 +08:00
admin
bc2046fcc6
fix(styles): increase font size for used and total numbers for better visibility
2026-06-24 17:57:17 +08:00
admin
7701c5dbca
fix(styles): adjust padding and font sizes for improved layout consistency
2026-06-24 17:55:48 +08:00
admin
d6e411c8ef
fix(subscription): update font sizes and padding for better consistency
2026-06-24 17:12:38 +08:00
admin
bb99fa592b
fix(subscription): refine plan price display
2026-06-24 17:11:37 +08:00
admin
07658071f2
fix(chat): reset input lift after keyboard closes
2026-06-24 16:35:42 +08:00
admin
8179abe899
fix(githooks): enhance post-commit script to unset local environment variables
2026-06-24 16:30:35 +08:00
admin
af033cc87d
feat(githooks): add post-commit hook for logging and script execution
2026-06-24 16:23:13 +08:00
admin
b489e50e3e
fix(chat): disable keyboard adaptation in regular browsers
2026-06-24 16:18:53 +08:00
admin
a68dfbfa99
fix(chat): allow Xiaomi Facebook keyboard fallback
2026-06-24 16:14:10 +08:00
admin
3624c08387
chore(chat): log keyboard adaptation diagnostics
2026-06-24 16:00:21 +08:00
admin
890eedf7d9
fix(chat): release keyboard fallback on close
2026-06-24 15:48:29 +08:00
admin
a229dcf7d1
fix(chat): scope keyboard fallback to Xiaomi Facebook IAB
2026-06-24 15:40:16 +08:00
admin
08c954903f
fix(chat): improve in-app keyboard avoidance
2026-06-24 15:13:11 +08:00
admin
853ae776f9
fix(chat): adapt input bar to soft keyboard in FB in-app browser
...
FB IAB on Xiaomi (and similar WebViews that don't shrink 100dvh) keeps
the chat input covered by the soft keyboard. Fix by writing the
visualViewport-derived keyboard height to a CSS variable on <html> and
consuming it as padding-bottom on the chat input bar.
- Add useKeyboardHeight hook (visualViewport + rAF batching, no re-renders)
- Apply --keyboard-height + env(safe-area-inset-bottom) to .bar padding
- Add scrollIntoView on textarea focus so the input stays visible
- Add viewportFit: cover so safe-area-inset-bottom is reported
2026-06-24 14:13:18 +08:00
admin
42c03f8901
feat(chat): migrate chat protocol to lock detail
2026-06-24 14:06:30 +08:00
admin
c280a3c1ea
chore(app): add lan dev script
2026-06-24 12:05:27 +08:00
admin
6180a8a515
feat(chat): blur locked image previews
2026-06-24 11:53:20 +08:00
admin
76a8320273
Merge branch 'dev' into test
2026-06-24 11:36:54 +08:00
admin
14a21578b9
refactor(payment): remove unused WebSocket event DTO and related schemas
2026-06-24 11:36:48 +08:00
admin
57e4add7a4
style(sidebar): refine action buttons
2026-06-24 11:35:15 +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
6c25a24440
feat(config): add new image hosting configuration for picui
2026-06-23 18:58:40 +08:00