Skip to content

feat: Slack notification integration (#228)#241

Merged
fatihkan merged 3 commits intomainfrom
dev
Mar 12, 2026
Merged

feat: Slack notification integration (#228)#241
fatihkan merged 3 commits intomainfrom
dev

Conversation

@fatihkan
Copy link
Owner

Summary

  • Add SlackNotificationService (Swift) and SlackService (Rust) mirroring Telegram integration — single webhook URL, no polling
  • Wire Slack alongside Telegram in both Swift and Rust Orchestrators at task-completed and task-failed notification sites
  • Add Slack settings tab in Settings (Swift TabView + React SettingsDialog) with webhook URL input
  • Add Slack webhook URL field to setup wizard on both platforms (Swift WizardIntegrationsStep + React NotificationsStep)
  • Add slackWebhookUrl to AppSettings model (Rust + TypeScript)

Test plan

  • Settings → Slack tab → enter webhook URL → verify persists on reload
  • Setup wizard → Integrations step → Slack section visible with test button
  • (If webhook URL available) Test button sends message to Slack channel
  • Task completion triggers Slack notification alongside Telegram
  • Task failure triggers Slack notification alongside Telegram
  • Swift build: cd CreedFlow && swift build — 0 errors
  • Rust build: cd creedflow-desktop/src-tauri && cargo build — 0 errors
  • TS check: cd creedflow-desktop && npx tsc --noEmit — 0 errors

Closes #228

🤖 Generated with Claude Code

fatihkan and others added 3 commits March 12, 2026 19:10
Add SlackNotificationService (Swift) and SlackService (Rust) mirroring
the existing Telegram integration. Wire into both Orchestrators to fire
Slack webhooks alongside Telegram at task-completed and task-failed sites.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add Slack tab to Settings (Swift TabView + React SettingsDialog), webhook
URL field in setup wizard for both platforms, and TypeScript type update.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add ChainCondition model for evaluating step output against review scores,
verdicts, output text, and success status. ChainExecutor now supports
conditional branching: steps can define conditions that, on failure, jump
to alternative steps (onFailStepOrder) or abort the chain. Cycle detection
limits each step to 3 visits max.

- v24 migration (Swift) / v25 migration (Rust): add condition + onFailStepOrder columns
- PromptChainEditSheet: condition editor UI with field/op/value pickers
- ChainStepRow (React): inline condition editor with "conditional" badge
- 11 new tests for ChainCondition evaluation and serialization

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@fatihkan fatihkan merged commit 75b88cc into main Mar 12, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Slack notification integration

1 participant