# Release 2.3.0

<span style="color: rgb(187, 187, 187); font-family: -apple-system, 'system-ui', 'Segoe UI', Oxygen, Ubuntu, Roboto, Cantarell, 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif; font-size: 2.8275em; font-weight: 400;">1. Client oversight &amp; audit trail</span>

**WIFOX-282 – Unified Client Activity Log in Sessions Tab**  
The **Sessions** tab in the client card now shows a unified activity log with events from CRM, Tradersroom, and Trading Terminal, covering both **client actions** (logins, navigation, deposits/withdrawals, trading, profile changes, tickets, etc.) and **manager actions** on that client (views, edits, created/updated entities, bulk operations). Logs are filterable by actor type, source app, and event type, with full timestamps and metadata, while excluding sensitive payloads.

**Business impact:**

<div class="_19itglyw _vchhusvi _r06hglyw" id="bkmrk-gives-support%2C-risk%2C"><div class="ak-renderer-wrapper is-undefined css-pw7jst"><div class="css-oxm310"><div class="ak-renderer-document">- Gives support, risk, and compliance a single place to see “who did what and when” for any client.
- Speeds up investigations and dispute resolution and improves overall auditability.

---

</div></div></div></div>## 2. Trading tickets &amp; verification flows

**WIFOX-524 – New “Waiting for client” ticket status in Trading area**  
The Trading area ticketing flow now supports an additional **“Waiting for client”** status. Managers can mark tickets accordingly, and clients see this state in their UI.

**Business impact:**

<div class="_19itglyw _vchhusvi _r06hglyw" id="bkmrk-clarifies-whether-th"><div class="ak-renderer-wrapper is-undefined css-pw7jst"><div class="css-oxm310"><div class="ak-renderer-document">- Clarifies whether the next move is on the client or on support.
- Reduces confusion and back‑and‑forth in trading‑related support cases.

</div></div></div></div>**WIFOX-456 – “Feature is unavailable” modals for Withdrawal &amp; Close Order**  
When a user’s verification status is **Rejected / Pending / Init**, attempts to **withdraw** funds or **close an order** now show a clear “Feature is unavailable” modal with a **“Verify your identity now”** CTA, reusing the existing “Trading is unavailable” pattern. Actions are blocked until verification is complete.

**Business impact:**

<div class="_19itglyw _vchhusvi _r06hglyw" id="bkmrk-makes-compliance%E2%80%91dri"><div class="ak-renderer-wrapper is-undefined css-pw7jst"><div class="css-oxm310"><div class="ak-renderer-document">- Makes compliance‑driven restrictions explicit and consistent across trading and withdrawals.
- Redirects users into verification instead of failing silently or with unclear errors.

---

</div></div></div></div>## 3. Order placement: volume, min volume, TP/SL and profit

**WIFOX-515 – Volume input stepper (+/–) based on lot size**  
The **Volume** field in the New Order form now has **+ / – steppers** with step size derived from instrument **lot size**:

<div class="_19itglyw _vchhusvi _r06hglyw" id="bkmrk-lot-size-0.0x-%E2%86%92-step"><div class="ak-renderer-wrapper is-undefined css-pw7jst"><div class="css-oxm310"><div class="ak-renderer-document">- lot size `0.0x` → step `0.01`
- lot size `0.x` → step `0.1`
- lot size `>= 1` → step `1`

</div></div></div></div>Value is clamped at zero and correctly rounded.

**Business impact:**

<div class="_19itglyw _vchhusvi _r06hglyw" id="bkmrk-faster-and-less-erro"><div class="ak-renderer-wrapper is-undefined css-pw7jst"><div class="css-oxm310"><div class="ak-renderer-document">- Faster and less error‑prone volume selection aligned with instrument configuration.
- Reduces mis‑entries for very small or very large lots.

</div></div></div></div>**WIFOX-507 – Min volume processing &amp; enforcement end‑to‑end**  
The **minVolume** per instrument is now:

<div class="_19itglyw _vchhusvi _r06hglyw" id="bkmrk-properly-imported-an"><div class="ak-renderer-wrapper is-undefined css-pw7jst"><div class="css-oxm310"><div class="ak-renderer-document">- properly imported and stored in Trading MS,
- exposed to the terminal, and
- used in the UI as default volume and **hard lower bound** (UI prevents going below; backend also rejects too‑small volumes).

</div></div></div></div>**Business impact:**

<div class="_19itglyw _vchhusvi _r06hglyw" id="bkmrk-prevents-orders-belo"><div class="ak-renderer-wrapper is-undefined css-pw7jst"><div class="css-oxm310"><div class="ak-renderer-document">- Prevents orders below allowed minimum volume, avoiding rejects and confusion.
- Ensures trading behavior aligns with configured risk and product rules.

