Cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Versa 4: File Transfer API Problems (Watch -> companion stays pending)

so apparently while the transfer from the Phone to the V4 works splendidly, I have had the problem that when starting a transfer on the V4 to the phone, it seems to stay in pending despite the companion clearly still running, did the Versa 4 ax that, or are there some problems with it?

Best Answer
0 Votes
7 REPLIES 7

Hi @My1xT - if you are using the new V4 Fitbit App on your phone there are known syncing issues which may play havoc with any companion communications.

Try a sync in the Fitbit App first or restart the watch first and sync before trying the transfer and see if it makes a difference.

Author | ch, passion for improvement.

Best Answer

syncing doesnt does help, I tried downgrading to 3.90 via an external source and also restarting the watch, both didnt help, but maybe it helps with the problems with the peerSocket dying all the time (whch is the reason why I have been trying file transfer in the first place because someone said it could be more stable than messaging, the the cost of some added latency), it feels a bit more stable at least for now.

 

basically I am making an absolutely overengineered Media Control App, which levers Tasker Webhooks and an intent API, which is absolutely stupid but at least it works. kinda.

Best Answer
0 Votes

Thanks for the update @My1xT - definitely use the series 3 Fitbit App which is much more stable and prior watches to the Sense 2/Versa 4.

If you suspect communication issues use the SimpleCheckUp app (second test) to see exactly the current communication state. It might help with debugging.

Author | ch, passion for improvement.

Best Answer
0 Votes

the simple check up sounds neat but sadly not for versa 4 (well obvious there arent really any public apps for the V4 anyway)

 

I didnt find a source link so I assume it's not open source, otherwise I would have just tried to build it for the V4

Best Answer

Hi @My1xT ,

I too experienced what you're talking about with the file transfer API when I tried to use it on my sense 2.  (The versa 4's cousin.)  If you have the time, maybe a bug report should be issued with github.  My work on the Sense 2 / Versa 4 has run into 3 bugs excluding the one you mention.  I will spend some time tomorrow to try to write bug reports for @fitbit/sdk.  In short here are the bugs I ran into.

1) Math.pow(-1,2) results in a NaN, not 1.  I had to change a library so all the calls to Math.pow had the first argument wrapped in a Math.abs.  (All the calls were being raised to 2.)  I authored a thread on this too.

2) I'm getting a crash trying to use the messaging app to transfer a set of latitude and longitude coordinates from the companion to my phone.  My results are outlined here .  In short I to get a crash, although the data transfer does work.

3)  The following code from the sdk-demo-app  crashes when run.

buttonCallbacks.forEach((view) => {
  const [buttonID, viewJSLoader] = view;

  document.getElementById(buttonID).addEventListener("click", () => {
    viewJSLoader().then(({ init, update }) => {
      init().then(update).catch((err) => {
        console.error(`Error loading view: ${err.message}`);
      });
    }).catch((err) => {
      console.error(`Failed to load view JS: ${buttonID} - ${err.message}`);
    });
  });
});

4)  The crash you outline in this thread.  The companion can create the file, but it is never received in the app's inbox.

Good luck with your app.

Take care,

Chris

 

Best Answer
0 Votes

I am not sure of how low you can go for versa4/sense2, but I have my clockface on 6.2.0-pre.1, iirc because there were issues when trying it on GAM, so maybe that works better.

Best Answer
0 Votes
Hi @My1xT,

I just tested this and in fact you can build for versa 4 / sense 2
with the 6.2.0-pre.1 sdk. Thank you. You've fixed my bugs.

Chris
Best Answer
0 Votes