@@ -49,19 +49,23 @@ pub fn main() -> iced::Result {
49
49
. window_size ( ( 1200.0 , 800.0 ) )
50
50
. resizable ( cfg ! ( not( debug_assertions) ) )
51
51
. theme ( |_| Theme :: Nord )
52
- . run_with ( || ( State :: new ( ) , Task :: none ( ) ) )
52
+ . run_with ( || ( State :: new ( ) , Task :: done ( Message :: Auth { force : false } ) ) )
53
53
}
54
54
55
55
fn update ( state : & mut State , message : Message ) -> Task < Message > {
56
56
let none = Task :: none ( ) ;
57
57
58
58
match message {
59
- Message :: Auth => {
59
+ Message :: Auth { force } => {
60
60
let Some ( config) = & mut state. config else {
61
61
error ! ( "config not loaded, skipping forgetting" ) ;
62
62
return none;
63
63
} ;
64
64
65
+ if !force && config. auth_key ( ) . is_some ( ) {
66
+ trace ! ( "already registered, skipping auth" ) ;
67
+ }
68
+
65
69
if state. server_ok
66
70
&& let Ok ( res) = state. client . auth ( )
67
71
{
@@ -224,7 +228,7 @@ fn update(state: &mut State, message: Message) -> Task<Message> {
224
228
225
229
state. need_reset_config = false ;
226
230
227
- return Task :: done ( Message :: Auth ) ;
231
+ return Task :: done ( Message :: Auth { force : true } ) ;
228
232
}
229
233
}
230
234
@@ -388,7 +392,7 @@ fn subscription(state: &State) -> Subscription<Message> {
388
392
389
393
#[ derive( Debug , Clone ) ]
390
394
enum Message {
391
- Auth ,
395
+ Auth { force : bool } ,
392
396
RegisterOnServer ,
393
397
SelectProfile ( String ) ,
394
398
FileUpdated ( FileUpdateEvent ) ,
@@ -515,15 +519,6 @@ impl State {
515
519
. expect ( "should be checked when pinged" ) ;
516
520
}
517
521
518
- // auth
519
- if config. auth_key ( ) . is_some ( ) {
520
- trace ! ( "already registered, skipping auth" ) ;
521
- } else if server_ok && let Ok ( res) = client. auth ( ) {
522
- trace ! ( "saving auth" ) ;
523
- config. set_auth_key ( res. key ) ;
524
- need_save_config = true ;
525
- } ;
526
-
527
522
let ( tx, rx) = mpsc:: channel ( ) ;
528
523
if server_ok {
529
524
for profile in config. profiles ( ) {
0 commit comments