track-extension
track-extension copied to clipboard
feat(checkvist): Add checkvist integration
:star2: What does this PR do?
This PR adds a new integration for Checkvist. Checkvist is a keyboard-centric web app to create hierarchical task lists or other nested outlines with support for due dates, tags, markdown, reminders, attachments ...
By default, the integration adds a Toggl button to all leaf items of a list. However, the button is only visible if the corresponding leaf item is selected or hovered or if the corresponding timer is running.

The image shows an example list with Toggl buttons. The "Top-level task" is hovered, "Task 4" is selected, and "Task 7" is running.
If an item has tags, the timer is automatically tagged accordingly. The project is also determined automatically. By default the project is the text of the immediate parent item.
The defaults can be changed by tagging items with special tags. These tags are only visible, when an item is edited.
If any item is tagged with #togglize
or #togglizeAll
, Toggl buttons are only added to children of an item which has one of these tags. By this, the Toggl buttons can be restricted to individual branches of the list. In branches tagged with #togglize
only leaf items get a Toggl button; in branches tagged with #togglizeAll
all items get a Toggl button.
To customize which parent item defines the project for an item, the #togglProject
tag can be used. If any of the parent items has this tag, the text of the closest parent having this tag is used as the project.
Finally, if one prefers the Toggl buttons to be placed on the left of its corresponding item, the title of the list can be tagged with #togglLeft
. The example list shown above then looks like this.

:bug: Recommendations for testing
The example list can be played with using this link. (The list is publicly shared, so you better don't use it to store any confidential data. And please don't mess too much with the list. I will delete it when this PR is accepted, or earlier if it is abused.)
Known limitation
One would expect a project automatically determined by the integration for an item on which a timer is started to be created on the fly if it doesn't already exist in Toggl. Unfortunately, this is apparently not (yet) the case (#401, #1399)! Only projects that already exist in Toggl can be automatically included in a timer started with the Toggl button.
The checkvist integration has been tested across Chrome and Firefox.