You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@superset.apache.org by GitBox <gi...@apache.org> on 2022/03/10 01:30:05 UTC
[GitHub] [superset] ktmud opened a new pull request #19090: refactor(TimezoneSelector): simplify override logics and tests
ktmud opened a new pull request #19090:
URL: https://github.com/apache/superset/pull/19090
### SUMMARY
Encountered a broken unit test in `TimezoneSelector` after making changes in #19085 , found some room for improvements so I refactored this component a little: simplified the timezone overriding logics and made the unit tests more complete. See comments for details.
### BEFORE/AFTER SCREENSHOTS OR ANIMATED GIF
No visual changes
### TESTING INSTRUCTIONS
Test places where timezone selector is used. The functionality should not change.
### ADDITIONAL INFORMATION
<!--- Check any relevant boxes with "x" -->
<!--- HINT: Include "Fixes #nnn" if you are fixing an existing issue -->
- [ ] Has associated issue:
- [ ] Required feature flags:
- [ ] Changes UI
- [ ] Includes DB Migration (follow approval process in [SIP-59](https://github.com/apache/superset/issues/13351))
- [ ] Migration is atomic, supports rollback & is backwards-compatible
- [ ] Confirm DB migration upgrade and downgrade tested
- [ ] Runtime estimates and downtime expectations provided
- [ ] Introduces new feature or API
- [ ] Removes existing feature or API
--
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: notifications-unsubscribe@superset.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org
[GitHub] [superset] github-actions[bot] commented on pull request #19090: refactor(TimezoneSelector): simplify override logics and tests
Posted by GitBox <gi...@apache.org>.
github-actions[bot] commented on pull request #19090:
URL: https://github.com/apache/superset/pull/19090#issuecomment-1064626138
@eschutho Ephemeral environment spinning up at http://35.86.91.68:8080. Credentials are `admin`/`admin`. Please allow several minutes for bootstrapping and startup.
--
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: notifications-unsubscribe@superset.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org
[GitHub] [superset] ktmud merged pull request #19090: refactor(TimezoneSelector): simplify override logics and tests
Posted by GitBox <gi...@apache.org>.
ktmud merged pull request #19090:
URL: https://github.com/apache/superset/pull/19090
--
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: notifications-unsubscribe@superset.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org
[GitHub] [superset] ktmud commented on a change in pull request #19090: refactor(TimezoneSelector): simplify override logics and tests
Posted by GitBox <gi...@apache.org>.
ktmud commented on a change in pull request #19090:
URL: https://github.com/apache/superset/pull/19090#discussion_r823257632
##########
File path: superset-frontend/src/components/TimezoneSelector/index.tsx
##########
@@ -92,43 +92,40 @@ const TIMEZONE_OPTIONS = TIMEZONES.map(zone => ({
timezoneName: zone.name,
}));
+const TIMEZONE_OPTIONS_SORT_COMPARATOR = (
+ a: typeof TIMEZONE_OPTIONS[number],
+ b: typeof TIMEZONE_OPTIONS[number],
+) =>
+ moment.tz(currentDate, a.timezoneName).utcOffset() -
+ moment.tz(currentDate, b.timezoneName).utcOffset();
+
+TIMEZONE_OPTIONS.sort(TIMEZONE_OPTIONS_SORT_COMPARATOR);
Review comment:
#19085 requires select options to be pre-sorted.
##########
File path: superset-frontend/src/components/TimezoneSelector/TimezoneSelector.test.tsx
##########
@@ -18,60 +18,78 @@
*/
import React from 'react';
import moment from 'moment-timezone';
-import { render, screen } from 'spec/helpers/testing-library';
+import { render, screen, waitFor } from 'spec/helpers/testing-library';
import userEvent from '@testing-library/user-event';
import TimezoneSelector from './index';
-describe('TimezoneSelector', () => {
- let timezone: string | undefined;
- const onTimezoneChange = jest.fn(zone => {
- timezone = zone;
- });
- beforeEach(() => {
- timezone = undefined;
- });
- it('renders a TimezoneSelector with a default if undefined', () => {
- jest.spyOn(moment.tz, 'guess').mockReturnValue('America/New_York');
- render(
- <TimezoneSelector
- onTimezoneChange={onTimezoneChange}
- timezone={timezone}
- />,
- );
- expect(onTimezoneChange).toHaveBeenCalledWith('America/Nassau');
- });
- it('should properly select values from the offsetsToName map', async () => {
- jest.spyOn(moment.tz, 'guess').mockReturnValue('America/New_York');
- render(
- <TimezoneSelector
- onTimezoneChange={onTimezoneChange}
- timezone={timezone}
- />,
- );
+jest.spyOn(moment.tz, 'guess').mockReturnValue('America/New_York');
- const select = screen.getByRole('combobox', {
- name: 'Timezone selector',
- });
- expect(select).toBeInTheDocument();
- userEvent.click(select);
+const getSelectOptions = () =>
+ waitFor(() => document.querySelectorAll('.ant-select-item-option-content'));
- const isDaylight = moment('now').isDST();
- let findTitle = 'GMT -07:00 (Mountain Standard Time)';
- if (isDaylight) {
- findTitle = 'GMT -06:00 (Mountain Daylight Time)';
- }
- const selection = await screen.findByTitle(findTitle);
- expect(selection).toBeInTheDocument();
- userEvent.click(selection);
- expect(selection).toBeVisible();
- });
- it('renders a TimezoneSelector with the closest value if passed in', async () => {
- render(
- <TimezoneSelector
- onTimezoneChange={onTimezoneChange}
- timezone="America/Los_Angeles"
- />,
- );
- expect(onTimezoneChange).toHaveBeenLastCalledWith('America/Vancouver');
+it('use the timezone from `moment` if no timezone provided', () => {
+ const onTimezoneChange = jest.fn();
+ render(<TimezoneSelector onTimezoneChange={onTimezoneChange} />);
+ expect(onTimezoneChange).toHaveBeenCalledTimes(1);
+ expect(onTimezoneChange).toHaveBeenCalledWith('America/Nassau');
+});
+
+it('update to closest deduped timezone when timezone is provided', async () => {
+ const onTimezoneChange = jest.fn();
+ render(
+ <TimezoneSelector
+ onTimezoneChange={onTimezoneChange}
+ timezone="America/Los_Angeles"
+ />,
+ );
+ expect(onTimezoneChange).toHaveBeenCalledTimes(1);
+ expect(onTimezoneChange).toHaveBeenLastCalledWith('America/Vancouver');
+});
+
+it('use the default timezone when an invalid timezone is provided', async () => {
+ const onTimezoneChange = jest.fn();
+ render(
+ <TimezoneSelector onTimezoneChange={onTimezoneChange} timezone="UTC" />,
+ );
+ expect(onTimezoneChange).toHaveBeenCalledTimes(1);
+ expect(onTimezoneChange).toHaveBeenLastCalledWith('Africa/Abidjan');
+});
+
+it('can select a timezone values and returns canonical value', async () => {
+ const onTimezoneChange = jest.fn();
+ render(
+ <TimezoneSelector
+ onTimezoneChange={onTimezoneChange}
+ timezone="America/Nassau"
+ />,
+ );
+
+ const searchInput = screen.getByRole('combobox', {
+ name: 'Timezone selector',
});
+ expect(searchInput).toBeInTheDocument();
+
+ userEvent.click(searchInput);
+ const options = await getSelectOptions();
+ // select option is first
+ expect(options[0]).toHaveTextContent('GMT -05:00 (Eastern Standard Time)');
+ // others are ranked by offset
+ expect(options[1]).toHaveTextContent('GMT -11:00 (Pacific/Pago_Pago)');
+ expect(options[2]).toHaveTextContent('GMT -10:00 (Hawaii Standard Time)');
+ expect(options[3]).toHaveTextContent('GMT -10:00 (America/Adak)');
+
+ // search for mountain time
+ await userEvent.type(searchInput, 'mou', { delay: 10 });
+
+ const isDaylight = moment(moment.now()).isDST();
+
+ let findTitle = 'GMT -07:00 (Mountain Standard Time)';
+ if (isDaylight) {
+ findTitle = 'GMT -06:00 (Mountain Daylight Time)';
+ }
+ const selectOption = await screen.findByTitle(findTitle);
+ expect(selectOption).toBeInTheDocument();
+ userEvent.click(selectOption);
+ expect(onTimezoneChange).toHaveBeenCalledTimes(1);
+ expect(onTimezoneChange).toHaveBeenLastCalledWith('America/Cambridge_Bay');
Review comment:
Test the updated timezone value after selecting an option
##########
File path: superset-frontend/src/components/TimezoneSelector/index.tsx
##########
@@ -92,43 +92,40 @@ const TIMEZONE_OPTIONS = TIMEZONES.map(zone => ({
timezoneName: zone.name,
}));
+const TIMEZONE_OPTIONS_SORT_COMPARATOR = (
+ a: typeof TIMEZONE_OPTIONS[number],
+ b: typeof TIMEZONE_OPTIONS[number],
+) =>
+ moment.tz(currentDate, a.timezoneName).utcOffset() -
+ moment.tz(currentDate, b.timezoneName).utcOffset();
+
+TIMEZONE_OPTIONS.sort(TIMEZONE_OPTIONS_SORT_COMPARATOR);
+
+const matchTimezoneToOptions = (timezone: string) =>
+ TIMEZONE_OPTIONS.find(option => option.offsets === getOffsetKey(timezone))
+ ?.value || DEFAULT_TIMEZONE.value;
+
const TimezoneSelector = ({ onTimezoneChange, timezone }: TimezoneProps) => {
- const prevTimezone = useRef(timezone);
- const matchTimezoneToOptions = (timezone: string) =>
- TIMEZONE_OPTIONS.find(option => option.offsets === getOffsetKey(timezone))
- ?.value || DEFAULT_TIMEZONE.value;
-
- const updateTimezone = useCallback(
- (tz: string) => {
- // update the ref to track changes
- prevTimezone.current = tz;
- // the parent component contains the state for the value
- onTimezoneChange(tz);
- },
- [onTimezoneChange],
+ const validTimezone = useMemo(
+ () => matchTimezoneToOptions(timezone || moment.tz.guess()),
+ [timezone],
);
+ // force trigger a timezone update if provided `timezone` is not invalid
useEffect(() => {
- const updatedTz = matchTimezoneToOptions(timezone || moment.tz.guess());
- if (prevTimezone.current !== updatedTz) {
- updateTimezone(updatedTz);
+ if (timezone !== validTimezone) {
+ onTimezoneChange(validTimezone);
}
- }, [timezone, updateTimezone]);
+ }, [validTimezone, onTimezoneChange, timezone]);
return (
<Select
ariaLabel={t('Timezone selector')}
css={{ minWidth: MIN_SELECT_WIDTH }} // smallest size for current values
- onChange={onTimezoneChange}
- value={timezone || DEFAULT_TIMEZONE.value}
Review comment:
Make sure `value` is a valid timezone. `timezone` may be different than `updatedTz`.
##########
File path: superset-frontend/src/components/TimezoneSelector/TimezoneSelector.test.tsx
##########
@@ -18,60 +18,78 @@
*/
import React from 'react';
import moment from 'moment-timezone';
-import { render, screen } from 'spec/helpers/testing-library';
+import { render, screen, waitFor } from 'spec/helpers/testing-library';
import userEvent from '@testing-library/user-event';
import TimezoneSelector from './index';
-describe('TimezoneSelector', () => {
- let timezone: string | undefined;
- const onTimezoneChange = jest.fn(zone => {
- timezone = zone;
- });
- beforeEach(() => {
- timezone = undefined;
- });
- it('renders a TimezoneSelector with a default if undefined', () => {
- jest.spyOn(moment.tz, 'guess').mockReturnValue('America/New_York');
- render(
- <TimezoneSelector
- onTimezoneChange={onTimezoneChange}
- timezone={timezone}
- />,
- );
- expect(onTimezoneChange).toHaveBeenCalledWith('America/Nassau');
- });
- it('should properly select values from the offsetsToName map', async () => {
- jest.spyOn(moment.tz, 'guess').mockReturnValue('America/New_York');
- render(
- <TimezoneSelector
- onTimezoneChange={onTimezoneChange}
- timezone={timezone}
- />,
- );
+jest.spyOn(moment.tz, 'guess').mockReturnValue('America/New_York');
- const select = screen.getByRole('combobox', {
- name: 'Timezone selector',
- });
- expect(select).toBeInTheDocument();
- userEvent.click(select);
+const getSelectOptions = () =>
+ waitFor(() => document.querySelectorAll('.ant-select-item-option-content'));
- const isDaylight = moment('now').isDST();
- let findTitle = 'GMT -07:00 (Mountain Standard Time)';
- if (isDaylight) {
- findTitle = 'GMT -06:00 (Mountain Daylight Time)';
- }
- const selection = await screen.findByTitle(findTitle);
- expect(selection).toBeInTheDocument();
- userEvent.click(selection);
- expect(selection).toBeVisible();
- });
- it('renders a TimezoneSelector with the closest value if passed in', async () => {
- render(
- <TimezoneSelector
- onTimezoneChange={onTimezoneChange}
- timezone="America/Los_Angeles"
- />,
- );
- expect(onTimezoneChange).toHaveBeenLastCalledWith('America/Vancouver');
+it('use the timezone from `moment` if no timezone provided', () => {
+ const onTimezoneChange = jest.fn();
+ render(<TimezoneSelector onTimezoneChange={onTimezoneChange} />);
+ expect(onTimezoneChange).toHaveBeenCalledTimes(1);
+ expect(onTimezoneChange).toHaveBeenCalledWith('America/Nassau');
+});
+
+it('update to closest deduped timezone when timezone is provided', async () => {
+ const onTimezoneChange = jest.fn();
+ render(
+ <TimezoneSelector
+ onTimezoneChange={onTimezoneChange}
+ timezone="America/Los_Angeles"
+ />,
+ );
+ expect(onTimezoneChange).toHaveBeenCalledTimes(1);
+ expect(onTimezoneChange).toHaveBeenLastCalledWith('America/Vancouver');
+});
+
+it('use the default timezone when an invalid timezone is provided', async () => {
+ const onTimezoneChange = jest.fn();
+ render(
+ <TimezoneSelector onTimezoneChange={onTimezoneChange} timezone="GMT" />,
+ );
+ expect(onTimezoneChange).toHaveBeenCalledTimes(1);
+ expect(onTimezoneChange).toHaveBeenLastCalledWith('Africa/Abidjan');
+});
+
+it('Can select a timezone values and returns canonical value', async () => {
+ const onTimezoneChange = jest.fn();
+ render(
+ <TimezoneSelector
+ onTimezoneChange={onTimezoneChange}
+ timezone="America/Nassau"
+ />,
+ );
+
+ const searchInput = screen.getByRole('combobox', {
+ name: 'Timezone selector',
});
+ expect(searchInput).toBeInTheDocument();
+
+ userEvent.click(searchInput);
+ const options = await getSelectOptions();
+ // select option is first
+ expect(options[0]).toHaveTextContent('GMT -05:00 (Eastern Standard Time)');
+ // others are ranked by offset
+ expect(options[1]).toHaveTextContent('GMT -11:00 (Pacific/Pago_Pago)');
+ expect(options[2]).toHaveTextContent('GMT -10:00 (Hawaii Standard Time)');
+ expect(options[3]).toHaveTextContent('GMT -10:00 (America/Adak)');
Review comment:
New tests for option ordering.
##########
File path: superset-frontend/src/components/TimezoneSelector/index.tsx
##########
@@ -92,43 +92,40 @@ const TIMEZONE_OPTIONS = TIMEZONES.map(zone => ({
timezoneName: zone.name,
}));
+const TIMEZONE_OPTIONS_SORT_COMPARATOR = (
+ a: typeof TIMEZONE_OPTIONS[number],
+ b: typeof TIMEZONE_OPTIONS[number],
+) =>
+ moment.tz(currentDate, a.timezoneName).utcOffset() -
+ moment.tz(currentDate, b.timezoneName).utcOffset();
+
+TIMEZONE_OPTIONS.sort(TIMEZONE_OPTIONS_SORT_COMPARATOR);
+
+const matchTimezoneToOptions = (timezone: string) =>
+ TIMEZONE_OPTIONS.find(option => option.offsets === getOffsetKey(timezone))
+ ?.value || DEFAULT_TIMEZONE.value;
+
const TimezoneSelector = ({ onTimezoneChange, timezone }: TimezoneProps) => {
- const prevTimezone = useRef(timezone);
- const matchTimezoneToOptions = (timezone: string) =>
- TIMEZONE_OPTIONS.find(option => option.offsets === getOffsetKey(timezone))
- ?.value || DEFAULT_TIMEZONE.value;
-
- const updateTimezone = useCallback(
- (tz: string) => {
- // update the ref to track changes
- prevTimezone.current = tz;
- // the parent component contains the state for the value
- onTimezoneChange(tz);
- },
- [onTimezoneChange],
+ const validTimezone = useMemo(
+ () => matchTimezoneToOptions(timezone || moment.tz.guess()),
+ [timezone],
Review comment:
Changed from `useRef` to simply triggering a setState in `useEffect`.
--
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: notifications-unsubscribe@superset.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org
[GitHub] [superset] github-actions[bot] commented on pull request #19090: refactor(TimezoneSelector): simplify override logics and tests
Posted by GitBox <gi...@apache.org>.
github-actions[bot] commented on pull request #19090:
URL: https://github.com/apache/superset/pull/19090#issuecomment-1064641245
@eschutho Ephemeral environment spinning up at http://35.163.121.68:8080. Credentials are `admin`/`admin`. Please allow several minutes for bootstrapping and startup.
--
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: notifications-unsubscribe@superset.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org
[GitHub] [superset] github-actions[bot] commented on pull request #19090: refactor(TimezoneSelector): simplify override logics and tests
Posted by GitBox <gi...@apache.org>.
github-actions[bot] commented on pull request #19090:
URL: https://github.com/apache/superset/pull/19090#issuecomment-1064700331
Ephemeral environment shutdown and build artifacts deleted.
--
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: notifications-unsubscribe@superset.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org
[GitHub] [superset] codecov[bot] commented on pull request #19090: refactor(TimezoneSelector): simplify override logics and tests
Posted by GitBox <gi...@apache.org>.
codecov[bot] commented on pull request #19090:
URL: https://github.com/apache/superset/pull/19090#issuecomment-1063596895
# [Codecov](https://codecov.io/gh/apache/superset/pull/19090?src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) Report
> Merging [#19090](https://codecov.io/gh/apache/superset/pull/19090?src=pr&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) (4f7a93c) into [master](https://codecov.io/gh/apache/superset/commit/0e0beceac173f765d8f9a0887732029b78603f6d?el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) (0e0bece) will **decrease** coverage by `0.00%`.
> The diff coverage is `90.00%`.
[![Impacted file tree graph](https://codecov.io/gh/apache/superset/pull/19090/graphs/tree.svg?width=650&height=150&src=pr&token=KsB0fHcx6l&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation)](https://codecov.io/gh/apache/superset/pull/19090?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation)
```diff
@@ Coverage Diff @@
## master #19090 +/- ##
==========================================
- Coverage 66.48% 66.48% -0.01%
==========================================
Files 1644 1644
Lines 63492 63491 -1
Branches 6459 6457 -2
==========================================
- Hits 42212 42211 -1
Misses 19610 19610
Partials 1670 1670
```
| Flag | Coverage Δ | |
|---|---|---|
| javascript | `51.23% <90.00%> (-0.01%)` | :arrow_down: |
Flags with carried forward coverage won't be shown. [Click here](https://docs.codecov.io/docs/carryforward-flags?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#carryforward-flags-in-the-pull-request-comment) to find out more.
| [Impacted Files](https://codecov.io/gh/apache/superset/pull/19090?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) | Coverage Δ | |
|---|---|---|
| [...frontend/src/components/TimezoneSelector/index.tsx](https://codecov.io/gh/apache/superset/pull/19090/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-c3VwZXJzZXQtZnJvbnRlbmQvc3JjL2NvbXBvbmVudHMvVGltZXpvbmVTZWxlY3Rvci9pbmRleC50c3g=) | `96.96% <90.00%> (-0.09%)` | :arrow_down: |
------
[Continue to review full report at Codecov](https://codecov.io/gh/apache/superset/pull/19090?src=pr&el=continue&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation).
> **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation)
> `Δ = absolute <relative> (impact)`, `ø = not affected`, `? = missing data`
> Powered by [Codecov](https://codecov.io/gh/apache/superset/pull/19090?src=pr&el=footer&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation). Last update [0e0bece...4f7a93c](https://codecov.io/gh/apache/superset/pull/19090?src=pr&el=lastupdated&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation).
--
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: notifications-unsubscribe@superset.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org
[GitHub] [superset] eschutho commented on pull request #19090: refactor(TimezoneSelector): simplify override logics and tests
Posted by GitBox <gi...@apache.org>.
eschutho commented on pull request #19090:
URL: https://github.com/apache/superset/pull/19090#issuecomment-1064625202
/testenv up
--
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: notifications-unsubscribe@superset.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org
[GitHub] [superset] eschutho commented on pull request #19090: refactor(TimezoneSelector): simplify override logics and tests
Posted by GitBox <gi...@apache.org>.
eschutho commented on pull request #19090:
URL: https://github.com/apache/superset/pull/19090#issuecomment-1064638779
/testenv up FEATURE_ALERT_REPORTS=True
--
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: notifications-unsubscribe@superset.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org