Giter Club home page Giter Club logo

tockler's Introduction

Tockler logo Tockler logo

Support Tockler by visiting my Etsy Store

Automatically track applications usage and working time.

With Tockler you can go back in time and see what you were working on. You can get information on what apps were used - exactly at what time - and what title the application had at that moment. This is enough to determine how much you did something.

Track how you spent your time on a computer.

Tockler tracks active applications usage and computer state. It records active application titles. It tracks idle, offline, and online state. You can see this data with a nice interactive timeline chart.

Analyze your computer usage

See you total online time today, yesterday, or any other day. In monthly calendar views and with charts.


Release Total downloads Latest downloads


Tockler needs YOUR support. Currently, every expense is coming from my pocket. And this project has Zero backers
It would be awesome if this project would keep itself alive from donations.

Donate using PayPal Sponsor on GitHub Become a patron


Tockler - Automatically track applications usage and working time. | Product Hunt


Get it on Windows Get it on macOS Get it on Linux

Tockler is free to download and use.


Light theme

Timeline Settings Summary Summary Search Tray window

Dark theme

Timeline Settings Summary Summary Search Tray window

Theme by StyleStack.com

Feedback

Feel free to make feature requests by creating a issue and 'Star' this project.

Made with

Logs

By default, tockler writes logs to the following locations:

Linux: ~/.config/tockler/logs/main.log

macOS: ~/Library/Logs/tockler/main.log

Windows: %USERPROFILE%\AppData\Roaming\tockler\logs\main.log

Development

Quick Start

Prerequisites: Node, Git.

git clone https://github.com/Maygo/tockler.git  # Download this project

npm install yarn -g     # install yarn or binary from https://yarnpkg.com

Start application

Renderer and main process builds have been separated. It's easier to boilerplate this project and switch client framework.

React client (renderer)

cd client/
yarn install            # Install dependencies
yarn start

Electron (main)

cd electron/
yarn install            # Install dependencies
yarn start

Build scripts samples are in travis/appveyor files.

Testing MAS build

In electron-builder.yml replace type: development provisioningProfile: development.provisionprofile

Signing

https://4sysops.com/archives/sign-your-powershell-scripts-to-increase-security/' in powershell as admin

$cert = Get-ChildItem -Path Cert:\CurrentUser\My -CodeSigningCert
Set-AuthenticodeSignature -FilePath '.\app\get-foreground-window-title.ps1' -Certificate $cert

Snapcraft token

To generate SNAP_TOKEN run snapcraft export-login --snaps=tockler --acls=package_upload,channel --channels=stable - Copy output and Add SNAP_TOKEN to travis environment variables. In travis we have: echo "$SNAP_TOKEN" | snapcraft login --with -

Errors

while installing electron deps: electron-builder Error: Unresolved node modules: ref

Quick fix: ELECTRON_BUILDER_ALLOW_UNRESOLVED_DEPENDENCIES=true yarn

License

