1008 Commits

Author SHA1 Message Date
66a76a0767 Revert "Use flutter_web_auth instead of our own OAuth mechanism"
This reverts commit 763cbf8493c610dec0e7e344bee40ad331e7a272.
This reverts commit ddad699b259bafe6c7ed630e7afc2eb38b7825e6.

This is causing way too many problems -

On Android with GitHub we occasionally get a User Cancelled exception.
On iOS this doesn't work < ios11

I prefer keeping my way till then. Even though it doesn't support
KeepAlive on Android.
2020-06-10 11:53:43 +02:00
2fbba91be6 HomeScreen: initializeDateFormatting
This seems to be required while using intl. Not doing it doesn't seem to
be a problem right now, but as I support more locales, I think it will
be required.

This entire intl this is a bit confusing.
2020-06-10 10:50:48 +02:00
03b20b274b Add Helpfull comment for the future 2020-06-10 10:49:59 +02:00
88552fe8e9 Revert "Workaround intl bug by harding 'en' locale"
This reverts commit 303192d9d575b26a77a00f7a62212f310ec1e329.
This reverts commit cd9d128b47ed523036f7ae1232ec7adcf04ed8a9.

GitJournal is used by non-English speakers (a lot in China and Russia)
and while we don't support those languages completely, we do support
them a little bit. I don't want to loose this functionality. It would be
better for us to fix the bug in intl.
2020-06-10 09:31:08 +02:00
267ecb7499 Implement a very basic file system view
This will show all the files and not just the "notes". This way the user
can easily figure out why a file isn't included in the list of notes.

It's currently disabled by default as it clearly needs a lot more work.
2020-06-10 00:54:15 +02:00
ddad699b25 Fix flutter analyze 2020-06-09 18:56:51 +02:00
cd9d128b47 Workaround intl bug by harding 'en' locale
https://github.com/dart-lang/intl/issues/266

This is strange since Intl.getLocale() returns 'en_US' in my case.

Currently, GitJournal only supports 'english' anyway, so this shouldn't
be a big problem.
2020-06-09 18:23:43 +02:00
9ba0bc831c Catch possible exceptions when creating the fileName
This can apparently happen, and we should have a fallback. Additionally
Dart has both an 'Error' and an 'Exception' which are two different
things. This makes no sense.
2020-06-09 18:09:17 +02:00
9cb810f41d Handle case where documents path changes
It seems sometimes when an app is updated their documents path changes.
So our cached version of it is now incorrect and needs to be refreshed -

Fixes #159
2020-06-09 17:44:04 +02:00
763cbf8493 Use flutter_web_auth instead of our own OAuth mechanism
This works slightly better on iOS and on Android it has a keep alive,
which will prevent our app from being killed. Additionally, this way
there is less for me to maintain, which is always nicer.

The API for flutter_web_auth is also much simpler.

This also inolves some custom logic for parsing the Query Parameters
from the GitLab callback, as it doesn't seem to be a proper URI. Not
sure what is going on with Gitlab.
2020-06-09 17:09:38 +02:00
7226bc1c41 Setup: Reset state of some variables
That way if we go back and try to restart the previous errors are
cleared.
2020-06-09 17:08:42 +02:00
67c2777d9b Parse links in wiki syntax [[term]]
This way we can use this faster syntax which is also supported by
Obsidian.
2020-06-08 00:52:03 +02:00
702366671a Move Link to its own file 2020-06-08 00:35:55 +02:00
a43498ef6d Editor Heurisitics: Should work even if the items have spaces 2020-06-08 00:28:14 +02:00
e6be9aa228 Ensure new notes always have a proper file ending 2020-06-06 12:31:24 +02:00
7d9cd6e63a DocLoader: Ensure the isolate has been properly started
It seems that sometimes _sendPort is null. I'm not sure why. In those
cases lets try to reinitialize the isolate.

Fixes APP-2W
2020-06-04 15:46:51 +02:00
835bf1f089 Fix undo not always working
This should hopefully fix it

fixes APP-31
2020-06-04 15:24:59 +02:00
daf04b9fe0 Fix folder short names 2020-06-04 14:38:11 +02:00
6735f400fb Fix EditorHeuristics tests 2020-06-04 14:32:42 +02:00
e0815c664d FlattenedNotesFolder: Always remove the note if present
In the FlattenedNotesFolder we can have a filter to only show certain
notes. This is used for showing notes that match some tags. When the
note is added to this virtual folder it matches the tag, but later it
does not.
2020-06-04 14:21:58 +02:00
60de996761 Note Tag Editor: Add a FAB
It's not obvious that you can click on the app bar to start typing.
2020-06-04 14:14:42 +02:00
2dbc2dda77 Add support for filenames based on Uuid 2020-06-04 02:12:13 +02:00
9a39960c03 EditorHeuristics: Handle edge cases 2020-06-04 02:12:06 +02:00
8ac24a7b86 Add a link to the Privacy Policy and Terms and Conditions
iOS requirement
2020-06-03 13:43:28 +02:00
c50e8ad999 Add more editor heuristics 2020-06-03 12:10:06 +02:00
d1677327c2 Do not show the Markdown Editor for txt files
Fixes #55
2020-06-02 00:33:36 +02:00
42d6386096 Add basic txt file support
With this 'txt' files are now read and written. However, they don't have
any metadata so they don't show up correctly in the sort order and
currently the Markdown Editor is still available for them.

