Skip to content
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

Submit date filters on enter #35491

Merged
merged 29 commits into from
Nov 14, 2023
Merged

Conversation

ranquild
Copy link
Contributor

@ranquild ranquild commented Nov 8, 2023

Partially fixes #6552

Allows to submit every date filter with an input via keyboard, i.e. Enter key. Exclude filters aren't changed because Enter also modifies the checkbox value and it becomes counter-intuitive.

How to verify:

  • Try to add specific date time, relative date time filters and submit via keyboard

@ranquild ranquild changed the title Filter submit enter Submit filter on enter Nov 8, 2023
await setOperator("Less than");
const input = screen.getByPlaceholderText("Enter a number");
userEvent.type(input, "{enter}");
expect(onChange).not.toHaveBeenCalled();
Copy link
Contributor Author

Choose a reason for hiding this comment

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

Here we test that the validation logic works - it's not possible to submit an invalid filter.

@ranquild ranquild marked this pull request as ready for review November 9, 2023 14:51
@ranquild ranquild requested review from kulyk and a team November 9, 2023 14:51
Copy link
Contributor

@kamilmielnik kamilmielnik left a comment

Choose a reason for hiding this comment

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

I'm a bit confused - I understood that the issue is both about filter pills & filter step in GUI editor (see others also testing pills 1, 2) but no components from frontend/src/metabase/query_builder/components/filters/pickers are covered here.

I also don't understand why we have separate versions of these inputs for the GUI editor and for filter pills - are we in the process of replacing query_builder/components/filters/pickers with common/components?

edit:

Fixes #6552

