A music player that connects to your cloud/distributed storage.
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

Debounce all data storage events

+22 -29
+1 -1
Makefile
··· 46 46 47 47 elm: 48 48 @echo "> Compiling Elm" 49 - @elm-make $(SRC_DIR)/App/App.elm --output $(BUILD_DIR)/application.js --yes 49 + @elm-make $(SRC_DIR)/App/App.elm --output $(BUILD_DIR)/application.js --yes --debug 50 50 51 51 52 52 system:
+4 -1
src/App/Authentication/State.elm
··· 257 257 ------------------------------------ 258 258 -- Data storage 259 259 ------------------------------------ 260 - Incoming StoreData _ -> 260 + Incoming StoreData (Ok _) -> 261 261 (!) model [] 262 + 263 + Incoming StoreData (Err err) -> 264 + handleError model ("Data storage error: " ++ err) 262 265 263 266 264 267
+2 -2
src/App/Equalizer/State.elm
··· 120 120 else 121 121 (!) 122 122 { model | activeKnob = Nothing } 123 - [ do TopLevel.StoreUserData ] 123 + [ do TopLevel.DebounceStoreUserData ] 124 124 125 125 ------------------------------------ 126 126 -- Reset ··· 163 163 164 164 reset : Model -> Knob -> Float -> ( Model, Cmd TopLevel.Msg ) 165 165 reset newModel knobType value = 166 - (!) newModel [ adjustKnob knobType value, do TopLevel.StoreUserData ] 166 + (!) newModel [ adjustKnob knobType value, do TopLevel.DebounceStoreUserData ] 167 167 168 168 169 169
+1 -1
src/App/Settings/State.elm
··· 24 24 SetBackgroundImage filename -> 25 25 (!) 26 26 { model | backgroundImage = filename } 27 - [ do TopLevel.StoreUserData ] 27 + [ do TopLevel.DebounceStoreUserData ]
+1 -1
src/App/Sources/Utils.elm
··· 51 51 sourcesHaveUpdated updatedCollection = 52 52 Cmd.batch 53 53 [ updateEnabledSourceIds updatedCollection 54 - , do TopLevel.StoreUserData 54 + , do TopLevel.DebounceStoreUserData 55 55 ]
+6 -18
src/App/State.elm
··· 117 117 (!) { model | isTouchDevice = bool } [] 118 118 119 119 ------------------------------------ 120 - -- User layer 120 + -- Data in 121 121 ------------------------------------ 122 122 ImportUserData json -> 123 123 let ··· 149 149 doDelayed (Time.millisecond * 250) HideLoadingScreen 150 150 ] 151 151 152 + ------------------------------------ 153 + -- Data out 154 + ------------------------------------ 152 155 StoreUserData -> 153 156 (!) 154 157 model ··· 160 163 ) 161 164 ] 162 165 163 - DidStoreUserData (Ok _) -> 164 - -- Carry on 165 - (!) model [] 166 - 167 - DidStoreUserData (Err err) -> 168 - (!) 169 - model 170 - [ err 171 - |> String.append "User data storage error: " 172 - |> Routing.Types.ErrorScreen 173 - |> Routing.Types.SetPage 174 - |> RoutingMsg 175 - |> do 176 - ] 177 - 178 166 ------------------------------------ 179 - -- User layer / Debounced 167 + -- Data out / Debounced 180 168 ------------------------------------ 181 169 DebounceStoreUserData -> 182 170 let ··· 375 363 376 364 debounceStoreUserDataConfig : Debounce.Config Msg 377 365 debounceStoreUserDataConfig = 378 - { strategy = Debounce.later (3 * Time.second) 366 + { strategy = Debounce.later (2.5 * Time.second) 379 367 , transform = DebounceCallbackStoreUserData 380 368 } 381 369
+1 -1
src/App/Tracks/Collection/Responses.elm
··· 29 29 30 30 -- Store data 31 31 , if model.initialImportPerformed then 32 - do TopLevel.StoreUserData 32 + do TopLevel.DebounceStoreUserData 33 33 else 34 34 Cmd.none 35 35 ]
+6 -3
src/App/Tracks/State.elm
··· 276 276 |> makeParcel 277 277 |> effect 278 278 |> set 279 - |> addCmd (do TopLevel.StoreUserData) 279 + |> addCmd (do TopLevel.DebounceStoreUserData) 280 280 281 281 282 282 togglePlaylist : Model -> Playlist -> Maybe Playlist ··· 353 353 354 354 355 355 storeUserData : Model -> Cmd TopLevel.Msg 356 - storeUserData _ = 357 - do TopLevel.DebounceStoreUserData 356 + storeUserData model = 357 + if model.initialImportPerformed then 358 + do TopLevel.DebounceStoreUserData 359 + else 360 + Cmd.none 358 361 359 362 360 363 search : Model -> Cmd TopLevel.Msg
-1
src/App/Types.elm
··· 35 35 | HideLoadingScreen 36 36 | ShowLoadingScreen 37 37 -- User layer 38 - | DidStoreUserData (Result String ()) 39 38 | ImportUserData String 40 39 | StoreUserData 41 40 -- Time