diff options
| author | Martin Kagamino Lehoux <martin@lehoux.net> | 2026-08-27 19:07:33 +0200 |
|---|---|---|
| committer | Martin Kagamino Lehoux <martin@lehoux.net> | 2026-08-27 19:07:33 +0200 |
| commit | 4a61f3eb3103aa512bef1b0d82295403bc4bc977 (patch) | |
| tree | 73eb78c50518f129d5e6aaa86153a1b4c4637bf5 /web/server_test.go | |
| parent | d7b93325d4f70eeab369fa8a3c4cce9f0c4e0081 (diff) | |
Swap ride read path from GPX to FIT for performance
Always use FIT for detail, official climb creation and backtest;
keep GPX fallback for legacy rides pending backfill. FIT is 10-20x
smaller and parses without XML.
Diffstat (limited to 'web/server_test.go')
| -rw-r--r-- | web/server_test.go | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/web/server_test.go b/web/server_test.go index e9444c7..d75628d 100644 --- a/web/server_test.go +++ b/web/server_test.go @@ -66,9 +66,18 @@ func (c fakeSyncClient) Get(id int64) (strava.Activity, []byte, []byte, error) { if !ok { return strava.Activity{}, nil, nil, fmt.Errorf("missing fake activity %d", id) } + if result.err != nil { + return result.activity, nil, nil, result.err + } fitData := result.fitData if fitData == nil && result.data != nil { - fitData = result.data + parsed, err := (ride.GPXRideParser{}).Parse(bytes.NewReader(result.data)) + if err == nil { + var buf bytes.Buffer + if err := ride.EncodeFIT(parsed, &buf); err == nil { + fitData = buf.Bytes() + } + } } return result.activity, result.data, fitData, result.err } |
