1
0
mirror of https://github.com/bitwarden/browser synced 2026-02-09 13:10:17 +00:00

Merge branch 'main' into PM-7853-Clients-Hide-Send-from-navigation-when-user-is-subject-to-the-disable-Send-policy

This commit is contained in:
bmbitwarden
2026-01-13 12:21:53 -05:00
committed by GitHub
22 changed files with 191 additions and 186 deletions

View File

@@ -1,5 +1,3 @@
// FIXME: Update this file to be type safe and remove this and next line
// @ts-strict-ignore
import {
CreateCredentialResult,
AssertCredentialResult,

View File

@@ -1994,11 +1994,10 @@ dependencies = [
[[package]]
name = "num-bigint-dig"
version = "0.8.4"
version = "0.8.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "dc84195820f291c7697304f3cbdadd1cb7199c0efc917ff5eafd71225c136151"
checksum = "e661dda6640fad38e827a6d4a310ff4763082116fe217f279885c97f511bb0b7"
dependencies = [
"byteorder",
"lazy_static",
"libm",
"num-integer",
@@ -2653,9 +2652,9 @@ dependencies = [
[[package]]
name = "rsa"
version = "0.9.6"
version = "0.9.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5d0e5124fcb30e76a7e79bfee683a2746db83784b86289f6251b54b7950a0dfc"
checksum = "b8573f03f5883dcaebdfcf4725caa1ecb9c15b2ef50c43a07b816e06799bb12d"
dependencies = [
"const-oid",
"digest",

View File

@@ -50,7 +50,7 @@ oo7 = "=0.5.0"
pin-project = "=1.1.10"
pkcs8 = "=0.10.2"
rand = "=0.9.2"
rsa = "=0.9.6"
rsa = "=0.9.10"
russh-cryptovec = "=0.7.3"
scopeguard = "=1.2.0"
secmem-proc = "=0.3.7"

View File

@@ -114,6 +114,8 @@ const routes: Routes = [
authGuard,
canAccessFeature(FeatureFlag.DesktopUiMigrationMilestone1, false, "new-vault", false),
],
// Needed to ensure feature flag changes are picked up on account switching
runGuardsAndResolvers: "always",
},
{
path: "send",

View File

@@ -492,9 +492,8 @@ export class AppComponent implements OnInit, OnDestroy {
this.loading = true;
await this.syncService.fullSync(false);
this.loading = false;
// FIXME: Verify that this floating promise is intentional. If it is, add an explanatory comment and ensure there is proper error handling.
// eslint-disable-next-line @typescript-eslint/no-floating-promises
this.router.navigate(["vault"]);
// Force reload to ensure route guards are activated
await this.router.navigate(["vault"], { onSameUrlNavigation: "reload" });
}
this.messagingService.send("finishSwitchAccount");
break;

View File

@@ -50,10 +50,10 @@ import { WindowMain } from "./main/window.main";
import { NativeAutofillMain } from "./platform/main/autofill/native-autofill.main";
import { ClipboardMain } from "./platform/main/clipboard.main";
import { DesktopCredentialStorageListener } from "./platform/main/desktop-credential-storage-listener";
import { ElectronStorageService } from "./platform/main/electron-storage.service";
import { VersionMain } from "./platform/main/version.main";
import { DesktopSettingsService } from "./platform/services/desktop-settings.service";
import { ElectronLogMainService } from "./platform/services/electron-log.main.service";
import { ElectronStorageService } from "./platform/services/electron-storage.service";
import { EphemeralValueStorageService } from "./platform/services/ephemeral-value-storage.main.service";
import { I18nMainService } from "./platform/services/i18n.main.service";
import { SSOLocalhostCallbackService } from "./platform/services/sso-localhost-callback.service";

View File

@@ -3,7 +3,7 @@
import * as fs from "fs";
import { ipcMain } from "electron";
import ElectronStore from "electron-store";
import ElectronStore, { Options as ElectronStoreOptions } from "electron-store";
import { Subject } from "rxjs";
import {
@@ -35,7 +35,7 @@ export class ElectronStorageService implements AbstractStorageService {
NodeUtils.mkdirpSync(dir, "700");
}
const fileMode = isWindowsPortable() ? 0o666 : 0o600;
const storeConfig: ElectronStore.Options<Record<string, unknown>> = {
const storeConfig: ElectronStoreOptions<Record<string, unknown>> = {
defaults: defaults,
name: "data",
configFileMode: fileMode,

View File

@@ -0,0 +1,4 @@
{
"extends": "../../../tsconfig.main",
"include": ["./**/*.ts"]
}

View File

@@ -3,6 +3,6 @@
"angularCompilerOptions": {
"strictTemplates": true
},
"include": ["src"],
"include": ["src/**/*"],
"exclude": ["src/**/*.spec.ts"]
}

View File

@@ -0,0 +1,8 @@
{
"extends": "./tsconfig",
"compilerOptions": {
"moduleResolution": "nodenext",
"module": "nodenext"
},
"include": ["src/entry.ts", "src/global.d.ts"]
}

View File

@@ -0,0 +1,4 @@
{
"extends": "./tsconfig",
"include": ["src/preload.ts", "src/global.d.ts"]
}

View File

@@ -1,4 +1,7 @@
{
"extends": "./tsconfig.json",
"exclude": ["src/entry.ts", "src/main.ts", "src/main", "src/proxy"]
"extends": "./tsconfig",
"angularCompilerOptions": {
"strictTemplates": true
},
"include": ["src/app/main.ts", "src/global.d.ts"]
}

View File

@@ -1,5 +1,5 @@
{
"extends": "./tsconfig.json",
"extends": "./tsconfig",
"compilerOptions": {
"isolatedModules": true,
"emitDecoratorMetadata": false

View File

@@ -90,7 +90,10 @@ module.exports.buildConfig = function buildConfig(params) {
rules: [
{
test: /\.tsx?$/,
use: "ts-loader",
use: {
loader: "ts-loader",
options: { configFile: params.main.tsConfig },
},
exclude: /node_modules\/(?!(@bitwarden)\/).*/,
},
{
@@ -148,7 +151,10 @@ module.exports.buildConfig = function buildConfig(params) {
rules: [
{
test: /\.tsx?$/,
use: "ts-loader",
use: {
loader: "ts-loader",
options: { configFile: params.preload.tsConfig },
},
exclude: /node_modules\/(?!(@bitwarden)\/).*/,
},
],
@@ -296,7 +302,7 @@ module.exports.buildConfig = function buildConfig(params) {
},
plugins: [
new AngularWebpackPlugin({
tsConfigPath: params.renderer.tsConfig,
tsconfig: params.renderer.tsConfig,
entryModule: params.renderer.entryModule,
sourceMap: true,
}),

View File

@@ -14,11 +14,11 @@ module.exports = (webpackConfig, context) => {
},
main: {
entry: path.resolve(__dirname, "src/entry.ts"),
tsConfig: path.resolve(context.context.root, "apps/desktop/tsconfig.json"),
tsConfig: path.resolve(context.context.root, "apps/desktop/tsconfig.main.json"),
},
preload: {
entry: path.resolve(__dirname, "src/preload.ts"),
tsConfig: path.resolve(context.context.root, "apps/desktop/tsconfig.json"),
tsConfig: path.resolve(context.context.root, "apps/desktop/tsconfig.preload.json"),
},
outputPath: path.resolve(context.context.root, context.options.outputPath),
});
@@ -32,11 +32,11 @@ module.exports = (webpackConfig, context) => {
},
main: {
entry: path.resolve(__dirname, "src/entry.ts"),
tsConfig: path.resolve(__dirname, "tsconfig.json"),
tsConfig: path.resolve(__dirname, "tsconfig.main.json"),
},
preload: {
entry: path.resolve(__dirname, "src/preload.ts"),
tsConfig: path.resolve(__dirname, "tsconfig.json"),
tsConfig: path.resolve(__dirname, "tsconfig.preload.json"),
},
});
}

View File

@@ -257,7 +257,7 @@ export class VaultItemDialogComponent implements OnInit, OnDestroy {
}
protected get showActionButtons() {
return this.cipher !== null && this.params.mode === "form" && this.formConfig.mode !== "clone";
return this.cipher !== null && this.formConfig.mode !== "clone";
}
/**