4593 Commits

Author SHA1 Message Date
kuaifan
531129f48d feat(push): 移除友盟推送,APP 推送改为系统配置 / 自定义 / 关闭三档
- 删除友盟别名接口、模型、日志清理及 hedeqiang/umeng 依赖,迁移删除 umeng_alias / umeng_logs 表
- 系统配置(默认):通过官方 DooPush 共享通道自助注册租户,按 App 上报的推送 Token 绑定设备
- 自定义:沿用自有 DooPush 应用凭证;关闭:不推送也不记录设备
- 老站点升级后统一为系统配置,原自定义凭证保留
- PushUmengMsg 更名为 PushAppMsg;同步语言包、API 对照表与 ai-kb
2026-10-19 15:46:16 +00:00
kuaifan
9bdf23bec1 fix(app): 新版 App 冷启动后自动检查一次更新
旧 eeui 壳启动时由原生检查,新版壳只查询不弹窗,前端此前仅在每天回前台时检查,导致冷启动不提示
2026-10-19 15:10:05 +00:00
kuaifan
fe6adb2510 chore(app): 更新 Expo 壳子模块(修复接入 DooPush 后 Android Release 构建失败) 2026-10-19 15:04:00 +00:00
kuaifan
96bc70415f feat(app): 检查更新与桌面端一致,新版本不高于服务器版本才提示
- 提示逻辑移到 App.vue checkAppUpdate,$A.eeuiAppCheckUpdate 只做桥接
- 手动检查遇到服务器版本较低时提示等待服务器升级
- 更新语言包、事件对照表、ai-kb 与 Expo 壳子模块
2026-10-19 13:41:53 +00:00
kuaifan
bf1c9b7751 feat(app): 新版 App 检查更新提示与设置页手动检查
- $A.eeuiAppCheckUpdate 在 Expo 壳中弹出「发现新版本」,iOS 跳 App Store、Android 浏览器下载 apk
- 设置「版本」右侧新增「检查更新」
- 更新 Expo 壳子模块、语言包(含 DooPush 遗漏的两条后端文案)与 ai-kb
2026-10-19 13:15:20 +00:00
kuaifan
ef4bfd6ca4 chore(app): 更新 Expo 壳子模块(Release 包剥离 _expo._tcp) 2026-10-19 12:57:03 +00:00
kuaifan
bc8d769447 chore(app): 更新 Expo 壳子模块(iOS 权限说明多语言化、隐私清单) 2026-10-19 12:26:22 +00:00
kuaifan
a49ee608a5 feat(push): 新增 DooPush 推送通道,与友盟并存
- 新增 app_push_devices 表与 api/push/device 接口(新版 App 上报/删除 DooPush 设备)
- app/Module/AppPush 统一分发友盟与 DooPush,业务字段经 payload.data 下发
- 系统设置「App 推送」新增 DooPush 配置;点击通知打开对应会话
- 更新 Expo 壳子模块(接入 DooPush)、语言包与 ai-kb
2026-10-19 10:33:19 +00:00
kuaifan
0f2f165940 chore(app): 更新 Expo 壳子模块(iPad 窗口控件紧凑样式) 2026-10-19 08:43:29 +00:00
kuaifan
c1d844dbf4 chore(app): 更新 Expo 壳子模块(iOS 首次定位转圈修复、Android 系统定位、会议页安全区) 2026-10-19 02:54:19 +00:00
kuaifan
9727fe9ab2 chore(app): 更新 app 与 mobile 子模块(真机 UI 修复、会议扬声器图标) 2026-10-18 15:59:35 +00:00
kuaifan
ebb41bb73e chore(app): 更新 Expo 壳子模块(Android 正式签名与旧版覆盖升级适配) 2026-10-18 08:25:59 +00:00
kuaifan
7158eaa634 chore(app): 更新 Expo 壳子模块(iOS Release 验收记录) 2026-10-18 06:40:51 +00:00
kuaifan
9e1f446fe7 chore(app): 更新 Expo 壳子模块(修复 iOS Release 本地 Web 服务监听) 2026-10-18 05:24:59 +00:00
kuaifan
2c465d66ab feat(app): 页面兼容 P2(壳侧对齐 + 用户详情拨号分支修正) 2026-10-18 04:37:17 +00:00
kuaifan
e83c28de5d chore(app): 更新 app 子模块(页面兼容 P1 壳侧修复) 2026-10-18 03:10:27 +00:00
kuaifan
df66667f56 chore(app): 更新 Expo 壳子模块(iOS 键盘遮挡修复) 2026-10-18 00:44:02 +00:00
kuaifan
6a0cd0efd6 chore(app): 更新 Expo 壳子模块(页面级兼容:键盘、滚动锁、定位、录音权限) 2026-10-18 00:17:00 +00:00
kuaifan
945e5b10f2 feat(app): 新增 Expo 内测构建链路并更新 resources/app
- ./cmd appexpo [build] / appexpo npm:编译前端并同步到 resources/app/assets/web
- electron/build.js 新增 app-expo 目标,旧 eeui 流程不变
- 新增仅手动触发的 Expo App Internal workflow(APK / IPA artifact)
- resources/app 更新至 M3 会议与 M4 签名脚本
2026-10-17 23:08:24 +00:00
kuaifan
7ee2aed8d7 feat(app): 新增 Expo 移动端壳子模块 resources/app
一期替换 eeui(resources/mobile 暂保留作参考与旧版构建)。
2026-10-17 15:44:18 +00:00
kuaifan
6f111cd97d release: v1.9.66 v1.9.66 2026-10-10 09:50:29 +00:00
kuaifan
e88ee92313 feat(appstore): 更新 appstore 镜像版本至 0.6.0 2026-10-10 07:47:00 +00:00
kuaifan
ca1a1b5415 feat(contacts): 通讯录支持按部门显示,成员按需加载
- 新增 contacts/departments 接口,返回部门树及成员数
- 通讯录搜索框右侧新增字母/部门视图切换,部门视图可折叠,展开时才加载成员
- users/search 的 keys.departments 改为参数绑定(修复 SQL 注入),0 表示未加入任何部门
- 同步翻译与 ai-kb
2026-10-10 04:47:34 +00:00
kuaifan
adac87bf45 feat(task): 周期任务生成新任务时与原任务自动建立关联 2026-10-10 02:48:43 +00:00
kuaifan
5ce39a8dc4 feat(task): 建立与解除任务关联时记录双方任务动态 2026-10-10 02:41:15 +00:00
kuaifan
f7c42f6985 fix(task): 修复取消任务关联接口路由超过两段导致 404
api/project/task/related/delete 改为 api/project/task/related_delete;
解除关联确认文案改用 (*) 占位翻译
2026-10-10 02:41:15 +00:00
kuaifan
d54dc24cee fix(manticore): 文档解析抛 Error 时不再杀死文件同步进程
PhpWord 解析带批注引用的 docx 会抛 TypeError,而 TextExtractor::extractFile
只捕获 Exception,导致 manticore:sync-files 被致命错误打死、锁无法释放,
且每次重启都卡在同一批,其后的文件都无法入索引。改为捕获 Throwable,
解析失败按“提取失败”处理,同步继续。
2026-10-01 21:44:03 +00:00
kuaifan
789bf39228 release: v1.9.59 v1.9.59 2026-10-01 14:37:53 +00:00
kuaifan
bbec0eaebd feat(appstore): 应用商店 URL 增加 hide_apps 参数,移动 APP 隐藏 AI 时同步隐藏 AI 助手应用
主程序新增 hiddenStoreAppIds getter 与 {store_hidden_app_ids} 占位符,
由 appAiHidden 决定需在应用商店中隐藏的应用 ID,以逗号分隔传给应用商店。
2026-10-01 13:45:01 +00:00
kuaifan
f586e83125 feat(micro-app): 插件 menu_items 支持 width 指定抽屉默认宽度
仅 inline/iframe 生效:≤100 按百分比,>100 按像素(最小 300),缺省 1200。同步 ai-kb 微应用概览。
2026-10-01 13:03:08 +00:00
kuaifan
8bb169b4d0 fix(manticore): 同步命令读增量指针改用严格读取,引擎不可达时终止而非从头重灌
ManticoreKeyValue::get() 在引擎重启/不可达时返回默认值 0,导致增量同步从头重灌
并把指针写回低值,引发 AI 插件向量化风暴。新增 getStrict()/queryOneStrict(),
读取失败抛异常,五个同步命令据此终止本轮。
2026-10-01 10:02:13 +00:00
kuaifan
621017c0c6 feat(setting): 移除「AI 助手设置」,悬浮按钮开关迁至 AI 助手插件
悬浮按钮显示偏好改在「应用 → AI 助手」的「个人偏好」中设置,主程序删除
setting/assistant.vue、对应路由与菜单项,并清理不再使用的翻译与保存方法;
同步更新 ai-kb 与事件对照表。
2026-10-01 07:59:04 +00:00
kuaifan
dd84a0d18e chore(i18n): 优化仪表盘「四象限」「部门总览」切换按钮译文
- 「四象限」改为 Matrix(矩阵)等更简短的译法,避免直译过长
- 「部门总览」改为 Team(团队)等,与「团队范围」「团队成员」叙述一致,且更适合分段按钮宽度
- 同步重新生成 public/language/web 下的前端语言包
2026-10-01 04:29:46 +00:00
kuaifan
c014b6b11f chore(docker): appstore 镜像升级到 0.5.8 2026-10-01 04:29:45 +00:00
kuaifan
1412f5cfef chore(i18n): 补齐系统更新及客户端更新相关文案翻译 2026-10-01 04:21:54 +00:00
kuaifan
be0f05af4d feat(system): 管理员支持在线更新服务端(系统更新)
- 新增 api/system/update/check|start|status,发起更新需二次输入登录密码,经 appstore 拉起独立 updater 容器执行 ./cmd update
- cmd update 新增 --check(输出 JSON 检查结果)与 --non-interactive(在线更新模式:强制备份数据库、存在本地修改时中止、写入 docker/logs/update/state.json 进度)
- 设置菜单与头像下拉(仅管理员)新增「系统更新」入口,进度页展示步骤、实时日志与结果
- 在线更新默认开启,运维可通过 .env ONLINE_UPDATE=false 关闭;appstore 注入 HOST_DOCKER_SOCK
- 修复 Ihttp 状态行解析在多词原因短语(如 404 Not Found)时失败的问题
- 同步 ai-kb:系统更新操作指引、不支持在线更新 FAQ、菜单入口
2026-10-01 04:12:55 +00:00
kuaifan
b42b430e4b feat(client): 客户端更新入口文案统一带「客户端」主语
- 桌面端更新弹窗标题改为「发现客户端新版本」,按钮「立即升级」改为「立即更新」
- 移动端原生更新弹窗标题改为「APP 新版本」
- 头像下拉「更新版本」改为「更新客户端」
- 设置菜单有新版本时「更新日志」显示为「更新客户端」,页面标题保持「更新日志」
- 同步 ai-kb 客户端更新流程与设置入口说明
2026-10-01 02:39:08 +00:00
kuaifan
47c4b3c673 chore(docker): appstore 镜像升级到 0.5.7 2026-10-01 01:45:01 +00:00
kuaifan
9a3e3beb29 fix(project): 列表模式「我的任务」有添加占位时不再显示“暂无任务”
仅部门只读视角(无添加任务占位)下保留“暂无任务”提示。
2026-10-01 01:45:01 +00:00
kuaifan
9c4cdff572 style(manage): 去除菜单项键盘聚焦时的轮廓与阴影 2026-10-01 01:36:25 +00:00
kuaifan
2ace89fce8 feat(project): 列表模式分组选择下拉显示各分组任务数
- 分组下拉每项右侧显示任务数,与分组标题旁数量一致,未勾选显示的分组同样计算
- 数量仅在下拉打开时计算,避免已逾期分组随每秒时间刷新持续重算
- 同步 ai-kb 列表视图说明
2026-10-01 01:31:51 +00:00
kuaifan
d4c7cdba6f feat(project): 项目页筛选下拉支持多选组合
- 顶部筛选由 Cascader 单选改为分组复选下拉:状态(含未计划)/ 标签 / 负责人,同组为「或」、跨组为「且」
- 勾选时下拉不关闭;顶部显示已选数量与「清空」,每组可单独清除,按钮上的 × 一键清空
- 按钮显示:未筛选「全部 (n)」、单选显示该项(状态带颜色)、多选按组汇总如「状态·2 / 负责人·1 (n)」
- 弹层宽度随内容自适应(180–320px),内容区内部滚动;负责人超过 10 人时显示搜索框
- 抽出 utils/projectFlowFilter 统一看板、列表、甘特图的过滤逻辑,修复甘特图未按标签和未计划过滤
- 勾选「已完成」类状态仍自动开启显示已完成,切换项目重置筛选
- 同步 ai-kb 视图筛选相关说明
2026-10-01 01:21:30 +00:00
kuaifan
c06d61a11f feat(dashboard): 合并仪表盘视图切换为「列表|四象限|部门总览」
- 右上角两组切换合并为一个,部门视角选中后该项显示部门范围与成员数,再次点击选择团队范围
- 全选多个部门时显示「部门总览」,切换范围加载中成员数以 loading 占位
- 切换器宽度随内容平滑过渡,尊重减少动态效果设置;部门项与成员数补充悬停提示
- 移动端收起为图标按钮:部门负责人点击弹出列表/四象限/部门总览下拉,底部可选择团队范围并显示成员人数;普通用户点击在列表与四象限间切换
- 移动端部门视角图标带成员数角标(超过 99 显示 99+),头部右侧只占图标宽度
- 清理不再使用的文案与样式,同步 ai-kb 仪表盘相关说明
2026-10-01 00:46:31 +00:00
kuaifan
4115291bff fix(electron): 标签页内打开同域名链接时追加用户身份
Excel 预览等通过 openWindow 打开的 tab 模式窗口,其 setWindowOpenHandler
直接以原始 URL 创建新标签,未经过页面的 __onBeforeOpenWindow / userUrl,
客户端使用本地页面时新标签读不到登录态,/single/file/xxx 分享链接提示
"请登录后继续..." 或 "身份已失效"。

