Part of #6.
Three of the Go SDK's twelve examples print yt.WebUIOperationURL(...); C++ has IOperation::GetWebInterfaceUrl(). This crate prints an operation id and leaves the reader to find it.
Why it was deliberately not built
The URL is https://<host>/<cluster>/operations/<id>, and the cluster name is not derivable from a proxy address. The choice was between asking the caller for something they would have to look up, and printing a link that might be wrong. A wrong link is worse than none.
What changed
//sys/@cluster_name exists and is readable — examples/cluster_info.rs already reads it ("locasaurus" on the local cluster). So the name can be fetched rather than guessed, which makes this buildable without asking the caller anything.
Part of #6.
Three of the Go SDK's twelve examples print
yt.WebUIOperationURL(...); C++ hasIOperation::GetWebInterfaceUrl(). This crate prints an operation id and leaves the reader to find it.Why it was deliberately not built
The URL is
https://<host>/<cluster>/operations/<id>, and the cluster name is not derivable from a proxy address. The choice was between asking the caller for something they would have to look up, and printing a link that might be wrong. A wrong link is worse than none.What changed
//sys/@cluster_nameexists and is readable —examples/cluster_info.rsalready reads it ("locasaurus"on the local cluster). So the name can be fetched rather than guessed, which makes this buildable without asking the caller anything.//sys/@cluster_name, cache it on theClientoperation_url(id)andtable_url(path)