SHA256
1
0
forked from pool/bitwarden

18 Commits

Author SHA256 Message Date
c8891acdf4 Accepting request 1302011 from devel:languages:nodejs
OBS-URL: https://build.opensuse.org/request/show/1302011
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/bitwarden?expand=0&rev=41
2025-09-01 15:17:30 +00:00
e04adb52fe - New upstream release 2025.8.2
* Show website icons when viewing an item
  * Updated flow for assigning items to collections
  * Removed setting for requiring password or PIN on app-start when using biometric unlock.
    Password or PIN now always required on Linux

OBS-URL: https://build.opensuse.org/package/show/devel:languages:nodejs/bitwarden?expand=0&rev=89
2025-08-30 11:24:16 +00:00
0c14e703c8 Accepting request 1295715 from devel:languages:nodejs
OBS-URL: https://build.opensuse.org/request/show/1295715
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/bitwarden?expand=0&rev=40
2025-07-25 15:06:29 +00:00
14527ac1e2 - New upstream release 2025.7.0
* no changelog provided
- Drop no longer relevant patches
  * remove-argon2-browser.patch
  * system-libargon2.patch

OBS-URL: https://build.opensuse.org/package/show/devel:languages:nodejs/bitwarden?expand=0&rev=87
2025-07-25 09:53:15 +00:00
817f7eb1e6 Accepting request 1290160 from devel:languages:nodejs
OBS-URL: https://build.opensuse.org/request/show/1290160
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/bitwarden?expand=0&rev=39
2025-07-06 15:06:36 +00:00
1879290dda - Update to 2025.6.1
* Bitwarden 2025.x is a major rewrite of the application,
    moving some backend code to a separate wasm module
  * Updated UI for two-step login with security keys
  * Added location to login with device requests
  * Added support for two-step login with security keys on Linux
  * Added verification of logins from unrecognized devices
  * Can now generate SSH keys
- Drop remove-sdk-internal.patch as we now actually use bitwarden-sdk-internal
- Add system-roboto-font.patch
- Add cxxbridge-cmd.patch

OBS-URL: https://build.opensuse.org/package/show/devel:languages:nodejs/bitwarden?expand=0&rev=85
2025-07-03 09:15:07 +00:00
518ee7f49f Accepting request 1230749 from devel:languages:nodejs
OBS-URL: https://build.opensuse.org/request/show/1230749
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/bitwarden?expand=0&rev=38
2024-12-13 21:38:54 +00:00
373e10af3a Accepting request 1230747 from home:dziobian:gulgul-ultron:19
- New upstream release 2024.12.0
  * Added new SSH agent
  * Added new item type for SSH keys
  * Added new import options
  * fix: Add new item should set item type
  * Desktop edit folder button visibility
  * Import TOTP with ZohoVault CSV importer
  * fix BufferSource conversions

OBS-URL: https://build.opensuse.org/request/show/1230747
OBS-URL: https://build.opensuse.org/package/show/devel:languages:nodejs/bitwarden?expand=0&rev=83
2024-12-13 09:42:40 +00:00
ef9eeed95b Accepting request 1226176 from devel:languages:nodejs
OBS-URL: https://build.opensuse.org/request/show/1226176
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/bitwarden?expand=0&rev=37
2024-11-25 22:21:14 +00:00
245e5b030b - New upstream release 2024.11.2
* Revert the passphrase minimum back to 3 words

OBS-URL: https://build.opensuse.org/package/show/devel:languages:nodejs/bitwarden?expand=0&rev=81
2024-11-25 06:23:45 +00:00
6c2af2ebb3 Accepting request 1224412 from devel:languages:nodejs
OBS-URL: https://build.opensuse.org/request/show/1224412
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/bitwarden?expand=0&rev=36
2024-11-15 14:44:06 +00:00
4395097d0a - New upstream release 2024.11.0
* Security update for generating passphrases
  * Enable email verification for account creation

OBS-URL: https://build.opensuse.org/package/show/devel:languages:nodejs/bitwarden?expand=0&rev=79
2024-11-15 10:01:26 +00:00
06de2b2e21 OBS-URL: https://build.opensuse.org/package/show/devel:languages:nodejs/bitwarden?expand=0&rev=78 2024-11-11 15:16:12 +00:00
b8041c0061 OBS-URL: https://build.opensuse.org/package/show/devel:languages:nodejs/bitwarden?expand=0&rev=77 2024-11-11 15:08:58 +00:00
81ad61b130 Accepting request 1218451 from devel:languages:nodejs
OBS-URL: https://build.opensuse.org/request/show/1218451
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/bitwarden?expand=0&rev=35
2024-10-27 10:25:37 +00:00
2ebf1a20d8 - New upstream release 2024.10.0
* no changelog provided
- Add native-messaging.main-fix-path.patch
- Remove a temporarily-nonfree new dependency that is currently dead code (gh#bitwarden/clients#11611)
  * add remove-sdk-internal.patch

OBS-URL: https://build.opensuse.org/package/show/devel:languages:nodejs/bitwarden?expand=0&rev=75
2024-10-25 21:15:23 +00:00
cc71958096 Accepting request 1202029 from devel:languages:nodejs
OBS-URL: https://build.opensuse.org/request/show/1202029
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/bitwarden?expand=0&rev=34
2024-09-20 15:11:14 +00:00
97098ef571 - New upstream release 2024.9.0
* no changelog provided

OBS-URL: https://build.opensuse.org/package/show/devel:languages:nodejs/bitwarden?expand=0&rev=73
2024-09-19 17:13:51 +00:00
18 changed files with 454 additions and 509 deletions

View File

@@ -2,8 +2,8 @@
<service name="obs_scm" mode="manual">
<param name="scm">git</param>
<param name="url">https://github.com/bitwarden/clients.git</param>
<param name="revision">desktop-v2024.8.2</param>
<param name="version">2024.8.2</param>
<param name="revision">desktop-v2025.8.2</param>
<param name="version">2025.8.2</param>
<param name="filename">bitwarden</param>
<param name="exclude">bitwarden_license/*</param>
<!-- The code in bitwarden_license MUST NOT be included in published tarballs as it is non-redistributable! -->

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:69fdfe866a500de39e5044fe31b392ede84ddd8786d8f70f3ae358a2230126a5
size 41812493

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:2fb6c96850cbb1b1ce30d32bf33870a0cb0ddd0f69a3ba6f90f2837976ff5d01
size 49946125

View File

@@ -1,3 +1,77 @@
-------------------------------------------------------------------
Sat Aug 30 10:19:12 UTC 2025 - Bruno Pitrus <brunopitrus@hotmail.com>
- New upstream release 2025.8.2
* Show website icons when viewing an item
* Updated flow for assigning items to collections
* Removed setting for requiring password or PIN on app-start when using biometric unlock.
Password or PIN now always required on Linux
-------------------------------------------------------------------
Fri Jul 25 09:34:30 UTC 2025 - Bruno Pitrus <brunopitrus@hotmail.com>
- New upstream release 2025.7.0
* no changelog provided
- Drop no longer relevant patches
* remove-argon2-browser.patch
* system-libargon2.patch
-------------------------------------------------------------------
Wed Jul 2 19:53:15 UTC 2025 - Bruno Pitrus <brunopitrus@hotmail.com>
- Update to 2025.6.1
* Bitwarden 2025.x is a major rewrite of the application,
moving some backend code to a separate wasm module
* Updated UI for two-step login with security keys
* Added location to login with device requests
* Added support for two-step login with security keys on Linux
* Added verification of logins from unrecognized devices
* Can now generate SSH keys
- Drop remove-sdk-internal.patch as we now actually use bitwarden-sdk-internal
- Add system-roboto-font.patch
- Add cxxbridge-cmd.patch
-------------------------------------------------------------------
Thu Dec 12 18:40:10 UTC 2024 - Bruno Pitrus <brunopitrus@hotmail.com>
- New upstream release 2024.12.0
* Added new SSH agent
* Added new item type for SSH keys
* Added new import options
* fix: Add new item should set item type
* Desktop edit folder button visibility
* Import TOTP with ZohoVault CSV importer
* fix BufferSource conversions
-------------------------------------------------------------------
Thu Nov 21 18:06:28 UTC 2024 - Bruno Pitrus <brunopitrus@hotmail.com>
- New upstream release 2024.11.2
* Revert the passphrase minimum back to 3 words
-------------------------------------------------------------------
Fri Nov 15 05:34:33 UTC 2024 - Bruno Pitrus <brunopitrus@hotmail.com>
- New upstream release 2024.11.0
* Security update for generating passphrases
* Enable email verification for account creation
-------------------------------------------------------------------
Fri Oct 25 20:27:27 UTC 2024 - Bruno Pitrus <brunopitrus@hotmail.com>
- New upstream release 2024.10.0
* no changelog provided
- Add native-messaging.main-fix-path.patch
- Remove a temporarily-nonfree new dependency that is currently dead code (gh#bitwarden/clients#11611)
* add remove-sdk-internal.patch
-------------------------------------------------------------------
Thu Sep 19 17:13:10 UTC 2024 - Bruno Pitrus <brunopitrus@hotmail.com>
- New upstream release 2024.9.0
* no changelog provided
-------------------------------------------------------------------
Thu Sep 12 14:39:24 UTC 2024 - Bruno Pitrus <brunopitrus@hotmail.com>

View File

@@ -1,4 +1,4 @@
name: bitwarden
version: 2024.8.2
mtime: 1725557694
commit: 0a3cf4772e79f8acbc297adcae6b39802ebb9eae
version: 2025.8.2
mtime: 1756400486
commit: 5b1e500544260610dad315bdb45a87566e85f9fa

View File

@@ -20,13 +20,15 @@
#not running the tests on OBS — extremely flaky
%bcond_with test_rust
%global sdk_internal_req_version 0.2.0~main.242
Name: bitwarden
Version: 2024.8.2
Version: 2025.8.2
Release: 0
Summary: A secure and free password manager for all of your devices
Group: Productivity/Security
License: GPL-3.0-only and MIT and (Apache-2.0 or MIT)
License: (Apache-2.0 OR MIT) AND (Apache-2.0 OR BSL-1.0) AND BSD-3-Clause AND GPL-3.0-only AND MIT AND (MIT OR Unlicense) AND MPL-2.0 AND Unicode-3.0
URL: https://github.com/bitwarden/clients
#x86 electron requires SSE2
@@ -57,14 +59,17 @@ Patch0: remove-unnecessary-deps.patch
Patch1: fix-desktop-file.patch
Patch3: do-not-install-font-privately.patch
Patch4: desktop_native-rust-arch.patch
Patch5: remove-argon2-browser.patch
Patch7: bug-reporting-url.patch
Patch8: no-sourcemaps.patch
Patch9: main-getPath-exe.patch
Patch10: native-messaging.main-fix-path.patch
#patches to use system libs
Patch1000: system-libargon2.patch
Patch1001: system-roboto-font.patch
#patches to fix interaction with other software
Patch2000: cxxbridge-cmd.patch
#patches to fix upstream hostility (DRM etc.)
Patch4000: remove-esbuild-version-check.patch
@@ -90,11 +95,9 @@ BuildRequires: fdupes
BuildRequires: fontpackages-devel
BuildRequires: hicolor-icon-theme
BuildRequires: jq
%if 0%{?suse_version}
BuildRequires: nodejs-packaging
%endif
BuildRequires: nodejs-bitwarden-sdk-internal = %sdk_internal_req_version
BuildRequires: nodejs-electron-devel
BuildRequires: pkgconfig(libargon2)
BuildRequires: sed
BuildRequires: zstd
#Tools used by npm
@@ -113,8 +116,9 @@ BuildRequires: dbus-1-daemon
%endif
%endif
Requires: (google-opensans-fonts or open-sans-fonts)
Requires: bitwarden-sdk-internal = %sdk_internal_req_version
Requires: nodejs-electron%{_isa}
Requires: google-roboto-fonts
%global __requires_exclude ^npm(.*)|^nodejs(.*)
%global __provides_exclude ^npm(.*)|^nodejs(.*)|^lib.*\\.so.*$
@@ -127,13 +131,23 @@ Bitwarden is a free and open-source password management service that stores sens
%prep
%autosetup -p1 -a1
#Sanity check that we've declared the correct version in header
test $(jq -cj '.version' node_modules/@bitwarden/sdk-internal/package.json | sed 's/-/~/g') = %sdk_internal_req_version
rm -rvf node_modules/@bitwarden/sdk-internal
cp -arvLT {%{nodejs_sitelib},node_modules}/@bitwarden/sdk-internal
#remove bundled font
rm -v libs/angular/src/scss/webfonts/roboto.woff2
#fix exe path
sed -i 's[XXXLIBDIRXXX[%{_libdir}[g' apps/desktop/src/main/native-messaging.main.ts
# Remove unused postinstall script (electron-rebuild)
sed -i '/"postinstall":/d' apps/desktop/package.json
#Remove bundled open sans
cp -v /dev/null libs/angular/src/scss/webfonts.css
rm -rvf libs/angular/src/scss/webfonts
@@ -149,7 +163,12 @@ cd apps/desktop/desktop_native
rm -rf vendor/wayland-protocols/protocols
ln -svT /usr/share/wayland-protocols vendor/wayland-protocols/protocols
# https://blogs.gnome.org/mcatanzaro/2020/05/18/patching-vendored-rust-dependencies/
for i in wayland-protocols libloading system-deps; do
for i in \
wayland-protocols \
libloading \
pkcs5 \
aes-gcm \
; do
pushd vendor/$i
jq -cj '.files={}' .cargo-checksum.json >tmp && mv tmp .cargo-checksum.json && popd
done
@@ -187,6 +206,8 @@ auditable='auditable -vv'
cd apps/desktop
pushd desktop_native
cargo -vv $auditable rustc --offline --release --package desktop_napi --lib --crate-type cdylib
#RUSTFLAGS="$RUSTFLAGS -Crelocation-model=pie"
cargo -vv $auditable rustc --offline --release --package desktop_proxy --bin desktop_proxy -- -Crelocation-model=pie
popd
npm run build
@@ -197,16 +218,17 @@ cd build
mkdir -pv node_modules/@bitwarden/desktop-napi
cp -plv ../desktop_native/napi/{package.json,index.js} -t node_modules/@bitwarden/desktop-napi
cp -plvT ../desktop_native/target/release/*.so node_modules/@bitwarden/desktop-napi/desktop_napi.node
rm -fv ../../../node_modules/argon2/build-tmp-napi-v3/node_gyp_bins/python3
cp -plvr ../../../node_modules/argon2 -t node_modules/
cp -plvr ../../../node_modules/node-gyp-build -t node_modules/
cp -plvr '../../../node_modules/@phc' -t node_modules/
cp -plv -t . ../desktop_native/target/release/desktop_proxy
%install
cd %{_builddir}/bitwarden-%{version}/apps/desktop
mkdir -pv %{buildroot}%{_libdir}
cp -plr build %{buildroot}%{_libdir}/%{name}
cp -ar build %{buildroot}%{_libdir}/%{name}
for i in %{buildroot}%{_libdir}/%{name}/*.wasm; do
cmp %{_datadir}/bitwarden/*.wasm "$i"
ln -svf %{_datadir}/bitwarden/*.wasm "$i"
done
for i in 16 32 64 128 256 512 1024
do
install -pvDm644 resources/icons/${i}x${i}.png "%{buildroot}%{_datadir}/icons/hicolor/${i}x${i}/apps/%{name}.png"
@@ -258,6 +280,7 @@ find -name '.gitignore' -type f -print -delete
#Fix file mode
find . -type f -exec chmod 644 {} \;
find . -name '*.node' -exec chmod 755 {} \;
chmod 755 desktop_proxy
# Remove empty directories
find . -type d -empty -print -delete

33
cxxbridge-cmd.patch Normal file
View File

@@ -0,0 +1,33 @@
Work around a bug in cargo-vendor-filterer causing this:
+ cargo -vv auditable -vv rustc --offline --release --package desktop_napi --lib --crate-type cdylib
warning: both `/home/abuild/rpmbuild/BUILD/bitwarden-2025.1.2/apps/desktop/desktop_native/.cargo/config` and `/home/abuild/rpmbuild/BUILD/bitwarden-2025.1.2/apps/desktop/desktop_native/.cargo/config.toml` exist. Using `/home/abuild/rpmbuild/BUILD/bitwarden-2025.1.2/apps/desktop/desktop_native/.cargo/config`
warning: both `/home/abuild/rpmbuild/BUILD/bitwarden-2025.1.2/apps/desktop/desktop_native/.cargo/config` and `/home/abuild/rpmbuild/BUILD/bitwarden-2025.1.2/apps/desktop/desktop_native/.cargo/config.toml` exist. Using `/home/abuild/rpmbuild/BUILD/bitwarden-2025.1.2/apps/desktop/desktop_native/.cargo/config`
error: failed to get `anyhow` as a dependency of package `desktop_napi v0.0.0 (/home/abuild/rpmbuild/BUILD/bitwarden-2025.1.2/apps/desktop/desktop_native/napi)`
Caused by:
failed to load source for dependency `anyhow`
Caused by:
Unable to update registry `crates-io`
Caused by:
failed to update replaced source registry `crates-io`
Caused by:
failed to parse manifest at `/home/abuild/rpmbuild/BUILD/bitwarden-2025.1.2/apps/desktop/desktop_native/vendor/cxxbridge-cmd/Cargo.toml`
Caused by:
no targets specified in the manifest
either src/lib.rs, src/main.rs, a [lib] section, or [[bin]] section must be present
--- clients/apps/desktop/desktop_native/vendor/cxxbridge-cmd/Cargo.toml.orig 2025-01-23 19:34:35.524748802 +0100
+++ clients/apps/desktop/desktop_native/vendor/cxxbridge-cmd/Cargo.toml 2025-01-23 19:58:25.464540529 +0100
@@ -20,6 +20,11 @@ default-features = false
features = ["clone-impls", "full", "parsing", "printing"]
version = "2.0.46"
+[lib]
+doc-scrape-examples = false
+name = "cxxbridge_cmd"
+path = "src/lib.rs"
+
[features]
experimental-async-fn = []

View File

@@ -1,208 +1,131 @@
Replace wrong path to Rust native module with something we actually control (we aren't using the napi-rs script which is awful).
I have no idea wtf musl is even doing there, as Electron is officially supported only on GNU systems.
--- clients/apps/desktop/desktop_native/napi/index.js.orig 2024-07-15 19:10:33.919215714 +0200
+++ clients/apps/desktop/desktop_native/napi/index.js 2024-07-15 19:33:23.753781579 +0200
@@ -1,203 +1,7 @@
-const { existsSync, readFileSync } = require('fs')
-const { join } = require('path')
--- clients/apps/desktop/desktop_native/napi/index.js.orig 2025-01-23 19:29:20.654791775 +0100
+++ clients/apps/desktop/desktop_native/napi/index.js 2025-01-23 19:40:31.124702070 +0100
@@ -1,126 +1,7 @@
-const { existsSync } = require("fs");
-const { join } = require("path");
-
-const { platform, arch } = process
-const { platform, arch } = process;
-
let nativeBinding = null
-let localFileExisted = false
let loadError = null
let nativeBinding = null;
-let localFileExisted = false;
let loadError = null;
-function isMusl() {
- // For Node 10
- if (!process.report || typeof process.report.getReport !== 'function') {
- try {
- return readFileSync('/usr/bin/ldd', 'utf8').includes('musl')
- } catch (e) {
- return true
-function loadFirstAvailable(localFiles, nodeModule) {
- for (const localFile of localFiles) {
- if (existsSync(join(__dirname, localFile))) {
- return require(`./${localFile}`);
- }
- } else {
- const { glibcVersionRuntime } = process.report.getReport().header
- return !glibcVersionRuntime
- }
-
- require(nodeModule);
-}
-
-switch (platform) {
- case 'android':
- case "android":
- switch (arch) {
- case 'arm64':
- localFileExisted = existsSync(join(__dirname, 'desktop_napi.android-arm64.node'))
- try {
- if (localFileExisted) {
- nativeBinding = require('./desktop_napi.android-arm64.node')
- } else {
- nativeBinding = require('@bitwarden/desktop-napi-android-arm64')
- }
- } catch (e) {
- loadError = e
- }
- break
- case 'arm':
- localFileExisted = existsSync(join(__dirname, 'desktop_napi.android-arm-eabi.node'))
- try {
- if (localFileExisted) {
- nativeBinding = require('./desktop_napi.android-arm-eabi.node')
- } else {
- nativeBinding = require('@bitwarden/desktop-napi-android-arm-eabi')
- }
- } catch (e) {
- loadError = e
- }
- break
- case "arm64":
- nativeBinding = loadFirstAvailable(
- ["desktop_napi.android-arm64.node"],
- "@bitwarden/desktop-napi-android-arm64",
- );
- break;
- case "arm":
- nativeBinding = loadFirstAvailable(
- ["desktop_napi.android-arm.node"],
- "@bitwarden/desktop-napi-android-arm",
- );
- break;
- default:
- throw new Error(`Unsupported architecture on Android ${arch}`)
- throw new Error(`Unsupported architecture on Android ${arch}`);
- }
- break
- case 'win32':
- break;
- case "win32":
- switch (arch) {
- case 'x64':
- localFileExisted = existsSync(
- join(__dirname, 'desktop_napi.win32-x64-msvc.node')
- )
- try {
- if (localFileExisted) {
- nativeBinding = require('./desktop_napi.win32-x64-msvc.node')
- } else {
- nativeBinding = require('@bitwarden/desktop-napi-win32-x64-msvc')
- }
- } catch (e) {
- loadError = e
- }
- break
- case 'ia32':
- localFileExisted = existsSync(
- join(__dirname, 'desktop_napi.win32-ia32-msvc.node')
- )
- try {
- if (localFileExisted) {
- nativeBinding = require('./desktop_napi.win32-ia32-msvc.node')
- } else {
- nativeBinding = require('@bitwarden/desktop-napi-win32-ia32-msvc')
- }
- } catch (e) {
- loadError = e
- }
- break
- case 'arm64':
- localFileExisted = existsSync(
- join(__dirname, 'desktop_napi.win32-arm64-msvc.node')
- )
- try {
- if (localFileExisted) {
- nativeBinding = require('./desktop_napi.win32-arm64-msvc.node')
- } else {
- nativeBinding = require('@bitwarden/desktop-napi-win32-arm64-msvc')
- }
- } catch (e) {
- loadError = e
- }
- break
- case "x64":
- nativeBinding = loadFirstAvailable(
- ["desktop_napi.win32-x64-msvc.node"],
- "@bitwarden/desktop-napi-win32-x64-msvc",
- );
- break;
- case "ia32":
- nativeBinding = loadFirstAvailable(
- ["desktop_napi.win32-ia32-msvc.node"],
- "@bitwarden/desktop-napi-win32-ia32-msvc",
- );
- break;
- case "arm64":
- nativeBinding = loadFirstAvailable(
- ["desktop_napi.win32-arm64-msvc.node"],
- "@bitwarden/desktop-napi-win32-arm64-msvc",
- );
- break;
- default:
- throw new Error(`Unsupported architecture on Windows: ${arch}`)
- throw new Error(`Unsupported architecture on Windows: ${arch}`);
- }
- break
- case 'darwin':
- break;
- case "darwin":
- switch (arch) {
- case 'x64':
- localFileExisted = existsSync(join(__dirname, 'desktop_napi.darwin-x64.node'))
- try {
- if (localFileExisted) {
- nativeBinding = require('./desktop_napi.darwin-x64.node')
- } else {
- nativeBinding = require('@bitwarden/desktop-napi-darwin-x64')
- }
- } catch (e) {
- loadError = e
- }
- break
- case 'arm64':
- localFileExisted = existsSync(
- join(__dirname, 'desktop_napi.darwin-arm64.node')
- )
- try {
- if (localFileExisted) {
- nativeBinding = require('./desktop_napi.darwin-arm64.node')
- } else {
- nativeBinding = require('@bitwarden/desktop-napi-darwin-arm64')
- }
- } catch (e) {
- loadError = e
- }
- break
- case "x64":
- nativeBinding = loadFirstAvailable(
- ["desktop_napi.darwin-x64.node"],
- "@bitwarden/desktop-napi-darwin-x64",
- );
- break;
- case "arm64":
- nativeBinding = loadFirstAvailable(
- ["desktop_napi.darwin-arm64.node"],
- "@bitwarden/desktop-napi-darwin-arm64",
- );
- break;
- default:
- throw new Error(`Unsupported architecture on macOS: ${arch}`)
- throw new Error(`Unsupported architecture on macOS: ${arch}`);
- }
- break
- case 'freebsd':
- if (arch !== 'x64') {
- throw new Error(`Unsupported architecture on FreeBSD: ${arch}`)
- }
- localFileExisted = existsSync(join(__dirname, 'desktop_napi.freebsd-x64.node'))
- try {
- if (localFileExisted) {
- nativeBinding = require('./desktop_napi.freebsd-x64.node')
- } else {
- nativeBinding = require('@bitwarden/desktop-napi-freebsd-x64')
- }
- } catch (e) {
- loadError = e
- }
- break
- case 'linux':
- break;
- case "freebsd":
- nativeBinding = loadFirstAvailable(
- ["desktop_napi.freebsd-x64.node"],
- "@bitwarden/desktop-napi-freebsd-x64",
- );
- break;
- case "linux":
- switch (arch) {
- case 'x64':
- localFileExisted = existsSync(
- join(__dirname, 'desktop_napi.linux-x64-musl.node')
- )
- case "x64":
- nativeBinding = loadFirstAvailable(
- ["desktop_napi.linux-x64-musl.node", "desktop_napi.linux-x64-gnu.node"],
- "@bitwarden/desktop-napi-linux-x64-musl",
- );
- break;
- case "arm64":
- nativeBinding = loadFirstAvailable(
- ["desktop_napi.linux-arm64-musl.node", "desktop_napi.linux-arm64-gnu.node"],
- "@bitwarden/desktop-napi-linux-arm64-musl",
- );
- break;
- case "arm":
- nativeBinding = loadFirstAvailable(
- ["desktop_napi.linux-arm-musl.node", "desktop_napi.linux-arm-gnu.node"],
- "@bitwarden/desktop-napi-linux-arm-musl",
- );
- localFileExisted = existsSync(join(__dirname, "desktop_napi.linux-arm-gnueabihf.node"));
- try {
- if (localFileExisted) {
- nativeBinding = require('./desktop_napi.linux-x64-musl.node')
- nativeBinding = require("./desktop_napi.linux-arm-gnueabihf.node");
- } else {
- nativeBinding = require('@bitwarden/desktop-napi-linux-x64-musl')
- nativeBinding = require("@bitwarden/desktop-napi-linux-arm-gnueabihf");
- }
- } catch (e) {
- loadError = e
- loadError = e;
- }
- break
- case 'arm64':
- localFileExisted = existsSync(
- join(__dirname, 'desktop_napi.linux-arm64-musl.node')
- )
- try {
- if (localFileExisted) {
- nativeBinding = require('./desktop_napi.linux-arm64-musl.node')
- } else {
- nativeBinding = require('@bitwarden/desktop-napi-linux-arm64-musl')
- }
- } catch (e) {
- loadError = e
- }
- break
- case 'arm':
- localFileExisted = existsSync(
- join(__dirname, 'desktop_napi.linux-arm-gnueabihf.node')
- )
- try {
- if (localFileExisted) {
- nativeBinding = require('./desktop_napi.linux-arm-gnueabihf.node')
- } else {
- nativeBinding = require('@bitwarden/desktop-napi-linux-arm-gnueabihf')
- }
- } catch (e) {
- loadError = e
- }
- break
- break;
- default:
- throw new Error(`Unsupported architecture on Linux: ${arch}`)
- throw new Error(`Unsupported architecture on Linux: ${arch}`);
- }
- break
- break;
- default:
- throw new Error(`Unsupported OS: ${platform}, architecture: ${arch}`)
- throw new Error(`Unsupported OS: ${platform}, architecture: ${arch}`);
-}
+nativeBinding = require('./desktop_napi.node')

View File

@@ -2,12 +2,12 @@ This patch is required to make "Start automatically on login" work
--- a/apps/desktop/src/main/messaging.main.ts
+++ b/apps/desktop/src/main/messaging.main.ts
@@ -114,7 +114,7 @@
Version=${app.getVersion()}
Name=Bitwarden
Comment=Bitwarden startup script
-Exec=${app.getPath("exe")}
+Exec=bitwarden-desktop
StartupNotify=false
Terminal=false`;
@@ -136,7 +136,7 @@ export class MessagingMain {
Version=${app.getVersion()}
Name=Bitwarden
Comment=Bitwarden startup script
- Exec=${app.getPath("exe")}
+ Exec=bitwarden-desktop
StartupNotify=false
Terminal=false`;

View File

@@ -1,11 +1,11 @@
--- bitwarden-2024.8.2/apps/desktop/src/main.ts.orig 2024-09-05 19:34:54.000000000 +0200
+++ bitwarden-2024.8.2/apps/desktop/src/main.ts 2024-09-12 16:26:40.135229235 +0200
@@ -218,7 +218,7 @@ export class Main {
--- clients/apps/desktop/src/main.ts.orig 2024-10-17 19:47:51.775405137 +0200
+++ clients/apps/desktop/src/main.ts 2024-10-17 21:04:06.768260922 +0200
@@ -231,7 +231,7 @@ export class Main {
this.logService,
this.windowMain,
app.getPath("userData"),
- app.getPath("exe"),
+ '/usr/bin/bitwarden-desktop',
app.getAppPath(),
);
this.desktopAutofillSettingsService = new DesktopAutofillSettingsService(stateProvider);

View File

@@ -0,0 +1,30 @@
--- clients-desktop-v2024.11.0/apps/desktop/src/main/native-messaging.main.ts.orig 2024-11-14 21:24:39.217775953 +0100
+++ clients-desktop-v2024.11.0/apps/desktop/src/main/native-messaging.main.ts 2024-11-14 21:37:48.932452741 +0100
@@ -399,26 +399,7 @@ export class NativeMessagingMain {
}
private binaryPath() {
- const ext = process.platform === "win32" ? ".exe" : "";
-
- if (isDev()) {
- const devPath = path.join(
- this.appPath,
- "..",
- "desktop_native",
- "target",
- "debug",
- `desktop_proxy${ext}`,
- );
-
- // isDev() returns true when using a production build with ELECTRON_IS_DEV=1,
- // so we need to fall back to the prod binary if the dev binary doesn't exist.
- if (existsSync(devPath)) {
- return devPath;
- }
- }
-
- return path.join(path.dirname(this.exePath), `desktop_proxy${ext}`);
+ return 'XXXLIBDIRXXX/bitwarden/desktop_proxy'
}
private homedir() {

View File

@@ -1,17 +1,18 @@
--- clients/tsconfig.json.old 2023-04-26 13:30:57.000000000 +0200
+++ clients/tsconfig.json 2023-04-26 20:15:39.879489082 +0200
@@ -6,7 +6,7 @@
"target": "ES2016",
"module": "ES2020",
"lib": ["es5", "es6", "es7", "dom", "ES2021"],
--- clients/tsconfig.base.json 2025-07-02 20:03:23.998679344 +0200
+++ bitwarden-2025.6.1/tsconfig.base.json 2025-07-02 21:23:52.860744260 +0200
@@ -15,7 +15,8 @@
"baseUrl": ".",
"resolveJsonModule": true,
"allowJs": true,
- "sourceMap": true,
+ "sourceMap": false,
"allowSyntheticDefaultImports": true,
"experimentalDecorators": true,
"emitDecoratorMetadata": true,
--- clients/apps/desktop/webpack.renderer.js.old 2023-04-26 13:30:57.000000000 +0200
+++ clients/apps/desktop/webpack.renderer.js 2023-04-26 20:17:42.900973173 +0200
@@ -61,7 +61,7 @@
+ "removeComments": true,
"skipLibCheck": true,
"paths": {
"@bitwarden/admin-console/common": ["./libs/admin-console/src/common"],
--- clients/apps/desktop/webpack.renderer.js 2025-07-02 20:03:23.070679456 +0200
+++ bitwarden-2025.6.1/apps/desktop/webpack.renderer.js 2025-07-02 21:27:05.376723459 +0200
@@ -66,7 +61,7 @@ const common = {
const renderer = {
mode: NODE_ENV,
@@ -20,7 +21,7 @@
target: "web",
node: {
__dirname: false,
@@ -138,7 +138,7 @@
@@ -169,7 +159,7 @@ const renderer = {
new AngularWebpackPlugin({
tsConfigPath: "tsconfig.renderer.json",
entryModule: "src/app/app.module#AppModule",
@@ -29,7 +30,7 @@
}),
// ref: https://github.com/angular/angular/issues/20357
new webpack.ContextReplacementPlugin(
@@ -150,9 +150,6 @@
@@ -181,9 +171,6 @@ const renderer = {
filename: "index.html",
chunks: ["app/vendor", "app/main"],
}),
@@ -39,14 +40,3 @@
new MiniCssExtractPlugin({
filename: "[name].[contenthash].css",
chunkFilename: "[id].[contenthash].css",
--- clients/apps/desktop/tsconfig.json.old 2023-12-06 21:48:09.744042358 +0100
+++ clients/apps/desktop/tsconfig.json 2023-12-06 21:53:51.341419937 +0100
@@ -6,7 +6,7 @@
"experimentalDecorators": true,
"module": "ES2020",
"target": "ES2016",
- "sourceMap": true,
+ "removeComments": true,
"types": [],
"baseUrl": ".",
"paths": {

View File

@@ -34,6 +34,7 @@ popd
echo ">>>>>> Remove non-free binaries"
find . -type f -name "*.wasm" -print -delete
find . -type f -name "*.wasm.js" -print -delete
find . -type f -name "*.jar" -print -delete
find . -type f -name "*.exe" -print -delete
find . -type f -name "*.node" -print -delete

View File

@@ -1,65 +0,0 @@
Remove dependency on argon-browser2 which should be dead code after https://github.com/bitwarden/clients/commit/996823169a5134da56c0e08f6e83a01e64164774
We used to path this to use node_modules/argon2 but cannot anymore due to sandbox now being enabled; fortunately, upstream at the same time moved the crypto to main process.
Therefore the WASM implementation in web-crypto-function should be dead code now and can be removed because we do not want to compile WASM.
--- bitwarden/apps/desktop/webpack.renderer.js.old 2023-02-15 19:02:44.000000000 +0100
+++ bitwarden/apps/desktop/webpack.renderer.js 2023-02-18 18:41:53.074156675 +0100
@@ -40,11 +40,6 @@
},
type: "asset/resource",
},
- {
- test: /\.wasm$/,
- loader: "base64-loader",
- type: "javascript/auto",
- },
],
},
plugins: [],
@@ -127,11 +122,6 @@
test: /[\/\\]@angular[\/\\].+\.js$/,
parser: { system: true },
},
- {
- test: /\.wasm$/,
- loader: "base64-loader",
- type: "javascript/auto",
- },
],
},
plugins: [
--- a/libs/common/src/platform/services/web-crypto-function.service.ts
+++ b/libs/common/src/platform/services/web-crypto-function.service.ts
@@ -1,4 +1,3 @@
-import * as argon2 from "argon2-browser";
import * as forge from "node-forge";
import { Utils } from "../../platform/misc/utils";
@@ -54,24 +53,9 @@ export class WebCryptoFunctionService implements CryptoFunctionService {
memory: number,
parallelism: number,
): Promise<Uint8Array> {
- if (!this.wasmSupported) {
- throw "Webassembly support is required for the Argon2 KDF feature.";
- }
-
- const passwordArr = new Uint8Array(this.toBuf(password));
- const saltArr = new Uint8Array(this.toBuf(salt));
-
- const result = await argon2.hash({
- pass: passwordArr,
- salt: saltArr,
- time: iterations,
- mem: memory,
- parallelism: parallelism,
- hashLen: 32,
- type: argon2.ArgonType.Argon2id,
- });
- argon2.unloadRuntime();
- return result.hash;
+ const err="This should be unreachable dead code. If you're seeing this message, please report a bug to openSUSE maintainers because we must have made a mistake when patching."
+ alert(err)
+ throw err
}
async hkdf(

View File

@@ -1,7 +1,7 @@
@types/semver and path-browserify is normally included transitively by storybook which we delete, adding it here explicitely because it is needed for build
--- clients/package.json.orig 2024-07-15 19:10:38.711610685 +0200
+++ clients/package.json 2024-07-15 19:25:13.322024338 +0200
--- clients/package.json.orig 2025-07-02 20:03:23.998679344 +0200
+++ clients/package.json 2025-07-02 20:17:27.210597628 +0200
@@ -13,7 +13,6 @@
},
"homepage": "https://bitwarden.com",
@@ -10,203 +10,193 @@
"lint": "eslint . --cache --cache-strategy content && prettier --check .",
"lint:fix": "eslint . --cache --cache-strategy content --fix",
"lint:clear": "rimraf .eslintcache",
@@ -26,7 +25,7 @@
"storybook": "ng run components:storybook",
"build-storybook": "ng run components:build-storybook",
"build-storybook:ci": "ng run components:build-storybook --webpack-stats-json",
- "postinstall": "patch-package"
+ "postinstall": "true"
},
"workspaces": [
"apps/*",
@@ -35,120 +34,44 @@
@@ -39,115 +37,44 @@
],
"devDependencies": {
"@angular-devkit/build-angular": "16.2.14",
- "@angular-eslint/eslint-plugin": "16.3.1",
- "@angular-eslint/eslint-plugin-template": "16.3.1",
- "@angular-eslint/template-parser": "16.3.1",
- "@angular/cli": "16.2.14",
"@angular/compiler-cli": "16.2.12",
- "@angular/elements": "16.2.12",
- "@babel/core": "^7.24.6",
"@babel/preset-env": "^7.24.6",
- "@compodoc/compodoc": "1.1.25",
- "@electron/notarize": "2.3.0",
- "@electron/rebuild": "3.6.0",
"@ngtools/webpack": "16.2.14",
- "@storybook/addon-a11y": "7.6.19",
- "@storybook/addon-actions": "7.6.19",
- "@storybook/addon-designs": "7.0.9",
- "@storybook/addon-essentials": "7.6.19",
- "@storybook/addon-interactions": "7.6.19",
- "@storybook/addon-links": "7.6.19",
- "@storybook/angular": "7.6.19",
- "@storybook/jest": "0.2.3",
- "@storybook/testing-library": "0.2.2",
- "@types/argon2-browser": "1.18.4",
- "@types/chrome": "0.0.262",
- "@types/firefox-webext-browser": "111.0.5",
"@angular-devkit/build-angular": "19.2.14",
- "@angular-eslint/schematics": "19.6.0",
- "@angular/cli": "19.2.14",
"@angular/compiler-cli": "19.2.14",
"@babel/core": "7.24.9",
"@babel/preset-env": "7.24.8",
- "@compodoc/compodoc": "1.1.26",
- "@electron/notarize": "3.0.1",
- "@electron/rebuild": "3.7.2",
- "@eslint/compat": "1.2.9",
- "@lit-labs/signals": "0.1.2",
"@ngtools/webpack": "19.2.14",
- "@storybook/addon-a11y": "8.6.12",
- "@storybook/addon-actions": "8.6.12",
- "@storybook/addon-designs": "8.2.1",
- "@storybook/addon-essentials": "8.6.12",
- "@storybook/addon-interactions": "8.6.12",
- "@storybook/addon-links": "8.6.12",
- "@storybook/addon-themes": "8.6.12",
- "@storybook/angular": "8.6.12",
- "@storybook/manager-api": "8.6.12",
- "@storybook/test-runner": "0.22.0",
- "@storybook/theming": "8.6.12",
- "@storybook/web-components-webpack5": "8.6.12",
- "@types/chrome": "0.0.306",
- "@types/firefox-webext-browser": "120.0.4",
- "@types/inquirer": "8.2.10",
"@types/jest": "29.5.12",
- "@types/jquery": "3.5.30",
"@types/jest": "29.5.14",
- "@types/jsdom": "21.1.7",
- "@types/koa": "2.14.0",
- "@types/koa": "2.15.0",
- "@types/koa__multer": "2.0.7",
- "@types/koa__router": "12.0.4",
- "@types/koa-bodyparser": "4.3.7",
- "@types/koa-json": "2.0.23",
- "@types/lowdb": "1.0.15",
"@types/lunr": "2.3.7",
"@types/node": "20.14.8",
"@types/node": "22.15.3",
- "@types/node-fetch": "2.6.4",
"@types/node-forge": "1.3.11",
"@types/node-ipc": "9.2.3",
"@types/papaparse": "5.3.14",
"@types/papaparse": "5.3.16",
- "@types/proper-lockfile": "4.1.4",
- "@types/react": "16.14.60",
- "@types/retry": "0.12.5",
+ "@types/semver": "^7.3.4",
"@types/zxcvbn": "4.4.4",
- "@typescript-eslint/eslint-plugin": "7.16.1",
- "@typescript-eslint/parser": "7.16.1",
"@types/zxcvbn": "4.4.5",
- "@typescript-eslint/rule-tester": "8.31.0",
- "@typescript-eslint/utils": "8.31.0",
- "@webcomponents/custom-elements": "1.6.0",
- "@yao-pkg/pkg": "^5.12.0",
"autoprefixer": "10.4.19",
- "babel-loader": "^9.1.3",
- "@yao-pkg/pkg": "6.5.1",
- "angular-eslint": "19.6.0",
"autoprefixer": "10.4.21",
- "axe-playwright": "2.1.0",
"babel-loader": "9.2.1",
- "base64-loader": "1.0.0",
- "browserslist": "^4.23.0",
- "chromatic": "10.9.6",
"concurrently": "8.2.2",
"copy-webpack-plugin": "12.0.2",
- "browserslist": "4.23.2",
- "chromatic": "13.1.2",
"concurrently": "9.2.0",
"copy-webpack-plugin": "13.0.0",
"cross-env": "7.0.3",
"css-loader": "6.10.0",
"electron": "31.3.1",
- "electron-builder": "24.13.3",
"electron-log": "5.0.1",
"css-loader": "7.1.2",
"electron": "36.4.0",
- "electron-builder": "26.0.12",
"electron-log": "5.4.0",
- "electron-reload": "2.0.0-alpha.1",
"electron-store": "8.2.0",
"electron-updater": "6.1.8",
- "eslint": "8.57.0",
- "eslint-config-prettier": "9.1.0",
- "eslint-import-resolver-typescript": "3.6.1",
- "eslint-plugin-import": "2.29.1",
"electron-updater": "6.6.4",
- "eslint": "9.26.0",
- "eslint-config-prettier": "10.1.2",
- "eslint-import-resolver-typescript": "4.3.4",
- "eslint-plugin-import": "2.31.0",
- "eslint-plugin-rxjs": "5.0.3",
- "eslint-plugin-rxjs-angular": "2.0.1",
- "eslint-plugin-storybook": "0.8.0",
- "eslint-plugin-tailwindcss": "3.17.4",
- "gulp": "4.0.2",
- "gulp-filter": "9.0.1",
- "gulp-if": "3.0.0",
- "gulp-json-editor": "2.6.0",
- "gulp-replace": "1.1.4",
- "gulp-zip": "6.0.0",
"html-loader": "5.0.0",
- "eslint-plugin-storybook": "0.12.0",
- "eslint-plugin-tailwindcss": "3.18.0",
"html-loader": "5.1.0",
- "html-webpack-injector": "1.1.4",
"html-webpack-plugin": "5.6.0",
- "husky": "9.1.4",
"html-webpack-plugin": "5.6.3",
- "husky": "9.1.7",
"jest-diff": "29.7.0",
- "jest-junit": "16.0.0",
"jest-mock-extended": "3.0.7",
- "jest-preset-angular": "14.1.1",
- "lint-staged": "15.2.8",
"mini-css-extract-plugin": "2.8.1",
"node-ipc": "9.2.1",
- "jest-preset-angular": "14.6.0",
- "json5": "2.2.3",
- "lint-staged": "16.0.0",
"mini-css-extract-plugin": "2.9.2",
- "nx": "21.1.2",
+ "path-browserify": "^1.0.1",
"postcss": "8.4.38",
"postcss": "8.5.3",
"postcss-loader": "8.1.1",
- "prettier": "3.3.3",
- "prettier-plugin-tailwindcss": "0.6.5",
- "prettier": "3.6.2",
- "prettier-plugin-tailwindcss": "0.6.11",
- "process": "0.11.10",
- "react": "18.3.1",
- "react-dom": "18.3.1",
"regedit": "^3.0.3",
- "remark-gfm": "3.0.1",
- "remark-gfm": "4.0.1",
"rimraf": "6.0.1",
"sass": "1.74.1",
"sass-loader": "14.2.1",
- "storybook": "7.6.19",
- "style-loader": "3.3.4",
- "tailwindcss": "3.4.3",
- "ts-jest": "29.2.2",
"ts-loader": "9.5.1",
"tsconfig-paths-webpack-plugin": "4.1.0",
"sass": "1.88.0",
"sass-loader": "16.0.4",
- "storybook": "8.6.12",
- "style-loader": "4.0.0",
- "tailwindcss": "3.4.17",
- "ts-jest": "29.3.4",
"ts-loader": "9.5.2",
"tsconfig-paths-webpack-plugin": "4.2.0",
- "type-fest": "2.19.0",
"typescript": "5.1.6",
"url": "0.11.3",
"typescript": "5.5.4",
- "typescript-eslint": "8.31.0",
- "typescript-strict-plugin": "2.4.4",
"url": "0.11.4",
- "util": "0.12.5",
- "wait-on": "7.2.0",
"webpack": "5.93.0",
- "webpack-cli": "5.1.4",
- "webpack-dev-server": "5.0.4",
- "wait-on": "8.0.3",
"webpack": "5.99.7",
- "webpack-cli": "6.0.1",
- "webpack-dev-server": "5.2.1",
- "webpack-node-externals": "3.0.0"
+ "webpack-cli": "5.1.4"
+ "webpack-cli": "6.0.1"
},
"dependencies": {
"@angular/animations": "16.2.12",
@@ -160,55 +83,28 @@
"@angular/platform-browser": "16.2.12",
"@angular/platform-browser-dynamic": "16.2.12",
"@angular/router": "16.2.12",
- "@koa/multer": "3.0.2",
- "@koa/router": "12.0.1",
"@angular/animations": "19.2.14",
@@ -161,51 +87,22 @@
"@angular/platform-browser-dynamic": "19.2.14",
"@angular/router": "19.2.14",
"@bitwarden/sdk-internal": "0.2.0-main.242",
- "@electron/fuses": "1.8.0",
- "@emotion/css": "11.13.5",
- "@koa/multer": "4.0.0",
- "@koa/router": "13.1.0",
"@microsoft/signalr": "8.0.7",
"@microsoft/signalr-protocol-msgpack": "8.0.7",
"@ng-select/ng-select": "11.2.0",
"argon2": "0.40.1",
- "argon2-browser": "1.18.0",
"big-integer": "1.6.51",
"@ng-select/ng-select": "14.9.0",
- "@nx/devkit": "21.1.2",
- "@nx/eslint": "21.1.2",
- "@nx/jest": "21.1.2",
- "@nx/js": "21.1.2",
"big-integer": "1.6.52",
- "bootstrap": "4.6.0",
- "braintree-web-drop-in": "1.42.0",
- "braintree-web-drop-in": "1.44.0",
"buffer": "6.0.3",
- "bufferutil": "4.0.8",
- "bufferutil": "4.0.9",
- "chalk": "4.1.2",
"commander": "11.1.0",
- "core-js": "3.36.1",
- "form-data": "4.0.0",
- "https-proxy-agent": "7.0.2",
"core-js": "3.44.0",
- "form-data": "4.0.4",
- "https-proxy-agent": "7.0.6",
- "inquirer": "8.2.6",
- "jquery": "3.7.1",
- "jsdom": "24.1.1",
- "jsdom": "26.1.0",
"jszip": "3.10.1",
- "koa": "2.15.0",
- "koa": "2.16.1",
- "koa-bodyparser": "4.4.1",
- "koa-json": "2.0.2",
- "lit": "3.3.0",
- "lowdb": "1.0.0",
"lunr": "2.3.9",
- "multer": "1.4.5-lts.1",
- "ngx-infinite-scroll": "16.0.0",
"ngx-toastr": "17.0.2",
- "multer": "1.4.5-lts.2",
"ngx-toastr": "19.0.0",
"node-fetch": "2.6.12",
"node-forge": "1.3.1",
"nord": "0.2.1",
"oidc-client-ts": "2.4.0",
- "open": "8.4.2",
"papaparse": "5.4.1",
- "patch-package": "8.0.0",
- "popper.js": "1.16.1",
"oidc-client-ts": "2.4.1",
- "open": "10.1.2",
"papaparse": "5.5.3",
- "proper-lockfile": "4.1.2",
- "qrcode-parser": "2.1.3",
- "qrious": "4.0.2",
"rxjs": "7.8.1",
- "semver": "7.7.2",
- "tabbable": "6.2.0",
"tldts": "6.1.38",
"utf-8-validate": "6.0.4",
"zone.js": "0.13.3",
"tldts": "7.0.1",
- "ts-node": "10.9.2",
"utf-8-validate": "6.0.5",
"zone.js": "0.15.1",
"zxcvbn": "4.4.2"
},
"overrides": {
- "tailwindcss": "$tailwindcss",
"@storybook/angular": {
"zone.js": "$zone.js"
@@ -220,7 +115,6 @@
"eslint-plugin-rxjs-angular": {
"eslint": "$eslint"
},
--- clients/apps/desktop/desktop_native/napi/package.json.orig 2024-07-15 19:10:33.919215714 +0200
+++ clients/apps/desktop/desktop_native/napi/package.json 2024-07-15 19:25:13.322024338 +0200
@@ -10,9 +10,6 @@
- "tailwindcss": "$tailwindcss",
"parse5": "7.2.1",
"react": "18.3.1",
"react-dom": "18.3.1",
--- clients-desktop-v2024.10.0/apps/desktop/desktop_native/napi/package.json.orig 2024-10-17 19:25:31.222180130 +0200
+++ clients-desktop-v2024.10.0/apps/desktop/desktop_native/napi/package.json 2024-10-17 19:43:45.262219326 +0200
@@ -8,9 +8,6 @@
},
"author": "",
"license": "GPL-3.0",
- "devDependencies": {
- "@napi-rs/cli": "2.16.2"
- "@napi-rs/cli": "2.18.4"
- },
"napi": {
"name": "desktop_napi",

View File

@@ -1,65 +0,0 @@
--- clients/node_modules/argon2/binding.gyp.orig 2024-07-15 19:27:24.157408387 +0200
+++ clients/node_modules/argon2/binding.gyp 2024-07-15 19:40:42.806528404 +0200
@@ -20,7 +20,7 @@
"Release": {
"target_conditions": [
["OS != 'win'", {
- "cflags+": ["-fdata-sections", "-ffunction-sections", "-flto", "-fvisibility=hidden"],
+ "cflags+": ["-fvisibility=hidden"],
"ldflags+": ["-Wl,--gc-sections"]
}]
],
@@ -29,26 +29,7 @@
}
},
"targets": [
- {
- "target_name": "libargon2",
- "sources": [
- "argon2/src/argon2.c",
- "argon2/src/blake2/blake2b.c",
- "argon2/src/core.c",
- "argon2/src/encoding.c",
- "argon2/src/thread.c"
- ],
- "cflags+": ["-Wno-type-limits"],
- "conditions": [
- ["target_arch == 'ia32' or target_arch == 'x64'", {
- "cflags+": ["-msse", "-msse2"],
- "sources+": ["argon2/src/opt.c"]
- }, {
- "sources+": ["argon2/src/ref.c"]
- }]
- ],
- "type": "static_library"
- }, {
+{
"target_name": "argon2",
"defines+": [
"NAPI_VERSION=<(napi_build_version)",
@@ -58,10 +39,15 @@
"sources": [
"argon2_node.cpp"
],
- "cflags_cc+": ["-Wall", "-Wextra", "-Wconversion", "-Wformat", "-Wnon-virtual-dtor", "-pedantic", "-Werror"],
+ "cflags_cc+": ["-Wall", "-Wextra", "-Wconversion", "-Wformat", "-Wnon-virtual-dtor", "-pedantic"],
"cflags_cc!": ["-fno-exceptions"],
"include_dirs": ["<!(node -p \"require('node-addon-api').include_dir\")"],
- "dependencies": ["libargon2"],
+ "cflags": [
+ "<!@(pkg-config libargon2 --cflags)",
+ ],
+ "libraries": [
+ "<!@(pkg-config libargon2 --libs)",
+ ],
"configurations": {
"Debug": {
"conditions": [
--- clients/node_modules/argon2/argon2_node.cpp.orig 2024-07-15 19:27:24.130728388 +0200
+++ clients/node_modules/argon2/argon2_node.cpp 2024-07-15 19:42:24.944237666 +0200
@@ -1,4 +1,4 @@
-#include "argon2/include/argon2.h"
+#include <argon2.h>
#include <cassert>
#include <cstdint>
#include <napi.h>

11
system-roboto-font.patch Normal file
View File

@@ -0,0 +1,11 @@
--- bitwarden-2025.5.1/libs/angular/src/scss/webfonts.css.orig 2025-06-04 21:36:27.000000000 +0200
+++ bitwarden-2025.5.1/libs/angular/src/scss/webfonts.css 2025-06-26 21:56:31.756077843 +0200
@@ -1,8 +0,0 @@
-@font-face {
- font-family: Roboto;
- src:
- url("webfonts/roboto.woff2") format("woff2 supports variations"),
- url("webfonts/roboto.woff2") format("woff2-variations");
- font-display: swap;
- font-weight: 100 900;
-}

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:f336dcd548f1fdb65092ee8a86923674ff41284044c96835b5e9693f1e89f9bf
size 43032335
oid sha256:48496dabbcd87fae453907bcd158e9ba70d2b05360afa39ec8a64fa1f1177c52
size 43982803