From 7c01909c6db58c5e1804df2ac6f0dd82f4a6a63d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julio=20C=C3=A9sar=20Rocha?= Date: Mon, 10 Apr 2023 18:54:10 -0700 Subject: [PATCH 1/2] Use Boost GUID generator (#11470) * Update package lock * Use Boost UUID library * Change files * Remove GuidHelper import --- .../packages.lock.json | 10 +++++----- .../packages.lock.json | 10 +++++----- vnext/Microsoft.ReactNative.Managed/packages.lock.json | 10 +++++----- vnext/Shared/Modules/BlobModule.cpp | 7 ++++--- vnext/Shared/Modules/BlobModule.h | 4 ++++ 5 files changed, 23 insertions(+), 18 deletions(-) diff --git a/vnext/Microsoft.ReactNative.Managed.IntegrationTests/packages.lock.json b/vnext/Microsoft.ReactNative.Managed.IntegrationTests/packages.lock.json index 3e39df6a505..62c505f2f18 100644 --- a/vnext/Microsoft.ReactNative.Managed.IntegrationTests/packages.lock.json +++ b/vnext/Microsoft.ReactNative.Managed.IntegrationTests/packages.lock.json @@ -73,7 +73,7 @@ "Microsoft.NETCore.Platforms": { "type": "Transitive", "resolved": "2.1.0", - "contentHash": "ok+RPAtESz/9MUXeIEz6Lv5XAGQsaNmEYXMsgVALj4D7kqC8gveKWXWXbufLySR2fWrwZf8smyN5RmHu0e4BHA==" + "contentHash": "GmkKfoyerqmsHMn7OZj0AKpcBabD+GaafqphvX2Mw406IwiJRy1pKcKqdCfKJfYmkRyJ6+e+RaUylgdJoDa1jQ==" }, "Microsoft.NETCore.Targets": { "type": "Transitive", @@ -93,15 +93,15 @@ "NETStandard.Library": { "type": "Transitive", "resolved": "2.0.3", - "contentHash": "st47PosZSHrjECdjeIzZQbzivYBJFv6P2nv4cj2ypdI204DO+vZ7l5raGMiX4eXMJ53RfOIg+/s4DHVZ54Nu2A==", + "contentHash": "548M6mnBSJWxsIlkQHfbzoYxpiYFXZZSL00p4GHYv8PkiqFBnnT68mW5mGEsA/ch9fDO9GkPgkFQpWiXZN7mAQ==", "dependencies": { "Microsoft.NETCore.Platforms": "1.1.0" } }, "ReactNative.Hermes.Windows": { "type": "Transitive", - "resolved": "0.71.1", - "contentHash": "q38h/Gkw8d0pfUqIhRCd1j/XLhpQY4Hm7kSQthZUzetEST34acbR883/Eh+DKt4FVz9a0lh5kiAfP7piO768SA==" + "resolved": "0.0.0-2302.1002-2d4bf1df", + "contentHash": "4skpllUPEBkww7FN7iacP7NWrZlEGDNg83qIuFjKn4Sl8JpJQZqfUTrXcvh6tb4mHXkmwFoKhLw4Rc5Op7f+8w==" }, "runtime.win10-arm.Microsoft.Net.Native.Compiler": { "type": "Transitive", @@ -310,7 +310,7 @@ "Microsoft.UI.Xaml": "[2.7.0, )", "Microsoft.Windows.SDK.BuildTools": "[10.0.22000.194, )", "ReactCommon": "[1.0.0, )", - "ReactNative.Hermes.Windows": "[0.71.1, )", + "ReactNative.Hermes.Windows": "[0.0.0-2302.1002-2d4bf1df, )", "boost": "[1.76.0, )" } }, diff --git a/vnext/Microsoft.ReactNative.Managed.UnitTests/packages.lock.json b/vnext/Microsoft.ReactNative.Managed.UnitTests/packages.lock.json index 3e39df6a505..62c505f2f18 100644 --- a/vnext/Microsoft.ReactNative.Managed.UnitTests/packages.lock.json +++ b/vnext/Microsoft.ReactNative.Managed.UnitTests/packages.lock.json @@ -73,7 +73,7 @@ "Microsoft.NETCore.Platforms": { "type": "Transitive", "resolved": "2.1.0", - "contentHash": "ok+RPAtESz/9MUXeIEz6Lv5XAGQsaNmEYXMsgVALj4D7kqC8gveKWXWXbufLySR2fWrwZf8smyN5RmHu0e4BHA==" + "contentHash": "GmkKfoyerqmsHMn7OZj0AKpcBabD+GaafqphvX2Mw406IwiJRy1pKcKqdCfKJfYmkRyJ6+e+RaUylgdJoDa1jQ==" }, "Microsoft.NETCore.Targets": { "type": "Transitive", @@ -93,15 +93,15 @@ "NETStandard.Library": { "type": "Transitive", "resolved": "2.0.3", - "contentHash": "st47PosZSHrjECdjeIzZQbzivYBJFv6P2nv4cj2ypdI204DO+vZ7l5raGMiX4eXMJ53RfOIg+/s4DHVZ54Nu2A==", + "contentHash": "548M6mnBSJWxsIlkQHfbzoYxpiYFXZZSL00p4GHYv8PkiqFBnnT68mW5mGEsA/ch9fDO9GkPgkFQpWiXZN7mAQ==", "dependencies": { "Microsoft.NETCore.Platforms": "1.1.0" } }, "ReactNative.Hermes.Windows": { "type": "Transitive", - "resolved": "0.71.1", - "contentHash": "q38h/Gkw8d0pfUqIhRCd1j/XLhpQY4Hm7kSQthZUzetEST34acbR883/Eh+DKt4FVz9a0lh5kiAfP7piO768SA==" + "resolved": "0.0.0-2302.1002-2d4bf1df", + "contentHash": "4skpllUPEBkww7FN7iacP7NWrZlEGDNg83qIuFjKn4Sl8JpJQZqfUTrXcvh6tb4mHXkmwFoKhLw4Rc5Op7f+8w==" }, "runtime.win10-arm.Microsoft.Net.Native.Compiler": { "type": "Transitive", @@ -310,7 +310,7 @@ "Microsoft.UI.Xaml": "[2.7.0, )", "Microsoft.Windows.SDK.BuildTools": "[10.0.22000.194, )", "ReactCommon": "[1.0.0, )", - "ReactNative.Hermes.Windows": "[0.71.1, )", + "ReactNative.Hermes.Windows": "[0.0.0-2302.1002-2d4bf1df, )", "boost": "[1.76.0, )" } }, diff --git a/vnext/Microsoft.ReactNative.Managed/packages.lock.json b/vnext/Microsoft.ReactNative.Managed/packages.lock.json index 56899a77747..ead4aa19728 100644 --- a/vnext/Microsoft.ReactNative.Managed/packages.lock.json +++ b/vnext/Microsoft.ReactNative.Managed/packages.lock.json @@ -58,7 +58,7 @@ "Microsoft.NETCore.Platforms": { "type": "Transitive", "resolved": "2.1.0", - "contentHash": "ok+RPAtESz/9MUXeIEz6Lv5XAGQsaNmEYXMsgVALj4D7kqC8gveKWXWXbufLySR2fWrwZf8smyN5RmHu0e4BHA==" + "contentHash": "GmkKfoyerqmsHMn7OZj0AKpcBabD+GaafqphvX2Mw406IwiJRy1pKcKqdCfKJfYmkRyJ6+e+RaUylgdJoDa1jQ==" }, "Microsoft.SourceLink.Common": { "type": "Transitive", @@ -78,15 +78,15 @@ "NETStandard.Library": { "type": "Transitive", "resolved": "2.0.3", - "contentHash": "st47PosZSHrjECdjeIzZQbzivYBJFv6P2nv4cj2ypdI204DO+vZ7l5raGMiX4eXMJ53RfOIg+/s4DHVZ54Nu2A==", + "contentHash": "548M6mnBSJWxsIlkQHfbzoYxpiYFXZZSL00p4GHYv8PkiqFBnnT68mW5mGEsA/ch9fDO9GkPgkFQpWiXZN7mAQ==", "dependencies": { "Microsoft.NETCore.Platforms": "1.1.0" } }, "ReactNative.Hermes.Windows": { "type": "Transitive", - "resolved": "0.71.1", - "contentHash": "q38h/Gkw8d0pfUqIhRCd1j/XLhpQY4Hm7kSQthZUzetEST34acbR883/Eh+DKt4FVz9a0lh5kiAfP7piO768SA==" + "resolved": "0.0.0-2302.1002-2d4bf1df", + "contentHash": "4skpllUPEBkww7FN7iacP7NWrZlEGDNg83qIuFjKn4Sl8JpJQZqfUTrXcvh6tb4mHXkmwFoKhLw4Rc5Op7f+8w==" }, "runtime.win10-arm.Microsoft.Net.Native.Compiler": { "type": "Transitive", @@ -176,7 +176,7 @@ "Microsoft.UI.Xaml": "[2.7.0, )", "Microsoft.Windows.SDK.BuildTools": "[10.0.22000.194, )", "ReactCommon": "[1.0.0, )", - "ReactNative.Hermes.Windows": "[0.71.1, )", + "ReactNative.Hermes.Windows": "[0.0.0-2302.1002-2d4bf1df, )", "boost": "[1.76.0, )" } }, diff --git a/vnext/Shared/Modules/BlobModule.cpp b/vnext/Shared/Modules/BlobModule.cpp index 867e45c0193..10ef4472e8e 100644 --- a/vnext/Shared/Modules/BlobModule.cpp +++ b/vnext/Shared/Modules/BlobModule.cpp @@ -12,6 +12,9 @@ // React Native #include +// Boost Libriaries +#include + // Windows API #include #include @@ -33,7 +36,6 @@ using winrt::Microsoft::ReactNative::IReactPropertyBag; using winrt::Microsoft::ReactNative::ReactNonAbiValue; using winrt::Microsoft::ReactNative::ReactPropertyBag; using winrt::Microsoft::ReactNative::ReactPropertyId; -using winrt::Windows::Foundation::GuidHelper; using winrt::Windows::Foundation::IInspectable; using winrt::Windows::Foundation::Uri; using winrt::Windows::Security::Cryptography::CryptographicBuffer; @@ -249,8 +251,7 @@ void MemoryBlobPersistor::StoreMessage(vector &&message, string &&blobI } string MemoryBlobPersistor::StoreMessage(vector &&message) noexcept { - // substr(1, 36) strips curly braces from a GUID. - auto blobId = winrt::to_string(winrt::to_hstring(GuidHelper::CreateNewGuid())).substr(1, 36); + auto blobId = boost::uuids::to_string(m_guidGenerator()); scoped_lock lock{m_mutex}; m_blobs.insert_or_assign(blobId, std::move(message)); diff --git a/vnext/Shared/Modules/BlobModule.h b/vnext/Shared/Modules/BlobModule.h index 76c5d46e5e7..900bf5c5d18 100644 --- a/vnext/Shared/Modules/BlobModule.h +++ b/vnext/Shared/Modules/BlobModule.h @@ -11,6 +11,9 @@ // React Native #include +// Boost Libraries +#include + // Windows API #include @@ -26,6 +29,7 @@ namespace Microsoft::React { class MemoryBlobPersistor final : public IBlobPersistor { std::unordered_map> m_blobs; std::mutex m_mutex; + boost::uuids::random_generator m_guidGenerator; public: #pragma region IBlobPersistor From 8c243e83303a80fb784b0105eea79ac547362302 Mon Sep 17 00:00:00 2001 From: "Julio C. Rocha" Date: Mon, 10 Apr 2023 20:18:29 -0700 Subject: [PATCH 2/2] Change files --- ...ative-windows-1553bce1-d853-42d0-9bac-508954aba2ba.json | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 change/react-native-windows-1553bce1-d853-42d0-9bac-508954aba2ba.json diff --git a/change/react-native-windows-1553bce1-d853-42d0-9bac-508954aba2ba.json b/change/react-native-windows-1553bce1-d853-42d0-9bac-508954aba2ba.json new file mode 100644 index 00000000000..b7e34cd65d8 --- /dev/null +++ b/change/react-native-windows-1553bce1-d853-42d0-9bac-508954aba2ba.json @@ -0,0 +1,7 @@ +{ + "type": "patch", + "comment": "Use Boost GUID generator (#11470)", + "packageName": "react-native-windows", + "email": "julio.rocha@microsoft.com", + "dependentChangeType": "patch" +}