diff --git a/package-lock.json b/package-lock.json index 005031b..3ed18d0 100644 --- a/package-lock.json +++ b/package-lock.json @@ -6835,9 +6835,9 @@ "dev": true }, "fluence": { - "version": "0.7.86", - "resolved": "https://registry.npmjs.org/fluence/-/fluence-0.7.86.tgz", - "integrity": "sha512-h0RYWwSf56bxQpW+z3o0tHH7UCwYy3khhZGwkGyrP6rxD5YM55r/Xc+8n+OAgxVpBBcPxFUWuxblm+UH65cZvw==", + "version": "0.7.92", + "resolved": "https://registry.npmjs.org/fluence/-/fluence-0.7.92.tgz", + "integrity": "sha512-BgJyTkYuOQr5xDHpbFKG8lIT5ThChfoHjejqg6Ra4lpk6M1ecbSc9H58+p7AjGxQFipSe4OQCrcAaejv8Sy5WA==", "requires": { "@fluencelabs/aquamarine-stepper": "0.0.13", "async": "3.2.0", diff --git a/package.json b/package.json index 5afcd96..77ddb41 100644 --- a/package.json +++ b/package.json @@ -20,7 +20,7 @@ }, "homepage": "https://github.com/fluencelabs/fluence-admin#readme", "dependencies": { - "fluence": "0.7.86", + "fluence": "0.7.92", "tachyons": "^4.12.0" }, "devDependencies": { diff --git a/src/AirScripts/GetAll.elm b/src/AirScripts/GetAll.elm index ba7592a..8d254f3 100644 --- a/src/AirScripts/GetAll.elm +++ b/src/AirScripts/GetAll.elm @@ -3,7 +3,6 @@ module AirScripts.GetAll exposing (..) import Air exposing (Air, callBI, fold, next, par, relayEvent, seq, set) import Json.Encode exposing (list, string) - air : String -> String -> List String -> Air air peerId relayId peers = let @@ -14,27 +13,63 @@ air peerId relayId peers = set "relayId" <| string relayId peersSet = - set "peers" <| list string peers + set "knownPeers" <| list string peers - airScript = + askRelay = (\innerAir -> + par + (seq + (callBI "relayId" ( "op", "identity" ) [] Nothing) + (askAllAndSend "relayId") + ) + innerAir + ) + + askPeers = (\innerAir -> + par + (fold "knownPeers" "p" <| + par + (seq + (callBI "p" ( "op", "identity" ) [] Nothing) + (askAllAndSend "p") + ) + (next "p") + ) + innerAir + ) + + findAndAskNeighbours = seq (callBI "relayId" ( "op", "identity" ) [] Nothing) - (fold "peers" "p" <| - par - (seq - (callBI "p" ( "op", "identify" ) [] (Just "ident")) + (seq + (callBI "relayId" ( "dht", "neighborhood" ) [ "clientId" ] (Just "neigh")) + (fold "neigh" "n" <| + par (seq - (callBI "p" ( "dist", "get_blueprints" ) [] (Just "blueprints")) - (seq - (callBI "p" ( "dist", "get_modules" ) [] (Just "modules")) - (seq - (callBI "p" ( "srv", "get_interfaces" ) [] (Just "interfaces")) - (relayEvent "all_info" [ "p", "ident", "interfaces", "blueprints", "modules" ]) - ) + (callBI "n" ( "dht", "neighborhood" ) [ "clientId" ] (Just "moreNeigh")) + (fold "moreNeigh" "mp" <| + par + (askAllAndSend "mp") + (next "mp") ) ) - ) - (next "p") - ) + (next "n") + )) + in - clientIdSet <| relayIdSet <| peersSet <| airScript + clientIdSet <| relayIdSet <| peersSet <| (askRelay <| askPeers <| findAndAskNeighbours) + +askAllAndSend : String -> Air +askAllAndSend var = + (seq + (callBI var ( "op", "identify" ) [] (Just "ident")) + (seq + (callBI var ( "dist", "get_blueprints" ) [] (Just "blueprints")) + (seq + (callBI var ( "dist", "get_modules" ) [] (Just "modules")) + (seq + (callBI var ( "srv", "get_interfaces" ) [] (Just "interfaces")) + (relayEvent "all_info" [ var, "ident", "interfaces", "blueprints", "modules" ]) + ) + ) + ) + ) diff --git a/src/BlueprintPage/View.elm b/src/BlueprintPage/View.elm index d42bbd0..c1aeca5 100644 --- a/src/BlueprintPage/View.elm +++ b/src/BlueprintPage/View.elm @@ -100,7 +100,7 @@ viewToggledInterface isOpen name interface = [] in div [] - ([ div [ classes "fl w-100 shadow-2 bg-near-white pa2 mv2 pointer", onClick (ToggleInterface name) ] + ([ div [ classes "fl w-100 light-shadow bg-near-white pa2 mv2 pointer", onClick (ToggleInterface name) ] [ span [ classes "fl mh2 pv1 tl" ] [ text name ] , div [ classes "o-40 f4 tr pr3" ] [ if isOpen then diff --git a/src/Config.elm b/src/Config.elm index 8f51f39..358e4b9 100644 --- a/src/Config.elm +++ b/src/Config.elm @@ -4,6 +4,7 @@ module Config exposing (..) type alias Config = { peerId : String , relayId : String + , knownPeers : List String } diff --git a/src/Main.elm b/src/Main.elm index 9e34331..144b896 100644 --- a/src/Main.elm +++ b/src/Main.elm @@ -56,6 +56,7 @@ init flags url key = , modules = Dict.empty , blueprints = Dict.empty , toggledInterface = Nothing + , knownPeers = flags.knownPeers } in ( emptyModel, Route.routeCommand emptyModel r ) diff --git a/src/Model.elm b/src/Model.elm index 7001ba2..59fccb5 100644 --- a/src/Model.elm +++ b/src/Model.elm @@ -55,4 +55,5 @@ type alias Model = , modules : Dict String Module , blueprints : Dict String Blueprint , toggledInterface : Maybe String + , knownPeers : List String } diff --git a/src/ModulePage/View.elm b/src/ModulePage/View.elm index 24931ad..7bbf590 100644 --- a/src/ModulePage/View.elm +++ b/src/ModulePage/View.elm @@ -1,15 +1,15 @@ module ModulePage.View exposing (..) import Dict exposing (Dict) -import Html exposing (Html, a, article, div, h3, span, text) +import Html exposing (Html, a, article, div, h1, h3, span, text) import Html.Attributes exposing (attribute) -import Info exposing (getDescription, getSite, modulesDescription) +import Info exposing (getDescription, getSite) import Instances.View import Interface.View exposing (interfaceView) import Model exposing (Model) import ModulePage.Model exposing (ModuleViewInfo) import Modules.Model exposing (Module) -import Palette exposing (classes) +import Palette exposing (classes, redFont) view : Model -> String -> Html msg @@ -32,7 +32,7 @@ view model id = in div [ classes "fl w-100 cf ph2-ns" ] [ div [ classes "fl w-100 mb2 pt2" ] - [ span [ classes "fl w-100 f1 lh-title dark-red" ] [ text ("Module: " ++ mi.name) ] + [ h1 [ redFont, classes "f2 lh-copy ma0 mt4" ] [ text ("Module: " ++ mi.name) ] ] , div [ classes "fl w-100 bg-white mt2 ph4 pt3 mb4 pb2 br3" ] [ viewInfo mi ] , h3 [ classes "pt3" ] [ text ("Instances (" ++ String.fromInt instanceNum ++ ")") ] diff --git a/src/Route.elm b/src/Route.elm index 8e5c8c5..3ea3ce7 100644 --- a/src/Route.elm +++ b/src/Route.elm @@ -1,6 +1,6 @@ module Route exposing (..) -import AirScripts.DiscoverPeers as DiscoverPeers +import AirScripts.GetAll as GetAll import BlueprintPage.View as BlueprintPage import Html exposing (Html, text) import HubPage.View as HubPage @@ -53,13 +53,13 @@ routeCommand : Model -> Route -> Cmd msg routeCommand m r = case r of Page _ -> - sendAir (DiscoverPeers.air m.peerId m.relayId) + sendAir (GetAll.air m.peerId m.relayId m.knownPeers) Peer _ -> - sendAir (DiscoverPeers.air m.peerId m.relayId) + sendAir (GetAll.air m.peerId m.relayId m.knownPeers) Blueprint _ -> - sendAir (DiscoverPeers.air m.peerId m.relayId) + sendAir (GetAll.air m.peerId m.relayId m.knownPeers) Module _ -> - sendAir (DiscoverPeers.air m.peerId m.relayId) + sendAir (GetAll.air m.peerId m.relayId m.knownPeers) diff --git a/src/View.elm b/src/View.elm index 386826e..92e72ef 100644 --- a/src/View.elm +++ b/src/View.elm @@ -40,7 +40,7 @@ body model = layout <| List.concat [ [ header [ classes "w-100" ] - [ div [ classes "fl pa2 pb1 bg-white w-100" ] + [ div [ classes "fl pa2 pb1 bg-white w-100 one-edge-shadow" ] [ div [ classes "fl mv1 pl3", style "max-width" "96px" ] [ a [ attribute "href" "/" ] [ img [ classes "v-mid dib mw-100 h-auto", attribute "src" "/images/logo_new.svg" ] [] diff --git a/src/index.ts b/src/index.ts index 09818b4..519071d 100644 --- a/src/index.ts +++ b/src/index.ts @@ -32,6 +32,7 @@ function genFlags(peerId: string): any { return { peerId, relayId: relays[relayIdx].peerId, + knownPeers: relays.map((v) => v.peerId) }; } diff --git a/src/main.css b/src/main.css index 3eb378b..5f9ce26 100644 --- a/src/main.css +++ b/src/main.css @@ -32,4 +32,12 @@ h1 { .medium-roboto { font-weight: 500; +} + +.light-shadow { + box-shadow: 0px 1px 3px 1px rgba( 0, 0, 0, 0.1 ); +} + +.one-edge-shadow { + box-shadow: 0px 1px 6px 1px rgba( 0, 0, 0, 0.1 ); } \ No newline at end of file