ssbc / ssb-config

standard configuration for ssb
MIT License
23 stars 18 forks source link

multiple scopes #25

Closed dominictarr closed 5 years ago

dominictarr commented 5 years ago

update default config to support multiple scopes

depends on: https://github.com/ssbc/multiserver/pull/32

arj03 commented 5 years ago

Was this supposed to be included in 13.1 @dominictarr? Also would be good with an README update with examples of the new mode.

dominictarr commented 5 years ago

uh yeah I think it was. @mixmix seems to have discovered a quirk that was letting tests pass without this https://github.com/ssbc/ssb-server/issues/614

mixmix commented 5 years ago

Yeah confirming this means the current master branch of ssb-server passes tests in bin/test.js

but fails elsewhere :

# test invite.accept api
Listening on false:62336 (multiserver net plugin)
Trace: deprecated api used: ssb-ref.parseAddress
    at Object.parseAddress (/home/mix/projects/SSBC/ssb-server/node_modules/ssb-ref/index.js:96:15)
    at Object.<anonymous> (/home/mix/projects/SSBC/ssb-server/plugins/invite.js:91:24)
    at apply (/home/mix/projects/SSBC/ssb-server/node_modules/muxrpc-validation/index.js:173:15)
    at Object.<anonymous> (/home/mix/projects/SSBC/ssb-server/node_modules/muxrpc-validation/index.js:82:14)
    at Object.hooked [as create] (/home/mix/projects/SSBC/ssb-server/node_modules/hoox/index.js:10:15)
    at Test.<anonymous> (/home/mix/projects/SSBC/ssb-server/test/invite.js:57:16)
    at Test.bound [as _cb] (/home/mix/projects/SSBC/ssb-server/node_modules/tape/lib/test.js:76:32)
    at Test.run (/home/mix/projects/SSBC/ssb-server/node_modules/tape/lib/test.js:95:10)
    at Test.bound [as run] (/home/mix/projects/SSBC/ssb-server/node_modules/tape/lib/test.js:76:32)
    at Immediate.next (/home/mix/projects/SSBC/ssb-server/node_modules/tape/lib/results.js:71:15)
Listening on false:54786 (multiserver net plugin)
Listening on false:51494 (multiserver net plugin)
Trace: deprecated api used: ssb-ref.parseInvite
    at Object.parseInvite (/home/mix/projects/SSBC/ssb-server/node_modules/ssb-ref/index.js:96:15)
    at Object.<anonymous> (/home/mix/projects/SSBC/ssb-server/plugins/invite.js:212:37)
    at apply (/home/mix/projects/SSBC/ssb-server/node_modules/muxrpc-validation/index.js:173:15)
    at Object.<anonymous> (/home/mix/projects/SSBC/ssb-server/node_modules/muxrpc-validation/index.js:82:14)
    at Object.hooked [as accept] (/home/mix/projects/SSBC/ssb-server/node_modules/hoox/index.js:10:15)
    at /home/mix/projects/SSBC/ssb-server/test/invite.js:60:16
    at /home/mix/projects/SSBC/ssb-server/plugins/invite.js:135:13
    at /home/mix/projects/SSBC/ssb-server/node_modules/level-sublevel/shell.js:53:51
    at /home/mix/projects/SSBC/ssb-server/node_modules/level-sublevel/nut.js:109:13
Error replicating with @YRFj2f9LlEjb/qV4CtMGKo48eK0PxRHGTAbfLeFR8hQ=.ed25519:
   Error: no source:createHistoryStream
    at Object.localCall (/home/mix/projects/SSBC/ssb-server/node_modules/muxrpc/local-api.js:29:13)
    at Object.<anonymous> (/home/mix/projects/SSBC/ssb-server/node_modules/muxrpc/local-api.js:37:22)
    at PacketStreamSubstream.stream.read (/home/mix/projects/SSBC/ssb-server/node_modules/muxrpc/stream.js:69:23)
    at PacketStream._onstream (/home/mix/projects/SSBC/ssb-server/node_modules/packet-stream/index.js:228:11)
    at PacketStream.write (/home/mix/projects/SSBC/ssb-server/node_modules/packet-stream/index.js:135:41)
    at /home/mix/projects/SSBC/ssb-server/node_modules/muxrpc/pull-weird.js:56:15
    at /home/mix/projects/SSBC/ssb-server/node_modules/pull-stream/sinks/drain.js:24:37
    at /home/mix/projects/SSBC/ssb-server/node_modules/pull-goodbye/node_modules/pull-stream/throughs/filter.js:17:11
    at Object.cb (/home/mix/projects/SSBC/ssb-server/node_modules/packet-stream-codec/index.js:111:11)
    at drain (/home/mix/projects/SSBC/ssb-server/node_modules/pull-reader/index.js:39:14)
ssb-friends: get legacy api used
ok 1 alice follows bob
Error replicating with @YRFj2f9LlEjb/qV4CtMGKo48eK0PxRHGTAbfLeFR8hQ=.ed25519:
   Error: no source:createHistoryStream
    at Object.localCall (/home/mix/projects/SSBC/ssb-server/node_modules/muxrpc/local-api.js:29:13)
    at Object.<anonymous> (/home/mix/projects/SSBC/ssb-server/node_modules/muxrpc/local-api.js:37:22)
    at PacketStreamSubstream.stream.read (/home/mix/projects/SSBC/ssb-server/node_modules/muxrpc/stream.js:69:23)
    at PacketStream._onstream (/home/mix/projects/SSBC/ssb-server/node_modules/packet-stream/index.js:228:11)
    at PacketStream.write (/home/mix/projects/SSBC/ssb-server/node_modules/packet-stream/index.js:135:41)
    at /home/mix/projects/SSBC/ssb-server/node_modules/muxrpc/pull-weird.js:56:15
    at /home/mix/projects/SSBC/ssb-server/node_modules/pull-stream/sinks/drain.js:24:37
    at /home/mix/projects/SSBC/ssb-server/node_modules/pull-goodbye/node_modules/pull-stream/throughs/filter.js:17:11
    at Object.cb (/home/mix/projects/SSBC/ssb-server/node_modules/packet-stream-codec/index.js:111:11)
    at drain (/home/mix/projects/SSBC/ssb-server/node_modules/pull-reader/index.js:39:14)
ok 2 should be equal
# test invite.accept doesnt follow if already followed
Listening on false:60411 (multiserver net plugin)
Closing server on false:62336 (multiserver net plugin)
Closing server on false:54786 (multiserver net plugin)
No longer listening on false:54786 (multiserver net plugin)
Closing server on false:51494 (multiserver net plugin)
No longer listening on false:51494 (multiserver net plugin)
Listening on false:62291 (multiserver net plugin)
Error replicating with @ocQyD+OeaNKTolFZhaGGn60ZK2DILtyqmJ64GHS1WzM=.ed25519:
   Error: no source:createHistoryStream
    at Object.localCall (/home/mix/projects/SSBC/ssb-server/node_modules/muxrpc/local-api.js:29:13)
    at Object.<anonymous> (/home/mix/projects/SSBC/ssb-server/node_modules/muxrpc/local-api.js:37:22)
    at PacketStreamSubstream.stream.read (/home/mix/projects/SSBC/ssb-server/node_modules/muxrpc/stream.js:69:23)
    at PacketStream._onstream (/home/mix/projects/SSBC/ssb-server/node_modules/packet-stream/index.js:228:11)
    at PacketStream.write (/home/mix/projects/SSBC/ssb-server/node_modules/packet-stream/index.js:135:41)
    at /home/mix/projects/SSBC/ssb-server/node_modules/muxrpc/pull-weird.js:56:15
    at /home/mix/projects/SSBC/ssb-server/node_modules/pull-stream/sinks/drain.js:24:37
    at /home/mix/projects/SSBC/ssb-server/node_modules/pull-goodbye/node_modules/pull-stream/throughs/filter.js:17:11
    at Object.cb (/home/mix/projects/SSBC/ssb-server/node_modules/packet-stream-codec/index.js:111:11)
    at drain (/home/mix/projects/SSBC/ssb-server/node_modules/pull-reader/index.js:39:14)
