147 Commits

Author SHA1 Message Date
190dae6f09 Null Safety++
This is exhausting
2021-05-27 13:41:34 +02:00
062f09d16a Do not call mobile specific code on the desktop version 2021-05-11 16:10:45 +02:00
dd6d4f0f15 Use deprecated FlatButton.icon
The newer TextButton.icon uses some of the new styles which I cannot
seem to figure out exactly, so for this release lets just use the old
button.
2021-05-09 22:05:25 +02:00
978d8b0a0c Use a FlexColorScheme by default
My custom color scheme is breaking in many places and showing blue text.
For now lets use this color scheme, though this breaks stuff in many
places as even the alignment changes.

However, I needed to fix all of this anyway, so I may as well start.
2021-05-07 10:50:44 +02:00
813b4c8436 Move analytics code to its own folder 2021-04-26 09:06:51 +02:00
9668170f91 Enable Sentry
Sentry now provides an official flutter client.
2021-04-14 16:18:14 +02:00
453c721830 Fix note editor opening on boot
Not sure why this broke with Flutter 2, but the fix is easy enough.
2021-04-14 15:31:32 +02:00
d008f0d982 First version of dart migrate
Most of the files haven't been migrated. Lets work on this bit by bit
2021-04-10 22:18:35 +02:00
ae3c9668af Use flutter_runtime_env for firebase test lab check
flutter_sentry provided this as well, but I'm going to remove that for
the official flutter sentry integration
2021-03-25 11:17:37 +01:00
b5d5705f82 Hookup the Repository Manager to the AppDrawer
This makes multi repo support somewhat work. We still have some problems
with the old state not being clearer which I cannot seem to figure out.
2021-02-19 09:53:30 +01:00
130f2fe9a0 Rename Repository => GitJournalRepo
Repository is too vague of a word and it gets me confused with the Git
Repository. Also shorterned Repository to Repo. It's easier to read and
write.
2021-02-15 22:28:53 +01:00
9a3bf6ad42 Automatically use dark mode based on system settings
Fixes #193
2021-02-06 23:01:09 +01:00
99c36f32f5 Make Repository a consumer of RepoManager
I feel like I really don't understand Provider properly and this is
going to blow up in my face.
2021-02-05 09:42:51 +01:00
e3e513ef65 Log device info
This way it's easier to debug user's issues
2021-02-04 10:51:29 +01:00
05aca7a013 Logs: Output the version number
This ways it's easier to understand logs sent by users
2021-02-04 10:36:38 +01:00
96ce50bc68 Basic Implementation of RepoManager
This is for multiple-repo setup.
2021-02-04 10:27:29 +01:00
e873f1f4e2 Fix sharing to the app
It's super hacky, but since I broke it, I just want to first fix it, and
later I'll try to make it nicer.
2020-11-10 18:24:43 +01:00
466e6f0569 Reset _sharedText and _sharedImages values after use 2020-11-09 13:15:32 +01:00
9fd24169c8 Fix sharing to GitJournal
Fixes #293
2020-11-09 12:56:20 +01:00
0d22fa76c4 isolate firebase analytics code to one file
This way it'll be easier to remove in the future
2020-11-09 11:16:21 +01:00
199db78c58 Fill out experimental analytics device id 2020-11-07 17:08:02 +01:00
c37b47302d Add some clear logs about when the app was launched
It makes it easier to read the logs
2020-11-07 14:25:58 +01:00
56adb27f01 App: Use a provider consumer
I'm hoping with this if any value in the repo changes it will result in
a rubuild of the entire subtree, so this way I can change the entire
NotesFolderFS easily.
2020-10-23 16:34:38 +02:00
07d0bdb7d8 Migrate setting to be repo specific
Each attribute of the settings is prefixed with the "id" of the repo.
2020-10-23 15:25:12 +02:00
a9abf5d9b3 Make Setting Migrations independent of the Settings class
That class is going to lose many of its members, and I don't want to
keep the old ones just for compatibility sake.

