# DATA-003: Navigation bar Object Names do not revert to API Names

**Status: EXCLUDED (not a backend issue)**

## Environment Setup

### Backend A — NexusCRM

1. Configure and start frontend:
   ```bash
   cd frontend
   echo "REACT_APP_BACKEND_URL=https://nexuscrm.pingcap.com" > .env
   npm run dev  # starts on localhost:5173
   ```

2. Get a JWT token:
   ```bash
   curl -s -X POST "https://nexuscrm.pingcap.com/services/oauth2/token" \
     -H "Content-Type: application/x-www-form-urlencoded" \
     -d "grant_type=client_credentials&client_id=test-gosf-client&client_secret=test-gosf-secret-123" \
     | python3 -c "import sys,json; print(json.load(sys.stdin).get('access_token',''))"
   ```

3. Login via JavaScript console:
   ```javascript
   localStorage.setItem('auth_token', '<JWT token from step 2>');
   localStorage.setItem('instance_url', 'https://nexuscrm.pingcap.com');
   location.reload();
   ```

### Backend B — Salesforce (via Vite proxy)

1. Configure and start frontend:
   ```bash
   cd frontend
   echo "REACT_APP_BACKEND_URL=https://pingcap--partialcop.sandbox.my.salesforce.com" > .env
   npm run dev  # starts on localhost:5173
   ```

2. Login via Backend mode → Advanced Options → Token:
   - Token: `00D...` (valid SF session token)
   - **CRITICAL**: instance_url must be `http://localhost:5173` (NOT the SF URL).
     This forces all API requests through the Vite proxy, bypassing CORS.
   - Click Login

## A/B Comparison Result (verified 2026-03-25)

Both SF backend and NexusCRM backend show identical sidebar navigation:

| Item | SF Backend | NexusCRM Backend |
|------|-----------|-----------------|
| Sidebar content | SYSTEM: Setup, Approvals, Flows, Recycle Bin | SYSTEM: Setup, Approvals, Flows, Recycle Bin |
| Business objects | Not shown | Not shown |

The sidebar only contains System navigation items on BOTH backends. No business
objects (Account, Contact, Opportunity) appear in either case. This means the
"navigation labels reverting to API Names" issue is NOT a backend compatibility
problem — it is an App Navigation configuration issue.

## Why Excluded

The PDF described: "Left navigation sidebar Object Names reverted from Label to
API Name after adding a new Object." Since SF backend also shows no business
objects in the sidebar, the issue cannot be reproduced through A/B comparison.

The root cause is likely:
1. No App Navigation Items configured for business objects, OR
2. The App configuration does not include business objects in the nav

## How to Test If Configuration Is Fixed

If business objects are added to the sidebar navigation:
1. Verify Labels show (e.g., "Accounts" not "Account")
2. Add a new Object via Setup
3. Return to sidebar — existing labels should NOT revert to API Names

## Related

- No API test — this is a configuration issue
