View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0010689 | MMW v4 | Synchronization | public | 2013-03-26 19:36 | 2013-07-05 21:58 |
Reporter | Ludek | Assigned To | |||
Priority | urgent | Severity | major | Reproducibility | always |
Status | closed | Resolution | fixed | ||
Product Version | 4.1 | ||||
Target Version | 4.1 | Fixed in Version | 4.1 | ||
Summary | 0010689: Auto-sync (-->Library) doesn't work as expected for playlists | ||||
Description | During 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? | ||||
Tags | No tags attached. | ||||
Fixed in build | 1643 | ||||
parent of | 0010989 | closed | peke | MMA | Implement sync confirmations for bi-di sync |
related to | 0010970 | closed | Ludek | MMW v4 | Sync logic problems MMA 139 / MMW 1642 |
related to | 0010993 | closed | marek | MMA | MMA fails to update playlists in response to removal of a track |
related to | 0011069 | closed | marek | MMA | Confirmations of backward sync of playlists are inconsistent in wifi sync and usb sync |
child of | 0010992 | closed | marek | 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. |
|
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> ? |
|
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. |
|
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] |
|
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). |
|
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. |
|
Implemented the suggested confirmations for USB sync in MMW build 1631. |
|
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. |
|
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. |
|
Issues 1,4,5 are fixed in build 1642. |
|
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? |
|
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. |
|
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. |
|
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. |
|
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) |
|
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 |
|
Verified 1646 |