Skip to content
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

libwebrtc のバージョン文字列を Android にあわせる #191

Closed
wants to merge 4 commits into from

Conversation

miosakuma
Copy link
Contributor

大きく 2 点の修正を行なっています。

  1. バージョン文字列を SDKInfo, WebRTCInfo で修正する
  2. シグナリング connect で送信される libwebrtc の内容を Android にあわせる

1. バージョン文字列を SDKInfo, WebRTCInfo で修正する

これまで Configration.swift, PeerChannel.swift などで SDK バージョン情報や、libwebrtc 情報を編集していましたが、これを SDKInfo, WebRTCInfo で行うように修正しました。バージョン情報は SDKInfo, WebRTCInfo 内で管理した方がよいと考えたためです。

コメントあればお願いしたいこと

  • versionString という変数名にしたが違和感はないか?

2. シグナリング connect で送信される libwebrtc の内容を Android にあわせる


当初は branch-head の値が送信されていないことから始まりましたが、
最終的には Android の同項目と出力内容を合わせる対応としています。
Sora C++ SDK も () 内に M がないのでそちらに合わせることにしました。

  • branch-head の項目がないので追加しました。
  • () 内の文字列から先頭の M を取り除きました

修正前
"libwebrtc": "Shiguredo-build M123 (M123.3.0 41b1493)"

修正後
"libwebrtc": "Shiguredo-build M123 (123.6312.3.0 41b1493)"

Sora Android SDK の出力内容
"libwebrtc": "Shiguredo-build M121 (121.6167.4.0 0f741da)"

コメントあればお願いしたいこと

  • m121 に続く 4 桁の数字は branch-heads (branchHeads) だという認識なのですがもし違っていたらご指摘ください

確認した内容

  • SDK 情報 (sora_client) について修正前後で変化がないことを確認しました
    • "sora_client": "Sora iOS SDK 2024.1.0"
  • libwebrtc 情報について想定通りの出力であることを確認しました
    • "libwebrtc": "Shiguredo-build M123 (123.6312.3.0 41b1493)"
  • SDKInfo, WebRTCInfo の利用箇所は一通り確認して修正しています

This pull request primarily focuses on improving the versioning system and handling of version strings in the Sora iOS SDK. The changes include adding a branch-heads to the version string in the connect message of signaling, updating the WebRTC version, and centralizing the version string editing in SDKInfo and WebRTCInfo. Additionally, the agent in Configuration.swift and soraClient in PeerChannel.swift are now using the updated version strings.

Versioning system improvements:

  • CHANGES.md: Added a change log entry for adding branch-heads to the version string in the connect message of signaling, updating the WebRTC version, and centralizing the version string editing in SDKInfo and WebRTCInfo.

Codebase changes:

  • Sora/Configuration.swift: Updated the agent string to use SDKInfo.versionString instead of concatenating "Sora iOS SDK" with SDKInfo.version.
  • Sora/PackageInfo.swift: Added a versionString to SDKInfo and WebRTCInfo that includes the version and branch-heads. [1] [2]
  • Sora/PeerChannel.swift: Updated soraClient and webRTCVersion to use the new versionString from SDKInfo and WebRTCInfo respectively.

@miosakuma miosakuma requested review from enm10k and torikizi March 27, 2024 08:55
@miosakuma miosakuma force-pushed the feature/fix-libwebrtc-version-message branch from e58655b to f7b3a81 Compare March 27, 2024 10:02
Copy link
Contributor

@torikizi torikizi left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

修正ありがとうございます。懸念事項としてコメントあれば。と書かれていた点も私は特に問題ないと思いました。1点だけ CHANGES についてコメントしました。ご検討いただければと思います。

- [UPDATE] WebRTC m123.6312.3.0 に上げる
- @miosakuma
- [UPDATE] SDKInfo, WebRTCInfo に versionString を追加し、バージョン文字列はここから取得するようにする
- 今まで Configration.swift, PeerChannel.swift などで独自で修正するようにしていたが、これからはバージョン文字列の編集は SDKInfo, WebRTCInfo で行う
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

独自というのが変更履歴から見えてこないので、追記しておくと後から参照したときにわかりやすそうです。
また、どこかで一元化みたいな言葉を使って従来は複数箇所で変更を行なっていた WebRTC のバージョンを一箇所にまとめる。みたいなことが書いてあるとわかりやすくなるように見えます。

public static let version = "2024.1.0"
/// Sora iOS SDK のバージョン文字列
public static let versionString = "Sora iOS SDK \(version)"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

既に String 型の version という変数が存在するので、 versionString という変数を追加することには少し違和感があります
表示用の文字列的なニュアンスが出せる名前が良い気がしていますが、まだ良い案が浮かんでいません
(versionDescription? versionDisplayString?)

@miosakuma
Copy link
Contributor Author

iOS SDK での利用は以下です。

  • SDKInfo.versionString
    • シグナリング connnect メッセージにおける sora_client
    • HTTP Proxy の agent に設定するデフォルト文字列
  • WebRTCInfo.versionString
    • シグナリング connnect メッセージにおける libwebrtc

@miosakuma
Copy link
Contributor Author

すいません、バージョン文字列を SDKInfo, WebRTCInfo にまとめる修正は取り下げようと思います。

各メッセージは、メッセージの発行箇所で編集を行ったほうがよいと考えたためです。
今まで通りメッセージを利用する、ConnectMessage、Configration でメッセージの編集を行うようにしようと思います。

以下の対応のみ別 PR で行います。

  • シグナリング connect メッセージのフォーマットについて Android SDK とフォーマットをあわせる
    • branchHeads を含める
    • 先頭の M をはずす

@miosakuma miosakuma closed this Mar 29, 2024
@miosakuma miosakuma deleted the feature/fix-libwebrtc-version-message branch August 15, 2024 07:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants