Nostr Zap
From 801f51747800a21a5e4a8b87be43a55c7b8126e8 Mon Sep 17 00:00:00 2001
From: klabo
Date: Tue, 10 Feb 2026 07:31:32 -0800
Subject: [PATCH 015/344] refactor: remove unused LNClient.ListTransactions
method (#2046)
Transactions are listed from the database via transactionsService, not
from the LN backend. The LNClient.ListTransactions method was never
called and each backend's implementation was dead code.
Closes #2045
Co-authored-by: Joel Klabo
Co-authored-by: Claude Opus 4.6
---
lnclient/cashu/cashu.go | 35 -----------
lnclient/ldk/ldk.go | 5 --
lnclient/lnd/lnd.go | 55 -----------------
lnclient/models.go | 1 -
lnclient/phoenixd/phoenixd.go | 112 ----------------------------------
tests/mock_ln_client.go | 3 -
tests/mocks/LNClient.go | 62 -------------------
7 files changed, 273 deletions(-)
diff --git a/lnclient/cashu/cashu.go b/lnclient/cashu/cashu.go
index 8636e946..814ca025 100644
--- a/lnclient/cashu/cashu.go
+++ b/lnclient/cashu/cashu.go
@@ -4,7 +4,6 @@ import (
"context"
"errors"
"os"
- "sort"
"strconv"
"time"
@@ -151,40 +150,6 @@ func (cs *CashuService) LookupInvoice(ctx context.Context, paymentHash string) (
return nil, errors.New("failed to lookup payment request by payment hash")
}
-func (cs *CashuService) ListTransactions(ctx context.Context, from, until, limit, offset uint64, unpaid bool, invoiceType string) (transactions []lnclient.Transaction, err error) {
- mintQuotes := cs.wallet.GetMintQuotes()
- meltQuotes := cs.wallet.GetMeltQuotes()
- transactions = make([]lnclient.Transaction, 0, len(mintQuotes)+len(meltQuotes))
-
- for _, mintQuote := range mintQuotes {
- invoiceCreated := time.UnixMilli(mintQuote.CreatedAt * 1000)
- if time.Since(invoiceCreated) < 24*time.Hour && mintQuote.State != nut04.Paid {
- cs.checkIncomingPayment(&mintQuote)
- }
-
- transaction := cs.cashuMintQuoteToTransaction(&mintQuote)
- if transaction.SettledAt == nil {
- continue
- }
- transactions = append(transactions, *transaction)
- }
-
- for _, meltQuote := range meltQuotes {
- transaction := cs.cashuMeltQuoteToTransaction(&meltQuote)
- if transaction.SettledAt == nil {
- continue
- }
- transactions = append(transactions, *transaction)
- }
-
- // sort by created date descending
- sort.SliceStable(transactions, func(i, j int) bool {
- return transactions[i].CreatedAt > transactions[j].CreatedAt
- })
-
- return transactions, nil
-}
-
func (cs *CashuService) GetInfo(ctx context.Context) (info *lnclient.NodeInfo, err error) {
return &lnclient.NodeInfo{
Alias: "NWC (Cashu)",
diff --git a/lnclient/ldk/ldk.go b/lnclient/ldk/ldk.go
index 2aeeb4e9..b3181599 100644
--- a/lnclient/ldk/ldk.go
+++ b/lnclient/ldk/ldk.go
@@ -816,11 +816,6 @@ func (ls *LDKService) LookupInvoice(ctx context.Context, paymentHash string) (tr
return nil, errors.New("this method should not be called")
}
-func (ls *LDKService) ListTransactions(ctx context.Context, from, until, limit, offset uint64, unpaid bool, invoiceType string) (transactions []lnclient.Transaction, err error) {
- // this method shouldn't be any more because this LNClient supports notifications
- return nil, errors.New("this method should not be called")
-}
-
func (ls *LDKService) ListOnchainTransactions(ctx context.Context) ([]lnclient.OnchainTransaction, error) {
transactions := []lnclient.OnchainTransaction{}
for _, payment := range ls.node.ListPayments() {
diff --git a/lnclient/lnd/lnd.go b/lnclient/lnd/lnd.go
index 884f0b94..02b414a1 100644
--- a/lnclient/lnd/lnd.go
+++ b/lnclient/lnd/lnd.go
@@ -870,61 +870,6 @@ func (svc *LNDService) LookupInvoice(ctx context.Context, paymentHash string) (t
return transaction, nil
}
-// FIXME: this always returns limit * 2 transactions and offset is not used correctly
-func (svc *LNDService) ListTransactions(ctx context.Context, from, until, limit, offset uint64, unpaid bool, invoiceType string) (transactions []lnclient.Transaction, err error) {
- // Fetch invoices
- var invoices []*lnrpc.Invoice
- if invoiceType == "" || invoiceType == "incoming" {
- incomingResp, err := svc.client.ListInvoices(ctx, &lnrpc.ListInvoiceRequest{Reversed: true, NumMaxInvoices: limit, IndexOffset: offset})
- if err != nil {
- logger.Logger.WithError(err).Error("Failed to fetch incoming invoices")
- return nil, err
- }
- invoices = incomingResp.Invoices
- }
- for _, invoice := range invoices {
- // this will cause retrieved amount to be less than limit if unpaid is false
- if !unpaid && invoice.State != lnrpc.Invoice_SETTLED {
- continue
- }
-
- transaction := lndInvoiceToTransaction(invoice)
- transactions = append(transactions, *transaction)
- }
- // Fetch payments
- var payments []*lnrpc.Payment
- if invoiceType == "" || invoiceType == "outgoing" {
- // Not just pending but failed payments will also be included because of IncludeIncomplete
- outgoingResp, err := svc.client.ListPayments(ctx, &lnrpc.ListPaymentsRequest{Reversed: true, MaxPayments: limit, IndexOffset: offset, IncludeIncomplete: unpaid})
- if err != nil {
- logger.Logger.WithError(err).Error("Failed to fetch outgoing invoices")
- return nil, err
- }
- payments = outgoingResp.Payments
- }
- for _, payment := range payments {
- if payment.Status == lnrpc.Payment_FAILED {
- // don't return failed payments for now
- // this will cause retrieved amount to be less than limit
- continue
- }
-
- transaction, err := lndPaymentToTransaction(payment)
- if err != nil {
- return nil, err
- }
-
- transactions = append(transactions, *transaction)
- }
-
- // sort by created date descending
- sort.SliceStable(transactions, func(i, j int) bool {
- return transactions[i].CreatedAt > transactions[j].CreatedAt
- })
-
- return transactions, nil
-}
-
func (svc *LNDService) GetInfo(ctx context.Context) (info *lnclient.NodeInfo, err error) {
return svc.nodeInfo, nil
}
diff --git a/lnclient/models.go b/lnclient/models.go
index fd22f431..f8f07d63 100644
--- a/lnclient/models.go
+++ b/lnclient/models.go
@@ -66,7 +66,6 @@ type LNClient interface {
SettleHoldInvoice(ctx context.Context, preimage string) (err error)
CancelHoldInvoice(ctx context.Context, paymentHash string) (err error)
LookupInvoice(ctx context.Context, paymentHash string) (transaction *Transaction, err error)
- ListTransactions(ctx context.Context, from, until, limit, offset uint64, unpaid bool, invoiceType string) (transactions []Transaction, err error)
ListOnchainTransactions(ctx context.Context) ([]OnchainTransaction, error)
Shutdown() error
ListChannels(ctx context.Context) (channels []Channel, err error)
diff --git a/lnclient/phoenixd/phoenixd.go b/lnclient/phoenixd/phoenixd.go
index a5b5fb5d..812cbf32 100644
--- a/lnclient/phoenixd/phoenixd.go
+++ b/lnclient/phoenixd/phoenixd.go
@@ -7,7 +7,6 @@ import (
"errors"
"net/http"
"net/url"
- "sort"
"strconv"
"strings"
"time"
@@ -129,117 +128,6 @@ func (svc *PhoenixService) GetBalances(ctx context.Context, includeInactiveChann
}, nil
}
-func (svc *PhoenixService) ListTransactions(ctx context.Context, from, until, limit, offset uint64, unpaid bool, invoiceType string) (transactions []lnclient.Transaction, err error) {
- incomingQuery := url.Values{}
- if from != 0 {
- incomingQuery.Add("from", strconv.FormatUint(from*1000, 10))
- }
- if until != 0 {
- incomingQuery.Add("to", strconv.FormatUint(until*1000, 10))
- }
- if limit != 0 {
- incomingQuery.Add("limit", strconv.FormatUint(limit, 10))
- }
- if offset != 0 {
- incomingQuery.Add("offset", strconv.FormatUint(offset, 10))
- }
- incomingQuery.Add("all", strconv.FormatBool(unpaid))
-
- incomingUrl := svc.Address + "/payments/incoming?" + incomingQuery.Encode()
-
- logger.Logger.WithFields(logrus.Fields{
- "url": incomingUrl,
- }).Infof("Fetching incoming transactions: %s", incomingUrl)
- incomingReq, err := http.NewRequestWithContext(ctx, http.MethodGet, incomingUrl, nil)
- if err != nil {
- return nil, err
- }
- incomingReq.Header.Add("Authorization", "Basic "+svc.Authorization)
- client := &http.Client{Timeout: 5 * time.Second}
-
- incomingResp, err := client.Do(incomingReq)
- if err != nil {
- return nil, err
- }
- defer incomingResp.Body.Close()
-
- var incomingPayments []InvoiceResponse
- if err := json.NewDecoder(incomingResp.Body).Decode(&incomingPayments); err != nil {
- return nil, err
- }
- transactions = []lnclient.Transaction{}
- for _, invoice := range incomingPayments {
- transaction, err := phoenixInvoiceToTransaction(&invoice)
- if err != nil {
- return nil, err
- }
-
- transactions = append(transactions, *transaction)
- }
-
- // get outgoing payments
- outgoingQuery := url.Values{}
- if from != 0 {
- outgoingQuery.Add("from", strconv.FormatUint(from*1000, 10))
- }
- if until != 0 {
- outgoingQuery.Add("to", strconv.FormatUint(until*1000, 10))
- }
- if limit != 0 {
- outgoingQuery.Add("limit", strconv.FormatUint(limit, 10))
- }
- if offset != 0 {
- outgoingQuery.Add("offset", strconv.FormatUint(offset, 10))
- }
- outgoingQuery.Add("all", strconv.FormatBool(unpaid))
-
- outgoingUrl := svc.Address + "/payments/outgoing?" + outgoingQuery.Encode()
-
- logger.Logger.WithFields(logrus.Fields{
- "url": outgoingUrl,
- }).Infof("Fetching outgoing transactions: %s", outgoingUrl)
- outgoingReq, err := http.NewRequestWithContext(ctx, http.MethodGet, outgoingUrl, nil)
- if err != nil {
- return nil, err
- }
- outgoingReq.Header.Add("Authorization", "Basic "+svc.Authorization)
- outgoingResp, err := client.Do(outgoingReq)
- if err != nil {
- return nil, err
- }
- defer outgoingResp.Body.Close()
-
- var outgoingPayments []OutgoingPaymentResponse
- if err := json.NewDecoder(outgoingResp.Body).Decode(&outgoingPayments); err != nil {
- return nil, err
- }
- for _, invoice := range outgoingPayments {
- var settledAt *int64
- if invoice.CompletedAt != 0 {
- settledAtUnix := time.UnixMilli(invoice.CompletedAt).Unix()
- settledAt = &settledAtUnix
- }
- transaction := lnclient.Transaction{
- Type: "outgoing",
- Invoice: invoice.Invoice,
- Preimage: invoice.Preimage,
- PaymentHash: invoice.PaymentHash,
- Amount: invoice.Sent * 1000,
- FeesPaid: invoice.Fees * 1000,
- CreatedAt: time.UnixMilli(invoice.CreatedAt).Unix(),
- SettledAt: settledAt,
- }
- transactions = append(transactions, transaction)
- }
-
- // sort by created date descending
- sort.SliceStable(transactions, func(i, j int) bool {
- return transactions[i].CreatedAt > transactions[j].CreatedAt
- })
-
- return transactions, nil
-}
-
func (svc *PhoenixService) GetInfo(ctx context.Context) (info *lnclient.NodeInfo, err error) {
return svc.nodeInfo, nil
}
diff --git a/tests/mock_ln_client.go b/tests/mock_ln_client.go
index ea211f6c..24da3012 100644
--- a/tests/mock_ln_client.go
+++ b/tests/mock_ln_client.go
@@ -139,9 +139,6 @@ func (mln *MockLn) LookupInvoice(ctx context.Context, paymentHash string) (trans
return MockLNClientTransaction, nil
}
-func (mln *MockLn) ListTransactions(ctx context.Context, from, until, limit, offset uint64, unpaid bool, invoiceType string) (invoices []lnclient.Transaction, err error) {
- return MockLNClientTransactions, nil
-}
func (mln *MockLn) Shutdown() error {
return nil
}
diff --git a/tests/mocks/LNClient.go b/tests/mocks/LNClient.go
index 3eb61fbd..31ce876f 100644
--- a/tests/mocks/LNClient.go
+++ b/tests/mocks/LNClient.go
@@ -1142,68 +1142,6 @@ func (_c *MockLNClient_ListPeers_Call) RunAndReturn(run func(ctx context.Context
return _c
}
-// ListTransactions provides a mock function for the type MockLNClient
-func (_mock *MockLNClient) ListTransactions(ctx context.Context, from uint64, until uint64, limit uint64, offset uint64, unpaid bool, invoiceType string) ([]lnclient.Transaction, error) {
- ret := _mock.Called(ctx, from, until, limit, offset, unpaid, invoiceType)
-
- if len(ret) == 0 {
- panic("no return value specified for ListTransactions")
- }
-
- var r0 []lnclient.Transaction
- var r1 error
- if returnFunc, ok := ret.Get(0).(func(context.Context, uint64, uint64, uint64, uint64, bool, string) ([]lnclient.Transaction, error)); ok {
- return returnFunc(ctx, from, until, limit, offset, unpaid, invoiceType)
- }
- if returnFunc, ok := ret.Get(0).(func(context.Context, uint64, uint64, uint64, uint64, bool, string) []lnclient.Transaction); ok {
- r0 = returnFunc(ctx, from, until, limit, offset, unpaid, invoiceType)
- } else {
- if ret.Get(0) != nil {
- r0 = ret.Get(0).([]lnclient.Transaction)
- }
- }
- if returnFunc, ok := ret.Get(1).(func(context.Context, uint64, uint64, uint64, uint64, bool, string) error); ok {
- r1 = returnFunc(ctx, from, until, limit, offset, unpaid, invoiceType)
- } else {
- r1 = ret.Error(1)
- }
- return r0, r1
-}
-
-// MockLNClient_ListTransactions_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'ListTransactions'
-type MockLNClient_ListTransactions_Call struct {
- *mock.Call
-}
-
-// ListTransactions is a helper method to define mock.On call
-// - ctx
-// - from
-// - until
-// - limit
-// - offset
-// - unpaid
-// - invoiceType
-func (_e *MockLNClient_Expecter) ListTransactions(ctx interface{}, from interface{}, until interface{}, limit interface{}, offset interface{}, unpaid interface{}, invoiceType interface{}) *MockLNClient_ListTransactions_Call {
- return &MockLNClient_ListTransactions_Call{Call: _e.mock.On("ListTransactions", ctx, from, until, limit, offset, unpaid, invoiceType)}
-}
-
-func (_c *MockLNClient_ListTransactions_Call) Run(run func(ctx context.Context, from uint64, until uint64, limit uint64, offset uint64, unpaid bool, invoiceType string)) *MockLNClient_ListTransactions_Call {
- _c.Call.Run(func(args mock.Arguments) {
- run(args[0].(context.Context), args[1].(uint64), args[2].(uint64), args[3].(uint64), args[4].(uint64), args[5].(bool), args[6].(string))
- })
- return _c
-}
-
-func (_c *MockLNClient_ListTransactions_Call) Return(transactions []lnclient.Transaction, err error) *MockLNClient_ListTransactions_Call {
- _c.Call.Return(transactions, err)
- return _c
-}
-
-func (_c *MockLNClient_ListTransactions_Call) RunAndReturn(run func(ctx context.Context, from uint64, until uint64, limit uint64, offset uint64, unpaid bool, invoiceType string) ([]lnclient.Transaction, error)) *MockLNClient_ListTransactions_Call {
- _c.Call.Return(run)
- return _c
-}
-
// LookupInvoice provides a mock function for the type MockLNClient
func (_mock *MockLNClient) LookupInvoice(ctx context.Context, paymentHash string) (*lnclient.Transaction, error) {
ret := _mock.Called(ctx, paymentHash)
From 4353aa4e573e7149acd0fe5c80ac143eb64a6960 Mon Sep 17 00:00:00 2001
From: klabo
Date: Tue, 10 Feb 2026 09:00:08 -0800
Subject: [PATCH 016/344] feat: add HIDE_UPDATE_BANNER environment variable
(#2051)
* feat: add HIDE_UPDATE_BANNER environment variable
Add a new HIDE_UPDATE_BANNER env var that allows platform operators
(e.g. Start9) to suppress the built-in version update banner when
they provide their own update notification mechanism.
When set to true, the "What's New" widget is hidden and the header
banner only shows for VSS migration notices. The version comparison
against the Alby API is skipped entirely.
Closes #2048
* chore: simplify
* chore: undo changes
---------
Co-authored-by: Joel Klabo
Co-authored-by: im-adithya
---
api/api.go | 1 +
api/models.go | 1 +
config/models.go | 1 +
frontend/src/components/home/widgets/WhatsNewWidget.tsx | 7 ++++++-
frontend/src/hooks/useBanner.tsx | 4 ++--
frontend/src/types.ts | 1 +
6 files changed, 12 insertions(+), 3 deletions(-)
diff --git a/api/api.go b/api/api.go
index 8620e8ea..4bfebe1d 100644
--- a/api/api.go
+++ b/api/api.go
@@ -1217,6 +1217,7 @@ func (api *api) GetInfo(ctx context.Context) (*InfoResponse, error) {
info.OAuthRedirect = !api.cfg.GetEnv().IsDefaultClientId()
info.Version = version.Tag
info.EnableAdvancedSetup = api.cfg.GetEnv().EnableAdvancedSetup
+ info.HideUpdateBanner = api.cfg.GetEnv().HideUpdateBanner
info.LdkVssEnabled = ldkVssEnabled == "true"
info.VssSupported = backendType == config.LDKBackendType && api.cfg.GetEnv().LDKVssUrl != ""
info.AutoUnlockPasswordEnabled = autoUnlockPassword != ""
diff --git a/api/models.go b/api/models.go
index 971d80d1..7d0f544e 100644
--- a/api/models.go
+++ b/api/models.go
@@ -297,6 +297,7 @@ type InfoResponse struct {
Relays []InfoResponseRelay `json:"relays"`
NodeAlias string `json:"nodeAlias"`
MempoolUrl string `json:"mempoolUrl"`
+ HideUpdateBanner bool `json:"hideUpdateBanner"`
}
type UpdateSettingsRequest struct {
diff --git a/config/models.go b/config/models.go
index e523e0c7..b87046ef 100644
--- a/config/models.go
+++ b/config/models.go
@@ -58,6 +58,7 @@ type AppConfig struct {
AutoUnlockPassword string `envconfig:"AUTO_UNLOCK_PASSWORD"`
LogDBQueries bool `envconfig:"LOG_DB_QUERIES" default:"false"`
BoltzApi string `envconfig:"BOLTZ_API" default:"https://api.boltz.exchange"`
+ HideUpdateBanner bool `envconfig:"HIDE_UPDATE_BANNER" default:"false"`
}
func (c *AppConfig) IsDefaultClientId() bool {
diff --git a/frontend/src/components/home/widgets/WhatsNewWidget.tsx b/frontend/src/components/home/widgets/WhatsNewWidget.tsx
index 6b2b59c4..3599a05c 100644
--- a/frontend/src/components/home/widgets/WhatsNewWidget.tsx
+++ b/frontend/src/components/home/widgets/WhatsNewWidget.tsx
@@ -14,7 +14,12 @@ export function WhatsNewWidget() {
const { data: info } = useInfo();
const { data: albyInfo } = useAlbyInfo();
- if (!info || !albyInfo || !albyInfo.hub.latestReleaseNotes) {
+ if (
+ !info ||
+ !albyInfo ||
+ !albyInfo.hub.latestReleaseNotes ||
+ info.hideUpdateBanner
+ ) {
return null;
}
diff --git a/frontend/src/hooks/useBanner.tsx b/frontend/src/hooks/useBanner.tsx
index b8c25c4c..a4578b2b 100644
--- a/frontend/src/hooks/useBanner.tsx
+++ b/frontend/src/hooks/useBanner.tsx
@@ -12,12 +12,12 @@ export function useBanner() {
const isDismissedRef = React.useRef(false);
React.useEffect(() => {
- if (!info || !albyInfo || isDismissedRef.current) {
+ if (!info || !albyInfo || info.hideUpdateBanner || isDismissedRef.current) {
return;
}
// vss migration (alby cloud only)
- // TODO: remove after 2026-01-01
+ // TODO: remove after 2026-08-01
const vssMigrationRequired =
info.oauthRedirect &&
!!albyMe?.subscription.plan_code.includes("buzz") &&
diff --git a/frontend/src/types.ts b/frontend/src/types.ts
index 5c784b66..135b1bb5 100644
--- a/frontend/src/types.ts
+++ b/frontend/src/types.ts
@@ -164,6 +164,7 @@ export interface InfoResponse {
nodeAlias: string;
mempoolUrl: string;
bitcoinDisplayFormat: BitcoinDisplayFormat;
+ hideUpdateBanner: boolean;
}
export type BitcoinDisplayFormat = "sats" | "bip177";
From 3bdbe870a9bc4961de3f9028a2ec8ad0ad739104 Mon Sep 17 00:00:00 2001
From: klabo
Date: Tue, 10 Feb 2026 09:47:14 -0800
Subject: [PATCH 017/344] feat: add Alby CLI to the app store (#2049)
* feat: add Alby CLI to the app store
Closes #2047
Adds Alby CLI (NWC CLI with lightning tools) to the Hub app store
under wallet-interfaces category. Includes install guide (npm/npx)
and connection guide (NWC_URL env var or -c flag).
Co-Authored-By: Claude Opus 4.6
* fix: hide connection QR code for CLI app
CLI users will copy-paste the connection secret, so the QR code adds no value.
Co-Authored-By: Claude Opus 4.6
* chore: modify finalize guide
---------
Co-authored-by: Joel Klabo
Co-authored-by: Claude Opus 4.6
Co-authored-by: im-adithya
---
.../connections/SuggestedAppData.tsx | 52 +++++++++++++++++++
1 file changed, 52 insertions(+)
diff --git a/frontend/src/components/connections/SuggestedAppData.tsx b/frontend/src/components/connections/SuggestedAppData.tsx
index 75a160aa..0532a3b5 100644
--- a/frontend/src/components/connections/SuggestedAppData.tsx
+++ b/frontend/src/components/connections/SuggestedAppData.tsx
@@ -3,6 +3,7 @@ import { Link } from "react-router-dom";
import topup2fiat from "src/assets/suggested-apps/2fiat-topup.png";
import albyExtension from "src/assets/suggested-apps/alby-extension.png";
import albyGo from "src/assets/suggested-apps/alby-go.png";
+import albyCli from "src/assets/suggested-apps/alby.png";
import amethyst from "src/assets/suggested-apps/amethyst.png";
import bitrefill from "src/assets/suggested-apps/bitrefill.png";
import bringin from "src/assets/suggested-apps/bringin.png";
@@ -333,6 +334,57 @@ export const appStoreApps: AppStoreApp[] = (
),
categories: ["wallet-interfaces"],
},
+ {
+ id: "alby-cli",
+ title: "Alby CLI",
+ description:
+ "Command-line interface for Nostr Wallet Connect with lightning tools",
+ webLink: "https://github.com/getAlby/cli",
+ logo: albyCli,
+ extendedDescription:
+ "Manage your Alby Hub from the command line. Send and receive payments, create invoices, check your balance, and automate lightning workflows. Built for developers and AI agents.",
+ categories: ["wallet-interfaces"],
+ hideConnectionQr: true,
+ installGuide: (
+ <>
+
+
+ -
+ Install the CLI globally:{" "}
+
+ npm install -g @getalby/cli
+
+
+ -
+ Or run directly with npx:{" "}
+
npx @getalby/cli
+
+
+
+ >
+ ),
+ finalizeGuide: (
+ <>
+
+
Connect to your Hub
+
+ -
+ Set the
NWC_URL{" "}
+ environment variable or pass the connection string via{" "}
+ -c
+
+ -
+ Run{" "}
+
+ npx @getalby/cli -c "nostr+walletconnect://..." get-info
+ {" "}
+ to verify the connection
+
+
+
+ >
+ ),
+ },
{
id: "damus",
title: "Damus",
From a92a32e92217cda00e2daab3b1cd14c3487f77ed Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Thu, 12 Feb 2026 09:07:39 +0530
Subject: [PATCH 018/344] build(deps): bump google.golang.org/grpc from 1.76.0
to 1.77.0 (#1938)
Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.76.0 to 1.77.0.
- [Release notes](https://github.com/grpc/grpc-go/releases)
- [Commits](https://github.com/grpc/grpc-go/compare/v1.76.0...v1.77.0)
---
updated-dependencies:
- dependency-name: google.golang.org/grpc
dependency-version: 1.77.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot]
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: im-adithya
---
go.mod | 21 ++++++++++-----------
go.sum | 40 ++++++++++++++++++++--------------------
2 files changed, 30 insertions(+), 31 deletions(-)
diff --git a/go.mod b/go.mod
index 5cee2250..81679eaa 100644
--- a/go.mod
+++ b/go.mod
@@ -20,7 +20,7 @@ require (
github.com/wailsapp/wails/v2 v2.11.0
golang.org/x/crypto v0.44.0
golang.org/x/oauth2 v0.33.0
- google.golang.org/grpc v1.76.0
+ google.golang.org/grpc v1.77.0
gopkg.in/macaroon.v2 v2.1.0
gorm.io/driver/postgres v1.6.0
gorm.io/driver/sqlite v1.6.0
@@ -169,7 +169,6 @@ require (
github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec // indirect
github.com/rivo/uniseg v0.4.7 // indirect
github.com/rogpeppe/fastuuid v1.2.0 // indirect
- github.com/rogpeppe/go-internal v1.14.1 // indirect
github.com/samber/lo v1.49.1 // indirect
github.com/shirou/gopsutil/v3 v3.24.4 // indirect
github.com/soheilhy/cmux v0.1.5 // indirect
@@ -203,21 +202,21 @@ require (
go.etcd.io/etcd/pkg/v3 v3.5.16 // indirect
go.etcd.io/etcd/raft/v3 v3.5.16 // indirect
go.etcd.io/etcd/server/v3 v3.5.16 // indirect
- go.opentelemetry.io/auto/sdk v1.1.0 // indirect
+ go.opentelemetry.io/auto/sdk v1.2.1 // indirect
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.55.0 // indirect
- go.opentelemetry.io/otel v1.37.0 // indirect
+ go.opentelemetry.io/otel v1.38.0 // indirect
go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.30.0 // indirect
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.30.0 // indirect
- go.opentelemetry.io/otel/metric v1.37.0 // indirect
- go.opentelemetry.io/otel/sdk v1.37.0 // indirect
- go.opentelemetry.io/otel/trace v1.37.0 // indirect
+ go.opentelemetry.io/otel/metric v1.38.0 // indirect
+ go.opentelemetry.io/otel/sdk v1.38.0 // indirect
+ go.opentelemetry.io/otel/trace v1.38.0 // indirect
go.opentelemetry.io/proto/otlp v1.3.1 // indirect
go.uber.org/atomic v1.11.0 // indirect
go.uber.org/multierr v1.11.0 // indirect
go.uber.org/zap v1.27.0 // indirect
golang.org/x/arch v0.15.0 // indirect
golang.org/x/mod v0.29.0 // indirect
- golang.org/x/net v0.46.0 // indirect
+ golang.org/x/net v0.46.1-0.20251013234738-63d1a5100f82 // indirect
golang.org/x/sync v0.18.0 // indirect
golang.org/x/sys v0.38.0 // indirect
golang.org/x/term v0.37.0 // indirect
@@ -225,9 +224,9 @@ require (
golang.org/x/time v0.11.0 // indirect
golang.org/x/tools v0.38.0 // indirect
google.golang.org/genproto v0.0.0-20240930140551-af27646dc61f // indirect
- google.golang.org/genproto/googleapis/api v0.0.0-20250804133106-a7a43d27e69b // indirect
- google.golang.org/genproto/googleapis/rpc v0.0.0-20250804133106-a7a43d27e69b // indirect
- google.golang.org/protobuf v1.36.6 // indirect
+ google.golang.org/genproto/googleapis/api v0.0.0-20251022142026-3a174f9686a8 // indirect
+ google.golang.org/genproto/googleapis/rpc v0.0.0-20251022142026-3a174f9686a8 // indirect
+ google.golang.org/protobuf v1.36.10 // indirect
gopkg.in/errgo.v1 v1.0.1 // indirect
gopkg.in/macaroon-bakery.v2 v2.3.0 // indirect
gopkg.in/natefinch/lumberjack.v2 v2.2.1 // indirect
diff --git a/go.sum b/go.sum
index 0dc688b0..77c64903 100644
--- a/go.sum
+++ b/go.sum
@@ -695,26 +695,26 @@ go.etcd.io/etcd/raft/v3 v3.5.16 h1:zBXA3ZUpYs1AwiLGPafYAKKl/CORn/uaxYDwlNwndAk=
go.etcd.io/etcd/raft/v3 v3.5.16/go.mod h1:P4UP14AxofMJ/54boWilabqqWoW9eLodl6I5GdGzazI=
go.etcd.io/etcd/server/v3 v3.5.16 h1:d0/SAdJ3vVsZvF8IFVb1k8zqMZ+heGcNfft71ul9GWE=
go.etcd.io/etcd/server/v3 v3.5.16/go.mod h1:ynhyZZpdDp1Gq49jkUg5mfkDWZwXnn3eIqCqtJnrD/s=
-go.opentelemetry.io/auto/sdk v1.1.0 h1:cH53jehLUN6UFLY71z+NDOiNJqDdPRaXzTel0sJySYA=
-go.opentelemetry.io/auto/sdk v1.1.0/go.mod h1:3wSPjt5PWp2RhlCcmmOial7AvC4DQqZb7a7wCow3W8A=
+go.opentelemetry.io/auto/sdk v1.2.1 h1:jXsnJ4Lmnqd11kwkBV2LgLoFMZKizbCi5fNZ/ipaZ64=
+go.opentelemetry.io/auto/sdk v1.2.1/go.mod h1:KRTj+aOaElaLi+wW1kO/DZRXwkF4C5xPbEe3ZiIhN7Y=
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.55.0 h1:hCq2hNMwsegUvPzI7sPOvtO9cqyy5GbWt/Ybp2xrx8Q=
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.55.0/go.mod h1:LqaApwGx/oUmzsbqxkzuBvyoPpkxk3JQWnqfVrJ3wCA=
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.60.0 h1:sbiXRNDSWJOTobXh5HyQKjq6wUC5tNybqjIqDpAY4CU=
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.60.0/go.mod h1:69uWxva0WgAA/4bu2Yy70SLDBwZXuQ6PbBpbsa5iZrQ=
-go.opentelemetry.io/otel v1.37.0 h1:9zhNfelUvx0KBfu/gb+ZgeAfAgtWrfHJZcAqFC228wQ=
-go.opentelemetry.io/otel v1.37.0/go.mod h1:ehE/umFRLnuLa/vSccNq9oS1ErUlkkK71gMcN34UG8I=
+go.opentelemetry.io/otel v1.38.0 h1:RkfdswUDRimDg0m2Az18RKOsnI8UDzppJAtj01/Ymk8=
+go.opentelemetry.io/otel v1.38.0/go.mod h1:zcmtmQ1+YmQM9wrNsTGV/q/uyusom3P8RxwExxkZhjM=
go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.30.0 h1:lsInsfvhVIfOI6qHVyysXMNDnjO9Npvl7tlDPJFBVd4=
go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.30.0/go.mod h1:KQsVNh4OjgjTG0G6EiNi1jVpnaeeKsKMRwbLN+f1+8M=
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.30.0 h1:m0yTiGDLUvVYaTFbAvCkVYIYcvwKt3G7OLoN77NUs/8=
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.30.0/go.mod h1:wBQbT4UekBfegL2nx0Xk1vBcnzyBPsIVm9hRG4fYcr4=
-go.opentelemetry.io/otel/metric v1.37.0 h1:mvwbQS5m0tbmqML4NqK+e3aDiO02vsf/WgbsdpcPoZE=
-go.opentelemetry.io/otel/metric v1.37.0/go.mod h1:04wGrZurHYKOc+RKeye86GwKiTb9FKm1WHtO+4EVr2E=
-go.opentelemetry.io/otel/sdk v1.37.0 h1:ItB0QUqnjesGRvNcmAcU0LyvkVyGJ2xftD29bWdDvKI=
-go.opentelemetry.io/otel/sdk v1.37.0/go.mod h1:VredYzxUvuo2q3WRcDnKDjbdvmO0sCzOvVAiY+yUkAg=
-go.opentelemetry.io/otel/sdk/metric v1.37.0 h1:90lI228XrB9jCMuSdA0673aubgRobVZFhbjxHHspCPc=
-go.opentelemetry.io/otel/sdk/metric v1.37.0/go.mod h1:cNen4ZWfiD37l5NhS+Keb5RXVWZWpRE+9WyVCpbo5ps=
-go.opentelemetry.io/otel/trace v1.37.0 h1:HLdcFNbRQBE2imdSEgm/kwqmQj1Or1l/7bW6mxVK7z4=
-go.opentelemetry.io/otel/trace v1.37.0/go.mod h1:TlgrlQ+PtQO5XFerSPUYG0JSgGyryXewPGyayAWSBS0=
+go.opentelemetry.io/otel/metric v1.38.0 h1:Kl6lzIYGAh5M159u9NgiRkmoMKjvbsKtYRwgfrA6WpA=
+go.opentelemetry.io/otel/metric v1.38.0/go.mod h1:kB5n/QoRM8YwmUahxvI3bO34eVtQf2i4utNVLr9gEmI=
+go.opentelemetry.io/otel/sdk v1.38.0 h1:l48sr5YbNf2hpCUj/FoGhW9yDkl+Ma+LrVl8qaM5b+E=
+go.opentelemetry.io/otel/sdk v1.38.0/go.mod h1:ghmNdGlVemJI3+ZB5iDEuk4bWA3GkTpW+DOoZMYBVVg=
+go.opentelemetry.io/otel/sdk/metric v1.38.0 h1:aSH66iL0aZqo//xXzQLYozmWrXxyFkBJ6qT5wthqPoM=
+go.opentelemetry.io/otel/sdk/metric v1.38.0/go.mod h1:dg9PBnW9XdQ1Hd6ZnRz689CbtrUp0wMMs9iPcgT9EZA=
+go.opentelemetry.io/otel/trace v1.38.0 h1:Fxk5bKrDZJUH+AMyyIXGcFAPah0oRcT+LuNtJrmcNLE=
+go.opentelemetry.io/otel/trace v1.38.0/go.mod h1:j1P9ivuFsTceSWe1oY+EeW3sc+Pp42sO++GHkg4wwhs=
go.opentelemetry.io/proto/otlp v1.3.1 h1:TrMUixzpM0yuc/znrFTP9MMRh8trP93mkCiDVeXrui0=
go.opentelemetry.io/proto/otlp v1.3.1/go.mod h1:0X1WI4de4ZsLrrJNLAQbFeLCm3T7yBkR0XqQ7niQU+8=
go.uber.org/atomic v1.3.2/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE=
@@ -802,8 +802,8 @@ golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug
golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs=
golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg=
golang.org/x/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44=
-golang.org/x/net v0.46.0 h1:giFlY12I07fugqwPuWJi68oOnpfqFnJIJzaIIm2JVV4=
-golang.org/x/net v0.46.0/go.mod h1:Q9BGdFy1y4nkUwiLvT5qtyhAnEHgnQ/zd8PfU6nc210=
+golang.org/x/net v0.46.1-0.20251013234738-63d1a5100f82 h1:6/3JGEh1C88g7m+qzzTbl3A0FtsLguXieqofVLU/JAo=
+golang.org/x/net v0.46.1-0.20251013234738-63d1a5100f82/go.mod h1:Q9BGdFy1y4nkUwiLvT5qtyhAnEHgnQ/zd8PfU6nc210=
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
golang.org/x/oauth2 v0.33.0 h1:4Q+qn+E5z8gPRJfmRy7C2gGG3T4jIprK6aSYgTXGRpo=
@@ -921,18 +921,18 @@ google.golang.org/genproto v0.0.0-20200423170343-7949de9c1215/go.mod h1:55QSHmfG
google.golang.org/genproto v0.0.0-20200513103714-09dca8ec2884/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
google.golang.org/genproto v0.0.0-20240930140551-af27646dc61f h1:mCJ6SGikSxVlt9scCayUl2dMq0msUgmBArqRY6umieI=
google.golang.org/genproto v0.0.0-20240930140551-af27646dc61f/go.mod h1:xtVODtPkMQRUZ4kqOTgp6JrXQrPevvfCSdk4mJtHUbM=
-google.golang.org/genproto/googleapis/api v0.0.0-20250804133106-a7a43d27e69b h1:ULiyYQ0FdsJhwwZUwbaXpZF5yUE3h+RA+gxvBu37ucc=
-google.golang.org/genproto/googleapis/api v0.0.0-20250804133106-a7a43d27e69b/go.mod h1:oDOGiMSXHL4sDTJvFvIB9nRQCGdLP1o/iVaqQK8zB+M=
-google.golang.org/genproto/googleapis/rpc v0.0.0-20250804133106-a7a43d27e69b h1:zPKJod4w6F1+nRGDI9ubnXYhU9NSWoFAijkHkUXeTK8=
-google.golang.org/genproto/googleapis/rpc v0.0.0-20250804133106-a7a43d27e69b/go.mod h1:qQ0YXyHHx3XkvlzUtpXDkS29lDSafHMZBAZDc03LQ3A=
+google.golang.org/genproto/googleapis/api v0.0.0-20251022142026-3a174f9686a8 h1:mepRgnBZa07I4TRuomDE4sTIYieg/osKmzIf4USdWS4=
+google.golang.org/genproto/googleapis/api v0.0.0-20251022142026-3a174f9686a8/go.mod h1:fDMmzKV90WSg1NbozdqrE64fkuTv6mlq2zxo9ad+3yo=
+google.golang.org/genproto/googleapis/rpc v0.0.0-20251022142026-3a174f9686a8 h1:M1rk8KBnUsBDg1oPGHNCxG4vc1f49epmTO7xscSajMk=
+google.golang.org/genproto/googleapis/rpc v0.0.0-20251022142026-3a174f9686a8/go.mod h1:7i2o+ce6H/6BluujYR+kqX3GKH+dChPTQU19wjRPiGk=
google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c=
google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg=
google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY=
google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk=
google.golang.org/grpc v1.29.1/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3IjizoKk=
google.golang.org/grpc v1.33.1/go.mod h1:fr5YgcSWrqhRRxogOsw7RzIpsmvOZ6IcH4kBYTpR3n0=
-google.golang.org/grpc v1.76.0 h1:UnVkv1+uMLYXoIz6o7chp59WfQUYA2ex/BXQ9rHZu7A=
-google.golang.org/grpc v1.76.0/go.mod h1:Ju12QI8M6iQJtbcsV+awF5a4hfJMLi4X0JLo94ULZ6c=
+google.golang.org/grpc v1.77.0 h1:wVVY6/8cGA6vvffn+wWK5ToddbgdU3d8MNENr4evgXM=
+google.golang.org/grpc v1.77.0/go.mod h1:z0BY1iVj0q8E1uSQCjL9cppRj+gnZjzDnzV0dHhrNig=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk=
From 2c10cd7b18a643264aa634105571258644a5713a Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Thu, 12 Feb 2026 09:28:38 +0530
Subject: [PATCH 019/344] build(deps): bump golang.org/x/oauth2 from 0.33.0 to
0.34.0 (#1964)
Bumps [golang.org/x/oauth2](https://github.com/golang/oauth2) from 0.33.0 to 0.34.0.
- [Commits](https://github.com/golang/oauth2/compare/v0.33.0...v0.34.0)
---
updated-dependencies:
- dependency-name: golang.org/x/oauth2
dependency-version: 0.34.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot]
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: im-adithya
---
go.mod | 2 +-
go.sum | 4 ++--
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/go.mod b/go.mod
index 81679eaa..d9f99575 100644
--- a/go.mod
+++ b/go.mod
@@ -19,7 +19,7 @@ require (
github.com/tyler-smith/go-bip39 v1.1.0
github.com/wailsapp/wails/v2 v2.11.0
golang.org/x/crypto v0.44.0
- golang.org/x/oauth2 v0.33.0
+ golang.org/x/oauth2 v0.34.0
google.golang.org/grpc v1.77.0
gopkg.in/macaroon.v2 v2.1.0
gorm.io/driver/postgres v1.6.0
diff --git a/go.sum b/go.sum
index 77c64903..e70e496f 100644
--- a/go.sum
+++ b/go.sum
@@ -806,8 +806,8 @@ golang.org/x/net v0.46.1-0.20251013234738-63d1a5100f82 h1:6/3JGEh1C88g7m+qzzTbl3
golang.org/x/net v0.46.1-0.20251013234738-63d1a5100f82/go.mod h1:Q9BGdFy1y4nkUwiLvT5qtyhAnEHgnQ/zd8PfU6nc210=
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
-golang.org/x/oauth2 v0.33.0 h1:4Q+qn+E5z8gPRJfmRy7C2gGG3T4jIprK6aSYgTXGRpo=
-golang.org/x/oauth2 v0.33.0/go.mod h1:lzm5WQJQwKZ3nwavOZ3IS5Aulzxi68dUSgRHujetwEA=
+golang.org/x/oauth2 v0.34.0 h1:hqK/t4AKgbqWkdkcAeI8XLmbK+4m4G5YeQRrmiotGlw=
+golang.org/x/oauth2 v0.34.0/go.mod h1:lzm5WQJQwKZ3nwavOZ3IS5Aulzxi68dUSgRHujetwEA=
golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
From 890d9a0a433026bc51a2b0e4a1d0bf879261e6d4 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Thu, 12 Feb 2026 09:29:50 +0530
Subject: [PATCH 020/344] build(deps): bump golang.org/x/crypto from 0.44.0 to
0.45.0 (#1937)
Bumps [golang.org/x/crypto](https://github.com/golang/crypto) from 0.44.0 to 0.45.0.
- [Commits](https://github.com/golang/crypto/compare/v0.44.0...v0.45.0)
---
updated-dependencies:
- dependency-name: golang.org/x/crypto
dependency-version: 0.45.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot]
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: im-adithya
---
go.mod | 4 ++--
go.sum | 8 ++++----
2 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/go.mod b/go.mod
index d9f99575..bd43696a 100644
--- a/go.mod
+++ b/go.mod
@@ -18,7 +18,7 @@ require (
github.com/stretchr/testify v1.11.1
github.com/tyler-smith/go-bip39 v1.1.0
github.com/wailsapp/wails/v2 v2.11.0
- golang.org/x/crypto v0.44.0
+ golang.org/x/crypto v0.45.0
golang.org/x/oauth2 v0.34.0
google.golang.org/grpc v1.77.0
gopkg.in/macaroon.v2 v2.1.0
@@ -216,7 +216,7 @@ require (
go.uber.org/zap v1.27.0 // indirect
golang.org/x/arch v0.15.0 // indirect
golang.org/x/mod v0.29.0 // indirect
- golang.org/x/net v0.46.1-0.20251013234738-63d1a5100f82 // indirect
+ golang.org/x/net v0.47.0 // indirect
golang.org/x/sync v0.18.0 // indirect
golang.org/x/sys v0.38.0 // indirect
golang.org/x/term v0.37.0 // indirect
diff --git a/go.sum b/go.sum
index e70e496f..02d250ea 100644
--- a/go.sum
+++ b/go.sum
@@ -758,8 +758,8 @@ golang.org/x/crypto v0.0.0-20210711020723-a769d52b0f97/go.mod h1:GvvjBRRGRdwPK5y
golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
golang.org/x/crypto v0.19.0/go.mod h1:Iy9bg/ha4yyC70EfRS8jz+B6ybOBKMaSxLj6P6oBDfU=
golang.org/x/crypto v0.20.0/go.mod h1:Xwo95rrVNIoSMx9wa1JroENMToLWn3RNVrTBpLHgZPQ=
-golang.org/x/crypto v0.44.0 h1:A97SsFvM3AIwEEmTBiaxPPTYpDC47w720rdiiUvgoAU=
-golang.org/x/crypto v0.44.0/go.mod h1:013i+Nw79BMiQiMsOPcVCB5ZIJbYkerPrGnOa00tvmc=
+golang.org/x/crypto v0.45.0 h1:jMBrvKuj23MTlT0bQEOBcAE0mjg8mK9RXFhRH6nyF3Q=
+golang.org/x/crypto v0.45.0/go.mod h1:XTGrrkGJve7CYK7J8PEww4aY7gM3qMCElcJQ8n8JdX4=
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
golang.org/x/exp v0.0.0-20250506013437-ce4c2cf36ca6 h1:y5zboxd6LQAqYIhHnB48p0ByQ/GnQx2BE33L8BOHQkI=
golang.org/x/exp v0.0.0-20250506013437-ce4c2cf36ca6/go.mod h1:U6Lno4MTRCDY+Ba7aCcauB9T60gsv5s4ralQzP72ZoQ=
@@ -802,8 +802,8 @@ golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug
golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs=
golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg=
golang.org/x/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44=
-golang.org/x/net v0.46.1-0.20251013234738-63d1a5100f82 h1:6/3JGEh1C88g7m+qzzTbl3A0FtsLguXieqofVLU/JAo=
-golang.org/x/net v0.46.1-0.20251013234738-63d1a5100f82/go.mod h1:Q9BGdFy1y4nkUwiLvT5qtyhAnEHgnQ/zd8PfU6nc210=
+golang.org/x/net v0.47.0 h1:Mx+4dIFzqraBXUugkia1OOvlD6LemFo1ALMHjrXDOhY=
+golang.org/x/net v0.47.0/go.mod h1:/jNxtkgq5yWUGYkaZGqo27cfGZ1c5Nen03aYrrKpVRU=
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
golang.org/x/oauth2 v0.34.0 h1:hqK/t4AKgbqWkdkcAeI8XLmbK+4m4G5YeQRrmiotGlw=
From 169b0bacf9bd5d397e90c7dc9afc986f0c00aad0 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Thu, 12 Feb 2026 09:39:07 +0530
Subject: [PATCH 021/344] build(deps): bump github.com/labstack/echo-jwt/v4
from 4.3.1 to 4.4.0 (#1954)
Bumps [github.com/labstack/echo-jwt/v4](https://github.com/labstack/echo-jwt) from 4.3.1 to 4.4.0.
- [Release notes](https://github.com/labstack/echo-jwt/releases)
- [Changelog](https://github.com/labstack/echo-jwt/blob/main/CHANGELOG.md)
- [Commits](https://github.com/labstack/echo-jwt/compare/v4.3.1...v4.4.0)
---
updated-dependencies:
- dependency-name: github.com/labstack/echo-jwt/v4
dependency-version: 4.4.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot]
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: im-adithya
---
go.mod | 4 ++--
go.sum | 8 ++++----
2 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/go.mod b/go.mod
index bd43696a..fc1efb1a 100644
--- a/go.mod
+++ b/go.mod
@@ -221,7 +221,7 @@ require (
golang.org/x/sys v0.38.0 // indirect
golang.org/x/term v0.37.0 // indirect
golang.org/x/text v0.31.0 // indirect
- golang.org/x/time v0.11.0 // indirect
+ golang.org/x/time v0.14.0 // indirect
golang.org/x/tools v0.38.0 // indirect
google.golang.org/genproto v0.0.0-20240930140551-af27646dc61f // indirect
google.golang.org/genproto/googleapis/api v0.0.0-20251022142026-3a174f9686a8 // indirect
@@ -255,7 +255,7 @@ require (
github.com/gorilla/websocket v1.5.3 // indirect
github.com/joho/godotenv v1.5.1
github.com/kelseyhightower/envconfig v1.4.0
- github.com/labstack/echo-jwt/v4 v4.3.1
+ github.com/labstack/echo-jwt/v4 v4.4.0
github.com/lightningnetwork/lnd v0.20.0-beta.rc4
github.com/sirupsen/logrus v1.9.3
github.com/tyler-smith/go-bip32 v1.0.0
diff --git a/go.sum b/go.sum
index 02d250ea..1c09a194 100644
--- a/go.sum
+++ b/go.sum
@@ -394,8 +394,8 @@ github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc=
github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw=
-github.com/labstack/echo-jwt/v4 v4.3.1 h1:d8+/qf8nx7RxeL46LtoIwHJsH2PNN8xXCQ/jDianycE=
-github.com/labstack/echo-jwt/v4 v4.3.1/go.mod h1:yJi83kN8S/5vePVPd+7ID75P4PqPNVRs2HVeuvYJH00=
+github.com/labstack/echo-jwt/v4 v4.4.0 h1:nrXaEnJupfc2R4XChcLRDyghhMZup77F8nIzHnBK19U=
+github.com/labstack/echo-jwt/v4 v4.4.0/go.mod h1:kYXWgWms9iFqI3ldR+HAEj/Zfg5rZtR7ePOgktG4Hjg=
github.com/labstack/echo/v4 v4.13.4 h1:oTZZW+T3s9gAu5L8vmzihV7/lkXGZuITzTQkTEhcXEA=
github.com/labstack/echo/v4 v4.13.4/go.mod h1:g63b33BZ5vZzcIUF8AtRH40DrTlXnx4UMC8rBdndmjQ=
github.com/labstack/gommon v0.4.2 h1:F8qTUNXgG1+6WQmqoUWnz8WiEU60mXVVw0P4ht1WRA0=
@@ -881,8 +881,8 @@ golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8=
golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU=
golang.org/x/text v0.31.0 h1:aC8ghyu4JhP8VojJ2lEHBnochRno1sgL6nEi9WGFGMM=
golang.org/x/text v0.31.0/go.mod h1:tKRAlv61yKIjGGHX/4tP1LTbc13YSec1pxVEWXzfoeM=
-golang.org/x/time v0.11.0 h1:/bpjEDfN9tkoN/ryeYHnv5hcMlc8ncjMcM4XBk5NWV0=
-golang.org/x/time v0.11.0/go.mod h1:CDIdPxbZBQxdj6cxyCIdrNogrJKMJ7pr37NYpMcMDSg=
+golang.org/x/time v0.14.0 h1:MRx4UaLrDotUKUdCIqzPC48t1Y9hANFKIRpNx+Te8PI=
+golang.org/x/time v0.14.0/go.mod h1:eL/Oa2bBBK0TkX57Fyni+NgnyQQN4LitPmob2Hjnqw4=
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
golang.org/x/tools v0.0.0-20181008205924-a2b3f7f249e9/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
From 9390eecf14a9fbbf3c7b0d6c61d0c7aae30d5d42 Mon Sep 17 00:00:00 2001
From: Adithya Vardhan
Date: Thu, 12 Feb 2026 09:56:48 +0530
Subject: [PATCH 022/344] fix: update no-token API tests to expect 401 (#2059)
---
http/http_service_test.go | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/http/http_service_test.go b/http/http_service_test.go
index 3e1bbf72..36fabd8d 100644
--- a/http/http_service_test.go
+++ b/http/http_service_test.go
@@ -116,7 +116,7 @@ func TestGetApps_NoToken(t *testing.T) {
rec := httptest.NewRecorder()
e.ServeHTTP(rec, req)
- assert.Equal(t, http.StatusBadRequest, rec.Code)
+ assert.Equal(t, http.StatusUnauthorized, rec.Code)
}
func TestGetApps_ReadonlyPermission(t *testing.T) {
@@ -254,7 +254,7 @@ func TestCreateApp_NoToken(t *testing.T) {
rec := httptest.NewRecorder()
e.ServeHTTP(rec, req)
- assert.Equal(t, http.StatusBadRequest, rec.Code)
+ assert.Equal(t, http.StatusUnauthorized, rec.Code)
}
func TestCreateApp_FullPermission(t *testing.T) {
From 0baa697433762101bbd758dcc03fea84d58f3bb0 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Thu, 12 Feb 2026 12:01:50 +0530
Subject: [PATCH 023/344] build(deps): bump
github.com/BoltzExchange/boltz-client/v2 from 2.9.1 to 2.10.0 (#1955)
build(deps): bump github.com/BoltzExchange/boltz-client/v2
Bumps [github.com/BoltzExchange/boltz-client/v2](https://github.com/BoltzExchange/boltz-client) from 2.9.1 to 2.10.0.
- [Release notes](https://github.com/BoltzExchange/boltz-client/releases)
- [Changelog](https://github.com/BoltzExchange/boltz-client/blob/master/CHANGELOG.md)
- [Commits](https://github.com/BoltzExchange/boltz-client/compare/v2.9.1...v2.10.0)
---
updated-dependencies:
- dependency-name: github.com/BoltzExchange/boltz-client/v2
dependency-version: 2.10.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot]
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: im-adithya
---
go.mod | 5 +++--
go.sum | 8 ++++----
2 files changed, 7 insertions(+), 6 deletions(-)
diff --git a/go.mod b/go.mod
index fc1efb1a..9a70ead0 100644
--- a/go.mod
+++ b/go.mod
@@ -148,6 +148,7 @@ require (
github.com/mitchellh/mapstructure v1.5.1-0.20231216201459-8508981c8b6c // indirect
github.com/moby/docker-image-spec v1.3.1 // indirect
github.com/moby/go-archive v0.1.0 // indirect
+ github.com/moby/sys/user v0.4.0 // indirect
github.com/moby/term v0.5.0 // indirect
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
github.com/modern-go/reflect2 v1.0.2 // indirect
@@ -156,7 +157,7 @@ require (
github.com/onsi/gomega v1.36.2 // indirect
github.com/opencontainers/go-digest v1.0.0 // indirect
github.com/opencontainers/image-spec v1.1.1 // indirect
- github.com/opencontainers/runc v1.1.14 // indirect
+ github.com/opencontainers/runc v1.2.8 // indirect
github.com/ory/dockertest/v3 v3.11.0 // indirect
github.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c // indirect
github.com/pkg/errors v0.9.1 // indirect
@@ -246,7 +247,7 @@ require (
)
require (
- github.com/BoltzExchange/boltz-client/v2 v2.9.1
+ github.com/BoltzExchange/boltz-client/v2 v2.10.0
github.com/btcsuite/btcd/btcec/v2 v2.3.6
github.com/btcsuite/btcd/chaincfg/chainhash v1.1.0
github.com/decred/dcrd/crypto/blake256 v1.1.0 // indirect
diff --git a/go.sum b/go.sum
index 1c09a194..dc23c222 100644
--- a/go.sum
+++ b/go.sum
@@ -6,8 +6,8 @@ filippo.io/edwards25519 v1.1.0 h1:FNf4tywRC1HmFuKW5xopWpigGjJKiJSV0Cqo0cJWDaA=
filippo.io/edwards25519 v1.1.0/go.mod h1:BxyFTGdWcka3PhytdK4V28tE5sGfRvvvRV7EaN4VDT4=
github.com/Azure/go-ansiterm v0.0.0-20230124172434-306776ec8161 h1:L/gRVlceqvL25UVaW/CKtUDjefjrs0SPonmDGUVOYP0=
github.com/Azure/go-ansiterm v0.0.0-20230124172434-306776ec8161/go.mod h1:xomTg63KZ2rFqZQzSB4Vz2SUXa1BpHTVz9L5PTmPC4E=
-github.com/BoltzExchange/boltz-client/v2 v2.9.1 h1:LA3XVnGGoYoRO51Wxa8oUI1VtRWwt6rbZydr/PurwJI=
-github.com/BoltzExchange/boltz-client/v2 v2.9.1/go.mod h1:08n8h3ZTzPmgvXhALBT2HTDjUqhkH4bopeW7dVDkt/A=
+github.com/BoltzExchange/boltz-client/v2 v2.10.0 h1:bFSZ3lg7M2NjqIk43r4x5WgUkDIc9PC0t/YDSRNYxMA=
+github.com/BoltzExchange/boltz-client/v2 v2.10.0/go.mod h1:Ki++UGKC6H0BF6vTg4OTKWR9hu40SjivwLkr5zECu9U=
github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
github.com/FactomProject/basen v0.0.0-20150613233007-fe3947df716e h1:ahyvB3q25YnZWly5Gq1ekg6jcmWaGj/vG/MhF4aisoc=
github.com/FactomProject/basen v0.0.0-20150613233007-fe3947df716e/go.mod h1:kGUqhHd//musdITWjFvNTHn90WG9bMLBEPQZ17Cmlpw=
@@ -529,8 +529,8 @@ github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8
github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM=
github.com/opencontainers/image-spec v1.1.1 h1:y0fUlFfIZhPF1W537XOLg0/fcx6zcHCJwooC2xJA040=
github.com/opencontainers/image-spec v1.1.1/go.mod h1:qpqAh3Dmcf36wStyyWU+kCeDgrGnAve2nCC8+7h8Q0M=
-github.com/opencontainers/runc v1.1.14 h1:rgSuzbmgz5DUJjeSnw337TxDbRuqjs6iqQck/2weR6w=
-github.com/opencontainers/runc v1.1.14/go.mod h1:E4C2z+7BxR7GHXp0hAY53mek+x49X1LjPNeMTfRGvOA=
+github.com/opencontainers/runc v1.2.8 h1:RnEICeDReapbZ5lZEgHvj7E9Q3Eex9toYmaGBsbvU5Q=
+github.com/opencontainers/runc v1.2.8/go.mod h1:cC0YkmZcuvr+rtBZ6T7NBoVbMGNAdLa/21vIElJDOzI=
github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o=
github.com/orandin/lumberjackrus v1.0.1 h1:7ysDQ0MHD79zIFN9/EiDHjUcgopNi5ehtxFDy8rUkWo=
github.com/orandin/lumberjackrus v1.0.1/go.mod h1:xYLt6H8W93pKnQgUQaxsApS0Eb4BwHLOkxk5DVzf5H0=
From f6d1d60b901c89507fd8739c27ca2e35bcb13349 Mon Sep 17 00:00:00 2001
From: Adithya Vardhan
Date: Thu, 12 Feb 2026 12:37:21 +0530
Subject: [PATCH 024/344] fix: set max height full on sheet component (#2062)
---
frontend/src/components/ui/sheet.tsx | 14 +++++++-------
1 file changed, 7 insertions(+), 7 deletions(-)
diff --git a/frontend/src/components/ui/sheet.tsx b/frontend/src/components/ui/sheet.tsx
index 0cab9af6..cc386273 100644
--- a/frontend/src/components/ui/sheet.tsx
+++ b/frontend/src/components/ui/sheet.tsx
@@ -1,6 +1,6 @@
-import * as React from "react";
import * as SheetPrimitive from "@radix-ui/react-dialog";
import { XIcon } from "lucide-react";
+import * as React from "react";
import { cn } from "src/lib/utils";
@@ -58,9 +58,9 @@ function SheetContent({
className={cn(
"bg-background data-[state=open]:animate-in data-[state=closed]:animate-out fixed z-50 flex flex-col gap-4 shadow-lg transition ease-in-out data-[state=closed]:duration-300 data-[state=open]:duration-500",
side === "right" &&
- "data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right inset-y-0 right-0 h-full w-3/4 border-l sm:max-w-sm",
+ "data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right inset-y-0 right-0 max-h-full h-full w-3/4 border-l sm:max-w-sm",
side === "left" &&
- "data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left inset-y-0 left-0 h-full w-3/4 border-r sm:max-w-sm",
+ "data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left inset-y-0 left-0 max-h-full h-full w-3/4 border-r sm:max-w-sm",
side === "top" &&
"data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top inset-x-0 top-0 h-auto border-b",
side === "bottom" &&
@@ -127,11 +127,11 @@ function SheetDescription({
export {
Sheet,
- SheetTrigger,
SheetClose,
SheetContent,
- SheetHeader,
- SheetFooter,
- SheetTitle,
SheetDescription,
+ SheetFooter,
+ SheetHeader,
+ SheetTitle,
+ SheetTrigger,
};
From 61ab9d5610c3fc3a61d7584a78d1ee9a3c90ca95 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Thu, 12 Feb 2026 13:03:14 +0530
Subject: [PATCH 025/344] build(deps): bump @stepperize/react from 5.1.8 to
5.1.9 in /frontend (#1936)
Bumps [@stepperize/react](https://github.com/damianricobelli/stepperize/tree/HEAD/packages/react) from 5.1.8 to 5.1.9.
- [Release notes](https://github.com/damianricobelli/stepperize/releases)
- [Changelog](https://github.com/damianricobelli/stepperize/blob/main/packages/react/CHANGELOG.md)
- [Commits](https://github.com/damianricobelli/stepperize/commits/@stepperize/react@5.1.9/packages/react)
---
updated-dependencies:
- dependency-name: "@stepperize/react"
dependency-version: 5.1.9
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot]
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
frontend/package.json | 2 +-
frontend/yarn.lock | 8 ++++----
2 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/frontend/package.json b/frontend/package.json
index 5c837bfa..48e76dba 100644
--- a/frontend/package.json
+++ b/frontend/package.json
@@ -51,7 +51,7 @@
"@radix-ui/react-toggle-group": "^1.1.10",
"@radix-ui/react-tooltip": "^1.2.7",
"@scure/bip39": "^2.0.1",
- "@stepperize/react": "^5.1.8",
+ "@stepperize/react": "^5.1.9",
"argon2-wasm-esm": "^1.0.3",
"bitcoin-address-validation": "^3.0.0",
"class-variance-authority": "^0.7.1",
diff --git a/frontend/yarn.lock b/frontend/yarn.lock
index 9f1b0efd..bc17cf31 100644
--- a/frontend/yarn.lock
+++ b/frontend/yarn.lock
@@ -2323,10 +2323,10 @@
resolved "https://registry.yarnpkg.com/@stepperize/core/-/core-1.2.7.tgz#b26d07787c44468be823eb7d3684d2e1812efeb1"
integrity sha512-XiUwLZ0XRAfaDK6AzWVgqvI/BcrylyplhUXKO8vzgRw0FTmyMKHAAbQLDvU//ZJAqnmG2cSLZDSkcwLxU5zSYA==
-"@stepperize/react@^5.1.8":
- version "5.1.8"
- resolved "https://registry.yarnpkg.com/@stepperize/react/-/react-5.1.8.tgz#e4a402e03b6de99538cd4af7c55e68479b5bdd8b"
- integrity sha512-/s8+YoVjX2+kPRxEMrmJZLX9jnVa/tKS+7Ru6ZUvBNSmbIopf0deylMv8hE2E5Il4T/UI2aSX/d3mKu8gugomw==
+"@stepperize/react@^5.1.9":
+ version "5.1.9"
+ resolved "https://registry.yarnpkg.com/@stepperize/react/-/react-5.1.9.tgz#373833084fb3af97d3e42d1d1b51cfe19172d71f"
+ integrity sha512-yBgw1I5Tx6/qZB4xTdVBaPGfTqH5aYS1WFB5vtR8+fwPeqd3YNuOnQ1pJM6w/xV/gvryuy31hbFw080lZc+/hw==
dependencies:
"@stepperize/core" "1.2.7"
From 87d04668e03b1edb73338bae56988a79adff6726 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Thu, 12 Feb 2026 13:09:41 +0530
Subject: [PATCH 026/344] build(deps): bump @radix-ui/react-label from 2.1.7 to
2.1.8 in /frontend (#1932)
Bumps [@radix-ui/react-label](https://github.com/radix-ui/primitives) from 2.1.7 to 2.1.8.
- [Changelog](https://github.com/radix-ui/primitives/blob/main/release-process.md)
- [Commits](https://github.com/radix-ui/primitives/commits)
---
updated-dependencies:
- dependency-name: "@radix-ui/react-label"
dependency-version: 2.1.8
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot]
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
frontend/package.json | 2 +-
frontend/yarn.lock | 10 +++++-----
2 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/frontend/package.json b/frontend/package.json
index 48e76dba..4d33f1a9 100644
--- a/frontend/package.json
+++ b/frontend/package.json
@@ -33,7 +33,7 @@
"@radix-ui/react-dialog": "^1.1.15",
"@radix-ui/react-dropdown-menu": "^2.1.15",
"@radix-ui/react-hover-card": "^1.1.15",
- "@radix-ui/react-label": "^2.1.7",
+ "@radix-ui/react-label": "^2.1.8",
"@radix-ui/react-menubar": "^1.1.16",
"@radix-ui/react-navigation-menu": "^1.2.13",
"@radix-ui/react-popover": "^1.1.14",
diff --git a/frontend/yarn.lock b/frontend/yarn.lock
index bc17cf31..11ef1c59 100644
--- a/frontend/yarn.lock
+++ b/frontend/yarn.lock
@@ -1638,12 +1638,12 @@
dependencies:
"@radix-ui/react-use-layout-effect" "1.1.1"
-"@radix-ui/react-label@^2.1.7":
- version "2.1.7"
- resolved "https://registry.yarnpkg.com/@radix-ui/react-label/-/react-label-2.1.7.tgz#ad959ff9c6e4968d533329eb95696e1ba8ad72ab"
- integrity sha512-YT1GqPSL8kJn20djelMX7/cTRp/Y9w5IZHvfxQTVHrOqa2yMl7i/UfMqKRU5V7mEyKTrUVgJXhNQPVCG8PBLoQ==
+"@radix-ui/react-label@^2.1.8":
+ version "2.1.8"
+ resolved "https://registry.yarnpkg.com/@radix-ui/react-label/-/react-label-2.1.8.tgz#d93b7c063ef2ea034df143a2464bfc0548e4b7e5"
+ integrity sha512-FmXs37I6hSBVDlO4y764TNz1rLgKwjJMQ0EGte6F3Cb3f4bIuHB/iLa/8I9VKkmOy+gNHq8rql3j686ACVV21A==
dependencies:
- "@radix-ui/react-primitive" "2.1.3"
+ "@radix-ui/react-primitive" "2.1.4"
"@radix-ui/react-menu@2.1.15":
version "2.1.15"
From fe23df1752c00de6569ebd8d91ee0ffcb59a7f76 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Thu, 12 Feb 2026 14:11:02 +0530
Subject: [PATCH 027/344] build(deps-dev): bump vite-plugin-pwa from 0.20.5 to
1.1.0 in /frontend (#1934)
* build(deps-dev): bump vite-plugin-pwa from 0.20.5 to 1.1.0 in /frontend
Bumps [vite-plugin-pwa](https://github.com/vite-pwa/vite-plugin-pwa) from 0.20.5 to 1.1.0.
- [Release notes](https://github.com/vite-pwa/vite-plugin-pwa/releases)
- [Commits](https://github.com/vite-pwa/vite-plugin-pwa/compare/v0.20.5...v1.1.0)
---
updated-dependencies:
- dependency-name: vite-plugin-pwa
dependency-version: 1.1.0
dependency-type: direct:development
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot]
* chore: upgrade to v1.2.0
---------
Signed-off-by: dependabot[bot]
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: im-adithya
---
frontend/package.json | 2 +-
frontend/yarn.lock | 426 ++++++++++++++++++++++++++----------------
2 files changed, 267 insertions(+), 161 deletions(-)
diff --git a/frontend/package.json b/frontend/package.json
index 4d33f1a9..b868f091 100644
--- a/frontend/package.json
+++ b/frontend/package.json
@@ -110,7 +110,7 @@
"tailwindcss": "^4.1.16",
"typescript": "^5.9.3",
"vite": "^5.4.0",
- "vite-plugin-pwa": "^0.20.1",
+ "vite-plugin-pwa": "^1.2.0",
"vite-tsconfig-paths": "^5.1.4"
}
}
diff --git a/frontend/yarn.lock b/frontend/yarn.lock
index 11ef1c59..fe656c92 100644
--- a/frontend/yarn.lock
+++ b/frontend/yarn.lock
@@ -1275,6 +1275,30 @@
resolved "https://registry.yarnpkg.com/@humanwhocodes/retry/-/retry-0.4.3.tgz#c2b9d2e374ee62c586d3adbea87199b1d7a7a6ba"
integrity sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==
+"@isaacs/balanced-match@^4.0.1":
+ version "4.0.1"
+ resolved "https://registry.yarnpkg.com/@isaacs/balanced-match/-/balanced-match-4.0.1.tgz#3081dadbc3460661b751e7591d7faea5df39dd29"
+ integrity sha512-yzMTt9lEb8Gv7zRioUilSglI0c0smZ9k5D65677DLWLtWJaXIS3CqcGyUFByYKlnUj6TkjLVs54fBl6+TiGQDQ==
+
+"@isaacs/brace-expansion@^5.0.0":
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/@isaacs/brace-expansion/-/brace-expansion-5.0.0.tgz#4b3dabab7d8e75a429414a96bd67bf4c1d13e0f3"
+ integrity sha512-ZT55BDLV0yv0RBm2czMiZ+SqCGO7AvmOM3G/w2xhVPH+te0aKgFjmBvGlL1dH+ql2tgGO3MVrbb3jCKyvpgnxA==
+ dependencies:
+ "@isaacs/balanced-match" "^4.0.1"
+
+"@isaacs/cliui@^8.0.2":
+ version "8.0.2"
+ resolved "https://registry.yarnpkg.com/@isaacs/cliui/-/cliui-8.0.2.tgz#b37667b7bc181c168782259bab42474fbf52b550"
+ integrity sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==
+ dependencies:
+ string-width "^5.1.2"
+ string-width-cjs "npm:string-width@^4.2.0"
+ strip-ansi "^7.0.1"
+ strip-ansi-cjs "npm:strip-ansi@^6.0.1"
+ wrap-ansi "^8.1.0"
+ wrap-ansi-cjs "npm:wrap-ansi@^7.0.0"
+
"@isaacs/fs-minipass@^4.0.0":
version "4.0.1"
resolved "https://registry.yarnpkg.com/@isaacs/fs-minipass/-/fs-minipass-4.0.1.tgz#2d59ae3ab4b38fb4270bfa23d30f8e2e86c7fe32"
@@ -2842,6 +2866,11 @@ ansi-styles@^6.0.0, ansi-styles@^6.2.1:
resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-6.2.1.tgz#0e62320cf99c21afff3b3012192546aacbfb05c5"
integrity sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==
+ansi-styles@^6.1.0:
+ version "6.2.3"
+ resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-6.2.3.tgz#c044d5dcc521a076413472597a1acb1f103c4041"
+ integrity sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==
+
argon2-wasm-esm@^1.0.3:
version "1.0.3"
resolved "https://registry.yarnpkg.com/argon2-wasm-esm/-/argon2-wasm-esm-1.0.3.tgz#cdd6602b00b78b6d4fe8bf3c966c4c705e683e21"
@@ -3452,6 +3481,11 @@ dunder-proto@^1.0.0, dunder-proto@^1.0.1:
es-errors "^1.3.0"
gopd "^1.2.0"
+eastasianwidth@^0.2.0:
+ version "0.2.0"
+ resolved "https://registry.yarnpkg.com/eastasianwidth/-/eastasianwidth-0.2.0.tgz#696ce2ec0aa0e6ea93a397ffcf24aa7840c827cb"
+ integrity sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==
+
ejs@^3.1.6:
version "3.1.10"
resolved "https://registry.yarnpkg.com/ejs/-/ejs-3.1.10.tgz#69ab8358b14e896f80cc39e62087b88500c3ac3b"
@@ -3492,6 +3526,11 @@ emoji-regex@^8.0.0:
resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37"
integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==
+emoji-regex@^9.2.2:
+ version "9.2.2"
+ resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-9.2.2.tgz#840c8803b0d8047f4ff0cf963176b32d4ef3ed72"
+ integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==
+
end-of-stream@^1.1.0:
version "1.4.5"
resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.5.tgz#7344d711dea40e0b74abc2ed49778743ccedb08c"
@@ -3863,10 +3902,10 @@ fastq@^1.6.0:
dependencies:
reusify "^1.0.4"
-fdir@^6.4.4:
- version "6.4.6"
- resolved "https://registry.yarnpkg.com/fdir/-/fdir-6.4.6.tgz#2b268c0232697063111bbf3f64810a2a741ba281"
- integrity sha512-hiFoqpyZcfNm1yc4u8oWCf9A2c4D3QjCrks3zmoVKVxpQRzmPNar1hUJcBG2RQHvEVGDN+Jm81ZheVLAQMK6+w==
+fdir@^6.5.0:
+ version "6.5.0"
+ resolved "https://registry.yarnpkg.com/fdir/-/fdir-6.5.0.tgz#ed2ab967a331ade62f18d077dae192684d50d350"
+ integrity sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==
file-entry-cache@^8.0.0:
version "8.0.0"
@@ -3926,6 +3965,14 @@ for-each@^0.3.3, for-each@^0.3.5:
dependencies:
is-callable "^1.2.7"
+foreground-child@^3.3.1:
+ version "3.3.1"
+ resolved "https://registry.yarnpkg.com/foreground-child/-/foreground-child-3.3.1.tgz#32e8e9ed1b68a3497befb9ac2b6adf92a638576f"
+ integrity sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==
+ dependencies:
+ cross-spawn "^7.0.6"
+ signal-exit "^4.0.1"
+
fs-extra@^9.0.1:
version "9.1.0"
resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.1.0.tgz#5954460c764a8da2094ba3554bf839e6b9a7c86d"
@@ -3936,11 +3983,6 @@ fs-extra@^9.0.1:
jsonfile "^6.0.1"
universalify "^2.0.0"
-fs.realpath@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
- integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==
-
fsevents@~2.3.2, fsevents@~2.3.3:
version "2.3.3"
resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6"
@@ -4061,17 +4103,17 @@ glob-parent@^6.0.2:
dependencies:
is-glob "^4.0.3"
-glob@^7.1.6:
- version "7.2.3"
- resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b"
- integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==
+glob@^11.0.1:
+ version "11.1.0"
+ resolved "https://registry.yarnpkg.com/glob/-/glob-11.1.0.tgz#4f826576e4eb99c7dad383793d2f9f08f67e50a6"
+ integrity sha512-vuNwKSaKiqm7g0THUBu2x7ckSs3XJLXE+2ssL7/MfTGPLLcrJQ/4Uq1CjPTtO5cCIiRxqvN6Twy1qOwhL0Xjcw==
dependencies:
- fs.realpath "^1.0.0"
- inflight "^1.0.4"
- inherits "2"
- minimatch "^3.1.1"
- once "^1.3.0"
- path-is-absolute "^1.0.0"
+ foreground-child "^3.3.1"
+ jackspeak "^4.1.1"
+ minimatch "^10.1.1"
+ minipass "^7.1.2"
+ package-json-from-dist "^1.0.0"
+ path-scurry "^2.0.0"
global-directory@^4.0.1:
version "4.0.1"
@@ -4223,19 +4265,6 @@ imurmurhash@^0.1.4:
resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea"
integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==
-inflight@^1.0.4:
- version "1.0.6"
- resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9"
- integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==
- dependencies:
- once "^1.3.0"
- wrappy "1"
-
-inherits@2:
- version "2.0.4"
- resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c"
- integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==
-
ini@4.1.1:
version "4.1.1"
resolved "https://registry.yarnpkg.com/ini/-/ini-4.1.1.tgz#d95b3d843b1e906e56d6747d5447904ff50ce7a1"
@@ -4521,6 +4550,13 @@ isexe@^2.0.0:
resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10"
integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==
+jackspeak@^4.1.1:
+ version "4.1.1"
+ resolved "https://registry.yarnpkg.com/jackspeak/-/jackspeak-4.1.1.tgz#96876030f450502047fc7e8c7fcf8ce8124e43ae"
+ integrity sha512-zptv57P3GpL+O0I7VdMJNBZCu+BPHVQUk55Ft8/QCJjTVxrnJHuVuX/0Bl2A6/+2oyR/ZMEuFKwmzqqZ/U5nPQ==
+ dependencies:
+ "@isaacs/cliui" "^8.0.2"
+
jake@^10.8.5:
version "10.9.4"
resolved "https://registry.yarnpkg.com/jake/-/jake-10.9.4.tgz#d626da108c63d5cfb00ab5c25fadc7e0084af8e6"
@@ -4834,6 +4870,11 @@ lottie-web@^5.12.2:
resolved "https://registry.yarnpkg.com/lottie-web/-/lottie-web-5.13.0.tgz#441d3df217cc8ba302338c3f168e1a3af0f221d3"
integrity sha512-+gfBXl6sxXMPe8tKQm7qzLnUy5DUPJPKIyRHwtpCpyUEYjHYRJC/5gjUvdkuO2c3JllrPtHXH5UJJK8LRYl5yQ==
+lru-cache@^11.0.0:
+ version "11.2.2"
+ resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-11.2.2.tgz#40fd37edffcfae4b2940379c0722dc6eeaa75f24"
+ integrity sha512-F9ODfyqML2coTIsQpSkRHnLSZMtkU8Q+mSfcaIyKwy58u+8k5nvAYeiNhsyMARvzNcXJ9QfWVrcPsC9e9rAxtg==
+
lru-cache@^5.1.1:
version "5.1.1"
resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920"
@@ -4903,7 +4944,14 @@ mini-svg-data-uri@^1.2.3:
resolved "https://registry.yarnpkg.com/mini-svg-data-uri/-/mini-svg-data-uri-1.4.4.tgz#8ab0aabcdf8c29ad5693ca595af19dd2ead09939"
integrity sha512-r9deDe9p5FJUPZAk3A59wGH7Ii9YrjjWw0jmw/liSbHl2CHiyXj6FcDXDu2K3TjVAXqiJdaw3xxwlZZr9E6nHg==
-minimatch@^3.1.1, minimatch@^3.1.2:
+minimatch@^10.1.1:
+ version "10.1.1"
+ resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-10.1.1.tgz#e6e61b9b0c1dcab116b5a7d1458e8b6ae9e73a55"
+ integrity sha512-enIvLvRAFZYXJzkCYG5RKmPfrFArdLv+R+lbQ53BmIMLIry74bjKzX6iHAm8WYamJkhSSEabrWN5D97XnKObjQ==
+ dependencies:
+ "@isaacs/brace-expansion" "^5.0.0"
+
+minimatch@^3.1.2:
version "3.1.2"
resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b"
integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==
@@ -5035,7 +5083,7 @@ object.assign@^4.1.7:
has-symbols "^1.1.0"
object-keys "^1.1.1"
-once@^1.3.0, once@^1.3.1, once@^1.4.0:
+once@^1.3.1, once@^1.4.0:
version "1.4.0"
resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==
@@ -5110,6 +5158,11 @@ p-locate@^6.0.0:
dependencies:
p-limit "^4.0.0"
+package-json-from-dist@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz#4f1471a010827a86f94cfd9b0727e36d267de505"
+ integrity sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==
+
parent-module@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2"
@@ -5137,11 +5190,6 @@ path-exists@^5.0.0:
resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-5.0.0.tgz#a6aad9489200b21fab31e49cf09277e5116fb9e7"
integrity sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==
-path-is-absolute@^1.0.0:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"
- integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==
-
path-key@^2.0.0, path-key@^2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40"
@@ -5162,6 +5210,14 @@ path-parse@^1.0.7:
resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735"
integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==
+path-scurry@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/path-scurry/-/path-scurry-2.0.1.tgz#4b6572376cfd8b811fca9cd1f5c24b3cbac0fe10"
+ integrity sha512-oWyT4gICAu+kaA7QWk/jvCHWarMKNs6pXOGWKDTr7cw4IGcUbW+PeTfbaQiLGheFRpjo6O9J0PmyMfQPjH71oA==
+ dependencies:
+ lru-cache "^11.0.0"
+ minipass "^7.1.2"
+
path-type@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b"
@@ -5177,7 +5233,7 @@ picomatch@^2.2.2, picomatch@^2.3.1:
resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42"
integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==
-picomatch@^4.0.2:
+picomatch@^4.0.2, picomatch@^4.0.3:
version "4.0.3"
resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-4.0.3.tgz#796c76136d1eead715db1e7bad785dedd695a042"
integrity sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==
@@ -5532,7 +5588,7 @@ rfdc@^1.4.1:
resolved "https://registry.yarnpkg.com/rfdc/-/rfdc-1.4.1.tgz#778f76c4fb731d93414e8f925fbecf64cce7f6ca"
integrity sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==
-rollup@^2.43.1:
+rollup@^2.79.2:
version "2.79.2"
resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.79.2.tgz#f150e4a5db4b121a21a747d762f701e5e9f49090"
integrity sha512-fS6iqSPZDs3dr/y7Od6y5nha8dW1YnbgtsyotCVvoFGKbERG++CVRFv1meyGDE1SNItQA8BrnCw7ScdAhRJ3XQ==
@@ -5760,7 +5816,7 @@ signal-exit@^3.0.0:
resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9"
integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==
-signal-exit@^4.1.0:
+signal-exit@^4.0.1, signal-exit@^4.1.0:
version "4.1.0"
resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-4.1.0.tgz#952188c1cbd546070e2dd20d0f41c0ae0530cb04"
integrity sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==
@@ -5844,6 +5900,15 @@ string-argv@^0.3.2:
resolved "https://registry.yarnpkg.com/string-argv/-/string-argv-0.3.2.tgz#2b6d0ef24b656274d957d54e0a4bbf6153dc02b6"
integrity sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==
+"string-width-cjs@npm:string-width@^4.2.0":
+ version "4.2.3"
+ resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010"
+ integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==
+ dependencies:
+ emoji-regex "^8.0.0"
+ is-fullwidth-code-point "^3.0.0"
+ strip-ansi "^6.0.1"
+
string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3:
version "4.2.3"
resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010"
@@ -5853,6 +5918,15 @@ string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3:
is-fullwidth-code-point "^3.0.0"
strip-ansi "^6.0.1"
+string-width@^5.0.1, string-width@^5.1.2:
+ version "5.1.2"
+ resolved "https://registry.yarnpkg.com/string-width/-/string-width-5.1.2.tgz#14f8daec6d81e7221d2a357e668cab73bdbca794"
+ integrity sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==
+ dependencies:
+ eastasianwidth "^0.2.0"
+ emoji-regex "^9.2.2"
+ strip-ansi "^7.0.1"
+
string-width@^7.0.0:
version "7.2.0"
resolved "https://registry.yarnpkg.com/string-width/-/string-width-7.2.0.tgz#b5bb8e2165ce275d4d43476dd2700ad9091db6dc"
@@ -5922,6 +5996,13 @@ stringify-object@^3.3.0:
is-obj "^1.0.1"
is-regexp "^1.0.0"
+"strip-ansi-cjs@npm:strip-ansi@^6.0.1":
+ version "6.0.1"
+ resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9"
+ integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==
+ dependencies:
+ ansi-regex "^5.0.1"
+
strip-ansi@^6.0.0, strip-ansi@^6.0.1:
version "6.0.1"
resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9"
@@ -5929,6 +6010,13 @@ strip-ansi@^6.0.0, strip-ansi@^6.0.1:
dependencies:
ansi-regex "^5.0.1"
+strip-ansi@^7.0.1:
+ version "7.1.2"
+ resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-7.1.2.tgz#132875abde678c7ea8d691533f2e7e22bb744dba"
+ integrity sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==
+ dependencies:
+ ansi-regex "^6.0.1"
+
strip-ansi@^7.1.0:
version "7.1.0"
resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-7.1.0.tgz#d5b6568ca689d8561370b0707685d22434faff45"
@@ -6053,13 +6141,13 @@ tinyexec@^1.0.0:
resolved "https://registry.yarnpkg.com/tinyexec/-/tinyexec-1.0.1.tgz#70c31ab7abbb4aea0a24f55d120e5990bfa1e0b1"
integrity sha512-5uC6DDlmeqiOwCPmK9jMSdOuZTh8bU39Ys6yidB+UTt5hfZUPGAypSgFRiEp+jbi9qH40BLDvy85jIU88wKSqw==
-tinyglobby@^0.2.0:
- version "0.2.14"
- resolved "https://registry.yarnpkg.com/tinyglobby/-/tinyglobby-0.2.14.tgz#5280b0cf3f972b050e74ae88406c0a6a58f4079d"
- integrity sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ==
+tinyglobby@^0.2.10:
+ version "0.2.15"
+ resolved "https://registry.yarnpkg.com/tinyglobby/-/tinyglobby-0.2.15.tgz#e228dd1e638cea993d2fdb4fcd2d4602a79951c2"
+ integrity sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==
dependencies:
- fdir "^6.4.4"
- picomatch "^4.0.2"
+ fdir "^6.5.0"
+ picomatch "^4.0.3"
to-regex-range@^5.0.1:
version "5.0.1"
@@ -6284,16 +6372,16 @@ victory-vendor@^36.6.8:
d3-time "^3.0.0"
d3-timer "^3.0.1"
-vite-plugin-pwa@^0.20.1:
- version "0.20.5"
- resolved "https://registry.yarnpkg.com/vite-plugin-pwa/-/vite-plugin-pwa-0.20.5.tgz#437dca4a9bff650dc9c84ea3d7d3ac230b5985e0"
- integrity sha512-aweuI/6G6n4C5Inn0vwHumElU/UEpNuO+9iZzwPZGTCH87TeZ6YFMrEY6ZUBQdIHHlhTsbMDryFARcSuOdsz9Q==
+vite-plugin-pwa@^1.2.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/vite-plugin-pwa/-/vite-plugin-pwa-1.2.0.tgz#3c7de17d4eed662f273095a0ac52f7a98d0cde36"
+ integrity sha512-a2xld+SJshT9Lgcv8Ji4+srFJL4k/1bVbd1x06JIkvecpQkwkvCncD1+gSzcdm3s+owWLpMJerG3aN5jupJEVw==
dependencies:
debug "^4.3.6"
pretty-bytes "^6.1.1"
- tinyglobby "^0.2.0"
- workbox-build "^7.1.0"
- workbox-window "^7.1.0"
+ tinyglobby "^0.2.10"
+ workbox-build "^7.4.0"
+ workbox-window "^7.4.0"
vite-tsconfig-paths@^5.1.4:
version "5.1.4"
@@ -6401,25 +6489,25 @@ word-wrap@^1.2.5:
resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.5.tgz#d2c45c6dd4fbce621a66f136cbe328afd0410b34"
integrity sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==
-workbox-background-sync@7.3.0:
- version "7.3.0"
- resolved "https://registry.yarnpkg.com/workbox-background-sync/-/workbox-background-sync-7.3.0.tgz#b6340731a8d5b42b9e75a8a87c8806928e6e6303"
- integrity sha512-PCSk3eK7Mxeuyatb22pcSx9dlgWNv3+M8PqPaYDokks8Y5/FX4soaOqj3yhAZr5k6Q5JWTOMYgaJBpbw11G9Eg==
+workbox-background-sync@7.4.0:
+ version "7.4.0"
+ resolved "https://registry.yarnpkg.com/workbox-background-sync/-/workbox-background-sync-7.4.0.tgz#5fcf83162b540f799966fdd8df0858f91b787d77"
+ integrity sha512-8CB9OxKAgKZKyNMwfGZ1XESx89GryWTfI+V5yEj8sHjFH8MFelUwYXEyldEK6M6oKMmn807GoJFUEA1sC4XS9w==
dependencies:
idb "^7.0.1"
- workbox-core "7.3.0"
+ workbox-core "7.4.0"
-workbox-broadcast-update@7.3.0:
- version "7.3.0"
- resolved "https://registry.yarnpkg.com/workbox-broadcast-update/-/workbox-broadcast-update-7.3.0.tgz#bff86b91795c4b9fa46a758d1a7a151828623280"
- integrity sha512-T9/F5VEdJVhwmrIAE+E/kq5at2OY6+OXXgOWQevnubal6sO92Gjo24v6dCVwQiclAF5NS3hlmsifRrpQzZCdUA==
+workbox-broadcast-update@7.4.0:
+ version "7.4.0"
+ resolved "https://registry.yarnpkg.com/workbox-broadcast-update/-/workbox-broadcast-update-7.4.0.tgz#f0ee7d2af51d199e32213a429dff03f14ba76dea"
+ integrity sha512-+eZQwoktlvo62cI0b+QBr40v5XjighxPq3Fzo9AWMiAosmpG5gxRHgTbGGhaJv/q/MFVxwFNGh/UwHZ/8K88lA==
dependencies:
- workbox-core "7.3.0"
+ workbox-core "7.4.0"
-workbox-build@^7.1.0:
- version "7.3.0"
- resolved "https://registry.yarnpkg.com/workbox-build/-/workbox-build-7.3.0.tgz#ab688f3241b32862236aeeb62b240195f1fe4b62"
- integrity sha512-JGL6vZTPlxnlqZRhR/K/msqg3wKP+m0wfEUVosK7gsYzSgeIxvZLi1ViJJzVL7CEeI8r7rGFV973RiEqkP3lWQ==
+workbox-build@^7.4.0:
+ version "7.4.0"
+ resolved "https://registry.yarnpkg.com/workbox-build/-/workbox-build-7.4.0.tgz#033f88ebbd9c6312983f3fb9c17a4161369d693f"
+ integrity sha512-Ntk1pWb0caOFIvwz/hfgrov/OJ45wPEhI5PbTywQcYjyZiVhT3UrwwUPl6TRYbTm4moaFYithYnl1lvZ8UjxcA==
dependencies:
"@apideck/better-ajv-errors" "^0.3.1"
"@babel/core" "^7.24.4"
@@ -6434,130 +6522,139 @@ workbox-build@^7.1.0:
common-tags "^1.8.0"
fast-json-stable-stringify "^2.1.0"
fs-extra "^9.0.1"
- glob "^7.1.6"
+ glob "^11.0.1"
lodash "^4.17.20"
pretty-bytes "^5.3.0"
- rollup "^2.43.1"
+ rollup "^2.79.2"
source-map "^0.8.0-beta.0"
stringify-object "^3.3.0"
strip-comments "^2.0.1"
tempy "^0.6.0"
upath "^1.2.0"
- workbox-background-sync "7.3.0"
- workbox-broadcast-update "7.3.0"
- workbox-cacheable-response "7.3.0"
- workbox-core "7.3.0"
- workbox-expiration "7.3.0"
- workbox-google-analytics "7.3.0"
- workbox-navigation-preload "7.3.0"
- workbox-precaching "7.3.0"
- workbox-range-requests "7.3.0"
- workbox-recipes "7.3.0"
- workbox-routing "7.3.0"
- workbox-strategies "7.3.0"
- workbox-streams "7.3.0"
- workbox-sw "7.3.0"
- workbox-window "7.3.0"
+ workbox-background-sync "7.4.0"
+ workbox-broadcast-update "7.4.0"
+ workbox-cacheable-response "7.4.0"
+ workbox-core "7.4.0"
+ workbox-expiration "7.4.0"
+ workbox-google-analytics "7.4.0"
+ workbox-navigation-preload "7.4.0"
+ workbox-precaching "7.4.0"
+ workbox-range-requests "7.4.0"
+ workbox-recipes "7.4.0"
+ workbox-routing "7.4.0"
+ workbox-strategies "7.4.0"
+ workbox-streams "7.4.0"
+ workbox-sw "7.4.0"
+ workbox-window "7.4.0"
-workbox-cacheable-response@7.3.0:
- version "7.3.0"
- resolved "https://registry.yarnpkg.com/workbox-cacheable-response/-/workbox-cacheable-response-7.3.0.tgz#557b0f5fdfceb22fe243e3f19807c76a0ae646e3"
- integrity sha512-eAFERIg6J2LuyELhLlmeRcJFa5e16Mj8kL2yCDbhWE+HUun9skRQrGIFVUagqWj4DMaaPSMWfAolM7XZZxNmxA==
+workbox-cacheable-response@7.4.0:
+ version "7.4.0"
+ resolved "https://registry.yarnpkg.com/workbox-cacheable-response/-/workbox-cacheable-response-7.4.0.tgz#f684380c07dfce4ed1aa555c8a29a2a1f8421d46"
+ integrity sha512-0Fb8795zg/x23ISFkAc7lbWes6vbw34DGFIMw31cwuHPgDEC/5EYm6m/ZkylLX0EnEbbOyOCLjKgFS/Z5g0HeQ==
dependencies:
- workbox-core "7.3.0"
+ workbox-core "7.4.0"
-workbox-core@7.3.0:
- version "7.3.0"
- resolved "https://registry.yarnpkg.com/workbox-core/-/workbox-core-7.3.0.tgz#f24fb92041a0b7482fe2dd856544aaa9fa105248"
- integrity sha512-Z+mYrErfh4t3zi7NVTvOuACB0A/jA3bgxUN3PwtAVHvfEsZxV9Iju580VEETug3zYJRc0Dmii/aixI/Uxj8fmw==
+workbox-core@7.4.0:
+ version "7.4.0"
+ resolved "https://registry.yarnpkg.com/workbox-core/-/workbox-core-7.4.0.tgz#5cb59ae7655f2727423268fb1ba698f37809189d"
+ integrity sha512-6BMfd8tYEnN4baG4emG9U0hdXM4gGuDU3ectXuVHnj71vwxTFI7WOpQJC4siTOlVtGqCUtj0ZQNsrvi6kZZTAQ==
-workbox-expiration@7.3.0:
- version "7.3.0"
- resolved "https://registry.yarnpkg.com/workbox-expiration/-/workbox-expiration-7.3.0.tgz#2c1ee1fdada34aa7e7474f706d5429c914bd10d2"
- integrity sha512-lpnSSLp2BM+K6bgFCWc5bS1LR5pAwDWbcKt1iL87/eTSJRdLdAwGQznZE+1czLgn/X05YChsrEegTNxjM067vQ==
+workbox-expiration@7.4.0:
+ version "7.4.0"
+ resolved "https://registry.yarnpkg.com/workbox-expiration/-/workbox-expiration-7.4.0.tgz#f7162a45ad8b28de84acea478df421b4d0065e61"
+ integrity sha512-V50p4BxYhtA80eOvulu8xVfPBgZbkxJ1Jr8UUn0rvqjGhLDqKNtfrDfjJKnLz2U8fO2xGQJTx/SKXNTzHOjnHw==
dependencies:
idb "^7.0.1"
- workbox-core "7.3.0"
+ workbox-core "7.4.0"
-workbox-google-analytics@7.3.0:
- version "7.3.0"
- resolved "https://registry.yarnpkg.com/workbox-google-analytics/-/workbox-google-analytics-7.3.0.tgz#3c4d4956c0a9800dfb587d82ec8bc0f9cf963791"
- integrity sha512-ii/tSfFdhjLHZ2BrYgFNTrb/yk04pw2hasgbM70jpZfLk0vdJAXgaiMAWsoE+wfJDNWoZmBYY0hMVI0v5wWDbg==
+workbox-google-analytics@7.4.0:
+ version "7.4.0"
+ resolved "https://registry.yarnpkg.com/workbox-google-analytics/-/workbox-google-analytics-7.4.0.tgz#208d8e584e8262af8a14140c3a990d13021c8257"
+ integrity sha512-MVPXQslRF6YHkzGoFw1A4GIB8GrKym/A5+jYDUSL+AeJw4ytQGrozYdiZqUW1TPQHW8isBCBtyFJergUXyNoWQ==
dependencies:
- workbox-background-sync "7.3.0"
- workbox-core "7.3.0"
- workbox-routing "7.3.0"
- workbox-strategies "7.3.0"
+ workbox-background-sync "7.4.0"
+ workbox-core "7.4.0"
+ workbox-routing "7.4.0"
+ workbox-strategies "7.4.0"
-workbox-navigation-preload@7.3.0:
- version "7.3.0"
- resolved "https://registry.yarnpkg.com/workbox-navigation-preload/-/workbox-navigation-preload-7.3.0.tgz#9d54693b9179d5175e66af5ef9a92d1b7cf3e605"
- integrity sha512-fTJzogmFaTv4bShZ6aA7Bfj4Cewaq5rp30qcxl2iYM45YD79rKIhvzNHiFj1P+u5ZZldroqhASXwwoyusnr2cg==
+workbox-navigation-preload@7.4.0:
+ version "7.4.0"
+ resolved "https://registry.yarnpkg.com/workbox-navigation-preload/-/workbox-navigation-preload-7.4.0.tgz#3133983b2690dee733d18f56760fdd5182a6ffaf"
+ integrity sha512-etzftSgdQfjMcfPgbfaZCfM2QuR1P+4o8uCA2s4rf3chtKTq/Om7g/qvEOcZkG6v7JZOSOxVYQiOu6PbAZgU6w==
dependencies:
- workbox-core "7.3.0"
+ workbox-core "7.4.0"
-workbox-precaching@7.3.0:
- version "7.3.0"
- resolved "https://registry.yarnpkg.com/workbox-precaching/-/workbox-precaching-7.3.0.tgz#a84663d69efdb334f25c04dba0a72ed3391c4da8"
- integrity sha512-ckp/3t0msgXclVAYaNndAGeAoWQUv7Rwc4fdhWL69CCAb2UHo3Cef0KIUctqfQj1p8h6aGyz3w8Cy3Ihq9OmIw==
+workbox-precaching@7.4.0:
+ version "7.4.0"
+ resolved "https://registry.yarnpkg.com/workbox-precaching/-/workbox-precaching-7.4.0.tgz#daf486953353acaf84142b78cf28a890c466b242"
+ integrity sha512-VQs37T6jDqf1rTxUJZXRl3yjZMf5JX/vDPhmx2CPgDDKXATzEoqyRqhYnRoxl6Kr0rqaQlp32i9rtG5zTzIlNg==
dependencies:
- workbox-core "7.3.0"
- workbox-routing "7.3.0"
- workbox-strategies "7.3.0"
+ workbox-core "7.4.0"
+ workbox-routing "7.4.0"
+ workbox-strategies "7.4.0"
-workbox-range-requests@7.3.0:
- version "7.3.0"
- resolved "https://registry.yarnpkg.com/workbox-range-requests/-/workbox-range-requests-7.3.0.tgz#1b3d5c235a0ff5271418c3a7183281dc131ccd0d"
- integrity sha512-EyFmM1KpDzzAouNF3+EWa15yDEenwxoeXu9bgxOEYnFfCxns7eAxA9WSSaVd8kujFFt3eIbShNqa4hLQNFvmVQ==
+workbox-range-requests@7.4.0:
+ version "7.4.0"
+ resolved "https://registry.yarnpkg.com/workbox-range-requests/-/workbox-range-requests-7.4.0.tgz#1be334d6a7a0b158d6094e8698460393863d28a2"
+ integrity sha512-3Vq854ZNuP6Y0KZOQWLaLC9FfM7ZaE+iuQl4VhADXybwzr4z/sMmnLgTeUZLq5PaDlcJBxYXQ3U91V7dwAIfvw==
dependencies:
- workbox-core "7.3.0"
+ workbox-core "7.4.0"
-workbox-recipes@7.3.0:
- version "7.3.0"
- resolved "https://registry.yarnpkg.com/workbox-recipes/-/workbox-recipes-7.3.0.tgz#fa407101e8ce52850dfba8e17a5afccb733a3942"
- integrity sha512-BJro/MpuW35I/zjZQBcoxsctgeB+kyb2JAP5EB3EYzePg8wDGoQuUdyYQS+CheTb+GhqJeWmVs3QxLI8EBP1sg==
+workbox-recipes@7.4.0:
+ version "7.4.0"
+ resolved "https://registry.yarnpkg.com/workbox-recipes/-/workbox-recipes-7.4.0.tgz#217e6394f965bed8fbf15ad83370f03356c885c9"
+ integrity sha512-kOkWvsAn4H8GvAkwfJTbwINdv4voFoiE9hbezgB1sb/0NLyTG4rE7l6LvS8lLk5QIRIto+DjXLuAuG3Vmt3cxQ==
dependencies:
- workbox-cacheable-response "7.3.0"
- workbox-core "7.3.0"
- workbox-expiration "7.3.0"
- workbox-precaching "7.3.0"
- workbox-routing "7.3.0"
- workbox-strategies "7.3.0"
+ workbox-cacheable-response "7.4.0"
+ workbox-core "7.4.0"
+ workbox-expiration "7.4.0"
+ workbox-precaching "7.4.0"
+ workbox-routing "7.4.0"
+ workbox-strategies "7.4.0"
-workbox-routing@7.3.0:
- version "7.3.0"
- resolved "https://registry.yarnpkg.com/workbox-routing/-/workbox-routing-7.3.0.tgz#fc86296bc1155c112ee2c16b3180853586c30208"
- integrity sha512-ZUlysUVn5ZUzMOmQN3bqu+gK98vNfgX/gSTZ127izJg/pMMy4LryAthnYtjuqcjkN4HEAx1mdgxNiKJMZQM76A==
+workbox-routing@7.4.0:
+ version "7.4.0"
+ resolved "https://registry.yarnpkg.com/workbox-routing/-/workbox-routing-7.4.0.tgz#4b5bc90256515dc5cf49b356b101721fd135d013"
+ integrity sha512-C/ooj5uBWYAhAqwmU8HYQJdOjjDKBp9MzTQ+otpMmd+q0eF59K+NuXUek34wbL0RFrIXe/KKT+tUWcZcBqxbHQ==
dependencies:
- workbox-core "7.3.0"
+ workbox-core "7.4.0"
-workbox-strategies@7.3.0:
- version "7.3.0"
- resolved "https://registry.yarnpkg.com/workbox-strategies/-/workbox-strategies-7.3.0.tgz#bb1530f205806895aacdea3639e6cf6bfb3a6cb0"
- integrity sha512-tmZydug+qzDFATwX7QiEL5Hdf7FrkhjaF9db1CbB39sDmEZJg3l9ayDvPxy8Y18C3Y66Nrr9kkN1f/RlkDgllg==
+workbox-strategies@7.4.0:
+ version "7.4.0"
+ resolved "https://registry.yarnpkg.com/workbox-strategies/-/workbox-strategies-7.4.0.tgz#59130734400722d39ce4a0a1a22a363e99913946"
+ integrity sha512-T4hVqIi5A4mHi92+5EppMX3cLaVywDp8nsyUgJhOZxcfSV/eQofcOA6/EMo5rnTNmNTpw0rUgjAI6LaVullPpg==
dependencies:
- workbox-core "7.3.0"
+ workbox-core "7.4.0"
-workbox-streams@7.3.0:
- version "7.3.0"
- resolved "https://registry.yarnpkg.com/workbox-streams/-/workbox-streams-7.3.0.tgz#a4c0ae51b66121a2aa6f89229e237aca6dc27eb5"
- integrity sha512-SZnXucyg8x2Y61VGtDjKPO5EgPUG5NDn/v86WYHX+9ZqvAsGOytP0Jxp1bl663YUuMoXSAtsGLL+byHzEuMRpw==
+workbox-streams@7.4.0:
+ version "7.4.0"
+ resolved "https://registry.yarnpkg.com/workbox-streams/-/workbox-streams-7.4.0.tgz#e5b8e6b540f08e05f3c51b748c54056d24f20e8c"
+ integrity sha512-QHPBQrey7hQbnTs5GrEVoWz7RhHJXnPT+12qqWM378orDMo5VMJLCkCM1cnCk+8Eq92lccx/VgRZ7WAzZWbSLg==
dependencies:
- workbox-core "7.3.0"
- workbox-routing "7.3.0"
+ workbox-core "7.4.0"
+ workbox-routing "7.4.0"
-workbox-sw@7.3.0:
- version "7.3.0"
- resolved "https://registry.yarnpkg.com/workbox-sw/-/workbox-sw-7.3.0.tgz#39215017e868d7cfe6835b2961f55369d89b3e73"
- integrity sha512-aCUyoAZU9IZtH05mn0ACUpyHzPs0lMeJimAYkQkBsOWiqaJLgusfDCR+yllkPkFRxWpZKF8vSvgHYeG7LwhlmA==
+workbox-sw@7.4.0:
+ version "7.4.0"
+ resolved "https://registry.yarnpkg.com/workbox-sw/-/workbox-sw-7.4.0.tgz#05c9659399b8f3716e14406be66eb118fcb3968f"
+ integrity sha512-ltU+Kr3qWR6BtbdlMnCjobZKzeV1hN+S6UvDywBrwM19TTyqA03X66dzw1tEIdJvQ4lYKkBFox6IAEhoSEZ8Xw==
-workbox-window@7.3.0, workbox-window@^7.1.0:
- version "7.3.0"
- resolved "https://registry.yarnpkg.com/workbox-window/-/workbox-window-7.3.0.tgz#e71bb0b4d880d2295c96bf1ccadb6cea0df51c07"
- integrity sha512-qW8PDy16OV1UBaUNGlTVcepzrlzyzNW/ZJvFQQs2j2TzGsg6IKjcpZC1RSquqQnTOafl5pCj5bGfAHlCjOOjdA==
+workbox-window@7.4.0, workbox-window@^7.4.0:
+ version "7.4.0"
+ resolved "https://registry.yarnpkg.com/workbox-window/-/workbox-window-7.4.0.tgz#5399a5261b8c34d9d102f2d832d5857ee4d5748a"
+ integrity sha512-/bIYdBLAVsNR3v7gYGaV4pQW3M3kEPx5E8vDxGvxo6khTrGtSSCS7QiFKv9ogzBgZiy0OXLP9zO28U/1nF1mfw==
dependencies:
"@types/trusted-types" "^2.0.2"
- workbox-core "7.3.0"
+ workbox-core "7.4.0"
+
+"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0":
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43"
+ integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==
+ dependencies:
+ ansi-styles "^4.0.0"
+ string-width "^4.1.0"
+ strip-ansi "^6.0.0"
wrap-ansi@^7.0.0:
version "7.0.0"
@@ -6568,6 +6665,15 @@ wrap-ansi@^7.0.0:
string-width "^4.1.0"
strip-ansi "^6.0.0"
+wrap-ansi@^8.1.0:
+ version "8.1.0"
+ resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-8.1.0.tgz#56dc22368ee570face1b49819975d9b9a5ead214"
+ integrity sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==
+ dependencies:
+ ansi-styles "^6.1.0"
+ string-width "^5.0.1"
+ strip-ansi "^7.0.1"
+
wrap-ansi@^9.0.0:
version "9.0.0"
resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-9.0.0.tgz#1a3dc8b70d85eeb8398ddfb1e4a02cd186e58b3e"
From 52c9e5ef130a11d68955fee6989ca048f871bab8 Mon Sep 17 00:00:00 2001
From: Adithya Vardhan
Date: Thu, 12 Feb 2026 15:17:52 +0530
Subject: [PATCH 028/344] chore: remove unused frontend dependencies (#2063)
---
frontend/package.json | 18 --
frontend/yarn.lock | 426 +-----------------------------------------
2 files changed, 6 insertions(+), 438 deletions(-)
diff --git a/frontend/package.json b/frontend/package.json
index b868f091..b8a4f788 100644
--- a/frontend/package.json
+++ b/frontend/package.json
@@ -22,33 +22,22 @@
"dependencies": {
"@getalby/lightning-tools": "^6.0.0",
"@getalby/sdk": "^6.0.1",
- "@hookform/resolvers": "^5.1.1",
"@radix-ui/react-accordion": "^1.2.12",
"@radix-ui/react-alert-dialog": "^1.1.14",
- "@radix-ui/react-aspect-ratio": "^1.1.7",
"@radix-ui/react-avatar": "^1.1.11",
"@radix-ui/react-checkbox": "^1.3.2",
- "@radix-ui/react-collapsible": "^1.1.11",
- "@radix-ui/react-context-menu": "^2.2.16",
"@radix-ui/react-dialog": "^1.1.15",
"@radix-ui/react-dropdown-menu": "^2.1.15",
- "@radix-ui/react-hover-card": "^1.1.15",
"@radix-ui/react-label": "^2.1.8",
- "@radix-ui/react-menubar": "^1.1.16",
"@radix-ui/react-navigation-menu": "^1.2.13",
"@radix-ui/react-popover": "^1.1.14",
"@radix-ui/react-progress": "^1.1.7",
"@radix-ui/react-radio-group": "^1.3.8",
- "@radix-ui/react-scroll-area": "^1.2.9",
"@radix-ui/react-select": "^2.2.5",
"@radix-ui/react-separator": "^1.1.7",
- "@radix-ui/react-slider": "^1.3.5",
"@radix-ui/react-slot": "^1.2.3",
"@radix-ui/react-switch": "^1.2.6",
"@radix-ui/react-tabs": "^1.1.12",
- "@radix-ui/react-toast": "^1.2.14",
- "@radix-ui/react-toggle": "^1.1.9",
- "@radix-ui/react-toggle-group": "^1.1.10",
"@radix-ui/react-tooltip": "^1.2.7",
"@scure/bip39": "^2.0.1",
"@stepperize/react": "^5.1.9",
@@ -58,27 +47,20 @@
"clsx": "^2.1.1",
"cmdk": "^1.1.1",
"compare-versions": "^6.1.1",
- "date-fns": "^4.1.0",
"dayjs": "^1.11.10",
"embla-carousel-react": "^8.6.0",
- "input-otp": "^1.4.2",
"lucide-react": "^0.544.0",
- "next-themes": "^0.4.6",
"react": "18.3.1",
"react-day-picker": "^9.11.0",
"react-dom": "18.3.1",
- "react-hook-form": "^7.60.0",
"react-lottie": "^1.2.4",
"react-qr-code": "^2.0.12",
- "react-resizable-panels": "^3.0.6",
"react-router-dom": "^6.21.0",
- "recharts": "2.15.4",
"sonner": "^2.0.7",
"swr": "^2.3.6",
"tailwind-merge": "^3.3.1",
"tw-animate-css": "^1.3.5",
"vaul": "^1.1.2",
- "zod": "^4.0.2",
"zustand": "^4.5.0"
},
"devDependencies": {
diff --git a/frontend/yarn.lock b/frontend/yarn.lock
index fe656c92..bac331db 100644
--- a/frontend/yarn.lock
+++ b/frontend/yarn.lock
@@ -776,7 +776,7 @@
"@babel/types" "^7.4.4"
esutils "^2.0.2"
-"@babel/runtime@^7.11.2", "@babel/runtime@^7.5.5", "@babel/runtime@^7.8.7":
+"@babel/runtime@^7.11.2":
version "7.28.2"
resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.28.2.tgz#2ae5a9d51cc583bd1f5673b3bb70d6d819682473"
integrity sha512-KHp2IflsnGywDjBWDkR9iEqiWSpc8GIi0lgTT3mOElT0PP1tG26P4tmFI2YvAdzgq9RGyoHZQEIEdZy6Ec5xCA==
@@ -1240,13 +1240,6 @@
"@getalby/lightning-tools" "^5.2.0"
nostr-tools "2.16.2"
-"@hookform/resolvers@^5.1.1":
- version "5.2.1"
- resolved "https://registry.yarnpkg.com/@hookform/resolvers/-/resolvers-5.2.1.tgz#3332b4662fe301a969ac1b795d663cf728329166"
- integrity sha512-u0+6X58gkjMcxur1wRWokA7XsiiBJ6aK17aPZxhkoYiK5J+HcTx0Vhu9ovXe6H+dVpO6cjrn2FkJTryXEMlryQ==
- dependencies:
- "@standard-schema/utils" "^0.3.0"
-
"@humanfs/core@^0.19.1":
version "0.19.1"
resolved "https://registry.yarnpkg.com/@humanfs/core/-/core-0.19.1.tgz#17c55ca7d426733fe3c561906b8173c336b40a77"
@@ -1458,13 +1451,6 @@
dependencies:
"@radix-ui/react-primitive" "2.1.3"
-"@radix-ui/react-aspect-ratio@^1.1.7":
- version "1.1.7"
- resolved "https://registry.yarnpkg.com/@radix-ui/react-aspect-ratio/-/react-aspect-ratio-1.1.7.tgz#95d0adcdddd0d40c5dd2ae07c8608b4f0b983f53"
- integrity sha512-Yq6lvO9HQyPwev1onK1daHCHqXVLzPhSVjmsNjCa2Zcxy2f7uJD2itDtxknv6FzAKCwD1qQkeVDmX/cev13n/g==
- dependencies:
- "@radix-ui/react-primitive" "2.1.3"
-
"@radix-ui/react-avatar@^1.1.11":
version "1.1.11"
resolved "https://registry.yarnpkg.com/@radix-ui/react-avatar/-/react-avatar-1.1.11.tgz#3e24b70d636a12e2806abb2b4ce4b15df395f9c9"
@@ -1490,7 +1476,7 @@
"@radix-ui/react-use-previous" "1.1.1"
"@radix-ui/react-use-size" "1.1.1"
-"@radix-ui/react-collapsible@1.1.12", "@radix-ui/react-collapsible@^1.1.11":
+"@radix-ui/react-collapsible@1.1.12":
version "1.1.12"
resolved "https://registry.yarnpkg.com/@radix-ui/react-collapsible/-/react-collapsible-1.1.12.tgz#e2cc69a4490a2920f97c3c3150b0bf21281e3c49"
integrity sha512-Uu+mSh4agx2ib1uIGPP4/CKNULyajb3p92LsVXmH2EHVMTfZWpll88XJ0j4W0z3f8NK1eYl1+Mf/szHPmcHzyA==
@@ -1519,18 +1505,6 @@
resolved "https://registry.yarnpkg.com/@radix-ui/react-compose-refs/-/react-compose-refs-1.1.2.tgz#a2c4c47af6337048ee78ff6dc0d090b390d2bb30"
integrity sha512-z4eqJvfiNnFMHIIvXP3CY57y2WJs5g2v3X0zm9mEJkrkNv4rDxu+sg9Jh8EkXyeqBkB7SOcboo9dMVqhyrACIg==
-"@radix-ui/react-context-menu@^2.2.16":
- version "2.2.16"
- resolved "https://registry.yarnpkg.com/@radix-ui/react-context-menu/-/react-context-menu-2.2.16.tgz#e7bf94a457b68af08f24ad696949144530faab50"
- integrity sha512-O8morBEW+HsVG28gYDZPTrT9UUovQUlJue5YO836tiTJhuIWBm/zQHc7j388sHWtdH/xUZurK9olD2+pcqx5ww==
- dependencies:
- "@radix-ui/primitive" "1.1.3"
- "@radix-ui/react-context" "1.1.2"
- "@radix-ui/react-menu" "2.1.16"
- "@radix-ui/react-primitive" "2.1.3"
- "@radix-ui/react-use-callback-ref" "1.1.1"
- "@radix-ui/react-use-controllable-state" "1.2.2"
-
"@radix-ui/react-context@1.1.2":
version "1.1.2"
resolved "https://registry.yarnpkg.com/@radix-ui/react-context/-/react-context-1.1.2.tgz#61628ef269a433382c364f6f1e3788a6dc213a36"
@@ -1640,21 +1614,6 @@
"@radix-ui/react-primitive" "2.1.3"
"@radix-ui/react-use-callback-ref" "1.1.1"
-"@radix-ui/react-hover-card@^1.1.15":
- version "1.1.15"
- resolved "https://registry.yarnpkg.com/@radix-ui/react-hover-card/-/react-hover-card-1.1.15.tgz#9bc7ed55c37a9032acdfcc7cfa5c73b117cffe5e"
- integrity sha512-qgTkjNT1CfKMoP0rcasmlH2r1DAiYicWsDsufxl940sT2wHNEWWv6FMWIQXWhVdmC1d/HYfbhQx60KYyAtKxjg==
- dependencies:
- "@radix-ui/primitive" "1.1.3"
- "@radix-ui/react-compose-refs" "1.1.2"
- "@radix-ui/react-context" "1.1.2"
- "@radix-ui/react-dismissable-layer" "1.1.11"
- "@radix-ui/react-popper" "1.2.8"
- "@radix-ui/react-portal" "1.1.9"
- "@radix-ui/react-presence" "1.1.5"
- "@radix-ui/react-primitive" "2.1.3"
- "@radix-ui/react-use-controllable-state" "1.2.2"
-
"@radix-ui/react-id@1.1.1", "@radix-ui/react-id@^1.1.0":
version "1.1.1"
resolved "https://registry.yarnpkg.com/@radix-ui/react-id/-/react-id-1.1.1.tgz#1404002e79a03fe062b7e3864aa01e24bd1471f7"
@@ -1693,46 +1652,6 @@
aria-hidden "^1.2.4"
react-remove-scroll "^2.6.3"
-"@radix-ui/react-menu@2.1.16":
- version "2.1.16"
- resolved "https://registry.yarnpkg.com/@radix-ui/react-menu/-/react-menu-2.1.16.tgz#528a5a973c3a7413d3d49eb9ccd229aa52402911"
- integrity sha512-72F2T+PLlphrqLcAotYPp0uJMr5SjP5SL01wfEspJbru5Zs5vQaSHb4VB3ZMJPimgHHCHG7gMOeOB9H3Hdmtxg==
- dependencies:
- "@radix-ui/primitive" "1.1.3"
- "@radix-ui/react-collection" "1.1.7"
- "@radix-ui/react-compose-refs" "1.1.2"
- "@radix-ui/react-context" "1.1.2"
- "@radix-ui/react-direction" "1.1.1"
- "@radix-ui/react-dismissable-layer" "1.1.11"
- "@radix-ui/react-focus-guards" "1.1.3"
- "@radix-ui/react-focus-scope" "1.1.7"
- "@radix-ui/react-id" "1.1.1"
- "@radix-ui/react-popper" "1.2.8"
- "@radix-ui/react-portal" "1.1.9"
- "@radix-ui/react-presence" "1.1.5"
- "@radix-ui/react-primitive" "2.1.3"
- "@radix-ui/react-roving-focus" "1.1.11"
- "@radix-ui/react-slot" "1.2.3"
- "@radix-ui/react-use-callback-ref" "1.1.1"
- aria-hidden "^1.2.4"
- react-remove-scroll "^2.6.3"
-
-"@radix-ui/react-menubar@^1.1.16":
- version "1.1.16"
- resolved "https://registry.yarnpkg.com/@radix-ui/react-menubar/-/react-menubar-1.1.16.tgz#5edf7ea2ff7aa7e3ba896b35cf577f122160121c"
- integrity sha512-EB1FktTz5xRRi2Er974AUQZWg2yVBb1yjip38/lgwtCVRd3a+maUoGHN/xs9Yv8SY8QwbSEb+YrxGadVWbEutA==
- dependencies:
- "@radix-ui/primitive" "1.1.3"
- "@radix-ui/react-collection" "1.1.7"
- "@radix-ui/react-compose-refs" "1.1.2"
- "@radix-ui/react-context" "1.1.2"
- "@radix-ui/react-direction" "1.1.1"
- "@radix-ui/react-id" "1.1.1"
- "@radix-ui/react-menu" "2.1.16"
- "@radix-ui/react-primitive" "2.1.3"
- "@radix-ui/react-roving-focus" "1.1.11"
- "@radix-ui/react-use-controllable-state" "1.2.2"
-
"@radix-ui/react-navigation-menu@^1.2.13":
version "1.2.13"
resolved "https://registry.yarnpkg.com/@radix-ui/react-navigation-menu/-/react-navigation-menu-1.2.13.tgz#8d49ce275bf4f49a8642be520074b5a7438a5fb0"
@@ -1790,22 +1709,6 @@
"@radix-ui/react-use-size" "1.1.1"
"@radix-ui/rect" "1.1.1"
-"@radix-ui/react-popper@1.2.8":
- version "1.2.8"
- resolved "https://registry.yarnpkg.com/@radix-ui/react-popper/-/react-popper-1.2.8.tgz#a79f39cdd2b09ab9fb50bf95250918422c4d9602"
- integrity sha512-0NJQ4LFFUuWkE7Oxf0htBKS6zLkkjBH+hM1uk7Ng705ReR8m/uelduy1DBo0PyBXPKVnBA6YBlU94MBGXrSBCw==
- dependencies:
- "@floating-ui/react-dom" "^2.0.0"
- "@radix-ui/react-arrow" "1.1.7"
- "@radix-ui/react-compose-refs" "1.1.2"
- "@radix-ui/react-context" "1.1.2"
- "@radix-ui/react-primitive" "2.1.3"
- "@radix-ui/react-use-callback-ref" "1.1.1"
- "@radix-ui/react-use-layout-effect" "1.1.1"
- "@radix-ui/react-use-rect" "1.1.1"
- "@radix-ui/react-use-size" "1.1.1"
- "@radix-ui/rect" "1.1.1"
-
"@radix-ui/react-portal@1.1.9":
version "1.1.9"
resolved "https://registry.yarnpkg.com/@radix-ui/react-portal/-/react-portal-1.1.9.tgz#14c3649fe48ec474ac51ed9f2b9f5da4d91c4472"
@@ -1898,21 +1801,6 @@
"@radix-ui/react-use-callback-ref" "1.1.1"
"@radix-ui/react-use-controllable-state" "1.2.2"
-"@radix-ui/react-scroll-area@^1.2.9":
- version "1.2.9"
- resolved "https://registry.yarnpkg.com/@radix-ui/react-scroll-area/-/react-scroll-area-1.2.9.tgz#90c49bd3231d7f0796d5d12dabc065afa829cf07"
- integrity sha512-YSjEfBXnhUELsO2VzjdtYYD4CfQjvao+lhhrX5XsHD7/cyUNzljF1FHEbgTPN7LH2MClfwRMIsYlqTYpKTTe2A==
- dependencies:
- "@radix-ui/number" "1.1.1"
- "@radix-ui/primitive" "1.1.2"
- "@radix-ui/react-compose-refs" "1.1.2"
- "@radix-ui/react-context" "1.1.2"
- "@radix-ui/react-direction" "1.1.1"
- "@radix-ui/react-presence" "1.1.4"
- "@radix-ui/react-primitive" "2.1.3"
- "@radix-ui/react-use-callback-ref" "1.1.1"
- "@radix-ui/react-use-layout-effect" "1.1.1"
-
"@radix-ui/react-select@^2.2.5":
version "2.2.5"
resolved "https://registry.yarnpkg.com/@radix-ui/react-select/-/react-select-2.2.5.tgz#9e2fa5b8f4cc99b86ef5bba3cb9b73828afb51f0"
@@ -1947,23 +1835,6 @@
dependencies:
"@radix-ui/react-primitive" "2.1.3"
-"@radix-ui/react-slider@^1.3.5":
- version "1.3.5"
- resolved "https://registry.yarnpkg.com/@radix-ui/react-slider/-/react-slider-1.3.5.tgz#f9c074dc0dd2850aa42609e72de74642a4851b79"
- integrity sha512-rkfe2pU2NBAYfGaxa3Mqosi7VZEWX5CxKaanRv0vZd4Zhl9fvQrg0VM93dv3xGLGfrHuoTRF3JXH8nb9g+B3fw==
- dependencies:
- "@radix-ui/number" "1.1.1"
- "@radix-ui/primitive" "1.1.2"
- "@radix-ui/react-collection" "1.1.7"
- "@radix-ui/react-compose-refs" "1.1.2"
- "@radix-ui/react-context" "1.1.2"
- "@radix-ui/react-direction" "1.1.1"
- "@radix-ui/react-primitive" "2.1.3"
- "@radix-ui/react-use-controllable-state" "1.2.2"
- "@radix-ui/react-use-layout-effect" "1.1.1"
- "@radix-ui/react-use-previous" "1.1.1"
- "@radix-ui/react-use-size" "1.1.1"
-
"@radix-ui/react-slot@1.2.3", "@radix-ui/react-slot@^1.2.3":
version "1.2.3"
resolved "https://registry.yarnpkg.com/@radix-ui/react-slot/-/react-slot-1.2.3.tgz#502d6e354fc847d4169c3bc5f189de777f68cfe1"
@@ -2005,46 +1876,6 @@
"@radix-ui/react-roving-focus" "1.1.10"
"@radix-ui/react-use-controllable-state" "1.2.2"
-"@radix-ui/react-toast@^1.2.14":
- version "1.2.14"
- resolved "https://registry.yarnpkg.com/@radix-ui/react-toast/-/react-toast-1.2.14.tgz#ac021bdde74792fe8613c510eb6944f0fbcf57b0"
- integrity sha512-nAP5FBxBJGQ/YfUB+r+O6USFVkWq3gAInkxyEnmvEV5jtSbfDhfa4hwX8CraCnbjMLsE7XSf/K75l9xXY7joWg==
- dependencies:
- "@radix-ui/primitive" "1.1.2"
- "@radix-ui/react-collection" "1.1.7"
- "@radix-ui/react-compose-refs" "1.1.2"
- "@radix-ui/react-context" "1.1.2"
- "@radix-ui/react-dismissable-layer" "1.1.10"
- "@radix-ui/react-portal" "1.1.9"
- "@radix-ui/react-presence" "1.1.4"
- "@radix-ui/react-primitive" "2.1.3"
- "@radix-ui/react-use-callback-ref" "1.1.1"
- "@radix-ui/react-use-controllable-state" "1.2.2"
- "@radix-ui/react-use-layout-effect" "1.1.1"
- "@radix-ui/react-visually-hidden" "1.2.3"
-
-"@radix-ui/react-toggle-group@^1.1.10":
- version "1.1.10"
- resolved "https://registry.yarnpkg.com/@radix-ui/react-toggle-group/-/react-toggle-group-1.1.10.tgz#4406b3be3869cad497ca7ee4993c3598731f774e"
- integrity sha512-kiU694Km3WFLTC75DdqgM/3Jauf3rD9wxeS9XtyWFKsBUeZA337lC+6uUazT7I1DhanZ5gyD5Stf8uf2dbQxOQ==
- dependencies:
- "@radix-ui/primitive" "1.1.2"
- "@radix-ui/react-context" "1.1.2"
- "@radix-ui/react-direction" "1.1.1"
- "@radix-ui/react-primitive" "2.1.3"
- "@radix-ui/react-roving-focus" "1.1.10"
- "@radix-ui/react-toggle" "1.1.9"
- "@radix-ui/react-use-controllable-state" "1.2.2"
-
-"@radix-ui/react-toggle@1.1.9", "@radix-ui/react-toggle@^1.1.9":
- version "1.1.9"
- resolved "https://registry.yarnpkg.com/@radix-ui/react-toggle/-/react-toggle-1.1.9.tgz#9cb99a29bc7cd15186ba3ba797808a013a726fba"
- integrity sha512-ZoFkBBz9zv9GWer7wIjvdRxmh2wyc2oKWw6C6CseWd6/yq1DK/l5lJ+wnsmFwJZbBYqr02mrf8A2q/CVCuM3ZA==
- dependencies:
- "@radix-ui/primitive" "1.1.2"
- "@radix-ui/react-primitive" "2.1.3"
- "@radix-ui/react-use-controllable-state" "1.2.2"
-
"@radix-ui/react-tooltip@^1.2.7":
version "1.2.7"
resolved "https://registry.yarnpkg.com/@radix-ui/react-tooltip/-/react-tooltip-1.2.7.tgz#23612ac7a5e8e1f6829e46d0e0ad94afe3976c72"
@@ -2337,11 +2168,6 @@
"@noble/hashes" "2.0.1"
"@scure/base" "2.0.0"
-"@standard-schema/utils@^0.3.0":
- version "0.3.0"
- resolved "https://registry.yarnpkg.com/@standard-schema/utils/-/utils-0.3.0.tgz#3d5e608f16c2390c10528e98e59aef6bf73cae7b"
- integrity sha512-e7Mew686owMaPJVNNLs55PUvgz371nKgwsc4vxE49zsODpJEnxgxRo2y/OKrqueavXgZNMDVj3DdHFlaSAeU8g==
-
"@stepperize/core@1.2.7":
version "1.2.7"
resolved "https://registry.yarnpkg.com/@stepperize/core/-/core-1.2.7.tgz#b26d07787c44468be823eb7d3684d2e1812efeb1"
@@ -2595,57 +2421,6 @@
dependencies:
"@types/node" "*"
-"@types/d3-array@^3.0.3":
- version "3.2.1"
- resolved "https://registry.yarnpkg.com/@types/d3-array/-/d3-array-3.2.1.tgz#1f6658e3d2006c4fceac53fde464166859f8b8c5"
- integrity sha512-Y2Jn2idRrLzUfAKV2LyRImR+y4oa2AntrgID95SHJxuMUrkNXmanDSed71sRNZysveJVt1hLLemQZIady0FpEg==
-
-"@types/d3-color@*":
- version "3.1.3"
- resolved "https://registry.yarnpkg.com/@types/d3-color/-/d3-color-3.1.3.tgz#368c961a18de721da8200e80bf3943fb53136af2"
- integrity sha512-iO90scth9WAbmgv7ogoq57O9YpKmFBbmoEoCHDB2xMBY0+/KVrqAaCDyCE16dUspeOvIxFFRI+0sEtqDqy2b4A==
-
-"@types/d3-ease@^3.0.0":
- version "3.0.2"
- resolved "https://registry.yarnpkg.com/@types/d3-ease/-/d3-ease-3.0.2.tgz#e28db1bfbfa617076f7770dd1d9a48eaa3b6c51b"
- integrity sha512-NcV1JjO5oDzoK26oMzbILE6HW7uVXOHLQvHshBUW4UMdZGfiY6v5BeQwh9a9tCzv+CeefZQHJt5SRgK154RtiA==
-
-"@types/d3-interpolate@^3.0.1":
- version "3.0.4"
- resolved "https://registry.yarnpkg.com/@types/d3-interpolate/-/d3-interpolate-3.0.4.tgz#412b90e84870285f2ff8a846c6eb60344f12a41c"
- integrity sha512-mgLPETlrpVV1YRJIglr4Ez47g7Yxjl1lj7YKsiMCb27VJH9W8NVM6Bb9d8kkpG/uAQS5AmbA48q2IAolKKo1MA==
- dependencies:
- "@types/d3-color" "*"
-
-"@types/d3-path@*":
- version "3.1.1"
- resolved "https://registry.yarnpkg.com/@types/d3-path/-/d3-path-3.1.1.tgz#f632b380c3aca1dba8e34aa049bcd6a4af23df8a"
- integrity sha512-VMZBYyQvbGmWyWVea0EHs/BwLgxc+MKi1zLDCONksozI4YJMcTt8ZEuIR4Sb1MMTE8MMW49v0IwI5+b7RmfWlg==
-
-"@types/d3-scale@^4.0.2":
- version "4.0.9"
- resolved "https://registry.yarnpkg.com/@types/d3-scale/-/d3-scale-4.0.9.tgz#57a2f707242e6fe1de81ad7bfcccaaf606179afb"
- integrity sha512-dLmtwB8zkAeO/juAMfnV+sItKjlsw2lKdZVVy6LRr0cBmegxSABiLEpGVmSJJ8O08i4+sGR6qQtb6WtuwJdvVw==
- dependencies:
- "@types/d3-time" "*"
-
-"@types/d3-shape@^3.1.0":
- version "3.1.7"
- resolved "https://registry.yarnpkg.com/@types/d3-shape/-/d3-shape-3.1.7.tgz#2b7b423dc2dfe69c8c93596e673e37443348c555"
- integrity sha512-VLvUQ33C+3J+8p+Daf+nYSOsjB4GXp19/S/aGo60m9h1v6XaxjiT82lKVWJCfzhtuZ3yD7i/TPeC/fuKLLOSmg==
- dependencies:
- "@types/d3-path" "*"
-
-"@types/d3-time@*", "@types/d3-time@^3.0.0":
- version "3.0.4"
- resolved "https://registry.yarnpkg.com/@types/d3-time/-/d3-time-3.0.4.tgz#8472feecd639691450dd8000eb33edd444e1323f"
- integrity sha512-yuzZug1nkAAaBlBBikKZTgzCeA+k1uy4ZFwWANOfKw5z5LRhV0gNA7gNkKm7HoK+HRN0wX3EkxGk0fpbWhmB7g==
-
-"@types/d3-timer@^3.0.0":
- version "3.0.2"
- resolved "https://registry.yarnpkg.com/@types/d3-timer/-/d3-timer-3.0.2.tgz#70bbda77dc23aa727413e22e214afa3f0e852f70"
- integrity sha512-Ps3T8E8dZDam6fUyNiMkekK3XUsaUEik+idO9/YjPtfj2qruF8tFBXS7XhtE4iIXBLxhmLjP3SXpLhVf21I9Lw==
-
"@types/estree@0.0.39":
version "0.0.39"
resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.39.tgz#e177e699ee1b8c22d23174caaa7422644389509f"
@@ -3119,7 +2894,7 @@ cliui@^8.0.1:
strip-ansi "^6.0.1"
wrap-ansi "^7.0.0"
-clsx@^2.0.0, clsx@^2.1.1:
+clsx@^2.1.1:
version "2.1.1"
resolved "https://registry.yarnpkg.com/clsx/-/clsx-2.1.1.tgz#eed397c9fd8bd882bfb18deab7102049a2f32999"
integrity sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==
@@ -3277,77 +3052,6 @@ csstype@^3.0.2:
resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.3.tgz#d80ff294d114fb0e6ac500fbf85b60137d7eff81"
integrity sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==
-"d3-array@2 - 3", "d3-array@2.10.0 - 3", d3-array@^3.1.6:
- version "3.2.4"
- resolved "https://registry.yarnpkg.com/d3-array/-/d3-array-3.2.4.tgz#15fec33b237f97ac5d7c986dc77da273a8ed0bb5"
- integrity sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg==
- dependencies:
- internmap "1 - 2"
-
-"d3-color@1 - 3":
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/d3-color/-/d3-color-3.1.0.tgz#395b2833dfac71507f12ac2f7af23bf819de24e2"
- integrity sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==
-
-d3-ease@^3.0.1:
- version "3.0.1"
- resolved "https://registry.yarnpkg.com/d3-ease/-/d3-ease-3.0.1.tgz#9658ac38a2140d59d346160f1f6c30fda0bd12f4"
- integrity sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w==
-
-"d3-format@1 - 3":
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/d3-format/-/d3-format-3.1.0.tgz#9260e23a28ea5cb109e93b21a06e24e2ebd55641"
- integrity sha512-YyUI6AEuY/Wpt8KWLgZHsIU86atmikuoOmCfommt0LYHiQSPjvX2AcFc38PX0CBpr2RCyZhjex+NS/LPOv6YqA==
-
-"d3-interpolate@1.2.0 - 3", d3-interpolate@^3.0.1:
- version "3.0.1"
- resolved "https://registry.yarnpkg.com/d3-interpolate/-/d3-interpolate-3.0.1.tgz#3c47aa5b32c5b3dfb56ef3fd4342078a632b400d"
- integrity sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==
- dependencies:
- d3-color "1 - 3"
-
-d3-path@^3.1.0:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/d3-path/-/d3-path-3.1.0.tgz#22df939032fb5a71ae8b1800d61ddb7851c42526"
- integrity sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ==
-
-d3-scale@^4.0.2:
- version "4.0.2"
- resolved "https://registry.yarnpkg.com/d3-scale/-/d3-scale-4.0.2.tgz#82b38e8e8ff7080764f8dcec77bd4be393689396"
- integrity sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ==
- dependencies:
- d3-array "2.10.0 - 3"
- d3-format "1 - 3"
- d3-interpolate "1.2.0 - 3"
- d3-time "2.1.1 - 3"
- d3-time-format "2 - 4"
-
-d3-shape@^3.1.0:
- version "3.2.0"
- resolved "https://registry.yarnpkg.com/d3-shape/-/d3-shape-3.2.0.tgz#a1a839cbd9ba45f28674c69d7f855bcf91dfc6a5"
- integrity sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA==
- dependencies:
- d3-path "^3.1.0"
-
-"d3-time-format@2 - 4":
- version "4.1.0"
- resolved "https://registry.yarnpkg.com/d3-time-format/-/d3-time-format-4.1.0.tgz#7ab5257a5041d11ecb4fe70a5c7d16a195bb408a"
- integrity sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg==
- dependencies:
- d3-time "1 - 3"
-
-"d3-time@1 - 3", "d3-time@2.1.1 - 3", d3-time@^3.0.0:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/d3-time/-/d3-time-3.1.0.tgz#9310db56e992e3c0175e1ef385e545e48a9bb5c7"
- integrity sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q==
- dependencies:
- d3-array "2 - 3"
-
-d3-timer@^3.0.1:
- version "3.0.1"
- resolved "https://registry.yarnpkg.com/d3-timer/-/d3-timer-3.0.1.tgz#6284d2a2708285b1abb7e201eda4380af35e63b0"
- integrity sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA==
-
dargs@^8.0.0:
version "8.1.0"
resolved "https://registry.yarnpkg.com/dargs/-/dargs-8.1.0.tgz#a34859ea509cbce45485e5aa356fef70bfcc7272"
@@ -3402,11 +3106,6 @@ debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.4, debug@^4.3
dependencies:
ms "^2.1.3"
-decimal.js-light@^2.4.1:
- version "2.5.1"
- resolved "https://registry.yarnpkg.com/decimal.js-light/-/decimal.js-light-2.5.1.tgz#134fd32508f19e208f4fb2f8dac0d2626a867934"
- integrity sha512-qIMFpTMZmny+MMIitAB6D7iVPEorVw6YQRWkvarTkT4tBeSLLiHzcwj6q0MmYSFCiVpiqPJTJEYIrpcPzVEIvg==
-
deep-is@^0.1.3:
version "0.1.4"
resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831"
@@ -3457,14 +3156,6 @@ dir-glob@^3.0.1:
dependencies:
path-type "^4.0.0"
-dom-helpers@^5.0.1:
- version "5.2.1"
- resolved "https://registry.yarnpkg.com/dom-helpers/-/dom-helpers-5.2.1.tgz#d9400536b2bf8225ad98fe052e029451ac40e902"
- integrity sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==
- dependencies:
- "@babel/runtime" "^7.8.7"
- csstype "^3.0.2"
-
dot-prop@^5.1.0:
version "5.3.0"
resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-5.3.0.tgz#90ccce708cd9cd82cc4dc8c3ddd9abdd55b20e88"
@@ -3821,11 +3512,6 @@ esutils@^2.0.2:
resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64"
integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==
-eventemitter3@^4.0.1:
- version "4.0.7"
- resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.7.tgz#2de9b68f6528d5644ef5c59526a1b4a07306169f"
- integrity sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==
-
eventemitter3@^5.0.1:
version "5.0.1"
resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-5.0.1.tgz#53f5ffd0a492ac800721bb42c66b841de96423c4"
@@ -3864,11 +3550,6 @@ fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3:
resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525"
integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==
-fast-equals@^5.0.1:
- version "5.2.2"
- resolved "https://registry.yarnpkg.com/fast-equals/-/fast-equals-5.2.2.tgz#885d7bfb079fac0ce0e8450374bce29e9b742484"
- integrity sha512-V7/RktU11J3I36Nwq2JnZEM7tNm17eBJz+u25qdxBZeCKiX6BkVSZQjwWIr+IobgnZy+ag73tTZgZi7tr0LrBw==
-
fast-glob@^3.2.9, fast-glob@^3.3.2:
version "3.3.3"
resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.3.tgz#d06d585ce8dba90a16b0505c543c3ccfb3aeb818"
@@ -4270,11 +3951,6 @@ ini@4.1.1:
resolved "https://registry.yarnpkg.com/ini/-/ini-4.1.1.tgz#d95b3d843b1e906e56d6747d5447904ff50ce7a1"
integrity sha512-QQnnxNyfvmHFIsj7gkPcYymR8Jdw/o7mp5ZFihxn6h8Ci6fh3Dx4E1gPjpQEpIuPo9XVNY/ZUwh4BPMjGyL01g==
-input-otp@^1.4.2:
- version "1.4.2"
- resolved "https://registry.yarnpkg.com/input-otp/-/input-otp-1.4.2.tgz#f4d3d587d0f641729e55029b3b8c4870847f4f07"
- integrity sha512-l3jWwYNvrEa6NTCt7BECfCm48GvwuZzkoeG3gBL2w4CHeOXW3eKFmf9UNYkNfYc3mxMrthMnxjIE07MT0zLBQA==
-
internal-slot@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.1.0.tgz#1eac91762947d2f7056bc838d93e13b2e9604961"
@@ -4284,11 +3960,6 @@ internal-slot@^1.1.0:
hasown "^2.0.2"
side-channel "^1.1.0"
-"internmap@1 - 2":
- version "2.0.3"
- resolved "https://registry.yarnpkg.com/internmap/-/internmap-2.0.3.tgz#6685f23755e43c524e251d29cbc97248e3061009"
- integrity sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==
-
interpret@^1.0.0:
version "1.4.0"
resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.4.0.tgz#665ab8bc4da27a774a40584e812e3e0fa45b1a1e"
@@ -4842,7 +4513,7 @@ lodash.upperfirst@^4.3.1:
resolved "https://registry.yarnpkg.com/lodash.upperfirst/-/lodash.upperfirst-4.3.1.tgz#1365edf431480481ef0d1c68957a5ed99d49f7ce"
integrity sha512-sReKOYJIJf74dhJONhU4e0/shzi1trVbSWDOhKYE5XV2O+H7Sb2Dihwuc7xWxVl+DgFPyTqIN3zMfT9cq5iWDg==
-lodash@^4.17.20, lodash@^4.17.21:
+lodash@^4.17.20:
version "4.17.21"
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c"
integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==
@@ -5009,11 +4680,6 @@ natural-compare@^1.4.0:
resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7"
integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==
-next-themes@^0.4.6:
- version "0.4.6"
- resolved "https://registry.yarnpkg.com/next-themes/-/next-themes-0.4.6.tgz#8d7e92d03b8fea6582892a50a928c9b23502e8b6"
- integrity sha512-pZvgD5L0IEvX5/9GWyHMf3m8BKiVQwsCMHfoFosXtXBMnaS0ZnIJ9ST4b4NqLVKDEm8QBxoNNGNaBv2JNF6XNA==
-
nice-try@^1.0.4:
version "1.0.5"
resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366"
@@ -5285,7 +4951,7 @@ pretty-bytes@^6.1.1:
resolved "https://registry.yarnpkg.com/pretty-bytes/-/pretty-bytes-6.1.1.tgz#38cd6bb46f47afbf667c202cfc754bffd2016a3b"
integrity sha512-mQUvGU6aUFQ+rNvTIAcZuWGRT9a6f6Yrg9bHs4ImKF+HZCEK+plBvnAZYSIQztknZF2qnzNtr6F8s0+IuptdlQ==
-prop-types@^15.6.1, prop-types@^15.6.2, prop-types@^15.8.1:
+prop-types@^15.6.1, prop-types@^15.8.1:
version "15.8.1"
resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.8.1.tgz#67d87bf1a694f48435cf332c24af10214a3140b5"
integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==
@@ -5341,21 +5007,11 @@ react-dom@18.3.1:
loose-envify "^1.1.0"
scheduler "^0.23.2"
-react-hook-form@^7.60.0:
- version "7.62.0"
- resolved "https://registry.yarnpkg.com/react-hook-form/-/react-hook-form-7.62.0.tgz#2d81e13c2c6b6d636548e440818341ca753218d0"
- integrity sha512-7KWFejc98xqG/F4bAxpL41NB3o1nnvQO1RWZT3TqRZYL8RryQETGfEdVnJN2fy1crCiBLLjkRBVK05j24FxJGA==
-
react-is@^16.13.1:
version "16.13.1"
resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4"
integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==
-react-is@^18.3.1:
- version "18.3.1"
- resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.3.1.tgz#e83557dc12eae63a99e003a46388b1dcbb44db7e"
- integrity sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==
-
react-lottie@^1.2.4:
version "1.2.10"
resolved "https://registry.yarnpkg.com/react-lottie/-/react-lottie-1.2.10.tgz#399f78a448a7833b2380d74fc489ecf15f8d18c7"
@@ -5392,11 +5048,6 @@ react-remove-scroll@^2.6.3:
use-callback-ref "^1.3.3"
use-sidecar "^1.1.3"
-react-resizable-panels@^3.0.6:
- version "3.0.6"
- resolved "https://registry.yarnpkg.com/react-resizable-panels/-/react-resizable-panels-3.0.6.tgz#8183132ea13a09821e9c93962ed49f240cdcfd3f"
- integrity sha512-b3qKHQ3MLqOgSS+FRYKapNkJZf5EQzuf6+RLiq1/IlTHw99YrZ2NJZLk4hQIzTnnIkRg2LUqyVinu6YWWpUYew==
-
react-router-dom@^6.21.0:
version "6.30.1"
resolved "https://registry.yarnpkg.com/react-router-dom/-/react-router-dom-6.30.1.tgz#da2580c272ddb61325e435478566be9563a4a237"
@@ -5412,15 +5063,6 @@ react-router@6.30.1:
dependencies:
"@remix-run/router" "1.23.0"
-react-smooth@^4.0.4:
- version "4.0.4"
- resolved "https://registry.yarnpkg.com/react-smooth/-/react-smooth-4.0.4.tgz#a5875f8bb61963ca61b819cedc569dc2453894b4"
- integrity sha512-gnGKTpYwqL0Iii09gHobNolvX4Kiq4PKx6eWBCYYix+8cdw+cGo3do906l1NBPKkSWx1DghC1dlWG9L2uGd61Q==
- dependencies:
- fast-equals "^5.0.1"
- prop-types "^15.8.1"
- react-transition-group "^4.4.5"
-
react-style-singleton@^2.2.2, react-style-singleton@^2.2.3:
version "2.2.3"
resolved "https://registry.yarnpkg.com/react-style-singleton/-/react-style-singleton-2.2.3.tgz#4265608be69a4d70cfe3047f2c6c88b2c3ace388"
@@ -5429,16 +5071,6 @@ react-style-singleton@^2.2.2, react-style-singleton@^2.2.3:
get-nonce "^1.0.0"
tslib "^2.0.0"
-react-transition-group@^4.4.5:
- version "4.4.5"
- resolved "https://registry.yarnpkg.com/react-transition-group/-/react-transition-group-4.4.5.tgz#e53d4e3f3344da8521489fbef8f2581d42becdd1"
- integrity sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g==
- dependencies:
- "@babel/runtime" "^7.5.5"
- dom-helpers "^5.0.1"
- loose-envify "^1.4.0"
- prop-types "^15.6.2"
-
react@18.3.1:
version "18.3.1"
resolved "https://registry.yarnpkg.com/react/-/react-18.3.1.tgz#49ab892009c53933625bd16b2533fc754cab2891"
@@ -5446,27 +5078,6 @@ react@18.3.1:
dependencies:
loose-envify "^1.1.0"
-recharts-scale@^0.4.4:
- version "0.4.5"
- resolved "https://registry.yarnpkg.com/recharts-scale/-/recharts-scale-0.4.5.tgz#0969271f14e732e642fcc5bd4ab270d6e87dd1d9"
- integrity sha512-kivNFO+0OcUNu7jQquLXAxz1FIwZj8nrj+YkOKc5694NbjCvcT6aSZiIzNzd2Kul4o4rTto8QVR9lMNtxD4G1w==
- dependencies:
- decimal.js-light "^2.4.1"
-
-recharts@2.15.4:
- version "2.15.4"
- resolved "https://registry.yarnpkg.com/recharts/-/recharts-2.15.4.tgz#0ed3e66c0843bcf2d9f9a172caf97b1d05127a5f"
- integrity sha512-UT/q6fwS3c1dHbXv2uFgYJ9BMFHu3fwnd7AYZaEQhXuYQ4hgsxLvsUXzGdKeZrW5xopzDCvuA2N41WJ88I7zIw==
- dependencies:
- clsx "^2.0.0"
- eventemitter3 "^4.0.1"
- lodash "^4.17.21"
- react-is "^18.3.1"
- react-smooth "^4.0.4"
- recharts-scale "^0.4.4"
- tiny-invariant "^1.3.1"
- victory-vendor "^36.6.8"
-
rechoir@^0.6.2:
version "0.6.2"
resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384"
@@ -6131,11 +5742,6 @@ text-extensions@^2.0.0:
resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5"
integrity sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==
-tiny-invariant@^1.3.1:
- version "1.3.3"
- resolved "https://registry.yarnpkg.com/tiny-invariant/-/tiny-invariant-1.3.3.tgz#46680b7a873a0d5d10005995eb90a70d74d60127"
- integrity sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==
-
tinyexec@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/tinyexec/-/tinyexec-1.0.1.tgz#70c31ab7abbb4aea0a24f55d120e5990bfa1e0b1"
@@ -6352,26 +5958,6 @@ vaul@^1.1.2:
dependencies:
"@radix-ui/react-dialog" "^1.1.1"
-victory-vendor@^36.6.8:
- version "36.9.2"
- resolved "https://registry.yarnpkg.com/victory-vendor/-/victory-vendor-36.9.2.tgz#668b02a448fa4ea0f788dbf4228b7e64669ff801"
- integrity sha512-PnpQQMuxlwYdocC8fIJqVXvkeViHYzotI+NJrCuav0ZYFoq912ZHBk3mCeuj+5/VpodOjPe1z0Fk2ihgzlXqjQ==
- dependencies:
- "@types/d3-array" "^3.0.3"
- "@types/d3-ease" "^3.0.0"
- "@types/d3-interpolate" "^3.0.1"
- "@types/d3-scale" "^4.0.2"
- "@types/d3-shape" "^3.1.0"
- "@types/d3-time" "^3.0.0"
- "@types/d3-timer" "^3.0.0"
- d3-array "^3.1.6"
- d3-ease "^3.0.1"
- d3-interpolate "^3.0.1"
- d3-scale "^4.0.2"
- d3-shape "^3.1.0"
- d3-time "^3.0.0"
- d3-timer "^3.0.1"
-
vite-plugin-pwa@^1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/vite-plugin-pwa/-/vite-plugin-pwa-1.2.0.tgz#3c7de17d4eed662f273095a0ac52f7a98d0cde36"
@@ -6741,7 +6327,7 @@ yocto-queue@^1.0.0:
resolved "https://registry.yarnpkg.com/zod-validation-error/-/zod-validation-error-4.0.2.tgz#bc605eba49ce0fcd598c127fee1c236be3f22918"
integrity sha512-Q6/nZLe6jxuU80qb/4uJ4t5v2VEZ44lzQjPDhYJNztRQ4wyWc6VF3D3Kb/fAuPetZQnhS3hnajCf9CsWesghLQ==
-"zod@^3.25.0 || ^4.0.0", zod@^4.0.2:
+"zod@^3.25.0 || ^4.0.0":
version "4.1.12"
resolved "https://registry.yarnpkg.com/zod/-/zod-4.1.12.tgz#64f1ea53d00eab91853195653b5af9eee68970f0"
integrity sha512-JInaHOamG8pt5+Ey8kGmdcAcg3OL9reK8ltczgHTAwNhMys/6ThXHityHxVV2p3fkw/c+MAvBHFVYHFZDmjMCQ==
From 4d563eb2f7b40340a3747b06203164bee1a86a17 Mon Sep 17 00:00:00 2001
From: Roland <33993199+rolznz@users.noreply.github.com>
Date: Fri, 13 Feb 2026 14:32:09 +0700
Subject: [PATCH 029/344] chore: bump ldk node dependencies (#2054)
---
go.mod | 2 +-
go.sum | 4 ++--
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/go.mod b/go.mod
index 9a70ead0..0d9fef47 100644
--- a/go.mod
+++ b/go.mod
@@ -7,7 +7,7 @@ require (
github.com/btcsuite/btcd v0.24.3-0.20250318170759-4f4ea81776d6
github.com/btcsuite/btcd/btcutil v1.1.6
github.com/elnosh/gonuts v0.4.2
- github.com/getAlby/ldk-node-go v0.0.0-20260106083454-34a77eb123bb
+ github.com/getAlby/ldk-node-go v0.0.0-20260210094439-f4fc56578330
github.com/go-gormigrate/gormigrate/v2 v2.1.5
github.com/labstack/echo/v4 v4.13.4
github.com/mattn/go-sqlite3 v1.14.32
diff --git a/go.sum b/go.sum
index dc23c222..8bb67359 100644
--- a/go.sum
+++ b/go.sum
@@ -183,8 +183,8 @@ github.com/fsnotify/fsnotify v1.9.0 h1:2Ml+OJNzbYCTzsxtv8vKSFD9PbJjmhYF14k/jKC7S
github.com/fsnotify/fsnotify v1.9.0/go.mod h1:8jBTzvmWwFyi3Pb8djgCCO5IBqzKJ/Jwo8TRcHyHii0=
github.com/fxamacker/cbor/v2 v2.7.0 h1:iM5WgngdRBanHcxugY4JySA0nk1wZorNOpTgCMedv5E=
github.com/fxamacker/cbor/v2 v2.7.0/go.mod h1:pxXPTn3joSm21Gbwsv0w9OSA2y1HFR9qXEeXQVeNoDQ=
-github.com/getAlby/ldk-node-go v0.0.0-20260106083454-34a77eb123bb h1:ilevBkWdRmk63ach1UBrPwbMKvbK65njlnS0VO+1daw=
-github.com/getAlby/ldk-node-go v0.0.0-20260106083454-34a77eb123bb/go.mod h1:8BRjtKcz8E0RyYTPEbMS8VIdgredcGSLne8vHDtcRLg=
+github.com/getAlby/ldk-node-go v0.0.0-20260210094439-f4fc56578330 h1:JxzUYE5wn4MA0fF08jra+/hcZ+1uvVvy9luiXimd/tA=
+github.com/getAlby/ldk-node-go v0.0.0-20260210094439-f4fc56578330/go.mod h1:8BRjtKcz8E0RyYTPEbMS8VIdgredcGSLne8vHDtcRLg=
github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04=
github.com/go-gormigrate/gormigrate/v2 v2.1.5 h1:1OyorA5LtdQw12cyJDEHuTrEV3GiXiIhS4/QTTa/SM8=
github.com/go-gormigrate/gormigrate/v2 v2.1.5/go.mod h1:mj9ekk/7CPF3VjopaFvWKN2v7fN3D9d3eEOAXRhi/+M=
From ae1ebaafd7b52aa6dbfe6756ec4bf8dd8da4c725 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Wed, 25 Feb 2026 20:25:00 +0530
Subject: [PATCH 030/344] build(deps-dev): bump @types/node from 24.7.2 to
25.2.3 in /frontend (#2080)
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 24.7.2 to 25.2.3.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)
---
updated-dependencies:
- dependency-name: "@types/node"
dependency-version: 25.2.3
dependency-type: direct:development
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot]
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
frontend/package.json | 2 +-
frontend/yarn.lock | 18 +++++++++---------
2 files changed, 10 insertions(+), 10 deletions(-)
diff --git a/frontend/package.json b/frontend/package.json
index b8a4f788..27f25bd8 100644
--- a/frontend/package.json
+++ b/frontend/package.json
@@ -73,7 +73,7 @@
"@tailwindcss/forms": "^0.5.7",
"@tailwindcss/typography": "^0.5.19",
"@tailwindcss/vite": "^4.1.11",
- "@types/node": "^24.7.2",
+ "@types/node": "^25.2.3",
"@types/react": "^18.2.15",
"@types/react-dom": "^18.2.7",
"@types/react-lottie": "^1.2.10",
diff --git a/frontend/yarn.lock b/frontend/yarn.lock
index bac331db..3f0022f6 100644
--- a/frontend/yarn.lock
+++ b/frontend/yarn.lock
@@ -2436,12 +2436,12 @@
resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.15.tgz#596a1747233694d50f6ad8a7869fcb6f56cf5841"
integrity sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==
-"@types/node@*", "@types/node@^24.7.2":
- version "24.7.2"
- resolved "https://registry.yarnpkg.com/@types/node/-/node-24.7.2.tgz#5adf66b6e2ac5cab1d10a2ad3682e359cb652f4a"
- integrity sha512-/NbVmcGTP+lj5oa4yiYxxeBjRivKQ5Ns1eSZeB99ExsEQ6rX5XYU1Zy/gGxY/ilqtD4Etx9mKyrPxZRetiahhA==
+"@types/node@*", "@types/node@^25.2.3":
+ version "25.2.3"
+ resolved "https://registry.yarnpkg.com/@types/node/-/node-25.2.3.tgz#9c18245be768bdb4ce631566c7da303a5c99a7f8"
+ integrity sha512-m0jEgYlYz+mDJZ2+F4v8D1AyQb+QzsNqRuI7xg1VQX/KlKS0qT9r1Mo16yo5F/MtifXFgaofIFsdFMox2SxIbQ==
dependencies:
- undici-types "~7.14.0"
+ undici-types "~7.16.0"
"@types/prop-types@*":
version "15.7.15"
@@ -5861,10 +5861,10 @@ unbox-primitive@^1.1.0:
has-symbols "^1.1.0"
which-boxed-primitive "^1.1.1"
-undici-types@~7.14.0:
- version "7.14.0"
- resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-7.14.0.tgz#4c037b32ca4d7d62fae042174604341588bc0840"
- integrity sha512-QQiYxHuyZ9gQUIrmPo3IA+hUl4KYk8uSA7cHrcKd/l3p1OTpZcM0Tbp9x7FAtXdAYhlasd60ncPpgu6ihG6TOA==
+undici-types@~7.16.0:
+ version "7.16.0"
+ resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-7.16.0.tgz#ffccdff36aea4884cbfce9a750a0580224f58a46"
+ integrity sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==
unicode-canonical-property-names-ecmascript@^2.0.0:
version "2.0.1"
From b930a488e65f11dcb1f49a1c894079c78b86eb28 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Wed, 25 Feb 2026 20:27:06 +0530
Subject: [PATCH 031/344] build(deps-dev): bump vite-tsconfig-paths from 5.1.4
to 6.1.1 in /frontend (#2079)
build(deps-dev): bump vite-tsconfig-paths in /frontend
Bumps [vite-tsconfig-paths](https://github.com/aleclarson/vite-tsconfig-paths) from 5.1.4 to 6.1.1.
- [Release notes](https://github.com/aleclarson/vite-tsconfig-paths/releases)
- [Commits](https://github.com/aleclarson/vite-tsconfig-paths/compare/v5.1.4...v6.1.1)
---
updated-dependencies:
- dependency-name: vite-tsconfig-paths
dependency-version: 6.1.1
dependency-type: direct:development
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot]
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
frontend/package.json | 2 +-
frontend/yarn.lock | 8 ++++----
2 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/frontend/package.json b/frontend/package.json
index 27f25bd8..4a97f8a2 100644
--- a/frontend/package.json
+++ b/frontend/package.json
@@ -93,6 +93,6 @@
"typescript": "^5.9.3",
"vite": "^5.4.0",
"vite-plugin-pwa": "^1.2.0",
- "vite-tsconfig-paths": "^5.1.4"
+ "vite-tsconfig-paths": "^6.1.1"
}
}
diff --git a/frontend/yarn.lock b/frontend/yarn.lock
index 3f0022f6..5e604d2a 100644
--- a/frontend/yarn.lock
+++ b/frontend/yarn.lock
@@ -5969,10 +5969,10 @@ vite-plugin-pwa@^1.2.0:
workbox-build "^7.4.0"
workbox-window "^7.4.0"
-vite-tsconfig-paths@^5.1.4:
- version "5.1.4"
- resolved "https://registry.yarnpkg.com/vite-tsconfig-paths/-/vite-tsconfig-paths-5.1.4.tgz#d9a71106a7ff2c1c840c6f1708042f76a9212ed4"
- integrity sha512-cYj0LRuLV2c2sMqhqhGpaO3LretdtMn/BVX4cPLanIZuwwrkVl+lK84E/miEXkCHWXuq65rhNN4rXsBcOB3S4w==
+vite-tsconfig-paths@^6.1.1:
+ version "6.1.1"
+ resolved "https://registry.yarnpkg.com/vite-tsconfig-paths/-/vite-tsconfig-paths-6.1.1.tgz#d5c28cba79c89ebf76489ef1040024b21df6da3a"
+ integrity sha512-2cihq7zliibCCZ8P9cKJrQBkfgdvcFkOOc3Y02o3GWUDLgqjWsZudaoiuOwO/gzTzy17cS5F7ZPo4bsnS4DGkg==
dependencies:
debug "^4.1.1"
globrex "^0.1.2"
From 39914fe642d8669c2ab9effb2eefdf079fac4210 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Wed, 25 Feb 2026 20:29:46 +0530
Subject: [PATCH 032/344] build(deps): bump tailwind-merge from 3.3.1 to 3.4.1
in /frontend (#2078)
Bumps [tailwind-merge](https://github.com/dcastil/tailwind-merge) from 3.3.1 to 3.4.1.
- [Release notes](https://github.com/dcastil/tailwind-merge/releases)
- [Commits](https://github.com/dcastil/tailwind-merge/compare/v3.3.1...v3.4.1)
---
updated-dependencies:
- dependency-name: tailwind-merge
dependency-version: 3.4.1
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot]
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
frontend/package.json | 2 +-
frontend/yarn.lock | 8 ++++----
2 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/frontend/package.json b/frontend/package.json
index 4a97f8a2..4df6a299 100644
--- a/frontend/package.json
+++ b/frontend/package.json
@@ -58,7 +58,7 @@
"react-router-dom": "^6.21.0",
"sonner": "^2.0.7",
"swr": "^2.3.6",
- "tailwind-merge": "^3.3.1",
+ "tailwind-merge": "^3.4.1",
"tw-animate-css": "^1.3.5",
"vaul": "^1.1.2",
"zustand": "^4.5.0"
diff --git a/frontend/yarn.lock b/frontend/yarn.lock
index 5e604d2a..bbb97c62 100644
--- a/frontend/yarn.lock
+++ b/frontend/yarn.lock
@@ -5675,10 +5675,10 @@ swr@^2.3.6:
dequal "^2.0.3"
use-sync-external-store "^1.4.0"
-tailwind-merge@^3.3.1:
- version "3.3.1"
- resolved "https://registry.yarnpkg.com/tailwind-merge/-/tailwind-merge-3.3.1.tgz#a7e7db7c714f6020319e626ecfb7e7dac8393a4b"
- integrity sha512-gBXpgUm/3rp1lMZZrM/w7D8GKqshif0zAymAhbCyIt8KMe+0v9DQ7cdYLR4FHH/cKpdTXb+A/tKKU3eolfsI+g==
+tailwind-merge@^3.4.1:
+ version "3.4.1"
+ resolved "https://registry.yarnpkg.com/tailwind-merge/-/tailwind-merge-3.4.1.tgz#37e12eeb8bf49d15c116ff2018fa01fac10e2b9e"
+ integrity sha512-2OA0rFqWOkITEAOFWSBSApYkDeH9t2B3XSJuI4YztKBzK3mX0737A2qtxDZ7xkw9Zfh0bWl+r34sF3HXV+Ig7Q==
tailwindcss@4.1.11:
version "4.1.11"
From e7c69d8c32bc3c70ce34ed98c7d92e830faa215b Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Wed, 25 Feb 2026 20:32:36 +0530
Subject: [PATCH 033/344] build(deps): bump @radix-ui/react-checkbox from 1.3.2
to 1.3.3 in /frontend (#2077)
build(deps): bump @radix-ui/react-checkbox in /frontend
Bumps [@radix-ui/react-checkbox](https://github.com/radix-ui/primitives) from 1.3.2 to 1.3.3.
- [Changelog](https://github.com/radix-ui/primitives/blob/main/release-process.md)
- [Commits](https://github.com/radix-ui/primitives/commits)
---
updated-dependencies:
- dependency-name: "@radix-ui/react-checkbox"
dependency-version: 1.3.3
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot]
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
frontend/package.json | 2 +-
frontend/yarn.lock | 12 ++++++------
2 files changed, 7 insertions(+), 7 deletions(-)
diff --git a/frontend/package.json b/frontend/package.json
index 4df6a299..b848ca84 100644
--- a/frontend/package.json
+++ b/frontend/package.json
@@ -25,7 +25,7 @@
"@radix-ui/react-accordion": "^1.2.12",
"@radix-ui/react-alert-dialog": "^1.1.14",
"@radix-ui/react-avatar": "^1.1.11",
- "@radix-ui/react-checkbox": "^1.3.2",
+ "@radix-ui/react-checkbox": "^1.3.3",
"@radix-ui/react-dialog": "^1.1.15",
"@radix-ui/react-dropdown-menu": "^2.1.15",
"@radix-ui/react-label": "^2.1.8",
diff --git a/frontend/yarn.lock b/frontend/yarn.lock
index bbb97c62..311805fa 100644
--- a/frontend/yarn.lock
+++ b/frontend/yarn.lock
@@ -1462,15 +1462,15 @@
"@radix-ui/react-use-is-hydrated" "0.1.0"
"@radix-ui/react-use-layout-effect" "1.1.1"
-"@radix-ui/react-checkbox@^1.3.2":
- version "1.3.2"
- resolved "https://registry.yarnpkg.com/@radix-ui/react-checkbox/-/react-checkbox-1.3.2.tgz#28097244d968aa8f93249b0d3df02a172fd4bee5"
- integrity sha512-yd+dI56KZqawxKZrJ31eENUwqc1QSqg4OZ15rybGjF2ZNwMO+wCyHzAVLRp9qoYJf7kYy0YpZ2b0JCzJ42HZpA==
+"@radix-ui/react-checkbox@^1.3.3":
+ version "1.3.3"
+ resolved "https://registry.yarnpkg.com/@radix-ui/react-checkbox/-/react-checkbox-1.3.3.tgz#db45ca8a6d5c056a92f74edbb564acee05318b79"
+ integrity sha512-wBbpv+NQftHDdG86Qc0pIyXk5IR3tM8Vd0nWLKDcX8nNn4nXFOFwsKuqw2okA/1D/mpaAkmuyndrPJTYDNZtFw==
dependencies:
- "@radix-ui/primitive" "1.1.2"
+ "@radix-ui/primitive" "1.1.3"
"@radix-ui/react-compose-refs" "1.1.2"
"@radix-ui/react-context" "1.1.2"
- "@radix-ui/react-presence" "1.1.4"
+ "@radix-ui/react-presence" "1.1.5"
"@radix-ui/react-primitive" "2.1.3"
"@radix-ui/react-use-controllable-state" "1.2.2"
"@radix-ui/react-use-previous" "1.1.1"
From 468666a5dc519f1224b850e66a6f7293889474bf Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Wed, 25 Feb 2026 21:07:12 +0530
Subject: [PATCH 034/344] build(deps): bump github.com/sirupsen/logrus from
1.9.3 to 1.9.4 (#2076)
Bumps [github.com/sirupsen/logrus](https://github.com/sirupsen/logrus) from 1.9.3 to 1.9.4.
- [Release notes](https://github.com/sirupsen/logrus/releases)
- [Changelog](https://github.com/sirupsen/logrus/blob/master/CHANGELOG.md)
- [Commits](https://github.com/sirupsen/logrus/compare/v1.9.3...v1.9.4)
---
updated-dependencies:
- dependency-name: github.com/sirupsen/logrus
dependency-version: 1.9.4
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot]
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
go.mod | 2 +-
go.sum | 5 ++---
2 files changed, 3 insertions(+), 4 deletions(-)
diff --git a/go.mod b/go.mod
index 0d9fef47..7393d88c 100644
--- a/go.mod
+++ b/go.mod
@@ -258,7 +258,7 @@ require (
github.com/kelseyhightower/envconfig v1.4.0
github.com/labstack/echo-jwt/v4 v4.4.0
github.com/lightningnetwork/lnd v0.20.0-beta.rc4
- github.com/sirupsen/logrus v1.9.3
+ github.com/sirupsen/logrus v1.9.4
github.com/tyler-smith/go-bip32 v1.0.0
golang.org/x/exp v0.0.0-20250506013437-ce4c2cf36ca6 // indirect
gorm.io/datatypes v1.2.7
diff --git a/go.sum b/go.sum
index 8bb67359..2cd341b8 100644
--- a/go.sum
+++ b/go.sum
@@ -590,8 +590,8 @@ github.com/shopspring/decimal v1.2.0/go.mod h1:DKyhrW/HYNuLGql+MJL6WCR6knT2jwCFR
github.com/sirupsen/logrus v1.4.1/go.mod h1:ni0Sbl8bgC9z8RoU9G6nDWqqs/fq4eDPysMBDgk/93Q=
github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE=
github.com/sirupsen/logrus v1.8.1/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0=
-github.com/sirupsen/logrus v1.9.3 h1:dueUQJ1C2q9oE3F7wvmSGAaVtTmUizReu6fjN8uqzbQ=
-github.com/sirupsen/logrus v1.9.3/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ=
+github.com/sirupsen/logrus v1.9.4 h1:TsZE7l11zFCLZnZ+teH4Umoq5BhEIfIzfRDZ1Uzql2w=
+github.com/sirupsen/logrus v1.9.4/go.mod h1:ftWc9WdOfJ0a92nsE2jF5u5ZwH8Bv2zdeOC42RjbV2g=
github.com/soheilhy/cmux v0.1.5 h1:jjzc5WVemNEDTLwv9tlmemhC73tI08BNOIGwBOo10Js=
github.com/soheilhy/cmux v0.1.5/go.mod h1:T7TcVDs9LWfQgPlPsdngu6I6QIoyIFZDDC6sNE1GqG0=
github.com/spf13/pflag v1.0.6 h1:jFzHGLGAlb3ruxLB8MhbI6A8+AQX/2eW4qeyNZXNp2o=
@@ -851,7 +851,6 @@ golang.org/x/sys v0.0.0-20211025201205-69cdffdb9359/go.mod h1:oPkhp1MJrh7nUepCBc
golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220412211240-33da011f77ad/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
-golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
From 58ac083eb69f40ee7cb407b8586b519ccd0b3e01 Mon Sep 17 00:00:00 2001
From: Adithya Vardhan
Date: Wed, 25 Feb 2026 21:28:25 +0530
Subject: [PATCH 035/344] chore: migrate to eslint v10 (#2091)
* chore: migrate to eslint v10
* fix: linting issues
---
frontend/eslint.config.mjs | 50 +-
frontend/package.json | 12 +-
.../ExecuteCustomNodeCommandDialogContent.tsx | 2 +-
.../home/widgets/AppOfTheDayWidget.tsx | 2 +-
.../src/components/layouts/SettingsLayout.tsx | 4 +-
frontend/src/components/ui/theme-provider.tsx | 3 +-
frontend/src/lib/clipboard.ts | 2 +-
frontend/src/screens/channels/Channels.tsx | 2 +-
.../src/screens/internal-apps/Bitrefill.tsx | 2 +-
frontend/src/screens/settings/Backup.tsx | 2 +-
frontend/src/types.ts | 2 +-
frontend/yarn.lock | 484 +++++++++---------
12 files changed, 276 insertions(+), 291 deletions(-)
diff --git a/frontend/eslint.config.mjs b/frontend/eslint.config.mjs
index 11d0af74..ef1cae60 100644
--- a/frontend/eslint.config.mjs
+++ b/frontend/eslint.config.mjs
@@ -1,20 +1,10 @@
-import { fixupConfigRules, fixupPluginRules } from "@eslint/compat";
-import { FlatCompat } from "@eslint/eslintrc";
-import js from "@eslint/js";
-import typescriptEslint from "@typescript-eslint/eslint-plugin";
+import eslint from "@eslint/js";
import tsParser from "@typescript-eslint/parser";
+import eslintConfigPrettier from "eslint-config-prettier/flat";
+import reactHooks from "eslint-plugin-react-hooks";
import reactRefresh from "eslint-plugin-react-refresh";
import globals from "globals";
-import path from "node:path";
-import { fileURLToPath } from "node:url";
-const __filename = fileURLToPath(import.meta.url);
-const __dirname = path.dirname(__filename);
-
-const compat = new FlatCompat({
- baseDirectory: __dirname,
- recommendedConfig: js.configs.recommended,
- allConfig: js.configs.all,
-});
+import tseslint from "typescript-eslint";
export default [
{
@@ -25,20 +15,12 @@ export default [
"src/components/ui/navigation-menu.tsx",
],
},
- ...fixupConfigRules(
- compat.extends(
- "eslint:recommended",
- "plugin:@typescript-eslint/recommended",
- "plugin:react-hooks/recommended",
- "prettier"
- )
- ),
+ eslint.configs.recommended,
+ ...tseslint.configs.recommended,
+ reactRefresh.configs.vite,
+ reactHooks.configs.flat["recommended-latest"],
+ eslintConfigPrettier,
{
- plugins: {
- "react-refresh": reactRefresh,
- "@typescript-eslint": fixupPluginRules(typescriptEslint),
- },
-
languageOptions: {
globals: {
...globals.browser,
@@ -48,20 +30,6 @@ export default [
},
files: ["**/*.ts", "**/*.tsx"],
rules: {
- "react-refresh/only-export-components": [
- "warn",
- {
- allowConstantExport: true,
- },
- ],
-
- "@typescript-eslint/ban-ts-comment": [
- "error",
- {
- "ts-ignore": "allow-with-description",
- },
- ],
-
"@typescript-eslint/no-unused-vars": [
"warn",
{
diff --git a/frontend/package.json b/frontend/package.json
index b848ca84..4d8ebb40 100644
--- a/frontend/package.json
+++ b/frontend/package.json
@@ -66,9 +66,8 @@
"devDependencies": {
"@commitlint/cli": "^19.3.0",
"@commitlint/config-conventional": "^20.0.0",
- "@eslint/compat": "^1.0.3",
- "@eslint/eslintrc": "^3.1.0",
- "@eslint/js": "^9.4.0",
+ "@eslint/eslintrc": "^3.3.4",
+ "@eslint/js": "^10.0.1",
"@tailwindcss/aspect-ratio": "^0.4.2",
"@tailwindcss/forms": "^0.5.7",
"@tailwindcss/typography": "^0.5.19",
@@ -77,13 +76,11 @@
"@types/react": "^18.2.15",
"@types/react-dom": "^18.2.7",
"@types/react-lottie": "^1.2.10",
- "@typescript-eslint/eslint-plugin": "^7.11.0",
- "@typescript-eslint/parser": "^7.11.0",
"@vitejs/plugin-react-swc": "^3.3.2",
- "eslint": "^9.4.0",
+ "eslint": "^10.0.2",
"eslint-config-prettier": "^10.1.8",
"eslint-plugin-react-hooks": "^7.0.1",
- "eslint-plugin-react-refresh": "^0.4.3",
+ "eslint-plugin-react-refresh": "^0.5.2",
"globals": "^15.4.0",
"husky": "^9.0.11",
"lint-staged": "^15.2.5",
@@ -91,6 +88,7 @@
"shx": "^0.4.0",
"tailwindcss": "^4.1.16",
"typescript": "^5.9.3",
+ "typescript-eslint": "^8.56.1",
"vite": "^5.4.0",
"vite-plugin-pwa": "^1.2.0",
"vite-tsconfig-paths": "^6.1.1"
diff --git a/frontend/src/components/ExecuteCustomNodeCommandDialogContent.tsx b/frontend/src/components/ExecuteCustomNodeCommandDialogContent.tsx
index 17d85c9b..1d563e70 100644
--- a/frontend/src/components/ExecuteCustomNodeCommandDialogContent.tsx
+++ b/frontend/src/components/ExecuteCustomNodeCommandDialogContent.tsx
@@ -32,7 +32,7 @@ export function ExecuteCustomNodeCommandDialogContent({
null,
2
);
- } catch (error) {
+ } catch {
// ignore unexpected json
}
diff --git a/frontend/src/components/home/widgets/AppOfTheDayWidget.tsx b/frontend/src/components/home/widgets/AppOfTheDayWidget.tsx
index 07ba88e3..af4858c7 100644
--- a/frontend/src/components/home/widgets/AppOfTheDayWidget.tsx
+++ b/frontend/src/components/home/widgets/AppOfTheDayWidget.tsx
@@ -12,7 +12,7 @@ import { LinkButton } from "src/components/ui/custom/link-button";
export function AppOfTheDayWidget() {
function seededRandom(seed: number) {
- const x = Math.sin(seed++) * 10000;
+ const x = Math.sin(seed) * 10000;
return x - Math.floor(x);
}
diff --git a/frontend/src/components/layouts/SettingsLayout.tsx b/frontend/src/components/layouts/SettingsLayout.tsx
index 418c3cea..15f7eca0 100644
--- a/frontend/src/components/layouts/SettingsLayout.tsx
+++ b/frontend/src/components/layouts/SettingsLayout.tsx
@@ -134,7 +134,7 @@ export default function SettingsLayout() {
);
}
-const MenuItem = ({
+export const MenuItem = ({
to,
children,
}: {
@@ -159,5 +159,3 @@ const MenuItem = ({
>
);
-
-MenuItem;
diff --git a/frontend/src/components/ui/theme-provider.tsx b/frontend/src/components/ui/theme-provider.tsx
index 81f62dff..d7550004 100644
--- a/frontend/src/components/ui/theme-provider.tsx
+++ b/frontend/src/components/ui/theme-provider.tsx
@@ -1,6 +1,7 @@
import { createContext, useContext, useEffect, useState } from "react";
export type DarkMode = "system" | "light" | "dark";
+// eslint-disable-next-line react-refresh/only-export-components
export const Themes = [
"default",
"alby",
@@ -71,7 +72,7 @@ export function ThemeProvider({
classList.add(`theme-${theme}`);
- let prefersDark = false;
+ let prefersDark;
if (darkMode == "system") {
prefersDark = window.matchMedia("(prefers-color-scheme: dark)").matches;
} else {
diff --git a/frontend/src/lib/clipboard.ts b/frontend/src/lib/clipboard.ts
index 68a96607..3020a95c 100644
--- a/frontend/src/lib/clipboard.ts
+++ b/frontend/src/lib/clipboard.ts
@@ -27,7 +27,7 @@ export async function copyToClipboard(content: string) {
try {
await copyPromise;
toast.success("Copied to clipboard");
- } catch (e) {
+ } catch {
toast.error("Failed to copy to clipboard");
}
}
diff --git a/frontend/src/screens/channels/Channels.tsx b/frontend/src/screens/channels/Channels.tsx
index 66cd694e..de3b281c 100644
--- a/frontend/src/screens/channels/Channels.tsx
+++ b/frontend/src/screens/channels/Channels.tsx
@@ -134,7 +134,7 @@ export default function Channels() {
id: channel.id,
message: "Unconfirmed for " + unconfirmedHours + " hours",
});
- } catch (error) {
+ } catch {
_longUnconfirmedZeroConfChannels.push({
id: channel.id,
message: "Channel transaction not in the mempool yet",
diff --git a/frontend/src/screens/internal-apps/Bitrefill.tsx b/frontend/src/screens/internal-apps/Bitrefill.tsx
index 54fb9d0a..1fb77421 100644
--- a/frontend/src/screens/internal-apps/Bitrefill.tsx
+++ b/frontend/src/screens/internal-apps/Bitrefill.tsx
@@ -34,7 +34,7 @@ export function Bitrefill() {
const invoice = new Invoice({ pr: parsedData.paymentAddress });
setInvoice(invoice);
}
- } catch (e) {
+ } catch {
/* empty */
}
}
diff --git a/frontend/src/screens/settings/Backup.tsx b/frontend/src/screens/settings/Backup.tsx
index 8be31353..bfe2fda9 100644
--- a/frontend/src/screens/settings/Backup.tsx
+++ b/frontend/src/screens/settings/Backup.tsx
@@ -63,7 +63,7 @@ export default function Backup() {
setDecryptedMnemonic(result?.mnemonic ?? "");
setIsDialogOpen(true);
- } catch (error) {
+ } catch {
toast.error("Incorrect password", {
description: "Failed to decrypt recovery phrase.",
});
diff --git a/frontend/src/types.ts b/frontend/src/types.ts
index 135b1bb5..6b1930dd 100644
--- a/frontend/src/types.ts
+++ b/frontend/src/types.ts
@@ -367,7 +367,7 @@ export type OpenChannelResponse = {
fundingTxId: string;
};
-// eslint-disable-next-line @typescript-eslint/ban-types
+// eslint-disable-next-line @typescript-eslint/no-empty-object-type
export type CloseChannelResponse = {};
export type PendingBalancesDetails = {
diff --git a/frontend/yarn.lock b/frontend/yarn.lock
index 311805fa..f1fedd83 100644
--- a/frontend/yarn.lock
+++ b/frontend/yarn.lock
@@ -1124,75 +1124,72 @@
resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz#acad351d582d157bb145535db2a6ff53dd514b5c"
integrity sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==
-"@eslint-community/eslint-utils@^4.2.0", "@eslint-community/eslint-utils@^4.4.0":
- version "4.7.0"
- resolved "https://registry.yarnpkg.com/@eslint-community/eslint-utils/-/eslint-utils-4.7.0.tgz#607084630c6c033992a082de6e6fbc1a8b52175a"
- integrity sha512-dyybb3AcajC7uha6CvhdVRJqaKyn7w2YKqKyAN37NKYgZT36w+iRb0Dymmc5qEJ549c/S31cMMSFd75bteCpCw==
+"@eslint-community/eslint-utils@^4.8.0", "@eslint-community/eslint-utils@^4.9.1":
+ version "4.9.1"
+ resolved "https://registry.yarnpkg.com/@eslint-community/eslint-utils/-/eslint-utils-4.9.1.tgz#4e90af67bc51ddee6cdef5284edf572ec376b595"
+ integrity sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ==
dependencies:
eslint-visitor-keys "^3.4.3"
-"@eslint-community/regexpp@^4.10.0", "@eslint-community/regexpp@^4.12.1":
- version "4.12.1"
- resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.12.1.tgz#cfc6cffe39df390a3841cde2abccf92eaa7ae0e0"
- integrity sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==
+"@eslint-community/regexpp@^4.12.2":
+ version "4.12.2"
+ resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.12.2.tgz#bccdf615bcf7b6e8db830ec0b8d21c9a25de597b"
+ integrity sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==
-"@eslint/compat@^1.0.3":
- version "1.3.2"
- resolved "https://registry.yarnpkg.com/@eslint/compat/-/compat-1.3.2.tgz#1a8766e447fad3d091b1a88b9f78f867832285b7"
- integrity sha512-jRNwzTbd6p2Rw4sZ1CgWRS8YMtqG15YyZf7zvb6gY2rB2u6n+2Z+ELW0GtL0fQgyl0pr4Y/BzBfng/BdsereRA==
-
-"@eslint/config-array@^0.21.0":
- version "0.21.0"
- resolved "https://registry.yarnpkg.com/@eslint/config-array/-/config-array-0.21.0.tgz#abdbcbd16b124c638081766392a4d6b509f72636"
- integrity sha512-ENIdc4iLu0d93HeYirvKmrzshzofPw6VkZRKQGe9Nv46ZnWUzcF1xV01dcvEg/1wXUR61OmmlSfyeyO7EvjLxQ==
+"@eslint/config-array@^0.23.2":
+ version "0.23.2"
+ resolved "https://registry.yarnpkg.com/@eslint/config-array/-/config-array-0.23.2.tgz#db85beeff7facc685a5775caacb1c845669b9470"
+ integrity sha512-YF+fE6LV4v5MGWRGj7G404/OZzGNepVF8fxk7jqmqo3lrza7a0uUcDnROGRBG1WFC1omYUS/Wp1f42i0M+3Q3A==
dependencies:
- "@eslint/object-schema" "^2.1.6"
+ "@eslint/object-schema" "^3.0.2"
debug "^4.3.1"
- minimatch "^3.1.2"
+ minimatch "^10.2.1"
-"@eslint/config-helpers@^0.3.0":
- version "0.3.1"
- resolved "https://registry.yarnpkg.com/@eslint/config-helpers/-/config-helpers-0.3.1.tgz#d316e47905bd0a1a931fa50e669b9af4104d1617"
- integrity sha512-xR93k9WhrDYpXHORXpxVL5oHj3Era7wo6k/Wd8/IsQNnZUTzkGS29lyn3nAT05v6ltUuTFVCCYDEGfy2Or/sPA==
+"@eslint/config-helpers@^0.5.2":
+ version "0.5.2"
+ resolved "https://registry.yarnpkg.com/@eslint/config-helpers/-/config-helpers-0.5.2.tgz#314c7b03d02a371ad8c0a7f6821d5a8a8437ba9d"
+ integrity sha512-a5MxrdDXEvqnIq+LisyCX6tQMPF/dSJpCfBgBauY+pNZ28yCtSsTvyTYrMhaI+LK26bVyCJfJkT0u8KIj2i1dQ==
+ dependencies:
+ "@eslint/core" "^1.1.0"
-"@eslint/core@^0.15.0", "@eslint/core@^0.15.2":
- version "0.15.2"
- resolved "https://registry.yarnpkg.com/@eslint/core/-/core-0.15.2.tgz#59386327d7862cc3603ebc7c78159d2dcc4a868f"
- integrity sha512-78Md3/Rrxh83gCxoUc0EiciuOHsIITzLy53m3d9UyiW8y9Dj2D29FeETqyKA+BRK76tnTp6RXWb3pCay8Oyomg==
+"@eslint/core@^1.1.0":
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/@eslint/core/-/core-1.1.0.tgz#51f5cd970e216fbdae6721ac84491f57f965836d"
+ integrity sha512-/nr9K9wkr3P1EzFTdFdMoLuo1PmIxjmwvPozwoSodjNBdefGujXQUF93u1DDZpEaTuDvMsIQddsd35BwtrW9Xw==
dependencies:
"@types/json-schema" "^7.0.15"
-"@eslint/eslintrc@^3.1.0", "@eslint/eslintrc@^3.3.1":
- version "3.3.1"
- resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-3.3.1.tgz#e55f7f1dd400600dd066dbba349c4c0bac916964"
- integrity sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==
+"@eslint/eslintrc@^3.3.4":
+ version "3.3.4"
+ resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-3.3.4.tgz#e402b1920f7c1f5a15342caa432b1348cacbb641"
+ integrity sha512-4h4MVF8pmBsncB60r0wSJiIeUKTSD4m7FmTFThG8RHlsg9ajqckLm9OraguFGZE4vVdpiI1Q4+hFnisopmG6gQ==
dependencies:
- ajv "^6.12.4"
+ ajv "^6.14.0"
debug "^4.3.2"
espree "^10.0.1"
globals "^14.0.0"
ignore "^5.2.0"
import-fresh "^3.2.1"
- js-yaml "^4.1.0"
- minimatch "^3.1.2"
+ js-yaml "^4.1.1"
+ minimatch "^3.1.3"
strip-json-comments "^3.1.1"
-"@eslint/js@9.32.0", "@eslint/js@^9.4.0":
- version "9.32.0"
- resolved "https://registry.yarnpkg.com/@eslint/js/-/js-9.32.0.tgz#a02916f58bd587ea276876cb051b579a3d75d091"
- integrity sha512-BBpRFZK3eX6uMLKz8WxFOBIFFcGFJ/g8XuwjTHCqHROSIsopI+ddn/d5Cfh36+7+e5edVS8dbSHnBNhrLEX0zg==
+"@eslint/js@^10.0.1":
+ version "10.0.1"
+ resolved "https://registry.yarnpkg.com/@eslint/js/-/js-10.0.1.tgz#1e8a876f50117af8ab67e47d5ad94d38d6622583"
+ integrity sha512-zeR9k5pd4gxjZ0abRoIaxdc7I3nDktoXZk2qOv9gCNWx3mVwEn32VRhyLaRsDiJjTs0xq/T8mfPtyuXu7GWBcA==
-"@eslint/object-schema@^2.1.6":
- version "2.1.6"
- resolved "https://registry.yarnpkg.com/@eslint/object-schema/-/object-schema-2.1.6.tgz#58369ab5b5b3ca117880c0f6c0b0f32f6950f24f"
- integrity sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA==
+"@eslint/object-schema@^3.0.2":
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/@eslint/object-schema/-/object-schema-3.0.2.tgz#c59c6a94aa4b428ed7f1615b6a4495c0a21f7a22"
+ integrity sha512-HOy56KJt48Bx8KmJ+XGQNSUMT/6dZee/M54XyUyuvTvPXJmsERRvBchsUVx1UMe1WwIH49XLAczNC7V2INsuUw==
-"@eslint/plugin-kit@^0.3.4":
- version "0.3.5"
- resolved "https://registry.yarnpkg.com/@eslint/plugin-kit/-/plugin-kit-0.3.5.tgz#fd8764f0ee79c8ddab4da65460c641cefee017c5"
- integrity sha512-Z5kJ+wU3oA7MMIqVR9tyZRtjYPr4OC004Q4Rw7pgOKUOKkJfZ3O24nz3WYfGRpMDNmcOi3TwQOmgm7B7Tpii0w==
+"@eslint/plugin-kit@^0.6.0":
+ version "0.6.0"
+ resolved "https://registry.yarnpkg.com/@eslint/plugin-kit/-/plugin-kit-0.6.0.tgz#e0cb12ec66719cb2211ad36499fb516f2a63899d"
+ integrity sha512-bIZEUzOI1jkhviX2cp5vNyXQc6olzb2ohewQubuYlMXZ2Q/XjBO0x0XhGPvc9fjSIiUN0vw+0hq53BJ4eQSJKQ==
dependencies:
- "@eslint/core" "^0.15.2"
+ "@eslint/core" "^1.1.0"
levn "^0.4.1"
"@floating-ui/core@^1.7.3":
@@ -2421,12 +2418,17 @@
dependencies:
"@types/node" "*"
+"@types/esrecurse@^4.3.1":
+ version "4.3.1"
+ resolved "https://registry.yarnpkg.com/@types/esrecurse/-/esrecurse-4.3.1.tgz#6f636af962fbe6191b830bd676ba5986926bccec"
+ integrity sha512-xJBAbDifo5hpffDBuHl0Y8ywswbiAp/Wi7Y/GtAgSlZyIABppyurxVueOPE8LUQOxdlgi6Zqce7uoEpqNTeiUw==
+
"@types/estree@0.0.39":
version "0.0.39"
resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.39.tgz#e177e699ee1b8c22d23174caaa7422644389509f"
integrity sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==
-"@types/estree@1.0.8", "@types/estree@^1.0.0", "@types/estree@^1.0.6":
+"@types/estree@1.0.8", "@types/estree@^1.0.0", "@types/estree@^1.0.6", "@types/estree@^1.0.8":
version "1.0.8"
resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.8.tgz#958b91c991b1867ced318bedea0e215ee050726e"
integrity sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==
@@ -2485,86 +2487,101 @@
resolved "https://registry.yarnpkg.com/@types/trusted-types/-/trusted-types-2.0.7.tgz#baccb07a970b91707df3a3e8ba6896c57ead2d11"
integrity sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==
-"@typescript-eslint/eslint-plugin@^7.11.0":
- version "7.18.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.18.0.tgz#b16d3cf3ee76bf572fdf511e79c248bdec619ea3"
- integrity sha512-94EQTWZ40mzBc42ATNIBimBEDltSJ9RQHCC8vc/PDbxi4k8dVwUAv4o98dk50M1zB+JGFxp43FP7f8+FP8R6Sw==
+"@typescript-eslint/eslint-plugin@8.56.1":
+ version "8.56.1"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.56.1.tgz#b1ce606d87221daec571e293009675992f0aae76"
+ integrity sha512-Jz9ZztpB37dNC+HU2HI28Bs9QXpzCz+y/twHOwhyrIRdbuVDxSytJNDl6z/aAKlaRIwC7y8wJdkBv7FxYGgi0A==
dependencies:
- "@eslint-community/regexpp" "^4.10.0"
- "@typescript-eslint/scope-manager" "7.18.0"
- "@typescript-eslint/type-utils" "7.18.0"
- "@typescript-eslint/utils" "7.18.0"
- "@typescript-eslint/visitor-keys" "7.18.0"
- graphemer "^1.4.0"
- ignore "^5.3.1"
+ "@eslint-community/regexpp" "^4.12.2"
+ "@typescript-eslint/scope-manager" "8.56.1"
+ "@typescript-eslint/type-utils" "8.56.1"
+ "@typescript-eslint/utils" "8.56.1"
+ "@typescript-eslint/visitor-keys" "8.56.1"
+ ignore "^7.0.5"
natural-compare "^1.4.0"
- ts-api-utils "^1.3.0"
+ ts-api-utils "^2.4.0"
-"@typescript-eslint/parser@^7.11.0":
- version "7.18.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-7.18.0.tgz#83928d0f1b7f4afa974098c64b5ce6f9051f96a0"
- integrity sha512-4Z+L8I2OqhZV8qA132M4wNL30ypZGYOQVBfMgxDH/K5UX0PNqTu1c6za9ST5r9+tavvHiTWmBnKzpCJ/GlVFtg==
+"@typescript-eslint/parser@8.56.1":
+ version "8.56.1"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-8.56.1.tgz#21d13b3d456ffb08614c1d68bb9a4f8d9237cdc7"
+ integrity sha512-klQbnPAAiGYFyI02+znpBRLyjL4/BrBd0nyWkdC0s/6xFLkXYQ8OoRrSkqacS1ddVxf/LDyODIKbQ5TgKAf/Fg==
dependencies:
- "@typescript-eslint/scope-manager" "7.18.0"
- "@typescript-eslint/types" "7.18.0"
- "@typescript-eslint/typescript-estree" "7.18.0"
- "@typescript-eslint/visitor-keys" "7.18.0"
- debug "^4.3.4"
+ "@typescript-eslint/scope-manager" "8.56.1"
+ "@typescript-eslint/types" "8.56.1"
+ "@typescript-eslint/typescript-estree" "8.56.1"
+ "@typescript-eslint/visitor-keys" "8.56.1"
+ debug "^4.4.3"
-"@typescript-eslint/scope-manager@7.18.0":
- version "7.18.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-7.18.0.tgz#c928e7a9fc2c0b3ed92ab3112c614d6bd9951c83"
- integrity sha512-jjhdIE/FPF2B7Z1uzc6i3oWKbGcHb87Qw7AWj6jmEqNOfDFbJWtjt/XfwCpvNkpGWlcJaog5vTR+VV8+w9JflA==
+"@typescript-eslint/project-service@8.56.1":
+ version "8.56.1"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/project-service/-/project-service-8.56.1.tgz#65c8d645f028b927bfc4928593b54e2ecd809244"
+ integrity sha512-TAdqQTzHNNvlVFfR+hu2PDJrURiwKsUvxFn1M0h95BB8ah5jejas08jUWG4dBA68jDMI988IvtfdAI53JzEHOQ==
dependencies:
- "@typescript-eslint/types" "7.18.0"
- "@typescript-eslint/visitor-keys" "7.18.0"
+ "@typescript-eslint/tsconfig-utils" "^8.56.1"
+ "@typescript-eslint/types" "^8.56.1"
+ debug "^4.4.3"
-"@typescript-eslint/type-utils@7.18.0":
- version "7.18.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-7.18.0.tgz#2165ffaee00b1fbbdd2d40aa85232dab6998f53b"
- integrity sha512-XL0FJXuCLaDuX2sYqZUUSOJ2sG5/i1AAze+axqmLnSkNEVMVYLF+cbwlB2w8D1tinFuSikHmFta+P+HOofrLeA==
+"@typescript-eslint/scope-manager@8.56.1":
+ version "8.56.1"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-8.56.1.tgz#254df93b5789a871351335dd23e20bc164060f24"
+ integrity sha512-YAi4VDKcIZp0O4tz/haYKhmIDZFEUPOreKbfdAN3SzUDMcPhJ8QI99xQXqX+HoUVq8cs85eRKnD+rne2UAnj2w==
dependencies:
- "@typescript-eslint/typescript-estree" "7.18.0"
- "@typescript-eslint/utils" "7.18.0"
- debug "^4.3.4"
- ts-api-utils "^1.3.0"
+ "@typescript-eslint/types" "8.56.1"
+ "@typescript-eslint/visitor-keys" "8.56.1"
-"@typescript-eslint/types@7.18.0":
- version "7.18.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-7.18.0.tgz#b90a57ccdea71797ffffa0321e744f379ec838c9"
- integrity sha512-iZqi+Ds1y4EDYUtlOOC+aUmxnE9xS/yCigkjA7XpTKV6nCBd3Hp/PRGGmdwnfkV2ThMyYldP1wRpm/id99spTQ==
+"@typescript-eslint/tsconfig-utils@8.56.1", "@typescript-eslint/tsconfig-utils@^8.56.1":
+ version "8.56.1"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.56.1.tgz#1afa830b0fada5865ddcabdc993b790114a879b7"
+ integrity sha512-qOtCYzKEeyr3aR9f28mPJqBty7+DBqsdd63eO0yyDwc6vgThj2UjWfJIcsFeSucYydqcuudMOprZ+x1SpF3ZuQ==
-"@typescript-eslint/typescript-estree@7.18.0":
- version "7.18.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-7.18.0.tgz#b5868d486c51ce8f312309ba79bdb9f331b37931"
- integrity sha512-aP1v/BSPnnyhMHts8cf1qQ6Q1IFwwRvAQGRvBFkWlo3/lH29OXA3Pts+c10nxRxIBrDnoMqzhgdwVe5f2D6OzA==
+"@typescript-eslint/type-utils@8.56.1":
+ version "8.56.1"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-8.56.1.tgz#7a6c4fabf225d674644931e004302cbbdd2f2e24"
+ integrity sha512-yB/7dxi7MgTtGhZdaHCemf7PuwrHMenHjmzgUW1aJpO+bBU43OycnM3Wn+DdvDO/8zzA9HlhaJ0AUGuvri4oGg==
dependencies:
- "@typescript-eslint/types" "7.18.0"
- "@typescript-eslint/visitor-keys" "7.18.0"
- debug "^4.3.4"
- globby "^11.1.0"
- is-glob "^4.0.3"
- minimatch "^9.0.4"
- semver "^7.6.0"
- ts-api-utils "^1.3.0"
+ "@typescript-eslint/types" "8.56.1"
+ "@typescript-eslint/typescript-estree" "8.56.1"
+ "@typescript-eslint/utils" "8.56.1"
+ debug "^4.4.3"
+ ts-api-utils "^2.4.0"
-"@typescript-eslint/utils@7.18.0":
- version "7.18.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-7.18.0.tgz#bca01cde77f95fc6a8d5b0dbcbfb3d6ca4be451f"
- integrity sha512-kK0/rNa2j74XuHVcoCZxdFBMF+aq/vH83CXAOHieC+2Gis4mF8jJXT5eAfyD3K0sAxtPuwxaIOIOvhwzVDt/kw==
- dependencies:
- "@eslint-community/eslint-utils" "^4.4.0"
- "@typescript-eslint/scope-manager" "7.18.0"
- "@typescript-eslint/types" "7.18.0"
- "@typescript-eslint/typescript-estree" "7.18.0"
+"@typescript-eslint/types@8.56.1", "@typescript-eslint/types@^8.56.1":
+ version "8.56.1"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-8.56.1.tgz#975e5942bf54895291337c91b9191f6eb0632ab9"
+ integrity sha512-dbMkdIUkIkchgGDIv7KLUpa0Mda4IYjo4IAMJUZ+3xNoUXxMsk9YtKpTHSChRS85o+H9ftm51gsK1dZReY9CVw==
-"@typescript-eslint/visitor-keys@7.18.0":
- version "7.18.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-7.18.0.tgz#0564629b6124d67607378d0f0332a0495b25e7d7"
- integrity sha512-cDF0/Gf81QpY3xYyJKDV14Zwdmid5+uuENhjH2EqFaF0ni+yAyq/LzMaIJdhNJXZI7uLzwIlA+V7oWoyn6Curg==
+"@typescript-eslint/typescript-estree@8.56.1":
+ version "8.56.1"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-8.56.1.tgz#3b9e57d8129a860c50864c42188f761bdef3eab0"
+ integrity sha512-qzUL1qgalIvKWAf9C1HpvBjif+Vm6rcT5wZd4VoMb9+Km3iS3Cv9DY6dMRMDtPnwRAFyAi7YXJpTIEXLvdfPxg==
dependencies:
- "@typescript-eslint/types" "7.18.0"
- eslint-visitor-keys "^3.4.3"
+ "@typescript-eslint/project-service" "8.56.1"
+ "@typescript-eslint/tsconfig-utils" "8.56.1"
+ "@typescript-eslint/types" "8.56.1"
+ "@typescript-eslint/visitor-keys" "8.56.1"
+ debug "^4.4.3"
+ minimatch "^10.2.2"
+ semver "^7.7.3"
+ tinyglobby "^0.2.15"
+ ts-api-utils "^2.4.0"
+
+"@typescript-eslint/utils@8.56.1":
+ version "8.56.1"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-8.56.1.tgz#5a86acaf9f1b4c4a85a42effb217f73059f6deb7"
+ integrity sha512-HPAVNIME3tABJ61siYlHzSWCGtOoeP2RTIaHXFMPqjrQKCGB9OgUVdiNgH7TJS2JNIQ5qQ4RsAUDuGaGme/KOA==
+ dependencies:
+ "@eslint-community/eslint-utils" "^4.9.1"
+ "@typescript-eslint/scope-manager" "8.56.1"
+ "@typescript-eslint/types" "8.56.1"
+ "@typescript-eslint/typescript-estree" "8.56.1"
+
+"@typescript-eslint/visitor-keys@8.56.1":
+ version "8.56.1"
+ resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-8.56.1.tgz#50e03475c33a42d123dc99e63acf1841c0231f87"
+ integrity sha512-KiROIzYdEV85YygXw6BI/Dx4fnBlFQu6Mq4QE4MOH9fFnhohw6wX/OAvDY2/C+ut0I3RSPKenvZJIVYqJNkhEw==
+ dependencies:
+ "@typescript-eslint/types" "8.56.1"
+ eslint-visitor-keys "^5.0.0"
"@vitejs/plugin-react-swc@^3.3.2":
version "3.11.0"
@@ -2592,10 +2609,15 @@ acorn@^8.14.0, acorn@^8.15.0:
resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.15.0.tgz#a360898bc415edaac46c8241f6383975b930b816"
integrity sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==
-ajv@^6.12.4:
- version "6.12.6"
- resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4"
- integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==
+acorn@^8.16.0:
+ version "8.16.0"
+ resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.16.0.tgz#4ce79c89be40afe7afe8f3adb902a1f1ce9ac08a"
+ integrity sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==
+
+ajv@^6.14.0:
+ version "6.14.0"
+ resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.14.0.tgz#fd067713e228210636ebb08c60bd3765d6dbe73a"
+ integrity sha512-IWrosm/yrn43eiKqkfkHis7QioDleaXQHdDVPKg0FSwwd/DuvyX79TZnFOnYpB7dcsFAMmtFztZuXPDvSePkFw==
dependencies:
fast-deep-equal "^3.1.1"
fast-json-stable-stringify "^2.0.0"
@@ -2629,7 +2651,7 @@ ansi-regex@^6.0.1:
resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-6.1.0.tgz#95ec409c69619d6cb1b8b34f14b660ef28ebd654"
integrity sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==
-ansi-styles@^4.0.0, ansi-styles@^4.1.0:
+ansi-styles@^4.0.0:
version "4.3.0"
resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937"
integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==
@@ -2676,11 +2698,6 @@ array-ify@^1.0.0:
resolved "https://registry.yarnpkg.com/array-ify/-/array-ify-1.0.0.tgz#9e528762b4a9066ad163a6962a364418e9626ece"
integrity sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng==
-array-union@^2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d"
- integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==
-
arraybuffer.prototype.slice@^1.0.4:
version "1.0.4"
resolved "https://registry.yarnpkg.com/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.4.tgz#9d760d84dbdd06d0cbf92c8849615a1a7ab3183c"
@@ -2753,6 +2770,11 @@ balanced-match@^1.0.0:
resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee"
integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==
+balanced-match@^4.0.2:
+ version "4.0.4"
+ resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-4.0.4.tgz#bfb10662feed8196a2c62e7c68e17720c274179a"
+ integrity sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==
+
base58-js@^3.0.2:
version "3.0.3"
resolved "https://registry.yarnpkg.com/base58-js/-/base58-js-3.0.3.tgz#a753af5e0c484f1c73906e3883baa34805bf0e10"
@@ -2787,6 +2809,13 @@ brace-expansion@^2.0.1:
dependencies:
balanced-match "^1.0.0"
+brace-expansion@^5.0.2:
+ version "5.0.3"
+ resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-5.0.3.tgz#6a9c6c268f85b53959ec527aeafe0f7300258eef"
+ integrity sha512-fy6KJm2RawA5RcHkLa1z/ScpBeA762UF9KmZQxwIbDtRJrgLzM10depAiEQ+CXYcoiqW1/m96OAAoke2nE9EeA==
+ dependencies:
+ balanced-match "^4.0.2"
+
braces@^3.0.3:
version "3.0.3"
resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.3.tgz#490332f40919452272d55a8480adc0c441358789"
@@ -2845,14 +2874,6 @@ caniuse-lite@^1.0.30001726:
resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001733.tgz#918405ed6647a62840fb328832cf5a03f986974b"
integrity sha512-e4QKw/O2Kavj2VQTKZWrwzkt3IxOmIlU6ajRb6LP64LHpBo1J67k2Hi4Vu/TgJWsNtynurfS0uK3MaUTCPfu5Q==
-chalk@^4.0.0:
- version "4.1.2"
- resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01"
- integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==
- dependencies:
- ansi-styles "^4.1.0"
- supports-color "^7.1.0"
-
chalk@^5.3.0, chalk@^5.4.1:
version "5.5.0"
resolved "https://registry.yarnpkg.com/chalk/-/chalk-5.5.0.tgz#67ada1df5ca809dc84c9b819d76418ddcf128428"
@@ -3099,13 +3120,20 @@ dayjs@^1.11.10:
resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.11.13.tgz#92430b0139055c3ebb60150aa13e860a4b5a366c"
integrity sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg==
-debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.4, debug@^4.3.6, debug@^4.4.0, debug@^4.4.1:
+debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.6, debug@^4.4.0, debug@^4.4.1:
version "4.4.1"
resolved "https://registry.yarnpkg.com/debug/-/debug-4.4.1.tgz#e5a8bc6cbc4c6cd3e64308b0693a3d4fa550189b"
integrity sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==
dependencies:
ms "^2.1.3"
+debug@^4.4.3:
+ version "4.4.3"
+ resolved "https://registry.yarnpkg.com/debug/-/debug-4.4.3.tgz#c6ae432d9bd9662582fce08709b038c58e9e3d6a"
+ integrity sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==
+ dependencies:
+ ms "^2.1.3"
+
deep-is@^0.1.3:
version "0.1.4"
resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831"
@@ -3149,13 +3177,6 @@ detect-node-es@^1.1.0:
resolved "https://registry.yarnpkg.com/detect-node-es/-/detect-node-es-1.1.0.tgz#163acdf643330caa0b4cd7c21e7ee7755d6fa493"
integrity sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ==
-dir-glob@^3.0.1:
- version "3.0.1"
- resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f"
- integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==
- dependencies:
- path-type "^4.0.0"
-
dot-prop@^5.1.0:
version "5.3.0"
resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-5.3.0.tgz#90ccce708cd9cd82cc4dc8c3ddd9abdd55b20e88"
@@ -3405,16 +3426,18 @@ eslint-plugin-react-hooks@^7.0.1:
zod "^3.25.0 || ^4.0.0"
zod-validation-error "^3.5.0 || ^4.0.0"
-eslint-plugin-react-refresh@^0.4.3:
- version "0.4.20"
- resolved "https://registry.yarnpkg.com/eslint-plugin-react-refresh/-/eslint-plugin-react-refresh-0.4.20.tgz#3bbfb5c8637e28d19ce3443686445e502ecd18ba"
- integrity sha512-XpbHQ2q5gUF8BGOX4dHe+71qoirYMhApEPZ7sfhF/dNnOF1UXnCMGZf79SFTBO7Bz5YEIT4TMieSlJBWhP9WBA==
+eslint-plugin-react-refresh@^0.5.2:
+ version "0.5.2"
+ resolved "https://registry.yarnpkg.com/eslint-plugin-react-refresh/-/eslint-plugin-react-refresh-0.5.2.tgz#39e11021be10e1cd9adab2bdeabc65b17222409f"
+ integrity sha512-hmgTH57GfzoTFjVN0yBwTggnsVUF2tcqi7RJZHqi9lIezSs4eFyAMktA68YD4r5kNw1mxyY4dmkyoFDb3FIqrA==
-eslint-scope@^8.4.0:
- version "8.4.0"
- resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-8.4.0.tgz#88e646a207fad61436ffa39eb505147200655c82"
- integrity sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==
+eslint-scope@^9.1.1:
+ version "9.1.1"
+ resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-9.1.1.tgz#f6a209486e38bd28356b5feb07d445cc99c89967"
+ integrity sha512-GaUN0sWim5qc8KVErfPBWmc31LEsOkrUJbvJZV+xuL3u2phMUK4HIvXlWAakfC8W4nzlK+chPEAkYOYb5ZScIw==
dependencies:
+ "@types/esrecurse" "^4.3.1"
+ "@types/estree" "^1.0.8"
esrecurse "^4.3.0"
estraverse "^5.2.0"
@@ -3428,33 +3451,34 @@ eslint-visitor-keys@^4.2.1:
resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz#4cfea60fe7dd0ad8e816e1ed026c1d5251b512c1"
integrity sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==
-eslint@^9.4.0:
- version "9.32.0"
- resolved "https://registry.yarnpkg.com/eslint/-/eslint-9.32.0.tgz#4ea28df4a8dbc454e1251e0f3aed4bcf4ce50a47"
- integrity sha512-LSehfdpgMeWcTZkWZVIJl+tkZ2nuSkyyB9C27MZqFWXuph7DvaowgcTvKqxvpLW1JZIk8PN7hFY3Rj9LQ7m7lg==
+eslint-visitor-keys@^5.0.0, eslint-visitor-keys@^5.0.1:
+ version "5.0.1"
+ resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-5.0.1.tgz#9e3c9489697824d2d4ce3a8ad12628f91e9f59be"
+ integrity sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA==
+
+eslint@^10.0.2:
+ version "10.0.2"
+ resolved "https://registry.yarnpkg.com/eslint/-/eslint-10.0.2.tgz#1009263467591810320f2e1ad52b8a750d1acbab"
+ integrity sha512-uYixubwmqJZH+KLVYIVKY1JQt7tysXhtj21WSvjcSmU5SVNzMus1bgLe+pAt816yQ8opKfheVVoPLqvVMGejYw==
dependencies:
- "@eslint-community/eslint-utils" "^4.2.0"
- "@eslint-community/regexpp" "^4.12.1"
- "@eslint/config-array" "^0.21.0"
- "@eslint/config-helpers" "^0.3.0"
- "@eslint/core" "^0.15.0"
- "@eslint/eslintrc" "^3.3.1"
- "@eslint/js" "9.32.0"
- "@eslint/plugin-kit" "^0.3.4"
+ "@eslint-community/eslint-utils" "^4.8.0"
+ "@eslint-community/regexpp" "^4.12.2"
+ "@eslint/config-array" "^0.23.2"
+ "@eslint/config-helpers" "^0.5.2"
+ "@eslint/core" "^1.1.0"
+ "@eslint/plugin-kit" "^0.6.0"
"@humanfs/node" "^0.16.6"
"@humanwhocodes/module-importer" "^1.0.1"
"@humanwhocodes/retry" "^0.4.2"
"@types/estree" "^1.0.6"
- "@types/json-schema" "^7.0.15"
- ajv "^6.12.4"
- chalk "^4.0.0"
+ ajv "^6.14.0"
cross-spawn "^7.0.6"
debug "^4.3.2"
escape-string-regexp "^4.0.0"
- eslint-scope "^8.4.0"
- eslint-visitor-keys "^4.2.1"
- espree "^10.4.0"
- esquery "^1.5.0"
+ eslint-scope "^9.1.1"
+ eslint-visitor-keys "^5.0.1"
+ espree "^11.1.1"
+ esquery "^1.7.0"
esutils "^2.0.2"
fast-deep-equal "^3.1.3"
file-entry-cache "^8.0.0"
@@ -3464,12 +3488,11 @@ eslint@^9.4.0:
imurmurhash "^0.1.4"
is-glob "^4.0.0"
json-stable-stringify-without-jsonify "^1.0.1"
- lodash.merge "^4.6.2"
- minimatch "^3.1.2"
+ minimatch "^10.2.1"
natural-compare "^1.4.0"
optionator "^0.9.3"
-espree@^10.0.1, espree@^10.4.0:
+espree@^10.0.1:
version "10.4.0"
resolved "https://registry.yarnpkg.com/espree/-/espree-10.4.0.tgz#d54f4949d4629005a1fa168d937c3ff1f7e2a837"
integrity sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==
@@ -3478,10 +3501,19 @@ espree@^10.0.1, espree@^10.4.0:
acorn-jsx "^5.3.2"
eslint-visitor-keys "^4.2.1"
-esquery@^1.5.0:
- version "1.6.0"
- resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.6.0.tgz#91419234f804d852a82dceec3e16cdc22cf9dae7"
- integrity sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==
+espree@^11.1.1:
+ version "11.1.1"
+ resolved "https://registry.yarnpkg.com/espree/-/espree-11.1.1.tgz#866f6bc9ccccd6f28876b7a6463abb281b9cb847"
+ integrity sha512-AVHPqQoZYc+RUM4/3Ly5udlZY/U4LS8pIG05jEjWM2lQMU/oaZ7qshzAl2YP1tfNmXfftH3ohurfwNAug+MnsQ==
+ dependencies:
+ acorn "^8.16.0"
+ acorn-jsx "^5.3.2"
+ eslint-visitor-keys "^5.0.1"
+
+esquery@^1.7.0:
+ version "1.7.0"
+ resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.7.0.tgz#08d048f261f0ddedb5bae95f46809463d9c9496d"
+ integrity sha512-Ap6G0WQwcU/LHsvLwON1fAQX9Zp0A2Y6Y/cJBl9r/JbW90Zyg4/zbG6zzKa2OTALELarYHmKu0GhpM5EO+7T0g==
dependencies:
estraverse "^5.1.0"
@@ -3550,7 +3582,7 @@ fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3:
resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525"
integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==
-fast-glob@^3.2.9, fast-glob@^3.3.2:
+fast-glob@^3.3.2:
version "3.3.3"
resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.3.tgz#d06d585ce8dba90a16b0505c543c3ccfb3aeb818"
integrity sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==
@@ -3821,18 +3853,6 @@ globalthis@^1.0.4:
define-properties "^1.2.1"
gopd "^1.0.1"
-globby@^11.1.0:
- version "11.1.0"
- resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b"
- integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==
- dependencies:
- array-union "^2.1.0"
- dir-glob "^3.0.1"
- fast-glob "^3.2.9"
- ignore "^5.2.0"
- merge2 "^1.4.1"
- slash "^3.0.0"
-
globrex@^0.1.2:
version "0.1.2"
resolved "https://registry.yarnpkg.com/globrex/-/globrex-0.1.2.tgz#dd5d9ec826232730cd6793a5e33a9302985e6098"
@@ -3848,21 +3868,11 @@ graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.4:
resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3"
integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==
-graphemer@^1.4.0:
- version "1.4.0"
- resolved "https://registry.yarnpkg.com/graphemer/-/graphemer-1.4.0.tgz#fb2f1d55e0e3a1849aeffc90c4fa0dd53a0e66c6"
- integrity sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==
-
has-bigints@^1.0.2:
version "1.1.0"
resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.1.0.tgz#28607e965ac967e03cd2a2c70a2636a1edad49fe"
integrity sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg==
-has-flag@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b"
- integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==
-
has-property-descriptors@^1.0.0, has-property-descriptors@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz#963ed7d071dc7bf5f084c5bfbe0d1b6222586854"
@@ -3923,11 +3933,16 @@ idb@^7.0.1:
resolved "https://registry.yarnpkg.com/idb/-/idb-7.1.1.tgz#d910ded866d32c7ced9befc5bfdf36f572ced72b"
integrity sha512-gchesWBzyvGHRO9W8tzUWFDycow5gwjvFKfyV9FF32Y7F50yZMp7mP+T2mJIWFx49zicqyC4uefHM17o6xKIVQ==
-ignore@^5.2.0, ignore@^5.3.1:
+ignore@^5.2.0:
version "5.3.2"
resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.3.2.tgz#3cd40e729f3643fd87cb04e50bf0eb722bc596f5"
integrity sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==
+ignore@^7.0.5:
+ version "7.0.5"
+ resolved "https://registry.yarnpkg.com/ignore/-/ignore-7.0.5.tgz#4cb5f6cd7d4c7ab0365738c7aea888baa6d7efd9"
+ integrity sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==
+
import-fresh@^3.2.1, import-fresh@^3.3.0:
version "3.3.1"
resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.1.tgz#9cecb56503c0ada1f2741dbbd6546e4b13b57ccf"
@@ -4254,6 +4269,13 @@ js-yaml@^4.1.0:
dependencies:
argparse "^2.0.1"
+js-yaml@^4.1.1:
+ version "4.1.1"
+ resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.1.tgz#854c292467705b699476e1a2decc0c8a3458806b"
+ integrity sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==
+ dependencies:
+ argparse "^2.0.1"
+
jsesc@^3.0.2:
version "3.1.0"
resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-3.1.0.tgz#74d335a234f67ed19907fdadfac7ccf9d409825d"
@@ -4587,7 +4609,7 @@ merge-stream@^2.0.0:
resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60"
integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==
-merge2@^1.3.0, merge2@^1.4.1:
+merge2@^1.3.0:
version "1.4.1"
resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae"
integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==
@@ -4622,10 +4644,17 @@ minimatch@^10.1.1:
dependencies:
"@isaacs/brace-expansion" "^5.0.0"
-minimatch@^3.1.2:
- version "3.1.2"
- resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b"
- integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==
+minimatch@^10.2.1, minimatch@^10.2.2:
+ version "10.2.3"
+ resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-10.2.3.tgz#c0ef582f21071b0123a5bbf275252ebda921fbf6"
+ integrity sha512-Rwi3pnapEqirPSbWbrZaa6N3nmqq4Xer/2XooiOKyV3q12ML06f7MOuc5DVH8ONZIFhwIYQ3yzPH4nt7iWHaTg==
+ dependencies:
+ brace-expansion "^5.0.2"
+
+minimatch@^3.1.3:
+ version "3.1.4"
+ resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.4.tgz#89d910ea3970a77ac8edfd30340ccd038b758079"
+ integrity sha512-twmL+S8+7yIsE9wsqgzU3E8/LumN3M3QELrBZ20OdmQ9jB2JvW5oZtBEmft84k/Gs5CG9mqtWc6Y9vW+JEzGxw==
dependencies:
brace-expansion "^1.1.7"
@@ -4636,13 +4665,6 @@ minimatch@^5.0.1:
dependencies:
brace-expansion "^2.0.1"
-minimatch@^9.0.4:
- version "9.0.5"
- resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-9.0.5.tgz#d74f9dd6b57d83d8e98cfb82133b03978bc929e5"
- integrity sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==
- dependencies:
- brace-expansion "^2.0.1"
-
minimist@^1.2.8:
version "1.2.8"
resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c"
@@ -4884,11 +4906,6 @@ path-scurry@^2.0.0:
lru-cache "^11.0.0"
minipass "^7.1.2"
-path-type@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b"
- integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==
-
picocolors@^1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.1.1.tgz#3d321af3eab939b083c8f929a1d12cda81c26b6b"
@@ -5297,6 +5314,11 @@ semver@^7.6.0:
resolved "https://registry.yarnpkg.com/semver/-/semver-7.7.2.tgz#67d99fdcd35cec21e6f8b87a7fd515a33f982b58"
integrity sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==
+semver@^7.7.3:
+ version "7.7.4"
+ resolved "https://registry.yarnpkg.com/semver/-/semver-7.7.4.tgz#28464e36060e991fa7a11d0279d2d3f3b57a7e8a"
+ integrity sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==
+
serialize-javascript@^6.0.1:
version "6.0.2"
resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-6.0.2.tgz#defa1e055c83bf6d59ea805d8da862254eb6a6c2"
@@ -5432,11 +5454,6 @@ signal-exit@^4.0.1, signal-exit@^4.1.0:
resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-4.1.0.tgz#952188c1cbd546070e2dd20d0f41c0ae0530cb04"
integrity sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==
-slash@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634"
- integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==
-
slice-ansi@^5.0.0:
version "5.0.0"
resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-5.0.0.tgz#b73063c57aa96f9cd881654b15294d95d285c42a"
@@ -5655,13 +5672,6 @@ strip-json-comments@^3.1.1:
resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006"
integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==
-supports-color@^7.1.0:
- version "7.2.0"
- resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da"
- integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==
- dependencies:
- has-flag "^4.0.0"
-
supports-preserve-symlinks-flag@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09"
@@ -5747,7 +5757,7 @@ tinyexec@^1.0.0:
resolved "https://registry.yarnpkg.com/tinyexec/-/tinyexec-1.0.1.tgz#70c31ab7abbb4aea0a24f55d120e5990bfa1e0b1"
integrity sha512-5uC6DDlmeqiOwCPmK9jMSdOuZTh8bU39Ys6yidB+UTt5hfZUPGAypSgFRiEp+jbi9qH40BLDvy85jIU88wKSqw==
-tinyglobby@^0.2.10:
+tinyglobby@^0.2.10, tinyglobby@^0.2.15:
version "0.2.15"
resolved "https://registry.yarnpkg.com/tinyglobby/-/tinyglobby-0.2.15.tgz#e228dd1e638cea993d2fdb4fcd2d4602a79951c2"
integrity sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==
@@ -5769,10 +5779,10 @@ tr46@^1.0.1:
dependencies:
punycode "^2.1.0"
-ts-api-utils@^1.3.0:
- version "1.4.3"
- resolved "https://registry.yarnpkg.com/ts-api-utils/-/ts-api-utils-1.4.3.tgz#bfc2215fe6528fecab2b0fba570a2e8a4263b064"
- integrity sha512-i3eMG77UTMD0hZhgRS562pv83RC6ukSAC2GMNWc+9dieh/+jDM5u5YG+NHX6VNDRHQcHwmsTHctP9LhbC3WxVw==
+ts-api-utils@^2.4.0:
+ version "2.4.0"
+ resolved "https://registry.yarnpkg.com/ts-api-utils/-/ts-api-utils-2.4.0.tgz#2690579f96d2790253bdcf1ca35d569ad78f9ad8"
+ integrity sha512-3TaVTaAv2gTiMB35i3FiGJaRfwb3Pyn/j3m/bfAvGe8FB7CF6u+LMYqYlDh7reQf7UNvoTvdfAqHGmPGOSsPmA==
tsconfck@^3.0.3:
version "3.1.6"
@@ -5846,6 +5856,16 @@ typed-array-length@^1.0.7:
possible-typed-array-names "^1.0.0"
reflect.getprototypeof "^1.0.6"
+typescript-eslint@^8.56.1:
+ version "8.56.1"
+ resolved "https://registry.yarnpkg.com/typescript-eslint/-/typescript-eslint-8.56.1.tgz#15a9fcc5d2150a0d981772bb36f127a816fe103f"
+ integrity sha512-U4lM6pjmBX7J5wk4szltF7I1cGBHXZopnAXCMXb3+fZ3B/0Z3hq3wS/CCUB2NZBNAExK92mCU2tEohWuwVMsDQ==
+ dependencies:
+ "@typescript-eslint/eslint-plugin" "8.56.1"
+ "@typescript-eslint/parser" "8.56.1"
+ "@typescript-eslint/typescript-estree" "8.56.1"
+ "@typescript-eslint/utils" "8.56.1"
+
typescript@^5.9.3:
version "5.9.3"
resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.9.3.tgz#5b4f59e15310ab17a216f5d6cf53ee476ede670f"
From c9a140c2545862f29e590b13f2a121128938cec4 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Wed, 25 Feb 2026 21:40:33 +0530
Subject: [PATCH 036/344] build(deps): bump github.com/golang-jwt/jwt/v5 from
5.3.0 to 5.3.1 (#2074)
Bumps [github.com/golang-jwt/jwt/v5](https://github.com/golang-jwt/jwt) from 5.3.0 to 5.3.1.
- [Release notes](https://github.com/golang-jwt/jwt/releases)
- [Commits](https://github.com/golang-jwt/jwt/compare/v5.3.0...v5.3.1)
---
updated-dependencies:
- dependency-name: github.com/golang-jwt/jwt/v5
dependency-version: 5.3.1
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot]
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
go.mod | 2 +-
go.sum | 4 ++--
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/go.mod b/go.mod
index 7393d88c..707dd3e4 100644
--- a/go.mod
+++ b/go.mod
@@ -252,7 +252,7 @@ require (
github.com/btcsuite/btcd/chaincfg/chainhash v1.1.0
github.com/decred/dcrd/crypto/blake256 v1.1.0 // indirect
github.com/decred/dcrd/dcrec/secp256k1/v4 v4.4.0 // indirect
- github.com/golang-jwt/jwt/v5 v5.3.0
+ github.com/golang-jwt/jwt/v5 v5.3.1
github.com/gorilla/websocket v1.5.3 // indirect
github.com/joho/godotenv v1.5.1
github.com/kelseyhightower/envconfig v1.4.0
diff --git a/go.sum b/go.sum
index 2cd341b8..ada3d6ce 100644
--- a/go.sum
+++ b/go.sum
@@ -217,8 +217,8 @@ github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q=
github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q=
github.com/golang-jwt/jwt/v4 v4.5.2 h1:YtQM7lnr8iZ+j5q71MGKkNw9Mn7AjHM68uc9g5fXeUI=
github.com/golang-jwt/jwt/v4 v4.5.2/go.mod h1:m21LjoU+eqJr34lmDMbreY2eSTRJ1cv77w39/MY0Ch0=
-github.com/golang-jwt/jwt/v5 v5.3.0 h1:pv4AsKCKKZuqlgs5sUmn4x8UlGa0kEVt/puTpKx9vvo=
-github.com/golang-jwt/jwt/v5 v5.3.0/go.mod h1:fxCRLWMO43lRc8nhHWY6LGqRcf+1gQWArsqaEUEa5bE=
+github.com/golang-jwt/jwt/v5 v5.3.1 h1:kYf81DTWFe7t+1VvL7eS+jKFVWaUnK9cB1qbwn63YCY=
+github.com/golang-jwt/jwt/v5 v5.3.1/go.mod h1:fxCRLWMO43lRc8nhHWY6LGqRcf+1gQWArsqaEUEa5bE=
github.com/golang-migrate/migrate/v4 v4.18.1 h1:JML/k+t4tpHCpQTCAD62Nu43NUFzHY4CV3uAuvHGC+Y=
github.com/golang-migrate/migrate/v4 v4.18.1/go.mod h1:HAX6m3sQgcdO81tdjn5exv20+3Kb13cmGli1hrD6hks=
github.com/golang-sql/civil v0.0.0-20220223132316-b832511892a9 h1:au07oEsX2xN0ktxqI+Sida1w446QrXBRJ0nee3SNZlA=
From 3fcb2ba12e046e4db09bf9b90febed921b66d156 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Wed, 25 Feb 2026 21:48:20 +0530
Subject: [PATCH 037/344] build(deps): bump golang.org/x/crypto from 0.45.0 to
0.48.0 (#2073)
Bumps [golang.org/x/crypto](https://github.com/golang/crypto) from 0.45.0 to 0.48.0.
- [Commits](https://github.com/golang/crypto/compare/v0.45.0...v0.48.0)
---
updated-dependencies:
- dependency-name: golang.org/x/crypto
dependency-version: 0.48.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot]
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
go.mod | 16 ++++++++--------
go.sum | 32 ++++++++++++++++----------------
2 files changed, 24 insertions(+), 24 deletions(-)
diff --git a/go.mod b/go.mod
index 707dd3e4..234f7a02 100644
--- a/go.mod
+++ b/go.mod
@@ -18,7 +18,7 @@ require (
github.com/stretchr/testify v1.11.1
github.com/tyler-smith/go-bip39 v1.1.0
github.com/wailsapp/wails/v2 v2.11.0
- golang.org/x/crypto v0.45.0
+ golang.org/x/crypto v0.48.0
golang.org/x/oauth2 v0.34.0
google.golang.org/grpc v1.77.0
gopkg.in/macaroon.v2 v2.1.0
@@ -216,14 +216,14 @@ require (
go.uber.org/multierr v1.11.0 // indirect
go.uber.org/zap v1.27.0 // indirect
golang.org/x/arch v0.15.0 // indirect
- golang.org/x/mod v0.29.0 // indirect
- golang.org/x/net v0.47.0 // indirect
- golang.org/x/sync v0.18.0 // indirect
- golang.org/x/sys v0.38.0 // indirect
- golang.org/x/term v0.37.0 // indirect
- golang.org/x/text v0.31.0 // indirect
+ golang.org/x/mod v0.32.0 // indirect
+ golang.org/x/net v0.49.0 // indirect
+ golang.org/x/sync v0.19.0 // indirect
+ golang.org/x/sys v0.41.0 // indirect
+ golang.org/x/term v0.40.0 // indirect
+ golang.org/x/text v0.34.0 // indirect
golang.org/x/time v0.14.0 // indirect
- golang.org/x/tools v0.38.0 // indirect
+ golang.org/x/tools v0.41.0 // indirect
google.golang.org/genproto v0.0.0-20240930140551-af27646dc61f // indirect
google.golang.org/genproto/googleapis/api v0.0.0-20251022142026-3a174f9686a8 // indirect
google.golang.org/genproto/googleapis/rpc v0.0.0-20251022142026-3a174f9686a8 // indirect
diff --git a/go.sum b/go.sum
index ada3d6ce..948b0626 100644
--- a/go.sum
+++ b/go.sum
@@ -758,8 +758,8 @@ golang.org/x/crypto v0.0.0-20210711020723-a769d52b0f97/go.mod h1:GvvjBRRGRdwPK5y
golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
golang.org/x/crypto v0.19.0/go.mod h1:Iy9bg/ha4yyC70EfRS8jz+B6ybOBKMaSxLj6P6oBDfU=
golang.org/x/crypto v0.20.0/go.mod h1:Xwo95rrVNIoSMx9wa1JroENMToLWn3RNVrTBpLHgZPQ=
-golang.org/x/crypto v0.45.0 h1:jMBrvKuj23MTlT0bQEOBcAE0mjg8mK9RXFhRH6nyF3Q=
-golang.org/x/crypto v0.45.0/go.mod h1:XTGrrkGJve7CYK7J8PEww4aY7gM3qMCElcJQ8n8JdX4=
+golang.org/x/crypto v0.48.0 h1:/VRzVqiRSggnhY7gNRxPauEQ5Drw9haKdM0jqfcCFts=
+golang.org/x/crypto v0.48.0/go.mod h1:r0kV5h3qnFPlQnBSrULhlsRfryS2pmewsg+XfMgkVos=
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
golang.org/x/exp v0.0.0-20250506013437-ce4c2cf36ca6 h1:y5zboxd6LQAqYIhHnB48p0ByQ/GnQx2BE33L8BOHQkI=
golang.org/x/exp v0.0.0-20250506013437-ce4c2cf36ca6/go.mod h1:U6Lno4MTRCDY+Ba7aCcauB9T60gsv5s4ralQzP72ZoQ=
@@ -773,8 +773,8 @@ golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4=
golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
-golang.org/x/mod v0.29.0 h1:HV8lRxZC4l2cr3Zq1LvtOsi/ThTgWnUk/y64QSs8GwA=
-golang.org/x/mod v0.29.0/go.mod h1:NyhrlYXJ2H4eJiRy/WDBO6HMqZQ6q9nk4JzS3NuCK+w=
+golang.org/x/mod v0.32.0 h1:9F4d3PHLljb6x//jOyokMv3eX+YDeepZSEo3mFJy93c=
+golang.org/x/mod v0.32.0/go.mod h1:SgipZ/3h2Ci89DlEtEXWUk/HteuRin+HHhN+WbNhguU=
golang.org/x/net v0.0.0-20150829230318-ea47fc708ee3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20180719180050-a680a1efc54d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
@@ -802,8 +802,8 @@ golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug
golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs=
golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg=
golang.org/x/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44=
-golang.org/x/net v0.47.0 h1:Mx+4dIFzqraBXUugkia1OOvlD6LemFo1ALMHjrXDOhY=
-golang.org/x/net v0.47.0/go.mod h1:/jNxtkgq5yWUGYkaZGqo27cfGZ1c5Nen03aYrrKpVRU=
+golang.org/x/net v0.49.0 h1:eeHFmOGUTtaaPSGNmjBKpbng9MulQsJURQUAfUwY++o=
+golang.org/x/net v0.49.0/go.mod h1:/ysNB2EvaqvesRkuLAyjI1ycPZlQHM3q01F02UY/MV8=
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
golang.org/x/oauth2 v0.34.0 h1:hqK/t4AKgbqWkdkcAeI8XLmbK+4m4G5YeQRrmiotGlw=
@@ -816,8 +816,8 @@ golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJ
golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
-golang.org/x/sync v0.18.0 h1:kr88TuHDroi+UVf+0hZnirlk8o8T+4MrK6mr60WkH/I=
-golang.org/x/sync v0.18.0/go.mod h1:9KTHXmSnoGruLpwFjVSX0lNNA75CykiMECbovNTZqGI=
+golang.org/x/sync v0.19.0 h1:vV+1eWNmZ5geRlYjzm2adRgW2/mcpevXNg50YZtPCE4=
+golang.org/x/sync v0.19.0/go.mod h1:9KTHXmSnoGruLpwFjVSX0lNNA75CykiMECbovNTZqGI=
golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
@@ -859,16 +859,16 @@ golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.11.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
golang.org/x/sys v0.19.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
-golang.org/x/sys v0.38.0 h1:3yZWxaJjBmCWXqhN1qh02AkOnCQ1poK6oF+a7xWL6Gc=
-golang.org/x/sys v0.38.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks=
+golang.org/x/sys v0.41.0 h1:Ivj+2Cp/ylzLiEU89QhWblYnOE9zerudt9Ftecq2C6k=
+golang.org/x/sys v0.41.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks=
golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw=
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k=
golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo=
golang.org/x/term v0.17.0/go.mod h1:lLRBjIVuehSbZlaOtGMbcMncT+aqLLLmKrsjNrUguwk=
-golang.org/x/term v0.37.0 h1:8EGAD0qCmHYZg6J17DvsMy9/wJ7/D/4pV/wfnld5lTU=
-golang.org/x/term v0.37.0/go.mod h1:5pB4lxRNYYVZuTLmy8oR2BH8dflOR+IbTYFD8fi3254=
+golang.org/x/term v0.40.0 h1:36e4zGLqU4yhjlmxEaagx2KuYbJq3EwY8K943ZsHcvg=
+golang.org/x/term v0.40.0/go.mod h1:w2P8uVp06p2iyKKuvXIm7N/y0UCRt3UfJTfZ7oOpglM=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
@@ -878,8 +878,8 @@ golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8=
golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU=
-golang.org/x/text v0.31.0 h1:aC8ghyu4JhP8VojJ2lEHBnochRno1sgL6nEi9WGFGMM=
-golang.org/x/text v0.31.0/go.mod h1:tKRAlv61yKIjGGHX/4tP1LTbc13YSec1pxVEWXzfoeM=
+golang.org/x/text v0.34.0 h1:oL/Qq0Kdaqxa1KbNeMKwQq0reLCCaFtqu2eNuSeNHbk=
+golang.org/x/text v0.34.0/go.mod h1:homfLqTYRFyVYemLBFl5GgL/DWEiH5wcsQ5gSh1yziA=
golang.org/x/time v0.14.0 h1:MRx4UaLrDotUKUdCIqzPC48t1Y9hANFKIRpNx+Te8PI=
golang.org/x/time v0.14.0/go.mod h1:eL/Oa2bBBK0TkX57Fyni+NgnyQQN4LitPmob2Hjnqw4=
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
@@ -901,8 +901,8 @@ golang.org/x/tools v0.0.0-20201224043029-2b0845dc783e/go.mod h1:emZCQorbCU4vsT4f
golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc=
golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU=
-golang.org/x/tools v0.38.0 h1:Hx2Xv8hISq8Lm16jvBZ2VQf+RLmbd7wVUsALibYI/IQ=
-golang.org/x/tools v0.38.0/go.mod h1:yEsQ/d/YK8cjh0L6rZlY8tgtlKiBNTL14pGDJPJpYQs=
+golang.org/x/tools v0.41.0 h1:a9b8iMweWG+S0OBnlU36rzLp20z1Rp10w+IY2czHTQc=
+golang.org/x/tools v0.41.0/go.mod h1:XSY6eDqxVNiYgezAVqqCeihT4j1U2CCsqvH3WhQpnlg=
golang.org/x/xerrors v0.0.0-20190410155217-1f06c39b4373/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20190513163551-3ee3066db522/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
From 3f63251ea39c7dba080ae5b24a0f9ece44148a43 Mon Sep 17 00:00:00 2001
From: Dunsin <85681801+Dunsin-cyber@users.noreply.github.com>
Date: Thu, 26 Feb 2026 04:05:39 +0100
Subject: [PATCH 038/344] fix: convert spaces to underscores in subwallet
lightning address suggestion (#2086)
---
frontend/src/screens/subwallets/SubwalletCreated.tsx | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/frontend/src/screens/subwallets/SubwalletCreated.tsx b/frontend/src/screens/subwallets/SubwalletCreated.tsx
index cb1cb493..6c612b86 100644
--- a/frontend/src/screens/subwallets/SubwalletCreated.tsx
+++ b/frontend/src/screens/subwallets/SubwalletCreated.tsx
@@ -66,7 +66,11 @@ export function SubwalletCreated() {
const { data: app } = useApp(createAppResponse?.id, true);
const [intendedLightningAddress, setIntendedLightningAddress] =
React.useState(
- createAppResponse?.name.toLowerCase().replace(/[^a-z0-9]/g, "") || ""
+ createAppResponse?.name
+ .toLowerCase()
+ .trim()
+ .replace(/\s+/g, "_")
+ .replace(/[^a-z0-9_]/g, "") || ""
);
const { data: albyMe } = useAlbyMe();
From 0a11125f0eacb4f6b6617674a79e141de556a0d1 Mon Sep 17 00:00:00 2001
From: Anshuman <109489361+Anshumancanrock@users.noreply.github.com>
Date: Thu, 26 Feb 2026 09:07:09 +0530
Subject: [PATCH 039/344] feat: remove default gossip peers (#2090)
feat: remove default gossip peers for LDK backend
---
lnclient/ldk/ldk.go | 41 -----------------------------------------
1 file changed, 41 deletions(-)
diff --git a/lnclient/ldk/ldk.go b/lnclient/ldk/ldk.go
index b3181599..7efbcdf8 100644
--- a/lnclient/ldk/ldk.go
+++ b/lnclient/ldk/ldk.go
@@ -330,47 +330,6 @@ func NewLDKService(ctx context.Context, cfg config.Config, eventPublisher events
"duration": math.Ceil(time.Since(syncStartTime).Seconds()),
}).Info("LDK node synced successfully")
- if ls.network == "bitcoin" {
- go func() {
- // try to connect to some peers in the background to retrieve P2P gossip data.
- // TODO: Remove once LDK can correctly do gossip with CLN and Eclair nodes
- // see https://github.com/lightningdevkit/rust-lightning/issues/3075
- peers := []string{
- // "035e4ff418fc8b5554c5d9eea66396c227bd429a3251c8cbc711002ba215bfc226@170.75.163.209:9735", // WoS
- // "02fcc5bfc48e83f06c04483a2985e1c390cb0f35058baa875ad2053858b8e80dbd@35.239.148.251:9735", // Blink
- // "027100442c3b79f606f80f322d98d499eefcb060599efc5d4ecb00209c2cb54190@3.230.33.224:9735", // c=
-
- // Connect to our LSPs for both:
- // - Gossip data
- // - Ability for auto / free channels for users with eligible Alby subscriptions
- "0364913d18a19c671bb36dd04d6ad5be0fe8f2894314c36a9db3f03c2d414907e1@192.243.215.102:9735", // LQwD
- "031b301307574bbe9b9ac7b79cbe1700e31e544513eae0b5d7497483083f99e581@45.79.192.236:9735", // Olympus
- "038a9e56512ec98da2b5789761f7af8f280baf98a09282360cd6ff1381b5e889bf@64.23.162.51:9735", // Megalith LSP
- "02b4552a7a85274e4da01a7c71ca57407181752e8568b31d51f13c111a2941dce3@159.223.176.115:48049", // LNServer_Wave
- "038ba8f67ba8ff5c48764cdd3251c33598d55b203546d08a8f0ec9dcd9f27e3637@52.24.240.84:9735", // flashsats
- }
- logger.Logger.Info("Connecting to some peers to retrieve P2P gossip data")
- for _, peer := range peers {
- parts := strings.FieldsFunc(peer, func(r rune) bool { return r == '@' || r == ':' })
- port, err := strconv.ParseUint(parts[2], 10, 16)
- if err != nil {
- logger.Logger.WithError(err).Error("Failed to parse port number")
- continue
- }
- err = ls.ConnectPeer(ctx, &lnclient.ConnectPeerRequest{
- Pubkey: parts[0],
- Address: parts[1],
- Port: uint16(port),
- })
- if err != nil {
- logger.Logger.WithFields(logrus.Fields{
- "peer": peer,
- }).WithError(err).Error("Failed to connect to peer")
- }
- }
- }()
- }
-
// setup background sync
go func() {
MIN_SYNC_INTERVAL := 1 * time.Minute
From b1cddd27193a51c89a80e913840b581a868a3e9b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ren=C3=A9=20Aaron?=
<100827540+reneaaron@users.noreply.github.com>
Date: Thu, 26 Feb 2026 04:44:42 +0100
Subject: [PATCH 040/344] feat: add trustpilot to review page again (#2089)
* feat: add trustpilot to review page again
* fix: review feedback
---
frontend/src/screens/alby/AlbyReviews.tsx | 101 ++++++++++++++--------
1 file changed, 63 insertions(+), 38 deletions(-)
diff --git a/frontend/src/screens/alby/AlbyReviews.tsx b/frontend/src/screens/alby/AlbyReviews.tsx
index 8b71b72c..549fb2ec 100644
--- a/frontend/src/screens/alby/AlbyReviews.tsx
+++ b/frontend/src/screens/alby/AlbyReviews.tsx
@@ -1,16 +1,12 @@
-import { ExternalLinkIcon } from "lucide-react";
+import { CoinsIcon, ExternalLinkIcon, HeartIcon } from "lucide-react";
import AppHeader from "src/components/AppHeader";
import ExternalLink from "src/components/ExternalLink";
-import {
- Card,
- CardContent,
- CardDescription,
- CardHeader,
- CardTitle,
-} from "src/components/ui/card";
+import { Alert, AlertDescription, AlertTitle } from "src/components/ui/alert";
+import { Card, CardContent } from "src/components/ui/card";
import albyExtension from "src/assets/suggested-apps/alby-extension.png";
import albyGo from "src/assets/suggested-apps/alby-go.png";
+import alby from "src/assets/suggested-apps/alby.png";
import { FormattedBitcoinAmount } from "src/components/FormattedBitcoinAmount";
interface Platform {
@@ -18,14 +14,15 @@ interface Platform {
url: string;
}
-interface ProductOpportunity {
+interface ReviewOpportunity {
title: string;
logo: string;
- reward: number;
+ reward?: number;
+ rewardText?: string;
platforms: Platform[];
}
-const productOpportunities: ProductOpportunity[] = [
+const reviewOpportunities: ReviewOpportunity[] = [
{
title: "Alby Go",
logo: albyGo,
@@ -56,46 +53,65 @@ const productOpportunities: ProductOpportunity[] = [
},
],
},
+ {
+ title: "Alby",
+ logo: alby,
+ rewardText: "Our gratitude",
+ platforms: [
+ {
+ name: "Trustpilot",
+ url: "https://www.trustpilot.com/review/getalby.com",
+ },
+ ],
+ },
];
export function AlbyReviews() {
return (
<>
-
-
+
+
+
+
+ Earn bitcoin
+
+ Review one of our products and email your review link or screenshot
+ to{" "}
+
+ support@getalby.com
+ {" "}
+ to claim your reward.
+
+
+
-
- Write a review, earn bitcoin
-
- Help others discover Alby by sharing your experience. Send a link
- to your review (or a screenshot) review link to{" "}
-
- support@getalby.com
- {" "}
- to receive your bitcoin.
-
-
- {productOpportunities.map((product) => (
-
+ {reviewOpportunities.map((opportunity) => (
+

-
-
{product.title}
+
+
{opportunity.title}
- {product.platforms.map((platform, index) => (
+ {opportunity.platforms.map((platform, index) => (
{index > 0 && " • "}
{platform.name}
@@ -104,8 +120,17 @@ export function AlbyReviews() {
))}
-
-
+
+ {opportunity.reward !== undefined ? (
+
+ ) : opportunity.rewardText ? (
+
+
+ {opportunity.rewardText}
+
+ ) : null}
))}
From c64f31f3f72331e0b125f947f73c7e606ac7b1d6 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Thu, 26 Feb 2026 09:23:07 +0530
Subject: [PATCH 041/344] build(deps): bump github.com/mattn/go-sqlite3 from
1.14.32 to 1.14.34 (#2072)
Bumps [github.com/mattn/go-sqlite3](https://github.com/mattn/go-sqlite3) from 1.14.32 to 1.14.34.
- [Release notes](https://github.com/mattn/go-sqlite3/releases)
- [Commits](https://github.com/mattn/go-sqlite3/compare/v1.14.32...v1.14.34)
---
updated-dependencies:
- dependency-name: github.com/mattn/go-sqlite3
dependency-version: 1.14.34
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot]
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
go.mod | 2 +-
go.sum | 4 ++--
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/go.mod b/go.mod
index 234f7a02..91959072 100644
--- a/go.mod
+++ b/go.mod
@@ -10,7 +10,7 @@ require (
github.com/getAlby/ldk-node-go v0.0.0-20260210094439-f4fc56578330
github.com/go-gormigrate/gormigrate/v2 v2.1.5
github.com/labstack/echo/v4 v4.13.4
- github.com/mattn/go-sqlite3 v1.14.32
+ github.com/mattn/go-sqlite3 v1.14.34
github.com/nbd-wtf/go-nostr v0.52.3
github.com/nbd-wtf/ln-decodepay v1.13.0
github.com/orandin/lumberjackrus v1.0.1
diff --git a/go.sum b/go.sum
index 948b0626..44f3c299 100644
--- a/go.sum
+++ b/go.sum
@@ -469,8 +469,8 @@ github.com/mattn/go-isatty v0.0.7/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hd
github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU=
github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY=
github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y=
-github.com/mattn/go-sqlite3 v1.14.32 h1:JD12Ag3oLy1zQA+BNn74xRgaBbdhbNIDYvQUEuuErjs=
-github.com/mattn/go-sqlite3 v1.14.32/go.mod h1:Uh1q+B4BYcTPb+yiD3kU8Ct7aC0hY9fxUwlHK0RXw+Y=
+github.com/mattn/go-sqlite3 v1.14.34 h1:3NtcvcUnFBPsuRcno8pUtupspG/GM+9nZ88zgJcp6Zk=
+github.com/mattn/go-sqlite3 v1.14.34/go.mod h1:Uh1q+B4BYcTPb+yiD3kU8Ct7aC0hY9fxUwlHK0RXw+Y=
github.com/microsoft/go-mssqldb v1.7.2 h1:CHkFJiObW7ItKTJfHo1QX7QBBD1iV+mn1eOyRP3b/PA=
github.com/microsoft/go-mssqldb v1.7.2/go.mod h1:kOvZKUdrhhFQmxLZqbwUV0rHkNkZpthMITIb2Ko1IoA=
github.com/miekg/dns v1.1.62 h1:cN8OuEF1/x5Rq6Np+h1epln8OiyPWV+lROx9LxcGgIQ=
From 9701c726acbee75d6ab7deff5ddc83277936c4f7 Mon Sep 17 00:00:00 2001
From: "Sergey B."
Date: Thu, 26 Feb 2026 08:19:30 +0300
Subject: [PATCH 042/344] Making shell scripts POSIX compliant (#2015)
* feat: usage of rsync for backups
* refactor: making scripts POSIX compliant
---
scripts/linux-aarch64/install.sh | 52 ++++++++++-----------
scripts/linux-aarch64/update.sh | 44 +++++++++---------
scripts/linux-x86_64/install.sh | 52 ++++++++++-----------
scripts/linux-x86_64/phoenixd/install.sh | 57 +++++++++++++-----------
scripts/linux-x86_64/update.sh | 44 +++++++++---------
scripts/pi-aarch64/install.sh | 15 ++++---
scripts/pi-aarch64/update.sh | 18 +++++---
scripts/pi-arm/install.sh | 15 ++++---
scripts/pi-arm/update.sh | 18 +++++---
scripts/verify.sh | 31 ++++++-------
10 files changed, 184 insertions(+), 162 deletions(-)
diff --git a/scripts/linux-aarch64/install.sh b/scripts/linux-aarch64/install.sh
index 43147f07..3e920e7c 100644
--- a/scripts/linux-aarch64/install.sh
+++ b/scripts/linux-aarch64/install.sh
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!/bin/sh
ALBYHUB_URL="https://getalby.com/install/hub/server-linux-aarch64.tar.bz2"
VERIFIER_URL="https://getalby.com/install/hub/verify.sh"
@@ -8,18 +8,19 @@ echo "⚡️ Welcome to Alby Hub"
echo "-----------------------------------------"
echo "Installing Alby Hub"
echo ""
-read -p "Absolute install directory path (default: $HOME/albyhub): " USER_INSTALL_DIR
+printf "Absolute install directory path (default: %s/albyhub): " "$HOME"
+read USER_INSTALL_DIR
INSTALL_DIR="${USER_INSTALL_DIR:-$HOME/albyhub}"
# create installation directory
-mkdir -p $INSTALL_DIR
-cd $INSTALL_DIR
+mkdir -p "$INSTALL_DIR"
+cd "$INSTALL_DIR" || exit 1
# download and extract the Alby Hub executable
-wget $ALBYHUB_URL
+wget "$ALBYHUB_URL"
-if [[ ! -f "verify.sh" ]]; then
+if [ ! -f "verify.sh" ]; then
echo "Downloading the verification script..."
if ! wget -q "$VERIFIER_URL"; then
echo "❌ Failed to download the verification script." >&2
@@ -28,37 +29,35 @@ if [[ ! -f "verify.sh" ]]; then
chmod +x verify.sh
fi
-./verify.sh server-linux-aarch64.tar.bz2 albyhub-Server-Linux-aarch64.tar.bz2
-if [[ $? -ne 0 ]]; then
+if ! ./verify.sh server-linux-aarch64.tar.bz2 albyhub-Server-Linux-aarch64.tar.bz2; then
echo "❌ Verification failed, aborting installation"
exit 1
fi
-tar xvf server-linux-aarch64.tar.bz2
-if [[ $? -ne 0 ]]; then
+if ! tar xvf server-linux-aarch64.tar.bz2; then
echo "Failed to unpack Alby Hub. Potentially bzip2 is missing"
echo "Install it with sudo apt-get install bzip2"
- exit
+ exit 1
fi
rm server-linux-aarch64.tar.bz2
# prepare the data directory. this is pesistent and will hold all important data
-mkdir -p $INSTALL_DIR/data
+mkdir -p "$INSTALL_DIR/data"
# create a simple start script that sets the default configuration variables
-tee $INSTALL_DIR/start.sh > /dev/null << EOF
-#!/bin/bash
+tee "$INSTALL_DIR/start.sh" > /dev/null << EOF
+#!/bin/sh
echo "Starting Alby Hub"
WORK_DIR="$INSTALL_DIR/data" LDK_GOSSIP_SOURCE="" $INSTALL_DIR/bin/albyhub
EOF
-chmod +x $INSTALL_DIR/start.sh
+chmod +x "$INSTALL_DIR/start.sh"
# add an update script to keep the Hub up to date
# run this to update the hub
wget https://raw.githubusercontent.com/getAlby/hub/master/scripts/linux-aarch64/update.sh
-chmod +x $INSTALL_DIR/update.sh
+chmod +x "$INSTALL_DIR/update.sh"
echo ""
echo ""
@@ -66,15 +65,18 @@ echo "✅ Installation done."
echo ""
# optionally create a systemd service to start alby hub
-read -p "Do you want to setup a systemd service (requires sudo permission)? (y/n): " -n 1 -r
-if [[ ! $REPLY =~ ^[Yy]$ ]]
-then
- echo ""
- echo ""
- echo "Run $INSTALL_DIR/start.sh to start Alby Hub"
- echo "✅ DONE"
- exit
-fi
+printf "Do you want to setup a systemd service (requires sudo permission)? (y/n): "
+read REPLY
+case "$REPLY" in
+ [Yy]*) ;;
+ *)
+ echo ""
+ echo ""
+ echo "Run $INSTALL_DIR/start.sh to start Alby Hub"
+ echo "✅ DONE"
+ exit
+ ;;
+esac
sudo tee /etc/systemd/system/albyhub.service > /dev/null << EOF
[Unit]
diff --git a/scripts/linux-aarch64/update.sh b/scripts/linux-aarch64/update.sh
index 7938c678..a3510d01 100644
--- a/scripts/linux-aarch64/update.sh
+++ b/scripts/linux-aarch64/update.sh
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!/bin/sh
ALBYHUB_URL="https://getalby.com/install/hub/server-linux-aarch64.tar.bz2"
echo ""
@@ -10,32 +10,32 @@ echo "You will have to unlock Alby Hub after the update."
echo ""
echo "Make sure you have your unlock password available and a backup of your seed."
-read -p "Do you want continue? (y/n):" -n 1 -r
-if [[ ! $REPLY =~ ^[Yy]$ ]]
-then
- exit
-fi
+printf "Do you want continue? (y/n): "
+read REPLY
+case "$REPLY" in
+ [Yy]*) ;;
+ *) exit ;;
+esac
echo ""
-sudo systemctl list-units --type=service --all | grep -Fq albyhub.service
-if [[ $? -eq 0 ]]; then
+if sudo systemctl list-units --type=service --all | grep -Fq albyhub.service; then
echo "Stopping Alby Hub"
sudo systemctl stop albyhub
fi
-if pgrep -x "albyhub" > /dev/null
-then
+if pgrep -x "albyhub" > /dev/null; then
echo "Alby Hub process is still running, stopping it now."
pkill -f albyhub
fi
SCRIPT_DIR=$(dirname "$(readlink -f "$0")")
-read -p "Absolute install directory path (default: $SCRIPT_DIR): " USER_INSTALL_DIR
+printf "Absolute install directory path (default: %s): " "$SCRIPT_DIR"
+read USER_INSTALL_DIR
echo ""
INSTALL_DIR="${USER_INSTALL_DIR:-$SCRIPT_DIR}"
-if ! test -f $INSTALL_DIR/data/nwc.db; then
+if ! test -f "$INSTALL_DIR/data/nwc.db"; then
echo "Could not find Alby Hub in this directory"
exit 1
fi
@@ -43,23 +43,26 @@ fi
echo "Running in $INSTALL_DIR"
# make sure we run this in the install directory
-cd $INSTALL_DIR
+cd "$INSTALL_DIR" || exit 1
echo "Cleaning up old backup"
rm -rf albyhub-backup
mkdir albyhub-backup
echo "Creating current backup"
-mv bin albyhub-backup
-mv lib albyhub-backup
-cp -r data albyhub-backup
+if command -v rsync > /dev/null 2>&1; then
+ rsync -av data bin lib albyhub-backup/
+else
+ mv bin albyhub-backup
+ mv lib albyhub-backup
+ cp -r data albyhub-backup
+fi
echo "Downloading latest version"
-wget $ALBYHUB_URL
+wget "$ALBYHUB_URL"
-./verify.sh server-linux-aarch64.tar.bz2 albyhub-Server-Linux-aarch64.tar.bz2
-if [[ $? -ne 0 ]]; then
+if ! ./verify.sh server-linux-aarch64.tar.bz2 albyhub-Server-Linux-aarch64.tar.bz2; then
echo "❌ Verification failed, aborting installation"
exit 1
fi
@@ -67,8 +70,7 @@ fi
tar -xvf server-linux-aarch64.tar.bz2
rm server-linux-aarch64.tar.bz2
-sudo systemctl list-units --type=service --all | grep -Fq albyhub.service
-if [[ $? -eq 0 ]]; then
+if sudo systemctl list-units --type=service --all | grep -Fq albyhub.service; then
echo "Starting Alby Hub"
sudo systemctl start albyhub
fi
diff --git a/scripts/linux-x86_64/install.sh b/scripts/linux-x86_64/install.sh
index 23deace3..f3911315 100644
--- a/scripts/linux-x86_64/install.sh
+++ b/scripts/linux-x86_64/install.sh
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!/bin/sh
ALBYHUB_URL="https://getalby.com/install/hub/server-linux-x86_64.tar.bz2"
VERIFIER_URL="https://getalby.com/install/hub/verify.sh"
@@ -8,18 +8,19 @@ echo "⚡️ Welcome to Alby Hub"
echo "-----------------------------------------"
echo "Installing Alby Hub"
echo ""
-read -p "Absolute install directory path (default: $HOME/albyhub): " USER_INSTALL_DIR
+printf "Absolute install directory path (default: %s/albyhub): " "$HOME"
+read USER_INSTALL_DIR
INSTALL_DIR="${USER_INSTALL_DIR:-$HOME/albyhub}"
# create installation directory
-mkdir -p $INSTALL_DIR
-cd $INSTALL_DIR
+mkdir -p "$INSTALL_DIR"
+cd "$INSTALL_DIR" || exit 1
# download and extract the Alby Hub executable
-wget $ALBYHUB_URL
+wget "$ALBYHUB_URL"
-if [[ ! -f "verify.sh" ]]; then
+if [ ! -f "verify.sh" ]; then
echo "Downloading the verification script..."
if ! wget -q "$VERIFIER_URL"; then
echo "❌ Failed to download the verification script." >&2
@@ -28,37 +29,35 @@ if [[ ! -f "verify.sh" ]]; then
chmod +x verify.sh
fi
-./verify.sh server-linux-x86_64.tar.bz2 albyhub-Server-Linux-x86_64.tar.bz2
-if [[ $? -ne 0 ]]; then
+if ! ./verify.sh server-linux-x86_64.tar.bz2 albyhub-Server-Linux-x86_64.tar.bz2; then
echo "❌ Verification failed, aborting installation"
exit 1
fi
-tar xvf server-linux-x86_64.tar.bz2
-if [[ $? -ne 0 ]]; then
+if ! tar xvf server-linux-x86_64.tar.bz2; then
echo "Failed to unpack Alby Hub. Potentially bzip2 is missing"
echo "Install it with sudo apt-get install bzip2"
- exit
+ exit 1
fi
rm server-linux-x86_64.tar.bz2
# prepare the data directory. this is pesistent and will hold all important data
-mkdir -p $INSTALL_DIR/data
+mkdir -p "$INSTALL_DIR/data"
# create a simple start script that sets the default configuration variables
-tee $INSTALL_DIR/start.sh > /dev/null << EOF
-#!/bin/bash
+tee "$INSTALL_DIR/start.sh" > /dev/null << EOF
+#!/bin/sh
echo "Starting Alby Hub"
WORK_DIR="$INSTALL_DIR/data" LDK_GOSSIP_SOURCE="" $INSTALL_DIR/bin/albyhub
EOF
-chmod +x $INSTALL_DIR/start.sh
+chmod +x "$INSTALL_DIR/start.sh"
# add an update script to keep the Hub up to date
# run this to update the hub
wget https://raw.githubusercontent.com/getAlby/hub/master/scripts/linux-x86_64/update.sh
-chmod +x $INSTALL_DIR/update.sh
+chmod +x "$INSTALL_DIR/update.sh"
echo ""
echo ""
@@ -66,15 +65,18 @@ echo "✅ Installation done."
echo ""
# optionally create a systemd service to start alby hub
-read -p "Do you want to setup a systemd service (requires sudo permission)? (y/n): " -n 1 -r
-if [[ ! $REPLY =~ ^[Yy]$ ]]
-then
- echo ""
- echo ""
- echo "Run $INSTALL_DIR/start.sh to start Alby Hub"
- echo "✅ DONE"
- exit
-fi
+printf "Do you want to setup a systemd service (requires sudo permission)? (y/n): "
+read REPLY
+case "$REPLY" in
+ [Yy]*) ;;
+ *)
+ echo ""
+ echo ""
+ echo "Run $INSTALL_DIR/start.sh to start Alby Hub"
+ echo "✅ DONE"
+ exit
+ ;;
+esac
sudo tee /etc/systemd/system/albyhub.service > /dev/null << EOF
[Unit]
diff --git a/scripts/linux-x86_64/phoenixd/install.sh b/scripts/linux-x86_64/phoenixd/install.sh
index cb0024c0..1355704c 100644
--- a/scripts/linux-x86_64/phoenixd/install.sh
+++ b/scripts/linux-x86_64/phoenixd/install.sh
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!/bin/sh
ALBYHUB_URL="https://getalby.com/install/hub/server-linux-x86_64.tar.bz2"
PHOENIX_VERSION="0.1.5"
@@ -10,43 +10,43 @@ echo "⚡️ Welcome to AlbyHub"
echo "-----------------------------------------"
echo "Installing AlbyHub with phoenixd"
echo ""
-read -p "Absolute install directory path (default: $HOME/albyhub-phoenixd): " USER_INSTALL_DIR
+printf "Absolute install directory path (default: %s/albyhub-phoenixd): " "$HOME"
+read USER_INSTALL_DIR
INSTALL_DIR="${USER_INSTALL_DIR:-$HOME/albyhub-phoenixd}"
echo "Installing phoenixd $PHOENIX_VERSION into $INSTALL_DIR"
-mkdir -p $INSTALL_DIR
+mkdir -p "$INSTALL_DIR"
mkdir -p "$INSTALL_DIR/phoenixd"
-cd $INSTALL_DIR
+cd "$INSTALL_DIR" || exit 1
-wget $PHOENIX_URL
-unzip -j phoenix-$PHOENIX_VERSION-linux-x64.zip -d phoenixd
+wget "$PHOENIX_URL"
+unzip -j "phoenix-$PHOENIX_VERSION-linux-x64.zip" -d phoenixd
mkdir -p "$INSTALL_DIR/albyhub"
-wget $ALBYHUB_URL
-tar xvf server-linux-x86_64.tar.bz2 --directory=albyhub
-if [[ $? -ne 0 ]]; then
+wget "$ALBYHUB_URL"
+if ! tar xvf server-linux-x86_64.tar.bz2 --directory=albyhub; then
echo "Failed to unpack Alby Hub. Potentially bzip2 is missing"
echo "Install it with sudo apt-get install bzip2"
- exit
+ exit 1
fi
rm server-linux-x86_64.tar.bz2
-rm phoenix-$PHOENIX_VERSION-linux-x64.zip
+rm "phoenix-$PHOENIX_VERSION-linux-x64.zip"
### Create start scripts
-tee $INSTALL_DIR/phoenixd/start.sh > /dev/null << EOF
-#!/bin/bash
+tee "$INSTALL_DIR/phoenixd/start.sh" > /dev/null << EOF
+#!/bin/sh
echo "Starting phoenixd"
echo "Make sure to backup your phoenixd data in $INSTALL_DIR/phoenixd/data"
PHOENIX_DATADIR="$INSTALL_DIR/phoenixd/data" $INSTALL_DIR/phoenixd/phoenixd --agree-to-terms-of-service --http-bind-ip=0.0.0.0
EOF
-tee $INSTALL_DIR/albyhub/start.sh > /dev/null << EOF
-#!/bin/bash
+tee "$INSTALL_DIR/albyhub/start.sh" > /dev/null << EOF
+#!/bin/sh
echo "Starting Alby Hub"
phoenix_config_file=$INSTALL_DIR/phoenixd/data/phoenix.conf
@@ -54,8 +54,8 @@ PHOENIXD_AUTHORIZATION=\$(awk -F'=' '/^http-password/{print \$2}' "\$phoenix_con
WORK_DIR="$INSTALL_DIR/albyhub/data" LN_BACKEND_TYPE=PHOENIX PHOENIXD_ADDRESS="http://localhost:9740" PHOENIXD_AUTHORIZATION=\$PHOENIXD_AUTHORIZATION LDK_GOSSIP_SOURCE="" $INSTALL_DIR/albyhub/bin/albyhub
EOF
-tee $INSTALL_DIR/start.sh > /dev/null << EOF
-#!/bin/bash
+tee "$INSTALL_DIR/start.sh" > /dev/null << EOF
+#!/bin/sh
$INSTALL_DIR/phoenixd/start.sh &
# wait a bit until phoenixd is started
@@ -65,22 +65,25 @@ $INSTALL_DIR/albyhub/start.sh &
echo "Started..."
EOF
-chmod +x $INSTALL_DIR/start.sh
-chmod +x $INSTALL_DIR/phoenixd/start.sh
-chmod +x $INSTALL_DIR/albyhub/start.sh
+chmod +x "$INSTALL_DIR/start.sh"
+chmod +x "$INSTALL_DIR/phoenixd/start.sh"
+chmod +x "$INSTALL_DIR/albyhub/start.sh"
echo ""
echo ""
echo "Installation done."
echo ""
-read -p "Do you want to setup a systemd service? (y/n): " -n 1 -r
-if [[ ! $REPLY =~ ^[Yy]$ ]]
-then
- echo "Run $INSTALL_DIR/start.sh to start phoenixd and Alby Hub"
- echo "DONE"
- exit
-fi
+printf "Do you want to setup a systemd service? (y/n): "
+read REPLY
+case "$REPLY" in
+ [Yy]*) ;;
+ *)
+ echo "Run $INSTALL_DIR/start.sh to start phoenixd and Alby Hub"
+ echo "DONE"
+ exit
+ ;;
+esac
sudo tee /etc/systemd/system/albyhub.service > /dev/null << EOF
[Unit]
diff --git a/scripts/linux-x86_64/update.sh b/scripts/linux-x86_64/update.sh
index 13b2dbcc..70b9d2a9 100644
--- a/scripts/linux-x86_64/update.sh
+++ b/scripts/linux-x86_64/update.sh
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!/bin/sh
ALBYHUB_URL="https://getalby.com/install/hub/server-linux-x86_64.tar.bz2"
echo ""
@@ -10,32 +10,32 @@ echo "You will have to unlock Alby Hub after the update."
echo ""
echo "Make sure you have your unlock password available and a backup of your seed."
-read -p "Do you want continue? (y/n):" -n 1 -r
-if [[ ! $REPLY =~ ^[Yy]$ ]]
-then
- exit
-fi
+printf "Do you want continue? (y/n): "
+read REPLY
+case "$REPLY" in
+ [Yy]*) ;;
+ *) exit ;;
+esac
echo ""
-sudo systemctl list-units --type=service --all | grep -Fq albyhub.service
-if [[ $? -eq 0 ]]; then
+if sudo systemctl list-units --type=service --all | grep -Fq albyhub.service; then
echo "Stopping Alby Hub"
sudo systemctl stop albyhub
fi
-if pgrep -x "albyhub" > /dev/null
-then
+if pgrep -x "albyhub" > /dev/null; then
echo "Alby Hub process is still running, stopping it now."
pkill -f albyhub
fi
SCRIPT_DIR=$(dirname "$(readlink -f "$0")")
-read -p "Absolute install directory path (default: $SCRIPT_DIR): " USER_INSTALL_DIR
+printf "Absolute install directory path (default: %s): " "$SCRIPT_DIR"
+read USER_INSTALL_DIR
echo ""
INSTALL_DIR="${USER_INSTALL_DIR:-$SCRIPT_DIR}"
-if ! test -f $INSTALL_DIR/data/nwc.db; then
+if ! test -f "$INSTALL_DIR/data/nwc.db"; then
echo "Could not find Alby Hub in this directory"
exit 1
fi
@@ -43,23 +43,26 @@ fi
echo "Running in $INSTALL_DIR"
# make sure we run this in the install directory
-cd $INSTALL_DIR
+cd "$INSTALL_DIR" || exit 1
echo "Cleaning up old backup"
rm -rf albyhub-backup
mkdir albyhub-backup
echo "Creating current backup"
-mv bin albyhub-backup
-mv lib albyhub-backup
-cp -r data albyhub-backup
+if command -v rsync > /dev/null 2>&1; then
+ rsync -av data bin lib albyhub-backup/
+else
+ mv bin albyhub-backup
+ mv lib albyhub-backup
+ cp -r data albyhub-backup
+fi
echo "Downloading latest version"
-wget $ALBYHUB_URL
+wget "$ALBYHUB_URL"
-./verify.sh server-linux-x86_64.tar.bz2 albyhub-Server-Linux-x86_64.tar.bz2
-if [[ $? -ne 0 ]]; then
+if ! ./verify.sh server-linux-x86_64.tar.bz2 albyhub-Server-Linux-x86_64.tar.bz2; then
echo "❌ Verification failed, aborting installation"
exit 1
fi
@@ -67,8 +70,7 @@ fi
tar -xvf server-linux-x86_64.tar.bz2
rm server-linux-x86_64.tar.bz2
-sudo systemctl list-units --type=service --all | grep -Fq albyhub.service
-if [[ $? -eq 0 ]]; then
+if sudo systemctl list-units --type=service --all | grep -Fq albyhub.service; then
echo "Starting Alby Hub"
sudo systemctl start albyhub
fi
diff --git a/scripts/pi-aarch64/install.sh b/scripts/pi-aarch64/install.sh
index cae3a194..0400fca6 100644
--- a/scripts/pi-aarch64/install.sh
+++ b/scripts/pi-aarch64/install.sh
@@ -1,3 +1,5 @@
+#!/bin/sh
+
VERIFIER_URL="https://getalby.com/install/hub/verify.sh"
echo ""
@@ -8,8 +10,8 @@ echo "Installing..."
sudo mkdir -p /opt/albyhub
-sudo chown -R $USER:$USER /opt/albyhub
-cd /opt/albyhub
+sudo chown -R "$USER:$USER" /opt/albyhub
+cd /opt/albyhub || exit 1
wget https://getalby.com/install/hub/server-linux-aarch64.tar.bz2
# add an update script to keep the Hub up to date
@@ -17,7 +19,7 @@ wget https://getalby.com/install/hub/server-linux-aarch64.tar.bz2
wget https://raw.githubusercontent.com/getAlby/hub/master/scripts/pi-aarch64/update.sh
chmod +x update.sh
-if [[ ! -f "verify.sh" ]]; then
+if [ ! -f "verify.sh" ]; then
echo "Downloading the verification script..."
if ! wget -q "$VERIFIER_URL"; then
echo "❌ Failed to download the verification script." >&2
@@ -26,17 +28,16 @@ if [[ ! -f "verify.sh" ]]; then
chmod +x verify.sh
fi
-./verify.sh server-linux-aarch64.tar.bz2 albyhub-Server-Linux-aarch64.tar.bz2
-if [[ $? -ne 0 ]]; then
+if ! ./verify.sh server-linux-aarch64.tar.bz2 albyhub-Server-Linux-aarch64.tar.bz2; then
echo "❌ Verification failed, aborting installation"
exit 1
fi
# Extract archives
-tar -xvf server-linux-aarch64.tar.bz2
-if [[ $? -ne 0 ]]; then
+if ! tar -xvf server-linux-aarch64.tar.bz2; then
echo "Failed to unpack Alby Hub. Potentially bzip2 is missing"
echo "Install it with sudo apt-get install bzip2"
+ exit 1
fi
# Cleanup
diff --git a/scripts/pi-aarch64/update.sh b/scripts/pi-aarch64/update.sh
index 3ec38eee..981a1837 100644
--- a/scripts/pi-aarch64/update.sh
+++ b/scripts/pi-aarch64/update.sh
@@ -1,20 +1,24 @@
-#!/bin/bash
+#!/bin/sh
echo "🔃 Updating Alby Hub..."
sudo systemctl stop albyhub
# Download new artifacts
-cd /opt/albyhub
+cd /opt/albyhub || exit 1
rm -rf albyhub-backup
mkdir albyhub-backup
-mv bin albyhub-backup
-mv lib albyhub-backup
-cp -r data albyhub-backup
+
+if command -v rsync > /dev/null 2>&1; then
+ rsync -av data bin lib albyhub-backup/
+else
+ mv bin albyhub-backup
+ mv lib albyhub-backup
+ cp -r data albyhub-backup
+fi
wget https://getalby.com/install/hub/server-linux-aarch64.tar.bz2
-./verify.sh server-linux-aarch64.tar.bz2 albyhub-Server-Linux-aarch64.tar.bz2
-if [[ $? -ne 0 ]]; then
+if ! ./verify.sh server-linux-aarch64.tar.bz2 albyhub-Server-Linux-aarch64.tar.bz2; then
echo "❌ Verification failed, aborting installation"
exit 1
fi
diff --git a/scripts/pi-arm/install.sh b/scripts/pi-arm/install.sh
index 135f8eac..3d96c623 100644
--- a/scripts/pi-arm/install.sh
+++ b/scripts/pi-arm/install.sh
@@ -1,3 +1,5 @@
+#!/bin/sh
+
VERIFIER_URL="https://getalby.com/install/hub/verify.sh"
echo ""
@@ -8,8 +10,8 @@ echo "Installing..."
sudo mkdir -p /opt/albyhub
-sudo chown -R $USER:$USER /opt/albyhub
-cd /opt/albyhub
+sudo chown -R "$USER:$USER" /opt/albyhub
+cd /opt/albyhub || exit 1
wget https://getalby.com/install/hub/server-linux-armv6.tar.bz2
# add an update script to keep the Hub up to date
@@ -17,7 +19,7 @@ wget https://getalby.com/install/hub/server-linux-armv6.tar.bz2
wget https://raw.githubusercontent.com/getAlby/hub/master/scripts/pi-arm/update.sh
chmod +x update.sh
-if [[ ! -f "verify.sh" ]]; then
+if [ ! -f "verify.sh" ]; then
echo "Downloading the verification script..."
if ! wget -q "$VERIFIER_URL"; then
echo "❌ Failed to download the verification script." >&2
@@ -26,17 +28,16 @@ if [[ ! -f "verify.sh" ]]; then
chmod +x verify.sh
fi
-./verify.sh server-linux-armv6.tar.bz2 albyhub-Server-Linux-armv6.tar.bz2
-if [[ $? -ne 0 ]]; then
+if ! ./verify.sh server-linux-armv6.tar.bz2 albyhub-Server-Linux-armv6.tar.bz2; then
echo "❌ Verification failed, aborting installation"
exit 1
fi
# Extract archives
-tar -xvf server-linux-armv6.tar.bz2
-if [[ $? -ne 0 ]]; then
+if ! tar -xvf server-linux-armv6.tar.bz2; then
echo "Failed to unpack Alby Hub. Potentially bzip2 is missing"
echo "Install it with sudo apt-get install bzip2"
+ exit 1
fi
# Cleanup
diff --git a/scripts/pi-arm/update.sh b/scripts/pi-arm/update.sh
index 3833a11a..4309846e 100644
--- a/scripts/pi-arm/update.sh
+++ b/scripts/pi-arm/update.sh
@@ -1,20 +1,24 @@
-#!/bin/bash
+#!/bin/sh
echo "🔃 Updating Alby Hub..."
sudo systemctl stop albyhub
# Download new artifacts
-cd /opt/albyhub
+cd /opt/albyhub || exit 1
rm -rf albyhub-backup
mkdir albyhub-backup
-mv bin albyhub-backup
-mv lib albyhub-backup
-cp -r data albyhub-backup
+
+if command -v rsync > /dev/null 2>&1; then
+ rsync -av data bin lib albyhub-backup/
+else
+ mv bin albyhub-backup
+ mv lib albyhub-backup
+ cp -r data albyhub-backup
+fi
wget https://getalby.com/install/hub/server-linux-armv6.tar.bz2
-./verify.sh server-linux-armv6.tar.bz2 albyhub-Server-Linux-armv6.tar.bz2
-if [[ $? -ne 0 ]]; then
+if ! ./verify.sh server-linux-armv6.tar.bz2 albyhub-Server-Linux-armv6.tar.bz2; then
echo "❌ Verification failed, aborting installation"
exit 1
fi
diff --git a/scripts/verify.sh b/scripts/verify.sh
index c2d03dae..83f28ea7 100644
--- a/scripts/verify.sh
+++ b/scripts/verify.sh
@@ -1,24 +1,28 @@
-#!/bin/bash
+#!/bin/sh
MANIFEST_URL="https://getalby.com/install/hub/manifest.txt"
SIGNATURE_URL="https://getalby.com/install/hub/manifest.txt.asc"
verify_package() {
- local archive_file="${1}"
- local filename_in_manifest="${2}"
- local response=""
+ archive_file="${1}"
+ filename_in_manifest="${2}"
+ response=""
while true; do
- read -r -p "Verify package signature and integrity? (Y/N): " response
+ printf "Verify package signature and integrity? (Y/N): "
+ read response
case "$response" in
- [Yy]) break ;;
- [Nn]) echo "Verification skipped." ; return 0 ;;
+ [Yy]*) break ;;
+ [Nn]*)
+ echo "Verification skipped."
+ return 0
+ ;;
*) echo "Invalid input. Please enter Y or N." ;;
esac
done
for cmd in gpg sha256sum; do
- if ! command -v "$cmd" &>/dev/null; then
+ if ! command -v "$cmd" > /dev/null 2>&1; then
echo "❌ Required command '$cmd' is not available." >&2
return 1
fi
@@ -42,17 +46,15 @@ verify_package() {
return 1
fi
- local expected_hash
expected_hash=$(grep "${filename_in_manifest}" "manifest.txt" | awk '{print $1}') || true
- if [[ -z "$expected_hash" ]]; then
+ if [ -z "$expected_hash" ]; then
echo "❌ No hash entry found for ${filename_in_manifest} in the manifest." >&2
return 1
fi
- local actual_hash
actual_hash=$(sha256sum "$archive_file" | awk '{print $1}')
- if [[ "$expected_hash" != "$actual_hash" ]]; then
+ if [ "$expected_hash" != "$actual_hash" ]; then
echo "❌ SHA256 hash mismatch! The file may be corrupted or tampered with." >&2
return 1
fi
@@ -61,12 +63,11 @@ verify_package() {
return 0
}
-if [[ $# -ne 2 ]]; then
+if [ $# -ne 2 ]; then
echo "Usage: $0 "
exit 1
fi
-verify_package "$1" "$2"
-if [[ $? -ne 0 ]]; then
+if ! verify_package "$1" "$2"; then
exit 1
fi
From a2af8fd598ef43eba6c2812151e7f66f5af35563 Mon Sep 17 00:00:00 2001
From: Adithya Vardhan
Date: Thu, 26 Feb 2026 12:25:06 +0530
Subject: [PATCH 043/344] fix: return optional total balance in list apps
response for subwallets (#2057)
* fix: return optional total balance in list apps response for subwallets
* chore: add error handling to subwallet balance query
* chore: add METADATA_APPSTORE_APP_ID_KEY constant
* chore: add MAX_FREE_SUBWALLETS constant
* chore: use subwallet query and total count for limit check
---
api/api.go | 34 +++++++---
api/models.go | 5 +-
constants/constants.go | 2 +
db/queries/get_total_subwallet_balance.go | 40 ++++++++++++
.../get_total_subwallet_balance_test.go | 64 ++++++++++++++++++
frontend/src/constants.ts | 1 +
.../src/screens/subwallets/NewSubwallet.tsx | 15 +++--
.../src/screens/subwallets/SubwalletList.tsx | 65 ++++++++++---------
frontend/src/types.ts | 1 +
nip47/controllers/get_info_controller.go | 2 +-
nip47/controllers/get_info_controller_test.go | 10 +--
11 files changed, 183 insertions(+), 56 deletions(-)
create mode 100644 db/queries/get_total_subwallet_balance.go
create mode 100644 db/queries/get_total_subwallet_balance_test.go
diff --git a/api/api.go b/api/api.go
index 4bfebe1d..d6ca8d6d 100644
--- a/api/api.go
+++ b/api/api.go
@@ -177,7 +177,7 @@ func (api *api) UpdateApp(userApp *db.App, updateAppRequest *UpdateAppRequest) e
}).Error("Failed to deserialize app metadata")
return err
}
- if existingMetadata["app_store_app_id"] == constants.SUBWALLET_APPSTORE_APP_ID {
+ if existingMetadata[constants.METADATA_APPSTORE_APP_ID_KEY] == constants.SUBWALLET_APPSTORE_APP_ID {
return errors.New("Cannot update sub-wallet to be non-isolated")
}
}
@@ -487,7 +487,7 @@ func (api *api) ListApps(limit uint64, offset uint64, filters ListAppsFilters, o
}
if filters.AppStoreAppId != "" {
- query = query.Where(datatypes.JSONQuery("metadata").Equals(filters.AppStoreAppId, "app_store_app_id"))
+ query = query.Where(datatypes.JSONQuery("metadata").Equals(filters.AppStoreAppId, constants.METADATA_APPSTORE_APP_ID_KEY))
}
if filters.Unused {
@@ -495,12 +495,16 @@ func (api *api) ListApps(limit uint64, offset uint64, filters ListAppsFilters, o
query = query.Where("last_used_at IS NULL OR last_used_at < ?", time.Now().Add(-60*24*time.Hour))
}
- if filters.SubWallets != nil && !*filters.SubWallets {
- // exclude subwallets :scream:
- if api.db.Dialector.Name() == "sqlite" {
- query = query.Where("metadata is NULL OR JSON_EXTRACT(metadata, '$.app_store_app_id') IS NULL OR JSON_EXTRACT(metadata, '$.app_store_app_id') != ?", constants.SUBWALLET_APPSTORE_APP_ID)
+ if filters.SubWallets != nil {
+ if *filters.SubWallets {
+ query = query.Where(datatypes.JSONQuery("metadata").Equals(constants.SUBWALLET_APPSTORE_APP_ID, constants.METADATA_APPSTORE_APP_ID_KEY))
} else {
- query = query.Where("metadata IS NULL OR metadata->>'app_store_app_id' IS NULL OR metadata->>'app_store_app_id' != ?", constants.SUBWALLET_APPSTORE_APP_ID)
+ // exclude subwallets :scream:
+ if api.db.Dialector.Name() == "sqlite" {
+ query = query.Where(fmt.Sprintf("metadata is NULL OR JSON_EXTRACT(metadata, '$.%s') IS NULL OR JSON_EXTRACT(metadata, '$.%s') != ?", constants.METADATA_APPSTORE_APP_ID_KEY, constants.METADATA_APPSTORE_APP_ID_KEY), constants.SUBWALLET_APPSTORE_APP_ID)
+ } else {
+ query = query.Where(fmt.Sprintf("metadata IS NULL OR metadata->>'%s' IS NULL OR metadata->>'%s' != ?", constants.METADATA_APPSTORE_APP_ID_KEY, constants.METADATA_APPSTORE_APP_ID_KEY), constants.SUBWALLET_APPSTORE_APP_ID)
+ }
}
}
@@ -523,6 +527,17 @@ func (api *api) ListApps(limit uint64, offset uint64, filters ListAppsFilters, o
logger.Logger.WithError(result.Error).Error("Failed to count DB apps")
return nil, result.Error
}
+
+ var totalBalance *int64
+ if filters.SubWallets != nil && *filters.SubWallets {
+ totalBalanceMsat, err := queries.GetTotalSubwalletBalance(api.db)
+ if err != nil {
+ logger.Logger.WithError(err).Error("Failed to calculate total subwallet balance")
+ return nil, err
+ }
+ totalBalance = &totalBalanceMsat
+ }
+
query = query.Offset(int(offset)).Limit(int(limit))
err := query.Find(&dbApps).Error
@@ -598,8 +613,9 @@ func (api *api) ListApps(limit uint64, offset uint64, filters ListAppsFilters, o
apiApps = append(apiApps, apiApp)
}
return &ListAppsResponse{
- Apps: apiApps,
- TotalCount: uint64(totalCount),
+ Apps: apiApps,
+ TotalCount: uint64(totalCount),
+ TotalBalance: totalBalance,
}, nil
}
diff --git a/api/models.go b/api/models.go
index 7d0f544e..3d7f1025 100644
--- a/api/models.go
+++ b/api/models.go
@@ -113,8 +113,9 @@ type ListAppsFilters struct {
}
type ListAppsResponse struct {
- Apps []App `json:"apps"`
- TotalCount uint64 `json:"totalCount"`
+ Apps []App `json:"apps"`
+ TotalCount uint64 `json:"totalCount"`
+ TotalBalance *int64 `json:"totalBalance,omitempty"`
}
type UpdateAppRequest struct {
diff --git a/constants/constants.go b/constants/constants.go
index f24553d2..97c941f4 100644
--- a/constants/constants.go
+++ b/constants/constants.go
@@ -76,6 +76,8 @@ const (
ENCRYPTION_TYPE_NIP44_V2 = "nip44_v2"
)
+const METADATA_APPSTORE_APP_ID_KEY = "app_store_app_id"
+
const SUBWALLET_APPSTORE_APP_ID = "uncle-jim"
const (
diff --git a/db/queries/get_total_subwallet_balance.go b/db/queries/get_total_subwallet_balance.go
new file mode 100644
index 00000000..42d82a4a
--- /dev/null
+++ b/db/queries/get_total_subwallet_balance.go
@@ -0,0 +1,40 @@
+package queries
+
+import (
+ "github.com/getAlby/hub/constants"
+ "github.com/getAlby/hub/db"
+ "gorm.io/datatypes"
+ "gorm.io/gorm"
+)
+
+func GetTotalSubwalletBalance(tx *gorm.DB) (int64, error) {
+ subwalletAppIDsQuery := tx.Model(&db.App{}).
+ Select("id").
+ Where(datatypes.JSONQuery("metadata").Equals(constants.SUBWALLET_APPSTORE_APP_ID, constants.METADATA_APPSTORE_APP_ID_KEY))
+
+ var received struct {
+ Sum int64
+ }
+ res := tx.
+ Table("transactions").
+ Select("SUM(amount_msat) as sum").
+ Where("app_id IN (?) AND type = ? AND state = ?", subwalletAppIDsQuery, constants.TRANSACTION_TYPE_INCOMING, constants.TRANSACTION_STATE_SETTLED).
+ Scan(&received)
+ if res.Error != nil {
+ return 0, res.Error
+ }
+
+ var spent struct {
+ Sum int64
+ }
+ res = tx.
+ Table("transactions").
+ Select("SUM(amount_msat + fee_msat + fee_reserve_msat) as sum").
+ Where("app_id IN (?) AND type = ? AND (state = ? OR state = ?)", subwalletAppIDsQuery, constants.TRANSACTION_TYPE_OUTGOING, constants.TRANSACTION_STATE_SETTLED, constants.TRANSACTION_STATE_PENDING).
+ Scan(&spent)
+ if res.Error != nil {
+ return 0, res.Error
+ }
+
+ return received.Sum - spent.Sum, nil
+}
diff --git a/db/queries/get_total_subwallet_balance_test.go b/db/queries/get_total_subwallet_balance_test.go
new file mode 100644
index 00000000..150c7557
--- /dev/null
+++ b/db/queries/get_total_subwallet_balance_test.go
@@ -0,0 +1,64 @@
+package queries
+
+import (
+ "fmt"
+ "testing"
+
+ "github.com/stretchr/testify/assert"
+ "github.com/stretchr/testify/require"
+ "gorm.io/datatypes"
+
+ "github.com/getAlby/hub/constants"
+ "github.com/getAlby/hub/db"
+ "github.com/getAlby/hub/tests"
+)
+
+func TestGetTotalSubwalletBalance(t *testing.T) {
+ svc, err := tests.CreateTestService(t)
+ require.NoError(t, err)
+ defer svc.Remove()
+
+ subwalletA, _, err := tests.CreateApp(svc)
+ require.NoError(t, err)
+ subwalletA.Isolated = true
+ subwalletA.Metadata = datatypes.JSON([]byte(fmt.Sprintf(`{"%s":"%s"}`, constants.METADATA_APPSTORE_APP_ID_KEY, constants.SUBWALLET_APPSTORE_APP_ID)))
+ svc.DB.Save(&subwalletA)
+
+ subwalletB, _, err := tests.CreateApp(svc)
+ require.NoError(t, err)
+ subwalletB.Isolated = true
+ subwalletB.Metadata = datatypes.JSON([]byte(fmt.Sprintf(`{"%s":"%s"}`, constants.METADATA_APPSTORE_APP_ID_KEY, constants.SUBWALLET_APPSTORE_APP_ID)))
+ svc.DB.Save(&subwalletB)
+
+ incomingSubwalletTx := db.Transaction{
+ AppId: &subwalletA.ID,
+ Type: constants.TRANSACTION_TYPE_INCOMING,
+ State: constants.TRANSACTION_STATE_SETTLED,
+ AmountMsat: 5000,
+ }
+ svc.DB.Save(&incomingSubwalletTx)
+
+ outgoingSettledSubwalletTx := db.Transaction{
+ AppId: &subwalletA.ID,
+ Type: constants.TRANSACTION_TYPE_OUTGOING,
+ State: constants.TRANSACTION_STATE_SETTLED,
+ AmountMsat: 1000,
+ FeeMsat: 100,
+ FeeReserveMsat: 0,
+ }
+ svc.DB.Save(&outgoingSettledSubwalletTx)
+
+ outgoingPendingSubwalletTx := db.Transaction{
+ AppId: &subwalletB.ID,
+ Type: constants.TRANSACTION_TYPE_OUTGOING,
+ State: constants.TRANSACTION_STATE_PENDING,
+ AmountMsat: 2000,
+ FeeMsat: 0,
+ FeeReserveMsat: 300,
+ }
+ svc.DB.Save(&outgoingPendingSubwalletTx)
+
+ total, err := GetTotalSubwalletBalance(svc.DB)
+ require.NoError(t, err)
+ assert.Equal(t, int64(1600), total)
+}
diff --git a/frontend/src/constants.ts b/frontend/src/constants.ts
index eef39ccc..65e8a1f6 100644
--- a/frontend/src/constants.ts
+++ b/frontend/src/constants.ts
@@ -12,6 +12,7 @@ export const ALBY_MIN_HOSTED_BALANCE_FOR_FIRST_CHANNEL = 10_000;
export const LIST_TRANSACTIONS_LIMIT = 20;
export const LIST_APPS_LIMIT = 20;
+export const MAX_FREE_SUBWALLETS = 3;
export const SUPPORT_ALBY_CONNECTION_NAME = `ZapPlanner - Alby Hub`;
export const SUPPORT_ALBY_LIGHTNING_ADDRESS = "hub@getalby.com";
diff --git a/frontend/src/screens/subwallets/NewSubwallet.tsx b/frontend/src/screens/subwallets/NewSubwallet.tsx
index cda47054..0a80443e 100644
--- a/frontend/src/screens/subwallets/NewSubwallet.tsx
+++ b/frontend/src/screens/subwallets/NewSubwallet.tsx
@@ -8,7 +8,7 @@ import ResponsiveExternalLinkButton from "src/components/ResponsiveExternalLinkB
import { LoadingButton } from "src/components/ui/custom/loading-button";
import { Input } from "src/components/ui/input";
import { Label } from "src/components/ui/label";
-import { SUBWALLET_APPSTORE_APP_ID } from "src/constants";
+import { MAX_FREE_SUBWALLETS, SUBWALLET_APPSTORE_APP_ID } from "src/constants";
import { useAlbyMe } from "src/hooks/useAlbyMe";
import { useApps } from "src/hooks/useApps";
import { useInfo } from "src/hooks/useInfo";
@@ -19,11 +19,11 @@ import { handleRequestError } from "src/utils/handleRequestError";
export function NewSubwallet() {
const navigate = useNavigate();
const [name, setName] = React.useState("");
- const { data: appsData } = useApps(
+ const { data: subwalletAppsData } = useApps(
undefined,
undefined,
{
- appStoreAppId: SUBWALLET_APPSTORE_APP_ID,
+ subWallets: true,
},
"created_at"
);
@@ -34,20 +34,21 @@ export function NewSubwallet() {
if (
!info ||
- !appsData ||
+ !subwalletAppsData ||
(info.albyAccountConnected && !albyMe && !albyMeError)
) {
return ;
}
- const subwalletApps = appsData?.apps;
-
const handleSubmit = async (event: React.FormEvent) => {
event.preventDefault();
setLoading(true);
try {
- if (!albyMe?.subscription.plan_code && subwalletApps?.length >= 3) {
+ if (
+ !albyMe?.subscription.plan_code &&
+ subwalletAppsData.totalCount >= MAX_FREE_SUBWALLETS
+ ) {
throw new Error(
"Max limit reached. Please upgrade to Pro to create more sub-wallets."
);
diff --git a/frontend/src/screens/subwallets/SubwalletList.tsx b/frontend/src/screens/subwallets/SubwalletList.tsx
index 240761c4..0d57d318 100644
--- a/frontend/src/screens/subwallets/SubwalletList.tsx
+++ b/frontend/src/screens/subwallets/SubwalletList.tsx
@@ -27,7 +27,7 @@ import {
import { ExternalLinkButton } from "src/components/ui/custom/external-link-button";
import { LinkButton } from "src/components/ui/custom/link-button";
import { UpgradeDialog } from "src/components/UpgradeDialog";
-import { LIST_APPS_LIMIT, SUBWALLET_APPSTORE_APP_ID } from "src/constants";
+import { LIST_APPS_LIMIT, MAX_FREE_SUBWALLETS } from "src/constants";
import { useAlbyMe } from "src/hooks/useAlbyMe";
import { useApps } from "src/hooks/useApps";
import { useBalances } from "src/hooks/useBalances";
@@ -38,11 +38,11 @@ export function SubwalletList() {
const { data: info } = useInfo();
const [page, setPage] = useState(1);
const appsListRef = useRef(null);
- const { data: appsData } = useApps(
+ const { data: subwalletAppsData } = useApps(
undefined,
page,
{
- appStoreAppId: SUBWALLET_APPSTORE_APP_ID,
+ subWallets: true,
},
"created_at"
);
@@ -59,21 +59,20 @@ export function SubwalletList() {
if (
!info ||
- !appsData ||
+ !subwalletAppsData ||
!balances ||
(info.albyAccountConnected && !albyMe && !albyMeError)
) {
return ;
}
- const subwalletApps = appsData.apps;
+ const subwalletApps = subwalletAppsData.apps;
- if (!subwalletApps.length) {
+ if (!subwalletAppsData.totalCount) {
return ;
}
- const subwalletTotalAmount =
- subwalletApps.reduce((total, app) => total + app.balance, 0) || 0;
+ const subwalletTotalAmount = subwalletAppsData.totalBalance || 0;
const isSufficientlyBacked =
subwalletTotalAmount <= balances.lightning.totalSpendable;
@@ -91,7 +90,8 @@ export function SubwalletList() {
>
- {!albyMe?.subscription.plan_code && subwalletApps?.length >= 3 ? (
+ {!albyMe?.subscription.plan_code &&
+ subwalletAppsData.totalCount >= MAX_FREE_SUBWALLETS ? (
@@ -106,26 +106,27 @@ export function SubwalletList() {
}
/>
- {!albyMe?.subscription.plan_code && subwalletApps.length >= 3 && (
- <>
-
-
- Need more Sub-wallets?
-
-
- Upgrade your subscription plan to Pro unlock unlimited number of
- Sub-wallets.
-
-
-
-
-
-
- >
- )}
+ {!albyMe?.subscription.plan_code &&
+ subwalletAppsData.totalCount >= MAX_FREE_SUBWALLETS && (
+ <>
+
+
+ Need more Sub-wallets?
+
+
+ Upgrade your subscription plan to Pro unlock unlimited number
+ of Sub-wallets.
+
+
+
+
+
+
+ >
+ )}
{!isSufficientlyBacked && (
@@ -168,8 +169,8 @@ export function SubwalletList() {
- {subwalletApps.length} /{" "}
- {albyMe?.subscription.plan_code ? "∞" : 3}
+ {subwalletAppsData.totalCount} /{" "}
+ {albyMe?.subscription.plan_code ? "∞" : MAX_FREE_SUBWALLETS}
{isSufficientlyBacked ? (
@@ -202,7 +203,7 @@ export function SubwalletList() {
diff --git a/frontend/src/types.ts b/frontend/src/types.ts
index 6b1930dd..cdf4e8a6 100644
--- a/frontend/src/types.ts
+++ b/frontend/src/types.ts
@@ -640,6 +640,7 @@ export type OnchainTransaction = {
export type ListAppsResponse = {
apps: App[];
totalCount: number;
+ totalBalance?: number;
};
export type ListTransactionsResponse = {
diff --git a/nip47/controllers/get_info_controller.go b/nip47/controllers/get_info_controller.go
index 5800a266..a81ab112 100644
--- a/nip47/controllers/get_info_controller.go
+++ b/nip47/controllers/get_info_controller.go
@@ -91,7 +91,7 @@ func (controller *nip47Controller) HandleGetInfoEvent(ctx context.Context, nip47
if !app.Isolated {
lightningAddress, _ := controller.albyOAuthService.GetLightningAddress()
responsePayload.LightningAddress = &lightningAddress
- } else if metadata["app_store_app_id"] == constants.SUBWALLET_APPSTORE_APP_ID && metadata["lud16"] != nil {
+ } else if metadata[constants.METADATA_APPSTORE_APP_ID_KEY] == constants.SUBWALLET_APPSTORE_APP_ID && metadata["lud16"] != nil {
lightningAddress := metadata["lud16"].(string)
responsePayload.LightningAddress = &lightningAddress
}
diff --git a/nip47/controllers/get_info_controller_test.go b/nip47/controllers/get_info_controller_test.go
index d3bf0c6d..73289873 100644
--- a/nip47/controllers/get_info_controller_test.go
+++ b/nip47/controllers/get_info_controller_test.go
@@ -85,8 +85,8 @@ func TestHandleGetInfoEvent_SubwalletNoPermission(t *testing.T) {
lightningAddress := "hello@getalby.com"
metadata := map[string]interface{}{
- "app_store_app_id": constants.SUBWALLET_APPSTORE_APP_ID,
- "lud16": lightningAddress,
+ constants.METADATA_APPSTORE_APP_ID_KEY: constants.SUBWALLET_APPSTORE_APP_ID,
+ "lud16": lightningAddress,
}
svc.Cfg.SetUpdate("LNBackendType", config.LDKBackendType, "")
@@ -248,9 +248,9 @@ func TestHandleGetInfoEvent_SubwalletWithMetadata(t *testing.T) {
lightningAddress := "hello@getalby.com"
metadata := map[string]interface{}{
- "app_store_app_id": constants.SUBWALLET_APPSTORE_APP_ID,
- "lud16": lightningAddress,
- "a": 123,
+ constants.METADATA_APPSTORE_APP_ID_KEY: constants.SUBWALLET_APPSTORE_APP_ID,
+ "lud16": lightningAddress,
+ "a": 123,
}
svc.Cfg.SetUpdate("LNBackendType", config.LDKBackendType, "")
From 778f83237afe4eb0bd6601af7190da89f8ca89b4 Mon Sep 17 00:00:00 2001
From: Adithya Vardhan
Date: Thu, 26 Feb 2026 14:35:49 +0530
Subject: [PATCH 044/344] fix: change responsive button breakpoints and use
them where necessary (#2093)
* fix: use md breakpoint for responsive buttons
* fix: replace header buttons with responsive buttons
---
frontend/src/components/ResponsiveButton.tsx | 4 ++--
.../components/ResponsiveExternalLinkButton.tsx | 4 ++--
.../src/components/ResponsiveLinkButton.tsx | 4 ++--
.../src/screens/internal-apps/ZapPlanner.tsx | 14 ++++++++------
frontend/src/screens/onchain/DepositBitcoin.tsx | 10 ++++++----
frontend/src/screens/peers/Peers.tsx | 17 ++++++++++++++---
6 files changed, 34 insertions(+), 19 deletions(-)
diff --git a/frontend/src/components/ResponsiveButton.tsx b/frontend/src/components/ResponsiveButton.tsx
index 0d5a53c0..0ed7c01c 100644
--- a/frontend/src/components/ResponsiveButton.tsx
+++ b/frontend/src/components/ResponsiveButton.tsx
@@ -24,7 +24,7 @@ const ResponsiveButton = ({
const content = (
<>