Commit 1418247
authored
[Repo Assist] refactor: add strutil.TruncateRunes and remove lookupEnrichmentToken alias (#3574)
🤖 *This PR was created by Repo Assist, an automated AI assistant.*
Three code quality improvements identified in #3564 (Semantic Function
Clustering Analysis).
## Changes
### 1. Add `strutil.TruncateRunes` (`internal/strutil/truncate.go`)
The codebase had a private `truncateForLog` in
`internal/proxy/graphql.go` that did rune-aware (Unicode-safe)
truncation — essential for non-ASCII content like CJK characters and
emoji. This logic is now exposed as `strutil.TruncateRunes(s string,
maxRunes int) string`, complementing the existing byte-based
`strutil.Truncate`.
9 table-driven tests added covering ASCII, multibyte (CJK), emoji, and
edge cases (zero/negative limit, empty string).
### 2. Delegate `truncateForLog` to `strutil.TruncateRunes`
(`internal/proxy/graphql.go`)
`truncateForLog` now calls `strutil.TruncateRunes`, removing the
duplicate implementation and centralising all truncation utilities in
the `strutil` package.
### 3. Inline `lookupEnrichmentToken` alias
(`internal/server/unified.go`)
`lookupEnrichmentToken()` was a zero-value wrapper — it called
`envutil.LookupGitHubToken()` and returned the result unchanged.
Inlining the single call site removes one unnecessary indirection layer
and makes the env-var lookup immediately visible at the call site.
(`lookupGitHubAPIBaseURL` is kept as-is since it adds a meaningful
default value.)
## Test Status
File tree
4 files changed
+89
-15
lines changed- internal
- proxy
- server
- strutil
4 files changed
+89
-15
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
6 | 6 | | |
7 | 7 | | |
8 | 8 | | |
| 9 | + | |
9 | 10 | | |
10 | 11 | | |
11 | 12 | | |
| |||
191 | 192 | | |
192 | 193 | | |
193 | 194 | | |
194 | | - | |
195 | | - | |
196 | | - | |
197 | | - | |
198 | | - | |
199 | | - | |
200 | | - | |
201 | | - | |
| 195 | + | |
202 | 196 | | |
203 | 197 | | |
204 | 198 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
279 | 279 | | |
280 | 280 | | |
281 | 281 | | |
282 | | - | |
| 282 | + | |
283 | 283 | | |
284 | 284 | | |
285 | 285 | | |
| |||
338 | 338 | | |
339 | 339 | | |
340 | 340 | | |
341 | | - | |
342 | | - | |
343 | | - | |
344 | | - | |
345 | | - | |
346 | | - | |
347 | 341 | | |
348 | 342 | | |
349 | 343 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
29 | 29 | | |
30 | 30 | | |
31 | 31 | | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
146 | 146 | | |
147 | 147 | | |
148 | 148 | | |
| 149 | + | |
| 150 | + | |
| 151 | + | |
| 152 | + | |
| 153 | + | |
| 154 | + | |
| 155 | + | |
| 156 | + | |
| 157 | + | |
| 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 | + | |
0 commit comments