ZeppBridge 2.1.1
If you installed 2.1.0, please update
FIT export never worked in 2.1.0. Choosing FIT on the export page failed
immediately with Command plugin:dialog|open not allowed by ACL, on every
platform, for everyone. Importing a .har file in settings failed the same way.
The app asked the system for permission to save a file but never for permission
to open one, and those are two separate grants — so saving a JSON, CSV or GPX
export worked and hid the problem, while the two paths that need you to pick a
folder or a file could not run at all.
FIT export was the headline feature of 2.1.0. It shipped broken. Sorry.
Reported in #28. There is now a test that scans the interface for every dialog
method it uses and fails the build if the permission list does not match it.
Fixed
- FIT export and HAR import can be opened at all (#28) — see above.
- The all-day stress screen shows the whole day. Zepp sends the entire day's
curve, a reading every five minutes, and ZeppBridge was taking the daily
average out of the same record and discarding the curve — 62,626 readings over
522 days on the library this was found with. Nothing needs re-syncing: the raw
payloads were kept all along and are re-read on the first launch after
updating. - The stress curve breaks where nothing was measured instead of drawing a
straight line across the gap — a line nobody ever measured. - A normalizer upgrade no longer deletes your GPS tracks. Replaying workout
summaries deleted each summary row before writing it back, and the per-second
series, GPS track, splits and pauses all cascade off that row. On one library
1,228,034 samples and 1,097,300 track points disappeared, and the upgrade
reported success. - Replaying a large library takes seconds instead of minutes — 237 seconds
for a single stream on an 842 MB library before, and almost none of it spent
parsing. .fitfiles carry the watch's own step count instead of leaving importers
to estimate one.- Linux: the Flatpak has a tray icon again.
- Linux: the AppImage no longer bundles its own Wayland libraries (#32). It
was shippinglibwayland-clientand friends, which have to match the
compositor actually running on your machine — which is why an AppImage built
on the reporter's own machine ran while the CI one did not.
This one is unverified. It builds and repacks in CI, but nobody has yet
confirmed it opens on a machine that was failing. If you were affected, a
comment on #32 saying whether it works now — and which distro and compositor
you are on — is the most useful thing you can send.
Added
- Heart-rate zones on the workout page — how long you spent in each of the
six zones, computed by your watch against the boundaries you set on it. - Fifteen more numbers Zepp was already sending: sleep-period HRV and resting
heart rate, your HRV and resting-heart-rate baselines, the AHI baseline, your
step, calorie and active-minute goals, the seven-day rolling PAI total, and the
minutes and heart-rate floor of each PAI zone. - First half vs second half of a run, by pace per heartbeat. When the run
does not qualify — too short, pace too variable, too few samples — you get the
reason instead of a number computed anyway. zeppbridge-cli reprocess, andsyncnow replays before it syncs, so
container and command-line users stop being left on old parsing rules.- Elliptical (Zepp workout code 12), added because a user wrote in and said
so. It did not exist in the catalogue at all before, so you could not even
correct a workout to it by hand. Upgrading replays your stored workouts, so
records already filed asunknown:12become elliptical without re-syncing. - Four more watches identified by number alone: Active MAX, Bip MAX,
Active 3 Premium, T-Rex 3 Pro. - Amazfit Balance 2 XT in the model list (#42). It has no product photo yet
and shows a placeholder — the watch is sold only through retailers so far, and
showing the Balance 2's photo would just be a picture of a different watch.
Documentation
- Moving a library from Windows or macOS to Linux (#40). The database
travels; the token does not, and never could — it lives in Credential Manager,
the Keychain or the Secret Service, bound to that machine, never in a file. The
Linux guide now covers the three ways to get a token onto the new machine.
Still not verified on Linux
Nobody has run a full sign-in-and-sync cycle on a real Linux desktop. The
Linux-specific code is exercised by unit tests and a container, not by a person
with a watch. If you try it, an issue saying what happened is genuinely useful.
Full changelog: https://github.com/lingcang728/ZeppBridge/blob/main/CHANGELOG.md