Commit Graph
36 Commits
Author SHA1 Message Date
laoyang 32162b8f04 修复折叠屏合盖旋转不再切换布局的回归
上一版为满足"接近1:1屏幕横竖屏布局一致",把宽屏判据改成纯短边≥840vp,
导致长条形屏幕(普通手机、折叠屏合上后的外屏)旋转横屏也不出双栏。
现在两条判据满足其一即双栏:
① 短边≥840vp(展开态/平板)——旋转不变,维持商店合规要求;
② 横屏且宽高比≥1.5(长条形屏幕)——旋转正常切换,恢复 0.0.2 行为。
判据实现由 mediaquery 改为 windowSizeChange(px→vp),旋转/折叠展开均实时生效,
并记录窗口尺寸日志便于真机排查。
2026-09-29 09:09:06 +08:00
laoyang d0b8720c41 同步容错:服务器删除日历本后 404 不再导致整个账号同步失败
- DavClient 新增 DavHttpError(带 HTTP 状态码),REPORT/PUT/DELETE 统一抛出
- 同步引擎对单本 404 跳过并自动从账号移除(先按 href 清行再迁移序号),
  全部日历本均 404 时保留账号配置并给出明确提示
- 推送阶段单条失败不再中断整个账号(401 凭据失效仍立即抛出)
- 编辑账号保存与自动移除都在序号迁移前先删被移除日历本的行,
  修复行混入其它日历本 calKey 的老问题(实测「读书」988 行混进「轻舟」)
- applyRemote 刷新行的 href:日历本被删除重建后集合 URL 变化,
  旧行不再残留死地址(编辑推送 404 / 永久卡待推送)
- pruneOrphanRows 追加 href 维度兜底清扫(跳过 dirty 行)
2026-09-29 08:46:01 +08:00
laoyang 2f4657ced3 上架自检两项整改:横竖屏布局一致性 + 页面转场改为淡入淡出(弹簧曲线)
一、横竖屏(意见 1:折叠屏展开态 / 平板需支持横竖屏切换;接近 1:1 的设备横竖屏布局需保持一致)
- 主界面布局判据由"是否横屏 (orientation: landscape)"改为"窗口短边是否达到大屏断点 840vp":
  min(宽,高) >= 840vp 等价于 (width >= 840vp) && (height >= 840vp),用两条 mediaquery 合成。
- 短边在旋转时不变(宽高互换),因此横竖屏布局天然保持一致 —— 屏幕比例接近 1:1 的设备
  (折叠屏展开态、平板)在旋转时不会再出现"单栏 ⇄ 双栏"的布局跳变。
- 不锁死屏幕方向(module.json5 仍为 auto_rotation_restricted),折叠屏展开态与平板
  依旧可以自由横竖屏切换显示。

二、转场动效(意见 2:使用系统转场,淡入淡出,曲线优先弹簧曲线)
- 全部 7 个 @Entry 页面新增 pageTransition():只做 opacity 淡入淡出,
  不调用 .slide() / .translate(),即不做左右平移 / 上下位移 / 单帧直接切换。
