shivaansh0610-LUFFY opened a new pull request, #603:
URL: https://github.com/apache/fineract-backoffice-ui/pull/603

   /clients/view/:id went blank for a missing or unauthorized client, after a 
toast that auto-dismissed while echoing the backend's raw error payload (e.g. 
"[id] Client not found with valuer 99999").
   
   ClientViewComponent now maps the failure into a loadError signal and renders 
it in place: a 404/403 shows "This client doesn't exist, or you don't have 
permission to view it." with a Back to clients action; any other failure shows 
a generic retry. The request opts out of the global toast via the existing 
skipErrorToast() context, since the screen now reports the failure itself.
   
   The rendering is a new shared app-load-error component rather than inline 
markup, so issue #223's list-view fix can reuse it without a second 
implementation.
   
   Fixes #577
   
   <!--
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
   regarding copyright ownership.  The ASF licenses this file
   to you under the Apache License, Version 2.0 (the
   "License"); you may not use this file except in compliance
   with the License.  You may obtain a copy of the License at
   
     http://www.apache.org/licenses/LICENSE-2.0
   
   Unless required by applicable law or agreed to in writing,
   software distributed under the License is distributed on an
   "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
   -->
   
   <!-- Commits must be signed to merge — see CONTRIBUTING.md#commit-signing if 
you haven't set this up. -->
   
   ## What and why
   
   <!-- One or two sentences explaining what changed and why. -->
   
   Replace the blank client detail view for a nonexistent or inaccessible 
client with a persistent in-content error state and a way back to the clients 
list.
   
   Closes #577
   
   ## Verification
   
   <!-- List what you ran and what you checked. Note whether the UI was 
exercised with mocks, a real Fineract backend, or both. -->
   
   - Manually verified against the local Fineract backend using 
`/clients/view/99999`.
   - Confirmed the raw backend error toast is no longer shown and the 
persistent error message is rendered in the page.
   - Confirmed the "Back to clients" action returns to `/clients`.
   - Added automated e2e coverage for 404, 403, and transient failure/retry 
behavior.
   
   ## Screenshots
   
   **Nonexistent client — persistent error state**
   
   <img width="1470" height="880" alt="Client detail error state" 
src="https://github.com/user-attachments/assets/a2fa5779-7b25-460f-a906-19c58fd5e304";
 />
   
   **Back to clients**
   
   <img width="1470" height="880" alt="Back to clients result" 
src="https://github.com/user-attachments/assets/5003ace4-dbfe-4867-b565-bdd7481beb00";
 />
   
   **Screen recording**
   
   
https://github.com/user-attachments/assets/9ba5bacc-9ec4-4819-bb80-5cdebba9b228
   
   ## AI assistance (optional)
   
   <!-- If generative AI materially assisted this contribution, optionally 
state the tool or model and
   the harness or workflow used. The contributor remains responsible for the 
submitted change. -->
   
   - Tool / model: Claude Code / Claude Sonnet 5
   - Harness / workflow: Used for repository research, implementation 
assistance, test development, and local verification; the submitted behavior 
was manually verified against a local Fineract backend.
   
   ## Checklist
   
   <!-- Check each item, or explain why it does not apply. -->
   
   - [ ] I did not hand-edit generated files under `src/app/api/`.
   - [ ] New component or service code uses the adapter boundary in 
`src/app/core/adapters/` instead of direct browser globals or imperative 
third-party APIs.
   - [x] User-facing strings use translation keys.
   - [x] I added or updated tests appropriate to this change, or explained why 
tests were not needed.
   - [x] UI workflow changes include suitable e2e coverage, including 
real-backend testing where relevant.
   - [ ] Commits are signed — see [Commit 
Signing](CONTRIBUTING.md#commit-signing) in CONTRIBUTING.md.
   - [x] I followed the [AI-assisted contributions 
guidance](CONTRIBUTING.md#ai-assisted-contributions).


-- 
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