Add halogen-portal dependency and update argonaut.

[?]
Feb 4, 2021, 3:40 AM
3HTCTHHULQUAHAQFUKDIFO3S7FVVFXMAQLLS3T44MLHGDIT5DZGAC

Dependencies

  • [2] U7YAT2ZK Add error reporting to signup form.
  • [3] T2DN23M7 Factor out billing create component.
  • [4] QMEYU4MW Add display for prior intervals.
  • [5] APOATM4X Add getProjectDetail call to project API
  • [6] VTZT2ILU Wire up billing navigation.
  • [7] 27H4DECZ Add billing create API call.
  • [8] RSF6UAJK Break out api module for timeline.
  • [9] J6S23MDG Use server timestamps for interval start and end.
  • [10] QU5FW67R Add project selection to time tracker.
  • [11] NAFJ6RB3 Minor module reorg.
  • [12] 2J37EVJM Check for an open interval on project switch.
  • [13] QAC2QJ32 Add project overview page to client.
  • [14] NJNMO72S Add zcash.com submodule and update client to modern halogen.
  • [15] PPW6ROC5 Render project data
  • [16] QH4UB73N Format with purty.
  • [17] 7TQPQW3N Begin adding parsing for project detail.
  • [18] ANDJ6GEY Add billing component skeleton.
  • [19] IR75ZMX3 Return actual events for interval ends, not just timestamps.
  • [20] Z5KNL332 Add skeleton of project overview HTML.

Change contents

  • replacement in client/packages.dhall at line 121
    [4.294645][4.294645:294819]()
    https://github.com/purescript/package-sets/releases/download/psc-0.13.8-20200615/packages.dhall sha256:5d0cfad9408c84db0a3fdcea2d708f9ed8f64297e164dc57a7cf6328706df93a
    [4.294645]
    [4.294819]
    https://github.com/purescript/package-sets/releases/download/psc-0.13.8-20210118/packages.dhall sha256:a59c5c93a68d5d066f3815a89f398bcf00e130a51cb185b2da29b20e2d8ae115
  • replacement in client/packages.dhall at line 125
    [4.294841][4.294841:294861]()
    let additions = {=}
    [4.294841]
    [4.294861]
    let additions =
    { halogen-portal =
    { dependencies =
    [ "aff-bus"
    , "effect"
    , "halogen"
    , "halogen-storybook"
    , "psci-support"
    , "record"
    ]
    , repo =
    "https://github.com/thomashoneyman/purescript-halogen-portal.git"
    , version = "34bcb2bb1dd859749f2061479c74c6052519e115"
    }
    }
  • edit in client/spago.dhall at line 13
    [3.188]
    [3.188]
    , "halogen-portal"
  • replacement in client/src/Aftok/Api/Billing.purs at line 9
    [4.153][4.153:212]()
    import Data.Argonaut.Decode (class DecodeJson, decodeJson)
    [4.153]
    [4.212]
    import Data.Argonaut.Decode (class DecodeJson, decodeJson, JsonDecodeError(..))
  • replacement in client/src/Aftok/Api/Billing.purs at line 59
    [4.1555][4.1555:1634]()
    BillableId <$> (note "Failed to decode billable UUID" $ parseUUID uuidStr)
    [4.1555]
    [4.327]
    BillableId <$> note (TypeMismatch"Failed to decode billable UUID") (parseUUID uuidStr)
  • replacement in client/src/Aftok/Api/Billing.purs at line 107
    [4.2081][4.2081:2172]()
    PaymentRequestId <$> (note "Failed to decode paymentRequest UUID" $ parseUUID uuidStr)
    [4.2081]
    [4.2172]
    PaymentRequestId <$> note (TypeMismatch "Failed to decode paymentRequest UUID") (parseUUID uuidStr)
  • replacement in client/src/Aftok/Api/Billing.purs at line 123
    [4.1387][4.1387:1476]()
    StatusCode 200 -> withExceptT (ParseFailure r.body) <<< except $ decodeJson r.body
    [4.1387]
    [4.1476]
    StatusCode 200 -> withExceptT ParseFailure <<< except $ decodeJson r.body
  • replacement in client/src/Aftok/Api/Json.purs at line 8
    [4.251][4.251:310]()
    import Data.Argonaut.Decode (class DecodeJson, decodeJson)
    [4.251]
    [4.310]
    import Data.Argonaut.Decode (class DecodeJson, decodeJson, JsonDecodeError(..))
  • replacement in client/src/Aftok/Api/Json.purs at line 47
    [4.1767][4.1767:1823]()
    parseJsonDate :: Json -> ExceptT String Effect DateTime
    [4.1767]
    [4.1823]
    parseJsonDate :: Json -> ExceptT JsonDecodeError Effect DateTime
  • replacement in client/src/Aftok/Api/Json.purs at line 50
    [4.1881][4.1881:1897]()
    parseDate str
    [4.1881]
    [4.1897]
    (withExceptT TypeMismatch $ parseDate str)
  • replacement in client/src/Aftok/Api/Json.purs at line 60
    [2.451][2.451:479]()
    = Json -> Either String a
    [2.451]
    [4.2130]
    = Json -> Either JsonDecodeError a
  • replacement in client/src/Aftok/Api/Json.purs at line 62
    [4.2131][2.480:590]()
    decodeDatedJson :: forall t. Traversable t => Decode (t String) -> Json -> ExceptT String Effect (t DateTime)
    [4.2131]
    [2.590]
    decodeDatedJson ::
    forall t.
    Traversable t =>
    Decode (t String) ->
    Json ->
    ExceptT JsonDecodeError Effect (t DateTime)
  • replacement in client/src/Aftok/Api/Json.purs at line 70
    [2.657][4.2309:2338](),[4.2309][4.2309:2338]()
    traverse parseDate decoded
    [2.657]
    [4.2338]
    (withExceptT TypeMismatch $ traverse parseDate decoded)
  • replacement in client/src/Aftok/Api/Json.purs at line 82
    [4.2680][2.721:830]()
    StatusCode 200 -> withExceptT (ParseFailure r.body) $ map fromDateTime <$> decodeDatedJson decode r.body
    [4.2680]
    [4.5]
    StatusCode 200 -> withExceptT ParseFailure $ map fromDateTime <$> decodeDatedJson decode r.body
  • replacement in client/src/Aftok/Api/Json.purs at line 97
    [2.919][2.919:1045](),[4.585][4.2782:2860](),[2.1045][4.2782:2860](),[4.2782][4.2782:2860]()
    withExceptT (ParseFailure r.body)
    $ Just
    <<< map fromDateTime
    <$> decodeDatedJson decode r.body
    other -> throwError $ Error { status: Just other, message: r.statusText }
    [2.919]
    map Just
    <<< withExceptT ParseFailure
    <<< map (map fromDateTime)
    $ decodeDatedJson decode r.body
    other ->
    throwError $ Error { status: Just other, message: r.statusText }
  • replacement in client/src/Aftok/Api/Project.purs at line 7
    [4.763][2.1047:1080](),[4.799][4.3103:3168](),[2.1080][4.3103:3168](),[4.3103][4.3103:3168]()
    import Data.Argonaut.Core (Json)
    import Data.Argonaut.Decode (class DecodeJson, decodeJson, (.:))
    [4.763]
    [4.3197]
    import Data.Argonaut.Core (Json, fromString)
    import Data.Argonaut.Decode (class DecodeJson, JsonDecodeError(..), decodeJson, (.:))
  • replacement in client/src/Aftok/Api/Project.purs at line 54
    [4.1678][4.1678:1748]()
    other -> Left $ "Unrecognized depreciation function: " <> other
    [4.1678]
    [4.3779]
    other -> Left $ UnexpectedValue (fromString dtype)
  • replacement in client/src/Aftok/Api/Project.purs at line 81
    [4.140][2.1237:1313]()
    parseProject :: ProjectId -> Object Json -> Either String (Project' String)
    [4.140]
    [2.1313]
    parseProject :: ProjectId -> Object Json -> Either JsonDecodeError (Project' String)
  • replacement in client/src/Aftok/Api/Timeline.purs at line 9
    [4.30][4.202:274](),[4.1840][4.202:274](),[4.202][4.202:274]()
    import Data.Argonaut.Decode (class DecodeJson, decodeJson, (.:), (.:?))
    [4.1840]
    [4.274]
    import Data.Argonaut.Decode (class DecodeJson, JsonDecodeError(..), decodeJson, (.:), (.:?))
  • replacement in client/src/Aftok/Api/Timeline.purs at line 72
    [4.1765][4.2570:2634]()
    parseEventFields :: Object Json -> Either String (Event String)
    [4.1765]
    [4.2634]
    parseEventFields :: Object Json -> Either JsonDecodeError (Event String)
  • replacement in client/src/Aftok/Api/Timeline.purs at line 77
    [4.2614][4.2614:2669]()
    note "Only 'stop' and 'start' events are supported."
    [4.2614]
    [4.2669]
    note (TypeMismatch "Only 'stop' and 'start' events are supported.")
  • replacement in client/src/Aftok/Api/Types.purs at line 5
    [4.5875][4.5875:5919]()
    import Data.Argonaut.Core (Json, stringify)
    [4.5875]
    [4.5919]
    import Data.Argonaut.Decode (JsonDecodeError)
  • replacement in client/src/Aftok/Api/Types.purs at line 10
    [4.5974][4.5974:6003]()
    | ParseFailure Json String
    [4.5974]
    [4.6003]
    | ParseFailure JsonDecodeError
  • replacement in client/src/Aftok/Api/Types.purs at line 16
    [4.6157][4.6157:6240]()
    ParseFailure js e -> "ParseFailure (" <> show (stringify js) <> ") " <> show e
    [4.6157]
    [4.6240]
    ParseFailure e -> "ParseFailure (" <> show e <> ") "
  • replacement in client/src/Aftok/Types.purs at line 4
    [4.3258][4.6778:6837]()
    import Data.Argonaut.Decode (class DecodeJson, decodeJson)
    [4.3258]
    [4.2966]
    import Data.Argonaut.Decode (class DecodeJson, decodeJson, JsonDecodeError(..))
  • replacement in client/src/Aftok/Types.purs at line 96
    [2.19611][4.7070:7141](),[4.7070][4.7070:7141]()
    UserId <$> (note "Failed to decode user UUID" $ parseUUID uuidStr)
    [2.19611]
    [4.5637]
    UserId <$> note (TypeMismatch "Failed to decode user UUID") (parseUUID uuidStr)
  • replacement in client/src/Aftok/Types.purs at line 110
    [2.19647][4.7359:7436](),[4.7359][4.7359:7436]()
    ProjectId <$> (note "Failed to decode project UUID" $ parseUUID uuidStr)
    [2.19647]
    [4.11908]
    ProjectId <$> note (TypeMismatch "Failed to decode project UUID") (parseUUID uuidStr)