Also give each setting the concept on an id - will be used later.
2020-10-23 14:38:16 +02:00
f75e119995 Make Settings take the folderName as a parameter 2020-10-23 02:29:48 +02:00
b2aa96cbe1 Give a Repository a name 2020-10-23 02:10:42 +02:00
43206219da Merge AppState into Repository
The 'AppState' was more of a Repository state, and it's easier if it
lives inside the Repository class.
2020-10-23 02:01:45 +02:00
770394a8f9 Rename StateContainer to Respository 2020-10-23 01:38:47 +02:00
f1ccae1db0 Split App into AppRouter
There is way too much code in this file, and it makes it difficult to
test and reason about. Lets start simplifying this huge class.
2020-10-22 23:22:40 +02:00
efc6e651ac Remove unused import 2020-10-20 14:09:20 +02:00
9f53115616 ios: Add iCloud capability
I cannot see the GitJournal app's data in my iCloud, but I believe maybe
my app needs to go through the app review process.
2020-10-19 20:01:36 +02:00
6b1a9caf86 Remove unnecessary logging
This was added to figure out the cause of a bug. Now that it's clear,
and fixed, I can remove these logs.
2020-10-18 09:46:43 +02:00
4f0d065bf7 Simplify the code 2020-10-17 12:38:21 +02:00
5441700f28 Move building the repo's path logic to one place
Instead of having it duplicated
2020-10-17 12:33:19 +02:00
81bd1322a6 Settings: Rename internalRepoFolderName to folderName 2020-10-17 12:28:14 +02:00
c02af7f156 Avoid unnecessary log
Left over from an experiment. Logs only stay on the device, so this
wasn't a problem, but it stays constant on Android across installs. It
would be nice to use this ID instead the random ID that we generate, but
that could be counted as personally identifyable info. I'm not too sure.
2020-10-17 11:38:30 +02:00
fd74a86abf Remove the whole local/remoteConfigured settings
We now infer this by checking if the directory exists, and by reading
the git config. It's a bit slower, but it's a far better method. I can
add a cache later, if it turns out to be too slow.
2020-10-16 15:13:34 +02:00
f44c1ce17d Collect proMode and proExpirationDate as user properties
It'll make it easier to know how many % of the users are on pro.
2020-10-16 12:52:31 +02:00
530c8ea55a Release a bug fix version
Some % of the users are badly affected by a bug, which I cannot seem to
reproduce, maybe this debug message will help.

Also, I accidentally shipped it with the bottom bar disabled.
2020-10-16 02:38:41 +02:00
5c2e336343 Save Notes Cache in the cache directory
It shouldn't be saved in the Documents folder. Now that this folder is
exposed on ios, I should remove all non-user related files from here.
2020-10-16 01:10:18 +02:00
540078c413 Improve repo migrations
Earlier we had one folder 'journal_local', when the remote would be
setup a new folder called 'journal' would be created, and each all the
files would be copied over. This meant the local history was being
destroyed.

Now, we only have 1 folder 'journal', and on 'cloning', we add the url
as a remote, and do a git fetch + merge.

This simplifies everything drastically, and opens the door for multiple
remotes.
2020-10-15 12:18:47 +02:00
2c0470a3c1 Log the gitBaseDir to try and debug what is going on 2020-10-15 10:07:48 +02:00
9499cea164 Remove Settings global
Stop it being a singleton. This means it needs to be passed around a
lot. This sucks, but it's how it should be. I shouldn't be using a
global variable to get around this.

This is needed as Settings will soon become repo specific when we
support multiple repos.

This breaks saving the settings in a file, that feature was toggled off
anyway. It needs to be thought over again.
2020-10-09 00:59:19 +02:00
27cad98937 Send app_update in analytics
I'm calling this event gj_app_update as firebase automatically sends an
app_update event. This is being done so that I can easily remove
firebase analytics in the future.
2020-09-30 11:27:27 +02:00
4b3f1669f5 Stop caching the gitBaseDir
It makes the entire code base far more complicated and the round trip to
get the directory really isn't that much. This is a massive
micro-optimization for very little benefit.
2020-09-26 18:52:28 +02:00
fe08834259 Split Settings into AppSettings and Settings
This way I can eventually change Settings into RepoSettings without
breaking anything.
2020-09-25 00:33:54 +02:00
f30c52f595 Move all persistent state from AppState to Settings
This way all the persistant state of the app is managed from the same
place. It makes everything much easier. Also, it's required for when
GitJournal supports multiple repositories.
2020-09-24 23:45:37 +02:00
f7adeafe7d First iteration of the Graph View
I'm testing this with the Foam documentation. This has revealed a number
of bugs in our link resolver - most of which have now been fixed.

The graph layouting is not being done as this is so incredibly slow.

This has been added as an experimental feature.
2020-09-14 17:47:26 +02:00
01a436d182 Replace FirebaseAnalyticsObserver with our own
This way we have the screen names in the debug log and diagnosing issues
becomes easier. Also, this brings me closer to being able to drop
Firebase Analytics.
2020-09-04 08:41:38 +02:00