754 Commits

Author SHA1 Message Date
cae3fa52b7 Fix mistakenly added 'foo' 2019-12-22 18:55:33 +01:00
764209fe57 CloneUrl Validation: We do not support the git protocol
Well, we actually do support it, but I don't want users to use it,
as I have no intention of supporting it in the future.

In the future - Git will be written entirely in Dart.
2019-12-22 18:49:46 +01:00
ad0c305597 CloneUrlValidation: Our regexp is broken
With AWS Code commit we get URLs of the form -

ssh://APKAZLZA77YWDCWYRAC5@git-codecommit.eu-west-1.amazonaws.com/v1/repos/blah

All our assumptions about how the URL should be are now invalid. It's
best to just check for the presence of an '@'
2019-12-22 18:48:40 +01:00
83e5c44a5c FolderListing AppBar: Make the title a plural
Folders instead of Folder
2019-12-22 15:39:13 +01:00
ce9a72676b Fix Folders navigation
Clicking on Folders in AppBar when inside a Folder wouldn't take you
back to the Folder Listing.
2019-12-22 15:38:04 +01:00
de369fe6d9 Add 'Open Source' in the onboarding screen 2019-12-22 15:25:42 +01:00
9e74f26616 Fix ios compile error 2019-12-22 15:24:05 +01:00
798a744574 Change public strings of "Journal" to "Notes" 2019-12-22 15:24:00 +01:00
a2f237ede3 Add scrollbar's in JournalLists and FolderLists
Pros: It's nice to know where we are in the list.
Cons: It makes the lagging in the list view far far more apparent.
2019-12-22 15:16:41 +01:00
2ba5b52f8d Move fetch application logs to its own plugin
Maybe it will be useful to others. This way we're also closer to
removing almost all java / objective-c custom code.
2019-12-21 18:17:14 +01:00
47f547b9a6 Update .gitignore 2019-12-21 01:08:45 +01:00
63170445d7 Move libgit2 code to git_bindings repo
We now have a much clearer separation between Git code and this app
specific code. This is awesome, it will allow other people to easily
integrate Git within their apps. Also, eventually it will be trivial to
switch to another implemention of Git (via JGit or a git client written
completely in Dart)

This breaks the iOS version as I haven't moved the code to build the ios
version. Maybe this will be a good excuse for me to setup a proper CI/CD
system for ios builds.

There is also a chance this breaks Crashalytics NDK symbols :(
2019-12-21 01:06:15 +01:00
70877438eb Git: Take the folderPath instead of folderName
The Git Api was strange and took a foldeName and it would only allow you
to access git operations in a particular path. This has now been fixed,
and now it can operate in any path.

This was the first step to moving the git api into its own library.
2019-12-20 20:40:00 +01:00
3657a88ce5 FolderListing: Show the full path of subfolders
It's confusing otherwise, though this doesn't look very pretty.
2019-12-14 12:18:52 +01:00
0bde0d8fae Bump version number 2019-12-14 12:12:41 +01:00
6096ef8054 Sort Folders based on name
Eventually this sorting should be configurable.
2019-12-14 12:10:20 +01:00
6790bfe9f5 Fix Note sorting function 2019-12-14 12:06:07 +01:00
bc6f7c1b8f Note: Load the modified tag properly 2019-12-14 12:05:52 +01:00
106953ad68 GitRepo: Change commit messages to say "Note" instead of "Journal" 2019-12-14 02:19:02 +01:00
50cc876e56 Bump version and update changelog 2019-12-14 01:53:44 +01:00
48aa992b2a Fix androidNdkLibsOut 2019-12-12 00:59:36 +01:00
fe6fb3db00 Crashlytics Symbols Upload: Another issue because of flavours
These flavours are really a pain in the ass. Maybe having a local diff
would I never commit would have just been easier.
2019-12-12 00:45:59 +01:00
bc31d5bed3 Revert "Android: Enable r8 code minifier"
This reverts commit a7b25cece14dec12118cb63e05a0f2cb4b9cf36e.

The Crashlytics symbols uploder complains a lot - That it is
experimental and unsupported.
2019-12-12 00:42:45 +01:00
2581b67ac5 crashlytics: Fix path to debug symbols
It has changed because of the flavoured build.
2019-12-12 00:23:10 +01:00
591ba30762 Fix flutter analyze 2019-12-11 21:48:46 +01:00
abb6029798 Allow Folders to be deleted
For safety we're only allowing non-empty folders to be deleted. Ideally,
we should have some kind of undo button. Or some kind of history - since
we do have that with git.

Related to #18
2019-12-11 21:43:08 +01:00
453a6c518d Allow Sub Folders to be created
Fixes #34
2019-12-11 21:18:12 +01:00
27d5af8b01 FolderListing: Change the scaffold when a folder is selected
This way it's way more obvious. Also, add a back button so the user can
cancel the selection more explicitly.
2019-12-11 21:09:40 +01:00
0e8fe78323 Upgrade flutter_markdown
Fixes #32

With this we support all of GitHub Markdown format, excluding html.
2019-12-11 20:54:07 +01:00
4dde743fce Update version of firebase analytics 2019-12-11 20:50:34 +01:00
e5c3bb3fdb Add a 'dev' and 'prod' build flavour
Now whenever we run 'flutter run' or 'flutter build' we need to pass the
flavour flag. It seems there is no way to set a default flavour.

This is required as I want to be able to not have to reconfigure my
local GitJournal app (which I use for note-taking) vs the one I'm
developing where I might change many different settings for the basis of
testing.

Specially since I don't use Github/GitLab to store my notes, so the
setup process is a bit more involved.
2019-12-11 20:45:51 +01:00
cadff86073 Update .gitignore 2019-12-11 20:09:59 +01:00
a7b25cece1 Android: Enable r8 code minifier 2019-12-11 20:09:24 +01:00
8defd7c3d4 Flutter 1.12 - Initialize widgets if main func is async 2019-12-11 20:09:08 +01:00
fdc3c6b601 Upgrade intl for compatibility with Flutter 1.12 2019-12-11 20:01:32 +01:00
4f2fcb0b72 Fix flutter analyze: Add missing const 2019-12-09 02:01:24 +01:00
ad6d47ef0f Fix dateTime to string with timezone
We should just use the 'timezone' dart package and not handle this
ourselves as we're probably fucking it up in other places.

This fixes #42
2019-12-09 01:56:46 +01:00
a33fb88fb0 Fix tests paths 2019-12-09 01:42:01 +01:00
880f290d82 New note: fix 'created' not being serialized 2019-12-09 01:36:55 +01:00
b0b7da5291 Move storage classes into core
The Git functionality is fairly core!
2019-12-09 01:19:44 +01:00
cd24d2688f Never let the Note be in an invalid state
It's a bit confusing that the created date has to be set when creating a
new note, and the path had to be constructured properly, without which
the note shouldn't be saved. Ideally, an object shouldn't be able exist
in such an inconsistent state.
2019-12-09 01:14:45 +01:00
ca83cb79a6 JournalListing: Remove recursive option
We aren't using it, and if we implement a recursive option it should
somehow showcase which folder it is under. Evernote does it in an
interesting way.
2019-12-09 00:53:53 +01:00
6c10fa8a0f Improve Note sorting
* First by modified
* Then by created
* Then by file Path

I feel like there must be a simpler way of writing this compareTo
function.
2019-12-09 00:14:00 +01:00
76f70f0d18 Note: Store when last modified
Also sort the notes based on when last modified. Now that we're moving
towards being a more note-taking app, it makes sense that a recently
modified note goes on top.

Of course, the sorting should be controllable by the user, but the
default probably should be by when modified.
2019-12-09 00:02:40 +01:00
e3688cb0d9 ChangeLog: Make it more succinct 2019-12-09 00:01:52 +01:00
bd95d291f6 Bump version number 2019-12-08 03:01:43 +01:00
8a49d948f0 StateContainer: Do not call setState when the notesFolder changes
The NotesFolder is now a listenable and is always accessed via Provider,
and therefore doesn't need setState to be called when it is modified.
2019-12-08 02:58:56 +01:00
ee9d38e420 NotesFolder: Make sure listeners are always added/removed
Also make sure the _entities and _entityMap are always in sync.

The NotesFolder is complex enough that it could really use some proper
unit testing. Though since it is so tightly coupled to the FileSystem,
it would be quite an elaborate test to write.
2019-12-08 02:26:35 +01:00
1eb9611140 Do not reparse every note on any change
Earlier whenever anything changed we would discard all the Notes +
NotesFolders in memory, and reconstruct the hierarchy. This would means
Notes which haven't changed at all, still need to parsed all over again.

Now we only reload what has actually changed.

This should result in a huge performance boost.

We still shouldn't be loading everything on boot, but that's a different
problem.
2019-12-08 01:56:59 +01:00
62207eb6c7 StateContainer: Mark a field final
With this we're one step closer to making the StateContainer a stateless
widget.
2019-12-08 01:27:40 +01:00