39aldo39 / decsynccc Goto Github PK
View Code? Open in Web Editor NEWAndroid app to sync contacts, calendars and tasks without a server using DecSync
License: GNU General Public License v3.0
Android app to sync contacts, calendars and tasks without a server using DecSync
License: GNU General Public License v3.0
java.io.FileNotFoundException: Couldn't find event 10
at at.bitfire.ical4android.AndroidEvent.getEvent(AndroidEvent.kt:151)
at org.decsync.cc.calendars.LocalEvent.writeUpdateAction(LocalEvent.kt:54)
at org.decsync.cc.calendars.CalendarsService$CalendarsSyncAdapter.onPerformSync(CalendarsService.kt:121)
at android.content.AbstractThreadedSyncAdapter$SyncThread.run(AbstractThreadedSyncAdapter.java:334)
My decsync is broken D:
When I launch it, I briefly see a white screen, then it's gone and Android says the app was repeatedly closed.
I wanted to try the new tasks feature so I tried to add a task element called "decsync tasks". Nothing appeared below my calendar and contacts. Tried to add one called "tesz" (or something similar, I typoed). Nothing appeared. I decided it was a good moment to rename my address book "decsync" to "decsync addresses". Then went to settings to see if there was anything about tasks. I saw the tasks app setting and opened it. Saw opentasks and selected it. Then the app crashed (I think immediately, not sure though). Now it crashes every time I try to open it.
When this happened I had no lists in opentasks at all. I later tried to add one (local one) and a task to it. This did not stop DecSyncCC from crashing.
There is a directory tasks
with two collection subdirectories in my DecSyncCC directory.
DecSyncCC 1.5.0 from fdroid.
The problem is a bit weird because it was working before and suddently it's not working anymore...
The problem occurs with a tablet LG-V500. When I add entries in the calendar from the phone, and reset the calendar in the tablet app, in this way the sync works.
But when I create an entry from the tablet, it appears in my agenda but does not sync. And if I reboot the tablet, the calendars in decsync are unchecked, and if I check them, the entries I created before does not appear.
I wiped cache and dalvik cache and reinstalled the app but I can't find where does the problem come from...
Here are some adb logs, may be it can be useful :
04-03 06:56:18.542 26533 26568 W aCalendar: unknown calendar type org.decsync.calendars DecSync Calendars lecec DecSync Calendars
04-03 06:56:18.546 26533 26568 W aCalendar: unknown calendar type org.decsync.calendars DecSync Calendars agenda DecSync Calendars
04-03 06:56:18.678 26533 26533 E PhoneWindow: Circular progress bar not located in current window decor
04-03 06:56:18.982 26154 26154 I CalendarProvider2: Sending notification intent: Intent { act=android.intent.action.PROVIDER_CHANGED dat=content://com.android.calendar flg=0x20000000 }
04-03 06:56:18.987 26154 26154 W ContentResolver: Failed to get type for: content://com.android.calendar (Unknown URL content://com.android.calendar)
04-03 06:56:19.012 26127 26127 D AlertReceiver: onReceive: a=android.intent.action.PROVIDER_CHANGED Intent { act=android.intent.action.PROVIDER_CHANGED dat=content://com.android.calendar flg=0x20000010 cmp=com.android.calendar/.alerts.AlertReceiver }
Today I installed the F-droid privileged extension. After a reboot, I upgraded the app from within F-Droid. Now both my sync accounts were lost and the app thinks it's been clean installed. Was this caused by me installing the privileged extension? How do I get the accounts back with my old data without losing anything?
The current design has one flaw:
If your android phone breaks, you cannot convert the data of DecSync to a vcf without another working android phone. Therefore, it would be nice if you would either ...
Hours can pass before a calendar event is picked up by DecSyncCC. Checking 'Last synced' times in Settings>Accounts seems to confirm my observation; for example, yesterday I noticed that one of my devices (SM-P900, Lineage 13) hadn't synced in more than 6 hours.
Is this expected behavior? Are you planning to add a 'sync frequency' setting?
When creating an event with Samsung calendar, strange things happen when trying to set a color other than the calendar's default:
There are no problems if I use Etar Calendar, but I'd prefer to avoid having two calendar apps. Is this just a problem with the Samsung one?
I am sorry if the issue tracker is not the right place to ask this question, but is there any chance to support older versions of Android than 4.4?
I am asking, because I have at least 2 devices, where the last official version of Android is 4.1. Does DecSync CC use any specific features that are only available in Android 4.4 and later?
Hello
First, so much thanks for this app, this is an app I was waiting for so long :)
I couldn't find a way to configure the root folder, ie where files are stored (default is ~/DecSync
)
The idea would be to use a folder I already sync with syncthing, not to create a new shared one.
Thanks
First things first: Thank you for this great app :-)
It would be great to have an option for choosing a color for the calendars so you can easily see which entry came from which calendar.
Firstly thanks for this app - I use it with Syncthing between android & your Radicale-DecSync on my laptop with linux & from there its synced via Radicale to Calcurse.
My phone is antiquated Moto G (first gen) with a Lineage OS 14.1 based ROM (up to date).
Had been using using DecSyncCC since v1.2.0 without issue but this latest version (1.3.0) flags up a message to close the app. when it syncs of its own accord or whether I sync it manually. I've try to install several times, after reverting back to v1.2.3 each time (which is where I am now). One of the times I reinstalled it I thought I would re-sync to the database by un-checking & then re-checking the collections box but it ended up permently running so I had to Force Stop the app.
I notice this version is using kotlin, at least in part & I had been having issues on this phone with the latest release of the Transistor app by y20k https://github.com/y20k/transistor/issues/274#issuecomment-656244775 which he has totally rewritten in kotlin - possible link ??
When I use Thunderbird+Lightning+Radicale+DecSync-plugin, it is no problem to invite other people using their email address such that they receive the event and are able to confirm their participation. This can be done by choosing an own sender email address in the CalDAV settings of the calendar in Thunderbird.
When I invite people to events from a DecSync CC calendar on Android 8.1 (Samsung Galaxy A70), I see them as invited participants as part of the event. This information is synchronized successfully. However, they do not receive any invitation email. I tried multiple calendar apps, namely aCalendar, the pre-installed Android calendar app, and Simple Calendar Pro. On my other CalDAV or Exchange ActiveSync calendars this works.
Which steps would be necessary to provide this functionality?
If a task is created in Tasks and synced with DecSyncCC via Syncthing to Radicale Decsync the to Thunderbird it shows up, but it does not work the other way round.
Tasks
>>> DecSyncCC
>>> Syncthing
>>> Radicale Decsync
>>> Radicale
>>> Thunderbird
= Task visible
Thunderbird
>>> Radicale
>>> Radicale Decsync
>>> Syncthing
>>> DecSyncCC
>>> Tasks
= Task is not visible
Hello, I love having my stuff with local copies, in open source and DecSync is perfect between Evolution in Linux and Android.
But I have the problem that doesn't sync to the Android calendar (Etar or Simple calendar)
I am using Syncthing.
When I create a new contact or calendar appointment:
From Android Calendar to Evolution linux (It works, synchronizes automatically)
From Evolution Linux to Android (does not automatically synchronize)
Files with Syncthing if synchronized
When I update the calendar manually it doesn't work.
When I update DecSync manually if I synchronize the calendar and contacts
But it doesn't do it automatically, it only works manually on android when it receives.
The calendar and DecSyn have all phone permissions, automatic started on startup, calendar and contact permissions, total battery usage and everything else
It can be fixed?
Thank you very much for the help.
You can add Screenshots for F-Droid, too, if you want. https://f-droid.org/en/docs/All_About_Descriptions_Graphics_and_Screenshots/ https://gitlab.com/snippets/1895688 That was simply information about what is still possible. You would then only have to enter the screenshots in fastlane.
This app has the necessary permission for OpenTasks. However, it doesn't add a "tasks" subfolder in the "DecSync" folder, nor an account on the OpenTasks app.
Sorry because this is might not be an issue per se, but I'm having trouble understanding how this app works.
I made a new collection and a .mwbs file got created in the directory. But the entries count still shows 0.
So I'd like to ask:
Because this file is just 41kb whereas the .vcf backup I usually take is about 250kb.
Thanks in advance.
How can i create category? I can only create category in google.com or in the phone.
A dark mode would be lovely :)
I have set up Syncthing to using hidden folders.
How can i pick a hidden folder as DecSync directory?
As a workaround i have been able to set up a hidden folder with the integrated file browser. Then I instruct syncthing to use that folder.
So far it works.
Please implement scoped directory access so that READ_EXTERNAL_STORAGE & WRITE_EXTERNAL_STORAGE are no longer needed.
Scoped directory access is new in Android 10.
Tasks.org allows users to change task list colors, but disables this functionality for OpenTask lists because it cannot modify the color in the content provider
This is similar to #3, but unfortunately can't be solved by a third party app
I was looking in my DecSync/contacts folder and was surprised to see that it contains exactly 15000 files, especially given I only have 78 contacts. Looking in stored-entries there are two folders, one for each phone that used DecSyncCC, each about 3700 files in resources.
3620 of those files are exactly 34 bytes long and look like:
["2019-12-16T12:37:44",null,null]
The other 80 are sized a few hundred bytes each and look OK.
What's with all the 34-byte "null,null" files, and is there a proper way to clear them?
Many thanks for this app.
I thought I would find .ics
and .vcf
files under DecSync directory but couldn't find any file with a contact actually...
All i've found is files with:
{"version":1}
["2020-07-22T22:17:45","name","AddressBookDecSync "]
["2020-07-22T22:17:52","name","AddressBookDecSync"]
How does this work?
I'm really not understanding this type of storage and how I could restore my contacts later with an .vcf
for example.
Thanks.
Install, launch, grant 3 permissions, "Unfortunately, DecSync CC has stopped"
Lineage 13, SM-P900 tablet
Hi,
I am trying yo use DecSyncCC and Syncthing to share a calendar for several people.
It seems everything is fine if one adds a calendar entry, then sync with the other devices.
The problem seems to be when adding an entry in one device that is offline, and the calendar is modified in a second device before the first device could go online and sync.
From that time, there are conflict files in DecSyncCC folder created by syncthing, and calendars couldn't be merged.
At first glance I thought it was a Syncthing issue, so I searched in its GitHub page.
I found a similar issue and the answer was that Syncthing will never manage a merge strategy
I wonder if someone found this issue as well and if there is any way to get this working....
Thanks!
1.1.8 and 1.1.9
Havoc-OS-v3.0-20191031-oneplus3-Official.zip
FC after give any permission.
The read bytes
folders for calendars and contacts are not produced as described by the file internals.md
.
Is this a design feature or are those files optional.
I'm planning to write a port in python so a clear description of the algorithm would be great.
Anyway, great idea. This was very much needed.
I finally got it running so far that calendar entries are transferred from Evolution to Decsync CC on my Android phone (Entries count shows a reasonable number). Then above message appeared and I thought "nice - now I will see the entries soon". This was 12 hours ago, the message is still there and the "busy" line below is still running.
The calendar is marked to be synchronized in the calendar app.
Ah yes, and everytime I try to get DecSync CC to do anything, like synchronizing, the message (freely translated) "DecSync CC was stopped" or "...was repeatedly stopped" shows. But the app is still open... ?
Did I miss anything?
Best regards,
Wolfgang
Hi, this is a great little app but I noticed that after creating a new Address book under "Address books" in the DecSyncCC app, and adding contacts to that new address book, they wouldn't sync properly with my computer (Evolution-DecSync plugin).
Turns out I had to go into the settings under "Users & accounts" to the "DecSync Contacts" item that had been created there and turn on sync manually. This is on Android 8.1.0 with no Google Apps.
is this intended behavior or a bug?
So my tablet (samsung galaxy tab A sm-t290 running android 9) is air-gapped and only connects via wifi to a local network of computers which also never touches the internet. Please dont suggest a solution involving connecting the tablet or my home server to the wider internet. This is both not possible, and not wanted.
I installed decsync CC and Syncthing, and both work for syncing regular files. When I add an event in evolution, it shows up on my tablet after I uncheck and recheck the calander in DecSync CC. A bit annoying but whatever.
The problem is that new events I make in my android calander dont sync to evolution. Any changes I make locally on my android tablet get reset after I uncheck and recheck the calander in DecSync CC.
I know that davx5 relies on the android sync framework or whatever for syncing, and that that framework breaks without an internet connection. Is DecSyn CC similar?
I am pretty sure the issue is with tablet and not with my server, as it can sync events just fine between my raspberry pi and my laptop.
Is there some setting I need to change in order to make DecSync CC share changes I make to events and new events sync with evolution?
Very cool app. This is THE missing link for P2P sync.
Thank you very much for doing this.
I had reinstalled the app, but it didn't restored contacts and calendar from the "DecSync" directory.
Just installed this and added years of calendar entries using Calendar Import-Export. All seemed to be going well (contacts synced without problems), but it looks like it's stuck on some calendar entry. The error that pops up as a notification after having it sync is Multiple lines read as text: [1, 4]
.
I can't find (grep
) [1, 4]
or parts of that in my imported .ics
or the synced DecSync dir.
The entry count is:
Android entries: 2695
Processed entries: 2246
DecSync entries: 1357
I am only using it on Android, and use Syncthing to synchronize.
How will I be able to find the culprit? I don't mind deleting a broken entry.
Thanks!
Currently, the app doesn't support contacts groups.
Hello,
I'm using Syncthing and found your app on f-droid for sync of calender entries and contacts.
There is no description about the workflow of the app, what is happening there?
A folder is created, with subdirectories info, new-entries and stored entries.
One of the files only contains: "["2019-03-01T10:13:16","name","AdreddCollention1"]
I don't see any contacts or calender entries.
Do I have to do something to get it work?
Do I have to create contacts and calender entries in the App? There is just a way to create a list nothing else.
When the user clicks the + to create a new collection, the name is blank so they have to type in a new name from scratch. I think it would be good if there could be a pre-filled suggested collection name, e.g. DecSync, so the user could just click OK in many cases. Bonus points for detecting if there is already a collection of the same name, and offering, e.g. "DecSync 2" in that case.
I have two mobiles, both with DecSync CC and Syncthing. They both use the same DecSync calendar account. Also, they both synchronize on a common server.
Any time I change any item in one of the two calendars it gets synced to my server after some seconds, so this part (automatic sync on outgoing calendar changes) is fine.
However, the calendar of the other mobile doesn't get updated automatically; I have to force it by manually pressing the "refresh" button in DecSync.
Hi,
Please publish this application to Google Play Store.
Just a feature suggestion. Maybe for greater app interoperability DecSync should also save compiled vcf and ics files ?
Good Afternoon
Have just upgraded to v.1.5.2 via F-Droid, thank you, & am looking to try to incorporate the new facility for Open Tasks.
I am going to make the assumption that Open Tasks will look at *.ics files & will filter out only incorporate those that are configured as "VTODO" (I shall endeavour to confirm this with the Open Tasks dev).
Assuming that this is the case can DecSyncCC be configured so that it uses the existing Calendar collection as the Tasks collection?
Regards
It appears that many/most/all cloud storage solutions are embedded into the file browser in Android. (?) (for example pcloud) This allows you to browse and use the cloud storage like a regular folder on your device.
It would be great if I could set my cloud storage as DecSync directory. This would eliminate the need for a separate sync app for many users, as most cloud storage apps don't allow for mobile sync and in many cases not even backup besides photos and videos.
The password manager Keepass2Android supports this for its password database, if you need a code example https://github.com/PhilippC/keepass2android . I don't know anything about Android development, but it appears one only has to adjust the folder picker code?
Thanks for this app. It's much better than running a separate CardDAV/CalDAV server just to sync a few bits of text.
Support for saving and changing files on the sdcard. Even changing the data directory in the app can not save or change data
FATAL EXCEPTION: main Process: org.decsync.cc, PID: 16492 java.lang.RuntimeException: Unable to start activity ComponentInfo{org.decsync.cc/org.decsync.cc.MainActivity}: java.io.FileNotFoundException: /storage/emulated/10/DecSync/.decsync-info (No such file or directory) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2951) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3086) at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:78) at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108) at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1816) at android.os.Handler.dispatchMessage(Handler.java:106) at android.os.Looper.loop(Looper.java:193) at android.app.ActivityThread.main(ActivityThread.java:6718) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858) Caused by: java.io.FileNotFoundException: /storage/emulated/10/DecSync/.decsync-info (No such file or directory) at java.io.FileOutputStream.open0(Native Method) at java.io.FileOutputStream.open(FileOutputStream.java:308) at java.io.FileOutputStream.<init>(FileOutputStream.java:238) at java.io.FileOutputStream.<init>(FileOutputStream.java:180) at kotlin.io.FilesKt__FileReadWriteKt.writeBytes(FileReadWrite.kt:84) at kotlin.io.FilesKt__FileReadWriteKt.writeText(FileReadWrite.kt:110) at kotlin.io.FilesKt__FileReadWriteKt.writeText$default(FileReadWrite.kt:110) at org.decsync.library.DecsyncKt.checkDecsyncInfo(Decsync.kt:560) at org.decsync.cc.MainActivity.onCreate(MainActivity.kt:60) at android.app.Activity.performCreate(Activity.java:7144) at android.app.Activity.performCreate(Activity.java:7135) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1271) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2931) ... 11 more
Please can you add a changelog file, that could be linked to from F-Droid for example?
If I want to modify an event created or modified in evolution it's impossible to modify it in etar (default calendar) on lineageos. Only allowed to delete or share it. Don't know if it's a problem of evolution-decsync or decsynccc. Or maybe I'm doing something wrong.
Using evolution-decsync 1.3 with libdecsync 1.8.3 in evolution 3.38 on debian testing
It seems that the Android app is not picking up any contacts whatsoever on my device to sync to the folder in storage.
I have tested using contacts on device and that have previously been synced via other services to my device.
Running EMUI 10.1.0.171
Hi, everytime I add a contact or an event in Android, it does not get written to file (and therefore not synced).
If I hide and show a contact book / calendar in the DecSync app, the contacts/events I added via Android disappear, only the ones synced from laptop stay.
I am running the newest LineageOS, and installed from fdroid.
DecSync CC 1.2.2 and older supports Android 4.4+, while DecSync CC 1.2.3+ supports Android 5.0+.
However, right now, this information is not provided anywhere explicitly. The only way to find the required Android version seems to be either going through the commit history and looking for the minimum supported SDK changes, or using the F-Droid application and checking the version history there. Even the F-Droid website lists only the last three versions, which is not very useful.
I think that it would be helpful to have this information included here on GitHub, either in the readme, or next to each release, especially when the Android version requirements have been increased.
Calendar import/export has a text field that reports the number of events per calendar file.
Similarly, when you import/export contacts you can see the number of contacts being backed up.
It would be helpful, for debugging purposes, to have DecSyncCC report how many entries it has so you'd be able to tell if it picked up a newly created entry. Especially when people would notice it takes a while for entries to sync but won't be sure if it's Android not syncing fast enough, DecSyncCC not coming out off Battery Saving suspension to write the files, or Syncthing taking its sweet time to negotiate...
Anyhow, thanks for DecSyncCC! My uni's wifi firewall is blocking me from reaching to my OwnCloud service but Syncthing works fine so no more manual import/exports for me! :)
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.