Improve dashboard UX clarity for channel settings and dependencies#2
Open
builtbyrobben wants to merge 9 commits intomainfrom
Open
Improve dashboard UX clarity for channel settings and dependencies#2builtbyrobben wants to merge 9 commits intomainfrom
builtbyrobben wants to merge 9 commits intomainfrom
Conversation
This workflow: - Triggers only when @claude is mentioned in issues or issue comments - Does NOT perform automatic code reviews on PRs - Uses CLAUDE_CODE_OAUTH_TOKEN for Claude Max/Pro subscription (no API key needed) To use: 1. Generate OAuth token: Run 'claude setup-token' in Claude Code CLI 2. Add token to repo secrets as CLAUDE_CODE_OAUTH_TOKEN 3. Install Claude GitHub App: https://github.com/apps/claude 4. Tag @claude in any issue to test
…ng, safe JSON parsing, cron model fallback
- Increase shutdown timeout from 5s to 15s to prevent incomplete cleanup (run-loop.ts)
- Add ThrottleInterval=10 to launchd plist to prevent crash-loop respawning (launchd-plist.ts)
- Replace silent .catch(() => {}) with logged warnings in gateway cleanup (server-close.ts)
- Wrap JSON.parse in try-catch for Signal RPC responses (signal/client.ts)
- Consolidate and safeguard JSON.parse in Feishu media download (feishu/download.ts)
- Cron model override: warn and fall back to default instead of hard-failing the job (isolated-agent/run.ts)
- Update test to match new warn-and-fallback behavior
Co-Authored-By: Claude Opus 4.6 <[email protected]>
…dashboard features uiHints enrichment: - Add 75+ FIELD_HELP entries covering tools, diagnostics, UI, browser, talk, skills, channels - Add 12 FIELD_PLACEHOLDERS for token/key inputs - Add 3 new FIELD_LABELS for gateway settings CSS restyling: - Nested config objects use left-border accent instead of full border - Reduced padding and title prominence for deeply nested forms - Add log severity row tinting (warn=yellow, error/fatal=red) - Add clickable stat card hover styles Missing features: - Cron job remove confirmation dialog - Token count formatting (200000 → "200K tokens") - Channel raw JSON wrapped in collapsible <details> - Overview stat cards link to their detail tabs - Nodes: security/ask mode descriptions, agent scope pill search/filter - Logs: severity-based row coloring Co-Authored-By: Claude Opus 4.6 <[email protected]>
Cron form: - Add dynamic help text below Session, Wake mode, Payload, and Delivery dropdowns - Descriptions update when the selected option changes Sessions table: - Remove confusing "(explicit)" suffix from verbose "off" option - Add title tooltips to Thinking/Verbose/Reasoning dropdowns explaining "inherit" - Add title tooltips to column headers explaining Kind, Tokens, Thinking, Verbose, Reasoning Overview: - Rename "Tick Interval" to "Poll Interval" and hide when n/a - Replace "sessions.patch" internal RPC reference with user-facing language Co-Authored-By: Claude Opus 4.6 <[email protected]>
2ed98c5 to
bc2822b
Compare
|
|
||
| jobs: | ||
| label: | ||
| if: github.repository_owner == 'openclaw' && secrets.GH_APP_PRIVATE_KEY != '' |
There was a problem hiding this comment.
secrets.GH_APP_PRIVATE_KEY reference won't work in if condition
Suggested change
| if: github.repository_owner == 'openclaw' && secrets.GH_APP_PRIVATE_KEY != '' | |
| if: github.repository_owner == 'openclaw' |
Prompt To Fix With AI
This is a comment left during a code review.
Path: .github/workflows/labeler.yml
Line: 13:13
Comment:
`secrets.GH_APP_PRIVATE_KEY` reference won't work in `if` condition
```suggestion
if: github.repository_owner == 'openclaw'
```
How can I resolve this? If you propose a fix, please make it concise.|
|
||
| jobs: | ||
| label: | ||
| if: github.repository_owner == 'openclaw' && secrets.GH_APP_PRIVATE_KEY != '' |
There was a problem hiding this comment.
Condition won't work as intended. Secrets aren't available in if conditions — they're always empty strings in workflow expressions. This check will always evaluate to false on forks.
Suggested change
| if: github.repository_owner == 'openclaw' && secrets.GH_APP_PRIVATE_KEY != '' | |
| if: github.repository_owner == 'openclaw' |
The secret availability will be enforced when the step tries to use it.
Prompt To Fix With AI
This is a comment left during a code review.
Path: .github/workflows/labeler.yml
Line: 13
Comment:
Condition won't work as intended. Secrets aren't available in `if` conditions — they're always empty strings in workflow expressions. This check will always evaluate to false on forks.
```suggestion
if: github.repository_owner == 'openclaw'
```
The secret availability will be enforced when the step tries to use it.
How can I resolve this? If you propose a fix, please make it concise.| }); | ||
|
|
||
| label-issues: | ||
| if: github.repository_owner == 'openclaw' && secrets.GH_APP_PRIVATE_KEY != '' |
There was a problem hiding this comment.
Same issue — secret check in if won't work.
Suggested change
| if: github.repository_owner == 'openclaw' && secrets.GH_APP_PRIVATE_KEY != '' | |
| if: github.repository_owner == 'openclaw' |
Prompt To Fix With AI
This is a comment left during a code review.
Path: .github/workflows/labeler.yml
Line: 52
Comment:
Same issue — secret check in `if` won't work.
```suggestion
if: github.repository_owner == 'openclaw'
```
How can I resolve this? If you propose a fix, please make it concise.
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.
Summary\n- add clearer config help/docs for ambiguous channel fields (Allow Bots, Block Streaming, Capabilities, DM policy)\n- add dynamic dependency/risk notices with quick-fix actions for common channel misconfigurations\n- improve +Add UX for arrays/maps with contextual labels and key guidance\n- add Channels health callout recommending openclaw doctor and channels status --probe\n\n## Validation\n- pnpm --dir ui test src/ui/config-form.browser.test.ts src/ui/views/channels.config.test.ts src/ui/views/channels.shared.test.ts\n- pnpm exec vitest run src/config/schema.test.ts\n- pnpm --dir ui build\n- pnpm build\n- pnpm lint\n- pnpm test\n\n## Notes\n- pnpm check still has a pre-existing unrelated type error in src/telegram/bot.ts
Greptile Summary
Improved dashboard UX by adding comprehensive help text, dependency warnings, and contextual guidance for channel configuration. The changes introduce a robust impact tracking system that validates config dependencies and provides quick-fix actions for common misconfigurations.
Key improvements:
allowBots,blockStreaming,capabilities, DM policies)allowFrom: ["*"])openclaw doctorandopenclaw channels status --probeTest coverage:
The PR successfully addresses configuration clarity issues while maintaining backward compatibility.
Confidence Score: 4/5
secrets.GH_APP_PRIVATE_KEYin the if statement, which won't work as expected. Otherwise, the changes are clean, well-structured, and thoroughly validated.Important Files Changed
Flowchart
%%{init: {'theme': 'neutral'}}%% flowchart TD A[User edits config field] --> B[hintForPath resolves UI hints] B --> C{Fallback hints exist?} C -->|Yes| D[Merge backend + fallback hints] C -->|No| E[Use backend hints only] D --> F[resolveConfigImpacts] E --> F F --> G{Check impact conditions} G -->|when=truthy/equals/etc| H{Source value matches?} H -->|Yes| I{Has target path?} H -->|No| K[Skip impact] I -->|Yes| J{Check target value} I -->|No| L[Render risk notice] J -->|Mismatch| M[Render requires/conflicts notice] J -->|Match| K L --> N[Display with quick-fix button] M --> N N --> O{User clicks fix?} O -->|Yes| P[onPatch with fixValue] O -->|No| Q[User manually edits] P --> R[Config updated] Q --> RLast reviewed commit: 9506db5