GNU General Public License v2.0 2021 MayGo (https://github.com/MayGo)

tockler's People

Contributors

dependabot[bot] avatar markxoe avatar maygo avatar saibotsivad avatar snyk-bot avatar zhzy0077 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

tockler's Issues

Tockler always registers 100% online.

Tockler always registers 100% online. I noticed Tockler always gives 100% online. Even If I lock my workspace and leave.

This is in kubuntu 18.04, Tockler ver 3.1.5

Can't start the dev server for client

I followed the instructions for starting the development after git clone but when i run npm start the compiler throws this error

./src/index.ts
Line 24:20: Parsing error: '>' expected

I am using Windows 10 and node 13.7

OSX: auto update does not work

Log:

[2020-02-08` 19:18:21.272] [warn] {
  constructor: 'Error',
  code: -1,
  domain: 'SQRLCodeSignatureErrorDomain',
  stack: 'Error: Code signature at URL file:///Users/maygo/Library/Caches/ee.trimatech.tockler.ShipIt/update.5enlcMh/Tockler.app/ did not pass validation: a sealed resource is missing or invalid'
}
[2020-02-08 19:18:21.273] [error] Error: Error: Code signature at URL file:///Users/maygo/Library/Caches/ee.trimatech.tockler.ShipIt/update.5enlcMh/Tockler.app/ did not pass validation: a sealed resource is missing or invalid
[2020-02-08 19:18:21.273] [info] Showing notification: Error: Code signature at URL file:///Users/maygo/Library/Caches/ee.trimatech.tockler.ShipIt/update.5enlcMh/Tockler.app/ did not pass validation: a sealed resource is missing or invalid Tockler error
[2020-02-08 19:18:22.026] [info] Proxy server for native Squirrel.Mac is closed (was started to download https://github.com/MayGo/tockler/releases/download/v3.8.1/Tockler-3.8.1-mac.zip)
[2020-02-08 19:18:23.087] [info] Ending trackItem: {

TypeError: __WEBPACK_IMPORTED_MODULE_1_aurelia_pal__.b.createElement is not a function

------------------------------------------------
Inner Error:
Message: __WEBPACK_IMPORTED_MODULE_1_aurelia_pal__.b.createElement is not a function
Inner Error Stack:
TypeError: __WEBPACK_IMPORTED_MODULE_1_aurelia_pal__.b.createElement is not a function
    at createElement (webpack-internal:///59:4251:72)
    at new SVGAnalyzer (webpack-internal:///59:4258:11)
    at Object.invoke (webpack-internal:///4:371:14)
    at InvocationHandler.invoke (webpack-internal:///4:349:166)
    at Container.invoke (webpack-internal:///4:609:22)
    at StrategyResolver.get (webpack-internal:///4:116:35)
    at Container.get (webpack-internal:///4:536:39)
    at Object.invoke (webpack-internal:///4:401:105)
    at InvocationHandler.invoke (webpack-internal:///4:349:166)
    at Container.invoke (webpack-internal:///4:609:22)
End Inner Error Stack
------------------------------------------------

    at createElement (webpack-internal:///59:4251:72)
    at new SVGAnalyzer (webpack-internal:///59:4258:11)
    at Object.invoke (webpack-internal:///4:371:14)
    at InvocationHandler.invoke (webpack-internal:///4:349:166)
    at Container.invoke (webpack-internal:///4:609:22)
    at StrategyResolver.get (webpack-internal:///4:116:35)
    at Container.get (webpack-internal:///4:536:39)
    at Object.invoke (webpack-internal:///4:401:105)
    at InvocationHandler.invoke (webpack-internal:///4:349:166)
    at Container.invoke (webpack-internal:///4:609:22)
End Inner Error Stack
------------------------------------------------

    at new AggregateError (webpack-internal:///2:34:11)
    at Container.invoke (webpack-internal:///4:611:13)
    at StrategyResolver.get (webpack-internal:///4:116:35)
    at Container.get (webpack-internal:///4:536:39)
    at Object.invoke (webpack-internal:///4:401:105)
    at InvocationHandler.invoke (webpack-internal:///4:349:166)
    at Container.invoke (webpack-internal:///4:609:22)
    at StrategyResolver.get (webpack-internal:///4:116:35)
    at Container.get (webpack-internal:///4:536:39)
    at HtmlBehaviorResource.initialize (webpack-internal:///89:3644:38)

Failed to decode downloaded font: http://fonts.gstatic.com/s/opensans/v14/cJZKeOuBrn4kERxqtaUH3ZBw1xU1rKptJj_0jans920.woff2
index.html:1 OTS parsing error: invalid version tag

screen shot 2017-06-23 at 4 44 16 pm

Uncaught exception: please install sqlite3 manunally

Uncaught Exception:
Error: Please install sqlite3 package manually
at new ConnectionManager (/Applications/Tockler.app/Contents/Resources/app/node_modules/sequelize/lib/dialects/sqlite/connection-manager.js:25:13)
at new SqliteDialect (/Applications/Tockler.app/Contents/Resources/app/node_modules/sequelize/lib/dialects/sqlite/index.js:12:28)
at new Sequelize (/Applications/Tockler.app/Contents/Resources/app/node_modules/sequelize/lib/sequelize.js:233:18)
at new Database (eval at (/Applications/Tockler.app/Contents/Resources/app/dist/index.js:137:1), :18:31)
at eval (eval at (/Applications/Tockler.app/Contents/Resources/app/dist/index.js:137:1), :49:18)
at Object. (/Applications/Tockler.app/Contents/Resources/app/dist/index.js:137:1)
at webpack_require (/Applications/Tockler.app/Contents/Resources/app/dist/index.js:20:30)
at eval (eval at (/Applications/Tockler.app/Contents/Resources/app/dist/index.js:103:1), :12:17)
at Object. (/Applications/Tockler.app/Contents/Resources/app/dist/index.js:103:1)
at webpack_require (/Applications/Tockler.app/Contents/Resources/app/dist/index.js:20:30)
at eval (eval at (/Applications/Tockler.app/Contents/Resources/app/dist/index.js:207:1), :11:30)
at Object. (/Applications/Tockler.app/Contents/Resources/app/dist/index.js:207:1)
at webpack_require (/Applications/Tockler.app/Contents/Resources/app/dist/index.js:20:30)
at eval (eval at (/Applications/Tockler.app/Contents/Resources/app/dist/index.js:313:1), :3:28)
at Object. (/Applications/Tockler.app/Contents/Resources/app/dist/index.js:313:1)
at webpack_require (/Applications/Tockler.app/Contents/Resources/app/dist/index.js:20:30)

tried doing yarn install --force and installing sqlite3 globally via npm install -g, still same error

tockler.desktop does not pass desktop-file-validate

/mnt/tockler.desktop: error: value "Utility,;" for key "Categories" in group "Desktop Entry" contains an unregistered value "Utility,"; values extending the format should start with "X-"

/mnt/tockler.desktop: hint: value "Utility,;" for key "Categories" in group "Desktop Entry" does not contain a registered main category; application might only show up in a "catch-all" section of the application menu

Reference:
https://travis-ci.org/AppImage/AppImageHub/builds/266238319#L543-L544

Please upgrade to the latest version of electron-builder.

macOS 10.15 Catalina

Catalina macOS 10.15 Tockler editions 3.4.13 and lower are not displaying any data, in addition missing an alert there is an update to a new version on both Catalina, and when I was on Mojave 10.14.

NODE_MODULE_VERSION different Node.js

i create a new project using "active-win": "^6.2.0" and "electron": "7.3.2"
got NODE_MODULE_VERSION different error.
but your project just work well.
could you tell me where is the key point?

[feature request] Focus checker

I've been using this awesome app since December and found out that every now and then, when I have some other issue to attend to, I omit pausing working a specific subject.

What I would definitely see as a benefit (at least in my case) is a functionality that forces me to respond that I continue working on a specific task. If I could set a sort of 'minimum time window', 'focus check alert' setting to, say, 15mins this would allow me to make sure that my lack of discipline in pausing the monitored task.

Do you think @MayGo that such a functionality is in reach within this application?

How can I package this app using electron-packager?

I used electron-packager to create a package out of this repo. I ran the following command in the root folder:

electron-packager . --overwrite --platform=darwin --arch=x64 --icon=client/src/assets/icons/zepto_icon.icns --prune=true --out=release-builds

The app that is in the release folder, when I run it gives the following error:

Uncaught Exception:
Error: Cannot find module '/Users/ammarhassan/Zepto/zepto-desktop-tracking/release-builds/Zepto-darwin-x64/Zepto.app/Contents/Resources/app/index.js'
at Module._resolveFilename (internal/modules/cjs/loader.js:972:15)
at Function.n._resolveFilename (electron/js2c/browser_init.js:249:921)
at Object.<anonymous> (electron/js2c/browser_init.js:185:3470)
at Object../lib/browser/init.ts (electron/js2c/browser_init.js:185:3714)
at __webpack_require__ (electron/js2c/browser_init.js:1:128)
at electron/js2c/browser_init.js:1:1200
at electron/js2c/browser_init.js:1:1267
at NativeModule.compileForInternalLoader (internal/bootstrap/loaders.js:277:7)
at NativeModule.compileForPublicLoader (internal/bootstrap/loaders.js:219:10)
at loadNativeModule (internal/modules/cjs/helpers.js:24:9)

Opening apps gives the dreaded spinny wheel

System

Mac OSX El Capitan.
Node: v6.2.1
npm: 3.10.5
Tockler: 2.1.0

Recreate

  • Tockler is running, and is visible in the taskbar.
  • Fully quit an application, e.g. Safari or Sublime Text Editor.
  • Re-open that application.

What happens

  • The application (e.g. Safari or Sublime Text Editor) hangs and is unresponsive. All other applications remain responsive.

What I expect to happen

  • Running Tockler should not cause an application to be unresponsive.

Where are the logs kept? Maybe they have some information.

3.19.7 Mac Menu Bar Icon blank

Hello Maigo,
You've been perfect Catalina, Big Sur, thanks for your labor and excellent work.
3.19.0 did not alert for update to 3.19.7.
3.19.7 in the Menu Bar, the icon position is there, but your coloring came out blank, no purple. You'll see the position whited out, to click on & the blank position space.

Data quit displaying after Electron 7 2/8/20

macOS After all the updates, I'm only able to see data backwards thru 2/7/20.
I would guess it was your change to Electron 8.
Sometimes I could go backwards & forwards with the arrow to get it engaged.

Concerning the Automatic Updates, I stalled at 95% attempting 3.9.2.
It would be less irritating if you switch to one banner to Update appears, then your next banner would read successful or Error at 95%.
In a case wanting to go back to an earlier version, when issues persist, an option to manually check for Updates & Auto Updates -User choice, to take auto or manual.

Error when running client

I followed the readme instructions

git clone https://github.com/MayGo/tockler
cd client
yarn install
npm start

cd electron
yarn install
yarn start

On Windows 10.
Node version 13.5.0

And I get these errors

// react console message
Could not open settings.api.ts in the editor.
×
TypeError: Store is not a constructor
Module../src/services/settings.api.ts
D:/Projects/fun/NODE/tockler/client/src/services/settings.api.ts:7
   4 | 
   5 | const { Store } = window as any;
   6 | 
>  7 | const config = new Store();
   8 | 
   9 | export function getOpenAtLogin() {
  10 |     return config.get('openAtLogin') as boolean;
Uncaught TypeError: Store is not a constructor
    at Module../src/services/settings.api.ts (settings.api.ts:7)
    at __webpack_require__ (bootstrap:784)
    at fn (bootstrap:150)
    at Module../src/components/Settings/AnalyserForm.tsx (SearchResults.tsx:143)
    at __webpack_require__ (bootstrap:784)
    at fn (bootstrap:150)
    at Module../src/components/Settings/SettingsForm.tsx (AppForm.tsx:33)
    at __webpack_require__ (bootstrap:784)
    at fn (bootstrap:150)
    at Module../src/routes/SettingsPage.tsx (SearchPage.tsx:113)
    at __webpack_require__ (bootstrap:784)
    at fn (bootstrap:150)
    at Module../src/routes/MainAppPage.tsx (AppDataProvider.tsx:26)
    at __webpack_require__ (bootstrap:784)
    at fn (bootstrap:150)
    at Module../src/router.tsx (logger.ts:1)
    at __webpack_require__ (bootstrap:784)
    at fn (bootstrap:150)
    at Module../src/index.tsx (windowFocusedHook.ts:31)
    at __webpack_require__ (bootstrap:784)
    at fn (bootstrap:150)
    at Object.1 (utils.ts:9)
    at __webpack_require__ (bootstrap:784)
    at checkDeferredModules (bootstrap:45)
    at Array.webpackJsonpCallback [as push] (bootstrap:32)
    at main.chunk.js:1

Update to 3.8.2

Updating from 3.6.5 to 3.8.2 breaks with an exisiting database (Windows). It won't run with an exisiting folder.

No such file or directory: stdout.json

System

Mac OSX El Capitan.
Node: v6.6.0
npm: 3.10.3
Tockler: 3.0.2

Recreate

  • Install Tockler by dragging into Application folder (the one shown in popup when opening dmg file)
  • Navigate Finder to Application folder
  • Right click on Tockler icon, select 'Open'

What happens

  • The application fails to start and an alert box pops up with the following text:
A JavaScript error occurred in the main process
Uncaught Exception:
Error: ENOENT: no such file or directory, open '/Users/saibotsivad/Library/Application Support/Tockler/stdout.json'

Linux version does not run

linux@linux:~> /home/linux/Downloads/Tockler-3.0.2-x86_64.AppImage 
6879
{"name":"tockler","hostname":"linux.suse","pid":13345,"level":30,"msg":"Saving logs in directory:/home/linux/.config/Tockler","time":"2017-06-18T19:06:26.202Z","v":0}
{"name":"tockler","hostname":"linux.suse","pid":13345,"logger_name":"AppUpdater","level":30,"msg":"Configuring AutoUpdater.","time":"2017-06-18T19:06:26.270Z","v":0}
A JavaScript error occurred in the main process
Uncaught Exception:
Error: Cannot find module './TrackItemCrud'
    at Module._resolveFilename (module.js:470:15)
    at Function.Module._resolveFilename (/tmp/.mount_Mrp3ar/usr/bin/resources/electron.asar/common/reset-search-paths.js:35:12)
    at Function.Module._load (module.js:418:25)
    at Module.require (module.js:498:17)
    at require (internal/module.js:20:19)
    at Object.<anonymous> (/tmp/.mount_Mrp3ar/usr/bin/resources/app/app/background.service.js:23:23)
    at Object.<anonymous> (/tmp/.mount_Mrp3ar/usr/bin/resources/app/app/background.service.js:486:3)
    at Module._compile (module.js:571:32)
    at Object.Module._extensions..js (module.js:580:10)
    at Module.load (module.js:488:32)

linux@linux:~> cat /etc/*release
NAME="openSUSE Leap"
VERSION="42.2"
ID=opensuse
ID_LIKE="suse"
VERSION_ID="42.2"
PRETTY_NAME="openSUSE Leap 42.2"
ANSI_COLOR="0;32"
CPE_NAME="cpe:/o:opensuse:leap:42.2"
BUG_REPORT_URL="https://bugs.opensuse.org"
HOME_URL="https://www.opensuse.org/"

phantom summary entries

image

I first installed this on the 10th of this month but there are some entries in the calendar before that. Is there some kind of offset issue?

Zip Compress Releases so Date & Time is true original

Zip Compress Releases, so the Time & Date is the true original Date & Time of your release.
This way Users know immediately the true original Date & Time. Alerts immediately anyone with an old release, conflict, ability for downloads & backups to know real Date & Time to version #, reporting an issue to an old version when not necessary just download the new version.

This could be done for all the release versions.
The apple zip, would stay as zip, while zipping the dmg as dmg.zip, also giving you the true Date & Time.

Thanks for the Windows Portable. Tockler is now is at a new level of Full Service, Windows Portable, Apple, Linux.
For Windows nobody can complain of Registry, additional cleaning maintenance, adware installs, conflicts with Windows Defender Viruses when the app is Portable.
I'm surprised is was done so easily as 63.2 MB and even better does not require a Folder for extra stuff; very few developers know how or have the talent to make it as only one exe, nothing else and most developers would have had to make the Portable double the size of what the installer is.

For Linux I have to test best app to dual boot, triple boot. For now separate units, without Linux.

Deciding sign-up to Upvote review to Product Hunt.
https://www.producthunt.com/posts/tockler

Update all your front pages to show Windows Portable.
ADD: where you browsed & operating systems.

With Tockler you can go back in time and see what you were working on & where you browsed. You can get information on what apps were used - exactly at what time - and what title the application had at that moment. This is enough to determine how much you did something. Available as Windows Portable, Apple, Linux.

How to uninstall

I remove the app from my application Folder.
I close the app

but when I restart is there

package.json is missing dependency list

Hey,

i cloned the repo and did a "npm install" and afterwards a "gulp". App didn't start up, complaining about missing installed modules. I looked up the recent changes and wondered, why the "dependencies" section is missing in the package.json. Maybe you have a look into this.

Regards

scripts/*.sh not in repo

background.service.ts refers to proj_root/scripts/*.sh for getting logs but those files are not available.

know that you're in the middle of a big upgrade, cant wait to test it out

Can not grant access to tockler for accessibility on Mac

I am trying to develop the app on Mac, when I run yarn start the app tries to open but is blocked because it asks for accessibility permission when I go to accessibility to allow app the permission I do not see the app there so I am not able to allow it access.

hidden version without tray?

Is it possible to run a hidden version without tray? Where the data being stored? Possible to to run on normal windows user and check stored data / track time only for administrator user?

What are groups for?

the latest mac binary works. thanks a lot!

so i have these line items in my timeline..

App: Title
Code: Visual Studio Code
Code: code.js -- nextactionmeteor
Google chrome: http://localhost:3000/blahblah

Code: code.js -- openbpass
Google Chrome: http://localhost:8000/blahblah

I would like to sort my time between projects.

What are Groups for? Can i create my own groups?

My timeline page also shows only 2 charts and there are blanks in another 2 sections, could those be for groups?

screen shot 2017-08-13 at 12 06 45 pm

Implement to-do list

Currently, we can create tasks that will be run immediately, or we can run the old tasks again.

We can take it step further and predefine those tasks. So to-do list. A task that will be marked as done.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.