Commit Graph

464 Commits

Author SHA1 Message Date
Nate Kelley 21d1743fee
reusable hook implenation 2025-07-18 10:06:50 -06:00
Nate Kelley 9048b6dad0
remove default colors from setter 2025-07-18 09:47:13 -06:00
Nate Kelley fb1a504782
selected colors app update 2025-07-18 09:36:09 -06:00
Nate Kelley 536122a76c
Rename variable 2025-07-18 09:23:00 -06:00
Devin AI 4e3f100221 Merge remote-tracking branch 'origin/devin/1752815488-hide-three-dot-menu' into devin/1752815489-hide-three-dot-menu 2025-07-18 15:18:30 +00:00
Devin AI 4743a3417b refactor: move useThemeOperations to context-hooks folder and simplify ThemeList
- 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>
2025-07-18 15:18:04 +00:00
dal 4a97f2f0c5
fix: update Slack handler tests to expect absolute URLs
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>
2025-07-18 09:16:00 -06:00
Nate Kelley 0b870f11eb
Merge branch 'staging' into devin/1752815489-hide-three-dot-menu 2025-07-18 09:09:46 -06:00
dal 3a43e21718
Merge remote-tracking branch 'origin/staging' into dallin/bus-1380-fix-unit-tests 2025-07-18 08:55:35 -06:00
Nate Kelley 093e76ab33
Merge pull request #545 from buster-so/devin/1752843203-move-currencies-to-dictionaries
feat: move currencies endpoint to dictionaries route
2025-07-18 08:28:31 -06:00
Devin AI cd3a2bd26d fix: resolve remaining unit test failures in server package
- 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>
2025-07-18 14:17:14 +00:00
dal 90a2858e49
Merge remote-tracking branch 'origin/staging' into dallin/bus-1380-fix-unit-tests 2025-07-18 08:04:08 -06:00
dal 89e69c8ef4
Merge pull request #538 from buster-so/dallin/bus-1419-enable-sharing-of-dashboards-or-collections-with-workspace
Workspace Sharing
2025-07-18 07:01:44 -07:00
Devin AI e0f3270802 fix: update story mock endpoint to use new dictionaries/currency route
Co-Authored-By: nate@buster.so <nate@buster.so>
2025-07-18 12:56:52 +00:00
Devin AI 30fc4fda18 feat: move currencies endpoint to dictionaries route
- 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>
2025-07-18 12:56:26 +00:00
Devin AI 615f433b82 fix: resolve TypeScript implicit any errors and address PR review comments
- 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>
2025-07-18 06:02:55 +00:00
Devin AI 28b16a92c1 clean: remove old hook file from generic hooks directory
Co-Authored-By: nate@buster.so <nate@buster.so>
2025-07-18 05:32:49 +00:00
Devin AI 481b816152 refactor: move useThemeOperations hook to colors feature directory
- 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>
2025-07-18 05:21:59 +00:00
Devin AI d9dc420137 feat: add hideThreeDotMenu prop to conditionally show theme menu based on admin status
- 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>
2025-07-18 05:16:15 +00:00
Nate Kelley d6f0dd3bb5
update theme wrapper 2025-07-17 23:02:42 -06:00
Nate Kelley ea0048e8e2
Update color apps to include custom themes 2025-07-17 22:51:26 -06:00
Nate Kelley cde45ad869
key iterations and type fixes 2025-07-17 22:42:12 -06:00
dal ba61b6a3ea
Merge remote-tracking branch 'origin/staging' into dallin/bus-1380-fix-unit-tests 2025-07-17 22:31:32 -06:00
Nate Kelley 9f86f337ff
Merge branch 'staging' into dallin/bus-1419-enable-sharing-of-dashboards-or-collections-with-workspace 2025-07-17 22:13:53 -06:00
Nate Kelley 0a34db8989
revise front end to use shared components 2025-07-17 22:12:12 -06:00
Nate Kelley 70a5fd6ec0
Merge pull request #540 from buster-so/big-nate/bus-1424-default-color-palette-in-workspace-settings
Big nate/bus 1424 default color palette in workspace settings
2025-07-17 18:53:59 -06:00
Nate Kelley 10e37f07de
update all types to work better together 2025-07-17 18:51:45 -06:00
Nate Kelley 09e4b36bf5
add dictionaries for color schemes 2025-07-17 17:16:15 -06:00
dal cd8a50403f
Merge branch 'staging' into dallin/bus-1419-enable-sharing-of-dashboards-or-collections-with-workspace 2025-07-17 17:16:07 -06:00
dal 525a2c5e23
fix list logic 2025-07-17 17:04:30 -06:00
dal b6cf6539ea
Merge branch 'origin/staging' into dallin/bus-1380-fix-unit-tests - Resolved conflicts in CLAUDE.md 2025-07-17 16:52:03 -06:00
Devin AI e115dd28b2 fix(slack): resolve scope validation and default channel issues
- 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>
2025-07-17 22:33:00 +00:00
Nate Kelley d2cd4fb173
create default them component 2025-07-17 16:24:46 -06:00
dal cc2dd7fa61
Enhance workspace member count integration across various handlers and components
- 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.
2025-07-17 16:21:14 -06:00
Nate Kelley e803d76f52
finalize default theme base 2025-07-17 15:59:37 -06:00
Nate Kelley aa8da2ae11
update to custom theme base 2025-07-17 15:52:09 -06:00
dal e1ff5098fd
nucleo filled 2025-07-17 15:49:50 -06:00
dal f71973eac2
Enhance ShareMenu and metric mocks with workspace sharing updates
- Adjusted the ShareMenu component styles for improved layout consistency.
- Added `workspace_sharing` property with a default value of 'none' in metric-related mocks and tests.
- Updated the mock dashboard to include the new `workspace_sharing` field.

