mikerourke / transfermyti.me

Web-based tool for transferring data between time tracking tools.
https://transfermyti.me
MIT License
61 stars 6 forks source link

Beta Testing #8

Closed mikerourke closed 4 years ago

mikerourke commented 5 years ago

Overview

I'm going to be publishing the web version of this tool next week and I need beta testers. Everyone I mentioned on this issue has either filed issues on the toggl-to-clockify CLI repo or expressed interest in testing. If you're interested in trying it out, please add a comment and let me know.

Disclaimers

There's a few things I'd like you to keep in mind if you decide you want to test it out:

Beta Testers

User Yes/No/???
@908E Yes!
@cobuscoetsee ???
@Coimbra1984 Yes!
@ethanclarke Yes!
@favad1 ???
@hernanpuente Yes!
@igryski Yes!
@Leopere No, but no hard feelings
@Lotrax ???
@Lucatiel641 Yes!
@malizmaj Yes!
@MarcWithercy ???
@mhicauber ???
@tjancz ???
@ulfgebhardt Yes!
@xxxtonixxx Yes!
@YuvalGat ???

I think that's everyone. I put this list together manually by going through all of the issues from both repos. If anyone on the list knows anyone else that's interested, I'd be happy to add them, just let me know!

hernanpuente commented 5 years ago

Hey, I’m in! Excited

Sent from my iPhone

On 19 Apr 2019, at 12:06, Mike Rourke notifications@github.com wrote:

Overview

I'm going to be publishing the web version of this tool next week and I need beta testers. Everyone I mentioned on this issue has either filed issues on the toggl-to-clockify CLI repo or expressed interest in testing. If you're interested in trying it out, please add a comment and let me know.

Disclaimers

There's a few things I'd like you to keep in mind if you decide you want to test it out:

There are most certainly going to be bugs or issues that crop up I'm alleviating this by adding functionality to delete your data from Clockify and start over The tool currently only supports single user transfer Transferring multiple user time entries is a premium feature for Clockify that the tool currently does not support I'm adding a workflow that allows you to invite users to the workspace, but those users need to use the tool to transfer their entries (I think this will work but I haven't verified yet) Beta Testers

User Yes/No/??? @908E ??? @cobuscoetsee ??? @Coimbra1984 ??? @ethanclarke ??? @favad1 ??? @hernanpuente ??? @igryski ??? @Leopere ??? @Lotrax ??? @Lucatiel641 ??? @malizmaj ??? @MarcWithercy ??? @mhicauber ??? @tjancz ??? @ulfgebhardt ??? @xxxtonixxx ??? @YuvalGat ??? I think that's everyone. I put this list together manually by going through all of the issues from both repos. If anyone on the list knows anyone else that's interested, I'd be happy to add them, just let me know!

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or mute the thread.

ulfgebhardt commented 5 years ago

I am in. I am still evaluating wether I want to switch from toggl -> clockify. Therefore I don't have to care for my Clockify data - which makes me a good test candidate I guess.

ethanclarke commented 5 years ago

I have not yet moved to Clockify so I'm fine with trying this migration with no net. If something goes wrong, I'll just nuke my account and start over! So count me in.

tonivj5 commented 5 years ago

I have not yet moved to Clockify so I'm fine with trying this migration with no net. If something goes wrong, I'll just nuke my account and start over! So count me in.

Me too, there isn't any problem :rocket:

Leopere commented 5 years ago

I only had about a weeks worth of time in Toggl so I just moved.

aleksandar-olic commented 5 years ago

No problem, I can go through the transfer to test it a bit once it's live.

Just a heads up, there's a new stable API v1 doc now that's guaranteed not to change. The previous API doc is still live and fine to use (it's our working API), but there's no guarantee things won't change. You can find the new docs here: https://clockify.me/developers-api

On Sun, Apr 21, 2019 at 8:13 PM Leopere notifications@github.com wrote:

I only had about a weeks worth of time in Toggl so I just moved.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/mikerourke/toggl-to-clockify-web/issues/8#issuecomment-485271563, or mute the thread https://github.com/notifications/unsubscribe-auth/ACCRUKKF6KT7USQCGZAW6HDPRSVFTANCNFSM4HHEQSPA .

igryski commented 5 years ago

Of course! :man_technologist:

matheuslimacs commented 5 years ago

Sure, I can help. :)

Coimbra1984 commented 5 years ago

I'll help too of course.

908E commented 5 years ago

Definitely in for the Beta Test. Thanks!

mikerourke commented 5 years ago

Hey everyone, update time:

I think the app is ready to test, but I ran into a bit of a snag. Toggl disabled their CORS whitelisting back in December, so I can't host the app on Surge or Netlify. The only solution I can think of is to host the app on Digital Ocean or Heroku and run my own Node.js server that acts as the middle man between Toggl and the app.

In the interim, you can run the app locally. I just pushed some changes up with a working app to the repo, so when you get a chance, could you pull it down and try transferring your data?

Please make sure you start the app with yarn start:web. If you start with yarn start, all of the API calls will go to a mock server and nothing will be transferred. You can access the app on http://localhost:3000 after it starts.

Sorry about the extra work, I know it's much more of a pain in the butt than just navigating to a webpage, but I would like to ensure everything is functional before going buck wild on a server.

My availability is going to be a little spotty the next few days (I'm driving across the country and moving from Chicago to Portland in case anyone was wondering), but I'll try to respond to any issues as soon as I can. Thanks to everyone for their help, I really appreciate it!

hernanpuente commented 5 years ago

Hey Mike! Thanks for sharing.

I ran 'brew install yarn’ and got some warnings:

==> Installing dependencies for yarn: icu4c and node ==> Installing yarn dependency: icu4c ==> Downloading https://homebrew.bintray.com/bottles/icu4c-64.2.mojave.bottle.ta ==> Downloading from https://akamai.bintray.com/e8/e858556120acc0c2d52b8fb572b67 ######################################################################## 100.0% ==> Pouring icu4c-64.2.mojave.bottle.tar.gz ==> Caveats icu4c is keg-only, which means it was not symlinked into /usr/local, because macOS provides libicucore.dylib (but nothing else).

If you need to have icu4c first in your PATH run: echo 'export PATH="/usr/local/opt/icu4c/bin:$PATH"' >> ~/.bash_profile echo 'export PATH="/usr/local/opt/icu4c/sbin:$PATH"' >> ~/.bash_profile

For compilers to find icu4c you may need to set: export LDFLAGS="-L/usr/local/opt/icu4c/lib" export CPPFLAGS="-I/usr/local/opt/icu4c/include"

==> Summary 🍺 /usr/local/Cellar/icu4c/64.2: 257 files, 69.2MB ==> Installing yarn dependency: node ==> Downloading https://homebrew.bintray.com/bottles/node-11.14.0_1.mojave.bottl ==> Downloading from https://akamai.bintray.com/ed/ed16ba63432c967a7debc3374a064 ######################################################################## 100.0% ==> Pouring node-11.14.0_1.mojave.bottle.tar.gz Error: The brew link step did not complete successfully The formula built, but is not symlinked into /usr/local Could not symlink bin/node Target /usr/local/bin/node already exists. You may want to remove it: rm '/usr/local/bin/node'

To force the link and overwrite all conflicting files: brew link --overwrite node

To list all files that would be deleted: brew link --overwrite --dry-run node

Possible conflicting files are: /usr/local/bin/node /usr/local/include/node/common.gypi /usr/local/include/node/config.gypi /usr/local/include/node/libplatform/libplatform-export.h /usr/local/include/node/libplatform/libplatform.h /usr/local/include/node/libplatform/v8-tracing.h /usr/local/include/node/node.h /usr/local/include/node/node_api.h /usr/local/include/node/node_api_types.h /usr/local/include/node/node_buffer.h /usr/local/include/node/node_object_wrap.h /usr/local/include/node/node_version.h /usr/local/include/node/openssl/aes.h /usr/local/include/node/openssl/archs/BSD-x86_64/asm/crypto/buildinf.h /usr/local/include/node/openssl/archs/BSD-x86_64/asm/crypto/include/internal/bn_conf.h /usr/local/include/node/openssl/archs/BSD-x86_64/asm/crypto/include/internal/dso_conf.h /usr/local/include/node/openssl/archs/BSD-x86_64/asm/include/openssl/opensslconf.h /usr/local/include/node/openssl/archs/BSD-x86_64/asm/include/progs.h /usr/local/include/node/openssl/archs/BSD-x86_64/no-asm/crypto/buildinf.h /usr/local/include/node/openssl/archs/BSD-x86_64/no-asm/crypto/include/internal/bn_conf.h /usr/local/include/node/openssl/archs/BSD-x86_64/no-asm/crypto/include/internal/dso_conf.h /usr/local/include/node/openssl/archs/BSD-x86_64/no-asm/include/openssl/opensslconf.h /usr/local/include/node/openssl/archs/BSD-x86_64/no-asm/include/progs.h /usr/local/include/node/openssl/archs/VC-WIN32/asm/crypto/buildinf.h /usr/local/include/node/openssl/archs/VC-WIN32/asm/crypto/include/internal/bn_conf.h /usr/local/include/node/openssl/archs/VC-WIN32/asm/crypto/include/internal/dso_conf.h /usr/local/include/node/openssl/archs/VC-WIN32/asm/include/openssl/opensslconf.h /usr/local/include/node/openssl/archs/VC-WIN32/asm/include/progs.h /usr/local/include/node/openssl/archs/VC-WIN32/no-asm/crypto/buildinf.h /usr/local/include/node/openssl/archs/VC-WIN32/no-asm/crypto/include/internal/bn_conf.h /usr/local/include/node/openssl/archs/VC-WIN32/no-asm/crypto/include/internal/dso_conf.h /usr/local/include/node/openssl/archs/VC-WIN32/no-asm/include/openssl/opensslconf.h /usr/local/include/node/openssl/archs/VC-WIN32/no-asm/include/progs.h /usr/local/include/node/openssl/archs/VC-WIN64A/asm/crypto/buildinf.h /usr/local/include/node/openssl/archs/VC-WIN64A/asm/crypto/include/internal/bn_conf.h /usr/local/include/node/openssl/archs/VC-WIN64A/asm/crypto/include/internal/dso_conf.h /usr/local/include/node/openssl/archs/VC-WIN64A/asm/include/openssl/opensslconf.h /usr/local/include/node/openssl/archs/VC-WIN64A/asm/include/progs.h /usr/local/include/node/openssl/archs/VC-WIN64A/no-asm/crypto/buildinf.h /usr/local/include/node/openssl/archs/VC-WIN64A/no-asm/crypto/include/internal/bn_conf.h /usr/local/include/node/openssl/archs/VC-WIN64A/no-asm/crypto/include/internal/dso_conf.h /usr/local/include/node/openssl/archs/VC-WIN64A/no-asm/include/openssl/opensslconf.h /usr/local/include/node/openssl/archs/VC-WIN64A/no-asm/include/progs.h /usr/local/include/node/openssl/archs/aix-gcc/asm/crypto/buildinf.h /usr/local/include/node/openssl/archs/aix-gcc/asm/crypto/include/internal/bn_conf.h /usr/local/include/node/openssl/archs/aix-gcc/asm/crypto/include/internal/dso_conf.h /usr/local/include/node/openssl/archs/aix-gcc/asm/include/openssl/opensslconf.h /usr/local/include/node/openssl/archs/aix-gcc/asm/include/progs.h /usr/local/include/node/openssl/archs/aix-gcc/no-asm/crypto/buildinf.h /usr/local/include/node/openssl/archs/aix-gcc/no-asm/crypto/include/internal/bn_conf.h /usr/local/include/node/openssl/archs/aix-gcc/no-asm/crypto/include/internal/dso_conf.h /usr/local/include/node/openssl/archs/aix-gcc/no-asm/include/openssl/opensslconf.h /usr/local/include/node/openssl/archs/aix-gcc/no-asm/include/progs.h /usr/local/include/node/openssl/archs/aix64-gcc/asm/crypto/buildinf.h /usr/local/include/node/openssl/archs/aix64-gcc/asm/crypto/include/internal/bn_conf.h /usr/local/include/node/openssl/archs/aix64-gcc/asm/crypto/include/internal/dso_conf.h /usr/local/include/node/openssl/archs/aix64-gcc/asm/include/openssl/opensslconf.h /usr/local/include/node/openssl/archs/aix64-gcc/asm/include/progs.h /usr/local/include/node/openssl/archs/aix64-gcc/no-asm/crypto/buildinf.h /usr/local/include/node/openssl/archs/aix64-gcc/no-asm/crypto/include/internal/bn_conf.h /usr/local/include/node/openssl/archs/aix64-gcc/no-asm/crypto/include/internal/dso_conf.h /usr/local/include/node/openssl/archs/aix64-gcc/no-asm/include/openssl/opensslconf.h /usr/local/include/node/openssl/archs/aix64-gcc/no-asm/include/progs.h /usr/local/include/node/openssl/archs/darwin-i386-cc/asm/crypto/buildinf.h /usr/local/include/node/openssl/archs/darwin-i386-cc/asm/crypto/include/internal/bn_conf.h /usr/local/include/node/openssl/archs/darwin-i386-cc/asm/crypto/include/internal/dso_conf.h /usr/local/include/node/openssl/archs/darwin-i386-cc/asm/include/openssl/opensslconf.h /usr/local/include/node/openssl/archs/darwin-i386-cc/asm/include/progs.h /usr/local/include/node/openssl/archs/darwin-i386-cc/no-asm/crypto/buildinf.h /usr/local/include/node/openssl/archs/darwin-i386-cc/no-asm/crypto/include/internal/bn_conf.h /usr/local/include/node/openssl/archs/darwin-i386-cc/no-asm/crypto/include/internal/dso_conf.h /usr/local/include/node/openssl/archs/darwin-i386-cc/no-asm/include/openssl/opensslconf.h /usr/local/include/node/openssl/archs/darwin-i386-cc/no-asm/include/progs.h /usr/local/include/node/openssl/archs/darwin64-x86_64-cc/asm/crypto/buildinf.h /usr/local/include/node/openssl/archs/darwin64-x86_64-cc/asm/crypto/include/internal/bn_conf.h /usr/local/include/node/openssl/archs/darwin64-x86_64-cc/asm/crypto/include/internal/dso_conf.h /usr/local/include/node/openssl/archs/darwin64-x86_64-cc/asm/include/openssl/opensslconf.h /usr/local/include/node/openssl/archs/darwin64-x86_64-cc/asm/include/progs.h /usr/local/include/node/openssl/archs/darwin64-x86_64-cc/no-asm/crypto/buildinf.h /usr/local/include/node/openssl/archs/darwin64-x86_64-cc/no-asm/crypto/include/internal/bn_conf.h /usr/local/include/node/openssl/archs/darwin64-x86_64-cc/no-asm/crypto/include/internal/dso_conf.h /usr/local/include/node/openssl/archs/darwin64-x86_64-cc/no-asm/include/openssl/opensslconf.h /usr/local/include/node/openssl/archs/darwin64-x86_64-cc/no-asm/include/progs.h /usr/local/include/node/openssl/archs/linux-aarch64/asm/crypto/buildinf.h /usr/local/include/node/openssl/archs/linux-aarch64/asm/crypto/include/internal/bn_conf.h /usr/local/include/node/openssl/archs/linux-aarch64/asm/crypto/include/internal/dso_conf.h /usr/local/include/node/openssl/archs/linux-aarch64/asm/include/openssl/opensslconf.h /usr/local/include/node/openssl/archs/linux-aarch64/asm/include/progs.h /usr/local/include/node/openssl/archs/linux-aarch64/no-asm/crypto/buildinf.h /usr/local/include/node/openssl/archs/linux-aarch64/no-asm/crypto/include/internal/bn_conf.h /usr/local/include/node/openssl/archs/linux-aarch64/no-asm/crypto/include/internal/dso_conf.h /usr/local/include/node/openssl/archs/linux-aarch64/no-asm/include/openssl/opensslconf.h /usr/local/include/node/openssl/archs/linux-aarch64/no-asm/include/progs.h /usr/local/include/node/openssl/archs/linux-armv4/asm/crypto/buildinf.h /usr/local/include/node/openssl/archs/linux-armv4/asm/crypto/include/internal/bn_conf.h /usr/local/include/node/openssl/archs/linux-armv4/asm/crypto/include/internal/dso_conf.h /usr/local/include/node/openssl/archs/linux-armv4/asm/include/openssl/opensslconf.h /usr/local/include/node/openssl/archs/linux-armv4/asm/include/progs.h /usr/local/include/node/openssl/archs/linux-armv4/no-asm/crypto/buildinf.h /usr/local/include/node/openssl/archs/linux-armv4/no-asm/crypto/include/internal/bn_conf.h /usr/local/include/node/openssl/archs/linux-armv4/no-asm/crypto/include/internal/dso_conf.h /usr/local/include/node/openssl/archs/linux-armv4/no-asm/include/openssl/opensslconf.h /usr/local/include/node/openssl/archs/linux-armv4/no-asm/include/progs.h /usr/local/include/node/openssl/archs/linux-elf/asm/crypto/buildinf.h /usr/local/include/node/openssl/archs/linux-elf/asm/crypto/include/internal/bn_conf.h /usr/local/include/node/openssl/archs/linux-elf/asm/crypto/include/internal/dso_conf.h /usr/local/include/node/openssl/archs/linux-elf/asm/include/openssl/opensslconf.h /usr/local/include/node/openssl/archs/linux-elf/asm/include/progs.h /usr/local/include/node/openssl/archs/linux-elf/no-asm/crypto/buildinf.h /usr/local/include/node/openssl/archs/linux-elf/no-asm/crypto/include/internal/bn_conf.h /usr/local/include/node/openssl/archs/linux-elf/no-asm/crypto/include/internal/dso_conf.h /usr/local/include/node/openssl/archs/linux-elf/no-asm/include/openssl/opensslconf.h /usr/local/include/node/openssl/archs/linux-elf/no-asm/include/progs.h /usr/local/include/node/openssl/archs/linux-ppc/asm/crypto/buildinf.h /usr/local/include/node/openssl/archs/linux-ppc/asm/crypto/include/internal/bn_conf.h /usr/local/include/node/openssl/archs/linux-ppc/asm/crypto/include/internal/dso_conf.h /usr/local/include/node/openssl/archs/linux-ppc/asm/include/openssl/opensslconf.h /usr/local/include/node/openssl/archs/linux-ppc/asm/include/progs.h /usr/local/include/node/openssl/archs/linux-ppc/no-asm/crypto/buildinf.h /usr/local/include/node/openssl/archs/linux-ppc/no-asm/crypto/include/internal/bn_conf.h /usr/local/include/node/openssl/archs/linux-ppc/no-asm/crypto/include/internal/dso_conf.h /usr/local/include/node/openssl/archs/linux-ppc/no-asm/include/openssl/opensslconf.h /usr/local/include/node/openssl/archs/linux-ppc/no-asm/include/progs.h /usr/local/include/node/openssl/archs/linux-ppc64/asm/crypto/buildinf.h /usr/local/include/node/openssl/archs/linux-ppc64/asm/crypto/include/internal/bn_conf.h /usr/local/include/node/openssl/archs/linux-ppc64/asm/crypto/include/internal/dso_conf.h /usr/local/include/node/openssl/archs/linux-ppc64/asm/include/openssl/opensslconf.h /usr/local/include/node/openssl/archs/linux-ppc64/asm/include/progs.h /usr/local/include/node/openssl/archs/linux-ppc64/no-asm/crypto/buildinf.h /usr/local/include/node/openssl/archs/linux-ppc64/no-asm/crypto/include/internal/bn_conf.h /usr/local/include/node/openssl/archs/linux-ppc64/no-asm/crypto/include/internal/dso_conf.h /usr/local/include/node/openssl/archs/linux-ppc64/no-asm/include/openssl/opensslconf.h /usr/local/include/node/openssl/archs/linux-ppc64/no-asm/include/progs.h /usr/local/include/node/openssl/archs/linux-ppc64le/asm/crypto/buildinf.h /usr/local/include/node/openssl/archs/linux-ppc64le/asm/crypto/include/internal/bn_conf.h /usr/local/include/node/openssl/archs/linux-ppc64le/asm/crypto/include/internal/dso_conf.h /usr/local/include/node/openssl/archs/linux-ppc64le/asm/include/openssl/opensslconf.h /usr/local/include/node/openssl/archs/linux-ppc64le/asm/include/progs.h /usr/local/include/node/openssl/archs/linux-ppc64le/no-asm/crypto/buildinf.h /usr/local/include/node/openssl/archs/linux-ppc64le/no-asm/crypto/include/internal/bn_conf.h /usr/local/include/node/openssl/archs/linux-ppc64le/no-asm/crypto/include/internal/dso_conf.h /usr/local/include/node/openssl/archs/linux-ppc64le/no-asm/include/openssl/opensslconf.h /usr/local/include/node/openssl/archs/linux-ppc64le/no-asm/include/progs.h /usr/local/include/node/openssl/archs/linux-x32/asm/crypto/buildinf.h /usr/local/include/node/openssl/archs/linux-x32/asm/crypto/include/internal/bn_conf.h /usr/local/include/node/openssl/archs/linux-x32/asm/crypto/include/internal/dso_conf.h /usr/local/include/node/openssl/archs/linux-x32/asm/include/openssl/opensslconf.h /usr/local/include/node/openssl/archs/linux-x32/asm/include/progs.h /usr/local/include/node/openssl/archs/linux-x32/no-asm/crypto/buildinf.h /usr/local/include/node/openssl/archs/linux-x32/no-asm/crypto/include/internal/bn_conf.h /usr/local/include/node/openssl/archs/linux-x32/no-asm/crypto/include/internal/dso_conf.h /usr/local/include/node/openssl/archs/linux-x32/no-asm/include/openssl/opensslconf.h /usr/local/include/node/openssl/archs/linux-x32/no-asm/include/progs.h /usr/local/include/node/openssl/archs/linux-x86_64/asm/crypto/buildinf.h /usr/local/include/node/openssl/archs/linux-x86_64/asm/crypto/include/internal/bn_conf.h /usr/local/include/node/openssl/archs/linux-x86_64/asm/crypto/include/internal/dso_conf.h /usr/local/include/node/openssl/archs/linux-x86_64/asm/include/openssl/opensslconf.h /usr/local/include/node/openssl/archs/linux-x86_64/asm/include/progs.h /usr/local/include/node/openssl/archs/linux-x86_64/no-asm/crypto/buildinf.h /usr/local/include/node/openssl/archs/linux-x86_64/no-asm/crypto/include/internal/bn_conf.h /usr/local/include/node/openssl/archs/linux-x86_64/no-asm/crypto/include/internal/dso_conf.h /usr/local/include/node/openssl/archs/linux-x86_64/no-asm/include/openssl/opensslconf.h /usr/local/include/node/openssl/archs/linux-x86_64/no-asm/include/progs.h /usr/local/include/node/openssl/archs/linux32-s390x/asm/crypto/buildinf.h /usr/local/include/node/openssl/archs/linux32-s390x/asm/crypto/include/internal/bn_conf.h /usr/local/include/node/openssl/archs/linux32-s390x/asm/crypto/include/internal/dso_conf.h /usr/local/include/node/openssl/archs/linux32-s390x/asm/include/openssl/opensslconf.h /usr/local/include/node/openssl/archs/linux32-s390x/asm/include/progs.h /usr/local/include/node/openssl/archs/linux32-s390x/no-asm/crypto/buildinf.h /usr/local/include/node/openssl/archs/linux32-s390x/no-asm/crypto/include/internal/bn_conf.h /usr/local/include/node/openssl/archs/linux32-s390x/no-asm/crypto/include/internal/dso_conf.h /usr/local/include/node/openssl/archs/linux32-s390x/no-asm/include/openssl/opensslconf.h /usr/local/include/node/openssl/archs/linux32-s390x/no-asm/include/progs.h /usr/local/include/node/openssl/archs/linux64-s390x/asm/crypto/buildinf.h /usr/local/include/node/openssl/archs/linux64-s390x/asm/crypto/include/internal/bn_conf.h /usr/local/include/node/openssl/archs/linux64-s390x/asm/crypto/include/internal/dso_conf.h /usr/local/include/node/openssl/archs/linux64-s390x/asm/include/openssl/opensslconf.h /usr/local/include/node/openssl/archs/linux64-s390x/asm/include/progs.h /usr/local/include/node/openssl/archs/linux64-s390x/no-asm/crypto/buildinf.h /usr/local/include/node/openssl/archs/linux64-s390x/no-asm/crypto/include/internal/bn_conf.h /usr/local/include/node/openssl/archs/linux64-s390x/no-asm/crypto/include/internal/dso_conf.h /usr/local/include/node/openssl/archs/linux64-s390x/no-asm/include/openssl/opensslconf.h /usr/local/include/node/openssl/archs/linux64-s390x/no-asm/include/progs.h /usr/local/include/node/openssl/archs/solaris-x86-gcc/asm/crypto/buildinf.h /usr/local/include/node/openssl/archs/solaris-x86-gcc/asm/crypto/include/internal/bn_conf.h /usr/local/include/node/openssl/archs/solaris-x86-gcc/asm/crypto/include/internal/dso_conf.h /usr/local/include/node/openssl/archs/solaris-x86-gcc/asm/include/openssl/opensslconf.h /usr/local/include/node/openssl/archs/solaris-x86-gcc/asm/include/progs.h /usr/local/include/node/openssl/archs/solaris-x86-gcc/no-asm/crypto/buildinf.h /usr/local/include/node/openssl/archs/solaris-x86-gcc/no-asm/crypto/include/internal/bn_conf.h /usr/local/include/node/openssl/archs/solaris-x86-gcc/no-asm/crypto/include/internal/dso_conf.h /usr/local/include/node/openssl/archs/solaris-x86-gcc/no-asm/include/openssl/opensslconf.h /usr/local/include/node/openssl/archs/solaris-x86-gcc/no-asm/include/progs.h /usr/local/include/node/openssl/archs/solaris64-x86_64-gcc/asm/crypto/buildinf.h /usr/local/include/node/openssl/archs/solaris64-x86_64-gcc/asm/crypto/include/internal/bn_conf.h /usr/local/include/node/openssl/archs/solaris64-x86_64-gcc/asm/crypto/include/internal/dso_conf.h /usr/local/include/node/openssl/archs/solaris64-x86_64-gcc/asm/include/openssl/opensslconf.h /usr/local/include/node/openssl/archs/solaris64-x86_64-gcc/asm/include/progs.h /usr/local/include/node/openssl/archs/solaris64-x86_64-gcc/no-asm/crypto/buildinf.h /usr/local/include/node/openssl/archs/solaris64-x86_64-gcc/no-asm/crypto/include/internal/bn_conf.h /usr/local/include/node/openssl/archs/solaris64-x86_64-gcc/no-asm/crypto/include/internal/dso_conf.h /usr/local/include/node/openssl/archs/solaris64-x86_64-gcc/no-asm/include/openssl/opensslconf.h /usr/local/include/node/openssl/archs/solaris64-x86_64-gcc/no-asm/include/progs.h /usr/local/include/node/openssl/asn1.h /usr/local/include/node/openssl/asn1_mac.h /usr/local/include/node/openssl/asn1t.h /usr/local/include/node/openssl/async.h /usr/local/include/node/openssl/bio.h /usr/local/include/node/openssl/blowfish.h /usr/local/include/node/openssl/bn.h /usr/local/include/node/openssl/bn_conf.h /usr/local/include/node/openssl/bn_conf_asm.h /usr/local/include/node/openssl/bn_conf_no-asm.h /usr/local/include/node/openssl/buffer.h /usr/local/include/node/openssl/camellia.h /usr/local/include/node/openssl/cast.h /usr/local/include/node/openssl/cmac.h /usr/local/include/node/openssl/cms.h /usr/local/include/node/openssl/comp.h /usr/local/include/node/openssl/conf.h /usr/local/include/node/openssl/conf_api.h /usr/local/include/node/openssl/crypto.h /usr/local/include/node/openssl/ct.h /usr/local/include/node/openssl/des.h /usr/local/include/node/openssl/dh.h /usr/local/include/node/openssl/dsa.h /usr/local/include/node/openssl/dso_conf.h /usr/local/include/node/openssl/dso_conf_asm.h /usr/local/include/node/openssl/dso_conf_no-asm.h /usr/local/include/node/openssl/dtls1.h /usr/local/include/node/openssl/e_os2.h /usr/local/include/node/openssl/ebcdic.h /usr/local/include/node/openssl/ec.h /usr/local/include/node/openssl/ecdh.h /usr/local/include/node/openssl/ecdsa.h /usr/local/include/node/openssl/engine.h /usr/local/include/node/openssl/err.h /usr/local/include/node/openssl/evp.h /usr/local/include/node/openssl/hmac.h /usr/local/include/node/openssl/idea.h /usr/local/include/node/openssl/kdf.h /usr/local/include/node/openssl/lhash.h /usr/local/include/node/openssl/md2.h /usr/local/include/node/openssl/md4.h /usr/local/include/node/openssl/md5.h /usr/local/include/node/openssl/mdc2.h /usr/local/include/node/openssl/modes.h /usr/local/include/node/openssl/obj_mac.h /usr/local/include/node/openssl/objects.h /usr/local/include/node/openssl/ocsp.h /usr/local/include/node/openssl/opensslconf.h /usr/local/include/node/openssl/opensslconf_asm.h /usr/local/include/node/openssl/opensslconf_no-asm.h /usr/local/include/node/openssl/opensslv.h /usr/local/include/node/openssl/ossl_typ.h /usr/local/include/node/openssl/pem.h /usr/local/include/node/openssl/pem2.h /usr/local/include/node/openssl/pkcs12.h /usr/local/include/node/openssl/pkcs7.h /usr/local/include/node/openssl/rand.h /usr/local/include/node/openssl/rc2.h /usr/local/include/node/openssl/rc4.h /usr/local/include/node/openssl/rc5.h /usr/local/include/node/openssl/ripemd.h /usr/local/include/node/openssl/rsa.h /usr/local/include/node/openssl/safestack.h /usr/local/include/node/openssl/seed.h /usr/local/include/node/openssl/sha.h /usr/local/include/node/openssl/srp.h /usr/local/include/node/openssl/srtp.h /usr/local/include/node/openssl/ssl.h /usr/local/include/node/openssl/ssl2.h /usr/local/include/node/openssl/ssl3.h /usr/local/include/node/openssl/stack.h /usr/local/include/node/openssl/symhacks.h /usr/local/include/node/openssl/tls1.h /usr/local/include/node/openssl/ts.h /usr/local/include/node/openssl/txt_db.h /usr/local/include/node/openssl/ui.h /usr/local/include/node/openssl/whrlpool.h /usr/local/include/node/openssl/x509.h /usr/local/include/node/openssl/x509_vfy.h /usr/local/include/node/openssl/x509v3.h /usr/local/include/node/uv/aix.h /usr/local/include/node/uv/android-ifaddrs.h /usr/local/include/node/uv/bsd.h /usr/local/include/node/uv/darwin.h /usr/local/include/node/uv/errno.h /usr/local/include/node/uv/linux.h /usr/local/include/node/uv/os390.h /usr/local/include/node/uv/posix.h /usr/local/include/node/uv/stdint-msvc2008.h /usr/local/include/node/uv/sunos.h /usr/local/include/node/uv/threadpool.h /usr/local/include/node/uv/tree.h /usr/local/include/node/uv/unix.h /usr/local/include/node/uv/version.h /usr/local/include/node/uv/win.h /usr/local/include/node/uv.h /usr/local/include/node/v8-platform.h /usr/local/include/node/v8-profiler.h /usr/local/include/node/v8-testing.h /usr/local/include/node/v8-util.h /usr/local/include/node/v8-value-serializer-version.h /usr/local/include/node/v8-version-string.h /usr/local/include/node/v8-version.h /usr/local/include/node/v8.h /usr/local/include/node/v8config.h /usr/local/include/node/zconf.h /usr/local/include/node/zlib.h /usr/local/share/doc/node/gdbinit /usr/local/share/doc/node/lldb_commands.py /usr/local/share/man/man1/node.1 /usr/local/share/systemtap/tapset/node.stp /usr/local/lib/dtrace/node.d Warning: The post-install step did not complete successfully You can try again using brew postinstall node ==> Caveats Bash completion has been installed to: /usr/local/etc/bash_completion.d ==> Summary 🍺 /usr/local/Cellar/node/11.14.0_1: 4,502 files, 50.6MB ==> Installing yarn ==> Downloading https://yarnpkg.com/downloads/1.15.2/yarn-v1.15.2.tar.gz ==> Downloading from https://github-production-release-asset-2e65be.s3.amazonaws ######################################################################## 100.0% 🍺 /usr/local/Cellar/yarn/1.15.2: 14 files, 4.7MB, built in 9 seconds ==> brew cleanup has not been run in 30 days, running now... ==> Caveats ==> icu4c icu4c is keg-only, which means it was not symlinked into /usr/local, because macOS provides libicucore.dylib (but nothing else).

If you need to have icu4c first in your PATH run: echo 'export PATH="/usr/local/opt/icu4c/bin:$PATH"' >> ~/.bash_profile echo 'export PATH="/usr/local/opt/icu4c/sbin:$PATH"' >> ~/.bash_profile

For compilers to find icu4c you may need to set: export LDFLAGS="-L/usr/local/opt/icu4c/lib" export CPPFLAGS="-I/usr/local/opt/icu4c/include"

==> node Bash completion has been installed to: /usr/local/etc/bash_completion.d

I didn’t relalize about those warning and just ran 'yarn start:web’, then this happened:

yarn run v1.15.2 error Couldn't find a package.json file in "/Users/hernanpuente" info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

Sorry for sending the whole log, and also sorry if this is basic stuff, I’m tech savvy but not a developer :)

Glad if you can help.

Thanks, H

On 26 Apr 2019, at 22:47, Mike Rourke notifications@github.com wrote:

Hey everyone, update time:

I think the app is ready to test, but I ran into a bit of a snag. Toggl disabled their CORS whitelisting back in December, so I can't host the app on Surge or Netlify. The only solution I can think of is to host the app on Digital Ocean or Heroku and run my own Node.js server that acts as the middle man between Toggl and the app.

In the interim, you can run the app locally. I just pushed some changes up with a working app to the repo, so when you get a chance, could you pull it down and try transferring your data?

Please make sure you start the app with yarn start:web. If you start with yarn start, all of the API calls will go to a mock server and nothing will be transferred. You can access the app on http://localhost:3000 after it starts.

Sorry about the extra work, I know it's much more of a pain in the butt than just navigating to a webpage, but I would like to ensure everything is functional before going buck wild on a server.

My availability is going to be a little spotty the next few days (I'm driving across the country and moving from Chicago to Portland in case anyone was wondering), but I'll try to respond to any issues as soon as I can. Thanks to everyone for their help, I really appreciate it!

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/mikerourke/toggl-to-clockify-web/issues/8#issuecomment-487244908, or mute the thread https://github.com/notifications/unsubscribe-auth/AL3LJQKYA6CEMEO6P3X73FTPSOWBNANCNFSM4HHEQSPA.

mikerourke commented 5 years ago

@hernanpuente, mama pajama that is quite the error message! So two things:

  1. You don’t have to use Yarn if it gives you that kind of trouble, you can just run npm install and npm run start:web instead
  2. You need to run the yarn (or npm) command inside the repo, so:

git clone https://github.com/mikerourke/toggl-to-clockify-web.git

cd toggl-to-clockify-web && npm install && npm run start:web

That should do the trick!

hernanpuente commented 5 years ago

It worked! Thanks, I felt a hacker for a moment :)

I guess this tool is still not ready for me though, as I am an owner/admin of an organization wanting to transfer everything (entries, projects, tags, etc) from Toggl to Clockify.

Should we wait for a new version in the future or is there a workaround to follow?

Best, H

On 26 Apr 2019, at 23:21, Mike Rourke notifications@github.com wrote: @hernanpuente https://github.com/hernanpuente, mama pajama that is quite the error message! So two things:

You don’t have to use Yarn if it gives you that kind of trouble, you can just run ‘npm install’ and ‘npm run start:web’ instead You need to run the yarn (or npm) command inside the repo, so: ‘git clone https://github.com/mikerourke/toggl-to-clockify-web.githttps://github.com/mikerourke/toggl-to-clockify-web.git%E2%80%99 ‘cd toggl-to-clockify-web && npm install && npm run start:web’

That should do the trick!

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/mikerourke/toggl-to-clockify-web/issues/8#issuecomment-487247025, or mute the thread https://github.com/notifications/unsubscribe-auth/AL3LJQMKJFPOMVERT3HZFGLPSO2BJANCNFSM4HHEQSPA.

mikerourke commented 5 years ago

Ah dang, hold off for now. I think I’ll re-enable that multi-user mode button and omit the time entry transfer functionality in that mode. That way you could transfer your workspaces, projects, etc. The only caveats would be:

  1. Your team needs to have their Clockify accounts set up (and be part of your organization)
  2. They’d have to clone this repo and run the tool with their API credentials (in single user mode)
hernanpuente commented 5 years ago

I follow. As for the caveats, they seems reasonable.

Thanks :)

