Daily Recurring Events need refresh to appear when created from DayView

Bug #1364653 reported by Jason on 2014-09-02
22
This bug affects 4 people
Affects Status Importance Assigned to Milestone
Canonical System Image
High
Bill Filler
Ubuntu Calendar App
High
Renato Araujo Oliveira Filho
qtpim-opensource-src (Ubuntu)
High
Renato Araujo Oliveira Filho
qtpim-opensource-src (Ubuntu RTM)
Undecided
Unassigned

Bug Description

When I create a daily recurring event from the DayView that starts on that day, the EventBubble does not immediately appear on the current Day. I can swipe to go to future days, and the EventBubble appears there. If I swipe back to return to the original Day, or I go to a different view (MonthView, WeekView, etc.) the event appears.

Since the EventBubble appears after re-navigating to the page in any way, this appears to be a "refreshing" problem, where the DayView isn't updated after creating a recurring event.

Steps to Reproduce
--------------------------------
1) Open the Calendar App, and go to any day on the DayView.
2) Create a recurring event starting on that day, which re-occurs daily.
3) Save the new event and return to the DayView. The EventBubble should not appear on the DayView for the current Day.

Expected: The EventBubble should appear on the DayView page immediately after returning from creating the event.

A reproduction of this behavior can be seen at: https://www.youtube.com/watch?v=9NK9m8ZznrA&feature=youtu.be

Jason (gerlowskija) wrote :

I put debugging into EventListModel.qml to show when onModelChanged is triggered:

    onModelChanged: {
        console.log("We got some sort of change!");
        isLoading = false
        if(listeneres == undefined) {
            return
        }
        for (var i=0; i < listeners.length; ++i){
            (listeners[i])();
        }
    }

After adding a recurring event, I don't see the debug output. When I swipe to a different day in the future, I do see the output, and swiping back shows the day.

After adding a non-recurring event, I see the debug output immediately.

It looks to me like this is an issue with the underlying qtorganizer5-eds plugin/component, because model.saveItem() gets called in both cases, but the component responds differently in a way that it arguably shouldn't.

I tried to put some debugging in the C++ code for the component (I pulled it from qtorganizer5-eds, which I think is the right repo, but I'm not sure). But I'm having trouble building the repository on my 14.10 desktop. I get errors when running cmake (will paste in a subsequent comment since this one got pretty wordy). To be honest, I have to idea how to build rebuild a C++ plugin and run an app against the updated version.

Can anyone help me answer either of these two questions?
1) is qtorganizer5-eds the place to look for the C++ code that runs the event model in calendar-app?
2) Is there a special process for recompiling the plugin and testing apps against it?

Jason (gerlowskija) wrote :

CMake Warning at /usr/lib/x86_64-linux-gnu/cmake/Qt5Core/Qt5CoreMacros.cmake:273 (find_package):
  Could not find a package configuration file provided by "Qt5Organizer" with
  any of the following names:

    Qt5OrganizerConfig.cmake
    qt5organizer-config.cmake

  Add the installation prefix of "Qt5Organizer" to CMAKE_PREFIX_PATH or set
  "Qt5Organizer_DIR" to a directory containing one of the above files. If
  "Qt5Organizer" provides a separate development package or SDK, be sure it
  has been installed.
Call Stack (most recent call first):
  organizer/CMakeLists.txt:72 (qt5_use_modules)

CMake Error at /usr/lib/x86_64-linux-gnu/cmake/Qt5Core/Qt5CoreMacros.cmake:275 (message):
  Can not use "Organizer" module which has not yet been found.
Call Stack (most recent call first):
  organizer/CMakeLists.txt:72 (qt5_use_modules)

-- Configuring incomplete, errors occurred!
See also "/home/jason/checkouts/qtorganizer5-eds/CMakeFiles/CMakeOutput.log".

Kunal Parmar (pkunal-parmar) wrote :

Hi Jason,

It looks like EDS problem, qtorganizer5-eds is right component, but I recommend you to talk to Renato first, he looks after EDS plugin. He should be able to help you.

Jason (gerlowskija) wrote :

To follow up on this, I was able to get qtorganizer-eds building from source locally. This let me add my own debugging/tweaks to investigate the bug.

That said, I still haven't really been able to find the code related to triggering the onModelChanged event from the qtorganizer-eds side of things. So I haven't made much progress on this.

Kunal Parmar (pkunal-parmar) wrote :

Hi Jason,

EDS is just plugin for Organizer Model.
What I know is Qt's Organizer model will call certain API from plug in, which means EDS. and Then call provide necessary signal to client like calendar.

To understand how mode refresh is called, I think you will need to go though Qt' Organizer model's code.

Mihir Soni (mihirsoni) on 2014-10-16
Changed in ubuntu-calendar-app:
status: New → Confirmed
Gary.Wang (gary-wzl77) wrote :

The reason why the modelChange was not triggered in such case is that for occurrence cases, Pim(Organizer model) trigger modelChange signal only if event id is null , however eds plugin sets event id for occurrence event which cause this bug occurs. Same case for removing occurrence event.

Enclose pls find the patch.

The attachment "fix-occurrence.patch" seems to be a patch. If it isn't, please remove the "patch" flag from the attachment, remove the "patch" tag, and if you are a member of the ~ubuntu-reviewers, unsubscribe the team.

[This is an automated message performed by a Launchpad user owned by ~brian-murray, for any issues please contact him.]

tags: added: patch
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in qtorganizer5-eds (Ubuntu):
status: New → Confirmed
Sebastien Bacher (seb128) wrote :

Renato, could you review the patch there?

Changed in qtorganizer5-eds (Ubuntu):
assignee: nobody → Renato Araujo Oliveira Filho (renatofilho)
Bill Filler (bfiller) on 2016-03-07
Changed in ubuntu-calendar-app:
assignee: nobody → Renato Araujo Oliveira Filho (renatofilho)
importance: Medium → High
Changed in qtorganizer5-eds (Ubuntu):
importance: Undecided → High
tags: added: recurrence
Bill Filler (bfiller) on 2016-03-07
Changed in ubuntu-calendar-app:
milestone: none → 0.5
Changed in qtpim-opensource-src (Ubuntu):
status: New → In Progress
assignee: nobody → Renato Araujo Oliveira Filho (renatofilho)
importance: Undecided → High
no longer affects: qtorganizer5-eds (Ubuntu)
Bill Filler (bfiller) on 2016-03-16
Changed in ubuntu-calendar-app:
status: Confirmed → In Progress
Łukasz Zemczak (sil2100) wrote :

This bug was fixed in the package qtpim-opensource-src 5.0~git20140515~29475884-0ubuntu11.1~overlay6 in https://launchpad.net/~ci-train-ppa-service/+archive/ubuntu/stable-phone-overlay

---------------

qtpim-opensource-src (5.0~git20140515~29475884-0ubuntu11.1~overlay6) vivid; urgency=medium

  * debian/patches/fix_recurrence_events.patch:
    - Fix issues related to repeating events (LP: #1546466) (LP: #1500192)
      (LP: #1455864) (LP: #1535207) (LP: #1471588) (LP: #1364653)
      (LP: #1473685) (LP: #1447930)

 -- Timo Jyrinki <email address hidden> Thu, 17 Mar 2016 14:17:52 +0000

Changed in qtpim-opensource-src (Ubuntu RTM):
status: New → Fix Released
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package qtpim-opensource-src - 5.0~git20140515~29475884-0ubuntu20

---------------
qtpim-opensource-src (5.0~git20140515~29475884-0ubuntu20) xenial; urgency=medium

  * debian/patches/fix_recurrence_events.patch:
    - Fix issues related to repeating events (LP: #1546466) (LP: #1500192)
      (LP: #1455864) (LP: #1535207) (LP: #1471588) (LP: #1364653)
      (LP: #1473685) (LP: #1447930)

 -- Timo Jyrinki <email address hidden> Thu, 17 Mar 2016 14:16:49 +0000

Changed in qtpim-opensource-src (Ubuntu):
status: In Progress → Fix Released
Changed in canonical-devices-system-image:
status: New → Fix Committed
status: Fix Committed → In Progress
importance: Undecided → High
assignee: nobody → Bill Filler (bfiller)
milestone: none → ww08-2016
Bill Filler (bfiller) on 2016-03-21
Changed in ubuntu-calendar-app:
status: In Progress → Fix Committed
Changed in canonical-devices-system-image:
status: In Progress → Fix Committed
Changed in ubuntu-calendar-app:
status: Fix Committed → Fix Released
Changed in canonical-devices-system-image:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers