Commit ad99c5d
authored
feat(permissions): MCP settings page (#2978)
* feat: MCP settings paget pu
* chore: remove playbook and view table for MCP
* chore: refactor file paths
* fix(permissions): fix SubjectSelectorModal bugs and UX issues
- Fix re-render loop: init selected state only on open transition via prevOpenRef, read preselectedSubjectIds through a stable ref so parent re-renders don't wipe user selections
- Fix incomplete onAllow payload: add fetchPermissionSubjectsByIds and seed selectedSubjects upfront so preselected subjects on other pages are always included
- Allow applying empty selection (remove last subject) by disabling Apply only when selection is unchanged from initial, not when count is zero
- Debounce search input with useDebouncedValue(300ms) to avoid per-keystroke API calls
- Remove unnecessary useMemo around selectedCount
- Add PAGE_SIZE to query key
- Replace Avatar with type-appropriate icon for team/group subjects
- Replace typeLabel function with a TYPE_LABELS record map
- Wrap subjects derivation in useMemo to fix exhaustive-deps lint warning
* fix(permissions): improve PermissionAccessCard UX and correctness
* feat(mcp): redesign overview subject access controls
* fix(mcp): use playbook object selectors and dedupe overrides
* fix(mcp): centralize and enforce mcp settings source
* fix(mcp): resolve ambiguous view-name permission matching
* chore: refactor access card -> permission matching
* fix(mcp): centralize tab-body loading and avoid blank switch
* fix(mcp): cap card subjects and scope queries to mcp source
* feat(mcp): show effective access verdicts in subject viewer
* modify subject selector access modal
* remove card design
* feat(permissions): compact MCP access rows and add switch sizes
* feat(mcp): move subject selector to sticky side panel
* fix: mcp overview page
* fix: width of cards
* fix: type error in test
* fix: review
* chore: refactor
* feat: Display setup MCP token button in mcp settings
* fix(permissions): address PR review issues in MCP permission UI
* fix(permissions): handle missing subjects and always refetch overrides
* fix: show MCP token creation error inside the modal
* Add playbook permission access check modal with shared resource selector
* fix(permissions): allow mouse selection in access-check modal
* refactor(permissions): centralize subject avatar rendering
* fix: highlight selected rows
* feat: grouping playbooks by category
* fix(mcp-permissions): improve subject selector switch feedback
* feat(mcp): add check access tab with conditional resources
* feat(permissions): support access-token subjects in selector UI
* fix(mcp): reduce subject avatar size in overview list
* feat: Subject -> mcp settings
* parity between playbooks and users page
* feat(permissions): add effective access checks across MCP tabs
* fix(mcp): reuse tokens table on overview without layout gap
* fix(permissions): align selector panel bulk-lock UX
* fix(permissions): match effective access and mode control widths
* sorting
* sorting animation
* change sort menu
* feat(permissions): add subject sort controls with direction toggle
* feat(permissions): split resource selector lists by type
Extract ResourceList, ResourceRow, and EffectiveAccessBadge from ResourceSelectorPanel.
Add independent bulk access switches for Playbooks and Views.
* perf(permissions): localize list sorting to reduce flicker
Move sort state and sorting logic into each ResourceList so sorting one list does not rerender the sibling list.
Memoize ResourceList and ResourceRow and stabilize bulk handlers in the parent.
* feat(permissions): add subjects tab with shared subject panel1 parent 8f6de84 commit ad99c5d
43 files changed
Lines changed: 5701 additions & 149 deletions
File tree
- src
- api
- services
- types
- components
- Configs/Sidebar/__tests__
- Connections/__tests__
- Forms/Formik
- MCP
- Permissions
- Playbooks/Settings
- Tokens
- Add
- List
- Users
- ui
- lib/permissions
- pages/Settings
- mcp
- services/permissions
- ui
- FormControls
- Modal
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
40 | 40 | | |
41 | 41 | | |
42 | 42 | | |
| 43 | + | |
43 | 44 | | |
44 | 45 | | |
45 | 46 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
47 | 47 | | |
48 | 48 | | |
49 | 49 | | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
50 | 56 | | |
51 | 57 | | |
52 | 58 | | |
| |||
427 | 433 | | |
428 | 434 | | |
429 | 435 | | |
| 436 | + | |
| 437 | + | |
| 438 | + | |
| 439 | + | |
| 440 | + | |
| 441 | + | |
| 442 | + | |
| 443 | + | |
| 444 | + | |
430 | 445 | | |
431 | 446 | | |
432 | 447 | | |
| |||
735 | 750 | | |
736 | 751 | | |
737 | 752 | | |
| 753 | + | |
| 754 | + | |
| 755 | + | |
| 756 | + | |
| 757 | + | |
| 758 | + | |
| 759 | + | |
| 760 | + | |
738 | 761 | | |
739 | 762 | | |
740 | 763 | | |
| |||
841 | 864 | | |
842 | 865 | | |
843 | 866 | | |
| 867 | + | |
| 868 | + | |
| 869 | + | |
| 870 | + | |
| 871 | + | |
| 872 | + | |
| 873 | + | |
| 874 | + | |
| 875 | + | |
| 876 | + | |
| 877 | + | |
| 878 | + | |
| 879 | + | |
| 880 | + | |
| 881 | + | |
| 882 | + | |
| 883 | + | |
| 884 | + | |
| 885 | + | |
| 886 | + | |
| 887 | + | |
| 888 | + | |
| 889 | + | |
| 890 | + | |
| 891 | + | |
| 892 | + | |
| 893 | + | |
| 894 | + | |
| 895 | + | |
| 896 | + | |
| 897 | + | |
| 898 | + | |
| 899 | + | |
| 900 | + | |
| 901 | + | |
| 902 | + | |
| 903 | + | |
| 904 | + | |
| 905 | + | |
| 906 | + | |
| 907 | + | |
| 908 | + | |
| 909 | + | |
| 910 | + | |
| 911 | + | |
| 912 | + | |
| 913 | + | |
| 914 | + | |
| 915 | + | |
844 | 916 | | |
845 | 917 | | |
846 | 918 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
17 | 17 | | |
18 | 18 | | |
19 | 19 | | |
20 | | - | |
21 | 20 | | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
22 | 29 | | |
23 | 30 | | |
24 | 31 | | |
| |||
149 | 156 | | |
150 | 157 | | |
151 | 158 | | |
| 159 | + | |
| 160 | + | |
| 161 | + | |
| 162 | + | |
| 163 | + | |
| 164 | + | |
| 165 | + | |
| 166 | + | |
| 167 | + | |
| 168 | + | |
| 169 | + | |
| 170 | + | |
| 171 | + | |
| 172 | + | |
| 173 | + | |
| 174 | + | |
| 175 | + | |
| 176 | + | |
| 177 | + | |
| 178 | + | |
| 179 | + | |
| 180 | + | |
| 181 | + | |
| 182 | + | |
| 183 | + | |
| 184 | + | |
| 185 | + | |
| 186 | + | |
| 187 | + | |
| 188 | + | |
| 189 | + | |
| 190 | + | |
| 191 | + | |
| 192 | + | |
| 193 | + | |
| 194 | + | |
| 195 | + | |
| 196 | + | |
| 197 | + | |
| 198 | + | |
| 199 | + | |
| 200 | + | |
| 201 | + | |
| 202 | + | |
| 203 | + | |
| 204 | + | |
| 205 | + | |
| 206 | + | |
| 207 | + | |
| 208 | + | |
| 209 | + | |
| 210 | + | |
| 211 | + | |
| 212 | + | |
| 213 | + | |
| 214 | + | |
| 215 | + | |
| 216 | + | |
| 217 | + | |
| 218 | + | |
| 219 | + | |
| 220 | + | |
| 221 | + | |
| 222 | + | |
| 223 | + | |
| 224 | + | |
| 225 | + | |
| 226 | + | |
| 227 | + | |
| 228 | + | |
| 229 | + | |
| 230 | + | |
| 231 | + | |
| 232 | + | |
| 233 | + | |
| 234 | + | |
| 235 | + | |
| 236 | + | |
| 237 | + | |
| 238 | + | |
| 239 | + | |
| 240 | + | |
| 241 | + | |
| 242 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
27 | 27 | | |
28 | 28 | | |
29 | 29 | | |
30 | | - | |
| 30 | + | |
31 | 31 | | |
32 | 32 | | |
33 | 33 | | |
| |||
0 commit comments