✨ Features:
- Add admin portal thread viewer with pagination
- Display thread list with project names and public status
- Add clickable links to view threads via /share/{thread_id}
- Add admin bypass for accessing all threads (public and private)
🔧 Backend Refactoring:
- Consolidate admin APIs into admin_api.py and billing_admin_api.py
- Remove unused files: users_admin.py, admin/api.py
- Remove unused endpoints: user search, grant-bulk-credits, migrate-user
- Update admin thread endpoint to use share URLs
⚡ Performance:
- Remove message_count from UserThreadSummary (optimization)
- Remove N+1 query issue in thread listing
🔒 Authorization:
- Add admin role bypass in verify_and_authorize_thread_access
- Create RLS migration (20251005160000_admin_roles_access.sql)
- Update thread_select_policy for admin access
- Update message_select_policy for admin access
- Update project_select_policy for admin access
- Update agent_runs_select_policy for admin access
💻 Frontend:
- Add Threads tab to admin user details dialog
- Add useAdminUserThreads hook with pagination
- Remove unused admin hooks (useAdminUserSearch, useAdminAdvancedSearch)
- Display thread metadata with Open button and ExternalLink icon
🗃️ Database:
- Apply RLS policies allowing admin/super_admin roles to bypass restrictions
- Admins can now view any thread, message, project, or agent_run
This enables admins to view and debug any user's threads through the
share page interface, regardless of public/private status.
- Remove 'playbooks' from agentConfigDialog tab union type
- Fixes TypeScript build error after workflow system removal
- Build now passes successfully
- Remove execution_type from ScheduleTriggerConfig defaults
- Remove execution_type from trigger creation dialogs
- Remove execution_type display from upcoming runs dropdown
- Remove execution_type field from UpcomingRun interface
- Hardcode 'Agent' as the only execution mode everywhere
Completes workflow system removal by eliminating the last
execution_type remnants that caused TypeScript build errors.
- Remove workflow_tool.py and all workflow-related backend code
- Delete all workflow database tables and create migration
- Remove workflow API endpoints and execution logic
- Clean workflow references from agent tools and triggers
- Remove playbooks tab and UI from agent configuration
- Eliminate workflow_id, workflow_input, and execution_type fields
- Simplify trigger system to agent-only execution
- Remove workflow tool definitions from tool registry
- Clean up TypeScript interfaces and remove workflow types
- Remove playbooks button from chat input
- Update all trigger components to remove workflow selection
- Clean workflow metadata from threads and sidebar
- Remove 80+ critical workflow code references
Simplifies codebase by eliminating complex dual-mode (agent/workflow)
execution system in favor of pure agent-based automation.
- Load assignments immediately when Knowledge tab opens in agent config
- Auto-expand all folders and fetch entries in assignment mode for instant visibility
- Remove 'Loading assignments...' text and improve skeleton loading state
- Create realistic skeleton that matches actual KB tree structure with assignment switches
- Fix integration removal to save immediately instead of requiring Save Changes button
- Add comprehensive debug logging for assignment loading troubleshooting
- Simplify file preview modal to focus on summary editing only
- Remove broken file download/preview functionality that was causing 404 errors
- Update file tree UI text from 'Click to preview file' to 'Click to edit summary'
- Enhance MCP change handler to auto-save integration changes with success feedback
- Added full CRUD operations to agent configuration dialog knowledge base section
- Replaced simplified agent-kb-tree with full-featured agent-knowledge-base-manager
- Created unified KB entry modal merging file upload and text entry modals
- Enhanced folder selection UX with inline folder creation capability
- Integrated standard FileRenderer for consistent file preview across app
- Removed outdated backend/core/knowledge_base/ system causing table reference errors
- Moved FileProcessor to correct location in backend/knowledge_base/
- Extracted reusable KnowledgeBaseManager component to eliminate code duplication
- Updated agent KB tree to use assignment system instead of old table structure
- Simplified file preview modal to focus on summary editing instead of broken file preview
- Added proper loading states and error handling throughout
- Removed unused legacy components and hooks
- Updated all imports to use correct table structure (knowledge_base_folders/entries)
- Fixed API routes to work with new assignment-based system
- Created model provider icon mapping utility with provider-specific SVG icons
- Updated model selector to display provider icons (OpenAI, Anthropic, Google, xAI, MoonshotAI)
- Increased icon sizes to 24px for better visibility across all components
- Consolidated agent selection into single AgentSelector component
- Removed duplicate AgentSelectionDropdown component
- Updated trigger creation and schedule config to use new AgentSelector
- Maintained UnifiedConfigMenu's integrated implementation for chat input
- Aligned visual styling between agent avatars and model provider icons
- Remove 'General' tab from agent configuration modal
- Add inline agent switcher integrated into dialog title area
- Fix name editing functionality to work with agent switching
- Display proper Suna icons in agent dropdown
- Remove redundant description text for cleaner UI
- Fix DialogTitle accessibility requirements
- Clean up duplicate close buttons
The agent switcher now seamlessly replaces the static title when onAgentChange is provided, creating a smooth dropdown experience that maintains visual hierarchy while enabling easy agent switching without closing the modal.