From ac55d5a3a4a57bb6714f5152d543f2191fe5e115 Mon Sep 17 00:00:00 2001
From: fischerscode <github@maaeps.de>
Date: Wed, 16 Sep 2020 13:18:21 +0200
Subject: [PATCH 1/3] store password in field

Potential fix for https://github.com/parse-community/Parse-SDK-Flutter/issues/444
---
 packages/dart/lib/src/objects/parse_user.dart | 9 +++------
 1 file changed, 3 insertions(+), 6 deletions(-)

diff --git a/packages/dart/lib/src/objects/parse_user.dart b/packages/dart/lib/src/objects/parse_user.dart
index 55c822e71..c95a45938 100644
--- a/packages/dart/lib/src/objects/parse_user.dart
+++ b/packages/dart/lib/src/objects/parse_user.dart
@@ -11,7 +11,7 @@ class ParseUser extends ParseObject implements ParseCloneable {
   /// Requires [String] username, [String] password. [String] email address
   /// is required as well to create a full new user object on ParseServer. Only
   /// username and password is required to login
-  ParseUser(String username, String password, String emailAddress,
+  ParseUser(String username, this.password, String emailAddress,
       {String sessionToken, bool debug, ParseHTTPClient client})
       : super(keyClassUser) {
     _debug = isDebugEnabled(objectLevelDebug: debug);
@@ -21,7 +21,6 @@ class ParseUser extends ParseObject implements ParseCloneable {
             securityContext: ParseCoreData().securityContext);
 
     this.username = username;
-    this.password = password;
     this.emailAddress = emailAddress;
     this.sessionToken = sessionToken;
   }
@@ -40,6 +39,8 @@ class ParseUser extends ParseObject implements ParseCloneable {
   static const String keyEmailAddress = 'email';
   static const String path = '$keyEndPointClasses$keyClassUser';
 
+  String password;
+
   Map<String, dynamic> get acl => super.get<Map<String, dynamic>>(keyVarAcl);
 
   set acl(Map<String, dynamic> acl) =>
@@ -54,10 +55,6 @@ class ParseUser extends ParseObject implements ParseCloneable {
 
   set username(String username) => set<String>(keyVarUsername, username);
 
-  String get password => super.get<String>(keyVarPassword);
-
-  set password(String password) => set<String>(keyVarPassword, password);
-
   String get emailAddress => super.get<String>(keyVarEmail);
 
   set emailAddress(String emailAddress) =>

From c11ed7eaee1f92c3e28a39a125959116d8c68d32 Mon Sep 17 00:00:00 2001
From: fischerscode <github@maaeps.de>
Date: Wed, 16 Sep 2020 17:35:32 +0200
Subject: [PATCH 2/3] Merge from upstream/release/1.0.28

---
 .travis.yml                                | 6 +++---
 packages/flutter/lib/parse_server_sdk.dart | 5 ++---
 2 files changed, 5 insertions(+), 6 deletions(-)

diff --git a/.travis.yml b/.travis.yml
index a9fdeaa96..e1599d287 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -6,12 +6,12 @@ dart:
 
 install:
   - git clone https://github.com/flutter/flutter.git -b stable --depth 1
-  - export PATH=./flutter/bin:$PATH
+  - export PATH=~/build/parse-community/Parse-SDK-Flutter/flutter/bin:$PATH
   - flutter doctor
 
 script:
-  - (cd packages/dart && dart pub get)
-  - (cd packages/dart && dart test test/)
+  - (cd packages/dart && pub get)
+  - (cd packages/dart && pub run test)
   - (cd packages/flutter && flutter pub get)
   - (cd packages/flutter && flutter test --no-pub test/)
 
diff --git a/packages/flutter/lib/parse_server_sdk.dart b/packages/flutter/lib/parse_server_sdk.dart
index 96ff1f398..a0b26e1ee 100644
--- a/packages/flutter/lib/parse_server_sdk.dart
+++ b/packages/flutter/lib/parse_server_sdk.dart
@@ -91,9 +91,8 @@ class Parse extends sdk.Parse
       parseUserConstructor: parseUserConstructor,
       parseFileConstructor: parseFileConstructor,
       connectivityProvider: connectivityProvider ?? this,
-      fileDirectory: fileDirectory ?? !sdk.parseIsWeb
-          ? (await getTemporaryDirectory()).path
-          : null,
+      fileDirectory: fileDirectory ??
+          (!sdk.parseIsWeb ? (await getTemporaryDirectory()).path : null),
       appResumedStream: appResumedStream ?? _appResumedStreamController.stream,
     );
   }

From 4ff9befb862edea2335c6d5d0c233f2d48509ef9 Mon Sep 17 00:00:00 2001
From: fischerscode <github@maaeps.de>
Date: Thu, 17 Sep 2020 16:04:12 +0200
Subject: [PATCH 3/3] remove password from clone

---
 packages/dart/lib/src/objects/parse_user.dart | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/packages/dart/lib/src/objects/parse_user.dart b/packages/dart/lib/src/objects/parse_user.dart
index c95a45938..e00af3161 100644
--- a/packages/dart/lib/src/objects/parse_user.dart
+++ b/packages/dart/lib/src/objects/parse_user.dart
@@ -28,7 +28,7 @@ class ParseUser extends ParseObject implements ParseCloneable {
   ParseUser.forQuery() : super(keyClassUser);
 
   ParseUser.clone(Map<String, dynamic> map)
-      : this(map[keyVarUsername], map[keyVarPassword], map[keyVarEmail]);
+      : this(map[keyVarUsername], null, map[keyVarEmail]);
 
   @override
   dynamic clone(Map<String, dynamic> map) =>