Skip to content

fix(WEB-1088): correct checker inbox date display and advanced-search… - #3787

Open
Ruba-Tawk-FOO wants to merge 1 commit into
openMF:devfrom
foodeveloper:WEB-1088-checker-inbox-filters-and-date
Open

fix(WEB-1088): correct checker inbox date display and advanced-search…#3787
Ruba-Tawk-FOO wants to merge 1 commit into
openMF:devfrom
foodeveloper:WEB-1088-checker-inbox-filters-and-date

Conversation

@Ruba-Tawk-FOO

@Ruba-Tawk-FOO Ruba-Tawk-FOO commented Aug 3, 2026

Copy link
Copy Markdown

… filters

The Checker Inbox showed madeOnDate incorrectly (e.g. "21 January 1970") because the backend returns it as epoch seconds while the UI treated it as milliseconds, and the "To date" filter was ignored because the form control / query param was named "makerDateTimeto" instead of "makerDateTimeTo".

  • Convert madeOnDate from epoch seconds to milliseconds before formatting.
  • Rename the "To date" control/param to makerDateTimeTo so the upper bound applies.
  • Add a Reset button that clears the filters and reloads the list.
  • Add a Resource ID column to the results table.
  • Mark the view for check after the async search so results render on the first click (the component uses OnPush change detection).

Description

Describe the changes made and why they were made instead of how they were made. List any dependencies that are required for this change.

Related issues and discussion

#{Issue Number}

Screenshots, if any

Checklist

Please make sure these boxes are checked before submitting your pull request - thanks!

  • If you have multiple commits please combine them into one commit by squashing them.

  • Read and understood the contribution guidelines at web-app/.github/CONTRIBUTING.md.

Summary by CodeRabbit

  • New Features

    • Added a Reset button for advanced search filters.
    • Added a Resource ID column to checker inbox results.
  • Bug Fixes

    • Corrected the advanced search “To date” filter.
    • Improved timestamp display in search results.
    • Ensured refreshed results appear reliably after searches and filter resets.
    • Improved consistency when displaying checker inbox data.

Backend dependency

The date-range filter (From/To date) depends on a Fineract backend fix:

That backend change fixes makerDateTimeFrom / makerDateTimeTo filtering
(records migrated to made_on_date_utc were not matched) and adds dd MMMM yyyy
fallback date parsing. Until it is merged, the date-range filter will not return
correct results on stock Fineract (and may error if dateFormat/locale are
omitted). The rest of this PR — the madeOnDate display fix, Reset button,
Resource ID column, and Action/Entity filters — is independent and works without it.

@Ruba-Tawk-FOO
Ruba-Tawk-FOO requested a review from a team August 3, 2026 08:14
@coderabbitai

coderabbitai Bot commented Aug 3, 2026

Copy link
Copy Markdown

Review Change Stack

Note

.coderabbit.yaml has unrecognized properties

CodeRabbit is using all valid settings from your configuration. Unrecognized properties (listed below) have been ignored and may indicate typos or deprecated fields that can be removed.

⚠️ Parsing warnings (1)
Validation error: Unrecognized key: "pre_merge_checks"
⚙️ Configuration instructions
  • Please see the configuration documentation for more information.
  • You can also validate your configuration using the online YAML validator.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Walkthrough

The checker inbox now uses the corrected end-date filter, supports filter reset, normalizes date values, refreshes asynchronous results, and displays resource IDs.

Changes

Checker inbox updates

Layer / File(s) Summary
Search and filter flow
src/app/tasks/checker-inbox-and-tasks-tabs/checker-inbox/checker-inbox.component.html, src/app/tasks/checker-inbox-and-tasks-tabs/checker-inbox/checker-inbox.component.ts
The end-date control uses makerDateTimeTo. A Reset button clears filters. Search results normalize epoch-second dates and trigger change detection after asynchronous updates.
Checker inbox table fields
src/app/tasks/checker-inbox-and-tasks-tabs/checker-inbox/checker-inbox.component.html, src/app/tasks/checker-inbox-and-tasks-tabs/checker-inbox/checker-inbox.component.ts
The table displays the resourceId field.

Estimated code review effort: 2 (Simple) | ~10 minutes

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly identifies the main changes to Checker Inbox date display and advanced search.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 3

