Merge lp:~fboucault/messaging-app/async_bottom_edge into lp:messaging-app

Proposed by Florian Boucault
Status: Merged
Approved by: Tiago Salem Herrmann
Approved revision: 576
Merged at revision: 574
Proposed branch: lp:~fboucault/messaging-app/async_bottom_edge
Merge into: lp:messaging-app
Diff against target: 294 lines (+108/-14)
7 files modified
debian/rules (+1/-1)
src/qml/MainPage.qml (+9/-3)
src/qml/MessagingBottomEdge.qml (+14/-5)
src/qml/SettingsPage.qml (+5/-0)
src/qml/messaging-app.qml (+73/-5)
tests/qml/tst_DualSim.qml (+4/-0)
tests/qml/tst_SingleSim.qml (+2/-0)
To merge this branch: bzr merge lp:~fboucault/messaging-app/async_bottom_edge
Reviewer Review Type Date Requested Status
Tiago Salem Herrmann (community) Approve
system-apps-ci-bot continuous-integration Needs Fixing
Bill Filler (community) Needs Fixing
Florian Boucault (community) Needs Fixing
PS Jenkins bot continuous-integration Pending
Review via email: mp+297334@code.launchpad.net

Commit message

Always load MessagingBottomEdge asynchronously.
Saves around 1000ms at startup.

Description of the change

Always load MessagingBottomEdge asynchronously.
Saves around 1000ms at startup.

To post a comment you must log in.
Revision history for this message
system-apps-ci-bot (system-apps-ci-bot) wrote :

FAILED: Continuous integration, rev:562
https://jenkins.canonical.com/system-apps/job/lp-messaging-app-ci/2/
Executed test runs:
    FAILURE: https://jenkins.canonical.com/system-apps/job/build/656/console
    SUCCESS: https://jenkins.canonical.com/system-apps/job/build-0-fetch/656
    SUCCESS: https://jenkins.canonical.com/system-apps/job/build-1-sourcepkg/release=vivid+overlay/620
    SUCCESS: https://jenkins.canonical.com/system-apps/job/build-1-sourcepkg/release=xenial+overlay/620
    SUCCESS: https://jenkins.canonical.com/system-apps/job/build-1-sourcepkg/release=yakkety/620
    FAILURE: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=amd64,release=vivid+overlay/612/console
    FAILURE: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=amd64,release=xenial+overlay/612/console
    FAILURE: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=amd64,release=yakkety/612/console
    FAILURE: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=armhf,release=vivid+overlay/612/console
    FAILURE: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=armhf,release=xenial+overlay/612/console
    FAILURE: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=armhf,release=yakkety/612/console
    FAILURE: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=i386,release=vivid+overlay/612/console
    FAILURE: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=i386,release=xenial+overlay/612/console
    FAILURE: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=i386,release=yakkety/612/console

Click here to trigger a rebuild:
https://jenkins.canonical.com/system-apps/job/lp-messaging-app-ci/2/rebuild

review: Needs Fixing (continuous-integration)
Revision history for this message
Florian Boucault (fboucault) wrote :

From tiago's testing: "it breaks the use case where we can start messaging-app directly in the new message view via url dispatcher"

review: Needs Fixing
Revision history for this message
system-apps-ci-bot (system-apps-ci-bot) wrote :

FAILED: Continuous integration, rev:563
https://jenkins.canonical.com/system-apps/job/lp-messaging-app-ci/19/
Executed test runs:
    FAILURE: https://jenkins.canonical.com/system-apps/job/build/730/console
    SUCCESS: https://jenkins.canonical.com/system-apps/job/build-0-fetch/730
    SUCCESS: https://jenkins.canonical.com/system-apps/job/build-1-sourcepkg/release=vivid+overlay/677
    SUCCESS: https://jenkins.canonical.com/system-apps/job/build-1-sourcepkg/release=xenial+overlay/677
    SUCCESS: https://jenkins.canonical.com/system-apps/job/build-1-sourcepkg/release=yakkety/677
    FAILURE: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=amd64,release=vivid+overlay/669/console
    SUCCESS: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=amd64,release=xenial+overlay/669
        deb: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=amd64,release=xenial+overlay/669/artifact/output/*zip*/output.zip
    SUCCESS: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=amd64,release=yakkety/669
        deb: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=amd64,release=yakkety/669/artifact/output/*zip*/output.zip
    FAILURE: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=armhf,release=vivid+overlay/669/console
    SUCCESS: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=armhf,release=xenial+overlay/669
        deb: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=armhf,release=xenial+overlay/669/artifact/output/*zip*/output.zip
    SUCCESS: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=armhf,release=yakkety/669
        deb: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=armhf,release=yakkety/669/artifact/output/*zip*/output.zip
    FAILURE: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=i386,release=vivid+overlay/669/console
    SUCCESS: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=i386,release=xenial+overlay/669
        deb: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=i386,release=xenial+overlay/669/artifact/output/*zip*/output.zip
    SUCCESS: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=i386,release=yakkety/669
        deb: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=i386,release=yakkety/669/artifact/output/*zip*/output.zip

Click here to trigger a rebuild:
https://jenkins.canonical.com/system-apps/job/lp-messaging-app-ci/19/rebuild

review: Needs Fixing (continuous-integration)
Revision history for this message
Tiago Salem Herrmann (tiagosh) wrote :

looks good now.
Thanks

review: Approve
Revision history for this message
Bill Filler (bfiller) wrote :

This is not working correctly in 2 column mode, compared to shipping version. Found two issues, testing as follows:

Hardware: Arale
Changed the grid units to make arale go into 2 column mode when rotate:
create this file: /etc/ubuntu-touch-session.d/arale.conf with contents
GRID_UNIT_PX=14

Tests:
1) rotate phone into landscape, causes 2 column mode
Expected results: no bottom edge hint in column 1, only + button on toolbar to create new page
Actual result: bottom edge hint displayed in column 1, invoking it brings up empty page

2) rotate phone into landscape, causes 2 column mode
-- select an existing conversation, verify thread view is open
-- press the + button from header
Expected results: thread view in column 2 is fully replaced with New Message view, "New Message" entry added to top of column 1
Actual results: thread view is not replaced (or partially replaced) in column 2, no "New Message" entry added to column 1

review: Needs Fixing
Revision history for this message
system-apps-ci-bot (system-apps-ci-bot) wrote :

FAILED: Continuous integration, rev:565
https://jenkins.canonical.com/system-apps/job/lp-messaging-app-ci/38/
Executed test runs:
    FAILURE: https://jenkins.canonical.com/system-apps/job/build/867/console
    SUCCESS: https://jenkins.canonical.com/system-apps/job/build-0-fetch/867
    SUCCESS: https://jenkins.canonical.com/system-apps/job/build-1-sourcepkg/release=vivid+overlay/787
    SUCCESS: https://jenkins.canonical.com/system-apps/job/build-1-sourcepkg/release=xenial+overlay/787
    SUCCESS: https://jenkins.canonical.com/system-apps/job/build-1-sourcepkg/release=yakkety/787
    FAILURE: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=amd64,release=vivid+overlay/789/console
    SUCCESS: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=amd64,release=xenial+overlay/789
        deb: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=amd64,release=xenial+overlay/789/artifact/output/*zip*/output.zip
    SUCCESS: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=amd64,release=yakkety/789
        deb: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=amd64,release=yakkety/789/artifact/output/*zip*/output.zip
    FAILURE: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=armhf,release=vivid+overlay/789/console
    SUCCESS: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=armhf,release=xenial+overlay/789
        deb: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=armhf,release=xenial+overlay/789/artifact/output/*zip*/output.zip
    SUCCESS: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=armhf,release=yakkety/789
        deb: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=armhf,release=yakkety/789/artifact/output/*zip*/output.zip
    FAILURE: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=i386,release=vivid+overlay/789/console
    SUCCESS: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=i386,release=xenial+overlay/789
        deb: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=i386,release=xenial+overlay/789/artifact/output/*zip*/output.zip
    SUCCESS: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=i386,release=yakkety/789
        deb: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=i386,release=yakkety/789/artifact/output/*zip*/output.zip

Click here to trigger a rebuild:
https://jenkins.canonical.com/system-apps/job/lp-messaging-app-ci/38/rebuild

review: Needs Fixing (continuous-integration)
566. By Florian Boucault

Revert delaying QML compilation as it triggers a bug in QtQuick

567. By Florian Boucault

Do not call emptyStack too often as it is slower

568. By Florian Boucault

Do not show an empty page if we know another page will be loaded right after

569. By Florian Boucault

Clear the reference to the bottomEdge in the main page if it about to be destroyed.

Revision history for this message
Florian Boucault (fboucault) wrote :

