johanw666 / Signal-Android

Fork from a private messenger for Android with extra options added: full backup and (partial, ony text) xml backup of messages. Restore can happen at any time, not only after a fresh install. Import SMS database. Import of (unencrypted) WhatsApp databases. Removed apk expire. Choose between passphrase protection and the Android screenlock. Choice for the backup location (internal or removable storage on Android < 11 (on 11 and higher this is already possible)). Set the maptype in the place picker. Option to treat view-once media as normal media. Option to ignore remote deletion. Choose between FCM or websocket notification delivery.
https://johanw.home.xs4all.nl/Signal/signal-jw.html
GNU Affero General Public License v3.0
246 stars 16 forks source link

Stupid question #73

Closed ghost closed 1 year ago

ghost commented 1 year ago

I know it's weird but i really want to ask you how you can automate the syncing, the changes , bulding and releasing what are you using ? and how do you use it ?

If the is any sort of script you can give me to see and apply my own please.

I need a little help and i don't have anyone to ask it from, I already tried everything i can get about github actions but i didn't succeed.

Thank you for the amazing app.

nekorubu commented 1 year ago

I'm not sure how JW does it, but I can at least give you an idea of how I do it.

I just have a local branch that has all of my mods in it, and whenever an update comes through, I create a branch from the upstream version (in my case, the one that JW makes), merge my mods branch into that one, resolve any merge conflicts, commit and push the changes, and then build the apk from there.

My way of doing it might not be the best, but this is what works for me.

ghost commented 1 year ago

well what i'm working on now is to make a github actions script that builds and releases the apk everytime a change happen to the main branch, i'm also trying to make a script that change some parts automatically because it's the same work everytime.

if you have anything that we could chat in it will helpful to work on it together. Maybe session messenger if you do not want to share your phone number or your telegram username.

nekorubu commented 1 year ago

That sounds like a good idea. I haven't messed with GitHub Actions before, but looking at it now, it might be something useful for both of us.

As of now, I'm not sure of the next time that I'll be available. Hopefully, we can meet up and work it out. If we don't, JW does seem to use GitHub Actions to automate the building at least, so maybe that could be a good starting point.

ghost commented 1 year ago

no, i don't think he is using it, that was from the original signal branch i verified it, if it was that simple i could just copy and paste but i'm afraid he is doing it on his local machine, that's why i asked.

nekorubu commented 1 year ago

Ohhh, I see. I think it could still be a good starting place, though.

ghost commented 1 year ago

yes you are free to do your own and take a look at mine, i'm still struggling to make it work but you will get some ideas for sure.

johanw666 commented 1 year ago

I know it's weird but i really want to ask you how you can automate the syncing, the changes , bulding and releasing what are you using ? and how do you use it ?

I don't depend on Git with merging changes, I do that manually. I download the zipfile with the Signal source changes, and I check for each new Signal release in the commits if any files are changed that I have changed, if so then I reapply my changes. All files I change are in the build-changes zipfile I put in the releases. I copy these over the extracted zipfile, open the project in Android Studio and do a build.

You might notice that I commented out commands in app/build.gradle that require to be run in a Git repository, because I don't build in a Git repository.

ghost commented 1 year ago

alright, so from what i understood the process is not automated ? you do all this manually everytime ?

johanw666 commented 1 year ago

Yes. But it is either not much work or a lot of manual work anyway: for example, fixing the plaintext import / export in 6.7 took some time that could not be automated anyway.

ghost commented 1 year ago

alright now i get it, and thank you a lot for the answer it was really helpful

ghost commented 1 year ago

@nekorubu You can see my script, it will do all the work atfer you push the changes to your branche, you just need to change the naming pattern and add your own signature key, it's finally completed.

I talked here since there is no way to contact you.

nekorubu commented 1 year ago

@JohnBetaro Oh wow, alright. Thanks! I'll try to implement it into my own branch

ghost commented 1 year ago

@nekorubu I see you're having some problems, I can offer help, if you need it just open a discussion in my repo and we will talk there.