No description
Find a file
Johannes Millan cbf3eb15d4 fix(electron): add GPU startup guard for confined Linux packages
Defense-in-depth against GPU init failures on Snap/Flatpak Linux where
the main process stays alive but the GPU process crashes at init and
the window never renders. Field data in #7270 (two post-v18.2.4
reports) shows this happens on Ubuntu 24.04+/25.10 regardless of GPU
vendor — the driver is core22 Mesa/libgbm drifted from the host Mesa.
See §12–§17 in docs/research/snap-wayland-gpu-fix-research.md.

Mechanism (electron/gpu-startup-guard.ts):

- Content-based crash marker in userData with {ts, electronVersion}.
  Written before app.whenReady() on confined Linux; cleared via
  IPC.APP_READY after Angular boot — not ready-to-show, which fires
  on blank/broken renderers too.
- Previous-crash detection: marker present AND recent (<5 min) AND
  matching Electron version. Staleness bound + version gating drop
  systemd-SIGKILL-mid-boot and post-upgrade-residue false-negatives.
- Env overrides SP_DISABLE_GPU=1 / SP_ENABLE_GPU=1 work on all
  platforms; auto-detection is Linux+Snap/Flatpak-only.
- Non-ENOENT fs errors logged at warn — a swallowed write-fail
  previously meant the guard could re-enter the loop with no
  diagnostic trail; a swallowed unlink-fail meant a successful boot
  could get permanently stuck in crash-recovery.

Fallback flag bundle (start-app.ts):
  --disable-gpu
  --disable-software-rasterizer
  --ozone-platform=x11

The pair matches Chromium's GPU integration tests' "no GPU process"
invariant; DisplayCompositor handles 2D in the browser process
without spawning a GPU child. app.disableHardwareAcceleration()
alone does NOT — verified against electron/electron#17180/#20702.
The extra --ozone-platform=x11 closes the Chromium 140+
browser-side Wayland/libgbm-dlopen gap on Flatpak (redundant with
the existing Snap X11 widening branch; last flag wins).

Novelty: R3 survey of VS Code, Slack, Insomnia, LosslessCut,
Obsidian flatpak, Firefox snap, and Canonical's gpu-2404-wrapper
found no peer Electron-snap implementing an equivalent reactive
crash-detection + auto-fallback. Prevailing patterns are manual
--ozone-platform=x11, proactive env-sniff, or do-nothing.

Review: §14–§15 multi-agent verification on the original PR #7273;
re-reviewed via 7-agent multi-review (6 Claude focus-agents + Codex
CLI) + 5 research agents here (§17). Live-tested with
SP_DISABLE_GPU=1 on a KDE/X11 dev host — window rendered normally
via DisplayCompositor.

Refs: #7270
2026-04-20 18:35:31 +02:00
.devcontainer
.github
.husky
.signpath/policies/super-productivity
.vscode
android
build
docs docs(research): revive §12 PR #7273 — n=2 field data fires the revisit trigger 2026-04-20 18:35:31 +02:00
e2e
electron fix(electron): add GPU startup guard for confined Linux packages 2026-04-20 18:35:31 +02:00
eslint-local-rules
fastlane/metadata/android
ios
nginx
packages chore(deps): bump @fastify/static to 9.1.1 in super-sync-server 2026-04-20 15:48:40 +02:00
scripts
snap/hooks
src style(plugins): equalize community plugin card heights 2026-04-20 17:36:07 +02:00
tools
.browserslistrc
.dockerignore
.editorconfig
.env.example
.gitattributes
.gitignore
.gitmodules
.gitpod.yml
.npmrc
.nvmrc
.prettierignore
.prettierrc.json
.stylelintrc.mjs
AGENTS.md
angular.json
ARCHITECTURE-DECISIONS.md
capacitor.config.ts
CLAUDE.md
CONTRIBUTING.md
docker-compose.e2e.fast.yaml
docker-compose.e2e.yaml
docker-compose.supersync.yaml
docker-compose.yaml
docker-entrypoint.sh
Dockerfile
Dockerfile.e2e.dev
Dockerfile.e2e.dev.fast
electron-builder.yaml
eslint.config.js
Gemfile
Gemfile.lock
LICENSE
ngsw-config.json
package-lock.json chore(deps): bump @fastify/static to 9.1.1 in super-sync-server 2026-04-20 15:48:40 +02:00
package.json
README.md
SECURITY.md
tsconfig.base.json
tsconfig.json
webdav.yaml

