1
0
mirror of https://github.com/bitwarden/browser.git synced 2025-01-17 20:31:50 +01:00

Merge branch 'main' of https://github.com/bitwarden/clients into PM-12561

This commit is contained in:
Daniel James Smith 2024-09-24 09:18:18 +02:00
commit b180c53a69
No known key found for this signature in database
GPG Key ID: DA2E2EC600E1289B
14 changed files with 45 additions and 55 deletions

View File

@ -1,6 +1,6 @@
{ {
"name": "@bitwarden/browser", "name": "@bitwarden/browser",
"version": "2024.9.1", "version": "2024.9.2",
"scripts": { "scripts": {
"build": "cross-env MANIFEST_VERSION=3 webpack", "build": "cross-env MANIFEST_VERSION=3 webpack",
"build:mv2": "webpack", "build:mv2": "webpack",

View File

@ -2,7 +2,7 @@
"manifest_version": 2, "manifest_version": 2,
"name": "__MSG_extName__", "name": "__MSG_extName__",
"short_name": "__MSG_appName__", "short_name": "__MSG_appName__",
"version": "2024.9.1", "version": "2024.9.2",
"description": "__MSG_extDesc__", "description": "__MSG_extDesc__",
"default_locale": "en", "default_locale": "en",
"author": "Bitwarden Inc.", "author": "Bitwarden Inc.",

View File

@ -3,7 +3,7 @@
"minimum_chrome_version": "102.0", "minimum_chrome_version": "102.0",
"name": "__MSG_extName__", "name": "__MSG_extName__",
"short_name": "__MSG_appName__", "short_name": "__MSG_appName__",
"version": "2024.9.1", "version": "2024.9.2",
"description": "__MSG_extDesc__", "description": "__MSG_extDesc__",
"default_locale": "en", "default_locale": "en",
"author": "Bitwarden Inc.", "author": "Bitwarden Inc.",

View File

@ -1,7 +1,7 @@
{ {
"name": "@bitwarden/cli", "name": "@bitwarden/cli",
"description": "A secure and free password manager for all of your devices.", "description": "A secure and free password manager for all of your devices.",
"version": "2024.9.0", "version": "2024.9.1",
"keywords": [ "keywords": [
"bitwarden", "bitwarden",
"password", "password",

View File

@ -1,7 +1,7 @@
{ {
"name": "@bitwarden/desktop", "name": "@bitwarden/desktop",
"description": "A secure and free password manager for all of your devices.", "description": "A secure and free password manager for all of your devices.",
"version": "2024.9.1", "version": "2024.9.2",
"keywords": [ "keywords": [
"bitwarden", "bitwarden",
"password", "password",

View File

@ -1,12 +1,12 @@
{ {
"name": "@bitwarden/desktop", "name": "@bitwarden/desktop",
"version": "2024.9.1", "version": "2024.9.2",
"lockfileVersion": 3, "lockfileVersion": 3,
"requires": true, "requires": true,
"packages": { "packages": {
"": { "": {
"name": "@bitwarden/desktop", "name": "@bitwarden/desktop",
"version": "2024.9.1", "version": "2024.9.2",
"license": "GPL-3.0", "license": "GPL-3.0",
"dependencies": { "dependencies": {
"@bitwarden/desktop-napi": "file:../desktop_native/napi", "@bitwarden/desktop-napi": "file:../desktop_native/napi",

View File

@ -2,7 +2,7 @@
"name": "@bitwarden/desktop", "name": "@bitwarden/desktop",
"productName": "Bitwarden", "productName": "Bitwarden",
"description": "A secure and free password manager for all of your devices.", "description": "A secure and free password manager for all of your devices.",
"version": "2024.9.1", "version": "2024.9.2",
"author": "Bitwarden Inc. <hello@bitwarden.com> (https://bitwarden.com)", "author": "Bitwarden Inc. <hello@bitwarden.com> (https://bitwarden.com)",
"homepage": "https://bitwarden.com", "homepage": "https://bitwarden.com",
"license": "GPL-3.0", "license": "GPL-3.0",

View File

@ -1,6 +1,6 @@
{ {
"name": "@bitwarden/web-vault", "name": "@bitwarden/web-vault",
"version": "2024.9.1", "version": "2024.9.2",
"scripts": { "scripts": {
"build:oss": "webpack", "build:oss": "webpack",
"build:bit": "webpack -c ../../bitwarden_license/bit-web/webpack.config.js", "build:bit": "webpack -c ../../bitwarden_license/bit-web/webpack.config.js",

View File

@ -11,7 +11,6 @@ import { ActivatedRoute, Params, Router } from "@angular/router";
import { import {
BehaviorSubject, BehaviorSubject,
combineLatest, combineLatest,
defer,
firstValueFrom, firstValueFrom,
lastValueFrom, lastValueFrom,
Observable, Observable,
@ -283,27 +282,10 @@ export class VaultComponent implements OnInit, OnDestroy {
this.currentSearchText$ = this.route.queryParams.pipe(map((queryParams) => queryParams.search)); this.currentSearchText$ = this.route.queryParams.pipe(map((queryParams) => queryParams.search));
this.allCollectionsWithoutUnassigned$ = combineLatest([ this.allCollectionsWithoutUnassigned$ = this.refresh$.pipe(
organizationId$.pipe(switchMap((orgId) => this.collectionAdminService.getAll(orgId))), switchMap(() => organizationId$),
defer(() => this.collectionService.getAllDecrypted()), switchMap((orgId) => this.collectionAdminService.getAll(orgId)),
]).pipe( shareReplay({ refCount: false, bufferSize: 1 }),
map(([adminCollections, syncCollections]) => {
const syncCollectionDict = Object.fromEntries(syncCollections.map((c) => [c.id, c]));
return adminCollections.map((collection) => {
const currentId: any = collection.id;
const match = syncCollectionDict[currentId];
if (match) {
collection.manage = match.manage;
collection.readOnly = match.readOnly;
collection.hidePasswords = match.hidePasswords;
}
return collection;
});
}),
shareReplay({ refCount: true, bufferSize: 1 }),
); );
this.editableCollections$ = this.allCollectionsWithoutUnassigned$.pipe( this.editableCollections$ = this.allCollectionsWithoutUnassigned$.pipe(
@ -367,7 +349,6 @@ export class VaultComponent implements OnInit, OnDestroy {
map((ciphers) => { map((ciphers) => {
return Object.fromEntries(ciphers.map((c) => [c.id, c])); return Object.fromEntries(ciphers.map((c) => [c.id, c]));
}), }),
shareReplay({ refCount: true, bufferSize: 1 }),
); );
const nestedCollections$ = allCollections$.pipe( const nestedCollections$ = allCollections$.pipe(

View File

@ -1,6 +1,6 @@
<bit-section [formGroup]="sendOptionsForm"> <bit-section [formGroup]="sendOptionsForm">
<bit-section-header> <bit-section-header>
<h2 class="tw-mt-4" bitTypography="h5">{{ "additionalOptions" | i18n }}</h2> <h2 class="tw-mt-4" bitTypography="h6">{{ "additionalOptions" | i18n }}</h2>
</bit-section-header> </bit-section-header>
<bit-card> <bit-card>
<bit-form-field> <bit-form-field>
@ -18,9 +18,10 @@
<button type="button" bitIconButton bitSuffix bitPasswordInputToggle></button> <button type="button" bitIconButton bitSuffix bitPasswordInputToggle></button>
<button <button
type="button" type="button"
bitIconButton="bwi-refresh" bitIconButton="bwi-generate"
bitSuffix bitSuffix
data-testid="regenerate-password" [appA11yTitle]="'generatePassword' | i18n"
data-testid="generate-password"
></button> ></button>
<bit-hint>{{ "sendPasswordDescV2" | i18n }}</bit-hint> <bit-hint>{{ "sendPasswordDescV2" | i18n }}</bit-hint>
</bit-form-field> </bit-form-field>
@ -28,9 +29,9 @@
<input bitCheckbox type="checkbox" formControlName="hideEmail" /> <input bitCheckbox type="checkbox" formControlName="hideEmail" />
<bit-label>{{ "hideYourEmail" | i18n }}</bit-label> <bit-label>{{ "hideYourEmail" | i18n }}</bit-label>
</bit-form-control> </bit-form-control>
<bit-form-field> <bit-form-field disableMargin>
<bit-label>{{ "privateNote" | i18n }}</bit-label> <bit-label>{{ "privateNote" | i18n }}</bit-label>
<textarea bitInput rows="4" formControlName="notes"></textarea> <textarea bitInput rows="3" formControlName="notes"></textarea>
</bit-form-field> </bit-form-field>
</bit-card> </bit-card>
</bit-section> </bit-section>

View File

@ -1,6 +1,6 @@
<bit-section [formGroup]="sendDetailsForm"> <bit-section [formGroup]="sendDetailsForm">
<bit-section-header class="tw-mt-4"> <bit-section-header class="tw-mt-2">
<h2 bitTypography="h5">{{ "sendDetails" | i18n }}</h2> <h2 bitTypography="h6">{{ "sendDetails" | i18n }}</h2>
</bit-section-header> </bit-section-header>
<bit-card> <bit-card>
@ -34,7 +34,7 @@
></button> ></button>
</bit-form-field> </bit-form-field>
<bit-form-field> <bit-form-field disableMargin>
<bit-label>{{ "deletionDate" | i18n }}</bit-label> <bit-label>{{ "deletionDate" | i18n }}</bit-label>
<bit-select <bit-select
id="deletionDate" id="deletionDate"

View File

@ -1,20 +1,22 @@
<bit-section [formGroup]="sendFileDetailsForm"> <bit-section [formGroup]="sendFileDetailsForm">
<div *ngIf="config.mode === 'edit'"> <div *ngIf="config.mode === 'edit'">
<div class="tw-text-muted">{{ "file" | i18n }}</div> <div bitTypography="body2" class="tw-text-muted">{{ "file" | i18n }}</div>
<div data-testid="file-name">{{ originalSendView.file.fileName }}</div> <div data-testid="file-name">{{ originalSendView.file.fileName }}</div>
<div data-testid="file-size" class="tw-text-muted">{{ originalSendView.file.sizeName }}</div> <div data-testid="file-size" class="tw-text-muted">{{ originalSendView.file.sizeName }}</div>
</div> </div>
<bit-form-field *ngIf="config.mode !== 'edit'"> <bit-form-field *ngIf="config.mode !== 'edit'">
<bit-label for="file">{{ "fileToShare" | i18n }}</bit-label> <bit-label for="file">{{ "fileToShare" | i18n }}</bit-label>
<button bitButton type="button" buttonType="primary" (click)="fileSelector.click()"> <div class="tw-flex tw-mt-2 tw-mb-1">
{{ "chooseFile" | i18n }} <button bitButton type="button" buttonType="secondary" (click)="fileSelector.click()">
</button> {{ "chooseFile" | i18n }}
<span </button>
class="tw-flex tw-items-center tw-pl-3" <span
[ngClass]="fileName ? 'tw-text-main' : 'tw-text-muted'" class="tw-flex tw-items-center tw-pl-3"
> [ngClass]="fileName ? 'tw-text-main' : 'tw-text-muted'"
{{ fileName || ("noFileChosen" | i18n) }}</span >
> {{ fileName || ("noFileChosen" | i18n) }}</span
>
</div>
<input <input
bitInput bitInput
#fileSelector #fileSelector

View File

@ -7,7 +7,12 @@ import { JslibModule } from "@bitwarden/angular/jslib.module";
import { SendType } from "@bitwarden/common/tools/send/enums/send-type"; import { SendType } from "@bitwarden/common/tools/send/enums/send-type";
import { SendFileView } from "@bitwarden/common/tools/send/models/view/send-file.view"; import { SendFileView } from "@bitwarden/common/tools/send/models/view/send-file.view";
import { SendView } from "@bitwarden/common/tools/send/models/view/send.view"; import { SendView } from "@bitwarden/common/tools/send/models/view/send.view";
import { ButtonModule, FormFieldModule, SectionComponent } from "@bitwarden/components"; import {
ButtonModule,
FormFieldModule,
SectionComponent,
TypographyModule,
} from "@bitwarden/components";
import { SendFormConfig } from "../../abstractions/send-form-config.service"; import { SendFormConfig } from "../../abstractions/send-form-config.service";
import { SendFormContainer } from "../../send-form-container"; import { SendFormContainer } from "../../send-form-container";
@ -24,6 +29,7 @@ import { SendFormContainer } from "../../send-form-container";
FormFieldModule, FormFieldModule,
SectionComponent, SectionComponent,
FormsModule, FormsModule,
TypographyModule,
], ],
}) })
export class SendFileDetailsComponent implements OnInit { export class SendFileDetailsComponent implements OnInit {

8
package-lock.json generated
View File

@ -192,11 +192,11 @@
}, },
"apps/browser": { "apps/browser": {
"name": "@bitwarden/browser", "name": "@bitwarden/browser",
"version": "2024.9.1" "version": "2024.9.2"
}, },
"apps/cli": { "apps/cli": {
"name": "@bitwarden/cli", "name": "@bitwarden/cli",
"version": "2024.9.0", "version": "2024.9.1",
"license": "SEE LICENSE IN LICENSE.txt", "license": "SEE LICENSE IN LICENSE.txt",
"dependencies": { "dependencies": {
"@koa/multer": "3.0.2", "@koa/multer": "3.0.2",
@ -232,7 +232,7 @@
}, },
"apps/desktop": { "apps/desktop": {
"name": "@bitwarden/desktop", "name": "@bitwarden/desktop",
"version": "2024.9.1", "version": "2024.9.2",
"hasInstallScript": true, "hasInstallScript": true,
"license": "GPL-3.0" "license": "GPL-3.0"
}, },
@ -246,7 +246,7 @@
}, },
"apps/web": { "apps/web": {
"name": "@bitwarden/web-vault", "name": "@bitwarden/web-vault",
"version": "2024.9.1" "version": "2024.9.2"
}, },
"libs/admin-console": { "libs/admin-console": {
"name": "@bitwarden/admin-console", "name": "@bitwarden/admin-console",