These changes improve the UI and ensure that the workspace sharing feature is properly represented in the mock data.
2025-07-17 15:44:36 -06:00
Nate Kelley 490967a1bc
add additional context to menus 2025-07-17 15:38:47 -06:00
dal 4e2b6c235e
Refactor workspace sharing permissions across assets
- Updated the `WorkspaceSharing` enum to use camelCase for serialization.
- Introduced `workspace_permissions` field in update requests for chats, collections, dashboards, and metrics.
- Implemented handling of workspace sharing permissions in respective update handlers, allowing for setting and removing permissions.
- Adjusted frontend components and API interfaces to align with the new `workspace_sharing` naming convention.

This change enhances the consistency and usability of workspace sharing across different asset types.
2025-07-17 15:26:26 -06:00
Devin AI 623aaf2fb1 fix(slack): include status field in integration API response
- Add missing status field to GET /api/v2/slack/integration response
- Ensures 're_install_required' status reaches the UI for yellow button display
- Critical fix for scope validation feature to work end-to-end

Co-Authored-By: Dallin Bentley <dallinbentley98@gmail.com>
2025-07-17 21:24:48 +00:00
Nate Kelley 74aebb4291
color picker drag update for bug 2025-07-17 15:10:51 -06:00
Nate Kelley ba8c4640bf
Update NewThemePopup.tsx 2025-07-17 14:54:44 -06:00
dal d9f9182ab2
ui components and return the values 2025-07-17 14:51:53 -06:00
Nate Kelley b27dc430d9
create basic color spickers 2025-07-17 14:44:20 -06:00
Devin AI 55af2727a1 refactor(slack): extract shared scope validation helper function
- Create validateScopes helper to avoid code duplication
- Use shared function in both initiateOAuth and getIntegrationStatus
- Addresses code review feedback from greptile-apps[bot]

Co-Authored-By: Dallin Bentley <dallinbentley98@gmail.com>
2025-07-17 20:03:25 +00:00
dal 1e705c9828
Implement collection access checks for chats and dashboards
- Updated `get_chat_handler` to check for collection access when a user lacks direct permission.
- Modified `get_dashboard_handler` to first verify collection access before checking chat access.
- Added `check_chat_collection_access` function to validate user access to chats via collections.
- Enhanced `check_metric_dashboard_access` to include collection access checks concurrently with other permission checks.

This change improves the permission model by allowing access to chats and dashboards through associated collections, enhancing user experience and security.
2025-07-17 14:01:45 -06:00
Devin AI 077d6de476 feat(slack): implement scope validation and re-installation flow for BUS-1435
- Create centralized OAuth scopes constants file
- Add scope validation to integration status check
- Update OAuth flow to handle re-installations while preserving user settings
- Add yellow 'Re-install Required' button to UI when scopes don't match
- Implement proper error handling and rollback logic for failed re-installations

