使用接受自签名证书的代理 HTTPS
- 恢复使用HTTPS(不是HTTP) - 添加 HTTPS 代理, 拒绝 未经授权: 自签证书有假 - 这使得服务器端 Next.js 路由连接到 https://media.kamocrm.com - 适用于所有媒体API线路
为 Media Service 使用 Kubernetes 服务名来避免 SSL 证书问题
- 服务器侧 Next.js 路由现在使用QQ - 这可以避免在连接 https://media.kamocrm.com 时出现自签证书错误 - 客户端请求仍然使用外部 https://media.{domain} URL 网络 - 适用于所有媒体API线路:会话/聊天、会话/[guid]、会话/[guid]/消息、信...
删除截获请求的旧/api/ 安全/ 媒体/ 路线
- 旧路线已转发给APIService,它不再有媒体终点 - 所有媒体要求应直接通过/api/媒体/途径进入媒体服务处 - 删除: - 删除: ...
返回到动作/ 检查出@ v4 以匹配其他 Next.js 项目
- 删除导致绞刑的复杂的手工取出逻辑 - 使用标准动作/ 检查出@v4, 如 kamo- login 和 Kamo- register - 简化多克建筑上下文以使用.而不是env var - 添加退出以部署 k8s 显示访问的任务
使用带有超时的浅层克隆来防止挂起
- 使用 -- -- 深度 1 为更快的克隆 - 增加超时(浅重120分,全重300分) - 如果浅度失败, 倒向完全克隆 - 必要时在浅层克隆后获取具体承诺
在 git 克隆前更改为有效的目录以避免工作目录出错
- 在删除/克隆工作空间之前更改为/tmp或/ - 只有在目录存在但不是 git repo 时才删除 - 防止“ 无法读取当前工作目录” 出错
Use hardcoded repository URL and set GITHUB_WORKSPACE env var
- Use direct repository URL to avoid DNS/hostname resolution issues - Set GITHUB_WORKSPACE environment variable for subsequent steps - Use env var in Docker bui...
Use git clone directly instead of relying on empty workspace
- Clone repository using git directly with repository URL - Handle both fresh clone and existing repository cases - Use working-directory for Docker build actio...
Simplify all checkout steps - remove git operations that hang
- Remove git fetch/reset/clean from deploy jobs - Forgejo runner already has code checked out - Just verify GITHUB_WORKSPACE is valid
Simplify checkout step - remove git clone that was hanging
- Remove git clone logic that was causing 20+ minute hangs - Forgejo runner already has code checked out, just verify directory - Remove unnecessary git fetch/r...
Improve checkout and Docker build context handling
- Add proper repository cloning if not already checked out - Verify Dockerfile exists before building - Use absolute paths for Docker build context - Fix workin...
Replace actions/checkout with manual git checkout to avoid DNS issues
- Replace actions/checkout@v4 with manual git checkout commands - Forgejo runner already has code checked out, just need to ensure clean state - Fixes DNS looku...
Explicitly permit WebSocket endpoints in Spring Security
- Added explicit permitAll for /ws/** endpoints - WebSocket upgrade requests need explicit permission even in development mode - Fixes issue where WebSocket con...
由参与者成员搜索现有的聊天会,而不仅仅是会话所有者
- 更改了OrCreateChatSession,以搜索媒体会议成员的记录而不是媒体会议。 - 现在搜索创作者是参与者的会话(邀请成员或创建成员) - 搜索其他成员参加的会议 - 解决每个成员创建单独会议而不是共享会议的问题 - 这将确保两个成员的所有信息都出现在同一个聊天会话中
Add detailed logging for message member ID retrieval
- Added logging to trace member ID for each message being returned - Logs member class name to detect proxy/stub issues - Logs distinct member IDs in response t...
添加 JOIN FETCH 在信件查询中快速加载成员
- 加入JOIN FETCH m. 成员 发现BYSYANDISLOVED 虚假查询 - 确保成员实体热衷于装载,以避免懒惰的装载问题 - 解决在串行信件时可能无法正确检索成员身份的问题
如果不存在, 自动创建 NATS JetStream 流
- 添加创建Stream If NotExists 方法来检查和创建 CHAT MESSAGES 流 - 以配置的主题创建流 (聊天) - 在发布消息时修正“ 不匹配对象流” 出错 - 流创建是一元创建 - 在创建前检查流是否存在
Extract large IDs from raw JSON to prevent JavaScript precision loss
- Extract memberID, userID, orgID, and securityOrgId from raw JSON string before parsing - Prevents precision loss for IDs > Number.MAX_SAFE_INTEGER (9007199254...
让NatsMessage Service与可选 JetStream 注射合作
- 用@Autowired( required=false)将JetStream注入可选程序处理豆类订购问题 - 删除 @ Contitional OnBean 允许创建服务, 即使JetStream还没有准备好 - 在出版、出版同步和订阅方法中增加运行时间检查 - 这解决了NATS消息发送因豆制作时间而失效的问题