Banner

An advanced todo list app with timeboxing & time tracking capabilities that supports importing tasks from your calendar, Jira, GitHub and others

🌐 Open Web App or 💻 Download


MIT license   GitHub Discussions

Reddit Community   Super Productivity on Mastodon   Tweet

animated

💻 Downloads & Install

Get it on Flathub Get it from the Snap Store English badge Play Store Badge F-Droid Badge Obtanium Badge App Store Badge

For all current downloads, package links, and platform-specific notes: check the wiki.
Get it on GitHub


Ukraine Flag
Humanitarian Aid for Ukraine
Support humanitarian relief via the official National Bank of Ukraine account.


✔️ Features

  • Keep organized and focused! Plan and categorize your tasks using sub-tasks, projects and tags and color code them as needed.
  • Use timeboxing and track your time. Create time sheets and work summaries in a breeze to easily export them to your company's time tracking system.
  • Helps you to establish healthy & productive habits:
    • A break reminder reminds you when it's time to step away.
    • The anti-procrastination feature helps you gain perspective when you really need to.
    • Need some extra focus? A Pomodoro timer is also always at hand.
    • Collect personal metrics to see, which of your work routines need adjustments.
  • Integrate with Jira, Trello, GitHub, GitLab, Gitea, OpenProject, Linear, ClickUp and Azure DevOps. Auto import tasks assigned to you, plan the details locally, automatically create work logs, and get notified immediately, when something changes.
  • Basic CalDAV integration.
  • Back up and synchronize your data across multiple devices with Dropbox and WebDAV support
  • Attach context information to tasks and projects. Create notes, attach files or create project-level bookmarks for links, files, and even commands.
  • Super Productivity respects your privacy and does NOT collect any data and there are no user accounts or registration. You decide where you store your data!
  • It's free and open source and always will be.

And much more!

Work View with global links

📖 Documentation

Full guides and reference material live in the wiki. Quick links: First steps, Reference index, How-To index.

How to use it

If you need some help, this article on dev.to is the best place to start.

If you prefer, there is also a (long) YouTube video available.

There is another article on how I implement the 'eat the frog' prioritizing scheme in the app.

If you have further questions, please refer to the discussions page.

For a structured walkthrough (web app, install, next steps), see First steps (wiki).

Keyboard shortcuts and short-syntax for new tasks are maintained in the wiki: Keyboard shortcuts, Short syntax.

🌐 Web Version

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

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

More detail: Web app vs desktop (wiki).

Community

The development of Super Productivity is driven by a wonderful community of users and contributors. Thank you all so much for your support!

👀 Check out our awesome curated list of community-created resources about Super Productivity

♥️ Contributing

If you want to get involved, please check out the CONTRIBUTING.md

There are several ways to help.

  1. Spread the word: More users mean 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. Provide a Pull Request: Here is a list of the most popular community requests and here some info on how to run the development build (wiki). Please make sure that you're following the commit message format and to also include the issue number in your commit message, if you're fixing a particular issue (e.g.: feat: add nice feature #31).

  3. Answer questions: You know the answer to another user's problem? Share your knowledge!

  4. Provide your opinion: Some community suggestions are controversial. Your input might be helpful and if it is just an up- or down-vote.

  5. Provide a more refined UI spec for existing feature requests

  6. Report bugs

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

  8. Translations, Icons, etc.: You don't have to be a programmer to help. Many of the translations could use some love. Guide: Contribute translations (wiki).

  1. Sponsor the project

  2. Create custom plugins: Extend Super Productivity with your own features and integrations by developing custom plugins. Overview: Develop a plugin (wiki).

Special Thanks to our Sponsors!!!

Recently support for Super Productivity has been growing! A big thank you to all our sponsors, especially the ones below!

  • Agentic AI Quality Engineering via:  TestMu AI

(If you are, intend to or have been a sponsor and want to be shown here, please let me know!)

Code Signing

Windows binaries are signed. Free code signing is provided by SignPath.io, certificate by SignPath Foundation.

Running the development server

See the wiki: Run the development server, Package the app, Build for Android.

Run as Docker Container

See the wiki: Run with Docker (wiki).

Custom themes (desktop only)

See the wiki: Theming (wiki), User data (wiki).

Custom WebDAV Syncing

See the wiki: User data (wiki), Managing your data (wiki).

Automatic Backups

See the wiki: User data (wiki), Restore data from backup (wiki).

User Data Folder

See the wiki: User data (wiki), Other (wiki).