behavior of upstream request timeout

I was testing a use case where I have a lua filter which sleeps for 4 secs, and added before the envoy router. We have route timeout configured for 3 secs.
The expectation was the timer begins in router and the lua 4s sleep, which is before router, shouldn't affect the route timeout and request should work.
But I see the upstream request timeout and sleep-in filter is affecting the upstream timeout. Upstream timeout should be for the time request sent out to time taken by service right. Time taken in envoy should not affect upstream timeout.
Example:
bootstrap.yaml
admin:
  address:
    socket_address:
      protocol: TCP
      address: <IP_ADDRESS>
      port_value: 9901
dynamic_resources:
  cds_config:
    path: ./cds.yaml
  lds_config:
    path: ./lds.yaml
node:
  cluster: test-cluster
  id: test-id

cds.yaml
resources:
- "@type": type.googleapis.com/envoy.config.cluster.v3.Cluster
  name: dynamic_forward_proxy_cluster_http
  lb_policy: CLUSTER_PROVIDED
  cluster_type:
    name: envoy.clusters.dynamic_forward_proxy
    typed_config:
      "@type": type.googleapis.com/envoy.extensions.clusters.dynamic_forward_proxy.v3.ClusterConfig
      sub_clusters_config:
        lb_policy: LEAST_REQUEST
        sub_cluster_ttl: 600s

lds.yaml
resources:
- "@type": type.googleapis.com/envoy.config.listener.v3.Listener
  name: listener_0
  address:
    socket_address:
      protocol: TCP
      address: <IP_ADDRESS>
      port_value: 10000
  filter_chains:
  - filters:
    - name: envoy.filters.network.http_connection_manager
      typed_config:
        "@type": type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager
        stat_prefix: ingress_http
        route_config:
          name: local_route
          virtual_hosts:
          - name: local_service
            domains: ["httpbin.org"]
            routes:
            - match:
                prefix: "/"
              route:
                cluster: dynamic_forward_proxy_cluster_http
                timeout: 3s
        http_filters:
        - name: envoy.filters.http.dynamic_forward_proxy
          typed_config:
            "@type": type.googleapis.com/envoy.extensions.filters.http.dynamic_forward_proxy.v3.FilterConfig
            sub_cluster_config:
              cluster_init_timeout: 5s
        - name: envoy.filters.http.lua
          typed_config:
            "@type": type.googleapis.com/envoy.extensions.filters.http.lua.v3.Lua
            default_source_code:
              inline_string: |
                function envoy_on_request(request_handle)
                  request_handle:logInfo("Sleeping for 4 seconds")
                  local start = os.time()
                  repeat until os.time() > start + 4
                end
        - name: envoy.filters.http.router
          typed_config:
            "@type": type.googleapis.com/envoy.extensions.filters.http.router.v3.Router

Apply the above yaml and run curl -vL -H 'Host: httpbin.org' http://localhost:10000/status/200
The expectation was that requests shouldn't timeout as upstream isn't taking time, but envoy's lua filter was. Am I assuming something wrong? Can someone explain this in detail
I see the enable timer happens on router decodeHeaders on end_stream (i.e., downstream request received completely) but behaviour is not the same.

But I see the upstream request timeout and sleep-in filter is affecting the upstream timeout. Upstream timeout should be for the time request sent out to time taken by service right.

Did you try removing the lua_filter to check if it's the upstream that is ACTUALLY "timing-out"?

I was testing a use case where I have a lua filter which sleeps for 4 secs, and added before the envoy router.

There is no guarantee mentioned in the doc that the lua code would run before the router, no?

But I see the upstream request timeout and sleep-in filter is affecting the upstream timeout. Upstream timeout should be for the time request sent out to time taken by service right.

What does the access logs say, specifically the response flags? https://www.envoyproxy.io/docs/envoy/latest/configuration/observability/access_log/usage#:~:text=%25RESPONSE_FLAGS%25 / %25RESPONSE_FLAGS_LONG%25,Possible values are%3A
I suspect that you're running into another error as the upstream timeout occurs after the full request is complete.
Simplifying the experiment to just lua + router should help tease this out.

@KBaichoo @shreemaan-abhishek
It's the same behaviour with plain simple configuration as well. Below is the example to reproduce
bootstrap.yaml
admin:
  address:
    socket_address:
      protocol: TCP
      address: <IP_ADDRESS>
      port_value: 9901
dynamic_resources:
  cds_config:
    path: ./cds.yaml
  lds_config:
    path: ./lds.yaml
node:
  cluster: test-cluster
  id: test-id

cds.yaml
resources:
- "@type": type.googleapis.com/envoy.config.cluster.v3.Cluster
  name: hello_service
  connect_timeout: 0.25s
  type: STATIC
  lb_policy: ROUND_ROBIN
  load_assignment:
    cluster_name: hello_service
    endpoints:
    - lb_endpoints:
      - endpoint:
          address:
            socket_address:
              address: <IP_ADDRESS>
              port_value: 8090

lds.yaml
resources:
- "@type": type.googleapis.com/envoy.config.listener.v3.Listener
  name: listener_0
  address:
    socket_address:
      protocol: TCP
      address: <IP_ADDRESS>
      port_value: 10000
  filter_chains:
  - filters:
    - name: envoy.filters.network.http_connection_manager
      typed_config:
        "@type": type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager
        stat_prefix: ingress_http
        route_config:
          name: local_route
          virtual_hosts:
          - name: local_service
            domains: ["*"]
            routes:
            - match:
                prefix: "/"
              route:
                cluster: hello_service
                timeout: 2s
        http_filters:
        - name: envoy.filters.http.lua
          typed_config:
            "@type": type.googleapis.com/envoy.extensions.filters.http.lua.v3.Lua
            default_source_code:
              inline_string: |
                function envoy_on_request(request_handle)
                  request_handle:logInfo("Sleeping for 1 seconds")
                  local start = os.time()
                  repeat until os.time() > start + 3
                end
        - name: envoy.filters.http.router
          typed_config:
            "@type": type.googleapis.com/envoy.extensions.filters.http.router.v3.Router

Save the above configs in respective files
Run - envoy-static --config-path bootstrap.yaml --log-level debug
Run - curl -vL http://localhost:10000/hello
Expectation is the request shouldn't timeout as the request wasn't sent to upstream and the sleep was within proxy.

@KBaichoo Did you get any time to look into this?

@itsLucario, you might want to answer kbaichoo's question first:

What does the access logs say, specifically the response flags? https://www.envoyproxy.io/docs/envoy/latest/configuration/observability/access_log/usage#:~:text=%25RESPONSE_FLAGS%25 / %25RESPONSE_FLAGS_LONG%25,Possible values are%3A

Hey @itsLucario
I was able to produce the same results as you were. I'm not entirely sure what's going on underneath in libevent that might cause this. I see that the timer is fired before it is expected.
[2024-11-25 13:46:25.932][2797671][debug][http] [source/common/http/conn_manager_impl.cc:1184] [Tags: "ConnectionId":"0","StreamId":"11449449766779547522"] request headers complete (end_stream=true):
':authority', 'localhost:10000'
':path', '/'
':method', 'GET'
'user-agent', 'curl/7.68.0'
'accept', '*/*'

[2024-11-25 13:46:25.932][2797671][debug][http] [source/common/http/conn_manager_impl.cc:1167] [Tags: "ConnectionId":"0","StreamId":"11449449766779547522"] request end stream timestamp recorded
[2024-11-25 13:46:25.932][2797671][debug][connection] [./source/common/network/connection_impl.h:98] [Tags: "ConnectionId":"0"] current connecting state: false
[2024-11-25 13:46:25.932][2797671][trace][lua] [./source/extensions/filters/common/lua/lua.h:149] creating N5Envoy10Extensions11HttpFilters3Lua19StreamHandleWrapperE at 0x7f70b995e250
[2024-11-25 13:46:25.932][2797671][info][lua] [source/extensions/filters/http/lua/lua_filter.cc:947] script log: Sleeping for 3 seconds
[2024-11-25 13:46:26.461][2797561][debug][main] [source/server/server.cc:238] flushing stats
[2024-11-25 13:46:29.006][2797671][debug][lua] [source/extensions/filters/common/lua/lua.cc:39] coroutine finished
[2024-11-25 13:46:29.006][2797671][trace][lua] [./source/extensions/filters/common/lua/lua.h:210] marking dead N5Envoy10Extensions11HttpFilters3Lua19StreamHandleWrapperE at 0x7f70b995e250
[2024-11-25 13:46:29.006][2797671][trace][http] [source/common/http/filter_manager.cc:570] [Tags: "ConnectionId":"0","StreamId":"11449449766779547522"] decode headers called: filter=envoy.filters.http.lua status=0
[2024-11-25 13:46:29.006][2797671][debug][router] [source/common/router/router.cc:527] [Tags: "ConnectionId":"0","StreamId":"11449449766779547522"] cluster 'hello_service' match for URL '/'
[2024-11-25 13:46:29.006][2797671][debug][router] [source/common/router/router.cc:756] [Tags: "ConnectionId":"0","StreamId":"11449449766779547522"] router decoding headers:
':authority', 'localhost:10000'
':path', '/'
':method', 'GET'
':scheme', 'http'
'user-agent', 'curl/7.68.0'
'accept', '*/*'
'x-forwarded-proto', 'http'
'x-request-id', 'c7881edd-8964-45ab-a1ca-cd47cca61305'
'x-envoy-expected-rq-timeout-ms', '2000'

[2024-11-25 13:46:29.006][2797671][debug][pool] [source/common/http/conn_pool_base.cc:78] queueing stream due to no available connections (ready=0 busy=0 connecting=0)
[2024-11-25 13:46:29.006][2797671][debug][pool] [source/common/conn_pool/conn_pool_base.cc:291] trying to create new connection
[2024-11-25 13:46:29.007][2797671][trace][pool] [source/common/conn_pool/conn_pool_base.cc:292] ConnPoolImplBase 0x15803d28de00, ready_clients_.size(): 0, busy_clients_.size(): 0, connecting_clients_.size(): 0, connecting_stream_capacity_: 0, num_active_streams_: 0, pending_streams_.size(): 1 per upstream preconnect ratio: 1
[2024-11-25 13:46:29.007][2797671][debug][pool] [source/common/conn_pool/conn_pool_base.cc:145] creating a new connection (connecting=0)
[2024-11-25 13:46:29.008][2797671][debug][connection] [./source/common/network/connection_impl.h:98] [Tags: "ConnectionId":"1"] current connecting state: true
[2024-11-25 13:46:29.008][2797671][debug][client] [source/common/http/codec_client.cc:57] [Tags: "ConnectionId":"1"] connecting
[2024-11-25 13:46:29.008][2797671][debug][connection] [source/common/network/connection_impl.cc:1017] [Tags: "ConnectionId":"1"] connecting to <IP_ADDRESS>:8090
[2024-11-25 13:46:29.008][2797671][debug][connection] [source/common/network/connection_impl.cc:1036] [Tags: "ConnectionId":"1"] connection in progress
[2024-11-25 13:46:29.008][2797671][trace][pool] [source/common/conn_pool/conn_pool_base.cc:131] not creating a new connection, shouldCreateNewConnection returned false.
[2024-11-25 13:46:29.008][2797671][trace][http] [source/common/http/filter_manager.cc:570] [Tags: "ConnectionId":"0","StreamId":"11449449766779547522"] decode headers called: filter=envoy.filters.http.upstream_codec status=4
[2024-11-25 13:46:29.008][2797671][warning][misc] [source/common/router/router.cc:1080] kbaichoo:Setting global timeout for response as 2000 ms.

<-------------- see that we set the timer for 2s

[2024-11-25 13:46:29.008][2797671][trace][http] [source/common/http/filter_manager.cc:570] [Tags: "ConnectionId":"0","StreamId":"11449449766779547522"] decode headers called: filter=envoy.filters.http.router status=1
[2024-11-25 13:46:29.008][2797671][trace][misc] [source/common/event/scaled_range_timer_manager_impl.cc:60] enableTimer called on 0x15803d549a00 for 300000ms, min is 300000ms
[2024-11-25 13:46:29.008][2797671][trace][http] [source/common/http/http1/codec_impl.cc:695] [Tags: "ConnectionId":"0"] parsed 79 bytes
[2024-11-25 13:46:29.008][2797671][trace][connection] [source/common/network/connection_impl.cc:614] [Tags: "ConnectionId":"1"] socket event: 2
[2024-11-25 13:46:29.008][2797671][trace][connection] [source/common/network/connection_impl.cc:737] [Tags: "ConnectionId":"1"] write ready
[2024-11-25 13:46:29.008][2797671][debug][connection] [source/common/network/connection_impl.cc:746] [Tags: "ConnectionId":"1"] connected
[2024-11-25 13:46:29.008][2797671][trace][connection] [source/common/network/connection_impl.cc:469] [Tags: "ConnectionId":"1"] raising connection event 2
[2024-11-25 13:46:29.008][2797671][debug][client] [source/common/http/codec_client.cc:88] [Tags: "ConnectionId":"1"] connected
[2024-11-25 13:46:29.008][2797671][debug][pool] [source/common/conn_pool/conn_pool_base.cc:328] [Tags: "ConnectionId":"1"] attaching to next stream
[2024-11-25 13:46:29.008][2797671][debug][pool] [source/common/conn_pool/conn_pool_base.cc:182] [Tags: "ConnectionId":"1"] creating stream
[2024-11-25 13:46:29.008][2797671][debug][router] [source/common/router/upstream_request.cc:589] [Tags: "ConnectionId":"0","StreamId":"11449449766779547522"] pool ready
[2024-11-25 13:46:29.008][2797671][trace][router] [source/common/router/upstream_codec_filter.cc:61] [Tags: "ConnectionId":"0","StreamId":"11449449766779547522"] proxying headers
[2024-11-25 13:46:29.008][2797671][trace][connection] [source/common/network/connection_impl.cc:529] [Tags: "ConnectionId":"1"] writing 194 bytes, end_stream false
[2024-11-25 13:46:29.008][2797671][debug][client] [source/common/http/codec_client.cc:142] [Tags: "ConnectionId":"1"] encode complete
[2024-11-25 13:46:29.008][2797671][trace][http] [source/common/http/filter_manager.cc:68] [Tags: "ConnectionId":"0","StreamId":"11449449766779547522"] continuing filter chain: filter=0x15803d549c00
[2024-11-25 13:46:29.008][2797671][trace][connection] [source/common/network/connection_impl.cc:737] [Tags: "ConnectionId":"1"] write ready
[2024-11-25 13:46:29.008][2797671][trace][connection] [source/common/network/raw_buffer_socket.cc:70] [Tags: "ConnectionId":"1"] write returns: 194
[2024-11-25 13:46:29.008][2797671][debug][router] [source/common/router/router.cc:1108] [Tags: "ConnectionId":"0","StreamId":"11449449766779547522"] upstream timeout

<----------------- timer fires early

[2024-11-25 13:46:29.010][2797671][debug][router] [source/common/router/upstream_request.cc:487] [Tags: "ConnectionId":"0","StreamId":"11449449766779547522"] resetting pool request
[2024-11-25 13:46:29.010][2797671][debug][client] [source/common/http/codec_client.cc:159] [Tags: "ConnectionId":"1"] request reset
[2024-11-25 13:46:29.010][2797671][trace][main] [source/common/event/dispatcher_impl.cc:233] item added to deferred deletion list (size=1)
[2024-11-25 13:46:29.010][2797671][debug][connection] [source/common/network/connection_impl.cc:150] [Tags: "ConnectionId":"1"] closing data_to_write=0 type=1
[2024-11-25 13:46:29.010][2797671][debug][connection] [source/common/network/connection_impl.cc:276] [Tags: "ConnectionId":"1"] closing socket: 1
[2024-11-25 13:46:29.010][2797671][trace][connection] [source/common/network/connection_impl.cc:469] [Tags: "ConnectionId":"1"] raising connection event 1
[2024-11-25 13:46:29.010][2797671][debug][client] [source/common/http/codec_client.cc:107] [Tags: "ConnectionId":"1"] disconnect. resetting 0 pending requests
[2024-11-25 13:46:29.010][2797671][debug][pool] [source/common/conn_pool/conn_pool_base.cc:495] [Tags: "ConnectionId":"1"] client disconnected, failure reason:
[2024-11-25 13:46:29.010][2797671][trace][main] [source/common/event/dispatcher_impl.cc:233] item added to deferred deletion list (size=2)
[2024-11-25 13:46:29.010][2797671][trace][main] [source/common/event/dispatcher_impl.cc:233] item added to deferred deletion list (size=3)
[2024-11-25 13:46:29.010][2797671][debug][pool] [source/common/conn_pool/conn_pool_base.cc:463] invoking 1 idle callback(s) - is_draining_for_deletion_=false
[2024-11-25 13:46:29.010][2797671][trace][upstream] [source/common/upstream/cluster_manager_impl.cc:2169] Erasing idle pool for host <IP_ADDRESS>:8090
[2024-11-25 13:46:29.010][2797671][trace][main] [source/common/event/dispatcher_impl.cc:233] item added to deferred deletion list (size=4)
[2024-11-25 13:46:29.010][2797671][trace][upstream] [source/common/upstream/cluster_manager_impl.cc:2176] Pool container empty for host <IP_ADDRESS>:8090, erasing host entry
[2024-11-25 13:46:29.010][2797671][trace][main] [source/common/event/dispatcher_impl.cc:233] item added to deferred deletion list (size=5)
[2024-11-25 13:46:29.010][2797671][debug][http] [source/common/http/filter_manager.cc:1088] [Tags: "ConnectionId":"0","StreamId":"11449449766779547522"] Sending local reply with details response_timeout

Digging into gdb backtrace its just the timer firing directly from libevent:
#0  Envoy::Router::Filter::onResponseTimeout (this=0x26a0bd277ba0) at source/common/router/router.cc:1108
#1  0x000055555ee17ce8 in Envoy::Router::Filter::onRequestComplete()::$_35::operator()() const (this=0x26a0bd2402f8)
    at source/common/router/router.cc:1081
#2  0x000055555ee17cb5 in std::__1::__invoke<Envoy::Router::Filter::onRequestComplete()::$_35&>(Envoy::Router::Filter::onRequestComplete()::$_35&) (__f=...) at /home/kbaichoo/opt/clang14/bin/../include/c++/v1/type_traits:3640
#3  0x000055555ee17c6d in std::__1::__invoke_void_return_wrapper<void, true>::__call<Envoy::Router::Filter::onRequestComplete()::$_35&>(Envoy::Router::Filter::onRequestComplete()::$_35&) (__args=...) at /home/kbaichoo/opt/clang14/bin/../include/c++/v1/__functional/invoke.h:61
#4  0x000055555ee17c3d in std::__1::__function::__alloc_func<Envoy::Router::Filter::onRequestComplete()::$_35, std::__1::allocator<Envoy::Router::Filter::onRequestComplete()::$_35>, void ()>::operator()() (this=0x26a0bd2402f8)
    at /home/kbaichoo/opt/clang14/bin/../include/c++/v1/__functional/function.h:180
#5  0x000055555ee16da9 in std::__1::__function::__func<Envoy::Router::Filter::onRequestComplete()::$_35, std::__1::allocator<Envoy::Router::Filter::onRequestComplete()::$_35>, void ()>::operator()() (this=0x26a0bd2402f0)
    at /home/kbaichoo/opt/clang14/bin/../include/c++/v1/__functional/function.h:354
#6  0x000055555a4106d2 in std::__1::__function::__value_func<void ()>::operator()() const (this=0x26a0bd2402f0)
    at /home/kbaichoo/opt/clang14/bin/../include/c++/v1/__functional/function.h:507
#7  0x000055555a40fec5 in std::__1::function<void ()>::operator()() const (this=0x26a0bd2402f0)
    at /home/kbaichoo/opt/clang14/bin/../include/c++/v1/__functional/function.h:1184
#8  0x000055555f528109 in Envoy::Event::DispatcherImpl::createTimerInternal(std::__1::function<void ()>)::$_20::operator()() const (
    this=0x26a0bd2402e0) at source/common/event/dispatcher_impl.cc:223
#9  0x000055555f5280c5 in std::__1::__invoke<Envoy::Event::DispatcherImpl::createTimerInternal(std::__1::function<void ()>)::$_20&>(Envoy::Event::DispatcherImpl::createTimerInternal(std::__1::function<void ()>)::$_20&) (__f=...)
    at /home/kbaichoo/opt/clang14/bin/../include/c++/v1/type_traits:3640
#10 0x000055555f52807d in std::__1::__invoke_void_return_wrapper<void, true>::__call<Envoy::Event::DispatcherImpl::createTimerInternal(std::__1::function<void ()>)::$_20&>(Envoy::Event::DispatcherImpl::createTimerInternal(std::__1::function<void ()>)::$_20&) (__args=...)
    at /home/kbaichoo/opt/clang14/bin/../include/c++/v1/__functional/invoke.h:61
#11 0x000055555f52804d in std::__1::__function::__alloc_func<Envoy::Event::DispatcherImpl::createTimerInternal(std::__1::function<void ()>)::$_20, std::__1::allocator<Envoy::Event::DispatcherImpl::createTimerInternal(std::__1::function<void ()>)::$_20>, void ()>::operator()() (
    this=0x26a0bd2402e0) at /home/kbaichoo/opt/clang14/bin/../include/c++/v1/__functional/function.h:180
#12 0x000055555f527259 in std::__1::__function::__func<Envoy::Event::DispatcherImpl::createTimerInternal(std::__1::function<void ()>)::$_20, std::__1::allocator<Envoy::Event::DispatcherImpl::createTimerInternal(std::__1::function<void ()>)::$_20>, void ()>::operator()() (
    this=0x26a0bd2402d0) at /home/kbaichoo/opt/clang14/bin/../include/c++/v1/__functional/function.h:354
#13 0x000055555a4106d2 in std::__1::__function::__value_func<void ()>::operator()() const (this=0x26a0bd206800)
    at /home/kbaichoo/opt/clang14/bin/../include/c++/v1/__functional/function.h:507
#14 0x000055555a40fec5 in std::__1::function<void ()>::operator()() const (this=0x26a0bd206800)
    at /home/kbaichoo/opt/clang14/bin/../include/c++/v1/__functional/function.h:1184
#15 0x000055555f91262c in Envoy::Event::TimerImpl::TimerImpl(Envoy::CSmartPtr<event_base, &event_base_free>&, std::__1::function<void ()>, Envoy::Event::Dispatcher&)::$_1::operator()(int, short, void*) const (this=0xffffffff, arg=0x26a0bd206780)
    at source/common/event/timer_impl.cc:15
#16 0x000055555f9125d9 in Envoy::Event::TimerImpl::TimerImpl(Envoy::CSmartPtr<event_base, &event_base_free>&, std::__1::function<void ()>, Envoy::Event::Dispatcher&)::$_1::__invoke(int, short, void*) (arg=0x26a0bd206780) at source/common/event/timer_impl.cc:15
#17 0x000055555fd2c60c in event_process_active_single_queue (base=0x26a0bf93e2c0, activeq=0x26a0bfd630c0, max_to_process=2147483647,
    endtime=0x0)
    at /home/kbaichoo/.cache/bazel/_bazel_kbaichoo/16d303b39246d890ca11c3a333080682/sandbox/linux-sandbox/2294/execroot/envoy/external/com_github_libevent_libevent/event.c:1713
#18 0x000055555fd26e68 in event_process_active (base=0x26a0bf93e2c0)
    at /home/kbaichoo/.cache/bazel/_bazel_kbaichoo/16d303b39246d890ca11c3a333080682/sandbox/linux-sandbox/2294/execroot/envoy/external/com_github_libevent_libevent/event.c:1805
