admin
4083cf0b6c
refactor: remove obsolete config and cross-layer exports
...
Drop the temporary static-generation retry override and stale hydration suppression. Refresh outdated Next.js and migration comments, and stop re-exporting Result through the storage layer.
2026-07-13 18:45:59 +08:00
admin
225d232763
fix(auth): handle logout and refresh results
...
Propagate storage Result failures through logout, guest restoration, token refresh, and user state actors. Clear invalid sessions after failed automatic refreshes and cover both business and guest flows.
2026-07-13 17:23:54 +08:00
admin
b126b83c4c
fix(chat): isolate cached data by identity
...
Scope message and media caches to the active user or guest identity. Preserve identity snapshots across async chat flows and discard legacy unscoped message data during the IndexedDB upgrade.
2026-07-13 16:54:34 +08:00
admin
4682b4bf3f
refactor(chat): simplify paid message lock state
2026-07-13 15:20:07 +08:00
admin
3752b3b729
feat(chat): add promotional external entry flow
2026-07-13 12:43:18 +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
8312d08653
fix(chat): apply unlocked voice audio url
2026-07-10 11:15:59 +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
b5bf81de59
refactor(api): remove unused network endpoints
2026-07-07 16:29:21 +08:00
admin
c739cc5b6e
refactor(auth): fold guest restore into logout
2026-07-03 17:04:19 +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
8a586e4471
refactor(errors): classify auth and browser failures
2026-07-03 13:20:16 +08:00
admin
489554cd78
fix(payment): consume first recharge offer after payment
2026-07-03 10:54:46 +08:00
admin
c20769b6a3
fix(chat): make cached media load on safari
2026-07-01 20:13:56 +08:00
admin
5f9df58dbe
fix(chat): downgrade media prefetch cache failures
2026-07-01 16:53:11 +08:00
admin
617f1d4777
fix(chat): preserve locked message content on unlock
2026-07-01 10:47:55 +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
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
admin
a99a6e056d
feat(auth): persist login provider for restored sessions
2026-06-30 12:50:18 +08:00
admin
768b24774d
fix(auth): replace hardcoded platform name with dynamic platform detection
2026-06-30 12:05: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
e372d58b4c
feat(payment): sync plans and add coins rules
2026-06-29 14:11:50 +08:00
admin
6e51cb7d16
Refactor: Remove original Dart references from comments across multiple files
...
- Updated comments in various components, schemas, and repositories to remove references to original Dart files.
- Ensured consistency in documentation while maintaining the context of the code.
2026-06-29 11:31:21 +08:00
admin
1ebd29d1ed
refactor: remove unused subscription plans and router files
2026-06-29 10:56:08 +08:00
admin
58cd2a7545
feat(user): sync entitlement snapshot
2026-06-29 10:37:37 +08:00
admin
455204e1e4
feat(chat): add history unlock api
2026-06-26 19:27:56 +08:00
admin
49b67064f7
feat(subscription): load vip and credit plans from api
2026-06-26 15:09:27 +08:00
admin
abf6d5ae88
feat(auth): mark test accounts in login requests
2026-06-26 14:05:53 +08:00
admin
42c03f8901
feat(chat): migrate chat protocol to lock detail
2026-06-24 14:06:30 +08:00
admin
ebd44c4980
feat(chat): add private message unlock flow
2026-06-23 13:21:57 +08:00
admin
d81abd6efd
feat(chat): support ai photo viewing
2026-06-23 10:34:02 +08:00
admin
35c30ac31e
feat(data): add paywall payment APIs
2026-06-18 14:55:54 +08:00
admin
812a3e41b9
refactor(logging): centralize console output
2026-06-18 13:34:19 +08:00
admin
0d0dabaace
refactor(utils): add barrel exports
2026-06-18 11:58:50 +08:00
admin
1152491088
refactor(repositories): use barrel imports
2026-06-17 12:09:40 +08:00
admin
9ffa30cc03
style: remove markdown bold syntax from code comments
...
Remove `**...**` emphasis markers from inline comments and JSDoc blocks across
auth and chat components, machine mappers, and quota helpers. These are
plain code comments, not rendered markdown, so the bold syntax was noise.
Files touched:
- src/app/auth/components/auth-screen.tsx
- src/app/chat/components/chat-header.tsx
- src/app/chat/components/chat-screen.tsx
- chat machine mapper / quota helpers
No functional or behavioral changes.
2026-06-16 14:06:31 +08:00
admin
7bc21c1864
chore(auth): add debug logging to guest login flow
...
Add console.log instrumentation across the guest login pipeline (auth-machine, authRepository, authApi) to trace request lifecycle and surface Zod parsing failures with detailed issue info. Useful for diagnosing lastMessageAt schema mismatches.
2026-06-12 16:21:21 +08:00
admin
982d9ba790
refactor(data): add I*Repository interfaces and depend on them in stores
...
为 /src/data/repositories/ 下每个仓库类增加对应的接口契约,
接口文件存放在独立的 interfaces/ 子目录中。
改动:
- 新建 4 个接口文件 (iauth_repository / ichat_repository /
imetrics_repository / iuser_repository),纯 type-only,方法签名
与实现类完全一致
- 4 个实现类加 implements I{Name}Repository 子句,编译器自动校验契约
- 3 个 stores 文件 (auth / chat / user state machines) 改为依赖接口
类型:通过 `const xxxRepo: I{Name}Repository = xxxRepository` 局部别名,
actor 内部调用全部走别名
- barrelsby.json 加入 interfaces/ 目录,让自动 barrel 能覆盖
- Auto-regenerated repositories/index.ts 与 interfaces/index.ts
参照 storage 层已有的 IAuthStorage / IChatStorage / IUserStorage 模式。
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude <noreply@anthropic.com >
2026-06-11 17:02:49 +08:00
admin
016bc6fd2c
fix:修复所有的包导入错误问题
2026-06-09 18:30:49 +08:00
admin
6e64ed35f4
chore(deps): add unstorage and migrate ChatStorage to use SpAsyncUtil
2026-06-09 18:13:55 +08:00
admin
904cb3638a
refactor(data): move Result utility to utils and simplify API
...
Relocate the Result type from `@/data/result` to `@/utils/result` and
replace the discriminated-union API (`kind`/`value`) with a simpler
boolean-based API (`success`/`data`) across all repositories and
storage classes for improved readability and consistency.
2026-06-09 10:34:40 +08:00
admin
a240f5965d
feat(data): add repository layer with Auth/Chat/User/Metrics + shared Result<T>
...
引入仓库层(`src/data/repositories/`),对齐原 Dart `lib/data/repositories/`
的四个仓库:Auth(hybrid: API+AuthStorage+UserStorage)、Chat(hybrid:
API+LocalChatStorage via Dexie)、User(纯远程)、Metrics(纯远程)。
同步抽取 4 个 `*_api.ts` 中重复的 envelope-unwrap 代码到
`src/data/api/response_helper.ts`,失败时抛 `ApiError`(之前抛裸 Error)。
新建 `src/data/result.ts` 提供仓库层统一 `Result<T>`(`{success,data}` 形态),
与 `src/data/storage/result.ts`(`{kind,value}` 形态)并存。
更新 `barrelsby.json` 让 `src/data/repositories/` 加入 barrel 生成。
2026-06-08 19:28:02 +08:00