- web-tab-manager:tab 模式先交给 onBeforeOpenWindow 判断,同域名链接
  经 userUrl 追加身份;页面要求默认浏览器打开的交给系统;页面无该能力
  (如外站)时仍直接新开标签
- utils.onBeforeOpenWindow:透传页面返回值,以区分"要求默认浏览器打开"
  与"页面没有 __onBeforeOpenWindow",原调用方行为不变
2026-09-30 23:16:37 +00:00
kuaifan
e45608df36 test(task): 补充周期任务 refreshLoop 与 LoopTask 回归测试
- refreshLoop:字符串/整数自定义天数、无开始时间、开始时间早于今天、
  各预设周期,以及 0/负数/非数字/小数/空值必须被拒绝
- LoopTask:到点只生成 1 个副本并关闭原任务周期;重复执行不再增加;
  刷新周期失败时整体回滚不留副本(含子任务)且不会滚雪球;
  超出窗口、已归档项目、子任务不被处理
2026-09-30 14:53:52 +00:00
kuaifan
5a10f59df8 fix(task): 修复周期任务到点后无限复制重复任务
Carbon 3 的 addDays() 不接受字符串,自定义天数周期(loop="90")在
refreshLoop() 中抛 TypeError。LoopTask 先提交副本再刷新周期,异常后
副本与原任务的 loop_at 都留在 10 分钟窗口内,每分钟翻倍并在同一轮内
被 chunkById 继续扫到。

- refreshLoop:自定义天数转 int 且必须大于 0,拒绝 0 天周期
- LoopTask:复制、刷新周期、关闭旧周期放入同一事务,失败整体回滚;
  锁定并复核原任务防并发重入;refreshLoop 失败即抛出;只处理本轮
  开始前已存在的任务
- ai-kb:更正周期任务按 loop_at 到点生成(而非完成时生成)、不依赖
  end_at、会复制附件,并补充自定义天数须为正整数
2026-09-30 14:48:43 +00:00
kuaifan
1c90a11211 feat: 系统功能应用统一管理内置功能入口
- 新增 SystemFunctions 模块与 api/apps/functions 接口,读取 system-functions 应用的安装状态和开关字段
- 工作报告、日历、我的收藏、最近打开、签到打卡的入口(应用中心、头像菜单、左侧导航)统一受开关控制,卸载后全部隐藏
- 导出签到数据随签到打卡一起隐藏;日历停用后访问日历页跳回仪表盘
- 头像菜单按分组计算分割线,隐藏菜单项后不留多余分割线
- 新增迁移:无配置时自动安装并全部启用,已有配置不覆盖
- 同步 ai-kb 与 api-map
2026-09-30 12:44:18 +00:00
kuaifan
4c357ef36f fix: 设置任务编辑器最小高度 2026-09-13 00:56:42 +00:00
kuaifan
5801d66371 fix: 调整会员选择器间距样式 2026-09-13 00:56:37 +00:00
kuaifan
e34dc01d22 fix(electron): 修复 macOS 签名钥匙串密码传递 v1.9.36 2026-09-10 14:22:57 +00:00