#19 0x000055555fd25d6c in event_base_loop (base=0x26a0bf93e2c0, flags=0)
    at /home/kbaichoo/.cache/bazel/_bazel_kbaichoo/16d303b39246d890ca11c3a333080682/sandbox/linux-sandbox/2294/execroot/envoy/external/com_github_libevent_libevent/event.c:2047
#20 0x000055555f90ec9f in Envoy::Event::LibeventScheduler::run (this=0x26a0bd528800, mode=Envoy::Event::Dispatcher::RunType::Block)
    at source/common/event/libevent_scheduler.cc:60
#21 0x000055555f51ac99 in Envoy::Event::DispatcherImpl::run (this=0x26a0bd528780, type=Envoy::Event::Dispatcher::RunType::Block)
    at source/common/event/dispatcher_impl.cc:282
#22 0x000055555d9a6d8c in Envoy::Server::WorkerImpl::threadRoutine(Envoy::OptRef<Envoy::Server::GuardDog>, std::__1::function<void ()> const&) (this=0x26a0bd570fa0, guard_dog=..., cb=...) at source/server/worker_impl.cc:156
#23 0x000055555d9ad4b8 in Envoy::Server::WorkerImpl::start(Envoy::OptRef<Envoy::Server::GuardDog>, std::__1::function<void ()> const&)::$_9::operator()() const (this=0x26a0bd5b29c0) at source/server/worker_impl.cc:119
#24 0x000055555d9ad475 in std::__1::__invoke<Envoy::Server::WorkerImpl::start(Envoy::OptRef<Envoy::Server::GuardDog>, std::__1::function<void ()> const&)::$_9&>(Envoy::Server::WorkerImpl::start(Envoy::OptRef<Envoy::Server::GuardDog>, std::__1::function<void ()> const&)::$_9&) (
    __f=...) at /home/kbaichoo/opt/clang14/bin/../include/c++/v1/type_traits:3640
#25 0x000055555d9ad42d in std::__1::__invoke_void_return_wrapper<void, true>::__call<Envoy::Server::WorkerImpl::start(Envoy::OptRef<Envoy::Server::GuardDog>, std::__1::function<void ()> const&)::$_9&>(Envoy::Server::WorkerImpl::start(Envoy::OptRef<Envoy::Server::GuardDog>, std::__1::function<void ()> const&)::$_9&) (__args=...) at /home/kbaichoo/opt/clang14/bin/../include/c++/v1/__functional/invoke.h:61
#26 0x000055555d9ad3fd in std::__1::__function::__alloc_func<Envoy::Server::WorkerImpl::start(Envoy::OptRef<Envoy::Server::GuardDog>, std::__1::function<void ()> const&)::$_9, std::__1::allocator<Envoy::Server::WorkerImpl::start(Envoy::OptRef<Envoy::Server::GuardDog>, std::__1::function<void ()> const&)::$_9>, void ()>::operator()() (this=0x26a0bd5b29c0)

Note for lua, we shouldn't be sleeping or doing anything that intensive since it does block the envoy worker thread e.g. no other request can get processed.
Comparing this to using fault injection delay:
resources:
- "@type": type.googleapis.com/envoy.config.listener.v3.Listener
  name: listener_0
  address:
    socket_address:
      protocol: TCP
      address: <IP_ADDRESS>
      port_value: 10000
  filter_chains:
  - filters:
    - name: envoy.filters.network.http_connection_manager
      typed_config:
        "@type": type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager
        stat_prefix: ingress_http
        route_config:
          name: local_route
          virtual_hosts:
          - name: local_service
            domains: ["*"]
            routes:
            - match:
                prefix: "/"
              route:
                cluster: hello_service
                timeout: 2s
        http_filters:
        - name: envoy.filters.http.fault
          typed_config:
            "@type": type.googleapis.com/envoy.extensions.filters.http.fault.v3.HTTPFault
            max_active_faults: 100
            delay:
              fixed_delay: 3s
              percentage:
                numerator: 100
        - name: envoy.filters.http.router
          typed_config:
            "@type": type.googleapis.com/envoy.extensions.filters.http.router.v3.Router

We get the delay separate from the router timeout as expected:
[2024-11-25 13:39:49.663][2495535][debug][http] [source/common/http/conn_manager_impl.cc:1184] [Tags: "ConnectionId":"0","StreamId":"1768575829158274528"] request headers complete (end_stream=true):
':authority', 'localhost:10000'
':path', '/'
':method', 'GET'
'user-agent', 'curl/7.68.0'
'accept', '*/*'

[2024-11-25 13:39:49.663][2495535][debug][http] [source/common/http/conn_manager_impl.cc:1167] [Tags: "ConnectionId":"0","StreamId":"1768575829158274528"] request end stream timestamp recorded
[2024-11-25 13:39:49.663][2495535][debug][connection] [./source/common/network/connection_impl.h:98] [Tags: "ConnectionId":"0"] current connecting state: false
[2024-11-25 13:39:49.663][2495535][debug][filter] [source/extensions/filters/http/fault/fault_filter.cc:171] fault: delaying request 3000ms
[2024-11-25 13:39:49.663][2495535][trace][http] [source/common/http/filter_manager.cc:570] [Tags: "ConnectionId":"0","StreamId":"1768575829158274528"] decode headers called: filter=envoy.filters.http.fault status=1
[2024-11-25 13:39:49.663][2495535][trace][misc] [source/common/event/scaled_range_timer_manager_impl.cc:60] enableTimer called on 0x264ffd542a00 for 300000ms, min is 300000ms
[2024-11-25 13:39:49.664][2495535][trace][http] [source/common/http/http1/codec_impl.cc:695] [Tags: "ConnectionId":"0"] parsed 79 bytes
[2024-11-25 13:39:52.661][2495535][trace][http] [source/common/http/filter_manager.cc:68] [Tags: "ConnectionId":"0","StreamId":"1768575829158274528"] continuing filter chain: filter=0x264ffd542b00
[2024-11-25 13:39:52.661][2495535][debug][router] [source/common/router/router.cc:527] [Tags: "ConnectionId":"0","StreamId":"1768575829158274528"] cluster 'hello_service' match for URL '/'
[2024-11-25 13:39:52.661][2495535][debug][router] [source/common/router/router.cc:756] [Tags: "ConnectionId":"0","StreamId":"1768575829158274528"] router decoding headers:
':authority', 'localhost:10000'
':path', '/'
':method', 'GET'
':scheme', 'http'
'user-agent', 'curl/7.68.0'
'accept', '*/*'
'x-forwarded-proto', 'http'
'x-request-id', 'dd6b1290-f2d0-4c7b-8dc8-b666aa3f1510'
'x-envoy-expected-rq-timeout-ms', '2000'

[2024-11-25 13:39:52.662][2495535][debug][pool] [source/common/http/conn_pool_base.cc:78] queueing stream due to no available connections (ready=0 busy=0 connecting=0)
[2024-11-25 13:39:52.662][2495535][debug][pool] [source/common/conn_pool/conn_pool_base.cc:291] trying to create new connection
[2024-11-25 13:39:52.662][2495535][trace][pool] [source/common/conn_pool/conn_pool_base.cc:292] ConnPoolImplBase 0x264ffd26de00, ready_clients_.size(): 0, busy_clients_.size(): 0, connecting_clients_.size(): 0, connecting_stream_capacity_: 0, num_active_streams_: 0, pending_streams_.size(): 1 per upstream preconnect ratio: 1
[2024-11-25 13:39:52.662][2495535][debug][pool] [source/common/conn_pool/conn_pool_base.cc:145] creating a new connection (connecting=0)
[2024-11-25 13:39:52.663][2495535][debug][connection] [./source/common/network/connection_impl.h:98] [Tags: "ConnectionId":"1"] current connecting state: true
[2024-11-25 13:39:52.663][2495535][debug][client] [source/common/http/codec_client.cc:57] [Tags: "ConnectionId":"1"] connecting
[2024-11-25 13:39:52.663][2495535][debug][connection] [source/common/network/connection_impl.cc:1017] [Tags: "ConnectionId":"1"] connecting to <IP_ADDRESS>:8090
[2024-11-25 13:39:52.663][2495535][debug][connection] [source/common/network/connection_impl.cc:1036] [Tags: "ConnectionId":"1"] connection in progress
[2024-11-25 13:39:52.663][2495535][trace][pool] [source/common/conn_pool/conn_pool_base.cc:131] not creating a new connection, shouldCreateNewConnection returned false.
[2024-11-25 13:39:52.663][2495535][trace][http] [source/common/http/filter_manager.cc:570] [Tags: "ConnectionId":"0","StreamId":"1768575829158274528"] decode headers called: filter=envoy.filters.http.upstream_codec status=4
[2024-11-25 13:39:52.663][2495535][warning][misc] [source/common/router/router.cc:1080] kbaichoo:Setting global timeout for response as 2000 ms.
[2024-11-25 13:39:52.663][2495535][trace][http] [source/common/http/filter_manager.cc:570] [Tags: "ConnectionId":"0","StreamId":"1768575829158274528"] decode headers called: filter=envoy.filters.http.router status=1
[2024-11-25 13:39:52.663][2495535][trace][connection] [source/common/network/connection_impl.cc:614] [Tags: "ConnectionId":"1"] socket event: 2
[2024-11-25 13:39:52.663][2495535][trace][connection] [source/common/network/connection_impl.cc:737] [Tags: "ConnectionId":"1"] write ready
[2024-11-25 13:39:52.663][2495535][debug][connection] [source/common/network/connection_impl.cc:746] [Tags: "ConnectionId":"1"] connected
[2024-11-25 13:39:52.663][2495535][trace][connection] [source/common/network/connection_impl.cc:469] [Tags: "ConnectionId":"1"] raising connection event 2
[2024-11-25 13:39:52.663][2495535][debug][client] [source/common/http/codec_client.cc:88] [Tags: "ConnectionId":"1"] connected
[2024-11-25 13:39:52.663][2495535][debug][pool] [source/common/conn_pool/conn_pool_base.cc:328] [Tags: "ConnectionId":"1"] attaching to next stream
[2024-11-25 13:39:52.663][2495535][debug][pool] [source/common/conn_pool/conn_pool_base.cc:182] [Tags: "ConnectionId":"1"] creating stream
[2024-11-25 13:39:52.663][2495535][debug][router] [source/common/router/upstream_request.cc:589] [Tags: "ConnectionId":"0","StreamId":"1768575829158274528"] pool ready
[2024-11-25 13:39:52.663][2495535][trace][router] [source/common/router/upstream_codec_filter.cc:61] [Tags: "ConnectionId":"0","StreamId":"1768575829158274528"] proxying headers
[2024-11-25 13:39:52.663][2495535][trace][connection] [source/common/network/connection_impl.cc:529] [Tags: "ConnectionId":"1"] writing 194 bytes, end_stream false
[2024-11-25 13:39:52.663][2495535][debug][client] [source/common/http/codec_client.cc:142] [Tags: "ConnectionId":"1"] encode complete
[2024-11-25 13:39:52.663][2495535][trace][http] [source/common/http/filter_manager.cc:68] [Tags: "ConnectionId":"0","StreamId":"1768575829158274528"] continuing filter chain: filter=0x264ffd229880
[2024-11-25 13:39:52.663][2495535][trace][connection] [source/common/network/connection_impl.cc:737] [Tags: "ConnectionId":"1"] write ready
[2024-11-25 13:39:52.663][2495535][trace][connection] [source/common/network/raw_buffer_socket.cc:70] [Tags: "ConnectionId":"1"] write returns: 194
[2024-11-25 13:39:52.663][2495535][trace][connection] [source/common/network/connection_impl.cc:614] [Tags: "ConnectionId":"1"] socket event: 2
[2024-11-25 13:39:52.663][2495535][trace][connection] [source/common/network/connection_impl.cc:737] [Tags: "ConnectionId":"1"] write ready
[2024-11-25 13:39:52.664][2495535][trace][connection] [source/common/network/connection_impl.cc:614] [Tags: "ConnectionId":"1"] socket event: 3
[2024-11-25 13:39:52.664][2495535][trace][connection] [source/common/network/connection_impl.cc:737] [Tags: "ConnectionId":"1"] write ready
[2024-11-25 13:39:52.664][2495535][trace][connection] [source/common/network/connection_impl.cc:654] [Tags: "ConnectionId":"1"] read ready. dispatch_buffered_data=0
[2024-11-25 13:39:52.664][2495535][trace][connection] [source/common/network/raw_buffer_socket.cc:25] [Tags: "ConnectionId":"1"] read returns: 173
[2024-11-25 13:39:52.664][2495535][trace][connection] [source/common/network/raw_buffer_socket.cc:39] [Tags: "ConnectionId":"1"] read error: Resource temporarily unavailable, code: 0
[2024-11-25 13:39:52.664][2495535][trace][http] [source/common/http/http1/codec_impl.cc:645] [Tags: "ConnectionId":"1"] parsing 173 bytes
[2024-11-25 13:39:52.664][2495535][trace][http] [source/common/http/http1/codec_impl.cc:587] [Tags: "ConnectionId":"1"] message begin
[2024-11-25 13:39:52.664][2495535][trace][http] [source/common/http/http1/codec_impl.cc:544] [Tags: "ConnectionId":"1"] completed header: key=Content-Type value=text/plain
[2024-11-25 13:39:52.665][2495535][trace][http] [source/common/http/http1/codec_impl.cc:544] [Tags: "ConnectionId":"1"] completed header: key=Date value=Mon, 25 Nov 2024 18:39:52 GMT
[2024-11-25 13:39:52.665][2495535][trace][http] [source/common/http/http1/codec_impl.cc:544] [Tags: "ConnectionId":"1"] completed header: key=Connection value=keep-alive
[2024-11-25 13:39:52.665][2495535][trace][http] [source/common/http/http1/codec_impl.cc:544] [Tags: "ConnectionId":"1"] completed header: key=Keep-Alive value=timeout=5
[2024-11-25 13:39:52.665][2495535][trace][http] [source/common/http/http1/codec_impl.cc:838] [Tags: "ConnectionId":"1"] onHeadersCompleteImpl
[2024-11-25 13:39:52.665][2495535][trace][http] [source/common/http/http1/codec_impl.cc:544] [Tags: "ConnectionId":"1"] completed header: key=Transfer-Encoding value=chunked
[2024-11-25 13:39:52.665][2495535][trace][http] [source/common/http/http1/codec_impl.cc:1486] [Tags: "ConnectionId":"1"] status_code 200
[2024-11-25 13:39:52.665][2495535][trace][http] [source/common/http/http1/codec_impl.cc:1496] [Tags: "ConnectionId":"1"] Client: onHeadersComplete size=5
[2024-11-25 13:39:52.665][2495535][trace][http] [source/common/http/filter_manager.cc:904] [Tags: "ConnectionId":"0","StreamId":"1768575829158274528"] commonEncodePrefix end_stream: false, isHalfCloseEnabled: false
[2024-11-25 13:39:52.665][2495535][trace][router] [source/common/router/upstream_request.cc:268] [Tags: "ConnectionId":"0","StreamId":"1768575829158274528"] end_stream: false, upstream response headers:
':status', '200'
'content-type', 'text/plain'
'date', 'Mon, 25 Nov 2024 18:39:52 GMT'
'connection', 'keep-alive'
'keep-alive', 'timeout=5'
'transfer-encoding', 'chunked'


