• Beta
  • Open Beta Version 3.7.0

I can see in the log that ST3 sees which files are missing and tries to download them but gets no response from iCloud. Strange maybe I need to add more logging statements to see which request stalls exactly.

peter Damir When you choose to upload to icloud on one device does that overwrite all previous uploaded data from other previous uploads from a different device?

Not necessarily. I have opted for an option where the iCloud storage is not explicitly deleted so that you can temporarily disable iCloud and reenable it and if there have been no bigger changes in the cloud, you would not need to reupload everything

I think that could be the problem, i think it might be better to treat it this way, whenever you choose a different device to sync to icloud it should be a total clean upload to icloud , from then on all devices get the exact same data any changes made on any update the data , this way there is no cofusion , once you decide to load a different device it overwrites the iCloud completely.
This allows us to use our full backups to change the icloud service to sync our devices with the full backup we choose and not merge things creating a dogs breakfast.
It means you need to treat the upload to icloud very seriously as it will overwrite all devices as well, it means you need to have all your full backups up to-date if you are bouncing things around , but for most of us this wont be a problem as we would decide on a master once and from then on we just need to make a full backup occasionally when we have perhaps created a few new songs.
At the moment things are just meshing around and theres nothing definite about the syncing.
Perhaps just keep it simple for now.
And get reliability happening.
Good luck.

    Damir once you decide to load a different device it overwrites the iCloud completely.

    Maybe that approach is indeed better. It will definitely lead to the result you expect when you select the upload option.

    Regarding the sync issue: After looking at the code, I think I might have found the problem. Could indeed be a bug on my end. I will try to reproduce it and fix it. From what I can tell, it might also fix the issue @DickyDutch has.

    Thanks for the other logs. So the actual reason for some files not being downloaded in the first place is that iCloud refused some requests because too much data has been transferred in a certain timespan. I guess I will have to refrain from parallel downloads like I did with parallel uploads. Then the initial sync should fetch all songs from the server in one go.

    Later on all logs indicate the same issue that I think I have identified in my previous post.

      peter great news, can’t wait for the next test.

      OK, I found the problem with the missing songs and fixed it. But I will not be able to finish the update until wednesday or thursday as serializing the download of files and wiping the database when joining as master is a bit more work.

        peter hi Peter, while you’ve been busy fixing I have spent time thinking of a way things might be more flexible and simpler to use, see what you think.
        The idea is to keep sync simple to setup yet give us full control if we want and is always clearly visible to what settings have been chosen as at the moment you don’t know which unit is master, the idea is you can only have one master

        If you don’t enable then all other buttons are hidden , when you enable iCloud you get a default two buttons one is set as slave and in auto mode as default, this is the normal mode , if you then choose to make this the master to iCloud when you select it you get a pop up window warning you will delete all existing iCloud data prompting you to be sure you have an option to pull out and make a full backup first.The last unit selected becomes master and any other units that were master have this automatically disabled when they communicate with iCloud, iCloud hopefully can do this in some way. The user has a visual display on all devices of what is going on no matter how many devices are using this particular icloud.
        The auto mode simply takes over just like now it is the default but if you choose manual mode what this does it allows us the user to choose when we want to sync , the default is when we open the software it will not send or receive data until we choose when to sync, the advantage of this is all units are left alone but when you feel you are ready to share or update you enable the sync now , this remains on till you either disable it or you exit the program so when you come back again you are left alone by iCloud till you choose to sync.
        This creates great control of data transfer for those running more complex systems, while auto mode is a very hands off and simple way of syncing a few devices.The idea is to give us more visual confirmation to what is actually happening with iCloud, at the moment it’s very basic and unclear to what is happening
        Oh I left out the indicator that shows the transfer data in real time this is good but when it’s finished it shows date time of last completed sync it would be good if it also showed the number of files it transferred.
        Here is a rough drawing as an example.

        Cheers Damir

        iCloud syncing does not work that way. There is no difference between a master and client device. All devices are the same. The technical term how this functions is "last write wins". So if you edit the same entry on 2 devices at the same time, the device that saves last, will win. A distinction between master and slave therefore makes no sense.

        Manual sync would technically be possible with the audio files but not with the database content. And that would be very confusing if database changes are always synced automatically but files needed a manual action.

          peter Manual sync would technically be possible with the audio files but not with the database content. And that would be very confusing if database changes are always synced automatically but files needed a manual action.

          Agreed, i don't know the nitty gritty of the systems operation but if you can get it to reliably replace all iCloud data when you choose to upload to icloud from any device , and then update on all devices when any changes happen on any device would be perfect for me, and simple as if you dont want any sync just turn icloud off but when you turn it on i expect icloud to just update the device with the new turn on and quickly correct the new changes , i dont expect for the device to renew the whole icloud data, as that would take ages if you have a big database.
          If thats possible than thats all i expect.
          I can turn off the devices i don't want synced and easily turn the sync on and only update to new icloud sync but only with newly aded data.
          I still think when database is updated the information should have the number of data files that were updated on last sync so you know if all updates happened as you have the number of files in Song mode and can compare , thats why i want to see SONG NUMBER ON ALL DEVICES TO BE SEEN AT ALL TIMES. To make iclud syncing easier to track.
          Cheers Damir

            Hello Peter, thanks for the hiding chords change as well as all the improvements. Where do i report issues.
            I noticed that the counter icon on the history button isn’t resetting. It resets after restarting the App
            I also changed the assignable buttons to MIDI and now they seem to retain the MIDI text even if I change the buttons to another function. It resets after a restart the App.

              Hi Peter, i just experienced multiple crashes while syncing to the st3 database, i sent you the log of today but i am not sure there is anything in it , if not it means there is an issue with the log system.

                Damir I can turn off the devices i don't want synced and easily turn the sync on and only update to new icloud sync but only with newly aded data.

                Unfortunately that would work with the files but not with the database. I tried it that way in the first place but the problem is that as soon as you enable iCloud sync, the local database will contain sync information for each database entry. When you disable sync, this information is kept and can not be deleted as it is not accessible to the app. When you reenable iCloud, it will try to sync all local changes you made while sync was off even if you select to only download changes from iCloud. And that is rooted deep inside of iOS and I can not change that. The only solution is to drop the whole database file when you enable iCloud sync with the download option and reload everything from the cloud.

                So you should not switch sync on and off on a regular basis. Either you want to use syncing, then leave it on. Or you don't and then don't turn it on at all.

                Tim_pbjp Where do i report issues.

                Report issues here. That's why we have this tread 🙂. Which counter do you mean? I am not a aware of any counter on the history page or icon.

                Damir if not it means there is an issue with the log system.

                If an app crashes it no longer runs. How on earth should it log anything if it is no longer running? We will have to wait for the crash log to show up in Testflight.

                  peter If an app crashes it no longer runs. How on earth should it log anything if it is no longer running? We will have to wait for the crash log to show up in Testflight.

                  I don't know how the crash log is interfaced in to the system i thought it was an external thing monitoring the behaviour of the software but its obviously not.
                  Eventually i managed to get a full database sync and now i am up to date with iCloud for now.

                  peter The only solution is to drop the whole database file when you enable iCloud sync with the download option and reload everything from the cloud.

                  So you should not switch sync on and off on a regular basis. Either you want to use syncing, then leave it on. Or you don't and then don't turn it on at all.

                  I don't mind that as long as everything works , i would be happy to run that way as its the same what i have now with other apple apps.
                  Good luck with the repairs.

                  Hi Peter, I badly explained myself.
                  Regarding the History button “icon” there is a red number attached to the icon that increments by one each time a song is played. This number was not resetting even after I reset the history and only reset itself after I restarted the App.

                  I hope this helps.

                    Tim_pbjp There should never be a red number displayed above the History tab button. This number should only be displayed on the Queue tab button which you have most likely not enabled in the Queue settings. The question is: how did the number show up in the first place? I don't see it no matter what I do.

                      Regarding my other point raised:
                      The text “MIDI” does not disappear when I change Assignable buttons. See below:

                      peter The queue Tab number is working fine.
                      Sorry, but I don’t know how I got it showing up on the history tab button. If it happens again, I will trace my steps back and let you know.

                      The midi button issue is a good find. I can reproduce it and will fix it in the next update. Thanks!

                      The next update will need a bit more time. I have updated my iPads and Phones to iOS16.4 and now I can no longer deploy the app to these devices for testing. The Apple developer forum is full of reports about this issue. Without testing I can not release a new update. Now I have to wait for a new version of Xcode from Apple or try to work with a beta version of Xcode which I would like to avoid.