yaosanqi137
|
1564d2dd30
|
feat(web-security): encrypt offline data at rest
|
2026-04-06 16:07:37 +08:00 |
|
yaosanqi137
|
1ea483016f
|
feat(web-ai): persist chat history locally
|
2026-04-06 15:58:00 +08:00 |
|
yaosanqi137
|
4c6aeb3e6c
|
feat(api-security): encrypt user fields and ai usage logs
|
2026-04-06 15:55:27 +08:00 |
|
yaosanqi137
|
13abfc1e52
|
feat(api-security): encrypt sensitive data at rest
|
2026-04-06 15:25:10 +08:00 |
|
yaosanqi137
|
13d0d7707a
|
fix(ai-public): hide public pool endpoint from users
|
2026-04-06 14:28:37 +08:00 |
|
yaosanqi137
|
6ae9f49b4c
|
refactor(web-ai): split chat and settings pages
|
2026-04-06 14:26:18 +08:00 |
|
yaosanqi137
|
ea23f6264c
|
feat(web-ai): add channel-aware assistant panel
|
2026-04-06 13:51:44 +08:00 |
|
yaosanqi137
|
d0ba581184
|
feat(api-ai): scope private bindings by user channel
|
2026-04-06 13:36:28 +08:00 |
|
yaosanqi137
|
5c956c195b
|
feat(api-ai): add usage log query endpoint
|
2026-04-06 13:08:36 +08:00 |
|
yaosanqi137
|
4578116a30
|
feat(api-ai): inject unfinished task summary
|
2026-04-06 12:57:14 +08:00 |
|
yaosanqi137
|
45177e9fad
|
feat(api-ai): persist usage logs
|
2026-04-06 12:42:56 +08:00 |
|
yaosanqi137
|
2ca790abf9
|
feat(api-ai): support astrbot config selection
|
2026-04-06 12:33:10 +08:00 |
|
yaosanqi137
|
2bce9a59c6
|
fix(api-ai): stop astrbot stream on end event
|
2026-04-06 12:19:13 +08:00 |
|
yaosanqi137
|
180f7a9baa
|
feat(api-ai): add provider registry and routing fallback
|
2026-04-06 11:44:05 +08:00 |
|
yaosanqi137
|
019436507e
|
perf(web-toolbar): reduce rich editor toolbar update cost
|
2026-04-06 02:05:42 +08:00 |
|
yaosanqi137
|
63298d6827
|
perf(web-page): memoize todo panels to limit rerenders
|
2026-04-06 01:55:18 +08:00 |
|
yaosanqi137
|
3a7c67bb88
|
perf(web-editor): decouple rich editor state from page render
|
2026-04-06 01:50:33 +08:00 |
|
yaosanqi137
|
5d88ac783b
|
perf(web-editor): reduce task content typing lag
|
2026-04-06 01:38:54 +08:00 |
|
yaosanqi137
|
c98adb3051
|
feat(sync): implement lww conflict and tombstone handling
|
2026-04-06 01:33:57 +08:00 |
|
yaosanqi137
|
c48e16a977
|
feat(web-sync): add background sync worker and retry strategy
|
2026-04-06 01:15:50 +08:00 |
|
yaosanqi137
|
661788ae75
|
feat(api-sync): implement sync pull endpoint with cursor
|
2026-04-06 01:03:12 +08:00 |
|
yaosanqi137
|
ecf0d9ff03
|
feat(api-sync): implement sync push endpoint with idempotency
|
2026-04-06 00:53:36 +08:00 |
|
yaosanqi137
|
de1db459c2
|
fix(api-task): satisfy strict typings in task service
|
2026-04-06 00:53:07 +08:00 |
|
yaosanqi137
|
0c496c6ba6
|
docs(readme): update feature checklist progress
|
2026-04-06 00:43:21 +08:00 |
|
yaosanqi137
|
8dff555db4
|
fix(web-task): localize task status labels
|
2026-04-06 00:26:33 +08:00 |
|
yaosanqi137
|
a2d1840e47
|
feat(web-task): animate top feedback banner
|
2026-04-06 00:11:22 +08:00 |
|
yaosanqi137
|
73e0f1312c
|
feat(web-task): persist local drafts and save shortcut
|
2026-04-05 23:59:03 +08:00 |
|
yaosanqi137
|
8ef7c75948
|
feat(web-editor): add resizable media interactions
|
2026-04-05 23:58:39 +08:00 |
|
yaosanqi137
|
fab72906c9
|
fix(web-editor): avoid file picker on editor focus
|
2026-04-05 23:21:45 +08:00 |
|
yaosanqi137
|
5d71f3b527
|
feat(web-storage): implement media upload with quota hints
|
2026-04-05 17:30:39 +08:00 |
|
yaosanqi137
|
60dbd1be9d
|
feat(web-editor): integrate tiptap media extensions
|
2026-04-05 17:26:36 +08:00 |
|
yaosanqi137
|
bb0a09d627
|
feat(web-task): implement inbox and task detail views
|
2026-04-05 17:22:04 +08:00 |
|
yaosanqi137
|
b106d91f8a
|
feat(web-db): add dexie schema for tasks and op logs
|
2026-04-05 17:18:19 +08:00 |
|
Yaosanqi137
|
8b5af6e172
|
Merge pull request #8 from Yaosanqi137/feature/p2-web-shell-auth
feat(web): 登录页独占布局并优化侧栏交互
|
2026-04-05 17:14:33 +08:00 |
|
yaosanqi137
|
aff645bc5d
|
feat(web): render auth pages without app shell
|
2026-04-05 17:09:17 +08:00 |
|
yaosanqi137
|
e8dd85ee65
|
feat(web): polish sidebar shell and authentication UI
|
2026-04-05 16:57:52 +08:00 |
|
yaosanqi137
|
eeee62c4e8
|
feat(web-ui): use project icon as favicon
|
2026-04-05 15:47:32 +08:00 |
|
Yaosanqi137
|
f7069fe07d
|
Merge pull request #7 from Yaosanqi137/feature/p2-web-shell-auth
Feature/p2 web shell auth
|
2026-04-05 15:46:05 +08:00 |
|
yaosanqi137
|
e4c2095004
|
fix(ci): add nodemailer type declarations for api typecheck
|
2026-04-05 15:44:13 +08:00 |
|
yaosanqi137
|
95c10eca77
|
feat(web-auth): implement logout with token revoke and session clear
|
2026-04-05 15:05:51 +08:00 |
|
yaosanqi137
|
25857abf26
|
docs(web): localize web README to Chinese
|
2026-04-05 14:57:27 +08:00 |
|
yaosanqi137
|
352b3c1b3c
|
feat(api-auth): persist users and auth state in postgres
|
2026-04-05 14:48:57 +08:00 |
|
yaosanqi137
|
ec1a4f7478
|
feat(api-auth): send email login codes via SMTP
|
2026-04-05 14:40:52 +08:00 |
|
yaosanqi137
|
7192cda20f
|
fix(api): enable CORS for browser client requests
|
2026-04-05 14:30:13 +08:00 |
|
yaosanqi137
|
aae03b6b0d
|
docs(readme): add deployment and usage guide
|
2026-04-05 14:28:25 +08:00 |
|
yaosanqi137
|
48b69793ce
|
docs(api-env): improve .env.example comments and grouping
|
2026-04-05 14:28:13 +08:00 |
|
yaosanqi137
|
4b47d3bda7
|
feat(web-auth): add oauth callbacks and session bootstrap
|
2026-04-05 02:54:50 +08:00 |
|
yaosanqi137
|
fe4f7909e3
|
feat(web-auth): implement email code login pages
|
2026-04-05 02:35:55 +08:00 |
|
yaosanqi137
|
579d63d39d
|
feat(web): bootstrap react vite tailwind shadcn stack
|
2026-04-05 02:31:18 +08:00 |
|
Yaosanqi137
|
d7f27eaf1e
|
Merge pull request #6 from Yaosanqi137/feature/p2-api-task-attachment
Feature/p2 api task attachment
|
2026-04-05 02:15:40 +08:00 |
|