69 lines
3.2 KiB
Markdown
69 lines
3.2 KiB
Markdown
# Changelog – GizerBridge
|
||
|
||
A development history of GizerBridge, from first prototype to stable release.
|
||
Documented to show the real problems solved along the way.
|
||
|
||
---
|
||
|
||
## v1.0.0 – First Stable Release (2026-05-22)
|
||
|
||
### Phase 1 – First Prototype: HTTP Script
|
||
- Built initial Python script sending trades via HTTP POST to Tralgo Analytics
|
||
- **Problem:** Session cookie missing → HTTP 200 response but nothing appeared in Tralgo
|
||
- **Fix:** Manually copied cookie from Firefox → worked
|
||
- **Problem:** Cookie expired frequently → required manual copying every session
|
||
- **Attempted:** Auto-login with username/password → failed due to 2FA + redirect loop
|
||
|
||
### Phase 2 – Automatic Cookie Reader
|
||
- Implemented automatic cookie extraction from Firefox SQLite database
|
||
- **Problem:** Firefox installed as Flatpak stores profile under non-standard path
|
||
(`~/.var/app/org.mozilla.firefox/...` instead of `~/.mozilla/...`)
|
||
- **Fix:** Added Flatpak path as fourth search location → resolved
|
||
|
||
### Phase 3 – GUI Application
|
||
- Built full tkinter GUI with system tray, settings window, and manual import
|
||
- **Problem:** Tray icon showed as grey square on KDE/Wayland
|
||
- **Fix:** Removed pystray dependency, switched to tkinter-only main window
|
||
- **Problem:** Date filter failed to detect new log files
|
||
- **Root cause:** Bug in filename parser
|
||
- **Problem:** Trades imported with wrong date (today's date instead of original)
|
||
- **Root cause:** Used `datetime.now()` instead of parsing date from filename
|
||
- **Problem:** Times always showed `00:00:00` for historical trades
|
||
- **Root cause:** Sierra Chart log files contain no time information → accepted as limitation
|
||
|
||
### Phase 4 – DTC Protocol Integration
|
||
- Pascal (Tralgo support) recommended DTC Protocol over log file parsing
|
||
- Sierra Chart DTC server already active on port 11099
|
||
- Replaced log file parser with direct TCP connection via DTC Binary Protocol
|
||
- **Problem:** Prices transmitted as `raw_value / 100` → showed as `100000.00` in Tralgo
|
||
- **Root cause:** Division by 100 missing in auto-monitor function
|
||
- **Problem:** Trades sent twice
|
||
- **Root cause:** Two app instances running simultaneously
|
||
- **Fix:** Enforced single instance
|
||
|
||
### Phase 5 – Simulation Account Support
|
||
- **Problem:** DTC returned empty packets for simulation accounts
|
||
- **Attempted fix:** Reactivated log file parser as hybrid fallback for sim accounts
|
||
- **Retested:** DTC does deliver sim fills correctly after all → log file parser removed again
|
||
- **Result:** DTC-only for all account types (live + sim) → stable
|
||
|
||
### Phase 6 – Rebrand to GizerBridge
|
||
- Renamed app from "Analytics Importer" to **GizerBridge**
|
||
- Integrated GizerLabs logo (taskbar icon + header in main window)
|
||
- Built distributable Linux AppImage (no installation required)
|
||
- Added pystray back with correct KDE/Wayland configuration
|
||
|
||
---
|
||
|
||
## Current Status
|
||
|
||
| Feature | Status |
|
||
|---|---|
|
||
| Live account trade transfer | ✅ Working |
|
||
| Simulation account trade transfer | ✅ Working |
|
||
| Real prices and timestamps | ✅ Working |
|
||
| Auto-import (real-time) | ✅ Working |
|
||
| Manual import (historical trades) | ✅ Working |
|
||
| Linux AppImage | ✅ Built and tested |
|
||
| GizerLabs branding | ✅ Integrated |
|