08-24-2022 08:57 - edited 08-24-2022 08:58
- Mark as New
- Bookmark
- Subscribe
- Permalink
- Report this post

08-24-2022 08:57 - edited 08-24-2022 08:58
- Mark as New
- Bookmark
- Subscribe
- Permalink
- Report this post
For some reason, I lost access to the final fba file of the clock face app I uploaded to the Fitbit gallery. The app's already published, and I wonder how to recover this file. I have contacted the gallery support team a few times by email at the address below, but I haven't heard anything so far.
appgallerysupport@fitbit.com
I'd appreciate it if you could give me some advice regarding this. Thanks!
08-26-2022 09:54
- Mark as New
- Bookmark
- Subscribe
- Permalink
- Report this post


08-26-2022 09:54
- Mark as New
- Bookmark
- Subscribe
- Permalink
- Report this post
- Who Voted for this post?
08-29-2022 09:05
- Mark as New
- Bookmark
- Subscribe
- Permalink
- Report this post

08-29-2022 09:05
- Mark as New
- Bookmark
- Subscribe
- Permalink
- Report this post
Thanks for your reply @Guy_!
For some reason, my source code's also gone, and I can't recover it either. That's why I am going to get the fba file so that I may be able to convert that to my source.

08-29-2022 09:12
- Mark as New
- Bookmark
- Subscribe
- Permalink
- Report this post


08-29-2022 09:12
- Mark as New
- Bookmark
- Subscribe
- Permalink
- Report this post
- Who Voted for this post?
08-29-2022 12:59
- Mark as New
- Bookmark
- Subscribe
- Permalink
- Report this post


08-29-2022 12:59
- Mark as New
- Bookmark
- Subscribe
- Permalink
- Report this post
- Who Voted for this post?
I don't think the .fba will help you much. Even though its just a renamed .zip file and contains JS, the JS is minified and is quite different to your source code. Imports are merged, variable names are different, layout is compressed, and so on. I don't think you could take code from the .fba and use it as source code without a LOT of work.
Can you side-load the .fba into the sim? If so, you can get access to the code within the .fba.
Gondwana Software
08-29-2022 12:59
- Mark as New
- Bookmark
- Subscribe
- Permalink
- Report this post

08-29-2022 12:59
- Mark as New
- Bookmark
- Subscribe
- Permalink
- Report this post
thanks! How can I reach them for this purpose? Is the above email address the best way?

08-29-2022 13:06
- Mark as New
- Bookmark
- Subscribe
- Permalink
- Report this post


08-29-2022 13:06
- Mark as New
- Bookmark
- Subscribe
- Permalink
- Report this post
- Who Voted for this post?
To show what's in a .fba, here's index.js from one of my .fba files:
"use strict"
var e=require("clock"),t=require("device"),i=require("display"),a=require("document"),n=require("file-transfer"),c=require("fs"),d=require("heart-rate"),o=require("jpeg"),r=require("user-activity"),l=require("user-settings")
function s(e){return e&&e.__esModule?e:{default:e}}var u,y,f,v,g,p,x,b,k=s(a),h=t.me.screen.width,m=k.default.getElementById("image"),B=k.default.getElementById("hour"),w=k.default.getElementById("colon"),S=k.default.getElementById("min"),E=k.default.getElementById("dateSec"),I=k.default.getElementById("icon"),q=k.default.getElementById("act"),A=k.default.getElementById("touch"),j="us"===l.units.distance?621371e-9:.001,D=[60,50,73,107,102],F={sec:!0,activity:0,col:"#40e0e0",background:void 0}
function z(){E.style.fill=w.style.fill=q.style.fill=F.col}function L(e){F.sec&&!e&&(E.textAnchor="start",E.x=h/2-35),F.sec||(E.textAnchor="middle",E.x=h/2)}function M(){I.href=F.activity+".png",I.x=D[F.activity],q.x=I.x+60,4===F.activity?(q.text="—",y.start()):T()}function T(){y.stop(),void 0!==b&&(clearTimeout(b),b=void 0)}function H(){R(new Date)}function R(e){var t,a,n=e.getHours(),c=e.getMinutes()
if(n!==f&&(f=n,a=n,n="12h"===l.preferences.clockDisplay?(a%=12)||12:_(a),B.text=n,g=B.getBBox().width,t=!0,!F.sec)){var d=e.getDate()
d!==x&&(E.text=d,x=d)}if(c!==v&&(v=c,S.text=_(c),p=S.getBBox().width,t=!0),t){var o=(h-g-u-p)/2
B.x=o,w.x=o+g,S.x=w.x+u}if(!i.display.aodActive){var s=e.getSeconds()
switch(F.sec&&(E.text=_(s)),w.style.display=s%2?"none":"inline",F.activity){case 0:q.text=r.today.adjusted.calories.toLocaleString()
break
case 1:q.text=r.today.adjusted.steps.toLocaleString()
break
case 2:q.text=(r.today.adjusted.distance*j).toFixed(2)
break
case 3:q.text=r.today.adjusted.activeZoneMinutes.total}}}function _(e){return e<=9?"0"+e:e}function O(){b=void 0,q.text="—"}function Y(e){e?4===F.activity&&y.start():4===F.activity&&T()}function Z(){for(var e;e=n.inbox.nextFile();){var t
switch(t=e.lastIndexOf("."),e.slice(t+1)){case"jpg":C(e)
break
case"cbor":G(e)}c.unlinkSync(e)}J()}function C(e){F.background&&c.unlinkSync(F.background),F.background=Date.now()+".txi",o.decodeSync(e,F.background,{overwrite:!0}),m.href="/private/data/"+F.background}function G(e){var t,i=c.readFileSync(e,"cbor")
for(var a in i)switch(t=i[a],a){case"col":F.col=t,z()
break
case"background-none":F.background&&c.unlinkSync(F.background),F.background=void 0,m.href=""}}function J(){c.writeFileSync("state.cbor",F,"cbor")}!function(){var e
try{e=c.readFileSync("state.cbor","cbor"),F=e}catch(e){}}(),z(),F.background&&(m.href="/private/data/"+F.background),Z(),n.inbox.onnewfile=Z,(y=new d.HeartRateSensor({frequency:1})).addEventListener("reading",(function(){void 0!==b&&clearTimeout(b),b=setTimeout(O,2e4),q.text=y.heartRate})),"12h"===l.preferences.clockDisplay&&(B.style.fontSize=w.style.fontSize=S.style.fontSize=135,k.default.getElementById("time").y=216,k.default.getElementById("div-upper").y=88,k.default.getElementById("div-lower").y=236),u=w.getBBox().width,L(!0),M(),e.default.granularity="seconds",e.default.ontick=function(e){R(e.date)},A.onclick=function(e){e.screenY<h/2?(F.sec=!F.sec,L(),f=x=void 0,H()):(F.activity=++F.activity%5,M(),H()),J()},i.display.aodAvailable&&(i.display.aodAllowed=!0),i.display.onchange=function(){i.display.aodAllowed&&i.display.aodEnabled?(e.default.granularity=i.display.aodActive?"minutes":"seconds",E.style.display=I.style.display=q.style.display=m.style.display=i.display.aodActive?"none":"inline",i.display.aodActive&&(w.style.display="inline"),Y(!i.display.aodActive&&i.display.on)):Y(i.display.on)}
Gondwana Software
08-29-2022 13:11 - edited 08-29-2022 13:26
- Mark as New
- Bookmark
- Subscribe
- Permalink
- Report this post

08-29-2022 13:11 - edited 08-29-2022 13:26
- Mark as New
- Bookmark
- Subscribe
- Permalink
- Report this post
Thanks for your reply! Yes, it is not that easy I thought.
but I thought since I have older versions by comparing them I can figure out the differences.
BTW, @Gondwana I am not familiar with this terminology: "side-load"! What do you mean by that?

08-29-2022 13:17 - edited 08-29-2022 13:18
- Mark as New
- Bookmark
- Subscribe
- Permalink
- Report this post


08-29-2022 13:17 - edited 08-29-2022 13:18
- Mark as New
- Bookmark
- Subscribe
- Permalink
- Report this post
(Deleted post.)
Gondwana Software

08-29-2022 13:29
- Mark as New
- Bookmark
- Subscribe
- Permalink
- Report this post


08-29-2022 13:29
- Mark as New
- Bookmark
- Subscribe
- Permalink
- Report this post
Do you have the clockface installed in the Fitbit simulator?
Gondwana Software

08-29-2022 13:41
- Mark as New
- Bookmark
- Subscribe
- Permalink
- Report this post

08-29-2022 13:41
- Mark as New
- Bookmark
- Subscribe
- Permalink
- Report this post
yes it was installed once on another laptop but the source code + .fba file + simulator version, all have gone because the laptop has been stolen.

08-29-2022 13:46
- Mark as New
- Bookmark
- Subscribe
- Permalink
- Report this post


08-29-2022 13:46
- Mark as New
- Bookmark
- Subscribe
- Permalink
- Report this post
Oh, sorry to hear that. ☹️ The contents of the .fba can be found within the sim, but if you don't have that either, it doesn't help you much.
Gondwana Software

08-29-2022
21:02
- last edited on
07-20-2024
10:56
by
MarreFitbit
- Mark as New
- Bookmark
- Subscribe
- Permalink
- Report this post


08-29-2022
21:02
- last edited on
07-20-2024
10:56
by
MarreFitbit
- Mark as New
- Bookmark
- Subscribe
- Permalink
- Report this post
@Pedramn - sorry about the laptop, yes the email address is the right one, mark it urgent.
The source is on the servers, just how to open a new project without deleting it is an important process to respect.
They should be able to guide you but as it is unusual it may take time to work out how.
Author | ch, passion for improvement.

08-30-2022 10:10
- Mark as New
- Bookmark
- Subscribe
- Permalink
- Report this post

10-29-2022 20:31
- Mark as New
- Bookmark
- Subscribe
- Permalink
- Report this post


10-31-2022 14:09
- Mark as New
- Bookmark
- Subscribe
- Permalink
- Report this post

10-31-2022 14:09
- Mark as New
- Bookmark
- Subscribe
- Permalink
- Report this post
@Guy_ No, I haven't received any response to my request yet 😕

