diff --git a/packages/hoppscotch-app/src/components.d.ts b/packages/hoppscotch-app/src/components.d.ts index 56f16d102..2e0c7a6dc 100644 --- a/packages/hoppscotch-app/src/components.d.ts +++ b/packages/hoppscotch-app/src/components.d.ts @@ -55,7 +55,6 @@ declare module '@vue/runtime-core' { CollectionsTeamsRequest: typeof import('./components/collections/teams/Request.vue')['default'] Environments: typeof import('./components/environments/index.vue')['default'] EnvironmentsChooseType: typeof import('./components/environments/ChooseType.vue')['default'] - EnvironmentsDetail: typeof import('./components/environments/Detail.vue')['default'] EnvironmentsImportExport: typeof import('./components/environments/ImportExport.vue')['default'] EnvironmentsMy: typeof import('./components/environments/my/index.vue')['default'] EnvironmentsMyDetails: typeof import('./components/environments/my/Details.vue')['default'] @@ -110,6 +109,7 @@ declare module '@vue/runtime-core' { IconLucideSearch: typeof import('~icons/lucide/search')['default'] IconLucideUser: typeof import('~icons/lucide/user')['default'] IconLucideUsers: typeof import('~icons/lucide/users')['default'] + IconLucideVerified: typeof import('~icons/lucide/verified')['default'] LensesHeadersRenderer: typeof import('./components/lenses/HeadersRenderer.vue')['default'] LensesHeadersRendererEntry: typeof import('./components/lenses/HeadersRendererEntry.vue')['default'] LensesRenderersHTMLLensRenderer: typeof import('./components/lenses/renderers/HTMLLensRenderer.vue')['default'] diff --git a/packages/hoppscotch-app/src/composables/auth.ts b/packages/hoppscotch-app/src/composables/auth.ts index 8009be268..01ac835dd 100644 --- a/packages/hoppscotch-app/src/composables/auth.ts +++ b/packages/hoppscotch-app/src/composables/auth.ts @@ -3,8 +3,15 @@ import { HoppUser, AuthEvent, authEvents$, + authIdToken$, } from "@helpers/fb/auth" -import { map, distinctUntilChanged, filter, Subscription } from "rxjs" +import { + map, + distinctUntilChanged, + filter, + Subscription, + combineLatestWith, +} from "rxjs" import { onBeforeUnmount, onMounted } from "vue" /** @@ -19,6 +26,10 @@ export function onLoggedIn(exec: (user: HoppUser) => void) { onMounted(() => { sub = currentUser$ .pipe( + // We don't consider the state as logged in unless we also have an id token + combineLatestWith(authIdToken$), + // eslint-disable-next-line @typescript-eslint/no-unused-vars + filter(([_, token]) => !!token), map((user) => !!user), // Get a logged in status (true or false) distinctUntilChanged(), // Don't propagate unless the status updates filter((x) => x) // Don't propagate unless it is logged in