kuaifan
|
1c27719ac4
|
no message
|
2026-01-14 20:15:48 +08:00 |
|
kuaifan
|
c2c27a684b
|
feat: 复制/周期任务时复制子任务并重置状态
- 复制任务时同时复制子任务,子任务状态重置为未完成
- 周期任务生成时,子任务状态重置为未完成并映射到 start 工作流
- 新增 getProjectFlowItems 方法获取项目工作流状态
- 新增 formatFlowItemName 方法格式化工作流状态名称
- 新增 copySubTasks 方法复制子任务到新父任务
- 新增 moveSubTasks 方法移动子任务,重构 moveTask 复用代码
|
2026-01-14 11:31:28 +00:00 |
|
kuaifan
|
4f2d382fd6
|
fix: 移除 Markdown 消息中的工具使用标签
|
2026-01-13 12:57:54 +00:00 |
|
kuaifan
|
42e4ddbd17
|
fix: 修复权限级联同步缺口
修复 Manticore 搜索索引在特定场景下 allowed_users 权限未能正确同步的问题:
Observer.updated 补充:
- ProjectUserObserver: 处理项目成员移交时的权限级联
- ProjectTaskUserObserver: 处理任务成员移交时的权限更新
批量操作绕过 Observer 修复(delete → remove):
- FileUser: deleteFileAll/deleteFileUser 方法
- ProjectTask: 可见性设置时的批量删除
- ProjectController: 子任务升级和任务复制时的批量删除
文件批量更新封装:
- File 新增 updateChildFilesUserid() 方法,统一处理子文件 userid
更新及 Manticore 同步
|
2026-01-13 11:55:45 +00:00 |
|
kuaifan
|
47c53a18fa
|
fix: 修复跨项目移动任务时子任务工作流状态未更新的问题
跨项目移动任务时,子任务的 flow_item_id 和 flow_item_name 没有被正确更新,
导致子任务在新项目中显示的工作流状态与新项目的工作流不匹配。
|
2026-01-13 10:50:42 +00:00 |
|
kuaifan
|
1ac3a4cc96
|
feat: 添加 user_update hook 事件并重构用户生命周期 hook
- 新增 user_update 事件,当用户基本信息变更时触发
- 扩展 dispatchUserHook payload 包含完整用户信息(tel、profession、birthday、address、introduction、departments)
- 将 user_onboard/user_offboard/user_update hook 触发逻辑集中到 UserObserver
- 区分 profile_update(用户自己修改)和 admin_update(管理员修改)事件类型
- 修复 User::reg() 中 Manticore 索引同步遗漏问题
- 排除机器人账号的 hook 触发
|
2026-01-08 11:31:16 +00:00 |
|
kuaifan
|
4e99e398d6
|
feat: 添加动态时间提示和自动校正功能
- 在"最早可提前"下方动态显示最早可签到时间
- 在"最晚可延后"下方动态显示最晚可签到时间(跨天显示"次日"前缀)
- 输入值变化时自动校正到临界值,防止时间重叠
- 调整表单布局支持换行显示提示信息
|
2026-01-07 04:11:32 +00:00 |
|
kuaifan
|
6bdefc4f03
|
feat: 支持跨天打卡和时间重叠验证
- 允许签到"最晚可延后"时间超过 23:59:59,支持员工凌晨下班打卡
- 凌晨打卡记录自动归属前一天
- 前后端新增提前/延后时间重叠验证,防止产生歧义时间窗口
- 优化导出逻辑以正确处理跨天打卡记录
- 打卡消息提示归属日期信息
|
2026-01-06 12:31:41 +00:00 |
|
kuaifan
|
ec0db3a76c
|
refactor: 提取搜索逻辑到 Model Scope
- User: 新增 scopeSearchByKeyword
- Project: 新增 scopeSearchByKeyword
- ProjectTask: 新增 scopeSearchByKeyword
- File: 新增 scopeSearchByKeyword, scopeSharedToUser
- WebSocketDialogMsg: 新增 scopeSearchByKeyword, scopeAccessibleByUser
- SearchController: 使用新的 Model Scope 简化 MySQL 回退逻辑
|
2026-01-03 07:58:11 +00:00 |
|
kuaifan
|
a8d4f261a4
|
no message
|
2025-12-30 05:49:18 +00:00 |
|
kuaifan
|
a336fd4a1a
|
feat: omit content from report list APIs
|
2025-12-30 01:58:03 +00:00 |
|
kuaifan
|
55303689ea
|
feat: support configurable default priority
|
2025-12-26 02:42:47 +00:00 |
|
kuaifan
|
3b3ffd494f
|
feat: 规范以斜杠开头的命令
|
2025-12-24 06:10:39 +00:00 |
|
kuaifan
|
0b7a3046fe
|
fix: align parent task subtask progress with task detail (include archived, exclude deleted)
|
2025-12-19 21:36:00 +08:00 |
|
kuaifan
|
d77406951d
|
feat: 更新微应用菜单配置,统一使用类型字段替代URL类型字段
|
2025-12-18 02:44:37 +00:00 |
|
kuaifan
|
8c4b9e8d12
|
feat: 优化项目/报告控制器及任务模型
|
2025-12-11 02:06:13 +00:00 |
|
kuaifan
|
ac9e1e5e67
|
feat: call appstore user lifecycle hooks from main app
|
2025-12-09 10:30:23 +00:00 |
|
kuaifan
|
c668340661
|
feat: 优化消息推送逻辑
|
2025-12-05 02:10:37 +00:00 |
|
kuaifan
|
f0e844c308
|
feat: 添加个人任务上限设置,限制负责人或协助人的未完成任务数量
|
2025-11-28 11:05:08 +00:00 |
|
kuaifan
|
4983fe8feb
|
feat: 添加自定义微应用菜单功能,支持管理员配置和保存菜单项
|
2025-11-19 07:54:47 +00:00 |
|
kuaifan
|
8af6887daa
|
feat: 优化WebSocketDialogMsg和BotReceiveMsgTask中的消息格式,统一中文标点,增强可读性
|
2025-11-11 13:05:04 +00:00 |
|
kuaifan
|
cf78766a37
|
feat: 移除未使用的消息处理函数和Markdown插件任务创建功能,优化代码结构
|
2025-11-11 05:42:02 +00:00 |
|
kuaifan
|
944824b552
|
feat: 移除未使用的函数和代码,优化BotReceiveMsgTask和WebSocketDialogMsg的消息处理逻辑
|
2025-11-11 05:31:59 +00:00 |
|
kuaifan
|
477bb1ac8f
|
feat: MCP增加文件管理功能,支持获取文件访问URL、文件列表和文件搜索
|
2025-11-11 05:23:00 +00:00 |
|
kuaifan
|
d30b38d4b9
|
feat: 添加应用排序功能
|
2025-11-10 07:47:00 +00:00 |
|
kuaifan
|
425d6f9a06
|
feat: 移除冗余的AI助手设置方法,优化AI模块的模型配置逻辑
|
2025-11-09 04:28:51 +00:00 |
|
kuaifan
|
69c66053b7
|
feat: 完善AI助手功能,新增消息提示词整理接口,优化流式消息处理逻辑,移除冗余数据表和相关代码
|
2025-11-07 22:25:45 +00:00 |
|
kuaifan
|
892ad395a7
|
feat: 添加额外数据处理,优化AI助手消息生成与发送逻辑
|
2025-11-07 20:38:06 +00:00 |
|
kuaifan
|
e75aa5c2b9
|
feat: 创建新 AI 会话时将旧会话消息批量标记已读
|
2025-11-07 07:54:04 +00:00 |
|
kuaifan
|
4bfe33a37f
|
feat: 优化打开会话事件接口,优化机器人webhook逻辑
- 新增 `open__event` 方法用于处理打开会话事件
- 移除旧的 `open__webhook` 方法
- 更新前端调用逻辑,使用新的事件接口
- 优化 webhook 事件推送逻辑,简化参数传递
|
2025-11-06 13:59:10 +00:00 |
|
kuaifan
|
b9df277104
|
no message
|
2025-11-06 07:16:29 +00:00 |
|
kuaifan
|
ab4640382d
|
feat: 添加会员扩展信息接口,优化用户详情和个人设置页面
|
2025-11-06 02:01:15 +00:00 |
|
kuaifan
|
5370bee369
|
Merge branch 'dev' into pro
# Conflicts:
# CHANGELOG.md
# cmd
# package.json
# public/js/build/404.5645cb91.js
# public/js/build/404.9598cd97.js
# public/js/build/404.a5736629.js
# public/js/build/AceEditor.8747edb1.js
# public/js/build/AceEditor.af35593f.js
# public/js/build/AceEditor.e7f5b602.js
# public/js/build/DialogWrapper.0c7cd033.js
# public/js/build/DialogWrapper.64072671.js
# public/js/build/DialogWrapper.7fcb5b27.js
# public/js/build/Drawio.2ca59c31.js
# public/js/build/Drawio.6691a6ef.js
# public/js/build/Drawio.e3576e4e.js
# public/js/build/FileContent.3a899bcc.js
# public/js/build/FileContent.c311c89c.js
# public/js/build/FileContent.d8e600e1.js
# public/js/build/FilePreview.87ca99d9.js
# public/js/build/FilePreview.f8134ee5.js
# public/js/build/FilePreview.f9f90ff4.js
# public/js/build/IFrame.02598edc.js
# public/js/build/IFrame.2a7489ee.js
# public/js/build/IFrame.be9780e1.js
# public/js/build/ImgUpload.29e2d88d.js
# public/js/build/ImgUpload.a4eff264.js
# public/js/build/ImgUpload.e96999cf.js
# public/js/build/Minder.2bce6c16.js
# public/js/build/Minder.b1d1145f.js
# public/js/build/Minder.f5bc5aca.js
# public/js/build/OnlyOffice.31e7af4f.js
# public/js/build/OnlyOffice.574ad560.js
# public/js/build/OnlyOffice.9ce921ed.js
# public/js/build/ReportEdit.5eb3a319.js
# public/js/build/ReportEdit.9141bb93.js
# public/js/build/ReportEdit.e3369e09.js
# public/js/build/SearchButton.906cea81.js
# public/js/build/SearchButton.cf201525.js
# public/js/build/SearchButton.d41addb6.js
# public/js/build/TEditor.7b9a9d91.js
# public/js/build/TEditor.971af80f.js
# public/js/build/TEditor.cc94d929.js
# public/js/build/TaskDetail.38815236.js
# public/js/build/TaskDetail.d1a9952e.js
# public/js/build/TaskDetail.dfd78b4a.js
# public/js/build/add.0cfbdd9e.js
# public/js/build/add.3673f91c.js
# public/js/build/add.423bc480.js
# public/js/build/application.005cc174.js
# public/js/build/application.5587ac3b.js
# public/js/build/application.5b8f123b.js
# public/js/build/apps.4e0bf65b.js
# public/js/build/apps.b0a3d4f5.js
# public/js/build/apps.f77a8c4e.js
# public/js/build/calendar.31470aa0.js
# public/js/build/calendar.ad5d85d5.js
# public/js/build/calendar.e08e7575.js
# public/js/build/checkin.5d4c364e.js
# public/js/build/checkin.ab08f01e.js
# public/js/build/checkin.c05284a9.js
# public/js/build/dashboard.7cced7be.js
# public/js/build/dashboard.c82415db.js
# public/js/build/dashboard.f6ed8299.js
# public/js/build/dayjs.495f600d.js
# public/js/build/dayjs.71653272.js
# public/js/build/dayjs.cf033d87.js
# public/js/build/delete.4072c68f.js
# public/js/build/delete.5f06c51d.js
# public/js/build/delete.b26aa3fd.js
# public/js/build/device.4cff22ad.js
# public/js/build/device.66a7e05a.js
# public/js/build/device.a13f3ef0.js
# public/js/build/dialog.97b951ce.js
# public/js/build/dialog.e9f6d55f.js
# public/js/build/dialog.eb7b795a.js
# public/js/build/editor.18a511b5.js
# public/js/build/editor.2cca497c.js
# public/js/build/editor.e034df4e.js
# public/js/build/email.0643f86b.js
# public/js/build/email.1d00cb0c.js
# public/js/build/email.d95a35c0.js
# public/js/build/file.4fe82c29.js
# public/js/build/file.684a63df.js
# public/js/build/file.9dceb82f.js
# public/js/build/fileMsg.0a0029c2.js
# public/js/build/fileMsg.1f4ecb0f.js
# public/js/build/fileMsg.f99b6f61.js
# public/js/build/fileTask.72914205.js
# public/js/build/fileTask.bf35fb6b.js
# public/js/build/fileTask.f4356f14.js
# public/js/build/index.236af26f.js
# public/js/build/index.299c9f99.js
# public/js/build/index.2ffa8f9e.js
# public/js/build/index.7d6e1bbe.js
# public/js/build/index.94a5d2da.css
# public/js/build/index.af34aeb9.js
# public/js/build/index.b0ae9460.js
# public/js/build/index.b69b5f25.js
# public/js/build/index.b71c2859.js
# public/js/build/index.c3968cad.js
# public/js/build/index.d1ae44be.js
# public/js/build/index.e07db7f9.css
# public/js/build/index.edee4b6e.css
# public/js/build/index.ef9e1e57.js
# public/js/build/index.fe32159a.js
# public/js/build/jquery.0909250e.js
# public/js/build/jquery.16b446fd.js
# public/js/build/jquery.27f590f5.js
# public/js/build/keyboard.3f5b3ac6.js
# public/js/build/keyboard.5de3dd2c.js
# public/js/build/keyboard.c3ef7d49.js
# public/js/build/language.1fadd54c.js
# public/js/build/language.8bb72294.js
# public/js/build/language.f3d03ece.js
# public/js/build/license.21482fde.js
# public/js/build/license.60871496.js
# public/js/build/license.add318a7.js
# public/js/build/localforage.65ac7a2a.js
# public/js/build/localforage.be4775a0.js
# public/js/build/localforage.dd58f5ac.js
# public/js/build/login.7560afa5.js
# public/js/build/login.75b3978c.js
# public/js/build/login.aa163163.js
# public/js/build/meeting.a60d7e8d.js
# public/js/build/meeting.aa5510c7.js
# public/js/build/meeting.fdb9793b.js
# public/js/build/password.267357fd.js
# public/js/build/password.749ce44d.js
# public/js/build/password.e6d81eb1.js
# public/js/build/personal.69279937.js
# public/js/build/personal.a27cef8e.js
# public/js/build/personal.c613af3c.js
# public/js/build/preload.5827bd38.js
# public/js/build/preload.8ec61a5b.js
# public/js/build/preload.c6189d87.js
# public/js/build/preview.29e49902.js
# public/js/build/preview.7329f0f4.js
# public/js/build/preview.b452b0ee.js
# public/js/build/preview.c64402ed.js
# public/js/build/preview.ec796a92.js
# public/js/build/preview.ec85a43c.js
# public/js/build/pro.2128a514.js
# public/js/build/pro.213d8da6.js
# public/js/build/pro.9fb60d27.js
# public/js/build/projectInvite.0b3bf524.js
# public/js/build/projectInvite.393920f8.js
# public/js/build/projectInvite.e9cee390.js
# public/js/build/reportDetail.2db50632.js
# public/js/build/reportDetail.90aaf973.js
# public/js/build/reportDetail.d93cc650.js
# public/js/build/reportEdit.84a81076.js
# public/js/build/reportEdit.8baf23d4.js
# public/js/build/reportEdit.d008dd34.js
# public/js/build/swipe.0c72cce1.js
# public/js/build/swipe.4567bb5d.js
# public/js/build/swipe.92aebd0c.js
# public/js/build/system.67c1b700.js
# public/js/build/system.c45c70de.js
# public/js/build/system.f3384133.js
# public/js/build/task.1b9e0e77.js
# public/js/build/task.a445c89e.js
# public/js/build/task.d43091db.js
# public/js/build/taskContent.20b80714.js
# public/js/build/taskContent.3ebbd2f9.js
# public/js/build/taskContent.9dc7a121.js
# public/js/build/theme.72d103d1.js
# public/js/build/theme.7f1b2ffd.js
# public/js/build/theme.df79fe8f.js
# public/js/build/token.0ecffef5.js
# public/js/build/token.a7f5ccf5.js
# public/js/build/token.ece75257.js
# public/js/build/validEmail.1462dd30.js
# public/js/build/validEmail.17a3e0d2.js
# public/js/build/validEmail.ee19c1f3.js
# public/js/build/version.137935c7.js
# public/js/build/version.1441c1fd.js
# public/js/build/version.b0154505.js
# public/js/build/video.03b62c93.js
# public/js/build/video.2dc7f3c6.js
# public/js/build/video.531c68e2.js
# public/js/build/view.18713f1b.js
# public/js/build/view.7770155e.js
# public/js/build/view.8c6a0cc1.js
# public/manifest.json
|
2025-11-05 16:55:17 +08:00 |
|
kuaifan
|
e0443aa336
|
feat: 添加AI分析工作汇报功能
|
2025-11-05 04:02:06 +00:00 |
|
kuaifan
|
96106498d8
|
feat: 添加Umeng日志模型及数据库迁移
|
2025-11-01 16:15:32 +00:00 |
|
kuaifan
|
0116d92021
|
feat: 给支持角标的Android设备推送添加角标
|
2025-11-01 16:15:25 +00:00 |
|
kuaifan
|
e8235dd0a2
|
feat: 优化已读消息标记逻辑,提升性能和可读性
|
2025-10-17 00:41:38 +00:00 |
|
kuaifan
|
6d97bf1e88
|
feat: 添加个性标签管理功能
|
2025-10-12 23:02:34 +00:00 |
|
kuaifan
|
40f04d9860
|
feat: 添加用户生日、地址和个人简介
|
2025-10-12 15:07:10 +00:00 |
|
kuaifan
|
f59bdaf5e0
|
feat: 添加用户机器人 webhook 事件配置,优化相关逻辑
|
2025-09-30 04:25:50 +00:00 |
|
kuaifan
|
0666a8f5c2
|
feat: 优化任务可见性推送逻辑
|
2025-09-29 09:04:31 +08:00 |
|
kuaifan
|
81c019105c
|
no message
|
2025-09-28 10:40:48 +08:00 |
|
kuaifan
|
fb88f3bd96
|
no message
|
2025-09-28 06:33:38 +08:00 |
|
kuaifan
|
3cf7055122
|
feat: 添加任务关联功能
|
2025-09-27 15:53:58 +08:00 |
|
kuaifan
|
2f16e2c608
|
feat: 添加文件预览功能和优化文件打开逻辑
|
2025-09-26 12:13:38 +08:00 |
|
kuaifan
|
a03dec91c5
|
feat: 添加任务复制功能
|
2025-09-24 23:49:22 +08:00 |
|
kuaifan
|
7c5a966944
|
no message
|
2025-09-24 21:00:31 +08:00 |
|
kuaifan
|
03860a6dce
|
feat: 添加标签排序功能
- 在 ProjectController 中新增 tag__sort 方法,支持项目标签的排序
- 更新 ProjectTag 模型,添加排序字段
- 新增数据库迁移以添加标签排序字段
- 更新前端组件,支持拖拽调整标签顺序
- 优化样式以提升用户体验
|
2025-09-24 20:31:54 +08:00 |
|
kuaifan
|
a268391e68
|
feat: 添加收藏备注功能
- 在 UsersController 中新增 favorite__remark 方法,支持用户修改收藏的备注
- 在 UserFavorite 模型中添加更新备注的逻辑
- 新增数据库迁移以添加备注字段
- 更新前端组件以支持备注的显示和编辑
- 优化收藏操作的用户体验
|
2025-09-24 18:15:03 +08:00 |
|
kuaifan
|
89bdd86f14
|
fix: 更新消息预览文本获取方法
- 将获取消息预览文本的方法从 previewTextMsg 更新为 previewMsg,以适应新的消息结构
- 确保在处理消息时使用最新的预览文本获取逻辑
|
2025-09-24 16:45:08 +08:00 |
|