- 转场曲线使用 curves.springMotion() 弹簧曲线。
2026-09-28 14:20:14 +08:00
laoyang 736a0a6587 新增系统日历镜像功能,镜像与备份目标统一改用 bookId;修复重复日程覆盖行、备份目标随勾选漂移等一批问题
- 新增 SystemCalendarMirror / MirrorSnapshot / MirrorInbound:把选定的 CalDAV 日历本镜像写入系统日历(供小艺、桌面日历卡片、手表可见),并做入站对账,区分"自己写入的 / 用户改的 / 用户删的 / 用户新建的",镜像标识一律用稳定的 bookId(accId-href哈希),不再用会随勾选顺序漂移的 calKey
- 后台同步接入镜像:同步前先做入站对账、同步后自动出站镜像,无需用户手动触发
- 系统日历备份目标改用 bookId:当用户取消同步某个日历本导致目标失效时,自动清空目标并把模式回退为"仅显示";开启备份必须先选定目标本,不再自动挑第一个本
- EventDb:覆盖行保留 RECURRENCE-ID,排除主事件对应发生改用 overrideKey(calKey, uid, recurrenceId, startTime),修复重复日程出现"幽灵条目"的问题
- 新增 WRITE_CALENDAR 权限声明及其用途说明;添加日历不再出现"本机",日历本对齐显示;版本升至 0.0.3(300)
2026-09-19 23:07:03 +08:00
laoyang 165740fe9e 添加日历的时候,去掉了本机,日历本对齐显示。
Signed-off-by: laoyang <laoyang@example.com>
2026-09-16 22:11:42 +08:00
laoyang 69a4a86a04 更改了周视图颜色的对比度,现在看起来更舒服了。
Signed-off-by: laoyang <laoyang@example.com>
2026-09-16 22:05:27 +08:00
laoyang d7c49db304 增加修复了深色模式,完全沉浸的深色模式完成了。
Signed-off-by: laoyang <laoyang@example.com>
2026-09-16 21:40:11 +08:00
laoyang 353473127a 应用在首次打开或运行中,在用户未主动点击权限对应的相关功能或服务时,提前向用户弹窗申请开启【读取全部日程】权限,不符合相关法律法规要求。该问题已被修复。
Signed-off-by: laoyang <laoyang@example.com>
2026-09-16 20:54:41 +08:00
laoyang 76d82886e4 修复了进入日历没有日程卡片的bug。
Signed-off-by: Yang Yongquan <i@yangyq.net>
2026-09-16 12:34:39 +08:00
laoyang cc7523a8ec 修复了从卡片进入日历无法定位当前日期的bug。
Signed-off-by: Yang Yongquan <i@yangyq.net>
2026-09-16 11:38:01 +08:00
laoyang 314ed4b75c 删除了设置页面中的功能引导选项。
Signed-off-by: Yang Yongquan <i@yangyq.net>
2026-09-16 10:29:46 +08:00
laoyang 2173b06b43 新增了列表显示模式,用户可以在设置中进行选择。
Signed-off-by: Yang Yongquan <i@yangyq.net>
2026-09-16 10:07:57 +08:00
laoyang 5ab9648b5a 修复了新增日历本颜色不对的问题。
Signed-off-by: Yang Yongquan <i@yangyq.net>
2026-09-15 23:03:58 +08:00
laoyang c53456a2e1 修复了添加账号时全选状态错误问题。
Signed-off-by: Yang Yongquan <i@yangyq.net>
2026-09-15 16:28:02 +08:00
laoyang 7216024204 更改设置中软件特性和用户帮助为链接形式。
Signed-off-by: Yang Yongquan <i@yangyq.net>
2026-09-15 16:09:34 +08:00
laoyang 7cf9203ec3 修改了用户协议等打开方式。
Signed-off-by: Yang Yongquan <i@yangyq.net>
2026-09-15 15:07:42 +08:00
laoyang 5eaeeb0f4c 增强了安全配置。
Signed-off-by: Yang Yongquan <i@yangyq.net>
2026-09-15 12:51:58 +08:00
laoyang 088f7b3773 增加了用户隐私协议等,增加了引导卡片。
Signed-off-by: Yang Yongquan <i@yangyq.net>
2026-09-15 09:06:15 +08:00
laoyang 64a58170ac 更改了几处交互逻辑。
Signed-off-by: Yang Yongquan <i@yangyq.net>
2026-09-14 21:53:15 +08:00
laoyang c04a9a28cf 更改了日程的样式显示,现在按照时间轴显示。
Signed-off-by: Yang Yongquan <i@yangyq.net>
2026-09-14 21:28:51 +08:00
laoyang df3928c099 更改了2x4卡片的样式。
Signed-off-by: Yang Yongquan <i@yangyq.net>
2026-09-14 11:09:15 +08:00
laoyang fa152415cd 为日程列表增加了一条当前时间的横线,用来表示当前进度。
Signed-off-by: Yang Yongquan <i@yangyq.net>
2026-09-14 10:18:31 +08:00
laoyang 3c9b4dcfdd 1.修改了2x2的卡片样式。
2.为卡片增加了添加按钮,可以通过卡片直接添加日程。

Signed-off-by: Yang Yongquan <i@yangyq.net>
2026-09-14 09:07:47 +08:00
laoyang d1252ed2b7 1.修改了设置页面的展示顺序。
2.在设置页面新增了软件特性和使用帮助。
3.设置页面中,静音和只读合并。
2026-09-14 08:24:36 +08:00
laoyang 5b6be08d9a 完成了用户账户加密,更改了只读日程的显示样式;日程中的地址,可以通过高德地图导航了。 2026-09-14 07:55:52 +08:00
laoyang 6899a5074b 修改了通知相关的功能,能够正常通知了。 2026-09-13 23:35:52 +08:00
laoyang e62416e5ce 为了持续同步,申请了常驻通知栏权限,在设置中开启后,可以常驻通知栏,进行后台同步。如果不需要,可以在设置中关闭。 2026-09-13 22:02:08 +08:00
laoyang d9c212785d 新增了提醒静音功能,可以在设置中关闭某个日历本的提醒。 2026-09-13 21:56:51 +08:00
laoyang 0fef40c7f3 修复了部分日程没有提醒时间的问题。 2026-09-13 21:50:28 +08:00
laoyang 04fdf3d386 1.增加了重力感应,也就是横屏响应式布局。
2.修改了沉浸式布局。
3.修改了添加日程和编辑日程页面,增加了重复、提醒等功能。
4.修改了权限问题,如果日历本是只读,则有删除线做标识。同时,对于只读的日程,点击后将不再进入编辑页面,而是展示详情。
5.系统日历的处理。给用户两个选择,第一个选择就是只显示系统日历。第二种选择,用户可以选择一个caldav账户中的某一个日历本,把系统日历中的日程,包括日历日程和应用创建的日程,都读取出来,然后加入到这个日历本下,最后同步到caldav的服务器上,这样的好处是,手机丢失了,或者换了手机品牌型号,手机上的日程仍然在自己的caldav服务器上有一个备份。当然,系统日历中的caldav日历,就不会再读取了。
2026-09-13 20:25:18 +08:00
laoyang 61bd6fc75f 修复了重复日历第一次不显示的问题。 2026-09-13 17:48:39 +08:00
laoyang e0c6aa46d0 删除了日视图,感觉跟列表视图差不多,有点鸡肋。周视图改为和月视图一样,左右滑动进行切换。 2026-09-13 16:44:33 +08:00
laoyang e27c8c36d7 添加了后台同步功能,应用置于后台,仍然可以进行同步。 2026-09-13 16:33:53 +08:00
laoyang 0a204b6754 修复了卡片显示bug。如果有跨多天的日程,卡片会从多天日程的开始那一天开始显示,已经修复了。 2026-09-13 16:18:56 +08:00
laoyang 2af19637b6 在日历首页上,将按钮进行合并收拢,放在一个设置按钮下。 2026-09-13 16:08:03 +08:00
laoyang bbb3ec5334 首次提交:SyncCalendar 项目 2026-09-13 15:50:37 +08:00