446 Commits

Author SHA1 Message Date
7bbf3941cd Print the git url to the logs
It's useful for debugging users's issues.
2019-05-28 14:48:14 +02:00
13cfacfb2b ios: Update .gitignore
Like in Android, We're storing all the extra libraries required in a
libs folder.
2019-05-27 23:02:13 +02:00
1fb5eb4e27 Add some basics docs about the QA process
These are just helpful notes for me
2019-05-27 23:01:28 +02:00
169b335083 ios: Use libssl in a simple test
This requires the libraries to be built into a framework using lipo.
Since none of this part is in the CI, it currently doesn't matter.
2019-05-27 17:12:57 +02:00
b7201ff3b4 Bump version number 2019-05-27 11:12:02 +02:00
acc231f11f PageController currentIndex: Convert to int properly
It seems using toInt() truncates the number, and sometimes its value is
2.99999 instead of 3.
2019-05-27 11:12:01 +02:00
003b628131 ci: build with --verbose 2019-05-27 10:58:58 +02:00
ecd4993b14 cLib: Enable all warnings and treat them as errors
They are useful!

missing-field-initializiers has been disabled as libgit2's standard way
of initializing the options gives this error.
2019-05-27 10:57:55 +02:00
d6557fd988 cLib: Remove annoying debug logs
Not really required any more
2019-05-27 10:42:52 +02:00
6b518b6bf8 Fix invalid use of __android_log_print
This should fix #4
2019-05-27 10:41:05 +02:00
0bd37c6312 build.gradle: Allow debug builds for armv8
Otherwise we get a nasty libflutter.so missing error when running a
debug build on an actual armv8 device.
2019-05-27 10:40:24 +02:00
f7aeb3527d Handle invalid markdown
In these cases we just try to fetch the body the best we can and ignore
all the keys.

This should give us more info about #4
2019-05-27 10:10:17 +02:00
041108fd96 ios: Add my development team
I would have preferred not committing this into the repo, but it's
annoying that building occasionally fails without it.
2019-05-21 16:37:37 +02:00
e543e976ea ios: Enable flutter_email_sender
It needed the SWIFT_VERSION variable to be set, and for it to be set to
a version that exists on my system. I'm pasting the error over here so
maybe I google search will help a lost soul in the future -

`flutter_email_sender` does not specify a Swift version and none of the targets (`Runner`) integrating it have the `SWIFT_VERSION` attribute set. Please contact the author or set the `SWIFT_VERSION` attribute in at least one of the targets that integrate this pod.

https://github.com/sidlatau/flutter_email_sender/issues/8
2019-05-20 20:44:30 +02:00
b07df91aa0 ios: Allow the app to be run
* Implemented a fake gitInit which just created the folder for now
* AndroidDeviceInfo doesn't exist on ios
2019-05-20 20:32:26 +02:00
be4e6f32eb ios update
The Podfile and lockfile have all changed since the dependnecies have
changed so much (because of the AndroidX update). I've had to comment
out the flutter_email_sender for now, since I just cannot seem to get
it to work, in fact, even the current build is a hit and miss.
2019-05-20 20:10:50 +02:00
7a7ca048e3 build.gradle: Remove dead code
It's from a time of jgit
2019-05-20 18:44:14 +02:00
0af274be2b FirebaseAnalytics: Stop using deprecated method 2019-05-20 15:19:14 +02:00
efa4db5109 Android: Migrate to AndroidX
The Android Support Library is not androidx

https://developer.android.com/jetpack/androidx

This also required me to update each of the dependencies, as the
androidx migrated has resulted in major version changes in most of the
libraries.
2019-05-20 15:11:39 +02:00
9051d1e7dc Add a 'Report Bug' button
This also attaches the entire 'adb logcat' in Android. This way, we can
hopefully get useful info about why something is not working.

This currently breaks the build as we need to migrate to Android X
2019-05-20 14:35:27 +02:00
ee315a1904 install_latest_artifact script: Allow gitjournal to not be installed 2019-05-20 13:31:44 +02:00
689e783bb3 AppDrawer: Send event per button
This way we can track how many % of the users started the git hosting
setup and did not complete it.
2019-05-19 19:01:11 +02:00
2eed041bfd Scripts: Get the latest successful build
Completed includes failed builds
2019-05-19 14:37:54 +02:00
3ed86fd69b Revert "Android: Allow the release build to be debuggable"
This reverts commit 87aa6f7e5088ecad2c8926855057836891786a85.

Apparently one cannot publish debuggable APKs in the PlayStore. I wanted
this to be able to ask users to send me the logs via 'logcat', but it
seems I will have to figure out some other way.
2019-05-19 14:29:16 +02:00
c1bd7a5225 Android build.gradle: Remove deprecated option
It's enabled by default
2019-05-19 14:28:32 +02:00
87aa6f7e50 Android: Allow the release build to be debuggable 2019-05-19 11:56:09 +02:00
976ce6aeba Android: Try to fix missing "libflutter.so" crash
The apparent fix seems to be to only ship an arm 32bit app, and not arm
arm64.
2019-05-18 12:36:18 +02:00
cb9cc3b1a7 ios: Implement getBaseDirectory in the platform-channel
This is one of the many platform-channels that needs to be implemented
for ios. We may as well get started.
2019-05-17 17:54:46 +02:00
071f9962ba CI: Add missing jq 2019-05-17 17:24:49 +02:00
a775c31b5f ios: Give the app a proper name 2019-05-17 17:21:25 +02:00
058831a38e ios: Use the proper icon 2019-05-17 17:20:27 +02:00
79153d355d Bump version
Since we're now using libgit2, I'm bumping the minor version. This is a
big change.
2019-05-17 17:18:23 +02:00
77d295077f CI: Download the NDK libs
Now I can finally push all these changes, as the CI should also run and
we're ready to try out the new version of the app which uses libgit2
instead of jgit. Hopefully no user will notice anything different.
2019-05-17 17:17:33 +02:00
a11254eab4 ios: Just flutter run
It just seems to make a lot of changes. No idea about half of these. The
ios world is strange and foreign. I have hooked it up to Firebase
Analytics, though.

Also build on all architectures instead of just 64-bit.
2019-05-17 16:24:37 +02:00
7af708116b cLib gitPull: Improve conflict handling
Before it was broken, and we weren't really doing anything. Now, we
commit both versions of the file, so it results in the journal having an
ugly <<<< HEAD === thingy. But this is a start!

We can improve this by choosing which one of the changes to keep.
2019-05-17 11:43:14 +02:00
90c18881a9 cLib: git pull: Perform a fast-forward if possible
This way we don't always get the extra merge commit, if it is not
required.
2019-05-17 11:25:00 +02:00
62c99db1be Remove libssh
libssh is LGPL licensed, which means I would need to re-license the
entire app since we are linking against it statically. I could
dynamically link against it, but since I was only trying to use it for
key-generation and that doesn' seem to be working, I may as well discard
it.

For now, I'm going to stick with jsch for the key generation. On ios
side, I'm not sure what I will do. One option could be to compile
openssh and call the ssh-keygen binary.
2019-05-16 17:29:56 +02:00
17e1880c37 cLib: Move keygeneration code over there
This way we can easily test it outside of Android. Strangely enough this
doesn't work on Android or osx for me. It only seems to work in an
ubuntu linux container.
2019-05-16 15:46:40 +02:00
2fa6f9338b Android: Remove the jgit dependency
Finally! We now only rely on libgit2. Unfortunately, we still rely on a
java library for the public key generation.
2019-05-16 12:27:15 +02:00
64c8ddd7b0 Android: Use the c library for git pull
It's not perfect as our implementation of git pull results in an extra
merge commit and doesn't handle conflicts properly, but it is a basic
implementation, so at least we have something.
2019-05-16 12:23:27 +02:00
8b1cafef2f cLib: gitPull: Use the correct annoated_commit
The annotated commit must be created from the remote's branch's ref.
This entire thing is quite confusing, but for now at least git pull's
work properly, though with an extra merge commit.
2019-05-16 12:15:01 +02:00
18a44d257b cLib gitPull: Check if the repo is in a valid state 2019-05-16 11:51:47 +02:00
5a0a26fe37 cLib gitPull: The other parent can be the annotated commit
What is an annotated commit? This library doesn't make much sense to me.
The merge.c example for libgit2 also doesn't make that much sense.
2019-05-16 11:36:48 +02:00
0f63553363 cLib: First kinda working impelmentation of git pull
In order to do a commit, we need the parents for that commit. In the
case of a merge commit - it should be the 'master' and 'origin/master'
(in the case of the master branch). I cannot seem to get the id of the
'origin/master' commit. So, for now it is hardcoded.

But hey, at least this works.
2019-05-16 11:30:18 +02:00
bd67bf65b6 cLib: Use a proper Makefile
Instead of a custom make shell script.
There is no big advantage right now.
2019-05-16 11:05:38 +02:00
f5b98ab9c6 Make the android app use our c-lib for all git operations
* Apart from gitPull which is currently broken
* And the ssh key generation which fails on Android
2019-05-15 19:12:55 +02:00
8748132e70 gj_common: Add const correctness 2019-05-15 18:43:19 +02:00
69b0b2fa19 Update gitignore 2019-05-15 18:29:31 +02:00
7bd9e4fa98 Android JNI GitAdd: Use the c-lib's gitAdd instead
It finally works!
2019-05-15 18:28:02 +02:00
0c6e13c335 cLib: Make the log function easier
Using variable list arguments in c is a pain.
2019-05-15 18:27:04 +02:00