On 27 Apr 2019, at 00:00, Mike Rourke notifications@github.com wrote:

Ah dang, hold off for now. I think I’ll re-enable that multi-user mode button and omit the time entry transfer functionality in that mode. That way you could transfer your workspaces, projects, etc. The only caveats would be:

Your team needs to have their Clockify accounts set up (and be part of your organization) They’d have to clone this repo and run the tool with their API credentials (in single user mode) — You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/mikerourke/toggl-to-clockify-web/issues/8#issuecomment-487249238, or mute the thread https://github.com/notifications/unsubscribe-auth/AL3LJQP44YW3XJG3UYH5KF3PSO6UXANCNFSM4HHEQSPA.

matheuslimacs commented 5 years ago

@hernanpuente, mama pajama that is quite the error message! So two things:

  1. You don’t have to use Yarn if it gives you that kind of trouble, you can just run npm install and npm run start:web instead
  2. You need to run the yarn (or npm) command inside the repo, so:

git clone https://github.com/mikerourke/toggl-to-clockify-web.git

cd toggl-to-clockify-web && npm install && npm run start:web

That should do the trick!

I tried these steps, it ran fine until the step 2: enter credentials, I can't get past it because I get the error 'An error occurred when attempting to validate your credentials.' after typing my email and getting toggl and clockify API token. Am I missing a step?

