To-do list time tracker for programmers and other digital workers with Jira, Github, and Gitlab integration

Overview

Please help us improve the app's usability!

Banner

MIT license GitHub All Releases On product hunt tweet

Get it from the Snap Store English badge App Store Badge Play Store Badge

Organize your daily tasks in one place while making time tracking a lot less annoying. Super Productivity is a ToDo List / Time Tracker / Personal Jira Task Manager for Linux, MacOS and Windows aimed at reducing the time you spend with repetitive tasks and to provide you with a place to collect all the information you need to do your job.

🌐 Open Web App or 💻 Download

✔️ Features

  • Plan, track & summarize. Create time sheets and work summaries in a breeze to easily export them to your company's time tracking system.
  • Integrate with Jira, GitHub and GitLab. Auto import tasks assigned to you, plan the details locally, automatically create worklogs and get notified right away, when something changes.
  • Organize your project's data. Create notes, attach files or create bookmarks for links, files and even commands and have it all out of the way, once you're ready for the weekend.
  • Helps you to establish healthy habits. A break timer reminds to you, when it's time to step away. You also can collect personal metrics for yourself to see, which of your work routines need adjustments.
  • Stuck and procrastinating? No problem! Super Productivity's anti procrastination feature helps you to reconsider your options and a pomodoro timer is also always at hand.
  • Super Productivity does NOT collect any data and there are no user accounts or registration. It's free and open source and always will be.

And much more!

Work View with global links

How to use it

I wrote a little article on how I use the app - and another one on how I implement the 'eat the frog' prioritizing scheme in the app . There is also a youtube video available.

🌐 Web Version

Check out the web version eventhough it is a bit limited: Time tracking only works if the app is open and for idle time tracking to work, the chrome extension has to be installed.

If you want the Jira integration and idle time tracking to work, you have to also download and install the Super Productivity Chrome Extension.

💻 Downloads & Install

All Platforms

Install from the releases page.

Windows

Due to certification issues it's recommended to download the app from the Microsoft Store:

English badge

Linux

# stable
sudo snap install superproductivity

# edge channel releases
 sudo snap install --channel=edge superproductivity
Get it from the Snap Store

Arch

git clone https://aur.archlinux.org/superproductivity-bin.git
cd superproductivity-bin
makepkg -si

MacOS

Install via homebrew cask:

brew install --cask superproductivity
App Store Badge

Android

There is a very early(!) Android version available. The sources can be found here.

App Store Badge

♥️ Contributing

Please check out the CONTRIBUTING.md

There are several ways to help.

  1. Spread the word: More users means more people testing and contributing to the app which in turn means better stability and possibly more and better features. You can vote for Super Productivity on Slant, Product Hunt, Softpedia or on AlternativeTo, you can tweet about it, share it on LinkedIn, reddit or any of your favorite social media platforms. Every little bit helps!

  2. Make a feature or improvement request: Something can be be done better? Something essential missing? Let us know!

  3. Report bugs

  4. Contribute: You don't have to be programmer to help. Some of the icons really need improvement and many of the translations could use some love.

  5. Sponsor the project

Pull Requests

