d3vv3 and Thomas Kuehne
60faf96f9b
cherry pick from #5946 : fix REM_SLEEP / AWAKE_SLEEP mixup
...
(cherry picked from commit 36baca30fa )
2026-06-05 15:47:37 +00:00
Gideon Zenz
05dffc4932
Health Connect: Use sync run timestamp as clientRecordVersion for activity records
...
The per-minute steps, calories and distance records set clientRecordVersion
to the metric value itself. Health Connect keeps the record with the highest
clientRecordVersion on a clientRecordId collision (newVersion >= existing
overwrites), so each minute became pinned to the largest value ever sent for
it. When a device delivers activity in two phases and revises a minute's value
downward between them, the corrected record carries a lower version and is
silently ignored, leaving Health Connect above the device's own total.
Stamp clientRecordVersion with the sync run's wall-clock instead, shared by
every record in the slice. A later run always outranks the value it previously
wrote for a minute, so the freshest re-read wins regardless of whether the
value rose or fell. The clientRecordId remains the dedup key and is unchanged.
2026-06-05 14:56:03 +02:00
Gideon Zenz
829f9b7c31
Health Connect: Recover late-arriving step samples
...
The ACTIVITY sync cursor is a single (deviceId, dataType) timestamp shared by
the steps, active-calories and distance syncers. The cursor advances to the
latest record produced by any of them. When a device delivers calorie/distance
detail for the most recent minutes before the matching step detail, the cursor
moves past those minutes on the calorie front; the step minutes that arrive on
the next sync are then clipped by the slice start boundary and lost forever.
Resetting the HC sync state recovered them, confirming the data was present in
the database but skipped.
Give the per-minute steps, calories and distance records a deterministic
clientRecordId (gb-{type}-{manufacturer}-{model}-{endEpochSecond}) so that
re-emitting a record upserts instead of duplicating, mirroring SleepSyncer.
With records now idempotent, extend the per-syncer slice lower bound backwards
by a one-hour lookback so the trailing window is re-emitted on the next sync
and the late minutes are recovered. Heart rate is a grouped series keyed on its
start time, cannot be deduped this way, and does not extend the shared base, so
it keeps strict boundaries and never re-emits.
2026-06-05 14:56:03 +02:00
Gideon Zenz
00c0a2ba5c
Xiaomi: Suppress premature activity-data-finish signal during two-phase fetch
...
The Xiaomi two-phase activity fetch (today + past) could fire the data-finish
signal that triggers downstream consumers before all DETAILS files had been
parsed, so a consumer reading the database in that gap saw an incomplete
picture. Hold the finish signal until both fetch phases have delivered and
all files are parsed.
Use an AtomicBoolean for the fetch-hold flag and set awaitingPastResponse
before the fetch starts to avoid signalling between the two phases.
2026-06-05 14:55:20 +02:00
Thomas Kuehne
75e25a0e90
fix: Physical Layer (PHY) mask on MIUI for gadgets other than Casio GBX100
2026-06-05 10:48:25 +00:00
Andreas Shimokawa
7d9cb26d02
Pebble: pass dev_settings=true to rebble store url, do enable pbw downloads in browser
2026-06-05 10:19:52 +02:00
Thomas Kuehne
7e6d96ae8c
TransactionBuilder: rename wait/WaitAction to sleep/SleepAction
...
Object.wait(long) and TransactionBuilder.wait(int) have too similar signatures that may result in unintentionally calling the wrong method.
2026-06-05 03:47:59 +00:00
Thomas Kuehne
7c309e9a5d
TransactionBuilder: code review
2026-06-05 02:07:36 +00:00
José Rebelo
d1ec9eb25f
Update "Cancel" and "Delete" string identifiers to lowercase
2026-06-04 14:02:46 +01:00
José Rebelo
aecd417722
Improve steps and calories number formatting
2026-06-04 13:56:25 +01:00
Fjuro and Hosted Weblate
c90403513e
Translated using Weblate (Czech)
...
Currently translated at 100.0% (4817 of 4817 strings)
Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/cs/
2026-06-04 12:36:32 +00:00
Саша Петровић and Hosted Weblate
01af9abc65
Translated using Weblate (Serbian)
...
Currently translated at 63.5% (3060 of 4817 strings)
Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/sr/
2026-06-04 12:36:32 +00:00
大王叫我来巡山 and Hosted Weblate
fe7420ea83
Translated using Weblate (Chinese (Simplified Han script))
...
Currently translated at 100.0% (4817 of 4817 strings)
Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/zh_Hans/
2026-06-04 12:36:31 +00:00
summoner001 and Hosted Weblate
03093a0c7f
Translated using Weblate (Hungarian)
...
Currently translated at 100.0% (4817 of 4817 strings)
Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/hu/
2026-06-04 12:36:31 +00:00
Zbignev Harmin and Hosted Weblate
7710a7538c
Translated using Weblate (Russian)
...
Currently translated at 100.0% (4817 of 4817 strings)
Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/ru/
2026-06-04 12:36:30 +00:00
Fjuro and Hosted Weblate
d1a89cae7d
Translated using Weblate (Czech)
...
Currently translated at 100.0% (4816 of 4816 strings)
Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/cs/
2026-06-04 12:36:30 +00:00
summoner001 and Hosted Weblate
b5167ca1be
Translated using Weblate (Hungarian)
...
Currently translated at 100.0% (4816 of 4816 strings)
Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/hu/
2026-06-04 12:36:29 +00:00
大王叫我来巡山 and Hosted Weblate
2e25be1dbe
Translated using Weblate (Chinese (Simplified Han script))
...
Currently translated at 100.0% (4816 of 4816 strings)
Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/zh_Hans/
2026-06-04 12:36:28 +00:00
apemay and Hosted Weblate
403577f25e
Translated using Weblate (Spanish)
...
Currently translated at 100.0% (4812 of 4812 strings)
Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/es/
2026-06-04 12:36:28 +00:00
Саша Петровић and Hosted Weblate
0d835de663
Translated using Weblate (Serbian)
...
Currently translated at 63.4% (3054 of 4812 strings)
Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/sr/
2026-06-04 12:36:27 +00:00
summoner001 and Hosted Weblate
db2d9e61bf
Translated using Weblate (Hungarian)
...
Currently translated at 100.0% (4812 of 4812 strings)
Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/hu/
2026-06-04 12:36:27 +00:00
大王叫我来巡山 and Hosted Weblate
47a1d231c3
Translated using Weblate (Chinese (Simplified Han script))
...
Currently translated at 100.0% (4812 of 4812 strings)
Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/zh_Hans/
2026-06-04 12:36:26 +00:00
Fjuro and Hosted Weblate
046c97c57e
Translated using Weblate (Czech)
...
Currently translated at 100.0% (4812 of 4812 strings)
Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/cs/
2026-06-04 12:36:25 +00:00
Zbignev Harmin and Hosted Weblate
41351ee7a3
Translated using Weblate (Russian)
...
Currently translated at 100.0% (4810 of 4810 strings)
Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/ru/
2026-06-04 12:36:25 +00:00
Da Vitoria and Hosted Weblate
2316e35e21
Translated using Weblate (French)
...
Currently translated at 94.8% (4561 of 4810 strings)
Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/fr/
2026-06-04 12:36:24 +00:00
Sverlana and Hosted Weblate
c21c426f21
Translated using Weblate (Russian)
...
Currently translated at 99.2% (4776 of 4810 strings)
Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/ru/
2026-06-04 12:36:23 +00:00
Luca Söthe and Hosted Weblate
34a3026e5c
Translated using Weblate (German)
...
Currently translated at 99.3% (4777 of 4810 strings)
Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/de/
2026-06-04 12:36:23 +00:00
Luca Söthe and Hosted Weblate
f339d9c8c1
Translated using Weblate (German)
...
Currently translated at 98.2% (4727 of 4810 strings)
Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/de/
2026-06-04 12:36:22 +00:00
David D. and Hosted Weblate
8243212bf6
Translated using Weblate (French)
...
Currently translated at 94.9% (4566 of 4810 strings)
Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/fr/
2026-06-04 12:36:22 +00:00
大王叫我来巡山 and Hosted Weblate
43be00d8c1
Translated using Weblate (Chinese (Simplified Han script))
...
Currently translated at 100.0% (4810 of 4810 strings)
Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/zh_Hans/
2026-06-04 12:36:21 +00:00
Da Vitoria and Hosted Weblate
c169f87584
Translated using Weblate (French)
...
Currently translated at 94.9% (4566 of 4810 strings)
Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/fr/
2026-06-04 12:36:21 +00:00
Fjuro and Hosted Weblate
6e10310178
Translated using Weblate (Czech)
...
Currently translated at 100.0% (4810 of 4810 strings)
Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/cs/
2026-06-04 12:36:20 +00:00
summoner001 and Hosted Weblate
22a47bbcbe
Translated using Weblate (Hungarian)
...
Currently translated at 100.0% (4810 of 4810 strings)
Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/hu/
2026-06-04 12:36:19 +00:00
Da Vitoria and Hosted Weblate
eb44126dd5
Translated using Weblate (French)
...
Currently translated at 94.8% (4559 of 4808 strings)
Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/fr/
2026-06-04 12:36:19 +00:00
Jan Jasper de Kroon and Hosted Weblate
1334273d52
Translated using Weblate (Dutch)
...
Currently translated at 96.3% (4631 of 4807 strings)
Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/nl/
2026-06-04 12:36:18 +00:00
Fjuro and Hosted Weblate
1270b7ee44
Translated using Weblate (Czech)
...
Currently translated at 100.0% (4807 of 4807 strings)
Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/cs/
2026-06-04 12:36:18 +00:00
Da Vitoria and Hosted Weblate
bd9b1ee109
Translated using Weblate (French)
...
Currently translated at 95.0% (4567 of 4807 strings)
Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/fr/
2026-06-04 12:36:17 +00:00
Ghost of Sparta and Hosted Weblate
1b74014124
Translated using Weblate (Hungarian)
...
Currently translated at 100.0% (4807 of 4807 strings)
Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/hu/
2026-06-04 12:36:17 +00:00
summoner001 and Hosted Weblate
544fa2df50
Translated using Weblate (Hungarian)
...
Currently translated at 100.0% (4807 of 4807 strings)
Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/hu/
2026-06-04 12:36:16 +00:00
大王叫我来巡山 and Hosted Weblate
d97a5f976c
Translated using Weblate (Chinese (Simplified Han script))
...
Currently translated at 100.0% (4807 of 4807 strings)
Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/zh_Hans/
2026-06-04 12:36:15 +00:00
Fjuro and Hosted Weblate
615945c527
Translated using Weblate (Czech)
...
Currently translated at 100.0% (4805 of 4805 strings)
Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/cs/
2026-06-04 12:36:15 +00:00
大王叫我来巡山 and Hosted Weblate
cd910516db
Translated using Weblate (Chinese (Simplified Han script))
...
Currently translated at 100.0% (4805 of 4805 strings)
Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/zh_Hans/
2026-06-04 12:36:14 +00:00
summoner001 and Hosted Weblate
f4d16025ee
Translated using Weblate (Hungarian)
...
Currently translated at 100.0% (4805 of 4805 strings)
Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/hu/
2026-06-04 12:36:14 +00:00
Da Vitoria and Hosted Weblate
6f04c3405b
Translated using Weblate (French)
...
Currently translated at 94.0% (4518 of 4805 strings)
Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/fr/
2026-06-04 12:36:13 +00:00
Da Vitoria and Hosted Weblate
f00ed42566
Translated using Weblate (French)
...
Currently translated at 93.7% (4502 of 4803 strings)
Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/fr/
2026-06-04 12:36:13 +00:00
Deniz and Hosted Weblate
6e4a3ee66b
Translated using Weblate (Turkish)
...
Currently translated at 86.1% (4136 of 4803 strings)
Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/tr/
2026-06-04 12:36:12 +00:00
Da Vitoria and Hosted Weblate
b8e22247fe
Translated using Weblate (French)
...
Currently translated at 93.4% (4487 of 4803 strings)
Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/fr/
2026-06-04 12:36:11 +00:00
Fjuro and Hosted Weblate
1c467e58de
Translated using Weblate (Czech)
...
Currently translated at 100.0% (4802 of 4802 strings)
Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/cs/
2026-06-04 12:36:11 +00:00
Fjuro and Hosted Weblate
ec85ce2f2d
Translated using Weblate (Czech)
...
Currently translated at 99.1% (4760 of 4799 strings)
Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/cs/
2026-06-04 12:36:10 +00:00
summoner001 and Hosted Weblate
01dde4ff47
Translated using Weblate (Hungarian)
...
Currently translated at 100.0% (4799 of 4799 strings)
Translation: Freeyourgadget/Gadgetbridge
Translate-URL: https://hosted.weblate.org/projects/freeyourgadget/gadgetbridge/hu/
2026-06-04 12:36:10 +00:00