aimee-RH opened a new pull request, #573:
URL: https://github.com/apache/airavata-custos/pull/573

   ## What changes
   
   Adds a privilege-gated User Activity page under Users & Permissions, porting 
the reviewed Nexus UI into Custos. Administrators can choose a 7/30/90-day or 
custom 1–365-day window, inspect disjoint Active/Dormant/Never groups, view 
sign-in trends, search/sort/page the audit table and open an individual 
activity drawer.
   
   All production data comes through the portal API proxy with response 
validation. Development mocks model 225 identities, including pagination beyond 
200. The NextAuth initial account callback also submits login capture with 
bounded retries/timeouts; capture failure does not block sign-in. Mobile uses a 
compact sidebar with accessible navigation, and activity-only custom roles 
receive a direct authorized navigation link.
   
   **Frontend only:** every changed file is under `web/`; no backend code, 
migrations, OpenAPI inputs, generated clients or dependency changes are 
included.
   
   ## Backend dependency — keep in draft
   
   This PR depends on the separate backend PR. Existing prototype analytics and 
login-capture endpoints are reused. The backend still needs:
   
   - `window` and mutually exclusive `status=all|active|dormant|never` filters 
on `GET /users/activity`, applied before pagination.
   - Per-row `window_login_count`, and echoed window/status/pagination 
metadata. The frontend rejects older unfiltered responses rather than showing 
misleading data.
   - Consistent user-local calendar boundaries across aggregates, filters and 
row values, plus complete daily trend buckets.
   
   The [integration contract](web/docs/user-activity-backend-contract.md) 
specifies fields, authorization, semantics and review differences. No synthetic 
invite-age, role or prior-period values are displayed. Real backend/OIDC 
integration must pass before this draft is marked ready; merge the backend 
first.
   
   ## Validation
   
   - `pnpm lint`, `pnpm typecheck`: passed.
   - `pnpm test`: 97 files, 616 tests passed.
   - Production `pnpm build`: passed with placeholder build-time OIDC settings.
   - Focused Chromium E2E: 3 passed (filtering/paging/drawer, unauthorized 
access, desktop/mobile screenshots).
   - `go test ./...`, `go vet ./...`: passed; no Go changes.
   - `go build -buildvcs=false ./...`: passed. Default VCS stamping fails 
because Go identifies the linked worktree's non-repository parent as the Git 
root.
   - `pnpm gen:api:check`: existing upstream drift in four core generated files 
for unrelated user/cluster-account contracts. API inputs, generator, lockfile 
and generated outputs are unchanged from base `5d840613`; generated changes 
from this check are excluded.
   - Live MariaDB/OIDC integration: not run for this frontend draft; requires 
the backend follow-up.
   
   ## Screenshots
   
   Mock data only; desktop and mobile review captures are included in 
`web/docs/images/` and rendered in the integration document.
   


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