Fixes a race condition when initializing the calendar-event field

The problem was that the field executes a request to validate its
state. This was initiated at the same time for two values. Then it was
undetermined which value comes back first.
This commit is contained in:
Eike Kettner 2020-08-01 11:07:18 +02:00
parent f95f01759b
commit b4e11a7264
3 changed files with 10 additions and 6 deletions

View File

@ -2,6 +2,7 @@ module Comp.CalEventInput exposing
( Model
, Msg
, init
, initDefault
, update
, view
)
@ -36,6 +37,11 @@ type Msg
| CheckInputMsg CalEvent (Result Http.Error CalEventCheckResult)
initDefault : Model
initDefault =
Model Nothing
init : Flags -> CalEvent -> ( Model, Cmd Msg )
init flags ev =
( Model Nothing, checkInput flags ev )

View File

@ -133,8 +133,8 @@ init flags =
initialSchedule =
Data.Validated.Unknown Data.CalEvent.everyMonth
( sm, sc ) =
Comp.CalEventInput.init flags Data.CalEvent.everyMonth
sm =
Comp.CalEventInput.initDefault
in
( { settings = Api.Model.NotificationSettings.empty
, connectionModel =
@ -159,7 +159,6 @@ init flags =
, Cmd.batch
[ Api.getMailSettings flags "" ConnResp
, Api.getTags flags "" GetTagsResp
, Cmd.map CalEventMsg sc
]
)

View File

@ -136,8 +136,8 @@ init flags =
initialSchedule =
Data.Validated.Unknown Data.CalEvent.everyMonth
( sm, sc ) =
Comp.CalEventInput.init flags Data.CalEvent.everyMonth
sm =
Comp.CalEventInput.initDefault
in
( { settings = Api.Model.ScanMailboxSettings.empty
, connectionModel =
@ -168,7 +168,6 @@ init flags =
}
, Cmd.batch
[ Api.getImapSettings flags "" ConnResp
, Cmd.map CalEventMsg sc
, Api.getFolders flags "" False GetFolderResp
]
)