mikerourke commented 5 years ago

@Lucatiel641 could you open the Network tab in Chrome Developer Tools and try clicking the Next button again? The failed request should be in red text. I just need to know if it was the Toggl or Clockify request that failed and the error response code (e.g. 404). Thanks!

matheuslimacs commented 5 years ago

image

I got this after clicking Next. Since I closed the git bash window and executed a second time, it said the port 3000 wasn't available and it's using localhost:56087 instead (not sure if this is useful but it's the only thing that changed).

mikerourke commented 5 years ago

The port thing happened because the process didn’t close when you exited git bash, but you can always kill the process manually (or restart your computer).

As far as the API error, I’ll take a look as soon as I can get to my laptop. Did you sign up for Toggl with your Gmail account?

matheuslimacs commented 5 years ago

Oh, nice, didn't know about that.

I have this Toggl account for quite a while, but I'm pretty sure I've created it the usual way (not through the sign up with google button) since I always log in using the email and custom password.

mikerourke commented 5 years ago

@Lucatiel641 I ended up having a longer travel day than expected yesterday so I wasn’t able to follow up on the credentials validation issue, but I should be able to mess around with it tonight. I apologize for the delay. I’ll let you know what I find.

matheuslimacs commented 5 years ago

Sure, no problem at all, thanks! :)

