From 5d9c4f1d982f633631332693832c0f15830b2b80 Mon Sep 17 00:00:00 2001 From: Thomas Kaul <4159106+dtslvr@users.noreply.github.com> Date: Fri, 30 Oct 2026 15:33:57 +0100 Subject: [PATCH] Bugfix/frequency of subscription interstitial (#8347) Fix frequency of subscription interstitial --- apps/api/src/app/user/user.service.ts | 2 +- apps/client/src/app/services/settings-storage.service.ts | 2 ++ apps/client/src/app/services/user/user.service.ts | 9 ++++++++- 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/apps/api/src/app/user/user.service.ts b/apps/api/src/app/user/user.service.ts index 9aeff9ceb9..55cd9186b5 100644 --- a/apps/api/src/app/user/user.service.ts +++ b/apps/api/src/app/user/user.service.ts @@ -435,7 +435,7 @@ export class UserService { frequency = 6; } - if (analytics?.activityCount % frequency === 1) { + if (frequency === 1 || analytics?.activityCount % frequency === 1) { currentPermissions.push(permissions.enableSubscriptionInterstitial); } diff --git a/apps/client/src/app/services/settings-storage.service.ts b/apps/client/src/app/services/settings-storage.service.ts index 095c115872..0d7e4041eb 100644 --- a/apps/client/src/app/services/settings-storage.service.ts +++ b/apps/client/src/app/services/settings-storage.service.ts @@ -2,6 +2,8 @@ import { Service } from '@angular/core'; export const KEY_RANGE = 'range'; export const KEY_STAY_SIGNED_IN = 'staySignedIn'; +export const KEY_SUBSCRIPTION_INTERSTITIAL_SHOWN = + 'subscriptionInterstitialShown'; export const KEY_TOKEN = 'auth-token'; @Service() diff --git a/apps/client/src/app/services/user/user.service.ts b/apps/client/src/app/services/user/user.service.ts index 2fc6d399a6..12e34c330b 100644 --- a/apps/client/src/app/services/user/user.service.ts +++ b/apps/client/src/app/services/user/user.service.ts @@ -1,3 +1,4 @@ +import { KEY_SUBSCRIPTION_INTERSTITIAL_SHOWN } from '@ghostfolio/client/services/settings-storage.service'; import { WebAuthnService } from '@ghostfolio/client/services/web-authn.service'; import { Filter, User } from '@ghostfolio/common/interfaces'; import { hasPermission, permissions } from '@ghostfolio/common/permissions'; @@ -167,8 +168,14 @@ export class UserService extends ObservableStore { hasPermission( user.permissions, permissions.enableSubscriptionInterstitial - ) + ) && + !window.sessionStorage.getItem(KEY_SUBSCRIPTION_INTERSTITIAL_SHOWN) ) { + window.sessionStorage.setItem( + KEY_SUBSCRIPTION_INTERSTITIAL_SHOWN, + 'true' + ); + const dialogRef = this.dialog.open< GfSubscriptionInterstitialDialogComponent, SubscriptionInterstitialDialogParams