Open
Conversation
Update TOS and domain TOS versions to 1.0.1 and align last-update timestamps to 2026-03-12 across configs. Changes update process.env defaults in vite.config.ts and vite.config.background.ts and adjust constants in src/shared/constant/index.ts (including removal of the DOMAIN_TOS_LAST_UPDATE constant). This ensures build-time env values and runtime constants are consistent for the new TOS release.
Add support for ordered lists and list styling across terms and UI components, and normalize typographic quotes/apostrophes in the Terms text. Changes: - src/legal-documents/Terms.tsx: add ol to LegalDocStyles, replace the USE RESTRICTIONS <ul> with <ol>, and fix mojibake/typographic quote characters and apostrophes throughout the document. - src/ui/components/AcceptModals/TermsModal.tsx: add ol style and set listStyleType for ul/ol; include ol in passed styles. - src/ui/pages/Onboarding/steps/OnboardingTOS.tsx and src/ui/pages/Settings/LegalDocumentsScreen.tsx: add ol style and specify listStyleType for ul/ol to ensure consistent rendering. These changes ensure ordered lists render correctly and improve text punctuation consistency.
…nto update/tos
Add the 'ol' tag to the list of allowed/handled elements in the Terms of Service modal so ordered lists render correctly. Changes made in src/ui/components/AcceptModals/TermsModal.tsx.
Delete package-lock.json from the repository and apply changes to package.json. The lockfile removal indicates a change in dependency lock strategy or a need to regenerate the lockfile; run npm install (or the project's preferred package manager) to recreate a lockfile if required.
Introduce WalletHealthPopup component (LowBalancePopup and LowUtxoPopup) with styling, backdrop, animations and actions (OK closes, Optimize navigates to UTXOOptimizeScreen). Integrate into WalletTabScreen: import the popups, add state flags (showLowBalancePopup, showLowUtxoPopup, healthCheckDone), and add a one-time health check effect that runs after balance/address data is loaded. The effect shows the low-balance popup when primary balance < 10,000 sats, or the low-UTXO popup when unspent_utxos_count < 5. Popups are rendered only when higher-priority modals (MLDSA backup reminder or duplication alert) are not active.
Replace multiple state flags and a one-time effect with a derived walletHealthStatus and a single dismissal flag. Removed showLowBalancePopup, showLowUtxoPopup and healthCheckDone state and their effect; introduced healthPopupDismissed (resets on mount) and walletHealthStatus useMemo that computes 'low-balance' or 'low-utxos' from accountBalance/addressSummary. Update popup rendering to rely on walletHealthStatus + healthPopupDismissed and keep existing modal priority checks.
Add esbuild (v0.27.4) as a project dependency in package.json to enable fast bundling/build tooling. The package-lock was updated accordingly.
Introduce a new LowBalanceCsvPopup to prompt users to consolidate unlocked CSV1 funds and provide a direct 'Consolidate Now' action. Refactor WalletHealth popups by extracting shared styles/keyframes (backdropStyle, modalStyle, KEYFRAMES_STYLE), reusing icons (LockOutlined, SwapOutlined), and adding locked-CSV informational notes. Update wallet health logic in WalletTabScreen to detect CSV1 unlocked funds and locked CSV2/3/75 funds (returns typed objects with hasLockedCsvFunds), rename walletHealthStatus to walletHealthCheck, and conditionally render the new CSV popup or the existing low-balance/low-utxos popups. Minor UI adjustments to spacing and animations for a more consistent modal appearance.
Rewrite WalletHealthPopup UI and update wallet health detection in WalletTabScreen. Replace LowBalanceCsvPopup with a more detailed CsvFundsWarningPopup (per-type CSV flags: CSV1/CSV2/CSV3/CSV75) and simplify LowBalancePopup (remove CSV locked-note and consolidate action). Update icons/styles, add ExclamationCircleOutlined, and change warning card layouts and copy (CSV2 staking warning, CSV3/75 dApp limitations, CSV1 consolidation note). Change WalletTabScreen logic to: critical low primary balance, CSV consolidation trigger based on total CSV UTXO count (>5) with per-type flags, then low UTXO count; adjust imports and popup usage accordingly.
Consider CSV1 unlocked funds when detecting a critically low primary balance. Previously any primary balance <10,000 sats would immediately return a 'low-balance' type; now the code also reads accountBalance.csv1_unlocked_amount (falling back to '0') and only flags 'low-balance' if CSV1 unlocked sats do not exceed the 10,000 sats threshold, preventing false low-balance warnings when CSV1 funds cover it.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Updated TOS
Type of Change
Checklist
Build & Tests
npm installcompletes without errorsnpm run build:chromebuilds successfullyCode Quality
Documentation
Security
OPWallet Specific
Testing
Browser Testing
Screenshots
Related Issues
By submitting this PR, I confirm that my contribution is made under the terms of the project's license.