- Move useThemeOperations hook from colors feature to new src/context-hooks folder
- Add README.md explaining context-hooks folder purpose for API/context related hooks
- Remove isAdmin context check from ThemeList component, now only uses hideThreeDotMenu prop
- Update all import statements to reference new hook location
- Maintain theme categorization logic in ColorsApp.tsx for proper three-dot menu hiding
Co-Authored-By: nate@buster.so <nate@buster.so>
Updated test expectations in apps/server/src/api/v2/slack/handler.test.ts
to expect absolute URLs with http://localhost:3000 prefix instead of
relative URLs, matching the actual behavior when BUSTER_URL is set.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Fix Slack OAuth service test to use correct scopes for validation
- Update handler tests to use proper field names (authUrl vs auth_url)
- Fix workspace settings test to use correct organization role
- Update chat handler test with missing import and role fix
- Fix retry helpers test to use valid WorkflowContext currentStep values
All unit tests now pass successfully.
Co-Authored-By: Dallin Bentley <dallinbentley98@gmail.com>
- Move currency endpoint from /api/v2/currency to /api/v2/dictionaries/currency
- Follow existing dictionaries pattern with separate config.ts and index.ts
- Update web API calls to use new endpoint location
- Remove old currency route registration and files
- Preserve all existing functionality and types
The new endpoint is accessible at /api/v2/dictionaries/currency and maintains
the same response format and authentication requirements.
Co-Authored-By: nate@buster.so <nate@buster.so>
- Add proper type annotations for theme parameters in useThemeOperations and ColorsApp
- Make onSelectTheme async for consistency
- Remove unused imports (useGetUser, useUpdateOrganization)
- Add userConfig to useMemo dependency array
Co-Authored-By: nate@buster.so <nate@buster.so>
- Move hook from generic src/hooks to src/components/features/colors for better organization
- Update import paths in ColorsApp and DefaultThemeSelector
- Remove export from generic hooks index file
Co-Authored-By: nate@buster.so <nate@buster.so>
- Add hideThreeDotMenu optional boolean prop to IColorTheme interface
- Update ThemeList component to check admin status and hideThreeDotMenu prop before showing three dot menu
- Set hideThreeDotMenu: false for userConfig organization themes and true for dictionary themes in ColorsApp
- Create reusable useThemeOperations hook for theme operations (onCreateCustomTheme, onDeleteCustomTheme, onModifyCustomTheme, onSelectTheme)
- Update DefaultThemeSelector to use the new hook
- Wrap EditCustomThemeMenu with AddThemeProviderWrapper in ColorsApp
Co-Authored-By: nate@buster.so <nate@buster.so>
- Add missing 'channels:join' and 'channels:manage' to required OAuth scopes
- Update scope validation to handle comma-separated scope format
- Include defaultChannel in 're_install_required' status response
- Ensures complete integration data is returned in all status cases
Fixes scope validation for existing integrations and missing default channel data in API responses.
Co-Authored-By: Dallin Bentley <dallinbentley98@gmail.com>
- Introduced `count_workspace_members` utility function to retrieve the number of active users in a workspace.
- Updated chat, collection, dashboard, and metric handlers to include `workspace_member_count` in their responses.
- Modified relevant types to accommodate the new `workspace_member_count` field.
- Adjusted frontend components to display the number of workspace members in the ShareMenu and related UI elements.
These changes improve the visibility of workspace member information and enhance the overall user experience.