feat(editor): Add disable template experiment (#5963)

* Add remove templates experiments

* Add track experiment without debouncing

* Allow to go to templates route even when experiment is active

* Add missing import

* Fix linting issue

* Remove unused constant

* Add timeout to track "User is part of experiment" event

* fix: split experiment evaluation from tracking

* fix: fix overrides

* chore: remove console

---------

Co-authored-by: Mutasem <mutdmour@gmail.com>
This commit is contained in:
Ricardo Espinoza
2023-04-21 04:32:23 -04:00
committed by GitHub
parent b8cb5d7f0b
commit a74284bac3
5 changed files with 48 additions and 13 deletions

View File

@@ -32,7 +32,7 @@ import VariablesView from '@/views/VariablesView.vue';
import { IPermissions } from './Interface';
import { LOGIN_STATUS, ROLE } from '@/utils';
import { RouteConfigSingleView } from 'vue-router/types/router';
import { VIEWS } from './constants';
import { TEMPLATE_EXPERIMENT, VIEWS } from './constants';
import { useSettingsStore } from './stores/settings';
import { useTemplatesStore } from './stores/templates';
import { useSSOStore } from './stores/sso';
@@ -41,6 +41,7 @@ import SettingsSso from './views/SettingsSso.vue';
import SignoutView from '@/views/SignoutView.vue';
import SamlOnboarding from '@/views/SamlOnboarding.vue';
import SettingsVersionControl from './views/SettingsVersionControl.vue';
import { usePostHog } from './stores/posthog';
Vue.use(Router);
@@ -60,8 +61,12 @@ interface IRouteConfig extends RouteConfigSingleView {
function getTemplatesRedirect() {
const settingsStore = useSettingsStore();
const posthog = usePostHog();
const isTemplatesEnabled: boolean = settingsStore.isTemplatesEnabled;
if (!isTemplatesEnabled) {
if (
!posthog.isVariantEnabled(TEMPLATE_EXPERIMENT.name, TEMPLATE_EXPERIMENT.variant) &&
!isTemplatesEnabled
) {
return { name: VIEWS.NOT_FOUND };
}