Files
curriculum-project-hub/docs/adr/0032-remove-recent-visit-module.md
ymy 83a6b012b7 feat(filelib): 移除最近打开模块(ADR-0032,supersede ADR-0031 对应半部)
- FileLibRecentVisit 删表(手写迁移;表当日新建无生产数据)
- recentService/recentRoutes/RecentView 删除;GridLibraryView 埋点与
  navTarget 跳转一并移除;types 清 RecentEntry
- 左栏保留 文件库/回收站(ADR-0031 回收站半部不受影响)
- breadcrumb 的 role 字段保留(独立可用的增量字段)
2026-07-31 13:39:18 +08:00

1.3 KiB

ADR 0032: Remove The Recent-Visit Module

Status

Accepted. Supersedes the "Recent visits" half of ADR-0031 (the recycle-bin half is unaffected and remains in force).

Context

ADR-0031 (same day) introduced 最近打开: a FileLibRecentVisit table, client-driven visit recording, and a rail entry in the teacher app. After seeing it live, the product call is that the module is not wanted — it adds a tracking surface, a table, and rail noise without a compelling teacher workflow behind it.

Decision

The recent-visit module is removed end-to-end:

  • FileLibRecentVisit is dropped (hand-written migration 20260731090000_drop_filelib_recent_visit; the table was created the same day and held no production data).
  • recentService / recentRoutes (/database/api/recent) and the RecentView component are deleted; the rail in /app keeps only 文件库 / 回收站.
  • GridLibraryView visit recording and the navTarget navigation entry go with it.
  • The role field added to breadcrumb entries for ADR-0031 is kept — it is a cheap, additive field on an existing API and independent of the removed module.

If recent-visit tracking comes back as a requirement, it is a new decision (and should then define why client-driven tracking is worth its surface) rather than a revival of this one.