Segfault in mavsdk_server

Program terminated with signal SIGSEGV, Segmentation fault.
#0  0x00007f80767d6a46 in std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release (this=0x7f8038007c20) at /usr/include/c++/9.3.0/bits/shared_ptr_base.h:155
155		    _M_dispose();
[Current thread is 1 (Thread 0x7f803ffff700 (LWP 1939995))]
(gdb) bt
#0  0x00007f80767d6a46 in std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release (this=0x7f8038007c20) at /usr/include/c++/9.3.0/bits/shared_ptr_base.h:155
#1  0x00007f80767d4769 in std::__shared_count<(__gnu_cxx::_Lock_policy)2>::~__shared_count (this=0x7f803fffe498, __in_chrg=<optimized out>) at /usr/include/c++/9.3.0/bits/shared_ptr_base.h:730
#2  0x00007f80767dcdae in std::__shared_ptr<std::promise<void>, (__gnu_cxx::_Lock_policy)2>::~__shared_ptr (this=0x7f803fffe490, __in_chrg=<optimized out>) at /usr/include/c++/9.3.0/bits/shared_ptr_base.h:1169
#3  0x00007f80767dcdca in std::shared_ptr<std::promise<void> >::~shared_ptr (this=0x7f803fffe490, __in_chrg=<optimized out>) at /usr/include/c++/9.3.0/bits/shared_ptr.h:103
#4  0x00007f80767deae7 in mavsdk::backend::TelemetryServiceImpl<mavsdk::Telemetry>::SubscribeInAir (this=0x55a4434c15b0, writer=0x7f803fffe820) at /home/julianoes/src/MAVSDK/src/backend/src/plugins/telemetry/telemetry_service_impl.h:1116
#5  0x00007f8076bbba85 in std::__invoke_impl<grpc::Status, grpc::Status (mavsdk::rpc::telemetry::TelemetryService::Service::* const&)(grpc_impl::ServerContext*, mavsdk::rpc::telemetry::SubscribeInAirRequest const*, grpc_impl::ServerWriter<mavsdk::rpc::telemetry::InAirResponse>*), mavsdk::rpc::telemetry::TelemetryService::Service*, grpc_impl::ServerContext*, mavsdk::rpc::telemetry::SubscribeInAirRequest const*, grpc_impl::ServerWriter<mavsdk::rpc::telemetry::InAirResponse>*> (
    __f=@0x55a4434bf4c8: &virtual mavsdk::rpc::telemetry::TelemetryService::Service::SubscribeInAir(grpc_impl::ServerContext*, mavsdk::rpc::telemetry::SubscribeInAirRequest const*, grpc_impl::ServerWriter<mavsdk::rpc::telemetry::InAirResponse>*), __t=@0x7f803fffe738: 0x55a4434c15b0)
    at /usr/include/c++/9.3.0/bits/invoke.h:73
#6  0x00007f8076bb6a71 in std::__invoke<grpc::Status (mavsdk::rpc::telemetry::TelemetryService::Service::* const&)(grpc_impl::ServerContext*, mavsdk::rpc::telemetry::SubscribeInAirRequest const*, grpc_impl::ServerWriter<mavsdk::rpc::telemetry::InAirResponse>*), mavsdk::rpc::telemetry::TelemetryService::Service*, grpc_impl::ServerContext*, mavsdk::rpc::telemetry::SubscribeInAirRequest const*, grpc_impl::ServerWriter<mavsdk::rpc::telemetry::InAirResponse>*> (
    __fn=@0x55a4434bf4c8: &virtual mavsdk::rpc::telemetry::TelemetryService::Service::SubscribeInAir(grpc_impl::ServerContext*, mavsdk::rpc::telemetry::SubscribeInAirRequest const*, grpc_impl::ServerWriter<mavsdk::rpc::telemetry::InAirResponse>*)) at /usr/include/c++/9.3.0/bits/invoke.h:96
#7  0x00007f8076babc0f in std::_Mem_fn_base<grpc::Status (mavsdk::rpc::telemetry::TelemetryService::Service::*)(grpc_impl::ServerContext*, mavsdk::rpc::telemetry::SubscribeInAirRequest const*, grpc_impl::ServerWriter<mavsdk::rpc::telemetry::InAirResponse>*), true>::operator()<mavsdk::rpc::telemetry::TelemetryService::Service*, grpc_impl::ServerContext*, mavsdk::rpc::telemetry::SubscribeInAirRequest const*, grpc_impl::ServerWriter<mavsdk::rpc::telemetry::InAirResponse>*> (this=0x55a4434bf4c8) at /usr/include/c++/9.3.0/functional:114
#8  0x00007f8076b99f9e in std::_Function_handler<grpc::Status (mavsdk::rpc::telemetry::TelemetryService::Service*, grpc_impl::ServerContext*, mavsdk::rpc::telemetry::SubscribeInAirRequest const*, grpc_impl::ServerWriter<mavsdk::rpc::telemetry::InAirResponse>*), std::_Mem_fn<grpc::Status (mavsdk::rpc::telemetry::TelemetryService::Service::*)(grpc_impl::ServerContext*, mavsdk::rpc::telemetry::SubscribeInAirRequest const*, grpc_impl::ServerWriter<mavsdk::rpc::telemetry::InAirResponse>*)> >::_M_invoke(std::_Any_data const&, mavsdk::rpc::telemetry::TelemetryService::Service*&&, grpc_impl::ServerContext*&&, mavsdk::rpc::telemetry::SubscribeInAirRequest const*&&, grpc_impl::ServerWriter<mavsdk::rpc::telemetry::InAirResponse>*&&) (__functor=..., __args#0=@0x7f803fffe738: 0x55a4434c15b0, __args#1=@0x7f803fffe730: 0x7f8038003da0, __args#2=@0x7f803fffe728: 0x7f8038003330, __args#3=@0x7f803fffe720: 0x7f803fffe820)
    at /usr/include/c++/9.3.0/bits/std_function.h:286
#9  0x00007f8076c34765 in std::function<grpc::Status (mavsdk::rpc::telemetry::TelemetryService::Service*, grpc_impl::ServerContext*, mavsdk::rpc::telemetry::SubscribeInAirRequest const*, grpc_impl::ServerWriter<mavsdk::rpc::telemetry::InAirResponse>*)>::operator()(mavsdk::rpc::telemetry::TelemetryService::Service*, grpc_impl::ServerContext*, mavsdk::rpc::telemetry::SubscribeInAirRequest const*, grpc_impl::ServerWriter<mavsdk::rpc::telemetry::InAirResponse>*) const (this=0x55a4434bf4c8, __args#0=0x55a4434c15b0, __args#1=0x7f8038003da0, __args#2=0x7f8038003330, __args#3=0x7f803fffe820)
    at /usr/include/c++/9.3.0/bits/std_function.h:688
#10 0x00007f8076bf7cd3 in grpc_impl::internal::ServerStreamingHandler<mavsdk::rpc::telemetry::TelemetryService::Service, mavsdk::rpc::telemetry::SubscribeInAirRequest, mavsdk::rpc::telemetry::InAirResponse>::RunHandler(grpc::internal::MethodHandler::HandlerParameter const&)::{lambda()#1}::operator()() const (
    this=0x55a4434bf4c0) at /home/julianoes/src/MAVSDK/build/default/third_party/install/include/grpcpp/impl/codegen/method_handler_impl.h:194
#11 0x00007f8076c347bc in grpc_impl::internal::CatchingFunctionHandler<grpc_impl::internal::ServerStreamingHandler<mavsdk::rpc::telemetry::TelemetryService::Service, mavsdk::rpc::telemetry::SubscribeInAirRequest, mavsdk::rpc::telemetry::InAirResponse>::RunHandler(grpc::internal::MethodHandler::HandlerParameter const&)::{lambda()#1}>(grpc_impl::internal::ServerStreamingHandler<mavsdk::rpc::telemetry::TelemetryService::Service, mavsdk::rpc::telemetry::SubscribeInAirRequest, mavsdk::rpc::telemetry::InAirResponse>::RunHandler(grpc::internal::MethodHandler::HandlerParameter const&)::{lambda()#1}&&) (handler=...)
    at /home/julianoes/src/MAVSDK/build/default/third_party/install/include/grpcpp/impl/codegen/method_handler_impl.h:48
#12 0x00007f8076bf7db4 in grpc_impl::internal::ServerStreamingHandler<mavsdk::rpc::telemetry::TelemetryService::Service, mavsdk::rpc::telemetry::SubscribeInAirRequest, mavsdk::rpc::telemetry::InAirResponse>::RunHandler (this=0x55a4434bf4c0, param=...)
    at /home/julianoes/src/MAVSDK/build/default/third_party/install/include/grpcpp/impl/codegen/method_handler_impl.h:190
#13 0x00007f8076832778 in grpc_impl::Server::SyncRequest::CallData::ContinueRunAfterInterception (this=0x7f8038003d40) at /home/julianoes/src/MAVSDK/build/default/third_party/grpc/grpc/src/grpc/src/cpp/server/server_cc.cc:502
#14 0x00007f8076832593 in grpc_impl::Server::SyncRequest::CallData::Run (this=0x7f8038003d40, global_callbacks=std::shared_ptr<grpc_impl::Server::GlobalCallbacks> (use count 11, weak count 0) = {...}, resources=true)
    at /home/julianoes/src/MAVSDK/build/default/third_party/grpc/grpc/src/grpc/src/cpp/server/server_cc.cc:489
#15 0x00007f8076832cf5 in grpc_impl::Server::SyncRequestThreadManager::DoWork (this=0x55a4434f24f0, tag=0x55a4434f7db0, ok=true, resources=true) at /home/julianoes/src/MAVSDK/build/default/third_party/grpc/grpc/src/grpc/src/cpp/server/server_cc.cc:900
#16 0x00007f807684dabb in grpc::ThreadManager::MainWorkLoop (this=0x55a4434f24f0) at /home/julianoes/src/MAVSDK/build/default/third_party/grpc/grpc/src/grpc/src/cpp/thread_manager/thread_manager.cc:211
#17 0x00007f807684d011 in grpc::ThreadManager::WorkerThread::Run (this=0x7f801c004740) at /home/julianoes/src/MAVSDK/build/default/third_party/grpc/grpc/src/grpc/src/cpp/thread_manager/thread_manager.cc:43
#18 0x00007f807684ceac in grpc::ThreadManager::WorkerThread::<lambda(void*)>::operator()(void *) const (__closure=0x0, th=0x7f801c004740) at /home/julianoes/src/MAVSDK/build/default/third_party/grpc/grpc/src/grpc/src/cpp/thread_manager/thread_manager.cc:35
#19 0x00007f807684cecc in grpc::ThreadManager::WorkerThread::<lambda(void*)>::_FUN(void *) () at /home/julianoes/src/MAVSDK/build/default/third_party/grpc/grpc/src/grpc/src/cpp/thread_manager/thread_manager.cc:35
#20 0x00007f807715fd47 in grpc_core::(anonymous namespace)::ThreadInternalsPosix::<lambda(void*)>::operator()(void *) const (__closure=0x0, v=0x7f802c005520) at /home/julianoes/src/MAVSDK/build/default/third_party/grpc/grpc/src/grpc/src/core/lib/gprpp/thd_posix.cc:140
#21 0x00007f807715fd91 in grpc_core::(anonymous namespace)::ThreadInternalsPosix::<lambda(void*)>::_FUN(void *) () at /home/julianoes/src/MAVSDK/build/default/third_party/grpc/grpc/src/grpc/src/core/lib/gprpp/thd_posix.cc:145
#22 0x00007f8074b7646f in start_thread () from /usr/lib/libpthread.so.0
#23 0x00007f807501b3d3 in clone () from /usr/lib/libc.so.6

This often happens when python3 examples/telemetry_takeoff_and_land.py is used.

And this one looks similar:
==185243== Invalid read of size 4
==185243==    at 0x6E61050: __pthread_mutex_unlock_full (in /usr/lib/libpthread-2.31.so)
==185243==    by 0x666EF1: __gthread_mutex_unlock(pthread_mutex_t*) (gthr-default.h:779)
==185243==    by 0x667399: std::mutex::unlock() (std_mutex.h:118)
==185243==    by 0x671D3A: std::lock_guard<std::mutex>::~lock_guard() (std_mutex.h:165)
==185243==    by 0x6A9B22: mavsdk::backend::CameraServiceImpl<testing::NiceMock<mavsdk::testing::MockCamera> >::SubscribeVideoStreamInfo(grpc_impl::ServerContext*, mavsdk::rpc::camera::SubscribeVideoStreamInfoRequest const*, grpc_impl::ServerWriter<mavsdk::rpc::camera::VideoStreamInfoResponse>*)::{lambda(mavsdk::Camera::VideoStreamInfo)#1}::operator()(mavsdk::Camera::VideoStreamInfo) const (camera_service_impl.h:758)
==185243==    by 0x6B9D6F: std::_Function_handler<void (mavsdk::Camera::VideoStreamInfo), mavsdk::backend::CameraServiceImpl<testing::NiceMock<mavsdk::testing::MockCamera> >::SubscribeVideoStreamInfo(grpc_impl::ServerContext*, mavsdk::rpc::camera::SubscribeVideoStreamInfoRequest const*, grpc_impl::ServerWriter<mavsdk::rpc::camera::VideoStreamInfoResponse>*)::{lambda(mavsdk::Camera::VideoStreamInfo)#1}>::_M_invoke(std::_Any_data const&, mavsdk::Camera::VideoStreamInfo&&) (std_function.h:300)
==185243==    by 0x67903A: std::function<void (mavsdk::Camera::VideoStreamInfo)>::operator()(mavsdk::Camera::VideoStreamInfo) const (std_function.h:688)
==185243==    by 0x646935: (anonymous namespace)::CameraServiceImplTest::checkSendsVideoStreamInfo(std::vector<mavsdk::Camera::VideoStreamInfo, std::allocator<mavsdk::Camera::VideoStreamInfo> > const&) const (camera_service_impl_test.cpp:535)
==185243==    by 0x6465AF: (anonymous namespace)::CameraServiceImplTest_sendsOneVideoStreamInfo_Test::TestBody() (camera_service_impl_test.cpp:511)
==185243==    by 0x6F8A94C: void testing::internal::HandleSehExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) (gtest.cc:2593)
==185243==    by 0x6F83212: void testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) (gtest.cc:2629)
==185243==    by 0x6F5DFD1: testing::Test::Run() (gtest.cc:2668)
==185243==  Address 0x9cdb520 is on thread 5's stack
==185243==  592 bytes below stack pointer
==185243==


Failed order causes process exit 0

When placing a buy order @ Kraken, I got the following error in my log, which caused the process to exit with code 0:
<Kraken> Trying to send a "buy" limit order: xxxxxxx @ $4489.00...
{"error": ["EService:Unavailable"]}

...which resulted in: blackbird_blackbird_1 exited with code 0
Expected behaviour would be to retry placing the order (if the entry/exit is still available).

Had the same in the past. But it is maybe a bit more complicated, since the second order on the other exchange is possibly already placed and executed. Maybe the easiest way atm is to clear this manually and start again.


Remove dcarley

I've stopped using Boxen.
Raising the PR for visibility rather than review.
/cc @philandstuff

🎉


WIP: Add metadata types / refactor API types

Adds:

Specific types for various kinds of metadata
Narrower scope which is more usable for parameters fields
Types that hold OSB-specific fields for all resources

Just submitting the type changes for now.  Obviously this will create changes throughout the codebase which I will make once we have agreed on the API changes.
Fixes: #218 #270

I have mixed feelings about this.
On the one hand the idea of defining these fields in a less OSBAPI way feels good because it means we're not as tied to that one API.  But on the other hand, it feels like we're encouraging changes that are not tied to "the API". Or put another way, does trying to hide the fact we're OSBAPI-compliant encourage us to go beyond, or differ from, the spec we're trying to gain interop around?
In one respect you can look at this as just a syntax change, dropping the "OSB" letters from properties and defining logical groupings/structs for them, but one nice thing about having them in their current form is that it makes it clear which things are part of the spec we're following and which are extensions/differences. It also makes it easier for newbies to see how this relates to the spec we're adhering to. This PR forces a mapping (not just in words but in type structures) for them, and I'm not sure what the benefit is for our end-user's understanding.
If we had other APIs we wanted to support immediately then this would be an easier thing to accept.
Just pondering...

Yep, no rush to get this in. I had actually wanted to just wanted to get metadata types in and all of this wound up happening.
Another API I coukd see us implementing (but don't know enough about it yet to understand how good of a fit it is from an API perspective) is APS.  I have no immdiate plans to implement any other APIs but I think it would be b st to avoid thinking of our API as just a twin to OSB. I think we should give ourselves the latitude to do what makes sense for us rather than being constrained by how the OSB currently is. I also think that certain parts of the OSB API are very un-kube andl that we need to adapt them into a k8s-like API for things to make sense to users that don't and won't know about the implementation details of the OSB API.
I did try to split into subtypes based on the fields that I felt were more 'universal' (example: 'tags') and which were obviously only artifacts of the OSB API (max db per node). The feeling I had while doing that is that it is an incremental improvement and we might wind up doing another refactoring later. We do have that capability, because this is an alpha API.

Btw @duglin how did you feel about the metadata fields? If you like thise, i can pull them into another less intrusive PR.

After talking with @duglin this morning, I'm going to close this PR and add some flat fields for metadata for now.  We can iterate to find the right factoring as we go.
For the record this is basically an opinionated idea for what the right decomposition of objects is into 'universal' fields and fields which are very specific to the OSB API.


linker link.exe not found

I am a Windows 10 user and i want to use neovide, i installed rust, cmake and llvm. cloned the repository. when i cd into it and type
cargo build --release i have error : linker link.exe not found several times in the output . at the end it says build failed. can someone help me please ?

The error message clearly says "note: please ensure that VS 2013, VS 2015 or VS 2017 was installed with the Visual C++ option"
You can follow these instructions.
Download Build Tools for Visual Studio 2019 and install "C++ build tools".

Yeah I agree with @Zohnannor I would try either installing the build tools for visual studio or visual studio community. Also once those are installed I have found running the developer command prompt that comes with it sometimes fixes this sort of issue.

Closing as no response was given.


Dump generated values as JSON

I was getting some syntax errors when dumping as YAML,
possibly as discrepancies between ruamel.yaml vs go YAML.
I didn't wanna investigate too deply, so I switched the
generated values to JSON.

@GeorgianaElena yeah shouldn't be an issue. Plus, all JSON is valid YAML by design! So it works out.


Revert "Revert #30533: Automatically execute unbounded pipelines in streaming mode."

Reverts apache/beam#30706
This change was initially correct

We're taking a different (runner driven) approach here


Mark explicit plan in cupyx.scipy.fftpack.* a stable API?

The explicit plan argument in cupyx.scipy.fftpack.* and the get_fft_plan() function there were added in v6. I have used it extensively in production since then, and I also heard positive feedbacks (via private communication). The plans (Plan1d or PlanNd) returned by the get_fft_plan() handle can be reused either explicitly as an argument, or implicitly as a context manager. In other words, the plans can be used

implicitly in cupy.fft.fft.* (and later cupyx.scipy.fft.*)
explicitly in cupyx.scipy.fftpack.*

Given where we are now, and that the cupyx.scipy.fft API will be added soon (#2355) which do not take a plan as argument, I wonder if this nice feature can be removed from the "experimental" status and become a stable API. Thanks.

cupyx.scipy.fftpack.fft have plan keyword argument, but I think it might be better to support this feature as a method of plan. (That means an API like as plan.fft(x, ...) seems better to me.) So, I'm hesitating to make it as stable support. How do you think?

I consider the methods in Plan1d and PlanNd private APIs that are subject to change as deemed necessary anytime, so I really do not like the idea of exposing them to average users. It takes much more work to make them robust, easily accessible, and stable, than just marking plan stable.
In addition, using the low-level APIs directly means we lose all the benefits and conveniences that high-level API provides (require a lot of code change, extra work to prepare input & output arrays, etc). 👎 from me.
Since the master supports solely PY3 now, I suggest we can make plan a keyword-only argument.

I am throwing in some notes while refreshing my memory on pyFFTW. @grlee77 as one of the core maintainers for pyFFTW, please correct me if I am wrong 🙂
I think there is 1-to-1 correspondence between pyFFTW and CuPy's FFT support:

pyfftw.interfaces <-> cupy.fft/cupyx.scipy.fftpack
pyfftw.FFTW        <-> cupy.cuda.cufft.Plan1d/PlanNd
pyfftw.builders    <-> cupyx.scipy.fftpack.get_fft_plan

So, for keeping a similar interface with the best Python FFT library on CPU (does pocketfft win now?), get_fft_plan() should definitely be a public API.
Next, if we decide to polish and maintain Plan1d/PlanNd as noted in my earlier comment, they can also be made as public APIs, but it's a harder route that requires some work.
Finally, to counteract my standpoint, I note that in pyfftw.interfaces the API does not accept any FFTW (i.e., plan) object, but it's only because there plans can be cached for arbitrarily long time. If we're also willing to invest efforts into a plan cache, which was in fact part of the original discussion that led to the current plan support (#1669), then as a compromise -- I still think it's a good API and couldn't understand why pyFFTW didn't do a similar job -- I'll be on board with removing the plan argument from cupyx.scipy.fftpack.*.
@grlee77 I remember you had a prototype for plan cache. How did it go?

I think there is 1-to-1 correspondence between pyFFTW and CuPy's FFT support:
pyfftw.interfaces <-> cupy.fft/cupyx.scipy.fftpack
pyfftw.FFTW <-> cupy.cuda.cufft.Plan1d/PlanNd
pyfftw.builders <-> cupyx.scipy.fftpack.get_fft_plan

Yeah, this is pretty close. The pyFFTW builders also return a pyfftw.FFTW object, it is just a more convenient interface than calling pyfftw.FFTW directly.  In either case, the FFTW object has a __call__ method implemented so that the end-user can use it like a function.
e.g.
fft = pyfftw.builders.fft(...)
y = fft(x)  # applys a pre-planned transform
So I think the main difference between this FFTW object and the cupy PlanNd .fft method call that @asi1024 suggested above is that is uses the __call__ method so it looks more like a function to the end-user.

Since the master supports solely PY3 now, I suggest we can make plan a keyword-only argument.

I am +1 on making it keyword-only.
The need for the separate plan argument has been reduced somewhat by the ability to use the plans as a context manger, but I think it is convenient to still have the option to explicitly pass in a plan.
I think one issue with calling a method from a Plan object itself is that this is even less like the style of NumPy or SciPy fft code.

@grlee77 I remember you had a prototype for plan cache. How did it go?

I should revisit to recall the full details. I know I had a working implementation that was basically a copy of the pyFFTW one, but wanted to instead use a non time-based cache. I did start that somewhere, but haven't looked at it recently and never got around to making a PR for it.
In one recent application I have just been explicitly storing a given PlanNd object and using it as a context manager rather than relying on a plan cache. I think having a cache could still be useful, though.

does pocketfft win now?

It can be faster in some cases than non-preplanned pyFFTW or for small transform sizes due to lower overhead. I think pyFFTW still wins in general when using pre-planned transforms, but the relative benefit is much less than previously. For near-prime sizes, FFTPack could be orders of magnitude slower than pyFFTW, but pocketfft does not have that same weakness.

I know I had a working implementation that was basically a copy of the pyFFTW one, but wanted to instead use a non time-based cache.

I like a non-time-based cache. Before we migrated to GPUs and used cuFFT, we used pyFFTW a lot with a practically infinite timeout. Could you share with us just briefly why pyFFTW would like a timed one?
I just started looking into how PyTorch implements its cuFFT plan cache. Seems like they do not have any timeout:
https://github.com/pytorch/pytorch/tree/master/torch/backends/cuda (Python level)
https://github.com/pytorch/pytorch/blob/master/aten/src/ATen/native/cuda/CuFFTPlanCache.h (C++ level)
I will report back if I have any comments or thoughts for their approach.

Could you share with us just briefly why pyFFTW would like a timed one?

I don't know what the reasoning was for that choice. It has been that way since before I joined the project. I did see that there was some suggestion to change it to LRU a few years back, but it was not accepted at the time: pyFFTW/pyFFTW#129

scipy.fftpack.*s are not guaranteed never to support plan argument in the future, so we cannot assure you that we keep the backward compatibility of plan keyword argument of cupy.scipy.fftpack.*.

@asi1024 Don't worry too much 🙂
First, with scipy.fft being added in v1.4.0 and in preference to scipy.fftpack, the latter is considered as "long term legacy" (https://github.com/cupy/cupy/pull/2355#issuecomment-517325388) and maintained only for backward compatibility. I doubt there will be any change over its API.
Second, in the event that a plan argument is to be added to scipy.fftpack, we can and will try to coordinate the efforts (with @grlee77 and @peterbell10). For example, this SciPy issue title is renamed exactly for the need of CuPy discussed here, see https://github.com/scipy/scipy/issues/10302#issuecomment-517351532.

I think the discussion is not necessarily limted to fft, but about general policy on how CuPy supports a feature that is not in NumPy (or SciPy). It doesn't seem a good idea to add a CuPy-specific argument to NumPy- or SciPy-compatible functions in general.
If scipy.fftpack is "long term legacy", I have a feeling that we have no motivation to improve cupyx.scipy.fftpack.
Also, as there's an ongoing issue to add plan in scipy.fft as @leofang pointed out, I think we should wait for the argument there before making our own interface stable.

I think the discussion is not necessarily limted to fft, but about general policy on how CuPy supports a feature that is not in NumPy (or SciPy).

Agreed.

It doesn't seem a good idea to add a CuPy-specific argument to NumPy- or SciPy-compatible functions in general.

If it is made a keyword-only argument as discussed above, there is no compatibility issue and I don’t see why it is a concern. Could you elaborate more?

If scipy.fftpack is "long term legacy", I have a feeling that we have no motivation to improve cupyx.scipy.fftpack.

I don’t get it. What exactly do you mean here?

Also, as there's an ongoing issue to add plan in scipy.fft as @leofang pointed out, I think we should wait for the discussion there before making our own interface stable.

@niboshi It means a deadlock here. The discussion there is on hold largely because we need it here, yet we have not reached any consensus that can be communicated with upstream. As I said we need and can do a coordinated effort, but we need to land somewhere in order to move on. From what I see where we are heading to, this is getting frustrating...😥

If it is made a keyword-only argument as discussed above, there is no compatibility issue and I don’t see why it is a concern. Could you elaborate more?

If we have our own argument (even if it's keyword-only), it becomes problematic when other libraries adds the same argument with different meaning.
We would have to change the meaning of that argument, which would cause backward incompatibility.
Likeliness does not matter because this is about the general policy throughout CuPy.

If scipy.fftpack is "long term legacy", I have a feeling that we have no motivation to improve cupyx.scipy.fftpack.

I don’t get it. What exactly do you mean here?

I don't know what exactly "long term legacy" means, so I might be wrong, but I feel SciPy does not recommend using these functions. Why should we add new features to them, instead of new ones?

@niboshi It means a deadlock here. The discussion there is on hold largely because we need it here, yet we have not reached any consensus that can be communicated with upstream. As I said we need and can do a coordinated effort, but we need to land somewhere in order to move on. From what I perceive where we are heading to, this starts getting frustrating...😥

Hmm, I don't think they need our consensus here.
We don't expect them to follow our API, but we follow them.

If we have our own argument (even if it's keyword-only), it becomes problematic when other libraries adds the same argument with different meaning.
We would have to change the meaning of that argument, which would cause backward incompatibility.

@niboshi You are making the same argument as @asi1024 did earlier. I am not convinced that it is the scenario we need to worry about. In particular,

We don't expect them to follow our API, but we follow them.

this is a kinda passive view to me. We have SciPy-FFT folks @grlee77 @peterbell10 here & in the linked issue, and @grlee77 and I are familiar enough with CuPy. A coordinated effort is entirely possible (for whether and/or how to support a plan argument in scipy.fftpack). The preservation of backward and forward compatibilities will definitely be part of the decision making process to ensure neither scipy.fftpack nor cupyx.scipy.fftpack is broken. Perhaps you can put more faith in external contributors and be less worried. 🙂
Moreover,

Likeliness does not matter because this is about the general policy throughout CuPy

this is an argument I have seen more than once, but — correct me if I am mistaken — I cannot find any exact reference to it. For example, it’s not stated in the API Compatibility Policy here: https://docs-cupy.chainer.org/en/latest/compatibility.html.
Finally, there are two more technicalities that will make the situation not as complex as you guys insisted. First, as you reiterated in another PR, Python is a duck-typing language. So if plan is added by SciPy, it must have a different type than our Plan1d and PlanNd here, and we can just detect the type and split the code path. Second, SciPy now switches to pocketfft, which seems to keep plan not exposed to the Python space. Plus, my understanding is that a pocketfft plan can be generated very quickly. In short, they really have no motivation to add an explicit plan argument to support pre-generated plans, unless 3rd party libraries like us and pyFFTW requests so.

I don't know what exactly "long term legacy" means, so I might be wrong, but I feel SciPy does not recommend using these functions. Why should we add new features to them, instead of new ones?

@grlee77 @peterbell10 It would be nice if you could comment briefly on any of the SciPy parts in the above discussions. 😅

For those who follow the issue via email notification: I modified my response above to make my points clearer.

Hi @leofang. I think your summary of the SciPy side of things sounds correct.
I understand wanting to keep APIs consistent, but I also think there are practical considerations that warrant exceptions. For example IIRC, cupy.fft.fft has always preserved single precision dtypes while NumPy's version explicitly casts to double, so apparently an exception was already made in that case. When there is a clear performance or utility benefit to allowing something, then I think it makes sense to do so as long as it is clearly documented. Perhaps there could even be a specific documentation page that collects these exceptions in a central location for easier reference.
I was also under the impression that the cupyx module was perhaps a bit more accepting of such deviations than the core cupy API.

I think your summary of the SciPy side of things sounds correct.

Glad to confirm my understanding! Thank you, @grlee77.

I understand wanting to keep APIs consistent, but I also think there are practical considerations that warrant exceptions. For example IIRC, cupy.fft.fft has always preserved single precision dtypes while NumPy's version explicitly casts to double, so apparently an exception was already made in that case.

I can throw in more examples of such exceptions that were just vetted and made quite recently:

argmin/argmax have different signatures (#2595)
allclose does not return bool (#2799)

which echo what you said:

When there is a clear performance or utility benefit to allowing something, then I think it makes sense to do so as long as it is clearly documented.

As for documentation:

Perhaps there could even be a specific documentation page that collects these exceptions in a central location for easier reference.

I think in addition to do so in the docstrings, we could also add to https://docs-cupy.chainer.org/en/stable/reference/difference.html.

I was also under the impression that the cupyx module was perhaps a bit more accepting of such deviations than the core cupy API.

This is my impression too. Perhaps it was the reason we added plan to cupyx.scipy.fftpack in the first place, so I am really surprised at the pushbacks here...


docs: update nullabillity guard docs from onNullGuarded to onGuarded

onNullGuarded does not exist on "@nexus/schema": "^0.16.0",.
Btw the testing is failing because I need some API keys I think.


Improve arrays. Make index access simpler and safer

Improve array;
add NaN and Infinity;

Hm, It seems travis fail on addTwo tests

Let me checkout your branch and test manually

Problem with Assertion failed still presents. array.tbs compiles and executed normally, but others test failed

I think about it as well. And the best approach it should be like this:
declare type Float32Array   = Array< float32 >

But there is no possibility to compile it

I found the problem. Had to do the Array is non-exported


Fix tooltip positioning issues

Resolves: #8282
Resolves: #5693
Maybe: #5728
The tooltip fixture tests were not actually run after rename from core.tooltip to plugin.tooltip. The size of the tooltip had changed since, I did not find why. Probably something to do with color box padding. I updated the fixtures to match current behavior (after fixing the configs).

Not sure why its not running the actions.

Actions seem to be down https://www.githubstatus.com/

Filename
Size
Change

dist/chart.esm.js
67.1 kB
-10 B (0%)

dist/chart.js
84.8 kB
-10 B (0%)

dist/chart.min.js
60.4 kB
-6 B (0%)


[WIP] Experimental and opt-in Python 3 support for Python runner actions

This pull request adds experimental and opt-in support for using Python 3 for pack actions.
It continues work from other PRs - https://github.com/StackStorm/st2/pull/3922, https://github.com/StackStorm/st2/pull/4016, https://github.com/StackStorm/st2/pull/4075.
Our code changes in the past were a bit too optimistic and it turned out a lot more work is still needed to get that feature working.
The scope and target audience for this feature didn't change - it's still intended for advanced users and it's opt in - user needs to pass in --python3 flag to st2 pack install <pack name> CLI command and Python 3 binary will be used when creating virtual environment for that pack and for all the subsequent pack action executions.
As mentioned before, this feature is mostly meant as an experimental stop gap for advanced users until the whole platform supports Python 3 (aka StackStorm itself can run on Python 3).
We don't have any specific ETA for Python 3 support for the whole platform, but we are slowly and incrementally working towards it - every time I touch some code, I try to also make it work under Python 3 and and make sure tests for that code also run under Python 3 on Travis.
Included Changes
TBW
Example Usage
1. Not using Python 3 (default behavior)
$ st2 run packs.setup_virtualenv packs=examples
2018-05-28 13:57:14,306  WARNING - Auth API server is not available, skipping authentication.
....
id: 5b0c0abb0640fd0cd6d00546
status: succeeded
parameters:
  packs:
  - examples
result:
  exit_code: 0
  result: 'Successfuly set up virtualenv for the following packs: examples'
  stderr: 'st2.actions.python.SetupVirtualEnvironmentAction: DEBUG    Setting up virtualenv for pack "examples" (/opt/stackstorm/packs/examples)
    st2.actions.python.SetupVirtualEnvironmentAction: DEBUG    Removing virtualenv in "/opt/stackstorm/virtualenvs/examples"
    st2.actions.python.SetupVirtualEnvironmentAction: DEBUG    Creating virtualenv for pack "examples" in "/opt/stackstorm/virtualenvs/examples"
    st2.actions.python.SetupVirtualEnvironmentAction: DEBUG    Creating virtualenv in "/opt/stackstorm/virtualenvs/examples" using Python binary "/data/stanley/virtualenv/bin/python2.7"
    st2.actions.python.SetupVirtualEnvironmentAction: DEBUG    Running command "/data/stanley/virtualenv/bin/virtualenv -p /data/stanley/virtualenv/bin/python2.7 --system-site-packages --no-download /opt/stackstorm/virtualenvs/examples" to create virtualenv.
    st2.actions.python.SetupVirtualEnvironmentAction: DEBUG    Installing base requirements
    st2.actions.python.SetupVirtualEnvironmentAction: DEBUG    Installing requirement six>=1.9.0,<2.0 with command /opt/stackstorm/virtualenvs/examples/bin/pip install six>=1.9.0,<2.0.
    st2.actions.python.SetupVirtualEnvironmentAction: DEBUG    Installing pack specific requirements from "/opt/stackstorm/packs/examples/requirements.txt"
    st2.actions.python.SetupVirtualEnvironmentAction: DEBUG    Installing requirements from file /opt/stackstorm/packs/examples/requirements.txt with command /opt/stackstorm/virtualenvs/examples/bin/pip install -U -r /opt/stackstorm/packs/examples/requirements.txt.
    st2.actions.python.SetupVirtualEnvironmentAction: DEBUG    Virtualenv for pack "examples" successfully created in "/opt/stackstorm/virtualenvs/examples"
    '
  stdout: ''
$ st2 run examples.python_runner_print_python_version.
id: 5b0c0aca0640fd0cd6d00549
status: succeeded
parameters: None
result:
  exit_code: 0
  result: null
  stderr: ''
  stdout: "Using Python executable: /opt/stackstorm/virtualenvs/examples/bin/python
Using Python version: 2.7.6 (default, Jun 22 2015, 17:58:13)
[GCC 4.8.2]
"

2. Opting in and using Python 3 for a particular park
$ st2 run packs.setup_virtualenv packs=examples python3=true
id: 5b0c0af00640fd0cd6d0054c
status: succeeded
parameters:
  packs:
  - examples
  python3: true
result:
  exit_code: 0
  result: 'Successfuly set up virtualenv for the following packs: examples'
  stderr: 'st2.actions.python.SetupVirtualEnvironmentAction: DEBUG    Setting up virtualenv for pack "examples" (/opt/stackstorm/packs/examples)
    st2.actions.python.SetupVirtualEnvironmentAction: DEBUG    Removing virtualenv in "/opt/stackstorm/virtualenvs/examples"
    st2.actions.python.SetupVirtualEnvironmentAction: DEBUG    Creating virtualenv for pack "examples" in "/opt/stackstorm/virtualenvs/examples"
    st2.actions.python.SetupVirtualEnvironmentAction: DEBUG    Creating virtualenv in "/opt/stackstorm/virtualenvs/examples" using Python binary "/data/stanley/virtualenv/bin/python2.7"
    st2.actions.python.SetupVirtualEnvironmentAction: DEBUG    Running command "/data/stanley/virtualenv/bin/virtualenv -p /usr/bin/python3 --system-site-packages --no-download /opt/stackstorm/virtualenvs/examples" to create virtualenv.
    st2.actions.python.SetupVirtualEnvironmentAction: DEBUG    Installing base requirements
    st2.actions.python.SetupVirtualEnvironmentAction: DEBUG    Installing requirement six>=1.9.0,<2.0 with command /opt/stackstorm/virtualenvs/examples/bin/pip install six>=1.9.0,<2.0.
    st2.actions.python.SetupVirtualEnvironmentAction: DEBUG    Installing base Python 3requirements
    st2.actions.python.SetupVirtualEnvironmentAction: DEBUG    Installing requirement pyyaml>=3.12,<4.0 with command /opt/stackstorm/virtualenvs/examples/bin/pip install pyyaml>=3.12,<4.0.
    st2.actions.python.SetupVirtualEnvironmentAction: DEBUG    Installing pack specific requirements from "/opt/stackstorm/packs/examples/requirements.txt"
    st2.actions.python.SetupVirtualEnvironmentAction: DEBUG    Installing requirements from file /opt/stackstorm/packs/examples/requirements.txt with command /opt/stackstorm/virtualenvs/examples/bin/pip install -U -r /opt/stackstorm/packs/examples/requirements.txt.
    st2.actions.python.SetupVirtualEnvironmentAction: DEBUG    Virtualenv for pack "examples" successfully created in "/opt/stackstorm/virtualenvs/examples"
    '
  stdout: ''
$ st2 run examples.python_runner_print_python_version.
id: 5b0c0afc0640fd0cd6d0054f
status: succeeded
parameters: None
result:
  exit_code: 0
  result: null
  stderr: ''
  stdout: "Using Python executable: /opt/stackstorm/virtualenvs/examples/bin/python
Using Python version: 3.4.3 (default, Sep 14 2016, 12:36:27)
[GCC 4.8.4]
"

TODO

[ ] Unit tests
[ ] Integration / end to end tests (st2tests)

EDIT - Closing, I some how merged that branch, accidentally based it on top of v2.6 and not master.


get_updated() always returns Faraday::ResourceNotFound: NOT_FOUND: The requested resource does not exist

I am able to retrieve objects and can see their LastModifiedDate using find(), etc.
However, If I call get_updated(), specifying a date range that includes objects that I know to be in that range, it always returns:
Faraday::ResourceNotFound: NOT_FOUND: The requested resource does not exist
I'm developing against Version 36 of the Salesforce API.
Full trace:
	from /Users/jeremyburton/.rvm/gems/ruby-2.1.5/gems/restforce-2.2.0/lib/restforce/middleware/raise_error.rb:13:in `on_complete'
	from /Users/jeremyburton/.rvm/gems/ruby-2.1.5/gems/faraday-0.9.2/lib/faraday/response.rb:9:in `block in call'
	from /Users/jeremyburton/.rvm/gems/ruby-2.1.5/gems/faraday-0.9.2/lib/faraday/response.rb:57:in `on_complete'
	from /Users/jeremyburton/.rvm/gems/ruby-2.1.5/gems/faraday-0.9.2/lib/faraday/response.rb:8:in `call'
	from /Users/jeremyburton/.rvm/gems/ruby-2.1.5/gems/faraday_middleware-0.10.0/lib/faraday_middleware/response/follow_redirects.rb:76:in `perform_with_redirection'
	from /Users/jeremyburton/.rvm/gems/ruby-2.1.5/gems/faraday_middleware-0.10.0/lib/faraday_middleware/response/follow_redirects.rb:64:in `call'
	from /Users/jeremyburton/.rvm/gems/ruby-2.1.5/gems/restforce-2.2.0/lib/restforce/middleware/instance_url.rb:9:in `call'
	from /Users/jeremyburton/.rvm/gems/ruby-2.1.5/gems/restforce-2.2.0/lib/restforce/middleware/authorization.rb:9:in `call'
	from /Users/jeremyburton/.rvm/gems/ruby-2.1.5/gems/restforce-2.2.0/lib/restforce/middleware/authentication.rb:13:in `call'
	from /Users/jeremyburton/.rvm/gems/ruby-2.1.5/gems/faraday_middleware-0.10.0/lib/faraday_middleware/request/encode_json.rb:23:in `call'
	from /Users/jeremyburton/.rvm/gems/ruby-2.1.5/gems/restforce-2.2.0/lib/restforce/middleware/multipart.rb:14:in `call'
	from /Users/jeremyburton/.rvm/gems/ruby-2.1.5/gems/restforce-2.2.0/lib/restforce/middleware/mashify.rb:6:in `call'
	from /Users/jeremyburton/.rvm/gems/ruby-2.1.5/gems/faraday-0.9.2/lib/faraday/rack_builder.rb:139:in `build_response'
	from /Users/jeremyburton/.rvm/gems/ruby-2.1.5/gems/faraday-0.9.2/lib/faraday/connection.rb:377:in `run_request'
	from /Users/jeremyburton/.rvm/gems/ruby-2.1.5/gems/faraday-0.9.2/lib/faraday/connection.rb:140:in `get'
	from /Users/jeremyburton/.rvm/gems/ruby-2.1.5/gems/restforce-2.2.0/lib/restforce/concerns/verbs.rb:35:in `block in define_verb'
	from /Users/jeremyburton/.rvm/gems/ruby-2.1.5/gems/restforce-2.2.0/lib/restforce/concerns/verbs.rb:61:in `block in define_api_verb'
	from /Users/jeremyburton/.rvm/gems/ruby-2.1.5/gems/restforce-2.2.0/lib/restforce/concerns/api.rb:84:in `get_updated'

Update:
It was an API version mismatch.
However, there is still the issue that this should be raising APIVersionError if you're using a version the API that doesn't support get_updated() rather than NotFound (although I'm guessing it's Salesforce itself that is at fault here).

@jeremymburton You are right. This error is coming from salesforce as against that version api does not exist. So I don't think APIVersionMismatch can be raised when such type of error occurs.


Importing from $app/forms fails in tests - SvelteKit

Describe the bug
When I import something from $app/forms, like enhance in one of my components, vitest tests fail.
Even when I try to mock $app/forms, it fails, without even reaching my mock.
Thank you!
Reproduction
https://github.com/Gil3co/app-forms-test-fail
To reproduce:

Clone the repo and run npm i.
Run npm run test and see the test fails.

This is the error:
Error: Failed to resolve import "$app/forms" from "src/routes/Component.svelte". Does the file exist?
System Info
System:
    OS: macOS 13.1
    CPU: (10) arm64 Apple M1 Pro
    Memory: 86.83 MB / 32.00 GB
    Shell: 5.8.1 - /bin/zsh
  Binaries:
    Node: 18.16.1 - ~/.nvm/versions/node/v18.16.1/bin/node
    npm: 9.7.2 - ~/.nvm/versions/node/v18.16.1/bin/npm
    bun: 1.0.8 - ~/.bun/bin/bun
  Browsers:
    Chrome: 119.0.6045.159
    Safari: 16.2
  npmPackages:
    vite: ^4.4.2 => 4.5.0
    vitest: ^0.34.0 => 0.34.6

Used Package Manager
npm
Validations

[X] Follow our Code of Conduct
[X] Read the Contributing Guidelines.
[X] Read the docs.
[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
[X] Check that this is a concrete bug. For Q&A open a GitHub Discussion or join our Discord Chat Server.
[X] The provided reproduction is a minimal reproducible example of the bug.

I have the same problem, my import alias are not resolved.
It works when I install version 4.5 of Vite, but with version 5 I get this error:
import { defineConfig } from "vitest/config";

export default defineConfig({
  test: {
    setupFiles: ["dotenv/config"],
    include: ["**/*.test.ts"],
    environment: "happy-dom"
  },
  resolve: {
    alias: {
      "#/": "./src/"
    }
  }
});

@sheremet-va Thank you very much for this answer!
I've tried it, and it still doesn't.
Here is my config:
import { dirname, resolve } from 'path';
import { defineConfig } from 'vitest/config';
import { svelte } from '@sveltejs/vite-plugin-svelte';
import { fileURLToPath } from 'url';

export default defineConfig({
  plugins: [svelte({ hot: !process.env.VITEST })],
  test: {
    globals: true,
    environment: 'jsdom',
    setupFiles: 'vitest-setup.ts',
    include: ['src/**/*.test.ts'],
    alias: [
      {
        find: /$app\/forms/,
        replacement: resolve(
          fileURLToPath(dirname(import.meta.url)),
          '/.empty.js',
        ),
      },
      { find: '@app', replacement: resolve(__dirname, './src/routes') },
      { find: '@mocks', replacement: resolve(__dirname, './src/__mocks__') },
      { find: '$lib', replacement: resolve(__dirname, './src/lib') },
    ],
  },
});

Is something still wrong here?

Changing the find value to $app/forms, as a string and not as a regex made it work, thanks!


Quality of Life suggestion

Not a major issue, just a quality-of-life suggestion.
Maybe I'm just too much a noobie in VS, but I didn't realize VS needed to restart for changes to take effect (eg: file specific indent sizes, rainbow behavior changes, etc.). If somewhere in the instructions or in the options window a '(VS restart required)' was mentioned, it would be cool.

Thank you for the suggestion, I'll look into whether we can simply display a text at the top or if we need to include it in the explanations.


Windows 10 - volume binding does not work?

BUG REPORT INFORMATION
Output of docker version:
Client:
 Version:      1.12.0
 API version:  1.24
 Go version:   go1.6.3
 Git commit:   8eab29e
 Built:        Thu Jul 28 21:15:28 2016
 OS/Arch:      windows/amd64

Server:
 Version:      1.12.0
 API version:  1.24
 Go version:   go1.6.3
 Git commit:   8eab29e
 Built:        Thu Jul 28 21:15:28 2016
 OS/Arch:      linux/amd64

Output of docker info:
Containers: 0
 Running: 0
 Paused: 0
 Stopped: 0
Images: 1
Server Version: 1.12.0
Storage Driver: aufs
 Root Dir: /var/lib/docker/aufs
 Backing Filesystem: extfs
 Dirs: 8
 Dirperm1 Supported: true
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
 Volume: local
 Network: bridge null overlay host
Swarm: inactive
Runtimes: runc
Default Runtime: runc
Security Options: seccomp
Kernel Version: 4.4.15-moby
Operating System: Alpine Linux v3.4
OSType: linux
Architecture: x86_64
CPUs: 2
Total Memory: 1.952 GiB
Name: moby
ID: 2DM3:KRR3:3SSK:BFOE:TQQO:BAO2:RQFO:6QEK:UNVN:M3MM:EKLY:LKQE
Docker Root Dir: /var/lib/docker
Debug Mode (client): false
Debug Mode (server): false
Registry: https://index.docker.io/v1/
Insecure Registries:
 <IP_ADDRESS>/8

Additional environment details (AWS, VirtualBox, physical, etc.):
I use Windows PowerShell
Steps to reproduce the issue:
I've tried to create a folder via docker and binding volume.
Here is my two commands:

First with E:\Dropbox\Travail\www\docker
Second with E:/Dropbox/Travail/www/docker

PS E:\Dropbox\Travail\www\docker> docker run --rm -it -v E:\Dropbox\Travail\www\docker:/tmp -w /tmp roukmoute/symfony-installer new test1

  WARNING  Your Symfony Installer version (1.5.6-DEV) is outdated.
 Execute the command "/usr/local/bin/symfony selfupdate" to get the latest version (1.5.8).

 Downloading Symfony...

    5.11 MB/5.11 MB ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓  100%

 Preparing project...

 ✔  Symfony 3.1.3 was successfully installed. Now you can:

    * Change your current directory to /tmp/test1

    * Configure your application in app/config/parameters.yml file.

    * Run your application:
        1. Execute the php bin/console server:run command.
        2. Browse to the http://localhost:8000 URL.

    * Read the documentation at http://symfony.com/doc

PS E:\Dropbox\Travail\www\docker> docker run --rm -it -v E:/Dropbox/Travail/www/docker:/tmp -w /tmp roukmoute/symfony-installer new test2

  WARNING  Your Symfony Installer version (1.5.6-DEV) is outdated.
 Execute the command "/usr/local/bin/symfony selfupdate" to get the latest version (1.5.8).

 Downloading Symfony...

    5.11 MB/5.11 MB ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓  100%

 Preparing project...

 ✔  Symfony 3.1.3 was successfully installed. Now you can:

    * Change your current directory to /tmp/test2

    * Configure your application in app/config/parameters.yml file.

    * Run your application:
        1. Execute the php bin/console server:run command.
        2. Browse to the http://localhost:8000 URL.

    * Read the documentation at http://symfony.com/doc

PS E:\Dropbox\Travail\www\docker> ls
PS E:\Dropbox\Travail\www\docker>

Describe the results you received:
There is no folder.
Describe the results you expected:
Command ls would return test1 and/or test2 folder.

we recently opened a dedicated issue tracker for Docker for Windows; could you open this issue there instead (or look for an existing issue)?
https://github.com/docker/for-win/issues
thanks!


implement a very basic TLS 1.3 handshake

Codecov Report

Merging #810 into master will decrease coverage by 1.79%.
The diff coverage is 56.17%.

@@            Coverage Diff             @@
##           master     #810      +/-   ##
==========================================
- Coverage   91.65%   89.86%   -1.79%
==========================================
  Files          82       86       +4
  Lines        5870     6054     +184
==========================================
+ Hits         5380     5440      +60
- Misses        304      419     +115
- Partials      186      195       +9

Impacted Files
Coverage Δ

internal/protocol/version.go
100% <ø> (ø)
:arrow_up:

handshake/mint_utils.go
0% <0%> (ø)

client.go
90.8% <0%> (ø)
:arrow_up:

handshake/crypto_setup_tls.go
0% <0%> (ø)

crypto/null_aead_fnv128a.go
100% <100%> (ø)

crypto/null_aead_fnv64a.go
100% <100%> (ø)

handshake/crypto_setup_server.go
87.64% <100%> (-0.28%)
:arrow_down:

packet_packer.go
85.34% <100%> (ø)
:arrow_up:

crypto/aesgcm_aead.go
75.76% <100%> (+7.76%)
:arrow_up:

handshake/crypto_setup_client.go
90.44% <100%> (-0.19%)
:arrow_down:

... and 9 more

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 03de09b...89c3c59. Read the comment docs.

@lucas-clemente: I think I addressed all your comments. Furthermore, I moved all mint-related methods into one interface, which should make testing easier. PHAL.


Repodb.yml has a broken link

This is for the current version of the file on line one: https://github.com/Shopify/Timber/blob/master/repodb.yml#L1
Which, gives me a 404.  With a bit of googling I couldn't figure out where it's supposed to be pointing either.  Anyone know?
Thanks.

This is an internal Shopify URL to show us the details and structure of repodb.yml. There is no public version at this time.


Import SSL implementation code and include in the build

<EMAIL_ADDRESS>commented:

Two choices: OpenSSL or GnuTLS.

Disclaimer:
This issue was migrated on 2013-03-15 from the project's former issue tracker on Google Code, Issue #483.
:star2:   6 people had starred this issue at the time of migration.

This is already implemented. OpenSSL is statically linked to the binary.


fix: update subnetevm compatibility matrix

I wouldn't say that this is a fix but rather an update (as we are not changing existing config).


Account creation & friendbot

I made it all on one page from the suggestion of @jedmccaleb.
However, I feel that the way it is done in this PR (or just having it on the first place) is a bit weird and unorganized.

I thought we were just going to do the generating keys part? It doesn't seem like we need the friend bot  to be part of the lab.

Oh, hmm. I think it's more useful with the friendbot in here though.

I would say that it really helps to have friendbot in the lab, for context. People really don't get what goes into creating an account, and it's the source of a lot of friction currently.
It helps to have it broken down into each step (generate keypair, then fund) so people realize that generating keypair isn't enough to create an account.
I would also suggest having some more textual context around what it means to create an account. This is probably too much text, but:

Create a test account on the Stellar network. An account consists of a keypair: a public key and secret key. Create your test account now.
Save both your public key and secret key somewhere safe, like in a password-protected document or password vault. Stellar.org does not have a record of your secret key. Do not share your secret key with anyone.
The Stellar network includes a security feature that requires every account to keep a small balance of the native currency, lumens (XLM), to conduct transactions. The transaction fee is .00001 lumens.

Currently waiting on discussion about:

Whether to make an additional page for these items
Whether to include friendbot.

(my votes for both are to yes, to separate them into a separate page and keep the friendbot here)

I still say it makes it overly cluttered but if we are keeping friend bot then yeah I agree it should probably be its own tab.

I think the friendbot is useful because then the laboratory is now able to do everything. Instead of having to split tutorials into both the laboratory and the friendbot in the middle of a landing page on the developer site.
It makes explaining the tool to newcomers easier and keeps tools centralized.

I have moved the account creator to a separate tab and improved the layout a bit

Stoked to get this deployed so we can test it. :)

+1


Investigate what parts of Fhelipe can be incorporated into HEIR

https://people.csail.mit.edu/devadas/pubs/pldi24_fhelipe.pdf
Paper builds further on top of HECO, for optimal data layout
Paper improves on FHE-Booster for finding optimal bootstrap placement in CKKS-contexts
Abstract:
Fully Homomorphic Encryption (FHE) enables computing on encrypted data, letting clients securely offload
computation to untrusted servers. While enticing, FHE has two key challenges that limit its applicability: it
has high performance overheads (10,000× over unencrypted computation) and it is extremely hard to program.
Recent hardware accelerators and algorithmic improvements have reduced FHE’s overheads and enabled large
applications to run under FHE. These large applications exacerbate FHE’s programmability challenges.
Writing FHE programs directly is hard because FHE schemes expose a restrictive, low-level interface that
prevents abstraction and composition. Specifically, FHE requires packing encrypted data into large vectors
(tens of thousands of elements long), FHE provides limited operations on these vectors, and values have noise
that grows with each operation, which creates unintuitive performance tradeoffs. As a result, translating large
applications, like neural networks, into efficient FHE circuits takes substantial tedious work.
We address FHE’s programmability challenges with the Fhelipe FHE compiler. Fhelipe exposes a simple,
numpy-style tensor programming interface, and compiles high-level tensor programs into efficient FHE
circuits. Fhelipe’s key contribution is automatic data packing, which chooses data layouts for tensors and
packs them into ciphertexts to maximize performance. Our novel framework considers a wide range of layouts
and optimizes them analytically. This lets Fhelipe compile large FHE programs efficiently, unlike prior FHE
compilers, which either use inefficient layouts or do not scale beyond tiny programs.
We evaluate Fhelipe on both a state-of-the-art FHE accelerator and a CPU. Fhelipe is the first compiler that
matches or exceeds the performance of large hand-optimized FHE applications, like deep neural networks,
and outperforms a state-of-the-art FHE compiler by gmean 18.5×. At the same time, Fhelipe dramatically
simplifies programming, reducing code size by 10× - 48×

Thank you for this!

@lawrencekhlim just for visibility into program optimizations for CKKS

This is definitely on my immediate reading list.

In sec 5.4 they describe their layout assignment pass. It does a forward dataflow analysis:

Set each input to row-major order
Propagate layouts forward (some ops have an output layout that differs from the input layouts)
When encountering an op with two incompatible input layouts, insert a layout conversion op to make it compatible.

Then a second backward pass (or maybe during the same pass), it tries to greedily hoist the layout conversion ops as early as possible, so long as doing so reduces the cost of layout conversion. They apparently have a cost model for how expensive layout conversions are, based on the number of "rotate groups" as described in their implementation of layout conversion as implementing a permutation on the underlying data.
To that point, another big part of the paper is actually implementing layout conversions (5.5) which does something I haven't fully grokked yet related to decomposing a permutation into stages of groups of rotations, with some heuristics to decide how many stages to use. They cite section 3 of Algorithms in HELib ("Permutations and Shift-Networks") which seems to implement a general algorithm for computing the optimal decomposition of a permutation into shifts. This would be another good thing for us to implement.

In 6.2 they define a bootstrap-placement algorithm based on dynamic programming: partition the dataflow graph by multiplicative depth, and then insert bootstrap operations for all nodes at a given level (or no nodes at that level), which requires a cost model of the individual operations (not just bootstrap). They get their cost model from CraterLake's spec.

It's clear that there is a lot of good stuff in this paper to implement. CC @lawrencekhlim who is thinking about Halevi-Shoup packing. It might be too much for the remainder of his internship to tackle this entire paper (especially since the code is not public), but it might be worth figuring out how we could implement Halevi-Shoup in a way that is future-proof for these techniques.


[Automation] Generate Fluent Lite from Swagger healthcareapis#package-2024-03-31

[Automation] Generate Fluent Lite from Swagger healthcareapis#package-2024-03-31

/azp run java - healthcareapis - mgmt - tests

API change check
APIView has identified API level changes in this PR and created following API reviews.
com.azure.resourcemanager:azure-resourcemanager-healthcareapis


Document default repeat interval

I was exploring how to make a print job retry after failure, and quickly found the REPEAT and DELAY directives. REPEAT mentioned what the default value was, but DELAY had no such explanation readily available.
I am interpreting the 5000000 seen here as 5 seconds, though I was unsure if I was off by an order of magnitude: https://github.com/OpenPrinting/cups/blob/32572321f87b72d430ce4c20fb259c7ceee5ec7b/tools/ipptool.c#L5305 Use seems to indicate I am correct though :)

Makes sense. Great to see such a speedy merge on this. Thanks!


adding required setting to properties file

Similar to https://github.com/knative-extensions/eventing-integrations/pull/13
also related to https://github.com/knative-extensions/eventing-integrations/issues/14

/assign @christophd


Flakey test TestSpoofingClient_WaitForEndpointState/Non_matching_response_triggers_more_requests

TestSpoofingClient_WaitForEndpointState/Non_matching_response_triggers_more_requests
Details: https://prow.knative.dev/view/gs/knative-prow/pr-logs/pull/knative_pkg/2302/pull-knative-pkg-unit-tests/1445830894286802944

This is still an issue.
/remove-lifecycle stale


ManualCpmBiddingScheme: Added definition

Added ManualCpm definition for consistency with ManualCpcBiddingScheme and ManualCpvBiddingScheme.

Docs Build status updates of commit b5de91e:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

Advertising/bingads-13/campaign-management-service/manualcpmbiddingscheme.md
:white_check_mark:Succeeded
View (=bingads-13)

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Disregard, will update in another commit.


Empty state view does not appear when the recycler view is initially empty

If you create a SimpleRecyclerView with an empty state view, it doesn't show the empty state view unless you add items first then remove them later.
I replicated with the sample project. If loadBookingsFromNetwork() is removed from the onCreate of EmptyStateViewActivity.java:
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_empty_view);
    ButterKnife.bind(this);

    init();
    //loadBooksFromNetwork();
  }

Then when the activity is opened, the empty state view is not shown. Once you hit add then remove all, it will appear.

Hi @dyancat , it is because the empty state checking is only applied when there is data changed. If you want to show the empty state view explicitly, you can set srv_showEmptyStateView to true, which is added in 1.1.8. Pls refer Empty State View.

Please feel free to reopen the issue if you have any questions.

Hi I just gave it a go, it doesn't appear to be working
Debugging through, it seems like when I set the srv_showEmptyStateView to true, it calls SimpleRecyclerView showEmptyStateView(), which adds the empty state view cell. But the addCell call also triggers a call to updateEmptyStateViewVisibility() which hides the empty view immediately

Sorry, I don't get your meaning. addCell will hide the empty view, isn't it? Can you describe your expect result and the actual result?

Hi it looks like I was misunderstanding the issue.
The empty state view is shown with this new fix, but my code which updates the recycler view calls removeAllCells, then addCells. This results in no empty state view being shown if the cells list passed to addCells is empty. Not sure if this is expected behaviour but it's easy enough to workaround
Cheers


Adding paragraph support in comments

This updates the comment parser to be line-by-line, including parsing code blocks, so that newlines are not squashed by the inbuilt method. This resolves #4030.
Before:

After:

The markdown used is as follows:
Here we have a comment that spans several lines.
This should be on a new line.
```
// This is a java code block
System.out.println("Hello, world!");
int i = 0;
```
And a continued comment.
Now an additional paragraph, to test all cases I am aware of.
Which is formatted to:
Here we have a comment that spans several lines.
This should be on a new line.
// This is a java code block
System.out.println("Hello, world!");

int i = 0;

And a continued comment.
Now an additional paragraph, to test all cases I am aware of.

Can you please try the following, and share a screenshot

Here we have a comment that spans several lines.
This should be on a new line.
``
// This is a java code block
System.out.println("Hello, world!");
int i = 0;
``
And a continued comment.
Now an additional paragraph, to test all cases I am aware of.

Commit efef6c9 changes the style to look as follows:


qdrant: add wait option when adding documents

PR Checklist
Closes #989

[x] Read the Contributing documentation.
[x] Read the Code of conduct documentation.
[x] Name your Pull Request title clearly, concisely, and prefixed with the name of the primarily affected package you changed according to Good commit messages (such as memory: add interfaces for X, Y or util: add whizzbang helpers).
[x] Check that there isn't already a PR that solves the problem the same way to avoid creating a duplicate.
[x] Provide a description in this PR that addresses what the PR is solving, or reference the issue that it solves (e.g. Fixes #123 ).
[x] Describes the source of new concepts.
[x] References existing implementations as appropriate.
[x] Contains test coverage for new functions.
[x] Passes all golangci-lint checks.

@n3sser96 I thjink https://github.com/tmc/langchaingo/pull/1008 is going to cause this to change, FYI


Incorrect MAC

I have generated 10000 crypted messages in python, about 40 of them causing incorrect MAC error in ecies-geth verify
The problem seems to be in this (javascript) part
Tracing one of the "bad" messages, I see in browser.js derive function:
privateKeyA
Uint8Array(32) [173, 116, 187, 135, 227, 174, 143, 83, 228, 120, 90, 115, 136, 82, 14, 197, 182, 177, 42, 120, 127, 253, 0, 138, 230, 234, 51, 144, 13, 195, 60, 243]
publicKeyB
Uint8Array(65) [4, 186, 172, 110, 214, 176, 251, 210, 223, 4, 213, 20, 83, 156, 98, 0, 149, 119, 154, 163, 36, 243, 66, 151, 87, 166, 60, 180, 164, 38, 214, 155, 214, 43, 183, 135, 13, 164, 64, 15, 227, 145, 224, 25, 166, 123, 168, 206, 250, 214, 235, 248, 24, 212, 204, 238, 98, 211, 158, 237, 36, 128, 133, 21, 216]
and the Buffer returned by the function is 31 bytes long instead of 32 bytes
Px
BN {negative: 0, words: Array(10), length: 10, red: null}
Px.toArray()
(31) [84, 68, 15, 49, 73, 6, 17, 22, 223, 222, 72, 156, 103, 180, 85, 168, 152, 155, 245, 160, 118, 139, 106, 205, 153, 172, 106, 247, 139, 96, 5]

This is weird: this part of the code fully relies on the elliptic library.
I updated the dependencies and couldn't be able to reproduce your problem.
Feel free to point me to some test set of yours so we can figure out what's going on if it's still an issue.


Does AdaPool2d's beta require fixed image size?

I'm currently running AdaPool2d as a replacement of MaxPool2d in Resnet's stem similar on how you did it in SoftPool.  However, I keep on getting an assertionError in line 1325 as shown below:
assert isinstance(beta, tuple) or torch.is_tensor(beta), 'Agument `beta` can only be initialized with Tuple or Tensor type objects and should correspond to size (oH, oW)'

Does this mean beta requires a fixed image size, e.g. (224,244)?  Or is there a way to make it adaptive across varying image size (e.g. object detection)?

Hi @johnanthonyjose ,
The primary intention of beta (based also on the subsequent paper) was to use it as a regional-specific mask. So it should have the same size as the output tensor post-pooling (e.g. oH,oW).
However, if you expect to have inputs of different sizes, a way around this is to pass a Tuple or Tensor of size 1. This will essentially apply the same beta over the entire image. Although you lose the region-specific nature of the method, from some testing in my own projects, the difference in accuracy is not large.
So there are multiple ways to define beta, e.g.:
pool_2d_single = AdaPool2d(beta=(1,1)) # sinlge beta param
pool_2d_mask = AdaPool2d(beta=(oH,oW)) # beta mask of oH x oW


Update offer templates

Coverage decreased (-0.2%) to 89.843% when pulling c250867547582f27453f8961f65d4a52125e2a08 on feat/update into 70c5bc3c3c786bdb7c61845c60f3649a19dc9057 on master.

Coverage decreased (-0.08%) to 89.969% when pulling 1c9c8ef5bface8a915ad5b0aad77ca1e5300adb8 on feat/update into 70c5bc3c3c786bdb7c61845c60f3649a19dc9057 on master.

Coverage decreased (-0.08%) to 89.969% when pulling 1c9c8ef5bface8a915ad5b0aad77ca1e5300adb8 on feat/update into 70c5bc3c3c786bdb7c61845c60f3649a19dc9057 on master.

Closing since it will no longer be necessary.


Cannot start react-native run-ios or run-android after initializing

Cannot copy and paste had to retype.
~/node_modules/@react-native-community/cli/build/commands/doctor/healthchecks/index.js:48
} catch {}
^
SyntaxError: unexpected token {
at createScript (vm.js:80:10)
at Object.runInThisConetxt (vm.js:139:10)
at Module._compile (module.js:617:28)
..
Description
The error above occurs after initializing a blank project.

Ran npx react-native init [Project-Name]
Ran npx react-native run-ios or npx react-native run-android

Metro pops up in another terminal tab with the error above.
React Native version:
System:
OS: macOS 10.15.7
cpu: (16) x64 Intel(R) Core(TM) i8-988H CPU @ 2.30GHz
memory: 13.79 GB / 32.00 GB
shell: 5.7.1 - /bin/zsh
Binaries:
Node: 15.13.0 - ~/.nvm/..
Yarn: Not found
npm: 7.7.6 ~./nvm/...
watchman: not found
Managers:
CocoaPods: 1.10.1 - /usr/local/bin/pod
SDK:
iOS SDK:
Platforms: iOS 14.4, DriverKit 20.2, macOS 11.1, tvOS 14.3, watchOS 7.2
android SDK:
API Levels: 23, 27, 29, 30
Build Tools: 23.0.1, 25.0.1, 25.0.2, 26.0.1, 26.0.2, 27.0.3, 28.0.3, 29.0.0, 30.0.3
System images: android-23 | Google APIs Intel x86 Intel x86 Atom, anroid-27
npmPackages:
@react-native-community/cli: not found
react: 17.0.1 > 17.0.1
react-native: 0.64.0 =>0.64.0
react-native-macos: not found
npmGlobalPackages
react-native: not found
Steps To Reproduce
Provide a detailed list of steps that reproduce the issue.

Ran npx react-native init [Project-Name]
Ran npx react-native run-ios or npx react-native run-android

Expected Results
Expecting the emulators to pop up with welcome screen

+1 I find this issue incredibly annoying.

I ran into same issue when upgraded from 63.3 to 64.0
Steps I did to run into issue:

Pulled changes (because did upgrade not on Mac)
rm -rf node_modules and package-lock
npm install (with node 8v - there is problem probably)
cd ios and pod install - here comes error

How fixed:

rm -rf node_modules and package-lock
loaded nvm with . ~/.nvm/nvm.sh (and got node at v14.15.0)
npm install
(npx) react-native run-ios (got here error)
cd ios and pod install
(npx) react-native run-ios (this time worked and had app running on simulator)
6* for me default metro bundler in new terminal window run into error from issue but it was probably cause of default node v8, so i run (npx) react-native start in same window where I ran 6) step

So issue is probably due to node version

https://reactnative.dev/blog/2021/03/12/version-0.64#major-dependency-version-changes - "Minimum Node support bumped from 10 to Node 12", tks @yerevin

I had to issues:

I used nvm to manage node versions and the default was set to older than node 12
-Fixed it by calling nvm alias default DESIRED_VERSION
I forgot to uninstall globally react-native-cli. Once I did this step, when calling npx react-native init ProjectName I saw the new console UI with the React logo; something I was not seeing before.

After those two steps I was good to go and things worked correctly for me.

I have the same issue on android studio. The app runs successfully from terminal though

I am also getting the same error.

node /Users/user/Documents/Examples/node_modules/react-native/cli.js bundle --entry-file index.js --platform ios --dev false --reset-cache --bundle-output /Users/user/Library/Developer/Xcode/DerivedData/StepUp-arcbdgjhmmvylwbgivrtxllexdqe/Build/Intermediates.noindex/ArchiveIntermediates/StepUp/BuildProductsPath/Release-iphoneos/main.jsbundle --assets-dest /Users/user/Library/Developer/Xcode/DerivedData/StepUp-arcbdgjhmmvylwbgrtxllexdqe/Build/Intermediates.noindex/ArchiveIntermediates/StepUp/BuildProductsPath/Release-iphoneos/StepUp.app
/Users/user/Documents/Examples/node_modules/react-native/node_modules/@react-native-community/cli/build/commands/doctor/healthchecks/index.js:48
} catch {}
^

SyntaxError: Unexpected token {
at createScript (vm.js:80:10)
at Object.runInThisContext (vm.js:139:10)
at Module._compile (module.js:617:28)
at Object.Module._extensions..js (module.js:664:10)
at Module.load (module.js:566:32)
at tryModuleLoad (module.js:506:12)
at Function.Module._load (module.js:498:3)
at Module.require (module.js:597:17)
at require (internal/module.js:11:18)
at Object. (/Users/user/Documents/Examples/node_modules/react-native/node_modules/@react-native-community/cli/build/commands/doctor/doctor.js:28:21)
Command PhaseScriptExecution failed with a nonzero exit code

It's because of node version. But just logging out of the computer and switching node version to latest with nvm, doesn't work.
The issue is solved only when I restart my computer (my MacBook). Then I removed node_modules and reinstall packages. Then all work.

For me, it appears on ios and android, when I try to run on real devices after upgrade to 0.64.
I cleaned cache, reinstall everything, reboot the laptop, use the latest node - nothing helped.


min / max consumes O(n) memory

They are implemented using JS apply() thus copying an array into the stack frame, on large arrays it causes out of memory and crash. Easy to reproduce in nodejs.

I'm assuming your suggestion is to rewrite the function using a simple for-loop?

I tried very simple tests in nodejs. It looks like reduce is about 2X slower than apply; and for loop is 10X faster than reduce and 5X faster than apply.

@timanovsky what size arrays were you using? I was able to use arrays of size 10,000,000.

About 100 000. Probably it depends on node platform or version, I was
testing with 10.28 under MacOS
Best regards,
Alexey Timanovsky.
On 3 March 2015 at 01:35, Dakota St. Laurent<EMAIL_ADDRESS>wrote:

@timanovsky https://github.com/timanovsky what size arrays were you
using? I was able to use arrays of size 10,000,000.
—
Reply to this email directly or view it on GitHub
https://github.com/numbers/numbers.js/issues/136#issuecomment-76841844.

Dont think this is an issue in this numbers library.
min consumes no addl. memory.  Arrays should be passed as reference as in other JS engines.
Perhaps a problem on Mac's nodejs.

unfortunate. nothing can be done on our end, then


graalvmCEPackages: remove unnecessary recurseIntoAttrs

Description of changes
graalvmCEPackages is a scope since commit e1a7ec5583b2c1b5fef89153ee0727d1f4d61904, so recurseIntoAttrs is not necessary anymore.
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

[ ] 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

[ ] 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.11 Release Notes (or backporting 23.11 and 24.05 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.

@ofborg build babashka clojure-lsp

@ofborg build dapl-native dbqn-native


Adding a feature: --model flag option

Description
Allow the user to specify the model to use with the --model or -m flag.
This could be helpful, as the default model doesn't allow the users to track the token usage information (it doesn't seem to pass the completion token details in the response).
Implementation
Implementing the feature would require parsing the --model/-m option flag argument from the command line and using it instead of the default model inside the API call.

Thanks! I updated --model, -m feature


If a property is also an attribute, use removeAttribute

The problem
A reproducible Demo

On initial render, the view is

  hello
  <button>toggle</button>

Click on the toggle button, the  element becomes

hello

Click on the toggle button again, the  element becomes

hello

What I really want is hello
The fix is based on https://javascript.info/dom-attributes-and-properties#property-attribute-synchronization

When a standard attribute changes, the corresponding property is auto-updated, and (with some exceptions) vice versa.

Thanks!


pull request for e2e test at 01/07/2017 04:15:13

:white_check_mark: Validation status: passed
For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Logging settings by proxy host + modsecurity blocking log check function suggestion

Hello. It's been a while since I said hello.
Is it possible to add an option to leave nginx log like the existing npm? It would be nice to add an option for log to leave separately even if it is not for proxy host.
In addition, it would be fantastic if there was an option to view logs blocked by modsecurity in webui and make exceptions for that rule id.
Thank you for the good project :)

For the first, I think you mean access logs, but sorry, I will not add them back, because they would break EU law.
For the seccond, because they are logged to the docker logs, NPMplus would need to have access to the docker socket to read them, which is too unsecure from my view.
NPMplus also doesn't log all IDs which causes the block to the console, since without debug logging this is not possible (which would be too much. But I can make the REQUEST-900-EXCLUSION-RULES-BEFORE-CRS.conf.example and RESPONSE-999-EXCLUSION-RULES-AFTER-CRS.conf.example editable

There is a way to do IP masking in NGNIX,: https://www.nginx.com/blog/data-masking-user-privacy-nginscript/ it would be useful for troubleshooting to have some logs. As I understand you're from Germany and the privacy rules are even stronger than in the rest of Europe

That would be an option...
But I just want to mention that you have the custom folder in /opt/npm/nginx, where you can enable the access_log for yourself.
But if I add an option like mentioned by you, I would add only one log file and not for each nginx host one, and also I wouldn't add any log rotation.

Can you explain how? where you can enable the access_log for yourself
As I'm still leaning :)
As I want to use when needed: https://github.com/xavier-hernandez/goaccess-for-nginxproxymanager but then I need log files.

in the /opt/npmplus/nginx/custom_*.conf files you can configure the logs how you want: https://nginx.org/en/docs/http/ngx_http_log_module.html

Thank you for your reply :) I'll check it out!


Fix compatibility issues

Resolve compatibility issues for version 2024.2.

I can not run IDEA-Intellj to debug it now. It will launch CLion. But I have not CLion license.

You may have to check these two snippets in build.gradle.kts and adjust the option in runIde if needed.
To control which IDE for build:
val testIde: String = when (2) {
    0 -> "IC"
    1 -> "IU"
    2 -> "CL"
    3 -> "PY"
    else -> "IC"
}

To control which IDE to run:
    runIde {
        when (2) {
            0 -> ideDir.set(file("deps/ideaIC-2024.2"))
            1 -> ideDir.set(file("deps/ideaIU-2024.2"))
            2 -> ideDir.set(file("deps/clion-2024.2"))
            3 -> ideDir.set(file("deps/pycharmPY-2024.2"))
            else -> ideDir.set(file("deps/ideaIC-2024.2"))
        }
    }

By the way, considering the lack of C/C++ intelli-sense in IDEA Community/Ultimate, I strongly recommend prioritizing Clion as first-class support.

I switch to IC, it cannot build.

After enabling remote support, you must compile using IntelliJ Ultimate because only these IDEs support remote functionality. You can compile with IntelliJ Ultimate and run with IntelliJ Community, or compile with CLion and run with IntelliJ Ultimate. Compilation and running are separate processes, and the chosen IDE must cover all the functions used in the code.

After enabling remote support, you must compile using IntelliJ Ultimate because only these IDEs support remote functionality. You can compile with IntelliJ Ultimate and run with IntelliJ Community, or compile with CLion and run with IntelliJ Ultimate. Compilation and running are separate processes, and the chosen IDE must cover all the functions used in the code.

But IntelliJ Ultimate and Clion are all have to pay. and I can't do any more testing. Nor can I compile the plugin to upload the market. i am just able to use IC only!

Don't worry, I believe you meet all the qualifications to apply for a free license, as shown on JetBrains' official website.
Note the third point: Qualify as a piece of software, ... a plugin ... .

Besides, you can use the IntelliJ IDEA Community edition with a commercial version of IntelliJ-based IDE as a plugin build dependency to compile it, without the need for Clion or IntelliJ Ultimate as editor.
I will keep checking for any compatibility issues.

I have upload 1.3.8 to market, but there some compatibility issues. Being that the new version can't be reviewed and approved.

Hello,
Thank you for submitting an update.
There are some compatibility issues with the plugin update. You can find more information on the plugin versions page. Could you please look into this and verify the compatibility with the specified version range (and products)?
Best regards,
Albert Ishmukhametov
JetBrains Marketplace

I will check them later. Some parts, such as PlatformUtils, may require complex refactoring to implement changes, so this will take some time. Plus, it will be appreciated if you upload the entire compatibility report for reference.

We can use https://github.com/JetBrains/intellij-plugin-verifier to verify it.


Execution status compute API

Expose an API (based on NATS) in the compute node to allow the requester node to query about the status and progress of jobs. This should be similar to the periodic messages the compute node is publishing https://github.com/bacalhau-project/bacalhau/issues/3859, but enables the requester to query about certain jobs that it might've missed hearing about, such as when a compute node says jobA is not among the active ones, but the requester's state says otherwise.
This may not be needed if we implement https://github.com/bacalhau-project/bacalhau/issues/3859 in a way using offsets that makes sure on messages were missed and for the requester to go back to previous events

Not needed based on the design proposed for #3861 where we maintain offsets of latests processed events, along with periodic state sync


OpenSpiel 0.3.0 is now available!

For details see, https://github.com/deepmind/open_spiel/releases/tag/v0.3.0.

I mistakenly forgot to include the optional dependencies, so universal_poker and hanabi are not available from colab. Will fix in a few hours. Reopening https://github.com/deepmind/open_spiel/issues/512

Yay! Thanks everyone involved! And especially @lanctot for the precious care :)
Looking forward to Python games. I might use OpenSpiel in an AI intro course at the uni and make some example game like tic-tac-toe in python for the students :)

I mistakenly forgot to include the optional dependencies, so universal_poker and hanabi are not available from colab. Will fix in a few hours. Reopening #189

Ok pip package is now at version 0.3.1 and has hanabi and universal_poker back in them. Will issue another release, should fix colab.

... did I say 0.3.0? I meant 0.3.1 :)
https://github.com/deepmind/open_spiel/releases/tag/v0.3.1


[Key Vault - Secrets] Deploy test resources failing in nightly runs

Key Vault - Secrets nightly test runs are failing with:

Error message:
Exception calling "Invoke" with "0" argument(s): "The running command stopped because the preference variable "ErrorActionPreference" or common parameter is set to Stop: 12:40:34 PM - The deployment 't8794475fcfe3471b' failed with error(s). Showing 1 out of 1 error(s).
Status Message: No available instances to satisfy this request. App Service is attempting to increase capacity. Please retry your request later. If urgent, this can be mitigated by deploying this to a new resource group. (Code: Conflict)
-No available instances to satisfy this request. App Service is attempting to increase capacity. Please retry your request later. If urgent, this can be mitigated by deploying this to a new resource group. (Code:)
-(Code:Conflict)
-(Code:)
CorrelationId: 6e0221c0-37a1-4991-bff2-bd40b66c60fb"
At D:\a_work\1\s\eng\common\TestResources\New-TestResources.ps1:134 char:20
+return $Action.Invoke()
+CategoryInfo          : NotSpecified: (:) [], ParentContainsErrorRecordException
+FullyQualifiedErrorId : ActionPreferenceStopException
##[error]PowerShell exited with code '1'.

For more details check here:
https://dev.azure.com/azure-sdk/internal/_build/results?buildId=2791375&view=results

Secrets tests have been passing reliably recently, closing this one out.


gmp fails to build in the setup.sh script

This is specifically for using Xcode 12 with its command line tools.  There is no issue if we use a previous version of Xcode such as 11.
Download Xcode 12 Beta 5 (or above, I suspect its a problem with Xcode 12 all around), make sure the command line tools are installed as well and set.
Run the setup.sh script
Watch it build but ntl complains that it can't find gmp.
gmp doesn't actually build, its missing

We still have to figure out how to build gmp & ntl to work with the new Apple Silicon, but in the meantime we have a work around that enables us to continue using the simulator for testing.  It has been merged into master and should look at the GettingStarted.md Guide for more info.


[Collector][Bug] Could not find remote id

Please answer these questions before submitting pull request

Why submit this pull request?

[X] Bug fix

[ ] New feature provided

[ ] Improve performance

Related issues
#1232

Bug fix

Bug description.
RemoteDataMappingIdNotFoundException caused by remote entity did not registered.

How to fix?
Some remote entities in alarm module did not registered into remote module.

Coverage decreased (-0.004%) to 23.98% when pulling b49552e9c2133ab12fcd3d307c529464cc2a04c3 on peng-yongsheng:fixed/1232 into c2a425f55ab86367aeac4721d22810000f1720c0 on apache:master.


fixed encrypted sql database gets overwritten on sql-schema change

This is fundamentally an upstream issue and I'll open a new Issue on GitHub sometime this week, when I have a little more time.
The Database gets overwritten directly after being opened, even before sqldelights internal onUpgrade function gets called, which means that fixing this using sqldelight is not possible.
This is why I copied the raw SQL from DatabaseImpl.kt and am executing it using Sqlciphers own functions for now. The draw back is that the SQL code must be copied from DatabaseImpl.kt's migrate function to SqlCipherUtil by hand, every time a new schema version is added.

Superseded by   #887


jenkins: Update integration doc with changes related to the new plugin release

Updates Jenkins integration docs with changes related to the new plugin release:

New screenshot from Jenkins Update Center (slightly different plugin name and description).
Link to moved plugin repository
Changed plugin debug namespace.

Testing Plan:
Run Zulip server and review changes in http://localhost:9991/integrations/doc/jenkins

Merged as c1a47012fd74a0ecdac21e19a86b21f2d906efa5, thanks @butchyyyy!!


UI-1035-reduce text in notification

This PR:

clean up the messages displayed in the notification list item card

Before Clean Up:

After Clean Up:

Design Decisions

delete notification.content & notification type based on linear discussions
changed some font to make it cleaner

Hmm, what happened to the sentence "Workflow save_workflow_2 has succeeded!"
I was hoping final result would look something like this, without the word "workflow" on the bottom left.

@Boyuan-Deng Can you post a screenshot of final result?

See the screen shot above inside the PR content. After Clean up is the final look.

@Boyuan-Deng Can you post a screenshot of final result?

See the screen shot above inside the PR content. After Clean up is the final look.

@Boyuan-Deng Nice work. Looks great. 🚢 it!


Appstudio update test-component-pac-vxws

Pipelines as Code configuration proposal
To start the PipelineRun, add a new comment with content /ok-to-test
For more detailed information about running a PipelineRun, please refer to Pipelines as Code documentation Running the PipelineRun
To customize the proposed PipelineRuns after merge, please refer to Build Pipeline customization

Pipelines as Code CI/test-component-pac-vxws-on-pull-request has successfully validated your commit.

StatusDurationName

✅ Succeeded
9 seconds
init

✅ Succeeded
17 seconds
clone-repository

✅ Succeeded
1 minute
build-container

✅ Succeeded
12 seconds
deprecated-base-image-check

✅ Succeeded
27 seconds
inspect-image

✅ Succeeded
19 seconds
clair-scan

✅ Succeeded
42 seconds
clamav-scan

✅ Succeeded
17 seconds
sbom-json-check

✅ Succeeded
10 seconds
label-check

✅ Succeeded
9 seconds
show-sbom

✅ Succeeded
7 seconds
show-summary


Subiendo Reto-06

Hello @rcccort! Thanks for opening this PR. We checked the lines you've touched for PEP 8 issues, and found:

In the file reto-06/PalyPalillo/configurator.py:

Line 5:1: E302 expected 2 blank lines, found 1
Line 6:1: W293 blank line contains whitespace
Line 8:18: E225 missing whitespace around operator
Line 9:20: E225 missing whitespace around operator
Line 21:31: E231 missing whitespace after ','
Line 22:13: E225 missing whitespace around operator
Line 24:21: E117 over-indented
Line 34:5: E303 too many blank lines (2)
Line 38:21: W292 no newline at end of file

In the file reto-06/PalyPalillo/main.py:

Line 28:30: E231 missing whitespace after ','
Line 45:1: E305 expected 2 blank lines after class or function definition, found 1
Line 48:22: W292 no newline at end of file

In the file reto-06/PalyPalillo/utils.py:

Line 5:1: E302 expected 2 blank lines, found 1
Line 11:1: W293 blank line contains whitespace
Line 12:1: E302 expected 2 blank lines, found 1
Line 12:15: E231 missing whitespace after ','
Line 22:1: E302 expected 2 blank lines, found 1
Line 22:15: E231 missing whitespace after ','
Line 32:14: W291 trailing whitespace
Line 34:1: W293 blank line contains whitespace
Line 34:1: W391 blank line at end of file


Bump dependencies

Codecov Report

Merging #122 (aa87904) into main (7fdeb19) will not change coverage.
The diff coverage is n/a.

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
@@             Coverage Diff             @@
##                main      #122   +/-   ##
===========================================
  Coverage     100.00%   100.00%
  Complexity       443       443
===========================================
  Files             35        35
  Lines           1292      1286    -6
===========================================
- Hits            1292      1286    -6

see 1 file with indirect coverage changes
:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Please create a bot user for each package registry

The current publish keys are linked to @ringods's user account which means all publishes appear to be from him

This has a few problem implications, not least that it violates the bus factor.
My suggestion would be to create a pulumiverse-bot user for each of the package registries and place the details in 1password so they can be shared

We should probably set up something like wombat-dressing-room for NPM (proxy, one token per repo).

That seems like a reasonable long term goal, but my biggest concern right now is that my hard work is being passed off as someone else's, which makes me sad and less likely to contribute to the pulumiverse.
A bot user is clearer

Yes, I agree.

@jaxxstorm we will discuss the technical setup during our upcoming board meeting.

I have claimed the NPM user for this, and will continue to set this up soon 👍


Typo and updated the chart version to the latest

Thanks for the contribution, we're about to release a new version of the controller however so I've bumped the doc in that PR https://github.com/actions-runner-controller/actions-runner-controller/pull/139
Appreciate the PR though!

no worries!


Fix min_duraion never met in server scenario

In #398, we made the change so that we only generate queries for just below min_duration in server scenario. However, this caused server scenario to always fail because the last scheduled query is at something like 59.9998s when min_duration=60s. What we should do is to generate queries for just above min_duration so that the min_duration check can be met.
@DilipSequeira FYI.

Makes sense. Thanks for catching this and fixing it so quickly!


🐞 [Bug]: Dashboard stuck on the loading page

Is there an existing issue for this?

[X] I have searched the existing issues

which package/s did you face the problem with?
Dashboard
What happened?
The dashboard get stuck on the loading pages sometimes on devnet and localhost, it used to show the reload button but not it doesn't.
how long should it take to show that button? And does it retry more than once to load the site?
Steps To Reproduce
No response
which network/s did you face the problem on?
Dev
version
71a3b1a
Twin ID/s
No response
Node ID/s
No response
Farm ID/s
No response
Contract ID/s
No response
Relevant screenshots/screen records

Relevant log output
.

Can you please provide some steps to reproduce this?

Can you please provide some steps to reproduce this?

It usually happens due to a network error, but you could try a slow 3G network in the developer tool.

I can't reproduce it, it worked with me even on a 3G network
Screencast from 05-30-2024 10:45:19 AM.webm

@A-Harby I can't reproduce it; it worked with me even on a 3G network

@Mahmoud-Emad I'm going to close the issue as unreproducible for now, but can you clarify the timeout process?
Like, how long is the timeout duration for the reload button to be shown, and if there is a retry on failed to load, how many does it retey? so I can create a test case to make sure it's not reproducible.

I can not reproduce the issue shall we move it to done for now ?

tried to produce the issue again but could not will close it for now.


fix: extract image digest raw from yq

yq will quote the digest string, which will break image pushing.
For example:
INFO: Elapsed time: 1.673s, Critical Path: 1.12s
INFO: 5 processes: 1 internal, 4 darwin-sandbox.
INFO: Build completed successfully, 5 total actions
INFO: Running command line: bazel-bin/backend/api/cmd/push_push.sh
europe-west1-docker.pkg.dev/xx/xx
21:48:51 initCommand [WARN] JSON file output is now JSON by default (instead of yaml). Use '-oy' or '--output-format=yaml' for yaml output
Error: could not parse reference: xxxxxx@"sha256:ca70bd1e4c8fada66c93f31c58019ad72dc1f7a6d5a7fa900127e817c87ae679"

Remove the warning and unwrap the string.

Any particular reason why this was reverted? We're encountering this same issue so curious if there was another resolution / if this particular fix broke something

Any context why this was reverted? We're hitting the same issue with oci_tarball failing due to the shasum being quoted

yq has made a breaking change and did not follow the semver rules while doing it. there was no way to support recent versions of yq in a backward-compatible way.
you should probably downgrade it as well. cross ref: https://github.com/aspect-build/bazel-lib/pull/421


explore: implement chart container and bar chart

This PR implements the Explore chart container and the BarChart component. Design Specs
Notes

The demo won't include comparing with other location, but I prepared the API of the ExploreChart component so it can receive an array of series. For the MVP, it will only show raw and smoothed data.
The axes need some tweaking to match the designs, more PRs to come!

 explore: implement bar chart

 explore: implement chart container


Bug Report: Song Ending

When i slow the speed of the song in freeplay the song ends earlier than usual
Is this a feature or a bug?

this was already fixed https://github.com/KadeDev/Kade-Engine/commit/be3ae97e57ce056379507b299aa5000b01bd7605


JabbR prevents sharing of certain connection strings

I tried to paste the code sample:
<add name="RavenDB" connectionString="Url=http://localhost:8080;ResourceManagerId=GUID" />
And was presented with an error: Invalid URI: Invalid port specified.
I don't feel this should be an error, if you can't parse the url you should just let it degrade to regular text.

Jabbr doesn't support RavenDB. If you'd like to add support for it we gladly accept pull requests.

Wait are you saying we parse this? What does the stack trace look like?

I was attempting to communicate that line of XML over jabbr chat, the jabbr chat was attempting to create a clickable URL for http://localhost:8080 which it would error with "Invalid URI: Invalid port specified. ". This seems to be a bug in the auto parsing of URL text to become a clickable a tag.

I see, this was unclear from the bug descripton.

I can work on this.  What would be the best way to handle this?  Have the link only point to http://localhost:8080....  ignore all uri's that point to localhost... try to ignore links that are contained in a connection string (perhaps look for the 'Url=' at the beginning)?

It's fixed already :).

Ok


feat: port Order.Heyting.Boundary

mathlib SHA: 70d50ecfd4900dd6d328da39ab7ebd516abe4025
Porting notes:

Needed to fix the proof of boundary_le_boundary_sup_sup_boundary_inf_left as simp produced a different term than in mathlib3
The scoped notation doesn't automatically introduce the notation into the current scope.
3. The lint error seems like a bug. Can anyone confirm?

Should I rename hnot to hNot in this PR?

bors merge

bors merge


-D option isn't present on BSD install, causing bpkg install to fail on some systems

BSD install doesn't have the -D option, which causes installation to fail on systems that use this version of install.
My (probably incomplete) understanding is that this can be resolved by splitting this into a mkdir -p followed by install sans the -D option, but I don't know if there is a better way that works with the bpkg 'install' field.
For reference, the relevant install command: https://github.com/ryanmjacobs/c/blob/master/package.json#L6

@alphabetum Thanks! I took your suggestion of using mkdir -p, but I don't know if I need to bump the version number in order for bpkg to see it.

It now installs properly. Thank you!

Sweet! I'll close this issue now.

So what exactly do I need to run if i don't have -D?

Also now that Mac OS X is "root-less" you can't modify /usr/bin. I even tried enabling the root user and still no dice.  /usr/local, however is allowed so I'll use that I guess.