Task management for the Obsidian knowledge base.

Overview

Obsidian Tasks SQL Powered

Task management for the Obsidian knowledge base. With SQL Powers

Version Contributors Forks Stargazers Issues MIT License Downloads

📑 Documentation

This is a fork of the Tasks plugin for obsidian and will be kept in sync with it where possible. This for provides extended query capabilities and long term should be merged back into the main plugin. Until then enjoy the power of SQL.

Here are some examples of what can be done with this plugin:

  • WHERE status->indicator = ' ' AND moment()->[format]('YYYY-MM-DD') = moment(dueDate)->[format]('YYYY-MM-DD')
  • WHERE status->indicator = ' ' AND moment(dueDate)->isBetween(moment()->startOf('day').subtract(1, 'days'), moment()->startOf('day').add(14, 'days'))
  • WHERE status->indicator = 'x' AND precedingHeader LIKE '%tasks%'
  • WHERE status->indicator = ' ' AND moment(dueDate)->[format]('YYYY-MM-DD') = '2021-04-09' AND path LIKE '%GitHub%'
  • WHERE description LIKE '%waiting%' OR description LIKE '%waits%' OR description LIKE '%wartet%'

And much much more is possible, go explore and share!

Track tasks across your entire vault. Query them and mark them as done wherever you want. Supports due dates, recurring tasks (repetition), done dates, sub-set of checklist items, and filtering.

You can toggle the task status in any view or query and it will update the source file.


For changes in each release, please check the releases page: https://github.com/sytone/obsidian-tasks-x/releases


Screenshots

ACME Tasks The ACME note has some tasks.

Important Project Tasks The Important Project note also has some tasks.

Tasks Queries The Tasks note gathers all tasks from the vault and displays them using queries.

Create or Edit Modal The Tasks: Create or edit command helps you when editing a task.

Installation

Follow the steps below to install Tasks.

  1. Search for "Tasks X" in Obsidian's community plugins browser
  2. Enable the plugin in your Obsidian settings (find "Tasks X" under "Community plugins").
  3. Check the settings. It makes sense to set the global filter early on (if you want one).
  4. Replace the "Toggle checklist status" hotkey with "Tasks: Toggle Done".
    • I recommend you remove the original toggle hotkey and set the "Tasks" toggle to Ctrl + Enter (or Cmd + Enter on a mac).

From BRAT

To install a pre-release, download and enable the Obsidian42 BRAT plugin, add the beta repository sytone/obsidian-tasks-x, and then have BRAT check for updates.

Manual installation

  1. Download the latest release
  2. Extract the obsidian-tasks-x-plugin folder from the zip to your vault's plugins folder: {vault}/.obsidian/plugins/ Note: On some machines the .obsidian folder may be hidden. On MacOS you should be able to press Command+Shift+Dot to show the folder in Finder.
  3. Reload Obsidian
  4. If prompted about Safe Mode, you can disable safe mode and enable the plugin.

User Documentation

For user documentation, please check https://sytone.github.io/obsidian-tasks-x/.

Development

Clone the repository, run yarn to install the dependencies, and run yarn dev to compile the plugin and watch file changes.

Donations

The plugin is completely free to use. If you love it very much and want to pay it forward, please consider donating to an organization of your choice. Two example organizations that you could consider donating to are the Wikimedia Foundation and the Electronic Frontiers Foundation:

  1. Support the Wikimedia Foundation
  2. Support EFF
Comments
  • Created Date appearing Twice

    Created Date appearing Twice

    Issue tracker is ONLY used for reporting bugs. New feature ideas should be discussed in the ideas section. Please use the Q&A section for supporting issues. Please use the search function.

    If you encountered the issue after you installed, updated, or reloaded the tasks plugin, please try restarting obsidian before reporting the bug.

    If you want to report a bug, please follow the guide lines below to help me resolve it.

    Expected Behavior

    The âž•DATE should appear only once when this date is added

    Current Behavior

    In the case a task does not have a created date (pre-existing ones), then the current date is shows.

    image

    When a task already had a created date (added manually before installing the plugin) then two dates are shown (as in the screenshot) image

    Context (Environment)

    • Obsidian version: v. 0.15.3
    • Tasks version: 2.6.1
    • [ ] I have tried it with all other plugins disabled and the error still occurs

    Possible Solution

    opened by stefanopagliari 4
  • Task Creation/Editing Modal Not Working

    Task Creation/Editing Modal Not Working

    Expected Behavior

    Create/edit task modal should work

    Current Behavior

    CleanShot 2022-06-01 at 22 07 27

    Currently the modal opens, but the date fields aren't parsing and the task can't be saved. The modal can only be dismissed by clicking the close icon or hitting escape.

    Steps to Reproduce

    Open the modal using the command to create/edit a task. When creating a new task the form can be tabbed through, but the fields don't seem to be active. The date fields don't parse when typing, clicking the apply button doesn't do anything, hitting return does nothing.

    CleanShot 2022-06-01 at 22 10 47@2x

    Context (Environment)

    • Obsidian version: 0.14.15
    • Tasks version: 2.0.11
    • [x] I have tried it with all other plugins disabled and the error still occurs
    opened by takeo 3
  • Command palette freezing app with tasks-x enabled

    Command palette freezing app with tasks-x enabled

    Issue tracker is ONLY used for reporting bugs. New feature ideas should be discussed in the ideas section. Please use the Q&A section for supporting issues. Please use the search function.

    If you encountered the issue after you installed, updated, or reloaded the tasks plugin, please try restarting obsidian before reporting the bug.

    If you want to report a bug, please follow the guide lines below to help me resolve it.

    Expected Behavior

    cmd-p should open the command palette

    Current Behavior

    command-p seems to freeze the entire app for about a minute and spikes the cpu to 100%. When it finally comes back the console logs this:

    [20220530 08:43:33][SILLY] [Command:debug-export-tasks] Checking if command is available.,[object Object],[object Object] plugin:obsidian-tasks-x-plugin:176

    Steps to Reproduce

    In my current setup it's just hitting cmd-p or clicking the command palette.

    Context (Environment)

    • Obsidian version: 0.14.5
    • Tasks version: 2.0.6
    • [-] I have tried it with all other plugins disabled and the error still occurs

    In my vault with lots of plugins this was happening every time. In a new vault with only BRAT, this plugin, and minimal theme it seemed ok. Not too sure what could be conflicting with it, but the regular tasks plugin works fine in my vault. Let me know if there's anything I can do to help narrow it down. I'm super excited to try your version out.

    opened by takeo 3
  • 'not done' filter returning all statuses

    'not done' filter returning all statuses

    Using the 'not done' filter does not filter out 'done' tasks

    For these tasks:

    • [ ] This is a task 1
    • [x] This is a task 2 (done)

    And this code block:

    CleanShot 2022-06-24 at 17 18 50@2x

    Yields attached result CleanShot 2022-06-24 at 17 16 01@2x

    bug 
    opened by blujaxfan 2
  • BRAT reports main.js missing from v2.0.13 release

    BRAT reports main.js missing from v2.0.13 release

    In case you aren't aware...

    Expected Behavior

    Plugin can be installed from BRAT

    Current Behavior

    Error message about 'main.js missing from release'

    image

    Steps to Reproduce

    Ask BRAT to load sytone/obsidian-tasks-x

    Context (Environment)

    • Obsidian version:
    • Tasks version: not relevant - the current obsidian-tasks-x release is v2.0.13
    • [ ] I have tried it with all other plugins disabled and the error still occurs
    opened by claremacrae 2
  • fixed duplicate example

    fixed duplicate example

    Description

    Fixed duplicate example for footnotes in tasks

    Motivation and Context

    Just something I noticed when reading through the docs

    How has this been tested?

    previewed in obsidian

    opened by Gedeon23 1
  • Editing/Adding Custom Task Types Not Saving

    Editing/Adding Custom Task Types Not Saving

    Expected Behavior

    Tasks status types should save when changed/added

    Current Behavior

    Changing the "next status symbol" field is not saving.

    Steps to Reproduce

    • Change the "next status symbol" field in one of the task types.
    • Close the settings
    • Reopen settings
    • Field has reverted to x

    CleanShot 2022-06-01 at 21 41 37

    Context (Environment)

    • Obsidian version: 0.14.15
    • Tasks version: 2.0.11
    • [-] I have tried it with all other plugins disabled and the error still occurs

    Possible Solution

    Fix updateStatusSetting()

    CleanShot 2022-06-01 at 22 10 23@2x

    bug 
    opened by takeo 1
  • fix: created date appearing twice

    fix: created date appearing twice

    Description

    Fixes issue where the created date was added multiple times.

    Motivation and Context

    Fixes #13

    How has this been tested?

    Added unit test for issue.

    Screenshots (if appropriate)

    Types of changes

    • [x] Bug fix (non-breaking change which fixes an issue)
    • [ ] Refactor (non-breaking change which only improves the design or structure of existing code, and making no changes to its external behaviour)
    • [ ] New feature (non-breaking change which adds functionality)
    • [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)

    Checklist

    • [x] My code follows the code style of this project and passes yarn run lint.
    • [x] My change requires a change to the documentation.
    • [x] I have updated the documentation accordingly.
    • [x] My change has adequate Unit Test coverage.

    By creating a Pull Request you agree to our Code of Conduct. For further guidance on contributing please see contributing guide

    opened by sytone 0
  • fix: created date appearing twice #13

    fix: created date appearing twice #13

    Description

    Fixes issue where the created date was added multiple times.

    Motivation and Context

    Fixes #13

    How has this been tested?

    Added unit test for issue.

    Screenshots (if appropriate)

    Types of changes

    • [x] Bug fix (non-breaking change which fixes an issue)
    • [ ] Refactor (non-breaking change which only improves the design or structure of existing code, and making no changes to its external behaviour)
    • [ ] New feature (non-breaking change which adds functionality)
    • [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)

    Checklist

    • [x] My code follows the code style of this project and passes yarn run lint.
    • [x] My change requires a change to the documentation.
    • [x] I have updated the documentation accordingly.
    • [x] My change has adequate Unit Test coverage.

    By creating a Pull Request you agree to our Code of Conduct. For further guidance on contributing please see contributing guide

    opened by sytone 0
  • build(deps): bump tzinfo from 1.2.9 to 1.2.10 in /docs

    build(deps): bump tzinfo from 1.2.9 to 1.2.10 in /docs

    Bumps tzinfo from 1.2.9 to 1.2.10.

    Release notes

    Sourced from tzinfo's releases.

    v1.2.10

    TZInfo v1.2.10 on RubyGems.org

    Changelog

    Sourced from tzinfo's changelog.

    Version 1.2.10 - 19-Jul-2022

    Commits
    • 0814dcd Fix the release date.
    • fd05e2a Preparing v1.2.10.
    • b98c32e Merge branch 'fix-directory-traversal-1.2' into 1.2
    • ac3ee68 Remove unnecessary escaping of + within regex character classes.
    • 9d49bf9 Fix relative path loading tests.
    • 394c381 Remove private_constant for consistency and compatibility.
    • 5e9f990 Exclude Arch Linux's SECURITY file from the time zone index.
    • 17fc9e1 Workaround for 'Permission denied - NUL' errors with JRuby on Windows.
    • 6bd7a51 Update copyright years.
    • 9905ca9 Fix directory traversal in Timezone.get when using Ruby data source
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies ruby 
    opened by dependabot[bot] 0
  • build(deps-dev): bump svelte from 3.48.0 to 3.49.0

    build(deps-dev): bump svelte from 3.48.0 to 3.49.0

    Bumps svelte from 3.48.0 to 3.49.0.

    Changelog

    Sourced from svelte's changelog.

    3.49.0

    • Improve performance of string escaping during SSR (#5701)
    • Add ComponentType and ComponentProps convenience types (#6770)
    • Add support for CSS @layer (#7504)
    • Export CompileOptions from svelte/compiler (#7658)
    • Fix DOM-less components not being properly destroyed (#7488)
    • Fix class: directive updates with <svelte:element> (#7521, #7571)
    • Harden attribute escaping during SSR (#7530)
    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies javascript 
    opened by dependabot[bot] 0
  • build(deps): bump nokogiri from 1.13.6 to 1.13.9 in /docs

    build(deps): bump nokogiri from 1.13.6 to 1.13.9 in /docs

    Bumps nokogiri from 1.13.6 to 1.13.9.

    Release notes

    Sourced from nokogiri's releases.

    1.13.9 / 2022-10-18

    Security

    Dependencies

    • [CRuby] Vendored libxml2 is updated to v2.10.3 from v2.9.14.
    • [CRuby] Vendored libxslt is updated to v1.1.37 from v1.1.35.
    • [CRuby] Vendored zlib is updated from 1.2.12 to 1.2.13. (See LICENSE-DEPENDENCIES.md for details on which packages redistribute this library.)

    Fixed

    • [CRuby] Nokogiri::XML::Namespace objects, when compacted, update their internal struct's reference to the Ruby object wrapper. Previously, with GC compaction enabled, a segmentation fault was possible after compaction was triggered. [#2658] (Thanks, @​eightbitraptor and @​peterzhu2118!)
    • [CRuby] Document#remove_namespaces! now defers freeing the underlying xmlNs struct until the Document is GCed. Previously, maintaining a reference to a Namespace object that was removed in this way could lead to a segfault. [#2658]

    sha256 checksums:

    9b69829561d30c4461ea803baeaf3460e8b145cff7a26ce397119577a4083a02  nokogiri-1.13.9-aarch64-linux.gem
    e76ebb4b7b2e02c72b2d1541289f8b0679fb5984867cf199d89b8ef485764956  nokogiri-1.13.9-arm64-darwin.gem
    15bae7d08bddeaa898d8e3f558723300137c26a2dc2632a1f89c8574c4467165  nokogiri-1.13.9-java.gem
    f6a1dbc7229184357f3129503530af73cc59ceba4932c700a458a561edbe04b9  nokogiri-1.13.9-x64-mingw-ucrt.gem
    36d935d799baa4dc488024f71881ff0bc8b172cecdfc54781169c40ec02cbdb3  nokogiri-1.13.9-x64-mingw32.gem
    ebaf82aa9a11b8fafb67873d19ee48efb565040f04c898cdce8ca0cd53ff1a12  nokogiri-1.13.9-x86-linux.gem
    11789a2a11b28bc028ee111f23311461104d8c4468d5b901ab7536b282504154  nokogiri-1.13.9-x86-mingw32.gem
    01830e1646803ff91c0fe94bc768ff40082c6de8cfa563dafd01b3f7d5f9d795  nokogiri-1.13.9-x86_64-darwin.gem
    8e93b8adec22958013799c8690d81c2cdf8a90b6f6e8150ab22e11895844d781  nokogiri-1.13.9-x86_64-linux.gem
    96f37c1baf0234d3ae54c2c89aef7220d4a8a1b03d2675ff7723565b0a095531  nokogiri-1.13.9.gem
    

    1.13.8 / 2022-07-23

    Deprecated

    • XML::Reader#attribute_nodes is deprecated due to incompatibility between libxml2's xmlReader memory semantics and Ruby's garbage collector. Although this method continues to exist for backwards compatibility, it is unsafe to call and may segfault. This method will be removed in a future version of Nokogiri, and callers should use #attribute_hash instead. [#2598]

    Improvements

    • XML::Reader#attribute_hash is a new method to safely retrieve the attributes of a node from XML::Reader. [#2598, #2599]

    Fixed

    ... (truncated)

    Changelog

    Sourced from nokogiri's changelog.

    1.13.9 / 2022-10-18

    Security

    Dependencies

    • [CRuby] Vendored libxml2 is updated to v2.10.3 from v2.9.14.
    • [CRuby] Vendored libxslt is updated to v1.1.37 from v1.1.35.
    • [CRuby] Vendored zlib is updated from 1.2.12 to 1.2.13. (See LICENSE-DEPENDENCIES.md for details on which packages redistribute this library.)

    Fixed

    • [CRuby] Nokogiri::XML::Namespace objects, when compacted, update their internal struct's reference to the Ruby object wrapper. Previously, with GC compaction enabled, a segmentation fault was possible after compaction was triggered. [#2658] (Thanks, @​eightbitraptor and @​peterzhu2118!)
    • [CRuby] Document#remove_namespaces! now defers freeing the underlying xmlNs struct until the Document is GCed. Previously, maintaining a reference to a Namespace object that was removed in this way could lead to a segfault. [#2658]

    1.13.8 / 2022-07-23

    Deprecated

    • XML::Reader#attribute_nodes is deprecated due to incompatibility between libxml2's xmlReader memory semantics and Ruby's garbage collector. Although this method continues to exist for backwards compatibility, it is unsafe to call and may segfault. This method will be removed in a future version of Nokogiri, and callers should use #attribute_hash instead. [#2598]

    Improvements

    • XML::Reader#attribute_hash is a new method to safely retrieve the attributes of a node from XML::Reader. [#2598, #2599]

    Fixed

    • [CRuby] Calling XML::Reader#attributes is now safe to call. In Nokogiri <= 1.13.7 this method may segfault. [#2598, #2599]

    1.13.7 / 2022-07-12

    Fixed

    XML::Node objects, when compacted, update their internal struct's reference to the Ruby object wrapper. Previously, with GC compaction enabled, a segmentation fault was possible after compaction was triggered. [#2578] (Thanks, @​eightbitraptor!)

    Commits
    • 897759c version bump to v1.13.9
    • aeb1ac3 doc: update CHANGELOG
    • c663e49 Merge pull request #2671 from sparklemotion/flavorjones-update-zlib-1.2.13_v1...
    • 212e07d ext: hack to cross-compile zlib v1.2.13 on darwin
    • 76dbc8c dep: update zlib to v1.2.13
    • 24e3a9c doc: update CHANGELOG
    • 4db3b4d Merge pull request #2668 from sparklemotion/flavorjones-namespace-scopes-comp...
    • 73d73d6 fix: Document#remove_namespaces! use-after-free bug
    • 5f58b34 fix: namespace nodes behave properly when compacted
    • b08a858 test: repro namespace_scopes compaction issue
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies ruby 
    opened by dependabot[bot] 0
  • 2.7.0 release has links to 2.6.1 files

    2.7.0 release has links to 2.6.1 files

    Expected Behavior

    https://github.com/sytone/obsidian-tasks-x/releases/tag/2.7.0 should contain links to files with 2.7.0 in their names.

    Current Behavior

    image

    Steps to Reproduce

    Context (Environment)

    • Obsidian version:
    • Tasks version:
    • [ ] I have tried it with all other plugins disabled and the error still occurs

    Possible Solution

    opened by claremacrae 0
  • Links to web pages and formatting are not rendered in tasks when in Reading mode

    Links to web pages and formatting are not rendered in tasks when in Reading mode

    Expected Behavior

    All Markdown in task lines is rendered in Reading mode.

    Current Behavior

    Only task lines that contain both [[ and ]] are rendered in Reading mode.

    Steps to Reproduce

    Create the following tasks

    - [ ] I link to [[README]]
    - [ ] I link to a web page [BBC](https://www.bbc.co.uk)
    - [ ] I have some **formatting** and *more formatting*
    

    View them in Reading mode the original Tasks plugin and you see:

    image

    View them in Reading mode in Tasks-x and you see:

    image

    Context (Environment)

    • Obsidian version: 0.15.9
    • Tasks-s version: 2.7.0
    • [ ] ~~I have tried it with all other plugins disabled and the error still occurs~~ I am using the plugins that are enabled in the tasks-x vault, as downloaded from the 2.7.0 release page.

    Possible Solution

    I was prompted to test this out after reading this code:

    https://github.com/sytone/obsidian-tasks-x/blob/e0d7ef293d5a1573ce319e23106be57c075d38bd/src/Task.ts#L521-L526

    It looks to me like it makes the assumption that only wiki links need to be rendered, which is consistent with the behaviour noted above.

    opened by claremacrae 0
  • After merge of Tasks 1.9.0 code, tasks results will not refresh if users edit tasks-x specific fields in Task object

    After merge of Tasks 1.9.0 code, tasks results will not refresh if users edit tasks-x specific fields in Task object

    Summary

    • If you have added any fields to Task in your fork (like date created) ...
    • ... and you merge any post 1.9.0 Tasks code in to your fork ...
    • ... as things currently stand, if a user edits a task and changes a value of one of those new fields ...
    • ... then any tasks code blocks (and probably SQL code blocks) in any active files will not be refreshed.

    More info below.

    Background

    This is to expand on my message in Discord on 2022-07-18

    @sytone please don’t merge 1.9.0 to your fork yet. I need to generalise one of the performance fixes so that it works when there are more values in a Task (like your Added field). Will let you know when it’s ready.

    If you merge now, user task blocks won’t be updated if they edit or add Added values…

    The context is PR #894 in obsidian-tasks.

    That PR describes thoroughly the intention of the change.

    The specific code

    And these new chunks of code:

    Task.identicalTo():

    obsidian-tasks/Task.ts at cad0391d2a3267eb3682a012d2dded3c0f0e4c98 · obsidian-tasks-group/obsidian-tasks · GitHub

    Task.test.ts - 'identicalTo'

    obsidian-tasks/Task.test.ts at cad0391d2a3267eb3682a012d2dded3c0f0e4c98 · obsidian-tasks-group/obsidian-tasks · GitHub

    Action required

    1. Either your fork of Task.identicalTo() needs to be edited to add checks (and tests, of course) for any new fields you have added
    2. Or the existing Task.identicalTo() needs to re-implemented so that it checks all fields in Task, recognises their type, and applies the correct identity-check.

    Reasoning: as schemar noted in this code review comment:

    perf: Stop many non-task edits triggering a redraw of all active tasks blocks by claremacrae · Pull Request #894 · obsidian-tasks-group/obsidian-tasks · GitHub

    The challenge with this implementation (Task.identicalTo()) is that you now need to remember to update it if you change the structure of a task. For example when you add a new field to it.

    It's especially difficult to remember, as all the date fields are declared further down and not necessarily visible when looking at the function head.

    Is there good documentation on what to do to add a new field to Task? (or possibly other modifications)
    Could there be a way where you iterate over the properties of the objects (e.g. Object.keys()) and compare based on the type of the value at runtime (e.g. instanceof)?

    If this is not possible, maybe document here why it isn't possible.

    opened by claremacrae 2
  • Not honoring tags, comments in task description

    Not honoring tags, comments in task description

    Issue tracker is ONLY used for reporting bugs. New feature ideas should be discussed in the ideas section. Please use the Q&A section for supporting issues. Please use the search function.

    If you encountered the issue after you installed, updated, or reloaded the tasks plugin, please try restarting obsidian before reporting the bug.

    If you want to report a bug, please follow the guide lines below to help me resolve it.

    Expected Behavior

    Original Tasks plugin hides comments in reading view and enables tags as normal

    Current Behavior

    tags and comments are displayed as normal text

    Steps to Reproduce

    n/a

    Context (Environment)

    • Obsidian version: 0.15.6 but behaviour observed in previous versions
    • Tasks version:
    • [x] I have tried it with all other plugins disabled and the error still occurs

    Possible Solution

    bug question 
    opened by malevans 1
  • Completing a task does not add a Done date

    Completing a task does not add a Done date

    I was excited to try out the new Tasks Status Types. Thank you for working on these.

    Expected Behavior

    Installing this plugin and accepting its default settings, I would expect that clicking in the Task's checkbox would mark the task as done and add the Done date.

    Current Behavior

    Instead of change [ ] to [x] it changes to [/], which the settings say is 'In Progress'. And it therefore does not add the Done date, regardless of whether the user enabled that field or not.

    It looks like it is a completed task, but it actually is not.

    Problems with this behaviour include:

    • It seems to silently impose on the user the requirement to install special styling to show the in-progress tasks - possibly even imposing Minimal or ITS Themes?
    • It's a change in behaviour when the plugin says it's intended to be backwards-compatible with Tasks.

    Steps to Reproduce

    • Install v2.4.2 of this plugin
    • Create a task e.g. - [ ] Do stuff
    • Switch to Reading mode
    • Click on the task's check box

    Result is: - [/] Do Stuff

    Context (Environment)

    • Obsidian version: 0.15.2
    • Tasks-X version: 2.4.2
    • [x] I have tried it with all other plugins disabled and the error still occurs

    Possible Solution

    • Change the default states to be as per the current Obsidian and Tasks plugin defaults, namely [ ] and [x] only
    • And make it easy to add the 'In progress' state in the settings, for those who would like this feature
    bug enhancement 
    opened by claremacrae 6
Releases(2.7.0)
Owner
Sytone
Principle engineer @microsoft in the US. Worked across Azure and Services and love to tinker with pretty much everything.
Sytone
Satyam Sharma 3 Jul 8, 2022
solana-base-app is a base level, including most of the common features and wallet connectivity, try using `npx solana-base-app react my-app`

solana-base-app solana-base-app is for Solana beginners to get them up and running fast. To start run : run npx solana-base-app react my-app change th

UjjwalGupta49 33 Dec 27, 2022
zieeco 12 Jul 8, 2022
Richard Chileya 5 Nov 11, 2022
A knowledge management garden for https://obsidian.md, in which to grow your ideas

?? ?? The Obsidian Garden Welcome to your Knowledge Garden The Obsidian Garden is both guide in helping you create your own knowledge system, and a kn

Tane Piper 145 Dec 27, 2022
Grupprojekt för kurserna 'Javascript med Ramverk' och 'Agil Utveckling'

JavaScript-med-Ramverk-Laboration-3 Grupprojektet för kurserna Javascript med Ramverk och Agil Utveckling. Utvecklingsguide För information om hur utv

Svante Jonsson IT-Högskolan 3 May 18, 2022
Hemsida för personer i Sverige som kan och vill erbjuda boende till människor på flykt

Getting Started with Create React App This project was bootstrapped with Create React App. Available Scripts In the project directory, you can run: np

null 4 May 3, 2022
Kurs-repo för kursen Webbserver och Databaser

Webbserver och databaser This repository is meant for CME students to access exercises and codealongs that happen throughout the course. I hope you wi

null 14 Jan 3, 2023
A plugin for Obsidian (https://obsidian.md) that adds a button to its search view for copying the Obsidian search URL.

Copy Search URL This plugin adds a button to Obsidian's search view. Clicking it will copy the Obsidian URL for the current search to the clipboard. T

Carlo Zottmann 6 Dec 26, 2022
CloudSecWiki is a cloud security oriented knowledge base maintained by HuoCorp.

CloudSecWiki CloudSecWiki is a cloud security oriented knowledge base maintained by HuoCorp. CloudSecWiki web address:cloudsec.huoxian.cn Local Deploy

HuoCorp 26 Dec 4, 2022
A superfast and easy to use knowledge base to help your customers get the info they need, when they need it most.

A superfast and easy to use knowledge base to help your customers get the info they need, when they need it most. helpkb is an open-source Next.js (A

Mark Moffat 11 Dec 5, 2022
There can be more than Notion and Miro. Affine is a next-gen knowledge base that brings planning, sorting and creating all together. Privacy first, open-source, customizable and ready to use.

AFFiNE.PRO The Next-Gen Knowledge Base to Replace Notion & Miro. Planning, Sorting and Creating all Together. Open-source, Privacy-First, and Free to

Toeverything 12.1k Jan 9, 2023
Statistics plugin for RemNote that will give you some helpful numbers, charts and heatmap for your knowledge base.

RemNote statistics plugin Features This plugin will give you the following statistics: Retention rate Number of cards due in future Type of buttons yo

Henrik 3 Sep 9, 2022
Deta Base UI - A place with more functionality for managing your Deta Base(s).

Deta Base UI - A place with more functionality for managing your Deta Base(s). ✨ Features: Total rows count Quick multi select (click and shift) Searc

Harman Sandhu 13 Dec 29, 2022
This "To-do-list" app is a simple web application that displays a list of task and allows you to add and remove task from that list. it is built with the latest technology namely; JavaScript with webpack Configuration.

To-do-list "To-do-list" is a simple web application that displays a list of task and allows you to add and remove task from that list. Built With HTML

Aniekan udo 10 Nov 21, 2022
Practice Task of HTML - Mache Free Template (PSD to HTML) - Home Task (CTG)

Practice Task of HTML - Mache Free Template (PSD to HTML) - Home Task (CTG) This Assignment is mainly on PSD TO HTML along with HTML,CSS As a Basic HT

Yasir Monon 1 Jan 29, 2022
This "To-do-list" app is a simple web application that displays a list of task and allows you to add and remove task from that list

This "To-do-list" app is a simple web application that displays a list of task and allows you to add and remove task from that list. it is built with the latest technology including but not limited to HTML, CSS, JavaScript and webpack to manipulate DOM.

Jerry Owusu 2 Feb 19, 2022
"To Do List" is a minimalist project that displays a list of task and allows you to add and remove task from that list. Built with JavaScript

To Do List Structure Solo programming project for module 2 week 2 of the Microverse Program. Live Demo Live Demo Link "To Do List" is a minimalist pro

Yersel Hurtado 7 Mar 5, 2022