Peers would be identified by their id on the servers and locally the clients would "build" the multiaddr of the peers using this.ma.decapsulate("ipfs").encapsulate("ipfs/" + peerId)
This would remove the following features:
Using websocket-star without cryptoChallenge (which is insecure or at least gives other people to "claim" the address)
This would solve the following problems:
A peer that listens on the signaling server /dns/domain.tld/ws/p2p-websocket-star (http://domain.tld) would be unable to dial peers listening on /dns/domain.tld/wss/p2p-websocket-star (https://domain.tld)
Complicated if-code
Some untested edge-cases such as dialing to a server with cryptoChallenge off when id is set.
Peers would be identified by their id on the servers and locally the clients would "build" the multiaddr of the peers using
this.ma.decapsulate("ipfs").encapsulate("ipfs/" + peerId)
This would remove the following features:This would solve the following problems:
/dns/domain.tld/ws/p2p-websocket-star
(http://domain.tld
) would be unable to dial peers listening on/dns/domain.tld/wss/p2p-websocket-star
(https://domain.tld
)