calendar icon indicating copy to clipboard operation
calendar copied to clipboard

Add a resync button that forces calendar refresh

Open DanyGee opened this issue 4 years ago • 17 comments

Please add a resync button, so the calendar could be manually refreshed. Useful when you added something to your google calendar from other source and you would like to see new changes in eOS calendar app.


Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

DanyGee avatar Aug 05 '19 08:08 DanyGee

Yes, please. That would be really helpful.

tvdeyen avatar Aug 19 '19 09:08 tvdeyen

Would any of the following proposals fit as a solution to this issue?
icon1 (1) icon2 menu

which basically calls in CalendarModel.vala this function

public void load_all_sources () {
        lock (source_client) {
            foreach (var id in source_client.get_keys ()) {
                var source = registry.ref_source (id);
                E.SourceCalendar cal = (E.SourceCalendar)source.get_extension (E.SOURCE_EXTENSION_CALENDAR);
                if (cal.selected == true && source.enabled == true) {
                    load_source (source);
                }
            }
        }
    }

thoughts?

alonfnt avatar Feb 07 '20 15:02 alonfnt

Green sync button fits my estetics.

DanyGee avatar Feb 07 '20 15:02 DanyGee

@DanyGee the second icon looks way better in my opinion but don't count me on that, we need input from @elementary/ux team. Anyway, could you make a merge proposal with these changes? 😊

fabiozaramella avatar Oct 08 '20 12:10 fabiozaramella

Sorry, i meant to tag @AlbertAlonso, also i think that having the resync button in the headebar is more easy and rapidly discoverable, but still an input from UX team is needed.

fabiozaramella avatar Oct 08 '20 12:10 fabiozaramella

Why have a manual sync button instead of just having Calendar ensure it's up to date more often? i.e. can we just have Calendar check if it's up to date every minute (or something) when its UI is open, or would that be too heavy?

cassidyjames avatar Oct 08 '20 19:10 cassidyjames

Why have a manual sync button instead of just having Calendar ensure it's up to date more often? i.e. can we just have Calendar check if it's up to date every minute (or something) when its UI is open, or would that be too heavy?

Sure, Calendar should check every X minutes or whatever (and I think it already does with CalDav calendars) but sometimes would be useful to manually sync them (an option that can be found in all calendar apps), for example to make sure that something hasn't changed at the last minute.

fabiozaramella avatar Oct 14 '20 11:10 fabiozaramella

@fabiozaramella What are use cases for you where you need to synchronize your calendar even faster than the 60 seconds suggested by Cassidy?

4jNsY6fCVqZv avatar Oct 16 '20 10:10 4jNsY6fCVqZv

Well, if the refresh interval will be 60s thats OK - I can live with that. But if it is 5 minutes or more a common use case of a manual refresh would be for example adding something new from a phone and then hit refresh to have it synced right away on the desktop.

Honestly, even 5 minutes interval will be OK. The problem is, there is no information in the app about the update interval at all.

DanyGee avatar Oct 16 '20 10:10 DanyGee

@fabiozaramella What are use cases for you where you need to synchronize your calendar even faster than the 60 seconds suggested by Cassidy?

Yes, 60 seconds would be perfectly fine. However, as @DanyGee explained the current time interval it's unclear and coming from other platforms a user would than expect to be able to sync calendars as he/she wishes.

Maybe we should update online calendars more often (idk how frequent is the resync now) and maybe add an explanation tooltip to the user to inform about that time interval.

fabiozaramella avatar Oct 16 '20 11:10 fabiozaramella

There should be a simple, clear setting in the app - Update Interval (1m/5m/15m) - bigger update delay is not needed - who would like to have a calendar updating once per hour? 💡

DanyGee avatar Oct 16 '20 11:10 DanyGee

From your point of view, do you need different intervals and therefore a UI? Or is a very short interval and the possibility for users to understand the duration of this synchronization process simply enough?

4jNsY6fCVqZv avatar Oct 16 '20 11:10 4jNsY6fCVqZv

I still ask myself: Are there any disadvantages that can occur with a very short set interval?

4jNsY6fCVqZv avatar Oct 16 '20 11:10 4jNsY6fCVqZv

Yes, that would be perfectly enough. A one, 1m/5m interval would be fine. But the user should know the interval. Thats it.

DanyGee avatar Oct 16 '20 11:10 DanyGee

My case scenario was this: Added something to calendar from phone, then noticed it didn't update in eOS calendar. So naturally I was scoping for a resync button - but couldn't find it anywhere. Than I went to settings for an interval - nope, nothing found. Lastly, I checked what services are running for the calendar, killed them, and restarted calendar - then it got updated. Then I've opened this issue 😄

DanyGee avatar Oct 16 '20 11:10 DanyGee

From your point of view, do you need different intervals and therefore a UI? Or is a very short interval and the possibility for users to understand the duration of this synchronization process simply enough?

I would prefer to be able to choose, but maybe it depends on what @elementary/ux team thinks is best option.

fabiozaramella avatar Oct 16 '20 11:10 fabiozaramella

First and foremost thank you for working on this beautiful linux distro. I Try to use the default calendar and see that refreshing calendars is not easily understood, at least for me :-)

Is there any way I can manually refresh all calendars from terminal for instance like running "io.elementary.calendar --refresh" or similar command.

If this was possible i could easily script the update via cron myself, but afaik there is no way to refresh calendars manually.

Please advice

devoldski avatar Sep 08 '21 10:09 devoldski