Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 7 additions & 7 deletions ts/components/dialog/debug/FeatureFlags.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -430,13 +430,13 @@ export const ProDebugSection = ({ forceUpdate }: { forceUpdate: () => void }) =>
label="Expiry"
flag="mockProAccessExpiry"
options={[
{ label: 'Soon', value: MockProAccessExpiryOptions.SOON },
{ label: 'Today', value: MockProAccessExpiryOptions.TODAY },
{ label: 'Tomorrow', value: MockProAccessExpiryOptions.TOMORROW },
{ label: '1 Week', value: MockProAccessExpiryOptions.WEEK },
{ label: '1 Month', value: MockProAccessExpiryOptions.MONTH },
{ label: '3 Months', value: MockProAccessExpiryOptions.THREE_MONTH },
{ label: '1 Year', value: MockProAccessExpiryOptions.YEAR },
{ label: '7 Days', value: MockProAccessExpiryOptions.P7D },
{ label: '29 Days', value: MockProAccessExpiryOptions.P29D },
{ label: '30 Days', value: MockProAccessExpiryOptions.P30D },
{ label: '30 Days 1 Second', value: MockProAccessExpiryOptions.P30DT1S },
{ label: '90 Days', value: MockProAccessExpiryOptions.P90D },
{ label: '300 Days', value: MockProAccessExpiryOptions.P300D },
{ label: '365 Days', value: MockProAccessExpiryOptions.P365D },
{ label: '24 Days 1 Minute', value: MockProAccessExpiryOptions.P24DT1M },
{ label: '24 Hours 1 Minute', value: MockProAccessExpiryOptions.PT24H1M },
{ label: '23 Hours 59 Minutes', value: MockProAccessExpiryOptions.PT23H59M },
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -284,6 +284,7 @@ function ProInfoBlockUpdate() {
}

function ProInfoBlockRenew() {
const dispatch = useDispatch();
const { data } = useProAccessDetails();
return (
<ProInfoBlockLayout
Expand All @@ -296,6 +297,9 @@ function ProInfoBlockRenew() {
icon={LUCIDE_ICONS_UNICODE.EXTERNAL_LINK_ICON}
/>
}
descriptionOnClick={() =>
showLinkVisitWarningDialog('https://getsession.org/pro-roadmap', dispatch)
}
subtitleElement={
<ProInfoBlockSectionSubtitle>
{tr('proOptionsTwoRenewalSubtitle')}
Expand Down Expand Up @@ -323,7 +327,7 @@ function ProInfoBlockCancel() {
const { data } = useProAccessDetails();
return (
<ProInfoBlockLayout
titleElement={tr('cancelAccess')}
titleElement={tr('proCancellation')}
descriptionElement={
<Localizer
token="proCancellationDescription"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -899,7 +899,7 @@ function PageHero() {
dispatch(
updateLocalizedPopupDialog({
title: { token: 'proStatusError' },
description: { token: 'proStatusNetworkErrorDescription' },
description: { token: 'proStatusRefreshNetworkError' },
overrideButtons: backendErrorButtons,
})
);
Expand Down
30 changes: 15 additions & 15 deletions ts/hooks/useHasPro.ts
Original file line number Diff line number Diff line change
Expand Up @@ -147,25 +147,25 @@ function proAccessOriginatingPlatformToStrings(
}

function useMockProAccessExpiry() {
const variant = useDataFeatureFlag('mockProAccessExpiry') ?? MockProAccessExpiryOptions.MONTH;
const variant = useDataFeatureFlag('mockProAccessExpiry') ?? MockProAccessExpiryOptions.P30D;

// NOTE: for testing the expiry time should be pinned to x time after "now"
const now = variant ? Date.now() : 0;
// NOTE: for testing the expiry time should be pinned to x + 250ms after "now", the +250ms prevents render lag from changing the timestamp
const now = variant ? Date.now() + 250 : 0;
switch (variant) {
case MockProAccessExpiryOptions.SOON:
return now + 600 * 1000;
case MockProAccessExpiryOptions.TODAY:
return now + 12 * 60 * 60 * 1000;
case MockProAccessExpiryOptions.TOMORROW:
return now + 26 * 60 * 60 * 1000;
case MockProAccessExpiryOptions.WEEK:
return now + 8 * 24 * 60 * 60 * 1000;
case MockProAccessExpiryOptions.MONTH:
case MockProAccessExpiryOptions.P7D:
return now + 7 * 24 * 60 * 60 * 1000;
case MockProAccessExpiryOptions.P29D:
return now + 29 * 24 * 60 * 60 * 1000;
case MockProAccessExpiryOptions.P30D:
return now + 30 * 24 * 60 * 60 * 1000;
case MockProAccessExpiryOptions.THREE_MONTH:
case MockProAccessExpiryOptions.P30DT1S:
return now + 30 * 24 * 60 * 61 * 1000;
case MockProAccessExpiryOptions.P90D:
return now + 90 * 24 * 60 * 60 * 1000;
case MockProAccessExpiryOptions.YEAR:
return now + 12 * 30 * 24 * 60 * 60 * 1000;
case MockProAccessExpiryOptions.P300D:
return now + 300 * 24 * 60 * 60 * 1000;
case MockProAccessExpiryOptions.P365D:
return now + 365 * 24 * 60 * 60 * 1000;
case MockProAccessExpiryOptions.P24DT1M:
return now + 24 * 24 * 60 * 60 * 1000 + 60 * 60 * 1000;
case MockProAccessExpiryOptions.PT24H1M:
Expand Down
17 changes: 9 additions & 8 deletions ts/state/ducks/types/releasedFeaturesReduxTypes.ts
Original file line number Diff line number Diff line change
Expand Up @@ -29,15 +29,16 @@ export type SessionFeatureFlags = {
fsTTL30s: boolean;
};

// ISO8601 duration format
export enum MockProAccessExpiryOptions {
SOON = 0,
TODAY = 1,
TOMORROW = 2,
WEEK = 3,
MONTH = 4,
THREE_MONTH = 5,
YEAR = 6,
// The following are test cases from the PRD in ISO8601 duration format
P7D = 0,
P29D = 1,
P30D = 2,
P30DT1S = 3,
P90D = 4,
P300D = 5,
P365D = 6,
// The following are test cases from the PRD
P24DT1M = 7,
PT24H1M = 8,
PT23H59M = 9,
Expand Down
Loading