-
Notifications
You must be signed in to change notification settings - Fork 14
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Goとライブラリの更新、gopherjsからwasmに変更 #91
Conversation
@@ -44,7 +44,7 @@ func selectGrpcServers(ctx context.Context, ids []string) (map[string]*grpcServe | |||
} | |||
|
|||
func (s *grpcServer) Dial() (*grpc.ClientConn, error) { | |||
return grpc.Dial(fmt.Sprintf("%s:%d", s.Host, s.Port), | |||
return grpc.NewClient(fmt.Sprintf("%s:%d", s.Host, s.Port), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Dial is Deprecated.
https://pkg.go.dev/google.golang.org/grpc#Dial
searchGroup: number | undefined; | ||
maxPlayers: number | undefined; | ||
players: number | undefined; | ||
watchers: number | undefined; | ||
publicProps: binary.Unmarshaled; | ||
privateProps: binary.Unmarshaled; | ||
created: Timestamp.AsObject | undefined; | ||
created: string | undefined; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Timestamp型が内部でunixtimeをBigInt型で持っているために
そのままではJSONエンコードできないので文字列として返すようにしました。
この値はfrontendでは使っていないです。
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
JS部分はよくわからないけれどGo部分はOKです。
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
wasmとjavascript部分のコードを確認済み。
wasmの方がメンテナンスとパフォーマンス観点で優れているのでありがたいです👍
ご対応ありがとうございます🙇
toplevel awaitを使っているのにtsconfigのtargetがes2020だったのでes2022に直しました。 |
Goのprotobufを更新したらgopherjs(go v1.19)ではビルドできなくなってしまいました。
gopherjsの更新が遅いことと、Go本体がwasmをサポートし始めたことから、gopherjsの部分をwasmに置き換えてみました。
wasmを利用するにはcommonjsではなくesmoduleにする必要があり、
dashboardのbackendを結構書き換えることになりました……
serverの変更内容
dashboardのbackendの変更内容
cjsとesmの違いをきちんとは理解できていないので、なにか変なことしていたら指摘おねがいします