The tone of your message makes me think that you are misunderstanding what is 
happening.

(a) the Google group requires a Google account. But it shouldn't (and to the 
best of my knowledge doesn't) reject anyone who hasn't been banned from other 
groups for excessive abusive behavior in the past.
(b) the developer mailing list that you tried sending an email to has been 
overrun with subscription spam and now requires explicit approval from me to 
add people - but I don't think that you want to be a developer from the way 
this all sounds
(c) your description of what happens is garbled and confusing. Please try to 
explain in sequence what happened, how many devices / computers were involved, 
etc
(d) any data that was at some point saved to the cloud (so that has 
successfully synced between two or more devices) is still there. You just 
managed to confuse the algorithm with the sequence of actions which resulted in 
it assuming that you wanted to replace old dives with new ones, instead of 
adding new ones.

I'll repeat what I have said in dozens of answers that your search found 
already. This is an open source project - a hobby for a bunch of people. Angry 
outbursts at the developers might work for a paid product (newsflash, they 
usually don't), but when attacking someone who wants to help you because it's 
something that they like to do, it generally tends to have the opposite effect.

If you would like help, I need two things
(a) your explicit permission to access your cloud data (because I never 
interact with user dive data without such explicit permission)
(b) a good descriptions of which dives should be there (how many, what rough 
time frame are they from) and the sequence of events that made everything 
disappear - because I need to undo those events in the backend, and the more 
information I have on what happened, the easier that process will be.

Finally, as to your question how to avoid this in the future - in about half of 
the cases the issues is that on a PC you downloaded new dives before opening 
the cloud storage and then ended up overwriting cloud storage. The other half 
are situation where you made changes on two different devices without syncing 
first. There are a couple of other scenarios, but they are very rare. The 
simple approach to preventing this issue is to simply always sync with the 
cloud FIRST, before making any changes (downloading new dives from a dive 
computer, editing dives, etc).

/D

> On Oct 14, 2023, at 21:04, Callie K <[email protected]> wrote:
> 
> Hello,
> 
> I am very upset. All my data was lost from your app tonight.
> 
> I edited one dive log, sync’d to the cloud, and it deleted four of them. 
> Shortly there after, I wasn’t sure what happened and I added another dive log 
> and sync’d it to the cloud again. This time I deleted all the remainder of my 
> logs. There were about 40 dive logs.
> 
> There is no way I deleted my dove log information, just no way.
> 
> I googled this issue and saw numerous other posts about this problem. I even 
> went over to your Google groups, but it would not allow me in, please explain 
> how to access, that Google sector/forum. I wasn’t able to find any way to add 
> that as a group, nor register.
> 
> Please restore the data, your app deleted, hid, or re-distributed to another 
> area.
> 
> Also, please explain what caused this problem so as it can be avoided in the 
> future.
> 
> Thank you,
> Callie
> 
> 
> Please describe your issue here and keep the attached logs.
> 
> 
> 
> 
> 
"0.000: Successfully opened logfile 
/var/mobile/Containers/Data/Application/C61B6173-EAEC-4239-95F3-9A3E5FAE8B5F/Documents/subsurface.log
 at Sat Oct 14 22:22:14 2023"
"0.000: Starting Subsurface-mobile:3.4.7(5.0.9.33):iOS 16.6:arm64:en-US"
"0.000: built with libdivecomputer v0.8.0-devel-Subsurface-NG 
(a17e466bd1d2e675666e20862182d618cf6d7190)"
"0.000: built with Qt Version 5.15.2, runtime from Qt Version 5.15.2"
"0.000: built with libgit2 1.0.1"
"0.000: Running on iOS 16.6"
discovery methods 2
starting BT/BLE discovery
QObject::connect(QUndoStack, QMLManager): invalid nullptr parameter
"0.015: download page -- looking for known BT/BLE device"
"0.018: [screensetup] width changed now 510 x 765 vs screen 428 x 926"
"0.018: [screensetup] window width changed to 510 orientation 1"
"0.018: [screensetup] remembering new orientation"
qrc:/qml/StatisticsPage.qml:142:4: QML TemplateSlimComboBox: Binding loop 
detected for property "currentIndex"
qrc:/qml/StatisticsPage.qml:125:4: QML TemplateSlimComboBox: Binding loop 
detected for property "currentIndex"
qrc:/qml/StatisticsPage.qml:108:4: QML TemplateSlimComboBox: Binding loop 
detected for property "currentIndex"
"0.038: StartPage visibility changed to false"
"0.038: not yet initialized, show busy spinner"
"0.039: regular font size changed to 16"
qrc:/qml/DiveSummary.qml:33:2: QML Connections: Implicitly defined onFoo 
properties in Connections are deprecated. Use this syntax instead: function 
onFoo(<arguments>) { ... }
qrc:/qml/DownloadFromDiveComputer.qml:319:4: QML Connections: Implicitly 
defined onFoo properties in Connections are deprecated. Use this syntax 
instead: function onFoo(<arguments>) { ... }
qrc:/qml/DiveDetails.qml:414:4: QML Connections: Implicitly defined onFoo 
properties in Connections are deprecated. Use this syntax instead: function 
onFoo(<arguments>) { ... }
qrc:/qml/Export.qml:112:3: QML Connections: Implicitly defined onFoo properties 
in Connections are deprecated. Use this syntax instead: function 
onFoo(<arguments>) { ... }
qrc:/org/kde/kirigami.2/templates/AbstractApplicationHeader.qml:69: 
ReferenceError: AppHeaderSizeGroup is not defined
"0.214: finished setting up the diveListView"
"0.214: Running on   iPhone built-in display"
"0.214: StartPage completed -- initialized is false"
"0.214: [screensetup] screenSizeObject constructor completed, initial width 510"
"0.214: 1 columns with column width of 510"
"0.214: width in Grid Units 28 original gridUnit 17 now 17.875"
"0.214: Done setting up sizes width 510 gridUnit 17.875"
loaded main.qml
qqwindow devicePixelRatio 3 3
qml_window reports width as 510 associated screen width 428 Qt screen reports 
width as 428
QMLManager received screen changed notification (428,926)
qqwindow screen has ldpi/pdpi 72 163
stale focus object QObject(0x0) , doing manual update
"0.258: [screensetup] width changed now 428 x 833 vs screen 428 x 926"
"0.258: [screensetup] window width changed to 428 orientation 1"
"0.258: [screensetup] remembering better height"
"0.258: 1 columns with column width of 428"
"0.258: width in Grid Units 23 original gridUnit 17 now 17.875"
"0.259: Done setting up sizes width 428 gridUnit 17.875"
"0.332: AppState changed to active with no unsaved changes"
"0.332: finishSetup called"
"0.332: showProgress: populate data model"
qrc:/org/kde/kirigami.2/AbstractApplicationHeader.qml:42: TypeError: Cannot 
read property 'header' of null
"0.339: showProgress: start processing"
"0.339: showProgress: 0 dives processed"
"0.339: showProgress: finish populating data store"
"0.339: showProgress: setting up internal data structures"
"0.339: showProgress: done setting up internal data structures"
"0.339: ============diveListProcessing is true"
"0.339: showProgress: Open local dive data file"
"0.339: Open dive data file 
https://ssrf-cloud-us.subsurface-divelog.org/git/[email protected][[email protected]]
 - git_local only is 1"
"0.341: showProgress: Processing 1 dives"
"0.341: showProgress: Create full text index"
"0.341: showProgress: start processing"
"0.341: showProgress: 1 dives processed"
"0.341: showProgress: populate data model"
"0.341: showProgress: start processing"
"0.342: showProgress: 1 dives processed"
"0.342: showProgress: finish populating data store"
qrc:/qml/DiveDetails.qml:406:5: QML DiveDetailsView: Binding loop detected for 
property "height"
qrc:/qml/DiveDetailsView.qml:20:2: QML Connections: Implicitly defined onFoo 
properties in Connections are deprecated. Use this syntax instead: function 
onFoo(<arguments>) { ... }
"0.379: showProgress: setting up internal data structures"
"0.792: showProgress: done setting up internal data structures"
"0.793: showProgress: 1 dives loaded from local dive data file"
"0.793: have cloud credentials, but user asked not to connect to network"
"0.793: ============diveListProcessing is false"
"0.794: initialization completed - showing the dive list"
stale focus object PageRow_QMLTYPE_40_QML_120(0x28375f0d0) , doing manual update
"0.808: pageStack switched to DiveList"
"0.809: switched to page Dive list"
stale focus object QQuickListView(0x283749130) , doing manual update
"0.833: AppState changed to inactive with no unsaved changes"
"8.322: AppState changed to active with no unsaved changes"
"18.932: endEditMode called with state view"
"18.933: local save requested with no unsaved changes"
"20.739: Cloud sync shows local cache was current"
device discovery received error "Device is powered off"
"208.896: AppState changed to inactive with no unsaved changes"
"208.900: AppState changed to suspended with no unsaved changes"
"4444.793: AppState changed to inactive with no unsaved changes"
"4445.401: AppState changed to active with no unsaved changes"
stale focus object AbstractListItem_QMLTYPE_125_QML_334(0x283455ce0) , doing 
manual update
qrc:/org/kde/kirigami.2/private/globaltoolbar/PageRowGlobalToolBarUI.qml:76:9: 
QML RowLayout (parent or ancestor of QQuickLayoutAttached): Binding loop 
detected for property "maximumWidth"
"4453.019: pageStack switched to "
"4453.021: switched to page Dive summary"
"4453.021: endEditMode called with state view"
stale focus object QQuickGridLayout(0x2835d30c0) , doing manual update
stale focus object BackButton_QMLTYPE_464(0x283796d60) , doing manual update
"4461.118: pageStack switched to DiveList"
"4645.897: AppState changed to inactive with no unsaved changes"
"4645.901: AppState changed to suspended with no unsaved changes"
"5130.139: AppState changed to inactive with no unsaved changes"
"5130.431: AppState changed to active with no unsaved changes"
"5138.435: endEditMode called with state view"
"5138.435: local save requested with no unsaved changes"
"5141.883: Cloud sync brought newer data, reloading the dive list"
"5141.883: ============diveListProcessing is true"
"5141.884: Clear out in memory dive data"
"5141.886: showProgress: populate data model"
"5141.890: showProgress: start processing"
"5141.892: showProgress: 0 dives processed"
"5141.893: showProgress: finish populating data store"
stale focus object AbstractListItem_QMLTYPE_125_QML_334(0x283455ce0) , doing 
manual update
"5141.938: showProgress: setting up internal data structures"
"5141.938: showProgress: done setting up internal data structures"
"5141.939: have repository and branch [email protected]"
"5141.939: ============diveListProcessing is false"
"5141.939: filename is now 
https://ssrf-cloud-us.subsurface-divelog.org/git/[email protected][[email protected]]";
"5141.939: showProgress: Create full text index"
"5141.940: showProgress: start processing"
"5141.941: showProgress: 2 dives processed"
"5141.941: showProgress: populate data model"
"5141.942: showProgress: start processing"
"5141.942: showProgress: 2 dives processed"
"5141.943: showProgress: finish populating data store"
stale focus object QQuickListView(0x283749130) , doing manual update
qrc:/qml/DiveDetails.qml:406:5: QML DiveDetailsView: Binding loop detected for 
property "height"
qrc:/qml/DiveDetailsView.qml:20:2: QML Connections: Implicitly defined onFoo 
properties in Connections are deprecated. Use this syntax instead: function 
onFoo(<arguments>) { ... }
qrc:/qml/DiveDetails.qml:406:5: QML DiveDetailsView: Binding loop detected for 
property "height"
qrc:/qml/DiveDetailsView.qml:20:2: QML Connections: Implicitly defined onFoo 
properties in Connections are deprecated. Use this syntax instead: function 
onFoo(<arguments>) { ... }
"5141.961: showProgress: setting up internal data structures"
"5141.961: showProgress: done setting up internal data structures"
"5141.962: 2 dives loaded"
"5160.012: requested dive list with credential status 3"
"5160.020: endEditMode called with state view"
qrc:/org/kde/kirigami.2/private/globaltoolbar/PageRowGlobalToolBarUI.qml:76:9: 
QML RowLayout (parent or ancestor of QQuickLayoutAttached): Binding loop 
detected for property "maximumWidth"
stale focus object AbstractListItem_QMLTYPE_125_QML_334(0x2834e4840) , doing 
manual update
qrc:/org/kde/kirigami.2/private/globaltoolbar/PageRowGlobalToolBarUI.qml:76:9: 
QML RowLayout (parent or ancestor of QQuickLayoutAttached): Binding loop 
detected for property "maximumWidth"
"5168.413: pageStack switched to map"
"5168.414: switched to page Map"
stale focus object MapPage_QMLTYPE_88(0x2837fcfd0, name = "MapPage") , doing 
manual update
"5168.701: pageStack wrong page, switching back to map"
stale focus object AbstractListItem_QMLTYPE_125_QML_334(0x2834e4840) , doing 
manual update
"5168.703: pageStack switched to map"
"5178.550: switching to statistics page, clearing out stack"
stale focus object MapPage_QMLTYPE_88(0x2837fcfd0, name = "MapPage") , doing 
manual update
"5178.552: pageStack switched to DiveList"
stale focus object AbstractListItem_QMLTYPE_125_QML_334(0x2834e4840) , doing 
manual update
"5178.582: there's no current page"
qrc:/org/kde/kirigami.2/AbstractApplicationHeader.qml:42: TypeError: Cannot 
read property 'header' of null
stale focus object ContentItem(0x283246400) , doing manual update
qrc:/org/kde/kirigami.2/private/globaltoolbar/PageRowGlobalToolBarUI.qml:76:9: 
QML RowLayout (parent or ancestor of QQuickLayoutAttached): Binding loop 
detected for property "maximumWidth"
"5178.590: pageStack switched to StatisticsPage"
"5178.590: switched to page Statistics"
_______________________________________________
subsurface mailing list
[email protected]
http://lists.subsurface-divelog.org/cgi-bin/mailman/listinfo/subsurface

Reply via email to