Aman-Mittal opened a new pull request, #412:
URL: https://github.com/apache/fineract-backoffice-ui/pull/412

   Follow-up to #408, fixing the two CI gates that the Working Capital 
servicing work tripped. Both are real defects rather than check noise, which is 
what those gates exist to demonstrate.
   
   ## 1. `unlink-outline` was never registered
   
   `wc-loan-view` renders `<ion-icon name="unlink-outline">` on the originator 
detach control, but the icon was not in `APP_ICONS`.
   
   This is not cosmetic. Ionic resolves an unregistered name by lazily 
**fetching an SVG over the network**, and the production CSP blocks that — see 
#360 for the same class of failure. The detach control therefore rendered as 
blank space, with nothing in the console to say why. A user looking for "detach 
originator" would find an unlabelled gap.
   
   Registered in both lists in `src/app/core/icons.ts`, in the alphabetical 
position the file already keeps them in.
   
   ## 2. Eight operations missing from `api-surface.json`
   
   The new breach, near-breach, delinquency-action and originator screens call 
eight generated operations that the manifest did not record:
   
   ```
   
WorkingCapitalLoanBreachActionsService.getWorkingCapitalLoansLoanIdBreachActions
   
WorkingCapitalLoanBreachActionsService.postWorkingCapitalLoansLoanIdBreachActions
   
WorkingCapitalLoanDelinquencyActionsService.postWorkingCapitalLoansLoanIdDelinquencyActions
   
WorkingCapitalLoanNearBreachActionsService.getWorkingCapitalLoansLoanIdNearBreachActions
   
WorkingCapitalLoanNearBreachActionsService.postWorkingCapitalLoansLoanIdNearBreachActions
   
WorkingCapitalLoanOriginatorsService.deleteWorkingCapitalLoansLoanIdOriginatorsOriginatorId
   WorkingCapitalLoanOriginatorsService.getWorkingCapitalLoansLoanIdOriginators
   
WorkingCapitalLoanOriginatorsService.postWorkingCapitalLoansLoanIdOriginatorsOriginatorId
   ```
   
   That manifest is what converts an upstream endpoint removal into a single 
diagnostic naming the operation and its callers, instead of compile errors 
scattered across every feature that used it (ADR 0003). An unrecorded call is a 
caller the check cannot warn about — so the gap would have gone unnoticed 
precisely until the moment it mattered.
   
   Regenerated with `node scripts/check-api-surface.mjs --write`. I diffed the 
result rather than trusting it: **8 operations added, 0 removed**, 142 → 145 
services, 564 → 572 operations. The three newly reached services are Breach, 
NearBreach and Originators; `WorkingCapitalLoanDelinquencyActionsService` was 
already recorded for its GET and gains only the POST.
   
   ## Verification
   
   - [x] `npm run check:icons` — all names registered (115 in the registry)
   - [x] `npm run api:surface` — 145 services, 572 operations, OK
   - [x] `npm run lint`, `npm run format:check` clean
   - [x] `npm run i18n:check`, `check:route-permissions`, `check:a11y-names`, 
`check:test-runner` clean
   - [x] `./scripts/check-license.sh` clean
   - [x] **Apache RAT** run locally with the same jar CI pins (checksum 
verified against `ci.yml`): Approved 734, **Unapproved 0**, Unknown 0
   - [x] `npm run ga:check` — 8/9 gates, 0 blocking failures
   - [x] `npm run test:unit` — 270 pass across 30 files
   - [x] Commit GPG-signed
   
   One papercut worth knowing for anyone regenerating that manifest: `--write` 
emits JSON that Prettier then reformats, so `npm run format` has to follow 
`--write` or `format:check` fails. Not fixed here to keep this diff to the two 
gates.
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to