@@ -75,7 +75,7 @@ class SettingsForm extends React.Component<RootStore, SettingsFormState> {
75
75
76
76
// First fetch user info to get user id
77
77
const authToken = localStorage . getItem ( 'authToken' ) || "" ;
78
- let rsp : any = await OldReaderResource . userInfo ( authToken ) ;
78
+ let rsp : any = await OldReaderResource . userInfo ( authToken ) ; // tslint:disable-line
79
79
if ( rsp . status !== 200 ) {
80
80
this . setState ( {
81
81
errorMessage : rsp . message ,
@@ -84,7 +84,7 @@ class SettingsForm extends React.Component<RootStore, SettingsFormState> {
84
84
return ;
85
85
}
86
86
let data : any = await rsp . data ; // tslint:disable-line
87
- console . log ( "OldReader user id: " , data . userId ) ;
87
+ console . log ( "OldReader user id: " , data . userId ) ; // tslint:disable-line
88
88
89
89
// Create and store user id hash
90
90
const userIdHash = sha256 ( data . userId ) . toString ( ) ;
@@ -95,7 +95,7 @@ class SettingsForm extends React.Component<RootStore, SettingsFormState> {
95
95
// This will stay the same as long as the app is installed
96
96
let deviceIdHash = localStorage . getItem ( "deviceId" ) || "" ;
97
97
if ( deviceIdHash . length !== 64 ) {
98
- deviceIdHash = sha256 ( uuidv4 ( ) ) . toString ( )
98
+ deviceIdHash = sha256 ( uuidv4 ( ) ) . toString ( ) ;
99
99
console . log ( "Hashed device id: " , deviceIdHash ) ; // tslint:disable-line
100
100
localStorage . setItem ( 'deviceId' , deviceIdHash ) ;
101
101
}
@@ -107,13 +107,14 @@ class SettingsForm extends React.Component<RootStore, SettingsFormState> {
107
107
let aarrStatApi = new AARRStatApi (
108
108
this . props . containerAppCallbacks . url ,
109
109
this . props . containerAppCallbacks . apiKey ) ;
110
-
111
- let response : any = await aarrStatApi . ping ( ) ; // tslint:disable-line
110
+ let response : any = await aarrStatApi . newDevice ( deviceIdHash , userIdHash , this . state . deviceName ) ; // tslint:disable-line
112
111
console . log ( `Request result ${ response . status } ` ) ; // tslint:disable-line
113
-
114
112
if ( response . status !== 200 ) {
115
- // tslint:disable-next-line
116
- console . log ( `Request failed, error code ${ response . status } , response: ${ response } ` ) ;
113
+ console . log ( `Request failed, error code ${ response . status } , response: ` , response ) ; // tslint:disable-line
114
+ this . setState ( {
115
+ errorMessage : 'Request failed, please try again!' ,
116
+ isSaving : false ,
117
+ } ) ;
117
118
return ;
118
119
}
119
120
@@ -123,6 +124,8 @@ class SettingsForm extends React.Component<RootStore, SettingsFormState> {
123
124
} else {
124
125
localStorage . setItem ( 'enableTelemetry' , "false" ) ;
125
126
}
127
+
128
+ // Set state so that we properly update ui
126
129
this . setState ( {
127
130
isSaving : false ,
128
131
hasChanges : false ,
@@ -153,7 +156,8 @@ class SettingsForm extends React.Component<RootStore, SettingsFormState> {
153
156
"ui left input" :
154
157
"ui left input disabled" ;
155
158
156
- let errorMessageOrEmpty = this . state . errorMessage && < div className = "ui error message" > { this . state . errorMessage } </ div > ;
159
+ let errorMessageOrEmpty = this . state . errorMessage &&
160
+ < div className = "ui error message" > { this . state . errorMessage } </ div > ;
157
161
158
162
return (
159
163
< div className = "ui grid container" >
0 commit comments