Skip to content

fix(ui): move Intelligence and Webhooks to Developer Options, clean up nav#1225

Merged
senamakel merged 1 commit into
tinyhumansai:mainfrom
graycyrus:fix/cleanup-production-ui
May 5, 2026
Merged

fix(ui): move Intelligence and Webhooks to Developer Options, clean up nav#1225
senamakel merged 1 commit into
tinyhumansai:mainfrom
graycyrus:fix/cleanup-production-ui

Conversation

@graycyrus
Copy link
Copy Markdown
Contributor

@graycyrus graycyrus commented May 5, 2026

Summary

  • Move /intelligence and /webhooks from top-level routes into the Developer Options settings section
  • Remove the "Memory" tab from the bottom tab bar — nav now only shows production-ready sections
  • Old routes (/intelligence, /webhooks) redirect to their new settings paths
  • Update keyboard shortcut (Mod+3), notification deep links, and E2E tests

Changes

File Change
AppRoutes.tsx Remove top-level routes, add <Navigate> redirects
BottomTabBar.tsx Remove Memory tab
DeveloperOptionsPanel.tsx Add Intelligence + ComposeIO Triggers entries
Settings.tsx Add routes for both pages
useSettingsNavigation.ts Add type, path matching, breadcrumbs
globalActions.ts Update intelligence shortcut path
notifications/bus.rs Update webhook deep link
E2E tests Update route references

Test plan

  • Navigate to Settings → Developer Options → Intelligence — page renders with all tabs
  • Navigate to Settings → Developer Options → ComposeIO Triggers — page renders
  • Bottom tab bar no longer shows Memory tab
  • Old /intelligence URL redirects to /settings/intelligence
  • Old /webhooks URL redirects to /settings/webhooks-triggers
  • Mod+3 keyboard shortcut opens Intelligence in settings
  • Existing Developer Options items (AI Config, Agent Chat, Cron Jobs, etc.) unchanged

Closes #1216

Summary by CodeRabbit

  • Navigation Changes

    • Intelligence and Webhooks features have been reorganized and are now accessible through Settings under Developer Options.
    • Intelligence tab has been removed from bottom tab navigation.
  • Developer Options

    • Added Intelligence and ComposeIO Triggers menu items for convenient access to these settings.

…p nav

Move /intelligence and /webhooks from top-level routes into the Developer
Options settings section. Remove the Memory tab from the bottom tab bar.
Old routes redirect to their new settings paths. Update keyboard shortcut,
deep links, and E2E tests accordingly.

Closes tinyhumansai#1216
@graycyrus graycyrus requested a review from a team May 5, 2026 12:35
@graycyrus graycyrus marked this pull request as draft May 5, 2026 12:36
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented May 5, 2026

📝 Walkthrough

Walkthrough

The PR relocates Intelligence and Webhooks pages from top-level routes (/intelligence, /webhooks) into the Settings/Developer Options section at /settings/intelligence and /settings/webhooks-triggers. Top-level routes redirect to their new locations. The Intelligence tab is removed from bottom navigation, and all navigation hooks, global actions, menu items, tests, and backend notification mappings are updated accordingly.

Changes

Navigation Refactor: Move Intelligence & Webhooks to Settings/Developer Options

Layer / File(s) Summary
Route Redirection
app/src/AppRoutes.tsx
Top-level /intelligence and /webhooks routes now redirect to /settings/intelligence and /settings/webhooks-triggers using Navigate with replace.
Settings Sub-routes
app/src/pages/Settings.tsx
New routes added for intelligence (renders <Intelligence />) and webhooks-triggers (renders <Webhooks />), imported and nested under the settings route tree.
Navigation Type System
app/src/components/settings/hooks/useSettingsNavigation.ts
SettingsRoute union extended with 'intelligence' and 'webhooks-triggers'; getCurrentRoute detection logic and breadcrumb generation updated to recognize and classify these routes as developer sub-pages.
Developer Menu Items
app/src/components/settings/panels/DeveloperOptionsPanel.tsx
Two new menu items added to developerItems array: Intelligence and ComposeIO Triggers, each with icon, title, and description pointing to their respective new routes.
Bottom Navigation
app/src/components/BottomTabBar.tsx
Intelligence ("Memory") tab entry removed from the tabs array, eliminating it from the bottom navigation bar.
Global Commands
app/src/lib/commands/globalActions.ts
nav.intelligence action handler updated to navigate to /settings/intelligence instead of /intelligence.
Backend Notification Mapping
src/openhuman/notifications/bus.rs
DomainEvent::WebhookProcessed failure notification deep_link updated from /webhooks to /settings/webhooks-triggers.
Tests & E2E
app/src/lib/nativeNotifications/__tests__/service.test.ts, app/test/e2e/helpers/shared-flows.ts, app/test/e2e/specs/insights-dashboard.spec.ts, app/test/e2e/specs/webhooks-tunnel-flow.spec.ts
Navigation assertions and test helpers updated to use new /settings/intelligence and /settings/webhooks-triggers routes; sidebar-hash mappings adjusted accordingly.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

