Comments (15)
you might need to set periodic sync
here you go https://youtube.com/shorts/zxQHkbXhWok?si=wTn4DNBJBcsHzPe3
instant sync
would take longer due to Android OS limit
from android-money-manager-ex.
Closing. The password issue was addressed.
The syncthing "issue" is no more. Everything in that regard is working fine.
from android-money-manager-ex.
so far, it is a known issue. just leave the password blank/empty. there is no much difference from previous versions.
from android-money-manager-ex.
hi @marcdw1289 ,
I am interested in your phone storage + syncthing issue. can you share more?
from android-money-manager-ex.
Upon thinking again I believe there is no syncthing issue.
I was fighting with DecSync at the same time I was testing with MMEx and was frustrated.
The MMEx database gets synced just fine. On the target device I would open the app and not see changes thus thinking it was not working. Been using the 2018.11 version for so long I was expecting "instant gratification". 😁
Then I remembered a discussion that mentioned the difference between the 'local' data (/data/data/moneymanagerex/
) vs internal storage (/sdcard/MoneyManagerEx/
).
So I assume I have to manually open the syncthinged database(?). If so then things are fine but correct me if not. Still trying to get the hang of things.
from android-money-manager-ex.
I have a suspicion about the syncthing problem. The problem with synchronization is that AMMEX makes some change to the local database immediately after it opens a db. It forces this change to be pushed to the sync-folder:
- if there were no changes to the remote db from another devices: "Database stored successfully".
- if there were changes to the remote db from another device: "Both the local and the remote files have been modified".
In the second case I have to create a copy of the last remote db in my sync folder and open it with AMMEX as a new db. Which leads me to the first case, where I have to use only AMMEX on my phone, so there would be no changes to the remote db from another devices and no conflicts.
It all works even with a new clean db created with AMMEX:
- create a db with AMMEX in the remote sync-folder;
- create an account in it - just to make it not empty;
- wait until the new db is synced on desktop;
- open the new db on desktop;
- make any change - create another account;
- wait for sync to be completed to your mobile;
- open AMMEX and get your "Both files have been modified".
from android-money-manager-ex.
hi @bballmaster,
The desired behavior is that every device modifies and performs the change sync in time. multi modifications to a single file are problematic and will result in a conflict.
once conflicted, we can force push to and pull from the remote (depending on which is the ground truth). re open is a kind of force pull.
in your example, a sync (manual or periodical) is needed between 2 and 3. this is to reflect the changes to the new db in your sync-folder.
this arch might explain it a little bit and MMEX is leverageing the external storage service to data sync.
from android-money-manager-ex.
Hi @guanlisheng.
Thanks for your answer.
I totally get the scheme of cloud storage synchronization, and I don't expect it to be possible to make multiple chacges to one flie. The described problem occures in the item 7 in my example. The "Sync on start" option is on, but AMMEX does not pull the modified db file from the remote folder, but immediately after the start modifies the local db file (without my participation) and tries to push it to the remote folder - here happens the conflict.
The expected behavior is that with the "Sync on start" option on AMMEX would know where the latest changes are and at the start:
- if the remote file was changed last, AMMEX should pull it;
- if the local file was changed last, AMMEX should push it to the remote folder.
Am I wrong with this logic?
from android-money-manager-ex.
your logic is correct, seems you just forgot to push it to the remote after 2 /before 3 (as I said).
can you try following my suggestion to perform a sync (either manual or period, e.g. restart the app)?
from android-money-manager-ex.
Sure. I checked thoroughly multiple times.
Here is how to reproduce my steps:
- Open AMMEX on a phone and create a new DB in a folder being synced via Syncthing, so the db file appears on the second device almost immediately.
- Wait for one minute and create the first account in the db.
- Go to Settings -> Synchronization and perform "Upload".
- Close AMMEX.
- Wait for the db file to be synced to the second device (I can see it, when the modification time changes, as I wait one minute before any db change).
- Open the synced db file on the second device with the desktop MMEX.
- See the first account and in one minute create the second one.
- Wait for the db file to be synced to the phone - as you can see the file modification time changed.
- Open AMMEX on the phone.
- Get the conflict message - "Both the local and the remote files have been modified", just one created account - the first one.
After I wrote this sequence I did it all once again - same result. Do you see what I miss? Or can you reproduce it the same way?
P.S.: the "Sync on start" option is on.
from android-money-manager-ex.
These 10 steps are much clearer and it is expected to work. the root cause is to be addressed.
Can you change step 3 by clicking Synchronize in main menu?
from android-money-manager-ex.
btw, you are using v2024.03.07, correct? maybe we can start a new issue separately.
from android-money-manager-ex.
Sure. Just tried it with "Synchronize" action - no difference.
And sorry I didn't mention the version before: I was still using the previous release - 2024.02.15.1019 because of some other issues. The thing is that the search in selects became case-sensitive for cyrillic symbols, and subcategories do not unfold while searching with capital letters. Had no time to report.
And I just reproduced it all with the latest release - 2024.03.07.1021.
from android-money-manager-ex.
@wolfsolver, can you take a look at the category issue?
in terms of sync, I reproduced it once time. still not sure the root case why local file mtime is not determined properly.
a workaround is to click Synchronize
action one more time until you see the message The database is up to date
.
from android-money-manager-ex.
hi @bballmaster, can you try the latest apk via https://github.com/moneymanagerex/android-money-manager-ex/releases/tag/2024.03.19.1023.
i tested and it works well on your steps. it was caused by a silly bug.
from android-money-manager-ex.
Related Issues (20)
- Can't open any transaccion (crash) HOT 11
- Can't open MMEX file from Nextcloud application (F-Droid version) HOT 4
- only 2 reports working
- Updating amount calc doesn't work HOT 4
- Bug on + button HOT 9
- Some Reports submenus not opening HOT 5
- dropbox and syncthing sync don't work properly HOT 8
- Auto add scheduled transactions at launch HOT 19
- "Income vs. Expenses" report calculates share transaction with transfer type incorrectly HOT 1
- Notifications are blocked? HOT 5
- No operation possible after update HOT 4
- MMEX v2024.04.21 (1029): some reports not working HOT 1
- Problem with biometric security / pin protection HOT 1
- Switch between DBs requires password HOT 1
- Error sorting Payees by usage
- Arabic translation update HOT 7
- View reports by parent categories HOT 1
- Auto update/sync Google drive HOT 4
- Database created/modified on Linux (Appimage) won't work on Android HOT 4
- Crash during automate testing HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from android-money-manager-ex.