Photos in scope not visible until all loaded
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Canonical System Image |
Fix Released
|
High
|
Unassigned | ||
The Savilerow project |
Fix Released
|
Critical
|
Unassigned | ||
unity-api (Ubuntu) |
Invalid
|
Critical
|
Unassigned | ||
unity-scopes-api (Ubuntu) |
Invalid
|
Critical
|
Unassigned | ||
unity-scopes-shell (Ubuntu) |
Invalid
|
Critical
|
Unassigned | ||
unity8 (Ubuntu) |
Fix Released
|
Critical
|
Albert Astals Cid | ||
unity8 (Ubuntu RTM) |
Fix Released
|
Critical
|
Michał Sawicz |
Bug Description
I think this is a generic unity8 issue that is exposed in the My Photos scope. This scope displays photos from the photo roll through mediascanner.
Problem:
When there are many photos, the scope does not display thumbnails for quite a while. (It may even be that no photo thumbnails display until all are loaded into memory.) This is an awkward user experience because the scope looks like nothing is happening for significant periods of time.
Expectation:
Photo thumbnails would display as they arrive. (Perhaps there would be some kind of window around what is currently visible in the scope so that as soon as photos in the current scroll area, before it by some amount, and after it by some amount are in memory, they could display and the user could scroll somewhat, with the window moving appropriately.)
Related branches
- Michał Sawicz: Approve
- PS Jenkins bot (community): Needs Fixing (continuous-integration)
- Andrea Cimitan (community): Approve (code)
-
Diff: 411 lines (+47/-80)23 files modifieddebian/control (+0/-1)
plugins/Dash/CardCreator.js (+2/-5)
plugins/Dash/CroppedImageMinimumSourceSize.qml (+1/-1)
plugins/Dash/croppedimagesizer.cpp (+3/-0)
plugins/Dash/croppedimagesizer.h (+3/-3)
qml/Dash/CardCarousel.qml (+1/-0)
qml/Dash/CardGrid.qml (+1/-1)
qml/Dash/CardHorizontalList.qml (+1/-0)
qml/Dash/CardVerticalJournal.qml (+0/-1)
qml/Dash/DashRenderer.qml (+0/-4)
qml/Dash/GenericScopeView.qml (+22/-25)
qml/Dash/Previews/PreviewZoomableImage.qml (+1/-0)
qml/Dash/ScopesOverviewAll.qml (+0/-2)
tests/autopilot/unity8/shell/emulators/dash.py (+1/-1)
tests/plugins/Dash/cardcreator/1.res (+1/-2)
tests/plugins/Dash/cardcreator/2.res (+1/-2)
tests/plugins/Dash/cardcreator/3.res (+1/-2)
tests/plugins/Dash/cardcreator/4.res (+1/-2)
tests/plugins/Dash/cardcreator/5.res (+1/-2)
tests/plugins/Dash/cardcreator/7.res (+1/-2)
tests/qmltests/Dash/tst_Card.qml (+0/-22)
tests/qmltests/Dash/tst_Dash.qml (+4/-2)
tests/qmltests/Dash/tst_GenericScopeView.qml (+1/-0)
- Michał Sawicz: Approve
-
Diff: 1539 lines (+708/-143)43 files modifieddebian/changelog (+18/-0)
debian/control (+0/-1)
plugins/Dash/CMakeLists.txt (+3/-2)
plugins/Dash/CardCreator.js (+8/-10)
plugins/Dash/CroppedImageMinimumSourceSize.qml (+25/-19)
plugins/Dash/abstractdashview.cpp (+24/-5)
plugins/Dash/abstractdashview.h (+6/-0)
plugins/Dash/croppedimagesizer.cpp (+136/-0)
plugins/Dash/croppedimagesizer.h (+72/-0)
plugins/Dash/croppedimagesizerasyncworker.cpp (+74/-0)
plugins/Dash/croppedimagesizerasyncworker.h (+47/-0)
plugins/Dash/listviewwithpageheader.cpp (+7/-2)
plugins/Dash/listviewwithpageheader.h (+4/-4)
plugins/Dash/plugin.cpp (+2/-0)
qml/Components/ResponsiveVerticalJournal.qml (+1/-0)
qml/Dash/CardCarousel.qml (+1/-0)
qml/Dash/CardGrid.qml (+1/-2)
qml/Dash/CardHorizontalList.qml (+1/-0)
qml/Dash/CardVerticalJournal.qml (+1/-1)
qml/Dash/DashContent.qml (+2/-0)
qml/Dash/DashRenderer.qml (+2/-4)
qml/Dash/GenericScopeView.qml (+75/-24)
qml/Dash/Previews/PreviewZoomableImage.qml (+1/-0)
qml/Dash/ScopeListView.qml (+4/-2)
qml/Greeter/Infographics.qml (+9/-7)
qml/Shell.qml (+20/-2)
tests/autopilot/unity8/shell/emulators/dash.py (+1/-1)
tests/plugins/Dash/CMakeLists.txt (+1/-0)
tests/plugins/Dash/cardcreator/1.res (+4/-4)
tests/plugins/Dash/cardcreator/2.res (+2/-3)
tests/plugins/Dash/cardcreator/3.res (+10/-10)
tests/plugins/Dash/cardcreator/4.res (+3/-4)
tests/plugins/Dash/cardcreator/5.res (+10/-10)
tests/plugins/Dash/cardcreator/7.res (+2/-3)
tests/plugins/Dash/horizontaljournaltest.qml (+1/-0)
tests/plugins/Dash/listviewwithpageheadertest.cpp (+1/-1)
tests/plugins/Dash/organicgridtest.qml (+1/-0)
tests/plugins/Dash/tst_CroppedImageMinimumSourceSize.qml (+56/-0)
tests/plugins/Dash/verticaljournaltest.qml (+1/-0)
tests/qmltests/Dash/tst_Card.qml (+0/-22)
tests/qmltests/Dash/tst_DashContent.qml (+57/-0)
tests/qmltests/Dash/tst_GenericScopeView.qml (+2/-0)
tests/utils/modules/Unity/Test/UnityTestCase.qml (+12/-0)
Changed in unity8 (Ubuntu): | |
status: | New → Confirmed |
Changed in savilerow: | |
status: | New → Confirmed |
importance: | Undecided → Critical |
Changed in unity8 (Ubuntu): | |
importance: | Undecided → Critical |
tags: | added: rtm14 |
Changed in unity8 (Ubuntu): | |
status: | Confirmed → New |
Changed in unity-api (Ubuntu): | |
importance: | Undecided → Critical |
Changed in unity-scopes-api (Ubuntu): | |
importance: | Undecided → Critical |
Changed in unity-scopes-shell (Ubuntu): | |
importance: | Undecided → Critical |
Changed in unity8 (Ubuntu): | |
status: | New → Triaged |
assignee: | nobody → Albert Astals Cid (aacid) |
Changed in unity-scopes-api (Ubuntu): | |
status: | New → Invalid |
Changed in unity-scopes-shell (Ubuntu): | |
status: | New → Invalid |
Changed in unity-api (Ubuntu): | |
status: | New → Invalid |
Changed in unity8 (Ubuntu RTM): | |
assignee: | nobody → Albert Astals Cid (aacid) |
importance: | Undecided → Critical |
status: | New → Triaged |
Changed in unity8 (Ubuntu RTM): | |
status: | Triaged → In Progress |
Changed in unity8 (Ubuntu): | |
status: | Triaged → In Progress |
tags: | added: touch-2014-11-13 |
Changed in canonical-devices-system-image: | |
assignee: | nobody → Canonical Devices Products (canonical-devices-products-team) |
importance: | Undecided → High |
milestone: | none → r1 |
status: | New → Confirmed |
Changed in unity8 (Ubuntu RTM): | |
status: | In Progress → New |
assignee: | Albert Astals Cid (aacid) → nobody |
status: | New → Triaged |
milestone: | none → 14.09-ota-1 |
Changed in unity8 (Ubuntu RTM): | |
assignee: | nobody → Michał Sawicz (saviq) |
status: | Triaged → In Progress |
Changed in canonical-devices-system-image: | |
status: | Confirmed → In Progress |
Changed in unity8 (Ubuntu RTM): | |
milestone: | 14.09-ota-1 → 14.09-ota-2 |
Changed in canonical-devices-system-image: | |
status: | In Progress → Fix Released |
Changed in savilerow: | |
assignee: | nobody → Yuan-Chen Cheng (ycheng-twn) |
Probably not a bug in unity8, as we simply display what we receive from the backend. From a quick chat, when we receive data we display it, so if you see a blank dash is because the backend didn't set the data yet.
I think the data should behave as a list, where as soon as results are populating they are being appended in batches... for example for 1000 photos, send the first dozen then another dozen etc etc... until you reach 1000. That way we don't have to wait until 1000 photos are being processed in order to be sent to unity8.