Version Notification: Prevent duplicates after release (#6284)
This commit is contained in:
parent
ad5bba3e6e
commit
11b8d0c318
1
src/@types/global.d.ts
vendored
1
src/@types/global.d.ts
vendored
@ -4,6 +4,7 @@ declare module '*.module.scss';
|
|||||||
|
|
||||||
declare const APP_VERSION: string;
|
declare const APP_VERSION: string;
|
||||||
declare const APP_REVISION: string;
|
declare const APP_REVISION: string;
|
||||||
|
declare const CHANGELOG_DATETIME: number | undefined;
|
||||||
|
|
||||||
declare namespace React {
|
declare namespace React {
|
||||||
interface HTMLAttributes {
|
interface HTMLAttributes {
|
||||||
|
|||||||
@ -8,7 +8,6 @@ import type {
|
|||||||
|
|
||||||
export const APP_CODE_NAME = 'A';
|
export const APP_CODE_NAME = 'A';
|
||||||
export const APP_NAME = process.env.APP_NAME || `Telegram Web ${APP_CODE_NAME}`;
|
export const APP_NAME = process.env.APP_NAME || `Telegram Web ${APP_CODE_NAME}`;
|
||||||
export const RELEASE_DATETIME = process.env.RELEASE_DATETIME;
|
|
||||||
|
|
||||||
export const PRODUCTION_HOSTNAME = 'web.telegram.org';
|
export const PRODUCTION_HOSTNAME = 'web.telegram.org';
|
||||||
export const PRODUCTION_URL = 'https://web.telegram.org/a';
|
export const PRODUCTION_URL = 'https://web.telegram.org/a';
|
||||||
|
|||||||
@ -8,7 +8,6 @@ import { type ActiveDownloads, FocusDirection } from '../../../types';
|
|||||||
|
|
||||||
import {
|
import {
|
||||||
ANIMATION_END_DELAY,
|
ANIMATION_END_DELAY,
|
||||||
RELEASE_DATETIME,
|
|
||||||
SCROLL_MAX_DURATION,
|
SCROLL_MAX_DURATION,
|
||||||
SERVICE_NOTIFICATIONS_USER_ID,
|
SERVICE_NOTIFICATIONS_USER_ID,
|
||||||
} from '../../../config';
|
} from '../../../config';
|
||||||
@ -780,7 +779,7 @@ addActionHandler('openTodoListModal', (global, actions, payload): ActionReturnTy
|
|||||||
addTabStateResetterAction('closeTodoListModal', 'todoListModal');
|
addTabStateResetterAction('closeTodoListModal', 'todoListModal');
|
||||||
|
|
||||||
addActionHandler('checkVersionNotification', (global, actions): ActionReturnType => {
|
addActionHandler('checkVersionNotification', (global, actions): ActionReturnType => {
|
||||||
if (RELEASE_DATETIME && Date.now() > Number(RELEASE_DATETIME) + VERSION_NOTIFICATION_DURATION) {
|
if (CHANGELOG_DATETIME && Date.now() > CHANGELOG_DATETIME + VERSION_NOTIFICATION_DURATION) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -3,6 +3,7 @@ import 'dotenv/config';
|
|||||||
|
|
||||||
import WatchFilePlugin from '@mytonwallet/webpack-watch-file-plugin';
|
import WatchFilePlugin from '@mytonwallet/webpack-watch-file-plugin';
|
||||||
import StatoscopeWebpackPlugin from '@statoscope/webpack-plugin';
|
import StatoscopeWebpackPlugin from '@statoscope/webpack-plugin';
|
||||||
|
import { statSync } from 'fs';
|
||||||
import { GitRevisionPlugin } from 'git-revision-webpack-plugin';
|
import { GitRevisionPlugin } from 'git-revision-webpack-plugin';
|
||||||
import HtmlWebpackPlugin from 'html-webpack-plugin';
|
import HtmlWebpackPlugin from 'html-webpack-plugin';
|
||||||
import MiniCssExtractPlugin from 'mini-css-extract-plugin';
|
import MiniCssExtractPlugin from 'mini-css-extract-plugin';
|
||||||
@ -48,6 +49,8 @@ const CSP = `
|
|||||||
form-action 'none';`
|
form-action 'none';`
|
||||||
.replace(/\s+/g, ' ').trim();
|
.replace(/\s+/g, ' ').trim();
|
||||||
|
|
||||||
|
const CHANGELOG_PATH = path.resolve(__dirname, 'src/versionNotification.txt');
|
||||||
|
|
||||||
export default function createConfig(
|
export default function createConfig(
|
||||||
_: any,
|
_: any,
|
||||||
{ mode = 'production' }: { mode: 'none' | 'development' | 'production' },
|
{ mode = 'production' }: { mode: 'none' | 'development' | 'production' },
|
||||||
@ -206,7 +209,6 @@ export default function createConfig(
|
|||||||
// eslint-disable-next-line no-null/no-null
|
// eslint-disable-next-line no-null/no-null
|
||||||
APP_NAME: null,
|
APP_NAME: null,
|
||||||
APP_TITLE,
|
APP_TITLE,
|
||||||
RELEASE_DATETIME: Date.now(),
|
|
||||||
TELEGRAM_API_ID: undefined,
|
TELEGRAM_API_ID: undefined,
|
||||||
TELEGRAM_API_HASH: undefined,
|
TELEGRAM_API_HASH: undefined,
|
||||||
// eslint-disable-next-line no-null/no-null
|
// eslint-disable-next-line no-null/no-null
|
||||||
@ -221,6 +223,11 @@ export default function createConfig(
|
|||||||
const shouldDisplayOnlyCommit = APP_ENV === 'staging' || !branch || branch === 'HEAD';
|
const shouldDisplayOnlyCommit = APP_ENV === 'staging' || !branch || branch === 'HEAD';
|
||||||
return JSON.stringify(shouldDisplayOnlyCommit ? commit : `${branch}#${commit}`);
|
return JSON.stringify(shouldDisplayOnlyCommit ? commit : `${branch}#${commit}`);
|
||||||
}, mode === 'development' ? true : []),
|
}, mode === 'development' ? true : []),
|
||||||
|
CHANGELOG_DATETIME: DefinePlugin.runtimeValue(() => {
|
||||||
|
return JSON.stringify(statSync(CHANGELOG_PATH, { throwIfNoEntry: false })?.mtime.getTime());
|
||||||
|
}, {
|
||||||
|
fileDependencies: [CHANGELOG_PATH],
|
||||||
|
}),
|
||||||
}),
|
}),
|
||||||
new ProvidePlugin({
|
new ProvidePlugin({
|
||||||
Buffer: ['buffer', 'Buffer'],
|
Buffer: ['buffer', 'Buffer'],
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user