I understand that #34962 from Milestone 2 from #34112 would have to be completed first.
But I would not say #6552 is fixed until that happens.
I think we should try to reproduce it once again afterwards (I can already foresee some edge cases, like when you're editing filter pills, but mouse cursor is on top of table visualization and you hit enter).

@kamilmielnik kamilmielnik requested a review from a team November 10, 2023 08:40
@ranquild
Copy link
Contributor Author

@kamilmielnik you're correct that we need to merge filter pills from the second miltestone to fully fix the issue. My plan was to close the issue with 0.49 milestone like we do for other filter-related issues. Given that, could you take a look if the PR solves the original issue at least for the notebook editor?

Copy link
Contributor

@kamilmielnik kamilmielnik left a comment

Choose a reason for hiding this comment

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

Code looks good but I found some issues in how it works

@@ -77,17 +78,29 @@ export function StringFilterPicker({
);
};

const handleSubmit = (event: FormEvent) => {
Copy link
Contributor

Choose a reason for hiding this comment

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

With string "is" filter, user is able to choose a value that does not exist yet by typing it, hitting enter, and then ticking a checkbox.

There is an issue if you try to add a second value like that later on - hitting enter will close the popover instead adding a new value to the list.

2023-11-10.19-49-46.mp4

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Removed changes from all filters but dates

@@ -74,15 +75,25 @@ export function TimeFilterPicker({
);
};

const handleSubmit = (event: FormEvent) => {
Copy link
Contributor

Choose a reason for hiding this comment

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

I cannot choose "Starting from..." with a mouse - the popover closes.

2023-11-10.19-56-57.mp4

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Great catch! Fixed

@@ -77,17 +78,29 @@ export function StringFilterPicker({
);
};

const handleSubmit = (event: FormEvent) => {
event.preventDefault();
Copy link
Contributor

Choose a reason for hiding this comment

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

I can't submit the form with Enter when excluding extraction units

2023-11-10.20-00-42.mp4

Copy link
Contributor Author

@ranquild ranquild Nov 13, 2023

Choose a reason for hiding this comment

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

This results in counter-intuitive behavior that's why it's not allowed. When hitting Enter with a focused checkbox, it would toggle its value and submit the form at the same time.

@@ -67,27 +68,35 @@ export function NumberFilterPicker({
);
};

const handleSubmit = (event: FormEvent) => {
Copy link
Contributor

Choose a reason for hiding this comment

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

Something is wrong here.

  1. In master the picker looks very differently, here it's a list (perhaps it's a problem in the target branch)
  2. existing options are being added to the list when hitting enter
  3. existing options don't get selected when hitting enter (should they)?
  4. the same problem as with the StringFilterPicker (see my other comment)
2023-11-10.20-04-06.mp4

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Removed changes to all filters but dates from the PR.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

@kamilmielnik btw I verified and in master these issues exist, and I believe the only thing that's different is that the popover gets closed on enter without saving the changes

@ranquild ranquild marked this pull request as draft November 10, 2023 17:23
…ilter-submit-enter

# Conflicts:
#	frontend/src/metabase/common/components/FilterPicker/BooleanFilterPicker/BooleanFilterPicker.tsx
#	frontend/src/metabase/common/components/FilterPicker/CoordinateFilterPicker/CoordinateColumnSelect.tsx
#	frontend/src/metabase/common/components/FilterPicker/CoordinateFilterPicker/CoordinateFilterPicker.tsx
#	frontend/src/metabase/common/components/FilterPicker/CoordinateFilterPicker/CoordinateFilterPicker.unit.spec.tsx
#	frontend/src/metabase/common/components/FilterPicker/FilterFooter/FilterFooter.tsx
#	frontend/src/metabase/common/components/FilterPicker/NumberFilterPicker/NumberFilterPicker.tsx
#	frontend/src/metabase/common/components/FilterPicker/NumberFilterPicker/NumberFilterPicker.unit.spec.tsx
#	frontend/src/metabase/common/components/FilterPicker/StringFilterPicker/StringFilterPicker.tsx
#	frontend/src/metabase/common/components/FilterPicker/TimeFilterPicker/TimeFilterPicker.tsx
#	frontend/src/metabase/common/components/FilterPicker/TimeFilterPicker/TimeFilterPicker.unit.spec.tsx
@ranquild ranquild changed the title Submit filter on enter Submit date filter on enter Nov 13, 2023
@ranquild ranquild marked this pull request as ready for review November 13, 2023 12:00
@ranquild ranquild marked this pull request as draft November 13, 2023 12:23
Copy link

deploysentinel bot commented Nov 13, 2023

Current Cypress Test Results Summary

✅ 2026 Passing - ❌ 20 Failing - ⚠️ 3 Flaky

Run may still be in progress, this comment will be updated as current testing workflow or job completes...

(Last updated on 11/14/2023 11:19:35am UTC)

Run Details

Running Workflow E2E Tests on Github Actions

Commit: d90094c

Started: 11/14/2023 10:56:58am UTC

❌ Failures

📄   e2e/test/scenarios/filters/filter-types.cy.spec.js • 11 Failures

Top 1 Common Error Messages

Timed out retrying after 4000ms: Expected container to be an Element, a Document or a DocumentFragment but got undefined.

10 Test Cases Affected

Test Case Results

Test Case Last 7 days Failures Last 7 days Flakes
scenarios > filters > filter types number filters not equal to
Retry 2Retry 1Initial Attempt
Error: `cy.within()` can only be called on a single element. Your subject contained 2 e...
`cy.within()` can only be called on a single element. Your subject contained 2 elements. Narrow down your subject to a single element (using `.first()`, for example) before calling `.within()`.

To run `.within()` over multiple subjects, use `.each()`.

  `cy.get('div').each($div => {`
  `  cy.wrap($div).within(() => { ... })`
  `})`

https://on.cypress.io/within
78.79% (26) 26 / 33 runs
failed over last 7 days
0% (0) 0 / 33 runs
flaked over last 7 days
scenarios > filters > filter types date filters relative filters yesterday
Retry 2Retry 1Initial Attempt
Error: Timed out retrying after 4000ms: Expected container to be an Element, a Document...
Timed out retrying after 4000ms: Expected container to be an Element, a Document or a DocumentFragment but got undefined.
90.91% (30) 30 / 33 runs
failed over last 7 days
0% (0) 0 / 33 runs
flaked over last 7 days
scenarios > filters > filter types date filters relative filters previous 7 days
Retry 2Retry 1Initial Attempt
Error: Timed out retrying after 4000ms: Expected container to be an Element, a Document...
Timed out retrying after 4000ms: Expected container to be an Element, a Document or a DocumentFragment but got undefined.
90.91% (30) 30 / 33 runs
failed over last 7 days
0% (0) 0 / 33 runs
flaked over last 7 days
scenarios > filters > filter types date filters relative filters previous 3 weeks starting a quarter ago
Retry 2Retry 1Initial Attempt
Error: Timed out retrying after 4000ms: Expected container to be an Element, a Document...
Timed out retrying after 4000ms: Expected container to be an Element, a Document or a DocumentFragment but got undefined.
90.91% (30) 30 / 33 runs
failed over last 7 days
0% (0) 0 / 33 runs
flaked over last 7 days
scenarios > filters > filter types date filters relative filters previous month
Retry 2Retry 1Initial Attempt
Error: Timed out retrying after 4000ms: Expected container to be an Element, a Document...
Timed out retrying after 4000ms: Expected container to be an Element, a Document or a DocumentFragment but got undefined.
90.91% (30) 30 / 33 runs
failed over last 7 days
0% (0) 0 / 33 runs
flaked over last 7 days
scenarios > filters > filter types date filters relative filters previous 3 months
Retry 2Retry 1Initial Attempt
Error: Timed out retrying after 4000ms: Expected container to be an Element, a Document...
Timed out retrying after 4000ms: Expected container to be an Element, a Document or a DocumentFragment but got undefined.
90.91% (30) 30 / 33 runs
failed over last 7 days
0% (0) 0 / 33 runs
flaked over last 7 days
scenarios > filters > filter types date filters relative filters previous two quarters
Retry 2Retry 1Initial Attempt
Error: Timed out retrying after 4000ms: Expected container to be an Element, a Document...
Timed out retrying after 4000ms: Expected container to be an Element, a Document or a DocumentFragment but got undefined.
90.91% (30) 30 / 33 runs
failed over last 7 days
0% (0) 0 / 33 runs
flaked over last 7 days
scenarios > filters > filter types date filters relative filters next 6 hours
Retry 2Retry 1Initial Attempt
Error: Timed out retrying after 4000ms: Expected container to be an Element, a Document...
Timed out retrying after 4000ms: Expected container to be an Element, a Document or a DocumentFragment but got undefined.
90.91% (30) 30 / 33 runs
failed over last 7 days
0% (0) 0 / 33 runs
flaked over last 7 days
scenarios > filters > filter types date filters relative filters tomorrow
Retry 2Retry 1Initial Attempt
Error: Timed out retrying after 4000ms: Expected container to be an Element, a Document...
Timed out retrying after 4000ms: Expected container to be an Element, a Document or a DocumentFragment but got undefined.
90.91% (30) 30 / 33 runs
failed over last 7 days
0% (0) 0 / 33 runs
flaked over last 7 days
scenarios > filters > filter types date filters relative filters next 7 days starting next month
Retry 2Retry 1Initial Attempt
Error: Timed out retrying after 4000ms: Expected container to be an Element, a Document...
Timed out retrying after 4000ms: Expected container to be an Element, a Document or a DocumentFragment but got undefined.
90.91% (30) 30 / 33 runs
failed over last 7 days
0% (0) 0 / 33 runs
flaked over last 7 days
scenarios > filters > filter types date filters relative filters next year
Retry 2Retry 1Initial Attempt
Error: Timed out retrying after 4000ms: Expected container to be an Element, a Document...
Timed out retrying after 4000ms: Expected container to be an Element, a Document or a DocumentFragment but got undefined.
90.91% (30) 30 / 33 runs
failed over last 7 days
0% (0) 0 / 33 runs
flaked over last 7 days

📄   e2e/test/scenarios/custom-column/cc-data-type.cy.spec.js • 3 Failures

Top 1 Common Error Messages

Timed out retrying after 4000ms: Expected container to be an Element, a Document or a DocumentFragment but got undefined.

3 Test Cases Affected

Test Case Results

Test Case Last 7 days Failures Last 7 days Flakes
scenarios > question > custom column > data type should relay the type of a date field
Retry 2Retry 1Initial Attempt
Error: Timed out retrying after 4000ms: Expected container to be an Element, a Document...
Timed out retrying after 4000ms: Expected container to be an Element, a Document or a DocumentFragment but got undefined.
7.53% (33) 33 / 438 runs
failed over last 7 days
0.23% (1) 1 / 438 run
flaked over last 7 days
scenarios > question > custom column > data type should handle CASE (#13122)
Retry 2Retry 1Initial Attempt
Error: Timed out retrying after 4000ms: Expected container to be an Element, a Document...
Timed out retrying after 4000ms: Expected container to be an Element, a Document or a DocumentFragment but got undefined.
7.53% (33) 33 / 438 runs
failed over last 7 days
0% (0) 0 / 438 runs
flaked over last 7 days
scenarios > question > custom column > data type should handle COALESCE
Retry 2Retry 1Initial Attempt
Error: Timed out retrying after 4000ms: Expected container to be an Element, a Document...
Timed out retrying after 4000ms: Expected container to be an Element, a Document or a DocumentFragment but got undefined.
7.76% (34) 34 / 438 runs
failed over last 7 days
0.23% (1) 1 / 438 run
flaked over last 7 days

📄   e2e/test/scenarios/filters/reproductions/25378-relative-date-on-breakout.cy.spec.js • 1 Failure

Test Case Results

Test Case Last 7 days Failures Last 7 days Flakes
issue 25378 should be able to use relative date filter on a breakout after the aggregation (#25378)
Retry 2Retry 1Initial Attempt
Error: Timed out retrying after 4000ms: Expected container to be an Element, a Document...
Timed out retrying after 4000ms: Expected container to be an Element, a Document or a DocumentFragment but got undefined.
6.46% (27) 27 / 418 runs
failed over last 7 days
0% (0) 0 / 418 runs
flaked over last 7 days

📄   e2e/test/scenarios/filters/reproductions/20683-postgres-current-quarter.cy.spec.js • 1 Failure

Test Case Results

Test Case Last 7 days Failures Last 7 days Flakes
issue 20683 should filter postgres with the 'current quarter' filter (#20683)
Retry 2Retry 1Initial Attempt
Error: Timed out retrying after 4000ms: Expected container to be an Element, a Document...
Timed out retrying after 4000ms: Expected container to be an Element, a Document or a DocumentFragment but got undefined.
6.38% (27) 27 / 423 runs
failed over last 7 days
0.24% (1) 1 / 423 run
flaked over last 7 days

📄   e2e/test/scenarios/filters/operators.cy.spec.js • 1 Failure

Test Case Results

Test Case Last 7 days Failures Last 7 days Flakes
operators in questions fields have proper operators relative date operators
Retry 2Retry 1Initial Attempt
Error: Timed out retrying after 4000ms: Expected container to be an Element, a Document...
Timed out retrying after 4000ms: Expected container to be an Element, a Document or a DocumentFragment but got undefined.
6.70% (29) 29 / 433 runs
failed over last 7 days
0% (0) 0 / 433 runs
flaked over last 7 days

📄   e2e/test/scenarios/filters/filter.cy.spec.js • 1 Failure

Test Case Results

Test Case Last 7 days Failures Last 7 days Flakes
scenarios > question > filter should be able to convert time interval filter to custom expression (#12457)
Retry 2Retry 1Initial Attempt
Error: Timed out retrying after 4000ms: Expected container to be an Element, a Document...
Timed out retrying after 4000ms: Expected container to be an Element, a Document or a DocumentFragment but got undefined.
7.06% (31) 31 / 439 runs
failed over last 7 days
0.23% (1) 1 / 439 run
flaked over last 7 days

📄   e2e/test/scenarios/onboarding/search/search.cy.spec.js • 1 Failure

Test Case Results

Test Case Last 7 days Failures Last 7 days Flakes
scenarios > search applying search filters created_by filter should remove created_by filter when `X` is clicked on filter
Retry 2Retry 1Initial Attempt
Error: expected [ Array(4) ] to have a length of 3 but got 4
expected [ Array(4) ] to have a length of 3 but got 4
8.64% (37) 37 / 428 runs
failed over last 7 days
1.64% (7) 7 / 428 runs
flaked over last 7 days

📄   e2e/test/scenarios/custom-column/custom-column.cy.spec.js • 1 Failure

Test Case Results

Test Case Last 7 days Failures Last 7 days Flakes
scenarios > question > custom column should work with relative date filter applied to a custom column (#16273)
Retry 2Retry 1Initial Attempt
Error: Timed out retrying after 4000ms: Expected container to be an Element, a Document...
Timed out retrying after 4000ms: Expected container to be an Element, a Document or a DocumentFragment but got undefined.
7.44% (32) 32 / 430 runs
failed over last 7 days
0% (0) 0 / 430 runs
flaked over last 7 days

⚠️ Flakes

📄   e2e/test/scenarios/onboarding/search/search.cy.spec.js • 1 Flake

Test Case Results

Test Case Last 7 days Failures Last 7 days Flakes
scenarios > search applying search filters last_edited_at filter should filter results by Today (last_edited_at=thisday)
Retry 2Retry 1Initial Attempt
1.93% (8) 8 / 415 runs
failed over last 7 days
8.19% (34) 34 / 415 runs
flaked over last 7 days

📄   e2e/test/scenarios/sharing/reproductions.cy.spec.js • 1 Flake

Test Case Results

Test Case Last 7 days Failures Last 7 days Flakes
issue 17657 frontend should gracefully handle the case of a subscription without a recipient (#17657)
Retry 1Initial Attempt
0.24% (1) 1 / 412 run
failed over last 7 days
1.21% (5) 5 / 412 runs
flaked over last 7 days

📄   e2e/test/scenarios/actions/actions-on-dashboards.cy.spec.js • 1 Flake

Test Case Results

Test Case Last 7 days Failures Last 7 days Flakes
Write Actions on Dashboards (mysql) Actions Data Types properly loads and updates date and time fields for implicit update actions
Retry 1Initial Attempt
0.94% (4) 4 / 424 runs
failed over last 7 days
6.60% (28) 28 / 424 runs
flaked over last 7 days

View Detailed Build Results


@@ -76,11 +84,6 @@ function getExcludeMonthOption(month: number): ExcludeValueOption {
return { value: month, label: date.format("MMMM") };
}

function getExcludeQuarterOption(quarter: number): ExcludeValueOption {
Copy link
Contributor Author

Choose a reason for hiding this comment

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

dayjs doesn't support ordinal quarters even with advancedFormat plugin

};

const handleIncludeCurrentClick = () => {
onChange(setIncludeCurrent(value, !includeCurrent));
setIsMenuOpened(false);
Copy link
Contributor Author

Choose a reason for hiding this comment

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

We need to close the menu early to prevent it from closing the outer popover

@ranquild ranquild marked this pull request as ready for review November 13, 2023 12:55
@ranquild ranquild requested a review from a team November 13, 2023 12:55
@ranquild
Copy link
Contributor Author

@kamilmielnik I've excluded changes to all filters but dates in this PR. I also fixed an issue with the relative dates filter. I decided not to add "submit" logic to exclude date filters because otherwise the checkbox gets toggled and the form gets submitted at the same and it's not intuitive. Please take a look one more time.

Changes to other filters and TokenField TBD in other PR.

…ilter-submit-enter

# Conflicts:
#	frontend/src/metabase/common/components/DatePicker/ExcludeDatePicker/utils.ts
@ranquild ranquild changed the title Submit date filter on enter Submit date filters on enter Nov 13, 2023
>
{t`Starting from…`}
</Menu.Item>
)}
<Menu.Item
icon={<Icon name={includeCurrent ? "check" : "calendar"} />}
onClick={handleIncludeCurrentClick}
onMouseDown={handleIncludeCurrentClick} // we need to close the menu on mousedown to prevent the outer popover from closing
Copy link
Contributor

Choose a reason for hiding this comment

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

I don't think this is an acceptable solution - the UX is weird.

This fixes it nicely:

diff --git a/frontend/src/metabase/ui/components/overlays/Menu/Menu.styled.tsx b/frontend/src/metabase/ui/components/overlays/Menu/Menu.styled.tsx
index 2e3693cf2c..853a44cc83 100644
--- a/frontend/src/metabase/ui/components/overlays/Menu/Menu.styled.tsx
+++ b/frontend/src/metabase/ui/components/overlays/Menu/Menu.styled.tsx
@@ -6,10 +6,11 @@ export const getMenuOverrides = (): MantineThemeOverride["components"] => ({
     defaultProps: {
       radius: "sm",
       shadow: "md",
-      withinPortal: true,
+      withinPortal: false,
     },
     styles: theme => ({
       dropdown: {
+        position: "fixed",
         padding: "0.75rem !important",
         minWidth: "11.5rem",
       },

plus, of course:

diff --git a/frontend/src/metabase/common/components/DatePicker/RelativeDatePicker/DateIntervalPicker/DateIntervalPicker.tsx b/frontend/src/metabase/common/components/DatePicker/RelativeDatePicker/DateIntervalPicker/DateIntervalPicker.tsx
index 8e687e9981..7701e00e36 100644
--- a/frontend/src/metabase/common/components/DatePicker/RelativeDatePicker/DateIntervalPicker/DateIntervalPicker.tsx
+++ b/frontend/src/metabase/common/components/DatePicker/RelativeDatePicker/DateIntervalPicker/DateIntervalPicker.tsx
@@ -42,7 +42,6 @@ export function DateIntervalPicker({
   onChange,
   onSubmit,
 }: DateIntervalPickerProps) {
-  const [isMenuOpened, setIsMenuOpened] = useState(false);
   const interval = getInterval(value);
   const unitOptions = getUnitOptions(value);
   const includeCurrent = getIncludeCurrent(value);
@@ -63,12 +62,10 @@ export function DateIntervalPicker({
 
   const handleStartingFromClick = () => {
     onChange(setDefaultOffset(value));
-    setIsMenuOpened(false);
   };
 
   const handleIncludeCurrentClick = () => {
     onChange(setIncludeCurrent(value, !includeCurrent));
-    setIsMenuOpened(false);
   };
 
   const handleSubmit = (event: FormEvent) => {
@@ -92,7 +89,7 @@ export function DateIntervalPicker({
           ml="md"
           onChange={handleUnitChange}
         />
-        <Menu opened={isMenuOpened} onChange={setIsMenuOpened}>
+        <Menu>
           <Menu.Target>
             <Button
               c="text.2"
@@ -106,7 +103,6 @@ export function DateIntervalPicker({
               <Menu.Item
                 icon={<Icon name="arrow_left_to_line" />}
                 onClick={handleStartingFromClick}
-                onMouseDown={handleStartingFromClick}
               >
                 {t`Starting from…`}
               </Menu.Item>
@@ -114,7 +110,6 @@ export function DateIntervalPicker({
             <Menu.Item
               icon={<Icon name={includeCurrent ? "check" : "calendar"} />}
               onClick={handleIncludeCurrentClick}
-              onMouseDown={handleIncludeCurrentClick} // we need to close the menu on mousedown to prevent the outer popover from closing
               aria-selected={includeCurrent}
               data-testid="include-current-interval-option"
             >

Copy link
Contributor

Choose a reason for hiding this comment

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

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Great fix, applied

@ranquild
Copy link
Contributor Author

@kamilmielnik I believe I've addressed all the issues. Please let me know if there are others and I fix them in follow up PRs.

Copy link

github-actions bot commented Nov 14, 2023

Codenotify: Notifying subscribers in CODENOTIFY files for diff cbcbfca...bd64b4f.

Notify File(s)
@kdoh frontend/src/metabase/ui/components/overlays/Menu/Menu.styled.tsx

@ranquild ranquild merged commit 90b508b into 34112-filters-milestone1 Nov 14, 2023
14 checks passed
@ranquild ranquild deleted the filter-submit-enter branch November 14, 2023 10:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants