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

Add a setting to disable "Automatic view refreshing" and one to control "Refresh interval" #3283

Open
5 tasks done
702573N opened this issue Jan 24, 2025 · 7 comments
Open
5 tasks done
Labels
scope: performance issues Issues with speed or responsiveness type: enhancement New feature or request

Comments

@702573N
Copy link

702573N commented Jan 24, 2025

⚠️ Check request is valid.

  • My request is about the Tasks plugin for Obsidian.
  • I am only requesting a single feature in the Tasks plugin. Multiple changes should be split into individual requests, with links between them.
  • I believe my requested feature will be generally applicable to other Tasks plugin users, not just me: it is not uniquely tied to my personal workflow.

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

🔖 Feature description

The Dataview Plugin gives an option to enable/disable 'Automatic view refreshing' and a 'Refresh interval'. This feature could be very helpful to reduce flicker on entering oder editing tasks inside notes parallel to an active query view.

Image

✔️ Solution

Adding a toggle button 'Automatic view refreshing' in Tasks Plugin settings tab.
Adding an input container 'Refresh Interval' in Tasks Plugin settings tab.

❓ Alternatives

No response

📝 Additional Context

No response

@702573N 702573N added the type: enhancement New feature or request label Jan 24, 2025
@claremacrae
Copy link
Collaborator

I don't understand.

What problem is this trying to solve?

Tasks does already automatically refresh the view.

@claremacrae claremacrae added the question Further information is requested label Jan 24, 2025
@702573N
Copy link
Author

702573N commented Jan 25, 2025

If a query with many tasks is fixed and permanently displayed in the sidebar while additional tasks are added in notes, obsidian freezes completely. The cursor remains fixed for several seconds before the next letters that have already been written appear and Obsidian freezes again. This behavior is intensified if the display of the task query output has been adjusted with custom CSS. This behavior is so massively annoying that I am already considering leaving Obsidian again, as it is not possible to work productively this way. The only alternative would be not to leave the query output permanently open in the sidebar, which is not an option for me.

@claremacrae claremacrae added the scope: performance issues Issues with speed or responsiveness label Jan 25, 2025
@claremacrae claremacrae changed the title Feature Request: Automatic view refreshing Feature Request: Option to disable Automatic view refreshing Jan 25, 2025
@claremacrae claremacrae removed the question Further information is requested label Jan 25, 2025
@claremacrae
Copy link
Collaborator

Thank you for the extra info - the context is clear now.

Yes, I agree that the performance in this area needs improving.

Please run the Obsidian Show debug info command and paste the result in here, in a fenced code block. Thank you.

@claremacrae claremacrae added the question Further information is requested label Jan 25, 2025
@702573N
Copy link
Author

702573N commented Jan 25, 2025

Bildschirmaufnahme.2025-01-25.um.11.03.56.mov
Image
SYSTEM INFO:
	Obsidian version: v1.8.2
	Installer version: v1.7.7
	Operating system: Darwin Kernel Version 24.2.0: Fri Dec  6 19:04:03 PST 2024; root:xnu-11215.61.5~2/RELEASE_ARM64_T8132 24.2.0
	Login status: logged in
	Language: de
	Catalyst license: insider
	Insider build toggle: on
	Live preview: on
	Base theme: adapt to system
	Community theme: Primary v2.10.0
	Snippets enabled: 7
	Restricted mode: off
	Plugins installed: 17
	Plugins enabled: 15
		1: Archiver v0.26.1
		2: Attachment Management v0.9.16
		3: CSS Editor v1.2.3
		4: Iconic v1.1.0
		5: Meld Encrypt v2.3.7
		6: Note Toolbar v1.16.1
		7: Set View Mode per Note v1.0.3
		8: Style Settings v1.0.9
		9: File Cleaner Redux v1.4.1
		10: Better Search Views v0.3.0
		11: Automatic Tags v1.1.1
		12: Tag Wrangler v0.6.1
		13: Tasks v7.14.0
		14: Dataview v0.5.67
		15: Tabs v1.1.7

RECOMMENDATIONS:
	Custom theme and snippets: for cosmetic issues, please first try updating your theme and disabling your snippets. If still not fixed, please try to make the issue happen in the Sandbox Vault or disable community theme and snippets.
	Community plugins: for bugs, please first try updating all your plugins to latest. If still not fixed, please try to make the issue happen in the Sandbox Vault or disable community plugins.

@claremacrae
Copy link
Collaborator

Thank you. Very helpful.

I see you are using displaying searches in tabs:

Image

Do those other tabs display tasks search results too?

In my experience, the plugins that offer Tabs support generally render all their tabs all the time - which also has a bad effect on performance.

@702573N
Copy link
Author

702573N commented Jan 25, 2025

The other tabs also show task queries. I have already investigated whether this could be related and have built a small dashboard with only a single task query and without using the tab plugin. Then I thought it might be due to the Dataview Calendar I was using and also removed it from the alternative dashboard. Although the latency then improved somewhat, it could not be completely eliminated by all these measures.

This behavior will of course strongly depend on the respective user, the number of tasks, user-defined CSS and so on. Therefore, I thought that an implementation of View Refresh identical to Dataview could offer all affected users an option to prevent this annoying problem on their own (if required).

@claremacrae claremacrae removed the question Further information is requested label Jan 25, 2025
@claremacrae claremacrae changed the title Feature Request: Option to disable Automatic view refreshing Add a setting to disable "Automatic view refreshing" and one to control "Refresh interval" Jan 25, 2025
@claremacrae
Copy link
Collaborator

This issue

Now I feel like there is enough information to understand the value of the feature - I have renamed it so the intention is clear.

This behavior is so massively annoying that I am already considering leaving Obsidian again

I understand.

If you do decide to stop using the Tasks plugin, please kindly let me know.

It's very frustrating to do work on things in one's free time, only to find that the requestor no longer needs the functionality.

Recent work

I have recently spent some time trying to make Tasks "debounce" rendering, so it renders less often.

Unfortunately my initial attempts resulted in code blocks being stuck at "initialising tasks...". So more work is required.

Related requests

These are all the existing requests and ideas to improve the performance/responsiveness of Tasks:

You can see that I have labelled several already as "priority: high".

I have not yet decided in what order to work on them, but do intend to start work on this area fairly soon, once current in-progress work is released.

claremacrae added a commit that referenced this issue Mar 25, 2025
Basically, many Tasks searches can take more than 0.1 second to render.
But Obsidian and Tasks can parse many files during that 0.1 second span.

1. This speeds up start-up time in cases where there were Tasks queries open
   at start-up Obsidian, preventing double-redraws.
2. It eliminates lots of wasted redraws in open queries, when Obsidian
   is re-reading files that were edited externally (such as via Sync)
   and where bulk edits are made to files in the vault.

Relates to issue #3283
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
scope: performance issues Issues with speed or responsiveness type: enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants