mirror of
				https://github.com/Unleash/unleash.git
				synced 2025-10-27 11:02:16 +01:00 
			
		
		
		
	feat: uncomplete tracking (#7053)
This commit is contained in:
		
							parent
							
								
									7730167ea4
								
							
						
					
					
						commit
						701c845f09
					
				| @ -4,6 +4,7 @@ import useFeatureLifecycleApi from 'hooks/api/actions/useFeatureLifecycleApi/use | |||||||
| import { populateCurrentStage } from './populateCurrentStage'; | import { populateCurrentStage } from './populateCurrentStage'; | ||||||
| import type { FC } from 'react'; | import type { FC } from 'react'; | ||||||
| import type { Lifecycle } from 'interfaces/featureToggle'; | import type { Lifecycle } from 'interfaces/featureToggle'; | ||||||
|  | import { usePlausibleTracker } from 'hooks/usePlausibleTracker'; | ||||||
| 
 | 
 | ||||||
| export interface LifecycleFeature { | export interface LifecycleFeature { | ||||||
|     lifecycle?: Lifecycle; |     lifecycle?: Lifecycle; | ||||||
| @ -27,9 +28,16 @@ export const FeatureLifecycle: FC<{ | |||||||
| 
 | 
 | ||||||
|     const { markFeatureUncompleted, loading } = useFeatureLifecycleApi(); |     const { markFeatureUncompleted, loading } = useFeatureLifecycleApi(); | ||||||
| 
 | 
 | ||||||
|  |     const { trackEvent } = usePlausibleTracker(); | ||||||
|  | 
 | ||||||
|     const onUncompleteHandler = async () => { |     const onUncompleteHandler = async () => { | ||||||
|         await markFeatureUncompleted(feature.name, feature.project); |         await markFeatureUncompleted(feature.name, feature.project); | ||||||
|         onUncomplete(); |         onUncomplete(); | ||||||
|  |         trackEvent('feature-lifecycle', { | ||||||
|  |             props: { | ||||||
|  |                 eventType: 'uncomplete', | ||||||
|  |             }, | ||||||
|  |         }); | ||||||
|     }; |     }; | ||||||
| 
 | 
 | ||||||
|     return currentStage ? ( |     return currentStage ? ( | ||||||
|  | |||||||
| @ -1,6 +1,7 @@ | |||||||
| import { useCallback } from 'react'; | import { useCallback } from 'react'; | ||||||
| import { useMediaQuery, useTheme } from '@mui/material'; | import { useMediaQuery, useTheme } from '@mui/material'; | ||||||
| import type { VisibilityState } from '@tanstack/react-table'; | import type { VisibilityState } from '@tanstack/react-table'; | ||||||
|  | import { useUiFlag } from 'hooks/useUiFlag'; | ||||||
| 
 | 
 | ||||||
| const staticColumns = ['select', 'actions', 'name', 'favorite']; | const staticColumns = ['select', 'actions', 'name', 'favorite']; | ||||||
| 
 | 
 | ||||||
| @ -21,6 +22,7 @@ export const useDefaultColumnVisibility = (allColumnIds: string[]) => { | |||||||
|     const isTinyScreen = useMediaQuery(theme.breakpoints.down('sm')); |     const isTinyScreen = useMediaQuery(theme.breakpoints.down('sm')); | ||||||
|     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 featureLifecycleEnabled = useUiFlag('featureLifecycle'); | ||||||
| 
 | 
 | ||||||
|     const showEnvironments = useCallback( |     const showEnvironments = useCallback( | ||||||
|         (environmentsToShow: number = 0) => |         (environmentsToShow: number = 0) => | ||||||
| @ -53,6 +55,7 @@ export const useDefaultColumnVisibility = (allColumnIds: string[]) => { | |||||||
|     return formatAsColumnVisibility(allColumnIds, [ |     return formatAsColumnVisibility(allColumnIds, [ | ||||||
|         ...staticColumns, |         ...staticColumns, | ||||||
|         'lastSeenAt', |         'lastSeenAt', | ||||||
|  |         ...(featureLifecycleEnabled ? ['lifecycle'] : []), | ||||||
|         'createdAt', |         'createdAt', | ||||||
|         'type', |         'type', | ||||||
|         'tags', |         'tags', | ||||||
|  | |||||||
| @ -4,14 +4,15 @@ title: Feature Lifecycle | |||||||
| 
 | 
 | ||||||
| :::info Availability | :::info Availability | ||||||
| 
 | 
 | ||||||
| Feature lifecycle was introduced in Unleash 6.1.0 | Feature lifecycle is currently in beta | ||||||
| 
 | 
 | ||||||
| ::: | ::: | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
| 
 | 
 | ||||||
| Feature Lifecycle facilitates tracking the progression of features through various stages in their development and operational phases.  | In Unleash, the feature lifecycle encompasses a holistic view of how mature your feature is based on data collected through metrics and interactions with the Unleash system.  | ||||||
| This systematic approach helps in identifying potential bottlenecks and improving the overall efficiency of the software development process. | As such, the lifecycle mirrors your software development process and allows you to identify bottlenecks at any stage of the lifecycle.  | ||||||
|  | These findings may give you insights or clues to improve the efficiency of your software development process. Read more about how Unleash progresses a feature through the lifecycle below. | ||||||
| 
 | 
 | ||||||
| ## Lifecycle stages | ## Lifecycle stages | ||||||
| 
 | 
 | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user