## Summary
- Closes#18
- Replace stale `favicon.jpg` / old ICO with multi-size `favicon.ico`, PNG variants (`16x16`, `32x32`), `logo192.png` / `logo512.png`, and `apple-touch-icon.png` generated from the new brand mark
- Point `index.html` and `manifest.json` at the new assets; drop the CRA placeholder app name in the manifest
## Test plan
- [ ] Hard-refresh the app (or clear site data) and confirm the new logo appears in the browser tab
- [ ] Check DevTools Network for `favicon.ico` / PNG icons — no 404s and no requests for `favicon.jpg`
- [ ] On mobile Safari / iOS home-screen add, confirm apple-touch-icon looks correct
- [ ] Confirm PWA/manifest icons resolve to the new 192/512 assetsReviewed-on: #19
## Summary
- Closes#16
- Clear unused imports/bindings, empty `{}` prop patterns, `==` vs `===`, and hook dependency gaps across App, contexts, and pages
- Replace invalid `calc(3rem + unset)` in `index.css` so Css Minimizer no longer fails
## Test plan
- [x] `npm run build` in `llm-fe` succeeds (no ESLint / postcss-calc errors)
- [ ] Spot-check SignIn, dashboard, account, feedback, document storage pages still render
- [ ] Confirm WebSocket/message flows still work after MessageContext dep cleanupReviewed-on: #17
## Summary
Implements [chat_web_app#13](#13) Part A: wire the CRA frontend into the same **node-static** deploy path as `dta_webapp` (no Docker for serving).
- `build:prod` / `build:beta` write into `/var/www/{env}.chat.aimloperations/html`
- API/WS URLs come from `REACT_APP_*` (`.env.production` / `.env.beta`) instead of hardcoded localhost
- Gitea unit tests + auto deploy-prod on `master`; deploy-beta via `workflow_dispatch`
- README documents local dev, env files, and webroot layout
Branch includes the #11 unit-test commit (`test:ci`) so CI has a green suite.
Companion server-infra branch (Part B): `issue-13-register-chat-web-app` on `ai_ml_operations/server-infra`.
## Test plan
- [ ] `cd llm-fe && npm run test:ci`
- [ ] Merge + ensure Unit Tests workflow passes on PR
- [ ] Merge server-infra `issue-13-register-chat-web-app`, then sync/pull on runner
- [ ] Redeploy web-static (or full host provision) so nginx listens on **8082**
- [ ] Manual: `server-infra/scripts/deploy.sh --app chat_web_app --env prod --ref <sha>`
- [ ] NPM: point `chat.aimloperations.com` at `adama:8082` + `roslin:8082` + `ai-server-4080:8082`
- [ ] Confirm built assets hit `https://chatbackend.aimloperations.com`Reviewed-on: #15