View Issue Details

IDProjectCategoryView StatusLast Update
0010689MMW v4Synchronizationpublic2013-07-05 21:58
ReporterLudek Assigned To 
PriorityurgentSeveritymajorReproducibilityalways
Status closedResolutionfixed 
Product Version4.1 
Target Version4.1Fixed in Version4.1 
Summary0010689: Auto-sync (-->Library) doesn't work as expected for playlists
DescriptionDuring today's testing I found some cases where the new 'Auto-sync (-->Library)' is problematic.

The steps where:
1. Go to <device> -> [Auto-sync (-->Library)] tab and enable
[x] Auto-sync files from the device to the PC
2. Select one playlist on sync list
3. Auto-sync the playlist to a device running MMA
=> the playlist and its tracks are properly synced
4. Delete half of tracks in the device (by using MMA)
5. Auto-sync again
=> the deleted tracks are not re-copied and are no longer included within the playlist!

I was surprised by this, but the reason is quite obvious and by design:
By deleting the tracks in the device, they were also removed them from the device playlist. And thus on subsequent sync, the device playlist had newer timestamp than the library playlist. therefrore the library playlist was overwritten by the device playlist.

Although it sounds as expected behaviour, many users will consider this as __very__ unexpected and it will be hard for them to troubleshoot Q "why my tracks has disappeared from the playlist???"

I would suggest:
1) Rename the checkbox from:
[ ] Auto-sync files from the device to the PC
-->
[ ] Auto-sync files and playlists from the device to the PC

2) Add some type of warning in its tooltip

3) Maybe the device playlist should change its timestamp only when is manually edited in MMA -- i.e. not just by deleting some tracks from the device?
TagsNo tags attached.
Fixed in build1643

Relationships

parent of 0010989 closedpeke MMA Implement sync confirmations for bi-di sync 
related to 0010970 closedLudek MMW v4 Sync logic problems MMA 139 / MMW 1642 
related to 0010993 closedmarek MMA MMA fails to update playlists in response to removal of a track 
related to 0011069 closedmarek MMA Confirmations of backward sync of playlists are inconsistent in wifi sync and usb sync 
child of 0010992 closedmarek MMA Empty playlists remain in MMA in cases where they should be deleted 
Not all the children of this issue are yet resolved or closed.

Activities

peke

2013-03-26 22:26

developer   ~0035489

Interesting, to make things even better and have updated playlists I wonder if it would be good approach to make something like [ ] Iport Playlists from Device and manage them within Device profile but Show them in Imported Playlists\<Device Name> ?

jiri

2013-04-05 13:17

administrator   ~0035542

I think that 1) and possibly 2) make sense as a fix.

I wouldn't implement 3), but I guess that such changes should be properly reflected in warning system - i.e. in case a playlist is about to be updated MMA could present a dialog stating that the a playlist XXX is about to be updated (originally: A tracks, newly B tracks). This way user could prevent some unwanted changes and the playlist could possibly be unselected from any further (bi-di) syncing.

rusty

2013-04-05 15:33

administrator   ~0035545

1) Question: If a playlist is on the Auto-sync list, isn't it synced regardless of whether or not '[ ] Auto-sync files from the device to the PC' is enabled?

2) I don't think that this will really help most users--something more explicit is needed--see 3)

3) The current behavior makes sense in cases where the user wants the main library to be updated with the Android version of the playlist, but I expect that that will not usually be the case (unless the Android library is a full copy of the library). If true, it might be a good idea to prompt/warn the user when deleting a track that's on a playlist.

This can be achieved by changing the deletion confirmation dialogs (including those described at 0009692 ), as follows:

Delete from from Tracklist:

! Delete
Tracks will be permanently deleted
[x] Remove from playlists as well? {tooltip: Note: if a playlist is used to auto-sync files, then removing it from the playlist will cause it to not be synced}

[OK] [Cancel]


Remove From Now Playing:

Remove/Delete (x items)
(o) Remove from now playing
( ) Remove from now playing and permanently delete
    [ ] Remove from playlists as well {tooltip: Note: if a playlist is used to auto-sync files, then removing it from the playlist will cause it to not be synced}
