Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
66 commits
Select commit Hold shift + click to select a range
4d939af
Add staging label to db file name for management
ZIMkaRU Oct 8, 2025
dae7f55
Adjust file removal with exact name match
ZIMkaRU Oct 8, 2025
8bf138d
Remove db files only for exact prod or staging env
ZIMkaRU Oct 8, 2025
fe7903f
Dont remove secret key with db files
ZIMkaRU Oct 9, 2025
450ae76
Add staging label to secret-key file name
ZIMkaRU Oct 9, 2025
2766243
Remove db files with exact name only
ZIMkaRU Oct 9, 2025
217c6b7
Prevent db file removal when importing
ZIMkaRU Oct 9, 2025
5b92a2a
Merge pull request #562 from ZIMkaRU/feature/separate-db-files-for-pr…
vigan-abd Oct 10, 2025
1a883bc
Bump electron version to 38.1.2
ZIMkaRU Oct 14, 2025
2b5d885
Bump nodejs engine version to 22.19.0
ZIMkaRU Oct 14, 2025
7c5cf77
Update nodejs version in bash script
ZIMkaRU Oct 14, 2025
2cc1b63
Update nodejs version in gh pipelines
ZIMkaRU Oct 14, 2025
1d9b66b
Update nodejs version in dockerfile for ui build
ZIMkaRU Oct 14, 2025
975d609
Update nodejs version in dockerfile for linux build
ZIMkaRU Oct 14, 2025
e22f731
Update nodejs version in dockerfile for win build
ZIMkaRU Oct 14, 2025
b270e2b
Update nodejs version in dockerfile for mac build
ZIMkaRU Oct 14, 2025
b0a34d7
Update electron-builder version uo to 26.0.12
ZIMkaRU Oct 15, 2025
065a17a
Remove redundant electron-builder config field for win
ZIMkaRU Oct 15, 2025
0013036
Add env var to gh actions macos to disable hardlinks
ZIMkaRU Oct 16, 2025
5534a9d
Update electron-builder up to 26.1.0
ZIMkaRU Oct 16, 2025
7b43b8c
Add arch env var
ZIMkaRU Oct 16, 2025
70bdde1
Run mac release build on macos-15-intel
ZIMkaRU Oct 16, 2025
5da8bf9
Update electron-updater to 6.7.0
ZIMkaRU Oct 17, 2025
95824a5
Dont show notifications if child windows are focused
ZIMkaRU Oct 17, 2025
26a7727
Fix dep vulnerabilities with npm audit fix --force
ZIMkaRU Oct 20, 2025
9cff60c
Merge pull request #563 from ZIMkaRU/feature/migrate-to-electron-upda…
vigan-abd Oct 22, 2025
3283f61
Add deb target to electron-builder config
ZIMkaRU Oct 23, 2025
6f9a0e1
Add deb updater support
ZIMkaRU Oct 23, 2025
24ebaba
Add linux release type field to debug info
ZIMkaRU Oct 23, 2025
dc2cc3b
Add linux release type field to gh issue template
ZIMkaRU Oct 23, 2025
8b4dd89
Merge pull request #564 from ZIMkaRU/feature/provide-deb-installable-…
tarcisiozf Nov 7, 2025
dfac7de
Add method to send rerender menu event
ZIMkaRU Oct 24, 2025
c6bbc14
Expose onRerenderMenuEvent to ui
ZIMkaRU Oct 24, 2025
2a6fcde
Get unified win names for win availability checker
ZIMkaRU Oct 24, 2025
355e530
Add util to change menu item states by id
ZIMkaRU Oct 24, 2025
db0ee8a
Add ability to bulk change menu item states by id
ZIMkaRU Oct 27, 2025
734c4a2
Send rerender menu event in case of auto update
ZIMkaRU Oct 27, 2025
f6086cd
Send rerender menu event in case of showing changelog
ZIMkaRU Oct 27, 2025
f4ec9dc
Send rerender menu event in case of showing error dialog
ZIMkaRU Oct 27, 2025
2787aa4
Merge pull request #565 from ZIMkaRU/feature/add-ability-to-send-even…
batrudinych Nov 11, 2025
a7d6819
Unify auto-update toast configs
ZIMkaRU Nov 7, 2025
f64bc24
Make auto-update ipc channel handlers
ZIMkaRU Nov 7, 2025
78f84ee
Init auto-update ipc channel handlers
ZIMkaRU Nov 7, 2025
194ace2
Add method to send fire-toast event
ZIMkaRU Nov 7, 2025
4651ea7
Register auto-update ipc channel handlers in preload script
ZIMkaRU Nov 7, 2025
1365821
Adjust progress toast event
ZIMkaRU Nov 10, 2025
d05b691
Add env var flag to use ui auto-update toast
ZIMkaRU Nov 10, 2025
27347be
Send event to fire toast in ui
ZIMkaRU Nov 10, 2025
23d0dbd
Add method to send auto-update downloading progress event
ZIMkaRU Nov 10, 2025
209c166
Register auto update downloading progress event in preload script
ZIMkaRU Nov 10, 2025
85f2956
Send auto-update downloading progress event
ZIMkaRU Nov 10, 2025
0397e6e
Add uuid dep
ZIMkaRU Nov 11, 2025
9ab1dba
Implement toast closed event listener management
ZIMkaRU Nov 11, 2025
ecb445e
Provide ui toast response
ZIMkaRU Nov 11, 2025
b8e9d1a
Register sendToastClosed event in preload script
ZIMkaRU Nov 11, 2025
f0b8d33
Prevent sending event if renderer is destroyed
ZIMkaRU Nov 12, 2025
f1176b5
Fix toast closed event handler set management
ZIMkaRU Nov 12, 2025
2d1da9f
Ensure consistency in auto-update toast settings
ZIMkaRU Nov 13, 2025
d158965
Ensure consistency in auto-update toast response
ZIMkaRU Nov 13, 2025
27f3896
Handle error return in case response is not Error instance
ZIMkaRU Nov 14, 2025
0074b8e
Fix window accessibility
ZIMkaRU Nov 17, 2025
ba07246
Merge pull request #566 from ZIMkaRU/refactoring/move-auto-update-toa…
tarcisiozf Nov 17, 2025
6cb0876
Bump version up to v4.39.0
ZIMkaRU Nov 20, 2025
d53aad3
Update sub-modules
ZIMkaRU Nov 20, 2025
8467010
Add changelog for v4.39.0
ZIMkaRU Nov 20, 2025
434d640
Merge pull request #567 from ZIMkaRU/feature/release-electron-app
vigan-abd Nov 21, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .env.example
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ SHOULD_LOCALHOST_BE_USED_FOR_LOADING_UI_IN_DEV_MODE=0
EP_GH_IGNORE_TIME=true
GH_TOKEN=

ARCH=x64
NOTARIZE=0
APPLE_TEAM_ID=
APPLE_ID=
Expand Down
13 changes: 8 additions & 5 deletions .github/workflows/build-electron-app.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@ on:
env:
DOCKER_BUILDKIT: 1
COMPOSE_DOCKER_CLI_BUILD: 1
ARCH: x64

jobs:
linux-win-docker-builder:
Expand Down Expand Up @@ -128,7 +129,7 @@ jobs:

mac-builder:
timeout-minutes: 150
runs-on: macos-15
runs-on: macos-15-intel
steps:
- name: Checkout
uses: actions/checkout@v4
Expand Down Expand Up @@ -161,7 +162,7 @@ jobs:
fi
- uses: actions/setup-node@v4
with:
node-version: 20.18.1
node-version: 22.19.0
- name: Cache Electron binaries
id: electron-cache
uses: actions/cache@v4
Expand All @@ -185,6 +186,8 @@ jobs:
CSC_KEY_PASSWORD: ${{ secrets.BFX_APPLE_BUILD_CERTIFICATE_PASSWORD }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
ELECTRON_CACHE: ${{ runner.temp }}/.cache/electron
# https://github.com/electron-userland/electron-builder/issues/3179
USE_HARD_LINKS: false
with:
timeout_minutes: 40
retry_wait_seconds: 10
Expand Down Expand Up @@ -231,7 +234,7 @@ jobs:
uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20.18.1
node-version: 22.19.0
- name: Install main dev deps
run: npm i --development --no-audit --progress=false --force
- name: Download Linux Unpacked build
Expand Down Expand Up @@ -263,7 +266,7 @@ jobs:
uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20.18.1
node-version: 22.19.0
- name: Install main dev deps
run: npm i --development --no-audit --progress=false --force
- name: Download Linux Unpacked build
Expand Down Expand Up @@ -297,7 +300,7 @@ jobs:
uses: ./.github/actions/prepare-mac-runner
- uses: actions/setup-node@v4
with:
node-version: 20.18.1
node-version: 22.19.0
- name: Install main dev deps
run: npm i --development --no-audit --progress=false --force
- name: Download Mac Unpacked build
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ jobs:
submodules: recursive
- uses: actions/setup-node@v4
with:
node-version: 20.18.1
node-version: 22.19.0
- name: Setup configs and install deps
run: ./scripts/setup.sh -u
- name: Run tests
Expand Down
35 changes: 35 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,41 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

## [Unreleased]

## [4.39.0] - 2025-11-19

### Added

- Added `summary statistics` info into `getSummaryByAsset` endpoint. PR: [bfx-reports-framework#485](https://github.com/bitfinexcom/bfx-reports-framework/pull/485)
- Added ability to send event to UI to refresh menu states and rerender to be able to show/hide/enable/disable the menu items dynamically, eg menu items like changelog or update. PR: [bfx-report-electron#565](https://github.com/bitfinexcom/bfx-report-electron/pull/565)
- Provided `DEB` installable package for `Linux` for better UX giving more native behavior. PR: [bfx-report-electron#564](https://github.com/bitfinexcom/bfx-report-electron/pull/564)
- Implemented the `Statistics` section for the app `Summary` page and predefined `unrealized` profits accounting (should always be included) for the summary by assets and statistics calculations. PR: [bfx-report-ui#977](https://github.com/bitfinexcom/bfx-report-ui/pull/977)

### Changed

- Updated `better-sqlite3` version up to `12.4.1` to have the last binary prebuild and be able to launch the driver under `electron` `v38`. PR: [bfx-facs-db-better-sqlite#13](https://github.com/bitfinexcom/bfx-facs-db-better-sqlite/pull/13)
- Reduced WS connection frequency to avoid overloading the backend, added a small `300ms` delay to help balance the amount of reconnection instead of the forward recursion. PR: [bfx-report-ui#983](https://github.com/bitfinexcom/bfx-report-ui/pull/983)
- Separated DB files for the `prod` and `staging` to prevent mixing data when testing. In general the issue is in the candles table. It's a public endpoint, and we don't associate it with a specific user id. And it means we can sync staging candles and mix them up with prod candles. As a good solution would be better to separate DB files for prod and staging. PRs: [bfx-reports-framework#488](https://github.com/bitfinexcom/bfx-reports-framework/pull/488), [bfx-report-electron#562](https://github.com/bitfinexcom/bfx-report-electron/pull/562)
- Moved `auto-update` toast UI under main UI control instead of creating new windows using `electron-alert` lib. PR: [bfx-report-electron#566](https://github.com/bitfinexcom/bfx-report-electron/pull/566)
- Enabled login via `__bfx_token` possibility for all environments and adjusted login type priority. PR: [bfx-report-ui#974](https://github.com/bitfinexcom/bfx-report-ui/pull/974)
- Predefined the timeframe as a `day` and included `unrealized` profits as a default for the `Account Balance` section, like we already had for other sections, for represented data consistency. Removed the unused selectors and the `Filter` button, also implemented an auto-refreshing for all sections on the `Date` range changes for a cleaner UI and intuitive UX. PR: [bfx-report-ui#978](https://github.com/bitfinexcom/bfx-report-ui/pull/978)
- Removed the `Filter` button from the `Account Balance` report and implemented an auto-refreshing on each parameter change for a cleaner UI and intuitive UX. PR: [bfx-report-ui#980](https://github.com/bitfinexcom/bfx-report-ui/pull/980)
- Removed the `Filter` button from the `Analysis & Statistics` sections (Weighted Averages, Traded Volume, Average Win/Loss, Concentration Risk, Loan Report, Fees Report) and implemented an auto-refreshing on each parameter change for a cleaner UI and intuitive UX. PR: [bfx-report-ui#982](https://github.com/bitfinexcom/bfx-report-ui/pull/982)
- Removed the `Generate` button from the `Tax Report` and implemented an auto-refreshing on each parameter change for a cleaner UI and intuitive UX. Prevented changing the params possibility(auto-refresh) during the report generation and initial sync to avoid errors. PR: [bfx-report-ui#984](https://github.com/bitfinexcom/bfx-report-ui/pull/984)
- Removed the `Filter` button from the `Snapshots` sections (Positions, Tickers, Wallets) and implemented an auto-refreshing on each parameter change for a cleaner UI and intuitive UX. Prevented changing the params possibility(auto-refresh) during the report loading and initial sync to avoid errors. PR: [bfx-report-ui#985](https://github.com/bitfinexcom/bfx-report-ui/pull/985)
- Changed the link for the `Bitfinex` logo from https://www.bitfinex.com to https://trading.bitfinex.com/t. PR: [bfx-report-ui#986](https://github.com/bitfinexcom/bfx-report-ui/pull/986)
- Removed the `Filter` button from the `My History` reports(Ledgers, Movements, Balances, Earnings sections, Trades sections, Orders, Positions sections, Funding sections) and implemented an auto-refreshing on each parameter change for a cleaner UI and intuitive UX. PR: [bfx-report-ui#987](https://github.com/bitfinexcom/bfx-report-ui/pull/987)
- Removed the `Filter` button from the Public Trades, Public Funding, Spot, Derivatives, Login History, Change Logs reports and implemented an auto-refreshing on each parameter change. PR: [bfx-report-ui#988](https://github.com/bitfinexcom/bfx-report-ui/pull/988)

### Fixed

- Fixed `winston` write stream issue in hot reload dev mode. PRs: [bfx-report-express#54](https://github.com/bitfinexcom/bfx-report-express/pull/54), [bfx-report#453](https://github.com/bitfinexcom/bfx-report/pull/453)
- Fixed `database is locked` issue after DB driver update for the `updateSubAccount` endpoint. PR: [bfx-reports-framework#489](https://github.com/bitfinexcom/bfx-reports-framework/pull/489)
- Fixed `symbol` params mapping for the test pairs (should be `tTESTBTC:TESTUSD` instead of `tBTC:TESTUSD` etc.) that cause errors. PR: [bfx-report-ui#973](https://github.com/bitfinexcom/bfx-report-ui/pull/973)

### Security

- Migrated `electron-updater` from `v5` to `v6`. This is necessary to add `DEB` release as a new version of lib supports it (it adds the installable experience for Linux users and fixes the missing app icon), and also fixed the high-severity [vulnerability](https://github.com/advisories/GHSA-9jxc-qjr9-vjxq) of the electron app

## [4.38.0] - 2025-10-08

### Added
Expand Down
4 changes: 2 additions & 2 deletions Dockerfile.linux-builder
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
FROM electronuserland/builder:20
FROM electronuserland/builder:22

ARG NODE_VERSION="20.18.1"
ARG NODE_VERSION="22.19.0"

ENV IS_BFX_API_STAGING=${IS_BFX_API_STAGING:-0}
ENV IS_DEV_ENV=${IS_DEV_ENV:-0}
Expand Down
4 changes: 2 additions & 2 deletions Dockerfile.mac-builder
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
FROM electronuserland/builder:20
FROM electronuserland/builder:22

ARG NODE_VERSION="20.18.1"
ARG NODE_VERSION="22.19.0"

ENV IS_BFX_API_STAGING=${IS_BFX_API_STAGING:-0}
ENV IS_DEV_ENV=${IS_DEV_ENV:-0}
Expand Down
4 changes: 2 additions & 2 deletions Dockerfile.ui-builder
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
FROM electronuserland/builder:20
FROM electronuserland/builder:22

ARG NODE_VERSION="20.18.1"
ARG NODE_VERSION="22.19.0"

ENV IS_BFX_API_STAGING=${IS_BFX_API_STAGING:-0}
ENV IS_DEV_ENV=${IS_DEV_ENV:-0}
Expand Down
4 changes: 2 additions & 2 deletions Dockerfile.win-builder
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
FROM electronuserland/builder:20-wine
FROM electronuserland/builder:22-wine

ARG NODE_VERSION="20.18.1"
ARG NODE_VERSION="22.19.0"

ENV IS_BFX_API_STAGING=${IS_BFX_API_STAGING:-0}
ENV IS_DEV_ENV=${IS_DEV_ENV:-0}
Expand Down
2 changes: 1 addition & 1 deletion bfx-report-ui
Submodule bfx-report-ui updated 93 files
+1 −1 bfx-report-express
+2 −2 package-lock.json
+1 −1 package.json
+13 −1 public/locales/en/translations.json
+13 −1 public/locales/es-EM/translations.json
+13 −1 public/locales/pt-BR/translations.json
+13 −1 public/locales/ru/translations.json
+13 −1 public/locales/tr/translations.json
+13 −1 public/locales/vi/translations.json
+13 −1 public/locales/zh-CN/translations.json
+13 −1 public/locales/zh-TW/translations.json
+5 −10 src/components/AccountBalance/AccountBalance.js
+0 −2 src/components/AffiliatesEarnings/AffiliatesEarnings.container.js
+0 −3 src/components/AffiliatesEarnings/AffiliatesEarnings.js
+82 −0 src/components/AppSummary/AppSummary.columns.js
+0 −56 src/components/AppSummary/AppSummary.container.js
+50 −0 src/components/AppSummary/AppSummary.helpers.js
+30 −91 src/components/AppSummary/AppSummary.js
+7 −1 src/components/AppSummary/AppSummary.positions.js
+57 −0 src/components/AppSummary/AppSummary.statistics.js
+4 −4 src/components/AppSummary/AppSummary.value.js
+1 −1 src/components/AppSummary/index.js
+0 −2 src/components/AverageWinLoss/AverageWinLoss.container.js
+0 −7 src/components/AverageWinLoss/AverageWinLoss.js
+0 −2 src/components/Candles/Candles.container.js
+1 −4 src/components/Candles/Candles.js
+0 −2 src/components/ChangeLogs/ChangeLogs.container.js
+0 −3 src/components/ChangeLogs/ChangeLogs.js
+5 −10 src/components/ConcentrationRisk/ConcentrationRisk.js
+0 −2 src/components/Derivatives/Derivatives.container.js
+0 −4 src/components/Derivatives/Derivatives.js
+0 −2 src/components/FeesReport/FeesReport.container.js
+0 −7 src/components/FeesReport/FeesReport.js
+0 −2 src/components/FundingCreditHistory/FundingCreditHistory.container.js
+0 −3 src/components/FundingCreditHistory/FundingCreditHistory.js
+0 −2 src/components/FundingLoanHistory/FundingLoanHistory.container.js
+0 −3 src/components/FundingLoanHistory/FundingLoanHistory.js
+0 −2 src/components/FundingOfferHistory/FundingOfferHistory.container.js
+0 −3 src/components/FundingOfferHistory/FundingOfferHistory.js
+0 −2 src/components/FundingPayment/FundingPayment.container.js
+0 −3 src/components/FundingPayment/FundingPayment.js
+0 −2 src/components/Ledgers/Ledgers.container.js
+0 −4 src/components/Ledgers/Ledgers.js
+0 −2 src/components/LoanReport/LoanReport.container.js
+0 −7 src/components/LoanReport/LoanReport.js
+0 −3 src/components/Logins/Logins.js
+0 −2 src/components/Movements/Movements.container.js
+0 −3 src/components/Movements/Movements.js
+0 −2 src/components/Orders/Orders.container.js
+0 −3 src/components/Orders/Orders.js
+0 −2 src/components/Positions/Positions.container.js
+0 −3 src/components/Positions/Positions.js
+0 −2 src/components/PositionsActive/PositionsActive.container.js
+0 −3 src/components/PositionsActive/PositionsActive.js
+0 −2 src/components/PublicFunding/PublicFunding.container.js
+0 −3 src/components/PublicFunding/PublicFunding.js
+0 −1 src/components/PublicFunding/PublicFunding.props.js
+0 −2 src/components/PublicTrades/PublicTrades.container.js
+0 −3 src/components/PublicTrades/PublicTrades.js
+0 −1 src/components/PublicTrades/PublicTrades.props.js
+7 −10 src/components/Snapshots/Snapshots.js
+0 −2 src/components/StakingPayments/StakingPayments.container.js
+0 −3 src/components/StakingPayments/StakingPayments.js
+12 −12 src/components/TaxReport/TaxReport.js
+0 −2 src/components/Tickers/Tickers.container.js
+0 −6 src/components/Tickers/Tickers.js
+0 −1 src/components/Tickers/Tickers.props.js
+0 −2 src/components/TradedVolume/TradedVolume.container.js
+0 −6 src/components/TradedVolume/TradedVolume.js
+0 −1 src/components/TradedVolume/TradedVolume.props.js
+0 −2 src/components/Trades/Trades.container.js
+0 −2 src/components/Trades/Trades.js
+0 −1 src/components/Trades/Trades.props.js
+10 −7 src/components/Wallets/Wallets.js
+0 −2 src/components/WeightedAverages/WeightedAverages.container.js
+0 −4 src/components/WeightedAverages/WeightedAverages.js
+1 −1 src/config.js
+4 −2 src/state/accountBalance/actions.js
+5 −2 src/state/accountBalance/reducer.js
+10 −6 src/state/accountBalance/saga.js
+2 −0 src/state/accountBalance/selectors.js
+6 −1 src/state/summaryByAsset/saga.js
+1 −1 src/state/symbols/utils/mapping.js
+5 −9 src/state/ui/saga.js
+5 −2 src/state/utils.js
+1 −1 src/state/ws/index.js
+2 −0 src/ui/DateInput/DateInput.js
+2 −0 src/ui/DateInput/DateInput.props.js
+12 −0 src/ui/DateInput/_DateInput.scss
+7 −1 src/ui/FeesDeductionSelector/FeesDeductionSelector.js
+12 −0 src/ui/Select/_Select.scss
+13 −3 src/ui/TaxStrategySelector/TaxStrategySelector.js
+5 −0 src/ui/TimeRange/_TimeRange.scss
4 changes: 2 additions & 2 deletions electron-builder-config.js
Original file line number Diff line number Diff line change
Expand Up @@ -159,15 +159,15 @@ module.exports = {
category: 'Network',
target: [
'dir',
'AppImage'
'AppImage',
'deb'
]
},
win: {
target: [
'dir',
'nsis'
],
publisherName: 'Bitfinex Report',
verifyUpdateCodeSignature: false
},
mac: {
Expand Down
Loading