Compile failed, problem with std::min

Answering these questions before submitting your bug report will help us give
you a quicker answer.  Thank you!
If one or more of these questions are not applicable, feel free to remove them.
Does this issue affect the google-cloud-cpp project?
Yes
What component of google-cloud-cpp is this related to?

Cloud Bigtable.
Cloud Storage.
Cloud Firestore (commnunity supported).

What version of google-cloud-cpp are you using?
v0.21.x
commit: 00adf2e303156ac20beb0bb38894d2136950b63e
What compiler and version are you using?
gcc version 8.3.0 (Raspbian 8.3.0-6+rpi1)
What operating system and version are you using?
DietPi Buster
What were you trying to do?
Build API
What did you expect to see?
API to compile
What did you see instead?
API did not compile, error ocured
Anything else you would like us to know?
In file included from /home/dietpi/client/lib/comm/gcp/google-cloud-cpp/google/cloud/storage/parallel_uploads_test.cc:16:
/home/dietpi/client/lib/comm/gcp/google-cloud-cpp/google/cloud/storage/parallel_upload.h: In instantiation of ‘std::vector<long long unsigned int> google::cloud::storage::v1::internal::ComputeParallelFileUploadSplitPoints(uintmax_t, const std::tuple<_Tps ...>&) [with Options = {google::cloud::storage::v1::MinStreamSize&}; uintmax_t = long long unsigned int]’:
/home/dietpi/client/lib/comm/gcp/google-cloud-cpp/google/cloud/storage/parallel_upload.h:1075:45:   required from ‘google::cloud::v0::StatusOr<std::vector<google::cloud::storage::v1::internal::ParallelUploadFileShard> > google::cloud::storage::v1::internal::CreateUploadShards(google::cloud::storage::v1::Client, std::__cxx11::string, std::__cxx11::string, std::__cxx11::string, std::__cxx11::string, Options&& ...) [with Options = {google::cloud::storage::v1::MinStreamSize}; std::__cxx11::string = std::__cxx11::basic_string<char>]’
/home/dietpi/client/lib/comm/gcp/google-cloud-cpp/google/cloud/storage/parallel_uploads_test.cc:610:68:   required from here
/home/dietpi/client/lib/comm/gcp/google-cloud-cpp/google/cloud/storage/parallel_upload.h:970:41: error: no matching function for call to ‘min(const unsigned int&, long long unsigned int)’
                               (std::min)(max_streams,
                               ~~~~~~~~~~^~~~~~~~~~~~~
                                          div_ceil(file_size, min_stream_size)));
                                          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/8/bits/char_traits.h:39,
                 from /usr/include/c++/8/string:40,
                 from /usr/local/include/google/cloud/version.h:20,
                 from /home/dietpi/client/lib/comm/gcp/google-cloud-cpp/google/cloud/storage/version.h:19,
                 from /home/dietpi/client/lib/comm/gcp/google-cloud-cpp/google/cloud/storage/internal/complex_option.h:18,
                 from /home/dietpi/client/lib/comm/gcp/google-cloud-cpp/google/cloud/storage/signed_url_options.h:18,
                 from /home/dietpi/client/lib/comm/gcp/google-cloud-cpp/google/cloud/storage/oauth2/credentials.h:18,
                 from /home/dietpi/client/lib/comm/gcp/google-cloud-cpp/google/cloud/storage/client_options.h:18,
                 from /home/dietpi/client/lib/comm/gcp/google-cloud-cpp/google/cloud/storage/oauth2/google_credentials.h:18,
                 from /home/dietpi/client/lib/comm/gcp/google-cloud-cpp/google/cloud/storage/parallel_uploads_test.cc:15:
/usr/include/c++/8/bits/stl_algobase.h:195:5: note: candidate: ‘template<class _Tp> const _Tp& std::min(const _Tp&, const _Tp&)’
     min(const _Tp& __a, const _Tp& __b)
     ^~~
/usr/include/c++/8/bits/stl_algobase.h:195:5: note:   template argument deduction/substitution failed:
In file included from /home/dietpi/client/lib/comm/gcp/google-cloud-cpp/google/cloud/storage/parallel_uploads_test.cc:16:
/home/dietpi/client/lib/comm/gcp/google-cloud-cpp/google/cloud/storage/parallel_upload.h:970:41: note:   deduced conflicting types for parameter ‘const _Tp’ (‘unsigned int’ and ‘long long unsigned int’)
                               (std::min)(max_streams,
                               ~~~~~~~~~~^~~~~~~~~~~~~
                                          div_ceil(file_size, min_stream_size)));
                                          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/8/bits/char_traits.h:39,
                 from /usr/include/c++/8/string:40,
                 from /usr/local/include/google/cloud/version.h:20,
                 from /home/dietpi/client/lib/comm/gcp/google-cloud-cpp/google/cloud/storage/version.h:19,
                 from /home/dietpi/client/lib/comm/gcp/google-cloud-cpp/google/cloud/storage/internal/complex_option.h:18,
                 from /home/dietpi/client/lib/comm/gcp/google-cloud-cpp/google/cloud/storage/signed_url_options.h:18,
                 from /home/dietpi/client/lib/comm/gcp/google-cloud-cpp/google/cloud/storage/oauth2/credentials.h:18,
                 from /home/dietpi/client/lib/comm/gcp/google-cloud-cpp/google/cloud/storage/client_options.h:18,
                 from /home/dietpi/client/lib/comm/gcp/google-cloud-cpp/google/cloud/storage/oauth2/google_credentials.h:18,
                 from /home/dietpi/client/lib/comm/gcp/google-cloud-cpp/google/cloud/storage/parallel_uploads_test.cc:15:
/usr/include/c++/8/bits/stl_algobase.h:243:5: note: candidate: ‘template<class _Tp, class _Compare> const _Tp& std::min(const _Tp&, const _Tp&, _Compare)’
     min(const _Tp& __a, const _Tp& __b, _Compare __comp)
     ^~~
/usr/include/c++/8/bits/stl_algobase.h:243:5: note:   template argument deduction/substitution failed:
In file included from /home/dietpi/client/lib/comm/gcp/google-cloud-cpp/google/cloud/storage/parallel_uploads_test.cc:16:
/home/dietpi/client/lib/comm/gcp/google-cloud-cpp/google/cloud/storage/parallel_upload.h:970:41: note:   deduced conflicting types for parameter ‘const _Tp’ (‘unsigned int’ and ‘long long unsigned int’)
                               (std::min)(max_streams,
                               ~~~~~~~~~~^~~~~~~~~~~~~
                                          div_ceil(file_size, min_stream_size)));
                                          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/8/algorithm:62,
                 from /home/dietpi/client/lib/comm/gcp/google-cloud-cpp/cmake-out/external/nlohmann_json/include/google/cloud/storage/internal/nlohmann_json.hpp:37,
                 from /home/dietpi/client/lib/comm/gcp/google-cloud-cpp/google/cloud/storage/internal/nljson.h:43,
                 from /home/dietpi/client/lib/comm/gcp/google-cloud-cpp/google/cloud/storage/internal/metadata_parser.h:18,
                 from /home/dietpi/client/lib/comm/gcp/google-cloud-cpp/google/cloud/storage/internal/common_metadata.h:18,
                 from /home/dietpi/client/lib/comm/gcp/google-cloud-cpp/google/cloud/storage/internal/access_control_common.h:18,
                 from /home/dietpi/client/lib/comm/gcp/google-cloud-cpp/google/cloud/storage/bucket_access_control.h:18,
                 from /home/dietpi/client/lib/comm/gcp/google-cloud-cpp/google/cloud/storage/bucket_metadata.h:18,
                 from /home/dietpi/client/lib/comm/gcp/google-cloud-cpp/google/cloud/storage/internal/raw_client.h:18,
                 from /home/dietpi/client/lib/comm/gcp/google-cloud-cpp/google/cloud/storage/internal/logging_client.h:18,
                 from /home/dietpi/client/lib/comm/gcp/google-cloud-cpp/google/cloud/storage/client.h:19,
                 from /home/dietpi/client/lib/comm/gcp/google-cloud-cpp/google/cloud/storage/parallel_upload.h:18,
                 from /home/dietpi/client/lib/comm/gcp/google-cloud-cpp/google/cloud/storage/parallel_uploads_test.cc:16:
/usr/include/c++/8/bits/stl_algo.h:3450:5: note: candidate: ‘template<class _Tp> _Tp std::min(std::initializer_list<_Tp>)’
     min(initializer_list<_Tp> __l)
     ^~~
/usr/include/c++/8/bits/stl_algo.h:3450:5: note:   template argument deduction/substitution failed:
In file included from /home/dietpi/client/lib/comm/gcp/google-cloud-cpp/google/cloud/storage/parallel_uploads_test.cc:16:
/home/dietpi/client/lib/comm/gcp/google-cloud-cpp/google/cloud/storage/parallel_upload.h:970:41: note:   mismatched types ‘std::initializer_list<_Tp>’ and ‘unsigned int’
                               (std::min)(max_streams,
                               ~~~~~~~~~~^~~~~~~~~~~~~
                                          div_ceil(file_size, min_stream_size)));
                                          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/8/algorithm:62,
                 from /home/dietpi/client/lib/comm/gcp/google-cloud-cpp/cmake-out/external/nlohmann_json/include/google/cloud/storage/internal/nlohmann_json.hpp:37,
                 from /home/dietpi/client/lib/comm/gcp/google-cloud-cpp/google/cloud/storage/internal/nljson.h:43,
                 from /home/dietpi/client/lib/comm/gcp/google-cloud-cpp/google/cloud/storage/internal/metadata_parser.h:18,
                 from /home/dietpi/client/lib/comm/gcp/google-cloud-cpp/google/cloud/storage/internal/common_metadata.h:18,
                 from /home/dietpi/client/lib/comm/gcp/google-cloud-cpp/google/cloud/storage/internal/access_control_common.h:18,
                 from /home/dietpi/client/lib/comm/gcp/google-cloud-cpp/google/cloud/storage/bucket_access_control.h:18,
                 from /home/dietpi/client/lib/comm/gcp/google-cloud-cpp/google/cloud/storage/bucket_metadata.h:18,
                 from /home/dietpi/client/lib/comm/gcp/google-cloud-cpp/google/cloud/storage/internal/raw_client.h:18,
                 from /home/dietpi/client/lib/comm/gcp/google-cloud-cpp/google/cloud/storage/internal/logging_client.h:18,
                 from /home/dietpi/client/lib/comm/gcp/google-cloud-cpp/google/cloud/storage/client.h:19,
                 from /home/dietpi/client/lib/comm/gcp/google-cloud-cpp/google/cloud/storage/parallel_upload.h:18,
                 from /home/dietpi/client/lib/comm/gcp/google-cloud-cpp/google/cloud/storage/parallel_uploads_test.cc:16:
/usr/include/c++/8/bits/stl_algo.h:3456:5: note: candidate: ‘template<class _Tp, class _Compare> _Tp std::min(std::initializer_list<_Tp>, _Compare)’
     min(initializer_list<_Tp> __l, _Compare __comp)
     ^~~
/usr/include/c++/8/bits/stl_algo.h:3456:5: note:   template argument deduction/substitution failed:
In file included from /home/dietpi/client/lib/comm/gcp/google-cloud-cpp/google/cloud/storage/parallel_uploads_test.cc:16:
/home/dietpi/client/lib/comm/gcp/google-cloud-cpp/google/cloud/storage/parallel_upload.h:970:41: note:   mismatched types ‘std::initializer_list<_Tp>’ and ‘unsigned int’
                               (std::min)(max_streams,
                               ~~~~~~~~~~^~~~~~~~~~~~~
                                          div_ceil(file_size, min_stream_size)));
                                          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Am I correct in assuming this is a 32-bit platform?  I think we need to apply this patch:
https://github.com/microsoft/vcpkg/blob/master/ports/google-cloud-cpp/0001-fix-x86-build.patch
Would it be possible for you to test it?  I am not even sure how to get a 32-bit build these days, any recommendations on how to do that?  We basically have Linux (64-bit), macOS, and Windows build machines in our build clusters, but we can install packages if that helps.


:wrench: set bring h1 and h1-display to Posten Sans Medium, not Regular

Ref. slack

trello.com/c/jzn36Rpz

Naise 😎


Incorrect calculation on poison on first selection

I noticed an issue with my Flicker build when I considered opting into poison on hit. When I had 0% chance to poison on hit, hovering over any passive node that would give 10% poison on hit incorrectly told me, that selecting this skill would add a total poison dps to my current dps equal to my current dps plus the poison damage from the skill (~110% dps gain from a single node).
After selecting that node it showed the correct amount of dps by poison lost when unlearning that node and no longer showed the excessive amount.
This issue was 100% repeatable.

Whats happening is that the Total DPS inc. Poison isn't populated with the base Total DPS stat before you have any chance to poison, so it shows the total gain from an newly allocated zero dps to the Total DPS plus poison dps.

Yajirushi is correct; the Total DPS inc. Poison stat isn't calculated at all unless you have some Poison, so there's nothing to compare with. I suppose that is a little deceptive, though; I'll change it so that it is always calculated, but only shows up in the sidebar if it differs from the Total DPS.


Update .gitignore to add eclipse,JetBrains IDEs, e.g. IntelliJ IDEA g…

…enerated files
Signed-off-by: Haoran Wang<EMAIL_ADDRESS>
- What I did
- How I did it
- How to verify it
- Description for the changelog

gitvalidation failed. I think you exceeded maximum commit message title size.

@mrunalp Thanks, updated.

LGTM


Sharing button freezes frame

In the 1.5.1-beta.1 version, when clicking on "Share screen" button and then canceling sharing, the other buttons in the tool bar freeze.
Is it possible to hide the "Share" button?
When is a new stable version expected?

You can show,hide, and disable buttons in the callControl bars through our CallComposite options
options = {
callControls: { screenShareButton: false }
}

The team is looking to make a stable release end of May.


CI failing because toString serialization

Running a test like this one locally, the test passes without any problem:
@Test
fun showConversationsOnSuccessfulLoading() {
        givenConversationsOnBothDataSources(anyIndividualConversations())

        viewModel.viewState.observeForever(viewStateObserver)

        viewModel.viewState.value.matchWithSnapshot()
}

When you run it on CI (CircleCI) it starts failing. You can probably use any other CI systems.
Expected behaviour

Test should also pass.

Actual behaviour
Test fails with the following stacktrace (click to expand)

Salida
com.karumi.kotlinsnapshot.core.SnapshotException: ?[31mReceived value?[0m does not match ?[32mstored snapshot: "Conversations loaded.snap"?[0m
?[32m-Snapshot?[0m
?[31m+Received?[0m
ConversationsViewState(conversations={
?[32m- jueves, ene
?[0m?[31m+ Thursday, Jan
?[0m 1=[IndividualConversation(agentJoinTimes={}, agents=[Author(bio=Any bio text, firstName=Any name, lastName=Any lastname, location=Any location, photoUrl=https://anyphotoservice.com/anyphoto, userId=Any id), Author(bio=Any bio text, firstName=Any name, lastName=Any lastname, location=Any location, photoUrl=https://anyphotoservice.com/anyphoto, userId=Any id), Author(bio=Any bio text, firstName=Any name, lastName=Any lastname, location=Any location, photoUrl=https://anyphotoservice.com/anyphoto, userId=Any id)], conversationId=clientConversation1, mostRecentElement=Left(a=Message(author=Author(bio=null, firstName=Client, lastName=www.client.com/photoUrl, location=null, photoUrl=null, userId=Client), conversationId=correlationId, date=Date(, ), direction=OUTGOING, messageId=Conversation1, readStatus=Read(readTime=Date(, )), status=PENDING_SEND, text=Text1), , ), status=Open, unreadCount=0), IndividualConversation(agentJoinTimes={}, agents=[Author(bio=Any bio text, firstName=Any name, lastName=Any lastname, location=Any location, photoUrl=https://anyphotoservice.com/anyphoto, userId=Any id), Author(bio=Any bio text, firstName=Any name, lastName=Any lastname, location=Any location, photoUrl=https://anyphotoservice.com/anyphoto, userId=Any id), Author(bio=Any bio text, firstName=Any name, lastName=Any lastname, location=Any location, photoUrl=https://anyphotoservice.com/anyphoto, userId=Any id)], conversationId=clientConversation2, mostRecentElement=Left(a=Message(author=Author(bio=null, firstName=Client, lastName=www.client.com/photoUrl, location=null, photoUrl=null, userId=Client), conversationId=correlationId, date=Date(, ), direction=OUTGOING, messageId=Conversation1, readStatus=Read(readTime=Date(, )), status=PENDING_SEND, text=Text2), , ), status=Open, unreadCount=0), IndividualConversation(agentJoinTimes={}, agents=[Author(bio=Any bio text, firstName=Any name, lastName=Any lastname, location=Any location, photoUrl=https://anyphotoservice.com/anyphoto, userId=Any id), Author(bio=Any bio text, firstName=Any name, lastName=Any lastname, location=Any location, photoUrl=https://anyphotoservice.com/anyphoto, userId=Any id), Author(bio=Any bio text, firstName=Any name, lastName=Any lastname, location=Any location, photoUrl=https://anyphotoservice.com/anyphoto, userId=Any id)], conversationId=clientConversation3, mostRecentElement=Left(a=Message(author=Author(bio=null, firstName=Client, lastName=www.client.com/photoUrl, location=null, photoUrl=null, userId=Client), conversationId=correlationId, date=Date(, ), direction=OUTGOING, messageId=Conversation1, readStatus=Read(readTime=Date(, )), status=PENDING_SEND, text=Text3), , ), status=Open, unreadCount=0), IndividualConversation(agentJoinTimes={}, agents=[Author(bio=Any bio text, firstName=Any name, lastName=Any lastname, location=Any location, photoUrl=https://anyphotoservice.com/anyphoto, userId=Any id), Author(bio=Any bio text, firstName=Any name, lastName=Any lastname, location=Any location, photoUrl=https://anyphotoservice.com/anyphoto, userId=Any id), Author(bio=Any bio text, firstName=Any name, lastName=Any lastname, location=Any location, photoUrl=https://anyphotoservice.com/anyphoto, userId=Any id)], conversationId=clientConversation4, mostRecentElement=Left(a=Message(author=Author(bio=null, firstName=Client, lastName=www.client.com/photoUrl, location=null, photoUrl=null, userId=Client), conversationId=correlationId, date=Date(, ), direction=OUTGOING, messageId=Conversation1, readStatus=Read(readTime=Date(, )), status=PENDING_SEND, text=Text4), , ), status=Open, unreadCount=0), IndividualConversation(agentJoinTimes={}, agents=[Author(bio=Any bio text, firstName=Any name, lastName=Any lastname, location=Any location, photoUrl=https://anyphotoservice.com/anyphoto, userId=Any id), Author(bio=Any bio text, firstName=Any name, lastName=Any lastname, location=Any location, photoUrl=https://anyphotoservice.com/anyphoto, userId=Any id), Author(bio=Any bio text, firstName=Any name, lastName=Any lastname, location=Any location, photoUrl=https://anyphotoservice.com/anyphoto, userId=Any id)], conversationId=clientConversation5, mostRecentElement=Left(a=Message(author=Author(bio=null, firstName=Client, lastName=www.client.com/photoUrl, location=null, photoUrl=null, userId=Client), conversationId=correlationId, date=Date(, ), direction=OUTGOING, messageId=Conversation1, readStatus=Read(readTime=Date(, )), status=PENDING_SEND, text=Text5), , ), status=Open, unreadCount=0)]}, showingError=false)
at com.karumi.kotlinsnapshot.core.Camera.matchValueWithExistingSnapshot(Camera.kt:48)
at com.karumi.kotlinsnapshot.core.Camera.matchWithSnapshot(Camera.kt:27)
at com.karumi.kotlinsnapshot.KotlinSnapshotKt.matchWithSnapshot(KotlinSnapshot.kt:28)
at com.banno.conversations.conversations.ConversationsEndToEndShould.showConversationsOnSuccessfulLoading(ConversationsEndToEndShould.kt:96)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
at org.junit.rules.TestWatcher$1.evaluate(TestWatcher.java:55)
at org.junit.rules.RunRules.evaluate(RunRules.java:20)
at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
at org.mockito.internal.runners.DefaultInternalRunner$1.run(DefaultInternalRunner.java:79)
at org.mockito.internal.runners.DefaultInternalRunner.run(DefaultInternalRunner.java:85)
at org.mockito.internal.runners.StrictRunner.run(StrictRunner.java:39)
at org.mockito.junit.MockitoJUnitRunner.run(MockitoJUnitRunner.java:163)
at org.gradle.api.internal.tasks.testing.junit.JUnitTestClassExecutor.runTestClass(JUnitTestClassExecutor.java:116)
at org.gradle.api.internal.tasks.testing.junit.JUnitTestClassExecutor.execute(JUnitTestClassExecutor.java:59)
at org.gradle.api.internal.tasks.testing.junit.JUnitTestClassExecutor.execute(JUnitTestClassExecutor.java:39)
at org.gradle.api.internal.tasks.testing.junit.AbstractJUnitTestClassProcessor.processTestClass(AbstractJUnitTestClassProcessor.java:66)
at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.processTestClass(SuiteTestClassProcessor.java:51)
at sun.reflect.GeneratedMethodAccessor41.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35)
at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)
at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:32)
at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:93)
at com.sun.proxy.$Proxy1.processTestClass(Unknown Source)
at org.gradle.api.internal.tasks.testing.worker.TestWorker.processTestClass(TestWorker.java:109)
at sun.reflect.GeneratedMethodAccessor40.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35)
at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)
at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:146)
at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:128)
at org.gradle.internal.remote.internal.hub.MessageHub$Handler.run(MessageHub.java:404)
at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63)
at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55)
at java.lang.Thread.run(Thread.java:748)

If we remove the noise, the important part would be:
- jueves, ene
+ Thursday, Jan

The actual date is just a mock date in a nested depth into the object hierarchy, and it is created like Date(1L). It looks like it's correct but its being compared internally by the library using its pretty printed string representation in two different languages (localization). So we can discard this being a usual date / timezone problem.
If you use a standard approach on your test you would probably assert by using assertEquals or eq (nested equals), and it would pass without any problem, since equals compares the timestamps from both date objects (long). (The test was passing before integrating the lib). It's also significative that the test passes locally, probably because the locale being used is the one expected.
Digging a bit into the library code, I found out that you're serializing stuff just by calling toString() in a nested way in the object hierarchy. toString() doesn't look like the safest approach for serialization since each type implements it in different ways.
Regardless of using Kotlin and data classes (with their default toString over all its properties), this is a risky approach. Some types like Date() have an implementation of toString() that relies on things like the machine's Locale. Date#toString() prints a date following the format: "EEE MMM dd HH:mm:ss zzz yyyy" so it'll print a different value depending on the Locale.
I.e: for date serialization it would work better to serialize them as  Long timestamps, which will always match regardless of the timezone.
I would suggest you to use any existing java serialization libraries to json, protobuf or any other formats that are already covering all those issues, since you probably don't want to end up reinventing the serialization wheel for all the existent types. You can include them as implementation so it's not exposed as a transitive dependency to client projects.
An interesting question to think about here would be: why was it serialized and stored in the snapshot using one language but then compared after deserialization in a later run using a different one? I have no clue, but both things were done by the same CI environment.
Steps to reproduce

Run this test on a CI environment, I think it should fail.

Version of the library
0.3.0

I think it is better to use a string representation instead of Long to be more readable like your example with the difference between Jueves and Thursday, It would be a good idea to use Iso 8601 representation with no time zone offset (Z)  to avoid Locale.
The problem with the JSON serialization is you miss information like which Object is {}? Maybe It is a kotlin object. Also, we want to know which object is { "id": "2334" }could be aUser` or other implementation with the same declaration.

If we start getting more issues like this, we could use JSON.

I understand. Agree with the problems of standard JSON serialization since you'll need to parse it back to the original classes if you wanna compare the entities with equals (instead of comparing strings) and at there moment you'll not know anymore which types correspond to those structures (as you said). Actually, I remember now having the same problem on Hiroaki.
Still I believe I (the end user) should be able to use the lib transparently and expect it to behave on comparison the same way a simple equals would do (which is what he would use in the test if he hadn't this library). I believe that's what the average user would expect. I mean, I don't see a reason for the end user to care about timezones or localization in dates in case the test passes without the library with a simple equals. Therefore that should probably be solved inside the library.
I guess you can update your when statement (I saw it somewhere) for serializing different types to support dates in a way that Locale does not affect. But still you could find similar problems with other types you still don't know about, since toString() is not meant to reflect all the class properties and people could just override it and implement it in many different ways (they could omit fields, or just print the class reference, so you could lose information about the type properties)

In current projects, we used snapshot testing for backend integration tests to check the JSON results without any library just using equals and printing both object hierarchies entirely when something went wrong, and It's a horrible experience when the JSON is very long copying and pasting these two objects into an online diff text website :(
Yes, the user shouldn't know anything about Locale, etc... we parsed the dates to a string without taking care about Locale or something like that.
The user can override the .toString() with any value, it is not a problem for us (while the user does not override Date, LocalDateTime, etc...) because most of the types don't use .toString() just primitive types, Strings and Enums, for the rest we use reflection to create our own toString() like data classes.
If the user has any problem because there isn't support for their type, then you can use your custom SerializationModule extending on the interface or extending to the default KotlinSerializationModule which bring you the kotlin-style toString() support we implemented or if you want to serialize all to JSON you can create your own SerializationModule like:
class JsonSerialization : SerializationModule<Any> {
      override fun serialize(value: Any?): String = Gson().toJson(value)
}

Fair enough. There's nothing in README about how to customize serialization by extending SerializationModule on your beans, If it's a feature intended to be used it'd be nice to add something.

[You can use the constructor] with a different SerializationModule:
private val snap = KotlinSnapshot(JsonSerialization())

Yes, I'm going to add information to the README after taking a look to improve the serialization modules. I'm going to add tests for use another serialization and add the documentation for the current version, thanks!! 👏


Attempt to fix 921180: NamedCollection not unique, adds redundancy in MatchData

Rule 921180 Description

These rules look for multiple parameters with the same name.
921170 counts the occurrences of the individual parameters.
921180 checks if any counter is > 1.

Specifically, 921170 counts the occurrences creating/incrementing counters for each parameter via setvar:
setvar:'TX.paramcounter_%{MATCHED_VAR_NAME}=+1'"

921180 looks for any counter > 1 with:
SecRule TX:/paramcounter_.*/ "@gt 1" \

I found two elements that are leading to making these rules test fail:
1. %{MATCHED_VAR_NAME} always results to be empty
It happens because matchVariable adds match.Key_. I think that it is right, but when the values analyzed are the name of the variables themself (ARGS_NAMES), Key_ is empty, and the value that is going to be analyzed (the name itself) is indeed in Value_.
2. NamedCollection tracks unique names
but it seems that it is something not expected by 921170 considering that it increments the counter for each occurrence. So, for example, variables like paramcounter_ARGS_NAMES:pineapple are expected to happen more than once.
The PR wants to mainly expose the issue. Some tweaks leading to passing the tests are provided for further reasoning. Thanks for any feedback!

This rule has been always a problem, in the beginning each action would only run once per rule but this rule requires each non disruptive action to run once per match. Lgtm

Are we ready to put this ready for review?

LGTM
On Wed, 22 Feb 2023, 01:53 Anuraag Agrawal, @.***>
wrote:

@.**** approved this pull request.
—
Reply to this email directly, view it on GitHub
https://github.com/corazawaf/coraza/pull/618#pullrequestreview-1308368137,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAXOYASKGIUJNFRZ7BGLHX3WYVPSHANCNFSM6AAAAAAUV2LLRE
.
You are receiving this because you commented.Message ID:
@.***>


Missing Dependency ament_index_cpp Causes Build Failure in audio_common for Music Node

When attempting to build the audio_common package using colcon build, the build process fails with the following error:
/path/to/workspace/src/audio_common/audio_common/src/audio_common/music_node.cpp:30:10: fatal error: ament_index_cpp/get_package_share_directory.hpp: No such file or directory
   30 | #include <ament_index_cpp/get_package_share_directory.hpp>
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.

Steps to Reproduce:
Clone the repository and navigate to the workspace.
git clone <repository-url>
cd <workspace>

Run the build command:
colcon build

The build fails with the error message mentioned above.
I was able to resolve the issue by updating the CMakeLists.txt file to include ament_index_cppas a required dependency. The following changes fixed the issue:
Changes in CMakeLists.txt:
# Added the following line to locate the package
find_package(ament_index_cpp REQUIRED)

# Updated include directories
include_directories(
  include
  ${PORTAUDIO_INCLUDE_DIR}
  ${ament_index_cpp_INCLUDE_DIRS}
)

# Updated dependencies for the target
ament_target_dependencies(music_node rclcpp std_srvs audio_common_msgs ament_index_cpp)

Environment:
ROS 2 Distro: echo $ROS_DISTRO -> rolling
Ubuntu Version: Ubuntu 24.04

Thank you for maintaining this project! Please let me know if you need any further details.

@cdboer Thanks for the fix


HuggingFace integration

Dear authors,
I am very excited about the release of this model! Do you plan to integrate the model into Hugging Face transformers?
We already support Switch Transformers so adding the model can be easier than expected. I can of course guide you on how the exact steps of how to integrate the model
よろしくお願いします!

Wow, Thank you, great suggestion.
Implementing HaggingFace is something I've always wanted to do.
However, I'm not good at English, so I was having trouble deciphering the documentation.
To be honest, I need some help.
In particular, GPTSAN uses its own text encoding, but I didn't understand how to port it to HaggingFace.
If you are knowledgeable about porting and can support me, I would love to get to work. I will always be grateful to HaggingFace.
thank you.

Thank you for your message @tanreinama
I can guide you through the process step by step, as a first step I would suggest to start forking the transformers repo and create a new branch.
1- After that, create a virtual environment and install the transformers locally by running pip install -e ".[dev]"
2- Create a new model squeleton by running transformers-cli add-new-model-like and copy the model from switch_transformers
3- Regarding the text encoding (tokenizer) I see that this tokenizer is similar to the one that is used by Japanese GPT-NeoX: https://github.com/huggingface/transformers/blob/main/src/transformers/models/gpt_neox_japanese/tokenization_gpt_neox_japanese.py a good starting point could be to import this tokenizer and compare it with yours to see if they produce the same results
from transformers import AutoTokenizer

tokenizer_gpt_neox = AutoTokenizer.from_pretrained("abeja/gpt-neox-japanese-2.7b")
...

Let me know what do you think and if you have any questions!

The encoder seems to be able to use gpt_neox_japanese as it is.
I created a local branch as per your instructions and created a model.
I ported some layers so I could reproduce the model structure.
I changed the configuration file and removed the parameters I don't need.
What should I do next?
I need to convert it to a PyTorch model file. And create the sentence generation code.
By the way, there is a place in the switch_transformers code that bothers me.
At the point where Top1Router adds jitter to the input, This should only work during training.
I can't find the code to remove it during Prediction...

This is great thank you so much for updating me on the current progress! I am very excited about that!
I think for now you can just hardcode config.router_jitter_noise to 0 (manually set 0 on your new configuration file)
Yes the next step is to be able to convert your model in PyTorch, and check if you get the same generations!
Let me know how I can help next,
Younes

Pytorch porting and creation of generation logic completed
I'm here now
# import direct from new model directory
from transformers.models.gptsan_japanese import modeling_gptsan_japanese, configuration_gptsan_japanese

# create model
conf = configuration_gptsan_japanese.GPTSANJapaneseConfig()
model = modeling_gptsan_japanese.GPTSANJapaneseModel(conf)
model.load_state_dict(torch.load("GPTSAN-2.8B-spout_is_uniform.pt"))

# model run
model(input_ids=torch.zeros([1,200]).int())
> CausalLMOutputWithPast(loss=None, logits=tensor([[[ -2.4805,  -6.7204,  -6.4591,  ...,  -4.8195, -19.6129, -16.9775],
>          [ -3.5968,  -7.8980,  -6.6534,  ...,  -5.5144, -19.7407, -17.9312],
>          [ -4.5876,  -7.7133,  -6.7145,  ...,  -6.6660, -20.1992, -18.0129],
>          ...,
>          [ -1.7173,  -8.6070,  -6.2956,  ...,  -6.6117, -21.1183, -19.6286],
>          [ -2.2849,  -8.7263,  -6.5163,  ...,  -6.7639, -21.3613, -19.8236],
>          [ -2.0467,  -8.6484,  -6.4396,  ...,  -6.6144, -21.0991, -19.6714]]],
>        grad_fn=<AddBackward0>), past_key_values=None, hidden_states=None, attentions=None)

# original encoder
from encode_swe import SWEEncoder_ja
import json
with open('ja-swe36k.txt') as f:
    bpe = f.read().split('\n')
with open('emoji.json') as f:
    emoji = json.loads(f.read())
enc = SWEEncoder_ja(bpe, emoji)

# sentence generation
x_tok = enc.encode("武田信玄は、")
model = model.cuda()
res = model.generator.generate_lm(x_tok)
print(enc.decode(res[0]))
> 自ら戦場を訪ね、その果て、自負を持つ将に太刀打ち、自らと敵対するために、幾度となく軍民を重用してきた...

# masked language model
x_tok = enc.encode("武田信玄は、<|inputmask|>時代ファンならぜひ押さえ<|inputmask|>きたい名将の一人。")
model = model.cuda()
res = model.generator.predict_mlm(x_tok)
print(enc.decode(res[0]))
> 武田信玄は、戦国時代ファンならぜひ押さえておきたい名将の一人。

However, the tokenizer of GPTNEOX-japanese could not be used.
The program is the same, but the number of words is different. They have 32K tokens, I have 36K tokens.
And then I run into the first difficulty. How can I implement my own tokenizer? I can copy the code from GPTNEOX-japanese but I need use a new vocabulary file (ja-swe36k.txt).

Hi @tanreinama
Thanks so much for sharing the progress and I am super excited that you have managed to move forward with the implementation and get some consistent results with the original model - I am super excited about the current progress!
Regarding this issue, I think that you can first try to modify these lines here: https://github.com/huggingface/transformers/blob/8fb4d0e4b46282d96386c229b9fb18bf7c80c25a/src/transformers/models/gpt_neox_japanese/tokenization_gpt_neox_japanese.py#L50 and see if you can load your vocab file instead. If it works, I advice you to use Hugging Face hub: https://huggingface.co/ and create a new model that will include your model weights (first create an account and create a repo) and vocab file + emoji json file. See for comparison the files here: https://huggingface.co/abeja/gpt-neox-japanese-2.7b/tree/main
You can directly push the weights using the push_to_hub method after loading the weights as such:
model.push_to_hub("tanreinama/GPTsan")
After that I think that you will be more than ready to open a draft pull request on transformers! Don't forget to ping me & my colleage @ArthurZucker as we worked together on integrating SwitchTransformers and we will be more than excited to guide you from there
Again thank you!

初めまして！And thanks for your work.
If the only difference between your tokenizer and GPTNeoX-Japanese is the vocabulary file, you indeed only need to initialize your tokenizer with the custom vocab.json file 😉 You can do this by simply running the following snippet :
>>> from transformers import AutoTokenizer
>>> tokenizer = AutoTokenizer.from_pretrained("abeja/gpt-neox-japanese-2.7b", vocab_file = f"{path_to_my_file}")
>>> tokenizer.push_to_hub("tanreinaman/gptsan-japanese")

Now regarding the addition of the model, it should only be done if the architecture is different (if it is very very similar, we should be using custom_models and not add the modelling file). In that case we could also add for example just the modified part (if you have a new ExpertLayer that is fondamentally different).
Otherwise, you should just convert your checkpoint and use the current hugging face model.

@younesbelkada @ArthurZucker Thank you so match!
Thanks to that, I was able to create a repository on HuggingFace Hub and upload the model.
But it's still not perfect arownd Tokenizer.
One is GPTNEOX-Japanese Tokenizer does not handle "," properly.
",'' is an Ascii character, so it is interchangeable with <|byte44|>. So put code to absorb it on the model side and output <|byte44|>, it will work.
The other one is more deeply rooted. My Tokenizer handles unencodable Unicode by encoding it into 256 types of <|byteXX|> tokens.
This <|byteXX|> token decoding in multibyte UTF doesn't work at all.
In other words, it is not possible to convert <|byte227|><|byte130|><|byte161|> to one character "ァ".
GPTNEOX-Japanese outputs bytearray([227]).decode("utf", errors="replace") + bytearray([130]).decode("utf", errors="replace") + bytearray([161]).decode("utf", errors="replace").
The original encoder outputs bytearray([227,130,161]).decode("utf", errors="replace") so that's fine.
These may be bugs in GPTNEOX-Japanese, but their model may have been trained on that assumption, so it may not be a problem for them.
Here I am think about someting.
It will probably currentry work to some extent.
I may be able to submit a pull request in this state.
But to make this perfect, I need to modify the Tokenizer source code...

PR Created!
thank you for support. I was able to submit a PR to HaggingFace today.
The slight difference of Tokenizer could be absorbed by the code on the model side.
I'm excited to contribute to HaggingFace. thank you!

Awesome! Will review asap 😉


Audit issues with the latest version

Already tried everything including deleting the lock file and the entire node_modules folder.
This audit error doesn't make sense since I am using the latest version but it is an error on the old version.

Docker version: node:10.15.3-jessie

NPM version (npm -v): 6.4.1

Node version (node -v): v10.15.3

Node Process (node -p process.versions):
{ http_parser: '2.8.0',
node: '10.15.3',
v8: '6.8.275.32-node.51',
uv: '1.23.2',
zlib: '1.2.11',
ares: '1.15.0',
modules: '64',
nghttp2: '1.34.0',
napi: '3',
openssl: '1.1.0j',
icu: '62.1',
unicode: '11.0',
cldr: '33.1',
tz: '2018e' }

Node Platform (node -p process.platform): linux

Node architecture (node -p process.arch): x64

node-sass version (node -p "require('node-sass').info"):
node-sass	4.12.0	(Wrapper)	[JavaScript]
libsass  	3.5.4	(Sass Compiler)	[C/C++]

npm node-sass versions (npm ls node-sass):
`--<EMAIL_ADDRESS>

Audit error (npm audit):
Manual Review
Some vulnerabilities require your attention to resolve
Visit https://go.npm.me/audit-guide for additional guidance
High            Arbitrary File Overwrite
Package         tar
Patched in      >=4.4.2
Dependency of   node-sass [dev]
Path            node-sass > node-gyp > tar
More info       https://nodesecurity.io/advisories/803

found 1 high severity vulnerability in 31872 scanned packages
1 vulnerability requires manual review. See the full report for details.

Duplicate of #2625


Question for accuracy metric in toy_example.py

I found the codes of in toy_example.py likes these:
accuracy = 1. - tf.reduce_mean(tf.cast(tf.equal(tf.round(y_hat), target_ph), tf.float32))
I am confused.  Why don't you use the codes "accuracy = tf.reduce_mean(tf.cast(tf.equal(tf.round(y_hat), target_ph), tf.float32))" ?  Is it a bug ?

This is a good point. Actually, both variants are wrong, because y_hat are logits rather than probabilities. It must be
accuracy = tf.reduce_mean(tf.cast(tf.equal(tf.round(tf.sigmoid(y_hat)), target_ph), tf.float32))
I will fix it shortly, thank you!

Fixed


Please help me with loading dynamic data

Hello there
I'm new to Blazor-ApexCharts and I'm not able to display data from the HttpClient service. I'm using Blazor WebAssembly stand alone in .NET8. My code:
@page "/graph"
@inject IDataService dataService
<ApexChart TItem="MachineDataDTO" Title="Machine Data">
    <ApexPointSeries TItem="MachineDataDTO"
                     Items="Data"
                     Name="MovesPerSec"
                     SeriesType="SeriesType.Bar"
                     XValue="@(x => x.Name)"
                     YAggregate="@(x => x.Sum(x => x.ChainMovesPerSecond))" />
</ApexChart>

Counter: @Data.Count()

@code {
    public IEnumerable<MachineDataDTO> Data { get; set; } = new List<MachineDataDTO>();

    protected override async Task OnInitializedAsync()
    {
        Data = await dataService.GetMachineDataAsync();
    }
}

After reaching the graph page chart witout any data is diplayed . I know that my service (Task<IEnumerable> GetMachineDataAsync()) works because returns @Data.Count() correctly. Maybe I missed something maybe I approached it incorrectly. My appologies for placing my request in issue section, but I stacked with this already for 2 days and I ran out of ideas.

Hi, ahve you checked samples? https://apexcharts.github.io/Blazor-ApexCharts/features/chart-data

With a hint from @joadan, here’s my solution for anyone encountering a similar issue:
@if (Data != null && Data.Any())
{
    <ApexChart TItem="MachineDataDTO">
        <ApexPointSeries
        TItem="MachineDataDTO"
        Items="Data"
        Name="MovesPerSec"
        SeriesType="SeriesType.Bar"
        XValue="@(x => x.Name)"
        YAggregate="@(y => y.Sum(y => y.ChainMovesPerSecond))"
        OrderByDescending="e=>e.Y" />
    </ApexChart>
}
else
{

...loading....

}

thanks @joadan


Occlum's runtime-boot

/cc qzheng527

Some updates are required when Occlum v1.0 released.

my idea is that we can move the development/maintanence of this functionality to this repository. we can commit the necessary changes once the build tools move to use the v1.0 Occlum.

Some updates are required when Occlum v1.0 released.

my idea is that we can move the development/maintanence of this functionality to this repository. we can commit the necessary changes once the build tools move to use the v1.0 Occlum.

Absolutely.

as part of #45, let's get this merged so that the code can be built into boot_instance from this repo.

LGTM.
btw, I will add runtime env support soon. We may need update then.

LGTM.
btw, I will add runtime env support soon. We may need update then.

Would it be possible to open a PR in this repo for those changes?

LGTM.
btw, I will add runtime env support soon. We may need update then.

Would it be possible to open a PR in this repo for those changes?

IMO, if those occlum change is only for enclave-cc, it makes sense to merge in enclave-cc repo. Otherwise, double commit may be needed.
Anyway, Mikko, just merge the current PR first.

LGTM.
btw, I will add runtime env support soon. We may need update then.

Would it be possible to open a PR in this repo for those changes?

Sure.
And not only the changes here, but also the occlum bundle requires change as well due to the libos got changed.

if those occlum change is only for enclave-cc, it makes sense to merge in enclave-cc repo.

Any new features in the libOS itself we would consume through the Occlum releases. This init is a custom program for enclave-cc and we will move to maintain in this repo.

Anyway, Mikko, just merge the current PR first.

ack


Include test code in coverage analysis #161

Fixes #161
Still need some testing and verification.

Coverage doesn't seem to increase (based on coveralls report)

This one ready? Looks like test code is included in the analysis now.

@m133225 shall we wrap this up?


epy: init at 2023.6.11

Description of changes
Add a new package, epy. CLI ereader with support for .epub, .azw3, etc. https://github.com/wustho/epy

Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[x] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[x] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
24.05 Release Notes (or backporting 23.05 and 23.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

Think I've sorted those suggestions and comments given so far, very thankful to all for the help and guidance :) Let me know if there is additional things to take care of.


Updated ICloudTableProvider interface to include all required properties as parameters

This would allow to specify any other table provider through configuration as well (specifying type in configuration requires the type has a parameterless constructor).

Ah, interesting - yes, that does seem like a worthwhile gain :+1:
LGTM - anyone else following this and able to weigh in?


Display HTML Images

Description:
I'm unable to view images embeded as html in Hydrogen (using the IPython display methods).
I'm however able to view them in Jupyter-Notebook.
Is this a bug on my side or is it as intended?
Steps to Reproduce:
from IPython.display import Image, HTML

img = './test_image.png'

def path_to_image_html(path):
    return ''

img_html = path_to_image_html(img)
display(HTML(img_html))

The funny thing is that this works:
from IPython.display import HTML
HTML("")

Versions:
Atom    : 1.28.1
Electron: 2.0.4
Chrome  : 61.0.3163.100
Node    : 8.9.3
Logs:
Please post any error logs and the output of the developer tools as described in our Debugging Guide.

To get it to work for now you can try using the absolute path. For example /home/ben/test_image.png instead of relative path ./test_image.png

Thanks for opening the issue @tobiasbj. We have the same behavior on the nteract desktop app. It has something to do with the path of the html document inside atom/electron itself.

This is not an issue. You are using the function correctly, but you are expecting it to parse your relative path into an absolute path. This is not a feature of the HTML module. To get the full path from a relative path use IPython.utils.path.filefind Then use the full path to parse to the HTML.
@BenRussert so he knows this isn't a bug


Support Hardware Security Keys

This adds support for the ECDSA-SK and ED25519-SK formats.
The keys have an "application" specifier that is user defined, here in
the example it is "ssh:".
The test keys come from:
https://gitlab.com/gitlab-org/gitlab/-/merge_requests/78934/diffs
More context:
https://github.com/openssh/openssh-portable/blob/8926956f22639132a9f2433fcd25224e01b900f5/PROTOCOL.u2f#L81-L86
https://cryptsus.com/blog/how-to-configure-openssh-with-yubikey-security-keys-u2f-otp-authentication-ed25519-sk-ecdsa-sk-on-ubuntu-18.04.html

We are using this now as downstream patch in Flatcar but it would be great to get it in and do a crates.io release.


Biqle unable to extract embed URL

[x] I'm reporting a broken site support
[x] I've verified that I'm running youtube-dl version 2019.06.08
[x] I've checked that all provided URLs are alive and playable in a browser
[x] I've checked that all URLs and arguments with special characters are properly quoted or escaped
[x] I've searched the bugtracker for similar issues including closed ones

Verbose log
> youtube-dl --verbose https://biqle.ru/watch/-57814407_456239424
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: ['--verbose', 'https://biqle.ru/watch/-57814407_456239424']
[debug] Encodings: locale UTF-8, fs utf-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2019.05.20
[debug] Python version 3.7.3 (CPython) - Linux-5.1.5-arch1-2-ARCH-x86_64-with-arch
[debug] exe versions: ffmpeg 4.1.3, ffprobe 4.1.3, phantomjs 2.1.1, rtmpdump 2.4
[debug] Proxy map: {}
[BIQLE] -57814407_456239424: Downloading webpage
ERROR: Unable to extract embed url; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see  https://yt-dl.org/update  on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
Traceback (most recent call last):
  File "/usr/lib/python3.7/site-packages/youtube_dl/YoutubeDL.py", line 796, in extract_info
    ie_result = ie.extract(url)
  File "/usr/lib/python3.7/site-packages/youtube_dl/extractor/common.py", line 529, in extract
    ie_result = self._real_extract(url)
  File "/usr/lib/python3.7/site-packages/youtube_dl/extractor/biqle.py", line 46, in _real_extract
    webpage, 'embed url'))
  File "/usr/lib/python3.7/site-packages/youtube_dl/extractor/common.py", line 1004, in _search_regex
    raise RegexNotFoundError('Unable to extract %s' % _name)
youtube_dl.utils.RegexNotFoundError: Unable to extract embed url; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see  https://yt-dl.org/update  on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.

Description
Nothing to add to the above. For me it seems to be broken for any video URL.

@dstftw: sorry, somehow managed prematurely click the create button. Let me know if the report is still incomplete after the last edit.

Adding new host to iframe is not enough.
> py -2.7 .\youtube_dl\__main__.py https://biqle.ru/watch/-57814407_456239424 -v
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: [u'https://biqle.ru/watch/-57814407_456239424', u'-v']
[debug] Encodings: locale cp1251, fs mbcs, out cp866, pref cp1251
[debug] youtube-dl version 2019.06.08
[debug] Git HEAD: 427cc21
[debug] Python version 2.7.12 (CPython) - Windows-10-10.0.10240
[debug] exe versions: ffmpeg N-85653-gb4330a0, ffprobe N-85653-gb4330a0, phantomjs 2.1.1, rtmpdump 2.4
[debug] Proxy map: {}
[BIQLE] -57814407_456239424: Downloading webpage
[BIQLE] -57814407_456239424: Downloading webpage
[BIQLE] -57814407_456239424: Downloading JSON metadata
ERROR: An extractor error has occurred. (caused by KeyError(u'response',)); please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see  https://yt-dl.org/update  on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
Traceback (most recent call last):
  File "C:\Dev\youtube-dl\master\youtube_dl\extractor\common.py", line 530, in extract
    ie_result = self._real_extract(url)
  File "C:\Dev\youtube-dl\master\youtube_dl\extractor\biqle.py", line 60, in _real_extract
    })['response']['items'][0]
KeyError: u'response'
Traceback (most recent call last):
  File "C:\Dev\youtube-dl\master\youtube_dl\YoutubeDL.py", line 796, in extract_info
    ie_result = ie.extract(url)
  File "C:\Dev\youtube-dl\master\youtube_dl\extractor\common.py", line 543, in extract
    raise ExtractorError('An extractor error has occurred.', cause=e)
ExtractorError: An extractor error has occurred. (caused by KeyError(u'response',)); please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see  https://yt-dl.org/update  on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.

can't reproduce this error:
python __main__.py https://biqle.ru/watch/-57814407_456239424
[BIQLE] -57814407_456239424: Downloading webpage
[BIQLE] -57814407_456239424: Downloading webpage
[BIQLE] -57814407_456239424: Downloading JSON metadata
[download] Destination: Sports Car vs Racing Drone--57814407_456239424.mp4
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  3 51.6M    3 1806k    0     0   299k      0  0:02:56  0:00:06  0:02:50  363k

Same problem


Add authentication information to resource function calls

Describe the problem feature solves
We implemented our own resource to support our multitenant adminbro/adminjs instance, however without knowing what user (company) they are we do not know what collection to push/pull documents from.  We have forked the entire project and can't keep up with new changes unfortunately.
Describe the solution you'd like
When providing a custom resource also be passed the authentication information (request.auth) on any calls dealing with data pulling/updating/creating
Describe alternatives you've considered
We have it working on a forked version of 3.3.1 and it works well, but its old.
Acceptance criteria
Via a custom resource have the ability to see the user initiating the data requests/mutates

@dziraf yes you are correct I was using the wrong terminology.  We extend BaseResource https://docs.adminjs.co/BaseResource.html and make our own custom adapter.  The BaseResource functions are the ones we would need the user auth added to so we can do the data filtering.


Rework adj_jac_apply

Summary
We can use a function that schedules a callback for the reverse pass instead of cumbersome adj_jac_apply. This function is named reverse_pass_callback. It is used in rev implementations of softmax and dot_product.
In some related places code has been simplified a bit without functional changes (vari, rows_dot_product, columns_dot_product, multiply_lower_tri_self_transpose, tcrossprod). Prim implementation of dot_product now supports std vectors with non-default allocator. dot_product implementation that accepts pointers has been removed and all uses changed to use other overloads.
Tests
reverse_pass_callback is tested.
Side Effects
None.
Release notes
Added reverse_pass_callback, a simpler and faster alternative to adj_jac_apply. dot_product implementation that accepts pointers has been removed.
Checklist

[x] Math issue #2010

[x] Copyright holder: Tadej Ciglarič
The copyright holder is typically you or your assignee, such as a university or company. By submitting this pull request, the copyright holder is agreeing to the license the submitted work under the following licenses:
- Code: BSD 3-clause (https://opensource.org/licenses/BSD-3-Clause)
- Documentation: CC-BY 4.0 (https://creativecommons.org/licenses/by/4.0/)

[x] the basic tests are passing

unit tests pass (to run, use: ./runTests.py test/unit)
header checks pass, (make test-headers)
dependencies checks pass, (make test-math-dependencies)
docs build, (make doxygen)
code passes the built in C++ standards checks (make cpplint)

[x] the code is written in idiomatic C++ and changes are documented in the doxygen

[x] the new changes are tested

@t4c1 it seems like the commits from the squashed branches also carried over here. Since this one is a good bit smaller would you mind making a new branch off of develop with these changes (either copy-pasta, cherry pick, etc). Then we don't have to squash commits anymore and it's easier to branch off of a branch

Yeah, we would have to rebase this branch. I tried doing that, but it seems my git-fu is not on the level, so the result was a mess. I would prefere not to manually copy paste changes from this branch as there is a number of changed files. How about we wait until this is merged (and squashed) and than either rebase or manually copy paste just the new Ben's branch? Or we could just squash that one too. Anyway don't start any more work based on any of these branches until they are merged.
For the future: squashing a branch other branches are based on is not that good of an idea, unless we can rebase dependant branches.

Yes I agree squashing is bad for what we are doing but there was such a mess of commits in that original branch from when I tried all the other variations on vari_value

For the nexrt time I would suggest using separate branches for experimenting and PR. If you like the result of an experiment you can still merge it in a PR.

@bbbales2 @SteveBronder Now tests pass. Can we merge?

Given that he already approved and I addressed his suggestions I guess he is fine with this. So ill merge.

It's kinda cool that we're going through git commits that are years we've gone through.


Can any one have simple demo for Snowplow (snowplow-nodejs-tracker) event tracking on page click and how  we catch them in object

I want to capture some user events with snowplow-tracker like If user search on page then detail what he search then how much result occurred and like other

Hello @pawanpatil08, please direct support question to our forums.
Technical documantion is available on our wiki.


JBoss Metadata 9.0.0.Final

Linux with security manager Build 1370 is now running using a merge of 00d34324f80f7f5ff4af7320111661f849dcee59

Windows Build 1542 is now running using a merge of 00d34324f80f7f5ff4af7320111661f849dcee59

Linux Build 6464 is now running using a merge of 00d34324f80f7f5ff4af7320111661f849dcee59

Linux with security manager Build 1370 outcome was SUCCESS using a merge of 00d34324f80f7f5ff4af7320111661f849dcee59
Summary: Tests passed: 803, ignored: 320 Build time: 0:05:23

Linux Build 6464 outcome was SUCCESS using a merge of 00d34324f80f7f5ff4af7320111661f849dcee59
Summary: Tests passed: 2844, ignored: 375, muted: 1 Build time: 0:49:49

Windows Build 1542 outcome was SUCCESS using a merge of 00d34324f80f7f5ff4af7320111661f849dcee59
Summary: Tests passed: 2845, ignored: 375 Build time: 0:51:03


Allow users to specify instance type (e.g. m3.xlarge) and region (e.g. us-east-1) without having to specify an AMI

It's cumbersome to have to look up the right AMI to use when you don't really care about it.
Many users will just want something that works, and they will care more about the instance type, which defines how much power they get out of the cluster, and the region, which affects their latency and which they may have restricted choices on (e.g. due to regulations, company policy, etc.).
It would be good to follow spark-ec2's example here and make it so that an appropriate AMI is automatically chosen by Flintrock given an instance type and region.
We can do this by having a separate data file (probably in YAML) with mappings of AWS region to AMI. We could probably also get away with just doing this for HVM AMIs, since Amazon seems to be positioning them as the future.

I'm gonna punt this till later since 1) I don't like the idea of having to maintain a list of AMI IDs, and 2) having a persistent Flintrock config that you can add comments to (i.e. YAML) means users have an easy way of managing this info themselves.

I've lost interest in this idea and don't think it's worth the effort. If someone would like to make a case for this feature, feel free to chime in and I'll consider reopening it.


HD audio codec instead of lossy SBC

It would be nice if an HD audio codec would be used instead of the lossy SBC. If the source material is lossy too (mp3) the overall quality doesn't improve ;-)
I have tested AAC myself and it works, although I have tested with alsa, not pulseaudio. Even better would be aptX HD.
Resources:
https://codeberg.org/epinez/raspi-bt-hd-audio-receiver
https://forums.raspberrypi.com/viewtopic.php?t=283158

Back in December 2020, I changed the rpi-audio-receiver to cover aptX. I do not have the device in my home, but these are my notes from back then:

export PKG_CONFIG_PATH=/home/pi/ffmpeg_build/lib/pkgconfig

sudo apt install libdbus-1-dev glib-2-dev libbluetooth-dev libasound2-dev autoconf libtool libsbc-dev libmp3lame-dev libavcodec-dev libsndfile-dev

../configure --enable-aac --enable-msbc

https://github.com/Arkq/openaptx for aptx support

../configure --enable-aac --enable-msbc --prefix=/usr/local --program-suffix=-debug --enable-mp3lame --enable-debug --enable-aptx --enable-aptx-hd

To check Hardware support for Codecs:

pactl list to get MAC
deconnect the device
avinfo 20:74:CF:36:C4:83 with own MAC

Back then, I did not know yet about SBC-XQ:

Looking at Df medians we can safely conclude that audio quality of SBC XQ is comparable to aptX HD. And for BT EDR3 devices SBC XQ slightly surpasses aptX HD. It will be impossible to tell them apart in a blind listening test. SBC codec uses primitive psychoacoustic model for encoding and aptX does not use it at all, so their perceived audio quality is determined mostly by bitrate. Different settings of SBC, including SBC XQ, can be compared to aptX and aptX HD aurally with the help of Bluetooth A2DP SBC/aptX online encoder [5].

All current BT stereo devices could use this higher quality encoding. It just suffices to modify BT stack of sending device. Receiving BT devices that support only mandatory SBC codec will benefit most from this trick.

At the moment the required patch is included into LineageOS, Resurrection Remix and crDroid forks of Android. The patch for Linux PulseAudio from Pali Rohár besides SBC XQ also adds support for aptX, aptX HD and FastStream codecs [6]. This extra quality is for free. It's hard to imagine any objection to including this option into all BT stacks and the main Android branch.

I invite you to read the entire article at: http://soundexpert.org/articles/-/blogs/audio-quality-of-sbc-xq-bluetooth-audio-codec
Does blueALSA has support for SBC-XQ? There is a related issue in their Github https://github.com/Arkq/bluez-alsa/discussions/548 which suggests that it is just a matter of proper configuration.
In any way, I suggest to mention the currently supported audio codecs in the README.md and if need be, add documentation of how more audio codecs can be enabled. I will do some tests myself in the next days and report back.


Getting started page should have a period after "Redefined"

Also that message feels too close to the "Visual Studio Code" label?

Now just using the "Editing Evolved" text


fix: double click compose box and select placeholder

Details

App displays normal pointer on some parts of compose box when not in focus and double click, it selects placeholder text
Fixed Issues

$ https://github.com/Expensify/App/issues/18110
PROPOSAL: https://github.com/Expensify/App/issues/18110#issuecomment-1540545428
Tests

Open the app
Open any report
Lose focus from compose box
Hover over compose box and observe that few area above and below 'Write something...' text displays normal pointer
Double click when normal pointer is visible and observe
Verify placeholder 'Write something...' is not highlighted

[x] Verify that no errors appear in the JS console

Offline tests

QA Steps

Open the app
Open any report
Lose focus from compose box
Hover over compose box and observe that few area above and below 'Write something...' text displays normal pointer
Double click when normal pointer is visible and observe
Verify placeholder 'Write something...' is not highlighted

[ ] Verify that no errors appear in the JS console

PR Author Checklist

[x] I linked the correct issue in the ### Fixed Issues section above
[x] I wrote clear testing steps that cover the changes made in this PR

[x] I added steps for local testing in the Tests section
[x] I added steps for the expected offline behavior in the Offline steps section
[x] I added steps for Staging and/or Production testing in the QA steps section
[x] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)
[x] I tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).

[x] I included screenshots or videos for tests on all platforms
[x] I ran the tests on all platforms & verified they passed on:

[x] Android / native
[x] Android / Chrome
[x] iOS / native
[x] iOS / Safari
[x] MacOS / Chrome / Safari
[x] MacOS / Desktop

[x] I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
[x] I followed proper code patterns (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[x] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method

[x] If any non-english text was added/modified, I verified the translation was requested/reviewed in #expensify-open-source and it was approved by an internal Expensify engineer. Link to Slack message:

[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I followed the guidelines as stated in the Review Guidelines
[x] I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[x] I verified that if a function's arguments changed that all usages have also been updated correctly
[x] If a new component is created I verified that:

[x] A similar component doesn't exist in the codebase
[x] All props are defined accurately and each prop has a /** comment above it */
[x] The file is named correctly
[x] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[x] The only data being stored in the state is data necessary for rendering and nothing else
[x] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[x] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[x] All JSX used for rendering exists in the render method
[x] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[x] If any new file was added I verified that:

[x] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[x] If a new CSS style is added I verified that:

[x] A similar style doesn't already exist
[x] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG))

[x] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.
[x] I have checked off every checkbox in the PR author checklist, including those that don't apply to this PR.

Screenshots/Videos

Web

https://github.com/Expensify/App/assets/129500732/e5fd6169-54cc-45c3-acbc-e11b480ed3ea

Mobile Web - Chrome

https://github.com/Expensify/App/assets/129500732/221e970c-980a-4b04-8a1e-835ed08a7215

Mobile Web - Safari

https://github.com/Expensify/App/assets/129500732/39902aac-b7b7-4838-a7f7-ac18d82c5925

Desktop

https://github.com/Expensify/App/assets/129500732/892432b3-3ede-41c8-bc5e-f3f7667414f0

iOS

https://github.com/Expensify/App/assets/129500732/45d8585e-e44a-4f6b-afab-22d1015ce7cc

Android

https://github.com/Expensify/App/assets/129500732/939305c1-325c-4f4b-ad82-9da1c33c06e8

Screenshots/Videos #12669

Web

Mobile Web - Chrome

Mobile Web - Safari

Desktop

IOS

Android

:hand: This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release.

🚀 Deployed to staging by https://github.com/tgolen in version: 1.3.16-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

@dukenv0307 This PR has caused a regression https://github.com/Expensify/App/issues/19358

🚀 Deployed to production by https://github.com/chiragsalian in version: 1.3.16-7 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
failure ❌

🕸 web 🕸
success ✅

🚀 Deployed to production by https://github.com/chiragsalian in version: 1.3.16-7 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
failure ❌

🕸 web 🕸
success ✅

🚀 Deployed to production by https://github.com/chiragsalian in version: 1.3.16-7 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
failure ❌

🕸 web 🕸
success ✅

🚀 Deployed to production by https://github.com/chiragsalian in version: 1.3.16-7 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


fix for historical or future single date specified

In get_historical_data_for_date,  end date for training dataset retrieval is changed to start date + 1, so as to consider current date. Currently it does not consider current date and returns previous date instead, if user asks for today's air quality
the function get_future_data_for_date does not work as it returns a empty prediction dataframe. It seems like the training dataset retrieved has empty values, have not found the root cause. But replacing function get_future_data_for_date with the other get_future_data_in_date_range does work even for a single date specified, so replaced the function calling to use this method instead.
added explicit prompts for a single date


Can you set a custom title for the password page on static web apps?

Would be nice to be able to at least change the title of password-protected page, even better if you could override the style completely.

Document Details
⚠ Do not edit this section. It is required for learn.microsoft.com ➟ GitHub issue linking.

ID: b587b064-c065-800f-eeec-00b6164cba66
Version Independent ID: 4adf437f-6eb2-ee4d-c0d4-72545db4e881
Content: Enable password protection for Azure Static Web Apps
Content Source: articles/static-web-apps/password-protection.md
Service: static-web-apps
GitHub Login: @craigshoemaker
Microsoft Alias: cshoe

Hi @onionhammer , thanks for the feedback. Are you asking for us to enhance the doc to show how set a custom title for the password page on static web apps?

Yes, if that's possible

onionhammer, Apologies for the delay!  I have assigned the issue to the content author to review further and update the document as appropriate. Much appreciate your feedback.

Hi! I would also like to know if this is possible and how to do it.

Thanks for your feedback and your contribution to Azure docs.
Feedback for this repository is moving away from GitHub to a system specific to the Microsoft Learn platform. Issues for this repository will soon be disabled, and additional comments from GitHub will no longer be possible. However, we are now tracking and triaging this issue in the new feedback system.
To learn more about our feedback systems, please see Provide feedback for Microsoft Learn content.
#please-close


🔄 Synced file(s) with jhudsl/OTTR_Template

Synced local file(s) with jhudsl/OTTR_Template.

Changed files

Synced local  .github/workflows/render-bookdown.yml with remote  .github/workflows/render-bookdown.ymlSynced local  .github/workflows/render-preview.yml with remote  .github/workflows/render-preview.ymlSynced local  .github/workflows/style-and-sp-check.yml with remote  .github/workflows/style-and-sp-check.ymlSynced local directory style-sets with remote directory style-sets

This PR was created automatically by the repo-file-sync-action workflow run #1689833133

Please carefully review these changes and decide which are useful for your course.
See the release notes: https://github.com/jhudsl/OTTR_Template/releases

If you don't want the changes from a particular file, you can always revert that particular commit before merging the sync PR.
If you will not want any updates on this file in the future, you may want to remove a file from being synced in your repo by reconfiguring the sync file.

If you want only some changes, but they are not on a whole file basis, you could check out the branch and make manual edits. To checkout the branch, navigate to your own repository you should be able to run:

git checkout repo-sync/OTTR_Template/default

If you don't want any of the changes you can close the PR entirely.

You may want to unenroll your repository from the sync GitHub actions by filing a PR on OTTR_Template
to delete your repo name from this file if this will continue to be the case.


Unable to uninstall

Environment
Windows build number: [run "ver" at a command prompt]: 18975.1000
PowerToys version: 0.11.0
PowerToy module for which you are reporting the bug (if applicable):

Steps to reproduce
Uninstall PowerToys
Expected behavior

Product to uninstall
Actual behavior

Screenshots

@enricogior have we investigated this yet?

@crutkas as for https://github.com/microsoft/PowerToys/issues/208, ARP didn't seem a high priority for the tech preview.

with MSIX, will this no longer be an issue?  Can we mark this as "won't fix" due to migration to MSIX?

Closing the issue as won't fix since MSI will be replaced by MSIX.

@enricogior Is the MSI still going to be replaced by MSIX? The README says this:

We put in a lot of effort here but currently our plan of record is to make the MSI our only installer option and built-in auto-upgrade. MSIX is a great installer / container tech but there are few spots we are working with the team to improve so we can adopt.

i'm just waiting for PowerLauncher to drop :) thanks for the workaround on using the installer to uninstall

Closing the issue as won't fix since MSI will be replaced by MSIX.

Even if it gets replaced by MSIX, but tell us a way to uninstall MSI version.

@pavi2410
use the Windows 10 Settings -> Apps -> Apps & Features to uninstall.

@pavi2410
use the Windows 10 Settings -> Apps -> Apps & Features to uninstall.

it works!

with .19 moving forward, this should work now regardless of location you go to uninstall, settings or classic control panel

any updates on the MSIX situation?


Cross promote extensions, funnel to SamePage

Update docs on RoamJS.com and in relevant repos to cross promote extensions with each other and add a funnel back to SamePage.
Ideally done in tandem with Workbench as main draw:

https://github.com/dvargas92495/roamjs-workbench/issues/403

No need for the samepage funnel now


Question: How to upgrade git software in Azure Cloud Shell (powershell)?

Following on from useful Tip: https://microsoft.github.io/AzureTipsAndTricks/blog/tip15.html
It would be useful to have a Tip for upgrading git (and potentially other) Azure Cloud Shell provided 3rd party software. In my Azure Cloud Shell, git does not appear to be upgraded automatically (I don't know if it should be automatic or manual).
My Azure Cloud shell:

git --version
git version 2.7.4

This is an old version. 2.22.x would be more recent for example.
I even got a message in Cloud Shell suggesting upgrading git. But I can't see instructions for how to do this.
I first used Azure Cloud shell when it first came out, so perhaps all the software has remained on those older versions?
Thanks

Hey @rwse - In short, you can't! Git requires sudo permissions to update.  sudo is not supported in Cloud Shell, so you won't be able to update manually. I spoke to the cloud shell team and this will likely get grouped in with some overall images updates that we have coming later in the year as well.


Rd creation with same

What issues does this address?
PROBLEM
After testing new driver for HPB in our lab and technical environment, we just deployed the packages in Production. Unfortunately we are not able to create lbaas objects in internal networks. After some tests we discovered the problem is f5 agent is trying to create self ips using the same route domain id in both f5 units , however ids are assgined locally and they are different in both units, and therefore self ip can't be created in both units using the same route domain ids.
What's this change do?
Currently the f5-openstack-agent creates route domains in two cases:

Whenever a tenant is created (tenants.py -> assure_tenant_create 74:87)

Whenever a service request is made for a tenant where the neutron subnet ID associated with a loadbalancer or pool member overlaps the CIDR block for a previously requests subnet ID (network_service -> _create_aux_rd 349:362)

Both of these cases interate through each bigip associated with the agent calling the network_helper.py -> create_route_domain method. This method in turn calls the _get_next_domain_id method which finds the lowest available route domain ID on that specific bigip device. This method does not check that the route domain ID returned by a particular bigip is consistant with the other bigips associated wtih the agent. If for some reason, the ids are not consistant, this creates a provisioning (create and delete) error.
The recommendation is that the calls to network_helper.py create_route_domain and _get_next_domain_id be altered to include all bigips, removing the iteration. Within the _get_next_domain_id method, the available route domain IDs are collect from all associated bigip devices, the lowest route domain which is coherent on all devices selected and returned. The recommendation is to only return a route domain which is consistant on all bigips.
Initial test result in local sandbox: works ok:
2018-12-10 17:36:50.457 4659 DEBUG f5_openstack_agent.lbaasv2.drivers.bigip.network_service [req-bbace356-67c4-41d1-be00-bb3ac09decf9 2d26c96aa0f345eaafc3f5b50d2bbd8e fde45211da0a44ecbf38cb0b644ab30d - - -] Allocated route domain 3 for tenant fde45211da0a44ecbf38cb0b644ab30d _create_aux_rd /usr/lib/python2.7/site-packages/f5_openstack_agent/lbaasv2/drivers/bigip/network_service.py:377
2018-12-10 17:36:50.457 4659 DEBUG f5_openstack_agent.lbaasv2.drivers.bigip.network_service [req-bbace356-67c4-41d1-be00-bb3ac09decf9 2d26c96aa0f345eaafc3f5b50d2bbd8e fde45211da0a44ecbf38cb0b644ab30d - - -] Tenant fde45211da0a44ecbf38cb0b644ab30d now has 1 route domains assign_route_domain /usr/lib/python2.7/site-packages/f5_openstack_agent/lbaasv2/drivers/bigip/network_service.py:345

close it and reopen a new pull request for refactor commits.
https://github.com/F5Networks/f5-openstack-agent/pull/1388


ipam: modifying the network segment of a cilium pod pool in cluster-pool mode has no effect

Is there an existing issue for this?

[X] I have searched the existing issues

What happened?
I modified the contents of the values.yaml file as follows:
ipam:
  # -- Configure IP Address Management mode.
  # ref: https://docs.cilium.io/en/stable/network/concepts/ipam/
  mode: "cluster-pool"
  # -- Maximum rate at which the CiliumNode custom resource is updated.
  ciliumNodeUpdateRate: "5s"
  operator:
    # -- IPv4 CIDR list range to delegate to individual nodes for IPAM.
    clusterPoolIPv4PodCIDRList: <IP_ADDRESS>/16
    # -- IPv4 CIDR mask size to delegate to individual nodes for IPAM.
    clusterPoolIPv4MaskSize: 24
    # -- IPv6 CIDR list range to delegate to individual nodes for IPAM.
    clusterPoolIPv6PodCIDRList: ["fd00::/104"]
    # -- IPv6 CIDR mask size to delegate to individual nodes for IPAM.
    clusterPoolIPv6MaskSize: 120
    # -- IP pools to auto-create in multi-pool IPAM mode.
    # autoCreateCiliumPodIPPools: {}
      # default:
      #   ipv4:
      #     cidrs:
      #       - <IP_ADDRESS>/8
      #     maskSize: 24
      # other:
      #   ipv6:
      #     cidrs:
      #       - fd00:100::/80
      #     maskSize: 96
    # -- The maximum burst size when rate limiting access to external APIs.
    # Also known as the token bucket capacity.
    # @default -- `20`
    externalAPILimitBurstSize: ~
    # -- The maximum queries per second when rate limiting access to
    # external APIs. Also known as the bucket refill rate, which is used to
    # refill the bucket up to the burst size capacity.
    # @default -- `4.0`
    externalAPILimitQPS: ~

I specified clusterPoolIPv4PodCIDRList: <IP_ADDRESS>/16
View cilium configuration file
$ k -n kube-system get cm  cilium-config -o yaml
apiVersion: v1
data:
  agent-not-ready-taint-key: node.cilium.io/agent-not-ready
  arping-refresh-period: 30s
  auto-direct-node-routes: "false"
  bpf-lb-external-clusterip: "false"
  bpf-lb-map-max: "65536"
  bpf-lb-sock: "false"
  bpf-map-dynamic-size-ratio: "0.0025"
  bpf-policy-map-max: "16384"
  bpf-root: /sys/fs/bpf
  cgroup-root: /run/cilium/cgroupv2
  cilium-endpoint-gc-interval: 5m0s
  cluster-id: "0"
  cluster-name: default
  cluster-pool-ipv4-cidr: <IP_ADDRESS>/16
  cluster-pool-ipv4-mask-size: "24"
  cni-exclusive: "true"
  cni-log-file: /var/run/cilium/cilium-cni.log
  cnp-node-status-gc-interval: 0s
  custom-cni-conf: "false"
  debug: "true"
  debug-verbose: ""
  disable-cnp-status-updates: "true"
  egress-gateway-reconciliation-trigger-interval: 1s
  enable-auto-protect-node-port-range: "true"
  enable-bgp-control-plane: "false"
  enable-bpf-clock-probe: "false"
  enable-endpoint-health-checking: "true"
  enable-external-ips: "false"
  enable-health-check-nodeport: "true"
  enable-health-checking: "true"
  enable-host-port: "false"
  enable-hubble: "true"
  enable-ipv4: "true"
  enable-ipv4-big-tcp: "false"
  enable-ipv4-masquerade: "true"
  enable-ipv6: "false"
  enable-ipv6-big-tcp: "false"
  enable-ipv6-masquerade: "true"
  enable-k8s-networkpolicy: "true"
  enable-k8s-terminating-endpoint: "true"
  enable-l2-neigh-discovery: "true"
  enable-l7-proxy: "true"
  enable-local-redirect-policy: "false"
  enable-node-port: "false"
  enable-policy: default
  enable-remote-node-identity: "true"
  enable-sctp: "false"
  enable-svc-source-range-check: "true"
  enable-vtep: "false"
  enable-well-known-identities: "false"
  enable-xt-socket-fallback: "true"
  external-envoy-proxy: "false"
  hubble-disable-tls: "false"
  hubble-listen-address: :4244
  hubble-socket-path: /var/run/cilium/hubble.sock
  hubble-tls-cert-file: /var/lib/cilium/tls/hubble/server.crt
  hubble-tls-client-ca-files: /var/lib/cilium/tls/hubble/client-ca.crt
  hubble-tls-key-file: /var/lib/cilium/tls/hubble/server.key
  identity-allocation-mode: crd
  identity-gc-interval: 15m0s
  identity-heartbeat-timeout: 30m0s
  install-no-conntrack-iptables-rules: "false"
  ipam: cluster-pool
  ipam-cilium-node-update-rate: 5s
  k8s-client-burst: "10"
  k8s-client-qps: "5"
  kube-proxy-replacement: "false"
  kube-proxy-replacement-healthz-bind-address: ""
  mesh-auth-enabled: "true"
  mesh-auth-gc-interval: 5m0s
  mesh-auth-queue-size: "1024"
  mesh-auth-rotated-identities-queue-size: "1024"
  monitor-aggregation: medium
  monitor-aggregation-flags: all
  monitor-aggregation-interval: 5s
  node-port-bind-protection: "true"
  nodes-gc-interval: 5m0s
  operator-api-serve-addr: <IP_ADDRESS>:9234
  preallocate-bpf-maps: "false"
  procfs: /host/proc
  proxy-connect-timeout: "2"
  proxy-max-connection-duration-seconds: "0"
  proxy-max-requests-per-connection: "0"
  proxy-prometheus-port: "9964"
  remove-cilium-node-taints: "true"
  routing-mode: tunnel
  set-cilium-is-up-condition: "true"
  set-cilium-node-taints: "true"
  sidecar-istio-proxy-image: cilium/istio_proxy
  skip-cnp-status-startup-clean: "false"
  synchronize-k8s-nodes: "true"
  tofqdns-dns-reject-response-code: refused
  tofqdns-enable-dns-compression: "true"
  tofqdns-endpoint-max-ip-per-hostname: "50"
  tofqdns-idle-connection-grace-period: 0s
  tofqdns-max-deferred-connection-deletes: "10000"
  tofqdns-proxy-response-max-delay: 100ms
  tunnel-protocol: vxlan
  unmanaged-pod-watcher-interval: "15"
  vtep-cidr: ""
  vtep-endpoint: ""
  vtep-mac: ""
  vtep-mask: ""
  write-cni-conf-when-ready: /host/etc/cni/net.d/05-cilium.conflist
kind: ConfigMap
metadata:
  annotations:
    meta.helm.sh/release-name: cilium
    meta.helm.sh/release-namespace: kube-system
  creationTimestamp: "2023-09-25T16:16:22Z"
  labels:
    app.kubernetes.io/managed-by: Helm
  name: cilium-config
  namespace: kube-system
  resourceVersion: "95084"
  uid: a4f7d098-9202-449d-9553-4db52760bea2

  cluster-pool-ipv4-cidr: <IP_ADDRESS>/16
  cluster-pool-ipv4-mask-size: "24"

It is taking effect, but when I look at the cilium node, I see that it is still using the default <IP_ADDRESS>/8 segment and assigning the node the <IP_ADDRESS>/24 segment.
Cilium Version

$ k -n kube-system get daemonsets.apps -o wide
NAME     DESIRED   CURRENT   READY   UP-TO-DATE   AVAILABLE   NODE SELECTOR            AGE   CONTAINERS     IMAGES                                                                                SELECTOR
cilium   3         3         3       3            3           kubernetes.io/os=linux   14m   cilium-agent   m.daocloud.io/quay.io/cilium/cilium:v1.14.2@sha256:6263f3a3d5d63b267b538298dbeb5ae87da3efacf09a2c620446c873ba807d35   k8s-app=cilium

v1.14.2
Kernel Version
[root@kube-m2 ~]# uname  -a
Linux kube-m2 6.5.3-1.el7.elrepo.x86_64 #1 SMP PREEMPT_DYNAMIC Wed Sep 13 11:46:28 EDT 2023 x86_64 x86_64 x86_64 GNU/Linux
Kubernetes Version
[root@kube-m2 ~]# kubectl version
Client Version: v1.28.2
Kustomize Version: v5.0.4-0.20230601165947-6ce0bf390ce3
Server Version: v1.28.2
Sysdump
No response
Relevant log output
No response
Anything else?
No response
Code of Conduct

[X] I agree to follow this project's Code of Conduct

Hi, changing an existing value of clusterPoolIPv4PodCIDRList is not supported as mentioned in the documentation. You need to delete the existing CiliumNodes and recreate all pods.

kubectl get ciliumnode
kubectl delete ciliumnode


Use PHP-specific examples in ISSUE_TEMPLATE.md

Description
As sugested by @philsturgeon in https://github.com/thephpleague/skeleton/pull/89#discussion_r75870490, PHP-specific examples are used in the section "Your environment".
Types of changes
What types of changes does this code introduce?

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Wicked! Thanks chap.


added italian language

credits to manu from la experimental ;)

Codecov Report

Merging #293 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #293   +/-   ##
=======================================
  Coverage   98.62%   98.62%
=======================================
  Files         142      142
  Lines        2035     2035
=======================================
  Hits         2007     2007
  Misses         28       28

Impacted Files
Coverage Δ

...nts/_languageChooser/languageChooser.controller.js
100% <ø> (ø)
:white_check_mark:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update f59746f...7ddaa00. Read the comment docs.


Having trouble installing the tested versions of NumPy and Pandas in a Jupyter Notebook custom environment

Hi,
I hope this message finds you well. I am having trouble installing the tested versions of NumPy and Pandas in a Jupyter Notebook custom environment with the tested version of python. The tested version of biopython was installed without a problem.
!conda create --name AFM_LIS python=3.6.7 ipykernel -y
!conda install numpy=1.19.4 pandas=1.1.4 biopython=1.78 -y
Channels:
 - defaults
Platform: linux-64
Collecting package metadata (repodata.json): done
Solving environment: failed
PackagesNotFoundError: The following packages are not available from current channels:
 - numpy=1.19.4*
 - pandas=1.1.4*
Current channels:
  - defaults
Can I run AFM-LIS with the most up-to-date versions of python, NumPy, and Pandas? Do I need to install openpyxl as well for the excel files? Please let me know the best way to install the required packages when you have time.
Thank you,
Franz

Hi Franz,
Thanks for letting me know this!
Since I have been using the jupyter notebook in the school server, I haven't notice such issue. I will mention the version of openpyxl I am using to the requirement in README.
I wish this notebook is helpful for your PPI prediction!
Best,
Ah-Ram

Yes, it definitely will be! Thank you for making it!


Adds protocol buffer definitions for user input metadata

The user_metadata.proto defines the top-level message type for our *.textproto files.

These describe the schema for the .textprotos in #3. Some more information on protobufs can be found here.


Enable Dart beta and Flutter beta in CI

dart analyze in Ci fails because of https://github.com/leancodepl/flutter_corelibrary/issues/96.


docs: Fix @example comments to adhere to TSDoc spec

The TSDoc spec notes that an @example comment with contents on the same line as the tag should treat the first line as the title of that example. We had a number of comments that had example body contents on the same line as the tag. This PR adjusts contents to better adhere to the spec.
It also makes some line spacing improvements to enhance readability, and makes some other misc. comment improvements.
@example spec: https://tsdoc.org/pages/tags/example/

PR updating our api-documenter library to correctly use title lines in generated contents: #17217


Publish for 3.0.0-RC2

Are there any dependencies blocking a publish of 0.14.0-M4 for 3.0.0-RC2?

I don't think so. I can plan to publish a release for 3.0.0-RC2 this evening (although it'll need to be M5, since there are some necessary patch version bumps since M4, and I want to avoid differing dependency versions across Scala version artifacts).

Sounds good to me.

https://twitter.com/travisbrown/status/1379493859785388033

Yep, thanks!

@travisbrown it seems that circe-generic was cross-published to Scala 3.0.0-M3 for ScalaJS at version 0.14.0-M3, but it doesn't seem to be for 3.0.0-RC2 at version 0.14.0-M5.
https://search.maven.org/search?q=g:io.circe AND a:circe-generic_sjs1_*
Is this an oversight, or did something break in between that needs fixing before it can be published?
I'm asking because I'm trying to make sttp-circe work on ScalaJS for Scala 3.0.0-RC2.
Thank you!

@nightscape This wasn't an oversight, there were just failures building or publishing several of the Scala.js modules for Scala 3, and I hadn't had time to investigate them. It looks like the circe-generic issue was fairly simple and should be resolved by #1720.

@travisbrown ah, great! Then I'll wait for 0.14.0-M6 and continue my sttp-circe efforts then 👍

@nightscape I could publish an 0.14.0-M5 circe-generic_sjs specifically today. I wouldn't publish omitted modules separately like that for a proper release, but for a milestone I don't see a problem with it, since the change was only for a test dependency.

That would be perfect! Thanks a lot!

@nightscape Okay, it's on its way to Maven Central. We exclude test dependencies from the POMs, so there shouldn't be any discrepancies from the JVM circe-generic 0.14.0-M5 even in the metadata.


cert manager cant login to Vault if the auth role is scoped under a vault namespace

Bugs should be filed for issues encountered whilst operating cert-manager.
You should first attempt to resolve your issues through the community support
channels, e.g. Slack, in order to rule out individual configuration errors.
Please provide as much detail as possible.

Describe the bug:
Vault Namespace is a enterprise feature provided by Vault. Currently there is only two way to include the vault namespace through the API call:

https://vault.local/v1/$VAULT_NAMESPACE/auth/approle/login (add namespace to the URL path)
--header "X-VAULT-NAMESPACE: $VAULT_NAMESPACE"  https://vault.local/v1/auth/approle/login ( include the namespace in the header)

Since the approle login path is hardcoded here and that there is no other way to provide a header into that API call,  therefore there is no way to authenticate to Vault with approle.
Expected behaviour:
There is a field where we can include vault namespace
Steps to reproduce the bug:

create a namespace inside Vault
create approle role under that namespace
set up vault as an issuer following this steps

Anything else we need to know?:
Environment details::

Kubernetes version (e.g. v1.10.2): v.1.11
Cloud-provider/provisioner (e.g. GKE, kops AWS, etc): GKE
cert-manager version (e.g. v0.4.0): v0.9
vault: Vault Enterprise

/kind bug

@anthonyho007 Thanks for reporting this. This sounds like a useful feature and should be relatively straightforward to implement. This isn't on the Jetstack roadmap for cert-manager right now, but it'd a good first issue if someone else wants to contribute the implementation and we'll support with code-reviews and guidance if necessary.
/kind feature
/area vault
/priority backlog

/kind feature
/area vault
/priority backlog
/help
/good-first-issue