-
Notifications
You must be signed in to change notification settings - Fork 125
feat: Use grouper in history page #1091
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: Use grouper in history page #1091
Conversation
Signed-off-by: Assem Hafez <assem.hafez@uber.com>
Signed-off-by: Assem Hafez <assem.hafez@uber.com>
Signed-off-by: Assem Hafez <assem.hafez@uber.com>
Signed-off-by: Assem Hafez <assem.hafez@uber.com>
Signed-off-by: Assem Hafez <assem.hafez@uber.com>
Signed-off-by: Assem Hafez <assem.hafez@uber.com>
Signed-off-by: Assem Hafez <assem.hafez@uber.com>
Signed-off-by: Assem Hafez <assem.hafez@uber.com>
Signed-off-by: Assem Hafez <assem.hafez@uber.com>
Signed-off-by: Assem Hafez <assem.hafez@uber.com>
…o feature/16026/use-grouper-in-history-page
Signed-off-by: Assem Hafez <assem.hafez@uber.com>
Signed-off-by: Assem Hafez <assem.hafez@uber.com>
Signed-off-by: Assem Hafez <assem.hafez@uber.com>
Signed-off-by: Assem Hafez <assem.hafez@uber.com>
Signed-off-by: Assem Hafez <assem.hafez@uber.com>
Signed-off-by: Assem Hafez <assem.hafez@uber.com>
Signed-off-by: Assem Hafez <assem.hafez@uber.com>
Signed-off-by: Assem Hafez <assem.hafez@uber.com>
* Grouped events header Signed-off-by: Assem Hafez <assem.hafez@uber.com> * add test cases Signed-off-by: Assem Hafez <assem.hafez@uber.com> * fix comment typo Signed-off-by: Assem Hafez <assem.hafez@uber.com> * add space for reset button Signed-off-by: Assem Hafez <assem.hafez@uber.com> * move grouped table Signed-off-by: Assem Hafez <assem.hafez@uber.com> * Update src/views/workflow-history-v2/workflow-history-grouped-table/workflow-history-grouped-table.tsx Co-authored-by: Adhitya Mamallan <adi1998is@gmail.com> * Change Id to ID Signed-off-by: Assem Hafez <assem.hafez@uber.com> --------- Signed-off-by: Assem Hafez <assem.hafez@uber.com> Co-authored-by: Adhitya Mamallan <adi1998is@gmail.com>
Signed-off-by: Tim Chan <tim.chan@uber.com>
Signed-off-by: Tim Chan <tim.chan@uber.com>
Signed-off-by: Assem Hafez <assem.hafez@uber.com>
Signed-off-by: Assem Hafez <assem.hafez@uber.com>
Signed-off-by: Assem Hafez <assem.hafez@uber.com>
Signed-off-by: Assem Hafez <assem.hafez@uber.com>
Signed-off-by: Assem Hafez <assem.hafez@uber.com>
Add filters for Failover History table, but only for active-active domains Create filter for Cluster Attribute Scope, which depends on domain description to suggest possible scopes Create filter for Cluster Attribute Value, which depends on selected scope to suggest possible values/names Remove (now) unused styles file from DomainPageFailovers Signed-off-by: Adhitya Mamallan <adhitya.mamallan@uber.com>
…workflow#1065) * grouping utility Signed-off-by: Assem Hafez <assem.hafez@uber.com> * update test cases Signed-off-by: Assem Hafez <assem.hafez@uber.com> * change the api of onChange and add destroy method Signed-off-by: Assem Hafez <assem.hafez@uber.com> * replace getGroups with getState Signed-off-by: Assem Hafez <assem.hafez@uber.com> * call onchange after updating pending events Signed-off-by: Assem Hafez <assem.hafez@uber.com> * use sync processBatch for first page Signed-off-by: Assem Hafez <assem.hafez@uber.com> * Update src/views/workflow-history/helpers/workflow-history-grouper.ts Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Apply PR comments * Update src/views/workflow-history/helpers/workflow-history-grouper.types.ts Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --------- Signed-off-by: Assem Hafez <assem.hafez@uber.com> Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Add modal for viewing an individual failover event, which is shown when "See more" in the table is clicked Signed-off-by: Adhitya Mamallan <adhitya.mamallan@uber.com>
* Add new Workflow History V2 root component, which (for now) renders only a placeholder header component and placeholder tables. * Implement Workflow History Header with basic UI and sticky functionality * Add logic in WorkflowHistoryWrapper to render V2 UI based on feature flag Signed-off-by: Adhitya Mamallan <adhitya.mamallan@uber.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
…rouper-in-history-page
…ture/16026/use-grouper-in-history-page
| // remove current listener (if exists) to have fresh emits only | ||
| this.unsubscribe?.(); | ||
| this.unsubscribe = null; | ||
|
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
To omit duplicative diffs, is it possible to...
- Push your branch to GH
- Create a new PR
- Set the "base" to the prior branch (rather than
master)
The dups make challenging to review, unfortunately.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Rebasing them to point back to master after the fact is a bit cumbersome (at least it was the last time I tried), so I normally raise them all at once but queue them individually.
| expect(result.current.initialEventFound).toBe(true); | ||
| }); | ||
|
|
||
| it('should return initialEventGroupIndex as undefined when selectedEventId is defined & group is not found in filtered entries', () => { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I wonder what the purpose is?
The test name seems to describe the implementation details instead.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This basically means that if the selected event is not in the filtered groups initialEventGroupIndex would be returned as undefined.
The test title is using the name of its API variables (initialEventGroupIndex &selectedEventId) those are what exposed to the hook user. It is not internal details to the hook. Let me know if you have naming suggestions.
Summary
Integrate new grouping hook into history page. The new Grouping logic has an improved performance by splitting grouping logic into small batches and processing them in background (using browser schedulers APIs).
Changes
useInitialSelectedEventto work with groupsuseWorkflowHistoryGrouperinworkflow-historypage.Testing
useInitialSelectedEventchanges by using links for events and make sure we scroll to it.Screen recording
Screen.Recording.2025-11-20.at.14.54.21.mov