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]
