Creating thread local cluster with LoadBalancerType::OriginalDst can't find its ClusterData in active_clusters_ and crash

Title: Creating thread local cluster with LoadBalancerType::OriginalDst can't find its ClusterData in active_clusters_ and crash
Description:
In our k8s+Istio environment, sometimes Envoy crashes when constructing ClusterManagerImpl::ThreadLocalClusterManagerImpl::ClusterEntry::ClusterEntry which type is LoadBalancerType::OriginalDst. It tried to look up its ClusterData in active_clusters_ by std::map's at() method, but std::out_of_range was thrown because element not exist:
    case LoadBalancerType::OriginalDst: {
      ASSERT(lb_factory_ == nullptr);
      lb_ = std::make_unique<OriginalDstCluster::LoadBalancer>(
          priority_set_, parent.parent_.active_clusters_.at(cluster->name())->cluster_,
          cluster->lbOriginalDstConfig());
      break;
    }

Looks like in normal case this couldn't happen:

CdsApiImpl::onConfigUpdate() makes to_add_repeated and to_remove_repeated being exclusive.
ClusterManagerImpl::addOrUpdateCluster() makes sure active_clusters_ has needed ClusterData

So this might be a concurrency issue, I doubt there were 2 config updating, the first one created a cluster, and the second one removed it before ThreadLocalClusterManagerImpl::ClusterEntry got constructed on worker threads.
The Envoy version is:
version: 4f5b5e101a081e05924990b1903d9d46553558d4/1.11.0-dev/Clean/RELEASE/BoringSSL

Considering Envoy guarantees eventually consistence, I guess the solution could be adding defensive code to handle the exception gracefully instead of crash. But from design point of view, do you have any rule like worker thread should not access active_clusters_ directly? I just wanna to figure out what's the suitable way to resolve such kind of issue ;)
If there are any similar issue was fixed before, could you please kindly let me know the PR or issue number?
Repro steps:
We don't have a stable method to reproduce this issue right now, some cluster info related to the cash are:
(gdb) p ((Envoy::Upstream::ClusterInfoImpl*)cluster_info_._M_ptr)->type_
$6 = envoy::api::v2::Cluster_DiscoveryType_ORIGINAL_DST

(gdb) p ((Envoy::Upstream::ClusterInfoImpl*)cluster_info_._M_ptr)->added_via_api_
$7 = true

(gdb) p ((Envoy::Upstream::ClusterInfoImpl*)cluster_info_._M_ptr)->lb_type_
$1 = Envoy::Upstream::LoadBalancerType::OriginalDst

(gdb) p cluster_manager.parent_.init_helper_.state_
$12 = Envoy::Upstream::ClusterManagerInitHelper::State::AllClustersInitialized

(gdb) p cluster_manager.parent_.warming_clusters_
$21 = std::map with 0 elements

Call Stack:
(gdb) bt
#0  0x00007f004e85c428 in __GI_raise (sig=sig@entry=6)
     at ../sysdeps/unix/sysv/linux/raise.c:54
#1  0x00007f004e85e02a in __GI_abort ()
     at abort.c:89
#2  0x0000000001063375 in Envoy::TerminateHandler::logOnTerminate() const::$_0::operator()() const (this=<optimized out>)
     at source/exe/terminate_handler.cc:15
#3  0x0000000001063279 in Envoy::TerminateHandler::logOnTerminate() const::$_0::__invoke() ()
     at source/exe/terminate_handler.cc:12
#4  0x00000000011d55a6 in __cxxabiv1::__terminate(void (*)()) ()
#5  0x00000000011d55f1 in std::terminate() ()
#6  0x00000000011e1794 in __cxa_throw ()
#7  0x00000000011eb9ef in std::__throw_out_of_range(char const*) ()
#8  0x0000000000b54f27 in std::map<
            std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >,
            std::unique_ptr<Envoy::Upstream::ClusterManagerImpl::ClusterData, std::default_delete<Envoy::Upstream::ClusterManagerImpl::ClusterData> >,
            std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >,
            std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >
            const, std::unique_ptr<Envoy::Upstream::ClusterManagerImpl::ClusterData, std::default_delete<Envoy::Upstream::ClusterManagerImpl::ClusterData> > > > >
            ::at (this=<optimized out>, __k=...)
     at /usr/lib/gcc/x86_64-linux-gnu/7.4.0/../../../../include/c++/7.4.0/bits/stl_map.h:533
#9  0x0000000000b5c8db in Envoy::Upstream::ClusterManagerImpl::ThreadLocalClusterManagerImpl::ClusterEntry::ClusterEntry (this=0x438b4000, parent=..., cluster=..., lb_factory=...)
     at source/common/upstream/cluster_manager_impl.cc:1099
#10 0x0000000000b60c8c in Envoy::Upstream::ClusterManagerImpl::createOrUpdateThreadLocalCluster(Envoy::Upstream::ClusterManagerImpl::ClusterData&)::$_10::operator()() const (this=0x1ecabd10)
     at source/common/upstream/cluster_manager_impl.cc:530
#11 std::_Function_handler<void (), Envoy::Upstream::ClusterManagerImpl::createOrUpdateThreadLocalCluster(Envoy::Upstream::ClusterManagerImpl::ClusterData&)::$_10>::_M_invoke(std::_Any_data const&) (__functor=...)
     at /usr/lib/gcc/x86_64-linux-gnu/7.4.0/../../../../include/c++/7.4.0/bits/std_function.h:316
#12 0x0000000000b1f10d in std::function<void ()>::operator()() const (this=<optimized out>)
     at /usr/lib/gcc/x86_64-linux-gnu/7.4.0/../../../../include/c++/7.4.0/bits/std_function.h:706
#13 Envoy::Event::DispatcherImpl::runPostCallbacks (this=0x2bf1200)
     at source/common/event/dispatcher_impl.cc:198
#14 0x0000000000b1efbe in Envoy::Event::DispatcherImpl::run (this=0x2bf1200, type=Envoy::Event::Dispatcher::RunType::Block)
     at source/common/event/dispatcher_impl.cc:177
#15 0x0000000000b19442 in Envoy::Server::WorkerImpl::threadRoutine (this=0x2c3f2c0, guard_dog=...)
     at source/server/worker_impl.cc:104
#16 0x00000000010639e5 in std::function<void ()>::operator()() const (this=0x18)
     at /usr/lib/gcc/x86_64-linux-gnu/7.4.0/../../../../include/c++/7.4.0/bits/std_function.h:706
#17 Envoy::Thread::ThreadImplPosix::ThreadImplPosix(std::function<void ()>)::$_0::operator()(void*) const (this=<optimized out>, arg=0x0)
     at source/common/common/posix/thread_impl.cc:39
#18 Envoy::Thread::ThreadImplPosix::ThreadImplPosix(std::function<void ()>)::$_0::__invoke(void*) (arg=0x0)
     at source/common/common/posix/thread_impl.cc:38
#19 0x00007f004ef016ba in start_thread (arg=0x7f0030feb700)
     at pthread_create.c:333
#20 0x00007f004e92e41d in clone ()
     at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

I'm not 100% sure who could best look into this.
@jrajahalme or @ramaraochavali would either of you be able to check this out?

I added a simple test case to test/integration_test.cc to reproduce this issue(that's CdsClusterCreateDelete  in commit https://github.com/l8huang/envoy/commit/279ae5ff089b83757435ba1f8ca362419c7285f4):
# bazel  test -c dbg  //test/integration:cds_integration_test      --test_env=ENVOY_IP_TEST_VERSIONS=v4only     --test_output=streamed --cache_test_results=no     --test_arg="-l info"
WARNING: The following rc files are no longer being read, please transfer their contents or import their path into one of the standard rc files:
/develop/envoy/tools/bazel.rc
WARNING: Streamed test output requested. All tests will be run locally, without sharding, one at a time
INFO: Build options --run_under, --test_arg, --test_env, and 1 more have changed, discarding analysis cache.
INFO: Analyzed target //test/integration:cds_integration_test (0 packages loaded, 13781 targets configured).
INFO: Found 1 test target...
WARNING: Perftools heap leak checker is active -- Performance may suffer
[==========] Running 8 tests from 1 test suite.
[----------] Global test environment set-up.
[----------] 8 tests from IpVersionsClientTypeDelta/CdsIntegrationTest
[ RUN      ] IpVersionsClientTypeDelta/CdsIntegrationTest.CdsClusterUpDownUp/0
[       OK ] IpVersionsClientTypeDelta/CdsIntegrationTest.CdsClusterUpDownUp/0 (2250 ms)
[ RUN      ] IpVersionsClientTypeDelta/CdsIntegrationTest.CdsClusterUpDownUp/1
[       OK ] IpVersionsClientTypeDelta/CdsIntegrationTest.CdsClusterUpDownUp/1 (3167 ms)
[ RUN      ] IpVersionsClientTypeDelta/CdsIntegrationTest.CdsClusterCreateDelete/0
terminate called after throwing an instance of 'std::out_of_range'
  what():  map::at
[2019-07-09 17:47:23.029][42][critical][backtrace] [bazel-out/k8-dbg/bin/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:81] Caught Aborted, suspect faulting address 0xe
[2019-07-09 17:47:23.029][42][critical][backtrace] [bazel-out/k8-dbg/bin/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:69] Backtrace (use tools/stack_decode.py to get line numbers):
[2019-07-09 17:47:23.050][42][critical][backtrace] [bazel-out/k8-dbg/bin/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:73] #0: Envoy::SignalAction::sigHandler() [0x1a5d36e]
[2019-07-09 17:47:23.050][42][critical][backtrace] [bazel-out/k8-dbg/bin/source/server/_virtual_includes/backtrace_lib/server/backtrace.h:73] #1: __restore_rt [0x7fd5524dc390]
external/bazel_tools/tools/test/test-setup.sh: line 310:    14 Aborted                 "${TEST_PATH}" "$@" 2>&1
FAIL: //test/integration:cds_integration_test (see /root/.cache/bazel/_bazel_root/8a829d5918f76371d36df361a9235db6/execroot/envoy/bazel-out/k8-dbg/testlogs/test/integration/cds_integration_test/test.log)
Target //test/integration:cds_integration_test up-to-date:
  bazel-bin/test/integration/cds_integration_test
INFO: Elapsed time: 14.577s, Critical Path: 12.96s
INFO: 2 processes: 2 linux-sandbox.
INFO: Build completed, 1 test FAILED, 2 total actions

I'm trying to make a patch to fix this issue in a reasonable way(I would try to use defensive code firstly), if you have any suggestion please kindly let me know ;)

I'm working on fixing this issue, basic idea is using  ClusterSharedPtr instead of ClusterInfoConstSharedPtr to construct ClusterManagerImpl::ThreadLocalClusterManagerImpl::ClusterEntry:
 ClusterManagerImpl::ThreadLocalClusterManagerImpl::ClusterEntry::ClusterEntry(
-    ThreadLocalClusterManagerImpl& parent, ClusterInfoConstSharedPtr cluster,
+    ThreadLocalClusterManagerImpl& parent, ClusterSharedPtr cluster,
     const LoadBalancerFactorySharedPtr& lb_factory)

In this way, it needn't to access active_clusters_ for getting the ClusterSharedPtr in worker thread.

I don't think ^ is the correct fix, as the cluster is not generally thread safe, only the info. Do you have a summary of what the issue is?

I think the analysis above is correct, the access to active_clusters_ from a worker thread is wrong, as active_clusters_ is not thread safe. This originates from my initial commit that adds the support for OriginalDstCluster.
I checked for other cases for improper access and found that constructor of ThreadLocalClusterManagerImpl which is called from the ClusterMangerImpl via SlotImpl::set() also accesses active_clusters_.  This seems intentional, as active_clusters_ is protected rather than private. However, the initializeCb given to SlotImpl::set() is called on each thread:
  /**
   * Set thread local data on all threads previously registered via registerThread().
   * @param initializeCb supplies the functor that will be called *on each thread*. The functor
   *                     returns the thread local object which is then stored. The storage is via
   *                     a shared_ptr. Thus, this is a flexible mechanism that can be used to share
   *                     the same data across all threads or to share different data on each thread.
   */

So the problem with improper access to active_clusters_ is a bit larger. The simplest fix would be to protect all access to active_clusters_ with a absl::Mutex like in source/common/upstream/thread_aware_lb_impl.cc for the members annotated with GUARDED_BY(mutex_), for example. Maybe there is a more elegant fix out there as well?

thanks @jrajahalme for summary.
Looks like adding protection to active_clusters_ with a mutex wouldn't help, a 'ClusterSharedPtr' is added to and removed  from active_clusters_ sequentially by main thread, no need to use mutex in this case. The problem is when a worker thread callback accessing active_clusters_ for getting 'ClusterSharedPtr', it could be already removed by main thread. This is a more lifecycle problem than mutex protection issue.
Considering 'ClusterSharedPtr'  is a shared pointer(ClusterDataPtr is a unique pointer, owner is active_clusters_), I guess it's fine to let callback to capture it and use it to create OriginalDstCluster which holds it with a weak pointer. If there were any concurrency issue when using ClusterSharedPtr(e.g lock weak pointer, modifying cluster) in worker thread, the cluster implementation should take care of that by it self.

STL map operations are not thread safe, so this is a more general concurrent access problem. All we know the worker thread may crash just reading from the map!
In more detail, a worker thread may be reading from a map that is in inconsistent state, i.e., partially updated by the main thread, e.g., the main thread is in a middle of an insert operation, maybe reallocating the map to make more space.

Sorry for confusing. I meant callback can capture ClusterSharedPtr, then worker thread needn't to access active_clusters_ at all.
Here is a patch for fixing this issue: https://github.com/l8huang/envoy/commit/08f9c010f65f27e43e8550e4e9628025639db53a
Let me know if this fix is ok.

I will take a look at this in more detail tomorrow and advise on the fix.

@l8huang Your fix looks good to me, and resolves the bug you found. I left a couple of comments to remind you to clean up some testing/debugging related changes you still have in there.
However, the issue of invalid access to active_clusters_ in the constructor of ThreadLocalClusterManagerImpl still remains.


Use normal cimg for Ruby 3.2.1 CircleCI build

CI was giving us the following error on a clean build:
Directory (/home/circleci/project) you are trying to checkout to is not empty and not a git repository

This is a known error with browser-tools, and is easily fixable by placing checkout before the browser tool install commands.


Dashboards with templating results in terraform error

Hi,
so I try to get the provider running with templated dashboards.
apiVersion: oss.grafana.crossplane.io/v1alpha1
kind: Dashboard
metadata:
  name: cluster-dashboard
spec:
  forProvider:
    folderRef:
      name: folder
    configJson: |
      {
        "title": "Crossplane Test!",
        "uid": "crossplane",
        "panels": [
          {
            "collapsed": false,
            "datasource": {
              "type": "prometheus",
              "uid": "${DS_PROMETHEUS}"
            },
            "gridPos": {
              "h": 1,
              "w": 24,
              "x": 0,
              "y": 0
            },
            "panels": [],
            "targets": [
              {
                "datasource": {
                  "type": "prometheus",
                  "uid": "${DS_PROMETHEUS}"
                },
                "refId": "A"
              }
            ],
            "title": "Workloads",
            "type": "row"
          }
        ],
        "templating": {
          "list": [
            {
              "hide": 2,
              "name": "DS_PROMETHEUS",
              "query": "prometheus",
              "type": "datasource"
            }
          ]
        }
      }
  providerConfigRef:
    name: grafana-provider

The provider-grafana pod results in following error:
1.6877711267468488e+09  DEBUG   provider-grafana        refresh ended   {"workspace": "/tmp/2f2cc928-804a-4804-9c52-6d8679d99350", "out": "{\"@level\":\"info\",\"@message\":\"Terraform 1.3.9\",\"@module\":\"terraform.ui\",\"@timestamp\":\"2023-06-26T09:18:46.258756Z\",\"terraform\":\"1.3.9\",\"type\":\"version\
",\"ui\":\"1.0\"}\n{\"@level\":\"error\",\"@message\":\"Error: Invalid reference\",\"@module\":\"terraform.ui\",\"@timestamp\":\"2023-06-26T09:18:46.742140Z\",\"diagnostic\":{\"severity\":\"error\",\"summary\":\"Invalid reference\",\"detail\":\"A reference to a resource type must be followed by at least one att
ribute access, specifying the resource name.\",\"range\":{\"filename\":\"main.tf.json\",\"start\":{\"line\":9,\"column\":19,\"byte\":377},\"end\":{\"line\":9,\"column\":32,\"byte\":390}},\"snippet\":{\"context\":\"resource.grafana_dashboard.cluster-dashboard\",\"code\":\"{\\\"provider\\\":{\\\"grafana\\
\":{\\\"auth\\\":\\\"REDACTED\\\"}},\\\"resource\\\":{\\\"grafana_dashboard\\\":{\\\"cluster-dashboard\\\":{\\\"config_json\\\":\\\"{\\\\n  \\\\\\\"title\\\\\\\": \\\\\\\"Crossplane Test!\\\\\\\",\\\\n  \\\\\\\"uid\\\\\\\": \\\\\\\"crossplane\\\\\\\",\\\\n  \\\\\\\"panels\\\\\\\": [\\\\n    {\\\\n
\\\\\\\"collapsed\\\\\\\": false,\\\\n      \\\\\\\"datasource\\\\\\\": {\\\\n        \\\\\\\"type\\\\\\\": \\\\\\\"prometheus\\\\\\\",\\\\n        \\\\\\\"uid\\\\\\\": \\\\\\\"${DS_PROMETHEUS}\\\\\\\"\\\\n      },\\\\n      \\\\\\\"gridPos\\\\\\\": {\\\\n        \\\\\\\"h\\\\\\\": 1,\\\\n        \\\\\\\"w\\\\\
\\": 24,\\\\n        \\\\\\\"x\\\\\\\": 0,\\\\n        \\\\\\\"y\\\\\\\": 0\\\\n      },\\\\n      \\\\\\\"panels\\\\\\\": [],\\\\n      \\\\\\\"targets\\\\\\\": [\\\\n        {\\\\n          \\\\\\\"datasource\\\\\\\": {\\\\n            \\\\\\\"type\\\\\\\": \\\\\\\"prometheus\\\\\\\",\\\\n            \\\\\\\"
uid\\\\\\\": \\\\\\\"${DS_PROMETHEUS}\\\\\\\"\\\\n          },\\\\n          \\\\\\\"refId\\\\\\\": \\\\\\\"A\\\\\\\"\\\\n        }\\\\n      ],\\\\n      \\\\\\\"title\\\\\\\": \\\\\\\"Workloads\\\\\\\",\\\\n      \\\\\\\"type\\\\\\\": \\\\\\\"row\\\\\\\"\\\\n    }\\\\n  ],\\\\n  \\\\\\\"templating\\\\\\\": {\
\\\n    \\\\\\\"list\\\\\\\": [\\\\n      {\\\\n        \\\\\\\"hide\\\\\\\": 2,\\\\n        \\\\\\\"name\\\\\\\": \\\\\\\"DS_PROMETHEUS\\\\\\\",\\\\n        \\\\\\\"query\\\\\\\": \\\\\\\"prometheus\\\\\\\",\\\\n        \\\\\\\"type\\\\\\\": \\\\\\\"datasource\\\\\\\"\\\\n      }\\\\n    ]\\\\n  }\\\\n}\\\\n\\
\",\\\"folder\\\":\\\"2\\\",\\\"lifecycle\\\":{\\\"prevent_destroy\\\":true}}}},\\\"terraform\\\":{\\\"required_providers\\\":{\\\"grafana\\\":{\\\"source\\\":\\\"grafana/grafana\\\",\\\"version\\\":\\\"1.39.0\\\"}}}}\",\"start_line\":9,\"highlight_start_offset\":377,\"highlight_end_offset\":390,\"values\":[]}}
,\"type\":\"diagnostic\"}\n{\"@level\":\"error\",\"@message\":\"Error: Invalid reference\",\"@module\":\"terraform.ui\",\"@timestamp\":\"2023-06-26T09:18:46.742812Z\",\"diagnostic\":{\"severity\":\"error\",\"summary\":\"Invalid reference\",\"detail\":\"A reference to a resource type must be followed by at least
 one attribute access, specifying the resource name.\",\"range\":{\"filename\":\"main.tf.json\",\"start\":{\"line\":22,\"column\":23,\"byte\":625},\"end\":{\"line\":22,\"column\":36,\"byte\":638}},\"snippet\":{\"context\":\"resource.grafana_dashboard.cluster-dashboard\",\"code\":\"{\\\"provider\\\":{\\\
"grafana\\\":{\\\"auth\\\":\\\"REDACTED\\\"}},\\\"resource\\\":{\\\"grafana_dashboard\\\":{\\\"cluster-dashboard\\\":{\\\"config_json\\\":\\\"{\\\\n  \\\\\\\"title\\\\\\\": \\\\\\\"Crossplane Test!\\\\\\\",\\\\n  \\\\\\\"uid\\\\\\\": \\\\\\\"crossplane\\\\\\\",\\\\n  \\\\\\\"panels\\\\\\\": [\\\\n    {\
\\\n      \\\\\\\"collapsed\\\\\\\": false,\\\\n      \\\\\\\"datasource\\\\\\\": {\\\\n        \\\\\\\"type\\\\\\\": \\\\\\\"prometheus\\\\\\\",\\\\n        \\\\\\\"uid\\\\\\\": \\\\\\\"${DS_PROMETHEUS}\\\\\\\"\\\\n      },\\\\n      \\\\\\\"gridPos\\\\\\\": {\\\\n        \\\\\\\"h\\\\\\\": 1,\\\\n        \\\\
\\\"w\\\\\\\": 24,\\\\n        \\\\\\\"x\\\\\\\": 0,\\\\n        \\\\\\\"y\\\\\\\": 0\\\\n      },\\\\n      \\\\\\\"panels\\\\\\\": [],\\\\n      \\\\\\\"targets\\\\\\\": [\\\\n        {\\\\n          \\\\\\\"datasource\\\\\\\": {\\\\n            \\\\\\\"type\\\\\\\": \\\\\\\"prometheus\\\\\\\",\\\\n
  \\\\\\\"uid\\\\\\\": \\\\\\\"${DS_PROMETHEUS}\\\\\\\"\\\\n          },\\\\n          \\\\\\\"refId\\\\\\\": \\\\\\\"A\\\\\\\"\\\\n        }\\\\n      ],\\\\n      \\\\\\\"title\\\\\\\": \\\\\\\"Workloads\\\\\\\",\\\\n      \\\\\\\"type\\\\\\\": \\\\\\\"row\\\\\\\"\\\\n    }\\\\n  ],\\\\n  \\\\\\\"templating\\
\\\\\": {\\\\n    \\\\\\\"list\\\\\\\": [\\\\n      {\\\\n        \\\\\\\"hide\\\\\\\": 2,\\\\n        \\\\\\\"name\\\\\\\": \\\\\\\"DS_PROMETHEUS\\\\\\\",\\\\n        \\\\\\\"query\\\\\\\": \\\\\\\"prometheus\\\\\\\",\\\\n        \\\\\\\"type\\\\\\\": \\\\\\\"datasource\\\\\\\"\\\\n      }\\\\n    ]\\\\n  }\\\
\n}\\\\n\\\",\\\"folder\\\":\\\"2\\\",\\\"lifecycle\\\":{\\\"prevent_destroy\\\":true}}}},\\\"terraform\\\":{\\\"required_providers\\\":{\\\"grafana\\\":{\\\"source\\\":\\\"grafana/grafana\\\",\\\"version\\\":\\\"1.39.0\\\"}}}}\",\"start_line\":22,\"highlight_start_offset\":625,\"highlight_end_offset\":638,\"va
lues\":[]}},\"type\":\"diagnostic\"}\n"}
1.6877711267482073e+09  DEBUG   provider-grafana        Cannot observe external resource        {"controller": "managed/oss.grafana.crossplane.io/v1alpha1, kind=dashboard", "request": "/cluster-dashboard", "uid": "2f2cc928-804a-4804-9c52-6d8679d99350", "version": "7007848", "external-name": "0:crossplan
e", "error": "cannot run refresh: refresh failed: Invalid reference: A reference to a resource type must be followed by at least one attribute access, specifying the resource name.\nInvalid reference: A reference to a resource type must be followed by at least one attribute access, specifying the resource name.
", "errorVerbose": "refresh failed: Invalid reference: A reference to a resource type must be followed by at least one attribute access, specifying the resource name.\nInvalid reference: A reference to a resource type must be followed by at least one attribute access, specifying the resource name.\ncannot run r
efresh\ngithub.com/upbound/upjet/pkg/controller.(*external).Observe\n\tgithub.com/upbound/upjet<EMAIL_ADDRESS>g/reconciler/managed/reconciler.go:780\ngithub.com/crossplane/crossplane-runtime/pkg/ratelimiter.(*Reconciler).Reconcile\n\tgithub.com/crossplane/crossplane-runtime@v0.19.0-rc.0.0.20221012013934-bce61005a175/pkg/ratelimiter/reconciler.go:54\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).R
econcile\n\tsigs.k8s.io/controller-runtime@v0.12.1/pkg/internal/controller/controller.go:121\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).reconcileHandler\n\tsigs.k8s.io/controller-runtime@v0.12.1/pkg/internal/controller/controller.go:320\nsigs.k8s.io/controller-runtime/pkg/internal/con
troller.(*Controller).processNextWorkItem\n\tsigs.k8s.io/controller-runtime@v0.12.1/pkg/internal/controller/controller.go:273\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func2.2\n\tsigs.k8s.io/controller-runtime@v0.12.1/pkg/internal/controller/controller.go:234\nruntime.goexit\n\
truntime/asm_amd64.s:1594"}
1.687771126749751e+09   DEBUG   events  Warning {"object": {"kind":"Dashboard","name":"cluster-dashboard","uid":"2f2cc928-804a-4804-9c52-6d8679d99350","apiVersion":"oss.grafana.crossplane.io/v1alpha1","resourceVersion":"7007848"}, "reason": "CannotObserveExternalResource", "message": "cannot run refresh
: refresh failed: Invalid reference: A reference to a resource type must be followed by at least one attribute access, specifying the resource name.\nInvalid reference: A reference to a resource type must be followed by at least one attribute access, specifying the resource name."}

When I take the Json and use the "Import" function of Grafana it works fine.

Using $${DS_PROMETHEUS} instead of ${DS_PROMETHEUS} solves the problem - this seems default terraform behaviour. Didn't know :)


[Bug]: upgrade will fail on MacOS

Is there an existing issue for the same bug?

[X] I have checked the existing issues.

Environment

Version or commit-id: e.g. v0.1.0 or 8b23a93
OS type: e.g. MacOS 13/Debian 11
Other info: e.g. 2c cpu, 4g mem, 250g hdd

Issue Description
When running mo_ctl upgrade xxx on mac, it will probably fail with an error like this
declare: -A: invalid option
declare: usage: declare [-afFirtx] [-p] [name[=value] ...]

Steps to Reproduce
run mo_ctl upgrade xxx on mac
Additional information
This is because on mac, bash is using v3 while on Linux bash is using v4. Bash v3 does not support map data structure via declare -A xx. Will fix it when running on mac.
https://www.jianshu.com/p/a55480b793b0

fixed


Is there a uvatlastool -c -t -y analog?

does this set of utilities have a uvatlastool -c -t -y? Would like to try it out :)

