Commit Graph
22 Commits
Author SHA1 Message Date
root 88525a3f9f perf(db): WAL + synchronous=NORMAL + 8MB page cache for per-user dbs, throttled device last_seen writes
- openDb pragmas: journal_mode=WAL, synchronous=NORMAL, temp_store=MEMORY,
  cache_size=-8000; 3000-record stress write throughput 9514ms -> 1241ms
  (7.7x), single upsert ~0.3ms; read paths unchanged (<=22ms)
- authUser: devices.last_seen_at now written only when stale > 60s,
  removing one write per authenticated request (write amplification)
2026-10-17 22:09:48 +08:00
root a668647f35 fix(audit): profile_upsert top-key merge, scoring badge recordIds, zc item contract
- profile_upsert now merges top-level keys (info/resume/zongce are independent sub-documents); previously any page saving its own slice silently wiped the other two (profile save lost zongce rules, assessment save lost resume, resume save lost zongce)
- ZcItem gains recordIds: aggregated cap items (wcap/ccap/kcap/gcap/hcap) expose the records they aggregate, so the evidence gallery scored/unscored badge works (matchedIds was always empty before)
- add regression coverage notes; www rebuilt
2026-10-17 19:13:58 +08:00
root b7ad7ef5dc feat(demo): 25 footprints w/ 10 competition awards + real drawn certificate attachments, grade data aligned to gpa formula, seed.mjs reuses demo_seed command layer 2026-10-17 17:04:37 +08:00
root 595be0d928 fix: DEMO_RESUME declared before use 2026-10-17 16:08:55 +08:00
root caa5cac7b7 test: demo seed now 18 footprints across two academic years 2026-10-17 16:05:34 +08:00
root a0e2ded426 feat(grades): gpa formula system - linear per-band gp (start~top), course category weights (editable), formula display, seed aligned to school standard 2026-10-17 15:30:15 +08:00
root 40661aa685 feat: editable gpa formula via bands, resume edu format per template, dedupe sections, word photo size, text justify 2026-10-17 14:17:43 +08:00
root 5452611a63 feat(admin): user management - list + high-risk delete with full cascade (lsky, user db, attachments, auth) 2026-10-17 13:37:15 +08:00
root 68043d309e feat: fictional demo persona (profile seed), word export mirrors preview layout, print scrollbar fix 2026-10-17 13:23:36 +08:00
root 9d2e14b72a fix(resume): remove shadowing local ResumeSectionCfg (use types.ts with edu kind) 2026-10-17 12:48:13 +08:00
root 500d59ba58 fix: profile_upsert payload binding 2026-10-17 12:05:56 +08:00
root 74884ce73a feat: custom types can bind a field layout (profile) - layout select in type editor, respected in record form 2026-10-17 10:45:04 +08:00
root c39a4c80d5 feat: delete remote images from Lsky when record/attachment is deleted (keys stored at upload, legacy URLs resolved via pathname) 2026-10-17 10:10:19 +08:00
root 10fa64b5c8 test: fix raw upload assertions 2026-10-17 09:57:43 +08:00
root 2bba3be08e feat: Lsky/COS gateway - attachments upload direct to object storage (remote_url/remote_thumb), preview loads from COS, graceful local fallback 2026-10-17 01:16:59 +08:00
root c25c39a0aa test: adjust restart count after cascade delete 2026-10-16 23:15:02 +08:00
root 07f7cd51b2 feat: server-side attachment thumbnails (480px webp at upload) + session caches - detail grids no longer download full originals 2026-10-16 23:10:44 +08:00
root cc468027ca fix: actually commit app/server/db.mjs with demo_seed + DEMO data (was never staged - root cause of 未知命令) 2026-10-16 20:02:57 +08:00
root 9d97384aaf sync: 各端互通引擎就位 —— wire 应用/拉取(LWW+FK uuid 映射)接入 /sync/push|pull,桌面与网页同库 2026-10-16 15:46:51 +08:00
root dc520bfac0 feat: 管理员账号体系 + 动态邀请码管理; 各端内置数据固定 uuid 对齐 2026-10-16 15:24:49 +08:00
root 547157aaa1 feat: Web 版上线 footpr.linyux.cn —— 登录页 + 按用户隔离的命令 API + 静态托管 2026-10-16 15:00:58 +08:00
root 42ca57abfd feat: 足迹 Footprints 个人留痕系统
桌面应用(Tauri+React+SQLite):时间线/记录/学年学科成绩梯度/统计/类型与字段模板/附件内容寻址/详情视图/PWA

同步服务端(sync-server):多用户+邀请码/LWW推拉/seq游标/附件去重/Docker部署

多端同步地基:uuid v7/HLC混合逻辑时钟/软删除墓碑/sync_oplog,Node与Rust双端一致并通过自动化测试
2026-10-16 13:53:15 +08:00