forked from pool/bitwarden
Compare commits
89 Commits
Author | SHA256 | Date | |
---|---|---|---|
c8891acdf4 | |||
e04adb52fe | |||
0c14e703c8 | |||
14527ac1e2 | |||
817f7eb1e6 | |||
1879290dda | |||
518ee7f49f | |||
373e10af3a | |||
ef9eeed95b | |||
245e5b030b | |||
6c2af2ebb3 | |||
4395097d0a | |||
06de2b2e21 | |||
b8041c0061 | |||
81ad61b130 | |||
2ebf1a20d8 | |||
cc71958096 | |||
97098ef571 | |||
bf1ae5a5b7 | |||
0f3025cf24 | |||
5f15f99fe2 | |||
aff0d8be92 | |||
203487db18 | |||
f4be295ede | |||
ef14054aaa | |||
9a435f975d | |||
85b33263f1 | |||
cb1098533d | |||
381d9976c3 | |||
093c016152 | |||
6d18d45b37 | |||
ab401b8f19 | |||
e6d4c5c07a | |||
ee51c68d6b | |||
2dc18e14b6 | |||
58ff3794d2 | |||
25bdc8d104 | |||
ec0f56810a | |||
01775b4a27 | |||
73489982b4 | |||
de6fcde0f6 | |||
a9539965c2 | |||
3ef9eac4b9 | |||
7d335e2608 | |||
952723abfb | |||
de66c4f16e | |||
8aa3fff72f | |||
42bc00c433 | |||
7fe9f85694 | |||
235695b4f0 | |||
dc4362cf29 | |||
c30598b81a | |||
415cec4959 | |||
24c7f27303 | |||
04a79b9ef3 | |||
c56016a790 | |||
ea6223d35c | |||
f2e8b0e600 | |||
15404df60a | |||
a73cdd39e1 | |||
9507fc8256 | |||
41cb30ff25 | |||
7532c32ebc | |||
ee99ca0e14 | |||
3dd18a4328 | |||
6994966188 | |||
558ddff0e5 | |||
29cae5f217 | |||
7490891475 | |||
79a40b373f | |||
d37c23f722 | |||
7bdaf6f926 | |||
6d732fb125 | |||
8f5da224b7 | |||
f265219f31 | |||
0d8ae14831 | |||
aa0b39c73d | |||
ed930e60da | |||
bdb427cdae | |||
dd64bde7f9 | |||
6c66e5225f | |||
a78a211915 | |||
33c25af384 | |||
8a09d67a5d | |||
d981972cab | |||
8827cae0a6 | |||
e84e0d988f | |||
3f2101f6cf | |||
6ca83b2671 |
4
_service
4
_service
@@ -2,8 +2,8 @@
|
|||||||
<service name="obs_scm" mode="manual">
|
<service name="obs_scm" mode="manual">
|
||||||
<param name="scm">git</param>
|
<param name="scm">git</param>
|
||||||
<param name="url">https://github.com/bitwarden/clients.git</param>
|
<param name="url">https://github.com/bitwarden/clients.git</param>
|
||||||
<param name="revision">desktop-v2024.8.2</param>
|
<param name="revision">desktop-v2025.8.2</param>
|
||||||
<param name="version">2024.8.2</param>
|
<param name="version">2025.8.2</param>
|
||||||
<param name="filename">bitwarden</param>
|
<param name="filename">bitwarden</param>
|
||||||
<param name="exclude">bitwarden_license/*</param>
|
<param name="exclude">bitwarden_license/*</param>
|
||||||
<!-- The code in bitwarden_license MUST NOT be included in published tarballs as it is non-redistributable! -->
|
<!-- The code in bitwarden_license MUST NOT be included in published tarballs as it is non-redistributable! -->
|
||||||
|
@@ -1,25 +0,0 @@
|
|||||||
Remove dependency on node-pre-gyp which brings a lot of garbage
|
|
||||||
|
|
||||||
--- bitwarden/node_modules/argon2/argon2.js.old 2023-02-18 17:54:54.041287237 +0100
|
|
||||||
+++ bitwarden/node_modules/argon2/argon2.js 2023-02-18 19:49:49.145206908 +0100
|
|
||||||
@@ -3,9 +3,8 @@
|
|
||||||
const { randomBytes, timingSafeEqual } = require("crypto");
|
|
||||||
const path = require("path");
|
|
||||||
const { promisify } = require("util");
|
|
||||||
-const binary = require("@mapbox/node-pre-gyp");
|
|
||||||
|
|
||||||
-const bindingPath = binary.find(path.resolve(__dirname, "./package.json"));
|
|
||||||
+const bindingPath = "./lib/binding/napi-v3/argon2.node"
|
|
||||||
const { hash: _hash } = require(bindingPath);
|
|
||||||
|
|
||||||
const { deserialize, serialize } = require("@phc/format");
|
|
||||||
--- bitwarden/node_modules/argon2/package.json.old 2023-02-18 17:54:54.141337239 +0100
|
|
||||||
+++ bitwarden/node_modules/argon2/package.json 2023-02-18 19:51:32.473209049 +0100
|
|
||||||
@@ -46,7 +46,6 @@
|
|
||||||
},
|
|
||||||
"homepage": "https://github.com/ranisalt/node-argon2#readme",
|
|
||||||
"dependencies": {
|
|
||||||
- "@mapbox/node-pre-gyp": "^1.0.11",
|
|
||||||
"@phc/format": "^1.0.0",
|
|
||||||
"node-addon-api": "^7.0.0"
|
|
||||||
},
|
|
@@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:935ad4966f10fcfbdac1784f248f800c7c4bb17834a67dcdd5b9b0e3061db518
|
|
||||||
size 37969933
|
|
@@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:1436703e869d9c2735117e4f65948f707281f0eee0c8e287516da11516e9baa8
|
|
||||||
size 39058445
|
|
@@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:4e67c98c75ab6b7d7a512f7ad8917fac956d7ce37ee4ed688c927dba433f66bd
|
|
||||||
size 40005133
|
|
@@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:a425511c3fd8e9c41079df4bbe7afd8f9678ada7902f322c3f2aa20f3fbcdae7
|
|
||||||
size 41812493
|
|
@@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:69fdfe866a500de39e5044fe31b392ede84ddd8786d8f70f3ae358a2230126a5
|
|
||||||
size 41812493
|
|
3
bitwarden-2025.8.2.obscpio
Normal file
3
bitwarden-2025.8.2.obscpio
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:2fb6c96850cbb1b1ce30d32bf33870a0cb0ddd0f69a3ba6f90f2837976ff5d01
|
||||||
|
size 49946125
|
@@ -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>
|
Thu Sep 12 14:39:24 UTC 2024 - Bruno Pitrus <brunopitrus@hotmail.com>
|
||||||
|
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
name: bitwarden
|
name: bitwarden
|
||||||
version: 2024.8.2
|
version: 2025.8.2
|
||||||
mtime: 1725557694
|
mtime: 1756400486
|
||||||
commit: 0a3cf4772e79f8acbc297adcae6b39802ebb9eae
|
commit: 5b1e500544260610dad315bdb45a87566e85f9fa
|
||||||
|
@@ -20,13 +20,15 @@
|
|||||||
#not running the tests on OBS — extremely flaky
|
#not running the tests on OBS — extremely flaky
|
||||||
%bcond_with test_rust
|
%bcond_with test_rust
|
||||||
|
|
||||||
|
%global sdk_internal_req_version 0.2.0~main.242
|
||||||
|
|
||||||
|
|
||||||
Name: bitwarden
|
Name: bitwarden
|
||||||
Version: 2024.8.2
|
Version: 2025.8.2
|
||||||
Release: 0
|
Release: 0
|
||||||
Summary: A secure and free password manager for all of your devices
|
Summary: A secure and free password manager for all of your devices
|
||||||
Group: Productivity/Security
|
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
|
URL: https://github.com/bitwarden/clients
|
||||||
|
|
||||||
#x86 electron requires SSE2
|
#x86 electron requires SSE2
|
||||||
@@ -57,14 +59,17 @@ Patch0: remove-unnecessary-deps.patch
|
|||||||
Patch1: fix-desktop-file.patch
|
Patch1: fix-desktop-file.patch
|
||||||
Patch3: do-not-install-font-privately.patch
|
Patch3: do-not-install-font-privately.patch
|
||||||
Patch4: desktop_native-rust-arch.patch
|
Patch4: desktop_native-rust-arch.patch
|
||||||
Patch5: remove-argon2-browser.patch
|
|
||||||
Patch7: bug-reporting-url.patch
|
Patch7: bug-reporting-url.patch
|
||||||
Patch8: no-sourcemaps.patch
|
Patch8: no-sourcemaps.patch
|
||||||
Patch9: main-getPath-exe.patch
|
Patch9: main-getPath-exe.patch
|
||||||
|
Patch10: native-messaging.main-fix-path.patch
|
||||||
|
|
||||||
|
|
||||||
#patches to use system libs
|
#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.)
|
#patches to fix upstream hostility (DRM etc.)
|
||||||
Patch4000: remove-esbuild-version-check.patch
|
Patch4000: remove-esbuild-version-check.patch
|
||||||
@@ -90,11 +95,9 @@ BuildRequires: fdupes
|
|||||||
BuildRequires: fontpackages-devel
|
BuildRequires: fontpackages-devel
|
||||||
BuildRequires: hicolor-icon-theme
|
BuildRequires: hicolor-icon-theme
|
||||||
BuildRequires: jq
|
BuildRequires: jq
|
||||||
%if 0%{?suse_version}
|
|
||||||
BuildRequires: nodejs-packaging
|
BuildRequires: nodejs-packaging
|
||||||
%endif
|
BuildRequires: nodejs-bitwarden-sdk-internal = %sdk_internal_req_version
|
||||||
BuildRequires: nodejs-electron-devel
|
BuildRequires: nodejs-electron-devel
|
||||||
BuildRequires: pkgconfig(libargon2)
|
|
||||||
BuildRequires: sed
|
BuildRequires: sed
|
||||||
BuildRequires: zstd
|
BuildRequires: zstd
|
||||||
#Tools used by npm
|
#Tools used by npm
|
||||||
@@ -113,8 +116,9 @@ BuildRequires: dbus-1-daemon
|
|||||||
%endif
|
%endif
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
Requires: (google-opensans-fonts or open-sans-fonts)
|
Requires: bitwarden-sdk-internal = %sdk_internal_req_version
|
||||||
Requires: nodejs-electron%{_isa}
|
Requires: nodejs-electron%{_isa}
|
||||||
|
Requires: google-roboto-fonts
|
||||||
|
|
||||||
%global __requires_exclude ^npm(.*)|^nodejs(.*)
|
%global __requires_exclude ^npm(.*)|^nodejs(.*)
|
||||||
%global __provides_exclude ^npm(.*)|^nodejs(.*)|^lib.*\\.so.*$
|
%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
|
%prep
|
||||||
%autosetup -p1 -a1
|
%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)
|
# Remove unused postinstall script (electron-rebuild)
|
||||||
sed -i '/"postinstall":/d' apps/desktop/package.json
|
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
|
rm -rf vendor/wayland-protocols/protocols
|
||||||
ln -svT /usr/share/wayland-protocols 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/
|
# 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
|
pushd vendor/$i
|
||||||
jq -cj '.files={}' .cargo-checksum.json >tmp && mv tmp .cargo-checksum.json && popd
|
jq -cj '.files={}' .cargo-checksum.json >tmp && mv tmp .cargo-checksum.json && popd
|
||||||
done
|
done
|
||||||
@@ -187,6 +206,8 @@ auditable='auditable -vv'
|
|||||||
cd apps/desktop
|
cd apps/desktop
|
||||||
pushd desktop_native
|
pushd desktop_native
|
||||||
cargo -vv $auditable rustc --offline --release --package desktop_napi --lib --crate-type cdylib
|
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
|
popd
|
||||||
|
|
||||||
npm run build
|
npm run build
|
||||||
@@ -197,16 +218,17 @@ cd build
|
|||||||
mkdir -pv node_modules/@bitwarden/desktop-napi
|
mkdir -pv node_modules/@bitwarden/desktop-napi
|
||||||
cp -plv ../desktop_native/napi/{package.json,index.js} -t 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
|
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 -plv -t . ../desktop_native/target/release/desktop_proxy
|
||||||
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/
|
|
||||||
|
|
||||||
|
|
||||||
%install
|
%install
|
||||||
cd %{_builddir}/bitwarden-%{version}/apps/desktop
|
cd %{_builddir}/bitwarden-%{version}/apps/desktop
|
||||||
mkdir -pv %{buildroot}%{_libdir}
|
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
|
for i in 16 32 64 128 256 512 1024
|
||||||
do
|
do
|
||||||
install -pvDm644 resources/icons/${i}x${i}.png "%{buildroot}%{_datadir}/icons/hicolor/${i}x${i}/apps/%{name}.png"
|
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
|
#Fix file mode
|
||||||
find . -type f -exec chmod 644 {} \;
|
find . -type f -exec chmod 644 {} \;
|
||||||
find . -name '*.node' -exec chmod 755 {} \;
|
find . -name '*.node' -exec chmod 755 {} \;
|
||||||
|
chmod 755 desktop_proxy
|
||||||
|
|
||||||
# Remove empty directories
|
# Remove empty directories
|
||||||
find . -type d -empty -print -delete
|
find . -type d -empty -print -delete
|
||||||
|
33
cxxbridge-cmd.patch
Normal file
33
cxxbridge-cmd.patch
Normal 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 = []
|
||||||
|
|
@@ -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).
|
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.
|
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.orig 2025-01-23 19:29:20.654791775 +0100
|
||||||
+++ clients/apps/desktop/desktop_native/napi/index.js 2024-07-15 19:33:23.753781579 +0200
|
+++ clients/apps/desktop/desktop_native/napi/index.js 2025-01-23 19:40:31.124702070 +0100
|
||||||
@@ -1,203 +1,7 @@
|
@@ -1,126 +1,7 @@
|
||||||
-const { existsSync, readFileSync } = require('fs')
|
-const { existsSync } = require("fs");
|
||||||
-const { join } = require('path')
|
-const { join } = require("path");
|
||||||
-
|
-
|
||||||
-const { platform, arch } = process
|
-const { platform, arch } = process;
|
||||||
-
|
-
|
||||||
let nativeBinding = null
|
let nativeBinding = null;
|
||||||
-let localFileExisted = false
|
-let localFileExisted = false;
|
||||||
let loadError = null
|
let loadError = null;
|
||||||
|
|
||||||
-function isMusl() {
|
-function loadFirstAvailable(localFiles, nodeModule) {
|
||||||
- // For Node 10
|
- for (const localFile of localFiles) {
|
||||||
- if (!process.report || typeof process.report.getReport !== 'function') {
|
- if (existsSync(join(__dirname, localFile))) {
|
||||||
- try {
|
- return require(`./${localFile}`);
|
||||||
- return readFileSync('/usr/bin/ldd', 'utf8').includes('musl')
|
|
||||||
- } catch (e) {
|
|
||||||
- return true
|
|
||||||
- }
|
- }
|
||||||
- } else {
|
|
||||||
- const { glibcVersionRuntime } = process.report.getReport().header
|
|
||||||
- return !glibcVersionRuntime
|
|
||||||
- }
|
- }
|
||||||
|
-
|
||||||
|
- require(nodeModule);
|
||||||
-}
|
-}
|
||||||
-
|
-
|
||||||
-switch (platform) {
|
-switch (platform) {
|
||||||
- case 'android':
|
- case "android":
|
||||||
- switch (arch) {
|
- switch (arch) {
|
||||||
- case 'arm64':
|
- case "arm64":
|
||||||
- localFileExisted = existsSync(join(__dirname, 'desktop_napi.android-arm64.node'))
|
- nativeBinding = loadFirstAvailable(
|
||||||
- try {
|
- ["desktop_napi.android-arm64.node"],
|
||||||
- if (localFileExisted) {
|
- "@bitwarden/desktop-napi-android-arm64",
|
||||||
- nativeBinding = require('./desktop_napi.android-arm64.node')
|
- );
|
||||||
- } else {
|
- break;
|
||||||
- nativeBinding = require('@bitwarden/desktop-napi-android-arm64')
|
- case "arm":
|
||||||
- }
|
- nativeBinding = loadFirstAvailable(
|
||||||
- } catch (e) {
|
- ["desktop_napi.android-arm.node"],
|
||||||
- loadError = e
|
- "@bitwarden/desktop-napi-android-arm",
|
||||||
- }
|
- );
|
||||||
- break
|
- 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
|
|
||||||
- default:
|
- default:
|
||||||
- throw new Error(`Unsupported architecture on Android ${arch}`)
|
- throw new Error(`Unsupported architecture on Android ${arch}`);
|
||||||
- }
|
- }
|
||||||
- break
|
- break;
|
||||||
- case 'win32':
|
- case "win32":
|
||||||
- switch (arch) {
|
- switch (arch) {
|
||||||
- case 'x64':
|
- case "x64":
|
||||||
- localFileExisted = existsSync(
|
- nativeBinding = loadFirstAvailable(
|
||||||
- join(__dirname, 'desktop_napi.win32-x64-msvc.node')
|
- ["desktop_napi.win32-x64-msvc.node"],
|
||||||
- )
|
- "@bitwarden/desktop-napi-win32-x64-msvc",
|
||||||
- try {
|
- );
|
||||||
- if (localFileExisted) {
|
- break;
|
||||||
- nativeBinding = require('./desktop_napi.win32-x64-msvc.node')
|
- case "ia32":
|
||||||
- } else {
|
- nativeBinding = loadFirstAvailable(
|
||||||
- nativeBinding = require('@bitwarden/desktop-napi-win32-x64-msvc')
|
- ["desktop_napi.win32-ia32-msvc.node"],
|
||||||
- }
|
- "@bitwarden/desktop-napi-win32-ia32-msvc",
|
||||||
- } catch (e) {
|
- );
|
||||||
- loadError = e
|
- break;
|
||||||
- }
|
- case "arm64":
|
||||||
- break
|
- nativeBinding = loadFirstAvailable(
|
||||||
- case 'ia32':
|
- ["desktop_napi.win32-arm64-msvc.node"],
|
||||||
- localFileExisted = existsSync(
|
- "@bitwarden/desktop-napi-win32-arm64-msvc",
|
||||||
- join(__dirname, 'desktop_napi.win32-ia32-msvc.node')
|
- );
|
||||||
- )
|
- break;
|
||||||
- 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
|
|
||||||
- default:
|
- default:
|
||||||
- throw new Error(`Unsupported architecture on Windows: ${arch}`)
|
- throw new Error(`Unsupported architecture on Windows: ${arch}`);
|
||||||
- }
|
- }
|
||||||
- break
|
- break;
|
||||||
- case 'darwin':
|
- case "darwin":
|
||||||
- switch (arch) {
|
- switch (arch) {
|
||||||
- case 'x64':
|
- case "x64":
|
||||||
- localFileExisted = existsSync(join(__dirname, 'desktop_napi.darwin-x64.node'))
|
- nativeBinding = loadFirstAvailable(
|
||||||
- try {
|
- ["desktop_napi.darwin-x64.node"],
|
||||||
- if (localFileExisted) {
|
- "@bitwarden/desktop-napi-darwin-x64",
|
||||||
- nativeBinding = require('./desktop_napi.darwin-x64.node')
|
- );
|
||||||
- } else {
|
- break;
|
||||||
- nativeBinding = require('@bitwarden/desktop-napi-darwin-x64')
|
- case "arm64":
|
||||||
- }
|
- nativeBinding = loadFirstAvailable(
|
||||||
- } catch (e) {
|
- ["desktop_napi.darwin-arm64.node"],
|
||||||
- loadError = e
|
- "@bitwarden/desktop-napi-darwin-arm64",
|
||||||
- }
|
- );
|
||||||
- break
|
- 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
|
|
||||||
- default:
|
- default:
|
||||||
- throw new Error(`Unsupported architecture on macOS: ${arch}`)
|
- throw new Error(`Unsupported architecture on macOS: ${arch}`);
|
||||||
- }
|
- }
|
||||||
- break
|
- break;
|
||||||
- case 'freebsd':
|
- case "freebsd":
|
||||||
- if (arch !== 'x64') {
|
- nativeBinding = loadFirstAvailable(
|
||||||
- throw new Error(`Unsupported architecture on FreeBSD: ${arch}`)
|
- ["desktop_napi.freebsd-x64.node"],
|
||||||
- }
|
- "@bitwarden/desktop-napi-freebsd-x64",
|
||||||
- localFileExisted = existsSync(join(__dirname, 'desktop_napi.freebsd-x64.node'))
|
- );
|
||||||
- try {
|
- break;
|
||||||
- if (localFileExisted) {
|
- case "linux":
|
||||||
- nativeBinding = require('./desktop_napi.freebsd-x64.node')
|
|
||||||
- } else {
|
|
||||||
- nativeBinding = require('@bitwarden/desktop-napi-freebsd-x64')
|
|
||||||
- }
|
|
||||||
- } catch (e) {
|
|
||||||
- loadError = e
|
|
||||||
- }
|
|
||||||
- break
|
|
||||||
- case 'linux':
|
|
||||||
- switch (arch) {
|
- switch (arch) {
|
||||||
- case 'x64':
|
- case "x64":
|
||||||
- localFileExisted = existsSync(
|
- nativeBinding = loadFirstAvailable(
|
||||||
- join(__dirname, 'desktop_napi.linux-x64-musl.node')
|
- ["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 {
|
- try {
|
||||||
- if (localFileExisted) {
|
- if (localFileExisted) {
|
||||||
- nativeBinding = require('./desktop_napi.linux-x64-musl.node')
|
- nativeBinding = require("./desktop_napi.linux-arm-gnueabihf.node");
|
||||||
- } else {
|
- } else {
|
||||||
- nativeBinding = require('@bitwarden/desktop-napi-linux-x64-musl')
|
- nativeBinding = require("@bitwarden/desktop-napi-linux-arm-gnueabihf");
|
||||||
- }
|
- }
|
||||||
- } catch (e) {
|
- } catch (e) {
|
||||||
- loadError = e
|
- loadError = e;
|
||||||
- }
|
- }
|
||||||
- break
|
- 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
|
|
||||||
- default:
|
- default:
|
||||||
- throw new Error(`Unsupported architecture on Linux: ${arch}`)
|
- throw new Error(`Unsupported architecture on Linux: ${arch}`);
|
||||||
- }
|
- }
|
||||||
- break
|
- break;
|
||||||
- default:
|
- default:
|
||||||
- throw new Error(`Unsupported OS: ${platform}, architecture: ${arch}`)
|
- throw new Error(`Unsupported OS: ${platform}, architecture: ${arch}`);
|
||||||
-}
|
-}
|
||||||
+nativeBinding = require('./desktop_napi.node')
|
+nativeBinding = require('./desktop_napi.node')
|
||||||
|
|
||||||
|
@@ -2,12 +2,12 @@ This patch is required to make "Start automatically on login" work
|
|||||||
|
|
||||||
--- a/apps/desktop/src/main/messaging.main.ts
|
--- a/apps/desktop/src/main/messaging.main.ts
|
||||||
+++ b/apps/desktop/src/main/messaging.main.ts
|
+++ b/apps/desktop/src/main/messaging.main.ts
|
||||||
@@ -114,7 +114,7 @@
|
@@ -136,7 +136,7 @@ export class MessagingMain {
|
||||||
Version=${app.getVersion()}
|
Version=${app.getVersion()}
|
||||||
Name=Bitwarden
|
Name=Bitwarden
|
||||||
Comment=Bitwarden startup script
|
Comment=Bitwarden startup script
|
||||||
-Exec=${app.getPath("exe")}
|
- Exec=${app.getPath("exe")}
|
||||||
+Exec=bitwarden-desktop
|
+ Exec=bitwarden-desktop
|
||||||
StartupNotify=false
|
StartupNotify=false
|
||||||
Terminal=false`;
|
Terminal=false`;
|
||||||
|
|
||||||
|
@@ -1,11 +1,11 @@
|
|||||||
--- bitwarden-2024.8.2/apps/desktop/src/main.ts.orig 2024-09-05 19:34:54.000000000 +0200
|
--- clients/apps/desktop/src/main.ts.orig 2024-10-17 19:47:51.775405137 +0200
|
||||||
+++ bitwarden-2024.8.2/apps/desktop/src/main.ts 2024-09-12 16:26:40.135229235 +0200
|
+++ clients/apps/desktop/src/main.ts 2024-10-17 21:04:06.768260922 +0200
|
||||||
@@ -218,7 +218,7 @@ export class Main {
|
@@ -231,7 +231,7 @@ export class Main {
|
||||||
this.logService,
|
this.logService,
|
||||||
this.windowMain,
|
this.windowMain,
|
||||||
app.getPath("userData"),
|
app.getPath("userData"),
|
||||||
- app.getPath("exe"),
|
- app.getPath("exe"),
|
||||||
+ '/usr/bin/bitwarden-desktop',
|
+ '/usr/bin/bitwarden-desktop',
|
||||||
|
app.getAppPath(),
|
||||||
);
|
);
|
||||||
|
|
||||||
this.desktopAutofillSettingsService = new DesktopAutofillSettingsService(stateProvider);
|
|
||||||
|
30
native-messaging.main-fix-path.patch
Normal file
30
native-messaging.main-fix-path.patch
Normal 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() {
|
@@ -1,17 +1,18 @@
|
|||||||
--- clients/tsconfig.json.old 2023-04-26 13:30:57.000000000 +0200
|
--- clients/tsconfig.base.json 2025-07-02 20:03:23.998679344 +0200
|
||||||
+++ clients/tsconfig.json 2023-04-26 20:15:39.879489082 +0200
|
+++ bitwarden-2025.6.1/tsconfig.base.json 2025-07-02 21:23:52.860744260 +0200
|
||||||
@@ -6,7 +6,7 @@
|
@@ -15,7 +15,8 @@
|
||||||
"target": "ES2016",
|
"baseUrl": ".",
|
||||||
"module": "ES2020",
|
"resolveJsonModule": true,
|
||||||
"lib": ["es5", "es6", "es7", "dom", "ES2021"],
|
"allowJs": true,
|
||||||
- "sourceMap": true,
|
- "sourceMap": true,
|
||||||
+ "sourceMap": false,
|
+ "sourceMap": false,
|
||||||
"allowSyntheticDefaultImports": true,
|
+ "removeComments": true,
|
||||||
"experimentalDecorators": true,
|
"skipLibCheck": true,
|
||||||
"emitDecoratorMetadata": true,
|
"paths": {
|
||||||
--- clients/apps/desktop/webpack.renderer.js.old 2023-04-26 13:30:57.000000000 +0200
|
"@bitwarden/admin-console/common": ["./libs/admin-console/src/common"],
|
||||||
+++ clients/apps/desktop/webpack.renderer.js 2023-04-26 20:17:42.900973173 +0200
|
--- clients/apps/desktop/webpack.renderer.js 2025-07-02 20:03:23.070679456 +0200
|
||||||
@@ -61,7 +61,7 @@
|
+++ 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 = {
|
const renderer = {
|
||||||
mode: NODE_ENV,
|
mode: NODE_ENV,
|
||||||
@@ -20,7 +21,7 @@
|
|||||||
target: "web",
|
target: "web",
|
||||||
node: {
|
node: {
|
||||||
__dirname: false,
|
__dirname: false,
|
||||||
@@ -138,7 +138,7 @@
|
@@ -169,7 +159,7 @@ const renderer = {
|
||||||
new AngularWebpackPlugin({
|
new AngularWebpackPlugin({
|
||||||
tsConfigPath: "tsconfig.renderer.json",
|
tsConfigPath: "tsconfig.renderer.json",
|
||||||
entryModule: "src/app/app.module#AppModule",
|
entryModule: "src/app/app.module#AppModule",
|
||||||
@@ -29,7 +30,7 @@
|
|||||||
}),
|
}),
|
||||||
// ref: https://github.com/angular/angular/issues/20357
|
// ref: https://github.com/angular/angular/issues/20357
|
||||||
new webpack.ContextReplacementPlugin(
|
new webpack.ContextReplacementPlugin(
|
||||||
@@ -150,9 +150,6 @@
|
@@ -181,9 +171,6 @@ const renderer = {
|
||||||
filename: "index.html",
|
filename: "index.html",
|
||||||
chunks: ["app/vendor", "app/main"],
|
chunks: ["app/vendor", "app/main"],
|
||||||
}),
|
}),
|
||||||
@@ -39,14 +40,3 @@
|
|||||||
new MiniCssExtractPlugin({
|
new MiniCssExtractPlugin({
|
||||||
filename: "[name].[contenthash].css",
|
filename: "[name].[contenthash].css",
|
||||||
chunkFilename: "[id].[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": {
|
|
||||||
|
@@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:8e62ee1659f6325677411aa7c8b99d84c328a705fda82370489a4920f646ffbb
|
|
||||||
size 35111893
|
|
@@ -1,49 +0,0 @@
|
|||||||
#!/bin/sh -eux
|
|
||||||
|
|
||||||
# dnf install curl gzip jq npm patch tar wget
|
|
||||||
|
|
||||||
PKGDIR="$(pwd)"
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
cd clients
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#These patches touch NPM's files
|
|
||||||
patch --verbose -p1 -b < $PKGDIR/remove-unnecessary-deps.patch
|
|
||||||
|
|
||||||
#remove unnecessary / non-free source
|
|
||||||
rm -rf apps/browser apps/cli apps/web bitwarden_license
|
|
||||||
|
|
||||||
npm ci --verbose --ignore-scripts
|
|
||||||
|
|
||||||
echo ">>>>>> Remove argon2 vendor"
|
|
||||||
rm -rf node_modules/argon2/argon2
|
|
||||||
|
|
||||||
echo ">>>>>> Remove non-free binaries"
|
|
||||||
find . -type f -name "*.wasm" -print -delete
|
|
||||||
find . -type f -name "*.jar" -print -delete
|
|
||||||
find . -type f -name "*.exe" -print -delete
|
|
||||||
find . -type f -name "*.node" -print -delete
|
|
||||||
find . -type f -name "*.dll" -print -delete
|
|
||||||
find . -type f -name "*.dylib" -print -delete
|
|
||||||
find . -type f -name "*.so" -print -delete
|
|
||||||
find . -type f -name "*.o" -print -delete
|
|
||||||
find . -type f -name "*.a" -print -delete
|
|
||||||
|
|
||||||
#We use sponge to avoid a race condition between find and rm
|
|
||||||
find -type f | sponge | xargs -P$(nproc) -- sh -c 'file -S "$@" | grep -v '\'' .*script'\'' | grep '\'' .*executable'\'' | tee /dev/stderr | sed '\''s/: .*//'\'' | xargs rm -fv'
|
|
||||||
|
|
||||||
|
|
||||||
# Remove empty directories
|
|
||||||
echo ">>>>>> Remove empty directories"
|
|
||||||
find . -type d -empty -print -delete
|
|
||||||
|
|
||||||
|
|
||||||
echo ">>>>>> Create tarball"
|
|
||||||
ZSTD_CLEVEL=19 ZSTD_NBTHREADS=$(nproc) tar --zstd --sort=name -vvScf "${PKGDIR}/node-vendor.tar.zst" node_modules
|
|
||||||
|
|
@@ -34,6 +34,7 @@ popd
|
|||||||
|
|
||||||
echo ">>>>>> Remove non-free binaries"
|
echo ">>>>>> Remove non-free binaries"
|
||||||
find . -type f -name "*.wasm" -print -delete
|
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 "*.jar" -print -delete
|
||||||
find . -type f -name "*.exe" -print -delete
|
find . -type f -name "*.exe" -print -delete
|
||||||
find . -type f -name "*.node" -print -delete
|
find . -type f -name "*.node" -print -delete
|
||||||
|
@@ -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(
|
|
@@ -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
|
@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.orig 2025-07-02 20:03:23.998679344 +0200
|
||||||
+++ clients/package.json 2024-07-15 19:25:13.322024338 +0200
|
+++ clients/package.json 2025-07-02 20:17:27.210597628 +0200
|
||||||
@@ -13,7 +13,6 @@
|
@@ -13,7 +13,6 @@
|
||||||
},
|
},
|
||||||
"homepage": "https://bitwarden.com",
|
"homepage": "https://bitwarden.com",
|
||||||
@@ -10,203 +10,193 @@
|
|||||||
"lint": "eslint . --cache --cache-strategy content && prettier --check .",
|
"lint": "eslint . --cache --cache-strategy content && prettier --check .",
|
||||||
"lint:fix": "eslint . --cache --cache-strategy content --fix",
|
"lint:fix": "eslint . --cache --cache-strategy content --fix",
|
||||||
"lint:clear": "rimraf .eslintcache",
|
"lint:clear": "rimraf .eslintcache",
|
||||||
@@ -26,7 +25,7 @@
|
@@ -39,115 +37,44 @@
|
||||||
"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 @@
|
|
||||||
],
|
],
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@angular-devkit/build-angular": "16.2.14",
|
"@angular-devkit/build-angular": "19.2.14",
|
||||||
- "@angular-eslint/eslint-plugin": "16.3.1",
|
- "@angular-eslint/schematics": "19.6.0",
|
||||||
- "@angular-eslint/eslint-plugin-template": "16.3.1",
|
- "@angular/cli": "19.2.14",
|
||||||
- "@angular-eslint/template-parser": "16.3.1",
|
"@angular/compiler-cli": "19.2.14",
|
||||||
- "@angular/cli": "16.2.14",
|
"@babel/core": "7.24.9",
|
||||||
"@angular/compiler-cli": "16.2.12",
|
"@babel/preset-env": "7.24.8",
|
||||||
- "@angular/elements": "16.2.12",
|
- "@compodoc/compodoc": "1.1.26",
|
||||||
- "@babel/core": "^7.24.6",
|
- "@electron/notarize": "3.0.1",
|
||||||
"@babel/preset-env": "^7.24.6",
|
- "@electron/rebuild": "3.7.2",
|
||||||
- "@compodoc/compodoc": "1.1.25",
|
- "@eslint/compat": "1.2.9",
|
||||||
- "@electron/notarize": "2.3.0",
|
- "@lit-labs/signals": "0.1.2",
|
||||||
- "@electron/rebuild": "3.6.0",
|
"@ngtools/webpack": "19.2.14",
|
||||||
"@ngtools/webpack": "16.2.14",
|
- "@storybook/addon-a11y": "8.6.12",
|
||||||
- "@storybook/addon-a11y": "7.6.19",
|
- "@storybook/addon-actions": "8.6.12",
|
||||||
- "@storybook/addon-actions": "7.6.19",
|
- "@storybook/addon-designs": "8.2.1",
|
||||||
- "@storybook/addon-designs": "7.0.9",
|
- "@storybook/addon-essentials": "8.6.12",
|
||||||
- "@storybook/addon-essentials": "7.6.19",
|
- "@storybook/addon-interactions": "8.6.12",
|
||||||
- "@storybook/addon-interactions": "7.6.19",
|
- "@storybook/addon-links": "8.6.12",
|
||||||
- "@storybook/addon-links": "7.6.19",
|
- "@storybook/addon-themes": "8.6.12",
|
||||||
- "@storybook/angular": "7.6.19",
|
- "@storybook/angular": "8.6.12",
|
||||||
- "@storybook/jest": "0.2.3",
|
- "@storybook/manager-api": "8.6.12",
|
||||||
- "@storybook/testing-library": "0.2.2",
|
- "@storybook/test-runner": "0.22.0",
|
||||||
- "@types/argon2-browser": "1.18.4",
|
- "@storybook/theming": "8.6.12",
|
||||||
- "@types/chrome": "0.0.262",
|
- "@storybook/web-components-webpack5": "8.6.12",
|
||||||
- "@types/firefox-webext-browser": "111.0.5",
|
- "@types/chrome": "0.0.306",
|
||||||
|
- "@types/firefox-webext-browser": "120.0.4",
|
||||||
- "@types/inquirer": "8.2.10",
|
- "@types/inquirer": "8.2.10",
|
||||||
"@types/jest": "29.5.12",
|
"@types/jest": "29.5.14",
|
||||||
- "@types/jquery": "3.5.30",
|
|
||||||
- "@types/jsdom": "21.1.7",
|
- "@types/jsdom": "21.1.7",
|
||||||
- "@types/koa": "2.14.0",
|
- "@types/koa": "2.15.0",
|
||||||
- "@types/koa__multer": "2.0.7",
|
- "@types/koa__multer": "2.0.7",
|
||||||
- "@types/koa__router": "12.0.4",
|
- "@types/koa__router": "12.0.4",
|
||||||
- "@types/koa-bodyparser": "4.3.7",
|
- "@types/koa-bodyparser": "4.3.7",
|
||||||
- "@types/koa-json": "2.0.23",
|
- "@types/koa-json": "2.0.23",
|
||||||
- "@types/lowdb": "1.0.15",
|
- "@types/lowdb": "1.0.15",
|
||||||
"@types/lunr": "2.3.7",
|
"@types/lunr": "2.3.7",
|
||||||
"@types/node": "20.14.8",
|
"@types/node": "22.15.3",
|
||||||
- "@types/node-fetch": "2.6.4",
|
- "@types/node-fetch": "2.6.4",
|
||||||
"@types/node-forge": "1.3.11",
|
"@types/node-forge": "1.3.11",
|
||||||
"@types/node-ipc": "9.2.3",
|
"@types/papaparse": "5.3.16",
|
||||||
"@types/papaparse": "5.3.14",
|
|
||||||
- "@types/proper-lockfile": "4.1.4",
|
- "@types/proper-lockfile": "4.1.4",
|
||||||
- "@types/react": "16.14.60",
|
|
||||||
- "@types/retry": "0.12.5",
|
- "@types/retry": "0.12.5",
|
||||||
+ "@types/semver": "^7.3.4",
|
+ "@types/semver": "^7.3.4",
|
||||||
"@types/zxcvbn": "4.4.4",
|
"@types/zxcvbn": "4.4.5",
|
||||||
- "@typescript-eslint/eslint-plugin": "7.16.1",
|
- "@typescript-eslint/rule-tester": "8.31.0",
|
||||||
- "@typescript-eslint/parser": "7.16.1",
|
- "@typescript-eslint/utils": "8.31.0",
|
||||||
- "@webcomponents/custom-elements": "1.6.0",
|
- "@webcomponents/custom-elements": "1.6.0",
|
||||||
- "@yao-pkg/pkg": "^5.12.0",
|
- "@yao-pkg/pkg": "6.5.1",
|
||||||
"autoprefixer": "10.4.19",
|
- "angular-eslint": "19.6.0",
|
||||||
- "babel-loader": "^9.1.3",
|
"autoprefixer": "10.4.21",
|
||||||
|
- "axe-playwright": "2.1.0",
|
||||||
|
"babel-loader": "9.2.1",
|
||||||
- "base64-loader": "1.0.0",
|
- "base64-loader": "1.0.0",
|
||||||
- "browserslist": "^4.23.0",
|
- "browserslist": "4.23.2",
|
||||||
- "chromatic": "10.9.6",
|
- "chromatic": "13.1.2",
|
||||||
"concurrently": "8.2.2",
|
"concurrently": "9.2.0",
|
||||||
"copy-webpack-plugin": "12.0.2",
|
"copy-webpack-plugin": "13.0.0",
|
||||||
"cross-env": "7.0.3",
|
"cross-env": "7.0.3",
|
||||||
"css-loader": "6.10.0",
|
"css-loader": "7.1.2",
|
||||||
"electron": "31.3.1",
|
"electron": "36.4.0",
|
||||||
- "electron-builder": "24.13.3",
|
- "electron-builder": "26.0.12",
|
||||||
"electron-log": "5.0.1",
|
"electron-log": "5.4.0",
|
||||||
- "electron-reload": "2.0.0-alpha.1",
|
- "electron-reload": "2.0.0-alpha.1",
|
||||||
"electron-store": "8.2.0",
|
"electron-store": "8.2.0",
|
||||||
"electron-updater": "6.1.8",
|
"electron-updater": "6.6.4",
|
||||||
- "eslint": "8.57.0",
|
- "eslint": "9.26.0",
|
||||||
- "eslint-config-prettier": "9.1.0",
|
- "eslint-config-prettier": "10.1.2",
|
||||||
- "eslint-import-resolver-typescript": "3.6.1",
|
- "eslint-import-resolver-typescript": "4.3.4",
|
||||||
- "eslint-plugin-import": "2.29.1",
|
- "eslint-plugin-import": "2.31.0",
|
||||||
- "eslint-plugin-rxjs": "5.0.3",
|
- "eslint-plugin-rxjs": "5.0.3",
|
||||||
- "eslint-plugin-rxjs-angular": "2.0.1",
|
- "eslint-plugin-rxjs-angular": "2.0.1",
|
||||||
- "eslint-plugin-storybook": "0.8.0",
|
- "eslint-plugin-storybook": "0.12.0",
|
||||||
- "eslint-plugin-tailwindcss": "3.17.4",
|
- "eslint-plugin-tailwindcss": "3.18.0",
|
||||||
- "gulp": "4.0.2",
|
"html-loader": "5.1.0",
|
||||||
- "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",
|
|
||||||
- "html-webpack-injector": "1.1.4",
|
- "html-webpack-injector": "1.1.4",
|
||||||
"html-webpack-plugin": "5.6.0",
|
"html-webpack-plugin": "5.6.3",
|
||||||
- "husky": "9.1.4",
|
- "husky": "9.1.7",
|
||||||
|
"jest-diff": "29.7.0",
|
||||||
- "jest-junit": "16.0.0",
|
- "jest-junit": "16.0.0",
|
||||||
"jest-mock-extended": "3.0.7",
|
"jest-mock-extended": "3.0.7",
|
||||||
- "jest-preset-angular": "14.1.1",
|
- "jest-preset-angular": "14.6.0",
|
||||||
- "lint-staged": "15.2.8",
|
- "json5": "2.2.3",
|
||||||
"mini-css-extract-plugin": "2.8.1",
|
- "lint-staged": "16.0.0",
|
||||||
"node-ipc": "9.2.1",
|
"mini-css-extract-plugin": "2.9.2",
|
||||||
|
- "nx": "21.1.2",
|
||||||
+ "path-browserify": "^1.0.1",
|
+ "path-browserify": "^1.0.1",
|
||||||
"postcss": "8.4.38",
|
"postcss": "8.5.3",
|
||||||
"postcss-loader": "8.1.1",
|
"postcss-loader": "8.1.1",
|
||||||
- "prettier": "3.3.3",
|
- "prettier": "3.6.2",
|
||||||
- "prettier-plugin-tailwindcss": "0.6.5",
|
- "prettier-plugin-tailwindcss": "0.6.11",
|
||||||
- "process": "0.11.10",
|
- "process": "0.11.10",
|
||||||
- "react": "18.3.1",
|
- "remark-gfm": "4.0.1",
|
||||||
- "react-dom": "18.3.1",
|
|
||||||
"regedit": "^3.0.3",
|
|
||||||
- "remark-gfm": "3.0.1",
|
|
||||||
"rimraf": "6.0.1",
|
"rimraf": "6.0.1",
|
||||||
"sass": "1.74.1",
|
"sass": "1.88.0",
|
||||||
"sass-loader": "14.2.1",
|
"sass-loader": "16.0.4",
|
||||||
- "storybook": "7.6.19",
|
- "storybook": "8.6.12",
|
||||||
- "style-loader": "3.3.4",
|
- "style-loader": "4.0.0",
|
||||||
- "tailwindcss": "3.4.3",
|
- "tailwindcss": "3.4.17",
|
||||||
- "ts-jest": "29.2.2",
|
- "ts-jest": "29.3.4",
|
||||||
"ts-loader": "9.5.1",
|
"ts-loader": "9.5.2",
|
||||||
"tsconfig-paths-webpack-plugin": "4.1.0",
|
"tsconfig-paths-webpack-plugin": "4.2.0",
|
||||||
- "type-fest": "2.19.0",
|
- "type-fest": "2.19.0",
|
||||||
"typescript": "5.1.6",
|
"typescript": "5.5.4",
|
||||||
"url": "0.11.3",
|
- "typescript-eslint": "8.31.0",
|
||||||
|
- "typescript-strict-plugin": "2.4.4",
|
||||||
|
"url": "0.11.4",
|
||||||
- "util": "0.12.5",
|
- "util": "0.12.5",
|
||||||
- "wait-on": "7.2.0",
|
- "wait-on": "8.0.3",
|
||||||
"webpack": "5.93.0",
|
"webpack": "5.99.7",
|
||||||
- "webpack-cli": "5.1.4",
|
- "webpack-cli": "6.0.1",
|
||||||
- "webpack-dev-server": "5.0.4",
|
- "webpack-dev-server": "5.2.1",
|
||||||
- "webpack-node-externals": "3.0.0"
|
- "webpack-node-externals": "3.0.0"
|
||||||
+ "webpack-cli": "5.1.4"
|
+ "webpack-cli": "6.0.1"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@angular/animations": "16.2.12",
|
"@angular/animations": "19.2.14",
|
||||||
@@ -160,55 +83,28 @@
|
@@ -161,51 +87,22 @@
|
||||||
"@angular/platform-browser": "16.2.12",
|
"@angular/platform-browser-dynamic": "19.2.14",
|
||||||
"@angular/platform-browser-dynamic": "16.2.12",
|
"@angular/router": "19.2.14",
|
||||||
"@angular/router": "16.2.12",
|
"@bitwarden/sdk-internal": "0.2.0-main.242",
|
||||||
- "@koa/multer": "3.0.2",
|
- "@electron/fuses": "1.8.0",
|
||||||
- "@koa/router": "12.0.1",
|
- "@emotion/css": "11.13.5",
|
||||||
|
- "@koa/multer": "4.0.0",
|
||||||
|
- "@koa/router": "13.1.0",
|
||||||
"@microsoft/signalr": "8.0.7",
|
"@microsoft/signalr": "8.0.7",
|
||||||
"@microsoft/signalr-protocol-msgpack": "8.0.7",
|
"@microsoft/signalr-protocol-msgpack": "8.0.7",
|
||||||
"@ng-select/ng-select": "11.2.0",
|
"@ng-select/ng-select": "14.9.0",
|
||||||
"argon2": "0.40.1",
|
- "@nx/devkit": "21.1.2",
|
||||||
- "argon2-browser": "1.18.0",
|
- "@nx/eslint": "21.1.2",
|
||||||
"big-integer": "1.6.51",
|
- "@nx/jest": "21.1.2",
|
||||||
|
- "@nx/js": "21.1.2",
|
||||||
|
"big-integer": "1.6.52",
|
||||||
- "bootstrap": "4.6.0",
|
- "bootstrap": "4.6.0",
|
||||||
- "braintree-web-drop-in": "1.42.0",
|
- "braintree-web-drop-in": "1.44.0",
|
||||||
"buffer": "6.0.3",
|
"buffer": "6.0.3",
|
||||||
- "bufferutil": "4.0.8",
|
- "bufferutil": "4.0.9",
|
||||||
- "chalk": "4.1.2",
|
- "chalk": "4.1.2",
|
||||||
"commander": "11.1.0",
|
"commander": "11.1.0",
|
||||||
- "core-js": "3.36.1",
|
"core-js": "3.44.0",
|
||||||
- "form-data": "4.0.0",
|
- "form-data": "4.0.4",
|
||||||
- "https-proxy-agent": "7.0.2",
|
- "https-proxy-agent": "7.0.6",
|
||||||
- "inquirer": "8.2.6",
|
- "inquirer": "8.2.6",
|
||||||
- "jquery": "3.7.1",
|
- "jsdom": "26.1.0",
|
||||||
- "jsdom": "24.1.1",
|
|
||||||
"jszip": "3.10.1",
|
"jszip": "3.10.1",
|
||||||
- "koa": "2.15.0",
|
- "koa": "2.16.1",
|
||||||
- "koa-bodyparser": "4.4.1",
|
- "koa-bodyparser": "4.4.1",
|
||||||
- "koa-json": "2.0.2",
|
- "koa-json": "2.0.2",
|
||||||
|
- "lit": "3.3.0",
|
||||||
- "lowdb": "1.0.0",
|
- "lowdb": "1.0.0",
|
||||||
"lunr": "2.3.9",
|
"lunr": "2.3.9",
|
||||||
- "multer": "1.4.5-lts.1",
|
- "multer": "1.4.5-lts.2",
|
||||||
- "ngx-infinite-scroll": "16.0.0",
|
"ngx-toastr": "19.0.0",
|
||||||
"ngx-toastr": "17.0.2",
|
|
||||||
"node-fetch": "2.6.12",
|
"node-fetch": "2.6.12",
|
||||||
"node-forge": "1.3.1",
|
"node-forge": "1.3.1",
|
||||||
"nord": "0.2.1",
|
"oidc-client-ts": "2.4.1",
|
||||||
"oidc-client-ts": "2.4.0",
|
- "open": "10.1.2",
|
||||||
- "open": "8.4.2",
|
"papaparse": "5.5.3",
|
||||||
"papaparse": "5.4.1",
|
|
||||||
- "patch-package": "8.0.0",
|
|
||||||
- "popper.js": "1.16.1",
|
|
||||||
- "proper-lockfile": "4.1.2",
|
- "proper-lockfile": "4.1.2",
|
||||||
- "qrcode-parser": "2.1.3",
|
- "qrcode-parser": "2.1.3",
|
||||||
- "qrious": "4.0.2",
|
- "qrious": "4.0.2",
|
||||||
"rxjs": "7.8.1",
|
"rxjs": "7.8.1",
|
||||||
|
- "semver": "7.7.2",
|
||||||
- "tabbable": "6.2.0",
|
- "tabbable": "6.2.0",
|
||||||
"tldts": "6.1.38",
|
"tldts": "7.0.1",
|
||||||
"utf-8-validate": "6.0.4",
|
- "ts-node": "10.9.2",
|
||||||
"zone.js": "0.13.3",
|
"utf-8-validate": "6.0.5",
|
||||||
|
"zone.js": "0.15.1",
|
||||||
"zxcvbn": "4.4.2"
|
"zxcvbn": "4.4.2"
|
||||||
},
|
@@ -220,7 +115,6 @@
|
||||||
"overrides": {
|
"eslint-plugin-rxjs-angular": {
|
||||||
- "tailwindcss": "$tailwindcss",
|
"eslint": "$eslint"
|
||||||
"@storybook/angular": {
|
|
||||||
"zone.js": "$zone.js"
|
|
||||||
},
|
},
|
||||||
--- clients/apps/desktop/desktop_native/napi/package.json.orig 2024-07-15 19:10:33.919215714 +0200
|
- "tailwindcss": "$tailwindcss",
|
||||||
+++ clients/apps/desktop/desktop_native/napi/package.json 2024-07-15 19:25:13.322024338 +0200
|
"parse5": "7.2.1",
|
||||||
@@ -10,9 +10,6 @@
|
"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": "",
|
"author": "",
|
||||||
"license": "GPL-3.0",
|
"license": "GPL-3.0",
|
||||||
- "devDependencies": {
|
- "devDependencies": {
|
||||||
- "@napi-rs/cli": "2.16.2"
|
- "@napi-rs/cli": "2.18.4"
|
||||||
- },
|
- },
|
||||||
"napi": {
|
"napi": {
|
||||||
"name": "desktop_napi",
|
"name": "desktop_napi",
|
||||||
|
@@ -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
11
system-roboto-font.patch
Normal 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;
|
||||||
|
-}
|
@@ -1,3 +1,3 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
version https://git-lfs.github.com/spec/v1
|
||||||
oid sha256:f336dcd548f1fdb65092ee8a86923674ff41284044c96835b5e9693f1e89f9bf
|
oid sha256:48496dabbcd87fae453907bcd158e9ba70d2b05360afa39ec8a64fa1f1177c52
|
||||||
size 43032335
|
size 43982803
|
||||||
|
Reference in New Issue
Block a user