Enhancing the UI of the home page

I was thinking of adding different pictures for the Carousel.
We can add an animation to the 'Know More' button.

We can also add hover effect to the Community Partner Logos.

Hey, I want to work on this issue!

Hey, I want to work on this issue!

Sure! @kalashvasaniya


Updated the readme to show more backers

Extended the 9 backers to 25 :)

Coverage remained the same at 100.0% when pulling 6b7ffb4ae154b51375d4c5b7992f54cc83b041c9 on AndersGerner:patch-1 into e39f8bdca29a35edbd7480968c9fe0b2c9438860 on react-boilerplate:master.

@gretzky After changing base, this has a large set of conflicts.
I'll close this PR, and create a new one on the correct base branch. :)


Consider different (related) indicator for WSDI and CSDI

We reviewed W/CSDI indicator (Warm/Cold spell duration index).  The way these are (correctly, by various definitions, including J. Walsh’s) computed is a bit of a mismatch with a common-sense definition of the term.  We want to consider a common-sense version of this indicator - perhaps something like "number of hot spells"


High CPU usage when disconnected from the internet, very unresponsive

The VS Code processes will consume as much CPU as possible. The attached screen shot and memory dumps were captured when the issued happened.

VSCode Version: 1.19
OS Version:

Steps to Reproduce:

Disconnect internet
Install VS Code
Launch VS Code

Reproduces without extensions: Yes
I created dmp files but can't attach them

Run code --status when this happens and share the results. It gives a more clear picture on which process is causing the trouble
When Internet is connected you don't see any issues at all?
Read Perf Issues for instructions on what you can share so that we can better help you.

This is a fresh install of code without extensions added manually. Also, because code is consuming so much cpu I can't run all of the suggestions in the perf issues page. Any other thoughts?
code --status
[3784:1218/215046.069:WARNING:dns_config_service_win.cc(661)] Failed to read Dns
Config.
[3784:1218/215052.083:WARNING:dns_config_service_win.cc(661)] Failed to read Dns
Config.
[3784:1218/215057.434:WARNING:dns_config_service_win.cc(661)] Failed to read Dns
Config.
[3784:1218/215102.450:WARNING:dns_config_service_win.cc(661)] Failed to read Dns
Config.
[3784:1218/215107.465:WARNING:dns_config_service_win.cc(661)] Failed to read Dns
Config.
[3784:1218/215112.481:WARNING:dns_config_service_win.cc(661)] Failed to read Dns
Config.
code --prof-startup
{ Error: connect ECONNREFUSED <IP_ADDRESS>:9223
at Object.exports._errnoException (util.js:1050:11)
at exports._exceptionWithHostPort (util.js:1073:20)
at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1097:14)
code: 'ECONNREFUSED',
errno: 'ECONNREFUSED',
syscall: 'connect',
address: '<IP_ADDRESS>',
port: 9223 },
{ Error: connect ECONNREFUSED <IP_ADDRESS>:9223
at Object.exports._errnoException (util.js:1050:11)
at exports._exceptionWithHostPort (util.js:1073:20)
at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1097:14)
code: 'ECONNREFUSED',
errno: 'ECONNREFUSED',
syscall: 'connect',
address: '<IP_ADDRESS>',
port: 9223 },
{ Error: connect ECONNREFUSED <IP_ADDRESS>:9223
at Object.exports._errnoException (util.js:1050:11)
at exports._exceptionWithHostPort (util.js:1073:20)
at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1097:14)
code: 'ECONNREFUSED',
errno: 'ECONNREFUSED',
syscall: 'connect',
address: '<IP_ADDRESS>',
port: 9223 },
{ Error: connect ECONNREFUSED <IP_ADDRESS>:9223
at Object.exports._errnoException (util.js:1050:11)
at exports._exceptionWithHostPort (util.js:1073:20)
at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1097:14)
code: 'ECONNREFUSED',
errno: 'ECONNREFUSED',
syscall: 'connect',
address: '<IP_ADDRESS>',
port: 9223 },
{ Error: connect ECONNREFUSED <IP_ADDRESS>:9223
at Object.exports._errnoException (util.js:1050:11)
at exports._exceptionWithHostPort (util.js:1073:20)
at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1097:14)
code: 'ECONNREFUSED',
errno: 'ECONNREFUSED',
syscall: 'connect',
address: '<IP_ADDRESS>',
port: 9223 },
{ Error: connect ECONNREFUSED <IP_ADDRESS>:9223
at Object.exports._errnoException (util.js:1050:11)
at exports._exceptionWithHostPort (util.js:1073:20)
at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1097:14)
code: 'ECONNREFUSED',
errno: 'ECONNREFUSED',
syscall: 'connect',
address: '<IP_ADDRESS>',
port: 9223 },
{ Error: connect ECONNREFUSED <IP_ADDRESS>:9223
at Object.exports._errnoException (util.js:1050:11)
at exports._exceptionWithHostPort (util.js:1073:20)
at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1097:14)
code: 'ECONNREFUSED',
errno: 'ECONNREFUSED',
syscall: 'connect',
address: '<IP_ADDRESS>',
port: 9223 },
... 100 more items ] ]

@bpasero Do you have an idea here?
I can't reproduce the high CPU when there is no internet connection. I also can't reproduce the ECONNREFUSED when there is no internet connection... For me, code --status spits out a couple of Failed to read DnsConfig warnings, but then it correctly outputs the status.
The fact that the user can't even connect to the running instance makes me think that the code which sets up the port for status breaks somewhere and possibly causes the CPU spikes.
It's also confusing to me that the code is trying to connect to a running port... I thought --status used the named pipes?

Very likely a duplicate of https://github.com/Microsoft/vscode/issues/7570
@todddeweerd do you run in a VM with 1 CPU?

It does have just 1 CPU. It looks like the same issue.

Rather: https://github.com/Microsoft/vscode/issues/34396


[WIP] Show color and series name in hover detail

Solves #309.

@juliusv I thought this can't be that hard. It turns out it was super easy, you seem to have done half of the work years ago already. Lingering code FTW eh ;)
I want to iterate a bit more on the box, but having the color and series name there is already super great!

I like this in general, but it needs some tuning:
When there is no custom legend string, the full time series name is shown at the top, which is way too long. We could only show the metric name there in that case, but that would be somewhat redundant because that name is already shown right below the date (when there is a metric name at all). And what to show when there is no metric name and no legend string? All these different cases need to look sane somehow.

when there is a legend string: show legend string
no legend string, but metric name: show metric name (even if it's redundant? Or consolidate somehow?)
no legend string, no metric name: maybe put the colored box infront of the value: ...?


Fix handling of major and minor numbers in device IDs

LXD was copying only the lowest 8 bits of the minor device number when adding a device to a container. This caused a wrong device node to be created when adding a device with minor number above 255. Here is a fix to the problem.

This pull request didn't trigger Jenkins as its author isn't in the whitelist.
An organization member must perform one of the following:

To have this branch tested by Jenkins, use the "ok to test" command.
To have a one time test done, use the "test this please" command.

Those commands are simple Github comments of the format: "jenkins: COMMAND"

jenkins: test this please

Oh, nice catch, thank you!

I also got it slightly wrong at first, taking only lowest 20 bits of the 32-bit minor. Now it should be correct and equivalent to major and minor in glibc sysmacros.h.

jenkins: test this please


User-data file watching is broken in shared process

Steps to Reproduce (Running from sources):

Open Shared Process window
Keep break point in the following line at column - 140
https://github.com/microsoft/vscode/blob/4ee3ed1ff239dd9b51cd07ed8a35e29ca9d441c2/src/vs/platform/configuration/common/configurationModels.ts#L442
Open user settings file and do some changes and save the file

🐛 Break point is not hit.
I can confirm that the fsp on main is not propagating changes by keeping the breakpoint here
https://github.com/microsoft/vscode/blob/591c6f9b62911e339de89b30bd15dc4f7f327624/src/vs/platform/userData/common/fileUserDataProvider.ts#L96
Above breakpoint is hit, if you change the user data resources scheme to file (comment following line to do this)
https://github.com/microsoft/vscode/blob/f69f6eaddf8a73a904bdec39c5dd3d70213e06dd/src/vs/platform/sharedProcess/node/sharedProcessEnvironmentService.ts#L14

This commit https://github.com/microsoft/vscode/commit/5d6872f1548d0074e998d5bbae26313d4f51061c broke this.
It seems changes are listening from file service in which DiskFileSystemProviderClient is not registered.

I have reverted https://github.com/microsoft/vscode/commit/5d6872f1548d0074e998d5bbae26313d4f51061c. I have since moved the spam detection for file events all the way down on the level of the provider, so that you will get spam throttled when you watch via the provider.
Previously the spam protection was done in the file service but that had the negative side effect that we would still be sending tons of file changes event over the wire.


infra: update dependencies to include numpy 1.25.x and Pennylane 0.33.x

Issue #, if available:
Description of changes:
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

https://github.com/scipy/scipy/issues/19344
scipy calls a numpy test library - this causes issues for the jobs example. Once openfermion can support a later version of scipy, Braket should look into later support for this library.

The build failures are expected currently. Waiting on a new scipy release to resolve and get this merged.

As a result of patching stdout we are causing numpy issues which attempts to read directly there. stdout.output is now a Mock object and not iterable. These changes work to make it such that the old behavior returns

I wouldn't call this infra because this actually changes what users will get in their environments.


modified the socketcan, data length of can frame can be 0 - 8 bytes

modified the data length check of can frame

@wfgsy101 please fix the lint error before your submit the pull request.

Fix lint error.

fixed , thank you


how to setup and will  framework working ???

setup fbht by command : python3 setup.py .
but failed

Could you be more specific?
Please attach the console output.

thanks you @aleperno  . I use missing  python3 setup.py  install and celebline server .

can u demo function new flow like ?

The vulnerability has been patched!


Suggestion: Implement Sourcery rules

Sourcery is a closed-source, paid program with refactoring/suggestion rules, some of which are covered by existing rules within Ruff.
Since Sourcery is closed-source, the rules would need to be clean room implementations.
Below, I've enumerated all current Sourcery rules with any overlap with Ruff 0.4.1, for Astral's consideration.
Note: There is of course the possibility that some unimplemented rules below are equivalent to different unimplemented rules from different libraries, such as Pylint.
I expect that any implementations made would fall under RUF (if there is no unimplemented alternative from another set of rules)?

[x] assign-if-exp (SIM108)
[x] aug-assign (PLR6104)
[x] avoid-builtin-shadow (A001)
[x] aware-datetime-for-utc (DTZ003 implemented but no autofix in Ruff)
[ ] bin-op-identity
[x] boolean-if-exp-identity (SIM210)
[x] break-or-continue-outside-loop (F701)
[ ] chain-compares
[ ] class-extract-method
[x] class-method-first-arg-name (N804)
[x] collection-builtin-to-comprehension (C400, C401, C402)
[x] collection-into-set (PLR6201)
[x] collection-to-bool (F634)
[ ] compare-via-equals
[x] comprehension-to-generator (C419)
[ ] convert-any-to-in
[x] convert-to-enumerate (SIM113)
[ ] dataframe-append-to-concat
[x] de-morgan (SIM208)
[x] default-get (SIM401)
[x] default-mutable-arg (B006)
[ ] del-comprehension
[ ] dict-assign-update-to-union
[ ] dict-comprehension
[x] dict-literal (C408)
[x] do-not-use-bare-except (E722)
[ ] dont-import-test-modules
[x] ensure-file-closed (SIM115)
[x] equality-identity (PLR0133 + PLR0124)
[ ] extract-duplicate-method
[ ] extract-method
[ ] flatten-nested-try
[x] flip-comparison (SIM300)
[x] for-append-to-extend (PERF401)
[ ] for-index-replacement
[x] for-index-underscore (B004)
[ ] guard
[ ] hoist-if-from-if
[ ] hoist-loop-from-if
[ ] hoist-repeated-if-condition
[ ] hoist-similar-statement-from-if
[ ] hoist-statement-from-if
[ ] hoist-statement-from-loop
[x] identity-comprehension (C416)
[x] inline-immediately-returned-variable (RET504)
[ ] inline-immediately-yielded-variable
[ ] inline-variable
[x] instance-method-first-arg-name (N805)
[ ] introduce-default-else
[ ] invert-any-all
[ ] invert-any-all-body
[x] last-if-guard (RET505)
[ ] lift-duplicated-conditional
[ ] lift-return-into-if
[x] list-comprehension (PERF401)
[x] list-literal (C408)
[ ] low-code-quality
[ ] max-min-default (similar to SIM108 but not quite the same)
[ ] merge-assign-and-aug-assign
[x] merge-comparisons (PLR1714)
[ ] merge-dict-assign
[x] merge-duplicate-blocks (SIM114)
[x] merge-else-if-into-elif (PLR5501)
[ ] merge-except-handler
[x] merge-isinstance (PLR1701 + SIM101)
[x] merge-list-append (FURB113)
[ ] merge-list-appends-into-extend
[ ] merge-list-extend
[x] merge-nested-ifs (SIM102)
[ ] merge-repeated-ifs
[ ] merge-set-add
[ ] method_chaining
[ ] min-max-identity (partially covered by PLR2004)
[x] missing-dict-items (PLE1141)
[ ] move-assign
[ ] move-assign-in-block
[ ] no-conditionals-in-tests
[ ] no-loop-in-tests
[ ] non-equal-comparison
[x] none-compare (E711)
[x] or-if-exp-identity (FURB110)
[x] pandas-avoid-inplace (PD002)
[x] path-read (FURB101)
[x] raise-from-previous-error (B904)
[x] raise-specific-error (TRY002)
[ ] reintroduce-else
[ ] remove-assert-true
[x] remove-dict-items (PERF102 + SIM118)
[x] remove-dict-keys (SIM118)
[ ] remove-duplicate-dict-key
[x] remove-duplicate-set-key (B033)
[ ] remove-empty-nested-block
[x] remove-none-from-default-get (SIM910)
[ ] remove-pass-body
[ ] remove-pass-elif
[ ] remove-redundant-boolean
[ ] remove-redundant-condition
[ ] remove-redundant-constructor-in-dict-union
[ ] remove-redundant-continue
[ ] remove-redundant-except-handler
[ ] remove-redundant-exception
[x] remove-redundant-fstring (F541)
[ ] remove-redundant-if
[ ] remove-redundant-pass
[ ] remove-redundant-path-exists
[ ] remove-redundant-slice-index
[x] remove-str-from-fstring (RUF010)
[ ] remove-str-from-print
[ ] remove-unit-step-from-range
[ ] remove-unnecessary-cast
[x] remove-unnecessary-else (RET505)
[ ] remove-unreachable-code
[ ] remove-unused-enumerate
[x] remove-zero-from-range (PIE808)
[ ] replace-apply-with-method-call
[ ] replace-apply-with-numpy-operation
[x] replace-dict-items-with-values (PERF102)
[x] replace-interpolation-with-fstring (UP031)
[x] return-or-yield-outside-function (F704 + F706)
[x] set-comprehension (sort-of implemented with FURB142)
[x] simplify-boolean-comparison (E712)
[ ] simplify-constant-sum
[ ] simplify-dictionary-update
[ ] simplify-division
[ ] simplify-empty-collection-comparison (partially covered by PLC1901)
[ ] simplify-fstring-formatting
[ ] simplify-generator
[ ] simplify-len-comparison
[ ] simplify-negative-index
[ ] simplify-numeric-comparison
[x] simplify-single-exception-tuple (B013)
[ ] simplify-str-len-comparison
[ ] simplify-substring-search
[ ] skip-sorted-list-construction
[ ] split-or-ifs
[ ] square-identity
[ ] str-prefix-suffix
[ ] sum-comprehension
[ ] swap-if-else-branches
[ ] swap-if-expression
[ ] swap-nested-ifs
[ ] swap-variable
[x] switch (SIM114)
[x] ternary-to-if-expression (RUF021)
[x] tuple-literal (C408)
[x] unwrap-iterable-construction (C409)
[ ] use-any
[ ] use-assigned-variable
[x] use-contextlib-suppress (SIM105)
[ ] use-count
[x] use-datetime-now-not-today (DT002)
[ ] use-dict-items
[ ] use-dictionary-union
[x] use-file-iterator (FURB129)
[ ] use-fstring-for-concatenation
[x] use-fstring-for-formatting (UP032)
[ ] use-getitem-for-re-match-groups
[ ] use-isna
[ ] use-itertools-product
[ ] use-join
[ ] use-len
[ ] use-named-expression
[ ] use-next
[ ] use-or-for-fallback
[ ] use-string-remove-affix
[ ] use_iloc
[x] useless-else-on-loop (PLW0120)
[ ] while-guard-to-condition
[ ] while-to-for
[x] yield-from (UP028)

Do we know what license the Sourcery documentation is distributed under? There might be legal issues with basing implementations on it if it is sufficiently restrictive. Although, it might be fine regardless due to Google v. Oracle. I am not a lawyer; this is not legal advice.

Also not a lawyer, but my intention here is the (surprisingly not the software development methodology of) clean room design.
After all, this issue a proposal, and I would say nobody has the copyright over an idea of a lint rule, especially if we can't see the source to replicate it.
In any case, I leave it up to the team to decide!

Hello @diceroll123 is this list updated with Ruff 0.7.x new rules? Asking that just to know if we need to check, thanks

@rogelho-junior-byx I have not once updated the list since making this issue, would like to hear back from Astral folks before anyone spends time on it tbh 🫠


Fix test name for state app

Fix test name for state app
Description
Test name for State App is incorrectly set to Service Invocation test
Issue reference
Closes #898
Checklist
Please make sure you've  completed the relevant tasks for this PR, out of the following list:

[x] Code compiles correctly
[ ] Created/updated tests
[ ] Unit tests passing
[ ] End-to-end tests passing
[ ] Extended the documentation
[ ] Specification has been updated
[ ] Provided sample for the feature

/ok-to-test


Add a disabled class to a button if it's disabled

So you can do special things with :hover, etc.

I'm not sure I understand the intent here. What does this provide that the HTML disabled attributed doesn't already?

I modeled it after, https://github.com/jxnblk/rebass/blob/master/src/Textarea.js#L51-L53 and I am guessing the intention with this code is to allow for styles like:
.Button:hover {
  box-shadow: inset 0 0 0 999px rgba(0, 0, 0, .25);
}

.Button.isDisabled:hover  {
  box-shadow: none;
}

Right, TBH I'm not sure why I added a special disabled class to the form elements...
For the Button, you should be able to use .Button:disabled:hover though...

Good point, Ill close then.


Unhandeled AccessDeniedException

CLI version 3.8.1
platform environment:sql "SHOW VARIABLES"

[AccessDeniedException]
RecursiveDirectoryIterator::__construct(/path/to/dir/subdir): failed to open dir: Permission denied

[UnexpectedValueException]
RecursiveDirectoryIterator::__construct(/path/to/dir/subdir): failed to open dir: Permission denied

Usage: platform db:sql [-p|--project PROJECT] [--host HOST] [-e|--environment ENVIRONMENT] [-A|--app APP] [--] [<query>]

For more information, type: platform help db:sql

The directory causing the exception is a subdirectory of the working directory.
Note, issue does not occur when used with -A option.
(Details in support ticket 12612)

Yeah, it's because we don't have #373 - the CLI searches the repository to find a list of applications.
The user should just run something like:
chmod -R u+rx path/to/subdir

I think the CLI can handle these access denies more gratefully which should re-enable it to detect the application again. I have a docker setup over here where I run into it b/c docker creates some sub-trees, however from the docker-running system these created directories are not so interesting and I see no reason to change file-settings there.
Searching for application should really deal more greatfully with access denies errors. There are plenty of reasons which you should not assume full access and error-freeness with I/O.

The commit above is in version 3.9.0 and should resolve the issue

Thanks for the fix, I don't see the exception any longer however even I'm inside a readable folder of the application, the platform command is unable to detect the application and asks for it.
From our end we'd say that detection should be possible. Just FYI, I can ran some tests if you like.

I should add that we're using multi-app.

@tkn98 how about the platform apps command? does it show a correct list?

@pjcdawkins: yes it does. But I perhaps get rid of the exceptions as I managed to tell docker to serve from my userid so it's more transparent and all files should be accessible (at least at large). So I can't do much of all testing.

No more crash and instead I get a list to choose from interactively. So this is much better than before.
the app:list  command works like a charm.


add license info in package.json

I found that package.json lost the license field.

@Amomo thanks!


Inbuilt library lodash missing?

I have checked the following:

[X] I use the newest version of bruno.
[X] I've searched existing issues and found nothing related to my issue.

Describe the bug
I am getting an error when trying to require the supposedly inbuilt library lodash in a Post Response script:
const lodash = require('lodash');
...

The above line leads to the following error when executing the request:
Error invoking remote method 'send-http-request': Error: Error: Cannot find module lodash

Other libraries (e.g. axios, ajv) seem to be loading fine.
I can't recall running into this before. Am I doing something wrong?
.bru file to reproduce the bug
meta {
  name: List Verifications
  type: http
  seq: 1
}

get {
  url: {{admin_base_url}}/verifications
  body: none
  auth: inherit
}

vars:post-response {
  verification_id: res.body?.[0]?.id
  provider_session_id: res.body?.[0]?.providerSession?.id
  provider_type: res.body?.[0]?.provider
}

assert {
  res.status: eq 200
}

script:post-response {
  const lodash = require('lodash');
  console.log("lodash test", lodash.isArray([]));
}

Screenshots/Live demo link

Hey @thirtified,
Could you confirm if you're in "Developer Mode"?  To use inbuilt libraries like lodash, you’ll need to have "Developer Mode" selected from the top-right navbar.
Let me know if that resolves the issue!

Hi @ganesh-bruno,
oh my, that indeed seems to work – my apologies, I do feel quite bad for not having tried it myself. Thanks for the hint!
Although, why does requiring of other libraries such as axios work even in safe mode? I have only noticed lodash failing under these circumstances. The docs seems to be a bit misleading in this direction, as they only mention node-fetch to be blocked in safe mode:

Hey @thirtified,
Thanks for pointing this out.
We're working docs.


⚠ ClamAV has degraded performance

In 188bc2d, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 59 ms

Resolved: ClamAV performance has improved in d2f2625.


fix: STATUS cell not centered when sidecar is open

this PR also cleans up some "undefined" in td classNames
Fixes #4059

Description of what you did:

My PR is a:

[ ] 💥 Breaking change
[x] 🐛 Bug fix
[ ] 💅 Enhancement
[ ] 🚀 New feature

Please confirm that your PR fulfills these requirements

[x] Multiple commits are squashed into one commit.
[x] The commit message follows Conventional Commits, which allows us to autogenerate release notes; e.g. fix(plugins/plugin-k8s): fixed annoying bugs
[x] All npm dependencies are pinned.

Fixes #4067


[meta] deprecated if using chef_zero provisioner?

This was pointed out to me just now: https://github.com/bflad/chef-stash/pull/105#issuecomment-180520770
Is it your understand that this cookbook isn't needed when using chef-zero, or is there some extenuating factor that makes this useful. Thanks for any feedback!

I'm unsure. The original code from http://jakshi.com/blog/2014/05/12/accessing-chef-attributes-in-serverspec-tests/ was using chef-solo. For me, it was an proper way to extract information from nodes in the same way independent from the chosen provisioner, either chef-solo or chef-zero.

Yep, but now one less cookbook if you use chef_zero for all your testing (which I think many people do now).
Anyhow, thought it would be worth mentioning in the README that it only applied to chef_solo, and perhaps add a pointer to where the file is if using chef_zero.
Your call though. If you're alright with the above premise, just lemme know and I'll submit a PR :)

I think this cookbook is still valid, even when using chef-zero. Chef-zero dumps out the whole node object. This cookbook dumps out the attributes post deep merge. Which is what we really want, right? Or am I missing something?

Ah wait, so there's no easy way to load that file merged from the tests? If so, then I suppose this is still advisable to use. Is there no straightforward way to load a node object from file into a deep merged hash? Or is it that we'd prefer not to install chef libs during serverspec testing?

Yes, you could read the node object that was output by chef-zero. But that contains all attributes, override, default, etc. You would end up writing something very similar to this cookbook in order to get which attributes would have survived the merge.

:+1:
Thanks for humouring me with this issue :)


CaptainHook plugin is broken with symfony 5

The CaptainHook plugin don't work as expected when used with symfony 5 packages, the bug is related to the implementation
of InputInterface in Ramsay\CaptainHook\Input.php, as the class is not defining return types in some functions that the interface does.
I just opened a pull request with the fix.

Hi, thanks for submitting this!
Do you mean Symfony 5 or Symfony 6?
Here's what I see in Symfony 5: https://github.com/symfony/console/blob/6c6664efbf6fc5f22bc6cbcb03616dc7f1eb6e6f/Input/InputInterface.php#L29
And here's what I see in Symfony 6: https://github.com/symfony/console/blob/faf53e783e67847aff7de5ba73d9be76b7d4d65c/Input/InputInterface.php#L27
So, I think your changes are to support Symfony 6, right?
Unfortunately, this means that I'll have to drop Symfony 5 support, which might cause problems with others using this package. I'll need to give some thought to this.

Yeah, I mean Symfony 6, sorry for the typo. I will modify pull request.

Thanks for reporting. This is fixed in version 1.3.1.


fix: Typo that made selene not work properly

Hello! I hope you don't mind this simple fix. I have been working around my neovim config the past couple of days, and I have learned quite a lot from yours!
Thanks for having this in public, and thank you for your awesome work in the comunnity.

Thank you for this :)
I don't actually use EFM anymore. I've moved all my configs to null-ls, and more specifically to this PR.
That PR makes null-ls work properly with lspconfig and is fully in-process

Wow, that PR looks amazing. I tried to use null-ls with the ts-utils plugin, but it just wasn't enough for my work setup, so I had to go back to coc. I am going to give it another try when that PR gets merged for sure!


ScalaTest for a Scala.js project fails abruptly: "cannot read 'fileName$1' of undefined"

I'm using ScalaTest-3.0.0-RC4 to test a Scala.js codebase. When running the tests, they fail abruptly with the error message cannot read property 'fileName$1' of undefined and I have no clue why this happens. This seems to be related to scaliest trying to display the position of some failure somehow:
[error] Reporter completed abruptly with an exception after receiving event: TestFailed(Ordinal(0, 44),ReactLibraryTests() was not equal to List((8,11), (9,11)),SelfRxTest,SelfRxTest,Some(SelfRxTest),selfrx implementation should not remember its value as an event (1),should not remember its value as an event (1),Vector(),Some(org.scalatest.exceptions.TestFailedException: ReactLibraryTests() was not equal to List((8,11), (9,11))),Some(8),Some(IndentedText(- should not remember its value as an event (1),should not remember its value as an event (1),1)),Some(SeeStackDepthException),Some(SelfRxTest),None,main-ScalaTest-running-SelfRxTest,1467719324122).
[error] TypeError: Cannot read property 'fileName$1' of undefined
[error]   at org.scalatest.exceptions.StackDepthExceptionHelper$.getFailedCodeFileName(/Users/d066276/src/rx-tests/implementations/selfrx/js/target/scala-2.11/reactive-impl-self-test-fastopt.js:15434:35)
[error]   at org.scalatest.exceptions.StackDepth$class.failedCodeFileName(/Users/d066276/src/rx-tests/implementations/selfrx/js/target/scala-2.11/reactive-impl-self-test-fastopt.js:15338:68)
[error]   at org.scalatest.exceptions.StackDepth$class.failedCodeFileNameAndLineNumberString(/Users/d066276/src/rx-tests/implementations/selfrx/js/target/scala-2.11/reactive-impl-self-test-fastopt.js:15349:16)
[error]   at org.scalatest.tools.StringReporter$.withPossibleLineNumber(/Users/d066276/src/rx-tests/implementations/selfrx/js/target/scala-2.11/reactive-impl-self-test-fastopt.js:19242:18)
[error]   at org.scalatest.tools.StringReporter$.fragmentsForEvent(/Users/d066276/src/rx-tests/implementations/selfrx/js/target/scala-2.11/reactive-impl-self-test-fastopt.js:18563:67)
[error]   at org.scalatest.tools.TaskRunner$SbtLogInfoReporter.apply(/Users/d066276/src/rx-tests/implementations/selfrx/js/target/scala-2.11/reactive-impl-self-test-fastopt.js:41883:58)
[error]   at org.scalatest.tools.SbtReporter.apply(/Users/d066276/src/rx-tests/implementations/selfrx/js/target/scala-2.11/reactive-impl-self-test-fastopt.js:30118:17)
[error]   at org.scalatest.CatchReporter$class.apply(/Users/d066276/src/rx-tests/implementations/selfrx/js/target/scala-2.11/reactive-impl-self-test-fastopt.js:8787:21)
[error]   at org.scalatest.WrapperCatchReporter.apply(/Users/d066276/src/rx-tests/implementations/selfrx/js/target/scala-2.11/reactive-impl-self-test-fastopt.js:41608:3)
[error]   at org.scalatest.Suite$.reportTestFailed(/Users/d066276/src/rx-tests/implementations/selfrx/js/target/scala-2.11/reactive-impl-self-test-fastopt.js:35907:10)

this appears to be fixed in 3.0.0


should Alert close animation

like collapse

The alert close is not control by the component itself, but its parent using v-if / v-show / v-for. so if you want animation, simply add vue transition to it will do.

Solution:
<collapse v-model="show">
	<alert type="warning" closable="true" @closed="show = false">
		Warning! Better check yourself, you're not looking too good.
	</alert>
</collapse>

Nice solution. I think this sample shall add to the alert doc.


Saving Resnet graph code

Awesome work, looking forward to this. We get the graph saved as a metagraph but we can't really change much there easily after importing it. I was looking for a way to have the actual graph making code and then just restoring the weights by restoring the checkpoint file without the need for metagraph file. The reason is that I want to restore all weights to the full graph initially but then experiment with the graph by taking outputs at different layers of the resnet, which is only possible if I have the actual graph in code and I know the name of each layer. Do you think there's a way to get this code, ignoring other metadata like hyperparams. I think the info on this is there in convert.py and resnet.py but it's not clear enough to manually extract the desired code.

OK so I did get the checkpoint to restore with the resnet.py code, but I think there's one more issue if we use it for distributed training. Since the number of workers are also saved to ckpt file resulting in this issue: Error running multiple workers on one machine which has multiple GPUs
Is there a workaround for this besides setting the same worker setup in conversion script each time?


Make n* generate tier0.dll etc

As a lot of core bin files are generated on first launch of vanilla, it causes a lot of confusion in tickets with ppl just instantly installing n* and not doing first time setup etc. Would it be possible to make Northstar trigger first time setup or generate the bin files somehow just as qol?

To keep it simple: no

This was actually something I was thinking about, it seems like a good idea.

Yeah, generating it may be hard but we could definitely check if the file exists on launch and if not throw an error message telling players to launch vanilla first.
Ofc, based on tickets I've seen some will just ignore the error and make a ticket anyway but it could help with some at least ^^

so i was cleaning up my open issues etc came back to this
far fetched but theoretically if N* encounters a lack of tier0.dll can it buffer a powershell command to then launch normal Titanfall2.exe after it closes w/ no gui or smthn to genereate the bin stuff?
would probably give proton a mental breakdown but its just a theory rn


Changing Health Drain Value mid-song

What is your question?
Currently I am using this script to activate Health Drain;
function opponentNoteHit()
health = getProperty('health')
if getProperty('health') > 0.1 then
setProperty('health', health- 0.02);
end
end
but would there be a way to change the Drain Value (health- 0.02) mid-song? Like for example if you get to a specific section of the song, it would activate the script and increase/decrease the value of the health drain.
Any answer I could use right now, thanks!

curBeat or curStep

Use this:
local healthDrainValue = 0.02
function opponentNoteHit()
  health = getProperty('health')
  if getProperty('curBeat') == lol then
    healthDrainValue = newValue
  end

  if getProperty('health') > 0.1 then
    setProperty('health', health-healthDrainValue);
  end
end

and change lol by the curBeat, and change newValue by the new value of health drain


UAR-1425 Add new ceased date features to trust details page for GET r…

…equests only - behind feature flag
JIRA link
https://companieshouse.atlassian.net/browse/UAR-1425
Change description
Add ceased date and information box to the trust details page when no eligible BOs are found and you are on the update review journey
Feature flagged as validation, date storage not done yet
Work checklist

[x] Tests added where applicable
[ ] UI changes meet accessibility criteria

Merge instructions
We are committed to keeping commit history clean, consistent and linear.  A BREAKING CHANGE can be part of commits of any type,
types other than fix: and feat: are allowed, for example build:, chore:, ci:, docs:, style:, refactor:, perf:, test:, and others,
footers other than BREAKING CHANGE: <description> may be provided.

latest commit is to update the cease trust information box text (see ticket comments from Vern) - also noticed the checkbox text was smaller than all the other titles on the page, it was using a 's' style instead of 'm'. That checkbox file is only used in one place so changed it to 'm' to match the others on the page.

Closing as this is now superceded by https://github.com/companieshouse/overseas-entities-web/pull/1340, that also includes the validation work


ACF false for Archive of custom post type

I have two custom post types. One is displaying acf property on both single and archive endpoints.
The other is showing acf only on single endpoint.
They're almost identical in register_post_type.

It seems that my posts created with REST api had the meta fields, but I needed to press the update button in admin for them to register with ACF.


x264: 20191217-2245 -> unstable-2021-06-13

Motivation for this change
The version we have is >1 year old and the snapshots we were building from got discontinued: https://download.videolan.org/x264/snapshots/x264-snapshot-20191218-README.txt
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 121385 run on x86_64-darwin 1

1 package built:

x264


Make the background editable via the config

Currently there is a very nice picture of EnriseHQ as a background, but maybe some one else has an even nicer HQ. This should be editable via the config file.

No longer a background in v2


How to get more than lastest 10 posts ?

hello ,
I can GET the data from api,
but only got the latest ten posts ,
Is there any way to get more older posts?
thanks :）

I made a GET call from medium User and returned 10 publications, but on your Medium user counted 14 posts.
In principle, the API should return all posts, but I don't know why it's not returning all.
Thank you for letting me know, I will do my best to fix this.

Update.
The API get all posts from your rss feed (https://medium.com/@molly1024/feed), but for some reason that I don't know, your feed only shows ten posts.

Update.
Unfortunately to find that Medium's rss only returns the last ten posts, but I'm looking for alternatives. If this is out of my control then I will have to close this issue.


Any tips for rendering Components from collections?

Before I start playing around with this, I wanted to ask if there is a preferred way, best practice, or even a helper to render components for collections similar to the rails guide for partials
I think this would be a common use case, and would be willing to submit a PR for a documentation example.

An idea for the API,
<%= render MyComponent.all(collection, more_options: true) %>

Perhaps. But it's a tiny win over
<% collection.each do |thing| %>
  <%= render MyComponent.all(thing, more_options: true) %>
<% end %>

Then again; you could say that about a lot of Rails 😆

True, though I would imagine if there were to be an API it might look as similar as possible to the partial api.
Partial

Products

<%= render partial: "product", collection: @products %>

Component

Products

<%= render component: Product, collection: @products %>

@nogtini I don't think I could recommend a good practice here at this point, let along a best practice!
Generally our approach in writing this library has been to stay consistent with Rails APIs, at least as a default. What @nogtini is suggesting is probably the direction I think we'd go in.

@nogtini @mikker this is definitely something we'll want to consider.
Right now, we're passing an instance of the component into render:
<%= render MyComponent.new(product: product) %>

which means we've already defined what data is going to be used to render the component.
We might have to change that syntax in order to accommodate the collection key. Perhaps we would do something like:
<%= render MyComponent, collection: products %>

Or perhaps we could support both syntaxes?

Rendering a partial collection is also blazingly fast, because Rails only instantiates each template once, and they're also polymorphic.
AV:C can't be either in it's current architecture: firstly, by using ActiveModel's validations it's obliged to instantiate every component individually, there's no flyweight-pattern option; secondly, there's no to_partial_path-equivalent hook to select a component by convention-over-configuration.
I work with Big Heterogeneous Lists Of Stuff and those are both showstoppers for adoption.

@joelhawksley I think whichever syntax you propose people will ingest with zeal, but I think the latter is a better choice. It fits the pre-existing mental model better, adheres to convention, and provides an obvious affordance for collections.

Let's move forward with this ❤. PRs welcome!


Add EnumMemberAttribute to the enum converter

Is your feature request related to a problem? Please describe.
Arguably the EnumMemberAttribute makes more sense to use than the DescriptionAttribute.
However, we could support both. With A preference for EnumMemberAttribute in the order of things.
Describe the solution you'd like
Replace UseDescription with UseEnumMember.
Describe alternatives you've considered
Have UseEnumMember as an option in the Enum for configuring the converter.
Additional context
Even though the documentation doesn't give us a lot to go off.
If you look close at the examples, it appears that EnumMemberAttribute is used for serialization like DataMemberAttribute and that DescriptionAttribute is used purely for metadata.

After a discussion with @bobduncan we decided to go with supporting both.
EnumMemberAttribute will take precedence.


Fix calling $.get() and $.post() without callback

Without this fix, omitting the callback parameter causes an error because in the function shoestring.ajax the variable settings.success is undefined.
$.get('/')
Uncaught TypeError: undefined is not a function

$.post('/', {})
Uncaught TypeError: undefined is not a function

Obviously, calling $.get() without a callback parameter does not make any sense. But calling $.post() without a callback parameter can be useful. For example, I'm using it to increment counters when a video is played.

Looks great, thanks. We'd like it to check if success is a function also but we can land this first.


[Feature Request]: Set ef_search per query

Describe the problem
Currently we only set the ef_search parameter when we init the index, usually on creation of a Collection. However, this parameter is actually per-query at the level of HNSW.
Generally we only need to set this parameter once since in principle there is a 'best' setting for the average case on any collection, but there are cases where we may want to let the user set it dynamically, for example to conduct a parameter sweep against a particular dataset.
Additionally, EF should be at least as large as the number of elements we want to return, which means it may have to be dynamic anyway.
Describe the proposed solution
Allow EF search to be set on a per-query basis.
 Besides piping in this parameter on query (which now creates the need for a query_parameters argument...) the way the HNSW implementation handles this is, also, bad, since it's set as a property of the index: https://github.com/chroma-core/hnswlib/blob/d52dd85106c5a1955a7dbd745a76ba2a8259451a/hnswlib/hnswalg.h#L33
even though it's only a property of each query.
To do this 'right' (for example, to handle concurrency correctly), it would take a refactor of our HNSW impl too.

I took a look at how voyager does this and I think it's buggy, because they just call set_ef on the index. What happens if you have concurrent queries asking for different EF's into the same index?

Would it make sense to add this to the searchKnn:
https://github.com/chroma-core/hnswlib/blob/d52dd85106c5a1955a7dbd745a76ba2a8259451a/hnswlib/hnswalg.h#L1595-L1601
As far as I understand the code, the algo picks max(k,ef), so maybe we can trick it by passing per query ef that doesn't change the default behavior of the index if such is not provided (making it possible to parallelize queries).

No, we should instead change the interface.


feat(origin-ui-core): add admin menu with submenu for organization an…

…d user

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


⚠ Bofrost.at has degraded performance

In 472b55b, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 1817 ms

Resolved: Bofrost.at performance has improved in 44e2c5f.


New version: JetBrains.ReSharper version 2024.2.4

Created by 🥟 Dumplings in workflow run #7961.

Log
Updated: 2024.2.3 → 2024.2.4
Submitting WinGet manifests
Creating manifests
Uploading manifests and making commits
Creating a pull request

Microsoft Reviewers: Open in CodeFlow

@wingetbot run


Xml documentation incomplete

Xml documentation of the package is incomplete. Documentation should be completed

Will be solved by the folling PR #3

PR merged -> Issue can be closed


Update MSDN links, Part 19

@NextTurn : Thanks for your contribution! The author, @markingmyname, has been notified to review your proposed change.

Assigned to @ktoliver for processing. Thanks

#please-close We have work underway to refactor these pages, so these changes will cause major conflicts with our open work. We'll fix the links as we go.
Thanks, Jason
CC: @markingmyname


[FATAL tini (7)] exec pnpm failed: No such file or directory

Description
[FATAL tini (7)] exec pnpm failed: No such file or directory
Version
Latest develop
Steps to Reproduce
Crashes on startup
Screenshots
No response
Logs
[FATAL tini (7)] exec pnpm failed: No such file or directory

Platform
desktop
Device

Operating System

Browser

Additional Context
No response
Code of Conduct

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

Yes we are aware. A fix should be deployed in a second :)

:tada: This issue has been resolved in version 2.0.0 :tada:
The release is available on:

v2.0.0
GitHub release

Your semantic-release bot :package::rocket:


Add additional information to README for each rule

Fixes #1. I appreciated the individual response to that issue, but everyone needs that information.
Lemme know what you think about the links I've chosen!

@scottnonnenberg This is not forgotten, can you fix the merge conflicts?

@fluxsauce I'm a dummy and merged in the wrong order. I shouldn't merge before coffee. It's in master now.

@evilpacket you rock. No worries.


ElottieSharp Xamarin Forms DLL library not found liblottie-player.so.0 in wereable simulator

Describe the bug
Library liblottie-player.so.0 not found error when launch in wereable simulator, works fine in real device.
To Reproduce
Steps to reproduce the behavior:
XAML file
<w:CirclePage xmlns="http://xamarin.com/schemas/2014/forms"              xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"              xmlns:d="http://xamarin.com/schemas/2014/forms/design"              xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"              xmlns:w="clr-namespace:Tizen.Wearable.CircularUI.Forms;assembly=Tizen.Wearable.CircularUI.Forms"              NavigationPage.HasNavigationBar="False"              mc:Ignorable="d"              x:Class="SomeProject.Views.SomeView"> <w:CirclePage.Content> <StackLayout x:Name="layout"> </StackLayout> </w:CirclePage.Content> </w:CirclePage>
Code Behind (for debugging purposes)
`namespace SomeProject.Views
{
[XamlCompilation(XamlCompilationOptions.Compile)]
public partial class SomeView: CirclePage
{
public SomeView()
{
InitializeComponent();
}
    protected override void OnAppearing()
    {
        base.OnAppearing();

        try
        {
            var animation = new ElottieAnimationView
            {
                AnimationFile = "somelottiefile.json",
                AutoPlay = true,
                AutoRepeat = true,
                HorizontalOptions = LayoutOptions.FillAndExpand,
                VerticalOptions = LayoutOptions.FillAndExpand
            };

            // Play the animation

            layout.Children.Add(animation);
            animation.Play();
        }
        catch (Exception e)
        {
            Console.WriteLine("Error: " + e.Message);
        }

    }
}

}`
Expected behavior
Page should load correctly and lottie animation shown in screen (works fine in real device)
Screenshots
If applicable, add screenshots to help explain your problem.

Environment:

Tizen.NET.Sdk/1.0.9
Visual Studio 16.4.3
ElottieSharp.Forms 0.9.5-preview
Tizen 4.0
Tizen Emulator: wereable-4.0-circle-x86-preview 26101, SDK 3.6, package version <IP_ADDRESS>

Additional context
Love Tizen .NET platform, keep the good work!

Thank you for describing. It helps find out what's wrong. :-)

