Add cookies permission to all manifests (#2134)

Add cookies permission to all manifests
This commit is contained in:
Sami Vänttinen 2024-03-07 17:34:49 +02:00 committed by GitHub
parent 71a7782cfa
commit 14f2c9ae19
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
14 changed files with 104 additions and 81 deletions

View file

@ -1,3 +1,8 @@
1.9.0.1 (2024-03-06)
=========================
- Add cookies permission to missing manifest file [#2134]
- Fix showing filter logins input in the extension popup [#2137]
1.9.0 (2024-03-04)
=========================
- Add support for Manifest V3 with Chromium-based browsers [#1723]

View file

@ -13,19 +13,33 @@ const BROWSERS = {
'Chromium': 'manifest_chromium.json',
};
async function getDestinationFilename(manifest) {
const getVersion = async () => {
const manifestFile = await fs.readFile(DEFAULT, { encoding: 'utf8' });
const data = JSON.parse(manifestFile);
return data['version'];
};
const setVersion = async (manifest, version) => {
const manifestFile = await fs.readFile(manifest, { encoding: 'utf8' });
const data = JSON.parse(manifestFile);
data['version'] = version;
if (Object.hasOwn(data, 'version_name')) {
data['version_name'] = version;
}
fs.writeFile(manifest, JSON.stringify(data, null, 4));
};
const getDestinationFilename = async (manifest, version) => {
const browser = manifest.substring(manifest.indexOf('_') + 1, manifest.indexOf('.'));
return `keepassxc-browser_${version}_${browser}.zip`;
};
return `keepassxc-browser_${data['version']}_${browser}.zip`;
}
async function updateTranslations() {
const updateTranslations = async () => {
console.log('Pulling translations from Transifex, please wait...');
const { stdout } = await exec('tx pull -af');
console.log(stdout);
}
};
(async() => {
const params = process.argv.slice(2);
@ -34,11 +48,13 @@ async function updateTranslations() {
}
await fs.copyFile(`${DEST}/manifest.json`, `./${DEFAULT}`);
const version = await getVersion();
for (const browser in BROWSERS) {
console.log(`KeePassXC-Browser: Creating extension package for ${browser}`);
const fileName = await getDestinationFilename(BROWSERS[browser]);
const fileName = await getDestinationFilename(BROWSERS[browser], version);
setVersion(`./dist/${BROWSERS[browser]}`, version);
await fs.copyFile(`./dist/${BROWSERS[browser]}`, `${DEST}/manifest.json`);
if (await fs.exists(fileName)) {

View file

@ -1,8 +1,8 @@
{
"manifest_version": 3,
"name": "KeePassXC-Browser",
"version": "1.9.0",
"version_name": "1.9.0",
"version": "1.9.0.1",
"version_name": "1.9.0.1",
"minimum_chrome_version": "93",
"description": "__MSG_extensionDescription__",
"author": "KeePassXC Team",
@ -138,8 +138,9 @@
}],
"permissions": [
"activeTab",
"contextMenus",
"clipboardWrite",
"contextMenus",
"cookies",
"nativeMessaging",
"notifications",
"storage",

View file

@ -1,7 +1,7 @@
{
"manifest_version": 2,
"name": "KeePassXC-Browser",
"version": "1.9.0",
"version": "1.9.0.1",
"description": "__MSG_extensionDescription__",
"author": "KeePassXC Team",
"icons": {
@ -142,8 +142,9 @@
],
"permissions": [
"activeTab",
"contextMenus",
"clipboardWrite",
"contextMenus",
"cookies",
"nativeMessaging",
"notifications",
"storage",

View file

@ -148,39 +148,39 @@
"description": "Invalid URL provided."
},
"errorMessagePasskeysOriginNotAllowed": {
"message": "Origin is empty or not allowed.",
"message": "Източникът е празен или забранен.",
"description": "Origin is empty or not allowed."
},
"errorMessagePasskeysDomainNotValid": {
"message": "Effective domain is not a valid domain.",
"message": "Ефективният домейн не е приемлив домейн.",
"description": "Effective domain is not a valid domain."
},
"errorMessagePasskeysDomainRpIdMismatch": {
"message": "Origin and RP ID do not match.",
"message": "Източникът и RP ID не съвпадат.",
"description": "Origin and RP ID do not match."
},
"errorMessagePasskeysNoSupportedAlgorithms": {
"message": "No supported algorithms were provided.",
"message": "Не са предоставени поддържани алгоритми.",
"description": "No supported algorithms were provided."
},
"errorMessagePasskeysWaitforLifeTimer": {
"message": "Wait for timer to expire.",
"message": "Изчакайте отброяването да приключи.",
"description": "Wait for timer to expire."
},
"errorMessagePasskeysUnknownError": {
"message": "Unknown Passkeys error.",
"message": "Неочаквана грешка на Passkey.",
"description": "Unknown Passkeys error."
},
"errorMessagePasskeysInvalidChallenge": {
"message": "Challenge is shorter than required minimum length.",
"message": "Предизвикването е по-късо от изискваната минимална дължина.",
"description": "Challenge is shorter than required minimum length."
},
"errorMessagePasskeysInvalidUserId": {
"message": "user.id does not match the required length.",
"message": "user.id не отговаря на изискваната дължина.",
"description": "user.id does not match the required length."
},
"errorMessagePasskeysContextIsNotSecure": {
"message": "Context is not secure.",
"message": "Контекстът не е сигурен.",
"description": "Context is not secure."
},
"errorNotConnected": {

View file

@ -148,39 +148,39 @@
"description": "Invalid URL provided."
},
"errorMessagePasskeysOriginNotAllowed": {
"message": "Origin is empty or not allowed.",
"message": "De oorsprong is leeg of niet toegestaan.",
"description": "Origin is empty or not allowed."
},
"errorMessagePasskeysDomainNotValid": {
"message": "Effective domain is not a valid domain.",
"message": "Effectief domein is geen geldig domein.",
"description": "Effective domain is not a valid domain."
},
"errorMessagePasskeysDomainRpIdMismatch": {
"message": "Origin and RP ID do not match.",
"message": "Oorsprong en RP ID komen niet overeen.",
"description": "Origin and RP ID do not match."
},
"errorMessagePasskeysNoSupportedAlgorithms": {
"message": "No supported algorithms were provided.",
"message": "Geen ondersteunde algoritmes zijn verstrekt.",
"description": "No supported algorithms were provided."
},
"errorMessagePasskeysWaitforLifeTimer": {
"message": "Wait for timer to expire.",
"message": "Wacht tot de timer verloopt.",
"description": "Wait for timer to expire."
},
"errorMessagePasskeysUnknownError": {
"message": "Unknown Passkeys error.",
"message": "Onbekende Passkeys-fout.",
"description": "Unknown Passkeys error."
},
"errorMessagePasskeysInvalidChallenge": {
"message": "Challenge is shorter than required minimum length.",
"message": "De challenge is korter dan de vereiste minimale lengte.",
"description": "Challenge is shorter than required minimum length."
},
"errorMessagePasskeysInvalidUserId": {
"message": "user.id does not match the required length.",
"message": "user.id voldoet niet aan de vereiste lengte.",
"description": "user.id does not match the required length."
},
"errorMessagePasskeysContextIsNotSecure": {
"message": "Context is not secure.",
"message": "Context is niet veilig.",
"description": "Context is not secure."
},
"errorNotConnected": {

View file

@ -148,39 +148,39 @@
"description": "Invalid URL provided."
},
"errorMessagePasskeysOriginNotAllowed": {
"message": "Origin is empty or not allowed.",
"message": "Źródło jest puste lub niedozwolone.",
"description": "Origin is empty or not allowed."
},
"errorMessagePasskeysDomainNotValid": {
"message": "Effective domain is not a valid domain.",
"message": "Domena efektywna nie jest domeną prawidłową.",
"description": "Effective domain is not a valid domain."
},
"errorMessagePasskeysDomainRpIdMismatch": {
"message": "Origin and RP ID do not match.",
"message": "Źródło i identyfikator RP nie są zgodne.",
"description": "Origin and RP ID do not match."
},
"errorMessagePasskeysNoSupportedAlgorithms": {
"message": "No supported algorithms were provided.",
"message": "Nie zapewniono obsługiwanych algorytmów.",
"description": "No supported algorithms were provided."
},
"errorMessagePasskeysWaitforLifeTimer": {
"message": "Wait for timer to expire.",
"message": "Poczekaj, aż upłynie limit czasu.",
"description": "Wait for timer to expire."
},
"errorMessagePasskeysUnknownError": {
"message": "Unknown Passkeys error.",
"message": "Nieznany błąd klucza dostępu.",
"description": "Unknown Passkeys error."
},
"errorMessagePasskeysInvalidChallenge": {
"message": "Challenge is shorter than required minimum length.",
"message": "Wyzwanie jest krótsze niż wymagana długość minimalna.",
"description": "Challenge is shorter than required minimum length."
},
"errorMessagePasskeysInvalidUserId": {
"message": "user.id does not match the required length.",
"message": "user.id nie ma wymaganej długości.",
"description": "user.id does not match the required length."
},
"errorMessagePasskeysContextIsNotSecure": {
"message": "Context is not secure.",
"message": "Kontekst nie jest bezpieczny.",
"description": "Context is not secure."
},
"errorNotConnected": {

View file

@ -148,39 +148,39 @@
"description": "Invalid URL provided."
},
"errorMessagePasskeysOriginNotAllowed": {
"message": "Origin is empty or not allowed.",
"message": "Источник пуст или не разрешен.",
"description": "Origin is empty or not allowed."
},
"errorMessagePasskeysDomainNotValid": {
"message": "Effective domain is not a valid domain.",
"message": "Эффективный домен не является действительным доменом.",
"description": "Effective domain is not a valid domain."
},
"errorMessagePasskeysDomainRpIdMismatch": {
"message": "Origin and RP ID do not match.",
"message": "Источник и идентификатор RP не совпадают.",
"description": "Origin and RP ID do not match."
},
"errorMessagePasskeysNoSupportedAlgorithms": {
"message": "No supported algorithms were provided.",
"message": "Не было предоставлено никаких поддерживаемых алгоритмов.",
"description": "No supported algorithms were provided."
},
"errorMessagePasskeysWaitforLifeTimer": {
"message": "Wait for timer to expire.",
"message": "Дождитесь истечения таймера.",
"description": "Wait for timer to expire."
},
"errorMessagePasskeysUnknownError": {
"message": "Unknown Passkeys error.",
"message": "Неизвестная ошибка Passkeys.",
"description": "Unknown Passkeys error."
},
"errorMessagePasskeysInvalidChallenge": {
"message": "Challenge is shorter than required minimum length.",
"message": "Вызов короче требуемой минимальной длины.",
"description": "Challenge is shorter than required minimum length."
},
"errorMessagePasskeysInvalidUserId": {
"message": "user.id does not match the required length.",
"message": "user.id не соответствует требуемой длине.",
"description": "user.id does not match the required length."
},
"errorMessagePasskeysContextIsNotSecure": {
"message": "Context is not secure.",
"message": "Контекст небезопасен.",
"description": "Context is not secure."
},
"errorNotConnected": {
@ -208,7 +208,7 @@
"description": "Password icon title text."
},
"passwordGeneratorNotSupported": {
"message": "Launching the password generator is not supported in this KeePassXC version. Please update KeePassXC to a newer version."
"message": "Запуск генератора паролей не поддерживается в этой версии KeePassXC. Пожалуйста, обновите KeePassXC до более новой версии."
},
"usernameFieldText": {
"message": "Заполнить учётные данные из KeePassXC",

View file

@ -148,39 +148,39 @@
"description": "Invalid URL provided."
},
"errorMessagePasskeysOriginNotAllowed": {
"message": "Origin is empty or not allowed.",
"message": "Ursprung är tomt eller inte tillåtet.",
"description": "Origin is empty or not allowed."
},
"errorMessagePasskeysDomainNotValid": {
"message": "Effective domain is not a valid domain.",
"message": "Effektiv domän är inte en giltig domän.",
"description": "Effective domain is not a valid domain."
},
"errorMessagePasskeysDomainRpIdMismatch": {
"message": "Origin and RP ID do not match.",
"message": "Ursprung och RP-ID matchar inte.",
"description": "Origin and RP ID do not match."
},
"errorMessagePasskeysNoSupportedAlgorithms": {
"message": "No supported algorithms were provided.",
"message": "Inga algoritmer som stöds tillhandahölls.",
"description": "No supported algorithms were provided."
},
"errorMessagePasskeysWaitforLifeTimer": {
"message": "Wait for timer to expire.",
"message": "Vänta på att tiduret skall löpa ut.",
"description": "Wait for timer to expire."
},
"errorMessagePasskeysUnknownError": {
"message": "Unknown Passkeys error.",
"message": "Okänt passnyckelfel.",
"description": "Unknown Passkeys error."
},
"errorMessagePasskeysInvalidChallenge": {
"message": "Challenge is shorter than required minimum length.",
"message": "Utmaningen är kortare än den minimilängd som krävs.",
"description": "Challenge is shorter than required minimum length."
},
"errorMessagePasskeysInvalidUserId": {
"message": "user.id does not match the required length.",
"message": "user.id matchar inte den erforderliga längden.",
"description": "user.id does not match the required length."
},
"errorMessagePasskeysContextIsNotSecure": {
"message": "Context is not secure.",
"message": "Kontexten är inte säker.",
"description": "Context is not secure."
},
"errorNotConnected": {

View file

@ -148,39 +148,39 @@
"description": "Invalid URL provided."
},
"errorMessagePasskeysOriginNotAllowed": {
"message": "Origin is empty or not allowed.",
"message": "Origin 为空或不被允许。",
"description": "Origin is empty or not allowed."
},
"errorMessagePasskeysDomainNotValid": {
"message": "Effective domain is not a valid domain.",
"message": "有效域名是无效的域名。",
"description": "Effective domain is not a valid domain."
},
"errorMessagePasskeysDomainRpIdMismatch": {
"message": "Origin and RP ID do not match.",
"message": "Origin 与 RP ID 不匹配。",
"description": "Origin and RP ID do not match."
},
"errorMessagePasskeysNoSupportedAlgorithms": {
"message": "No supported algorithms were provided.",
"message": "未提供受支持的算法。",
"description": "No supported algorithms were provided."
},
"errorMessagePasskeysWaitforLifeTimer": {
"message": "Wait for timer to expire.",
"message": "等待计时器过期。",
"description": "Wait for timer to expire."
},
"errorMessagePasskeysUnknownError": {
"message": "Unknown Passkeys error.",
"message": "未知 Passkey 错误。",
"description": "Unknown Passkeys error."
},
"errorMessagePasskeysInvalidChallenge": {
"message": "Challenge is shorter than required minimum length.",
"message": "挑战不满足所需最小长度。",
"description": "Challenge is shorter than required minimum length."
},
"errorMessagePasskeysInvalidUserId": {
"message": "user.id does not match the required length.",
"message": "user.id 不匹配所需长度。",
"description": "user.id does not match the required length."
},
"errorMessagePasskeysContextIsNotSecure": {
"message": "Context is not secure.",
"message": "上下文不安全。",
"description": "Context is not secure."
},
"errorNotConnected": {

View file

@ -148,39 +148,39 @@
"description": "Invalid URL provided."
},
"errorMessagePasskeysOriginNotAllowed": {
"message": "Origin is empty or not allowed.",
"message": "Origin 為空或不被允許。",
"description": "Origin is empty or not allowed."
},
"errorMessagePasskeysDomainNotValid": {
"message": "Effective domain is not a valid domain.",
"message": "有效域名是無效的域名。",
"description": "Effective domain is not a valid domain."
},
"errorMessagePasskeysDomainRpIdMismatch": {
"message": "Origin and RP ID do not match.",
"message": "Origin 與 RP ID 不匹配。",
"description": "Origin and RP ID do not match."
},
"errorMessagePasskeysNoSupportedAlgorithms": {
"message": "No supported algorithms were provided.",
"message": "未提供受支持的演算法。",
"description": "No supported algorithms were provided."
},
"errorMessagePasskeysWaitforLifeTimer": {
"message": "Wait for timer to expire.",
"message": "等待計時器過期。",
"description": "Wait for timer to expire."
},
"errorMessagePasskeysUnknownError": {
"message": "Unknown Passkeys error.",
"message": "未知的通行密鑰錯誤。",
"description": "Unknown Passkeys error."
},
"errorMessagePasskeysInvalidChallenge": {
"message": "Challenge is shorter than required minimum length.",
"message": "挑戰不滿足所需最小長度。",
"description": "Challenge is shorter than required minimum length."
},
"errorMessagePasskeysInvalidUserId": {
"message": "user.id does not match the required length.",
"message": "user.id 不匹配所需長度。",
"description": "user.id does not match the required length."
},
"errorMessagePasskeysContextIsNotSecure": {
"message": "Context is not secure.",
"message": "上下文不安全。",
"description": "Context is not secure."
},
"errorNotConnected": {

View file

@ -1,8 +1,8 @@
{
"manifest_version": 2,
"name": "KeePassXC-Browser",
"version": "1.9.0",
"version_name": "1.9.0",
"version": "1.9.0.1",
"version_name": "1.9.0.1",
"minimum_chrome_version": "93",
"description": "__MSG_extensionDescription__",
"author": "KeePassXC Team",
@ -144,9 +144,9 @@
],
"permissions": [
"activeTab",
"clipboardWrite",
"contextMenus",
"cookies",
"clipboardWrite",
"nativeMessaging",
"notifications",
"storage",

2
package-lock.json generated
View file

@ -1,6 +1,6 @@
{
"name": "keepassxc-browser",
"version": "1.9.0",
"version": "1.9.0.1",
"lockfileVersion": 2,
"requires": true,
"packages": {

View file

@ -1,6 +1,6 @@
{
"name": "keepassxc-browser",
"version": "1.9.0",
"version": "1.9.0.1",
"description": "KeePassXC-Browser",
"main": "build.js",
"devDependencies": {