2488 Commits

Author SHA1 Message Date
edouardparis
019f03dbb7
Merge #1741: bump bdk_electrum to latest commit
dd864905cd0a27a661e7e274c599672093755e34 bump bdk_electrum to latest commit (Michael Mallan)

Pull request description:

  This bumps the bdk_electrum dependency to the latest commit of our "release/1.0.0-alpha.13" branch, which will enable the resolution of #1300.

ACKs for top commit:
  edouardparis:
    ACK dd864905cd0a27a661e7e274c599672093755e34

Tree-SHA512: 4a2fca7cd6084ae4772914c32f746e8d6946701dfd790c0aae62d7062071e6ab23557b240612f7b259ae95c78187098845ebb11c54b4cea1dd89d33eb8caec08
2025-06-10 11:54:09 +02:00
Michael Mallan
dd864905cd
bump bdk_electrum to latest commit 2025-06-09 14:23:25 +01:00
edouardparis
f19917e5cb
Merge #1701: refactor: response has not succeed and add missing checks
efba78844396ae9ccbf520f328783b44b367333e refactor: response has not succeed and add missing checks (Thomas Ballivet)

Pull request description:

  This should resolves #1679

ACKs for top commit:
  jp1ac4:
    tACK efba78844396ae9ccbf520f328783b44b367333e.

Tree-SHA512: 69bc94c8a5528b941e7796b4cf53a7945de8b1bbfc76954f65dce410be059b601e6b31d70790e04dd02dc6dc13a17600a4cc878d64de8deb89ce343bff101ac6
2025-06-09 10:51:36 +02:00
edouardparis
7d89bc70ff
Merge #1733: flake.nix: devshells include toolchain
52d6e03d75f35118adb919347950592d59dd628b flake.nix: devshells include toolchain (VzxPLnHqr)

Pull request description:

  on x86_64-linux, this was necessary to get cargo into the path so as to be able to execute things like `cargo build ...`.

  When trying to test out the latest release candidate from NixOS (x86_64-linux), running `nix develop` did not drop me into a devshell with cargo available. The fix here may not have been the best way to remedy that, but it did work, and then I was able to test the latest code by:
  1. `nix develop` to get into the devshell
  2. `cargo build --release`
  3. `target/release/liana-gui --datadir ./test_alice`

ACKs for top commit:
  edouardparis:
    ACK 52d6e03d75f35118adb919347950592d59dd628b

Tree-SHA512: 2e2570e230e296d10a3b8be96c580afd91f6b135d0bc6a57c0d587cf7ad159d740769370cf6bcad9a0c551b65af12905d7e08b5fbc21989ac513b379e7e83c4c
2025-05-28 15:05:07 +02:00
VzxPLnHqr
52d6e03d75 flake.nix: devshells include toolchain
on x86_64-linux, this was necessary to get cargo into the path so as to be able to execute things like `cargo build ...`
2025-05-27 19:30:46 +00:00
edouardparis
7d6da7e0ef
Merge #1731: Forgot to update liana-gui::VERSION
9cc20e4d8888fd4e814bfc9517750ebeb4179813 Forgot to update liana-gui::VERSION (edouardparis)

Pull request description:

ACKs for top commit:
  edouardparis:
    ACK 9cc20e4d8888fd4e814bfc9517750ebeb4179813

Tree-SHA512: 11fa763ca993f29d29e63ff1d6603c5a503b156fa87f305e7517c1ebba58007ee50f320d5ac96d2286831db94c3f0f5df9a52a778a05f795beea26d02399eae9
2025-05-27 15:48:21 +02:00
edouardparis
9cc20e4d88 Forgot to update liana-gui::VERSION 2025-05-27 15:22:53 +02:00
edouardparis
6aae522ce0
Merge #1729: fix update wallet alias in wallet settings
546ac29587e831abbe79e66d23cac9683467a842 fix update wallet alias in wallet settings (edouardparis)

Pull request description:

  L522 the wallet was populated with its new alias
  and the check L567 was always false.

  wallet_alias is None if we do not have to update it, so better pass the variable directly.

ACKs for top commit:
  edouardparis:
    Self-ACK 546ac29587e831abbe79e66d23cac9683467a842

