41 Commits

Author SHA1 Message Date
657721adc6 Update dart-git and stop using the Result class
Instead we're going to move back to standard exceptions.

Using a custom Result class has created far far more problems
- The Stacktraces aren't always right
- Sometimes one forgets to check the Result error
- All other exception throwing code needing to be converted to Results
- Non idiomatic Dart code

I think it's better to just go back to exceptions. They have their
problems, but overall, I think it's a better approach.
2023-11-24 14:03:30 +01:00
e2b6d94eda analyzer: Fix unnecessry includes 2022-01-13 19:03:16 +01:00
b2e4f442bd Try to fix mysterious sentry reported bug 2021-12-29 16:11:05 +01:00
6230e2b3df Rename AppSettings to AppConfig
I just want all the 'Settings' classes to the UI. In the end it really
doesn't matter. This was probably a waste of 5 minutes.
2021-10-27 20:47:57 +02:00
e1464f32c8 Change print to Log
Lets avoid using print as that doesn't get saved.
2021-10-13 11:36:05 +02:00
bdb26c2c3b Sentry: Allow non-Exceptions to be captured
This shouldn't happen, but it clearly is.

Fixes APP-1ED
2021-10-11 21:48:35 +02:00
33a731a3d7 Add reuse licensing to files in lib 2021-09-15 13:06:43 +02:00
7b0d97ea37 Env: Make it type safe
This way there can never be typos
2021-08-26 15:19:27 +02:00
7ff61d2f41 Disable dart-code-metrics for now
Even though I'm not using v4.2, the return-value rule is still being
applied with `flutter analyze` though not consistently.

For now, lets disable this, as there are 300+ warnings to fix.
2021-08-25 11:17:21 +02:00
6ae11d386d Analytics: Move settings into Analytics
Lots of code cleanups as well
2021-08-16 13:23:26 +02:00
65de6a83b5 Try to fix Sentry issue
I'm really not sure what is going on over here.

Fixes APP-197
2021-08-10 17:58:52 +02:00
54c36af040 Analytics: decouple from error reporting 2021-08-09 11:53:24 +02:00
01087bd088 Sentry: Avoid sending the psuedoId
It's not being used for anything.
2021-08-03 16:11:41 +02:00
0a7eb4d517 Move pseudoId to Analytics
From AppSettings
2021-08-03 16:08:28 +02:00
3a71cca202 Move logging code to its own folder 2021-07-30 14:39:13 +02:00
2505d00dfb Replace dart:io with universal_io
Platform from dart:io cannot be used on the web for reasons. And this
way we get a fake File/Directory class which we can use for atleast
running the web version, even if it won't work.
2021-07-30 11:39:26 +02:00
2cad314a4a Replace package_info with package_info_plus
The former is deprecated, and this one supports more platforms.
2021-07-19 15:32:15 +02:00
d07acac53f Use device_info_plus instead of device_info
It now contains the toMap functions, so we can delete a lot of code.
2021-07-07 16:29:08 +02:00
d4a345ea89 Avoid using 'dart:io' wherever possible
This gets us one step closer to supporting the web.
2021-07-01 01:46:01 +02:00
cce1f787d3 Don't even touch the firebase code if analytics are disabled
The anlaytics fuctions do not do anything when analytics collection is
disabled, and I've verified that I do not get any events in the firebase
dashboard.

However, to be on the safer side lets not even touch the code.

Related to #506
2021-06-06 09:53:24 +02:00
d6e2f09a72 Move all settings code to its own folder
Jumping around between the widgets / screens and outside is bit
confusing. Also this way, I can add the stories right here.
2021-06-05 12:23:28 +02:00
73f9db5fab Core: Null Safety++
This is a rather huge change. I hope I haven't broken anything.
2021-05-17 18:15:47 +02:00
9668170f91 Enable Sentry
Sentry now provides an official flutter client.
2021-04-14 16:18:14 +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
4d85c5d311 Remove flutter_sentry
We need to use sentry 4.0 in order for the tests to work. This kinda
ports it, but also removes flutter_sentry.

I'll need to properly port it later.
2021-03-25 11:39:18 +01:00
a9f3001798 Use StackTrace library to make the traces shorter
And hopefully add some more context to some async stack traces that
don't make any sense.
2020-11-18 12:53:12 +01: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
6d101ad5c4 Remove flutter crashlytics
Sentry is being used instead, and it's working out quite well.
2020-07-26 19:05:52 +02:00
9d00fdac06 Use import_sorter
flutter pub run import_sorter:main --no-comments

The code feels much cleaner
2020-07-24 12:43:28 +02:00
97812e1501 Convert more prints to logs
This way they will show up in the LogViewer
2020-06-10 13:25:22 +02:00
8a00fd1df6 ErrorReporting: Log the exceptions
Not only to Sentry, also to the log, so it appears when we look at the
logs.
2020-06-10 13:18:12 +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
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
49bf02bf15 logEvent: Parameters must be <String, String>{}
Not string, dynamic. Sentry wants strings.
2020-05-01 10:50:09 +02:00
2494f3af8f ErrorReporting: Not all Errors are exceptions 2020-05-01 09:12:18 +02:00
c0623d1c3c Sentry: Add error breadcrumbs
This way we will have some context as to why an error happened.
2020-04-22 01:31:32 +02:00
6c47016c8b logException: Also log to Sentry 2020-04-17 09:42:19 +02:00
fd7ad7d92b Generate a random uuid for each user for Sentry
This way, we know if one particular user has lots of errors. Firebase
Crashlytics used to do this automatically, I think.
2020-04-16 11:49:20 +02:00
e426f5523c Do not report Flutter errors to Crashlytics
It's just extra noise. We're still initializing it as I want the
iOS/Android level errors.
2020-04-14 16:19:44 +02:00
ed5e86cf83 Get Sentry DSN from env variable 2020-04-10 12:10:37 +02:00
7e0b073f32 Move error reporting to its own file
* Avoid passing Flutter errors to its Zone handler, this doesn't always
catch the errors

* Catch the current isolate's errors. I haven't been able to test this
out, but lets see.
2020-03-30 11:20:04 +02:00