Repository navigation
Hooks
Polar FlowSync uses LGPL Qt libraries for (among other things) network communications. To get access to these communications, Bipolar provides its own replacement Qt5Network.dll which is a drop-in replacement for the one that ships with FlowSync. This drop-in replacement DLL extends the QNetworkAccessManager::post function to record POST data to files.
FlowSync POSTs to several URLs - the drop-in replacement DLL only records data for those containing the training-sessions string, so for example, login requests are not logged.
POST data is logged in an export directory, under the writable QStandardPaths::DataLocation location - typically something like C:\Uses\<user>\AppData\Local\Polar\PolarFlowSync\export. Each file is named the same as the POST URL path, but with unsafe characters (such as /) replaced with - instead. So, for example, a POST to a URL like: www.remotepolar.com/v2/users/1234567/training-sessions/23456789/exercises/34567890/autolaps will result in a file like: C:\Uses\<user>\AppData\Local\Polar\PolarFlowSync\export\v2-users-1234567-training-sessions-23456789-exercises-34567890-autolaps.
Each file contains the raw POST data - which in the case of Polar FlowSync, is binary Google Protocol Buffers data (see [Polar API V2](Polar API V2)).
- Locate the Polar FlowSync installation; eg
C:\Program Files (x86)\Polar\Polar FlowSync\. - Backup the
Qt5Network.dllfile in that directory; eg rename it to something likeQt5Network.dll.backup. - Copy the new
Qt5Network.dllfile into that directory. - Restart Polar FlowSync.
Or see the temporary install.cmd script for inspiration.
- Copy the backed-up DLL (from step #2 of the installation) back to
Qt5Network.dll. - Restart Polar FlowSync.
| FlowSync | OSX | Windows | Notes |
|---|---|---|---|
| < 2.6.2 | Qt 5.1.1 | Qt 5.1.1 | |
| 2.6.2 | Qt 5.1.1 | Qt 5.5.1 | Yes, Polar moved FlowSync for Windows to Qt 5.5.x, but left the OSX version at 5.1.x for the FlowSync 2.6.2 release. |
Polar WebSync also uses LGPL Qt libraries for network communications, though it uses Qt 4.6.x instead of Qt 5.1.x. The same hook process as used above will probably work for WebSync, but as WebSync has built-in support for exporting HRM/GPX files, its a lower priority.