v1.0.3 Server GUI Edition
Server GUI Edition
First release with a proper desktop launcher. The text-menu launcher from v1.0.1 is still available via launch.cmd --cli, but the GUI is now the default experience on Windows.
New: PyQt6 desktop launcher
- Server controls - Start / Stop server and Launch browser as one-click buttons; uvicorn is managed in-process, no second console window.
- Live status indicators - Colored dot + label for both the web server (running / starting / stopped / error) and the SQLite database (ready / empty / error), polled every 800 ms.
- Workbook ingest - File picker so you can point at any
.xlsxinstead of dropping it inSpreadsheet/. Ingest output streams into a log pane in real time. - Characters panel - Shows every character in the DB with their starting class. Auto-refreshes after each ingest; Open in browser deep-links to
/characters. - Instructions dialog - Step-by-step walkthrough covering Discord workbook download → ingest → server start → Lodestone scrape → import, with troubleshooting tips. Links rewrite to your live server URL when it's running.
- Built-in update check - Queries this repo's
/releases/latest, compares against_version.py, and offers to download the installer asset with progress. - Open Discord button jumps straight to the FFXIV Completionist server.
New: Windows installer
build_installer.py produces a self-contained Inno Setup installer that bundles its own Python runtime - end users no longer need Python on their PATH. Desktop and Start Menu shortcuts launch the GUI via pythonw (no console window) and use the bundled icon.ico. A secondary (Text Menu) Start Menu entry preserves the old CLI workflow for power users.
Bug fixes
- Server status now probes the actual bind host, not just loopback - fixes a regression where binding to a specific LAN IP (
192.168.1.x) made the indicator stay gray even though the server was running. - Subprocess log output streams live instead of sitting in pipe buffers for minutes. Uses
PYTHONUNBUFFERED,-u, and separate stdout/stderr channels so uvicorn's startup logs (which go to stderr) actually surface in the GUI. - Stopping the server no longer flashes a red "error" state - a user-initiated stop is correctly reported as gray "Not running".
For contributors
build_icons.pyregeneratesassets/icon.icofromassets/icon.pngat every installer build, so swapping the app icon is a one-file change.updater.pyis dependency-free (stdlib only) and reusable outside the GUI.- Inno Setup script (FFXIVTracker.iss) is checked in;
python build_installer.pyis a one-command build.
Assets
FFXIVTracker-v1.0.2-Windows-Setup.exe- recommended. Self-contained installer with bundled Python.FFXIVTracker-v1.0.2.zip- source bundle for users who already have Python 3.10+.