mirror of
https://github.com/fluxerapp/fluxer
synced 2026-10-18 21:45:31 +09:00
feat(premium): give failed renewals a billing-cycle grace period (#3066)
This commit is contained in:
1 parent
f5e32aed31
commit
dfdfffe5de
53 files changed
+1974
-1206
No files matched your search
@@ -3,6 +3,7 @@
|
||||
import RuntimeConfig from '@app/features/app/state/RuntimeConfig';
|
||||
import {LimitResolver} from '@app/features/app/utils/LimitResolverAdapter';
|
||||
import DeveloperOptions from '@app/features/devtools/state/DeveloperOptions';
|
||||
import {getPremiumGraceEndDate} from '@app/features/premium/utils/PremiumGrace';
|
||||
import type {LimitKey} from '@fluxer/constants/src/LimitConfigMetadata';
|
||||
import {
|
||||
type MentionReplyPreference,
|
||||
@@ -10,7 +11,6 @@ import {
|
||||
PublicUserFlags,
|
||||
UserPremiumTypes,
|
||||
} from '@fluxer/constants/src/UserConstants';
|
||||
import {MS_PER_DAY} from '@fluxer/date_utils/src/DateConstants';
|
||||
import {DEFAULT_STOCK_LIMITS} from '@fluxer/limits/src/LimitDefaults';
|
||||
import type {
|
||||
RequiredAction,
|
||||
@@ -543,10 +543,8 @@ export class User {
|
||||
private isPremiumExpiredLocally(): boolean {
|
||||
const premiumUntil = this._premiumUntil;
|
||||
if (!premiumUntil) return false;
|
||||
const t = premiumUntil.getTime();
|
||||
if (Number.isNaN(t)) return false;
|
||||
const gracePeriodMs = 3 * MS_PER_DAY;
|
||||
return Date.now() > t + gracePeriodMs;
|
||||
if (Number.isNaN(premiumUntil.getTime())) return false;
|
||||
return Date.now() > getPremiumGraceEndDate(premiumUntil, this._premiumGraceEndsAt).getTime();
|
||||
}
|
||||
|
||||
get maxGuilds(): number {
|
||||
|
||||
Reference in new issue
Block a user