From be30d470389e3b08ecdc3d8d7b446cc295591014 Mon Sep 17 00:00:00 2001 From: Oscar Hinton Date: Fri, 13 May 2022 15:32:15 +0200 Subject: [PATCH 01/18] [EC-200] Handle an edge case where ciphers were not selectable (#1674) --- .../organization-vault/organization-vault.component.ts | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/app/modules/vault/modules/organization-vault/organization-vault.component.ts b/src/app/modules/vault/modules/organization-vault/organization-vault.component.ts index 318be6bc..6741ab37 100644 --- a/src/app/modules/vault/modules/organization-vault/organization-vault.component.ts +++ b/src/app/modules/vault/modules/organization-vault/organization-vault.component.ts @@ -123,7 +123,11 @@ export class OrganizationVaultComponent implements OnInit, OnDestroy { this.route.queryParams.subscribe(async (params) => { if (params.cipherId) { - if ((await this.cipherService.get(params.cipherId)) != null) { + if ( + // Handle users with implicit collection access since they use the admin endpoint + this.organization.canEditAnyCollection || + (await this.cipherService.get(params.cipherId)) != null + ) { this.editCipherId(params.cipherId); } else { this.platformUtilsService.showToast( From 5d1522b77a803f7a17eef56cf5bd054b884f8452 Mon Sep 17 00:00:00 2001 From: Addison Beck Date: Fri, 13 May 2022 15:14:27 -0400 Subject: [PATCH 02/18] [fix] Check policies when reloading organizations for filters (#1677) --- src/app/modules/vault-filter/vault-filter.component.ts | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/app/modules/vault-filter/vault-filter.component.ts b/src/app/modules/vault-filter/vault-filter.component.ts index 9ffee922..17bd055b 100644 --- a/src/app/modules/vault-filter/vault-filter.component.ts +++ b/src/app/modules/vault-filter/vault-filter.component.ts @@ -32,6 +32,10 @@ export class VaultFilterComponent extends BaseVaultFilterComponent { // It should be removed as soon as doing so makes sense. async reloadOrganizations() { this.organizations = await this.vaultFilterService.buildOrganizations(); + this.activePersonalOwnershipPolicy = + await this.vaultFilterService.checkForPersonalOwnershipPolicy(); + this.activeSingleOrganizationPolicy = + await this.vaultFilterService.checkForSingleOrganizationPolicy(); } async initCollections() { From 3501be94843c9858ee36b4a21032193824287c2a Mon Sep 17 00:00:00 2001 From: Addison Beck Date: Fri, 13 May 2022 15:14:39 -0400 Subject: [PATCH 03/18] [fix] Add max width to vault filter buttons to keep content unified (#1678) --- src/scss/vault-filters.scss | 1 + 1 file changed, 1 insertion(+) diff --git a/src/scss/vault-filters.scss b/src/scss/vault-filters.scss index 552b0f75..292eff57 100644 --- a/src/scss/vault-filters.scss +++ b/src/scss/vault-filters.scss @@ -116,6 +116,7 @@ } text-decoration: none; } + max-width: 90%; } .edit-button { From ffb63a1cc73b7be9d2f65f0647bcdb2e7e49cff0 Mon Sep 17 00:00:00 2001 From: Addison Beck Date: Fri, 13 May 2022 15:14:51 -0400 Subject: [PATCH 04/18] [fix] Various Trash filter bugs from EUVR (#1681) * [fix] Hide the Add Item button when filtering for trash * [fix] Use correct bulk actions for trash filter --- .../individual-vault.component.html | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/src/app/modules/vault/modules/individual-vault/individual-vault.component.html b/src/app/modules/vault/modules/individual-vault/individual-vault.component.html index e72ea801..151354e4 100644 --- a/src/app/modules/vault/modules/individual-vault/individual-vault.component.html +++ b/src/app/modules/vault/modules/individual-vault/individual-vault.component.html @@ -32,19 +32,26 @@
- +
- + {{ trashCleanupWarning }} Date: Fri, 13 May 2022 15:36:37 -0400 Subject: [PATCH 05/18] remove hostname from simplelogin. update jslib (#1679) --- jslib | 2 +- src/app/tools/generator.component.html | 10 ---------- 2 files changed, 1 insertion(+), 11 deletions(-) diff --git a/jslib b/jslib index 1370006f..65584c64 160000 --- a/jslib +++ b/jslib @@ -1 +1 @@ -Subproject commit 1370006f6ea310cf85a12bcbd8213f74f9552c4d +Subproject commit 65584c64966a6624dd84df6a4d0e1a7155656c97 diff --git a/src/app/tools/generator.component.html b/src/app/tools/generator.component.html index f090a99d..30f2a304 100644 --- a/src/app/tools/generator.component.html +++ b/src/app/tools/generator.component.html @@ -295,16 +295,6 @@ (blur)="saveUsernameOptions()" /> -
- - -
From ca35ccbd35acf7e5b5c613d9a1602f2f5448eae5 Mon Sep 17 00:00:00 2001 From: Matt Gibson Date: Fri, 13 May 2022 15:52:58 -0400 Subject: [PATCH 06/18] PS-515 Fix/org users list performance (#1673) * [PS-515] Use virtual scroll to speed up long user lists WIP: this is currently showing a large blank area under the last user. Need to figure out why virtual-scroll-spacer is sized too large. * Fix cdk-virtual-scroll styling * Format csp for readability * Set Viewport height The viewport height was * Calculate viewport height from item size Virtual scroll viewports need set heights, we can emulate the old modal behavior by calculating an approximate height required by the viewport to display all items. It will not go beyond the window due to the `.modal-dialog-scrollable` class * Remove modal css changes * pr review --- src/app/modules/loose-components.module.ts | 3 - .../manage/entity-users.component.html | 94 +++++++++---------- .../manage/entity-users.component.ts | 11 +++ .../manage/organization-manage.module.ts | 13 +++ .../manage/collections.component.ts | 3 +- .../organizations/manage/groups.component.ts | 3 +- src/app/oss.module.ts | 2 + webpack.config.js | 56 ++++++++++- 8 files changed, 131 insertions(+), 54 deletions(-) rename src/app/{ => modules}/organizations/manage/entity-users.component.html (74%) rename src/app/{ => modules}/organizations/manage/entity-users.component.ts (93%) create mode 100644 src/app/modules/organizations/manage/organization-manage.module.ts diff --git a/src/app/modules/loose-components.module.ts b/src/app/modules/loose-components.module.ts index 89c0cb56..9dc1a0d0 100644 --- a/src/app/modules/loose-components.module.ts +++ b/src/app/modules/loose-components.module.ts @@ -35,7 +35,6 @@ import { BulkStatusComponent as OrgBulkStatusComponent } from "../organizations/ import { CollectionAddEditComponent as OrgCollectionAddEditComponent } from "../organizations/manage/collection-add-edit.component"; import { CollectionsComponent as OrgManageCollectionsComponent } from "../organizations/manage/collections.component"; import { EntityEventsComponent as OrgEntityEventsComponent } from "../organizations/manage/entity-events.component"; -import { EntityUsersComponent as OrgEntityUsersComponent } from "../organizations/manage/entity-users.component"; import { EventsComponent as OrgEventsComponent } from "../organizations/manage/events.component"; import { GroupAddEditComponent as OrgGroupAddEditComponent } from "../organizations/manage/group-add-edit.component"; import { GroupsComponent as OrgGroupsComponent } from "../organizations/manage/groups.component"; @@ -245,7 +244,6 @@ import { OrganizationBadgeModule } from "./vault/modules/organization-badge/orga OrgCollectionAddEditComponent, OrgCollectionsComponent, OrgEntityEventsComponent, - OrgEntityUsersComponent, OrgEventsComponent, OrgExportComponent, OrgExposedPasswordsReportComponent, @@ -406,7 +404,6 @@ import { OrganizationBadgeModule } from "./vault/modules/organization-badge/orga OrgCollectionAddEditComponent, OrgCollectionsComponent, OrgEntityEventsComponent, - OrgEntityUsersComponent, OrgEventsComponent, OrgExportComponent, OrgExposedPasswordsReportComponent, diff --git a/src/app/organizations/manage/entity-users.component.html b/src/app/modules/organizations/manage/entity-users.component.html similarity index 74% rename from src/app/organizations/manage/entity-users.component.html rename to src/app/modules/organizations/manage/entity-users.component.html index beb9ff0a..f4c157a9 100644 --- a/src/app/organizations/manage/entity-users.component.html +++ b/src/app/modules/organizations/manage/entity-users.component.html @@ -29,52 +29,52 @@ > {{ "loading" | i18n }}
-
  • @@ -43,7 +41,7 @@ > @@ -53,7 +51,9 @@ > From 5a78853de5d7d886a0ada6b2a48bcd05878db1d0 Mon Sep 17 00:00:00 2001 From: Matt Gibson Date: Thu, 19 May 2022 11:28:26 -0400 Subject: [PATCH 14/18] [PS-655] Add `Organization_SponsorshipsSynced` event type. (#1696) * Add `Organization_SponsorshipsSynced` event type. Update events display to handle events triggered by installations rather than users * Update jslib --- jslib | 2 +- src/app/common/base.events.component.ts | 5 ++++- src/app/services/event.service.ts | 3 +++ src/locales/en/messages.json | 3 +++ 4 files changed, 11 insertions(+), 2 deletions(-) diff --git a/jslib b/jslib index 2f548938..3cb94623 160000 --- a/jslib +++ b/jslib @@ -1 +1 @@ -Subproject commit 2f54893854da61a742f87b02ec4328f7933bfe27 +Subproject commit 3cb94623e2c6a3ac6cf6dbcd516ba23b03a7aee7 diff --git a/src/app/common/base.events.component.ts b/src/app/common/base.events.component.ts index 8fd78cce..11ad5c45 100644 --- a/src/app/common/base.events.component.ts +++ b/src/app/common/base.events.component.ts @@ -122,17 +122,20 @@ export abstract class BaseEventsComponent { const userId = r.actingUserId == null ? r.userId : r.actingUserId; const eventInfo = await this.eventService.getEventInfo(r); const user = this.getUserName(r, userId); + const userName = user != null ? user.name : this.i18nService.t("unknown"); + return new EventView({ message: eventInfo.message, humanReadableMessage: eventInfo.humanReadableMessage, appIcon: eventInfo.appIcon, appName: eventInfo.appName, userId: userId, - userName: user != null ? user.name : this.i18nService.t("unknown"), + userName: r.installationId != null ? `Installation: ${r.installationId}` : userName, userEmail: user != null ? user.email : "", date: r.date, ip: r.ipAddress, type: r.type, + installationId: r.installationId, }); }) ); diff --git a/src/app/services/event.service.ts b/src/app/services/event.service.ts index a851866b..02f50cf7 100644 --- a/src/app/services/event.service.ts +++ b/src/app/services/event.service.ts @@ -307,6 +307,9 @@ export class EventService { case EventType.Organization_DisabledKeyConnector: msg = humanReadableMsg = this.i18nService.t("disabledKeyConnector"); break; + case EventType.Organization_SponsorshipsSynced: + msg = humanReadableMsg = this.i18nService.t("sponsorshipsSynced"); + break; // Policies case EventType.Policy_Updated: { msg = this.i18nService.t("modifiedPolicyId", this.formatPolicyId(ev)); diff --git a/src/locales/en/messages.json b/src/locales/en/messages.json index 4e15b6ad..bb37b09b 100644 --- a/src/locales/en/messages.json +++ b/src/locales/en/messages.json @@ -5041,6 +5041,9 @@ "message": "Last Sync", "Description": "Used as a prefix to indicate the last time a sync occured. Example \"Last sync 1968-11-16 00:00:00\"" }, + "sponsorshipsSynced": { + "message": "Self-hosted sponsorships synced." + }, "billingManagedByProvider": { "message": "Managed by $PROVIDER$", "placeholders": { From eab478da0c0eef04d25dd64b7e57457ac4f6e66e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Filipe=20da=20Silva=20Bispo?= Date: Thu, 19 May 2022 18:30:38 +0100 Subject: [PATCH 15/18] PS-502: Remove extraneous comma from web vault footer (#1697) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - removed comma from footer files Co-authored-by: André Bispo --- src/app/layouts/footer.component.html | 2 +- src/app/layouts/frontend-layout.component.html | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/app/layouts/footer.component.html b/src/app/layouts/footer.component.html index 8601e123..98836bfd 100644 --- a/src/app/layouts/footer.component.html +++ b/src/app/layouts/footer.component.html @@ -1,6 +1,6 @@