Commit 02d72af
authored
feat(admin): registry moderation UI and blocked-install gating (#1977)
* feat(admin): show registry moderation state and gate blocked installs
The registry browser now evaluates moderation labels client-side: blocked
releases stay visible but their install is gated with an explanation
panel, warning-labelled releases surface their warnings in the install
consent dialog, browse cards mark blocked packages, and the plugin
manager flags blocked or warned updates. Each response is evaluated
against the accepted-labeler policy that produced it — the
atproto-content-labelers header travels with the data via a per-call
discovery client. Localized label names come from a descriptor map over
the canonical vocabulary, falling back to the raw value for anything
unknown. Removes the legacy security:yanked string filter that silently
hid yanked releases.
* fix(admin): evaluate package labels against their own response policy
Adversarial review: package-scope labels ride on the package response
while release-scope labels ride on the releases response, each with its
own atproto-content-labelers header. Evaluating both against only the
releases policy could filter out a package/publisher block whose labeler
that response did not report. The two header-derived policies are now
unioned. Adds coverage for the header-precedence path and a package-scope
block surfaced only via the package response header.
* fix(admin): localize the release-holdback duration units
Bot review: formatHoldback returned bare English units. Route them
through Lingui plurals like the rest of the admin.1 parent c1c83c4 commit 02d72af
12 files changed
Lines changed: 1408 additions & 147 deletions
File tree
- .changeset
- packages/admin
- src
- components
- lib/api
- tests
- components
- lib
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
Lines changed: 43 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
15 | 15 | | |
16 | 16 | | |
17 | 17 | | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
18 | 27 | | |
19 | 28 | | |
20 | 29 | | |
21 | 30 | | |
22 | 31 | | |
23 | 32 | | |
24 | 33 | | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
25 | 41 | | |
26 | 42 | | |
27 | 43 | | |
| |||
44 | 60 | | |
45 | 61 | | |
46 | 62 | | |
| 63 | + | |
47 | 64 | | |
48 | 65 | | |
49 | 66 | | |
| |||
81 | 98 | | |
82 | 99 | | |
83 | 100 | | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
84 | 127 | | |
85 | 128 | | |
86 | 129 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
6 | 6 | | |
7 | 7 | | |
8 | 8 | | |
9 | | - | |
| 9 | + | |
10 | 10 | | |
11 | 11 | | |
12 | 12 | | |
| |||
41 | 41 | | |
42 | 42 | | |
43 | 43 | | |
| 44 | + | |
44 | 45 | | |
45 | 46 | | |
46 | 47 | | |
| |||
242 | 243 | | |
243 | 244 | | |
244 | 245 | | |
| 246 | + | |
| 247 | + | |
| 248 | + | |
| 249 | + | |
| 250 | + | |
| 251 | + | |
| 252 | + | |
245 | 253 | | |
246 | 254 | | |
247 | 255 | | |
| |||
353 | 361 | | |
354 | 362 | | |
355 | 363 | | |
356 | | - | |
| 364 | + | |
| 365 | + | |
| 366 | + | |
| 367 | + | |
357 | 368 | | |
358 | 369 | | |
359 | 370 | | |
360 | 371 | | |
| 372 | + | |
| 373 | + | |
| 374 | + | |
361 | 375 | | |
362 | 376 | | |
363 | 377 | | |
| |||
407 | 421 | | |
408 | 422 | | |
409 | 423 | | |
410 | | - | |
| 424 | + | |
| 425 | + | |
| 426 | + | |
| 427 | + | |
| 428 | + | |
| 429 | + | |
| 430 | + | |
| 431 | + | |
| 432 | + | |
| 433 | + | |
| 434 | + | |
| 435 | + | |
| 436 | + | |
411 | 437 | | |
412 | 438 | | |
413 | 439 | | |
| |||
564 | 590 | | |
565 | 591 | | |
566 | 592 | | |
567 | | - | |
| 593 | + | |
| 594 | + | |
568 | 595 | | |
569 | 596 | | |
570 | 597 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
13 | 13 | | |
14 | 14 | | |
15 | 15 | | |
16 | | - | |
| 16 | + | |
17 | 17 | | |
18 | 18 | | |
19 | 19 | | |
20 | 20 | | |
21 | 21 | | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
22 | 25 | | |
| 26 | + | |
23 | 27 | | |
24 | 28 | | |
25 | 29 | | |
| |||
50 | 54 | | |
51 | 55 | | |
52 | 56 | | |
53 | | - | |
| 57 | + | |
54 | 58 | | |
55 | 59 | | |
56 | 60 | | |
| |||
61 | 65 | | |
62 | 66 | | |
63 | 67 | | |
64 | | - | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
65 | 80 | | |
66 | 81 | | |
67 | 82 | | |
| |||
121 | 136 | | |
122 | 137 | | |
123 | 138 | | |
124 | | - | |
| 139 | + | |
125 | 140 | | |
126 | 141 | | |
127 | 142 | | |
| 143 | + | |
128 | 144 | | |
129 | 145 | | |
130 | 146 | | |
| |||
150 | 166 | | |
151 | 167 | | |
152 | 168 | | |
| 169 | + | |
| 170 | + | |
153 | 171 | | |
154 | 172 | | |
155 | 173 | | |
156 | | - | |
| 174 | + | |
157 | 175 | | |
158 | 176 | | |
159 | 177 | | |
| |||
166 | 184 | | |
167 | 185 | | |
168 | 186 | | |
| 187 | + | |
| 188 | + | |
| 189 | + | |
| 190 | + | |
169 | 191 | | |
170 | 192 | | |
171 | 193 | | |
| |||
193 | 215 | | |
194 | 216 | | |
195 | 217 | | |
196 | | - | |
197 | | - | |
198 | | - | |
| 218 | + | |
| 219 | + | |
| 220 | + | |
| 221 | + | |
| 222 | + | |
| 223 | + | |
| 224 | + | |
| 225 | + | |
| 226 | + | |
| 227 | + | |
| 228 | + | |
199 | 229 | | |
200 | 230 | | |
201 | 231 | | |
| |||
0 commit comments