fix: add bookmark operation flag for ts check (#2699)

(cherry picked from commit fc658f4a95)
This commit is contained in:
wonderl17
2023-06-07 10:18:19 +08:00
committed by Alex Yang
parent 9b721f7628
commit 3490fa186c
+41 -41
View File
@@ -31,6 +31,7 @@ export const blockSuiteFeatureFlags = z.object({
enable_slash_menu: z.boolean(), enable_slash_menu: z.boolean(),
enable_edgeless_toolbar: z.boolean(), enable_edgeless_toolbar: z.boolean(),
enable_linked_page: z.boolean(), enable_linked_page: z.boolean(),
enable_bookmark_operation: z.boolean(),
}); });
export type BlockSuiteFeatureFlags = z.infer<typeof blockSuiteFeatureFlags>; export type BlockSuiteFeatureFlags = z.infer<typeof blockSuiteFeatureFlags>;
@@ -106,52 +107,51 @@ interface Desktop extends ChromeBrowser {
export type Environment = Browser | Server | Desktop; export type Environment = Browser | Server | Desktop;
export const env: Environment = (()=>{ export const env: Environment = (() => {
let environment = null let environment = null;
const isDebug = process.env.NODE_ENV === 'development'; const isDebug = process.env.NODE_ENV === 'development';
if (typeof window === 'undefined' || typeof navigator === 'undefined') { if (typeof window === 'undefined' || typeof navigator === 'undefined') {
environment = { environment = {
isDesktop: false, isDesktop: false,
isBrowser: false, isBrowser: false,
isServer: true, isServer: true,
isDebug, isDebug,
} satisfies Server; } satisfies Server;
} else { } else {
const uaHelper = new UaHelper(navigator); const uaHelper = new UaHelper(navigator);
environment = {
origin: window.location.origin,
isDesktop: !!window.appInfo?.electron,
isBrowser: true,
isServer: false,
isDebug,
isLinux: uaHelper.isLinux,
isMacOs: uaHelper.isMacOs,
isSafari: uaHelper.isSafari,
isWindows: uaHelper.isWindows,
isFireFox: uaHelper.isFireFox,
isMobile: uaHelper.isMobile,
isChrome: uaHelper.isChrome,
isIOS: uaHelper.isIOS,
} as Browser;
// Chrome on iOS is still Safari
if (environment.isChrome && !environment.isIOS) {
assertEquals(environment.isSafari, false);
assertEquals(environment.isFireFox, false);
environment = { environment = {
origin: window.location.origin, ...environment,
isDesktop: !!window.appInfo?.electron, isSafari: false,
isBrowser: true, isFireFox: false,
isServer: false, isChrome: true,
isDebug, chromeVersion: uaHelper.getChromeVersion(),
isLinux: uaHelper.isLinux, } satisfies ChromeBrowser;
isMacOs: uaHelper.isMacOs,
isSafari: uaHelper.isSafari,
isWindows: uaHelper.isWindows,
isFireFox: uaHelper.isFireFox,
isMobile: uaHelper.isMobile,
isChrome: uaHelper.isChrome,
isIOS: uaHelper.isIOS,
} as Browser;
// Chrome on iOS is still Safari
if (environment.isChrome && !environment.isIOS) {
assertEquals(environment.isSafari, false);
assertEquals(environment.isFireFox, false);
environment = {
...environment,
isSafari: false,
isFireFox: false,
isChrome: true,
chromeVersion: uaHelper.getChromeVersion(),
} satisfies ChromeBrowser;
}
} }
globalThis.environment = environment; }
return environment; globalThis.environment = environment;
return environment;
})(); })();
function printBuildInfo() { function printBuildInfo() {
console.group('Build info'); console.group('Build info');
console.log('Project:', config.PROJECT_NAME); console.log('Project:', config.PROJECT_NAME);