We found that in the latest version of VS, runtime target asests that RID is not specified  (e.g. runtimes/native/*.so) are not included when packaging.
So, as you reported, it seems to haven't found liblottie-player.so.0 when run on the emulator. (In case of target devices, it already contains the corresponding *.so in the platform binary, so you don't have to find the liblottie-player.so.0` in the nupkg. This is why only real device works well.)
Anyway, firstly, to make sure that your problem is solved, could you test again after modifying your project file (*.csproj) as below.  (Add below single line into <PropertyGroup> in your project.)
<CopyLocalRuntimeTargetAssets>true</CopyLocalRuntimeTargetAssets>

using <CopyLocalRuntimeTargetAssets>true</CopyLocalRuntimeTargetAssets>
Works for me on both emulator and device.
But there is something missing in documentation and it wasted some time for me.
If you use ElottieAnimationView as single child, it works as default above code. But if you use it in stacklayout with other children like
<Stacklayout>
       <Label />
       <Label />
          <e:ElottieAnimationView
                AnimationFile = "loading.json" AutoPlay = "True" AutoRepeat="True"
                 HorizontalOptions="FillAndExpand" VerticalOptions="FillAndExpand"/>
</Stacklayout>

It wont appear. Only way to make this working is to give fix  WidthRequest="72" HeightRequest="72" like this. I think that it is only able to fill the main container when it is single child. I tried also within an Absolutelayout as below. It doesnt appear. Only giving WidthRequest and WidthRequest works
  <AbsoluteLayout  VerticalOptions="FillAndExpand" HorizontalOptions="FillAndExpand">
            <e:ElottieAnimationView x:Name="animation"  AbsoluteLayout.LayoutFlags="PositionProportional"
               AbsoluteLayout.LayoutBounds=".5, .5, -1, -1" AnimationFile = "loading.json" AutoPlay = "True" AutoRepeat="True"
                  HorizontalOptions="FillAndExpand" VerticalOptions="FillAndExpand"/>

        </AbsoluteLayout>

@EmilAlipiev, yes you're right. The initial size of ElottieAnimationView  is zero as  I described in both project readme file and dev guide in release note. So. you should set WidthRequest and HeightRequest property to request the size of view.

Anyway, I'm sorry to have made you waste a lot of your time.
Thanks.

@ismasanchez  Please re-open this issue if you still have problem.


Extend signers to set CRL Distribution Points

Summary by CodeRabbit

New Features

Introduced support for Certificate Revocation List (CRL) distribution points in the certificate signing process.
Enhanced identity certificate generation to include CRL distribution points.
Added a method for validating and processing CRL distribution points in the configuration.

Bug Fixes

Adjusted function signatures to ensure compatibility with the new CRL distribution points feature.

Documentation

Updated method signatures and descriptions across various components to reflect the addition of CRL distribution points.

Tests

Added unit tests for the new BasicCertificateSigner functionality to ensure robustness in certificate signing.
Implemented tests for CRL distribution points handling in the configuration.

Codecov Report
Attention: Patch coverage is 83.51648% with 15 lines in your changes missing coverage. Please review.

Project coverage is 73.60%. Comparing base (488551e) to head (ef50661).

Files with missing lines
Patch %
Lines

pkg/security/signer/basicCertificateSigner.go
70.58%
10 Missing and 5 partials :warning:

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #508      +/-   ##
==========================================
- Coverage   76.76%   73.60%   -3.17%
==========================================
  Files         122      123       +1
  Lines        7236     8716    +1480
==========================================
+ Hits         5555     6415     +860
- Misses       1090     1706     +616
- Partials      591      595       +4

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


[FLOC-2539] Update navigation in docs

Change navigation link to "Install & Docs" and alter the padding left to be inline with the altered version on the homepage

You do two branches, one off current release branch (release/flocker-1.0.1 currently) and then once that's in one off master

I believe this is all I have to do for now.
Fixes FLOC-2539

Could you merge forward and resubmit? Merge conflicts mean I can't look at generated docs. Thanks

Closed as will need to branch from 1.0.2


Consider making &mut LocalScope the last parameter

A ton of function signatures currently take a &mut LocalScope<'_> through which any kind of JS interaction happens as the first argument. E.g.
fn set_property(&self, sc: &mut LocalScope<'_>, key: PropertyKey, value: PropertyValue) -> Result<(), Value>;

One pain point shown over time is that a lot of the time, other arguments that come after the scope require the scope themselves temporarily.
Ideally the following snippet with having everything on one line would work, but that leads to borrow check errors due to conflicting &mut borrows
value.set_property(&mut scope, key, compute_value(&mut scope))?;

Currently it requires breaking up the call into two lines and storing compute_value() in its own variable to force the compute_value call to be evaluated first.
(This will be even more true soon when constructing PropertyKeys requires a LocalScope)
A better alternative may be to simply make the &mut LocalScope<'_> the last parameter, i.e. for the example above
value.set_property(key, compute_value(&mut scope), &mut scope)?;

does compile now.

Done in https://github.com/y21/dash/commit/b9b3a36dc07074e5af11aaa99cb993bfeb30b01d


envoy_reloadable_features_quic_send_server_preferred_address_to_all_clients deprecation

Your change #32130 (quic: enable sending server preferred address to non-quiche clients) introduced a runtime guarded feature. It has been 6 months since the new code has been exercised by default, so it's time to remove the old code path. This issue tracks source code cleanup so we don't forget.

Code comment on this flag:
// Ignore the automated "remove this flag" issue: we should keep this for 1 year. Confirm with
// @danzh2010 or @RyanTheOptimist before removing.

Original commit date: 2024-02-12. Deferring until then.

cc @danzh2010 @RyanTheOptimist just to confirm, we want to keep this knob around?

Yes, our internal Envoy server turns it off explicitly and still relies the feature on an connection option.

Do we have plans to turn this on internally? If not, should we land a "real" API for this instead of a reloadable feature?

Yes, definitely we plan to enable SPA for all on server side as well, no need for a real API as the connection option will be deprecated one day.

@danzh2010 should I assign this one to you, and whenever you don't need the runtime flag anymore you can remove?

Yes, I can take ownership of this RUNTIME.


tile governors again broken in master and <IP_ADDRESS>

I just downloaded the latest commits (how Do I identify version on github?)

master

Latest commit 2ab7c3b an hour ago

<IP_ADDRESS>

Latest commit 64040f1 2 hours ago

It was working this morning  in <IP_ADDRESS> - so changes that were introduced today must have broken them again.

I am unable to reproduce your issue. I am skeptical that this is actually an issue with the commits pushed today, since none of the changes pushed today affected anything remotely concerning that behavior. Could you remove all other mods and start a new save, just to confirm that this has nothing to so with any potential mod conflicts? Remember that some mods don't appear in the additional settings menu, so I really do mean to remove them when I say remove, not simply deactivating in-game.

which branch?

@layzsmurf
master, as it now has all changes introduced in the compatibility branch. I will be deleting the <IP_ADDRESS> branch after I'm sure your issue is resolved

Oh dear! Clearly a user error. I kept a backup of old CQUI folders by renaming them *.bak. Civ VI does not seem to like that. After removing all those folders and downloading and installing  the new branch the problem disappears.
Sorry for this mess.


Manager Pages Rework

Summary
The old manager pages will not work with the use of modular values. The frontend for these edit pages can stay mostly the same (besides CSS changes), but how claims, roles, discord bindings, promotions, etc. are supported needs to pull from created assignable values.
Details

Update the manager edit pages to pick and choose what assignable values are connected to settings
Bind the assignable value to a specific setting, such as a discord role or promotion requirement.

Closed as it is no longer viable. New manager pages are being created instead of revamping old ones.


Installing Plasma Browser Integration does not add its native messaging hosts to the ./mozilla/native-messaging-hosts directory

Describe the bug
The wiki pages for Firefox and KDE Plasma state that the steps required to install Firefox and enable the Plasma Browser Integration are to

Install KDE Plasma (either 5 or 6, this did not make a difference in testing) via the steps listed here.
Install Firefox by adding programs.firefox.enable = true to either the system config or Home Manager.
Add the Firefox extension to the browser here.

Following these steps, the plugin reports "Failed to connect to the native host", the same way that can be seen in #281710. The fixes in that issue, as well as similar ones, did not resolve the issue. Neither did the instruction on the Firefox wiki page to add programs.firefox.nativeMessagingHosts.packages = [ pkgs.plasma5Packages.plasma-browser-integration ]; since this is already included by default with the Plasma installation and causes the build to fail. Instead, the required fix was to manually copy the org.kde.plasma.browser_integration.json file from the Plasma Browser Integration package in nix/store/{plasma-browser-integration-6.0.5}/lib/mozilla/native-messaging-hosts to {user}/.mozilla/native-messaging-hosts.
Steps To Reproduce
Steps to reproduce the behavior:

Install KDE Plasma 5 or 6 per the wiki instructions.
Install Firefox per the wiki instructions.
Install the Firefox Plasma Browser Integration extension.
Get "Failed to connect to the native host" error since the org.kde.plasma.browser_integration application cannot be found (because there is no org.kde.plasma.browser_integration.json file in the relevant folder).
Copy the org.kde.plasma.browser_integration.json file from the package source into the {user}/.mozilla/native-messaging-hosts directory.
Plasma Browser Integration now works as expected.

Expected behavior
It seems like org.kde.plasma.browser_integration.json should be moved to the above mentioned folder during the installation/build process, as appears to have been the case in the past.
Additional context
The version of KDE Plasma (i.e. 5 or 6) and the way it was installed (system config or Home Manager) did not make a difference in testing. I have not tested any other Firefox extensions that require native hosts, so I can't say if there are more packages that are affected.
Notify maintainers

Qt / KDE Team (as listed here)
@ilya-fedin
@k900
@LunNova
@mjm
@nickcao
@SuperSandro2000
@ttuegel
Metadata

[floppy@nixos:~/.mozilla/native-messaging-hosts]$ nix-shell -p nix-info --run "nix-info -m"
 - system: `"x86_64-linux"`
 - host os: `Linux 6.6.58, NixOS, 24.05 (Uakari), 24.05.6043.64b80bfb316b`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.18.8`
 - channels(root): `"home-manager-24.05.tar.gz, nixos-24.05"`
 - nixpkgs: `/nix/var/nix/profiles/per-user/root/channels/nixos`

Add a :+1: reaction to issues you find important.

What Firefox version are you using?

Install the Firefox Plasma Browser Integration extension.

This is done automatically.

You linked the old wiki, the instructions there might be outdated.
Also we have zero integration with home-manager and don't provide any support regarding it's settings.

What Firefox version are you using?
I'm using the most recent "default" Firefox version that you get by setting programs.firefox.enable = true. That should be Version 131.0.3. The Plasma Browser Integration package version is 6.0.5.

You linked the old wiki, the instructions there might be outdated.
Also we have zero integration with home-manager and don't provide any support regarding it's settings.
You're totally right, that's my bad. I've updated the links to the new wiki. The instructions have stayed the same, though, so that should not have made a difference.
Regarding Home Manager, I'm not using it for this. As mentioned above, I've installed Firefox via the system config rather than via Home Manager. I just saw people mentioning it as a solution in the issue I linked earlier, so I wanted to pre-empt that by saying that I tested it and it didn't change anything.

I believe this should be fixed on unstable, can you test that?

Give me a minute, will do.

Just to clarify, do you mean the nightly Firefox build or on NixOS Unstable?

NixOS unstable.

Alright, sorry it took so long. I fully uninstalled Firefox, upgraded to NixOS unstable and reinstalled Firefox. As far as I can tell, it does indeed work. Although interestingly, there is still no org.kde.plasma.browser_integration.json in ~.mozilla/native-messaging-hosts. Since it works anyway, I assume there's some symlinking going on that didn't work in the stable version? Either way, it's definitely fixed on the unstable branch.

That is normal, the native messaging hosts are injected through the wrapper.

That is normal, the native messaging hosts are injected through the wrapper.

Makes sense! Thank you for your help :)
Does that mean there is something that's not working correctly with the wrapper in the stable version then?

The wrapper was refactored pretty heavily in unstable, which fixed many edge cases.

Fair enough. I guess manually copying the .json is at least a workaround for the stable branch until it's updated down the line. Unless there's a better solution I'm not aware of.

While we are talking about wrappers, it is still broken when using firefox-bin. Can we merge https://github.com/NixOS/nixpkgs/pull/303562 to fix that?