Possibly related PRs

Suggested reviewers

  • senamakel

🐰 With a hop and a bound, we've tucked pages away,
From clutter-free nav to Developer's Play!
Intelligence, Webhooks, now safe in their place,
Settings awaits them—a much tidier space!

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 33.33% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately describes the main change: moving Intelligence and Webhooks pages to Developer Options and cleaning up navigation.
Linked Issues check ✅ Passed All acceptance criteria from #1216 are met: pages moved to Developer Options, removed from main nav, routes redirected, existing panels preserved, and navigation cleaned.
Out of Scope Changes check ✅ Passed All changes are directly aligned with #1216 objectives: route restructuring, tab removal, settings navigation updates, and test adjustments. No unrelated changes detected.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.


Comment @coderabbitai help to get the list of available commands and usage tips.

@graycyrus graycyrus marked this pull request as ready for review May 5, 2026 16:14
Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 Nitpick comments (1)
src/openhuman/notifications/bus.rs (1)

106-106: ⚡ Quick win

Add a Rust-side assertion for the new webhook deep link.

Since this line changes the canonical translation target, it’s worth asserting deep_link in failed_webhook_produces_system_notification so route regressions are caught at the source layer too.

Proposed test assertion
     let n = event_to_notification(&ev).unwrap();
     assert_eq!(n.category, CoreNotificationCategory::System);
     assert!(n.body.contains("skill-x"));
     assert!(n.body.contains("boom"));
+    assert_eq!(n.deep_link.as_deref(), Some("/settings/webhooks-triggers"));
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@src/openhuman/notifications/bus.rs` at line 106, Add an assertion in the Rust
test failed_webhook_produces_system_notification to verify the notification's
deep_link field matches the new canonical route ("/settings/webhooks-triggers");
locate where the test constructs or inspects the produced system notification
and assert that notification.deep_link ==
Some("/settings/webhooks-triggers".into()) (or equivalent) so route regressions
are caught at the source layer.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Nitpick comments:
In `@src/openhuman/notifications/bus.rs`:
- Line 106: Add an assertion in the Rust test
failed_webhook_produces_system_notification to verify the notification's
deep_link field matches the new canonical route ("/settings/webhooks-triggers");
locate where the test constructs or inspects the produced system notification
and assert that notification.deep_link ==
Some("/settings/webhooks-triggers".into()) (or equivalent) so route regressions
are caught at the source layer.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 2ecf22b1-ddd8-4776-b59d-afa03f281d86

📥 Commits

Reviewing files that changed from the base of the PR and between e945390 and d4fbdc9.

📒 Files selected for processing (11)
  • app/src/AppRoutes.tsx
  • app/src/components/BottomTabBar.tsx
  • app/src/components/settings/hooks/useSettingsNavigation.ts
  • app/src/components/settings/panels/DeveloperOptionsPanel.tsx
  • app/src/lib/commands/globalActions.ts
  • app/src/lib/nativeNotifications/__tests__/service.test.ts
  • app/src/pages/Settings.tsx
  • app/test/e2e/helpers/shared-flows.ts
  • app/test/e2e/specs/insights-dashboard.spec.ts
  • app/test/e2e/specs/webhooks-tunnel-flow.spec.ts
  • src/openhuman/notifications/bus.rs
💤 Files with no reviewable changes (1)
  • app/src/components/BottomTabBar.tsx

@senamakel senamakel merged commit da55b9d into tinyhumansai:main May 5, 2026
26 of 32 checks passed
AusAgentSmith pushed a commit to AusAgentSmith/openhuman that referenced this pull request May 23, 2026
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.

Clean up production UI — move technical pages to Developer Options, hide unpolished sections

2 participants