Skip to content

Commit 14f2c9a

Browse files
author
Sami Vänttinen
authored
Add cookies permission to all manifests (#2134)
Add cookies permission to all manifests
1 parent 71a7782 commit 14f2c9a

14 files changed

Lines changed: 104 additions & 81 deletions

File tree

CHANGELOG

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,8 @@
1+
1.9.0.1 (2024-03-06)
2+
=========================
3+
- Add cookies permission to missing manifest file [#2134]
4+
- Fix showing filter logins input in the extension popup [#2137]
5+
16
1.9.0 (2024-03-04)
27
=========================
38
- Add support for Manifest V3 with Chromium-based browsers [#1723]

build.js

Lines changed: 23 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -13,19 +13,33 @@ const BROWSERS = {
1313
'Chromium': 'manifest_chromium.json',
1414
};
1515

16-
async function getDestinationFilename(manifest) {
16+
const getVersion = async () => {
1717
const manifestFile = await fs.readFile(DEFAULT, { encoding: 'utf8' });
1818
const data = JSON.parse(manifestFile);
19-
const browser = manifest.substring(manifest.indexOf('_') + 1, manifest.indexOf('.'));
19+
return data['version'];
20+
};
21+
22+
const setVersion = async (manifest, version) => {
23+
const manifestFile = await fs.readFile(manifest, { encoding: 'utf8' });
24+
const data = JSON.parse(manifestFile);
25+
26+
data['version'] = version;
27+
if (Object.hasOwn(data, 'version_name')) {
28+
data['version_name'] = version;
29+
}
30+
fs.writeFile(manifest, JSON.stringify(data, null, 4));
31+
};
2032

21-
return `keepassxc-browser_${data['version']}_${browser}.zip`;
22-
}
33+
const getDestinationFilename = async (manifest, version) => {
34+
const browser = manifest.substring(manifest.indexOf('_') + 1, manifest.indexOf('.'));
35+
return `keepassxc-browser_${version}_${browser}.zip`;
36+
};
2337

24-
async function updateTranslations() {
38+
const updateTranslations = async () => {
2539
console.log('Pulling translations from Transifex, please wait...');
2640
const { stdout } = await exec('tx pull -af');
2741
console.log(stdout);
28-
}
42+
};
2943

3044
(async() => {
3145
const params = process.argv.slice(2);
@@ -34,11 +48,13 @@ async function updateTranslations() {
3448
}
3549

3650
await fs.copyFile(`${DEST}/manifest.json`, `./${DEFAULT}`);
51+
const version = await getVersion();
3752

3853
for (const browser in BROWSERS) {
3954
console.log(`KeePassXC-Browser: Creating extension package for ${browser}`);
4055

41-
const fileName = await getDestinationFilename(BROWSERS[browser]);
56+
const fileName = await getDestinationFilename(BROWSERS[browser], version);
57+
setVersion(`./dist/${BROWSERS[browser]}`, version);
4258
await fs.copyFile(`./dist/${BROWSERS[browser]}`, `${DEST}/manifest.json`);
4359

4460
if (await fs.exists(fileName)) {

dist/manifest_chromium.json

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
{
22
"manifest_version": 3,
33
"name": "KeePassXC-Browser",
4-
"version": "1.9.0",
5-
"version_name": "1.9.0",
4+
"version": "1.9.0.1",
5+
"version_name": "1.9.0.1",
66
"minimum_chrome_version": "93",
77
"description": "__MSG_extensionDescription__",
88
"author": "KeePassXC Team",
@@ -138,8 +138,9 @@
138138
}],
139139
"permissions": [
140140
"activeTab",
141-
"contextMenus",
142141
"clipboardWrite",
142+
"contextMenus",
143+
"cookies",
143144
"nativeMessaging",
144145
"notifications",
145146
"storage",

dist/manifest_firefox.json

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"manifest_version": 2,
33
"name": "KeePassXC-Browser",
4-
"version": "1.9.0",
4+
"version": "1.9.0.1",
55
"description": "__MSG_extensionDescription__",
66
"author": "KeePassXC Team",
77
"icons": {
@@ -142,8 +142,9 @@
142142
],
143143
"permissions": [
144144
"activeTab",
145-
"contextMenus",
146145
"clipboardWrite",
146+
"contextMenus",
147+
"cookies",
147148
"nativeMessaging",
148149
"notifications",
149150
"storage",

keepassxc-browser/_locales/bg/messages.json

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -148,39 +148,39 @@
148148
"description": "Invalid URL provided."
149149
},
150150
"errorMessagePasskeysOriginNotAllowed": {
151-
"message": "Origin is empty or not allowed.",
151+
"message": "Източникът е празен или забранен.",
152152
"description": "Origin is empty or not allowed."
153153
},
154154
"errorMessagePasskeysDomainNotValid": {
155-
"message": "Effective domain is not a valid domain.",
155+
"message": "Ефективният домейн не е приемлив домейн.",
156156
"description": "Effective domain is not a valid domain."
157157
},
158158
"errorMessagePasskeysDomainRpIdMismatch": {
159-
"message": "Origin and RP ID do not match.",
159+
"message": "Източникът и RP ID не съвпадат.",
160160
"description": "Origin and RP ID do not match."
161161
},
162162
"errorMessagePasskeysNoSupportedAlgorithms": {
163-
"message": "No supported algorithms were provided.",
163+
"message": "Не са предоставени поддържани алгоритми.",
164164
"description": "No supported algorithms were provided."
165165
},
166166
"errorMessagePasskeysWaitforLifeTimer": {
167-
"message": "Wait for timer to expire.",
167+
"message": "Изчакайте отброяването да приключи.",
168168
"description": "Wait for timer to expire."
169169
},
170170
"errorMessagePasskeysUnknownError": {
171-
"message": "Unknown Passkeys error.",
171+
"message": "Неочаквана грешка на Passkey.",
172172
"description": "Unknown Passkeys error."
173173
},
174174
"errorMessagePasskeysInvalidChallenge": {
175-
"message": "Challenge is shorter than required minimum length.",
175+
"message": "Предизвикването е по-късо от изискваната минимална дължина.",
176176
"description": "Challenge is shorter than required minimum length."
177177
},
178178
"errorMessagePasskeysInvalidUserId": {
179-
"message": "user.id does not match the required length.",
179+
"message": "user.id не отговаря на изискваната дължина.",
180180
"description": "user.id does not match the required length."
181181
},
182182
"errorMessagePasskeysContextIsNotSecure": {
183-
"message": "Context is not secure.",
183+
"message": "Контекстът не е сигурен.",
184184
"description": "Context is not secure."
185185
},
186186
"errorNotConnected": {

keepassxc-browser/_locales/nl/messages.json

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -148,39 +148,39 @@
148148
"description": "Invalid URL provided."
149149
},
150150
"errorMessagePasskeysOriginNotAllowed": {
151-
"message": "Origin is empty or not allowed.",
151+
"message": "De oorsprong is leeg of niet toegestaan.",
152152
"description": "Origin is empty or not allowed."
153153
},
154154
"errorMessagePasskeysDomainNotValid": {
155-
"message": "Effective domain is not a valid domain.",
155+
"message": "Effectief domein is geen geldig domein.",
156156
"description": "Effective domain is not a valid domain."
157157
},
158158
"errorMessagePasskeysDomainRpIdMismatch": {
159-
"message": "Origin and RP ID do not match.",
159+
"message": "Oorsprong en RP ID komen niet overeen.",
160160
"description": "Origin and RP ID do not match."
161161
},
162162
"errorMessagePasskeysNoSupportedAlgorithms": {
163-
"message": "No supported algorithms were provided.",
163+
"message": "Geen ondersteunde algoritmes zijn verstrekt.",
164164
"description": "No supported algorithms were provided."
165165
},
166166
"errorMessagePasskeysWaitforLifeTimer": {
167-
"message": "Wait for timer to expire.",
167+
"message": "Wacht tot de timer verloopt.",
168168
"description": "Wait for timer to expire."
169169
},
170170
"errorMessagePasskeysUnknownError": {
171-
"message": "Unknown Passkeys error.",
171+
"message": "Onbekende Passkeys-fout.",
172172
"description": "Unknown Passkeys error."
173173
},
174174
"errorMessagePasskeysInvalidChallenge": {
175-
"message": "Challenge is shorter than required minimum length.",
175+
"message": "De challenge is korter dan de vereiste minimale lengte.",
176176
"description": "Challenge is shorter than required minimum length."
177177
},
178178
"errorMessagePasskeysInvalidUserId": {
179-
"message": "user.id does not match the required length.",
179+
"message": "user.id voldoet niet aan de vereiste lengte.",
180180
"description": "user.id does not match the required length."
181181
},
182182
"errorMessagePasskeysContextIsNotSecure": {
183-
"message": "Context is not secure.",
183+
"message": "Context is niet veilig.",
184184
"description": "Context is not secure."
185185
},
186186
"errorNotConnected": {

keepassxc-browser/_locales/pl/messages.json

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -148,39 +148,39 @@
148148
"description": "Invalid URL provided."
149149
},
150150
"errorMessagePasskeysOriginNotAllowed": {
151-
"message": "Origin is empty or not allowed.",
151+
"message": "Źródło jest puste lub niedozwolone.",
152152
"description": "Origin is empty or not allowed."
153153
},
154154
"errorMessagePasskeysDomainNotValid": {
155-
"message": "Effective domain is not a valid domain.",
155+
"message": "Domena efektywna nie jest domeną prawidłową.",
156156
"description": "Effective domain is not a valid domain."
157157
},
158158
"errorMessagePasskeysDomainRpIdMismatch": {
159-
"message": "Origin and RP ID do not match.",
159+
"message": "Źródło i identyfikator RP nie są zgodne.",
160160
"description": "Origin and RP ID do not match."
161161
},
162162
"errorMessagePasskeysNoSupportedAlgorithms": {
163-
"message": "No supported algorithms were provided.",
163+
"message": "Nie zapewniono obsługiwanych algorytmów.",
164164
"description": "No supported algorithms were provided."
165165
},
166166
"errorMessagePasskeysWaitforLifeTimer": {
167-
"message": "Wait for timer to expire.",
167+
"message": "Poczekaj, aż upłynie limit czasu.",
168168
"description": "Wait for timer to expire."
169169
},
170170
"errorMessagePasskeysUnknownError": {
171-
"message": "Unknown Passkeys error.",
171+
"message": "Nieznany błąd klucza dostępu.",
172172
"description": "Unknown Passkeys error."
173173
},
174174
"errorMessagePasskeysInvalidChallenge": {
175-
"message": "Challenge is shorter than required minimum length.",
175+
"message": "Wyzwanie jest krótsze niż wymagana długość minimalna.",
176176
"description": "Challenge is shorter than required minimum length."
177177
},
178178
"errorMessagePasskeysInvalidUserId": {
179-
"message": "user.id does not match the required length.",
179+
"message": "user.id nie ma wymaganej długości.",
180180
"description": "user.id does not match the required length."
181181
},
182182
"errorMessagePasskeysContextIsNotSecure": {
183-
"message": "Context is not secure.",
183+
"message": "Kontekst nie jest bezpieczny.",
184184
"description": "Context is not secure."
185185
},
186186
"errorNotConnected": {

keepassxc-browser/_locales/ru/messages.json

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -148,39 +148,39 @@
148148
"description": "Invalid URL provided."
149149
},
150150
"errorMessagePasskeysOriginNotAllowed": {
151-
"message": "Origin is empty or not allowed.",
151+
"message": "Источник пуст или не разрешен.",
152152
"description": "Origin is empty or not allowed."
153153
},
154154
"errorMessagePasskeysDomainNotValid": {
155-
"message": "Effective domain is not a valid domain.",
155+
"message": "Эффективный домен не является действительным доменом.",
156156
"description": "Effective domain is not a valid domain."
157157
},
158158
"errorMessagePasskeysDomainRpIdMismatch": {
159-
"message": "Origin and RP ID do not match.",
159+
"message": "Источник и идентификатор RP не совпадают.",
160160
"description": "Origin and RP ID do not match."
161161
},
162162
"errorMessagePasskeysNoSupportedAlgorithms": {
163-
"message": "No supported algorithms were provided.",
163+
"message": "Не было предоставлено никаких поддерживаемых алгоритмов.",
164164
"description": "No supported algorithms were provided."
165165
},
166166
"errorMessagePasskeysWaitforLifeTimer": {
167-
"message": "Wait for timer to expire.",
167+
"message": "Дождитесь истечения таймера.",
168168
"description": "Wait for timer to expire."
169169
},
170170
"errorMessagePasskeysUnknownError": {
171-
"message": "Unknown Passkeys error.",
171+
"message": "Неизвестная ошибка Passkeys.",
172172
"description": "Unknown Passkeys error."
173173
},
174174
"errorMessagePasskeysInvalidChallenge": {
175-
"message": "Challenge is shorter than required minimum length.",
175+
"message": "Вызов короче требуемой минимальной длины.",
176176
"description": "Challenge is shorter than required minimum length."
177177
},
178178
"errorMessagePasskeysInvalidUserId": {
179-
"message": "user.id does not match the required length.",
179+
"message": "user.id не соответствует требуемой длине.",
180180
"description": "user.id does not match the required length."
181181
},
182182
"errorMessagePasskeysContextIsNotSecure": {
183-
"message": "Context is not secure.",
183+
"message": "Контекст небезопасен.",
184184
"description": "Context is not secure."
185185
},
186186
"errorNotConnected": {
@@ -208,7 +208,7 @@
208208
"description": "Password icon title text."
209209
},
210210
"passwordGeneratorNotSupported": {
211-
"message": "Launching the password generator is not supported in this KeePassXC version. Please update KeePassXC to a newer version."
211+
"message": "Запуск генератора паролей не поддерживается в этой версии KeePassXC. Пожалуйста, обновите KeePassXC до более новой версии."
212212
},
213213
"usernameFieldText": {
214214
"message": "Заполнить учётные данные из KeePassXC",

keepassxc-browser/_locales/sv/messages.json

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -148,39 +148,39 @@
148148
"description": "Invalid URL provided."
149149
},
150150
"errorMessagePasskeysOriginNotAllowed": {
151-
"message": "Origin is empty or not allowed.",
151+
"message": "Ursprung är tomt eller inte tillåtet.",
152152
"description": "Origin is empty or not allowed."
153153
},
154154
"errorMessagePasskeysDomainNotValid": {
155-
"message": "Effective domain is not a valid domain.",
155+
"message": "Effektiv domän är inte en giltig domän.",
156156
"description": "Effective domain is not a valid domain."
157157
},
158158
"errorMessagePasskeysDomainRpIdMismatch": {
159-
"message": "Origin and RP ID do not match.",
159+
"message": "Ursprung och RP-ID matchar inte.",
160160
"description": "Origin and RP ID do not match."
161161
},
162162
"errorMessagePasskeysNoSupportedAlgorithms": {
163-
"message": "No supported algorithms were provided.",
163+
"message": "Inga algoritmer som stöds tillhandahölls.",
164164
"description": "No supported algorithms were provided."
165165
},
166166
"errorMessagePasskeysWaitforLifeTimer": {
167-
"message": "Wait for timer to expire.",
167+
"message": "Vänta på att tiduret skall löpa ut.",
168168
"description": "Wait for timer to expire."
169169
},
170170
"errorMessagePasskeysUnknownError": {
171-
"message": "Unknown Passkeys error.",
171+
"message": "Okänt passnyckelfel.",
172172
"description": "Unknown Passkeys error."
173173
},
174174
"errorMessagePasskeysInvalidChallenge": {
175-
"message": "Challenge is shorter than required minimum length.",
175+
"message": "Utmaningen är kortare än den minimilängd som krävs.",
176176
"description": "Challenge is shorter than required minimum length."
177177
},
178178
"errorMessagePasskeysInvalidUserId": {
179-
"message": "user.id does not match the required length.",
179+
"message": "user.id matchar inte den erforderliga längden.",
180180
"description": "user.id does not match the required length."
181181
},
182182
"errorMessagePasskeysContextIsNotSecure": {
183-
"message": "Context is not secure.",
183+
"message": "Kontexten är inte säker.",
184184
"description": "Context is not secure."
185185
},
186186
"errorNotConnected": {

0 commit comments

Comments
 (0)