Skip to content

grams/todoistfix

Repository files navigation

TodoistFix

A Chrome extension that automatically fixes minor UI annoyances in Todoist.

This is a small personal side-project that I'm sharing publicly simply because I see no reason to keep it private. It scratches my own itch with Todoist's UI.

Disclaimers

AI-Generated Code: This project was largely produced by artificial intelligence (Claude). No warranty is provided regarding its functionality, security, or fitness for any particular purpose. Use at your own risk.

Unofficial Project: This project has no affiliation with Doist, Todoist, or any of their subsidiaries. It is an independent personal side-project. Todoist® is a registered trademark of Doist Inc.

Features

1. Rename priorities to match the Eisenhower matrix (FR UI)

Todoist's default priority labels (Priorité 1Priorité 4) order priorities from highest (1) to lowest (4), which collides with the mental model many people use: urgency × importance. TodoistFix rewrites the labels in place so that the dropdown reads as the Eisenhower matrix:

Todoist label Rewritten as Compact button
Priorité 1 Urgent & Important U+I
Priorité 2 Urgent Urg
Priorité 3 Important Imp
Priorité 4 Optionnel Opt

The rewrite is purely visual — Todoist's data and API are untouched.

Only the French UI is supported in v1. The compact form (P1P4) is rewritten only when it appears as a standalone label, so a task titled "P1 release notes" is not affected.

Installation

Since this extension is not published on the Chrome Web Store, you need to install it manually:

  1. Clone or download this repository.

  2. Open Chrome and navigate to chrome://extensions/.

  3. Enable Developer mode (toggle in the top-right corner).

  4. Click Load unpacked and select the todoistfix folder.

  5. Reload app.todoist.com — the extension is now active.

Usage

Once installed, the extension works automatically. No configuration needed.

Open the browser console (F12 → Console) and look for [TodoistFix] logs to verify it's running.

How it works

The extension uses a MutationObserver on document.body to watch for DOM changes on app.todoist.com. When matching text nodes appear (e.g. Priorité 1), it rewrites their nodeValue in place. The compact form (P1, P2, P3, P4) is rewritten only when the text node's trimmed value matches exactly, to avoid clobbering user content.

<input>, <textarea> and [contenteditable] subtrees are skipped, so typing P1 in a search field or task title is never altered.

Development

A small Playwright test exercises the content script against a local HTML fixture that mimics the Todoist priority dropdown. From the repo root:

pnpm install
pnpm test

The test loads the unpacked extension into a real Chromium instance and asserts that:

  • Priorité 1..4 are rewritten to their Eisenhower equivalents.
  • Standalone P1..P4 are rewritten to U+I / Urg / Imp / Opt.
  • A task title "P1 release notes" is not rewritten.
  • An input pre-filled with "P1" is not rewritten.

License

MIT — see LICENSE.

About

Chrome extension that fixes Todoist UI annoyances (Eisenhower priority labels)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors