Skip to content

Releases: xilele777/snotes

v0.16.1

Choose a tag to compare

@xilele777 xilele777 released this 24 Sep 05:53

修复

  • 手机 PWA 的笔记列表顶栏新增刷新按钮,可直接同步并刷新笔记和分组;刷新期间防止重复点击,并提示刷新结果、同步失败或离线状态。
  • 修复编辑器链接保存、重新打开或刷新页面后,网址末尾多出 > 并跳转到 %3E 的问题:HTML 转义保留 Markdown 自动链接,打开链接时清理尾部空白并检查协议。

v0.16.0

Choose a tag to compare

@xilele777 xilele777 released this 21 Sep 04:05

新增

  • 表格操作:点进表格后,指针靠近单元格边缘会出现「加一行 / 加一列」按钮,行首与列首出现拖拽把手,点击把手可选中整行或整列并删除,列把手还能设置左中右对齐;拖动把手可以调换行列顺序。
  • 高亮标记:工具栏新增「高亮」按钮(快捷键 Ctrl/⌘ Shift H),正文里直接输入 ==文字== 也会转成高亮。存储仍是纯 Markdown,== 语法与 Obsidian、Typora 一致。
  • 设置 → 外观新增「表格密度」(紧凑 / 标准 / 宽松),调整所有表格的单元格内边距,只影响本设备。

修复

  • 表格在笔记末尾或紧挨图片时,点击表格下方没有光标、无法继续输入。现在文末始终保留一个空段落,方向键也能把光标放到表格前后。

v0.15.4

Choose a tag to compare

@xilele777 xilele777 released this 21 Sep 02:18

修复

  • 编辑器工具栏的「插入表格」按钮以前只会固定插入 3×3 的表格,无法选择大小。现在点击后弹出行数与列数输入框(默认 3×3,范围 1 到 20),填好后再插入。

v0.15.3

Choose a tag to compare

@xilele777 xilele777 released this 20 Sep 16:53

修复

  • 导入备份后的笔记没有同步到云端。原因是备份里的笔记如果曾在云端被彻底删除(含回收站自动清理),服务端还留着 30 天的删除标记,用原 id 重新创建时服务端直接跳过却回报成功,云端仍是删除态,换设备一同步就没了。现在创建接口遇到删除标记会把它复活为正常笔记,并推进版本号让所有设备重新拉取。独立服务器版同样受影响,升级后即修复;已经导入过的笔记,在本机随便改一下再保存即可推上去。

v0.15.2

Choose a tag to compare

@xilele777 xilele777 released this 20 Sep 16:33

修复

  • 导入备份时分组按名字复用本机已有的分组,不再每次导入都多出一个同名分组。
  • 回收站里的搜索框下方多出的一条分隔线去掉(它来自顶部的保留期提示,提示已删除)。

变更

  • 回收站保留期默认 30 天:进入回收站满 30 天的笔记由每日维护任务自动彻底删除。列表里每条显示「N 天后删除」,详情顶栏的「此笔记在回收站中」改为「此笔记还有 N 天被删除」。要改天数或关闭,设置 TRASH_RETENTION_DAYS(0 或 off 关闭)。
  • 回收站详情顶栏只保留「恢复」和「彻底删除」,去掉字数、文档信息、历史版本和「⋯」菜单。
  • 新建笔记快捷键改为 Alt / Option + N。Ctrl + Alt 在 Windows 上等同 AltGr,常被输入法和键盘布局吃掉。

v0.15.1

Choose a tag to compare

@xilele777 xilele777 released this 20 Sep 16:06

变更

  • 「历史版本」弹窗去掉顶部的规则说明文字,只在读取云端时短暂显示「正在读取云端…」。

v0.15.0

Choose a tag to compare

@xilele777 xilele777 released this 20 Sep 15:56

新增

  • 正文历史加入云端:服务端保存正文时按与本机相同的规则(间隔满 5 分钟或一次改动较大)把被覆盖的旧正文留一条,每条笔记保留 20 条、30 天,彻底删除时连带清理。「历史版本」弹窗把本机与云端的版本合并显示,同一份正文只列一条并标出来源;换设备也能找回其他设备留存的版本。从历史恢复前,当前正文会同时存入本机与云端。旧服务端没有这个接口时只显示本机部分。数据库新增迁移 0004_note_history.sql,Cloudflare 部署需执行 npx wrangler d1 migrations apply snotes --remote。
  • 回收站顶部提示保留策略:服务端开启了 TRASH_RETENTION_DAYS 时说明几天后自动彻底删除,每条笔记显示还剩几天;未开启时说明会一直保留。

