1358 Commits

Author SHA1 Message Date
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
cd75f6c227 Bump version 2020-05-28 13:32:34 +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
ee1009b087 Avoid hardcoding the git repo folder's name everywhere
This way, in the future we can support multiple repos, and more
importantly it will be easier to reconfigure the git host.
2020-05-26 23:49:57 +02:00
18c93fbbb4 Note: Do not change the body if it hasn't been modified
I'm scared that for very large notes this won't be very fast, on the
other hand changing the body results in many other fields being
re-computed.
2020-05-26 18:07:24 +02:00
d3fb2b7119 Try to make the backlinks section prettier
I'm not totally convinced that it should be here.
2020-05-26 18:05:50 +02:00
4eeff093c1 Cache the Links in a note
This requires the markdown to be parsed which can be an incredibly slow
operation, so lets avoid re-doing it unless necessary.
2020-05-26 17:08:03 +02:00
36f31e06bb Move NoteBacklinks Widget to its own file 2020-05-26 17:07:57 +02:00
96ed70f023 Show the backlinks of a Note
This is the initial proof of concept and doesn't look very pretty. It's
also not very efficient.

Related to #141
2020-05-26 15:37:09 +02:00
af69dd6e48 Note: Allow returning the links in the document
This isn't perfect as we aren't handling referenced links and maybe even
autolinks, but it's a start.

Related to #141
2020-05-26 14:50:23 +02:00
29ec2d1a90 Remove unused import 2020-05-26 13:48:59 +02:00
bcbf54106f Handle empty checklists
If there were no items we were ignoring the checklist. Added some extra
tests as well.

Fixes #148
2020-05-26 13:43:41 +02:00
0d3648768c GitLab manual setup: Fix url
GitLab seems to have changed the url to add a deploy key manually.
2020-05-26 13:43:41 +02:00
8b4fa886ba Add a CustomRouteObserver
This basically asserts if we move to a route without a name. This way
I'll always catch when a route doesn't have a name, and I can start
getting better analytics on which screens are used most frequently.
2020-05-26 13:43:41 +02:00
85ecca46f0 Update FUNDING.yml 2020-05-23 02:23:52 +02:00
2b7ce49d68 Update FUNDING.yml 2020-05-23 02:23:04 +02:00
321198bd4e Create FUNDING.yml 2020-05-23 02:22:16 +02:00
e1efe1a0e9 Avoid our fork of ssh_key
The required change has been upstreamed.
2020-05-21 10:52:19 +02:00
0155e70557 PurchaseScreen: Add an ugly back button on ios 2020-05-21 10:42:33 +02:00
d210397b83 ios: Link to storekit for iap 2020-05-21 00:56:23 +02:00
b0354b5c3f DebugScreen: Translate the strings 2020-05-20 00:56:55 +02:00
7611794fd3 DebugScreen: Allow levels dialog to be dismissed 2020-05-20 00:51:57 +02:00
c935feaee0 DebugScreen: Level selector - Highlight all selected levels
When selecting 'Debug', it also selects all the levels which are more
important than it.
2020-05-20 00:50:44 +02:00
4c56ddc4df Allow the default Image location to be configured
Fixes #10
2020-05-20 00:32:13 +02:00
1bf91b9292 DebugScreen: Make it work with dark mode 2020-05-19 22:53:08 +02:00
59c2f866bc DebugScreen: Allow filtering the logs based on their level 2020-05-19 22:51:28 +02:00
e047787e29 KatexWidget: Cache the generated images
The file is stored in the tmp dir with the filename of
"katex_$HASH$.png" where $HASH$ is the md5 hash of the input string to
be rendered.

The cache isn't ever cleared so far, but maybe the underlying OS will do
that automatically?

Related to #125
2020-05-19 19:44:37 +02:00
9167398309 KatexWidget: Allow multiple widgets to exist
Since there can be only one instance of the WebView, we need to lock in
between render calls to the webview.

Related to #125
2020-05-19 19:31:14 +02:00
fb48fc648d KatexWidget: Make the background transparent
Related to #125
2020-05-19 18:55:34 +02:00
ce201aa390 Add an experimental Katex rendering Widget
Related to #125

This still needs to be integrated into the Flutter Markdown renderer.
But the good news is that this works!

It currently requires network access to download the katex scripts. It
does NOT send the katex string to any server. The rendering is performed
in the app.
2020-05-19 18:36:16 +02:00
89d23242a0 Update changelog 2020-05-19 17:05:00 +02:00
c1d81da15d NewFolder: Fix mix up between Create and Discard
Fixes #139
2020-05-19 11:30:44 +02:00
4208b05bb4 NoteEditor: Only enable 'Discard Changes' option if we have changes
Otherwise disable the button.
2020-05-19 00:02:07 +02:00
e5cd707ac1 Editor: 'Discard Changes' -> Do not show confirmation dialog
It's annoying. This action is not easy to accidentally trigger.
2020-05-18 23:58:25 +02:00
8aa96c1b9c GridView: Use CardView internally
Just with a fixed height card. This way we save on lots of code
duplication, specially as each of these views will become more complex
as we add dismissable, animations and selectable notes.
2020-05-18 23:46:36 +02:00
aa52f49fff CardView: Make it responsive 2020-05-18 23:38:46 +02:00
630b4896e6 RepoSelector: Allow text to be easily cleared 2020-05-18 23:09:14 +02:00
5133dfadf7 Update mysterious ios stuff
No clue.
2020-05-18 19:54:41 +02:00
d488bb535a Bump version 2020-05-18 18:26:20 +02:00
b193b75254 Setup: Move generating ssh key + deploy key code out of widget
It's strange, but this widget routinely gets constructed twice. So
performing a long async operation (generating the ssh key + adding it as
a deploy key) from initState, results in it being called twice. I'm not
sure where the state is initialized twice.

Even adding a unique key to the widget did not help. In the end, I've
just moved the code to its parent widget.
2020-05-18 18:19:26 +02:00
5123938e53 Setup: Rename screen to Loading/Error screen
It's all that it does. This way we can re-use this screen in other
places.
2020-05-18 18:13:21 +02:00
1570daa412 keygen: Try generating the key in dart instead of using git_bindings
This seems to work rather decently, but I'm not ready to put it into
production until it is tested quite thoroughly on lots of different
platforms.
2020-05-18 01:23:18 +02:00
53f02db7f4 ChecklistEditor: Rename variable
More accurately describes its role
2020-05-18 00:49:32 +02:00
140954e7d1 ChecklistEditor: Remove trailing empty items 2020-05-18 00:42:15 +02:00
c6ec94dab6 Log when lock obtained
Notes don't always seem to get deleted, and I'm not sure why that's
happening.
2020-05-18 00:35:48 +02:00
07576bb624 Do not let the RootFolder be renamed 2020-05-18 00:31:55 +02:00
26ed82fdbc Make "Root Folder" translatable
It was earlier duplicated all over the place.
2020-05-18 00:26:00 +02:00
816cb0c3ed Reduce code duplication
Avoid code for determining the publicName of a folder.
2020-05-18 00:23:14 +02:00