@@ -121,18 +121,22 @@ func (m *MetaClient) getProxy(reason string) (string, error) {
121
121
return respData .ProxyURL , nil
122
122
}
123
123
124
- func (m * MetaClient ) Connect (ctx context.Context ) error {
124
+ func (m * MetaClient ) Connect (ctx context.Context ) {
125
125
if m .Client == nil {
126
126
m .UserLogin .BridgeState .Send (status.BridgeState {
127
127
StateEvent : status .StateBadCredentials ,
128
128
Error : MetaNotLoggedIn ,
129
129
})
130
- return nil
130
+ return
131
131
}
132
132
if m .Main .Config .GetProxyFrom != "" || m .Main .Config .Proxy != "" {
133
133
m .Client .GetNewProxy = m .getProxy
134
134
if ! m .Client .UpdateProxy ("connect" ) {
135
- return fmt .Errorf ("failed to update proxy" )
135
+ m .UserLogin .BridgeState .Send (status.BridgeState {
136
+ StateEvent : status .StateUnknownError ,
137
+ Error : MetaProxyUpdateFail ,
138
+ })
139
+ return
136
140
}
137
141
}
138
142
currentUser , initialTable , err := m .Client .LoadMessagesPage ()
@@ -187,18 +191,23 @@ func (m *MetaClient) Connect(ctx context.Context) error {
187
191
Error : MetaConnectError ,
188
192
})
189
193
}
190
- return nil
194
+ return
191
195
}
192
- return m .connectWithTable (ctx , initialTable , currentUser )
196
+ m .connectWithTable (ctx , initialTable , currentUser )
193
197
}
194
198
195
- func (m * MetaClient ) connectWithTable (ctx context.Context , initialTable * table.LSTable , currentUser types.UserInfo ) error {
199
+ func (m * MetaClient ) connectWithTable (ctx context.Context , initialTable * table.LSTable , currentUser types.UserInfo ) {
196
200
go m .handleTableLoop ()
197
201
198
202
var err error
199
203
m .Ghost , err = m .Main .Bridge .GetGhostByID (ctx , networkid .UserID (m .UserLogin .ID ))
200
204
if err != nil {
201
- return fmt .Errorf ("failed to get own ghost: %w" , err )
205
+ zerolog .Ctx (ctx ).Err (err ).Msg ("Failed to get own ghost" )
206
+ m .UserLogin .BridgeState .Send (status.BridgeState {
207
+ StateEvent : status .StateUnknownError ,
208
+ Error : MetaConnectError ,
209
+ })
210
+ return
202
211
}
203
212
m .UserLogin .RemoteName = currentUser .GetName ()
204
213
m .UserLogin .RemoteProfile .Name = currentUser .GetName ()
@@ -211,12 +220,15 @@ func (m *MetaClient) connectWithTable(ctx context.Context, initialTable *table.L
211
220
212
221
err = m .Client .Connect ()
213
222
if err != nil {
214
- return err
223
+ zerolog .Ctx (ctx ).Err (err ).Msg ("Failed to connect" )
224
+ m .UserLogin .BridgeState .Send (status.BridgeState {
225
+ StateEvent : status .StateUnknownError ,
226
+ Error : MetaConnectError ,
227
+ })
228
+ return
215
229
}
216
230
217
231
go m .periodicReconnect ()
218
-
219
- return nil
220
232
}
221
233
222
234
func (m * MetaClient ) periodicReconnect () {
@@ -374,10 +386,7 @@ func (m *MetaClient) FullReconnect() {
374
386
m .Disconnect ()
375
387
m .Client = messagix .NewClient (m .LoginMeta .Cookies , m .UserLogin .Log .With ().Str ("component" , "messagix" ).Logger ())
376
388
m .Client .SetEventHandler (m .handleMetaEvent )
377
- err := m .Connect (ctx )
378
- if err != nil {
379
- zerolog .Ctx (ctx ).Err (err ).Msg ("Failed to reconnect" )
380
- }
389
+ m .Connect (ctx )
381
390
}
382
391
383
392
func (m * MetaClient ) resetWADevice () {
0 commit comments