Tree-SHA512: 971e441eb67cdc20aea7e2631bf74b568ce216e2a4d86a292d5f6d04bcfef37c3180c2df2510a150bc13ef605ab60bea40a8a7e8683f020b01f84aae9dd08098
2025-05-27 13:23:38 +02:00
edouardparis
546ac29587 fix update wallet alias in wallet settings
L522 the wallet was populated with its new alias
and the check L567 was always false.

wallet_alias is None if we do not have to update it,
so better pass the variable directly.
2025-05-27 10:39:21 +02:00
edouardparis
3b20dca815
Merge #1727: Changelog for v11
53df4ed9692a62ddf8f9f0da27e0dbe7706510d7 CHANGELOG for v11 (Michael Mallan)
33a0e147b4f49c6f230c0e8234e4b01dded0d88d revert change to CHANGELOG (Michael Mallan)

Pull request description:

  This adds the CHANGELOG for v11.

  I also reverted an accidental change made recently.

ACKs for top commit:
  edouardparis:
    ACK 53df4ed9692a62ddf8f9f0da27e0dbe7706510d7

Tree-SHA512: 3c7517c3784dd02af31c2a7d8d8d12220638430d1e307b8f0135a3baf16d65b0e9b18f926b15892c4c21a538fda1a028dc866252733e966bd9315b7b44226242
2025-05-26 13:39:01 +02:00
edouardparis
638dc6e9ff
Merge #1726: Prepare v11.0-dev
a9d417bc39fd86e4d7338361d1ef8011a32f3575 Prepare v11.0-dev (edouardparis)

Pull request description:

ACKs for top commit:
  jp1ac4:
    ACK a9d417bc39fd86e4d7338361d1ef8011a32f3575.

Tree-SHA512: ab72ed6c69d523f4259874d4ab0fd3f703ebd0a550fe362bb32d371f728c508dcbbc810526b4037911facbf4ee8c7511e86f6c2e3dcb0afbf509cc40243843ca
2025-05-26 13:38:13 +02:00
Michael Mallan
53df4ed969
CHANGELOG for v11 2025-05-26 11:55:23 +01:00
Michael Mallan
33a0e147b4
revert change to CHANGELOG
This reverts a change from 9411017da5dd775fe358e16c4ad9545343422c44.
2025-05-26 11:55:17 +01:00
edouardparis
a9d417bc39 Prepare v11.0-dev 2025-05-26 11:11:46 +02:00
edouardparis
2172abfe0a
Merge #1724: Make user finish signing process before opening new modal
874d2d406804b853e399800435bb0ee223d5d769 Make user finish sign process before opening new modal (edouardparis)
1d1a28195527cc04ce99969e5c85d2632402d73e Revert "gui: store SignModal state and allow to open export modal after signing in PSBT panel" (edouardparis)

