Conversation
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Add frontend TitleSyntaxConverter unit tests - Add backend NodeTitleScript integration test - Fix TitleSyntaxConverter.toGroovySyntax to properly handle variable interpolation - Fix TitleSyntaxConverter.toLabelExpression to parse Groovy expressions - Add NodeTitleScript.execute(TitleGroovyRequest) overload for testing Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Expand TitleGroovyRequest documentation in backend CLAUDE.md with detailed field descriptions - Frontend CLAUDE.md already has complete Node Title Configuration section - Mark title-expression-ui design doc as implemented Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Add userModifiedModeRef to prevent useEffect from overriding user mode changes - Detect legacy default script format and treat as normal mode - Fix flickering issue when clicking reset button Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Rewrite toLabelExpression to use placeholder-based approach:
- Replace all expressions with placeholders first
- Remove string concatenation and quotes
- Restore placeholders as ${label}
This handles cases like: expression + "text" + expression2
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…trategy - Remove local Form component that was causing conflicts - Use onChangeRef to save Field's onChange callback - Call onChange when modal confirms to update editor state - Use displayScript state to sync with editor value - Remove unnecessary Form wrapper This fixes: 1. Display not updating after modal save 2. Data lost when switching between nodes Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Fix toGroovySyntax to generate complete function format: def run(request){// @title\nreturn ...}
- Fix toLabelExpression to parse new function wrapper format
- Fix isAdvancedMode to correctly identify new script format with // @title and def run() wrapper
- Simplify node-title component to avoid render loop issues
The backend expects the full Groovy function format, not just the return statement.
This fix ensures the title script is correctly saved and loaded from backend.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Add Popover mode for variable picker with cursor position insertion - Change // @title to // @CUSTOM_SCRIPT for advanced mode identification - Add support for switching back from advanced to normal mode - Add reset button at bottom of config modal - Fix variable sorting to put form fields at the end - Fix Groovy syntax converter for consecutive variables - Add form fields support in node title strategy - Fix advanced mode display to show "(自定义配置)" instead of raw code Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add comprehensive execution steps, safety precautions, and output requirements for git push operations. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Reduce CLAUDE.md from 304 lines to ~100 lines, focusing on high-level overview and key commands while removing detailed architecture specifics that may change frequently. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Translate CLAUDE.md content to Chinese - Add development rules: TDD, code style compliance, plan storage format - Update frontend module structure (flow-core, flow-types, flow-pc) - Reorganize plan files to time+title folder format Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- 完善 CLAUDE.md 模块结构,添加前端模块划分规范 - 添加前端文件命名规范(小写字母+下划线) - 新增 Groovy 脚本处理架构统一优化计划 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- 使用 useState 替代 useRef 避免 React 警告 - 通过参数传递 onChange 回调而非在渲染时赋值 - 修复预览区显示"(自定义配置)"而非实际内容的问题 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- 新增 BaseGroovyRequest 基类,统一获取 FlowSession 的方式 - 新增 TitleGroovyRequest、ConditionGroovyRequest、OperatorLoadGroovyRequest - 删除旧的 TitleGroovyRequest 类(从 runtime 目录移至 request 目录) - 修改脚本节点使用新的 Request 类 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- 新增 Groovy 脚本类型定义 (groovy-script.ts) - 新增脚本服务层 (groovy-syntax-converter, groovy-variable-service) - 新增脚本适配器 (TitleAdapter 等) - 新增测试文件 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- 删除旧的 VariablePicker 组件 - 更新 package.json 依赖配置 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- 新增前端导入规范:使用 @/ 路径别名 - 新增面向对象开发规范:Service/工具类使用 class 定义 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Feature/groovy script architecture
- 调整导入规范:同目录使用 ./ 相对路径,其他模块使用 @/ 别名 - 调整面向对象规范:Hooks 使用函数式,简单工具函数可用函数式 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- 移除重复的 services 和 utils 目录,统一使用 script/service - 合并 TitleConfigModal 到 node-title-config-modal - 将变量选择器样式从 less 迁移到 scss - 添加样式规范到 CLAUDE.md Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
#14