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
=== modified file 'debian/rules'
--- debian/rules 2016-06-24 13:46:28 +0000
+++ debian/rules 2016-07-12 08:56:26 +0000
@@ -10,7 +10,7 @@
10DEB_HOST_ARCH := $(shell dpkg-architecture -qDEB_HOST_ARCH)10DEB_HOST_ARCH := $(shell dpkg-architecture -qDEB_HOST_ARCH)
11# Skip tests on the archs they are known to be flaky with current configuration11# Skip tests on the archs they are known to be flaky with current configuration
12# Ref.: https://bugs.launchpad.net/ubuntu/+source/mesa/+bug/158594212# Ref.: https://bugs.launchpad.net/ubuntu/+source/mesa/+bug/1585942
13testskip_architectures := arm6413testskip_architectures := arm64 s390x
1414
15%:15%:
16 dh $@ --parallel --fail-missing --with translations16 dh $@ --parallel --fail-missing --with translations
1717
=== modified file 'src/qml/MainPage.qml'
--- src/qml/MainPage.qml 2016-05-23 13:02:03 +0000
+++ src/qml/MainPage.qml 2016-07-12 08:56:26 +0000
@@ -96,7 +96,7 @@
96 text: i18n.tr("Settings")96 text: i18n.tr("Settings")
97 iconName: "settings"97 iconName: "settings"
98 onTriggered: {98 onTriggered: {
99 emptyStack()99 emptyStack(false)
100 pageStack.addFileToNextColumnSync(mainPage, Qt.resolvedUrl("SettingsPage.qml"))100 pageStack.addFileToNextColumnSync(mainPage, Qt.resolvedUrl("SettingsPage.qml"))
101 }101 }
102 },102 },
@@ -229,7 +229,8 @@
229 section.delegate: searching && searchField.text !== "" ? null : sectionDelegate229 section.delegate: searching && searchField.text !== "" ? null : sectionDelegate
230 header: ListItem.Standard {230 header: ListItem.Standard {
231 id: newItem231 id: newItem
232 height: mainView.bottomEdge.status === BottomEdge.Committed &&232 height: mainView.bottomEdge &&
233 mainView.bottomEdge.status === BottomEdge.Committed &&
233 !mainView.bottomEdge.showingConversation &&234 !mainView.bottomEdge.showingConversation &&
234 mainView.dualPanel ? units.gu(10) : 0235 mainView.dualPanel ? units.gu(10) : 0
235 text: i18n.tr("New message")236 text: i18n.tr("New message")
@@ -281,7 +282,7 @@
281 if (displayedEvent != null) {282 if (displayedEvent != null) {
282 properties["scrollToEventId"] = displayedEvent.eventId283 properties["scrollToEventId"] = displayedEvent.eventId
283 }284 }
284 emptyStack()285 emptyStack(false)
285 mainStack.addComponentToNextColumnSync(mainPage, messagesWithBottomEdge, properties)286 mainStack.addComponentToNextColumnSync(mainPage, messagesWithBottomEdge, properties)
286287
287 // mark this item as current288 // mark this item as current
@@ -326,6 +327,11 @@
326 Loader {327 Loader {
327 id: bottomEdgeLoader328 id: bottomEdgeLoader
328 active: !selectionMode && !searching && !mainView.dualPanel329 active: !selectionMode && !searching && !mainView.dualPanel
330 asynchronous: true
331 /* FIXME: would be even more efficient to use setSource() to
332 delay the compilation step but a bug in Qt prevents us.
333 Ref.: https://bugreports.qt.io/browse/QTBUG-54657
334 */
329 sourceComponent: MessagingBottomEdge {335 sourceComponent: MessagingBottomEdge {
330 parent: mainPage336 parent: mainPage
331 }337 }
332338
=== modified file 'src/qml/MessagingBottomEdge.qml'
--- src/qml/MessagingBottomEdge.qml 2016-05-02 18:35:28 +0000
+++ src/qml/MessagingBottomEdge.qml 2016-07-12 08:56:26 +0000
@@ -23,7 +23,9 @@
23 id: bottomEdge23 id: bottomEdge
2424
25 function commitWithProperties(properties) {25 function commitWithProperties(properties) {
26 _realPage.destroy()26 if (_realPage) {
27 _realPage.destroy()
28 }
27 _realPage = messagesComponent.createObject(null, properties)29 _realPage = messagesComponent.createObject(null, properties)
28 commit()30 commit()
29 }31 }
@@ -42,16 +44,23 @@
42 }44 }
4345
44 Component.onCompleted: {46 Component.onCompleted: {
45 mainView.bottomEdge = bottomEdge47 if (!_realPage) {
46 _realPage = messagesComponent.createObject(null)48 _realPage = messagesComponent.createObject(null)
49 }
50 mainView.setBottomEdge(bottomEdge)
47 }51 }
4852
49 Component.onDestruction: {53 Component.onDestruction: {
50 _realPage.destroy()54 mainView.unsetBottomEdge(bottomEdge)
55 if (_realPage) {
56 _realPage.destroy()
57 }
51 }58 }
5259
53 onCollapseCompleted: {60 onCollapseCompleted: {
54 _realPage.destroy()61 if (_realPage) {
62 _realPage.destroy()
63 }
55 _realPage = messagesComponent.createObject(null)64 _realPage = messagesComponent.createObject(null)
56 }65 }
5766
5867
=== modified file 'src/qml/SettingsPage.qml'
--- src/qml/SettingsPage.qml 2016-03-22 13:52:47 +0000
+++ src/qml/SettingsPage.qml 2016-07-12 08:56:26 +0000
@@ -110,6 +110,11 @@
110 Loader {110 Loader {
111 id: messagesBottomEdgeLoader111 id: messagesBottomEdgeLoader
112 active: mainView.dualPanel112 active: mainView.dualPanel
113 asynchronous: true
114 /* FIXME: would be even more efficient to use setSource() to
115 delay the compilation step but a bug in Qt prevents us.
116 Ref.: https://bugreports.qt.io/browse/QTBUG-54657
117 */
113 sourceComponent: MessagingBottomEdge {118 sourceComponent: MessagingBottomEdge {
114 id: messagesBottomEdge119 id: messagesBottomEdge
115 parent: settingsPage120 parent: settingsPage
116121
=== modified file 'src/qml/messaging-app.qml'
--- src/qml/messaging-app.qml 2016-05-04 19:36:27 +0000
+++ src/qml/messaging-app.qml 2016-07-12 08:56:26 +0000
@@ -50,6 +50,44 @@
5050
51 activeFocusOnPress: false51 activeFocusOnPress: false
5252
53 /* Multiple MessagingBottomEdge instances can be created simultaneously
54 and ask to become the unique 'bottomEdge'.
55 Queue the requests until only one MessagingBottomEdge instance is left.
56 */
57 property var bottomEdgeQueue: []
58 function setBottomEdge(newBottomEdge) {
59 /* If the queue is empty and no other bottom edge is set then
60 set 'bottomEdge' to newBottomEdge. Otherwise insert newBottomEdge
61 in the queue
62 */
63 if (!bottomEdge && bottomEdgeQueue.length == 0) {
64 bottomEdge = newBottomEdge;
65 } else {
66 if (bottomEdge) {
67 bottomEdgeQueue.unshift(bottomEdge)
68 bottomEdge = null
69 }
70 bottomEdgeQueue.push(newBottomEdge)
71 }
72 }
73
74 function unsetBottomEdge(oldBottomEdge) {
75 /* Remove all references to oldBottomEdge (from the queue and from 'bottomEdge')
76 If only one bottom edge remains in the queue then set 'bottomEdge' to it
77 */
78 if (bottomEdge == oldBottomEdge) {
79 bottomEdge = null;
80 } else {
81 var index = bottomEdgeQueue.indexOf(oldBottomEdge);
82 if (index != -1) {
83 bottomEdgeQueue.splice(index, 1);
84 if (bottomEdgeQueue.length == 1) {
85 bottomEdge = bottomEdgeQueue.pop();
86 }
87 }
88 }
89 }
90
53 function defaultPhoneAccount() {91 function defaultPhoneAccount() {
54 // we only use the default account property if we have more92 // we only use the default account property if we have more
55 // than one account, otherwise we use always the first one93 // than one account, otherwise we use always the first one
@@ -131,8 +169,22 @@
131 threadModel.removeThreads(threads);169 threadModel.removeThreads(threads);
132 }170 }
133171
172 property var pendingCommitProperties
173 function bottomEdgeCommit() {
174 if (bottomEdge) {
175 mainView.onBottomEdgeChanged.disconnect(bottomEdgeCommit);
176 bottomEdge.commitWithProperties(pendingCommitProperties);
177 pendingCommitProperties = null;
178 }
179 }
180
134 function showBottomEdgePage(properties) {181 function showBottomEdgePage(properties) {
135 bottomEdge.commitWithProperties(properties)182 pendingCommitProperties = properties;
183 if (bottomEdge) {
184 bottomEdgeCommit();
185 } else {
186 mainView.onBottomEdgeChanged.connect(bottomEdgeCommit);
187 }
136 }188 }
137189
138 Connections {190 Connections {
@@ -230,11 +282,14 @@
230 return ContentType.Unknown282 return ContentType.Unknown
231 }283 }
232284
233 function emptyStack() {285 function emptyStack(showEmpty) {
286 if (typeof showEmpty === 'undefined') { showEmpty = true; }
234 mainView.emptyStackRequested()287 mainView.emptyStackRequested()
235 mainStack.removePage(mainPage)288 mainStack.removePage(mainPage)
236 layout.deleteInstances()289 layout.deleteInstances()
237 showEmptyState()290 if (showEmpty) {
291 showEmptyState()
292 }
238 mainPage.displayedThreadIndex = -1293 mainPage.displayedThreadIndex = -1
239 }294 }
240295
@@ -290,7 +345,7 @@
290 properties["accountId"] = accountId345 properties["accountId"] = accountId
291 }346 }
292347
293 emptyStack()348 emptyStack(false)
294 // FIXME: AdaptivePageLayout takes a really long time to create pages,349 // FIXME: AdaptivePageLayout takes a really long time to create pages,
295 // so we create manually and push that350 // so we create manually and push that
296 mainStack.addComponentToNextColumnSync(mainPage, messagesWithBottomEdge, properties)351 mainStack.addComponentToNextColumnSync(mainPage, messagesWithBottomEdge, properties)
@@ -330,6 +385,11 @@
330 Loader {385 Loader {
331 id: messagesBottomEdgeLoader386 id: messagesBottomEdgeLoader
332 active: mainView.dualPanel387 active: mainView.dualPanel
388 asynchronous: true
389 /* FIXME: would be even more efficient to use setSource() to
390 delay the compilation step but a bug in Qt prevents us.
391 Ref.: https://bugreports.qt.io/browse/QTBUG-54657
392 */
333 sourceComponent: MessagingBottomEdge {393 sourceComponent: MessagingBottomEdge {
334 id: messagesBottomEdge394 id: messagesBottomEdge
335 parent: messages395 parent: messages
@@ -378,6 +438,11 @@
378438
379 Loader {439 Loader {
380 id: bottomEdgeLoader440 id: bottomEdgeLoader
441 asynchronous: true
442 /* FIXME: would be even more efficient to use setSource() to
443 delay the compilation step but a bug in Qt prevents us.
444 Ref.: https://bugreports.qt.io/browse/QTBUG-54657
445 */
381 sourceComponent: MessagingBottomEdge {446 sourceComponent: MessagingBottomEdge {
382 parent: emptyStatePage447 parent: emptyStatePage
383 hint.text: ""448 hint.text: ""
@@ -394,9 +459,11 @@
394 id: mainPage459 id: mainPage
395 }460 }
396461
462 property bool completed: false
463
397 onColumnsChanged: {464 onColumnsChanged: {
398 // we only have things to do here in case no thread is selected465 // we only have things to do here in case no thread is selected
399 if (layout.columns == 2 && !application.findMessagingChild("emptyStatePage") && !application.findMessagingChild("fakeItem")) {466 if (layout.completed && layout.columns == 2 && !application.findMessagingChild("emptyStatePage") && !application.findMessagingChild("fakeItem")) {
400 layout.removePage(mainPage)467 layout.removePage(mainPage)
401 emptyStack()468 emptyStack()
402 }469 }
@@ -405,6 +472,7 @@
405 if (layout.columns == 2 && !application.findMessagingChild("emptyStatePage")) {472 if (layout.columns == 2 && !application.findMessagingChild("emptyStatePage")) {
406 emptyStack()473 emptyStack()
407 }474 }
475 layout.completed = true;
408 }476 }
409 }477 }
410}478}
411479
=== modified file 'tests/qml/tst_DualSim.qml'
--- tests/qml/tst_DualSim.qml 2016-05-05 19:57:41 +0000
+++ tests/qml/tst_DualSim.qml 2016-07-12 08:56:26 +0000
@@ -151,6 +151,8 @@
151151
152 mainViewLoader.item.startNewMessage()152 mainViewLoader.item.startNewMessage()
153 waitForRendering(mainViewLoader.item)153 waitForRendering(mainViewLoader.item)
154 tryCompare(mainViewLoader.item, 'pendingCommitProperties', null)
155 waitForRendering(mainViewLoader.item.bottomEdge)
154156
155 var messagesView = findChild(mainViewLoader, "messagesPage")157 var messagesView = findChild(mainViewLoader, "messagesPage")
156 var headerSections = findChild(messagesView, "headerSections")158 var headerSections = findChild(messagesView, "headerSections")
@@ -213,6 +215,8 @@
213215
214 mainViewLoader.item.startNewMessage()216 mainViewLoader.item.startNewMessage()
215 waitForRendering(mainViewLoader.item)217 waitForRendering(mainViewLoader.item)
218 tryCompare(mainViewLoader.item, 'pendingCommitProperties', null)
219 waitForRendering(mainViewLoader.item.bottomEdge)
216220
217 var messagesView = findChild(mainViewLoader, "messagesPage")221 var messagesView = findChild(mainViewLoader, "messagesPage")
218 var textArea = findChild(messagesView, "messageTextArea")222 var textArea = findChild(messagesView, "messageTextArea")
219223
=== modified file 'tests/qml/tst_SingleSim.qml'
--- tests/qml/tst_SingleSim.qml 2016-05-05 19:57:41 +0000
+++ tests/qml/tst_SingleSim.qml 2016-07-12 08:56:26 +0000
@@ -138,6 +138,8 @@
138138
139 mainViewLoader.item.startNewMessage()139 mainViewLoader.item.startNewMessage()
140 waitForRendering(mainViewLoader.item)140 waitForRendering(mainViewLoader.item)
141 tryCompare(mainViewLoader.item, 'pendingCommitProperties', null)
142 waitForRendering(mainViewLoader.item.bottomEdge)
141143
142 var messagesView = findChild(mainViewLoader, "messagesPage")144 var messagesView = findChild(mainViewLoader, "messagesPage")
143 var textArea = findChild(messagesView, "messageTextArea")145 var textArea = findChild(messagesView, "messageTextArea")

Subscribers

People subscribed via source and target branches