Pull requests are of course very welcome! Please make sure that you're following the angular commit guidelines and to also include the issue number in your commit message, if you're fixing a particular issue (e.g.: feat: add nice feature with the number #31).

Running the development server

To run the development server you need to have node installed at least in the version 12. Go to https://nodejs.org for installation instructions. You also need to install yarn which is used for dependency management.

Clone repo

git clone https://github.com/johannesjo/super-productivity.git

Install dependencies

cd super-productivity
yarn
yarn global add @angular/cli

Run the dev server

ng serve

Afterwards you can open http://localhost:4200 in your browser. For most adjustments this should be enough and also enables you to use the redux dev tools.

If you want to run the app standalone do the following:

ng serve

# in a new console tab
yarn start

Packaging the app

Packaging the app is done via electron-builder. To start packaging run yarn dist. If you want to add new platforms and experiment with the build options the easiest way to do so is manipulating the build property in the package.json, but you can also use the command line interface of electron builder.

Run as Docker Container

docker run -d -p 80:80 johannesjo/super-productivity:latest

Custom themes (desktop only)

In addition to color coding your projects and tags and to the dark and light theme you can also load completely custom css to restyle everything. To load a custom theme you simply need put them into a new file named styles.css directly in the user data folder.

There is a great set of themes available for download in this repository as well as some info on how to role out your own custom themes.

Custom WebDAV Syncing

If using the integrated WebDAV Syncing is not working out for you, you can also try to sync all app files, which are located in the user data folder.

Automatic Backups

For the desktop version automatic backups are stored per default in the backup sub folder of the user data folder. Once you located a backup you can restore it on the settings page under Sync & Export/Import/Export/Import from file.

User Data Folder

Where user data is stored differs from os to os. The most common locations are: Mac OS: ~/Library/Application Support/superProductivity/ Windows: C:\Users\<YOUR_USER_NAME>\AppData\Local\superProductivity/ Linux: ~/.config/superProductivity/

The path should be shown when you go to the "Automatic Backups` section on the configuration page (minus the "backup" sub folder). You can also see it printed out when you start the app from the command line.

For web browsers data is simply stored for the current user inside the browser storage.

Using a custom folder to save user data

You can specify a custom folder for saving your data by starting the application with the --user-data-dir parameter like so:

superproductivity --user-data-dir=/path/to/my/data
Issues
  • [color request] custom dark theme colors (customs stylesheets?)

    [color request] custom dark theme colors (customs stylesheets?)

    hi. I don't like the dark theme color can you add another color for dark themes? like arc (arc-dark) or nord or another https://www.pling.com/p/1167639/ https://github.com/horst3180/arc-theme https://github.com/arcticicestudio/nord

    enhancement help wanted hacktoberfest Stale 
    opened by fla15 40
  • build: upgrade to angular 10

    build: upgrade to angular 10

    Upgrades to Angular 10.

    todos:

    • [x] ~~fix the e2e tests~~ (protractor-based e2e will be replaced with nightwatch)

    bugs in prod mode:

    • [x] worklog, project and settings pages are not scrollable (fixed via 375d600)
    • [x] sideEffects: false in src/app/package.json breaks the task list (angular bug, see https://github.com/johannesjo/super-productivity/pull/501#issuecomment-702819486 and angular/angular#35602)
    opened by thetric 38
  • Feature Request: WebDav sync (so I can use NextCloud)

    Feature Request: WebDav sync (so I can use NextCloud)

    I see that the app supports Google Drive, I was wondering if there is a chance to add WebDav sync so I can use my NextCloud instance to sync?

    enhancement help wanted hacktoberfest 
    opened by TobiasDev 36
  • WebDAV Nextcloud sync not working, continual upload try, but fails.

    WebDAV Nextcloud sync not working, continual upload try, but fails.

    Your Environment

    • Version used: deb - 6.0.0.rc.5
    • Operating System and version: Pop_OS! 20.04
    • Desktop Environment: GNOME
    • Browser Name and version: Desktop version

    Expected Behavior

    Webdav should sync to Nextcloud

    Current Behavior

    Can't sync the file. Say's No remote data found. Upload local to Remote when selecting ok, error: An Error occurred while uploading your local data, try to force the update and just hitting ok, loops the process.

    Steps to Reproduce (for bugs)

    1. Setup SYNC with the follwing info and it presents these errors.

    image

    Console Output

    main.8b59fe120f7989f6bc26.js:1 Persistence already allowed main.8b59fe120f7989f6bc26.js:1 0 out of 206572 MiB used (0%) main.8b59fe120f7989f6bc26.js:1 Migrating model "Task" to version from undefined to 3.3334 Object main.8b59fe120f7989f6bc26.js:1 Migrating model "TaskRepeat" to version from undefined to 1 Object main.8b59fe120f7989f6bc26.js:1 Migrating model "Task" to version from undefined to 3.3334 Object main.8b59fe120f7989f6bc26.js:1 Migrating model "TaskRepeat" to version from undefined to 1 Object main.8b59fe120f7989f6bc26.js:1 Migrating model "Tag" to version from undefined to 1 Object main.8b59fe120f7989f6bc26.js:1 Migrating model "SimpleCounter" to version from undefined to 2 Object main.8b59fe120f7989f6bc26.js:1 Object main.8b59fe120f7989f6bc26.js:1 true Object main.8b59fe120f7989f6bc26.js:1 WebDAV main.8b59fe120f7989f6bc26.js:1 backupMeta Object main.8b59fe120f7989f6bc26.js:1 backupData {"bookmark":{},"note":{},"metric":{},"improvement":{},"obstruction":{},"globalConfig":{"lang":{"lng":null},"misc":{"isDarkMode":true,"isConfirmBeforeExit":false,"isNotifyWhenTimeEstimateExceeded":false,"isAutMarkParentAsDone":false,"isAutoStartNextTask":true,"isTurnOffMarkdown":false,"isAutoAddWorkedOnToToday":false,"isDisableInitialDialog":false,"defaultProjectId":null,"firstDayOfWeek":0},"evaluation":{"isHideEvaluationSheet":false},"idle":{"isOnlyOpenIdleWhenCurrentTask":false,"isEnableIdleTimeTracking":true,"minIdleTime":300000,"isUnTrackedIdleResetsBreakTimer":true},"takeABreak":{"isTakeABreakEnabled":false,"isLockScreen":false,"isFocusWindow":false,"takeABreakMessage":"Take a break! You have been working for ${duration} without one. Go away from the computer! Take a short walk! Makes you more productive in the long run!","takeABreakMinWorkingTime":3600000,"motivationalImg":null},"pomodoro":{"isEnabled":false,"duration":1500000,"breakDuration":300000,"longerBreakDuration":900000,"cyclesBeforeLongerBreak":4,"isStopTrackingOnBreak":true,"isStopTrackingOnLongBreak":true,"isManualContinue":false,"isPlaySound":true,"isPlaySoundAfterBreak":false,"isPlayTick":false},"keyboard":{"globalShowHide":"Ctrl+Shift+X","globalToggleTaskStart":null,"globalAddNote":null,"globalAddTask":null,"addNewTask":"Shift+A","addNewNote":"n","openProjectNotes":"Shift+N","openDistractionPanel":"Shift+D","showHelp":"?","toggleBookmarks":"Shift+V","toggleBacklog":"b","goToWorkView":"w","goToSettings":null,"zoomIn":"Ctrl++","zoomOut":"Ctrl+-","zoomDefault":"Ctrl+0","taskEditTitle":"e","taskToggleAdditionalInfoOpen":"i","taskOpenEstimationDialog":"t","taskSchedule":"s","taskToggleDone":"d","taskAddSubTask":"a","taskDelete":"Delete","taskMoveToProject":null,"selectPreviousTask":"k","selectNextTask":"j","moveTaskUp":"Ctrl+Shift+ArrowUp","moveTaskDown":"Ctrl+Shift+ArrowDown","moveToBacklog":"Shift+B","moveToTodaysTasks":"Shift+T","expandSubTasks":null,"collapseSubTasks":null,"togglePlay":"y"},"localBackup":{"isEnabled":true},"sound":{"volume":75,"isPlayDoneSound":true,"isIncreaseDoneSoundPitch":true,"doneSound":"done2.mp3"},"trackingReminder":{"isEnabled":true,"isShowOnMobile":false,"minTime":120000},"sync":{"isEnabled":true,"syncProvider":"WebDAV","syncInterval":60000,"dropboxSync":{"authCode":null,"accessToken":null},"googleDriveSync":{"isAutoSyncToRemote":false,"isNotifyOnSync":false,"isLoadRemoteDataOnStartup":false,"isAutoLogin":false,"isCompressData":true,"syncFileName":"SUPER_PRODUCTIVITY_SYNC.json","_syncFileNameForBackupDocId":null,"_backupDocId":null},"webDav":{"baseUrl":"https://cloud.NEXTCLOUD.net/remote.php/dav/files/C_B/","userName":"C_B","password":"password","syncFilePath":"super-sync.json"}},"googleDriveSync":{"isEnabled":false,"isAutoLogin":false,"isAutoSyncToRemote":false,"isNotifyOnSync":false,"isLoadRemoteDataOnStartup":false,"isCompressData":true,"syncInterval":300000,"syncFileName":"SUPER_PRODUCTIVITY_SYNC.json","_backupDocId":null},"dropboxSync":{"isEnabled":false,"syncInterval":60000,"authCode":null,"accessToken":null,"_backupDocId":null},"__modelVersion":2},"reminders":[],"project":{"ids":["DEFAULT"],"entities":{"DEFAULT":{"id":"DEFAULT","title":"Super Productivity","isArchived":false,"issueIntegrationCfgs":{"JIRA":{"isEnabled":false,"_isBlockAccess":false,"host":null,"userName":null,"password":null,"isWonkyCookieMode":false,"isAutoPollTickets":true,"searchJqlQuery":"","isAutoAddToBacklog":true,"autoAddBacklogJqlQuery":"assignee = currentUser() AND sprint in openSprints() AND resolution = Unresolved","isWorklogEnabled":true,"isAutoWorklog":false,"isAddWorklogOnSubTaskDone":true,"isAllowSelfSignedCertificate":false,"isUpdateIssueFromLocal":false,"isShowComponents":true,"isCheckToReAssignTicketOnTaskStart":false,"storyPointFieldId":null,"isTransitionIssuesEnabled":true,"availableTransitions":[],"transitionConfig":{"OPEN":"DO_NOT","IN_PROGRESS":"ALWAYS_ASK","DONE":"ALWAYS_ASK"},"userToAssignOnDone":null},"GITHUB":{"repo":null,"token":null,"isSearchIssuesFromGithub":false,"isAutoPoll":false,"isAutoAddToBacklog":false,"filterUsername":null},"GITLAB":{"project":null,"token":null,"isSearchIssuesFromGitlab":false,"isAutoPoll":false,"isAutoAddToBacklog":false,"filterUsername":null}},"taskIds":[],"backlogTaskIds":[],"advancedCfg":{"worklogExportSettings":{"cols":["DATE","START","END","TIME_CLOCK","TITLES_INCLUDING_SUB"],"roundWorkTimeTo":null,"roundStartTimeTo":null,"roundEndTimeTo":null,"separateTasksBy":" | ","groupBy":"DATE"}},"theme":{"isAutoContrast":true,"isDisableBackgroundGradient":false,"primary":"#29a1aa","huePrimary":"500","accent":"#ff4081","hueAccent":"500","warn":"#e11826","hueWarn":"500"},"workStart":{},"workEnd":{},"breakTime":{},"breakNr":{}}},"__modelVersion":5.1},"tag":{"ids":[],"entities":{}},"simpleCounter":{"ids":["STANDING_DESK_ID","COFFEE COUNTER"],"entities":{"STANDING_DESK_ID":{"id":"STANDING_DESK_ID","title":"Standing Desk Timer","isEnabled":false,"icon":"airline_seat_recline_normal","iconOn":"directions_walk","type":"StopWatch","triggerOnActions":[],"triggerOffActions":[],"countOnDay":{},"isOn":false},"COFFEE COUNTER":{"id":"COFFEE COUNTER","title":"Coffee Counter","isEnabled":false,"icon":"free_breakfast","type":"ClickCounter","triggerOnActions":[],"triggerOffActions":[],"countOnDay":{},"isOn":false}}},"task":{"ids":[],"entities":{},"currentTaskId":null,"selectedTaskId":null,"taskAdditionalInfoTargetPanel":"Default","lastCurrentTaskId":null,"isDataLoaded":false},"taskArchive":{"ids":[],"entities":{}},"taskRepeatCfg":{"ids":[],"entities":{}},"lastActiveTime":1603267303704,"lastLocalSyncModelChange":1603267303704} main.8b59fe120f7989f6bc26.js:1 IMPORT---> Object main.8b59fe120f7989f6bc26.js:1 Migrating model "Tag" to version from undefined to 1 Object main.8b59fe120f7989f6bc26.js:1 Migrating model "SimpleCounter" to version from undefined to 2 Object main.8b59fe120f7989f6bc26.js:1 Migrating model "TaskRepeat" to version from undefined to 1 Object main.8b59fe120f7989f6bc26.js:1 Migrating model "Task" to version from undefined to 3.3334 Object main.8b59fe120f7989f6bc26.js:1 sync(effect)..... SYNC_DBX_AFTER_ENABLE cloud.NEXTCLOUD.net/remote.php/dav/files/C_B/super-sync.json:1 Failed to load resource: the server responded with a status of 404 (Not Found) main.8b59fe120f7989f6bc26.js:1 WebDAV ↑ Update Remote after no getRevAndLastClientUpdate() main.8b59fe120f7989f6bc26.js:1 Refused to set unsafe header "Content-Length" (anonymous) @ main.8b59fe120f7989f6bc26.js:1 main.8b59fe120f7989f6bc26.js:1 sync(effect)..... I_FOCUS_THROTTLED cloud.NEXTCLOUD.net/remote.php/dav/files/C_B/super-sync.json:1 Failed to load resource: the server responded with a status of 503 (Service Unavailable) main.8b59fe120f7989f6bc26.js:1 Error: Request failed with status code 503 at t.exports (main.8b59fe120f7989f6bc26.js:1) at t.exports (main.8b59fe120f7989f6bc26.js:1) at XMLHttpRequest.p.onreadystatechange [as __zone_symbol__ON_PROPERTYreadystatechange] (main.8b59fe120f7989f6bc26.js:1) at XMLHttpRequest.D (polyfills.250ebd3af63450554a58.js:1) at l.invokeTask (polyfills.250ebd3af63450554a58.js:1) at Object.onInvokeTask (main.8b59fe120f7989f6bc26.js:1) at l.invokeTask (polyfills.250ebd3af63450554a58.js:1) at i.runTask (polyfills.250ebd3af63450554a58.js:1) at u.invokeTask [as invoke] (polyfills.250ebd3af63450554a58.js:1) at _ (polyfills.250ebd3af63450554a58.js:1) (anonymous) @ main.8b59fe120f7989f6bc26.js:1 main.8b59fe120f7989f6bc26.js:1 WebDAV X Upload Request Error main.8b59fe120f7989f6bc26.js:1 Refused to set unsafe header "Content-Length" (anonymous) @ main.8b59fe120f7989f6bc26.js:1 cloud.NEXTCLOUD.net/remote.php/dav/files/C_B/super-sync.json:1 Failed to load resource: the server responded with a status of 503 (Service Unavailable) main.8b59fe120f7989f6bc26.js:1 Error: Request failed with status code 503 at t.exports (main.8b59fe120f7989f6bc26.js:1) at t.exports (main.8b59fe120f7989f6bc26.js:1) at XMLHttpRequest.p.onreadystatechange [as __zone_symbol__ON_PROPERTYreadystatechange] (main.8b59fe120f7989f6bc26.js:1) at XMLHttpRequest.D (polyfills.250ebd3af63450554a58.js:1) at l.invokeTask (polyfills.250ebd3af63450554a58.js:1) at Object.onInvokeTask (main.8b59fe120f7989f6bc26.js:1) at l.invokeTask (polyfills.250ebd3af63450554a58.js:1) at i.runTask (polyfills.250ebd3af63450554a58.js:1) at u.invokeTask [as invoke] (polyfills.250ebd3af63450554a58.js:1) at _ (polyfills.250ebd3af63450554a58.js:1) (anonymous) @ main.8b59fe120f7989f6bc26.js:1 main.8b59fe120f7989f6bc26.js:1 WebDAV X Upload Request Error main.8b59fe120f7989f6bc26.js:1 Service worker registration failed with: TypeError: Failed to register a ServiceWorker for scope ('file:///opt/superProductivity/resources/app.asar/dist/') with script ('file:///opt/superProductivity/resources/app.asar/dist/ngsw-worker.js'): An unknown error occurred when fetching the script. (anonymous) @ main.8b59fe120f7989f6bc26.js:1 DevTools failed to load SourceMap: Could not load content for file:///opt/superProductivity/resources/app.asar/dist/runtime.076604685350bc36956d.js.map: DevTools failed to load SourceMap: Could not load content for file:///opt/superProductivity/resources/app.asar/dist/polyfills.250ebd3af63450554a58.js.map: DevTools failed to load SourceMap: Could not load content for file:///opt/superProductivity/resources/app.asar/dist/main.8b59fe120f7989f6bc26.js.map: DevTools failed to load SourceMap: Could not load content for file:///opt/superProductivity/resources/app.asar/dist/styles.e1c786d55963a75bdeca.css.map: DevTools failed to load SourceMap: Could not load content for file:///opt/superProductivity/resources/app.asar/dist/reminder.5b0fa13d8ca10813efca.worker.js.map: DevTools failed to load SourceMap: Could not load content for file:///opt/superProductivity/resources/app.asar/dist/lz.5d2c2359e92f65d00e61.worker.js.map:

    Error Log (Desktop only)

    • Version used: Android App version 6.0 (latest from play store)
    • Operating System and version: Android 10
    • ~Desktop Environment:~
    • ~Browser Name and version:~

    Current Behavior

    When using the "Sync via Google Drive" - Login Button in the Settings the typical google dialog option appears to select the google account with which you desire to login. If any account is selected the box closes again and the login button is still there and nothing really changed.

    Expected Behavior

    You should be able to login with google to sync your super-productivity related things.

    Steps to Reproduce (for bugs)

    1. Press Settings in the main menu of the android app.
    2. Open the drawer labeled "Sync via Google Drive"
    3. Press "Login"
    4. Select any account

    Console Output

    I think there isn't any console on android. I can add logcat values if useful later.

    ~Error Log (Desktop only)~

    bug 
    opened by tooxo 33
  • Can not

    Can not "Finish your day", notification keeps appearing.

    Your Environment

    • Version used: superproductivity-git 2.11.1.r17.g1ae80248-1
    • Operating System and version: Arch
    • Desktop Environment: XFCE

    Expected Behavior

    I can't "finish" a previous day. When I click dismiss or "finish day" in the notification, I expect that to clear the nag.

    Current Behavior

    I did finish that day last day, the nag is incorrect, and even attempting to do so now it, it keeps telling me I have not.

    Video: https://streamable.com/b4dtb

    Steps to Reproduce (for bugs)

    It may be specific to my database of tasks. I'm not sure if there is an easy way to reproduce this. This is my work task list in work and may contain confidential information, so if needed, I can confidentially provide that.

    Console Output

    No output when taking any actions specific to this bug, beyond this: project.reducer.ts:207 DEFAULT 2019-09-18

    Error Log (Desktop only)

    no logs associated with any of these actions

    Other than that, I've been loving the recent updates. Suuuuch a great program.

    bug help wanted 
    opened by Ghoughpteighbteau 30
  • Extreme resource use

    Extreme resource use

    Your environment: Version 6.1.0 Operating system: Ubuntu 20.04

    Current behavior:

    Since this morning (maybe with the latest update), super-productivity seems to be using a lot of system resources, causing my whole system to slow down (when I typed in other programs, the letters showed up with a delay) and super-productivity itself to freeze multiple times, but without throwing any errors. This occurs in particular when I have the pomodoro timer running.

    When I run top, I see that super-productivity is using 100% (or more) of a CPU: superproductivity_screenshot

    Earlier today, also gnome-shell used a lot of resources, so I suspected the issue was about a new way that super-productivity interacts with gnome-shell. After I have disabled usage of the Ubuntu Top bar by all applications, gnome-shell is more well-behaved again, but the problems with the super-productivity resource use persist.

    Steps to reproduce

    • Start program
    • Start pomodoro timer on project

    Please let me know if I can provide any other information that might help clarify the issue.

    Thanks a lot for your awesome work on this project! I have been using super-productivity every day for the last few months and it really helps me a lot to organize my day and keep track of my time.

    bug external issue 
    opened by meikew 29
  • sync doesn't work accross multiple devices

    sync doesn't work accross multiple devices

    • Version used: snap (3.1.3)
    • Operating System and version: Manjaro
    • Desktop Environment: Cinnamon

    Steps to Reproduce (for bugs)

    1. Sync using google in one device
    2. Open the app in another device and sync

    Error

    Google Drive - Error: [object Object]

    I tried to re-install the app, and clean the local directory and re-log-in, but it didn't work.

    bug help wanted 
    opened by soheilred 29
  • Feature Request: Cross-project daily to do list

    Feature Request: Cross-project daily to do list

    Your Environment

    • Version used:
    • Operating System and version:
    • Desktop Environment:
    • Browser Name and version:

    Expected Behavior

    I work on multiple projects daily and love having the separate backlogs so that I can clearly see what's required on each project and plan my day out. However, throughout the working day it's a bit of a pain to have to switch between projects to see which tasks I had planned. I do flit between projects, doing tasks for each throughout the day. I'd love it if you can have a unified view of the planned tasks so that I have a single list to work from, and prioritise tasks against each other across the projects.

    Current Behavior

    Daily tasks are separate between projects.

    Steps to Reproduce (for bugs)

    Console Output

    Error Log (Desktop only)

    enhancement community feedback wanted 
    opened by ThatRobVK 28
  • [Feature Request] GitLab Integration

    [Feature Request] GitLab Integration

    Lately, GitLab has become more and more relevant as a code hosting platform that has a lot of nice features (some of them aren't available on GitHub). The main selling points to me are unlimited free private repositories and the ability to self-host a free instance of GitLab.

    These were the main reasons I changed from GitHub to GitLab for professional work, and because of this I would love to have GitLab integration from super-productivity.

    GitLab already has issue time tracking but it's kind of clumsy (https://docs.gitlab.com/ee/workflow/time_tracking.html) - it doesn't track spent time automatically, you have to comment on the issue after completing some chunk of work something like /spend 2h 30m. Having direct integration from super-productivity to GitLab would be a killer feature for me!

    There is an API available for leading with issues: https://docs.gitlab.com/ee/api/issues.html

    As a bonus, it would be awesome if the integration could be done with both gitlab.com as well as a self-hosted instance.

    Thanks!

    enhancement help wanted hacktoberfest 
    opened by tiagogala 27
  • Keep attachments on daily or reoccurring tasks.

    Keep attachments on daily or reoccurring tasks.

    Problem Statement

    I have daily tasks that take some time to complete. They all have files locally or online, as well as websites. I use attachments to quickly navigate to these sources. It would be great for these attachments to stay on the reoccurring tasks.

    :grey_question: Possible Solution

    Keep attachments linked to recurring tasks.

    :arrow_heading_up: Describe alternatives you've considered

    I have tried to put them into the notes section, but for some files you have to call the application to open it locally example is: onenote:http://fileonline.contoso.com/file excel:http://fileonline.contoso.com/file or onenote:C:\placeyourfilesare\file.file excel:C:\placeyourfilesare\file.file

    :heavy_plus_sign: Additional context

    While you can link to a website in the notes, you cant use system level calls "onenote:" or "exce:" etc. You can use a link that is shared in OneDrive, but some files don't need to be shared so ideally you would link to the file locally. Additionally this adds the overhead of opening through a browser that then wants us to validate etc. With the attachments you can do this all in 1 click. It works very well.

    enhancement help wanted 
    opened by NapAlot 1
  • Error: Project dHB7xzomZ not found

    Error: Project dHB7xzomZ not found

    Every time I start the app I get a "Project not FOund" error. There appears to be a ghost task with an old/renamed project.

    Steps to Reproduce

    1. Add recurring task to project
    2. Delete or rename project? (I'm not fully sure, and it's hard for me to just delete all my data to see if I can reproduce an error.)

    Console Output

    • projectId dHB7xzomZ from task not existing

    Stacktrace

    Error: Project dHB7xzomZ not found
        at file:///tmp/.mount_superPep8myi/resources/app.asar/dist/main.2169d5d12358f46feff8.js:1:1510204
        at file:///tmp/.mount_superPep8myi/resources/app.asar/dist/main.2169d5d12358f46feff8.js:1:177333
        at memoized (file:///tmp/.mount_superPep8myi/resources/app.asar/dist/main.2169d5d12358f46feff8.js:1:176907)
        at mt (file:///tmp/.mount_superPep8myi/resources/app.asar/dist/main.2169d5d12358f46feff8.js:1:177725)
        at file:///tmp/.mount_superPep8myi/resources/app.asar/dist/main.2169d5d12358f46feff8.js:1:177385
        at memoized (file:///tmp/.mount_superPep8myi/resources/app.asar/dist/main.2169d5d12358f46feff8.js:1:176907)
        at o.project (file:///tmp/.mount_superPep8myi/resources/app.asar/dist/main.2169d5d12358f46feff8.js:1:176302)
        at o._next (file:///tmp/.mount_superPep8myi/resources/app.asar/dist/main.2169d5d12358f46feff8.js:1:1087618)
        at o.next (file:///tmp/.mount_superPep8myi/resources/app.asar/dist/main.2169d5d12358f46feff8.js:1:1075767)
        at t._subscribe (file:///tmp/.mount_superPep8myi/resources/app.asar/dist/main.2169d5d12358f46feff8.js:1:1068444)
    

    Meta Info

    META: SP7.5.2 Electron – en-GB – Linux x86_64 – Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) superProductivity/7.5.2 Chrome/91.0.4472.124 Electron/13.1.7 Safari/537.36

    Actions Before Error

    1632170745855: [Persistence] Save to DB 
    1632170745856: [TaskRepeatCfg] Update TaskRepeatCfg 
    1632170745856: [Persistence] Save to DB 
    1632170745856: [Task][Issue] Add Task 
    1632170745861: [Persistence] Save to DB 
    1632170745861: [Persistence] Save to DB 
    1632170745862: [Persistence] Save to DB 
    1632170745862: [TaskRepeatCfg] Update TaskRepeatCfg 
    1632170745862: [Persistence] Save to DB 
    1632170745975: [Task] Update Task 
    1632170745977: [Persistence] Save to DB 
    1632170745977: [Task] Update Task Tags 
    1632170745986: [Project] Auto Move Task from backlog to today 
    1632170745987: [Persistence] Save to DB 
    1632170745987: [Persistence] Save to DB 
    1632170745987: [Persistence] Save to DB 
    1632170745987: [Task] Update Task 
    1632170745988: [Persistence] Save to DB 
    1632170745988: [Task] Update Task Tags 
    1632170745993: [Project] Auto Move Task from backlog to today 
    1632170745994: [Persistence] Save to DB 
    1632170745994: [Persistence] Save to DB 
    1632170745994: [Persistence] Save to DB 
    1632170745995: [Task] Update Task 
    1632170745996: [Persistence] Save to DB 
    1632170745996: [Task] Update Task Tags 
    1632170746000: [Project] Auto Move Task from backlog to today 
    1632170746001: [Persistence] Save to DB 
    1632170746001: [Persistence] Save to DB 
    1632170746001: [Persistence] Save to DB
    
    opened by DBecker7 2
  • GitLab tasks should be marked completed when the issue got closed on the server

    GitLab tasks should be marked completed when the issue got closed on the server

    I have successfully linked my first GitLab project and receive all the tasks in the client. But they remain in the list of open tasks until I manually mark them as completed - even if they had been closed on the GitLab server. The client recognizes the status change but I wonder why it doesn't mark the task as completed then.

    enhancement help wanted 
    opened by jurgenhaas 3
  • copy URL to clipboard

    copy URL to clipboard

    Problem Statement

    I have a task and I attached a URL to it. When I show the attachments, an info panel appears on the right side. Moving the mouse on the URL attachment, 3 options appear: open URL, edit, and delete. Here I'd like to see a 4th option: copy URL to clipboard.

    Rationale

    I use several web browsers, each for a specific task. When I click on open URL, then my main web browser will open this URL. However, if I use a different web browser at the moment, I would prefer to open the link there. The simplest way would be to copy the URL and then I'll open it manually in the browser in which I want.

    Another use case: I want to send this URL to someone in an email. Then copying the URL would be the simplest solution.

    Workaround

    A workaround solution would be to use the edit option and then copy the link without editing it. But it's more steps and when clicking on Edit, the URL is not highlighted by default. Here an easy fix would be to highlight the URL when clicking on Edit. Then Edit and Ctrl+c would do the trick.

    enhancement 
    opened by jabbalaci 3
  • dropbox authorization code: nothing happens AUR

    dropbox authorization code: nothing happens AUR

    SuperProductivity version: 7.5.2 Operating system: Manjaro Linux

    When clicking on "Get Authorization Code" for Dropbox, nothing happens. The browser is not opened. SuperProductivity is launched in the terminal, but no debug info appears there.

    Quick fix: show the URL, then I could open it manually. It may be just the button that doesn't work.

    bug help wanted 
    opened by jabbalaci 5
  • M1 Mac build? (Universal)

    M1 Mac build? (Universal)

    Problem Statement

    Hey will there be an M1 version anytime soon?

    :grey_question: Possible Solution

    :arrow_heading_up: Describe alternatives you've considered

    :heavy_plus_sign: Additional context

    enhancement help wanted 
    opened by orphee-celui-qui-ne-sait-rien 4
  • Make it  more CPU friendly when minimized to tray

    Make it more CPU friendly when minimized to tray

    Problem Statement

    After start using the program my notebook starts the CPU fans. under the CPU utilization it is visible that it takes 3-10% CPU when the app is minimized in the system tray. This is on Desktop/Linux

    :grey_question: Possible Solution

    Suspend all activity when paused and leave only the timers to tick.

    :arrow_heading_up: Describe alternatives you've considered

    :heavy_plus_sign: Additional context

    enhancement help wanted 
    opened by gudata 1
  • Difficult to select task in time tracking reminder

    Difficult to select task in time tracking reminder

    Your Environment

    • Version used: 7.5.2
    • Operating System and version: Windows 8

    Expected Behavior

    In task selecting dialog for time tracking reminder some task should be selected.

    Alternatively the dialog should display a list of available tasks so that user can select a task by mouse.

    Current Behavior

    No task is selected initially. I have to start writing the name of the task, and this can require switching keyboard language.

    Steps to Reproduce (for bugs)

    1. Add some tasks.
    2. Does not start tracking time.
    3. Wait for 2 min.
    4. Select "ADD TO TASK" in time tracking reminder.
    enhancement help wanted 
    opened by hanixer 3
  • Error: Uncaught (in promise): SecurityError: The operation is insecure

    Error: Uncaught (in promise): SecurityError: The operation is insecure

    Steps to Reproduce

    Error Log (Desktop only)

    Console Output

    Error: Uncaught (in promise): SecurityError: The operation is insecure.notify/<@https://app.super-productivity.com/main-es2015.21dfb35b24a982ceb1b9.js:1:2659100fB/<@https://app.super-productivity.com/main-es2015.21dfb35b24a982ceb1b9.js:1:[email protected]://app.super-productivity.com/polyfills-es2015.df6fcf2a87a01af28504.js:1:[email protected]://app.super-productivity.com/main-es2015.21dfb35b24a982ceb1b9.js:1:[email protected]://app.super-productivity.com/main-es2015.21dfb35b24a982ceb1b9.js:1:2658857notifyDesktop/<@https://app.super-productivity.com/main-es2015.21dfb35b24a982ceb1b9.js:1:2658828fB/<@https://app.super-productivity.com/main-es2015.21dfb35b24a982ceb1b9.js:1:[email protected]://app.super-productivity.com/polyfills-es2015.df6fcf2a87a01af28504.js:1:[email protected]://app.super-productivity.com/main-es2015.21dfb35b24a982ceb1b9.js:1:[email protected]://app.super-productivity.com/main-es2015.21dfb35b24a982ceb1b9.js:1:2658775t/this.sessionStartSnack$
    

    Stacktrace

    scheduleResolveOrReject (webpack:///node_modules/zone.js/fesm2015/zone.js:1213:30)
    makeResolver (webpack:///node_modules/zone.js/fesm2015/zone.js:1120:31)
    function (webpack:///node_modules/zone.js/fesm2015/zone.js:1136:32)
    invoke (webpack:///node_modules/zone.js/fesm2015/zone.js:372:25)
    onInvoke (webpack:///node_modules/@angular/core/fesm2015/core.js:28673:32)
    invoke (webpack:///node_modules/zone.js/fesm2015/zone.js:371:51)
    run (webpack:///node_modules/zone.js/fesm2015/zone.js:134:42)
    zone.scheduleMicroTask(source, (webpack:///node_modules/zone.js/fesm2015/zone.js:1276:35)
    invokeTask (webpack:///node_modules/zone.js/fesm2015/zone.js:406:30)
    onInvokeTask (webpack:///node_modules/@angular/core/fesm2015/core.js:28660:32)
    invokeTask (webpack:///node_modules/zone.js/fesm2015/zone.js:405:59)
    task._transitionTo (webpack:///node_modules/zone.js/fesm2015/zone.js:178:46)
    drainMicroTaskQueue (webpack:///node_modules/zone.js/fesm2015/zone.js:582:34)
    

    Meta Info

    META: SP7.5.2 Browser – en-US – Win32 – Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:92.0) Gecko/20100101 Firefox/92.0

    Actions Before Error

    1631808867898: [Task] Add time spent 
    1631808867898: [Tag] Update Work End for Tag 
    1631808867901: [Persistence] Save to DB 
    1631808867901: [Persistence] Save to DB 
    1631808868909: [Task] Add time spent 
    1631808868910: [Tag] Update Work End for Tag 
    1631808868913: [Persistence] Save to DB 
    1631808868913: [Persistence] Save to DB 
    1631808869920: [Task] Add time spent 
    1631808869922: [Tag] Update Work End for Tag 
    1631808869925: [Persistence] Save to DB 
    1631808869925: [Persistence] Save to DB 
    1631808870931: [Task] Add time spent 
    1631808870932: [Tag] Update Work End for Tag 
    1631808870935: [Persistence] Save to DB 
    1631808870935: [Persistence] Save to DB 
    1631808871939: [Task] Add time spent 
    1631808871940: [Tag] Update Work End for Tag 
    1631808871943: [Persistence] Save to DB 
    1631808871943: [Persistence] Save to DB 
    1631808872946: [Task] Add time spent 
    1631808872946: [Tag] Update Work End for Tag 
    1631808872950: [Persistence] Save to DB 
    1631808872951: [Persistence] Save to DB 
    1631808873957: [Task] Add time spent 
    1631808873959: [Tag] Update Work End for Tag 
    1631808873964: [Persistence] Save to DB 
    1631808873964: [Persistence] Save to DB 
    1631808874920: [Pomodoro] Finish Pomodoro Session 
    1631808874939: [Task] UnsetCurrentTask
    
    bug help wanted 
    opened by BigIron-TexasRed 4
  • IndexSizeError: Index or size is negative or greater than the allowed amount

    IndexSizeError: Index or size is negative or greater than the allowed amount

    Steps to Reproduce

    Error Log (Desktop only)

    Console Output

    Stacktrace

    [email protected]://app.super-productivity.com/main-es2015.21dfb35b24a982ceb1b9.js:1:2858900
    ngOnInit/[email protected]://app.super-productivity.com/main-es2015.21dfb35b24a982ceb1b9.js:1:2858129
    [email protected]://app.super-productivity.com/polyfills-es2015.df6fcf2a87a01af28504.js:1:11389
    [email protected]://app.super-productivity.com/polyfills-es2015.df6fcf2a87a01af28504.js:1:7158
    [email protected]://app.super-productivity.com/main-es2015.21dfb35b24a982ceb1b9.js:1:142314
    [email protected]://app.super-productivity.com/polyfills-es2015.df6fcf2a87a01af28504.js:1:7079
    [email protected]://app.super-productivity.com/polyfills-es2015.df6fcf2a87a01af28504.js:1:2554
    [email protected]://app.super-productivity.com/polyfills-es2015.df6fcf2a87a01af28504.js:1:8208
    [email protected]://app.super-productivity.com/polyfills-es2015.df6fcf2a87a01af28504.js:1:20169
    [email protected]://app.super-productivity.com/polyfills-es2015.df6fcf2a87a01af28504.js:1:20415
    
    

    Meta Info

    META: SP7.5.2 Browser – en-US – Linux x86_64 – Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:92.0) Gecko/20100101 Firefox/92.0

    Actions Before Error

    1631279498390: [Persistence] Save to DB 
    1631279498391: [Persistence] Save to DB 
    1631279499370: [Task] Add time spent 
    1631279499382: [Tag] Update Work End for Tag 
    1631279499402: [Persistence] Save to DB 
    1631279499404: [Persistence] Save to DB 
    1631279500371: [Task] Add time spent 
    1631279500384: [Tag] Update Work End for Tag 
    1631279500407: [Persistence] Save to DB 
    1631279500412: [Persistence] Save to DB 
    1631279501371: [Task] Add time spent 
    1631279501381: [Tag] Update Work End for Tag 
    1631279501395: [Persistence] Save to DB 
    1631279501398: [Persistence] Save to DB 
    1631279502372: [Task] Add time spent 
    1631279502379: [Tag] Update Work End for Tag 
    1631279502395: [Persistence] Save to DB 
    1631279502398: [Persistence] Save to DB 
    1631279503371: [Task] Add time spent 
    1631279503379: [Tag] Update Work End for Tag 
    1631279503392: [Persistence] Save to DB 
    1631279503393: [Persistence] Save to DB 
    1631279504372: [Task] Add time spent 
    1631279504389: [Tag] Update Work End for Tag 
    1631279504409: [Persistence] Save to DB 
    1631279504413: [Persistence] Save to DB 
    1631279505372: [Task] Add time spent 
    1631279505380: [Tag] Update Work End for Tag 
    1631279505391: [Persistence] Save to DB 
    1631279505394: [Persistence] Save to DB
    
    bug help wanted 
    opened by eentenza 4
Releases(v7.6.0-rc.1)
Owner
Johannes Millan
I love programming!
Johannes Millan
Menu Bar RSS reader for macOS

baRSS – Menu Bar RSS Reader What is it? A RSS & Atom feed reader that lives in the system status bar. Very much inspired by RSS Menu; go ahead and che

Helena Schobs 34 Sep 16, 2021
🔓✨🔒 An innovative, convenient and secure encryption app

Crypter An innovative, convenient and secure crypto app. Encrypt unlimited bits. Remember only a bit. Crypter is a cross-platform crypto app that make

Habib Rehman 401 Sep 6, 2021
Sigil is a multi-platform EPUB ebook editor

Sigil Sigil is a free, open source, multi-platform ebook editor that uses Qt (and QtWebEngine). It is designed to edit books in ePub format (both ePub

null 4.3k Sep 18, 2021
my fork of MenuMeters by http://www.ragingmenace.com/software/menumeters/

MenuMeters My fork of MenuMeters for El Capitan, Sierra, High Sierra, Mojave, Catalina and Big Sur. Usage: If you just want to use it, please go to ht

null 2.7k Sep 21, 2021
KeePassXC is a cross-platform community-driven port of the Windows application “Keepass Password Safe”.

KeePassXC KeePassXC is a modern, secure, and open-source password manager that stores and manages your most sensitive information. You can run KeePass

KeePassXC 11.1k Sep 23, 2021
Put the output from any script or program into your macOS Menu Bar (the BitBar reboot)

Welcome to xbar xbar (the BitBar reboot) lets you put the output from any script/program in your macOS menu bar. Complete rewrite from the ground up -

Mat Ryer 15.4k Sep 23, 2021
Adds numbered shortcuts to the output git status, and much more

SCM Breeze Streamline your SCM workflow. SCM Breeze is a set of shell scripts (for bash and zsh) that enhance your interaction with git. It integrates

SCM Breeze 2.5k Sep 23, 2021
EnvPane - An OS X preference pane for environment variables

EnvPane - A macOS preference pane for environment variables EnvPane is a preference pane for Mac OS X (10.8 or newer) that lets you set environment va

Hannes Schmidt 549 Sep 19, 2021
ˈyːbɐˌzɪçt

Übersicht Keep an eye on what's happening on your machine and in the world. For general info check out the Übersicht website. Writing Widgets In essen

Felix 3.4k Sep 15, 2021
Keep your application settings in sync (OS X/Linux)

Mackup Keep your application settings in sync. Table of content Quickstart Usage What does it do Bullsh*t, what does it really do to my files Supporte

Laurent Raufaste 11.4k Sep 23, 2021
PowerShell for every system!

PowerShell Welcome to the PowerShell GitHub Community! PowerShell Core is a cross-platform (Windows, Linux, and macOS) automation and configuration to

PowerShell Team 29.6k Sep 18, 2021
The Blockstack Browser

Blockstack Browser The Blockstack Browser allows you to explore the Blockstack internet. ⚠️ IMPORTANT: This project has been deprecated in favor of th

Stacks 1.1k Sep 16, 2021
Managing windows size and position in OSX

ShiftIt Managing window size and position in OSX Looking for a new maintainer #296. This project is looking for a new maintainer. Until that transitio

Filip Krikava 5.3k Sep 24, 2021
Command line program to print location information from CoreLocation

CoreLocationCLI CoreLocationCLI gets the physical location of your device and prints it to standard output. If you move it can also print your updated

William Entriken 150 Sep 17, 2021
The desktop vault (Windows, macOS, Linux).

Bitwarden Desktop Application The Bitwarden desktop app is written using Electron and Angular. The application installs on Windows, macOS, and Linux d

Bitwarden 3k Sep 18, 2021
The unofficial WWDC app for macOS

The unofficial WWDC app for macOS Enjoy WWDC from the comfort of your Mac with the unofficial WWDC app for macOS. Whether you're (virtually) attending

Guilherme Rambo 8.1k Sep 22, 2021
:key: Cross-Platform Passwords Secrets Vault

Buttercup Desktop Buttercup for Desktop - Mac, Linux and Windows ² ⚠️ Buttercup v2 is in pre-release - It will reach its stable release channel soon A

Buttercup 3.6k Sep 10, 2021
Mac Media Keys for the Masses

Common Issues It's asked that anyone with an issue check the Wiki Section before posting a new issue. Users Guide What? BeardedSpice allows you to con

null 2.7k Sep 19, 2021
:cat2: webrtc screensharing electron app for mac os (Alpha)

ScreenCat ScreenCat is an open source screen sharing + remote collaboration application. You can share your desktop with someone else while letting th

Max Ogden 3k Sep 16, 2021