Skip to content

Releases: vilifetime/obsidian-caldav-calendar-tasks

0.4.12

Choose a tag to compare

@github-actions github-actions released this 14 Oct 06:58

CalDAV Calendar and Tasks 0.4.12

本次更新

修复

  • 修复独立窗口(popout)里月视图浮层不工作。悬停展开与「0.6 秒后收起」用的定时器没有绑定当前窗口,在独立窗口中不执行 —— 表现为浮层要么不出现、要么收不掉。已统一改为绑定当前窗口(与此前修复过的滚动动画同一处问题)。

安装

在 Obsidian 中打开「设置 → 第三方插件」,或从本 Release 下载
main.js、manifest.json、styles.css 三个文件放入:

<库名>/.obsidian/plugins/caldav-calendar-tasks/

从社区插件目录安装更方便:Obsidian 内搜索插件名即可,无需手动下载。

完整更新记录:https://github.com/vilifetime/obsidian-caldav-calendar-tasks/blob/main/CHANGELOG.md

0.4.11

Choose a tag to compare

@github-actions github-actions released this 14 Oct 06:19

CalDAV Calendar and Tasks 0.4.11

本次更新

新增

  • 月视图「显示更多」浮层。某天条目超过 3 条时,把鼠标移到那一格就会浮出一层,列出该日全部条目 —— 不必再迁就格子高度。收起规则:移出格子且不在浮层上,0.6 秒后消失;移进浮层后又移出,同样延迟;停在浮层上就一直保留,直到点某个条目。浮层只由鼠标移入触发,单击留给「右键新建」。(从思源侧同步回来)
  • 「清除日期时间」按钮。在编辑器「全天」开关右侧新增一个图标 + 文字按钮,一键清掉开始与结束的日期和时间共 4 个字段。待办常要表达「哪天都行」,原先得逐个点四次。

优化

  • 新建待办时默认给截止时间。默认截止 = 开始日期的次日、同一时刻(开始时间本身就落在下一个整点),不必每次手动补。仍可自行修改或用新按钮一键清空。

安装

在 Obsidian 中打开「设置 → 第三方插件」,或从本 Release 下载
main.js、manifest.json、styles.css 三个文件放入:

<库名>/.obsidian/plugins/caldav-calendar-tasks/

从社区插件目录安装更方便:Obsidian 内搜索插件名即可,无需手动下载。

完整更新记录:https://github.com/vilifetime/obsidian-caldav-calendar-tasks/blob/main/CHANGELOG.md

0.4.10

Choose a tag to compare

@github-actions github-actions released this 13 Oct 09:09

CalDAV Calendar and Tasks 0.4.10

本次更新

新增

  • 插入日记可包含逾期的待办(设置 → 日记 → 「插入日记时包含逾期的待办」,默认关)。关着时只写所选范围内的条目;打开后,早于今天零点且未完成的待办排在日记最前面,单独成「逾期的待办」小节,不与范围内的条目混排。已落在范围内的条目不会重复计入。从思源侧同步回来。

优化

  • 新增 / 编辑条目的界面更紧凑。日历选择从独立分区移到标题行右端(标签「日历」+ 下拉框),省下一整个分区;「全天」开关与「持续 X 小时」挪到同一行,又省一行。从思源侧同步回来。
  • 粘贴自动识别日期默认开启。新建与既有条目一律默认勾选,只有显式关过才不勾。该状态仅存在于编辑器会话中,不写入服务端、不参与同步。
  • 时间下拉框的选中项定位更准。改用列内真实偏移计算滚动量,选中项准确停在列视口顶部;原先的做法在列内滚动时会被钳到最大、选中块被顶到中下部甚至被上边框裁切。
  • 放大编辑器里两个偏小的图标。粘贴自动识别日期的火花图标 17px → 26px、按钮 30 → 38px,清除日期/时间的垃圾桶图标 14px → 28px、按钮 28 → 36px。后一个问题更明显:它原先比输入框内的日历/时钟图标(15px)还小,「该清掉内容」的按钮反而不显眼。Obsidian 与思源两侧同步调整。

修复

  • 下拉框不再裁字。编辑器里的原生 <select>(优先级、提醒、重复频率、结束结束模式)原先没有显式高度,其固有高度由 option 行高决定,与输入框的文本行高不一致,叠加 Obsidian 宿主给 select 定的高度后文字被裁——表现为「优先级」下拉框里「无」字的底部缺一截。现在统一显式给出 36px,与相邻输入框对齐。
  • 修复图标尺寸改不动的问题。内联 SVG 上原先写了 width="14" height="14" 属性,而 Obsidian 宿主的全局 SVG 规则特异性高于插件样式,属性尺寸会盖过 CSS——因此「在 CSS 里放大图标」一度完全不生效。现已从源头移除该属性,尺寸由 CSS 独占决定。

安装

在 Obsidian 中打开「设置 → 第三方插件」,或从本 Release 下载
main.js、manifest.json、styles.css 三个文件放入:

<库名>/.obsidian/plugins/caldav-calendar-tasks/

从社区插件目录安装更方便:Obsidian 内搜索插件名即可,无需手动下载。

完整更新记录:https://github.com/vilifetime/obsidian-caldav-calendar-tasks/blob/main/CHANGELOG.md

0.4.9

Choose a tag to compare

@github-actions github-actions released this 11 Oct 06:56

CalDAV Calendar and Tasks 0.4.9

本次更新

修复

  • 重装配置恢复提示不再露出中文。备份摘要原先把「(未设置服务器)」和「N 个日历」写死在代码里,而这段文字会作为插值进恢复提示的译文,英文界面下会出现一段夹在英文里的中文。现在改走 i18n 字典,中英各自成文。

变更

  • 自查脚本的 as Partial<T> 检查项收窄到「动态 key」场景。原先只匹配这一个形状,把必要的类型收窄(unknown 转具体形状,删掉会直接编译失败)也报了出来。收窄后只报审核会指出的那一类,即索引访问之后的多余断言,并为判据补了 12 个自测用例。

安装

在 Obsidian 中打开「设置 → 第三方插件」,或从本 Release 下载
main.js、manifest.json、styles.css 三个文件放入:

<库名>/.obsidian/plugins/caldav-calendar-tasks/

从社区插件目录安装更方便:Obsidian 内搜索插件名即可,无需手动下载。

完整更新记录:https://github.com/vilifetime/obsidian-caldav-calendar-tasks/blob/main/CHANGELOG.md

0.4.8

Choose a tag to compare

@github-actions github-actions released this 10 Oct 17:37

CalDAV Calendar and Tasks 0.4.8

本次更新

新增

  • 任务视图新增搜索框(在「快速添加」右侧)。原先搜索框放在右侧 Dock 里,而 Dock 只显示少量条目,在那儿搜等于「搜一个看不见全貌的列表」;挪到任务视图后,搜到的结果立刻看得见。匹配标题 / 备注 / 地点 / 分类,大小写不敏感。搜索在筛选之后再过一道,所以下拉里的 (N) 计数仍按筛选口径算,不会和列表对不上。
    • 空结果区分两种情况:筛选下本来就没条目 → 提示「无结果」;筛选有、被搜索滤光 → 提示「没有匹配「xxx」的条目」,免得误以为数据没了。
    • 输入每个字符只重渲染列表本体,不重建整个视图 —— 否则输入框连带刚敲进去的字一起被换掉,字根本打不完。
  • README 补充鼠标操作行为表(中英两版)。11 行对照「鼠标动作 / 当前状态 / 执行操作」,覆盖单击、右击、双击在日期格与条目上的全部组合;另说明右击单元格是右侧栏的三态循环(打开「所有未完成」→ 展开到该日期所在月/周 → 隐藏,日视图无中间档),以及触摸端长按条目等同于右击条目。

变更

  • 搜索框从右侧 Dock 移到任务视图。Dock 里的搜索框连同其过滤逻辑、以及它那个唯一的 input 监听一并删除。
  • 配置备份路径不再写死 .obsidian,改从 Obsidian 的配置目录派生。

修复

  • 同步报告里的「删除」条数不再恒为 0。服务端删掉的条目计入 deleted,对账清理掉的幽灵条目同样计入 —— 此前本地条目消失了,报告却说「删除 0 条」。
  • 对账的自愈提示不再被当成同步失败。对账说明原先走「错误」通道,会点亮状态栏的失败样式并在面板挂红色横幅;现改为中性提示通道,与真正的错误分开显示。
  • 新建 / 修改 / 删除后的同步计数不再丢失。这些操作是即时推送上云的,计数此前被整个丢弃 —— 点完保存看不到任何数字,随后点全量同步又是「0」,会以为改动没同步。现在计数会攒下来并在下一次全量同步时并入,同时保存后立刻给出「已同步到服务端:上传 N 条 / 删除 N 条」的提示。
  • 「拉取」不再把自己刚推上去的条目再数一遍(自环回显)。新增一条日程后同步曾显示「上传1 拉取1」,同一条被数了两次。现在「拉取」只数本地实际写入的条目数,判据用服务端对内容算的 etag 指纹(相同即内容一致),不再比对本地生成的 ICS 原文与服务端规范化后的版本 —— 那两者几乎必然不等。
  • 折叠任务分组时不再退回旧筛选。切到「所有项目」后点组头折叠,列表曾按渲染那一刻的筛选(「所有未完成」)重滤,导致「已完成」组点一下就消失;改为每次重渲染现读当前筛选。
  • 去掉一处多余的类型断言(插入日记弹窗的单选框),官方 review 会报 "unnecessary assertion"。

安装

在 Obsidian 中打开「设置 → 第三方插件」,或从本 Release 下载
main.js、manifest.json、styles.css 三个文件放入:

<库名>/.obsidian/plugins/caldav-calendar-tasks/

从社区插件目录安装更方便:Obsidian 内搜索插件名即可,无需手动下载。

完整更新记录:https://github.com/vilifetime/obsidian-caldav-calendar-tasks/blob/main/CHANGELOG.md

0.4.7

Choose a tag to compare

@github-actions github-actions released this 09 Oct 11:26

CalDAV Calendar and Tasks 0.4.7

本次更新

新增

  • 工具栏新增「立即同步」按钮(在「新建」右边)。原先只能点右下角的状态栏同步信息触发同步,那里是纯文本、没有按钮外观,想立刻拉一次时没有明显入口。现在点一下即可手动同步,同步过程中按钮会旋转并置灰,连点不会并发。
  • 恢复配置后立即同步一次。恢复后不再需要手动点同步;同时会等密码解密完成再发起同步,避免拿密文当密码去连服务器。

修复

  • 工具栏按钮高低不齐:「新建」等文字按钮比旁边的日历筛选 / 视图切换图标按钮矮一截,且视觉上没居中。原因是宿主给button 定义了固定高度,文字按钮只靠内边距撑高、没写自己的高度,于是被宿主压矮。已改为文字按钮与图标按钮共用同一个高度变量并统一居中。
  • 恢复配置后可能提示「密码解不开(密文可能来自另一台设备)」。备份里存的是加密后的密码,若缺少配套的密钥,重启后恢复就会解不开。现在备份的可用性判断会校验两者是否成对,缺密钥的备份不再被当作可恢复的配置弹出。
  • 恢复配置可能用到过期的备份内容。恢复按钮点下时读的是弹窗弹出那一刻的备份内容,而备份文件在此期间可能已被自动备份改写,导致恢复出一份已被覆盖的配置。现在点恢复时会重新读取最新的备份内容。
  • 同步失败的提示不再建议切换到「内核代理」。该选项属于思源侧,Obsidian 并不存在,用户照提示找不到对应设置。现在改为提示检查服务器地址是否可达、明文 HTTP 在移动端是否需要 HTTPS 这类真正可行的方向。

安装

在 Obsidian 中打开「设置 → 第三方插件」,或从本 Release 下载
main.js、manifest.json、styles.css 三个文件放入:

<库名>/.obsidian/plugins/caldav-calendar-tasks/

从社区插件目录安装更方便:Obsidian 内搜索插件名即可,无需手动下载。

完整更新记录:https://github.com/vilifetime/obsidian-caldav-calendar-tasks/blob/main/CHANGELOG.md

0.4.6

Choose a tag to compare

@github-actions github-actions released this 09 Oct 01:18

CalDAV Calendar and Tasks 0.4.6

本次更新

新增

  • 配置自动备份,卸载插件后重装无需重新配置服务器。 每次配置变更后会在 .obsidian/caldav-calendar-tasks/backup.json 另存一份(3 秒去抖),该目录不在 plugins/ 下,卸载插件时不会被一并删除。重新安装后若检测到是全新安装(data.json 为空)且存在备份,会弹窗询问是否恢复,显示备份时间与所属服务器,可选择「恢复」或「重新配置」。
    • 备份只含设置,不含条目 —— 条目能重新拉取,备份它们只会让文件膨胀(实测约 1.9 KB,而完整数据文件约 165 KB)。
    • 备份中的密码保持加密形态(与数据文件里同一份密文),并同时保存解密所需的主密钥,因此恢复后无需重新输入密码。备份的加密强度与数据文件完全一致,不新增暴露面。
    • 若设置中残留旧版本的未加密密码,备份会拒绝写入该密码(宁可少备份一项,也不落地明文)。

变更

  • README 隐私章节新增「写入的文件」条目,并补充重装恢复的 FAQ 说明。此前「不访问库目录以外的任何文件」的表述在新增写入后已不准确,一并修正(中英双语)。

安装

在 Obsidian 中打开「设置 → 第三方插件」,或从本 Release 下载
main.js、manifest.json、styles.css 三个文件放入:

<库名>/.obsidian/plugins/caldav-calendar-tasks/

从社区插件目录安装更方便:Obsidian 内搜索插件名即可,无需手动下载。

完整更新记录:https://github.com/vilifetime/obsidian-caldav-calendar-tasks/blob/main/CHANGELOG.md

0.4.5

Choose a tag to compare

@github-actions github-actions released this 08 Oct 17:22

CalDAV Calendar and Tasks 0.4.5

本次更新

新增

  • 「插入日记」支持选择写到哪一篇日记:点「把日程与待办插入日记」时先弹出范围选择(今天 / 本周 / 本月 / 全部),选完范围后再选目标 —— 「今天的日记」或该范围起始那天的日记(如「本周一的日记(10-06)」)。原先只能写进当天的日记。
    • 「今天」这个目标在任何范围下都可选;范围选「今天」时只出现这一个目标,不占额外空间。

修复

  • 同步后本地残留「服务端已删」的条目,导致别的客户端永远看不到它们。典型表现:在思源里新建的任务,Obsidian 里始终不出现,而界面上那条任务显示得完全正常。
    • 根因有两条,且必须同时堵住:条目已有 etag ⇒ 被判定为「非待上传」⇒ 永远不会被重传;而删除只走增量 sync-collection 返回的删除清单,一旦 sync-token 失效回退全量拉取,那份清单恒为空,本地条目就再也清不掉。
    • 现在每次拉取完某个日历后会做一次对账:本地有、服务端清单里没有、且本地不是待上传状态的条目,按「冲突策略」设置处理 —— 选「服务端优先」就删除本地条目,选「本地优先」则重新排队上传。对账结果会写进同步状态栏,不会静默丢数据。
    • 对账有三条自我保护:拿不到服务端清单时整轮跳过(绝不把「清单读取失败」当成「服务端为空」);清单为空而本地确有条目时判定为地址不对、跳过;只处理非待上传的条目。刚新建的条目在写入服务端前不会被对账波及。

变更

  • 设置页删掉「日历视图中显示待办」:它与工具栏「日历筛选」浮层里的同名开关操作的是同一个设置项,重复容易让人不确定该改哪里;且设置页的改动不会立即重绘面板,看着像没生效。现在统一只在工具栏里改。
  • README 补充完整英文说明(社区目录审核反馈:「README does not appear to contain English text」)。原 README 只有中文。现为英文在前、中文在后的双语结构,顶部可跳转;隐私与网络使用披露同步补了英文版。
    • 顺带修正三处与实际 UI 不一致的地方:补上漏列的「在右侧栏打开日历与任务」命令(原 README 只列了两个面板命令,实际有三个)、设置项标签改为与设置页逐字一致(含首字母大写与括号内的单位说明)、补上漏列的「发送测试提醒」命令。
  • 去掉两处冗余类型断言(社区目录审核反馈:「This assertion is unnecessary since it does not change the type of the expression」)。querySelector 的返回值本就含 null,再断言成 HTMLElement | null 不改变类型,改用泛型形式 querySelector<HTMLElement>(...) 并保留空值检查。顺带统一了同一筛选弹层里另一种写法的两处。
  • 删掉一处孤儿 import(社区目录审核反馈:「'initLocale' is defined but never used」)。设置页 import 了 initLocale 却从未调用,实际调用在插件主入口的两处。是接入国际化时留下的残留。
  • 自查脚本新增两类检查:README(英文内容体量、必要章节、与 manifest.name 一致性)与审核静态扫描项(冗余类型断言、孤儿 import),自检项 30 → 32。
  • 新增回归测试三项:README 英文内容与 UI 一致性、审核静态扫描类问题(后者内含判据自测,防止检查器本身失效)、设置项去重(钉住「同一开关只出现在工具栏」)。测试总数 125 → 138 项。

安装

在 Obsidian 中打开「设置 → 第三方插件」,或从本 Release 下载
main.js、manifest.json、styles.css 三个文件放入:

<库名>/.obsidian/plugins/caldav-calendar-tasks/

从社区插件目录安装更方便:Obsidian 内搜索插件名即可,无需手动下载。

完整更新记录:https://github.com/vilifetime/obsidian-caldav-calendar-tasks/blob/main/CHANGELOG.md

0.4.4

Choose a tag to compare

@github-actions github-actions released this 08 Oct 03:48

CalDAV Calendar and Tasks 0.4.4

本次更新

修复

  • README 补充完整英文说明(社区目录审核反馈:「README does not appear to contain English text」)。原 README 只有中文。现为英文在前、中文在后的双语结构,顶部可跳转;隐私与网络使用披露同步补了英文版。
    • 顺带修正三处与实际 UI 不一致的地方:补上漏列的「在右侧栏打开日历与任务」命令(原 README 只列了两个面板命令,实际有三个)、设置项标签改为与设置页逐字一致(含首字母大写与括号内的单位说明)、补上漏列的「发送测试提醒」命令。
  • 去掉两处冗余类型断言(社区目录审核反馈:「This assertion is unnecessary since it does not change the type of the expression」)。querySelector 的返回值本就含 null,再断言成 HTMLElement | null 不改变类型,改用泛型形式 querySelector<HTMLElement>(...) 并保留空值检查。顺带统一了同一筛选弹层里另一种写法的两处。
  • 删掉一处孤儿 import(社区目录审核反馈:「'initLocale' is defined but never used」)。设置页import 了 initLocale 却从未调用,实际调用在插件主入口的两处。是接入国际化时留下的残留。

变更

  • 自查脚本新增两类检查:README(英文内容体量、必要章节、与manifest.name 一致性)与审核静态扫描项(冗余类型断言、孤儿 import),自检项 30 → 32。
  • 新增回归测试两项:README 英文内容与 UI 一致性、审核静态扫描类问题(后者内含判据自测,防止检查器本身失效)。测试总数 125 → 130 项。

安装

在 Obsidian 中打开「设置 → 第三方插件」,或从本 Release 下载
main.js、manifest.json、styles.css 三个文件放入:

<库名>/.obsidian/plugins/caldav-calendar-tasks/

从社区插件目录安装更方便:Obsidian 内搜索插件名即可,无需手动下载。

完整更新记录:https://github.com/vilifetime/obsidian-caldav-calendar-tasks/blob/main/CHANGELOG.md

0.4.3

Choose a tag to compare

@github-actions github-actions released this 08 Oct 03:14

CalDAV Calendar and Tasks 0.4.3

本次更新

新增

  • 界面国际化:新增中英文双语文案体系,共 389 个文案条目,覆盖全部界面、设置项、弹窗与提示。Obsidian界面语言设为英语时插件完整显示英文,设为中文时显示简体中文。
    • 设置页新增「语言」选项,三档:跟随 Obsidian / 简体中文 / English。切换后立即生效,无需重启。
    • 语言判定顺序:设置项 → Obsidian 界面语言 → 系统语言 → 兜底英文。

新增(筛选)

  • Dock 筛选弹层加入优先级筛选:弹层分为「优先级」与「分类」两段,两者是与的关系。优先级按四档划分(12 紧急 / 34 高 / 56 中 / 79 低),优先级文案随界面语言切换;分类名是用户自定义,故不翻译。

修复

  • 分类筛选按钮点不开(英文与中文界面均然)。原因是弹层用了 position: fixed,而它所在的 Obsidian 视图容器带 overflow: hidden,fixed 定位的后代一样会被裁掉。改用 absolute + 父级相对定位。
  • 日历弹层中「把日程与待办插入日记」按钮文字超出边框。改为加宽弹层并按语言自适应宽度(中文 21em、英文 30em),而非让按钮折行。
  • 日历视图上未完成的待办勾选圈里出现一个淡色小勾子。原因是靠CSS 把字形染成透明来隐藏,而未完成态的悬停样式会补上字色,一悬停字就显形。改为「内容里就没有这个字符」,并去掉未完成态悬停里的字色。
  • 点击勾选圈完成后填充色已变但小勾子不出现。原因是点击走的是就地更新路径(只切换 is-done 类、不重绘 HTML,以避免闪烁与滚动复位),而上一项把勾子可见性改成了由内容控制,类名控制不了字符。已在就地更新函数里同步设置字符内容。

变更

  • 筛选按钮名称精简:中文「分类筛选」→「筛选」,英文「Filter by category」→「Filter」。
  • 新增三个回归测试:i18n 字典完整性、优先级 + 分类两段筛选、勾选圈勾子可见性。测试总数 119 项。
  • 社区自查新增「源码残留中文审计」一项(有意保留的中文已登记豁免),自检项 29 项。

安装

在 Obsidian 中打开「设置 → 第三方插件」,或从本 Release 下载
main.js、manifest.json、styles.css 三个文件放入:

<库名>/.obsidian/plugins/caldav-calendar-tasks/

从社区插件目录安装更方便:Obsidian 内搜索插件名即可,无需手动下载。

完整更新记录:https://github.com/vilifetime/obsidian-caldav-calendar-tasks/blob/main/CHANGELOG.md