From 37043d407c28a782b866787e33aa104dc053a063 Mon Sep 17 00:00:00 2001 From: Kevin Jump Date: Thu, 9 Apr 2026 14:45:46 +0100 Subject: [PATCH 1/3] Fixes #910 - adds date to export filename --- .../usync-assets/src/workspace/workspace.context.ts | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/uSync.Backoffice.Management.Client/usync-assets/src/workspace/workspace.context.ts b/uSync.Backoffice.Management.Client/usync-assets/src/workspace/workspace.context.ts index f6aa3d60..ebd36e29 100644 --- a/uSync.Backoffice.Management.Client/usync-assets/src/workspace/workspace.context.ts +++ b/uSync.Backoffice.Management.Client/usync-assets/src/workspace/workspace.context.ts @@ -299,13 +299,20 @@ export class uSyncWorkspaceContext const download = document.createElement('a'); download.href = url; - download.download = 'usync-export.zip'; + download.download = this.#getFileName(); document.body.appendChild(download); download.dispatchEvent(new MouseEvent('click')); download.remove(); window.URL.revokeObjectURL(url); } + #getFileName() { + const timestamp = new Date() + .toISOString() + .replace(/^20(\d{2})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2}).*/, '$1$2$3_$4$5$6'); + return `usync_export_${timestamp}.zip`; + } + async importSingle(item: USyncActionView) { if (!item) return; From 8cf1b8eebbba3225edecaf6d6e9e5e52604cde5b Mon Sep 17 00:00:00 2001 From: Kevin Jump Date: Thu, 9 Apr 2026 14:49:46 +0100 Subject: [PATCH 2/3] Update uSync.Backoffice.Management.Client/usync-assets/src/workspace/workspace.context.ts Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- .../usync-assets/src/workspace/workspace.context.ts | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/uSync.Backoffice.Management.Client/usync-assets/src/workspace/workspace.context.ts b/uSync.Backoffice.Management.Client/usync-assets/src/workspace/workspace.context.ts index ebd36e29..466041f7 100644 --- a/uSync.Backoffice.Management.Client/usync-assets/src/workspace/workspace.context.ts +++ b/uSync.Backoffice.Management.Client/usync-assets/src/workspace/workspace.context.ts @@ -307,9 +307,15 @@ export class uSyncWorkspaceContext } #getFileName() { - const timestamp = new Date() - .toISOString() - .replace(/^20(\d{2})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2}).*/, '$1$2$3_$4$5$6'); + const now = new Date(); + const year = now.getUTCFullYear().toString(); + const month = (now.getUTCMonth() + 1).toString().padStart(2, '0'); + const day = now.getUTCDate().toString().padStart(2, '0'); + const hours = now.getUTCHours().toString().padStart(2, '0'); + const minutes = now.getUTCMinutes().toString().padStart(2, '0'); + const seconds = now.getUTCSeconds().toString().padStart(2, '0'); + const milliseconds = now.getUTCMilliseconds().toString().padStart(3, '0'); + const timestamp = `${year}${month}${day}_${hours}${minutes}${seconds}${milliseconds}`; return `usync_export_${timestamp}.zip`; } From 2fd1942f25c6b73562e56f9baea78a6d99d8beaf Mon Sep 17 00:00:00 2001 From: Kevin Jump Date: Thu, 9 Apr 2026 14:50:35 +0100 Subject: [PATCH 3/3] only go to seconds --- .../usync-assets/src/workspace/workspace.context.ts | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/uSync.Backoffice.Management.Client/usync-assets/src/workspace/workspace.context.ts b/uSync.Backoffice.Management.Client/usync-assets/src/workspace/workspace.context.ts index 466041f7..d4f4f1a6 100644 --- a/uSync.Backoffice.Management.Client/usync-assets/src/workspace/workspace.context.ts +++ b/uSync.Backoffice.Management.Client/usync-assets/src/workspace/workspace.context.ts @@ -314,8 +314,7 @@ export class uSyncWorkspaceContext const hours = now.getUTCHours().toString().padStart(2, '0'); const minutes = now.getUTCMinutes().toString().padStart(2, '0'); const seconds = now.getUTCSeconds().toString().padStart(2, '0'); - const milliseconds = now.getUTCMilliseconds().toString().padStart(3, '0'); - const timestamp = `${year}${month}${day}_${hours}${minutes}${seconds}${milliseconds}`; + const timestamp = `${year}${month}${day}_${hours}${minutes}${seconds}`; return `usync_export_${timestamp}.zip`; }