laoyang
|
5e6f347fc6
|
修复:编辑重复日程缺范围选择;同步并发不再误报失败
问题1(用户反馈):删除重复日程有"仅这一次/此次及以后/全部"三选项,编辑却没有。
根因:save() 把 validate() 与 chosenBook() 检查放在 isSeriesOccurrence() **之前**,
任一不满足即提前 return,永远到不了范围选择弹层;delete 路径则是先判范围。
修法:
- save() 把"重复日程先选范围"提到最前(与删除路径一致),校验推迟到 doSave() 内
- chosenBook() 增加兜底:展开编辑时若该日程所属日历本不在"可写清单"里
(被标记只读/写权限探测失败),用该日程自己的 calKey/href 构造目标;
initPage 里还会用 CalendarDataBridge.lookupBook 把它补进选择列表(带真实名称/颜色)
- 新增 original 原始行快照:doSave 会就地改写 this.event 的 calKey/startTime,
而 EXDATE/UNTIL/拆系列必须依据原值 —— 否则范围计算用错系列
- applySeriesEdit 的 one/future 分支在改写当前行后,用 EventDb.restoreRowById 还原原行,
避免原系列残留幽灵行
- 加保存判定日志(脱敏)便于诊断
问题2(用户反馈):同步进行中再点手动同步/账号管理确定,提示"同步失败"造成误解。
根因:互斥锁抛的是普通 Error,三个调用点统一按"失败"提示。
修法:
- SyncEngine 新增 SyncBusyError 专用类型 + isSyncing/isAnySyncing 查询;
锁命中时抛 SyncBusyError,且 catch 不再把它包成普通 Error
- Index.syncSingle / AccountsPage.syncSingleAccount:命中→提示
"有同步任务正在进行中,请耐心等待",不显示失败
- Index.syncAll:命中记为 busySkipped(不算失败),全部被跳过时也只提示等待
|
2026-10-09 22:19:31 +08:00 |
|
laoyang
|
32162b8f04
|
修复折叠屏合盖旋转不再切换布局的回归
上一版为满足"接近1:1屏幕横竖屏布局一致",把宽屏判据改成纯短边≥840vp,
导致长条形屏幕(普通手机、折叠屏合上后的外屏)旋转横屏也不出双栏。
现在两条判据满足其一即双栏:
① 短边≥840vp(展开态/平板)——旋转不变,维持商店合规要求;
② 横屏且宽高比≥1.5(长条形屏幕)——旋转正常切换,恢复 0.0.2 行为。
判据实现由 mediaquery 改为 windowSizeChange(px→vp),旋转/折叠展开均实时生效,
并记录窗口尺寸日志便于真机排查。
|
2026-09-29 09:09:06 +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
|
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
|
2173b06b43
|
新增了列表显示模式,用户可以在设置中进行选择。
Signed-off-by: Yang Yongquan <i@yangyq.net>
|
2026-09-16 10:07:57 +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
|
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
|
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
|
2af19637b6
|
在日历首页上,将按钮进行合并收拢,放在一个设置按钮下。
|
2026-09-13 16:08:03 +08:00 |
|
laoyang
|
bbb3ec5334
|
首次提交:SyncCalendar 项目
|
2026-09-13 15:50:37 +08:00 |
|