[OK] [Cancel]


Remove from playlist:

Remove/Delete (x items)
(o) Remove from playlist {tooltip: Note: if a playlist is used to auto-sync files, then removing it from the playlist will cause it to not be synced}
( ) Remove from playlist and permanently delete
[OK] [Cancel]

Ludek

2013-04-06 09:54

developer   ~0035549

Last edited: 2013-04-06 10:00

This sounds to me very complicated and would result in deadlinks in MMA ?

I think that bi-di playlist sync should be just configurable (via separate checkbox) and disabled by default.

BTW: I guess that also bi-di metadata sync should be configurable (enabled by default).

rusty

2013-04-09 14:23

administrator   ~0035587

Per discussion, the simplest approach in the short term would be to prompt the user as suggested by Ludek, taking a different approach depending on how the playlists were edited.
 
For playlists in which at least one file is explicitly deleted or edited:

'Existing file(s) and playlist(s) to update from the device to the PC'
--[x] Playlists: Playlist1

And for playlists in which files are implicitly deleted (i.e. the files were deleted from the device and hence removed from the playlist):
'Existing file(s) and playlist(s) to update from the device to the PC'
--[ ] Playlists: Playlist2

(the only difference being whether the playlist is selected by default).

In the future, we may take an approach that allows for the multiple concurrent edits to playlists.

Ludek

2013-04-15 14:10

developer   ~0035627

Implemented the suggested confirmations for USB sync in MMW build 1631.

rusty

2013-06-05 16:51

administrator   ~0036338

Last edited: 2013-06-05 16:53

I suppose that there are 2 options:
a) internally track which playlists/tracks have been deselected
b) change the default so that New files/playlists are deselected. In which case:
 i) all new tracks should be deselected by default
 ii) auto-sync files from the device to the PC can be enabled by default

I also found some ?new? issues
4) Re: New file(s) and playlist(s) to copy from the device to the PC (%d), the (%d) is truncated
5) After syncing tracks from MMW to MMA, and then enabling 'Auto-sync files from the device to the PC', but not selecting _any_ directories --> MMW attempts to sync back what appears to be all of the tracks that were synced! (note: tested with MMW 1641 connected via USB to an S3).
6) One other point: if we go with the design proposed re. 1)/2)/3), then we'd have to implement the same approach in MMA.

Ludek

2013-06-06 09:51

developer   ~0036349

Last edited: 2013-06-06 20:42

Re: 6)
I was thinking about it further and the only case when MMA playlist edit is unintened is when user deletes a track from the device and the track was part of such a playlist. I guess that the most easy and reasonable short term solution is to not propagate such a unintended changes to MMW at all (suggested as item 3 in the bug description).
i.e. MMA's playlist timestamp should be changed only when user directly edited/reordered the playlist in MMA. By using this approach we might not need the confirmations in MMA/MM8 when syncing over WiFi.

Ludek

2013-06-06 20:21

developer   ~0036358

Issues 1,4,5 are fixed in build 1642.

rusty

2013-06-10 18:08

administrator   ~0036409

Re. 6) If we try the approach suggested in 3) [to only modify the playlist's timestamp when it is edited directly], are you suggesting that confirmation dialogs be eliminated for both USB and WiFi sync?

Ludek

2013-06-11 10:38

developer   ~0036413

I think that for USB sync we can leave them, of course only once '[x] Confirm updates (recommended)' is checked on the [Auto-Sync(-->Library)] tab.

rusty

2013-06-12 19:03

administrator   ~0036440

Re. comments from Ludek at ~35631 (the fact that when doing a USB sync, the same confirmation dialog appears wrt each device playlist even if the user has previously unchecked it in the confirmation dialog): do you have a preferred approach?

Re. 6) wifi sync currently functions differently than wired sync (Wi-Fi sync has no confirmation dialogs / different behavior) for the following cases, even when MMW is set to 'Confirm deletion' and 'Confirm updates':
 a) new playlists in MMA / automatically synced via wifi vs prompted for USB.
 b) deleted playlists in MMA / not prompted for wifi sync and playlists remain on the device even when 'Delete other files and playlists from the device' is enabled (raised as issue 3 at 0010970, but more appropriately tracked here). I think that a prompt should be provided if 'confirm deletion' is enabled, otherwise, deletion of a playlist from MMW could be quite a surprise.
 c) modified playlists in MMA/ automatically synced via wifi for re-ordered playlists (but fails to sync changes related to removal of a track from a playlist). Again, this should be fixed, but once fixed, if 'confirm updates' is enabled, the user should be prompted before the MMW library is modified.

Ludek

2013-06-12 21:30

developer   ~0036445

Last edited: 2013-06-12 22:01

Re. the preffered approach from 0010689:0036338. I think that both have significant disadvantages:
a) this approach would add the complexity of remembering what item file/playlist was deselected by user for every item / every device. It would be even more complicated in case user uses both USB and WiFi sync and this memory would need to be somehow synced between MMA/MMW.

b) this approach has also problems:
-- i) if user want to sync all content then he needs the additional step of checking each checkbox on every sync
-- ii) it would behave differently in case user disables '[ ] Confirm updates'
-- it would suppress the feature added here 0010948:0036291 that if a file with same metadata already exists in MMW library then such a file is unchecked to copy back to PC in order to prevent from introducing duplicates in MMW library

Given the reasons above and the fact that user can simply deselect all items at once (by using the root checkbox) I would probably defer this issue or use approach c)

c) show confirmations only for items (new playlist, new file, playlist modification, file modification) for which its timestamp is newer than timestamp of the last auto-sync.


Re 6)
I agree that for consistency we should add the confirmations (when configured) also in case of WiFi sync (especially if we have already added the file deletion confirmations to MMA), but this kind of confirmations can be quite annoying on small phone display so it should be definetly configurable. i.e. the 'Confirm updates' and 'Confirm deletion' checkboxes should be shared between MMW/MMA same way as the checkboxes for enabling/disabling the auto-deletion / bi-di sync.

Re: 6b) I think that if 'Delete other files and playlists from the device' is enabled then emptied playlists should be deleted in MMA, but not in MMW. As I said in 3) - only direct playlist edits should be propagated to MMW.

rusty

2013-06-13 04:52

administrator   ~0036471

Re. 0010689:0036338, c) sounds logical, except in cases where the user changes their mind. Do you think it would make sense to use a variant cii) show confirmations for (new playlist, new file, playlist mod, file mod), BUT in cases where the timestamp is newer than that of the last auto-sync select the item by default, and in cases where it isn't, don't select the item by default.

Re. 6) OK, so perhaps you can implement the MMW portion of this as part of this bug, and I'll create a related MMA bug to track the client-side support for these corresponding confirmations.

6b) You're right--I mis-transcribed the bug. The bug is actually that in the following cases, when 'Delete other files and Playlists from the device' is enabled, that for a playlist X that has been previously auto-synced b/w MMW and MMA:
i If the user deletes playlist X in MMW, then upon resyncing, Playlist X remains on the device, but is empty
ii If the user deselects playlist X in MMW, then upon resyncing, Playlist X appears twice on the device, but both copies are empty

What's really strange though is that this behavior isn't consistent--on some occasions, MM indicates nothing to sync!!

6c) This bug remains: modified playlists in MMA/ automatically synced via wifi for re-ordered playlists (but fails to sync changes related to removal of a track from a playlist)

Ludek

2013-06-13 09:55

developer   ~0036477

Last edited: 2013-06-14 12:39

Re. 0010689:0036338, c) yes, this is exactly as I was thinking about it this morning and I consider it as the best approach. i.e. only items with newer timestamp (than last auto-sync) should be auto-selected, the rest should be de-selected in the confirmation dialog.

So we are in agreement and I've implemented this on MMW side this way (in MMW build 4.1.0.1643).

The rest (including item 6) needs to be implemented on MMA/MM8 side, entered as new issues: 0010989 , #10988

peke

2013-07-05 21:58

developer   ~0036765

Verified 1646