mirror of
https://github.com/Unleash/unleash.git
synced 2025-07-31 13:47:02 +02:00
Refactor/remove last seen at flag (#5394)
This PR removes the feature flag for displaying the new last seen by environments component.
This commit is contained in:
parent
dc1aaf6d99
commit
5414fa6663
@ -64,8 +64,6 @@ export const ArchiveTable = ({
|
|||||||
}: IFeaturesArchiveTableProps) => {
|
}: IFeaturesArchiveTableProps) => {
|
||||||
const isSmallScreen = useMediaQuery(theme.breakpoints.down('md'));
|
const isSmallScreen = useMediaQuery(theme.breakpoints.down('md'));
|
||||||
const isMediumScreen = useMediaQuery(theme.breakpoints.down('lg'));
|
const isMediumScreen = useMediaQuery(theme.breakpoints.down('lg'));
|
||||||
const { setToastData, setToastApiError } = useToast();
|
|
||||||
|
|
||||||
const [deleteModalOpen, setDeleteModalOpen] = useState(false);
|
const [deleteModalOpen, setDeleteModalOpen] = useState(false);
|
||||||
const [deletedFeature, setDeletedFeature] = useState<IFeatureToggle>();
|
const [deletedFeature, setDeletedFeature] = useState<IFeatureToggle>();
|
||||||
|
|
||||||
@ -73,16 +71,12 @@ export const ArchiveTable = ({
|
|||||||
const [revivedFeature, setRevivedFeature] = useState<IFeatureToggle>();
|
const [revivedFeature, setRevivedFeature] = useState<IFeatureToggle>();
|
||||||
|
|
||||||
const [searchParams, setSearchParams] = useSearchParams();
|
const [searchParams, setSearchParams] = useSearchParams();
|
||||||
const { reviveFeature } = useFeatureArchiveApi();
|
|
||||||
|
|
||||||
const [searchValue, setSearchValue] = useState(
|
const [searchValue, setSearchValue] = useState(
|
||||||
searchParams.get('search') || '',
|
searchParams.get('search') || '',
|
||||||
);
|
);
|
||||||
|
|
||||||
const { uiConfig } = useUiConfig();
|
const { uiConfig } = useUiConfig();
|
||||||
const showEnvironmentLastSeen = Boolean(
|
|
||||||
uiConfig.flags.lastSeenByEnvironment,
|
|
||||||
);
|
|
||||||
|
|
||||||
const columns = useMemo(
|
const columns = useMemo(
|
||||||
() => [
|
() => [
|
||||||
@ -111,11 +105,7 @@ export const ArchiveTable = ({
|
|||||||
Header: 'Seen',
|
Header: 'Seen',
|
||||||
accessor: 'lastSeenAt',
|
accessor: 'lastSeenAt',
|
||||||
Cell: ({ value, row: { original: feature } }: any) => {
|
Cell: ({ value, row: { original: feature } }: any) => {
|
||||||
return showEnvironmentLastSeen ? (
|
return <FeatureEnvironmentSeenCell feature={feature} />;
|
||||||
<FeatureEnvironmentSeenCell feature={feature} />
|
|
||||||
) : (
|
|
||||||
<FeatureSeenCell value={value} />
|
|
||||||
);
|
|
||||||
},
|
},
|
||||||
align: 'center',
|
align: 'center',
|
||||||
maxWidth: 80,
|
maxWidth: 80,
|
||||||
@ -199,7 +189,7 @@ export const ArchiveTable = ({
|
|||||||
},
|
},
|
||||||
],
|
],
|
||||||
//eslint-disable-next-line
|
//eslint-disable-next-line
|
||||||
[projectId, showEnvironmentLastSeen],
|
[projectId],
|
||||||
);
|
);
|
||||||
|
|
||||||
const {
|
const {
|
||||||
|
@ -331,7 +331,6 @@ export const FeatureArchiveDialog: VFC<IFeatureArchiveDialogProps> = ({
|
|||||||
|
|
||||||
<ConditionallyRender
|
<ConditionallyRender
|
||||||
condition={Boolean(
|
condition={Boolean(
|
||||||
uiConfig.flags.lastSeenByEnvironment &&
|
|
||||||
featuresWithUsage &&
|
featuresWithUsage &&
|
||||||
featuresWithUsage?.length > 0,
|
featuresWithUsage?.length > 0,
|
||||||
)}
|
)}
|
||||||
|
@ -72,9 +72,7 @@ export const FeatureToggleListTable: VFC = () => {
|
|||||||
const [searchParams, setSearchParams] = useSearchParams();
|
const [searchParams, setSearchParams] = useSearchParams();
|
||||||
const { setToastApiError } = useToast();
|
const { setToastApiError } = useToast();
|
||||||
const { uiConfig } = useUiConfig();
|
const { uiConfig } = useUiConfig();
|
||||||
const showEnvironmentLastSeen = Boolean(
|
|
||||||
uiConfig.flags.lastSeenByEnvironment,
|
|
||||||
);
|
|
||||||
const [initialState] = useState(() => ({
|
const [initialState] = useState(() => ({
|
||||||
sortBy: [
|
sortBy: [
|
||||||
{
|
{
|
||||||
@ -138,11 +136,7 @@ export const FeatureToggleListTable: VFC = () => {
|
|||||||
Header: 'Seen',
|
Header: 'Seen',
|
||||||
accessor: 'lastSeenAt',
|
accessor: 'lastSeenAt',
|
||||||
Cell: ({ value, row: { original: feature } }: any) => {
|
Cell: ({ value, row: { original: feature } }: any) => {
|
||||||
return showEnvironmentLastSeen ? (
|
return <FeatureEnvironmentSeenCell feature={feature} />;
|
||||||
<FeatureEnvironmentSeenCell feature={feature} />
|
|
||||||
) : (
|
|
||||||
<FeatureSeenCell value={value} />
|
|
||||||
);
|
|
||||||
},
|
},
|
||||||
align: 'center',
|
align: 'center',
|
||||||
maxWidth: 80,
|
maxWidth: 80,
|
||||||
@ -206,7 +200,7 @@ export const FeatureToggleListTable: VFC = () => {
|
|||||||
searchable: true,
|
searchable: true,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
[isFavoritesPinned, showEnvironmentLastSeen],
|
[isFavoritesPinned],
|
||||||
);
|
);
|
||||||
|
|
||||||
const {
|
const {
|
||||||
|
@ -33,10 +33,6 @@ export const FeatureOverviewSidePanelDetails = ({
|
|||||||
const { uiConfig } = useUiConfig();
|
const { uiConfig } = useUiConfig();
|
||||||
const showDependentFeatures = useShowDependentFeatures(feature.project);
|
const showDependentFeatures = useShowDependentFeatures(feature.project);
|
||||||
|
|
||||||
const showLastSeenByEnvironment = Boolean(
|
|
||||||
uiConfig.flags.lastSeenByEnvironment,
|
|
||||||
);
|
|
||||||
|
|
||||||
const lastSeenEnvironments: ILastSeenEnvironments[] =
|
const lastSeenEnvironments: ILastSeenEnvironments[] =
|
||||||
feature.environments?.map((env) => ({
|
feature.environments?.map((env) => ({
|
||||||
name: env.name,
|
name: env.name,
|
||||||
@ -57,13 +53,12 @@ export const FeatureOverviewSidePanelDetails = ({
|
|||||||
)}
|
)}
|
||||||
</span>
|
</span>
|
||||||
</StyledDetail>
|
</StyledDetail>
|
||||||
{showLastSeenByEnvironment && (
|
|
||||||
<FeatureEnvironmentSeen
|
<FeatureEnvironmentSeen
|
||||||
featureLastSeen={feature.lastSeenAt}
|
featureLastSeen={feature.lastSeenAt}
|
||||||
environments={lastSeenEnvironments}
|
environments={lastSeenEnvironments}
|
||||||
sx={{ p: 0 }}
|
sx={{ p: 0 }}
|
||||||
/>
|
/>
|
||||||
)}
|
|
||||||
</FlexRow>
|
</FlexRow>
|
||||||
<ConditionallyRender
|
<ConditionallyRender
|
||||||
condition={showDependentFeatures}
|
condition={showDependentFeatures}
|
||||||
|
@ -150,9 +150,6 @@ export const PaginatedProjectFeatureToggles = ({
|
|||||||
const { isChangeRequestConfigured } = useChangeRequestsEnabled(projectId);
|
const { isChangeRequestConfigured } = useChangeRequestsEnabled(projectId);
|
||||||
const [showExportDialog, setShowExportDialog] = useState(false);
|
const [showExportDialog, setShowExportDialog] = useState(false);
|
||||||
const { uiConfig } = useUiConfig();
|
const { uiConfig } = useUiConfig();
|
||||||
const showEnvironmentLastSeen = Boolean(
|
|
||||||
uiConfig.flags.lastSeenByEnvironment,
|
|
||||||
);
|
|
||||||
|
|
||||||
const onFavorite = useCallback(
|
const onFavorite = useCallback(
|
||||||
async (feature: IFeatureToggleListItem) => {
|
async (feature: IFeatureToggleListItem) => {
|
||||||
@ -213,13 +210,11 @@ export const PaginatedProjectFeatureToggles = ({
|
|||||||
Header: 'Seen',
|
Header: 'Seen',
|
||||||
accessor: 'lastSeenAt',
|
accessor: 'lastSeenAt',
|
||||||
Cell: ({ value, row: { original: feature } }: any) => {
|
Cell: ({ value, row: { original: feature } }: any) => {
|
||||||
return showEnvironmentLastSeen ? (
|
return (
|
||||||
<MemoizedFeatureEnvironmentSeenCell
|
<MemoizedFeatureEnvironmentSeenCell
|
||||||
feature={feature}
|
feature={feature}
|
||||||
data-loading
|
data-loading
|
||||||
/>
|
/>
|
||||||
) : (
|
|
||||||
<FeatureSeenCell value={value} />
|
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
align: 'center',
|
align: 'center',
|
||||||
|
@ -133,9 +133,6 @@ export const ProjectFeatureToggles = ({
|
|||||||
const { isChangeRequestConfigured } = useChangeRequestsEnabled(projectId);
|
const { isChangeRequestConfigured } = useChangeRequestsEnabled(projectId);
|
||||||
const [showExportDialog, setShowExportDialog] = useState(false);
|
const [showExportDialog, setShowExportDialog] = useState(false);
|
||||||
const { uiConfig } = useUiConfig();
|
const { uiConfig } = useUiConfig();
|
||||||
const showEnvironmentLastSeen = Boolean(
|
|
||||||
uiConfig.flags.lastSeenByEnvironment,
|
|
||||||
);
|
|
||||||
|
|
||||||
const onFavorite = useCallback(
|
const onFavorite = useCallback(
|
||||||
async (feature: IFeatureToggleListItem) => {
|
async (feature: IFeatureToggleListItem) => {
|
||||||
@ -202,10 +199,8 @@ export const ProjectFeatureToggles = ({
|
|||||||
Header: 'Seen',
|
Header: 'Seen',
|
||||||
accessor: 'lastSeenAt',
|
accessor: 'lastSeenAt',
|
||||||
Cell: ({ value, row: { original: feature } }: any) => {
|
Cell: ({ value, row: { original: feature } }: any) => {
|
||||||
return showEnvironmentLastSeen ? (
|
return (
|
||||||
<MemoizedFeatureEnvironmentSeenCell feature={feature} />
|
<MemoizedFeatureEnvironmentSeenCell feature={feature} />
|
||||||
) : (
|
|
||||||
<FeatureSeenCell value={value} />
|
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
align: 'center',
|
align: 'center',
|
||||||
|
@ -54,9 +54,7 @@ export const ReportTable = ({ projectId, features }: IReportTableProps) => {
|
|||||||
const isSmallScreen = useMediaQuery(theme.breakpoints.down('md'));
|
const isSmallScreen = useMediaQuery(theme.breakpoints.down('md'));
|
||||||
const isMediumScreen = useMediaQuery(theme.breakpoints.down('lg'));
|
const isMediumScreen = useMediaQuery(theme.breakpoints.down('lg'));
|
||||||
const { uiConfig } = useUiConfig();
|
const { uiConfig } = useUiConfig();
|
||||||
const showEnvironmentLastSeen = Boolean(
|
|
||||||
uiConfig.flags.lastSeenByEnvironment,
|
|
||||||
);
|
|
||||||
const { featureTypes } = useFeatureTypes();
|
const { featureTypes } = useFeatureTypes();
|
||||||
|
|
||||||
const data: IReportTableRow[] = useMemo<IReportTableRow[]>(
|
const data: IReportTableRow[] = useMemo<IReportTableRow[]>(
|
||||||
@ -89,11 +87,7 @@ export const ReportTable = ({ projectId, features }: IReportTableProps) => {
|
|||||||
Header: 'Seen',
|
Header: 'Seen',
|
||||||
accessor: 'lastSeenAt',
|
accessor: 'lastSeenAt',
|
||||||
Cell: ({ value, row: { original: feature } }: any) => {
|
Cell: ({ value, row: { original: feature } }: any) => {
|
||||||
return showEnvironmentLastSeen ? (
|
return <FeatureEnvironmentSeenCell feature={feature} />;
|
||||||
<FeatureEnvironmentSeenCell feature={feature} />
|
|
||||||
) : (
|
|
||||||
<FeatureSeenCell value={value} />
|
|
||||||
);
|
|
||||||
},
|
},
|
||||||
align: 'center',
|
align: 'center',
|
||||||
maxWidth: 80,
|
maxWidth: 80,
|
||||||
@ -144,7 +138,7 @@ export const ReportTable = ({ projectId, features }: IReportTableProps) => {
|
|||||||
maxWidth: 120,
|
maxWidth: 120,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
[showEnvironmentLastSeen],
|
[],
|
||||||
);
|
);
|
||||||
|
|
||||||
const {
|
const {
|
||||||
|
@ -60,7 +60,6 @@ export type UiFlags = {
|
|||||||
advancedPlayground?: boolean;
|
advancedPlayground?: boolean;
|
||||||
customRootRolesKillSwitch?: boolean;
|
customRootRolesKillSwitch?: boolean;
|
||||||
strategyVariant?: boolean;
|
strategyVariant?: boolean;
|
||||||
lastSeenByEnvironment?: boolean;
|
|
||||||
doraMetrics?: boolean;
|
doraMetrics?: boolean;
|
||||||
variantTypeNumber?: boolean;
|
variantTypeNumber?: boolean;
|
||||||
privateProjects?: boolean;
|
privateProjects?: boolean;
|
||||||
|
@ -88,7 +88,6 @@ exports[`should create default config 1`] = `
|
|||||||
"featuresExportImport": true,
|
"featuresExportImport": true,
|
||||||
"filterInvalidClientMetrics": false,
|
"filterInvalidClientMetrics": false,
|
||||||
"googleAuthEnabled": false,
|
"googleAuthEnabled": false,
|
||||||
"lastSeenByEnvironment": false,
|
|
||||||
"maintenanceMode": false,
|
"maintenanceMode": false,
|
||||||
"messageBanner": {
|
"messageBanner": {
|
||||||
"enabled": false,
|
"enabled": false,
|
||||||
|
@ -21,7 +21,6 @@ export type IFlagKey =
|
|||||||
| 'disableNotifications'
|
| 'disableNotifications'
|
||||||
| 'advancedPlayground'
|
| 'advancedPlayground'
|
||||||
| 'filterInvalidClientMetrics'
|
| 'filterInvalidClientMetrics'
|
||||||
| 'lastSeenByEnvironment'
|
|
||||||
| 'customRootRolesKillSwitch'
|
| 'customRootRolesKillSwitch'
|
||||||
| 'variantTypeNumber'
|
| 'variantTypeNumber'
|
||||||
| 'privateProjects'
|
| 'privateProjects'
|
||||||
@ -106,10 +105,6 @@ const flags: IFlags = {
|
|||||||
process.env.FILTER_INVALID_CLIENT_METRICS,
|
process.env.FILTER_INVALID_CLIENT_METRICS,
|
||||||
false,
|
false,
|
||||||
),
|
),
|
||||||
lastSeenByEnvironment: parseEnvVarBoolean(
|
|
||||||
process.env.LAST_SEEN_BY_ENVIRONMENT,
|
|
||||||
false,
|
|
||||||
),
|
|
||||||
customRootRolesKillSwitch: parseEnvVarBoolean(
|
customRootRolesKillSwitch: parseEnvVarBoolean(
|
||||||
process.env.UNLEASH_EXPERIMENTAL_CUSTOM_ROOT_ROLES_KILL_SWITCH,
|
process.env.UNLEASH_EXPERIMENTAL_CUSTOM_ROOT_ROLES_KILL_SWITCH,
|
||||||
false,
|
false,
|
||||||
|
@ -37,7 +37,6 @@ process.nextTick(async () => {
|
|||||||
embedProxyFrontend: true,
|
embedProxyFrontend: true,
|
||||||
anonymiseEventLog: false,
|
anonymiseEventLog: false,
|
||||||
responseTimeWithAppNameKillSwitch: false,
|
responseTimeWithAppNameKillSwitch: false,
|
||||||
lastSeenByEnvironment: true,
|
|
||||||
variantTypeNumber: true,
|
variantTypeNumber: true,
|
||||||
privateProjects: true,
|
privateProjects: true,
|
||||||
dependentFeatures: true,
|
dependentFeatures: true,
|
||||||
|
Loading…
Reference in New Issue
Block a user