908E commented 5 years ago

Sorry, fellas. I tried to test but the linux is a little over my head. I was running windows and a terminal but it looks like I may be missing some libraries (or something like that). I'm going to do some learning and see if I can't get things working.

mikerourke commented 5 years ago

@Lucatiel641 so I should have looked at the screenshot a little harder because it looks like you're running the app with the mock server. Could you try starting the app with yarn start:web instead of yarn start and try again?

matheuslimacs commented 5 years ago

@Lucatiel641 so I should have looked at the screenshot a little harder because it looks like you're running the app with the mock server. Could you try starting the app with yarn start:web instead of yarn start and try again?

Hey, Mike, I tried both. 'yarn start:web' now returns this error message "An error occurred when making a request to the API". In the page, it's saying that I have no workspaces to import from Toggl at all.

image image

Tried running only 'yarn start' and it goes fine until the end, but it's using a Test workspace to import.

kalebo commented 5 years ago

I can confirm the issues with the api proxy failing when trying to access toggl api endpoints that @Lucatiel641 reported.

From a quick test commit f80ebfe, (i.e., the commit immediately before the mock server was added) seems to be working for the toggl api; however I also get 403 errors when it tries to use the clockify endpoint https://api.clockify.me/api/users/.... More specifically the 403 error occurs when it attempts to fetch the endpoint for the other user of the workspace.

mikerourke commented 5 years ago

Thanks @kalebo. I’ll update to ensure the mock server isn’t running. I need to update the Clockify endpoints to reflect their V1 API, they added a /me endpoint that’s better suited for validating credentials (hopefully that will fix the 403). I’ll let everyone know when the fixes are pushed.

mikerourke commented 5 years ago

Hey everyone, quick update: I think I fixed the local API server issue as well as the Clockify credentials validation issue. Could you try pulling down the latest version and trying it again? I apologize for the delay, it's been a crazy week getting moved into the new place. If it's working now, I can switch focus to the time entries transfer stuff (preventing duplicate entries), then on to multi-user transfer. Thanks!

matheuslimacs commented 5 years ago

Hey, Mike! I just tested, and I was able to pass through that initial error from before, and now it does detect my workspace/projects but no time entries were found to import, is this expected for the time being?

mikerourke commented 5 years ago

That is definitely not expected, let me try running it again on my test account. Are all of your time entries associated with projects?

matheuslimacs commented 5 years ago

Yes, I've organized each time entry to a specific project

kalebo commented 5 years ago

Thanks @mikerourke! It's working great.

mikerourke commented 5 years ago

@Lucatiel641 I tried using my personal and testing Toggl accounts and have not been able to reproduce your issue with no time entries showing up. Could you try going back and forth between the credentials entry page and the Toggl selection page a couple of times to see if you get different results?

