Commit Graph
10967 Commits
Author SHA1 Message Date
dependabot[bot]andGitHub 11eeb84a53 chore(deps): bump @react-native-documents/picker from 11.0.3 to 12.0.2
Bumps [@react-native-documents/picker](https://github.com/react-native-documents/document-picker) from 11.0.3 to 12.0.2.
- [Release notes](https://github.com/react-native-documents/document-picker/releases)
- [Commits](https://github.com/react-native-documents/document-picker/compare/@react-native-documents/picker@11.0.3...@react-native-documents/picker@12.0.2)

---
updated-dependencies:
- dependency-name: "@react-native-documents/picker"
  dependency-version: 12.0.1
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-07-31 14:11:33 +00:00
Evan KaloudisandGitHub 7015ac5941 views: WalletConfiguration: lock interface for initialized LDK Node (#4296)
* views: WalletConfiguration: lock interface for initialized LDK Node

Hide the wallet interface dropdown once an LDK Node wallet has been
initialized, matching the existing behavior for Embedded LND wallets
with an admin macaroon. Show a read-only, localized Network label in
its place, as Embedded LND does.

* views: WalletConfiguration: show wallet interface label on initialized wallets
2026-07-31 08:56:48 -04:00
Evan Kaloudis 4fa599068d views: WalletConfiguration: show wallet interface label on initialized wallets 2026-07-30 22:14:33 -04:00
Evan Kaloudis e34795e9bd views: WalletConfiguration: lock interface for initialized LDK Node
Hide the wallet interface dropdown once an LDK Node wallet has been
initialized, matching the existing behavior for Embedded LND wallets
with an admin macaroon. Show a read-only, localized Network label in
its place, as Embedded LND does.
2026-07-30 22:08:11 -04:00
transifex-integration[bot]andGitHub 4c72a130e3 Merge pull request #4295 from ZeusLN/translations_28cf3c53816541af89c49a7815e267ce
[Transifex] Updates for project ZEUS
2026-07-30 12:58:05 -04:00
Evan KaloudisandGitHub 24913d6864 Merge pull request #4293 from kaloudis/fix/duress-delete-wipe
Lockscreen: prevent duress wipe in security management flows
2026-07-30 09:31:19 -04:00
Evan Kaloudis 7826ddd2ad views: Lockscreen: extract isSecurityManagementFlow getter 2026-07-30 09:01:39 -04:00
Evan Kaloudis c629b6668a ui: SetDuressPin: align styling with SetPin
Use the Screen component for the themed gradient background, add
horizontal margins around the duress PIN explanation text, and match
SetPin's heading offset.
2026-07-30 00:02:31 -04:00
Evan Kaloudis cea5a78e28 views: Lockscreen: prevent duress wipe in security management flows
When the Lockscreen was opened from Security settings to delete or
change a PIN or password, entering duress credentials still triggered
deleteNodes() and wiped all wallet configurations. Duress credentials
now count as an incorrect entry in these flows and only trigger the
wipe on a genuine login attempt.

Also clarify the prompts in the delete duress flows so users know the
login credential is expected, not the duress one.

Fixes #3725
2026-07-30 00:02:31 -04:00
Evan KaloudisandGitHub 229e0107a4 Merge pull request #4280 from ajaysehwal/fix/inactive-wallet-seed-display
fix: show the correct seed when backing up an inactive wallet
2026-07-29 23:49:39 -04:00
Evan KaloudisandGitHub f6cbe31e45 fix(CLN): include unpaid invoices in Activity (#4291) 2026-07-29 23:44:42 -04:00
ajaysehwal 73eaa8ad4f fix(CLN): include unpaid invoices in Activity 2026-07-29 21:27:46 +05:30
ajaysehwal b2a6a2b217 fix: inactive wallet QR export network and backup completion 2026-07-29 21:07:02 +05:30
transifex-integration[bot]GitHubtransifex-integration[bot] <43880903+transifex-integration[bot]@users.noreply.github.com>
d7c709adad [Transifex] Translate locales/en.json in zh_CN (#4290)
100% translated source file: 'locales/en.json'
on 'zh_CN'.

Co-authored-by: transifex-integration[bot] <43880903+transifex-integration[bot]@users.noreply.github.com>
2026-07-28 22:23:20 -04:00
Evan KaloudisandGitHub fb64877c9d Merge pull request #4281 from kaloudis/deps/shell-quote-brace-expansion
deps: fix shell-quote DoS, clean up minimatch pins
2026-07-28 12:31:00 -04:00
Evan Kaloudis 339a3c91e2 deps: bump brace-expansion 2.x to 2.1.3 (CVE-2026-14257 backport) 2026-07-28 12:28:04 -04:00
Evan KaloudisandGitHub bd80336949 Merge pull request #4284 from kaloudis/gen-proto-prettier
build: run prettier on generated proto types after gen-proto
2026-07-28 11:08:24 -04:00
ajaysehwal beb2716056 fix: sync SeedQRExport with viewed seed without cache pollution 2026-07-28 19:48:19 +05:30
ajaysehwal 1aed64af4e fix: pass inactive wallet seed from WalletConfiguration to Seed 2026-07-28 19:48:19 +05:30
ajaysehwal 729dd1c1f0 fix: prefer walletSeedPhrase on Seed for inactive wallets 2026-07-28 19:48:18 +05:30
Evan Kaloudis 7ec9f88fb1 build: run prettier on generated proto types after gen-proto
pbts emits proto/lightning.d.ts unformatted, which then fails the
  prettier check since it globs **/*.ts*. Format it as part of gen-proto
  so regenerating bindings doesn't require a manual fixup pass.

  proto/lightning.js is left as pbjs emits it - it isn't covered by the
  prettier check.
2026-07-28 03:31:38 -04:00
transifex-integration[bot]GitHubtransifex-integration[bot] <43880903+transifex-integration[bot]@users.noreply.github.com>
65b6c60c35 [Transifex] Updates for project ZEUS (#4283)
* [Transifex] Translate locales/en.json in cs

100% translated source file: 'locales/en.json'
on 'cs'.

* [Transifex] Translate locales/en.json in ko

100% translated source file: 'locales/en.json'
on 'ko'.

---------

Co-authored-by: transifex-integration[bot] <43880903+transifex-integration[bot]@users.noreply.github.com>
2026-07-28 02:32:48 -04:00
Evan KaloudisandGitHub c7e4740408 Merge pull request #4205 from ZeusLN/lnc-patch
[feat] fix(LNC): route register callbacks through events to avoid new-arch crash
2026-07-27 13:09:31 -04:00
Evan Kaloudis 4f36cad55c fix(LNC): route register callbacks through events to avoid new-arch crash 2026-07-27 10:54:33 -04:00
transifex-integration[bot]GitHubtransifex-integration[bot] <43880903+transifex-integration[bot]@users.noreply.github.com>
e36862e3f9 [Transifex] Updates for project ZEUS (#4282)
* [Transifex] Translate locales/en.json in it

95% of minimum 25% translated source file: 'locales/en.json'
on 'it'.

Sync of partially translated files: 
untranslated content is included with an empty translation 
or source language content depending on file format

* [Transifex] Translate locales/en.json in tr

27% of minimum 25% translated source file: 'locales/en.json'
on 'tr'.

Sync of partially translated files: 
untranslated content is included with an empty translation 
or source language content depending on file format

* [Transifex] Translate locales/en.json in pt_BR

95% of minimum 25% translated source file: 'locales/en.json'
on 'pt_BR'.

Sync of partially translated files: 
untranslated content is included with an empty translation 
or source language content depending on file format

* [Transifex] Translate locales/en.json in sw

36% of minimum 25% translated source file: 'locales/en.json'
on 'sw'.

Sync of partially translated files: 
untranslated content is included with an empty translation 
or source language content depending on file format

* [Transifex] Translate locales/en.json in bg

39% of minimum 25% translated source file: 'locales/en.json'
on 'bg'.

Sync of partially translated files: 
untranslated content is included with an empty translation 
or source language content depending on file format

* [Transifex] Translate locales/en.json in el

53% of minimum 25% translated source file: 'locales/en.json'
on 'el'.

Sync of partially translated files: 
untranslated content is included with an empty translation 
or source language content depending on file format

* [Transifex] Translate locales/en.json in cs

99% of minimum 25% translated source file: 'locales/en.json'
on 'cs'.

Sync of partially translated files: 
untranslated content is included with an empty translation 
or source language content depending on file format

* [Transifex] Translate locales/en.json in hi_IN

54% of minimum 25% translated source file: 'locales/en.json'
on 'hi_IN'.

Sync of partially translated files: 
untranslated content is included with an empty translation 
or source language content depending on file format

* [Transifex] Translate locales/en.json in zh_TW

68% of minimum 25% translated source file: 'locales/en.json'
on 'zh_TW'.

Sync of partially translated files: 
untranslated content is included with an empty translation 
or source language content depending on file format

* [Transifex] Translate locales/en.json in sv

38% of minimum 25% translated source file: 'locales/en.json'
on 'sv'.

Sync of partially translated files: 
untranslated content is included with an empty translation 
or source language content depending on file format

* [Transifex] Translate locales/en.json in id

77% of minimum 25% translated source file: 'locales/en.json'
on 'id'.

Sync of partially translated files: 
untranslated content is included with an empty translation 
or source language content depending on file format

* [Transifex] Translate locales/en.json in zh_CN

99% of minimum 25% translated source file: 'locales/en.json'
on 'zh_CN'.

Sync of partially translated files: 
untranslated content is included with an empty translation 
or source language content depending on file format

* [Transifex] Translate locales/en.json in fi

52% of minimum 25% translated source file: 'locales/en.json'
on 'fi'.

Sync of partially translated files: 
untranslated content is included with an empty translation 
or source language content depending on file format

* [Transifex] Translate locales/en.json in fa

29% of minimum 25% translated source file: 'locales/en.json'
on 'fa'.

Sync of partially translated files: 
untranslated content is included with an empty translation 
or source language content depending on file format

* [Transifex] Translate locales/en.json in pl

30% of minimum 25% translated source file: 'locales/en.json'
on 'pl'.

Sync of partially translated files: 
untranslated content is included with an empty translation 
or source language content depending on file format

* [Transifex] Translate locales/en.json in es

99% of minimum 25% translated source file: 'locales/en.json'
on 'es'.

Sync of partially translated files: 
untranslated content is included with an empty translation 
or source language content depending on file format

* [Transifex] Translate locales/en.json in th

35% of minimum 25% translated source file: 'locales/en.json'
on 'th'.

Sync of partially translated files: 
untranslated content is included with an empty translation 
or source language content depending on file format

* [Transifex] Translate locales/en.json in de

88% of minimum 25% translated source file: 'locales/en.json'
on 'de'.

Sync of partially translated files: 
untranslated content is included with an empty translation 
or source language content depending on file format

* [Transifex] Translate locales/en.json in fr

95% of minimum 25% translated source file: 'locales/en.json'
on 'fr'.

Sync of partially translated files: 
untranslated content is included with an empty translation 
or source language content depending on file format

* [Transifex] Translate locales/en.json in vi

44% of minimum 25% translated source file: 'locales/en.json'
on 'vi'.

Sync of partially translated files: 
untranslated content is included with an empty translation 
or source language content depending on file format

* [Transifex] Translate locales/en.json in ko

99% of minimum 25% translated source file: 'locales/en.json'
on 'ko'.

Sync of partially translated files: 
untranslated content is included with an empty translation 
or source language content depending on file format

* [Transifex] Translate locales/en.json in ru

28% of minimum 25% translated source file: 'locales/en.json'
on 'ru'.

Sync of partially translated files: 
untranslated content is included with an empty translation 
or source language content depending on file format

* [Transifex] Translate locales/en.json in ro

95% of minimum 25% translated source file: 'locales/en.json'
on 'ro'.

Sync of partially translated files: 
untranslated content is included with an empty translation 
or source language content depending on file format

* [Transifex] Translate locales/en.json in he

32% of minimum 25% translated source file: 'locales/en.json'
on 'he'.

Sync of partially translated files: 
untranslated content is included with an empty translation 
or source language content depending on file format

---------

Co-authored-by: transifex-integration[bot] <43880903+transifex-integration[bot]@users.noreply.github.com>
2026-07-27 10:51:54 -04:00
Evan Kaloudis 0361568958 deps: fix shell-quote DoS, clean up minimatch pins
Addresses two high-severity Dependabot alerts:

- shell-quote <= 1.8.4 (GHSA-395f-4hp3-45gv, quadratic parse() DoS):
  bump concurrently to 10.0.4 (pins shell-quote 1.9.0) and refresh the
  remaining lockfile entries to 1.10.0. Closes alert #377.

- brace-expansion <= 5.0.7 (GHSA-mh99-v99m-4gvg, OOM crash via chained
  brace groups): only 5.0.8 (ESM-only) is patched, so the CJS
  minimatch@3/@5 chains must stay on 1.1.16/2.1.2 for now. Remove the
  global minimatch/brace-expansion resolutions, which were forcing
  minimatch ^5/^10 requests (protobufjs-cli -> glob@8,
  react-native-blob-util -> glob@13, and
  @typescript-eslint/typescript-estree) down to 3.1.5/1.1.16 and
  orphaning the scoped react-native-blob-util/* pins (they never
  matched: the chain runs through glob, not a direct dep). Each
  minimatch major now resolves its proper brace-expansion line,
  including the patched 5.0.8 for the ^5.0.5 range.

All affected packages are dev/build tooling; nothing ships in the app
bundle. Alert #388 remains open on brace-expansion 1.1.16/2.1.2 until
upstream backports land.
2026-07-27 09:49:31 -04:00
Evan KaloudisandGitHub 91dd79cb03 Merge pull request #4212 from shubhamkmr04/feat/ldk-24-word-seed
LDK: Add support for 24 word seed phrases
2026-07-27 09:18:34 -04:00
Evan KaloudisandGitHub 0baceb4c64 Merge pull request #4275 from kaloudis/fix/lnc-rn-build
build: fix vendored lnc-rn bob build + add mocha test suite
2026-07-27 09:12:14 -04:00
Shubham Kumar 9d7ff5e6ec fix (ldk): only apply clipboard seed length after user confirms 2026-07-27 14:40:46 +05:30
Evan KaloudisandGitHub 13b40cdf61 Merge pull request #4262 from ZeusLN/deps/protobufjs-8
chore(deps): bump protobufjs to v8 + protobufjs-cli 2.5.1, regenerate bindings
2026-07-26 11:58:00 -04:00
Shubham Kumar e563602885 fix (ldk): remove non-working Alby and LDK VSS server options 2026-07-26 19:30:06 +05:30
Evan Kaloudis d208abf758 Version bump: v13.1.4-alpha 2026-07-26 09:31:42 -04:00
Evan Kaloudis b83051de59 tests: add mocha suite for vendored lnc-rn lib
The module's 'mocha --reporter spec' test script has been dead
scaffolding since the beginning - upstream lightninglabs/lnc-rn never
shipped a test directory - so yarn test always failed with 'No test
files found'.

Add a suite for the parts of lib/ that run in plain Node (lnc.ts needs
react-native and is exercised through the app):
- api/createRpc: unary calls route to lnc.request with capitalized
  method names; every entry in lnc-core's subscriptionMethods routes
  to lnc.subscribe
- util/credentialStore: field storage, isPaired logic, clear()
- util/log: level filtering, prefix naming, fromEnv no-op default

Wiring notes:
- .mocharc.yml requires ts-node/register/transpile-only so no
  @types/mocha or @types/chai devDependencies are needed
- the spec pattern avoids ** because the minimatch 9 resolution pin
  makes mocha's bundled glob 7 crash on globstar (GLOBSTAR is a Symbol
  in minimatch 4+)
- root jest gains 'zeus_modules' in testPathIgnorePatterns: its
  crawler only skips node_modules, so it would otherwise collect these
  mocha tests into the app's jest run
2026-07-25 14:40:11 -04:00
Evan Kaloudis ec2197db28 build: fix vendored lnc-rn bob build under repo nesting
The lnc-rn prepare step (bob build) failed its typescript target on
every yarn install inside the module: tsc's automatic @types inclusion
walks up parent node_modules, so the vendored copy picked up the zeus
root's @types/lodash, whose 'infer N extends number' syntax the
package's pinned TypeScript 4.5.5 cannot parse (TS1005). Upstream
lnc-rn never hits this because it is not nested inside another repo.

Fix: restrict typeRoots to the package's own node_modules/@types.

Also commit the dist/ output regenerated by the pinned toolchain so
prepare is idempotent and installs leave a clean tree:
- dist/typescript is byte-identical, so the type surface zeus's tsc
  consumes is unchanged
- dist/commonjs and dist/module drift is babel class-property lowering
  (previous committed copy kept class-fields syntax); zeus never runs
  these files - Metro resolves the react-native field to lib/ source
- dist/commonjs/package.json ({"type":"commonjs"}) is dropped: bob
  0.18.3 does not emit it and the package has no "type" field, so CJS
  is already the default
2026-07-25 14:32:55 -04:00
Evan KaloudisandGitHub ff81b8241c Merge pull request #4274 from kaloudis/chore/dependabot-transitive-deps
chore(deps): clear Dependabot alerts on transitive dependencies
2026-07-25 14:26:57 -04:00
Evan Kaloudis effc8859c4 chore(deps): clear Dependabot alerts on transitive dependencies
Root:
- bump brace-expansion resolutions for GHSA-3jxr-9vmj-r5cp: blanket
  pin 1.1.13 -> 1.1.16, protobufjs-cli scope 2.0.3 -> 2.1.2; add
  react-native-blob-util/brace-expansion 5.0.8 so the minimatch 10 /
  glob 13 subtree gets the only patched line for GHSA-mh99-v99m-4gvg
- re-resolve the stale ws@^6.2.3 lockfile entry 6.2.3 -> 6.2.6 for
  GHSA-96hv-2xvq-fx4p (dev-only, @react-native-community/cli-server-api)

zeus_modules/@lightninglabs/lnc-rn (vendored; dev tooling only, none
of this is bundled into the app):
- js-yaml 3.14.1 -> 3.15.0 and 4.1.0 -> 4.3.0 (via mocha/js-yaml
  resolution) for GHSA-52cp-r559-cp3m and GHSA-h67p-54hq-rp68
- ws 6.2.3 -> 6.2.6 and 7.5.10 -> 7.5.13 for GHSA-96hv-2xvq-fx4p
2026-07-25 14:21:48 -04:00
Evan KaloudisandGitHub 46c67db0f8 Merge pull request #4271 from kaloudis/chore/lnc-rn-eslint
chore(deps): migrate lnc-rn from deprecated tslint to eslint v9
2026-07-25 01:09:07 -04:00
Evan Kaloudis f9cfb74d74 chore(deps): migrate lnc-rn from deprecated tslint to eslint v9
Applies lightninglabs/lnc-rn#45 to the vendored copy in zeus_modules:

- add eslint.config.mjs (flat config, eslint v9 + typescript-eslint v8)
  translating the previous tslint.json rule set
- swap tslint/tslint-config-prettier devDependencies for @eslint/js,
  eslint, eslint-config-prettier, globals and typescript-eslint;
  lint script is now 'eslint lib'
- drop unused Proxy handler params in lib/api/createRpc.ts and the
  unused catch binding in lib/lnc.ts, mirrored into the prebuilt dist/
- regenerate the module's local yarn.lock

No runtime behavior change. The root package.json and yarn.lock are
untouched, so contributors do not need to re-run yarn.
2026-07-25 01:00:58 -04:00
Evan KaloudisandGitHub 43216550d0 Merge pull request #4268 from ZeusLN/dependabot/npm_and_yarn/valibot-1.4.2
chore(deps): bump valibot from 1.2.0 to 1.4.2
2026-07-24 23:02:46 -04:00
Evan KaloudisandGitHub 5a931f90eb Merge pull request #4267 from ZeusLN/dependabot/bundler/json-2.19.9
chore(deps): bump json from 2.19.2 to 2.19.9
2026-07-24 22:44:42 -04:00
Evan Kaloudis 8a7d9fc8b1 fix: install TextEncoder/TextDecoder polyfills before protobufjs loads
protobufjs v8 reads TextDecoder at import time, and Hermes does not
provide it. The polyfill assignment in index.js ran after hoisted
imports, so the app crashed on launch with 'Property TextDecoder
doesn't exist'. Move the polyfills into their own module imported
first so they are installed before any other module executes.
2026-07-24 22:07:45 -04:00
Evan Kaloudis 4d03977a0d chore(deps): bump protobufjs to v8, regenerate proto bindings
Upgrades the protobuf toolchain and runtime together, as they are
version-coupled (protobufjs-cli 2.5.x peer-requires protobufjs ^8.6):

- protobufjs 7.6.5 -> 8.7.1 (runtime; v8's only breaking change is
  Edition 2024 descriptor support - LND protos are proto3 and the
  runtime APIs Zeus uses, util.Long/configure/Writer/Reader, are
  unchanged)
- protobufjs-cli 2.0.0 -> 2.5.1 (dev; supersedes #4257, which would
  have created a peer mismatch against the 7.x runtime)
- long 5.2.3 -> 5.3.2 (protobufjs 8 requires ^5.3.2; keeping the
  direct dep in lockstep avoids two hoisted Long classes and
  instanceof mismatches in the Long wiring in index.js)
- gen-proto: add -p proto so pbjs can resolve import "lightning.proto"
  from the rpc subdirectory protos; the script failed with ENOENT
  without it (on both old and new CLI versions)
- proto/lightning.js + lightning.d.ts regenerated with the new
  toolchain (v8-era codegen: unknown-field preservation, recursion
  depth guards); d.ts formatted with the repo prettier config
2026-07-24 18:22:29 -04:00
dependabot[bot]andGitHub 727fbbf838 chore(deps): bump valibot from 1.2.0 to 1.4.2
Bumps [valibot](https://github.com/open-circle/valibot) from 1.2.0 to 1.4.2.
- [Release notes](https://github.com/open-circle/valibot/releases)
- [Commits](https://github.com/open-circle/valibot/compare/v1.2.0...v1.4.2)

---
updated-dependencies:
- dependency-name: valibot
  dependency-version: 1.4.2
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-07-24 22:18:47 +00:00
dependabot[bot]andGitHub dfdb84252f chore(deps): bump json from 2.19.2 to 2.19.9
Bumps [json](https://github.com/ruby/json) from 2.19.2 to 2.19.9.
- [Release notes](https://github.com/ruby/json/releases)
- [Changelog](https://github.com/ruby/json/blob/master/CHANGES.md)
- [Commits](https://github.com/ruby/json/compare/v2.19.2...v2.19.9)

---
updated-dependencies:
- dependency-name: json
  dependency-version: 2.19.9
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-07-24 22:18:05 +00:00
Evan Kaloudis 8b9f18dc9f fix: pin react to 19.2.3 for RN 0.85.3 renderer compatibility 2026-07-24 18:16:46 -04:00
transifex-integration[bot]GitHubtransifex-integration[bot] <43880903+transifex-integration[bot]@users.noreply.github.com>
484eb612b2 [Transifex] Translate locales/en.json in ko (#4266)
100% translated source file: 'locales/en.json'
on 'ko'.

Co-authored-by: transifex-integration[bot] <43880903+transifex-integration[bot]@users.noreply.github.com>
2026-07-24 16:37:07 -04:00
transifex-integration[bot]GitHubtransifex-integration[bot] <43880903+transifex-integration[bot]@users.noreply.github.com>
2074ee6b01 [Transifex] Updates for project ZEUS (#4265)
* [Transifex] Translate locales/en.json in cs

99% of minimum 25% translated source file: 'locales/en.json'
on 'cs'.

Sync of partially translated files: 
untranslated content is included with an empty translation 
or source language content depending on file format

* [Transifex] Translate locales/en.json in cs

100% translated source file: 'locales/en.json'
on 'cs'.

---------

Co-authored-by: transifex-integration[bot] <43880903+transifex-integration[bot]@users.noreply.github.com>
2026-07-22 23:29:21 -04:00
transifex-integration[bot]GitHubtransifex-integration[bot] <43880903+transifex-integration[bot]@users.noreply.github.com>
f35f6ae601 [Transifex] Translate locales/en.json in cs (#4264)
99% of minimum 25% translated source file: 'locales/en.json'
on 'cs'.

Sync of partially translated files: 
untranslated content is included with an empty translation 
or source language content depending on file format

Co-authored-by: transifex-integration[bot] <43880903+transifex-integration[bot]@users.noreply.github.com>
2026-07-22 13:41:19 -04:00
transifex-integration[bot]GitHubtransifex-integration[bot] <43880903+transifex-integration[bot]@users.noreply.github.com>
0a49b7eb78 [Transifex] Translate locales/en.json in es (#4263)
100% translated source file: 'locales/en.json'
on 'es'.

Co-authored-by: transifex-integration[bot] <43880903+transifex-integration[bot]@users.noreply.github.com>
2026-07-22 11:42:00 -04:00
Evan KaloudisandGitHub e7ff22bb8e Merge pull request #4260 from ZeusLN/chore/deps-minor-patch-slim
chore(deps): bump 47 minor and patch dependencies (slimmed #4247)
2026-07-22 10:29:07 -04:00