Pull request description:

  This Pr is to mitigate three issues:
  close #1719
  close #1685
  and try to prevent a little bit the problem of impossible cancellation of the signing Task by disabling any other buttons and making aware of the user that he has to finish it (reject of approve).
  Sadly it is not the case for the sidebar menu button, so if user start the signing process and quit by switching panel, he may still have the problem of the signing task blocking in the background and may be surprised by the impossibility of iced to close properly.

  Proper signing task cancellation will require a change in the async-hwi library: https://github.com/wizardsardine/async-hwi/issues/108

  ![20250523_16h55m19s_grim](https://github.com/user-attachments/assets/8b92b975-29d1-4281-b8a9-b6a4a63495fe)
  ![20250523_16h54m17s_grim](https://github.com/user-attachments/assets/3ac8cf39-da75-42af-8390-cc5db77e8722)

ACKs for top commit:
  pythcoiner:
    tACK 874d2d40, it fixes back #1681
  jp1ac4:
    tACK 874d2d406804b853e399800435bb0ee223d5d769.

Tree-SHA512: bb25dcc086787cf491ca11359db756ef19508f1518d600d7091b0cb14422d9148ae3ee1f3ed47aa5dc642d7089152b7b36e1746be7dbe94d22bab71f2899645b
2025-05-23 18:35:51 +02:00
edouardparis
874d2d4068 Make user finish sign process before opening new modal 2025-05-23 17:49:04 +02:00
edouardparis
1d1a281955 Revert "gui: store SignModal state and allow to open export modal after signing in PSBT panel"
This reverts commit 7281e6352967009419a493ccd3825887001afa14.
2025-05-23 15:48:13 +02:00
edouardparis
51284b749f
Merge #1723: installer: clear aliases when user clear template
3e2d8780fcbf66721b2d37ca366b7c00c694b73e installer: clear aliases when user clear template (pythcoiner)

Pull request description:

ACKs for top commit:
  jp1ac4:
    tACK 3e2d8780fcbf66721b2d37ca366b7c00c694b73e.

Tree-SHA512: 63148ce9fa9e7c2b4ba54d1d797b549351bbf3004daf9d68a4125f7b081dab4a3c3b9148bf9e261b0d67df523e2b2dcfc08a35e7cad2efa3af2147a52c4d16aa
2025-05-23 15:35:52 +02:00
pythcoiner
3e2d8780fc
installer: clear aliases when user clear template 2025-05-23 15:10:04 +02:00
edouardparis
686ac24b9b
Merge #1720: show partial address in collapsed view
78a261da5a5e92f3589403760858105026e6278d show partial address in collapsed view (Michael Mallan)

Pull request description:

  To avoid the need for a scrollbar when showing previous addresses in the collapsed view, we will now show the first and last 16 characters only.

  ![image](https://github.com/user-attachments/assets/3ff7b68c-18e4-4cf5-ab90-8bb80dc57bb0)
  ![image](https://github.com/user-attachments/assets/c02cfed1-f639-4256-804b-b17bf5cb0502)

ACKs for top commit:
  edouardparis:
    utACK 78a261da5a5e92f3589403760858105026e6278d

Tree-SHA512: ca7282e47de3b828a8f8746f710a30650992499b785e5bb766c80ffafb83aa872dc63b5f1d85c2f1394a5eb4c018a2c4feeb772f8bafde021e81f5294811780c
2025-05-23 14:34:20 +02:00
edouardparis
16f33cbde8
Merge #1722: gui: add parsing for xpub from coldcard format
aa417be12781f995854dc2f4fc49da85d23569f2 gui: add parsing for xpub from coldcard format (pythcoiner)

Pull request description:

  this PR implement parsing Xpub from files exported from a coldcard via `Advanced/Tools` => `Export Wallet` => `Generic JSON`

ACKs for top commit:
  edouardparis:
    utACK aa417be12781f995854dc2f4fc49da85d23569f2

Tree-SHA512: eca22295926522ba199a3c0ace0adb52ee236a6a6b0fbd9ba52ba18cbbbbb4032ef3ef06dfd493fddd83e17ac0fbba84612bd73a3e0c1142783e30b60b781ff9
2025-05-23 14:22:44 +02:00
pythcoiner
aa417be127
gui: add parsing for xpub from coldcard format 2025-05-23 13:21:12 +02:00
edouardparis
d5f72c011e
Merge #1721: Apply backup alias when importing backup in installer.
250ba8bb45d8b883772fe5e49e7b48f2a827306b Apply backup alias in installer import backup step (edouardparis)
317ad0a70e3fd0b36e41a142003cb056e78c164d Add default value to installer wallet alias step (edouardparis)

Pull request description:

  - We add a default wallet alias if not value is set in the installer context.
  - We add the wallet alias field to the backup file.
    - While importing a backup in the installer, the backup wallet alias will be suggested to the user at the final step.
    - While importing a backup in the wallet settings for an already installed wallet, we keep the current wallet alias and not override it by the backup one.

ACKs for top commit:
  jp1ac4:
    tACK 250ba8bb45d8b883772fe5e49e7b48f2a827306b.

Tree-SHA512: ba26ba43b33159424813cf9eb1d1bd491cb148ec2ff3286b58ff7ef7a0060a02f8acc60dba8f89e06e657cc61cfecdecb271b7cce2a1d3b0ea85fbb9f3ca5339
2025-05-23 13:13:54 +02:00
edouardparis
250ba8bb45 Apply backup alias in installer import backup step 2025-05-23 12:39:03 +02:00
Michael Mallan
78a261da5a
show partial address in collapsed view
To avoid the need for a scrollbar when showing previous addresses
in the collapsed view, we will now show the first and last 16
characters only.
2025-05-23 11:05:16 +01:00
edouardparis
317ad0a70e Add default value to installer wallet alias step 2025-05-23 11:26:21 +02:00
edouardparis
afe5f6c0de
Merge #1702: doc: update recover.md since Bitcoin 29.0 supports multipath descriptors
0b4b88aebef31cf0324408f7dcb08ff35d315850 doc: Bitcoin 29.0 supports multipath descriptors (Thomas Ballivet)

Pull request description:

  This aim to resolves #1242

ACKs for top commit:
  jp1ac4:
    ACK 0b4b88aebef31cf0324408f7dcb08ff35d315850.

Tree-SHA512: b579caf61111a22bd84c9a8fc3bbdbd332fe07328b68f63c14ddde8a1ec31818fe960d0a7e5f3d66501165fcc3c3b136cdaf5ca417648778cb62103a1c694a65
2025-05-22 13:42:44 +02:00
edouardparis
bd72e318d1
Merge #1718: Clear descriptor cache
a51704fcc66fcfa7e5bc133eaf2f7c406ee19e8b installer: let user reset the descriptor template (pythcoiner)

Pull request description:

  closes #1715

  ![image](https://github.com/user-attachments/assets/de68d4a8-bef8-48d3-b2f5-b7c7d587950a)

  ![image](https://github.com/user-attachments/assets/1645455a-d150-4c9f-bcd5-ddc2c40b0ee6)

  ![image](https://github.com/user-attachments/assets/23a75923-be1d-4b0d-bc9a-d3b92bf7236b)

ACKs for top commit:
  jp1ac4:
    tACK a51704fcc66fcfa7e5bc133eaf2f7c406ee19e8b.

Tree-SHA512: 6d47dea9893999f0b3e15bc1a78e30a29dc6ce0a4551ac637d02dff435c14f16cdd0188e49e52512e59f934ad9dcde4a20649e87fd874f7a19f7dc477c2b63b3
2025-05-22 13:41:49 +02:00
edouardparis
cc00114588
Merge #1705: Installer: let user choose derivation path
ce8e1f3c3eed5a6e991307f8740e54cb0680e5bc installer: let user choose account (derivation path) before fetching an xpub from signing device (pythcoiner)
8efc55bcf5a314997ac4b2a1de9a0a587fb7c9fe ui: add a widget to let user select custom derivation path of an xpub (pythcoiner)

Pull request description:

  This PR closes #1700.

ACKs for top commit:
  jp1ac4:
    tACK ce8e1f3c3eed5a6e991307f8740e54cb0680e5bc.
  edouardparis:
    ACK ce8e1f3c3eed5a6e991307f8740e54cb0680e5bc

Tree-SHA512: a24ebe58da30b81767d67e4da587299a6942f1a62ec0ccd02fd52b06cbe33dca3e27c9e6ab713f141cad84208a200ebbb21f988180862c4909d6080262ef5fea
2025-05-21 18:41:29 +02:00
pythcoiner
a51704fcc6
installer: let user reset the descriptor template 2025-05-21 18:25:22 +02:00
edouardparis
66217751be
Merge #1717: fix settings: missing update_aliases for backup restore
654be987f2da61ed47310c3d30720126b64aa292 fix settings: missing update_aliases for backup restore (edouardparis)

Pull request description:

  While restoring a backup at the import/export panel, the message to update the wallet keys aliases was not handled and although the aliases are stored in the settings file, the wallet was not "reloaded" through the Message::WalletUpdated result. The consequence was while opening the wallet section, users found the aliases not updated by the backup (even if the file was updated).

  The change in the update_aliases is to update the wallet alias only if the function require the change by passing
  `Some(alias)` in arg.

ACKs for top commit:
  jp1ac4:
    utACK 654be987f2da61ed47310c3d30720126b64aa292.

Tree-SHA512: eabaeb48f6167365373a1839ca317879c1314d79c687d0648cae1d001ee125c364ad10a411c3392be4f001fbfb2cf85be63371e0cc36f8351066c832adfe9789
2025-05-21 17:26:41 +02:00
pythcoiner
ce8e1f3c3e
installer: let user choose account (derivation path) before fetching an xpub from signing device 2025-05-21 16:33:56 +02:00
pythcoiner
8efc55bcf5
ui: add a widget to let user select custom derivation path of an xpub 2025-05-21 16:32:55 +02:00
edouardparis
654be987f2 fix settings: missing update_aliases for backup restore 2025-05-21 15:53:55 +02:00
edouardparis
dbe9a4ec1d
Merge #1716: fix: use scrollbar for node settings
01ceb237f8446a31653bc294142a3a1397128373 fix: use scrollbar for node settings (Michael Mallan)

Pull request description:

  This fixes an issue when viewing a long node setting value, such as the cookie path, on a reduced window size.

  ![image](https://github.com/user-attachments/assets/8c9bef9c-cc37-46a4-b501-81d4a8e4eda7)

ACKs for top commit:
  edouardparis:
    utACK 01ceb237f8446a31653bc294142a3a1397128373

Tree-SHA512: f81b70df5c20d7339bdcd2e480dfbfb8e9381859ecc64338e32873dea11f8159b2d59c97d947bf2003aff38cebcabca50763f7d7a988a153b14c17d237f8e9a2
2025-05-21 11:56:07 +02:00
Michael Mallan
01ceb237f8
fix: use scrollbar for node settings
This fixes an issue when viewing a long node setting value, such
as the cookie path, on a reduced window size.
2025-05-21 10:09:15 +01:00
edouardparis
63b32ff3a7
Merge #1714: fix import backup for existing wallet
904fc728de20cdd283a4273093e6b59c5609630c fix import backup for existing wallet (edouardparis)

Pull request description:

  We pass the wallet to the import_backup method
  so the wallet id is used to find the correct wallet settings to update in the settings file.

ACKs for top commit:
  jp1ac4:
    utACK 904fc728de20cdd283a4273093e6b59c5609630c.

Tree-SHA512: 0a2a6c77d333460cc06ad141a7685d88911bc40bc3cd221111dd6611ca45e8c5552f46f7a694e44f0b47b4a5c1cd6946e25c755de83cbfe6259de93d6b9b65e0
2025-05-21 10:27:57 +02:00
edouardparis
30ae68c3b1
Merge #1685: gui: store SignModal state and allow to open export modal after signing
7281e6352967009419a493ccd3825887001afa14 gui: store SignModal state and allow to open export modal after signing in PSBT panel (pythcoiner)

Pull request description:

  This PR fixes #1681:
  - `PsbtState::modal` was not properly reset after signing modal closed
  - When `PsbtState::modal` is of type `SignModal` we store it's state, else we lost track of which key already signed.
  - `SignModal::display_modal` is not useful anymore, as we store the modal state, and only "hidding" the modal not let display another modal (export modal for instance)

ACKs for top commit:
  jp1ac4:
    tACK 7281e6352967009419a493ccd3825887001afa14.

Tree-SHA512: 6627c1f788048349fee2fd9f6fc1a9044da03c9b6ac61339b19c5ae503cb0d522501ce4438f70359906231c06928c8756b52715901898c56fa58dd7da5194cdc
2025-05-21 10:26:57 +02:00
edouardparis
904fc728de fix import backup for existing wallet
We pass the wallet to the import_backup method
so the wallet id is used to find the correct wallet
settings to update in the settings file.
2025-05-21 10:03:16 +02:00
edouardparis
0ba12eb689
Merge #1713: Update wallet alias
a9917d17810b3d47c0bd5623ffa7636e2f299c72 Add wallet alias step to installer (edouardparis)
51d913b9efff2ec360190fc75e0013d691dd8d7e Set wallet alias in settings if liana-connect wallet alias changed (edouardparis)
36fb3d877552099ef7fbdce21753352a1c4219df Add wallet alias in window title (edouardparis)
381421038b0e12ed257679b31a16102021d6d76a Add wallet alias to settings (edouardparis)

Pull request description:

  We had a new `wallet_alias` to settings file.
  This field is displayed in the launcher when wallets are listed and in the window title when the app is running the wallet.

  The field is also store in liana-connect wallet.metadata field to facilitate import of wallet from Liana-Connect.
  If the field was modified on Liana-Connect, then next time the user open the wallet in the gui, the settings field is updated.

  User can modify the wallet alias in the Settings > Wallet section.

ACKs for top commit:
  edouardparis:
    Self-ACK a9917d17810b3d47c0bd5623ffa7636e2f299c72

Tree-SHA512: 819fb84660894a8c546132a21966c8084b4820b4cb7f57c9de80648355ebf053581964dea8e8fe455523e0c7692244fc0803e8dec03d50946139ed88832622f7
2025-05-20 16:27:07 +02:00
edouardparis
a9917d1781 Add wallet alias step to installer 2025-05-20 16:07:55 +02:00
pythcoiner
7281e63529
gui: store SignModal state and allow to open export modal after signing in PSBT panel 2025-05-20 14:18:27 +02:00
Thomas Ballivet
0b4b88aebe doc: Bitcoin 29.0 supports multipath descriptors 2025-05-20 13:36:27 +02:00
edouardparis
51d913b9ef Set wallet alias in settings if liana-connect wallet alias changed 2025-05-20 12:51:13 +02:00
edouardparis
36fb3d8775 Add wallet alias in window title 2025-05-20 12:51:13 +02:00
edouardparis
381421038b Add wallet alias to settings 2025-05-20 12:51:13 +02:00
Thomas Ballivet
efba788443 refactor: response has not succeed and add missing checks 2025-05-20 01:57:59 +02:00
edouardparis
ba17782604
Merge #1675: Disable signing devices that should not or cannot spend
74087c37cf0b0796e794f98bebb11167ca243969 refactor: map fingerprint only once (Thomas Ballivet)
86c4896534c1ac169a3352651b0e27170e8cb06f Disable signing devices that are not related to the actual spending path (Thomas Ballivet)

Pull request description:

  Inspired by #1607 this shoud closes #1041.

  Notice that I added the wanted logic also for the recovery spending. That means you can only select a signing device related to the primary path for usual spend. But for recovery spending you can only select a signing device related to the recovery_path.

  You can see here both examples :

  ![Capture d’écran du 2025-04-25 17-32-39](https://github.com/user-attachments/assets/3c137161-a108-4313-be03-4ec1c27c24ab)

  ![Capture d’écran du 2025-04-25 17-30-53](https://github.com/user-attachments/assets/71ea7cd0-cc45-4dcc-b00a-66b3243408bc)

ACKs for top commit:
  jp1ac4:
    tACK 74087c37cf0b0796e794f98bebb11167ca243969.

Tree-SHA512: 93e452ca9f56e214f308cbaf3cdc9ffb52301e64fded860d1a961e97df21270e18f994cef83358459981ddc3029c89183d23bc33bab863253cfa2a2c5a9d9554
2025-05-19 10:32:51 +02:00
edouardparis
3907662ab5
Merge #1690: docs: add a link to SIGNING_DEVICES.md in USAGE.md
78a2defb6c08ef19cc249da7415fac873d32e20f docs: add a link to SIGNING_DEVICES.md in USAGE.md instead having a duplicate of supported devices (pythcoiner)

Pull request description:

  replacing list of supported devices by a link to SIGNING_DEVICES.md to avoid maintenance burden

  fixes #1690

ACKs for top commit:
  nondiremanuel:
    ACK [78a2def](78a2defb6c)

Tree-SHA512: 83cae2da1865a55415c064a12c1fcac956827fbc910f19ad544fac90540bf4965ee414975bfd0bae781bd82eec606aa37bf2b290717751a419bece8689a69bd1
2025-05-16 18:49:59 +02:00
edouardparis
c2da55444d
Merge #1703: Multiple wallets
79fcbc41e27fd6ea1f0d4870832600476392f5e7 fix: remove unused method with_pin_date (edouardparis)
5baf2812040d5d7b0758e8f5058dc953a8adcb1b Remove wallet hot signer mnemonics on wallet delete. (edouardparis)
b6f45a42ee96399f4de70e5889ca32a3679466ae Delete settings file if no wallet (edouardparis)
30228c6490c45b2b775ac6974b40998dac565208 refac delete wallet modal and desc backup (edouardparis)
9a6218b3f1e5b6698d922eec91d51f7dff980790 Change lianad directory location (edouardparis)
58bccef4cdcae5bdbd5389dcea87e44e0cbdf267 Append wallet settings to file during creation (edouardparis)
e85f89dc7f1f83c8e74bf69a564671dfc4275848 Add wallet list to launcher (edouardparis)
8ddcece8204d6e0690cc5346a2d94c8f89d052c0 Add wallet id for settings filtering (edouardparis)

Pull request description:

ACKs for top commit:
  jp1ac4:
    tACK 79fcbc41e27fd6ea1f0d4870832600476392f5e7.

Tree-SHA512: d003d7eb690b22c6c2bd6124476b4a72692b6674e5d1c40f69d3eef86d205356a91afa5d18a4ba9ae26ad5751eff21bcdf99458bc54022872d3c21c102bd8ddf
2025-05-16 17:43:25 +02:00