diff --git a/backend/btrixcloud/storages.py b/backend/btrixcloud/storages.py index cee943dcbf..50b9557a92 100644 --- a/backend/btrixcloud/storages.py +++ b/backend/btrixcloud/storages.py @@ -143,7 +143,7 @@ def _create_s3_storage(self, storage: dict[str, str]) -> S3Storage: use_access_for_presign = False else: access_endpoint_url = storage.get("access_endpoint_url") or endpoint_url - use_access_for_presign = True + use_access_for_presign = is_bool(storage.get("use_access_for_presign")) return S3Storage( access_key=storage["access_key"], diff --git a/chart/values.yaml b/chart/values.yaml index 17d4d5fbc2..a0814866db 100644 --- a/chart/values.yaml +++ b/chart/values.yaml @@ -75,7 +75,7 @@ allow_dupe_invites: "0" invite_expire_seconds: 604800 # base url for replayweb.page -rwp_base_url: "https://cdn.jsdelivr.net/npm/replaywebpage@2.1.4/" +rwp_base_url: "https://cdn.jsdelivr.net/npm/replaywebpage@2.2.4/" superuser: # set this to enable a superuser admin diff --git a/frontend/src/features/collections/collection-items-dialog.ts b/frontend/src/features/collections/collection-items-dialog.ts index 81f109a098..34a65ed22a 100644 --- a/frontend/src/features/collections/collection-items-dialog.ts +++ b/frontend/src/features/collections/collection-items-dialog.ts @@ -554,7 +554,7 @@ export class CollectionItemsDialog extends BtrixElement { let selectionMessage = msg("No changes to save"); if (hasChange) { - const messages = []; + const messages: string[] = []; if (addCount) { messages.push( msg( @@ -564,7 +564,9 @@ export class CollectionItemsDialog extends BtrixElement { } if (removeCount) { messages.push( - str`Adding ${formatNumber(removeCount)} ${pluralOf("items", removeCount)}`, + msg( + str`Removing ${formatNumber(removeCount)} ${pluralOf("items", removeCount)}`, + ), ); } diff --git a/frontend/src/pages/org/collection-detail.ts b/frontend/src/pages/org/collection-detail.ts index 0781a7e0ea..d2f1f0843d 100644 --- a/frontend/src/pages/org/collection-detail.ts +++ b/frontend/src/pages/org/collection-detail.ts @@ -61,6 +61,9 @@ export class CollectionDetail extends BtrixElement { @query(".descriptionExpandBtn") private readonly descriptionExpandBtn?: HTMLElement | null; + @query("replay-web-page") + private readonly replayEmbed?: HTMLElement | null; + // Use to cancel requests private getArchivedItemsController: AbortController | null = null; @@ -204,6 +207,7 @@ export class CollectionDetail extends BtrixElement { ?open=${this.openDialogName === "editItems"} @sl-hide=${() => (this.openDialogName = undefined)} @btrix-collection-saved=${() => { + this.refreshReplay(); void this.fetchCollection(); void this.fetchArchivedItems(); }} @@ -216,7 +220,10 @@ export class CollectionDetail extends BtrixElement { .collection=${this.collection!} ?open=${this.openDialogName === "editMetadata"} @sl-hide=${() => (this.openDialogName = undefined)} - @btrix-collection-saved=${() => void this.fetchCollection()} + @btrix-collection-saved=${() => { + this.refreshReplay(); + void this.fetchCollection(); + }} > `, @@ -224,6 +231,17 @@ export class CollectionDetail extends BtrixElement { ${this.renderShareDialog()}`; } + private refreshReplay() { + if (this.replayEmbed) { + try { + // eslint-disable-next-line @typescript-eslint/no-explicit-any + (this.replayEmbed as any).fullReload(); + } catch (e) { + console.warn("Full reload not available in RWP"); + } + } + } + private getPublicReplayURL() { return new URL( `/api/orgs/${this.orgId}/collections/${this.collectionId}/public/replay.json`, diff --git a/frontend/xliff/es.xlf b/frontend/xliff/es.xlf index 42e084cb60..d11806c40e 100644 --- a/frontend/xliff/es.xlf +++ b/frontend/xliff/es.xlf @@ -3780,6 +3780,9 @@ org settings for details. + + Removing +