Skip to content

Commit c837790

Browse files
committed
Fix download via popup on Edge
Fixes: #208 Signed-off-by: Simon Bennetts <psiinon@gmail.com>
1 parent 1dfa82f commit c837790

File tree

7 files changed

+20
-23
lines changed

7 files changed

+20
-23
lines changed

CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
88
### Fixed
99
- Download on script completion on Chrome.
1010
- Download file date string.
11+
- Download via popup on Edge.
12+
- Close notification dialog when script downloaded directly.
1113

1214
## 0.1.2 - 2025-06-17
1315

CHANGELOG.rec.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
88
### Fixed
99
- Download on script completion on Chrome.
1010
- Download file date string.
11+
- Download via popup on Edge.
12+
- Close notification dialog when script downloaded directly.
1113

1214
## 0.1.2 - 2025-06-17
1315

source/Background/index.ts

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,6 @@ import {
3030
REPORT_OBJECT,
3131
RESET_ZEST_SCRIPT,
3232
SESSION_STORAGE,
33-
SET_SAVE_SCRIPT_ENABLE,
3433
STOP_RECORDING,
3534
ZEST_SCRIPT,
3635
} from '../utils/constants';
@@ -249,11 +248,6 @@ async function handleMessage(
249248
}
250249
break;
251250
}
252-
case SET_SAVE_SCRIPT_ENABLE:
253-
Browser.storage.sync.set({
254-
zapenablesavescript: zestScript.getZestStatementCount() > 0,
255-
});
256-
break;
257251

258252
default:
259253
// Handle unknown request type

source/Popup/index.tsx

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@ import {
2525
GET_ZEST_SCRIPT,
2626
IS_FULL_EXTENSION,
2727
RESET_ZEST_SCRIPT,
28-
SET_SAVE_SCRIPT_ENABLE,
2928
STOP_RECORDING,
3029
UPDATE_TITLE,
3130
ZAP_START_RECORDING,
@@ -90,14 +89,12 @@ function startedAnimation(): void {
9089

9190
async function restoreState(): Promise<void> {
9291
console.log('Restore state');
93-
await Browser.runtime.sendMessage({type: SET_SAVE_SCRIPT_ENABLE});
9492
optionsIcon.title = OPTIONS;
9593
downloadIcon.title = DOWNLOAD;
9694
Browser.storage.sync
9795
.get({
9896
zaprecordingactive: false,
9997
zapscriptname: '',
100-
zapenablesavescript: false,
10198
})
10299
.then((items) => {
103100
if (items.zaprecordingactive) {
@@ -111,11 +108,6 @@ async function restoreState(): Promise<void> {
111108
} else {
112109
done?.classList.add('invisible');
113110
}
114-
if (!items.zapenablesavescript) {
115-
saveScriptButton.classList.add('disabled');
116-
} else {
117-
saveScriptButton.classList.remove('disabled');
118-
}
119111
});
120112
}
121113

@@ -189,7 +181,14 @@ function openHelpPage(): void {
189181
closePopup();
190182
}
191183

192-
function downloadZestScript(zestScriptJSON: string, title: string): void {
184+
function downloadZestScript(
185+
zestScriptJSON: string,
186+
title: string,
187+
statementCount: number
188+
): void {
189+
if (statementCount === 0) {
190+
return;
191+
}
193192
if (title === '') {
194193
scriptNameInput?.focus();
195194
return;
@@ -211,11 +210,12 @@ async function handleSaveScript(): Promise<void> {
211210
zaprecordingactive: false,
212211
});
213212
if (storageItems.zaprecordingactive) {
213+
sendMessageToContentScript(ZAP_STOP_RECORDING);
214214
await Browser.runtime.sendMessage({type: STOP_RECORDING});
215215
}
216216
Browser.runtime.sendMessage({type: GET_ZEST_SCRIPT}).then((items) => {
217217
const msg = items as ZestScriptMessage;
218-
downloadZestScript(msg.script, msg.title);
218+
downloadZestScript(msg.script, msg.title, msg.statementCount);
219219
});
220220
}
221221

source/Popup/styles.scss

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -275,11 +275,6 @@ html {
275275
color: var(--primary);
276276
}
277277
&:hover {color: var(--primary);}
278-
279-
&.disabled {
280-
pointer-events: none;
281-
opacity: 0.5;
282-
}
283278
}
284279

285280
@keyframes waves {

source/types/zestScript/ZestScript.ts

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ import Browser from 'webextension-polyfill';
2222
interface ZestScriptMessage {
2323
script: string;
2424
title: string;
25+
statementCount: number;
2526
}
2627

2728
class ZestScript {
@@ -93,7 +94,11 @@ class ZestScript {
9394
return new Promise((resolve) => {
9495
Browser.storage.sync.get({zapscriptname: this.title}).then((items) => {
9596
this.title = items.zapscriptname as string;
96-
resolve({script: this.toJSON(), title: this.title});
97+
resolve({
98+
script: this.toJSON(),
99+
title: this.title,
100+
statementCount: this.getZestStatementCount(),
101+
});
97102
});
98103
});
99104
}

source/utils/constants.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,6 @@ export const DEFAULT_WINDOW_HANDLE = 'windowHandle1';
3838

3939
export const ZAP_STOP_RECORDING = 'zapStopRecording';
4040
export const ZAP_START_RECORDING = 'zapStartRecording';
41-
export const SET_SAVE_SCRIPT_ENABLE = 'setSaveScriptEnable';
4241
export const ZEST_SCRIPT = 'zestScript';
4342

4443
export const STOP_RECORDING = 'stopRecording';

0 commit comments

Comments
 (0)