Code Monkey home page Code Monkey logo

obsidian-todoist-plugin's Introduction

Sync with Todoist Plugin for Obsidian

What is it?

An unofficial plugin for Obsidian that offers the ability to have your Todoist tasks sync bidirectionally with Obsidian. Please note that this is not created by, affiliated with, or supported by Doist.

Please refer to the documentation for details on how to install and use this plugin.

If you like this plugin, feel free to support the development by buying a coffee:

Buy Me A Coffee

obsidian-todoist-plugin's People

Contributors

camdroid avatar g12r avatar jamiebrynes7 avatar k4black 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

obsidian-todoist-plugin's Issues

Give task list a custom class so styling can be done without affecting other lists

Is your feature request related to a problem? Please describe.
I want to give the task list padding of 0px, but doing so with the contains-task-list class also affects normal task lists in other .md files.

Describe the solution you'd like
I propose adding a todoist-task-list class to the task lists to allow for custom styling.

Section filters return no results

  1. Create a project that includes a section (i.e. 'Test')
  2. Add a task under that section
  3. Create a todoist code block in Obsidian that uses the filter /Test
  4. No results will be returned for that block in Preview mode

Creating the same filter within Todoist itself will return the task created above.

YAML entry

Is your feature request related to a problem? Please describe.
Entering json into the code blocks is time consuming and fiddly, it's not a great writing experience

Describe the solution you'd like
I would love to be able to define the same properties but in yaml

name: My Tasks
filter: today | overdue

If it's wrapped in curly braces it could decode in json, and if not try yml

Describe alternatives you've considered
An editor? But yml entry is just as fast as any ui

Additional context
Really love the plugin! ๐Ÿ™

Add ability to fold Projects and Sections

Is your feature request related to a problem? Please describe.
No

Describe the solution you'd like
Todoist tasks can be grouped into projects.
They can be further grouped into sections within those projects

It would be great to be able to fold each of these, so that a particular section or project must be clicked to expand the tasks within the projects or sections.

Describe alternatives you've considered
N/A

Additional context
N/A

Styling seems to be broken

Describe the bug
Using the latest versions of Obsidian and the Todoist plugin, I'm able to see tasks displayed in preview, but the styling seems to be off. This is with the default theme applied only.

To Reproduce
Steps to reproduce the behavior:

  1. Install the plugin from the plugin browser
  2. Configure the .todoist-token in the .obsidian directory
  3. Restart Obsidian
  4. Add the todoist code block
  5. Put on preview

Expected behavior
A todo list styled like in the readme screenshots

Screenshots
Vault2 - Obsidian v0 10 1 2020-12-23 09-56-15

Desktop (please complete the following information):

  • Plugin Version 1.5.0
  • Obsidian Version 0.10.1

Additional context
Add any other context about the problem here.

Missing commands with v1.6

Describe the bug
With v1.6 I have access to the command 'Refresh Metadata' but not to the commands 'Add Todoist task' and ''Add Todoist task with the current page'

Screenshots
image

Desktop (please complete the following information):

  • Plugin Version 1.6.0
  • Obsidian Version 0.10.6

Send obsidian file as task in todoist

Is your feature request related to a problem? Please describe.
Reverse task in Todoist

Describe the solution you'd like
I would like to send my current page I'm working in Obsidian as a task in todoist.

Include date/time if set on the task

If a task has a date or date/time set that should be rendered as part of the task.

Not sure if it would be helpful to render the date in the Daily Note date format or not, both since the tasks go away and I don't know if Obsidian would pick up on the link or not. But it would be nice to have it at least shown as part of the text.

see complete subtasks as strikethrough tasks

Is your feature request related to a problem? Please describe.
No problem

Describe the solution you'd like
i'd like to be able to see complete sub-tasks, like in the webUI maybe through an additional option "seeCompleted": true

Can't scroll down

When trying to scroll down in my note with the todoist script, the note keeps being scrolled back up, not always all the way back to the top.

Ability to render comments on tasks

Is your feature request related to a problem? Please describe.
I would like the plugin to be able to display comments on a given task. This way, I can write useful information on tasks, add links, etc.

Describe the solution you'd like
I would like an option in the plugin menu to include rendering of comments associated with a given task.

Describe alternatives you've considered
Well, right now I have to bounce between Obsidian and Todoist in order to pick up comments on tasks that other team members have left for me.

Not all tasks showing in Obsidian

Describe the bug
I have a bunch of tasks in Todoist for Today and Overdue but only 1 Overdue and 1 Today are being returned.

To Reproduce
Steps to reproduce the behavior:

{
"name": "My Tasks",
"filter": "today | overdue"
}

Expected behavior
All the tasks for today and overdue

Screenshots
Screen Shot 2020-12-08 at 1 23 37 PM
Screen Shot 2020-12-08 at 1 24 15 PM

Desktop (please complete the following information):

  • Plugin Version 1.5.0
  • Obsidian Version 0.9.22

Additional context
It was working fine until late yesterday. Not sure when 0.9.22 update autoupdated

Last item in list loses `task-overdue` class when an item above it is completed

The last item in the list will lose the task-overdue CSS class when any item above it is completed and disappears. It's easy to see if the CSS has a special selector for that class (I have the overdue date turn red).

I believe this is actually cumulative, so the second to last item loses task-overdue if a second item is completed, but I haven't retested that. I have some overdue items I need to complete later today so I can verify that in a bit.

Settings page does not open in 0.8.13

When navigating to the settings page using 0.8.13 (the current insider build) I get a blank page, where on previous versions it worked fine. And the 'Todoist' page title on the left remains highlighted even when navigating away. The app seems to work fine otherwise, but it does seem to me like the settings page is crashing.

I am using the latest 1.2.2 release version of the plugin, and my volcano repo is also up to date.

Sort task by date/time

Somewhat related to #13 , the main Todoist interface will sort the tasks by date/time if set on the tasks. It would be nice to include this sort on the tasks rendered in Obsidian.

To match Todoist tasks with a date and time are rendered first and then tasks with a date but no time and then tasks with no date or time.

Control rendering of project and section separately

I have one large project with multiple sections and tags to identify tasks, and then use filters to focus my tasks on exactly what's needed for the context. I want to eliminate the visual clutter of unneeded display of 'project', but keep the informative 'section'.

Describe the solution you'd like
Control the rendering of project and section separately.

Describe alternatives you've considered
none, just deal with the extra clutter.

Additional context

Could we get a link to the tasks itself in Todoist next to each of them either in text or icon?

Is your feature request related to a problem? Please describe.
It's neither a problem nor a bug, just a slight improvement when it comes to integration.

Describe the solution you'd like
I want every task to have a link to itself in Todoist next to itself in Obsidian.

Describe alternatives you've considered
I don't know any alternatives for this currently.

Additional context
/

[Meta] Unsupported filters

Despite the claims of Todoist's API docs it seems there are some unsupported filter keywords. This ticket tracks these as we run into them, I'll also report it to Todoist and hopefully over time these will become supported!

  • Wildcards in filters #94
  • Comma separated filters #268

when sorting by "priority", I would like to be able to group them and see group headers (Priority1, Priority2)

Is your feature request related to a problem? Please describe.
When I sort by priority, I would like to be able to group by priority as well and see the project name as metadata. This would also apply to grouping by label.

Describe the solution you'd like
See the tasks grouped by priority with Priority Group headers. Ideally, with an "alias" options, I would like to be able to rename "Priority 1" to "urgent".

Describe alternatives you've considered
There are no alternatives

Something like
{
"name": "My Tasks",
"filter": "p1|p2|p3|No priority",
"group": "priority", //or "label" or "project"
"sorting": ["date"],
"alias": {"p1": "Urgent", "p2": "Next"}
}

Wildcard filters return no results

Filters with wildcards, such as @*agenda, do not return any results. This filter does work as expected on the Todoist app/web interface.

Creating tasks in obsidian

Creating tasks in obsidian is a logical next step in the development of this plugin. Here are some of my ideas on how this could work.

  • A command in the command pallet.
  • A form in a note.
  • A dedicated note that gets read once in a while where you type out tasks like you can do in todoist.

Code does not resolve after restart

Describe the bug
every time I restart Obsidian, the todoist code doesn't resolve. I have to modify the code block (i usually remove "}" to create an error and then add it back again) to have it refresh

To Reproduce
Steps to reproduce the behavior:

  1. Restart Obsidian
  2. code does not resolve

Screenshots
image
image

Desktop (please complete the following information):

  • Plugin Version 1.6.0
  • Obsidian Version 0.10.6 (and 0.10.7)

Where to add the API token (Obsidian 0.9.13)

I installed the plugin through the Obsidian installer in Obsidian 0.9.13, but I don't understand where to put the Todoist API token. in the vault/.obsidian folder there is no "todoist-token" file or folder and creating a .txt or .json file with that name myself doesn't seem to work.

Uncompletable tasks in the sync plugin should not get a checkbox

When rendering from a query, some task titles returned are:

* Deadline on XYZ

This gets to be rendered as;

  • * Deadline on XYZ

But to Todoist it is an not completable task, so it would be great of your fantastic sync plugin would honor that ๐Ÿ‘
Keep up the good work!

Moving completed tasks to Obsidian's daily notes

Is your feature request related to a problem? Please describe.
Not related to a problem, but something that might be on the "good-to-have" list. It would be great if we could use Obsidian's daily note as an archive for completed tasks (someone mentioned they do this in the Discord server with another todo app).

Describe the solution you'd like
The process could be a little manual (at least for starters):

  1. Open yesterday's (or whatever date I've selected) daily note
  2. Invoque the command palette to add completed tasks from todoist
    2a. I think an alternative could be the current syntax with the codeblocks if we're able to show completed tasks there
  3. Add them as text to a (configurable) section, e.g. ## Completed tasks
    [...]
    
    ## Completed tasks
    ### Project 1
    - Do thing A
    - Read paper X
    
    ### Project 2
    - Call person Y
    
    ### Home
    - Water plants
    3a. It would work just as the existing syntax, although completed tasks would still be stored in Todoist

Describe alternatives you've considered
As far as I know this isn't possible with filters. Probably the only way to get the completed tasks out of Todoist is through the API, but I could be wrong.

I assume the Todoist archive doesn't necessarily need to go in the daily notes, but could go into any other note too, but it's probably a lot more complex to define what to sync out of the completed tasks in that case.

Additional context
N/A

Obsidian Mobile compatibility

Is your feature request related to a problem? Please describe.
Not really - Obsidian on the ipad is going to be a major workflow for me so I want to keep the functionality the same as on the desktop.

Describe the solution you'd like
Full compatibility with the mobile iteration of Obsidian

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

Additional context
With the current version (0.0.12) the plugin installs, but errors when you try to turn it on in the settings.

Assign containing workspace-leaf a class

Is your feature request related to a problem? Please describe.
I'm annoyed when switching between computers or changing the layout of my obsidian windows that task word-wrap changes.

Describe the solution you'd like
Assigning a class to the workspace-leaf that contains the todoist stuff would give me the ability to give that leaf a fixed width.

Describe alternatives you've considered
Sucking the mild annoyance up and hiding the overflow of the task title, either on a hidden second line or just letting it horizontally overflow outside of the leaf.

Additional context
Not much to say, just that it's not really that important or something that many people will use, but it would still be nice. It would also give me the ability to call the markdown-preview-view and markdown-preview-section in the specific leaf.

Send tasks from Obsidian to Todoist?

Can your script do opposite - Send tasks from Obsidian to Todoist?

It would be awesome to start morning pages in Obsidian and write new task as they come into your mind, then send it to todoist for further control. The same with Worklog and Communicationlog. The idea is to use Obsidian as initial base for all thoughts, ideas and then use 3rd party apps for better results.

Apply .task-overdue to .task-list-item

I have hidden the due date with the following CSS so they appear when hovering over the task, but ideally, I would want to make the background of the task red or apply other styling to the whole task when it is overdue. Until level 4 selectors are fully implemented (This one in particular) applying the class to the parent is the only way to do this without JS voodoo.

.task-list-item .task-date {
  display: none;
}

.task-list-item:hover .task-date{
  display: block;
}

.task-list-item .task-overdue{
  background: red;
}

Bug with overdue tasks

Per our discord conversation:

What I am seeing is that I see overdue daily repeating tasks right away and non-repeating tasks two days after they are due. So Saturdays showed up Monday and Sundays showed up Tuesday. What I expect to see is my overdue tasks as soon as they are overdue.

Create block links when sending tasks to Todoist

Is your feature request related to a problem? Please describe.
With the latest version of this plugin, links corresponding to the specific note would be created when sending tasks from Obsidian to Todoist. It would also be useful to create links corresponding to specific blocks, i.e. block link, when sending tasks.

Describe the solution you'd like
Create block links when sending tasks from Obsidian to Todoist.

Add grouping by project/section options

When querying a filter over multiple projects, it would be nice to optionally group tasks by project/section.

E.g. -

## Project A

- [ ] Task
- [ ] Task 2

### Section 1

- [ ] Task
	- [ ] Subtask

## Project B

- [ ] Task
- [ ] Task

Connection error behind corporate proxy

Describe the bug
I cannot access my todoist tasks with your plugin behind my corporate proxy (but I can access them via Chrome)

Screenshots
app.5a1cc6ab6b6df8c9f7d7.js?WB_REVISION=b0820e3e10926456d1a2848df5e7b8c7:formatted:64871 WebSocket connection to 'wss://ws.todoist.com/ws?token=19efa7e0dbe3da7f' failed: Error during WebSocket handshake: Unexpected response code: 503
(anonymous) @ app.5a1cc6ab6b6df8c9f7d7.js?WB_REVISION=b0820e3e10926456d1a2848df5e7b8c7:formatted:64871
(anonymous) @ app.5a1cc6ab6b6df8c9f7d7.js?WB_REVISION=b0820e3e10926456d1a2848df5e7b8c7:formatted:64908
i @ vendor.f9955d70ecf8f822e0fd.js:90

