Disable error reporting in Scaffold

This commit is contained in:
Abe Jellinek 2024-01-23 12:05:48 -05:00
parent ac7eb87632
commit a37dd2462a
2 changed files with 21 additions and 13 deletions

View file

@ -1000,7 +1000,7 @@ var Scaffold = new function () {
let translate; let translate;
let isRemoteWeb = false; let isRemoteWeb = false;
if (functionToRun == "detectWeb" || functionToRun == "doWeb") { if (functionToRun == "detectWeb" || functionToRun == "doWeb") {
translate = new RemoteTranslate(); translate = new RemoteTranslate({ disableErrorReporting: true });
isRemoteWeb = true; isRemoteWeb = true;
if (!_testTargetRegex(input)) { if (!_testTargetRegex(input)) {
_logOutput("Target did not match " + _getCurrentURI(input)); _logOutput("Target did not match " + _getCurrentURI(input));
@ -1703,7 +1703,7 @@ var Scaffold = new function () {
let input = await _getInput(type); let input = await _getInput(type);
if (type == "web") { if (type == "web") {
let translate = new RemoteTranslate(); let translate = new RemoteTranslate({ disableErrorReporting: true });
try { try {
await translate.setBrowser(_browser); await translate.setBrowser(_browser);
await translate.setTranslatorProvider(_translatorProvider); await translate.setTranslatorProvider(_translatorProvider);
@ -2074,7 +2074,7 @@ var Scaffold = new function () {
_logOutput("Page URL differs from test. Will be updated. " + browser.currentURI.spec); _logOutput("Page URL differs from test. Will be updated. " + browser.currentURI.spec);
} }
let translate = new RemoteTranslate(); let translate = new RemoteTranslate({ disableErrorReporting: true });
try { try {
await translate.setBrowser(browser); await translate.setBrowser(browser);
await translate.setTranslatorProvider(_translatorProvider); await translate.setTranslatorProvider(_translatorProvider);

View file

@ -52,7 +52,9 @@ class RemoteTranslate {
_wasSuccess = false; _wasSuccess = false;
constructor() { constructor({ disableErrorReporting = false } = {}) {
this._disableErrorReporting = disableErrorReporting;
TranslationManager.add(this._id, this); TranslationManager.add(this._id, this);
TranslationManager.setHandler(this._id, 'done', (_, success) => this._wasSuccess = success); TranslationManager.setHandler(this._id, 'done', (_, success) => this._wasSuccess = success);
} }
@ -64,18 +66,24 @@ class RemoteTranslate {
async setBrowser(browser) { async setBrowser(browser) {
this._browser = browser; this._browser = browser;
let actor = this._browser.browsingContext.currentWindowGlobal.getActor("Translation"); let actor = this._browser.browsingContext.currentWindowGlobal.getActor("Translation");
// Make only relevant prefs available
// https://github.com/zotero/zotero-connectors/blob/d5f025de9b4f513535cbf4639c6b59bf115d790d/src/common/zotero.js#L264-L265
let prefs = this._getPrefs([
'downloadAssociatedFiles',
'automaticSnapshots',
'reportTranslationFailure',
'capitalizeTitles',
'translators.',
]);
if (this._disableErrorReporting) {
prefs.reportTranslationFailure = false;
}
await actor.sendAsyncMessage("initTranslation", { await actor.sendAsyncMessage("initTranslation", {
schemaJSON: Zotero.File.getResource('resource://zotero/schema/global/schema.json'), schemaJSON: Zotero.File.getResource('resource://zotero/schema/global/schema.json'),
dateFormatsJSON: Zotero.File.getResource('resource://zotero/schema/dateFormats.json'), dateFormatsJSON: Zotero.File.getResource('resource://zotero/schema/dateFormats.json'),
// Make only relevant prefs available prefs,
// https://github.com/zotero/zotero-connectors/blob/d5f025de9b4f513535cbf4639c6b59bf115d790d/src/common/zotero.js#L264-L265
prefs: this._getPrefs([
'downloadAssociatedFiles',
'automaticSnapshots',
'reportTranslationFailure',
'capitalizeTitles',
'translators.',
]),
}); });
} }