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.
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 '@'
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 :(
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.
This reverts commit a7b25cece14dec12118cb63e05a0f2cb4b9cf36e.
The Crashlytics symbols uploder complains a lot - That it is
experimental and unsupported.
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
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.
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.
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.
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.
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.