🧹 Nitpick comments (1)
src/app/tasks/checker-inbox-and-tasks-tabs/checker-inbox/checker-inbox.component.ts (1)

194-199: 📐 Maintainability & Code Quality | 🔵 Trivial | 🏗️ Heavy lift

Add a typed checker-row contract.

The new helper uses any[] and any, so TypeScript cannot detect the mismatch between madeOnDate and timestamp or validate makerUsername and resourceId. Define a MakerCheckerRow response type at the service or resolver boundary and use it in transformDates. Track the broader API-typing work separately if it is outside this PR.

As per coding guidelines, application TypeScript must use strict typing conventions. Based on learnings, use specific response types instead of adding more any at the component boundary.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In
`@src/app/tasks/checker-inbox-and-tasks-tabs/checker-inbox/checker-inbox.component.ts`
around lines 194 - 199, Replace the any[]/any types in transformDates with a
typed MakerCheckerRow response contract defined at the service or resolver
boundary, including madeOnDate, timestamp, makerUsername, and resourceId as
appropriate. Update the helper and its callers to use this contract so date
normalization is type-checked without expanding unrelated API typing work.

Sources: Coding guidelines, Learnings

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In
`@src/app/tasks/checker-inbox-and-tasks-tabs/checker-inbox/checker-inbox.component.html`:
- Around line 129-130: The date column and normalization use different fields;
make them share one canonical date property. In
src/app/tasks/checker-inbox-and-tasks-tabs/checker-inbox/checker-inbox.component.html
lines 129-130, bind the column to the API field normalized by transformDates,
and in
src/app/tasks/checker-inbox-and-tasks-tabs/checker-inbox/checker-inbox.component.ts
lines 190-198, normalize that same property and update the helper comment;
ensure the epoch conversion affects the rendered value.

In
`@src/app/tasks/checker-inbox-and-tasks-tabs/checker-inbox/checker-inbox.component.ts`:
- Around line 168-174: Update the search callback in search() to synchronize
checkerData with the results by assigning it based on whether
this.searchData.length is greater than zero, alongside the existing
noSearchedData update. Preserve the current dataSource and selection refresh
behavior.
- Around line 184-186: Update resetFilters() to reset makerCheckerSearchForm
with explicit empty-string values for all controls, preserving the defaults
established by createMakerCheckerSearchForm() and preventing
makerDateTimeFrom/makerDateTimeTo from becoming null before search() runs.

---

Nitpick comments:
In
`@src/app/tasks/checker-inbox-and-tasks-tabs/checker-inbox/checker-inbox.component.ts`:
- Around line 194-199: Replace the any[]/any types in transformDates with a
typed MakerCheckerRow response contract defined at the service or resolver
boundary, including madeOnDate, timestamp, makerUsername, and resourceId as
appropriate. Update the helper and its callers to use this contract so date
normalization is type-checked without expanding unrelated API typing work.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: b4a04141-9a2a-493c-aa5b-cce0e02c1a56

📥 Commits

Reviewing files that changed from the base of the PR and between 4c5ebe2 and 015e8cc.

📒 Files selected for processing (2)
  • src/app/tasks/checker-inbox-and-tasks-tabs/checker-inbox/checker-inbox.component.html
  • src/app/tasks/checker-inbox-and-tasks-tabs/checker-inbox/checker-inbox.component.ts

… filters

The Checker Inbox showed madeOnDate incorrectly (e.g. "21 January 1970") because
the backend returns it as epoch seconds while the UI treated it as milliseconds,
and the "To date" filter was ignored because the form control / query param was
named "makerDateTimeto" instead of "makerDateTimeTo".

- Convert madeOnDate from epoch seconds to milliseconds before formatting.
- Rename the "To date" control/param to makerDateTimeTo so the upper bound applies.
- Add a Reset button that clears the filters and reloads the list.
- Add a Resource ID column to the results table.
- Mark the view for check after the async search so results render on the first
  click (the component uses OnPush change detection).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@Ruba-Tawk-FOO
Ruba-Tawk-FOO force-pushed the WEB-1088-checker-inbox-filters-and-date branch from 015e8cc to d78602b Compare August 3, 2026 09:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants