Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Automatic creation date #2786

Closed
4 tasks done
hmijail opened this issue Apr 28, 2024 · 37 comments
Closed
4 tasks done

Automatic creation date #2786

hmijail opened this issue Apr 28, 2024 · 37 comments
Labels
insufficient info Not enough information provided: please use the Issue template scope: task dates and times Requests for enhancements to types and formats of dates and times associated with tasks status: not planned type: enhancement New feature or request

Comments

@hmijail
Copy link

hmijail commented Apr 28, 2024

⚠️ Please check that this feature request hasn't been suggested before.

  • I searched previous Ideas in Discussions didn't find any similar feature requests.
  • I searched previous Issues didn't find any similar feature requests.
  • I am only requesting a single feature. Multiple changes should be split into individual requests, with links between them.
  • I believe my requested feature will be generally applicable to other users, not just me: it is not uniquely tied to my personal workflow.

🔖 Feature description

I typically find myself creating multiple tasks in rapid succession in a list, for example taking action items during / after a meeting. Trying to do this and adding e.g. creation dates is currently cumbersome / involved.

Additionally, tasks in general would be immediately more useful (e.g. through queries) if they got some metadata automatically added on creation. The easiest / most logical example is creation date.

There are previous discussions about this, but they seemed to stop just before actually implementing the automatic addition of the creation date.

  • There was a discussion about automatic addition of the creation date based on the file, but the implementation didn't seem to reach the full initial description. Sounds to me like a good idea, but again just having today's date would be better than nothing.
  • One can use the create/edit modal for automatic date (even if it requires hotkey+return per task), but this only works when creating a new task, which conflicts with creating a list of tasks because it then only works in the first task, and is plain distracting to have the modal flash.
    • To fix the list issue, one has to start doing multi-hotkey presses per task creation, and/or disable otherwise general features like the automatic continuation of lists, which again causes multiple hotkeys per item - just in a different way.

✔️ Solution

Probably the most universal would be to just have an option to have today's date automatically added to every new task.

❓ Alternatives

An alternative would be to be able to select multiple tasks and change their dates all at once.

📝 Additional Context

No response

@hmijail hmijail added the type: enhancement New feature or request label Apr 28, 2024
@claremacrae
Copy link
Collaborator

I typically find myself creating multiple tasks in rapid succession in a list, for example taking action items during / after a meeting. Trying to do this and adding e.g. creation dates is currently cumbersome / involved.

Can you please say how you create those? What steps do you use?

@claremacrae claremacrae added the question Further information is requested label Apr 28, 2024
@claremacrae
Copy link
Collaborator

Also, if you are simply typing a list item, hitting return, typing the next item, then I have found it's very easy to use Auto-Suggest to add the created date as you go: Adding Created date to tasks.

@claremacrae
Copy link
Collaborator

Probably the most universal would be to just have an option to have today's date automatically added to every new task.

I do not believe that there is a way for Tasks to do that. Auto-suggest is the closest thing.

@claremacrae
Copy link
Collaborator

An alternative would be to be able to select multiple tasks and change their dates all at once.

That's a nice idea, and is definitely a different thing from this request... which I would label with scope: bulk edits.

There is only one bulk-edit feature request so far:

@hmijail
Copy link
Author

hmijail commented Apr 28, 2024

Can you please say how you create those? What steps do you use?

In my current configuration: lists are continued automatically, Cmd+Enter is mapped to "Tasks: create or edit":

  1. I start typing a line
  2. press Cmd+Enter
  3. the tasks pop-up apperas, I accept it with Enter
  4. I'm in the next line, which is a task. Type some more.
  5. press Cmd+Enter
  6. The pop-up doesn't appear because of (4). The pop-up won't appear again unless delete the line to restart the list.

@claremacrae
Copy link
Collaborator

Trying to do this and adding e.g. creation dates is currently cumbersome / involved.

This is the bit of the request that makes me suspect that you are not using Auto-Suggest - it works very well when configured to your tastes.

I have changed its settings to this, so it doesn't pop up all the time, and I get more suggestions:

  "autoSuggestInEditor": true,
  "autoSuggestMinMatch": 1,
  "autoSuggestMaxItems": 11,

2 works well for autoSuggestMinMatch as well...

@hmijail
Copy link
Author

hmijail commented Apr 28, 2024

"autoSuggestMinMatch": 1,

To me, having the suggestions pop-up appear randomly while typing is pretty distracting. Maybe if there was a hotkey for that...? but that again turns into a sequence of hot/keys per task created.

@claremacrae
Copy link
Collaborator

Can you please say how you create those? What steps do you use?

In my current configuration: lists are continued automatically, Cmd+Enter is mapped to "Tasks: create or edit":

  1. I start typing a line
  2. press Cmd+Enter
  3. the tasks pop-up apperas, I accept it with Enter
  4. I'm in the next line, which is a task. Type some more.
  5. press Cmd+Enter
  6. The pop-up doesn't appear because of (4). The pop-up won't appear again unless delete the line to restart the list.

Ah right, that's not a usage pattern I've seen before, so it's rather valuable information to include in the request - thank you.

So, because there's not an access key for Created date in the modal, you would have to tab through the fields to use td + space to add the date there.

With the above flow, if I understand your flow correctly, I would do the following:

  • 3 the tasks pop-up apperas, I accept it with Enter
  • 3.5 Type ` cr to append creation date to the line just edited by the modal.
  • 4 I'm in the next line, which is a task. Type some more.

@claremacrae
Copy link
Collaborator

"autoSuggestMinMatch": 1,

To me, having the suggestions pop-up appear randomly while typing is pretty distracting. Maybe if there was a hotkey for that...? but that again turns into a sequence of hot/keys per task created.

Agreed - that's why I am suggesting increasing the min-match setting.

If you haven't tried it out with that field adjusted, please do. It works well.

@claremacrae claremacrae added the scope: task dates and times Requests for enhancements to types and formats of dates and times associated with tasks label Apr 28, 2024
@hmijail
Copy link
Author

hmijail commented Apr 28, 2024

3.5 Type ` cr to append creation date to the line just edited by the modal.

