diff --git a/CHANGELOG.md b/CHANGELOG.md index 6621899f2..d6c736f55 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,7 @@ +## [2.4.1] - 2024-10-07 +### Fixed +* 無名のクライアントが複数いるときclient_idの振り分けが間違っておりcall_responseが正しく返らないバグを修正 (#412) + ## [2.4.0] - 2024-10-02 ### Changed * Logメッセージを仕様変更、Logに名前をつけて複数送信できるようになった (#410) diff --git a/CMakeLists.txt b/CMakeLists.txt index 917f57641..1e0d58a1e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,6 +1,6 @@ cmake_minimum_required(VERSION 3.5) -project(webcface VERSION 2.4.0) +project(webcface VERSION 2.4.1) if(CMAKE_CURRENT_SOURCE_DIR STREQUAL CMAKE_SOURCE_DIR) set(IS_MAIN on) diff --git a/Doxyfile b/Doxyfile index d2f9dedbc..52790d5e7 100644 --- a/Doxyfile +++ b/Doxyfile @@ -48,7 +48,7 @@ PROJECT_NAME = "WebCFace" # could be handy for archiving the generated documentation or if some version # control system is used. -PROJECT_NUMBER = "2.4.0" +PROJECT_NUMBER = "2.4.1" # Using the PROJECT_BRIEF tag one can provide an optional one line description # for a project that appears at the top of each page and should give viewer a diff --git a/README.md b/README.md index 85f02d1c3..dabdcc22b 100644 --- a/README.md +++ b/README.md @@ -195,9 +195,9 @@ Ubuntu20.04でビルドしているため、それより古いUbuntuでは動作
x86_64 ```sh -curl -fLO https://github.com/na-trium-144/webcface-package/releases/download/v2.4.0-1/webcface_2.4.0-1_linux_amd64.zip -sudo unzip webcface_2.4.0-1_linux_amd64.zip -d /opt/webcface -rm webcface_2.4.0-1_linux_amd64.zip +curl -fLO https://github.com/na-trium-144/webcface-package/releases/download/v2.4.1/webcface_2.4.1_linux_amd64.zip +sudo unzip webcface_2.4.1_linux_amd64.zip -d /opt/webcface +rm webcface_2.4.1_linux_amd64.zip echo 'export PATH="/opt/webcface/bin:$PATH"' >> ~/.bashrc echo 'export PKG_CONFIG_PATH="/opt/webcface/lib/x86_64-linux-gnu/pkgconfig:$PKG_CONFIG_PATH"' >> ~/.bashrc sudo ln -sf /opt/webcface/lib/systemd/system/*.service /etc/systemd/system/ @@ -207,9 +207,9 @@ sudo ln -sf /opt/webcface/lib/systemd/system/*.service /etc/systemd/system/
arm64 ```sh -curl -fLO https://github.com/na-trium-144/webcface-package/releases/download/v2.4.0-1/webcface_2.4.0-1_linux_arm64.zip -sudo unzip webcface_2.4.0-1_linux_arm64.zip -d /opt/webcface -rm webcface_2.4.0-1_linux_arm64.zip +curl -fLO https://github.com/na-trium-144/webcface-package/releases/download/v2.4.1/webcface_2.4.1_linux_arm64.zip +sudo unzip webcface_2.4.1_linux_arm64.zip -d /opt/webcface +rm webcface_2.4.1_linux_arm64.zip echo 'export PATH="/opt/webcface/bin:$PATH"' >> ~/.bashrc echo 'export PKG_CONFIG_PATH="/opt/webcface/lib/aarch64-linux-gnu/pkgconfig:$PKG_CONFIG_PATH"' >> ~/.bashrc sudo ln -sf /opt/webcface/lib/systemd/system/*.service /etc/systemd/system/ @@ -219,9 +219,9 @@ sudo ln -sf /opt/webcface/lib/systemd/system/*.service /etc/systemd/system/
armhf ```sh -curl -fLO https://github.com/na-trium-144/webcface-package/releases/download/v2.4.0-1/webcface_2.4.0-1_linux_armhf.zip -sudo unzip webcface_2.4.0-1_linux_armhf.zip -d /opt/webcface -rm webcface_2.4.0-1_linux_armhf.zip +curl -fLO https://github.com/na-trium-144/webcface-package/releases/download/v2.4.1/webcface_2.4.1_linux_armhf.zip +sudo unzip webcface_2.4.1_linux_armhf.zip -d /opt/webcface +rm webcface_2.4.1_linux_armhf.zip echo 'export PATH="/opt/webcface/bin:$PATH"' >> ~/.bashrc echo 'export PKG_CONFIG_PATH="/opt/webcface/lib/arm-linux-gnueabihf/pkgconfig:$PKG_CONFIG_PATH"' >> ~/.bashrc sudo ln -sf /opt/webcface/lib/systemd/system/*.service /etc/systemd/system/ @@ -242,10 +242,10 @@ Ubuntu20.04でビルドしているため、それより古いUbuntuでは動作
x86_64 ```sh -curl -fLO https://github.com/na-trium-144/webcface/releases/download/v2.4.0/webcface_2.4.0_amd64.deb +curl -fLO https://github.com/na-trium-144/webcface/releases/download/v2.4.1/webcface_2.4.1_amd64.deb curl -fLO https://github.com/na-trium-144/webcface-tools/releases/download/v2.1.0/webcface-tools_2.1.0_amd64.deb -curl -fLO https://github.com/na-trium-144/webcface-webui/releases/download/v1.9.0/webcface-webui_1.9.0_all.deb -curl -fLO https://github.com/na-trium-144/webcface-webui/releases/download/v1.9.0/webcface-desktop_1.9.0_linux_amd64.deb +curl -fLO https://github.com/na-trium-144/webcface-webui/releases/download/v1.9.1/webcface-webui_1.9.1_all.deb +curl -fLO https://github.com/na-trium-144/webcface-webui/releases/download/v1.9.1/webcface-desktop_1.9.1_linux_amd64.deb sudo apt install ./webcface*.deb rm ./webcface*.deb ``` @@ -254,10 +254,10 @@ rm ./webcface*.deb
arm64 ```sh -curl -fLO https://github.com/na-trium-144/webcface/releases/download/v2.4.0/webcface_2.4.0_arm64.deb +curl -fLO https://github.com/na-trium-144/webcface/releases/download/v2.4.1/webcface_2.4.1_arm64.deb curl -fLO https://github.com/na-trium-144/webcface-tools/releases/download/v2.1.0/webcface-tools_2.1.0_arm64.deb -curl -fLO https://github.com/na-trium-144/webcface-webui/releases/download/v1.9.0/webcface-webui_1.9.0_all.deb -curl -fLO https://github.com/na-trium-144/webcface-webui/releases/download/v1.9.0/webcface-desktop_1.9.0_linux_arm64.deb +curl -fLO https://github.com/na-trium-144/webcface-webui/releases/download/v1.9.1/webcface-webui_1.9.1_all.deb +curl -fLO https://github.com/na-trium-144/webcface-webui/releases/download/v1.9.1/webcface-desktop_1.9.1_linux_arm64.deb sudo apt install ./webcface*.deb rm ./webcface*.deb ``` @@ -266,10 +266,10 @@ rm ./webcface*.deb
armhf ```sh -curl -fLO https://github.com/na-trium-144/webcface/releases/download/v2.4.0/webcface_2.4.0_armhf.deb +curl -fLO https://github.com/na-trium-144/webcface/releases/download/v2.4.1/webcface_2.4.1_armhf.deb curl -fLO https://github.com/na-trium-144/webcface-tools/releases/download/v2.1.0/webcface-tools_2.1.0_armhf.deb -curl -fLO https://github.com/na-trium-144/webcface-webui/releases/download/v1.9.0/webcface-webui_1.9.0_all.deb -curl -fLO https://github.com/na-trium-144/webcface-webui/releases/download/v1.9.0/webcface-desktop_1.9.0_linux_armv7l.deb +curl -fLO https://github.com/na-trium-144/webcface-webui/releases/download/v1.9.1/webcface-webui_1.9.1_all.deb +curl -fLO https://github.com/na-trium-144/webcface-webui/releases/download/v1.9.1/webcface-desktop_1.9.1_linux_armv7l.deb sudo apt install ./webcface*.deb rm ./webcface*.deb ``` @@ -288,16 +288,16 @@ Universalバイナリになっており、IntelMacもAppleシリコンも共通 macOS 12 (Monterey) でビルドしているので、それより古いMacでは動かないかもしれません。 ```sh -curl -fLO https://github.com/na-trium-144/webcface-package/releases/download/v2.4.0-1/webcface_2.4.0-1_macos_universal.zip -curl -fLO https://github.com/na-trium-144/webcface-package/releases/download/v2.4.0-1/webcface-desktop_2.4.0-1_macos_app.zip +curl -fLO https://github.com/na-trium-144/webcface-package/releases/download/v2.4.1/webcface_2.4.1_macos_universal.zip +curl -fLO https://github.com/na-trium-144/webcface-package/releases/download/v2.4.1/webcface-desktop_2.4.1_macos_app.zip ``` sudo権限が使用できれば以下のように webcface_universal を /opt/webcface に、 webcface-desktop_app を /Applications に展開するのがおすすめです。 ```sh -sudo unzip webcface_2.4.0-1_macos_universal.zip -d /opt/webcface -sudo unzip webcface-desktop_2.4.0-1_macos_app.zip -d /Applications -rm webcface_2.4.0-1_macos_universal.zip -rm webcface-desktop_2.4.0-1_macos_app.zip +sudo unzip webcface_2.4.1_macos_universal.zip -d /opt/webcface +sudo unzip webcface-desktop_2.4.1_macos_app.zip -d /Applications +rm webcface_2.4.1_macos_universal.zip +rm webcface-desktop_2.4.1_macos_app.zip ``` また、展開したディレクトリ内の bin/ をPATHに、 lib/pkgconfig/ をPKG_CONFIG_PATHに追加してください。 diff --git a/docs/31_setup.md b/docs/31_setup.md index bfa791890..6deb3310a 100644 --- a/docs/31_setup.md +++ b/docs/31_setup.md @@ -32,7 +32,7 @@ MesonまたはCMakeを使用する場合は、subproject/subdirectoryとしてWe ``` [wrap-git] url = https://github.com/na-trium-144/webcface.git - revision = v2.4.0 + revision = v2.4.1 depth = 1 [provide] dependency_names = webcface @@ -66,7 +66,7 @@ MesonまたはCMakeを使用する場合は、subproject/subdirectoryとしてWe ```cmake FetchContent_Declare(webcface GIT_REPOSITORY https://github.com/na-trium-144/webcface.git - GIT_TAG v2.4.0 + GIT_TAG v2.4.1 ) FetchContent_MakeAvailable(webcface) ``` diff --git a/meson.build b/meson.build index 0e9fb41e2..ae3c19ec5 100644 --- a/meson.build +++ b/meson.build @@ -1,5 +1,5 @@ project('webcface', 'c', 'cpp', - version: '2.4.0', + version: '2.4.1', license: 'MIT', meson_version: '>=1.3.0', default_options: [ @@ -18,7 +18,7 @@ py = find_program('python3') webcface_abi_major = '20' # ABIの破壊的変更で1増やす webcface_abi_minor = '3' # ABIの追加で1増やす -webcface_webui_version = '1.9.0' +webcface_webui_version = '1.9.1' webcface_description = 'Web-based IPC & Dashboard-like UI' webcface_contact = 'na-trium-144@users.noreply.github.com' diff --git a/server-store/src/member_data.cc b/server-store/src/member_data.cc index b777562e7..bb2064137 100644 --- a/server-store/src/member_data.cc +++ b/server-store/src/member_data.cc @@ -162,7 +162,8 @@ void MemberData::onRecv(const std::string &message) { auto prev_cli_it = std::find_if( clients_by_id.begin(), clients_by_id.end(), [&](const auto &it) { return it.second->name == this->name; }); - if (prev_cli_it != clients_by_id.end()) { + if (prev_cli_it != clients_by_id.end() && !this->name.empty()) { + // すでに同じ名前のクライアントがいたら & 名前が空でなければ そのidを使う this->member_id = v.member_id = prev_cli_it->first; } else { // コンストラクタですでに一意のidが振られているはず