diff --git a/lib/apis/github.dart b/lib/apis/github.dart
index 898e9a50..b01eeb69 100644
--- a/lib/apis/github.dart
+++ b/lib/apis/github.dart
@@ -53,8 +53,8 @@ class GitHub implements GitHost {
   }
 
   Future<String> _getAccessCode(String authCode) async {
-    var url =
-        "https://github.com/login/oauth/access_token?client_id=$_clientID&client_secret=$_clientSecret&code=$authCode";
+    var url = Uri.parse(
+        "https://github.com/login/oauth/access_token?client_id=$_clientID&client_secret=$_clientSecret&code=$authCode");
 
     var response = await http.post(url);
     if (response.statusCode != 200) {
@@ -86,7 +86,8 @@ class GitHub implements GitHost {
       throw GitHostException.MissingAccessCode;
     }
 
-    var url = "https://api.github.com/user/repos?page=1&per_page=100";
+    var url =
+        Uri.parse("https://api.github.com/user/repos?page=1&per_page=100");
     var headers = {
       HttpHeaders.authorizationHeader: _buildAuthHeader(),
     };
@@ -122,7 +123,7 @@ class GitHub implements GitHost {
       throw GitHostException.MissingAccessCode;
     }
 
-    var url = "https://api.github.com/user/repos";
+    var url = Uri.parse("https://api.github.com/user/repos");
     var data = <String, dynamic>{
       'name': name,
       'private': true,
@@ -163,7 +164,7 @@ class GitHub implements GitHost {
 
     var userInfo = await getUserInfo();
     var owner = userInfo.username;
-    var url = "https://api.github.com/repos/$owner/$name";
+    var url = Uri.parse("https://api.github.com/repos/$owner/$name");
 
     var headers = {
       HttpHeaders.authorizationHeader: _buildAuthHeader(),
@@ -190,7 +191,7 @@ class GitHub implements GitHost {
       throw GitHostException.MissingAccessCode;
     }
 
-    var url = "https://api.github.com/repos/$repo/keys";
+    var url = Uri.parse("https://api.github.com/repos/$repo/keys");
 
     var data = <String, dynamic>{
       'title': "GitJournal",
@@ -265,7 +266,7 @@ class GitHub implements GitHost {
       throw GitHostException.MissingAccessCode;
     }
 
-    var url = "https://api.github.com/user";
+    var url = Uri.parse("https://api.github.com/user");
 
     var headers = {
       HttpHeaders.authorizationHeader: _buildAuthHeader(),
diff --git a/lib/apis/gitlab.dart b/lib/apis/gitlab.dart
index 4765e9f9..beed8cf5 100644
--- a/lib/apis/gitlab.dart
+++ b/lib/apis/gitlab.dart
@@ -75,8 +75,8 @@ class GitLab implements GitHost {
     }
 
     // FIXME: pagination!
-    var url =
-        "https://gitlab.com/api/v4/projects?simple=true&membership=true&order_by=last_activity_at&access_token=$_accessCode";
+    var url = Uri.parse(
+        "https://gitlab.com/api/v4/projects?simple=true&membership=true&order_by=last_activity_at&access_token=$_accessCode");
 
     if (foundation.kDebugMode) {
       print(toCurlCommand(url, {}));
@@ -109,7 +109,8 @@ class GitLab implements GitHost {
       throw GitHostException.MissingAccessCode;
     }
 
-    var url = "https://gitlab.com/api/v4/projects?access_token=$_accessCode";
+    var url = Uri.parse(
+        "https://gitlab.com/api/v4/projects?access_token=$_accessCode");
     var data = <String, dynamic>{
       'name': name,
       'visibility': 'private',
@@ -149,8 +150,8 @@ class GitLab implements GitHost {
 
     var userInfo = await getUserInfo();
     var repo = userInfo.username + '%2F' + name;
-    var url =
-        "https://gitlab.com/api/v4/projects/$repo?access_token=$_accessCode";
+    var url = Uri.parse(
+        "https://gitlab.com/api/v4/projects/$repo?access_token=$_accessCode");
 
     var response = await http.get(url);
     if (response.statusCode != 200) {
@@ -174,8 +175,8 @@ class GitLab implements GitHost {
     }
 
     repo = repo.replaceAll('/', '%2F');
-    var url =
-        "https://gitlab.com/api/v4/projects/$repo/deploy_keys?access_token=$_accessCode";
+    var url = Uri.parse(
+        "https://gitlab.com/api/v4/projects/$repo/deploy_keys?access_token=$_accessCode");
 
     var data = {
       'title': "GitJournal",
@@ -249,7 +250,8 @@ class GitLab implements GitHost {
       throw GitHostException.MissingAccessCode;
     }
 
-    var url = "https://gitlab.com/api/v4/user?access_token=$_accessCode";
+    var url =
+        Uri.parse("https://gitlab.com/api/v4/user?access_token=$_accessCode");
 
     var response = await http.get(url);
     if (response.statusCode != 200) {
diff --git a/lib/iap.dart b/lib/iap.dart
index 6d73eda5..a4347c49 100644
--- a/lib/iap.dart
+++ b/lib/iap.dart
@@ -194,7 +194,7 @@ Future<DateTime> getExpiryDate(
   };
   Log.i("getExpiryDate ${json.encode(body)}");
 
-  var url = Platform.isIOS ? ios_url : android_url;
+  var url = Uri.parse(Platform.isIOS ? ios_url : android_url);
   var response = await http.post(url, body: json.encode(body));
   if (response.statusCode != 200) {
     Log.e("Received Invalid Status Code from GCP IAP Verify", props: {
diff --git a/lib/screens/login_screen.dart b/lib/screens/login_screen.dart
index e49195e7..953103aa 100644
--- a/lib/screens/login_screen.dart
+++ b/lib/screens/login_screen.dart
@@ -33,10 +33,11 @@
 
 import 'package:flutter/material.dart';
 
-import 'package:gotrue/gotrue.dart';
-
 import 'package:gitjournal/widgets/scroll_view_without_animation.dart';
 
+//import 'package:gotrue/gotrue.dart';
+
+
 const _localDevServer = 'http://192.168.1.130:9999/';
 // const _prodServer = 'https://api.gitjournal.io/auth/';
 
@@ -50,14 +51,15 @@ class LoginPage extends StatefulWidget {
 }
 
 class _LoginPageState extends State<LoginPage> {
-  var goTrue = GoTrue(_localDevServer);
+  //var goTrue = GoTrue(_localDevServer);
 
   Future<void> _loginAction() async {
-    var t = await goTrue.login('handa.vish@gmail.com', 'blah');
+    /*var t = await goTrue.login('handa.vish@gmail.com', 'blah');
     print("Got Token: $t");
 
     var user = await goTrue.user(t.accessToken);
     print("Got usre: $user");
+    */
   }
 
   Widget _submitButton() {
diff --git a/lib/ssh/keygen.dart b/lib/ssh/keygen.dart
index 9a002e40..f669343b 100644
--- a/lib/ssh/keygen.dart
+++ b/lib/ssh/keygen.dart
@@ -23,12 +23,12 @@ final bool useDartKeyGen = false;
 
 Future<SshKey> generateSSHKeys({@required String comment}) async {
   if (useDartKeyGen) {
-    return generateSSHKeysDart(comment: comment);
-  } else {
-    return generateSSHKeysNative(comment: comment);
-  }
+    //return generateSSHKeysDart(comment: comment);
+  } else {}
+  return generateSSHKeysNative(comment: comment);
 }
 
+/*
 Future<SshKey> generateSSHKeysDart({@required String comment}) async {
   try {
     var stopwatch = Stopwatch()..start();
@@ -46,6 +46,7 @@ Future<SshKey> generateSSHKeysDart({@required String comment}) async {
 
   return null;
 }
+*/
 
 Future<SshKey> generateSSHKeysNative({@required String comment}) async {
   try {
diff --git a/lib/ssh/rsa_key_pair.dart b/lib/ssh/rsa_key_pair.dart
index 12473bc6..47650fe7 100644
--- a/lib/ssh/rsa_key_pair.dart
+++ b/lib/ssh/rsa_key_pair.dart
@@ -1,10 +1,11 @@
+/*
+
 import 'dart:async';
 import 'dart:convert';
 
 import 'package:crypton/crypton.dart';
 import 'package:isolate/isolate_runner.dart';
 import 'package:meta/meta.dart';
-import 'package:ssh_key/ssh_key.dart' as ssh_key;
 
 import 'package:gitjournal/error_reporting.dart';
 import 'package:gitjournal/ssh/binary_length_value.dart';
@@ -122,3 +123,4 @@ class RsaKeyPair {
 FutureOr<RsaKeyPair> _gen(void _) async {
   return RsaKeyPair.generate();
 }
+*/
diff --git a/lib/utils.dart b/lib/utils.dart
index d0392bb9..f901166b 100644
--- a/lib/utils.dart
+++ b/lib/utils.dart
@@ -81,7 +81,7 @@ bool folderWithSpecExists(BuildContext context, String spec) {
   return rootFolder.getFolderWithSpec(spec) != null;
 }
 
-String toCurlCommand(String url, Map<String, String> headers) {
+String toCurlCommand(Uri url, Map<String, String> headers) {
   var headersStr = "";
   headers.forEach((key, value) {
     headersStr += ' -H "$key: $value" ';
diff --git a/pubspec.lock b/pubspec.lock
index daa6ff40..b3c57fff 100644
--- a/pubspec.lock
+++ b/pubspec.lock
@@ -7,28 +7,28 @@ packages:
       name: _fe_analyzer_shared
       url: "https://pub.dartlang.org"
     source: hosted
-    version: "6.0.0"
+    version: "14.0.0"
   analyzer:
     dependency: transitive
     description:
       name: analyzer
       url: "https://pub.dartlang.org"
     source: hosted
-    version: "0.39.16"
+    version: "0.41.2"
   archive:
     dependency: transitive
     description:
       name: archive
       url: "https://pub.dartlang.org"
     source: hosted
-    version: "2.0.13"
+    version: "3.1.2"
   args:
     dependency: transitive
     description:
       name: args
       url: "https://pub.dartlang.org"
     source: hosted
-    version: "1.6.0"
+    version: "2.0.0"
   asn1lib:
     dependency: transitive
     description:
@@ -84,14 +84,14 @@ packages:
       name: buffer
       url: "https://pub.dartlang.org"
     source: hosted
-    version: "1.0.7"
+    version: "1.1.0"
   cached_network_image:
     dependency: "direct main"
     description:
       name: cached_network_image
       url: "https://pub.dartlang.org"
     source: hosted
-    version: "2.2.0+1"
+    version: "2.5.1"
   characters:
     dependency: transitive
     description:
@@ -127,13 +127,6 @@ packages:
       url: "https://pub.dartlang.org"
     source: hosted
     version: "1.15.0"
-  colorize:
-    dependency: transitive
-    description:
-      name: colorize
-      url: "https://pub.dartlang.org"
-    source: hosted
-    version: "2.0.0"
   connectivity:
     dependency: "direct main"
     description:
@@ -147,7 +140,7 @@ packages:
       name: convert
       url: "https://pub.dartlang.org"
     source: hosted
-    version: "2.1.1"
+    version: "3.0.0"
   coverage:
     dependency: transitive
     description:
@@ -161,7 +154,7 @@ packages:
       name: crypto
       url: "https://pub.dartlang.org"
     source: hosted
-    version: "2.1.5"
+    version: "3.0.0"
   crypton:
     dependency: "direct main"
     description:
@@ -169,26 +162,19 @@ packages:
       url: "https://pub.dartlang.org"
     source: hosted
     version: "1.1.3"
-  csslib:
-    dependency: transitive
-    description:
-      name: csslib
-      url: "https://pub.dartlang.org"
-    source: hosted
-    version: "0.16.1"
   csv:
     dependency: transitive
     description:
       name: csv
       url: "https://pub.dartlang.org"
     source: hosted
-    version: "4.0.3"
+    version: "5.0.0"
   dart_git:
     dependency: "direct main"
     description:
       path: "."
       ref: HEAD
-      resolved-ref: df7d1133704c04aa2859cb5cf46a9849af7642ac
+      resolved-ref: df106293ab0bf6a47b2facb17aa85348a14cfca1
       url: "https://github.com/GitJournal/dart-git.git"
     source: git
     version: "0.0.2"
@@ -199,13 +185,6 @@ packages:
       url: "https://pub.dartlang.org"
     source: hosted
     version: "0.4.2+4"
-  dio:
-    dependency: transitive
-    description:
-      name: dio
-      url: "https://pub.dartlang.org"
-    source: hosted
-    version: "3.0.10"
   dots_indicator:
     dependency: "direct main"
     description:
@@ -219,11 +198,20 @@ packages:
       name: easy_localization
       url: "https://pub.dartlang.org"
     source: hosted
-    version: "2.3.3+1"
+    version: "3.0.0"
   easy_localization_loader:
     dependency: "direct main"
     description:
-      name: easy_localization_loader
+      path: "."
+      ref: HEAD
+      resolved-ref: ee40519e77e2662592da6cb4a4a6fa1318245615
+      url: "https://github.com/aissat/easy_localization_loader"
+    source: git
+    version: "1.0.0"
+  easy_logger:
+    dependency: transitive
+    description:
+      name: easy_logger
       url: "https://pub.dartlang.org"
     source: hosted
     version: "0.0.2"
@@ -240,7 +228,7 @@ packages:
       name: equatable
       url: "https://pub.dartlang.org"
     source: hosted
-    version: "1.2.5"
+    version: "2.0.0"
   ext_storage:
     dependency: "direct main"
     description:
@@ -263,19 +251,19 @@ packages:
     source: hosted
     version: "1.0.0"
   file:
-    dependency: "direct overridden"
+    dependency: transitive
     description:
       name: file
       url: "https://pub.dartlang.org"
     source: hosted
-    version: "6.0.0-nullsafety.2"
+    version: "6.1.0"
   file_picker:
     dependency: "direct main"
     description:
       name: file_picker
       url: "https://pub.dartlang.org"
     source: hosted
-    version: "2.0.7"
+    version: "3.0.0"
   filesystem_picker:
     dependency: "direct main"
     description:
@@ -296,66 +284,68 @@ packages:
       name: firebase
       url: "https://pub.dartlang.org"
     source: hosted
-    version: "7.3.0"
+    version: "9.0.1"
   firebase_analytics:
     dependency: "direct main"
     description:
       name: firebase_analytics
       url: "https://pub.dartlang.org"
     source: hosted
-    version: "6.2.0"
+    version: "7.1.1"
   firebase_analytics_platform_interface:
     dependency: transitive
     description:
       name: firebase_analytics_platform_interface
       url: "https://pub.dartlang.org"
     source: hosted
-    version: "1.0.3"
+    version: "1.1.0"
   firebase_analytics_web:
     dependency: transitive
     description:
       name: firebase_analytics_web
       url: "https://pub.dartlang.org"
     source: hosted
-    version: "0.1.1"
+    version: "0.2.0+1"
   firebase_core:
     dependency: transitive
     description:
       name: firebase_core
       url: "https://pub.dartlang.org"
     source: hosted
-    version: "0.5.2"
+    version: "1.0.2"
   firebase_core_platform_interface:
     dependency: transitive
     description:
       name: firebase_core_platform_interface
       url: "https://pub.dartlang.org"
     source: hosted
-    version: "2.0.0"
+    version: "4.0.0"
   firebase_core_web:
     dependency: transitive
     description:
       name: firebase_core_web
       url: "https://pub.dartlang.org"
     source: hosted
-    version: "0.2.1"
+    version: "1.0.2"
   flutter:
     dependency: "direct main"
     description: flutter
     source: sdk
     version: "0.0.0"
+  flutter_blurhash:
+    dependency: transitive
+    description:
+      name: flutter_blurhash
+      url: "https://pub.dartlang.org"
+    source: hosted
+    version: "0.5.0"
   flutter_cache_manager:
     dependency: "direct main"
     description:
       name: flutter_cache_manager
       url: "https://pub.dartlang.org"
     source: hosted
-    version: "1.4.2"
-  flutter_driver:
-    dependency: "direct dev"
-    description: flutter
-    source: sdk
-    version: "0.0.0"
+    version: "2.1.2"
   flutter_email_sender:
     dependency: "direct main"
     description:
@@ -376,7 +366,7 @@ packages:
       name: flutter_launcher_icons
       url: "https://pub.dartlang.org"
     source: hosted
-    version: "0.7.4"
+    version: "0.9.0"
   flutter_localizations:
     dependency: "direct main"
     description: flutter
@@ -388,14 +378,14 @@ packages:
       name: flutter_markdown
       url: "https://pub.dartlang.org"
     source: hosted
-    version: "0.5.1"
+    version: "0.6.1"
   flutter_plugin_android_lifecycle:
-    dependency: "direct main"
+    dependency: transitive
     description:
       name: flutter_plugin_android_lifecycle
       url: "https://pub.dartlang.org"
     source: hosted
-    version: "1.0.8"
+    version: "2.0.0"
   flutter_sentry:
     dependency: "direct main"
     description:
@@ -416,7 +406,7 @@ packages:
       name: flutter_svg
       url: "https://pub.dartlang.org"
     source: hosted
-    version: "0.19.1"
+    version: "0.21.0-nullsafety.0"
   flutter_test:
     dependency: "direct dev"
     description: flutter
@@ -448,11 +438,6 @@ packages:
       url: "https://pub.dartlang.org"
     source: hosted
     version: "0.6.0"
-  fuchsia_remote_debug_protocol:
-    dependency: transitive
-    description: flutter
-    source: sdk
-    version: "0.0.0"
   function_types:
     dependency: "direct main"
     description:
@@ -489,30 +474,14 @@ packages:
       name: google_fonts
       url: "https://pub.dartlang.org"
     source: hosted
-    version: "1.1.1"
-  gotrue:
-    dependency: "direct main"
-    description:
-      path: "."
-      ref: HEAD
-      resolved-ref: "5fea2573f075cd307e8cf0c323487b4685f28a87"
-      url: "https://github.com/GitJournal/gotrue-dart.git"
-    source: git
-    version: "1.0.0"
-  html:
-    dependency: transitive
-    description:
-      name: html
-      url: "https://pub.dartlang.org"
-    source: hosted
-    version: "0.14.0+3"
+    version: "2.0.0"
   http:
     dependency: "direct main"
     description:
       name: http
       url: "https://pub.dartlang.org"
     source: hosted
-    version: "0.12.1"
+    version: "0.13.1"
   http_multi_server:
     dependency: transitive
     description:
@@ -526,7 +495,7 @@ packages:
       name: http_parser
       url: "https://pub.dartlang.org"
     source: hosted
-    version: "3.1.3"
+    version: "4.0.0"
   icloud_documents_path:
     dependency: "direct main"
     description:
@@ -542,28 +511,35 @@ packages:
       name: image
       url: "https://pub.dartlang.org"
     source: hosted
-    version: "2.1.12"
+    version: "3.0.2"
   image_picker:
     dependency: "direct main"
     description:
       name: image_picker
       url: "https://pub.dartlang.org"
     source: hosted
-    version: "0.6.7"
+    version: "0.7.3"
+  image_picker_for_web:
+    dependency: transitive
+    description:
+      name: image_picker_for_web
+      url: "https://pub.dartlang.org"
+    source: hosted
+    version: "2.0.0"
   image_picker_platform_interface:
     dependency: transitive
     description:
       name: image_picker_platform_interface
       url: "https://pub.dartlang.org"
     source: hosted
-    version: "1.1.0"
+    version: "2.0.1"
   import_sorter:
     dependency: "direct dev"
     description:
       name: import_sorter
       url: "https://pub.dartlang.org"
     source: hosted
-    version: "4.2.2"
+    version: "4.4.2"
   in_app_purchase:
     dependency: "direct main"
     description:
@@ -621,14 +597,12 @@ packages:
     source: hosted
     version: "0.11.3+2"
   markdown:
-    dependency: "direct overridden"
+    dependency: transitive
     description:
-      path: "."
-      ref: HEAD
-      resolved-ref: "2e87055c39b4b29939bb99ceff593880e2bcf20a"
-      url: "https://github.com/GitJournal/markdown.git"
-    source: git
-    version: "2.1.5"
+      name: markdown
+      url: "https://pub.dartlang.org"
+    source: hosted
+    version: "4.0.0"
   matcher:
     dependency: transitive
     description:
@@ -649,7 +623,7 @@ packages:
       name: mime
       url: "https://pub.dartlang.org"
     source: hosted
-    version: "0.9.6+3"
+    version: "1.0.0"
   multicast_dns:
     dependency: "direct dev"
     description:
@@ -692,6 +666,13 @@ packages:
       url: "https://pub.dartlang.org"
     source: hosted
     version: "1.4.8"
+  octo_image:
+    dependency: transitive
+    description:
+      name: octo_image
+      url: "https://pub.dartlang.org"
+    source: hosted
+    version: "0.3.0"
   package_config:
     dependency: transitive
     description:
@@ -706,13 +687,6 @@ packages:
       url: "https://pub.dartlang.org"
     source: hosted
     version: "0.4.1"
-  package_resolver:
-    dependency: transitive
-    description:
-      name: package_resolver
-      url: "https://pub.dartlang.org"
-    source: hosted
-    version: "1.0.10"
   path:
     dependency: "direct main"
     description:
@@ -726,49 +700,49 @@ packages:
       name: path_drawing
       url: "https://pub.dartlang.org"
     source: hosted
-    version: "0.4.1+1"
+    version: "0.5.0-nullsafety.0"
   path_parsing:
     dependency: transitive
     description:
       name: path_parsing
       url: "https://pub.dartlang.org"
     source: hosted
-    version: "0.1.4"
+    version: "0.2.0-nullsafety.0"
   path_provider:
     dependency: transitive
     description:
       name: path_provider
       url: "https://pub.dartlang.org"
     source: hosted
-    version: "1.6.5"
+    version: "2.0.1"
   path_provider_linux:
     dependency: transitive
     description:
       name: path_provider_linux
       url: "https://pub.dartlang.org"
     source: hosted
-    version: "0.0.1+2"
+    version: "2.0.0"
   path_provider_macos:
     dependency: transitive
     description:
       name: path_provider_macos
       url: "https://pub.dartlang.org"
     source: hosted
-    version: "0.0.4"
+    version: "2.0.0"
   path_provider_platform_interface:
     dependency: transitive
     description:
       name: path_provider_platform_interface
       url: "https://pub.dartlang.org"
     source: hosted
-    version: "1.0.3"
+    version: "2.0.1"
   path_provider_windows:
     dependency: transitive
     description:
       name: path_provider_windows
       url: "https://pub.dartlang.org"
     source: hosted
-    version: "0.0.5"
+    version: "2.0.0"
   pedantic:
     dependency: transitive
     description:
@@ -782,35 +756,35 @@ packages:
       name: permission_handler
       url: "https://pub.dartlang.org"
     source: hosted
-    version: "5.1.0+2"
+    version: "6.1.1"
   permission_handler_platform_interface:
     dependency: transitive
     description:
       name: permission_handler_platform_interface
       url: "https://pub.dartlang.org"
     source: hosted
-    version: "2.0.2"
+    version: "3.1.1"
   petitparser:
     dependency: transitive
     description:
       name: petitparser
       url: "https://pub.dartlang.org"
     source: hosted
-    version: "3.1.0"
+    version: "4.0.2"
   platform:
-    dependency: "direct overridden"
+    dependency: transitive
     description:
       name: platform
       url: "https://pub.dartlang.org"
     source: hosted
-    version: "3.0.0-nullsafety.2"
+    version: "3.0.0"
   plugin_platform_interface:
     dependency: transitive
     description:
       name: plugin_platform_interface
       url: "https://pub.dartlang.org"
     source: hosted
-    version: "1.0.2"
+    version: "2.0.0"
   pointycastle:
     dependency: transitive
     description:
@@ -826,12 +800,12 @@ packages:
     source: hosted
     version: "1.5.0"
   process:
-    dependency: "direct overridden"
+    dependency: transitive
     description:
       name: process
       url: "https://pub.dartlang.org"
     source: hosted
-    version: "4.0.0-nullsafety.2"
+    version: "4.2.1"
   provider:
     dependency: "direct main"
     description:
@@ -839,13 +813,6 @@ packages:
       url: "https://pub.dartlang.org"
     source: hosted
     version: "4.3.2+2"
-  pub_cache:
-    dependency: transitive
-    description:
-      name: pub_cache
-      url: "https://pub.dartlang.org"
-    source: hosted
-    version: "0.2.3"
   pub_semver:
     dependency: transitive
     description:
@@ -866,7 +833,7 @@ packages:
       name: quiver
       url: "https://pub.dartlang.org"
     source: hosted
-    version: "2.1.5"
+    version: "3.0.0"
   receive_sharing_intent:
     dependency: "direct main"
     description:
@@ -874,13 +841,6 @@ packages:
       url: "https://pub.dartlang.org"
     source: hosted
     version: "1.4.0+2"
-  resource:
-    dependency: transitive
-    description:
-      name: resource
-      url: "https://pub.dartlang.org"
-    source: hosted
-    version: "2.1.7"
   rxdart:
     dependency: transitive
     description:
@@ -888,13 +848,6 @@ packages:
       url: "https://pub.dartlang.org"
     source: hosted
     version: "0.24.0"
-  screenshots:
-    dependency: "direct dev"
-    description:
-      name: screenshots
-      url: "https://pub.dartlang.org"
-    source: hosted
-    version: "2.1.1"
   sentry:
     dependency: "direct main"
     description:
@@ -915,70 +868,70 @@ packages:
       name: shared_preferences
       url: "https://pub.dartlang.org"
     source: hosted
-    version: "0.5.12+4"
+    version: "2.0.5"
   shared_preferences_linux:
     dependency: transitive
     description:
       name: shared_preferences_linux
       url: "https://pub.dartlang.org"
     source: hosted
-    version: "0.0.2+4"
+    version: "2.0.0"
   shared_preferences_macos:
     dependency: transitive
     description:
       name: shared_preferences_macos
       url: "https://pub.dartlang.org"
     source: hosted
-    version: "0.0.1+3"
+    version: "2.0.0"
   shared_preferences_platform_interface:
     dependency: transitive
     description:
       name: shared_preferences_platform_interface
       url: "https://pub.dartlang.org"
     source: hosted
-    version: "1.0.1"
+    version: "2.0.0"
   shared_preferences_web:
     dependency: transitive
     description:
       name: shared_preferences_web
       url: "https://pub.dartlang.org"
     source: hosted
-    version: "0.1.2+2"
+    version: "2.0.0"
   shared_preferences_windows:
     dependency: transitive
     description:
       name: shared_preferences_windows
       url: "https://pub.dartlang.org"
     source: hosted
-    version: "0.0.2+3"
+    version: "2.0.0"
   shelf:
     dependency: transitive
     description:
       name: shelf
       url: "https://pub.dartlang.org"
     source: hosted
-    version: "0.7.5"
+    version: "1.1.0"
   shelf_packages_handler:
     dependency: transitive
     description:
       name: shelf_packages_handler
       url: "https://pub.dartlang.org"
     source: hosted
-    version: "1.0.4"
+    version: "3.0.0"
   shelf_static:
     dependency: transitive
     description:
       name: shelf_static
       url: "https://pub.dartlang.org"
     source: hosted
-    version: "0.2.8"
+    version: "1.0.0"
   shelf_web_socket:
     dependency: transitive
     description:
       name: shelf_web_socket
       url: "https://pub.dartlang.org"
     source: hosted
-    version: "0.2.3"
+    version: "1.0.1"
   sky_engine:
     dependency: transitive
     description: flutter
@@ -1011,21 +964,14 @@ packages:
       name: sqflite
       url: "https://pub.dartlang.org"
     source: hosted
-    version: "1.3.0"
+    version: "1.3.2+1"
   sqflite_common:
     dependency: transitive
     description:
       name: sqflite_common
       url: "https://pub.dartlang.org"
     source: hosted
-    version: "1.0.0+1"
-  ssh_key:
-    dependency: "direct main"
-    description:
-      name: ssh_key
-      url: "https://pub.dartlang.org"
-    source: hosted
-    version: "0.6.0"
+    version: "1.0.2+1"
   stack_trace:
     dependency: "direct main"
     description:
@@ -1047,13 +993,6 @@ packages:
       url: "https://pub.dartlang.org"
     source: hosted
     version: "1.1.0"
-  sync_http:
-    dependency: transitive
-    description:
-      name: sync_http
-      url: "https://pub.dartlang.org"
-    source: hosted
-    version: "0.2.0"
   synchronized:
     dependency: "direct main"
     description:
@@ -1103,27 +1042,20 @@ packages:
       url: "https://pub.dartlang.org"
     source: hosted
     version: "2.0.27"
-  tool_base:
+  tint:
     dependency: transitive
     description:
-      name: tool_base
+      name: tint
       url: "https://pub.dartlang.org"
     source: hosted
-    version: "1.9.5+3"
-  tool_mobile:
-    dependency: transitive
-    description:
-      name: tool_mobile
-      url: "https://pub.dartlang.org"
-    source: hosted
-    version: "1.9.5+1"
+    version: "2.0.0"
   tuple:
     dependency: transitive
     description:
       name: tuple
       url: "https://pub.dartlang.org"
     source: hosted
-    version: "1.0.3"
+    version: "2.0.0"
   typed_data:
     dependency: transitive
     description:
@@ -1137,42 +1069,56 @@ packages:
       name: url_launcher
       url: "https://pub.dartlang.org"
     source: hosted
-    version: "5.4.1"
+    version: "6.0.2"
+  url_launcher_linux:
+    dependency: transitive
+    description:
+      name: url_launcher_linux
+      url: "https://pub.dartlang.org"
+    source: hosted
+    version: "2.0.0"
   url_launcher_macos:
     dependency: transitive
     description:
       name: url_launcher_macos
       url: "https://pub.dartlang.org"
     source: hosted
-    version: "0.0.1+2"
+    version: "2.0.0"
   url_launcher_platform_interface:
     dependency: transitive
     description:
       name: url_launcher_platform_interface
       url: "https://pub.dartlang.org"
     source: hosted
-    version: "1.0.5"
+    version: "2.0.2"
   url_launcher_web:
     dependency: transitive
     description:
       name: url_launcher_web
       url: "https://pub.dartlang.org"
     source: hosted
-    version: "0.1.0+2"
+    version: "2.0.0"
+  url_launcher_windows:
+    dependency: transitive
+    description:
+      name: url_launcher_windows
+      url: "https://pub.dartlang.org"
+    source: hosted
+    version: "2.0.0"
   usage:
     dependency: transitive
     description:
       name: usage
       url: "https://pub.dartlang.org"
     source: hosted
-    version: "3.4.1"
+    version: "3.4.2"
   uuid:
     dependency: "direct main"
     description:
       name: uuid
       url: "https://pub.dartlang.org"
     source: hosted
-    version: "2.0.4"
+    version: "3.0.2"
   vector_math:
     dependency: transitive
     description:
@@ -1200,14 +1146,7 @@ packages:
       name: web_socket_channel
       url: "https://pub.dartlang.org"
     source: hosted
-    version: "1.1.0"
-  webdriver:
-    dependency: transitive
-    description:
-      name: webdriver
-      url: "https://pub.dartlang.org"
-    source: hosted
-    version: "2.1.2"
+    version: "2.0.0"
   webkit_inspection_protocol:
     dependency: transitive
     description:
@@ -1228,28 +1167,28 @@ packages:
       name: xdg_directories
       url: "https://pub.dartlang.org"
     source: hosted
-    version: "0.1.2"
+    version: "0.2.0"
   xml:
-    dependency: "direct overridden"
+    dependency: transitive
     description:
       name: xml
       url: "https://pub.dartlang.org"
     source: hosted
-    version: "4.5.1"
+    version: "5.0.2"
   yaml:
     dependency: "direct main"
     description:
       name: yaml
       url: "https://pub.dartlang.org"
     source: hosted
-    version: "2.2.1"
+    version: "3.1.0"
   yaml_serializer:
     dependency: "direct main"
     description:
       name: yaml_serializer
       url: "https://pub.dartlang.org"
     source: hosted
-    version: "0.0.9"
+    version: "0.0.10"
 sdks:
   dart: ">=2.12.0 <3.0.0"
-  flutter: ">=1.20.0"
+  flutter: ">=1.24.0-7.0"
diff --git a/pubspec.yaml b/pubspec.yaml
index d336e2db..530ff23b 100644
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -18,9 +18,6 @@ dependencies:
   git_bindings:
     #path: /Users/vishesh/src/gitjournal/git_bindings
     git: https://github.com/GitJournal/git_bindings.git
-  gotrue:
-    #path: /Users/vishesh/src/gitjournal/gotrue-dart/
-    git: https://github.com/GitJournal/gotrue-dart.git
   icloud_documents_path:
     git: https://github.com/GitJournal/icloud_documents_path.git
   auto_size_text: ^2.0.1
@@ -32,29 +29,28 @@ dependencies:
   crypton: ^1.1.3
   device_info: ">=0.4.2+4 <2.0.0"
   dots_indicator: ^0.0.3
-  easy_localization: ^2.3.2
+  easy_localization: ^3.0.0
   easy_localization_loader: ^0.0.2
   email_validator: ^1.0.6
-  equatable: ^1.1.0
+  equatable: ^2.0.0
   ext_storage: ^1.0.3
-  file_picker: ^2.0.7
+  file_picker: ^3.0.0
   filesystem_picker: ^1.0.3 # for directories
   fimber: ^0.3.0
-  firebase_analytics: ^6.2.0
-  flutter_cache_manager: ^1.4.2
+  firebase_analytics: ^7.1.1
+  flutter_cache_manager: ^2.1.2
   flutter_email_sender: ^3.0.1
   flutter_emoji: ">= 2.0.0"
-  flutter_markdown: ^0.5.1
-  flutter_plugin_android_lifecycle: ^1.0.8 # for fixing the build
+  flutter_markdown: ^0.6.1
   flutter_sentry: ^0.4.4
   flutter_staggered_grid_view: ^0.3.0
-  flutter_svg: ^0.19.0
+  flutter_svg: ^0.21.0-nullsafety.0
   font_awesome_flutter: ^8.7.0
   function_types: ^0.0.2
   git_url_parse2: ^0.0.1
-  google_fonts: ^1.1.1
-  http: ^0.12.0+1
-  image_picker: ^0.6.7
+  google_fonts: ^2.0.0
+  http: ^0.13.1
+  image_picker: ^0.7.3
   in_app_purchase: ^0.3.4+5
   intl: ^0.17.0
   isolate: ^2.0.3
@@ -62,45 +58,40 @@ dependencies:
   mutex: ^1.0.3
   package_info: ">=0.4.1 <2.0.0"
   path: ^1.6.2
-  permission_handler: ^5.1.0+2
+  permission_handler: ^6.1.1
   provider: ^4.3.2+2
   quick_actions: ^0.4.0+10
   receive_sharing_intent: ^1.4.0+2
   sentry: ">=3.0.0 <4.0.0"
   share: ^0.6.3+5
-  shared_preferences: ^0.5.6
-  ssh_key: ^0.6.0
+  shared_preferences: ^2.0.5
+  #ssh_key: ^0.6.0
   stack_trace: ^1.9.6
   synchronized: ^2.2.0
   time: ^1.3.0
   timeago: ^2.0.27
-  url_launcher: ^5.4.1
-  uuid: ^2.0.1
-  yaml: ^2.2.0
+  url_launcher: ^6.0.2
+  uuid: ^3.0.2
+  yaml: ^3.1.0
   yaml_serializer: ^0.0.9
 
 dev_dependencies:
-  flutter_driver:
-    sdk: flutter
+  #flutter_driver:
+  #  sdk: flutter
   flutter_test:
     sdk: flutter
   benchmark_harness: any
   bonsoir: ^0.1.2+2
-  flutter_launcher_icons: "^0.7.2"
+  flutter_launcher_icons: ^0.9.0
   flutter_webview_plugin: ^0.3.11
   import_sorter: ^4.2.2
   multicast_dns: ^0.2.2
-  screenshots: ^2.1.1
+  #screenshots: ^2.1.1
   test: ^1.5.1
 
 dependency_overrides:
-  markdown:
-    git: https://github.com/GitJournal/markdown.git
-  # Required for screenshots package
-  process: ^4.0.0-nullsafety.1
-  platform: ^3.0.0-nullsafety.1
-  file: ^6.0.0-nullsafety.1
-  xml: ^4.2.0
+  easy_localization_loader:
+    git: https://github.com/aissat/easy_localization_loader
 
 flutter:
   uses-material-design: true
diff --git a/test_driver/main.dart b/test_driver/main.dart
index 29dc5547..60bedda2 100644
--- a/test_driver/main.dart
+++ b/test_driver/main.dart
@@ -1,7 +1,6 @@
 import 'dart:io';
 
 import 'package:dart_git/git.dart';
-import 'package:flutter_driver/driver_extension.dart';
 import 'package:meta/meta.dart';
 import 'package:path/path.dart' as p;
 import 'package:path_provider/path_provider.dart';
@@ -13,7 +12,7 @@ import 'package:gitjournal/app_settings.dart';
 import 'package:gitjournal/utils/datetime.dart';
 
 void main() async {
-  enableFlutterDriverExtension();
+  // enableFlutterDriverExtension();
 
   var pref = await SharedPreferences.getInstance();
   AppSettings.instance.load(pref);
diff --git a/test_driver/main_test.dart b/test_driver/main_test.dart
index dcbcc88f..e09ef0a6 100644
--- a/test_driver/main_test.dart
+++ b/test_driver/main_test.dart
@@ -1,5 +1,5 @@
-import 'package:flutter_driver/flutter_driver.dart';
-import 'package:screenshots/screenshots.dart';
+/*
+
 import 'package:test/test.dart';
 import 'package:time/time.dart';
 
@@ -233,3 +233,4 @@ void main() {
     }, timeout: Timeout(20.minutes));
   });
 }
+*/