I don't think I'm following. With this I just end up with `cr appended to the line.

Anyway, I should have mentioned that in my Tasks configuration I enabled "Set created date on every added task", so the created date is already populated in the popup and I don't need to tab my way inside it. So I can really just type my line, press Cmd+Enter, press Enter... which would be OK, if only it kept working with every line.

If you haven't tried it out with that field adjusted, please do. It works well.

It does work, but in effect the workflow now is

  1. Ensure that you're in a task line (which turns into its own separate problem; new hotkey?)
  2. Type the task
  3. Type the sequence C-R-E-Enter-Enter.

Plus the distraction of random popups whenever I happen to type the beginning a tasks keyword, making sure I'm not accepting the popup, etc. Lots of papercuts.

@claremacrae
Copy link
Collaborator

OK, well I don't understand the above, from your earlier description - but it doesn't matter.

I'm currently adjusting the Edit Task modal so that there is an access key and it will be just a few keystrokes to your muscle memory, to populate the Created date for second and subsequent tasks.

So that will give you another option, and I will release that shortly.

I understand that this may not be as streamlined as you would like, but I have to balance where to spend volunteer time, and I will never be able to satisfy everybody's requests.

Some more suggestions, that use existing capabilities in other tools and plugins:

  • Investigate tools like AutoHotKey (Windows), Alfred (Mac) or similar, to append the Created date
  • Look at the Commander plugin in combination with the Templater plugin, create a Macro that:
    • Appends ➕ [today's date] to the end of the current line, if the line does not already contain
    • And then opens the Modal
    • You could then give that macro the shortcut Cmd + Enter

Actually, that last one would work really well and not have to change your muscle memory at all. That's definitely what I would do.

claremacrae added a commit that referenced this issue Apr 28, 2024
@hmijail
Copy link
Author

hmijail commented Apr 28, 2024

Appends ➕ [today's date] to the end of the current line, if the line does not already contain ➕

I didn't know about the Commander plugin, and if it can do that, I can see it fixing my problem. I'll look into it, thank you.

Not sure where my previous description went wrong, but in case it helps, the only reason for me to use the pop-up was so that the created date was added to the task. Any way that allows me to add the date and move to the next task entry with minimal distraction/fuss is good with me.

@claremacrae claremacrae added status: not planned and removed question Further information is requested labels Apr 28, 2024
@claremacrae
Copy link
Collaborator

In view of this size of the backlog for this project, and the demotivating effect of a very long backlog on volunteer energy levels, I'm going through a continual process of reviewing tasks for things that are one or more of the following:

  • unlikely to be realistically achievable, from the design of the current code, and the planned future refactorings
  • not sufficiently high priority to a broad community of users, based on the feedback I receive from a variety of sources
  • do not fit the core purpose of the Tasks plugin
  • are better covered by a different plugin - to share the development and maintenance effort

So I'm marking this one as 'not planned'. This doesn't mean 'won't fix' - it means not likely to be done in the foreseeable future.

@claremacrae claremacrae closed this as not planned Won't fix, can't repro, duplicate, stale Apr 28, 2024
@claremacrae
Copy link
Collaborator

the only reason for me to use the pop-up was so that the created date was added to the task

Oh right, then the solution is much, much simpler - that would be trivial to do with QuickAdd, Templater or some combination of both those plugins...

No need for Commander at all.

@claremacrae claremacrae added status: wontfix This will not be worked on and removed status: not planned labels Apr 28, 2024
@claremacrae
Copy link
Collaborator

Changing to 'Won't fix' - it's definitely not worth spending time on something that is so easy to do with existing plugins.

@hmijail
Copy link
Author

hmijail commented Apr 29, 2024

In case anyone finds this while looking for options:

After looking a bit into QuickAdd, Templater, core templates, Commander... it looked relatively easy to just blindly add a "+ date" to the current line; but it is a very different thing to do it in a way that works whether the line is a task or not, or if it already has a date, or that removes the date if the task is toggled back into a simple bullet point.

Fortunately there's the ToggleList plugin, which deals with all of this (and more!) quite nicely, without needing to reach out for the mouse at all.

@claremacrae
Copy link
Collaborator

Thank you for the update.

@mikedidomizio
Copy link

I'm replying here because even though this is closed, it's still relatively a fresh issue.

I typically find myself creating multiple tasks in rapid succession in a list, for example taking action items during / after a meeting. Trying to do this and adding e.g. creation dates is currently cumbersome / involved.

This is me as well. Having the option to automatically apply the creation date to tasks that follow each other would be an improvement. My current solution is the ToggleList plugin mentioned above, but unless I'm using it incorrectly, it still requires me to toggle the creation date onto the new task with a command.

I would think creation date could be something automatically applied to all tasks created if a user wanted, and not just tasks through the modal. To me the creation date is no different than the creation date of a file in a filesystem.

I think a QOL improvement would be to have this as well, either built into the "Set created date on every task" option or as a separate option.

If there is a plugin that handles this 100% seamlessly without any additional key presses and done automatically, let me know exactly which plugins and the setup to get me there. Everything mentioned seemed like there were some additional steps required.

In view of this size of the backlog for this project, and the demotivating effect of a very long backlog on volunteer energy levels

Is this something that if could be done, and were submitted as a pull request, would be accepted?

Thanks.

@claremacrae
Copy link
Collaborator

Is this something that if could be done, and were submitted as a pull request, would be accepted?

I am currently beyond my volunteer capacity dealing with the rate of existing Pull Requests - so I need to be clear beforehand about what would be required, in order to avoid someone possibly wasting their time on it...

So, @mikedidomizio, looking at your profile here and your experience of TypeScript, if you were interesting in doing this and:

  • we could have a virtual meeting beforehand to discuss and agree the approach(es) that will be taken
  • and what exactly is the intended behaviour
  • and how would it work in both Live Preview and Source mode ...

Then we can decide what's worth doing before you spend any time on it...

If you're interested, please email the address in my profile - looking forward to hearing from you...

@claremacrae
Copy link
Collaborator

claremacrae commented May 23, 2024

Just to add to the above...

I think a QOL improvement would be to have this as well, either built into the "Set created date on every task" option or as a separate option.

This is one of several things that I don't understand about this request...

I think this is saying that every task that already exists in the vault, but doesn't have a Created Date on, should always have today's date added to it, as soon as it is edited.

That doesn't seem right to me, so maybe I'm missing something about this request - but it's an example of the sorts of behaviour that need to be ironed out before deciding whether to spend time on it....

@hmijail
Copy link
Author

hmijail commented May 24, 2024

@mikedidomizio , just FYI: the ToggleList plugin goes a long way but is not perfect for the use case I described (i.e., quickly entering tasks in a list without fumbling with the mouse or using multiple hotkeys per entry). I opened an issue there that would hopefully help.

@hmijail
Copy link
Author

hmijail commented May 24, 2024

(Deleted my previous comment because I misunderstood a statement)

@hmijail
Copy link
Author

hmijail commented May 24, 2024

I think this is saying that every task that already exists in the vault, but doesn't have a Created Date on, should always have today's date added to it, as soon as it is edited.

My 2 cents: personally, I'd only want the Created Date added the moment the task is created, and only if a Created Date wasn't already added manually.

The difficulty I see is that, once you create a task and press enter to advance to the next line, a new task is created automatically. You keep typing, press enter... and at that point the creation date should be added, but probably this looks to the plugin like "editing an already existing task". No idea how much context the plugin has to disambiguate this case.

@claremacrae
Copy link
Collaborator

My 2 cents: personally, I'd only want the Created Date added the moment the task is created, and only if a Created Date wasn't already added manually.

So one further difficulty that we have with this is, as far as I can see, we have only two users discussing this, and both wanting different behaviours in one specific aspect.

If so, that means double the number of features to be implemented - and likely a user setting to control the behaviour... User settings have a high maintenance cost for the project, and complexity cost for users...

The difficulty I see is that, once you create a task and press enter to advance to the next line, a new task is created automatically. You keep typing, press enter... and at that point the creation date should be added, but probably this looks to the plugin like "editing an already existing task". No idea how much context the plugin has to disambiguate this case.

Yes, exactly.

No idea how much context the plugin has to disambiguate this case.

Currently none.

The difficulty I see is that, once you create a task and press enter to advance to the next line, a new task is created automatically.

Furthermore, the current limitations that prevent the creation date being at beginning of the line are a significant limitation here.

One can't just add the Creation date as soon as the user creates the new line task line. You have to detect when the user navigates away from the new task line - which might be via a Newline, but it might also be closing the note.

@claremacrae
Copy link
Collaborator

It's entirely possible that I am missing some programmatic way of approaching this, of course...

My comments are of course a product of my current knowledge of two years with:

  • Tasks user support, so knowing the kinds of questions people ask, and the variety of ways it is used
  • the Tasks code
  • the domain
  • Obsidian API (of which I have only used a small part)
  • Codemirror (no use at all)

Hence my comment above saying the preconditions for a PR on this. To agree the behaviour first, and how it will be implemented - well, first or early on.

Feature Requests for alternative implementations for alternative solutions are welcome.

For example, a Command to add 'Created today' to the line where the cursor is - so a hotkey can be used, or a button assigned with the Commander plugin.

@mikedidomizio
Copy link

I think this is saying that every task that already exists in the vault, but doesn't have a Created Date on, should always have today's date added to it, as soon as it is edited.

My 2 cents: personally, I'd only want the Created Date added the moment the task is created, and only if a Created Date wasn't already added manually.

So one further difficulty that we have with this is, as far as I can see, we have only two users discussing this, and both wanting different behaviours in one specific aspect.

I think my feature request is close to the same as @hmijail. But from this thread I'm not really interested in that. I hope my "scenario" below makes it clear what feature I'm asking for and maybe aligns with what @hmijail is asking for.

I think this is saying that every task that already exists in the vault, but doesn't have a Created Date on, should always have today's date added to it, as soon as it is edited.

Definitely do not want that, I think this would be only for NEW task creation (as an option) and shouldn't modify previous tasks or add the creation date on modifying existing tasks.

Scenario

  1. I have a task that's filled out. P.S. I have the created date in this picture, but perhaps it shouldn't matter for the next steps.
image
  1. I am at the end of the line of my task. I press the Enter key, which will create a new task.

  2. The next task is created with a creation date automatically, and the caret at the place to add task information.

CleanShot 2024-05-26 at 16 11 58@2x

End scenario.

From my reading above though this may be complicated to accomplish? Could a task not be considered brand new when

  1. user fills out task
  2. user hits enter / new line key
  3. new task is created on the next line empty

Would this not be a sequence of events enough to determine a task is new?

If you're interested, please email the address in my profile - looking forward to hearing from you...

Thanks @claremacrae I might take you up on that soon. I just want to get further feedback on the scenario.

@claremacrae
Copy link
Collaborator

Thanks @claremacrae I might take you up on that soon. I just want to get further feedback on the scenario.

Actually, sorry to do a quick U-turn, but since I wrote that, we have decided to recognise reality and focus on core Tasks code.

There are some foundational changes that we need to make, to simplify maintenance and support, and increase the rate at which we can release improvements to users.

And almost all my available volunteer time has for many, many months been reactively supporting PR contributors, instead of making long term improvements.

So for the same reasons that I closed this request as not a priority, for the immediately foreseeable future I can no longer justify time spent to support a low-priority request - and nor would we be likely to accept a PR on it either.

We have changed the PR template to reflect this:

12188c4

@mikedidomizio
Copy link

Understandable. I was a bit surprised that there wasn't more of an ask for this feature, but I truly understand focusing efforts on the higher priority, bigger impact requests.

Perhaps in the future this may resurface. Until then, thanks @claremacrae and @hmijail.

@claremacrae
Copy link
Collaborator

Thank you very much for your kind understanding @mikedidomizio!

@hmijail
Copy link
Author

hmijail commented May 28, 2024

This issue started with pointers to previous related issues/discussions that were left unfinished, so to mothball this issue in a more complete form, I'll just point out that the scenario described by @mikedidomizio has the same problem mentioned here about creating more than 1 task. He said:

3. The next task is created with a creation date automatically, and the caret at the place to add task information.

At this point one can type the task content. The user types, presses Enter to move to next line, and the problem appears: the date will get moved on to the next task.
So again we're in the case that there is no way to create more than 1 task with dates without recurring to the mouse or to multiple hotkeys/cursor navigation.

To fix this, the just-finished line should keep the creation date. Maybe the plugin could detect on an Enter press that the caret is 1.in a task line and 2. there's only emoji+dates after the caret, and then move to the next line without dragging them on. Might be somewhat surprising, but I'd argue that less so than e.g. the autosuggest box.

Thank you both for considering the issue anyway.

@claremacrae
Copy link
Collaborator

claremacrae commented May 28, 2024

Quoting and reformatting:

To fix this, the just-finished line should keep the creation date. Maybe the plugin could detect on an Enter press that the caret is:

  1. in a task line and
  2. there's only emoji+dates after the caret,

and then move to the next line without dragging them on.

That is a very good idea, and I don't recall it being made before - and it will get lost here, and is not specific to Creation date.

A separate feature request, with a thorough description, would be very welcome.

@claremacrae claremacrae added status: not planned and removed status: wontfix This will not be worked on labels May 28, 2024
@claremacrae
Copy link
Collaborator

I've changed the status of this from 'won't fix' to 'not planned' - meaning it may be reviewed from time to time...

For context, here is the explanation I sometimes use when marking as 'not planned'.


In view of this size of the backlog for this project, and the demotivating effect of a very long backlog on volunteer energy levels, I'm going through a continual process of reviewing tasks for things that are one or more of the following:

  • unlikely to be realistically achievable, from the design of the current code, and the planned future refactorings
  • not sufficiently high priority to a broad community of users, based on the feedback I receive from a variety of sources
  • do not fit the core purpose of the Tasks plugin
  • are better covered by a different plugin - to share the development and maintenance effort

So I'm marking this one as 'not planned'. This doesn't mean 'won't fix' - it means not likely to be done in the foreseeable future.

@hmijail
Copy link
Author

hmijail commented May 29, 2024

A separate feature request, with a thorough description, would be very welcome.

Just did that. Thank you for re-reconsidering :)

@claremacrae
Copy link
Collaborator

Just did that. Thank you for re-reconsidering :)

Oh dear...

But I'm not reconsidering - there has been some kind of misunderstanding.

Please re-read my comment in #2786 (comment) - which explicitly says it is not at all specific to Creation date.

Yet the new ticket - #2861 - says that it is a summary of this one.

@claremacrae
Copy link
Collaborator

Never mind, @hmijail - I will create the ticket describing the feature described in #2786 (comment) - to avoid risking wasting your time again.

@claremacrae
Copy link
Collaborator

Quoting and reformatting:

To fix this, the just-finished line should keep the creation date. Maybe the plugin could detect on an Enter press that the caret is:

  1. in a task line and
  2. there's only emoji+dates after the caret,

and then move to the next line without dragging them on.

That is a very good idea, and I don't recall it being made before - and it will get lost here, and is not specific to Creation date.

A separate feature request, with a thorough description, would be very welcome.

I have written up @hmijail's request at:

@claremacrae
Copy link
Collaborator

I think that you may actually have discovered a bug, in which case I will open this.

But first, please read this Example 'Steps to reproduce'

Then, if you can edit the description above, and give a similarly precise and unambiguous set of instructions to reproduce the problem you are seeing, that made you feel it was a bug ... I will go ahead and re-open this, and close the (similarly non-specific) Feature Request.

@claremacrae claremacrae added the insufficient info Not enough information provided: please use the Issue template label May 29, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
insufficient info Not enough information provided: please use the Issue template scope: task dates and times Requests for enhancements to types and formats of dates and times associated with tasks status: not planned type: enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants