Commit 760a024
committed
feat(workspaces): allow empty mappings (savable "no Space tools")
A workspace mapping may now have zero feature sets — a valid "no Space tools"
state: the folder still routes to its Space, but gets no Space tools (built-in
servers still apply per Space). Removes the non-empty invariant end to end:
- storage: create/update accept empty feature_set_ids (junction left empty);
- command: validate_fs_list no longer rejects empty;
- domain: WorkspaceBinding doc updated (was "non-empty by construction");
- ui: Apply is enabled with zero feature sets — the empty state is now an
informational hint instead of a blocker, and edit mode no longer auto-reseeds
a default over an intentionally-emptied selection.
Byte-proven: storage test_create_allows_empty_fs_list +
effective_features::empty_mapping_yields_zero_effective_tools.
Signed-off-by: Mohammod Al Amin Ashik <maa.ashik00@gmail.com>1 parent e23efdb commit 760a024
5 files changed
Lines changed: 79 additions & 53 deletions
File tree
- apps/desktop
- src-tauri/src/commands
- src/features/workspaces
- crates
- mcpmux-core/src/domain
- mcpmux-storage/src/repositories
- tests/rust/tests/integration
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
73 | 73 | | |
74 | 74 | | |
75 | 75 | | |
76 | | - | |
77 | | - | |
| 76 | + | |
78 | 77 | | |
79 | | - | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
80 | 81 | | |
81 | 82 | | |
82 | 83 | | |
| |||
88 | 89 | | |
89 | 90 | | |
90 | 91 | | |
| 92 | + | |
| 93 | + | |
91 | 94 | | |
92 | | - | |
| 95 | + | |
93 | 96 | | |
94 | 97 | | |
95 | 98 | | |
96 | | - | |
97 | | - | |
98 | | - | |
99 | | - | |
100 | | - | |
| 99 | + | |
101 | 100 | | |
102 | 101 | | |
103 | 102 | | |
104 | | - | |
105 | | - | |
106 | | - | |
107 | | - | |
| 103 | + | |
108 | 104 | | |
109 | 105 | | |
110 | 106 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1664 | 1664 | | |
1665 | 1665 | | |
1666 | 1666 | | |
1667 | | - | |
1668 | | - | |
| 1667 | + | |
| 1668 | + | |
| 1669 | + | |
| 1670 | + | |
1669 | 1671 | | |
1670 | 1672 | | |
1671 | 1673 | | |
1672 | 1674 | | |
1673 | 1675 | | |
1674 | 1676 | | |
1675 | 1677 | | |
1676 | | - | |
| 1678 | + | |
| 1679 | + | |
| 1680 | + | |
| 1681 | + | |
1677 | 1682 | | |
1678 | 1683 | | |
1679 | | - | |
1680 | | - | |
1681 | 1684 | | |
1682 | 1685 | | |
1683 | 1686 | | |
| |||
1723 | 1726 | | |
1724 | 1727 | | |
1725 | 1728 | | |
| 1729 | + | |
| 1730 | + | |
1726 | 1731 | | |
1727 | 1732 | | |
1728 | 1733 | | |
1729 | | - | |
1730 | 1734 | | |
1731 | 1735 | | |
1732 | 1736 | | |
| |||
1748 | 1752 | | |
1749 | 1753 | | |
1750 | 1754 | | |
1751 | | - | |
1752 | | - | |
1753 | | - | |
1754 | | - | |
1755 | 1755 | | |
1756 | 1756 | | |
1757 | 1757 | | |
| |||
2004 | 2004 | | |
2005 | 2005 | | |
2006 | 2006 | | |
2007 | | - | |
| 2007 | + | |
| 2008 | + | |
2008 | 2009 | | |
2009 | | - | |
2010 | | - | |
2011 | | - | |
2012 | | - | |
2013 | | - | |
2014 | | - | |
| 2010 | + | |
| 2011 | + | |
| 2012 | + | |
| 2013 | + | |
| 2014 | + | |
| 2015 | + | |
2015 | 2016 | | |
2016 | | - | |
| 2017 | + | |
| 2018 | + | |
2017 | 2019 | | |
2018 | 2020 | | |
2019 | 2021 | | |
2020 | | - | |
| 2022 | + | |
2021 | 2023 | | |
2022 | 2024 | | |
2023 | 2025 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
26 | 26 | | |
27 | 27 | | |
28 | 28 | | |
29 | | - | |
30 | | - | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
31 | 32 | | |
32 | 33 | | |
33 | 34 | | |
| |||
51 | 52 | | |
52 | 53 | | |
53 | 54 | | |
54 | | - | |
55 | | - | |
56 | | - | |
| 55 | + | |
| 56 | + | |
57 | 57 | | |
58 | 58 | | |
59 | 59 | | |
| |||
Lines changed: 14 additions & 15 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
198 | 198 | | |
199 | 199 | | |
200 | 200 | | |
201 | | - | |
202 | | - | |
203 | | - | |
204 | | - | |
205 | | - | |
206 | | - | |
| 201 | + | |
| 202 | + | |
| 203 | + | |
207 | 204 | | |
208 | 205 | | |
209 | 206 | | |
| |||
225 | 222 | | |
226 | 223 | | |
227 | 224 | | |
228 | | - | |
229 | | - | |
230 | | - | |
231 | | - | |
232 | | - | |
233 | | - | |
| 225 | + | |
| 226 | + | |
| 227 | + | |
234 | 228 | | |
235 | 229 | | |
236 | 230 | | |
| |||
394 | 388 | | |
395 | 389 | | |
396 | 390 | | |
397 | | - | |
| 391 | + | |
| 392 | + | |
| 393 | + | |
| 394 | + | |
| 395 | + | |
398 | 396 | | |
399 | 397 | | |
400 | 398 | | |
401 | | - | |
402 | | - | |
| 399 | + | |
| 400 | + | |
| 401 | + | |
403 | 402 | | |
404 | 403 | | |
405 | 404 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
22 | 22 | | |
23 | 23 | | |
24 | 24 | | |
25 | | - | |
| 25 | + | |
26 | 26 | | |
27 | 27 | | |
28 | 28 | | |
| |||
176 | 176 | | |
177 | 177 | | |
178 | 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 | + | |
179 | 208 | | |
180 | 209 | | |
181 | 210 | | |
| |||
0 commit comments