v2.5.0
·
228 commits
to refs/heads/main
since this release
Changes
- chore(release): v2.5.0 (#13494) @pr-automation-bot-public[bot]
- chore(build): allow bots to adjust signer-versions.json (#13495) @AntonioVentilii
- fix(frontend): confirm a copied share link inline instead of via a toast (#13492) @sbpublic
- fix(frontend): point notes "Learn more" links to the notes docs page (#13490) @sbpublic
- fix(frontend): remove liquidium carousel card (#13489) @sbpublic
- fix(frontend): i18n fixes (#13488) @sbpublic
- style(frontend): align Notes share-screen typography with the rest of Notes (#13452) @artkorotkikh-dfinity
- feat(frontend): Update SNS Tokens (#13387) @pr-automation-bot-public[bot]
- feat(frontend): translate the Liquidium provider page for all supported languages (#13486) @sbpublic
- feat(frontend): enable personal notes in production (#13487) @sbpublic
- fix(frontend): avoid mobile nav submenu flicker on selection (#13482) @sbpublic
- feat(frontend): translate Personal Notes and note sharing for all supported languages (#13485) @sbpublic
- feat(frontend): translate navigation redesign strings for all supported languages (#13474) @sbpublic
- style(frontend): reword and regroup limit-order price presets (#13483) @AntonioVentilii
- fix(frontend): avoid user-menu backdrop flicker when opening settings (#13478) @sbpublic
- style(frontend): rename limit-order labels to best bid and best ask (#13484) @AntonioVentilii
- style(frontend): tidy note-share snapshot spacing (#13453) @artkorotkikh-dfinity
- style(frontend): use a soft grey (secondary) for the note privacy boxes (#13454) @artkorotkikh-dfinity
- style(frontend): tidy the notes list rows and modal padding (#13473) @artkorotkikh-dfinity
- style(frontend): hide read-only token dropdown until a token is set (#13480) @AntonioVentilii
- chore(build): deploy oisy_trade locally and seed all local ck/native markets (#13470) @AntonioVentilii
- style(frontend): facelift the note view screen (#13476) @artkorotkikh-dfinity
- style(frontend): revert three-sided read-only token dropdown (#13479) (#13481) @AntonioVentilii
- style(frontend): flatten the note editor field (#13461) @artkorotkikh-dfinity
- fix(frontend): stop an unchecked checkbox filling on hover (#13451) @artkorotkikh-dfinity
- style(frontend): tidy the note share link-ready screen (#13475) @artkorotkikh-dfinity
- style(frontend): refresh the shared note outro screen (#13472) @artkorotkikh-dfinity
- fix(frontend): surface the amount parse error in the limit-order box (#13459) @AntonioVentilii
- style(frontend): box the read-only token dropdown on three sides only (#13479) @AntonioVentilii
- fix(frontend): validate sell balance before a price is set (#13477) @AntonioVentilii
- fix(frontend): uniform background for read-only token input (#13457) @AntonioVentilii
- style(frontend): flush Sell/Buy fills in limit order side control (#13468) @AntonioVentilii
- feat(frontend): autofocus the trading withdraw amount input on desktop (#13466) @sbpublic
- feat(frontend): Modify BinaryX card text in the app explorer (#13471) @sbpublic
- chore(frontend): ignore .claude worktrees in git & eslint (#13469) @AntonioVentilii
- feat(frontend): autofocus the trading deposit amount input on desktop (#13456) @sbpublic
- feat(frontend): restore the OISY TRADE back arrow when opened from the Trading tab (#13464) @sbpublic
- style(frontend): show limit-order amount error on the owning token box (#13460) @AntonioVentilii
- feat(frontend): update Trading tab placeholder (#13467) @DenysKarmazynDFINITY
- fix(frontend): treat empty amount string as invalid (#13462) @AntonioVentilii
- refactor(frontend): extract TokenInputContent from TokenInput (#13458) @AntonioVentilii
- feat(frontend): Modify Borrow hero text (#13463) @sbpublic
- feat(frontend): autofocus for Liquidium forms (#13455) @DenysKarmazynDFINITY
- feat(frontend): dedicated Plausible events for OISY TRADE orders and deposits/withdrawals (#13446) @sbpublic
- feat(frontend): track OISY TRADE provider page opens (#13448) @sbpublic
- chore(frontend): rebrand OISY TRADE to OISY Trade and refresh the trade hero (#13449) @sbpublic
- chore(rust): bump rust-toolchain from 1.96.0 to 1.96.1 (#13412) @dependabot[bot]
- chore(npm-deps): bump idb-keyval from 6.2.4 to 6.2.5 (#13413) @dependabot[bot]
- refactor(frontend): reusable GoToButton component (#13450) @DenysKarmazynDFINITY
- feat(frontend): enable Trading in all environments (#13436) @sbpublic
- feat(frontend): enable Liquidium in all envs (#13447) @DenysKarmazynDFINITY
- style(frontend): move order cancel action to a destructive link in the modal body (#13445) @sbpublic
- feat(frontend): update Liquidium hero boxes placeholders (#13442) @DenysKarmazynDFINITY
- feat(assets): add Go-to-Trade and Go-to-Borrow buttons to Assets tabs (#13444) @sbpublic
- feat(frontend): add settings link to user menu (#13443) @sbpublic
- style(frontend): match OISY TRADE "Learn more" link to Liquidium (#13441) @sbpublic
- feat(trade): use a lock icon instead of "in orders" text in My positions (#13439) @sbpublic
- chore(frontend): relabel Liquidium supply fees (#13440) @sbpublic
- fix(trade): stack "in orders" pill above amount on mobile in My positions (#13438) @sbpublic
- feat(frontend): add ICP teaser row to Liquidium Markets box (#13434) @sbpublic
- fix(frontend): hide the mobile nav bar while the AI assistant is open (#13435) @sbpublic
- style(frontend): align LiquidiumSummary boxes styling (#13437) @DenysKarmazynDFINITY
- style(frontend): center and tighten NEW badge in desktop navigation (#13433) @artkorotkikh-dfinity
- refactor(frontend): use the same component on the Trade page and tab (#13432) @DenysKarmazynDFINITY
- refactor(frontend): render the limit-order quote leg with the shared TokenInput (#13426) @AntonioVentilii
- feat(frontend): replace the OISY TRADE mark with the final brand icon (#13428) @sbpublic
- fix(frontend): remove the back arrow from the OISY TRADE hero (#13431) @sbpublic
- chore(frontend): forbid
!nonNullish/!isNullishdouble negatives (#13429) @AntonioVentilii - refactor(frontend): rename SendTokenContext to TokenActionContext (#13427) @AntonioVentilii
- feat(frontend): simplify Trading tab (#13425) @DenysKarmazynDFINITY
- feat(frontend): add the "What is OISY TRADE" info box to the provider page (#13408) @sbpublic
- fix(frontend): close the OISY TRADE withdraw picker's back button when no token is selected (#13420) @AntonioVentilii
- fix(frontend): normalize signed-zero to a clean 0.00% in ValueDifference (#13423) @AntonioVentilii
- fix(frontend): guard TokenInput against out-of-range amount parsing (#13424) @AntonioVentilii
- feat(frontend): add the Order history section to the OISY TRADE provider page (#13407) @sbpublic
- fix(frontend): title OISY TRADE deposit/withdraw token pickers correctly (#13422) @AntonioVentilii
- feat(frontend): open the order-detail modal from OISY TRADE order rows (#13406) @sbpublic
- feat(frontend): consolidate note sharing into one personal_note_share event (#13386) @sbpublic
- feat(frontend): wire the OISY TRADE New order button to the limit-order modal (#13405) @sbpublic
- feat(frontend): track the personal-note lifecycle in Plausible (#13385) @sbpublic
- feat(frontend): add Active orders section to the OISY TRADE provider page (#13404) @sbpublic
- feat(frontend): add and wire the OISY TRADE hero Withdraw button (#13403) @sbpublic
- fix(frontend): validate deposit/withdraw amounts on OISY TRADE (#13418) @AntonioVentilii
- docs(frontend): add analytics & event tracking guide (#13384) @sbpublic
- fix(frontend): base Trading order-detail current value on the cross-pair exchange rate (#13417) @AntonioVentilii
- build(frontend): drop @dfinity/gix-components dependency (#13363) @AntonioVentilii
- feat(frontend): update Trading tab on the Assets page (#13416) @DenysKarmazynDFINITY
- style(frontend): refresh background artwork and unify positioning (#13415) @artkorotkikh-dfinity
- feat(frontend): wire the OISY TRADE hero Deposit button to the deposit modal (#13401) @sbpublic
- feat(frontend): add My positions section to the OISY TRADE provider page (#13400) @sbpublic
- feat(frontend): add standalone OISY TRADE provider page (route + hero) (#13397) @sbpublic
- feat(frontend): load OISY TRADE orders across pages (ByPage cursor, cap 500) (#13396) @sbpublic
- refactor(frontend): remove duplicated OISY trade type declarations (#13399) @AntonioVentilii
- fix(frontend): anchor landing background to top so light-mode glow is not squashed (#13398) @AntonioVentilii
- feat(frontend): make trading withdrawal token selectable (#13395) @AntonioVentilii
- feat(frontend): anchor limit-order presets on the exchange-rate cross, latch to market until review (#13402) @AntonioVentilii
- feat(frontend): update Liquidium provider page (#13394) @DenysKarmazynDFINITY
- fix(frontend): give PillButton a border and hover state (#13393) @sbpublic
- fix(frontend): move share-note single-use checkbox to a leading position (#13390) @sbpublic
- fix(frontend): increase font size of share-note expiry pill options (#13389) @sbpublic
- fix(frontend): let clicking anywhere in the Liquidium supply agreement box toggle the checkbox (#13388) @sbpublic
- feat(frontend): update Borrow page active loans card (#13392) @DenysKarmazynDFINITY
- fix(frontend): restore mobile nav bar after closing a bottom sheet (#13381) @sbpublic
- fix(frontend): lift toasts above the mobile bottom navigation (#13382) @sbpublic
- fix(frontend): gate WalletConnect ETH approve on a resolved gas fee (#13373) @sbpublic
- fix(frontend): reconnect Alchemy subscription WebSocket after an unexpected drop (#13372) @sbpublic
- fix(frontend): disable AI-assistant ETH send until gas fee resolves (#13371) @sbpublic
- fix(frontend): recover Ethereum gas fee after backgrounding (foreground refetch + retry) (#13370) @sbpublic
- fix(frontend): pin toasts to the viewport bottom (#13377) @sbpublic
- fix(frontend): show copy-confirmation toasts above the modal blur (#13376) @sbpublic
- feat(frontend): add What is Liquidium info box to the provider page (#13379) @sbpublic
- fix(frontend): borrow page hero copy fixes (#13378) @sbpublic
- chore(frontend): document the shared-note access protection model (#13366) @sbpublic
- feat(frontend): unify the notes encryption notice copy (#13353) @sbpublic
- feat(frontend): add personal-note share recipient page (#13321) @sbpublic
- fix(frontend): anchor the CSP script loader at the server root (#13326) @sbpublic
- feat(frontend): add personal-note share creator UI (#13303) @sbpublic
- feat(frontend): add personal-note share crypto, service and API (#13300) @sbpublic
- feat(backend): add personal-note share store and API (#13299) @sbpublic
- fix(frontend): keep personal-notes cache on a failed same-owner reload (#13369) @sbpublic
- fix(frontend): scope personal notes cache to principal (#13361) @cursor[bot]
- feat(frontend): route the Borrow nav item to the /borrow/ page (#13365) @sbpublic
- feat(frontend): rename NFTs navigation label to Collectibles (#13364) @sbpublic
- refactor(frontend): route Wizard/Modal consumers to native components, detach from gix (#13359) @AntonioVentilii
- feat(frontend): upgrade Liquidium SDK (#13362) @DenysKarmazynDFINITY
- fix(frontend): expand Assets search full-width on desktop (8/8) (#13352) @sbpublic
- feat(frontend): search the Trading tab by token, network, side, status and provider (#13331) @AntonioVentilii
- refactor(frontend): own Toasts natively, detach from gix (#13345) @AntonioVentilii
- fix(frontend): restyle mobile nav submenu card labels (7/8) (#13351) @sbpublic
- feat(frontend): move Rewards out of Earn to a standalone page (6/8) (#13350) @sbpublic
- fix(frontend): navigation miscellaneous fixes (5/8) (#13342) @sbpublic
- feat(frontend): standalone NFTs page without asset tabs (4/8) (#13240) @sbpublic
- feat(frontend): mobile navigation cradle + bottom sheets (3/8) (#13239) @sbpublic
- feat(frontend): desktop navigation sidebar — groups + Finance (2/8) (#13238) @sbpublic
- refactor(frontend): own gix Info/Warning/GitHub/Wallet/Check icons natively (#13340) @AntonioVentilii
- refactor(frontend): use native Html in LiquidiumProviderHero, detach from gix (#13343) @AntonioVentilii
- feat(frontend): grouped navigation IA + data model (1/8) (#13237) @sbpublic
- feat(frontend): add personal-notes editor, delete and keyboard polish (#13287) @sbpublic
- chore(frontend): point all envs OISY TRADE at prod canister (#13357) @AntonioVentilii
- refactor(frontend): use native IconCloseThin for gix IconClose consumers (#13344) @AntonioVentilii
- fix(frontend): restore Popover wrapper padding regressed by native port (#13354) @AntonioVentilii
- feat(frontend): add per-token volume to trading Plausible events (#13347) @AntonioVentilii
- feat(frontend): add Borrow page (#13356) @DenysKarmazynDFINITY
- chore(frontend): sync package-lock.json (#13355) @AntonioVentilii
- feat(frontend): add read-only personal notes (menu, list, view) (#13286) @sbpublic
- refactor(frontend): own 7 gix icons natively, detach from gix (#13339) @AntonioVentilii
- style(frontend): keep OISY TRADE badge inline with order row text (#13348) @AntonioVentilii
- style(frontend): secondary style for close button in order detail modal (#13346) @AntonioVentilii
- feat(frontend): add personal-notes vetKeys crypto, API and store (#13131) @sbpublic
- test(frontend): Update Vitest coverage thresholds (#13335) @pr-automation-bot-public[bot]
- refactor(frontend): own Input (InputBase) natively, detach from gix (#13338) @AntonioVentilii
- refactor(frontend): own Select/SelectOption natively, detach from gix Dropdown (#13306) @AntonioVentilii
- refactor(frontend): own Popover natively, detach from gix (#13305) @AntonioVentilii
- chore(backend): gitignore downloaded canister-wasm test fixtures (#13332) @sbpublic
- style(frontend): slide trading orders and assets rows in and out (#13333) @AntonioVentilii
- feat(frontend): slide late-loaded values in trading asset & order rows (#13337) @AntonioVentilii
- fix(frontend): make splash background image cover the full viewport (#13336) @AntonioVentilii
- refactor(frontend): own BottomSheet natively, detach from gix (#13209) @AntonioVentilii
- feat(backend): add encrypted personal-notes storage and API (#13130) @sbpublic
- refactor(frontend): own ProgressSteps natively, detach from gix (#13201) @AntonioVentilii
- refactor(frontend): own Markdown natively, detach from gix (#13208) @AntonioVentilii
- refactor(frontend): own Tooltip natively, detach from gix (#13211) @AntonioVentilii
- refactor(frontend): own Modal/WizardModal natively, detach from gix (#13234) @AntonioVentilii
- fix(frontend): format limit-order prices and balances through shared token formatter (#13329) @AntonioVentilii
- feat(frontend): status icons on terminal limit-order badges (#13328) @AntonioVentilii
- fix(frontend): render confirmation popup as a centered modal on desktop (#13322) @AntonioVentilii
- refactor(frontend): extract shared ProviderTag and fix order-row alignment (#13323) @AntonioVentilii
- fix(frontend): hide asset search bar on the Trading tab (#13330) @AntonioVentilii
- feat(frontend): show queue position on active order rows (#13327) @AntonioVentilii
- fix(frontend): render zero limit-order value difference as 0.00% (#13325) @AntonioVentilii
- fix(frontend): make button loading spinner actually rotate (#13324) @AntonioVentilii
- fix(frontend): align confirmation bottom-sheet title and close button on one row (#13318) @AntonioVentilii
- fix(frontend): open Receive modal on ICP testnet network (#13320) @AntonioVentilii
- feat(frontend): analytics events for the trading flow (#13313) @AntonioVentilii
- test(frontend): Update Vitest coverage thresholds (#13196) @pr-automation-bot-public[bot]
- feat(frontend): limit-order detail modal with cancel flow (#13310) @AntonioVentilii
- feat(frontend): limit-order orders list and trading UX refinements (#13220) @AntonioVentilii
- fix(frontend): use Ledger balance as source of truth for ICP-standard wallet (#13312) @AntonioVentilii
- test(backend): run integration tests in chunks to bound PocketIC memory (#13273) @sbpublic
- feat(frontend): Trading withdraw flow (#13217) @AntonioVentilii
- feat(frontend): retry-aware oisy_trade canister errors (#13227) @AntonioVentilii
- feat(frontend): include Liquidium net value in the hero total (#13315) @DenysKarmazynDFINITY
- feat(frontend): show loading skeletons on the Trading tab before positions resolve (#13314) @AntonioVentilii
- style(frontend): replace em-dash placeholders with a normal dash in limit-order components (#13311) @AntonioVentilii
- feat(frontend): extend Earnings tab with Liquidium positions (#13309) @DenysKarmazynDFINITY
- chore(npm-deps-dev): bump ast-v8-to-istanbul from 1.0.0 to 1.0.4 (#13278) @dependabot[bot]
- fix(frontend): show wallet hero on the Trading tab (#13221) @AntonioVentilii
- test(frontend): raise trading deposit review/form coverage (#13252) @AntonioVentilii
- fix(frontend): format limit-order quote amounts via shared formatToken (#13308) @AntonioVentilii
- feat(frontend): OISY TRADE onboarding + final wiring (4/4) (#13233) @AntonioVentilii
- feat(frontend): wire limit-order modal into the Trading list (#13268) @AntonioVentilii
- feat(frontend): LimitOrderWizard component (#13267) @AntonioVentilii
- feat(frontend): LimitOrderForm component (#13266) @AntonioVentilii
- feat(frontend): LimitOrderReview component (#13265) @AntonioVentilii
- feat(frontend): implement Borrowings tab (#13304) @DenysKarmazynDFINITY
- feat(frontend): LimitOrderPriceSection component (#13264) @AntonioVentilii
- feat(frontend): LimitOrderTradePairBox component (#13263) @AntonioVentilii
- feat(frontend): LimitOrderTokensList component (#13262) @AntonioVentilii
- feat(frontend): LimitOrderRouting component (#13261) @AntonioVentilii
- chore(signer): bump legacy signer version to 2.1.2 (#13301) @AntonioVentilii
- feat(frontend): LimitOrderProgress component (#13260) @AntonioVentilii