-
-
Notifications
You must be signed in to change notification settings - Fork 373
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
NativeImplV1 failed to upload workout - Temporary Solution Found #683
Comments
I get GUpload Exit Code: -1 - NativeImplV1 failed to upload workout , Response could not be deserialized to JSON: POST https://connectapi.garmin.com/upload-service/upload/.fit |
I'm getting the same as @mkmeller today.was working ok yesterday. |
I've got the same issue @mkmeller. I had two successful syncs yesterday but this morning it's failed with the same error the two times that I've attempted. Here's what the GarminAPI responded to with from the NativeImplV1 failure: |
I am also seeing this error whenever I try to sync workouts from Peloton to Garmin. Maybe the API has changed on Garmin's side? Full output from the sync job is here:
|
Thank for all the info yall. This is on my radar. I'm hosting family for the holidays right now but then I'll try to dig into this and see what needs to be adjusted for Garmins API changes. |
same problem as of today ...... GUpload Exit Code: -1 - NativeImplV1 failed to upload workout /app/working/upload/00ae2044333e49959057aa32a5914eb4_5_min_Cool_Down_Ride_with_Erik_Jäger.fit, Call failed. Error while copying content to a stream: POST https://connectapi.garmin.com/upload-service/upload/.fit |
Garmin's little way of saying happy thanksgiving! |
Just chiming in to say that I'm seeing the JSON exception as well. Happy Thanksgiving! |
Same issue: Periodic syncing is Not Running |
Possible quick workaroundAdd or update your "Developer":
{
"UserAgent": "GCM-iOS-5.7.2.1"
}, What does this do? When making HTTP requests, this will override the UserAgent header used on those requests. It appears that by simply changing this one header on the request, the Garmin API allows the upload to go through successfully. Tip If this works for you, react to this message with a Thumbs Up. What if this doesn't work? No harm, no foul. Just delete the change and I'll go back to the drawing board. Caution If this doesn't work for you, react to this message with a Thumbs Down. Docker WebUI Example
The config file should look something like this after you edit it. Note we aren't modifying any existing values in your config, just adding the new {
"Developer":
{
"UserAgent": "GCM-iOS-5.7.2.1"
},
"Observability": {
"Prometheus": {
"Enabled": false
},
"Jaeger": {
"Enabled": false,
"AgentHost": "localhost",
"AgentPort": 6831
},
"Serilog": {
"Using": [ "Serilog.Sinks.Console", "Serilog.Sinks.File" ],
"MinimumLevel": {
"Default": "Information",
"Override": {
"Microsoft": "Error",
"System": "Error"
}
},
"WriteTo": [
{ "Name": "Console" }
]
}
}
} Headless or Windows App Example
The config file should look something like this after you edit it. Note we aren't modifying any existing values in your config, just adding the new {
"Developer":
{
"UserAgent": "GCM-iOS-5.7.2.1"
},
"App": {
"EnablePolling": true,
"PollingIntervalSeconds": 86400,
"CheckForUpdates": true
},
"Format": {
"Fit": true,
"Json": false,
"Tcx": false,
"SaveLocalCopy": true,
"IncludeTimeInHRZones": false,
"IncludeTimeInPowerZones": false
},
"Peloton": {
"Email": "",
"Password": "",
"NumWorkoutsToDownload": 1,
"ExcludeWorkoutTypes": [ ]
},
"Garmin": {
"Email": "",
"Password": "",
"TwoStepVerificationEnabled": false,
"Upload": false,
"FormatToUpload": "fit"
},
"Observability": {
"Prometheus": {
"Enabled": false,
"Port": 4000
},
"Jaeger": {
"Enabled": false,
"AgentHost": "localhost",
"AgentPort": 6831
},
"Serilog": {
"Using": [ "Serilog.Sinks.Console", "Serilog.Sinks.File" ],
"MinimumLevel": {
"Default": "Information",
"Override": {
"Microsoft": "Error",
"System": "Error"
}
}
}
}
} |
This worked for me. Windows app, Garmin w/ MFA. Thanks! |
Worked for me in Docker. Thanks and Happy Thanksgiving! |
This worked 👍
Buying you another cup of coffee my friend!
JPK
…On Wed, Nov 27, 2024 at 10:30 AM Bailey ***@***.***> wrote:
Possible quick workaround
Add or update your config.json file to have the following section.
"Developer":
{
"UserAgent": "GCM-iOS-5.7.2.1"
},
*What does this do?* When making HTTP requests, this will override the
UserAgent header used on those requests. It appears that by simply changing
this one header on the request, the Garmin API allows the upload to go
through successfully.
Tip
If this works for you, react to this message with a Thumbs Up.
*What if this doesn't work?* No harm, no foul. Just delete the change and
I'll go back to the drawing board.
Caution
If this doesn't work for you, react to this message with a Thumbs Down.
Docker WebUI Example
1. Update your api.local.json config file
<https://github.com/philosowaffle/peloton-to-garmin/blob/master/docker/webui/api.local.json>
<< API config file only
2. Restart P2G
The config file should look something like this after you edit it. Note we
aren't modifying any existing values in your config, just adding the new
Developer section:
{
"Developer":
{
"UserAgent": "GCM-iOS-5.7.2.1"
},
"Observability": {
"Prometheus": {
"Enabled": false
},
"Jaeger": {
"Enabled": false,
"AgentHost": "localhost",
"AgentPort": 6831
},
"Serilog": {
"Using": [ "Serilog.Sinks.Console", "Serilog.Sinks.File" ],
"MinimumLevel": {
"Default": "Information",
"Override": {
"Microsoft": "Error",
"System": "Error"
}
},
"WriteTo": [
{ "Name": "Console" }
]
}
}
}
Headless or Windows App Example
1. Update your configuration.local.json file
<https://github.com/philosowaffle/peloton-to-garmin/blob/master/configuration.example.json>
to have the new section
2. Restart P2G
The config file should look something like this after you edit it. Note we
aren't modifying any existing values in your config, just adding the new
Developer section:
{
"Developer":
{
"UserAgent": "GCM-iOS-5.7.2.1"
},
"App": {
"EnablePolling": true,
"PollingIntervalSeconds": 86400,
"CheckForUpdates": true
},
"Format": {
"Fit": true,
"Json": false,
"Tcx": false,
"SaveLocalCopy": true,
"IncludeTimeInHRZones": false,
"IncludeTimeInPowerZones": false
},
"Peloton": {
"Email": "",
"Password": "",
"NumWorkoutsToDownload": 1,
"ExcludeWorkoutTypes": [ ]
},
"Garmin": {
"Email": "",
"Password": "",
"TwoStepVerificationEnabled": false,
"Upload": false,
"FormatToUpload": "fit"
},
"Observability": {
"Prometheus": {
"Enabled": false,
"Port": 4000
},
"Jaeger": {
"Enabled": false,
"AgentHost": "localhost",
"AgentPort": 6831
},
"Serilog": {
"Using": [ "Serilog.Sinks.Console", "Serilog.Sinks.File" ],
"MinimumLevel": {
"Default": "Information",
"Override": {
"Microsoft": "Error",
"System": "Error"
}
}
}
}
}
—
Reply to this email directly, view it on GitHub
<#683 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AXWU6TX45Z6X4PBADHPOWV32CXXUDAVCNFSM6AAAAABSPMRWT2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDKMBUGMYDSMZVHA>
.
You are receiving this because you commented.Message ID:
***@***.***>
|
Any way to fix this in the github workflow version? |
@benmwatson Similar changes for GitHub workflow, except you will edit this file and add the new |
@philosowaffle I had the same issue as @benmwatson and your suggestion for the YML fix worked for me. Thank you very much! |
Thanks for the effort -- for me it is not working (Docker) -- I also dont get any error messages - e/th looks fine except the workout doesnt come across to Garmin 2024-11-27 22:08:24 [15:08:24 INF] Found 1 workouts remaining after filtering ExcludedWorkoutTypes. |
Quick fix worked for me as well! App Version: 4.1.0 (will update after the holidays) Thanks! |
The docker quick fix worked for me on stable. |
This worked for me ;)) THX |
workaround from philosowaffle#683 (comment)
Worked for me as well, thanks @philosowaffle and happy thanksgiving everyone! |
Discussed in #682
Originally posted by michaelromero November 25, 2024
Was previously uploading workouts fine. Took a few weeks off, and now receiving the following error. Wondering if anyone else is coming across it? I refreshed my peloton and garmin passwords, then updated to the latest p2g version in docker. It read my list of workouts fine, but when I try to upload:
The text was updated successfully, but these errors were encountered: