Forex Investment 6.1.6

2 August 2026

This release has upgrade notes. Read them before updating — they describe behaviour changes that need your attention.

FOREXADMINDASHBOARDOPERATIONSQUEUESDEPOSITSWITHDRAWALSREPORTINGCURRENCYPROFIT-AND-LOSSACCURACYTRANSLATIONSBUG-FIXES

Forex Investment v6.1.6

Release Date: August 2, 2026 Tags: FOREX, ADMIN, DASHBOARD, OPERATIONS, QUEUES, DEPOSITS, WITHDRAWALS, REPORTING, CURRENCY, PROFIT-AND-LOSS, ACCURACY, TRANSLATIONS, BUG-FIXES

Overview

One body of work: the forex admin dashboard, rebuilt onto the standard console frame.

The page used to lead with all-time totals, while the two numbers an operator actually loses money on — deposits and withdrawals sitting unapproved — were tiles five and six of a six-up strip below them. A forex withdrawal sitting PENDING has already been debited from the trader's forex account and credited nowhere. That pair is now the first thing on the page, and it is aged rather than merely counted.

It also carried both of the reporting defects corrected on the customer-facing landing page in v6.1.2: every money figure was a sum across denominations printed with a hard-coded dollar sign, and a settled loss was rendered as a gain of exactly the same size, in green.

Every money figure on this screen changes, two of them because the old value was wrong — read Upgrade Notes before comparing anything against last week.

Update Instructions

pnpm updator

Requires Core v6.6.1 or higher — the rebuilt page is drawn with the measured placeholder and chart primitives that release added.

Nothing needs configuring and no permission needs granting. This release changes one admin screen, the API behind it and the shared forex admin frame; no settlement, money movement or trader-facing screen is touched.

Figures on this screen change on their own, and three of them disappear. All of it is in Upgrade Notes — read it before you compare this week's dashboard against your notes from last week.


Upgrade Notes

A settled loss was reported as a gain of the same size

The recent-investments list took each row's profit straight from the record. Settlement has written a signed profit since v6.1.2, but every investment settled before that release still holds its loss as a positive number, alongside a result of Loss. The list printed that number with a + in front of it and painted it in gain ink, in the same row whose result column read Loss.

  • Changed: profit is signed at the source now, using the same correction the forex landing page has applied since v6.1.2. A loss reads as a negative figure, in loss ink.

Every money figure now names its currency, and the headline total is one pool

Total Investments was a sum of every investment on the platform regardless of what its plan is denominated in, printed as $1.2M. With one plan in BTC and another in USD, that figure added 1.5 to 50,000 and published 50,001.5 with a dollar sign on it.

  • Changed: the page groups capital by the plan's currency and headlines the largest single pool, named. When more than one pool holds capital the tile says Largest capital pool rather than Total investments, and the page states how many pools there are before you read the first tile.

A plan's share of the book is now a share of its own currency pool

Each plan's percentage was its total divided by the total of every plan on the platform.

  • Changed: the denominator is the plan's own currency pool. Plans are listed under the pool they belong to, and pools are ordered largest first.

The volume chart plots one currency

  • Changed: the investment-volume series is scoped to the largest currency pool, and the chart says which currency that is. Bar heights were previously a mix of denominations added together, which is a magnitude that does not exist.

Three growth percentages have been removed

The green and red month-over-month chips on Total Investments, Active Users and Total Accounts are gone. They compared the current month to date against the whole of the previous month. On the 2nd of the month all three read about -95% and then recovered over four weeks, every month, on every installation, regardless of how the desk was performing.

  • Changed: no delta chip is shown. Deciding what a month-over-month comparison should measure on a desk whose positions run for weeks is a product question, and a chip that is negative because of the calendar is worse than no chip.

Added

The two decisions waiting on you are the first thing on the page

  • Added a decision band at the top of the dashboard carrying deposits awaiting approval and withdrawals awaiting approval, each linking straight to its queue. They were previously the fifth and sixth tiles of a six-up strip, below four all-time totals nobody acts on.
  • Added the age of the oldest item still waiting on each queue, which a count alone cannot tell you. It is scored against the platform's own waiting-time targets — 72 hours for a deposit, seven days for a withdrawal — rather than a threshold invented for this page, so the dashboard cannot say "fine" about something the rest of the platform calls late.
  • Added a late marker that does not rely on colour: an icon appears past half the target and a different one past the target itself, so the state survives a monochrome print and a colour-vision deficiency.
  • Added an explicit nothing is waiting on you state, separate from not known yet. The band shows both tiles in every state, so it holds its height from the first paint and nothing below it moves when the figures land.

Every figure says which currency it is in

  • Added a per-currency breakdown of invested capital, with the largest pool headlined and named, and a line at the top of the page stating how many pools there are before any tile is read.
  • Added settled profit and loss one row per currency, signed, so a losing pool reads as a loss. Up to three are listed and the count of any remainder is stated.
  • Added currency labels to every row of the recent-investments list, so a column of amounts denominated differently cannot be read down.

The dashboard says how fresh it is

  • Added a live indicator and a last-updated clock. It reports live, updating or stale, and it goes to stale the moment a refresh fails, so a pulsing green dot can never sit above a clock that stopped advancing.
  • Added a statement that everything except the volume chart is an all-time total. The page previously carried a range picker in its header, which implied the whole page moved with it; only the chart ever did.

Counts that were computed and never shown

  • Added a registry row carrying live accounts, demo accounts, plans and signals with the number of them active. The signal and plan counts were calculated on every dashboard request and rendered nowhere.

Changed

The dashboard stopped blanking itself every sixty seconds

  • Changed the sixty-second refresh so it replaces the figures in place. Every poll previously put the whole page back into its loading state, so every figure on the screen blanked to a dash once a minute, in front of whoever was reading it.

It no longer refreshes in a background tab

  • Changed the refresh to run only while the tab is visible. Every operator leaves this page open in a background tab, and each one previously ran a full dashboard query every sixty seconds for as long as the browser lived.

A refresh that fails now says so

  • Changed a failed background refresh to raise a notice and mark the figures stale, leaving the loaded dashboard on screen. It was previously discarded in silence: the page kept showing figures with nothing to indicate they had stopped updating.

A dashboard that cannot load keeps its header and its queues

  • Changed the failure state to keep the page header and offer direct routes to the deposit and withdrawal queues alongside Retry. It was previously a centred icon and a Try Again button with no way to reach anything — and the two queues can be worked without this screen loading at all.
  • Changed it to render no figures. Leaving the body mounted under an error banner drew a full console of zeros — four zero tiles, an empty chart and an all-clear queue — every one of them a claim the page could not support.

The range picker sits on the only thing it scopes

  • Changed the timeframe selector from the page header onto the volume chart's own toolbar. It reaches exactly one thing: how that chart's data is grouped. Everything else on the page is an all-time total and never moved when the picker moved.

The recent-investments list reports an age rather than a date

  • Changed the date column to the age of the investment. "How long has this been running" is the question being asked of that column, and a date formatted during render takes its calendar and separators from whichever machine drew it.
  • Changed the list to state that it is the five most recent. The endpoint has always returned five; saying so is the difference between a sample and an implied total.

The page dropped its decoration

  • Changed the hero — two gradient orbs, six floating particles and a page-wide gradient ground — for the standard console frame the rest of the admin uses.
  • Removed the Quick Actions panel. Its six entries were Accounts, Plans, Investments, Signals, Deposits and Withdrawals: the same six links as the addon's own navigation bar, directly above it.
  • Changed the hand-built bar chart, which was absolutely-positioned divs with a per-bar entrance delay and a hover readout, for the platform chart. It has axes, a real tooltip and a stated empty state.
  • Changed the per-row and per-section entrance animations for one. Five section wrappers, every table row and every chart bar each animated in on their own delay.
  • Changed the licence check on every forex admin screen to gate the page content rather than the whole application. The header, navigation and footer were previously inside it, so while one licence request was in flight the entire back office was replaced by a centred spinner, then replaced again by the real page.
  • Changed the frame so the footer is pinned to the bottom of the viewport instead of riding on the height of the content. On a short screen it sat mid-page and was pushed down the moment data arrived.

Fixed

A settled loss was listed as a gain

  • Fixed the recent-investments list reading profit without regard to the result. An investment settled before v6.1.2 stores its loss as a positive number, so the list printed +1,234 in gain ink beside a Loss badge on the same row. The correction has been on the customer-facing landing page since v6.1.2 and was never applied here. See Upgrade Notes.

Money figures added currencies together and put a dollar sign on the result

  • Fixed the headline invested total, the plan list, the volume chart and both amount columns summing across plan currencies and formatting the result as US dollars. An investment carries no currency — the plan does — so a book holding 1.5 BTC and 50,000 USD published 50,001.5 with a $ in front of it. Capital is now grouped and named per currency. See Upgrade Notes.

A plan's share was divided by a total in another currency

  • Fixed each plan's percentage of invested capital being taken against the sum of every plan on the platform. On a mixed book one plan read as holding 100% and the rest drew empty bars, decided by unit value rather than by capital. See Upgrade Notes.

An open investment reported breaking even

  • Fixed the profit column printing +$0.00 in gain ink for an investment that has not settled and therefore has no profit or loss yet. It now reads as not applicable until the investment completes.

The page shipped in English regardless of language

  • Fixed the page title, its description, its badge, all seven column headers of the recent-investments list, both empty states, the completed-investments caption and the load-failure message being hard-coded English. Every one of them is now translated across all 90 languages.
  • Fixed the trader name cell falling back to the untranslated word Unknown, and to the literal text null null when the trader record behind an investment could not be resolved.