> This is not working correctly in 2 column mode, compared to shipping version.
> Found two issues, testing as follows:
>
> Hardware: Arale
> Changed the grid units to make arale go into 2 column mode when rotate:
> create this file: /etc/ubuntu-touch-session.d/arale.conf with contents
> GRID_UNIT_PX=14
>
> Tests:
> 1) rotate phone into landscape, causes 2 column mode
> Expected results: no bottom edge hint in column 1, only + button on toolbar to
> create new page
> Actual result: bottom edge hint displayed in column 1, invoking it brings up
> empty page
>
> 2) rotate phone into landscape, causes 2 column mode
> -- select an existing conversation, verify thread view is open
> -- press the + button from header
> Expected results: thread view in column 2 is fully replaced with New Message
> view, "New Message" entry added to top of column 1
> Actual results: thread view is not replaced (or partially replaced) in column
> 2, no "New Message" entry added to column 1

Both issues should be resolved now. One of them was caused by https://bugreports.qt.io/browse/QTBUG-54657

Revision history for this message
system-apps-ci-bot (system-apps-ci-bot) wrote :

FAILED: Continuous integration, rev:569
https://jenkins.canonical.com/system-apps/job/lp-messaging-app-ci/41/
Executed test runs:
    FAILURE: https://jenkins.canonical.com/system-apps/job/build/905/console
    SUCCESS: https://jenkins.canonical.com/system-apps/job/build-0-fetch/905
    SUCCESS: https://jenkins.canonical.com/system-apps/job/build-1-sourcepkg/release=vivid+overlay/815
    SUCCESS: https://jenkins.canonical.com/system-apps/job/build-1-sourcepkg/release=xenial+overlay/815
    SUCCESS: https://jenkins.canonical.com/system-apps/job/build-1-sourcepkg/release=yakkety/815
    FAILURE: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=amd64,release=vivid+overlay/821/console
    FAILURE: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=amd64,release=xenial+overlay/821/console
    FAILURE: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=amd64,release=yakkety/821/console
    FAILURE: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=armhf,release=vivid+overlay/821/console
    FAILURE: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=armhf,release=xenial+overlay/821/console
    FAILURE: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=armhf,release=yakkety/821/console
    FAILURE: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=i386,release=vivid+overlay/821/console
    FAILURE: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=i386,release=xenial+overlay/821/console
    FAILURE: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=i386,release=yakkety/821/console

Click here to trigger a rebuild:
https://jenkins.canonical.com/system-apps/job/lp-messaging-app-ci/41/rebuild

review: Needs Fixing (continuous-integration)
570. By Florian Boucault

reverted latest commit

Revision history for this message
system-apps-ci-bot (system-apps-ci-bot) wrote :

FAILED: Continuous integration, rev:570
https://jenkins.canonical.com/system-apps/job/lp-messaging-app-ci/42/
Executed test runs:
    FAILURE: https://jenkins.canonical.com/system-apps/job/build/907/console
    SUCCESS: https://jenkins.canonical.com/system-apps/job/build-0-fetch/907
    SUCCESS: https://jenkins.canonical.com/system-apps/job/build-1-sourcepkg/release=vivid+overlay/817
    SUCCESS: https://jenkins.canonical.com/system-apps/job/build-1-sourcepkg/release=xenial+overlay/817
    SUCCESS: https://jenkins.canonical.com/system-apps/job/build-1-sourcepkg/release=yakkety/817
    FAILURE: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=amd64,release=vivid+overlay/823/console
    FAILURE: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=amd64,release=xenial+overlay/823/console
    FAILURE: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=amd64,release=yakkety/823/console
    FAILURE: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=armhf,release=vivid+overlay/823/console
    FAILURE: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=armhf,release=xenial+overlay/823/console
    FAILURE: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=armhf,release=yakkety/823/console
    FAILURE: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=i386,release=vivid+overlay/823/console
    FAILURE: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=i386,release=xenial+overlay/823/console
    FAILURE: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=i386,release=yakkety/823/console

Click here to trigger a rebuild:
https://jenkins.canonical.com/system-apps/job/lp-messaging-app-ci/42/rebuild

review: Needs Fixing (continuous-integration)
571. By Florian Boucault

reverted latest commit

Revision history for this message
system-apps-ci-bot (system-apps-ci-bot) wrote :

FAILED: Continuous integration, rev:571
https://jenkins.canonical.com/system-apps/job/lp-messaging-app-ci/44/
Executed test runs:
    FAILURE: https://jenkins.canonical.com/system-apps/job/build/910/console
    SUCCESS: https://jenkins.canonical.com/system-apps/job/build-0-fetch/910
    SUCCESS: https://jenkins.canonical.com/system-apps/job/build-1-sourcepkg/release=vivid+overlay/820
    SUCCESS: https://jenkins.canonical.com/system-apps/job/build-1-sourcepkg/release=xenial+overlay/820
    SUCCESS: https://jenkins.canonical.com/system-apps/job/build-1-sourcepkg/release=yakkety/820
    FAILURE: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=amd64,release=vivid+overlay/826/console
    FAILURE: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=amd64,release=xenial+overlay/826/console
    FAILURE: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=amd64,release=yakkety/826/console
    FAILURE: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=armhf,release=vivid+overlay/826/console
    FAILURE: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=armhf,release=xenial+overlay/826/console
    FAILURE: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=armhf,release=yakkety/826/console
    FAILURE: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=i386,release=vivid+overlay/826/console
    FAILURE: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=i386,release=xenial+overlay/826/console
    FAILURE: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=i386,release=yakkety/826/console

Click here to trigger a rebuild:
https://jenkins.canonical.com/system-apps/job/lp-messaging-app-ci/44/rebuild

review: Needs Fixing (continuous-integration)
572. By Florian Boucault

more robust tests

Revision history for this message
system-apps-ci-bot (system-apps-ci-bot) wrote :

FAILED: Continuous integration, rev:572
https://jenkins.canonical.com/system-apps/job/lp-messaging-app-ci/47/
Executed test runs:
    FAILURE: https://jenkins.canonical.com/system-apps/job/build/934/console
    SUCCESS: https://jenkins.canonical.com/system-apps/job/build-0-fetch/934
    SUCCESS: https://jenkins.canonical.com/system-apps/job/build-1-sourcepkg/release=vivid+overlay/841
    SUCCESS: https://jenkins.canonical.com/system-apps/job/build-1-sourcepkg/release=xenial+overlay/841
    SUCCESS: https://jenkins.canonical.com/system-apps/job/build-1-sourcepkg/release=yakkety/841
    FAILURE: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=amd64,release=vivid+overlay/838/console
    FAILURE: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=amd64,release=xenial+overlay/838/console
    FAILURE: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=amd64,release=yakkety/838/console
    FAILURE: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=armhf,release=vivid+overlay/838/console
    FAILURE: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=armhf,release=xenial+overlay/838/console
    FAILURE: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=armhf,release=yakkety/838/console
    FAILURE: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=i386,release=vivid+overlay/838/console
    FAILURE: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=i386,release=xenial+overlay/838/console
    FAILURE: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=i386,release=yakkety/838/console

Click here to trigger a rebuild:
https://jenkins.canonical.com/system-apps/job/lp-messaging-app-ci/47/rebuild

review: Needs Fixing (continuous-integration)
573. By Florian Boucault

ensure that bottomEdge is set only when a single instance exists

574. By Florian Boucault

Simplified bottom edge queue

Revision history for this message
system-apps-ci-bot (system-apps-ci-bot) wrote :

FAILED: Continuous integration, rev:573
https://jenkins.canonical.com/system-apps/job/lp-messaging-app-ci/48/
Executed test runs:
    FAILURE: https://jenkins.canonical.com/system-apps/job/build/935/console
    SUCCESS: https://jenkins.canonical.com/system-apps/job/build-0-fetch/935
    SUCCESS: https://jenkins.canonical.com/system-apps/job/build-1-sourcepkg/release=vivid+overlay/842
    SUCCESS: https://jenkins.canonical.com/system-apps/job/build-1-sourcepkg/release=xenial+overlay/842
    SUCCESS: https://jenkins.canonical.com/system-apps/job/build-1-sourcepkg/release=yakkety/842
    FAILURE: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=amd64,release=vivid+overlay/839/console
    SUCCESS: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=amd64,release=xenial+overlay/839
        deb: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=amd64,release=xenial+overlay/839/artifact/output/*zip*/output.zip
    SUCCESS: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=amd64,release=yakkety/839
        deb: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=amd64,release=yakkety/839/artifact/output/*zip*/output.zip
    FAILURE: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=armhf,release=vivid+overlay/839/console
    SUCCESS: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=armhf,release=xenial+overlay/839
        deb: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=armhf,release=xenial+overlay/839/artifact/output/*zip*/output.zip
    SUCCESS: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=armhf,release=yakkety/839
        deb: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=armhf,release=yakkety/839/artifact/output/*zip*/output.zip
    FAILURE: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=i386,release=vivid+overlay/839/console
    SUCCESS: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=i386,release=xenial+overlay/839
        deb: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=i386,release=xenial+overlay/839/artifact/output/*zip*/output.zip
    SUCCESS: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=i386,release=yakkety/839
        deb: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=i386,release=yakkety/839/artifact/output/*zip*/output.zip

Click here to trigger a rebuild:
https://jenkins.canonical.com/system-apps/job/lp-messaging-app-ci/48/rebuild

review: Needs Fixing (continuous-integration)
Revision history for this message
system-apps-ci-bot (system-apps-ci-bot) wrote :

FAILED: Continuous integration, rev:574
https://jenkins.canonical.com/system-apps/job/lp-messaging-app-ci/49/
Executed test runs:
    FAILURE: https://jenkins.canonical.com/system-apps/job/build/936/console
    SUCCESS: https://jenkins.canonical.com/system-apps/job/build-0-fetch/936
    SUCCESS: https://jenkins.canonical.com/system-apps/job/build-1-sourcepkg/release=vivid+overlay/843
    SUCCESS: https://jenkins.canonical.com/system-apps/job/build-1-sourcepkg/release=xenial+overlay/843
    SUCCESS: https://jenkins.canonical.com/system-apps/job/build-1-sourcepkg/release=yakkety/843
    FAILURE: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=amd64,release=vivid+overlay/840/console
    SUCCESS: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=amd64,release=xenial+overlay/840
        deb: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=amd64,release=xenial+overlay/840/artifact/output/*zip*/output.zip
    SUCCESS: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=amd64,release=yakkety/840
        deb: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=amd64,release=yakkety/840/artifact/output/*zip*/output.zip
    FAILURE: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=armhf,release=vivid+overlay/840/console
    SUCCESS: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=armhf,release=xenial+overlay/840
        deb: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=armhf,release=xenial+overlay/840/artifact/output/*zip*/output.zip
    SUCCESS: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=armhf,release=yakkety/840
        deb: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=armhf,release=yakkety/840/artifact/output/*zip*/output.zip
    FAILURE: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=i386,release=vivid+overlay/840/console
    SUCCESS: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=i386,release=xenial+overlay/840
        deb: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=i386,release=xenial+overlay/840/artifact/output/*zip*/output.zip
    SUCCESS: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=i386,release=yakkety/840
        deb: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=i386,release=yakkety/840/artifact/output/*zip*/output.zip

Click here to trigger a rebuild:
https://jenkins.canonical.com/system-apps/job/lp-messaging-app-ci/49/rebuild

review: Needs Fixing (continuous-integration)
575. By Florian Boucault

Document queuing behaviour

Revision history for this message
Florian Boucault (fboucault) wrote :

Should be good to go now

576. By Florian Boucault

Merged from trunk

Revision history for this message
system-apps-ci-bot (system-apps-ci-bot) wrote :

FAILED: Continuous integration, rev:575
https://jenkins.canonical.com/system-apps/job/lp-messaging-app-ci/51/
Executed test runs:
    FAILURE: https://jenkins.canonical.com/system-apps/job/build/941/console
    SUCCESS: https://jenkins.canonical.com/system-apps/job/build-0-fetch/941
    SUCCESS: https://jenkins.canonical.com/system-apps/job/build-1-sourcepkg/release=vivid+overlay/847
    SUCCESS: https://jenkins.canonical.com/system-apps/job/build-1-sourcepkg/release=xenial+overlay/847
    SUCCESS: https://jenkins.canonical.com/system-apps/job/build-1-sourcepkg/release=yakkety/847
    FAILURE: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=amd64,release=vivid+overlay/844/console
    SUCCESS: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=amd64,release=xenial+overlay/844
        deb: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=amd64,release=xenial+overlay/844/artifact/output/*zip*/output.zip
    SUCCESS: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=amd64,release=yakkety/844
        deb: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=amd64,release=yakkety/844/artifact/output/*zip*/output.zip
    FAILURE: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=armhf,release=vivid+overlay/844/console
    SUCCESS: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=armhf,release=xenial+overlay/844
        deb: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=armhf,release=xenial+overlay/844/artifact/output/*zip*/output.zip
    SUCCESS: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=armhf,release=yakkety/844
        deb: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=armhf,release=yakkety/844/artifact/output/*zip*/output.zip
    FAILURE: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=i386,release=vivid+overlay/844/console
    SUCCESS: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=i386,release=xenial+overlay/844
        deb: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=i386,release=xenial+overlay/844/artifact/output/*zip*/output.zip
    SUCCESS: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=i386,release=yakkety/844
        deb: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=i386,release=yakkety/844/artifact/output/*zip*/output.zip

Click here to trigger a rebuild:
https://jenkins.canonical.com/system-apps/job/lp-messaging-app-ci/51/rebuild

review: Needs Fixing (continuous-integration)
Revision history for this message
system-apps-ci-bot (system-apps-ci-bot) wrote :

FAILED: Continuous integration, rev:576
https://jenkins.canonical.com/system-apps/job/lp-messaging-app-ci/52/
Executed test runs:
    FAILURE: https://jenkins.canonical.com/system-apps/job/build/942/console
    SUCCESS: https://jenkins.canonical.com/system-apps/job/build-0-fetch/942
    SUCCESS: https://jenkins.canonical.com/system-apps/job/build-1-sourcepkg/release=vivid+overlay/848
    SUCCESS: https://jenkins.canonical.com/system-apps/job/build-1-sourcepkg/release=xenial+overlay/848
    SUCCESS: https://jenkins.canonical.com/system-apps/job/build-1-sourcepkg/release=yakkety/848
    FAILURE: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=amd64,release=vivid+overlay/845/console
    SUCCESS: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=amd64,release=xenial+overlay/845
        deb: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=amd64,release=xenial+overlay/845/artifact/output/*zip*/output.zip
    FAILURE: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=amd64,release=yakkety/845/console
    FAILURE: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=armhf,release=vivid+overlay/845/console
    SUCCESS: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=armhf,release=xenial+overlay/845
        deb: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=armhf,release=xenial+overlay/845/artifact/output/*zip*/output.zip
    SUCCESS: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=armhf,release=yakkety/845
        deb: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=armhf,release=yakkety/845/artifact/output/*zip*/output.zip
    FAILURE: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=i386,release=vivid+overlay/845/console
    SUCCESS: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=i386,release=xenial+overlay/845
        deb: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=i386,release=xenial+overlay/845/artifact/output/*zip*/output.zip
    SUCCESS: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=i386,release=yakkety/845
        deb: https://jenkins.canonical.com/system-apps/job/build-2-binpkg/arch=i386,release=yakkety/845/artifact/output/*zip*/output.zip

Click here to trigger a rebuild:
https://jenkins.canonical.com/system-apps/job/lp-messaging-app-ci/52/rebuild

review: Needs Fixing (continuous-integration)
Revision history for this message
Tiago Salem Herrmann (tiagosh) wrote :

Just verified that all bugs found by bill are fixed.
Tested on arale.
Could not find any other regression.
Looks good to me.

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'debian/rules'
2--- debian/rules 2016-06-24 13:46:28 +0000
3+++ debian/rules 2016-07-12 08:56:26 +0000
4@@ -10,7 +10,7 @@
5 DEB_HOST_ARCH := $(shell dpkg-architecture -qDEB_HOST_ARCH)
6 # Skip tests on the archs they are known to be flaky with current configuration
7 # Ref.: https://bugs.launchpad.net/ubuntu/+source/mesa/+bug/1585942
8-testskip_architectures := arm64
9+testskip_architectures := arm64 s390x
10
11 %:
12 dh $@ --parallel --fail-missing --with translations
13
14=== modified file 'src/qml/MainPage.qml'
15--- src/qml/MainPage.qml 2016-05-23 13:02:03 +0000
16+++ src/qml/MainPage.qml 2016-07-12 08:56:26 +0000
17@@ -96,7 +96,7 @@
18 text: i18n.tr("Settings")
19 iconName: "settings"
20 onTriggered: {
21- emptyStack()
22+ emptyStack(false)
23 pageStack.addFileToNextColumnSync(mainPage, Qt.resolvedUrl("SettingsPage.qml"))
24 }
25 },
26@@ -229,7 +229,8 @@
27 section.delegate: searching && searchField.text !== "" ? null : sectionDelegate
28 header: ListItem.Standard {
29 id: newItem
30- height: mainView.bottomEdge.status === BottomEdge.Committed &&
31+ height: mainView.bottomEdge &&
32+ mainView.bottomEdge.status === BottomEdge.Committed &&
33 !mainView.bottomEdge.showingConversation &&
34 mainView.dualPanel ? units.gu(10) : 0
35 text: i18n.tr("New message")
36@@ -281,7 +282,7 @@
37 if (displayedEvent != null) {
38 properties["scrollToEventId"] = displayedEvent.eventId
39 }
40- emptyStack()
41+ emptyStack(false)
42 mainStack.addComponentToNextColumnSync(mainPage, messagesWithBottomEdge, properties)
43
44 // mark this item as current
45@@ -326,6 +327,11 @@
46 Loader {
47 id: bottomEdgeLoader
48 active: !selectionMode && !searching && !mainView.dualPanel
49+ asynchronous: true
50+ /* FIXME: would be even more efficient to use setSource() to
51+ delay the compilation step but a bug in Qt prevents us.
52+ Ref.: https://bugreports.qt.io/browse/QTBUG-54657
53+ */
54 sourceComponent: MessagingBottomEdge {
55 parent: mainPage
56 }
57
58=== modified file 'src/qml/MessagingBottomEdge.qml'
59--- src/qml/MessagingBottomEdge.qml 2016-05-02 18:35:28 +0000
60+++ src/qml/MessagingBottomEdge.qml 2016-07-12 08:56:26 +0000
61@@ -23,7 +23,9 @@
62 id: bottomEdge
63
64 function commitWithProperties(properties) {
65- _realPage.destroy()
66+ if (_realPage) {
67+ _realPage.destroy()
68+ }
69 _realPage = messagesComponent.createObject(null, properties)
70 commit()
71 }
72@@ -42,16 +44,23 @@
73 }
74
75 Component.onCompleted: {
76- mainView.bottomEdge = bottomEdge
77- _realPage = messagesComponent.createObject(null)
78+ if (!_realPage) {
79+ _realPage = messagesComponent.createObject(null)
80+ }
81+ mainView.setBottomEdge(bottomEdge)
82 }
83
84 Component.onDestruction: {
85- _realPage.destroy()
86+ mainView.unsetBottomEdge(bottomEdge)
87+ if (_realPage) {
88+ _realPage.destroy()
89+ }
90 }
91
92 onCollapseCompleted: {
93- _realPage.destroy()
94+ if (_realPage) {
95+ _realPage.destroy()
96+ }
97 _realPage = messagesComponent.createObject(null)
98 }
99
100
101=== modified file 'src/qml/SettingsPage.qml'
102--- src/qml/SettingsPage.qml 2016-03-22 13:52:47 +0000
103+++ src/qml/SettingsPage.qml 2016-07-12 08:56:26 +0000
104@@ -110,6 +110,11 @@
105 Loader {
106 id: messagesBottomEdgeLoader
107 active: mainView.dualPanel
108+ asynchronous: true
109+ /* FIXME: would be even more efficient to use setSource() to
110+ delay the compilation step but a bug in Qt prevents us.
111+ Ref.: https://bugreports.qt.io/browse/QTBUG-54657
112+ */
113 sourceComponent: MessagingBottomEdge {
114 id: messagesBottomEdge
115 parent: settingsPage
116
117=== modified file 'src/qml/messaging-app.qml'
118--- src/qml/messaging-app.qml 2016-05-04 19:36:27 +0000
119+++ src/qml/messaging-app.qml 2016-07-12 08:56:26 +0000
120@@ -50,6 +50,44 @@
121
122 activeFocusOnPress: false
123
124+ /* Multiple MessagingBottomEdge instances can be created simultaneously
125+ and ask to become the unique 'bottomEdge'.
126+ Queue the requests until only one MessagingBottomEdge instance is left.
127+ */
128+ property var bottomEdgeQueue: []
129+ function setBottomEdge(newBottomEdge) {
130+ /* If the queue is empty and no other bottom edge is set then
131+ set 'bottomEdge' to newBottomEdge. Otherwise insert newBottomEdge
132+ in the queue
133+ */
134+ if (!bottomEdge && bottomEdgeQueue.length == 0) {
135+ bottomEdge = newBottomEdge;
136+ } else {
137+ if (bottomEdge) {
138+ bottomEdgeQueue.unshift(bottomEdge)
139+ bottomEdge = null
140+ }
141+ bottomEdgeQueue.push(newBottomEdge)
142+ }
143+ }
144+
145+ function unsetBottomEdge(oldBottomEdge) {
146+ /* Remove all references to oldBottomEdge (from the queue and from 'bottomEdge')
147+ If only one bottom edge remains in the queue then set 'bottomEdge' to it
148+ */
149+ if (bottomEdge == oldBottomEdge) {
150+ bottomEdge = null;
151+ } else {
152+ var index = bottomEdgeQueue.indexOf(oldBottomEdge);
153+ if (index != -1) {
154+ bottomEdgeQueue.splice(index, 1);
155+ if (bottomEdgeQueue.length == 1) {
156+ bottomEdge = bottomEdgeQueue.pop();
157+ }
158+ }
159+ }
160+ }
161+
162 function defaultPhoneAccount() {
163 // we only use the default account property if we have more
164 // than one account, otherwise we use always the first one
165@@ -131,8 +169,22 @@
166 threadModel.removeThreads(threads);
167 }
168
169+ property var pendingCommitProperties
170+ function bottomEdgeCommit() {
171+ if (bottomEdge) {
172+ mainView.onBottomEdgeChanged.disconnect(bottomEdgeCommit);
173+ bottomEdge.commitWithProperties(pendingCommitProperties);
174+ pendingCommitProperties = null;
175+ }
176+ }
177+
178 function showBottomEdgePage(properties) {
179- bottomEdge.commitWithProperties(properties)
180+ pendingCommitProperties = properties;
181+ if (bottomEdge) {
182+ bottomEdgeCommit();
183+ } else {
184+ mainView.onBottomEdgeChanged.connect(bottomEdgeCommit);
185+ }
186 }
187
188 Connections {
189@@ -230,11 +282,14 @@
190 return ContentType.Unknown
191 }
192
193- function emptyStack() {
194+ function emptyStack(showEmpty) {
195+ if (typeof showEmpty === 'undefined') { showEmpty = true; }
196 mainView.emptyStackRequested()
197 mainStack.removePage(mainPage)
198 layout.deleteInstances()
199- showEmptyState()
200+ if (showEmpty) {
201+ showEmptyState()
202+ }
203 mainPage.displayedThreadIndex = -1
204 }
205
206@@ -290,7 +345,7 @@
207 properties["accountId"] = accountId
208 }
209
210- emptyStack()
211+ emptyStack(false)
212 // FIXME: AdaptivePageLayout takes a really long time to create pages,
213 // so we create manually and push that
214 mainStack.addComponentToNextColumnSync(mainPage, messagesWithBottomEdge, properties)
215@@ -330,6 +385,11 @@
216 Loader {
217 id: messagesBottomEdgeLoader
218 active: mainView.dualPanel
219+ asynchronous: true
220+ /* FIXME: would be even more efficient to use setSource() to
221+ delay the compilation step but a bug in Qt prevents us.
222+ Ref.: https://bugreports.qt.io/browse/QTBUG-54657
223+ */
224 sourceComponent: MessagingBottomEdge {
225 id: messagesBottomEdge
226 parent: messages
227@@ -378,6 +438,11 @@
228
229 Loader {
230 id: bottomEdgeLoader
231+ asynchronous: true
232+ /* FIXME: would be even more efficient to use setSource() to
233+ delay the compilation step but a bug in Qt prevents us.
234+ Ref.: https://bugreports.qt.io/browse/QTBUG-54657
235+ */
236 sourceComponent: MessagingBottomEdge {
237 parent: emptyStatePage
238 hint.text: ""
239@@ -394,9 +459,11 @@
240 id: mainPage
241 }
242
243+ property bool completed: false
244+
245 onColumnsChanged: {
246 // we only have things to do here in case no thread is selected
247- if (layout.columns == 2 && !application.findMessagingChild("emptyStatePage") && !application.findMessagingChild("fakeItem")) {
248+ if (layout.completed && layout.columns == 2 && !application.findMessagingChild("emptyStatePage") && !application.findMessagingChild("fakeItem")) {
249 layout.removePage(mainPage)
250 emptyStack()
251 }
252@@ -405,6 +472,7 @@
253 if (layout.columns == 2 && !application.findMessagingChild("emptyStatePage")) {
254 emptyStack()
255 }
256+ layout.completed = true;
257 }
258 }
259 }
260
261=== modified file 'tests/qml/tst_DualSim.qml'
262--- tests/qml/tst_DualSim.qml 2016-05-05 19:57:41 +0000
263+++ tests/qml/tst_DualSim.qml 2016-07-12 08:56:26 +0000
264@@ -151,6 +151,8 @@
265
266 mainViewLoader.item.startNewMessage()
267 waitForRendering(mainViewLoader.item)
268+ tryCompare(mainViewLoader.item, 'pendingCommitProperties', null)
269+ waitForRendering(mainViewLoader.item.bottomEdge)
270
271 var messagesView = findChild(mainViewLoader, "messagesPage")
272 var headerSections = findChild(messagesView, "headerSections")
273@@ -213,6 +215,8 @@
274
275 mainViewLoader.item.startNewMessage()
276 waitForRendering(mainViewLoader.item)
277+ tryCompare(mainViewLoader.item, 'pendingCommitProperties', null)
278+ waitForRendering(mainViewLoader.item.bottomEdge)
279
280 var messagesView = findChild(mainViewLoader, "messagesPage")
281 var textArea = findChild(messagesView, "messageTextArea")
282
283=== modified file 'tests/qml/tst_SingleSim.qml'
284--- tests/qml/tst_SingleSim.qml 2016-05-05 19:57:41 +0000
285+++ tests/qml/tst_SingleSim.qml 2016-07-12 08:56:26 +0000
286@@ -138,6 +138,8 @@
287
288 mainViewLoader.item.startNewMessage()
289 waitForRendering(mainViewLoader.item)
290+ tryCompare(mainViewLoader.item, 'pendingCommitProperties', null)
291+ waitForRendering(mainViewLoader.item.bottomEdge)
292
293 var messagesView = findChild(mainViewLoader, "messagesPage")
294 var textArea = findChild(messagesView, "messageTextArea")

Subscribers

People subscribed via source and target branches