ssb-friends: get legacy api used
{ '@AjrRembu0qwP8/JQOSTA6geWokXC0sMJ6uRnO5dpvfw=.ed25519': 0,
  '@b8sUPQcEd+aoXbCKEyvJaqZ8Ml6eqBvmlF4JV0nxynI=.ed25519': 1 }
ok 3 should be equal
ok 4 should be equal
not ok 5 should be equivalent
  ---
    operator: deepEqual
    expected: |-
      { type: 'pub', address: { host: '2407:7000:9c49:4e00:f85b:561c:f34:aac7', port: 60411, key: '@AjrRembu0qwP8/JQOSTA6geWokXC0sMJ6uRnO5dpvfw=.ed25519' } }
    actual: |-
      { type: 'pub', address: { host: '192.168.1.162', port: 60411, key: '@AjrRembu0qwP8/JQOSTA6geWokXC0sMJ6uRnO5dpvfw=.ed25519' } }
    at: <anonymous> (/home/mix/projects/SSBC/ssb-server/test/invite.js:112:13)
    stack: |-
      Error: should be equivalent
          at Test.assert [as _assert] (/home/mix/projects/SSBC/ssb-server/node_modules/tape/lib/test.js:224:54)
          at Test.bound [as _assert] (/home/mix/projects/SSBC/ssb-server/node_modules/tape/lib/test.js:76:32)
          at Test.tapeDeepEqual (/home/mix/projects/SSBC/ssb-server/node_modules/tape/lib/test.js:421:10)
          at Test.bound [as deepEqual] (/home/mix/projects/SSBC/ssb-server/node_modules/tape/lib/test.js:76:32)
          at /home/mix/projects/SSBC/ssb-server/test/invite.js:112:13
          at /home/mix/projects/SSBC/ssb-server/node_modules/pull-stream/sinks/reduce.js:10:5
          at /home/mix/projects/SSBC/ssb-server/node_modules/pull-stream/sinks/drain.js:20:24
          at /home/mix/projects/SSBC/ssb-server/node_modules/pull-stream/throughs/through.js:19:9
          at /home/mix/projects/SSBC/ssb-server/node_modules/pull-stream/throughs/map.js:19:9
          at drain (/home/mix/projects/SSBC/ssb-server/node_modules/pull-paramap/index.js:23:11)
  ...
[ { key: '%qUlDo/dprvzurmdG1XcAjQAxe2WTer5N7Pnps1Q8kXI=.sha256',
    value: 
     { previous: null,
       sequence: 1,
       author: '@b8sUPQcEd+aoXbCKEyvJaqZ8Ml6eqBvmlF4JV0nxynI=.ed25519',
       timestamp: 1547454148534,
       hash: 'sha256',
       content: [Object],
       signature: 'v0hcSB2AKFzqbEsrU2ztuxUlQaBTW56+EZuOj0V5dDVelgTwBdnPKg6zST6dbuKozS6oVTTuIbGy4GXGw67yBQ==.sig.ed25519' },
    timestamp: 1547454148534.001 } ]
ok 6 should be equal
ok 7 should be equivalent
Error replicating with @ocQyD+OeaNKTolFZhaGGn60ZK2DILtyqmJ64GHS1WzM=.ed25519:
   Error: no source:createHistoryStream
    at Object.localCall (/home/mix/projects/SSBC/ssb-server/node_modules/muxrpc/local-api.js:29:13)
    at Object.<anonymous> (/home/mix/projects/SSBC/ssb-server/node_modules/muxrpc/local-api.js:37:22)
    at PacketStreamSubstream.stream.read (/home/mix/projects/SSBC/ssb-server/node_modules/muxrpc/stream.js:69:23)
    at PacketStream._onstream (/home/mix/projects/SSBC/ssb-server/node_modules/packet-stream/index.js:228:11)
    at PacketStream.write (/home/mix/projects/SSBC/ssb-server/node_modules/packet-stream/index.js:135:41)
    at /home/mix/projects/SSBC/ssb-server/node_modules/muxrpc/pull-weird.js:56:15
    at /home/mix/projects/SSBC/ssb-server/node_modules/pull-stream/sinks/drain.js:24:37
    at /home/mix/projects/SSBC/ssb-server/node_modules/pull-goodbye/node_modules/pull-stream/throughs/filter.js:17:11
    at Object.cb (/home/mix/projects/SSBC/ssb-server/node_modules/packet-stream-codec/index.js:111:11)
    at drain (/home/mix/projects/SSBC/ssb-server/node_modules/pull-reader/index.js:39:14)
ok 8 should be truthy
{ '@AjrRembu0qwP8/JQOSTA6geWokXC0sMJ6uRnO5dpvfw=.ed25519': 0,
  '@b8sUPQcEd+aoXbCKEyvJaqZ8Ml6eqBvmlF4JV0nxynI=.ed25519': 1 }
ok 9 should be equal
# test invite.accept api with ipv6
Listening on false:53900 (multiserver net plugin)
Closing server on false:60411 (multiserver net plugin)
Closing server on false:62291 (multiserver net plugin)
No longer listening on false:62291 (multiserver net plugin)
Listening on false:61009 (multiserver net plugin)
::1:7000:9c49:4e00:f85b:561c:f34:aac7:53900:@O0DOI0WdutGjJW0+V8v2XyQb4FhCHPPbI7dD5OlilkU=.ed25519~kZafCP9ZwIik+WntU8QI2YK8uBGJNsRxuPbQGxjZqVE= 2407:7000:9c49:4e00:f85b:561c:f34:aac7:53900:@O0DOI0WdutGjJW0+V8v2XyQb4FhCHPPbI7dD5OlilkU=.ed25519~kZafCP9ZwIik+WntU8QI2YK8uBGJNsRxuPbQGxjZqVE=
/home/mix/projects/SSBC/ssb-server/test/invite.js:177
      if(err) throw err
              ^

Error: could not connect to server
    at /home/mix/projects/SSBC/ssb-server/plugins/invite.js:241:29
    at /home/mix/projects/SSBC/ssb-server/plugins/invite.js:232:26
    at /home/mix/projects/SSBC/ssb-server/node_modules/ssb-client/index.js:100:20
  Error: could not connect to sbot
    at /home/mix/projects/SSBC/ssb-server/node_modules/ssb-client/index.js:100:23
    at /home/mix/projects/SSBC/ssb-server/node_modules/ssb-client/node_modules/multiserver/compose.js:66:24
    at Socket.<anonymous> (/home/mix/projects/SSBC/ssb-server/node_modules/ssb-client/node_modules/multiserver/plugins/net.js:42:11)
    at emitOne (events.js:116:13)
    at Socket.emit (events.js:211:7)
    at emitErrorNT (internal/streams/destroy.js:64:8)
    at _combinedTickCallback (internal/process/next_tick.js:138:11)
    at process._tickCallback (internal/process/next_tick.js:180:9)
  Error: getaddrinfo EAI_AGAIN ::1:7000:9c49:4e00:f85b:561c:f34:aac7:53900
    at Object._errnoException (util.js:992:11)
    at errnoException (dns.js:55:15)
    at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:92:26)
npm ERR! Test failed.  See above for more details.
mixmix commented 5 years ago

Note that the docs PR I merged had a lot of TODO areas where I was looking for people to fill in details. The scope field was one that I didn't know how to fill in, so I'm not sure what this PR does

dominictarr commented 5 years ago

I wasn't 100% sure that this wouldn't break anything, so I merged bumped to 3.0.0

mixmix commented 5 years ago

except it looks like you didn't merge this successfully @dominictarr ... not sure what you did exactly. I fixed this, merged this branch and published as 3.0.1

mixmix commented 5 years ago

oh thank you so much for filling in the README scopes section. That's gonna help me do something like write test or schema to make these safer

re : ff10ce15844ed5ec5d2a0db2b39ac5bb349236a4