admin
8bb1e21886
fix(chat): isolate pending flows and cancel stale requests
2026-07-20 10:31:27 +08:00
admin
ae97366a4a
refactor(data): replace schema classes with readonly models
2026-07-17 13:21:40 +08:00
admin
eac3d8f0a7
refactor(data): merge DTO models into schemas
2026-07-17 12:47:18 +08:00
admin
2796010971
feat(characters): support character-scoped conversations
2026-07-17 11:42:31 +08:00
admin
bb0d9244c0
refactor(rsc): narrow client module boundaries
2026-07-14 18:39:56 +08:00
admin
0033625866
perf(bundle): replace broad storage and utils imports
2026-07-14 18:13:55 +08:00
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
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
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
c20769b6a3
fix(chat): make cached media load on safari
2026-07-01 20:13:56 +08:00
admin
617f1d4777
fix(chat): preserve locked message content on unlock
2026-07-01 10:47:55 +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
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
455204e1e4
feat(chat): add history unlock api
2026-06-26 19:27:56 +08:00
admin
ebd44c4980
feat(chat): add private message unlock flow
2026-06-23 13:21:57 +08:00
admin
35c30ac31e
feat(data): add paywall payment APIs
2026-06-18 14:55:54 +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
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