Co-Authored-By: Dallin Bentley <dallinbentley98@gmail.com>
2025-07-17 19:54:49 +00:00
Nate Kelley 5dd7b20f25
fix broken linting 2025-07-17 13:18:32 -06:00
dal 955aab3232
get max permissions between direct and workspace 2025-07-17 13:14:57 -06:00
Nate Kelley 64def9918d
Merge branch 'big-nate/bus-1424-default-color-palette-in-workspace-settings' of https://github.com/buster-so/buster into big-nate/bus-1424-default-color-palette-in-workspace-settings 2025-07-17 13:12:38 -06:00
Nate Kelley b8de7a5c51
update rules 2025-07-17 13:12:11 -06:00
Nate Kelley 8c562c70b5
Update apps/server/src/api/v2/organization/PUT.ts
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
2025-07-17 13:11:04 -06:00
dal a0a1e11493
update workspace sharing on all assets 2025-07-17 12:54:02 -06:00
Nate Kelley ea02041ea5
Update README.md 2025-07-17 12:48:45 -06:00
Nate Kelley e44cda8f10
Update documentation for future background agents 2025-07-17 12:34:48 -06:00
Nate Kelley 7b24d167b9
hex values checking before insert into database 2025-07-17 12:17:34 -06:00
Nate Kelley ee8cce71f8
Add additional error handling for endpoint 2025-07-17 12:06:57 -06:00
Nate Kelley e55632e074
initial commits for update org 2025-07-17 11:41:31 -06:00
Nate Kelley b1e7f7cfc1
Fix test db util type 2025-07-17 10:53:01 -06:00
Nate Kelley f725ef9386
add avatar urls to the share 2025-07-17 10:50:49 -06:00
dal 3d6c7549bd
Merge pull request #529 from buster-so/devin/BUS-1415-1752766195
Filter out stale asset import chats from GET /chats and /logs endpoints
2025-07-17 09:24:33 -07:00
Devin AI ea083784bc Fix Diesel subquery compilation errors - use exists() and raw SQL for message filtering
Co-Authored-By: Dallin Bentley <dallinbentley98@gmail.com>
2025-07-17 16:21:13 +00:00
dal 308c87b202
Implement chat access checks for metrics and dashboards
- Added functions to check if a user has access to metrics and dashboards through associated chats.
- Updated permission handling in `get_metric_data_handler`, `get_metric_for_dashboard_handler`, and `get_metric_handler` to include chat access checks.
- Enhanced error handling for cases where users lack access to both dashboards and chats.
- Updated `asset_access_checks` to include new chat access functions and modified the public interface in `lib.rs` accordingly.
2025-07-17 10:07:58 -06:00
Devin AI 152825758b Filter out stale asset import chats from GET /chats and /logs endpoints
- Add subqueries to count user messages (non-null request_message) and total messages per chat
- Filter out chats with zero user messages AND only one total message
- This excludes auto-generated asset import chats that users never interacted with
- Applied same filtering logic to both list_chats_handler.rs and list_logs_handler.rs

Fixes BUS-1415

Co-Authored-By: Dallin Bentley <dallinbentley98@gmail.com>
2025-07-17 15:31:36 +00:00
dal ec2a630496
Merge pull request #528 from buster-so/devin/BUS-1423-1752764045
Fix error handling for workspace access issues in GET /chats/:id
2025-07-17 08:06:03 -07:00
Devin AI 22415d36c0 Fix error handling for workspace access issues in GET /chats/:id
- Return 412 PRECONDITION_FAILED for permission/workspace access errors
- Return 404 NOT_FOUND for chat not found errors
- Keep 500 INTERNAL_SERVER_ERROR as fallback for other errors
- Addresses BUS-1423

Co-Authored-By: Dallin Bentley <dallinbentley98@gmail.com>
2025-07-17 14:54:57 +00:00
Nate Kelley 06d8c1e568
Merge pull request #527 from buster-so/big-nate/bus-1420-add-searchable-menu-to-share-dropdowns
add searchable menu to share dropdowns
2025-07-16 23:48:44 -06:00
Nate Kelley 0be0744bd0
share update 2025-07-16 23:46:34 -06:00
Nate Kelley 80d2c88d90
debounce input a little bit 2025-07-16 23:15:58 -06:00
Nate Kelley a24779d40f
Query request in line 2025-07-16 23:01:49 -06:00
dal bcaa133059
Enhance Slack agent task with no message handling and increase max duration
- Updated maxDuration to 600 seconds to align with analyst agent task.
- Added logic to handle cases where no messages are found, sending a direct response to Slack and updating message reactions accordingly.
- Improved type safety in SlackSharingPermissions component by defining a specific type for sharing permissions.
2025-07-16 17:37:17 -06:00
dal a3ecb5a1a5
Update apps/server/src/api/v2/slack/events.ts
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
2025-07-16 16:23:04 -07:00
dal b9ad7552fa
Update apps/server/src/api/v2/slack/services/slack-helpers.ts
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
2025-07-16 16:16:27 -07:00
Nate Kelley 969fdc6b18
Create share menu invite 2025-07-16 17:12:28 -06:00
dal f74e656a1b
refactor SlackSharingPermissions component for improved layout and styling 2025-07-16 17:07:43 -06:00
Nate Kelley 50d6e7a929
select input update 2025-07-16 17:04:38 -06:00
dal da380485d9
added in the slack auto-sharing functionality 2025-07-16 16:54:09 -06:00
Nate Kelley 681f60a370
keyboard shortcuts are back 2025-07-16 16:33:34 -06:00
Nate Kelley fef5809cef
select async function 2025-07-16 16:07:48 -06:00
Nate Kelley fa5ab30abf
transform select update 2025-07-16 15:35:16 -06:00
Nate Kelley 520e183231
update elements 2025-07-16 15:27:38 -06:00
dal 8221bca8de
react appropriately 2025-07-16 14:50:26 -06:00
Nate Kelley bc5b0e4f84
update select 2025-07-16 14:48:33 -06:00
dal 26f196c77d
unauthorized message send back as reply 2025-07-16 14:05:35 -06:00
dal 28a5d65777
Merge remote-tracking branch 'origin/staging' into dallin/bus-1363-slack-agent-query-buster-from-slack-direct-query 2025-07-16 13:58:13 -06:00
dal 86572acfa4
slack agent react 2025-07-16 13:58:03 -06:00
dal a20c8dad56
pass up userId 2025-07-16 13:22:43 -06:00
Nate Kelley 4fdcdc4573
increase min width panel 2025-07-16 13:21:18 -06:00
dal 6b01f2f97a
change to slack-agent-task 2025-07-16 13:16:10 -06:00
Nate Kelley d099b39feb
Merge branch 'staging' into big-nate/bus-1420-add-searchable-menu-to-share-dropdowns 2025-07-16 13:15:42 -06:00
Nate Kelley 410be132b5
Merge branch 'staging' into big-nate/bus-1420-add-searchable-menu-to-share-dropdowns 2025-07-16 13:15:32 -06:00
Nate Kelley 32a0b84eeb
better logging for auth 2025-07-16 13:09:30 -06:00
dal e2d1d32089
correct enums on the events chat creation 2025-07-16 13:09:07 -06:00
Nate Kelley b1ac8b51b3
supabase auth on front end 2025-07-16 13:03:58 -06:00
dal d4f216cb66
Merge remote-tracking branch 'origin/staging' into dallin/bus-1363-slack-agent-query-buster-from-slack-direct-query 2025-07-16 12:54:18 -06:00
dal 36f2f04810
Merge pull request #522 from buster-so/dallin/bus-1429-issue-with-sharing-dashboard-showing-only-one-metric
Dallin/bus-1429-issue-with-sharing-dashboard-showing-only-one-metric
2025-07-16 11:25:37 -07:00
dal 7cee45916d
cascading permissions from dash to metrics 2025-07-16 12:22:04 -06:00
Nate Kelley 14e63fb278
flush sync for access token + additional logging 2025-07-16 12:08:35 -06:00
dal 1e2e031240
slack info from user 2025-07-16 11:56:11 -06:00