Skip to content

Adds a client‑side Date Filter to the User Profile Overview mode.

Aravind swamy Majjuri requested to merge Aravind into feat-date-range-mapping

What does this MR do and why?

Adds a client-side Date Filter to the User Profile Overview mode.

  • Introduces a 🔍 Date Filter button to select start and end dates.
  • Filters already-fetched contributions (commits, merge requests, issues) within the selected range.
  • No additional API calls are made after the initial fetch.
  • Data is cached in st.session_state and filtered locally (in-memory slicing).
  • Metrics and tables update instantly based on the selected range.
  • Displays an active date range banner.
  • Handles edge cases:
    • Start date greater than end date
    • No results found in selected range
  • Exported reports respect the selected date range.

This improves usability for analyzing activity within a specific period and avoids unnecessary network traffic.


References

  • No external dependencies added.
  • Related discussion: (Add issue/Slack link if applicable)

Screenshots or screen recordings

Before After

How to set up and validate locally

  1. Pull the branch and restart the Streamlit app.
  2. Navigate to User Profile Overview.
  3. Enter a valid username.
  4. Scroll to the Filters section and click Date Filter.
  5. Select start and end dates and click Apply Filter.
  6. Verify that:
    • No additional API calls are triggered.
    • Metrics and tables update instantly.
  7. Test edge cases:
    • Start date > End date → error message appears.
    • Select a range with no data → "No data found" message appears.
  8. Export the report and confirm the filename reflects the selected date range.

MR acceptance checklist

  • Code quality – Changes are structured and lint-clean.
  • Tests/manual validation – Filtering logic verified manually.
  • Performance – No extra API calls after initial load.
  • Security – No sensitive data exposed.
  • Documentation – MR description updated.
  • UX – Clear feedback for filtering, errors, and empty states.
  • Regression risk – Original profile behavior unchanged when filter is not applied.
Edited by Aravind swamy Majjuri

Merge request reports

Loading