matheuslimacs commented 5 years ago

Hey, Mike, thanks, it's working fine now. Just tried going back to the credentials page, and noticed I missed the email field where it had a test@test.com email or something instead of mine from Toggl, my mistake, sorry for the trouble!

mikerourke commented 5 years ago

No problem, I’m just glad I didn’t break something!

julianscheel commented 5 years ago

What's the current state of team imports? I tried running two subsequent imports, the first one properly imported all clients, projects, tags and time entries. The second run for the second user unfortunately did not detect the existing projects, so that all time entries ended up to be created without a project. Should this actually work as of now?

Coimbra1984 commented 5 years ago

@julianscheel we had the same problem in our company. Our company has a few team members, some of which have time entries in toggl, but already left the toggl space. We also had a lot of archived projects in toggl with time entries and so one. The tool unfortunately did not work properly for our multi-user case, so we ended up writing our own migration tool. You can try it: https://github.com/pieye/toggl2clockify It's a pure command line tool - so maybe only for advanced users, but includes a migration guide. Maybe it can help you...

julianscheel commented 5 years ago

@Coimbra1984 Thanks, that looks nice. I'll give it a shot!

ghost commented 5 years ago

Just tested it and it works fine except the task transfer. I see them in the overview but the tasks are not transfered to clockify.

mikerourke commented 5 years ago

I wasn’t able to test tasks since they’re a premium feature in Toggl. Let me review both APIs to make sure everything is up to date.

mikerourke commented 5 years ago

@coimbra1984 Thats awesome! I’ll take a look at how you got it working and try integrating it into my code. I’ll be sure to give you props!!!

hernanpuente commented 5 years ago

Hey @mikerourke the rookie from this list is back with questions :)

I am a bit lost about how to run this tool starting from scratch. Also, is the 'multiple user' migration functionality working at the moment? I mean, can I transfer all the data from a full team or do I need to do it individually user by user?

Thanks :)

mikerourke commented 5 years ago

@hernanpuente The multi-user migration is still in the works. @Coimbra1984 put together a migration tool for multi-user environments, but it's a pure CLI tool, so it might require some configuration: https://github.com/pieye/toggl2clockify.

As far as starting from scratch, you should be able to get it up and running by installing Node.js, downloading the repo from GitHub, and running the following command:

npm install && npm start

Once it's running, you can navigate to localhost:3000 in your browser and walk through the steps. Although it seems like it may not be worth the effort if you need multi-user transfer.

michaelsmoody commented 5 years ago

As I wanted this running in a virtual machine, it might be useful to make it work without localhost as a necessity:

Access to fetch at 'https://www.toggl.com/api/v8/me' from origin 'http://192.168.0.110:3000' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. If an opaque response serves your needs, set the request's mode to 'no-cors' to fetch the resource with CORS disabled. www.toggl.com/api/v8/me:1 Failed to load resource: net::ERR_FAILED 192.168.0.110/:1 Access to fetch at 'https://www.toggl.com/api/v8/me' from origin 'http://192.168.0.110:3000' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. If an opaque response serves your needs, set the request's mode to 'no-cors' to fetch the resource with CORS disabled. www.toggl.com/api/v8/me:1 Failed to load resource: net::ERR_FAILED 192.168.0.110/:1 Access to fetch at 'https://www.toggl.com/api/v8/me' from origin 'http://192.168.0.110:3000' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. If an opaque response serves your needs, set the request's mode to 'no-cors' to fetch the resource with CORS disabled. www.toggl.com/api/v8/me:1 Failed to load resource: net::ERR_FAILED 192.168.0.110/:1 Access to fetch at 'https://www.toggl.com/api/v8/me' from origin 'http://192.168.0.110:3000' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. If an opaque response serves your needs, set the request's mode to 'no-cors' to fetch the resource with CORS disabled. www.toggl.com/api/v8/me:1 Failed to load resource: net::ERR_FAILED

Nonetheless, thanks for all the work done on this!

mikerourke commented 5 years ago

@michaelsmoody I apologize for the delayed response. Toggl deprecated their CORS whitelist API, so in order to get around CORS, you need to contact Toggl directly to add an IP address to their whitelist. In the interim, it needs to run on localhost ☹️

Royedc4 commented 4 years ago

If you are moving on on this, I'm up for testing as well 👍

mikerourke commented 4 years ago

@Royedc4 I've been working on this erratically the last couple of months. If you want to pull down master, run it locally, and try to find some bugs, I'd appreciate it!