Skip to content

Releases: tempppw01/Recall

v0.3.1

18 Mar 05:41

Choose a tag to compare

Release Notes — v0.3.1

这是一个部署兼容性热修版本,主要解决“未显式配置 NEXTAUTH_SECRET 时,容器可能因启动策略过严而影响开箱可用性”的问题。

✅ 主要修复

部署兼容性修复

  • NEXTAUTH_SECRET 从“强制必须提供”调整为“可选,缺失时自动生成临时值”
  • docker-compose.yml 不再强制要求必须传入 NEXTAUTH_SECRET
  • README 补充说明:
    • 未配置时仍可启动
    • 但重启/重建容器后 session 可能失效
    • 生产环境仍建议显式配置稳定 secret

为什么之前要加这个限制

NextAuth 需要 NEXTAUTH_SECRET 来签名和校验认证相关数据。没有它,认证链路会变得不稳定,或者出现 warning / 问题。

之前之所以做成“必须配置”,是为了避免线上继续使用固定弱默认值(如 change-me-in-prod)。

为什么现在又放宽

因为对于自部署 / 先跑起来再说的场景:

  • “起不来” 比 “session 重启后失效” 更影响使用
  • 所以现在改成:
    • 优先保证能启动
    • 同时保留 warning,提醒生产环境显式配置

建议

生产环境仍推荐显式设置:

NEXTAUTH_SECRET=<your-stable-random-secret>

v0.3.0

18 Mar 03:57

Choose a tag to compare

Release Notes — v0.3.0

v0.3 聚焦“同步可靠性与可观测性”。这不是花活版本,重点是让同步链路更可解释、更容易排障。

✅ 主要更新

同步模型与冲突策略文档化

  • 新增 docs/plan/sync.md
  • 明确当前 Redis 队列同步模型:
    • 任务入队 → 轮询触发处理 → 分布式锁串行处理
    • tasks / habits / countdowns 按 id + updatedAt 做 LWW 合并
    • deletions 使用 tombstone map
    • settings / secrets 由 lastLocalChange 决定优先方

冲突可观测性(最小实现)

  • 服务端同步结果新增 conflicts 摘要:
    • tasks
    • habits
    • countdowns
    • settings
    • secrets

错误码与结构化日志

  • /api/sync 统一错误结构:
    • ok
    • code
    • message
    • requestId
  • 增加结构化日志字段:
    • scope
    • event
    • requestId
    • jobId / syncKey

深度健康检查

  • /api/health 支持:
    • 默认浅检查
    • ?deep=1 执行 DB 探测
  • 更适合区分:
    • 容器活着没
    • 服务真的健康没

⚠️ 已知说明

  • conflicts 当前是摘要级,不是逐条冲突明细;
  • 完整冲突解释 / 逐字段冲突分析还没做;
  • deep health 当前只检查 DB,后续可扩展 Redis / 外部依赖。

相关文档

  • 计划/审计/发布记录:docs/plan/
  • 同步文档:docs/plan/sync.md
  • 发布历史:docs/plan/releases/CHANGELOG.md

v0.2.1

18 Mar 01:14

Choose a tag to compare

Release Notes — v0.2.1

本次为 v0.2 系列的稳定性/体验增强小版本,重点在「时间轴 Phase 3」与「部署安全」。

✅ 主要更新

时间轴 Phase 3(视觉与反馈)

  • 新增本周/本月阶段总结(完成数/完成率/Top 类目)
  • 新增完成密度热力格(近 28 天)
  • 主题色/渐变联动:时间轴关键视觉元素跟随全局 theme token
  • 瀑布流布局(masonry-ish):大屏双列、小屏单列,保持交互稳定

工程与可部署性

  • Prisma migrations 纳入版本控制:新增初始迁移 20260317_init
  • 增加健康检查端点:GET /api/health

安全修复(重要)

  • 修复 Docker 默认弱 NEXTAUTH_SECRET
    • 移除 Dockerfile 默认值
    • 生产环境启动时若未设置/仍为默认值将拒绝启动
    • compose 示例改为强制要求显式传入

⚠️ 兼容性说明

  • 完成密度统计口径当前使用 completed 任务的 updatedAt 近似“完成时间”,后续如需更精确可引入 completedAt 字段。
  • 瀑布流使用 CSS columns,视觉顺序为“先上后下再换列”,属于可接受取舍(未改变数据顺序)。

相关文档

  • 计划/审计/发布记录:docs/plan/
  • 数据库文档:docs/plan/database.md
  • CHANGELOG:docs/plan/releases/CHANGELOG.md

v0.2.0

17 Mar 15:21

Choose a tag to compare

v0.2.0

本次版本聚焦两件事:

  1. 动态 PG / Prisma 边界收敛(更安全、更一致)
  2. 时间轴体验增强(更好扫、更有定位感)

✨ 新增 / 改进

  • Prisma / 动态 PG

    • 统一 API 路由的 DB context 解析:session 优先,未登录才允许 dynamic PG(避免 DELETE 等路由行为不一致)
    • 动态 PG 连接串增加连接守卫参数(connection_limit / connect_timeout / pool_timeout),降低连接池耗尽风险
    • 新增数据库初始化/迁移文档:docs/database.md
    • 新增快速连通性验证脚本:scripts/db-check.sh
  • 时间轴(Timeline)

    • 日期分组信息层级增强 + sticky header
    • 状态标签更秒懂(图标 + 颜色区分)
    • 卡片可读性与 hover 反馈增强
    • 节点轻量进入动画、轴线视觉引导
    • 展开/收起过渡更顺滑
    • “今天”定位提示增强

🛠 修复

  • 修复/收敛若干 TypeScript 类型与 lint 问题,确保 npm run typecheck / npm run lint 通过。

⚠️ 已知问题 / 技术债

  • Prisma migrations 尚未完全纳入版本控制(当前以 schema 为主)。若要生产可追溯发布,建议固定 migrate 策略并引入 migrations。