变更

  • 桌面正文顶栏直接显示字数、文档信息、历史版本三个按钮,点字数打开详细统计;「⋯」菜单只保留复制、下载、分享、打印。手机上这三项仍在「⋯」里。正文底栏(「自动保存 · N 字」)整个去掉。
  • 侧栏底部不再显示版本号,版本只在设置「关于」页查看;有新版本时提示点仍挂在图标栏「设置」上。
  • 新建笔记快捷键改为 Ctrl / Cmd + Alt + N:Ctrl + N 会被浏览器抢去打开新窗口,网页无法拦截。去掉 Ctrl / Cmd + Shift + 0–9 切换分组的快捷键,它们与系统和输入法快捷键冲突。
  • 设置页删去几段说明文字(导出包结构、本机数据、退出说明、外观设置说明),Markdown 速查下的图片提示改为「关于图片:电脑端可以直接粘贴,手机上可用顶栏的“插入图片”按钮」。

v0.13.0

Choose a tag to compare

@xilele777 xilele777 released this 20 Sep 09:30

新增

  • 本地正文历史。以前误删一大段、刷新后撤销栈没了就找不回来,现在每次正文落库时,如果距上一条留存满 5 分钟、或者一次改动的可见字符超过 100 个,就把被替换的旧正文自动存一条;每条笔记保留最近 20 条且不超过 30 天,笔记被彻底删除(含清空回收站和其他设备删除后同步过来)时连带清理。文档信息弹窗新增「历史版本」列表,显示时间与字数,可展开预览、一键恢复;恢复前会先把当前正文也存进历史,恢复错了还能再恢复回来。回收站里的笔记只能预览不能恢复。历史只保存在本设备的浏览器里,不参与同步、不进入导出包。
  • 本地数据库升级到第 2 版(新增历史表),旧数据原样保留,打开新版本时自动完成。

v0.12.0

Choose a tag to compare

@xilele777 xilele777 released this 20 Sep 08:47

新增

  • 登录限流(独立服务器版)。同一来源连续 5 次令牌错误后封锁 1 分钟,封锁期满再错则封锁时长翻倍,最长 1 小时;成功一次或安静 15 分钟后清零。封锁期间该来源的全部 /api/ 请求返回 429 并带 Retry-After,/api/health 不计入也不受影响。来源按 TCP 对端地址判定,只有来自本机或内网反向代理的 X-Forwarded-For 才被采信,公网直连的客户端伪造该头不会换来新的额度。计数保存在进程内存里,重启即清空。网页收到这种 429 时会回到令牌输入页并提示需要等待的时间。Cloudflare 版不在代码里限流,README 的「安全说明」给出了 WAF 速率限制规则的配置建议。
  • 打印样式。按 Ctrl/⌘ P 打印或存 PDF 时只输出当前笔记正文:侧栏、列表、顶栏、格式工具栏、底栏与所有弹层都不再打出来;深色主题下也按黑字白底打印;图片限制在页面宽度内,代码块自动换行不再横向裁切,代码块、引用、表格和列表项尽量不跨页,标题不落在页尾。待办清单以 ☐ ☑ 符号呈现。

v0.11.0

Choose a tag to compare

@xilele777 xilele777 released this 20 Sep 07:44

新增

  • 每日自动维护。服务端每天执行一次清理任务:Cloudflare 版由 Worker 的定时触发器(每天 03:17 UTC)驱动,独立服务器版在启动 5 秒后先跑一次、之后每 24 小时一次,结果写入日志。任务内容如下三项。
  • 孤儿图片回收。从正文里删掉的图片过去会永远留在存储里;现在上传满 7 天且所属笔记正文不再引用的图片会被自动删除。7 天宽限期给撤销和多端同步留出时间,宽限期内一切照旧。
  • 回收站自动清理。新增部署级配置 TRASH_RETENTION_DAYS,默认关闭;设置后,进入回收站超过该天数的笔记会被自动彻底删除,效果与手动「彻底删除」一致,删除信号照常同步到其他设备。Cloudflare 写在 wrangler.jsonc 的 vars 里,独立服务器写在 .env.server 或 .env 里;值必须是正整数天数,非法值会让服务器拒绝启动。
  • 墓碑回收定时化。彻底删除后保留 30 天供其他设备同步的删除标记,此前只有手动清空回收站时才会物理清掉,现在由每日任务处理,note 表不再随删除无限增长。