sorry, there aren't any uv-unwrap tools here at this point - uvatlas is quite good, I use it myself...

Awesome. We use it bunch as well, but sadly it's pretty slow :/
Was looking for something speedier :)

very unlikely that C# implementation would be faster...the optimization done in uvatlas is not very parallelizable, and can't really be helped by clever data structures. I would imagine the only way to speed it up is SSE-type optimizations.
Scaffold maps might be a good bet: https://github.com/jiangzhongshi/scaffold-map
paper: https://cs.nyu.edu/~panozzo/papers/Scaffold-2017.pdf


Error running in Jupyter Anaconda

Hi there... I'm just trying to run the code... however, I got this error:
Do I miss something?

ValueError                                Traceback (most recent call last)
 in
1 #import modules
2
----> 3 from gensim.models import KeyedVectors
4 import gensim
5 import os
/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/gensim/init.py in
3 """
4
----> 5 from gensim import parsing, corpora, matutils, interfaces, models, similarities, summarization, utils # noqa:F401
6 import logging
7
/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/gensim/models/init.py in
5
6 # bring model classes directly into package namespace, to save some typing
----> 7 from .coherencemodel import CoherenceModel  # noqa:F401
8 from .hdpmodel import HdpModel  # noqa:F401
9 from .ldamodel import LdaModel  # noqa:F401
/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/gensim/models/coherencemodel.py in
34 from gensim import interfaces, matutils
35 from gensim import utils
---> 36 from gensim.topic_coherence import (segmentation, probability_estimation,
37                                     direct_confirmation_measure, indirect_confirmation_measure,
38                                     aggregation)
/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/gensim/topic_coherence/probability_estimation.py in
10 import logging
11
---> 12 from gensim.topic_coherence.text_analysis import (
13     CorpusAccumulator, WordOccurrenceAccumulator, ParallelWordOccurrenceAccumulator,
14     WordVectorsAccumulator)
/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/gensim/topic_coherence/text_analysis.py in
19
20 from gensim import utils
---> 21 from gensim.models.word2vec import Word2Vec
22
23 logger = logging.getLogger(name)
/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/gensim/models/word2vec.py in
133
134 from gensim.utils import keep_vocab_item, call_on_class_only
--> 135 from gensim.models.keyedvectors import Vocab, Word2VecKeyedVectors
136 from gensim.models.base_any2vec import BaseWordEmbeddingsModel
137
/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/gensim/models/keyedvectors.py in
181 from scipy import stats
182 from gensim.utils import deprecated
--> 183 from gensim.models.utils_any2vec import (
184     _save_word2vec_format,
185     _load_word2vec_format,
/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/gensim/models/utils_any2vec.py in
196 #
197 try:
--> 198     from gensim.models._utils_any2vec import (
199         compute_ngrams as _compute_ngrams_cy,
200         compute_ngrams_bytes as _compute_ngrams_bytes_cy,
init.pxd in init gensim.models._utils_any2vec()
ValueError: numpy.ndarray size changed, may indicate binary incompatibility. Expected 88 from C header, got 80 from PyObject

Hi @RicardoAsk ,
I think this might be an issue with Numpy. So, can you uninstall then re-install Numpy?
Please refer to this stackoverflow issue
pip uninstall numpy
pip install numpy


Merge OSS master 02-06-23

Like https://github.com/istio/istio/pull/41784 but done again.

Skipping CI for Draft Pull Request.
If you want CI signal for your change, please convert it to an actual PR.
You can still manually trigger a test run with /test all

/test all

@howardjohn: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

lint_istio_exp
b1c6c525649fee237052fef36d38b54603e867bf
link
true
/test lint

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@howardjohn: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

lint_istio_exp
b1c6c525649fee237052fef36d38b54603e867bf
link
true
/test lint

gencheck_istio_exp
b1c6c525649fee237052fef36d38b54603e867bf
link
true
/test gencheck

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@howardjohn: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

lint_istio_exp
b1c6c525649fee237052fef36d38b54603e867bf
link
true
/test lint

gencheck_istio_exp
b1c6c525649fee237052fef36d38b54603e867bf
link
true
/test gencheck

integ-ambient_istio_experimental-ambient
b1c6c525649fee237052fef36d38b54603e867bf
link
true
/test integ-ambient

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@howardjohn: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

lint_istio_exp
b1c6c525649fee237052fef36d38b54603e867bf
link
true
/test lint

gencheck_istio_exp
b1c6c525649fee237052fef36d38b54603e867bf
link
true
/test gencheck

integ-ambient_istio_experimental-ambient
b1c6c525649fee237052fef36d38b54603e867bf
link
true
/test integ-ambient

integ-telemetry-istiodremote_istio_exp
b1c6c525649fee237052fef36d38b54603e867bf
link
true
/test integ-telemetry-istiodremote

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@howardjohn: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

lint_istio_exp
b1c6c525649fee237052fef36d38b54603e867bf
link
true
/test lint

gencheck_istio_exp
b1c6c525649fee237052fef36d38b54603e867bf
link
true
/test gencheck

integ-ambient_istio_experimental-ambient
b1c6c525649fee237052fef36d38b54603e867bf
link
true
/test integ-ambient

integ-telemetry-istiodremote_istio_exp
b1c6c525649fee237052fef36d38b54603e867bf
link
true
/test integ-telemetry-istiodremote

integ-telemetry_istio_exp
b1c6c525649fee237052fef36d38b54603e867bf
link
true
/test integ-telemetry

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@howardjohn: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

lint_istio_exp
b1c6c525649fee237052fef36d38b54603e867bf
link
true
/test lint

gencheck_istio_exp
b1c6c525649fee237052fef36d38b54603e867bf
link
true
/test gencheck

integ-ambient_istio_experimental-ambient
b1c6c525649fee237052fef36d38b54603e867bf
link
true
/test integ-ambient

integ-telemetry-istiodremote_istio_exp
b1c6c525649fee237052fef36d38b54603e867bf
link
true
/test integ-telemetry-istiodremote

integ-telemetry_istio_exp
b1c6c525649fee237052fef36d38b54603e867bf
link
true
/test integ-telemetry

integ-telemetry-mc_istio_exp
b1c6c525649fee237052fef36d38b54603e867bf
link
true
/test integ-telemetry-mc

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@howardjohn: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

gencheck_istio_exp
b1c6c525649fee237052fef36d38b54603e867bf
link
true
/test gencheck

integ-ambient_istio_experimental-ambient
b1c6c525649fee237052fef36d38b54603e867bf
link
true
/test integ-ambient

integ-telemetry-istiodremote_istio_exp
b1c6c525649fee237052fef36d38b54603e867bf
link
true
/test integ-telemetry-istiodremote

integ-telemetry_istio_exp
b1c6c525649fee237052fef36d38b54603e867bf
link
true
/test integ-telemetry

integ-telemetry-mc_istio_exp
b1c6c525649fee237052fef36d38b54603e867bf
link
true
/test integ-telemetry-mc

lint_istio_exp
f0dd7d94c79c25d5125c4c44df955df9bd5417ce
link
true
/test lint

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@howardjohn: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

integ-ambient_istio_experimental-ambient
b1c6c525649fee237052fef36d38b54603e867bf
link
true
/test integ-ambient

integ-telemetry-istiodremote_istio_exp
b1c6c525649fee237052fef36d38b54603e867bf
link
true
/test integ-telemetry-istiodremote

integ-telemetry_istio_exp
b1c6c525649fee237052fef36d38b54603e867bf
link
true
/test integ-telemetry

integ-telemetry-mc_istio_exp
b1c6c525649fee237052fef36d38b54603e867bf
link
true
/test integ-telemetry-mc

lint_istio_exp
f0dd7d94c79c25d5125c4c44df955df9bd5417ce
link
true
/test lint

gencheck_istio_exp
f0dd7d94c79c25d5125c4c44df955df9bd5417ce
link
true
/test gencheck

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@howardjohn: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

integ-ambient_istio_experimental-ambient
b1c6c525649fee237052fef36d38b54603e867bf
link
true
/test integ-ambient

integ-telemetry_istio_exp
b1c6c525649fee237052fef36d38b54603e867bf
link
true
/test integ-telemetry

gencheck_istio_exp
5f9ebf9fadd9425d86ba98639316a23f5b09258c
link
true
/test gencheck

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.


refactor(examples/azure_openai_pipeline): make use of env variables and prefixed with a consistent prefix to avoid conflicts

BREAKING CHANGE: all valves are now prefixed with AZURE_OPENAI_.

LGTM, Thanks!


Update vuln query to utilize hasSBOM and pass in SBOM URI or purl to search

Description of the PR
update vulnerability query to utilize hasSBOM in query and be searchable via sbom URI or purl (this will make searching for packages with guac generated purls easier).
For CDX - the URI is the "serialNumber": "urn:uuid:bc2d1509-298e-42cd-a4d0-b5fac740b4ae"
For SPDX - the URI is the "documentNamespace": "https://anchore.com/syft/image/k8s.gcr.io/kube-apiserver-v1.24.1-583a02ce-8f7e-4794-91af-35f27ffeb73d" (which is unique per the spec: https://spdx.github.io/spdx-spec/v2.3/document-creation-information/#65-spdx-document-namespace-field)
guac vuln CLI documentation will have to be updated.
PR Checklist

[x] All commits have a Developer Certificate of Origin (DCO) -- they are generated using -s flag to git commit.
[ ] All new changes are covered by tests
[x] If GraphQL schema is changed, make generate has been run
[ ] If collectsub protobuf has been changed, make proto has been run
[ ] All CI checks are passing (tests and formatting)
[ ] All dependent PRs have already been merged

Rebased based on https://github.com/guacsec/guac/pull/1540

Documentation updated: https://github.com/guacsec/guac-docs/pull/113


No compact at all.

Why dont you provide an prop to be able to have a workspace with no compacts at all?

Use not responsive version + verticalCompact: false ?


Bump cardano-node to 1.26.2

Issue Number
ADP-845
Overview
Updates from 1.25.1 to 1.26.2.

[x] Get (some) things compiling locally
[x] Remove TRANS_EXTERNAL tests to drop cardano-transaction dependency
[x] Fix any warnings etc in CI
[x] Move to Stackage LTS 17.9
[x] Update nix voodoo
[x] Fix new failing tests.

Comments

Depends on input-output-hk/cardano-haskell#44
Depends on input-output-hk/cardano-haskell#45

bors try

bors try

bors try

bors try

bors try-

bors try

bors r+

bors r+


fix potentially dangling references

Scope & Purpose
Fix potentially dangling references in cancellation check of shard synchronization.
It is possible that some of the objects passed to the cancellation check lambda by reference are outlived by the cancellation check itself. This can cause undefined behavior when accessing these objects in the cancellation check lambda later.
This PR disables the extra cancellation check for shard synchronization, which was introduced in 3.8.5. The behavior for shard synchronization cancellation with this PR will be the same as in 3.8.4. The cancellation check will be fixed and reactivated with a follow-up PR.
This does not need to be backported to 3.7 as 3.7 did not get the cancellation check changes.

[x] :hankey: Bugfix
[ ] :pizza: New feature
[ ] :fire: Performance improvement
[ ] :hammer: Refactoring/simplification

Checklist

[ ] Tests

[ ] Regression tests
[ ] C++ Unit tests
[ ] integration tests
[ ] resilience tests

[x] :book: CHANGELOG entry made
[ ] :books: documentation written (release notes, API changes, ...)
[x] Backports

[x] Backport for devel: https://github.com/arangodb/arangodb/pull/15678
[x] Backport for 3.9.0: this PR
[x] Backport for 3.9: https://github.com/arangodb/arangodb/pull/15675
[x] Backport for 3.8: https://github.com/arangodb/arangodb/pull/15674
[x] Backport for 3.8.5: https://github.com/arangodb/arangodb/pull/15677
[ ] Backport for 3.7: not affected

Related Information

[ ] Docs PR:
[ ] Enterprise PR:
[ ] GitHub issue / Jira ticket:
[ ] Design document:

3.9 and 3.9.0 are equal so only https://github.com/arangodb/arangodb/pull/15675 was merged.


[BUG] Incorrect (previous route's) searchParams used in serverProps

Describe the bug
When navigating from one route to the previous route's searchParams are being passed to the server instead of the current value.
To Reproduce
https://github.com/nattyg93/hydrogen-issue-serverprops
On the home page under the "Hello, Hydrogen" heading there are two Links "A" and "B". If you alternate between clicking these in sequence (first A, then B, then A etc) you will see the text above "CURRENTLY SELECTED ON THE SERVER: B" has the searchParams from the previous route.
Expected behaviour
The searchParams should match the current route.
Additional context
Add any other context about the problem here. eg.

0.17.0
16.14.0
MacOS 12.3.1

Culprit seems to be
https://github.com/Shopify/hydrogen/blob/172e58d7fec4634c9111beab8ffe900c6cdf9e1b/packages/hydrogen/src/foundation/Router/BrowserRouter.client.tsx#L39-L49
search: location.search should be search: newLocation.search
(Not sure how I missed this after reading this code like 5 times while debugging the issue 🤦♀)


Update camera delay & fix new session

Pull Request instructions:

Please follow the update protocol
Answer the questions below in detail. Your responses will be emailed to experimenters.
If the experimenters must do anything new, provide detailed step by step instructions on the wiki
Use markdown syntax in order for your comments to be rendered reliably in the email: "1." instead of "1)", use four spaces for indents.
If you use the keyword "skip email" in the title, it will skip the email updates
Merges from "develop" into "production_testing" should use the keyword "production merge" in the title for reliable indexing of updates
Merges from "production_testing" into "main" should use the keyword "update main"

Describe changes:

Change the delay from 2 seconds to 5 seconds to trigger the camera after starting logging. 5s is safer.
Only run check drop of frames once.
Don't change the color of the new session button when the post weight changes.
Don't initialize the figure by default after saving data.

What issues or discussions does this update address?

The camera requires time to be ready to receive external triggers. The previous delay to send triggers after starting logging was 2s. Here, we changed it to 5s to make it safer.
We only need to run it once to check drop of frames. Previously, it would run every time we clicked the "Save" button.
The post weight change was previously coupled with the new session button, which is not correct (e.g. after saving, we will start a new session by default. Then, we change the post weight, the new session button should still be selected).
We don't need to initialize the visualization panel after saving.

Describe the expected change in behavior from the perspective of the experimenter

For video session, the GUI will sleep 5s after clicking Start button.
The visualization panel will stay after saving data.

Describe the outcome of testing this update on a rig in 447

[ ] 323_EPHYS3

- The post weight change was previously coupled with the new session button, which is not correct (e.g. after saving, we will start a new session by default. Then, we change the post weight, the new session button should still be selected).
- We don't need to initialize the visualization panel after saving.

@XX-Yin I think we have some mis-communications about what the new session button means.

To me, new session should clear all information (including visualizations) about the past session, and you shouldn't be able to save any information about the past session. To me, its very confusing to press new session and the old session information is still displayed. This is also why its confusing to me to run new session when saving the data.
To you (I think) new session means that the past session has stopped logging and the camera.

I think we should introduce a new concept/state session ended, which means logging has stopped, the camera has stopped. The data can be saved, and the post weight can be modified. The visualizations will not be reset. The save feature can trigger this state. Once the new session button is pressed, then the visualizations are reset, and we cannot further save the past session.
Does that idea make sense to you?
I think you should remove the updates about reseting the visualization, and the new session button, and I can approve the updates about dropped frames and camera delay.

- The post weight change was previously coupled with the new session button, which is not correct (e.g. after saving, we will start a new session by default. Then, we change the post weight, the new session button should still be selected).
- We don't need to initialize the visualization panel after saving.

@XX-Yin I think we have some mis-communications about what the new session button means.

To me, new session should clear all information (including visualizations) about the past session, and you shouldn't be able to save any information about the past session. To me, its very confusing to press new session and the old session information is still displayed. This is also why its confusing to me to run new session when saving the data.
To you (I think) new session means that the past session has stopped logging and the camera.

I think we should introduce a new concept/state session ended, which means logging has stopped, the camera has stopped. The data can be saved, and the post weight can be modified. The visualizations will not be reset. The save feature can trigger this state. Once the new session button is pressed, then the visualizations are reset, and we cannot further save the past session.
Does that idea make sense to you?
I think you should remove the updates about reseting the visualization, and the new session button, and I can approve the updates about dropped frames and camera delay.

I think this session ended definition makes sense to me. I will remove some parts.

@XX-Yin I will approve if you update the PR text to remove the descriptions about New Session and initialize figure

@XX-Yin I will approve if you update the PR text to remove the descriptions about New Session and initialize figure

@alexpiet Updated! Thanks!


Android: Keep ScrollView content visible after edits

Suppose that the user is scrolled to the bottom of a ScrollView. Next, the ScrollView's content is edited such that the height of the content changes and the current scroll position is larger than the new height of the content. Consequently, the user sees a blank ScrollView. As soon as the user interacts with the ScrollView, the ScrollView will jump to its max scroll position.
This change improves this scenario by ensuring that the user is never staring at a blank ScrollView when the ScrollView has content in it. It does this by moving the ScrollView to its max scroll position when the scroll position after an edit is larger than the max scroll position of the ScrollView.
Here are some pictures to illustrate how this PR improves the scenario described above:

Test plan (required)
Verified ScrollView keeps the content visible after an edit in a test app. Also, my team uses this change in our app.
Adam Comella
Microsoft Corp.

Thanks for fixing this! I'll let @astreet review.

@astreet Thanks for the feedback. I pushed changes to address your comments and rebased my branch on master.
I'd like to point out one possible concern with the refactoring of the max scroll y logic into a helper. I noticed that one place that calls it used to use getHeight while the other place used getMeasuredHeight. Through reading the docs and testing, I think getHeight will work okay in the onLayoutChange method (it used to use getMeasuredHeight). However, I wanted to point this out in case you have any knowledge in this area.

I think getHeight is more correct iirc, since getMeasuredHeight just returns how big the view wants to be, not how big it actually draws.

(Also, I appreciate you sticking with this, sorry it's taking so long)

@facebook-github-bot shipit
Thanks!!


Move the disposal of the dictation and speech providers off the main Unity thread.

https://github.com/microsoft/MixedRealityToolkit-Unity/issues/4261
Starting and stopping play mode can be excruciatingly slow because of the time spent waiting for the dictation and speech providers to shut down. These are ultimately due to slowdowns in the Unity wrapped APIs themselves (and ultimately the UWP APIs)
Note that the "dispose" function on these services isn't a standard monobehavior function - it's specially invoked by the finalizer of the BaseService - this happens off of the main Unity thread.
Verification
Please fetch this change locally by running:

git fetch origin pull/4439/head:verifyslowdownpr
git checkout verifyslowdownpr

So I have to confess that I haven't hit this myself - can folks who have hit this pull this down (see instructions in the "Verification" section") and try this out?

/azp run mrtk_pr

/azp run mrtk_pr

Thanks @cre8ivepark for pulling this down and verifying!


Migrate config

Closes #55
Description
Migrated a new configuration schema to the whole CLI.

For contributor use:

[ ] Targeted PR against master branch
[ ] Linked to Github issue with discussion and accepted design OR link to spec that describes this work
[ ] Code follows the standards mentioned here
[ ] Updated relevant documentation
[ ] Re-reviewed Files changed in the Github PR explorer
[ ] Added appropriate labels

I can resolve merge conflicts, but before I need to clarify some issue with @psiemens

I merged #95 in here so it will be possible to merge to master after without conflicts

All changes were included in #104


Add binary exponential back-off algorithm

Add option to enable back-off algorithm which will double the sleep amount between each retry. I can drop the commit with tests if desired (as the length of the test is now significantly larger).

What about now? You can use retry -e cmd to use the binary one (i.e. double the sleep after each iteration: 3,6,12), or you can tweak the base factor as in retry -e10 -s1 cmd or retry --exponential=10 --sleep=1 cmd to obtain 1,10,100 sleep sequence.


3 very important addresses

For some reason you don’t have them, without them Illustrator on a Mac immediately stops working. Maybe you don't work with apple
<IP_ADDRESS> iu7mq0jcce.adobestats.io
<IP_ADDRESS> tdatxzi3t4.adobestats.io
<IP_ADDRESS> rptowanjjh.adobestats.io
I can see these addresses through the Little Snitch firewall, I can regularly add addresses of Apple versions

✅ Done. Thank you!

I can see these addresses through the Little Snitch firewall, I can regularly add addresses of Apple versions

Hi. I've been using Little Snitch in past years, so Little Snitch still prevents Adobe from being catched? If so, what's the purpose of manually updating the hosts, if we can completely block the software with firewall?
Best.

Hi. I've been using Little Snitch in past years, so Little Snitch still prevents those softwares from being catched? If so, what's the purpose of manually updating the hosts, if we can completely block the software with firewall?

You can, it works great, create rules for each application

Yes, that's where I don't really get the logic on adding new hosts each time, if we can completely block the software through a fw.
Little Snitch was working very fine for years. The point I don't get, why don't we simply block all the incoming/outgoing connection of those programs, instead of manually blocking new host each time? Any idea @ignaciocastro on this please?
Regarding the software firewall; this is very good one for Windows:
https://www.sordum.org/8125/firewall-app-blocker-fab-v1-9/

Hi @ozgurkazancci, @StrongTequila. Some people still use cloud functionalities and don't want to lose connectivity to that part, hence the reason this list exists. If you can turn off your wi-fi or block the program with your firewall then it might be a better option, but out of the scope of this repository. Continuing with my explanation might put this repository at risk once again so I will be locking it down. Thanks for your continued support!


Validate reader-dot

Test reader-dot in-depth:

[x] for each .dot sample file -- each testing only one feature of DOT (as short as possible)

[x] Read to GioWriter
[x] Validate calls to GioWriter contain all data from source file

[x] test subgraph feature
[x] test directed / undirected edges

PayPal parser does not support subgraphs.


Consider raising hackney's recv_timeout

Please consider raising hackney's recv_timeout which defaults to 5 seconds. Often our renew process aborts because of this low default value
** (MatchError) no match of right hand side value: {:error, :timeout}
    (acme) lib/acme/client.ex:172: Acme.Client.request/2

Would it be better to allow to pass that as an option for Acme.request?
Also, you are using this lib in production? :O

Whatever helps :)
Yes, we do. Needed to add some workarounds because the current ssl implementation doesn't support multiple SAN's, but otherwise it works quite well :)

fixed with https://github.com/sikanhe/acme/pull/2 :) Will put out a release soon.


Stop release generated kafka-[version] test artifacts

It is found in release validation that there are several empty artifacts (e.g. https://repository.apache.org/content/repositories/orgapachebeam-1349/org/apache/beam/beam-sdks-java-io-kafka-kafka-251/2.49.0/beam-sdks-java-io-kafka-kafka-251-2.49.0.jar) that is generated from test project.
This change disabled release of the following generated beam-sdks-java-io-kafka-kafka-xxx project. As we did for test only projects in #25191
Please add a meaningful description for your change here

Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:

[ ] Mention the appropriate issue in your description (for example: addresses #123), if applicable. This will automatically add a link to the pull request in the issue. If you would like the issue to automatically close on merging the pull request, comment fixes #<ISSUE NUMBER> instead.
[ ] Update CHANGES.md with noteworthy changes.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

See the Contributor Guide for more tips on how to make review process smoother.
To check the build health, please visit https://github.com/apache/beam/blob/master/.test-infra/BUILD_STATUS.md
GitHub Actions Tests Status (on master branch)

See CI.md for more information about GitHub Actions CI.

LGTM


Add rust tests to README and testsuite-base branch

Looks like rust tests have been added, but instructions don't include them (should they?) also, the wasm isn't uploaded to the testsuite-base branch. Is this intentional or just a TODO?
https://github.com/WebAssembly/wasi-testsuite/tree/prod/testsuite-base/tests/rust

Thanks for spotting that, I updated the code: https://github.com/WebAssembly/wasi-testsuite/pull/54


Add support for running query needed to generate top subject lines insight

Currently kgraph supports operations like traversals,  shortestPath, and findByVertices. Many insights will need more complicated queries with more complex filters.
for top subject lines, we will want something like:
CORRECTED QUERY:
FOR v, e, p IN 2..2 ANY @company GRAPH "kgraph"
    FILTER (FOR v2, e2 IN 1..1 ANY p.vertices[1] GRAPH "kgraph" FILTER v2._id == "action/email" RETURN 1) == [1]
    RETURN (FOR v2, e2 IN 1..1 ANY p.vertices[1] GRAPH "kgraph" FILTER IS_SAME_COLLECTION("subject", v2) RETURN {"subject": v2.subject, "occurrences": 1/e2.weight})

Where @company is the _key value of the company we are looking at, and @startingDate and @endingDate define a date range (dates are strings like 06/27/2022).
Acceptance Criteria:

kgraph repo can be used to run query which returns json data from which top subjects insight can be calculated.

api works but either the query or the kgraph itself isn't working.

ingest service is the issue.

corrected query:
FOR v, e, p IN 2..2 ANY @company GRAPH "kgraph"
    FILTER (FOR v2, e2 IN 1..1 ANY p.vertices[1] GRAPH "kgraph" FILTER v2._id == "action/email" RETURN 1) == [1]
    RETURN (FOR v2, e2 IN 1..1 ANY p.vertices[1] GRAPH "kgraph" FILTER IS_SAME_COLLECTION("subject", v2) RETURN {"subject": v2.subject, "occurrences": 1/e2.weight})

assuming the email has _id "action/email". v2.subject should be changed depending on subject line property name.


Homepage

Adding Homepage

I've been working on this and I've added the ability to load config templates from an external git repository (public or private) and for automatic restarting/reloading config via github post-receive webhook.

Things to do:

Test docker integration (homepage reading docker socket)
Add service labels to existing supported projects
Augment Makefile to ask qustions about custom repository and sync_on_start.

DONE: Augment Makefile to ask qustions about custom repository and sync_on_start.

These are the services that d.rymcg.tech offers that Homepage has a specific service widget for (a widget can appear next to the service's button on the dashboard and can display certain information provided by the service):

Audiobookshelf
PhotoPrism
qBittorrent
Transmission
Syncthing
Traefik
Nextcloud
Prometheus

Of those, only the following have been "instance-iated" (updated to be able to take advantage of d.ry's instances):

Audiobookshelf
PhotoPrism

I'm planning to add Homepage's auto-discovery labels to the non-instance-iated services via their docker-compose.yaml, and at some point in the future we can instance-iate them and move these labels to their docker-compose.instance.yaml. Does that work for you?

cool, thanks mike

I added homepage labels to audiobookshelf, photoprism, qbittorrent, and transmission, though I've not tested any of them yet. Some widgets need login credentials or an api key from the service, so I invented a manual process to obtain them, paste them into the .env file, then re-run make install so that homepage should auto discover the service. This is not using the git repo for configuration, though, so we'll end up with a few services that can be auto-discovered by homepage but the user will have to manually enter some of the auto-configure values in their .env files, and the non-discoverable services will all be configured in the repo. That's not intuitive.
Maybe we should ditch auto-discovery and have everything configurable manually in one place: the git repo.
I also ran into other questions:

Can traefik have labels for itself that it will listen to (so traefik itself is discoverable by homepage)?
If a service uses HTTP auth but the homepage widget needs login credentials from the service, will the widget be able to access the service?

FYI:

Homepage has a service widget for Syncthing Relay Server, but not for Syncthing.
I haven't attempted adding labels to nextcloud or prometheus yet.

Maybe we should ditch auto-discovery and have everything configurable manually in one place: the git repo.

That might simplify things, and would make for a cleaner config for people who don't care about homepage. Its also much safer if you don't need any access to the docker socket.

Maybe we should ditch auto-discovery and have everything configurable manually in one place: the git repo.

That might simplify things, and would make for a cleaner config for people who don't care about homepage. Its also much safer if you don't need any access to the docker socket.

I suggest we should forego auto-discovery and make all Homepage config in the git repo. If you agree, I'll revert this last commit.
Access to the docker socket might still be desirable, though: even manually configured Homepage services can display container stats and status, but only by communicating with the docker socket. But I'm not sure how important viewing container stats on the homepage is. Maybe d.ry doesn't want to support docker socket access for the sole purpose of showing container stats on the home page, when a user can view container stats via SSH.

I agree we should turn off auto discovery, but we can leave the option to mount the socket, but have it default to be off.

The pubkey from the homepage_config repo is now being added to known_hosts, but it's a work in progress:

I'm not grepping known_hosts correctly (to make sure pubkey isn't added more than once)
I'm now getting an error in docker log that didn't happen before:

[2023-08-10T11:20:12.002Z] error: undefined

The Homepage UI shows this:
TypeError: o is null
...

I'm wondering if there's something wrong with the config .yamls in my repo. Originally I was using tabs instead of spaces, but the UI told me and I fixed that.

I think we're now grepping known_hosts correctly.
I still get this in docker log, though:
ls: /app/config/*.yaml: No such file or directory

I think that's this line, but I don't know why it's failing. When I execute ls /app/config/*.yaml from within the container, it works fine.

I think that's this line

I think you can add 2>&1 after >/dev/null to suppress the error message: it is empty the first time so shows error, but it clones, and then its not empty. So error is not an error.

I made a few tweaks to the config

got rid of the special handling for github.com, all ssh hosts are scanned the first time with ssh-keyscan
fixes the git-deploy-key to remove the container after its done
made sure /app/config/ssh directory is created.

I didn't see any errors in my template, maybe you can share your template with me if you're still getting errors.

I didn't see any errors in my template, maybe you can share your template with me if you're still getting errors.

It turns out my problems were with spacing and syntax. It's working now that I figured that out.

Why are we setting --depth 1 here? https://github.com/EnigmaCurry/d.rymcg.tech/blob/939d88d68a7587a9116b9cc89f23328060c9fb45/homepage/homepage/start.sh#L43
I'd like to set it at least to --depth 2 because I added an "images" directory in my "config" directory - Homepage can use custom images and they don't have to reside in a sub-directory called "images", but it's nice for organization.
Or we could remove --depth X altogether if there's not a specific reason for it. This would allow a user to organize their images/files however they wanted. If we keep it at --depth 2, we could just add a note in README cautioning not to create directories deeper than 2.

Why are we setting --depth 1 here?
depth 1 clones the most recent commit only, discarding the git history, we just need the files not the whole repo. It includes all sub directories (or it should?)

It includes all sub directories (or it should?)

Doh. Of course you're right. I'll look deeper into why my directory isn't cloning.

It's because start.sh only moves .yaml files over (with envsubst): https://github.com/EnigmaCurry/d.rymcg.tech/blob/939d88d68a7587a9116b9cc89f23328060c9fb45/homepage/homepage/start.sh#L46-L50
Should I add the moving of all non-.yaml files, too? The user will be responsible for their own config repo, so if they don't want files in their homepage config, they shouldn't be putting them in the repo. Your thoughts?

yea just be sure not to copy the yaml again

my current dashboard

you should add set -e at the top of start.sh so it quits when it gets to an error (instead of continuining on in a bad state).

my current dashboard

nice you installed everything - is all info pulled from the docker socket or you configured it by hand?

nice you installed everything - is all info pulled from the docker socket or you configured it by hand?

I'm not using Traefik tags for autodiscovery, so I manually added all services to services.yaml. But in settings.yaml I have showStats: true so all my services automatically show Docker stats from the socket. I also host a few services on my server at home, so I'm going to try using the Docker Socket Proxy to access those.
FYI, Homepage seems quite responsive - it looks good and works well on my phone, too.

Think it's ready to merge?


⚠ Phillips Ormonde Fitzpatrick - IPSys has degraded performance

In 24ab3a8, Phillips Ormonde Fitzpatrick - IPSys (https://ipsys.pof.com.au) experienced degraded performance:

HTTP code: 200
Response time: 10647 ms

Resolved: Phillips Ormonde Fitzpatrick - IPSys performance has improved in ff95d2e after 20 minutes.


feat: Custom Collapsible component

Pull Request Checklist
Note to first-time contributors: Please open a discussion post in Discussions and describe your changes before submitting a pull request.
Before submitting, make sure you've checked the following:

[x] Target branch: Please verify that the pull request targets the dev branch.
[x] Description: Provide a concise description of the changes made in this pull request.
[x] Changelog: Ensure a changelog entry following the format of Keep a Changelog is added at the bottom of the PR description.
[ ] Documentation: Have you updated relevant documentation Open WebUI Docs, or other documentation sources?
[ ] Dependencies: Are there any new dependencies? Have you updated the dependency versions in the documentation?
[ ] Testing: Have you written and run sufficient tests for validating the changes?
[x] Code review: Have you performed a self-review of your code, addressing any coding standard issues and ensuring adherence to the project's coding standards?
[x] Prefix: To clearly categorize this pull request, prefix the pull request title, using one of the following:

BREAKING CHANGE: Significant changes that may affect compatibility
build: Changes that affect the build system or external dependencies
ci: Changes to our continuous integration processes or workflows
chore: Refactor, cleanup, or other non-functional code changes
docs: Documentation update or addition
feat: Introduces a new feature or enhancement to the codebase
fix: Bug fix or error correction
i18n: Internationalization or localization changes
perf: Performance improvement
refactor: Code restructuring for better maintainability, readability, or scalability
style: Changes that do not affect the meaning of the code (white-space, formatting, missing semi-colons, etc.)
test: Adding missing tests or correcting existing tests
WIP: Work in progress, a temporary label for incomplete or ongoing work

Changelog Entry
Description

Provides a custom built collapsible component which can be used instead of the bits-ui provided component. The bits-ui component causes page crashing when the component is opened/closed while the content is still being modified.

Added

New custom Collapsible component.

Changed

Updated WebSearchResults to use new Collapsible component.

Fixed

Fixes issue with opening/closing collapsible while content is still being modified.

Thanks!

I recently put the new custom collapsible component for WebSearchResults through its paces, conducting a thorough stress test using an autoclicker. I'm pleased to report that it performed extremely well, even under intense load conditions, including a high-volume simulation of interactions with the Searched x sites dropdown.


Bug: broken avatar when no results on page

Describe the bug
The insights page is showing broken avatar when no results are present on the page.

Steps to reproduce

Go to https://insights.opensauced.pizza/kotlin/repositories
Filter based on Most Spammed
Broken avatar shows on the row.

Affected services
insights.opensauced.pizza
Platforms
Desktop
Browsers
Chrome
Environment
Production
Additional context
No response
Code of Conduct

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

Contributing Docs

[X] I agree to follow this project's Contribution Docs

.take

@SimranjitKaurMaan, thanks for opening this issue. Let me know if you'd like to join the @open-sauced/triage team so you can open issues and assign yourself.
https://github.com/open-sauced/.github/blob/main/TRIAGE_GUIDE.md

@bdougie Yes sure, I would like to join the triage team. Already raised request for it in discord.

Reopening the bug as the fix for this #778 is reverted

@brandonroberts The earlier fix for this issue was reverted here . For this issue of broken avatar on the row when there are empty repo results, we need to fix just the broken avatar right? Let me know the expected behaviour.

Filtering by most spammed causes the app to crash (on my side) :eyes:
https://user-images.githubusercontent.com/79809121/230748468-8e4a6553-1fc3-4de2-8cfd-5fcc62fdcffc.mp4

@brandonroberts, when listOfRepositories is empty and isFilteredRepoNotIndexed is true, a runtime error occurs. Wondering if there is something wrong with the fix applied earlier for this

@takanome-dev possibly. Open a new issue and let's discuss there

Closing this in favor of #1086


Support new Wazuh version 4.10.1 in wazuh-dashboard repository

Description
This issue attempts to support a new version 4.10.1 in the wazuh-dashboard repository.
Tasks

[x] Bump 4.10.1 branch to 4.10.1 version on wazuh-dashboard repository, including revision and changelog.

https://github.com/wazuh/wazuh-dashboard/pull/464

LGTM


[BUG] enable-cluster-monitoring does not exist

General information

OS: Linux
Hypervisor: KVM
Did you run crc setup before starting it (Yes)?

Configurable properties (enter as SUBCOMMAND):

 * bundle
 * cpus
 * disable-update-check
 * disk-size
 * enable-experimental-features
 * http-proxy
 * https-proxy
 * memory
 * nameserver
 * network-mode
 * no-proxy
 * proxy-ca-file
 * pull-secret-file
 * skip-check-bundle-extracted
 * warn-check-bundle-extracted
 * skip-check-crc-dnsmasq-file
 * warn-check-crc-dnsmasq-file
 * skip-check-crc-network
 * warn-check-crc-network
 * skip-check-crc-network-active
 * warn-check-crc-network-active
 * skip-check-goodhosts-cached
 * warn-check-goodhosts-cached
 * skip-check-kvm-enabled
 * warn-check-kvm-enabled
 * skip-check-libvirt-driver
 * warn-check-libvirt-driver
 * skip-check-libvirt-installed
 * warn-check-libvirt-installed
 * skip-check-libvirt-running
 * warn-check-libvirt-running
 * skip-check-libvirt-version
 * warn-check-libvirt-version
 * skip-check-network-manager-config
 * warn-check-network-manager-config
 * skip-check-network-manager-installed
 * warn-check-network-manager-installed
 * skip-check-network-manager-running
 * warn-check-network-manager-running
 * skip-check-podman-cached
 * warn-check-podman-cached
 * skip-check-ram
 * warn-check-ram
 * skip-check-root-user
 * warn-check-root-user
 * skip-check-systemd-networkd-running
 * warn-check-systemd-networkd-running
 * skip-check-user-in-libvirt-group
 * warn-check-user-in-libvirt-group
 * skip-check-virt-enabled
 * warn-check-virt-enabled
 * skip-check-vsock
 * warn-check-vsock

Usage:
  crc config SUBCOMMAND [flags]
  crc config [command]

Available Commands:
  get         Get a crc configuration property
  set         Set a crc configuration property
  unset       Unset a crc configuration property
  view        Display all assigned crc configuration properties

Flags:
  -h, --help   help for config

Global Flags:
  -f, --force              Forcefully perform an action
      --log-level string   log level (e.g. "debug | info | warn | error") (default "info")

Use "crc config [command] --help" for more information about a command.

Host Operating System
Fedora release 32 (Thirty Two)

Steps to reproduce
$ crc config set enable-cluster-monitoring true
Configuration property 'enable-cluster-monitoring' does not exist
Logs
Before gather the logs try following if that fix your issue
$ crc delete -f
$ crc cleanup
$ crc setup
$ crc start --log-level debug

Please consider posting the output of crc start --log-level debug  on http://gist.github.com/ and post the link in the issue.

$ crc config set enable-cluster-monitoring true was added after crc 1.20, so it's normal it does not work with 1.20.

$ crc config set enable-cluster-monitoring true was added after crc 1.20, so it's normal it does not work with 1.20.

then, these docs should indicate that they are not current (ahead of released) as they are the first result for me on googling something like "enable monitoring in crc"

then, these docs should indicate that they are not current (ahead of released) as they are the first result for me on googling something like "enable monitoring in crc"

Sorry, it will be released tomorrow or Wednesday.

Sorry, it will be released tomorrow or Wednesday.

then, these docs should indicate that they are not current (ahead of released) as they are the first result for me on googling something like "enable monitoring in crc"

These docs are related to the master branch (of upstream) and aren't the officially released CRC docs. as these exist on the customer portal.

then, these docs should indicate that they are not current (ahead of released) as they are the first result for me on googling something like "enable monitoring in crc"

These docs are related to the master branch (of upstream) and aren't the officially released CRC docs. as these exist on the customer portal.


add _conflicts field to docs for views

Overview
If a doc has more than 1 branch add the conflict revs to the _conflicts field of the view so that
it can be used when the doc is mapped.
Testing recommendations
$ mix test test/elixir/test/maps_test.exs

Related Issues or Pull Requests

Checklist

[x] Code is written and works correctly
[x] Changes are covered by tests
[ ] Any new configurable parameters are documented in rel/overlay/etc/default.ini
[ ] A PR for documentation changes has been made in https://github.com/apache/couchdb-documentation

@dottorblaster its against the fdb branch and CI can't run those yet. So it will fail

Oh ok so no prob, thanks for letting me know :)


Play Services Hint Request cannot display phone numbers

When I trying to retrieve phone number with Credentials api some device failed to showing phone number picker dialog and just showing empty dialog and the dialog disappear quickly with sliding animation.
Below is my code sample. (And I also tried with google sample)
val hintRequest = HintRequest.Builder()
            .setPhoneNumberIdentifierSupported(true)
            .setEmailAddressIdentifierSupported(false)
            .build()
        val options = CredentialsOptions.Builder()
                .forceEnableSaveDialog()
                .build()
        val pendingIntent = Credentials.getClient(this, options).getHintPickerIntent(hintRequest)
        startIntentSenderForResult(pendingIntent.intentSender, PHONE_REQUEST, null, 0, 0, 0)

and OnActivityResult
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
        super.onActivityResult(requestCode, resultCode, data)

        if (requestCode == PHONE_REQUEST) {
            if (data != null) {
                val credential: Credential? = data.getParcelableExtra(Credential.EXTRA_KEY)
                val phoneNumber = credential?.id
                // Some of our device fail to get phoneNumber here.
            }
        }
    }

In this case, empty popup showed up and disappear quickly with weird animation.
And no value returned in onActivityResult callback.
Even if it fails, popup will not appear and developer should know before popup is showing.
If developer can know this will happen earlier, developer can do alternative way. For example, make user type their phone number manually.
This issue is not related with Android version. Brand new phone or old phone have same issue and might be related with SIM card.(I guess..)
I saw this bug on Samsung galaxy S7, S9.(one of S9 phone we have works fine but the other not)
Thanks!

I also had that same issue "showing empty dialog and disappearing quickly with sliding animation." I had overcome it by setting at least one phone number on my device, in the parameters.

I have the same issue :frowning_face:
@Kishiko where do you set the phone number on the device?

Has anyone found a solution for this? I want to know before trying to show the dialog that there's no phone number to show. It looks weird to the user the animation of the dialog showing and disappearing instantly because no phone numbers were found in the device.

I tried to open the issue from Android Issue Tracker.

We are facing the same issue, works on some devices, not on others.
For example,

Works fine on Asus phone running Oreo 8.1.0
Not working on LG G6 running Oreo 8.0.0 - error is ACTIVITY_RESULT_NO_HINTS_AVAILABLE

I also had that same issue "showing empty dialog and disappearing quickly with sliding animation."

Need help :)

Same problems =/

Happening also in Google Pixel XL running Android 10 and having Phone Number associated in my Google Account.

I am closing this issue/PR, as it has been migrated to the new repo linked above in the comments. Thank you!


Signup invitation fails when the user has more than one active invitation.

Context
Coming from https://github.com/CartoDB/support/issues/1042
When a user that has been invited to signup to CARTO via email has more than one active invitation then invitation's token validation fails due to Builder mismatch invitations and tries to validate token from different invitations.
Steps to Reproduce

Send an invitation to a new user (unused email)
Repeat 1
Use the second invitation to signup

Current Result
After filling required fields and clicking signup, Builder returns the following error:

Expected result
The user should be able to signup.
Browser and version
N/A
.carto file
N/A

I was taking a look at this and it seems to be fixed. At least I could not reproduce with the STR. Given that we have made some PRs in the last 6 months to address issues with the invitation system, it's likely that it got fixed along the way :)


Disgusting installation instructions

Well, if you could provide some insight, like what exactly you didn't like and how would you improve it, I'm sure I could do something


Add various optimizations

This PR contains some optimizations that we use (or plan to start using soon) in production at belena.io. To summarize, these are the main changes included here:

Add methods to efficiently read and write a single byte at a time
Avoid allocating memory on Bytes() (at the expense of having a second, pre-allocated buffer)
Add a faster code path for buffers whose size is a power-of-two.

Check the individual commit messages for details.
For our use case (in which we use a circular buffer on a tight loop), each of these optimizations brought considerable performance improvements.

Very nice PR.  Thanks!


Integration Algorithms

1st of all Thank You for the integration, love it.
2nd - The Weekly Cycles and Gallons are wrong.  They are just copies of the Daily values or some slight variation.  At least in my case.
3rd - What is the algorithm for Excessive Current and Run Time or is it resident with PumpSpy only ?
4th - Is it possible to bring in any of the specific cycle data from the app, including run time and duration ?
Thanks.
Ron S.

As an additional comment in this area, the Daily works great, the Weekly does 1 day and does not continue to add values throughout the week. The monthly work great in my case continuing to grow throughout the month.  The weekly and monthly graphs do not show the previous week if I specify a 2 week or more weekly or monthly timespan.  I'd like to have a comparison visible.


chore: bump version to 1.2.3

Rationale
Bump version for release.
Detailed Changes
Bump version to 1.2.3
Test Plan
Not need.

Not used.


How can i get access to these values?

How can i get access to user's bio, user's picture, user's followers count and user's engagement rate?

thank you for your message.. is it a issue or a feature request?

feature request i guess (actually a question)

Correct, feel free to implement it :)


Need "select all" for current search

In addition to "add range" there should be a "select all" that refers to all results from the current search.
Lisa has already implemented most of this functionality but it's commented out. It needs checks to make sure people don't add to much to the cart.

Duplicate of #138


test: Temporary data not always cleaned after running unit tests

After running the unit tests using "grunt test", stale directories named "XXXXXX.crosswalk-app-tools" are left over in /tmp.

Fixed as per 6087c92


Only apply mapped types to un-branded types

This is the same as #3805, except it's targeting master instead of 4.x.

Thanks!


Add import security group for alb ingress and new boot script

This PR adds a security group to the notebook instance type that allowing ingress from the ALB in the appropriate Service Catalog account.
The notebook template now includes a reference to a boot script in the service-catalog-utils repo that will substitute a variable into a path in the apache proxy config file. This script will only be needed for instances that run internal web servers and have the apache proxy, and so isn't needed for other instance types.
This is currently a draft pending update of the AMI id.

It would help if you could reference all the dependencies with a "depend on " in the PR description.


Invalid transitions should raise NotImplementedError.

automat._core.Automaton.outputForInput implies that an invalid transition
should raise a NotImplementedError.  In practice, though,
MethodicalMachine may raise a KeyError because there's no
collector specified for a given state, because no transitions exist.
Reorder the code to always raise a NotImplementedError, add a test
to ensure this, and change the repr methods of various machine
components to succinctly describe themselves.

Thanks for this!  Sorry I didn't notice it at the time.  I will review soon.

Copy-pasta from my related issue (#15):
I suggest "InputInvalidForState" inherit from "ValueError". As a precedent, trying to perform ".read()" from a closed file raises ValueError. UnicodeError, which is also a case of "bad current configuration of input", is also a subclass of ValueError.
NotImplementedError is supposed to indicate an unfinished class, not a bad (possibly temporary) state. It is normally implemented class-wide. I do not think we should consider different states to be different classes.

@moshez - Why shouldn't InvalidInputForState just inherit from Exception?  Is there ever a circumstance where you would want to except ValueError and catch InvalidInputForState?

I'm going to merge this for now and we can change the exception type in a separate issue.


Scoop Autocomplete does not work on pwsh 7.4

Prerequisites

[X] Write a descriptive title.
[X] Make sure you are able to repro it on the latest released version
[X] Search the existing issues.
[X] Refer to the FAQ.
[X] Refer to Differences between Windows PowerShell 5.1 and PowerShell.

Steps to reproduce
install pwsh 7.4 and scoop autocomplete tab completion stops working
Expected behavior
when typing scoop install and typing some keywords and clicking tab or ctrl and space it should autocomplete or give a suggestion

Actual behavior
its not doing anything after  installing pwsh 7.4

Error details
No response
Environment data
PSVersion                      7.4.0
PSEdition                      Core
GitCommitId                    7.4.0
OS                             Microsoft Windows 10.0.22631
Platform                       Win32NT
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0…}
PSRemotingProtocolVersion      2.3
SerializationVersion           <IP_ADDRESS>
WSManStackVersion              3.0

Visuals
No response

Did you install a tab completer for scoop prior to 7.4? I cannot get any sort of tab completion on <7.4. This may be a problem with scoop, I suggest also submitting an issue to their repo: https://github.com/ScoopInstaller/Scoop/issues. (assuming this is the same scoop you are talking about)


[WIP] Add Import Service and IngestSST/UploadSST RPC

Allow a client to upload SST files to TiKV, and then ingest them to RocksDB.
This PR follows https://github.com/pingcap/tikv/pull/2420, and will be rebased later.
Put it here for now for easy review.

Moved to another place now.


Delete Ruby and RVM Setup page?

https://github.com/snowplow/snowplow/wiki/Ruby-and-RVM-setup
We should encourage people to use Vagrant to build EER rather than setting up Ruby manually.
What do you think @alexanderdean ?

Totally agree - this is a relic from an earlier age. Let's remove.

@alexanderdean - Is there a way to track down any references to the page to be deleted to have them removed proactively as well since deleting this page could raise "broken link" issues?

@ihortom - one of our interns, @bamos, wrote a tool a while back: https://github.com/bamos/github-wiki-link-validator

Fixed by @ihortom, closing


fix travis.ci badge in README

Looks like the current badge is the rust-lang build and the link goes back to the repo when it should display the galley build and link to the build on travis-ci.org.

thanks!


feat: add httpsprovider

Adds the httpsprovider to also support https:// as scheme in OPENTELEMETRY_COLLECTOR_CONFIG_URI.

Also worth checking this PR https://github.com/open-telemetry/opentelemetry-lambda/pull/1277/files more changes missing? (maybe close this older pr)


Duplicated auto albums

A couple of users reported, that they have duplicated auto albums. It is not yet clear how that happened and should be investigated. A temporary fix would be to allow for deletion of auto albums.

I had a thought about this, untested as yet though.
I think the duplicated auto-albums might be because images are added within a date range that was already included as an autoalbum.
As in:

Photos 1 though 15 are all over the weekend
Create an auto-album for that weekend
Add new photo that was taken either during the same weekend or within 24 hours of the last photo
Creates a new autoalbum, rather than adding the new photo(s) to the old auto-album.
I think this is what's going on, I could be wrong though as I haven't tested this.

The full fix would be to detect new photos and which autoalbums already exist over that time period, then add the photo to that auto-album.
The hacky fix would be to just delete all autoalbums and rerun the creation every time the "create autoalbums" button is pushed.
Note that adding a photo to an autoalbum may extend the autoalbum date range, which may result in having to merge two previous autoalbums.
E.g:
Autoalbum 1 is over the weekend, autoalbum 2 is for tuesday and wednesday.
Adding a photo from the monday should merge autoalbum 1 and 2 into one big autoalbum, as every photo is linked by less than 24 hours.


No border radius is given for boxes (many for search)🐞 Bug

Is there an existing issue for this?

[X] I have searched the existing issues

Describe the bug
No border radius is given for boxes (many for search) .This is quite a bad user experience practise

Steps To Reproduce

Go to home page
click on search button

Expected Behavior
for better user experience there should be some border radius
Screenshots
No response
Device Information [optional]
- OS:
- Browser:
- version:

Additional context
No response
Are you working on this issue?
Yes

@tanmoysrt please assign this issue to me

i would like to work on this issue ,  if assigned @priyanshagra @tanmoysrt ?

Hey @tanmoysrt  i propose these changes

Hey , @tanmoysrt  i have linked the PR with proposed changes please review this . Thanks.

@nitin10s please approve this


feat(v2): core wtih scale

Checklist

[ ] Affix
[x] Avatar
[x] AvatarGroup
[ ] BackTop
[x] Badge
[x] BadgeAnchor
[x] Breadcrumbs
[x] BreadcrumbsItem
[x] Browser
[x] Button
[x] ButtonGroup
[x] Capacity
[x] Card
[ ] Checkbox
[ ] CheckboxGroup
[x] Code
[x] Collapse
[x] CollapseGroup
[x] Dot
[ ] Drawer
[ ] Form
[ ] FormItem
[ ] Grid
[ ] GridGroup
[x] Image
[ ] Input
[ ] InputNumber
[x] Link
[x] Loading
[ ] Modal
[ ] Pagination
[ ] Popover
[x] Progress
[ ] Radio
[ ] RadioGroup
[ ] Rating
[ ] Select
[ ] SelectOption
[x] Skeleton
[x] SkeletonItem
[x] Slider
[x] Snippet
[x] Spacer
[ ] Switch
[ ] Tab
[ ] Tabs
[x] Tag
[ ] Textarea
[ ] Toast
[ ] Tooltip
[x] Uplaod
[x] User

Change information

WIP now

The step 1 is done. The next step will craete new component to control the layout. So we should merge this pull request.


Borrow tracking: remove the concept of a call ID

Turns out this is not needed any more ever since we started tracking the protected_tags list in the per-frame state.

@bors r+

:pushpin: Commit d37a9769eaf198049aa321fe1b57221e7587cefc has been approved by RalfJung
It is now in the queue for this repository.

:hourglass: Testing commit d37a9769eaf198049aa321fe1b57221e7587cefc with merge d60f32c2ab0e9d865fe85e8eff8a581e21aeb959...

:broken_heart: Test failed - checks-actions

@bors r+

:pushpin: Commit 24690eb9bddbbf570fb6974eac8aec9bad3b1a58 has been approved by RalfJung
It is now in the queue for this repository.

:hourglass: Testing commit 24690eb9bddbbf570fb6974eac8aec9bad3b1a58 with merge 4d6aca1b94278b38c16c4051efd278a9199b4df7...

:broken_heart: Test failed - checks-actions

@bors r+

:pushpin: Commit 4dbda8513a7b1c4101038bc8149aa229cbd6968e has been approved by RalfJung
It is now in the queue for this repository.

:hourglass: Testing commit 4dbda8513a7b1c4101038bc8149aa229cbd6968e with merge 34002f1c960e16f35d2a6926cc6658c230459165...

:sunny: Test successful - checks-actions
Approved by: RalfJung
Pushing 34002f1c960e16f35d2a6926cc6658c230459165 to master...


Fix an yaml file error which could cause image pull failure

This patch improve yaml file based on:

The image name in yaml file is conflict with the one in make file.

Add imagePullPolicy: IfNotPresent to avoid pull action when user didn't push their image to remote docker registry. It is helpful especially when it comes to fresh users who have limited knowledge about k8s/docker

/unassign @DirectXMan12

/lgtm
/approve

How do I opt out
On Mon, Jun 17, 2019, 5:28 AM Kubernetes Prow Robot <
<EMAIL_ADDRESS>wrote:

Merged #43
https://github.com/kubernetes-incubator/custom-metrics-apiserver/pull/43
into master.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/kubernetes-incubator/custom-metrics-apiserver/pull/43?email_source=notifications&email_token=AICSWSOHDV6SOUGHHBOOQUDP257N5A5CNFSM4GQDOHGKYY3PNVWWK3TUL52HS4DFWZEXG43VMVCXMZLOORHG65DJMZUWGYLUNFXW5KTDN5WW2ZLOORPWSZGOSALQIDI#event-2417427469,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AICSWSIJ5K42F3JCTKU7XS3P257N5ANCNFSM4GQDOHGA
.


Create Product_Development_Strategy file and Explain Steps

In this PR, I list the steps it takes to create a product development strategy as a product manager. Product managers often have to juggle between various cross functional teams in a company and having a product development strategy is critical in the organization of these teams for the product's creation process.
This article walks readers through each step of creating a PDS including industry standard frameworks, key terminology of product teams such as KPI, and external links for readers to learn more about the process. These topics are written with the intention of helping readers understand how to use a PDS to launch a new product to market with the best fit.
Additions:

Added a drop down menu to help readers navigate the wiki article with ease
Wrote sections on: What is a Product Development Strategy and Why is it Important, Conduct Market Research, Conduct Primary Research, Build a Prototype and test the Product, Launch the Product
Included images and other media links to provide reader with more examples and further reading

Why
The work of a product manager, which is to communicate, design, and lead each stage of the product development process can be transferrable to help guide students in their own projects. This article gives students a concrete organizational methodology of the product development strategy to help create their own features.
This article serves as a practical guide to help students develop their own product development strategies for future projects, or to aid future product managers in the adoption of industry standard practices for the product development process.

Really detailed and well-structured. Personal opinion though, do you think if you can add some extra "case studies" or graphs to differentiate the terms? Also,sometimes, as someone almost never studied business/economy, the post  seems sort of "assuming the reader are familiar with with the field". For example, what does COGS stand for?

Also, a reminder that the file you pushed didn't end with extension of .md

Also, a reminder that the file you pushed didn't end with extension of .md

Thanks for all your feedback! I incorporated your suggestions such as changing technical acronyms to their real name and included more infographics and diagrams for ease of understanding of formulas and testing frameworks.


Don't ignore the whole project.

Fixes https://github.com/atom/fuzzy-finder/issues/111.
If the repository was embedded in another repository, then the inner repository itself could be ignored which meant we wouldn’t index anything.
This might be less than ideal in that project roots which were previously entirely ignored now won’t be. But I gotta think that if you opened a project root, you don’t want the whole project ignored.

For anyone still experiencing this problem, I just noticed the php-integrator-base package is overriding the fixed behavior and still causing the bug. Disabling the package has fixed it for me in 1.8.0