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

Automatically sync new calenders / task-lists #1136

Open
rfc2822 opened this issue Nov 20, 2024 Discussed in #770 · 8 comments
Open

Automatically sync new calenders / task-lists #1136

rfc2822 opened this issue Nov 20, 2024 Discussed in #770 · 8 comments
Labels
enhancement New feature or request

Comments

@rfc2822
Copy link
Member

rfc2822 commented Nov 20, 2024

Can we easily enable it for own collections?

Discussed in #770

Originally posted by NextBlaubeere May 1, 2024
I am using Nextcloud tasks quite heavily. Therefore I often create new task projects which are synced to my android phone via DAVx5.
However, everytime I create a new project i have to refresh the list on the CALDAV tab within the android app and manually select the new projects/calenders.

How can I make DAVx5 to automatically refresh the list and turn on sync for new entries?

@rfc2822 rfc2822 added the enhancement New feature or request label Nov 20, 2024
@sunkup
Copy link
Member

sunkup commented Nov 21, 2024

I think we should do this in two steps and in two PRs, since it really requires two changes in behaviour of the app. There are some questions to both changes that come to my mind.

PR 1. Automatic collection detection

  • Should there be a setting for it? What should we call it?
  • When to run the detection?
    • Before/after a sync or maybe with a periodic worker?
    • Should sync requests via sync-framework trigger the detection as well?
  • Should it be turned on by default?
  • When a sync triggers a refresh the "Refresh Collections" FAB becomes obsolete. Should we hide it?
  • ... more ?

PR 2. Automatic sync activation

  • Should there be a setting? What should we call it?
  • Can we easily enable it for owned/personal collections?
  • How does this work with the managed setting for pre-selecting collections for sync? See bitfireAT/davx5#111
  • Should we exclude problematic collections like the nextcloud "recently contacted" collection ? See bitfireAT/davx5#111
  • ... more ?

@rfc2822
Copy link
Member Author

rfc2822 commented Dec 15, 2024

I think we should do this in two steps and in two PRs, since it really requires two changes in behaviour of the app.

Yes, I'd use this issue now only for the PR 2 as it's easier to change and already improves usability:

PR 2. Automatic sync activation

Should there be a setting? What should we call it?

I wouldn't make it a visible setting. With a safe default, there shouldn't be unexpected results.

Can we easily enable it for owned/personal collections?

I'd set it to Settings.PRESELECT_COLLECTIONS_PERSONAL for davx5-ose by default, too.

How does this work with the managed setting for pre-selecting collections for sync? See https://github.com/bitfireAT/davx5/issues/111

We already have the code :)

Should we exclude problematic collections like the nextcloud "recently contacted" collection ? See https://github.com/bitfireAT/davx5/issues/111

Yes, I'd use the same default setting to exclude the recently contacted. Other services may however also have Recently contacted folders.

@devvv4ever What do you think? Shall we enable all personal collections (CalDAV, CardDAV) (except those in the ignore-list) by default?

@rfc2822
Copy link
Member Author

rfc2822 commented Dec 27, 2024

We (@devvv4ever and I) still don't have a strong opinion on whether it's a good idea to enable this by default for all users.

For additional information, we'll create a poll on Mastodon (know that such a poll is biased, but maybe there are good new arguments).

Currently pro:

  • Syncing collections is the main purpose of the app, and it should be "enabled by default". Most people want to synchronize collections.
  • Some people don't know that they have to turn the sync switches on, at least know directly after setting up the account the first time. Sync will then do nothing.

Con:

  • There may be collections that users don't want to synchronize by default (shared collections by others, unimportant test collections, …). And such collections may even fail, and then there's a sync error by default.

What do you think @ArnyminerZ @sunkup?

@ArnyminerZ
Copy link
Member

I'm not sure about it, I'm in for whatever is chosen, but I think pre-selecting everything by default may cause some issues. It's not that big of an issue to select the ones you have to sync when you first configure the account, it's just like 5 seconds more.

If it got enabled automatically, it may cause some issues, for example, if I create a collection on my PC, and I don't want it enabled on my phone, for any reason, I would have to go and disable it manually, which would already may have created some events or whatever on my phone, which would have to be deleted. It's a bit of doing work for nothing.
On the other hand, if what I want is to also sync it on my phone, I would enable it manually after creating it, which again, is like 5 seconds, and then everything would sync.

I agree that you might create a collection on one device, and then forget enabling it on another one, but I don't know if it should be our problem that someone forgot about that.

Some people don't know that they have to turn the sync switches on, at least know directly after setting up the account the first time. Sync will then do nothing.

That's also true, but maybe we can add a hint somewhere, on a final page on the configuration wizard or something. Like: "everything is configured, enable the collections you want to sync". And that should be enough for first-time-users to know that they have to be enabled manually.

To be honest, I don't know, and I really don't mind, but enabling things by default may bring more problems than solutions...

@devvv4ever
Copy link
Member

Our Managed DAVx⁵ Clients have asked for this and really like the option and also use it a lot. However in this business environment usually one admin is knowing how many collections there are and probably knows if there are some problems with any of the collections and this admin is setting everything up for the actual end-user.

For the normal DAVx⁵: Right now (I'm ambivalent on this) I tend to leave the decision to the user, but if we want to make most people lucky and improve the usability for single users we could think of a hint pointing some non-experienced users to the collections switches telling them to select / choose their desired calendars/address books for sync. Some of them indeed think DAVx⁵ would not sync, but they simply forgot to select the collection. This has happened (got support tickets) - though very rarely. Maybe just display a overlay message in the accounts view if zero collections are selected?

@devvv4ever
Copy link
Member

Here is the poll I made yesterday:

https://fosstodon.org/@davx5app/113732241428694243

@ArnyminerZ
Copy link
Member

By looking at the comments, maybe it's also a good option to have a button to just enable/disable everything

@sunkup
Copy link
Member

sunkup commented Jan 2, 2025

I am with Arnau on this. I don't have anything new to add to his statements really.

Personally, I would leave the collections disabled by default and add a "global" switch to enable/disable all collections of one sync type. It seems that is what the majority of users (?) would want as well.

That switch should then NOT enable the problematic collections like the nextcloud "recently contacted" collection. See bitfireAT/davx5#111

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
Status: Todo
Development

No branches or pull requests

4 participants