0
Fork 0
mirror of https://codeberg.org/librewolf/source.git synced 2024-12-21 21:23:08 -05:00

attempt to fix fullpage-translations.patch for 131.0

This commit is contained in:
ohfp 2024-10-06 12:30:56 +02:00
parent 544318d753
commit 0fb44c47d5

View file

@ -1,6 +1,8 @@
diff --git a/services/settings/Attachments.sys.mjs b/services/settings/Attachments.sys.mjs
index d6d1182083c8..03fddd13b7ec 100644
--- a/services/settings/Attachments.sys.mjs
+++ b/services/settings/Attachments.sys.mjs
@@ -144,6 +144,7 @@ export class Downloader {
@@ -158,6 +158,7 @@ export class Downloader {
* @param {Boolean} [options.fallbackToDump] Use the remote settings dump as a
* potential source of the attachment.
* (default: `false`)
@ -8,7 +10,7 @@
* @throws {Downloader.DownloadError} if the file could not be fetched.
* @throws {Downloader.BadContentError} if the downloaded content integrity is not valid.
* @throws {Downloader.ServerInfoError} if the server response is not valid.
@@ -203,6 +204,7 @@ export class Downloader {
@@ -318,6 +319,7 @@ export class Downloader {
fallbackToCache = false,
fallbackToDump = false,
avoidDownload = false,
@ -16,7 +18,7 @@
} = options || {};
if (!attachmentId) {
// Check for pre-condition. This should not happen, but it is explicitly
@@ -254,6 +256,7 @@ export class Downloader {
@@ -378,6 +380,7 @@ export class Downloader {
const newBuffer = await this.downloadAsBytes(record, {
retries,
checkHash,
@ -24,7 +26,7 @@
});
const blob = new Blob([newBuffer]);
// Store in cache but don't wait for it before returning.
@@ -424,6 +427,7 @@ export class Downloader {
@@ -548,6 +551,7 @@ export class Downloader {
* @param {Object} options Some download options.
* @param {Number} options.retries Number of times download should be retried (default: `3`)
* @param {Boolean} options.checkHash Check content integrity (default: `true`)
@ -32,49 +34,31 @@
* @throws {Downloader.DownloadError} if the file could not be fetched.
* @throws {Downloader.BadContentError} if the downloaded content integrity is not valid.
* @returns {ArrayBuffer} the file content.
@@ -432,10 +436,11 @@ export class Downloader {
@@ -556,17 +560,17 @@ export class Downloader {
const {
attachment: { location, hash, size },
} = record;
+ const { retries = 3, checkHash = true, serverUrl } = options;
- const remoteFileUrl = (await this._baseAttachmentsURL()) + location;
+ const remoteFileUrl =
+ (await this._baseAttachmentsURL(serverUrl)) + location;
let baseURL;
try {
- baseURL = await lazy.Utils.baseAttachmentsURL();
+ baseURL = await lazy.Utils.baseAttachmentsURL(serverUrl);
} catch (error) {
throw new Downloader.ServerInfoError(error);
}
const remoteFileUrl = baseURL + location;
- const { retries = 3, checkHash = true } = options;
let retried = 0;
while (true) {
try {
@@ -484,9 +489,9 @@ export class Downloader {
await this._rmDirs();
}
- async _baseAttachmentsURL() {
- if (!this._cdnURLs[lazy.Utils.SERVER_URL]) {
- const resp = await lazy.Utils.fetch(`${lazy.Utils.SERVER_URL}/`);
+ async _baseAttachmentsURL(serverUrl = lazy.Utils.SERVER_URL) {
+ if (!this._cdnURLs[serverUrl]) {
+ const resp = await lazy.Utils.fetch(`${serverUrl}/`);
let serverInfo;
try {
serverInfo = await resp.json();
@@ -500,10 +505,9 @@ export class Downloader {
},
} = serverInfo;
// Make sure the URL always has a trailing slash.
- this._cdnURLs[lazy.Utils.SERVER_URL] =
- base_url + (base_url.endsWith("/") ? "" : "/");
+ this._cdnURLs[serverUrl] = base_url + (base_url.endsWith("/") ? "" : "/");
}
- return this._cdnURLs[lazy.Utils.SERVER_URL];
+ return this._cdnURLs[serverUrl];
}
async _fetchAttachment(url) {
diff --git a/services/settings/RemoteSettingsClient.sys.mjs b/services/settings/RemoteSettingsClient.sys.mjs
index 6b7c441c8d91..8ce70fe11dca 100644
--- a/services/settings/RemoteSettingsClient.sys.mjs
+++ b/services/settings/RemoteSettingsClient.sys.mjs
@@ -305,6 +305,7 @@ export class RemoteSettingsClient extends EventEmitter {
@@ -309,6 +309,7 @@ export class RemoteSettingsClient extends EventEmitter {
localFields = [],
keepAttachmentsIds = [],
lastCheckTimePref,
@ -82,7 +66,7 @@
} = {}
) {
// Remote Settings cannot be used in child processes (no access to disk,
@@ -334,6 +335,7 @@ export class RemoteSettingsClient extends EventEmitter {
@@ -338,6 +339,7 @@ export class RemoteSettingsClient extends EventEmitter {
this._lastCheckTimePref = lastCheckTimePref;
this._verifier = null;
this._syncRunning = false;
@ -90,7 +74,7 @@
// This attribute allows signature verification to be disabled, when running tests
// or when pulling data from a dev server.
@@ -375,9 +377,12 @@ export class RemoteSettingsClient extends EventEmitter {
@@ -379,9 +381,12 @@ export class RemoteSettingsClient extends EventEmitter {
}
httpClient() {
@ -106,7 +90,7 @@
return api.bucket(this.bucketName).collection(this.collectionName);
}
@@ -604,7 +609,7 @@ export class RemoteSettingsClient extends EventEmitter {
@@ -609,7 +614,7 @@ export class RemoteSettingsClient extends EventEmitter {
// We want to know which timestamp we are expected to obtain in order to leverage
// cache busting. We don't provide ETag because we don't want a 304.
const { changes } = await lazy.Utils.fetchLatestChanges(
@ -115,9 +99,41 @@
{
filters: {
collection: this.collectionName,
diff --git a/services/settings/Utils.sys.mjs b/services/settings/Utils.sys.mjs
index 12fef6cde815..3be4356a4060 100644
--- a/services/settings/Utils.sys.mjs
+++ b/services/settings/Utils.sys.mjs
@@ -295,9 +295,9 @@ export var Utils = {
* const attachmentsURL = await Downloader.baseAttachmentsURL();
* console.log(attachmentsURL);
*/
- async baseAttachmentsURL() {
- if (!_cdnURLs[Utils.SERVER_URL]) {
- const resp = await Utils.fetch(`${Utils.SERVER_URL}/`);
+ async baseAttachmentsURL(serverUrl = Utils.SERVER_URL) {
+ if (!_cdnURLs[serverUrl]) {
+ const resp = await Utils.fetch(`${serverUrl}/`);
const serverInfo = await resp.json();
// Server capabilities expose attachments configuration.
const {
@@ -306,10 +306,9 @@ export var Utils = {
},
} = serverInfo;
// Make sure the URL always has a trailing slash.
- _cdnURLs[Utils.SERVER_URL] =
- base_url + (base_url.endsWith("/") ? "" : "/");
+ _cdnURLs[serverUrl] = base_url + (base_url.endsWith("/") ? "" : "/");
}
- return _cdnURLs[Utils.SERVER_URL];
+ return _cdnURLs[serverUrl];
},
/**
diff --git a/toolkit/components/translations/actors/TranslationsParent.sys.mjs b/toolkit/components/translations/actors/TranslationsParent.sys.mjs
index de242af9add4..631faa77fa00 100644
--- a/toolkit/components/translations/actors/TranslationsParent.sys.mjs
+++ b/toolkit/components/translations/actors/TranslationsParent.sys.mjs
@@ -1034,7 +1034,9 @@ export class TranslationsParent extends JSWindowActorParent {
@@ -1545,7 +1545,9 @@ export class TranslationsParent extends JSWindowActorParent {
}
/** @type {RemoteSettingsClient} */
@ -127,8 +143,8 @@
+ });
TranslationsParent.#translationModelsRemoteClient = client;
client.on("sync", TranslationsParent.#handleTranslationsModelsSync);
return client;
@@ -1420,7 +1422,10 @@ export class TranslationsParent extends JSWindowActorParent {
@@ -1911,7 +1913,10 @@ export class TranslationsParent extends JSWindowActorParent {
/** @type {{buffer: ArrayBuffer}} */
const { buffer } = await client.attachments.download(
@ -140,7 +156,7 @@
);
const duration = Date.now() - start;
@@ -1471,7 +1476,9 @@ export class TranslationsParent extends JSWindowActorParent {
@@ -1988,7 +1993,9 @@ export class TranslationsParent extends JSWindowActorParent {
)) {
const download = () => {
lazy.console.log("Downloading record", record.name, record.id);
@ -151,7 +167,7 @@
};
queue.push({ download });
}
@@ -1495,7 +1502,10 @@ export class TranslationsParent extends JSWindowActorParent {
@@ -2012,7 +2019,10 @@ export class TranslationsParent extends JSWindowActorParent {
onFailure: () => {
console.error("Failed to download", record.name);
},
@ -163,7 +179,7 @@
});
}
@@ -1659,7 +1669,9 @@ export class TranslationsParent extends JSWindowActorParent {
@@ -2304,7 +2314,9 @@ export class TranslationsParent extends JSWindowActorParent {
await chaosMode(1 / 3);
/** @type {{buffer: ArrayBuffer }} */