</div></div></div></div>**WIFOX-522 &amp; WIFOX-526 – Creating orders without TP/SL works reliably**  
Two related issues were fixed in the New Order form:

<div class="_19itglyw _vchhusvi _r06hglyw" id="bkmrk-wifox-522%3A-clearing-"><div class="ak-renderer-wrapper is-undefined css-pw7jst"><div class="css-oxm310"><div class="ak-renderer-document">- **WIFOX-522:** Clearing TP/SL fields could cause a **NaN error**, blocking order creation even though TP/SL is optional.
- **WIFOX-526:** After filling TP/SL and then deleting them, the form sometimes still refused to submit.

</div></div></div></div>**Business impact:**

<div class="_19itglyw _vchhusvi _r06hglyw" id="bkmrk-traders-can-open-pos"><div class="ak-renderer-wrapper is-undefined css-pw7jst"><div class="css-oxm310"><div class="ak-renderer-document">- Traders can open positions without TP/SL as intended, without hitting hidden validation bugs.
- Reduces friction and failed order attempts due to optional‑field edge cases.

</div></div></div></div>**WIFOX-482 – Correct profit calculation for TP/SL on SELL orders**  
The profit preview in TP/SL inputs is now correctly calculated for **SELL** orders as well.

**Business impact:**

<div class="_19itglyw _vchhusvi _r06hglyw" id="bkmrk-traders-see-accurate"><div class="ak-renderer-wrapper is-undefined css-pw7jst"><div class="css-oxm310"><div class="ak-renderer-document">- Traders see accurate expected profit/loss when placing protective levels on short positions.
- Reduces risk of wrong expectations and complaints around PnL behavior.

</div></div></div></div>**WIFOX-478 – Hide TP/SL fields when not used**  
Take Profit and Stop Loss values are now hidden in lists/places where they don’t exist for a given order.

**Business impact:**

<div class="_19itglyw _vchhusvi _r06hglyw" id="bkmrk-cleaner-order-and-po"><div class="ak-renderer-wrapper is-undefined css-pw7jst"><div class="css-oxm310"><div class="ak-renderer-document">- Cleaner order and positions views with less “empty” or misleading data.
- Easier visual scanning of which orders actually have protection set.

---

</div></div></div></div>## 4. Trading UX, clarity and chart tools

**WIFOX-459 – Instrument information in Buy/Sell popup**  
The Buy/Sell popup now shows rich **symbol information** (e.g. digits, lot size, swap long/short, commission, calculation type, and short analytics such as performance over recent periods) according to the new design.

**Business impact:**

<div class="_19itglyw _vchhusvi _r06hglyw" id="bkmrk-traders-can-understa"><div class="ak-renderer-wrapper is-undefined css-pw7jst"><div class="css-oxm310"><div class="ak-renderer-document">- Traders can understand contract specs and costs directly from the order screen.
- Supports more informed decisions and reduces the need to cross‑check external specs.

</div></div></div></div>**WIFOX-484 – Training Trade: chart drawing tools**  
In **Training Trade** mode, users can now draw directly on charts (lines, annotations etc.), using amCharts / a canvas overlay, with a simple enable/disable control and clear/reset options.

**Business impact:**

<div class="_19itglyw _vchhusvi _r06hglyw" id="bkmrk-greatly-improves-edu"><div class="ak-renderer-wrapper is-undefined css-pw7jst"><div class="css-oxm310"><div class="ak-renderer-document">- Greatly improves educational sessions, coaching, and internal training around trading strategies.
- Enables visual explanation of setups without affecting live trading logic.

</div></div></div></div>**WIFOX-467 – Remove “NaN” while chart is loading**  
While price graphs are loading, temporary **NaN** values are no longer shown — the UI now waits for valid data.

**Business impact:**

<div class="_19itglyw _vchhusvi _r06hglyw" id="bkmrk-cleaner%2C-more-profes"><div class="ak-renderer-wrapper is-undefined css-pw7jst"><div class="css-oxm310"><div class="ak-renderer-document">- Cleaner, more professional first impression for traders.
- Avoids confusion about system correctness when charts initialize.

</div></div></div></div>**WIFOX-472 – Fix price‑alert notification text &amp; overflow**  
Notifications about price levels no longer overflow their containers and now display numbers consistent with the **current price**.

**Business impact:**

<div class="_19itglyw _vchhusvi _r06hglyw" id="bkmrk-alerts-are-readable-"><div class="ak-renderer-wrapper is-undefined css-pw7jst"><div class="css-oxm310"><div class="ak-renderer-document">- Alerts are readable and trustworthy, helping traders react correctly to price movements.

</div></div></div></div>**WIFOX-471 – Align symbol name &amp; description in terminal**  
Instrument names and descriptions in the terminal header have been realigned as per design (e.g. description below or left‑aligned), reducing the need for horizontal scrolling.

**Business impact:**

<div class="_19itglyw _vchhusvi _r06hglyw" id="bkmrk-symbol-details-remai"><div class="ak-renderer-wrapper is-undefined css-pw7jst"><div class="css-oxm310"><div class="ak-renderer-document">- Symbol details remain visible and readable, even on narrow layouts.
- Less visual noise, easier instrument recognition.

</div></div></div></div>**WIFOX-477 – Trading language &amp; terminology consistency**  
Several text and visual improvements were made in the trading UI:

<div class="_19itglyw _vchhusvi _r06hglyw" id="bkmrk-%E2%80%9Cvolume%E2%80%9D-is-now-used"><div class="ak-renderer-wrapper is-undefined css-pw7jst"><div class="css-oxm310"><div class="ak-renderer-document">- **“Volume”** is now used consistently instead of “Quantity”.
- **Open price** of orders is visible directly in the order list.
- Currency symbols (e.g. EUR) are now used consistently.
- TP/SL values are visually aligned with other numbers.

</div></div></div></div>**Business impact:**

<div class="_19itglyw _vchhusvi _r06hglyw" id="bkmrk-reduces-confusion-fo"><div class="ak-renderer-wrapper is-undefined css-pw7jst"><div class="css-oxm310"><div class="ak-renderer-document">- Reduces confusion for traders due to inconsistent terms or missing key data.
- Makes the platform feel more “native” to experienced FX/CFD users.

</div></div></div></div>**WIFOX-474 – Don’t show quotes if there is no stream**  
If no live data stream is available for a symbol, quotes are no longer shown as if they were active.

**Business impact:**

<div class="_19itglyw _vchhusvi _r06hglyw" id="bkmrk-prevents-traders-fro"><div class="ak-renderer-wrapper is-undefined css-pw7jst"><div class="css-oxm310"><div class="ak-renderer-document">- Prevents traders from acting on stale or non‑existent price feeds.
- Supports safer trading operations and clearer monitoring of connectivity issues.

---

</div></div></div></div>## 5. Trading area usability

**WIFOX-509 – One‑click “Copy account number” in trading area**  
In both trading area layouts, a **copy** control next to the account number now copies the full account number to the clipboard and shows a brief “copied” confirmation.

**Business impact:**

<div class="_19itglyw _vchhusvi _r06hglyw" id="bkmrk-speeds-up-communicat"><div class="ak-renderer-wrapper is-undefined css-pw7jst"><div class="css-oxm310"><div class="ak-renderer-document">- Speeds up communication with support and internal teams (sharing account IDs).
- Reduces copy‑paste mistakes when searching for an account in CRM or external tools.

</div></div></div></div>---

## 6. Requests &amp; Tickets: clearer communication

**WIFOX-516 – Requests / Tickets: preserve line breaks and paragraphs in messages**  
In **CRM → Requests → Messages** and in **Trading Area Tickets**, message fields now fully support **multi-line text**:

- Pressing Enter adds a new line, and pasted templates keep paragraphs and empty lines.
- Line breaks are stored in the backend and rendered correctly in both CRM and Trading UIs (no more “everything in one line”).
- Formatting is preserved cross‑system: a message written in CRM appears identically formatted in Trading Area, and vice versa.

**Business impact:**

- Agents can paste and use existing multi‑paragraph templates without losing structure.
- Client conversations become easier to read and understand, improving support quality and reducing miscommunication.

---

### 7. Bridge Pay refunds / cancellations

**WIFOX-362 – Bridge Pay: cancel transaction on getback callbacks**

A new **Bridge Pay getback handler** was implemented in the payments backend (new `getback.ts` controller and route). When Bridge Pay sends a **getback** event (for example, user cancels a 3‑DS payment or a refund/chargeback‑type event is triggered), the corresponding CRM transaction is now safely moved to the **Canceled** status, with idempotent logic and proper callback validation.

**Business impact:**

- CRM now correctly reflects payment cancellations and getbacks from Bridge Pay, instead of leaving such transactions in an inconsistent state.
- Reduces manual reconciliation and “mismatched status” investigations between the provider and CRM.
- Safer integration: callbacks are validated and processed idempotently, so duplicate or invalid events don’t corrupt transaction history.

<div class="_19itglyw _vchhusvi _r06hglyw" id="bkmrk--2"><div class="ak-renderer-wrapper is-undefined css-pw7jst"><div class="css-oxm310"><div class="ak-renderer-document">  
</div></div></div></div>