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.
+
+
+