Related to #55
2020-06-02 00:15:18 +02:00
47e8ac8b08 Auto add numbered lists when typing
Since we're using markdown it's kinda awesome that we can re-use the
same last number and markdown will arrange the numbers properly.
2020-06-01 23:26:49 +02:00
a5a7211788 Bullet Lists: Auto add bullets lists even when modifying in the middle 2020-06-01 21:14:59 +02:00
f4cc8e2b47 Refactor Auto bullet list in Editor
The earlier code base was a bit fragile, I prefer having this
unit-tested as the logic is a bit tricky, and I still don't support all
the use-cases.
2020-06-01 20:55:04 +02:00
e813edf397 Avoid using deprecated methods 2020-06-01 20:07:28 +02:00
9a726ba8db MarkdownEditor: Improve auto-bullet points
This patch scares me quite a bit. It's taken forever, and even now we
don't add a bullet point if we edit the middle of a list.
2020-06-01 17:55:42 +02:00
3808624655 MarkdownEditor: Auto add bullet points when editing
If the user presses Enter and were previously editing a bullet point,
then we should add a new bullet point with the same indentation.

This is a massive hack, and I don't like the way it is implemented. It
sucks that I cannot seem to access the keyboard events for the
TextField.

Fixes #140
2020-06-01 17:18:36 +02:00
327fddcae2 Journal/Markdown Editor: Change tick-mark back to cross when empty
When creating a new note, if some text is written and then removed, we
should update the icon accordingly. Ideally it would be awesome if this
could be done for any changes, but I think comparing the body of the
note after each change might be too expensive.
2020-05-31 09:56:28 +02:00
ef29186677 Remove getGitBaseDirectory function
Instead lets just use the path_provider. This was being used as for some
reason I wanted the files to reside inside the 'files' folder and not in
the 'app_flutter' directory.

However, that requires maintaining a fork of path_provider, which I no
longer want to do.
2020-05-31 09:29:15 +02:00
e5d904b2a7 Use git init from dart_git
One less dependency on git_bindings. Also, this way the app at least
somewhat starts on osx.
2020-05-31 09:03:37 +02:00
fb5ab57fe0 Folder.removeFolder: Remove listeners recursively
Ideally when removing a folder one shouldn't have any notes, but
sometimes we do allow an entire folder to be reset.

Related to #36
2020-05-31 03:38:24 +02:00
5788a2bde0 FlattenedNotesFolder: Propogate renames 2020-05-31 03:08:49 +02:00
2a35ea7c38 BugReport: Send bug reports with new logs
Earlier we used to call 'adb logcat' and get all the logs and send
those. This didn't work on iOS and we wouldn't get all the logs even in
android at times as the logcat buffer can be unreliable.

Since now we log all the messages to a file, we can just send that file.
The disadvtange is that we only get Dart level logs, and not iOS or Java
or NDK or our C libraries logs.

I should really dump libgit2 ASAP.
2020-05-31 02:42:58 +02:00
68d3aa1a2b Disable Fimber logging in release mode
No point debugging to adb and writing it to a file.
2020-05-31 02:32:51 +02:00
012c3b067d Fimber: Show proper log tag
Now that we're wrapping Fimber in our own logging system, we should get
the correct tag.
2020-05-31 02:30:44 +02:00
5d4c8ef178 Photo: Ignore photo_access_denied exception
Fixes APP-2Y
2020-05-31 02:12:14 +02:00
d288ed7ea7 PurchaseScreen: On error when fetching Purchases - abort
Fixes APP-2T
2020-05-31 02:01:39 +02:00
b9b53f28c4 Log some exceptions are warnings
These aren't really a problem, but it's still interesting to know if
they are happening.
2020-05-31 02:00:00 +02:00
6e229aeebd Translate Git Remote Settings title/subtitle 2020-05-29 13:26:29 +02:00
cb8764f52d Translate NoteMetaData settings 2020-05-29 13:23:23 +02:00
9eaad3b5a4 Make Note metadata config a pro setting 2020-05-29 13:17:17 +02:00
633c8c4567 DebugLogLevel: Save the last used log level
This way it's easier to return back to see what's going wrong.
2020-05-29 12:44:46 +02:00
53ed91ff64 DebugScreen: Make the text selectable 2020-05-29 12:39:44 +02:00
d665981182 Allow Git remote host to be reset
This is quick and dirty way of fixing the problem. It doesn't migrate
the notes from the previous repo and just discards them, so you cannot
move your notes from one repo to another using GitJournal (for now), but
at least its better than having to re-install the app.

Related to #36
2020-05-26 23:53:14 +02:00