Desktop (please complete the following information):

  • Plugin Version 1.5.0
  • Obsidian Version 0.9.15

Additional context
I'm behind a (secure) corporate proxy which "filters" our internet traffic ... access to Todoist via Chrome and the Web UI works with no issue.

Option to show count of tasks

Is your feature request related to a problem? Please describe.
No problem. Just a feature request

Describe the solution you'd like
I would like to specify in my code block to show the count of tasks. Either a boolean property like "showCount": true or the ability to add it inline to the name like "Name - {taskCount}"

Describe alternatives you've considered
No alternatives.

Additional context
None.

no time filter not working

The following filter works in the todoist app/website but not in the plugin:

no time & today

obsidian: v0.8.12
plugin: v1.2.2

Markdown Preview output is not rendered when exporting to PDF

When exporting a note to PDF in Obsidian, the output is not printed to the PDF. Instead the codeblock is printed to the PDF.

To Reproduce
Steps to reproduce the behavior:

  1. Add Todoist codeblock to a note
  2. Check if output is shown correctly in Markdown preview mode.
  3. Export the note to PDF
  4. See codeblock printed on PDF instead of the markdown output

Expected behavior
The Markdown Preview output printed to the PDF

Screenshots

Editor:
shot_210223_204727

Markdown Preview
shot_210223_204906

Rendered in exported PDF
shot_210223_204657

Desktop (please complete the following information):

  • Plugin v1.7.0
  • Obsidian v0.11.0

Additional context
I inquired in the Obsidian forum: https://forum.obsidian.md/t/plugin-output-from-codefence-not-rendered-in-pdf-export/13497
The moderator asked me to submit a ticket here.

Turning off 'Render labels' setting does not persist

Describe the bug
When turning off the 'Render labels' setting in the Settings page, it stays selected and the labels are still shown.

To Reproduce
Steps to reproduce the behavior:

  1. Go to 'Todoist' in 'Settings'
  2. Click on the 'Render labels' toggle to turn it off
  3. Close 'Settings' and see that any labels are still shown in the task list
  4. Go back to 'Todoist' in 'Settings' and see that the 'Render labels' toggle is still on

Expected behavior
The 'Render labels' toggle stays off and labels are not shown

Desktop (please complete the following information):

  • Plugin Version [e.g. 1.3.0]
  • Obsidian Version [e.g. 0.8.15]

Todoist tasks with markdown show the markdown text instead of the display version of the text even in display mode

Describe the bug
In Todoist I can add hyper links to a task by using the markdown format for hyperlink,s and I can use other markdown markers to indicate things like bold, italics, etc. The markdown is shown in the Todoist block instead of the modified version of the text. [Task text](link)

To Reproduce
Steps to reproduce the behavior:

  1. Add a task to Todoist with the label "reproduce_bug". The text of that task should include hyperlinked text use the markdown format in the description, and can use other markdown markers like italics or bold
  2. In obsidian create a todoist code block like
{
"name": "",
"filter": " @reproduce_bug",
"sorting": []
}

or just make sure your filter includes the added task
3. View the Todoist code block in display mode
4. You will see the markdown instead of the display versions of the text
Screen Shot 2020-11-30 at 8 44 08 AM

Expected behavior
You should see the hyperlinked text instead of the markdown

Screenshots
Screenshot attached

Desktop (please complete the following information):

  • Plugin Version 1.5.0
  • Obsidian Version 0.9.15

Additional context
Add any other context about the problem here.

Display task labels

Todoist tasks can have any number of labels, these should also be displayed with the task.

Add support for the Outlook plugin / markdown links

Is your feature request related to a problem? Please describe.
Tasks added through the Outlook plugin are displayed as a user-unfriendly paragraph of symbols followed by the email subject.
image

Describe the solution you'd like
I'd really like to see it displayed as a clickable link as it is in the Todoist app. Clicking on it opens the email in Outlook.
image

Describe alternatives you've considered
Right now I just exclude email tasks, @type_email, from the filter.

Additional context
Regarding markdown links - if this is at all in the same vein - there are two different styles:
image
If this should be added as a separate feature request, let me know. I kinda figured they were similar. ๐Ÿ˜… ยฏ\(ใƒ„)/ยฏ

Let me know if/how I can help dig up info or troubleshoot. My Javascript ability is next to nil, but I am technical.

Add option to disable Open in app feature, as it dows not work in Windows

The todoist://task?id= uri is not supported in the Todoist app for windows.

It would be great if we can have a toggle in settings to turn off the link in the context menu 'Open task in Todoist (app)'.

The link in the context menu to 'Open task in Todoist (web)' is sufficient for the windows user.

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.