Commit 429339e
authored
fix: surface actionable validation step messages in push detail view (#246)
## Summary
- **Fixes #244**: `scanDiff` step content was showing the branch ref
(`ref: refs/heads/...`) instead of the blocked pattern and matching file
— `BlockedContentDiffCheck` was producing violations with null
`formattedDetail`, and `DiffScanningHook` was hardcoding the ref name as
content
- **scanSecrets**: both hook and filter now append a remediation hint
(rotate + scrub history) to each finding so the dashboard gives
actionable next steps
- **identityVerification WARN mode**: now emits per-violation sideband
warnings to the git client terminal so developers see the mismatch even
when the push isn't blocked
- **URL rule step consistency**: `RepositoryUrlRuleHook` now uses step
name `checkUrlRules` (not class name); fixes a duplicate step bug where
both `validationContext.addIssue` and `pushContext.addStep(FAIL)` were
called, producing two entries in the push detail view; wording aligned
with `UrlRuleAggregateFilter`
- **URL rules page display fixed**: `Repos.tsx` was using the old
`slug`/`owner`/`name` field shape; updated to
`target`/`value`/`matchType` from the `34aebb9` backend refactor — every
rule was showing as "any: *" and new rules created via UI were saving
with `value=null` (never matching)
- **Admin connectivity crash fixed**: `SpringWebConfig` sets `NON_NULL`
Jackson inclusion globally, so null `tls`/`http` fields are omitted from
JSON rather than serialised as `null`; the frontend strict `=== null`
check fell through to `tls.status` and crashed — changed to `== null`
throughout and updated types to `| undefined`
- **Provider display**: all provider dropdowns (Add Rule, Add
Permission, Add SCM identity) and provider labels throughout the UI were
showing `host` (e.g. `github.com`) instead of `name` (e.g. `github`);
fixed across `Repos.tsx`, `UserDetail.tsx`, `Profile.tsx`; clone URL
construction switched to use `provider.proxyPath` from the API response;
`Repos.tsx` provider state typed as `Provider[]` instead of an ad-hoc
inline type
- **Terminology**: `createAccessRule`/`deleteAccessRule` →
`createUrlRule`/`deleteUrlRule` in `api.ts` and `Repos.tsx`; "Access
type" label → "Rule type" in the add-rule modal
## Test plan
- [ ] Unit tests: `BlockedContentDiffCheckTest` — assertions for
`formattedDetail` content and deduplication with first matching line
- [ ] Unit tests: `ScanDiffFilterTest` — assertion that `errorMessage`
contains the blocked pattern and `content` includes the matching line
- [ ] Server e2e tests: all 9/9 pass (proxy push flows, URL rule
enforcement, secret scanning)
- [ ] Dashboard LDAP e2e test failure is pre-existing and unrelated
(timing/container issue on corporate network; passes on CI)
- [ ] Manual: URL Rules tab shows correct target/value/matchType for
each rule; new rules created via UI save and evaluate correctly
- [ ] Manual: Admin → Provider Connectivity no longer crashes when
tls/http are absent (HTTP provider or TCP failure path)
- [ ] Manual: All provider dropdowns show friendly name (e.g. "github")
not hostname (e.g. "github.com"); clone URL in active repos view is
correct
🤖 Generated with [Claude Code](https://claude.com/claude-code)19 files changed
Lines changed: 173 additions & 106 deletions
File tree
- git-proxy-java-core/src
- main/java/org/finos/gitproxy
- git
- servlet/filter
- validation
- test/java/org/finos/gitproxy
- servlet/filter
- validation
- git-proxy-java-dashboard/frontend/src
- pages
Lines changed: 1 addition & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
61 | 61 | | |
62 | 62 | | |
63 | 63 | | |
64 | | - | |
| 64 | + | |
65 | 65 | | |
66 | 66 | | |
67 | 67 | | |
| |||
Lines changed: 1 addition & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
191 | 191 | | |
192 | 192 | | |
193 | 193 | | |
194 | | - | |
| 194 | + | |
195 | 195 | | |
196 | 196 | | |
197 | 197 | | |
| |||
Lines changed: 8 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
126 | 126 | | |
127 | 127 | | |
128 | 128 | | |
129 | | - | |
130 | | - | |
| 129 | + | |
131 | 130 | | |
132 | 131 | | |
133 | 132 | | |
134 | 133 | | |
| 134 | + | |
| 135 | + | |
| 136 | + | |
| 137 | + | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
135 | 141 | | |
136 | 142 | | |
137 | 143 | | |
| |||
Lines changed: 2 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
45 | 45 | | |
46 | 46 | | |
47 | 47 | | |
| 48 | + | |
48 | 49 | | |
49 | 50 | | |
50 | 51 | | |
| |||
142 | 143 | | |
143 | 144 | | |
144 | 145 | | |
145 | | - | |
| 146 | + | |
146 | 147 | | |
147 | 148 | | |
148 | 149 | | |
| |||
Lines changed: 32 additions & 19 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
44 | 44 | | |
45 | 45 | | |
46 | 46 | | |
47 | | - | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
48 | 53 | | |
49 | 54 | | |
50 | 55 | | |
| |||
59 | 64 | | |
60 | 65 | | |
61 | 66 | | |
62 | | - | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
63 | 74 | | |
64 | 75 | | |
65 | 76 | | |
66 | 77 | | |
67 | 78 | | |
68 | 79 | | |
69 | 80 | | |
70 | | - | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
71 | 88 | | |
72 | 89 | | |
73 | 90 | | |
74 | 91 | | |
75 | | - | |
76 | | - | |
77 | | - | |
78 | | - | |
79 | | - | |
80 | | - | |
81 | | - | |
82 | | - | |
83 | | - | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
84 | 96 | | |
85 | | - | |
| 97 | + | |
| 98 | + | |
86 | 99 | | |
87 | 100 | | |
88 | 101 | | |
89 | 102 | | |
90 | 103 | | |
91 | 104 | | |
92 | 105 | | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
93 | 112 | | |
94 | | - | |
95 | | - | |
96 | | - | |
97 | | - | |
98 | | - | |
99 | | - | |
100 | 113 | | |
101 | 114 | | |
102 | 115 | | |
| |||
Lines changed: 4 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
34 | 34 | | |
35 | 35 | | |
36 | 36 | | |
| 37 | + | |
| 38 | + | |
37 | 39 | | |
38 | 40 | | |
39 | 41 | | |
| |||
68 | 70 | | |
69 | 71 | | |
70 | 72 | | |
71 | | - | |
| 73 | + | |
72 | 74 | | |
73 | 75 | | |
74 | 76 | | |
75 | 77 | | |
76 | 78 | | |
77 | 79 | | |
78 | 80 | | |
79 | | - | |
| 81 | + | |
80 | 82 | | |
81 | 83 | | |
82 | 84 | | |
| |||
Lines changed: 1 addition & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
109 | 109 | | |
110 | 110 | | |
111 | 111 | | |
112 | | - | |
| 112 | + | |
113 | 113 | | |
114 | 114 | | |
115 | 115 | | |
| |||
Lines changed: 3 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
18 | 18 | | |
19 | 19 | | |
20 | 20 | | |
| 21 | + | |
21 | 22 | | |
22 | 23 | | |
23 | 24 | | |
| |||
130 | 131 | | |
131 | 132 | | |
132 | 133 | | |
133 | | - | |
| 134 | + | |
134 | 135 | | |
135 | 136 | | |
136 | 137 | | |
| |||
222 | 223 | | |
223 | 224 | | |
224 | 225 | | |
225 | | - | |
| 226 | + | |
226 | 227 | | |
227 | 228 | | |
228 | 229 | | |
| |||
Lines changed: 5 additions & 16 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | | - | |
4 | | - | |
5 | | - | |
6 | 3 | | |
7 | 4 | | |
8 | 5 | | |
| |||
11 | 8 | | |
12 | 9 | | |
13 | 10 | | |
14 | | - | |
15 | 11 | | |
16 | 12 | | |
17 | 13 | | |
18 | 14 | | |
19 | 15 | | |
20 | 16 | | |
21 | 17 | | |
22 | | - | |
23 | 18 | | |
24 | 19 | | |
25 | 20 | | |
| |||
101 | 96 | | |
102 | 97 | | |
103 | 98 | | |
104 | | - | |
105 | | - | |
106 | | - | |
107 | | - | |
108 | | - | |
109 | | - | |
110 | | - | |
111 | | - | |
112 | | - | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
113 | 102 | | |
114 | 103 | | |
115 | | - | |
| 104 | + | |
116 | 105 | | |
117 | 106 | | |
118 | 107 | | |
119 | 108 | | |
120 | | - | |
| 109 | + | |
121 | 110 | | |
122 | 111 | | |
123 | 112 | | |
Lines changed: 3 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
33 | 33 | | |
34 | 34 | | |
35 | 35 | | |
| 36 | + | |
| 37 | + | |
36 | 38 | | |
37 | 39 | | |
38 | 40 | | |
| |||
114 | 116 | | |
115 | 117 | | |
116 | 118 | | |
117 | | - | |
| 119 | + | |
118 | 120 | | |
119 | 121 | | |
120 | 122 | | |
0 commit comments