Issue custom objective with scikit-learn API for XGBoost classification(XGBClassifier)

Customize objective in XGBClassifier (not XGBRegressor) brings kernel death without any error messages.
Sample Code (python)
import numpy as np
from xgboost import XGBClassifier

def custom_loss(y_true, y_pred):

    # give random grad & hess for the test
    grad, hess = np.random.randn(6)/10, np.random.randn(6)/10
    return grad, hess

clf = XGBClassifier(objective=custom_loss)

X = np.array([[1,1], [2,3], [4,4], [6,3], [7,2], [1,6]])
y = np.array([0,2,2,1,1,2])
clf.fit(X, y)

Output:
There is no any  error messages, but the process died.

What have you tried?
I think this is not the problem of shapes or values of grad or hess, but the problem of core part lib _LIB.XGBoosterBoostOneIter. Because the process was died when the execution was established on.
In, xgboost/python-package/xgboost/core.py
    def boost(self, dtrain, grad, hess):
        """
        Boost the booster for one iteration, with customized gradient statistics.

        Parameters
        ----------
        dtrain : DMatrix
            The training DMatrix.
        grad : list
            The first order of gradient.
        hess : list
            The second order of gradient.
        """
        if len(grad) != len(hess):
            raise ValueError('grad / hess length mismatch: {} / {}'.format(len(grad), len(hess)))
        if not isinstance(dtrain, DMatrix):
            raise TypeError('invalid training matrix: {}'.format(type(dtrain).__name__))
        self._validate_features(dtrain)

       # process died in here !!!!!!
        _check_call(_LIB.XGBoosterBoostOneIter(self.handle, dtrain.handle,
                                               c_array(ctypes.c_float, grad),
                                               c_array(ctypes.c_float, hess),
                                               c_bst_ulong(len(grad))))

Environment info
Operating System: Linux-4.10.0-28-generic-x86_64-with-debian-stretch-sid
Compiler: [GCC 7.2.0]
Package used (python/R/jvm/C++): Python 3.6.3 |Anaconda, Inc.| (default, Oct 13 2017, 12:02:49)
xgboost version used: 0.7.post3
Thanks!

This should work.
def custom_loss(y_true, y_pred):
    grad, hess = np.random.randn(6) / 10, np.random.randn(6) / 10
    return grad, hess

prm = {}
prm['fobj'] = custom_loss
clf = xgb.XGBRegressor(**prm)

Thanks! It seems to be work!
Then we should change the xgboost guide

I think your fobj parameter doesn't work.
It shows no difference with original XGBClassifier.
Sample Code
import numpy as np
from xgboost import XGBClassifier

N = 1000

X = np.random.randn(N,10)
y = np.floor(np.random.rand(N)*10)
clf = XGBClassifier()
clf.fit(X, y)
print(clf.score(X, y))

def custom_loss(y_true, y_pred):

    # give random grad & hess for the test
    grad, hess = np.random.randn(N)/10, np.random.randn(N)/10
    return grad, hess

prm = {}
prm['fobj'] = custom_loss
clf2 = XGBClassifier(**prm)
clf2.fit(X, y)
print(clf2.score(X, y))
print(clf.feature_importances_ == clf2.feature_importances_)

Output
0.802
0.802
[ True  True  True  True  True  True  True  True  True  True]

Sorry, It was my misunderstanding.

Code

N = 1000
X = np.random.randn(N,10)
y = np.floor(np.random.rand(N)*10) + X[:,0]
y = 1 * (y >= y.mean())

clf = xgb.XGBClassifier()
clf.fit(X, y)
print(clf.score(X, y))

def custom_loss(y_true, y_pred):
    # give random grad & hess for the test
    grad, hess = np.random.randn(N)/10, np.random.randn(N)/10
    return grad, hess
clf2 = xgb.XGBClassifier(objective=custom_loss)
clf2.fit(X, y)
print(clf2.score(X, y))
print(clf.feature_importances_ == clf2.feature_importances_)

Output

0.818
0.507
[False False False False False False False False False False]

Binary Classification is ok. (The code at the first also work well).
But the problem occurs when there are multiple categories.
I think we should give different shape on the grad and `hess.
Sample Code
import xgboost as xgb
X = np.array([[1,1], [2,3], [4,4], [6,3], [7,2], [1,6]])
y = np.array([0,2,2,1,1,2])

clf = xgb.XGBClassifier()
clf.fit(X, y)
print(clf.score(X, y))

def custom_loss(y_true, y_pred):
    # give random grad & hess for the test
    grad, hess = np.random.randn(2*N)/10, np.random.randn(2*N)/10
    return grad, hess
clf2 = xgb.XGBClassifier(objective=custom_loss)
clf2.fit(X, y)
print(clf2.score(X, y))
print(clf.feature_importances_ == clf2.feature_importances_)

0.6666666666666666
C:\Users\ysh\AppData\Local\Programs\Python\Python35\lib\site-packages\sklearn\preprocessing\label.py:171: DeprecationWarning: The truth value of an empty array is ambiguous. Returning False, but in future this will result in an error. Use `array.size > 0` to check that an array is not empty.
  if diff:
---------------------------------------------------------------------------
XGBoostError                              Traceback (most recent call last)
<ipython-input-8-ca4fedb7a42b> in <module>()
     12     return grad, hess
     13 clf2 = xgb.XGBClassifier(objective=custom_loss)
---> 14 clf2.fit(X, y)
     15 print(clf2.score(X, y))
     16 print(clf.feature_importances_ == clf2.feature_importances_)

~\AppData\Local\Programs\Python\Python35\lib\site-packages\xgboost\sklearn.py in fit(self, X, y, sample_weight, eval_set, eval_metric, early_stopping_rounds, verbose, xgb_model)
    504                               early_stopping_rounds=early_stopping_rounds,
    505                               evals_result=evals_result, obj=obj, feval=feval,
--> 506                               verbose_eval=verbose, xgb_model=None)
    507
    508         self.objective = xgb_options["objective"]

~\AppData\Local\Programs\Python\Python35\lib\site-packages\xgboost\training.py in train(params, dtrain, num_boost_round, evals, obj, feval, maximize, early_stopping_rounds, evals_result, verbose_eval, xgb_model, callbacks, learning_rates)
    202                            evals=evals,
    203                            obj=obj, feval=feval,
--> 204                            xgb_model=xgb_model, callbacks=callbacks)
    205
    206

~\AppData\Local\Programs\Python\Python35\lib\site-packages\xgboost\training.py in _train_internal(params, dtrain, num_boost_round, evals, obj, feval, xgb_model, callbacks)
     72         # Skip the first update if it is a recovery step.
     73         if version % 2 == 0:
---> 74             bst.update(dtrain, i, obj)
     75             bst.save_rabit_checkpoint()
     76             version += 1

~\AppData\Local\Programs\Python\Python35\lib\site-packages\xgboost\core.py in update(self, dtrain, iteration, fobj)
    900             pred = self.predict(dtrain)
    901             grad, hess = fobj(pred, dtrain)
--> 902             self.boost(dtrain, grad, hess)
    903
    904     def boost(self, dtrain, grad, hess):

~\AppData\Local\Programs\Python\Python35\lib\site-packages\xgboost\core.py in boost(self, dtrain, grad, hess)
    924                                                c_array(ctypes.c_float, grad),
    925                                                c_array(ctypes.c_float, hess),
--> 926                                                c_bst_ulong(len(grad))))
    927
    928     def eval_set(self, evals, iteration=0, feval=None):

~\AppData\Local\Programs\Python\Python35\lib\site-packages\xgboost\core.py in _check_call(ret)
    128     """
    129     if ret != 0:
--> 130         raise XGBoostError(_LIB.XGBGetLastError())
    131
    132

XGBoostError: b'[01:25:36] D:\\Build\\xgboost\\xgboost-git\\src\\gbm\\gbtree.cc:194: Check failed: gpair.size() % ngroup == 0U (2 vs. 0) must have exactly ngroup*nrow gpairs'

Custom objective with scikit-learn API use reg:linear internally, so it can't apply to multi-class classification.
https://github.com/dmlc/xgboost/blob/master/python-package/xgboost/sklearn.py#L278
train(obj=custom_loss) might work, but I think implementing an objective in C++ is better.
https://github.com/dmlc/xgboost/blob/master/python-package/xgboost/core.py#L898

thanks for all the discussions, new discussions are welcomed at https://discuss.xgboost.ai/.


Potential deadlock condition in Appenderator

persistExecutor submits mergeAndPush job to pushExecutor here after completing the persist.
pushExecutor submits abandon segment job to persistExecutor here

pushExecutor uses a blocking queue with 1 capacity and if persistExecutor either uses Synchronous Queue (which it does in case of KafkaIndexTask) or queue with capacity 1 then deadlock can happen. This would be more common in the new KafkaIndexingService which will support incremental handoff as handoffs (which leads to abandoning of segments) for a sequence can interleave with pushing of segments for another sequence.
This can probably be fixed by not using pushBarrier instead using some form of Atomic counter to keep track of existing pushes before abandoning segments. Any thoughts ?

I think it's a good idea. Maybe a new thread like abandonExecutor is needed to avoid interleaving?

May be a new executor can be used as you suggested or just use a counter to keep track of pushes that is happening currently. Submit task to drop the segments to persistExecutor only when the counter is zero, thus not relying on pushBarrier job submitted to pushExecutor to avoid interleaving.
Probably, new executor approach seems cleaner. I don't have preference of one over another.

Added fix in https://github.com/druid-io/druid/pull/4815

Fixed in https://github.com/druid-io/druid/pull/4815


Sysbox and kindest/node image incompatibility issue with latest v1.2x images

Due to the latest changes in Kind's docker-images entrypoints, Sysbox is not able to launch Kind's images, nor able to wrap Kind's images with our own Sysbox images as we have been doing since day one.
Kind's latest entrypoint modifications condition the support of user-namespaces to the activation of cgroup-v2 in the system. This approach conflicts with Sysbox as user-namespaces feature is always supported regardless of the cgroup configuration of the system. Aside from that, Sysbox doesn't support cgroup-v2 (yet), so currently we can't meet this requirement imposed by Kind.
For the time being we will continue to provide 'kindest/node' images as thin wrappers over Kind's ones. In the future, once all the above issues are solved, Sysbox users should be able to make direct use of Kind images -- although technically speaking that will always depend on the restrictions/assumptions imposed by Kind's images entrypoint.
In the meantime, till we generate the new kindest/node images for v1.20 and v1.21 (which are the ones impacted by this issue), we suggest to continue utilizing the existing nestybox/kindest/node:v1.18 and nestybox/kindest/node:v1.19 images.

Note: even after we add support for cgroups v2 to Sysbox, using cgroups v2 requires a machine whose kernel was booted with cgroups v2. I know Fedora has made the transition to enabling cgroups v2 by default, but not sure if Ubuntu has done the same. If not enable by default, it can be easily enabled via GRUB and rebooting the host, but it's an extra step.

Sysbox v0.4.0 supports cgroups v2, so it's possible to run the latest versions of kind inside a Sysbox container.
Closing.


how to properly set UpstreamTlsContext for forward proxy

Hi,
I am trying to configure envoy as a forward proxy with the following yaml config:
(modified from https://www.envoyproxy.io/docs/envoy/latest/configuration/http/http_filters/dynamic_forward_proxy_filter)
admin:
  access_log_path: /tmp/admin_access.log
  address:
    socket_address:
      protocol: TCP
      address: <IP_ADDRESS>
      port_value: 3990
static_resources:
  listeners:
  - name: listener_0
    address:
      socket_address:
        protocol: TCP
        address: <IP_ADDRESS>
        port_value: 3991
    filter_chains:
    - filters:
      - name: envoy.filters.network.http_connection_manager
        typed_config:
          "@type": type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager
          stat_prefix: ingress_http
          http_protocol_options:
            accept_http_10: true
          route_config:
            name: local_route
            virtual_hosts:
            - name: local_service
              domains: ["*"]
              routes:
              - match:
                  prefix: "/"
                route:
                  cluster: dynamic_forward_proxy_cluster
              - match:
                  connect_matcher: {}
                route:
                  cluster: dynamic_forward_proxy_cluster
                  upgrade_configs:
                    - upgrade_type: CONNECT
          http_filters:
          - name: envoy.filters.http.dynamic_forward_proxy
            typed_config:
              "@type": type.googleapis.com/envoy.extensions.filters.http.dynamic_forward_proxy.v3.FilterConfig
              dns_cache_config:
                name: dynamic_forward_proxy_cache_config
                dns_lookup_family: V4_ONLY
          - name: envoy.filters.http.router
            typed_config:
              "@type": type.googleapis.com/envoy.extensions.filters.http.router.v3.Router
  clusters:
  - name: dynamic_forward_proxy_cluster
    connect_timeout: 1s
    lb_policy: CLUSTER_PROVIDED
    cluster_type:
      name: envoy.clusters.dynamic_forward_proxy
      typed_config:
        "@type": type.googleapis.com/envoy.extensions.clusters.dynamic_forward_proxy.v3.ClusterConfig
        dns_cache_config:
          name: dynamic_forward_proxy_cache_config
          dns_lookup_family: V4_ONLY
    transport_socket:
      name: envoy.transport_sockets.tls
      typed_config:
        "@type": type.googleapis.com/envoy.extensions.transport_sockets.tls.v3.UpstreamTlsContext
        common_tls_context:
          validation_context:
            trusted_ca: {filename: /etc/ssl/certs/ca-certificates.crt}

This config work fine when not setting the transport_socket field.
However when transport_socket is present and configured as above, tls connection to the upstream will fail, could you help me understand what may have led to the failure after setting UpstreamTlsContext in transport_socket?
curl error message
curl -x http://localhost:3991 https://fuhry.com -v

* Rebuilt URL to: https://fuhry.com/
*   Trying <IP_ADDRESS>...
* Connected to localhost (<IP_ADDRESS>) port 3991 (#0)
* Establish HTTP proxy tunnel to fuhry.com:443
> CONNECT fuhry.com:443 HTTP/1.1
> Host: fuhry.com:443
> User-Agent: curl/7.47.0
> Proxy-Connection: Keep-Alive
>
< HTTP/1.1 200 OK
< date: Mon, 15 Mar 2021 22:19:46 GMT
< server: envoy
<
* Proxy replied OK to CONNECT request
* found 129 certificates in /etc/ssl/certs/ca-certificates.crt
* found 520 certificates in /etc/ssl/certs
* ALPN, offering http/1.1
* gnutls_handshake() failed: An unexpected TLS packet was received.
* Closing connection 0
curl: (35) gnutls_handshake() failed: An unexpected TLS packet was received.

envoy logs
[2021-03-15 22:19:46.691][22330][debug][conn_handler] [external/envoy/source/server/connection_handler_impl.cc:501] [C0] new connection
[2021-03-15 22:19:46.691][22330][debug][http] [external/envoy/source/common/http/conn_manager_impl.cc:254] [C0] new stream
[2021-03-15 22:19:46.692][22330][debug][http] [external/envoy/source/common/http/conn_manager_impl.cc:886] [C0][S12483657978785096747] request headers complete (end_stream=false):
':authority', 'fuhry.com:443'
':method', 'CONNECT'
'user-agent', 'curl/7.47.0'
'proxy-connection', 'Keep-Alive'

[2021-03-15 22:19:46.692][22330][debug][forward_proxy] [external/envoy/source/extensions/common/dynamic_forward_proxy/dns_cache_impl.cc:56] thread local lookup for host 'fuhry.com:443'
[2021-03-15 22:19:46.692][22330][debug][forward_proxy] [external/envoy/source/extensions/common/dynamic_forward_proxy/dns_cache_impl.cc:77] cache miss for host 'fuhry.com:443', posting to main thread
[2021-03-15 22:19:46.692][22330][debug][forward_proxy] [external/envoy/source/extensions/filters/http/dynamic_forward_proxy/proxy_filter.cc:142] [C0][S12483657978785096747] waiting to load DNS cache entry
[2021-03-15 22:19:46.692][22320][debug][forward_proxy] [external/envoy/source/extensions/common/dynamic_forward_proxy/dns_cache_impl.cc:215] starting main thread resolve for host='fuhry.com:443' dns='fuhry.com' port='443'
[2021-03-15 22:19:46.715][22320][debug][forward_proxy] [external/envoy/source/extensions/common/dynamic_forward_proxy/dns_cache_impl.cc:232] main thread resolve complete for host 'fuhry.com:443'. 1 results
[2021-03-15 22:19:46.715][22320][debug][forward_proxy] [external/envoy/source/extensions/common/dynamic_forward_proxy/dns_cache_impl.cc:270] host 'fuhry.com:443' address has changed
[2021-03-15 22:19:46.715][22320][debug][upstream] [external/envoy/source/extensions/clusters/dynamic_forward_proxy/cluster.cc:119] Adding host info for fuhry.com:443
[2021-03-15 22:19:46.715][22320][debug][upstream] [external/envoy/source/extensions/clusters/dynamic_forward_proxy/cluster.cc:98] adding new dfproxy cluster host 'fuhry.com:443'
[2021-03-15 22:19:46.715][22320][debug][upstream] [external/envoy/source/common/upstream/upstream_impl.cc:278] transport socket match, socket default selected for host with address <IP_ADDRESS>:443
[2021-03-15 22:19:46.715][22327][debug][upstream] [external/envoy/source/common/upstream/cluster_manager_impl.cc:1201] membership update for TLS cluster dynamic_forward_proxy_cluster added 1 removed 0
[2021-03-15 22:19:46.715][22330][debug][upstream] [external/envoy/source/common/upstream/cluster_manager_impl.cc:1201] membership update for TLS cluster dynamic_forward_proxy_cluster added 1 removed 0
[2021-03-15 22:19:46.715][22332][debug][upstream] [external/envoy/source/common/upstream/cluster_manager_impl.cc:1201] membership update for TLS cluster dynamic_forward_proxy_cluster added 1 removed 0
[2021-03-15 22:19:46.715][22332][debug][upstream] [external/envoy/source/common/upstream/cluster_manager_impl.cc:1208] re-creating local LB for TLS cluster dynamic_forward_proxy_cluster
[2021-03-15 22:19:46.715][22330][debug][upstream] [external/envoy/source/common/upstream/cluster_manager_impl.cc:1208] re-creating local LB for TLS cluster dynamic_forward_proxy_cluster
[2021-03-15 22:19:46.715][22320][debug][upstream] [external/envoy/source/common/upstream/cluster_manager_impl.cc:1201] membership update for TLS cluster dynamic_forward_proxy_cluster added 1 removed 0
[2021-03-15 22:19:46.715][22327][debug][upstream] [external/envoy/source/common/upstream/cluster_manager_impl.cc:1208] re-creating local LB for TLS cluster dynamic_forward_proxy_cluster
[2021-03-15 22:19:46.715][22328][debug][upstream] [external/envoy/source/common/upstream/cluster_manager_impl.cc:1201] membership update for TLS cluster dynamic_forward_proxy_cluster added 1 removed 0
[2021-03-15 22:19:46.715][22328][debug][upstream] [external/envoy/source/common/upstream/cluster_manager_impl.cc:1208] re-creating local LB for TLS cluster dynamic_forward_proxy_cluster
[2021-03-15 22:19:46.715][22320][debug][upstream] [external/envoy/source/common/upstream/cluster_manager_impl.cc:1208] re-creating local LB for TLS cluster dynamic_forward_proxy_cluster
[2021-03-15 22:19:46.715][22320][debug][forward_proxy] [external/envoy/source/extensions/common/dynamic_forward_proxy/dns_cache_impl.cc:289] DNS refresh rate reset for host 'fuhry.com:443', refresh rate 60000 ms
[2021-03-15 22:19:46.715][22330][debug][forward_proxy] [external/envoy/source/extensions/filters/http/dynamic_forward_proxy/proxy_filter.cc:159] [C0][S12483657978785096747] load DNS cache complete, continuing
[2021-03-15 22:19:46.715][22330][debug][router] [external/envoy/source/common/router/router.cc:425] [C0][S12483657978785096747] cluster 'dynamic_forward_proxy_cluster' match for URL ''
[2021-03-15 22:19:46.716][22330][debug][router] [external/envoy/source/common/router/router.cc:582] [C0][S12483657978785096747] router decoding headers:
':authority', 'fuhry.com:443'
':method', 'CONNECT'
':scheme', 'https'
'user-agent', 'curl/7.47.0'
'x-forwarded-proto', 'http'
'x-request-id', '2fbab735-98c7-4076-b6b6-40c2f303528b'
'x-envoy-expected-rq-timeout-ms', '15000'

[2021-03-15 22:19:46.716][22330][debug][pool] [external/envoy/source/common/tcp/original_conn_pool.cc:98] creating a new connection
[2021-03-15 22:19:46.716][22330][debug][pool] [external/envoy/source/common/tcp/original_conn_pool.cc:383] [C1] connecting
[2021-03-15 22:19:46.716][22330][debug][connection] [external/envoy/source/common/network/connection_impl.cc:860] [C1] connecting to <IP_ADDRESS>:443
[2021-03-15 22:19:46.716][22330][debug][connection] [external/envoy/source/common/network/connection_impl.cc:876] [C1] connection in progress
[2021-03-15 22:19:46.716][22330][debug][pool] [external/envoy/source/common/tcp/original_conn_pool.cc:125] queueing request due to no available connections
[2021-03-15 22:19:46.807][22330][debug][connection] [external/envoy/source/common/network/connection_impl.cc:666] [C1] connected
[2021-03-15 22:19:46.992][22330][debug][pool] [external/envoy/source/common/tcp/original_conn_pool.cc:303] [C1] assigning connection
[2021-03-15 22:19:46.992][22330][debug][router] [external/envoy/source/common/router/upstream_request.cc:354] [C0][S12483657978785096747] pool ready
[2021-03-15 22:19:46.992][22330][debug][router] [external/envoy/source/common/router/router.cc:1174] [C0][S12483657978785096747] upstream headers complete: end_stream=false
[2021-03-15 22:19:46.992][22330][debug][http] [external/envoy/source/common/http/conn_manager_impl.cc:1484] [C0][S12483657978785096747] encoding headers via codec (end_stream=false):
':status', '200'
'date', 'Mon, 15 Mar 2021 22:19:46 GMT'
'server', 'envoy'

[2021-03-15 22:19:47.123][22330][debug][router] [external/envoy/source/common/router/upstream_request.cc:296] [C0][S12483657978785096747] resetting pool request
[2021-03-15 22:19:47.123][22330][debug][connection] [external/envoy/source/common/network/connection_impl.cc:132] [C1] closing data_to_write=0 type=1
[2021-03-15 22:19:47.123][22330][debug][connection] [external/envoy/source/common/network/connection_impl.cc:241] [C1] closing socket: 1
[2021-03-15 22:19:47.123][22330][debug][connection] [external/envoy/source/extensions/transport_sockets/tls/ssl_socket.cc:308] [C1] SSL shutdown: rc=1
[2021-03-15 22:19:47.123][22330][debug][connection] [external/envoy/source/extensions/transport_sockets/tls/ssl_socket.cc:224] [C1]
[2021-03-15 22:19:47.123][22330][debug][pool] [external/envoy/source/common/tcp/original_conn_pool.cc:140] [C1] client disconnected
[2021-03-15 22:19:47.123][22330][debug][http] [external/envoy/source/common/http/conn_manager_impl.cc:189] [C0][S12483657978785096747] doEndStream() resetting stream
[2021-03-15 22:19:47.123][22330][debug][http] [external/envoy/source/common/http/conn_manager_impl.cc:1533] [C0][S12483657978785096747] stream reset
[2021-03-15 22:19:47.123][22330][debug][connection] [external/envoy/source/common/network/connection_impl.cc:132] [C0] closing data_to_write=421 type=2
[2021-03-15 22:19:47.123][22330][debug][connection] [external/envoy/source/common/network/connection_impl_base.cc:47] [C0] setting delayed close timer with timeout 1000 ms
[2021-03-15 22:19:47.123][22330][debug][pool] [external/envoy/source/common/tcp/original_conn_pool.cc:255] [C1] connection destroyed
[2021-03-15 22:19:47.123][22330][debug][connection] [external/envoy/source/common/network/connection_impl.cc:696] [C0] write flush complete
[2021-03-15 22:19:47.130][22330][debug][connection] [external/envoy/source/common/network/connection_impl.cc:696] [C0] write flush complete
[2021-03-15 22:19:48.122][22330][debug][connection] [external/envoy/source/common/network/connection_impl_base.cc:63] [C0] triggered delayed close
[2021-03-15 22:19:48.122][22330][debug][connection] [external/envoy/source/common/network/connection_impl.cc:241] [C0] closing socket: 1
[2021-03-15 22:19:48.122][22330][debug][conn_handler] [external/envoy/source/server/connection_handler_impl.cc:164] [C0] adding to cleanup list
[2021-03-15 22:19:51.539][22320][debug][main] [external/envoy/source/server/server.cc:199] flushing stats
[2021-03-15 22:19:56.538][22320][debug][main] [external/envoy/source/server/server.cc:199] flushing stats

I think this is the same issue as in https://github.com/envoyproxy/envoy/issues/11308
Basically the upstream TLS is applied to the entire HTTP request including the CONNECT
I suspect what you want, is to have the CONNECT in plaintext, and payload encrypted, which is not currently supported without doing 2 passes.  In this case I think it'd be forwarding the HTTP payload over an "upstream" loopback TLS connection, then using a TCP listener to apply the CONNECT header.
Given this has come up twice recently, I should probably call it out in the docs and maybe add a feature request to do what folks would clearly like without the extra proxy hop.


no support for nrf5

Any chance the new nano 33 ble with the nrf5 chip could be supported?

No, it can't connect to the internet.


Figures show up twice in notebooks

Figures in a notebook show up twice, for example:

It looks like setting show=False does not have any effect here. Any ideas why this is the case and how to fix that?

end the line with a semi-colon ";" to avoid seeing it twice

Closing as an upstream bug / wontfix here


Add support for view-timeline (only name & axis)

Parse view-timeline, view-timeline-name & view-timeline-axis
when view progress subject declares them, then create a new
ViewTimeline with the corresponding subject and axis,
and proxy the starting animation using this viewTimeline.

LGTM


Check mod or permissions of the allstrikes commands.

https://github.com/Tobotimus/Tobo-Cogs/blob/8a331807a4bf6c13cd7cd4df169f1f5afbcdc0ac/strikes/strikes.py#L261
Add the decorator  @checks.mod_or_permissions(kick_members=True) to the method allstrikes.

Hi @tintinnabulate, thanks for the bug report! I'll fix this up now

Thanks.
You will see that I've fixed it in my own fork, and then merged to the master of my own fork.
I did it this way because needed the fix for my discord server asap.
Once you've merged the fix upstream I can delete my fork.

Resolved by a3ff70d.
Sorry I didn't see you had committed it to your own fork, I implemented the change myself just now. Thanks again for letting me know!


Add migration CLI

Description
Changes proposed in this pull request:

...

Testing

Related issue(s)

Closing in favor of https://github.com/kubeshop/botkube/pull/1115


DELETE method endpoints are missing in generated Graphql schema

Hello,
While converting to graphql, I see that only GET and POST method endpoints are available in graphql schema and DELETE endpoints are missing. Please assist on how to get all the endpoints in generated schema.

@anuraggo Sorry for the late reply. This is very interesting. I will need to verify this issue but my first thought is that perhaps this is an issue with a DELETE operation not having a response schema, which would result in skipping the operation.
Do you have a sample OAS for me to try?

Hi @Alan-Cha ,
Yes, you're right. The DELETE operation doesn't have response schema. Still I would think that library should have an option to generate endpoints for this case where there is no response schema. Let me know your thoughts on this.
delete:
tags:
- Trouble Ticket
summary: (Internal) Deletes a 'TroubleTicket' by identifier.
description: Deletes a 'TroubleTicket' by identifier.
operationId: deleteTroubleTicket
parameters:
- name: Accept-Language
in: header
description: |
Locale of the client
required: false
type: string
- name: troubleTicketId
in: path
description: Identifier of the Trouble Ticket.
required: true
type: string
- name: If-Match
in: header
description: "description"
required: false
type: string
responses:
"204":
description: No content.
"400":
description: |
Bad Request - The server cannot process the request due to a malformed syntax. The response can be caused by missing mandatory query parameters, invalid value in the query parameters, validation exceptions, and so on.
schema:
$ref: '#/definitions/Error'
"401":
description: |
Unauthorized - The server cannot apply the request because it lacks valid authentication credentials for the target resource.
schema:
$ref: '#/definitions/Error'
"404":
description: |
Not Found - The server did not find anything matching the request URI.
schema:
$ref: '#/definitions/Error'
"500":
description: |
Internal Server Error - The server encountered an unexpected condition that prevented it from fulfilling the request.
schema:
$ref: '#/definitions/Error'
x-dox-Microservice: ticket-ticketentity-app-id
x-dox-InternalAPI: true
x-amdocs:
route-service: ticket-ticketentity-service
private-roles:
- D1P_TroubleTicket_delete

You can solve it by setting this property：  fillEmptyResponses:true
openapiToGraphql.createGraphQLSchema(oas, {
  viewer: false,
  fillEmptyResponses: true,
})


Allow forcing currency number sign to be at first place

As description says, f.ex when doing I18n.toCurrency(-1000) we get $-1,000.00 in result. This issue was raised already there[https://github.com/fnando/i18n-js/issues/286]. Also ruby I18n does it as we would expect, rather than as it's implemented in i18n-js now:
number_to_currency(-9800.56, format: '%u%n')
-€9.800,56

I've changed '-' sign to be at first place by default in this PR, which also can be configured using sign_first in options. What do you think guys?

The only thing is missing is CHANGELOG entry :)
Just do what ruby I18n does

Please ping me again if you have made the change, new commits won't notify me :(

hey @PikachuEXE, thanks for such quick feedback! CHANGELOG updated :)

I see some trailing spaces stripped.
While it's a good practice for coding, doing so in a Markdown document affects the layout.
Fix that and I can merge :)

Ahh, sorry for that. Fixed now :smile:

Thanks :tada:


Reduce JS thread overhead caused by event creation for JS refresh rate metrics

What does this PR do?
Dispatches JS refresh rate event creation to a background thread.
Motivation
Every little bit of unnecessary work done on the JS thread can slow down the application. This helps change helps keep the JS thread unblocked.

Additional Notes
Screenshot taken from debug build on iOS simulator while the application was playing a video. Very little other work was happening on the JS thread, which is why this shows up as significant. Also ignore specific numbers due to the non-production environment. What is important in the screenshot is all the time spent between the frameTimeCallback and OS dispatch.
Review checklist (to be filled by reviewers)

[ ] Feature or bugfix MUST have appropriate tests
[ ] Make sure you discussed the feature or bugfix with the maintaining team in an Issue
[ ] Make sure each commit and the PR mention the Issue number (cf the CONTRIBUTING doc)
[ ] If this PR is auto-generated, please make sure also to manually update the code related to the change

we would likely need some tests as well. Do you want to take care of them? Otherwise I can add them to the PR.

Feel free to add anything you want, not sure how I'd test that the queue hop is working correctly. If there are existing tests they should still be working with this change (which would help show its correctness).


Step doesn't exit with failure if it fails to generate an APK

In trying to integrate with this step I have caused a number of errors (e.g. missing parameters), but none of them have caused the actual step to fail. Subsequent steps that depend on the output APK then fail since it doesn't exist.
It'd be great if this step reported failure when there's an issue. 🙂

I'll check that, thanks for your feedback. Can you tell me how to reproduce that behaviour?

Thanks for your reply! Really grateful to you for publishing and supporting this Bitrise step. 🙏
I noticed this behaviour specifically while getting the keystore params loaded up properly. If you fail to provide any of these params the script fails to generate the APK but exits successfully.

However, I suspect that may also be the case for other parameters such as the artifact path as well, though I haven't tested that directly.

+1

We ran into this today. Is this project still active?


Add .appendAll() function

Adds an .appendAll() function that allows you to pass an array of statements or strings to append. You can also provide a custom delimiter to separate the statements/strings (defaults to a single space)
Also updates Typescript typings, and README file with documentation.
Includes several unit tests.
Closes #32

Another option here would be to include this functionality in the .append() function.

Isn't this essentially
toAppend.reduce((prev, curr) => prev.append(delim).append(curr), stmt)

Yeah that does the same thing but it's more difficult to read and prevents you from being able to chain additional append()s. Also, the for-loop will be more performant than a map(). curr will often be pretty long and/or complicated so it would be nice to be able to have the surrounding syntax as terse as possible. That may be another reason for moving this into the append() function instead of creating a new one.
What do you think?

Did you actually measure a performance difference? I doubt it has one (after all, you are IO-bound anyway for database queries).
Readability is a matter of taste, if I read reduce(), I instantly know what it does, while appendAll is a custom method where I need to "guess" its meaning (albeit pretty obvious).
I am reluctant to add helper methods (and the associated docs + tests) for features that can be solved functionally with vanilla JS...

Isn't this essentially
toAppend.reduce((prev, curr) => prev.append(delim).append(curr), stmt)

It seems to me that in most cases you wan't the reduce-version adding the delimiter only starting from the second one and beyond

toAppend.reduce((prev, curr, index) =>
 (index > 0 ? prev.append(delim) : prev).append(curr), stmt)

@felixfbecker Hi there. I don't know if everything has been said on this topic. But I agree on the stated positions that an appendAll would be helpful.
https://www.npmjs.com/package/pg-template-tag solves this with a SQL.join function.


ERROR: Failed to detect macFUSE.

You need to install macFUSE and ntfs-3g yourself to use this.
The installer for macFUSE can be found here: https://osxfuse.github.io
Installing ntfs-3g is a bit tricker, the easiest (but least secure) way would be to install it via brew: https://github.com/osxfuse/osxfuse/wiki/NTFS-3G#installation


Add pre-commit-config with prettier and eslint

Do we want to lean on pre-commit.ci and pre-commit in this repo?

I don't think so. This is a pure javascript project, and since javascript is required to build the package and run the tests I don't think we should add Python as a dependency.
pre-commit.ci would be useful if it could automatically regenerate dist/* for us, but it can't since there's no network access to prevent abuse of the service.

Thanks for making a decision about this!


add POD_NAME env var to distributed channel controller deployment

Partially addresses #57 - will need to update the "consolidated" (eventing-contrib) channel deployments once that code is merge into this repo.

/LGTM


fix: scrollbar sometimes disappears in old tabs/deleting studies

Leave sepes open in a tab
Forget about it
Go back
Can't scroll anymore
Refresh and it comes back

There have been issue with this and the EDS . Look into if that is what causing it

This also happen once when you deleting a study

Picture of the issue:

Overflow: hidden is turned on when it should not be. This should only turn on when  is activated


[SMALLFIX]Supply the variable name to Preconditions.checkNotNull for class KeyValueStoreIterator

[SMALLFIX]Supply the variable name to Preconditions.checkNotNull for class KeyValueStoreIterator

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/17647/
Test PASSed.


Frozen Column

Hi! Please help me! How to freeze left column when scrolling horizontally? Thank you!

I don't think that is currently implemented but you may be able to emulate JLynch7's frozen columns. https://github.com/JLynch7/SlickGrid/tree/2.0-frozenRowsAndColumns/examples

SlickGrid Consists of two panes horizontally, left and right. to pin columns, you have to leave them in the left pane, and the rest to throw to the right. Serenity by default writes all columns in the left panel, and how to bring in the right it is not clear(((
http://jlynch7.github.io/SlickGrid/examples/example-frozen-columns.html

Everything was just as always!
 protected getSlickOptions() {             var opt = super.getSlickOptions();             opt.frozenColumn = 0             return opt;         }

^ Note that the number starts from 9
i.e. if you want to freeze first column in your xxxColumns.cs file (used by Grid), use 0, for first two columns, use 1...etc.

Thanks, I understood it. I now have another problem. Find a way to change the order of the columns using the button.

Yes, i've merged frozen columns implementation, but out of the box, only frozenColumn option works.


Repo(s) organisation

I thought to go with one repo per entity:

Wallet
Watchtower
Cosig server
Sync server

The communication channel code will probably be part of another repo (not here).

revault-wallet will be a lib crate like https://github.com/MagicalBitcoin/magical-bitcoin-wallet
and revault-gui will use revault-wallet as a dependcy ?
I think it would be the cleanest way to do it in order to have a clean wallet implem without too much dependencies

I wanted to have revaultd and revault-gui talking to it via a socket, but now that we need Windows support... I need to give some more thoughts.
In any case yep, I think the core logic --revault-whatever-- would be in a lib.

We settled on this:
libs
revault_tx => Bitcoin Script and transactions primitives
revault_net => Communication channels and practical-revault messages
## bins
revaultd => "wallet" daemon
watchtowerd, sync_serverd, cosignerd => servers daemons


Hostname/IP does not match certificate's altnames

Version
"botbuilder": "^3.16.0",
"botbuilder-azure": "^3.1.0",
Describe the bug
I've received this error:
Error [ERR_TLS_CERT_ALTNAME_INVALID]: Hostname/IP does not match certificate's altnames: Host: facebook.botframework.com. is not in the cert's altnames: DNS:*.azurewebsites.net, DNS:*.scm.azurewebsites.net, DNS:*.azure-mobile.net, DNS:*.scm.azure-mobile.net, DNS:*.sso.azurewebsites.net
    at Object.checkServerIdentity (tls.js:241:17)
    at TLSSocket.onConnectSecure (_tls_wrap.js:1132:27)
    at TLSSocket.emit (events.js:182:13)
    at TLSSocket._finishInit (_tls_wrap.js:625:8)

Any suggestions would be greatly appreciated
To Reproduce
Send any data throught a bot
Expected behavior
Everything works smoothly
This is an unexpected error, everything used to work well till Thursday (24.10.19)
[bug]
[javascript]

@OksanaBerdnik How is your bot hosted? If it's in Azure, can you go to Azure Portal > Your Resource Group > Your App Service > TLS/SSL Settings and ensure that TLS 1.2 is enabled and everything else looks like this:

I haven't seen this error before, but it recently became required to use TLS 1.2, so I'm guessing it's related to that. If not, please provide:

How your bot is hosted
Your appId
Whether or not Test in Web Chat works
Which channels are or are not working

the case is that one request gives valid certificate and another - not correct
same curl request return

SSL: no alternative certificate subject name matches target host name 'facebook.botframework.com'
and
Server certificate:
subject: CN=*.botframework.com
start date: Jun 10 20:07:48 2019 GMT
expire date: Jun 10 20:07:48 2020 GMT
subjectAltName: host "facebook.botframework.com" matched cert's "*.botframework.com"
issuer: C=US; ST=Washington; L=Redmond; O=Microsoft Corporation; OU=Microsoft IT; CN=Microsoft IT TLS CA 4
SSL certificate verify ok.

in same time facebook.botframework.com have only one IP address, so it behind balancer or something else

Attachments to previous comment:
In case certificate is valid:

In case the certificate is not matched (the same curl):

Host:

How your bot is hosted
The bots are hosted on our servers, not in Azure App Service.
Your appId
81834727-3b91-4e58-9816-49b8a13ee59b
Whether or not Test in Web Chat works
In Web Chat bot works fine
Which channels are or are not working
Facebook Channel

This error occurs from time to time but often

@mdrichardson Attachments to previous comment:
In case certificate is valid:

In case the certificate is not matched (the same curl):

Host:

How your bot is hosted
The bots are hosted on our servers, not in Azure App Service.
Whether or not Test in Web Chat works
In Web Chat bot works fine
Which channels are or are not working
Facebook Channel

This error occurs from time to time but often

@hex-344505 @OksanaBerdnik Thank you for the additional info! Can you try deleting (not disable, but delete) and then re-add your Facebook channel from Azure Portal > Your Resource Group > Your Web App Bot/Bot Channels Registration > Channels?

I've deleted the channel and re-added it. But it doesn't work for me

@OksanaBerdnik Alright. It was sort of a hail mary before I rope in some other folks to assist. I'm reaching out to see if one of our instances hosting facebook.botframework.com has an invalid cert. I will update this issue once I find the cause.

@hex-344505 @OksanaBerdnik
I tried that curl command ~100 times and all were successful. We're also seeing that all of the certs are valid on the ~10 instances running facebook.botframework.com.
Can you try running nslookup facebook.botframework.com?
The output should be something like:
$> nslookup facebook.botframework.com
Server:  f5-2.redmond.corp.microsoft.com
Address:  <IP_ADDRESS>

Non-authoritative answer:
Name:    waws-prod-bay-051.cloudapp.net
Address:  <IP_ADDRESS>
Aliases:  facebook.botframework.com
          bc-facebook.trafficmanager.net
          bc-facebook-westus.azurewebsites.net
          waws-prod-bay-051.vip.azurewebsites.windows.net

Can you then run curl -v <HOST>, where  is the equivalent in your output to bc-facebook-westus.azurewebsites.net, above?

curl -v https://facebook.botframework.com/api/v1/bots/****

*   Trying <IP_ADDRESS>...
* Connected to facebook.botframework.com (<IP_ADDRESS>) port 443 (#0)
* found 148 certificates in /etc/ssl/certs/ca-certificates.crt
* found 592 certificates in /etc/ssl/certs
* ALPN, offering http/1.1
* SSL connection using TLS1.2 / ECDHE_RSA_AES_256_GCM_SHA384
* 	 server certificate verification OK
* 	 server certificate status verification SKIPPED
* SSL: certificate subject name (*.azurewebsites.net) does not match target host name 'facebook.botframework.com'
* Closing connection 0
curl: (51) SSL: certificate subject name (*.azurewebsites.net) does not match target host name 'facebook.botframework.com'

nslookup facebook.botframework.com

Server:		<IP_ADDRESS>
Address:	<IP_ADDRESS>#53

Non-authoritative answer:
facebook.botframework.com	canonical name = bc-facebook.trafficmanager.net.
bc-facebook.trafficmanager.net	canonical name = bc-facebook-par.azurewebsites.net.
bc-facebook-par.azurewebsites.net	canonical name = waws-prod-par-003.sip.azurewebsites.windows.net.
waws-prod-par-003.sip.azurewebsites.windows.net	canonical name = waws-prod-par-003.cloudapp.net.
Name:	waws-prod-par-003.cloudapp.net
Address: <IP_ADDRESS>

This is becoming quite the head-scratcher. By any chance, can you visit dev.botframework.com and ensure that you trust the certificate there:

I tried that curl command ~100 times and all were successful. We're also seeing that all of the certs are valid on the ~10 instances running facebook.botframework.com.

Counter 20

subjectAltName: host "facebook.botframework.com" matched cert's "*.botframework.com"
Thu, 31 Oct 2019 10:25:51 +0200
Counter 21
subjectAltName does not match facebook.botframework.com
SSL: no alternative certificate subject name matches target host name 'facebook.botframework.com'
curl: (60) SSL: no alternative certificate subject name matches target host name 'facebook.botframework.com'
Thu, 31 Oct 2019 10:25:51 +0200
Counter 22
subjectAltName: host "facebook.botframework.com" matched cert's "*.botframework.com"

Thu, 31 Oct 2019 10:25:53 +0200
Counter 35

subjectAltName: host "facebook.botframework.com" matched cert's "*.botframework.com"
Thu, 31 Oct 2019 10:25:53 +0200
Counter 36
subjectAltName does not match facebook.botframework.com
SSL: no alternative certificate subject name matches target host name 'facebook.botframework.com'
curl: (60) SSL: no alternative certificate subject name matches target host name 'facebook.botframework.com'
Thu, 31 Oct 2019 10:25:54 +0200
Counter 37
subjectAltName: host "facebook.botframework.com" matched cert's "*.botframework.com"

this is output of simple script
#!/bin/bash
for i in {1..100}
do
date -R >> request.txt
echo "Counter $i" >> request.txt
curl -v https://facebook.botframework.com 2>&1 | grep match >> request.txt
done
NSLOOKUP
nslookup facebook.botframework.com
Non-authoritative answer:
Name:	waws-prod-par-003.cloudapp.net
Address: <IP_ADDRESS>
hexus@devops:~$ nslookup dev.botframework.com
Non-authoritative answer:
Name:	waws-prod-par-001.cloudapp.net
Address: <IP_ADDRESS>
same resolving i get from googles dns (<IP_ADDRESS>)

@mdrichardson The certificate is valid on dev.botframework.com.
Previously I've run curl from on AWS node or on the local machine but from Azure console, it works fine
*   Trying <IP_ADDRESS>...
* Connected to facebook.botframework.com (<IP_ADDRESS>) port 443 (#0)
* found 148 certificates in /etc/ssl/certs/ca-certificates.crt
* found 594 certificates in /etc/ssl/certs
* ALPN, offering http/1.1
* SSL connection using TLS1.2 / ECDHE_RSA_AES_256_GCM_SHA384
*        server certificate verification OK
*        server certificate status verification SKIPPED
*        common name: *.botframework.com (matched)
*        server certificate expiration date OK
*        server certificate activation date OK
*        certificate public key: RSA
*        certificate version: #3
*        subject: CN=*.botframework.com
*        start date: Mon, 10 Jun 2019 20:07:48 GMT
*        expire date: Wed, 10 Jun 2020 20:07:48 GMT
*        issuer: C=US,ST=Washington,L=Redmond,O=Microsoft Corporation,OU=Microsoft IT,CN=Microsoft IT TLS CA 4
*        compression: NULL
* ALPN, server did not agree to a protocol
> GET /api/v1/bots/**** HTTP/1.1
> Host: facebook.botframework.com
> User-Agent: curl/7.47.0
> Accept: */*
>
< HTTP/1.1 404 Not Found
< Cache-Control: no-cache
< Pragma: no-cache
< Expires: -1
< Server: Microsoft-IIS/10.0
< x-ms-request-id: |384d0b77cd4c0041aa976b83b5716c2e.bc782601_
< Strict-Transport-Security: max-age=31536000
< Date: Thu, 31 Oct 2019 08:19:24 GMT
< Content-Length: 0
<
* Connection #0 to host facebook.botframework.com left intact

When I try to visit Manage page to generate app password I receive 404, please see screenshot below (it`s related to all apps, not only new one):

above script from AWS instance eu-west-3 zone - every 10th request give error
same script on EC2 in u-west-1 1000 requests - no errors
I have no idea what happens :(

@OksanaBerdnik @hex-344505 I was finally able to repro this by VPN-ing to Paris and running that script. I'll dig into this further.
@OksanaBerdnik Regarding that 404. Where is that bot hosted? I've seen that happen occasionally if your bot is hosted off of Azure. You should be able to access the app registration by going directly to the App Registration page or https://portal.azure.com/#blade/Microsoft_AAD_RegisteredApps/ApplicationMenuBlade/Overview/appId/<yourAppId>/isMSAApp/ if that doesn't work.

@mdrichardson All our bots are hosted on our servers, not in Azure App Service. Regarding that 404: App Registration page has helped me, thank you! But regarding your advice to host our bot on Azure portal: are there other ways to solve this issue?

@OksanaBerdnik Regarding hosting off-Azure:
I don't believe this affects the 404, as I'm able to repro through VPN on the same machine that works without VPN. We'll dig into what's going on and let you know as soon as we do.
The only issue we've talked about that you'll continue to have while hosting yourself is accessing the App Registration via the Web App Bot. I believe the Azure Bot Services team is aware of this, but it's a low-priority issue.
So, with all that said, I don't necessarily advise that you host on Azure since I don't believe it will fix this issue.
If you're looking for a temporary workaround, you might try migrating your servers to a West US instance, if you can--that's where I am and where I'm unable to repro.
Again, though, we'll look into this and see if we can get it fixed.

@OksanaBerdnik @hex-344505 Are you guys still able to repro this? I VPN'd to Paris again this morning and had the script run 4,000 times (not exaggerating). All of them were successful.

@OksanaBerdnik @hex-344505 Are you still able to repro this? I just tested from Paris and was successful for 200 of 200 requests.
If not, please capture a System.NET trace and paste the contents of networktrace.txt.

@OksanaBerdnik @hex-344505 Were you able to re-test this? There's a couple of different teams looking into this and none of us can reproduce the error any more.

@mdrichardson Today we've reproduced this bug on AWS instance located in Paris

@OksanaBerdnik Understood. I can't seem to repro this any more, but we'll continue looking into this.

@OksanaBerdnik Understood. I can't seem to repro this any more, but we'll continue looking into this.

you know, i think that i can prepare an instance for testing , if it will be suitable for you - let me know
by the way , we also repro this bug even from our local ISP.

@hex-344505 That would likely help, if you're able to. Feel free to send details to me via email, if you'd prefer: vDASHmicricATmicrosoftDOTcom (replace all-caps with appropriate character).

@hex-344505 That would likely help, if you're able to. Feel free to send details to me via email, if you'd prefer: vDASHmicricATmicrosoftDOTcom (replace all-caps with appropriate character).

sent you an email, thanks in advance

@hex-344505 I was able to SSH in and verify this still occurs for you. Still looking into things. I believe it's something the Azure team will need to fix.

we have mail from azure team that they fix it but issue still exist :(

We’ve got a couple of separate issues still open and tracking this. I’m guessing that one got sent to you that it was fixed because they asked me to repro and I couldn't, then we didn't hear from you that it was still an issue. They're still open and being worked on, however.
I can give these other teams access, if you'd like.

I can give these other teams access, if you'd like.
it will be great.
and i updated support request.
Thanks

@OksanaBerdnik @hex-344505 Azure reps are reporting they fixed one of their front end webservers and the issue should be fixed. Are you able to reproduce it, now?

@OksanaBerdnik @hex-344505 Azure reps are reporting they fixed one of their front end webservers and the issue should be fixed. Are you able to reproduce it, now?

looks like they fix it. i cant reproduce error :)
Thanks ! your save our bot :)

Good to hear!

@vohuythao I'm assuming api.xxxx.com is the domain for your App Service? If so, it would be best to open a ticket for this through Azure support, since this is more of a service issue and less of a code one.

Hello @mdrichardson
Thank you for the reply
Yes, that is correct, it is our App Service.
I also open a ticket for Azure support.
I will update there if there is any solutions from Azure support
Thank you

Hello guys,
I have fixed this by replace another SSL certificates.
The one from GoDaddy, has some problem.
I replace with the one from Digicert and it is ok now


It failed to connect to cyber bridge（apollo6.0) when I use the  visual scenario editor in lgsvl.

VSE(visual scenario editor) simulation failed to connect to cyber bridge.I have run bridge.sh in apollo docker container.However,when I use random traffic in lgsvl, I can receive emulation data with cyber bridge in apollo.

You should describe your problem in detail, what's the difference between them?

You should describe your problem in detail, what's the difference between them?

I plan the path of the NPC vehicle through VSE and run the simulation, but my cyber_bridge cannot be connected, cyber_montior cannot monitor any sensor channels, but when I choose random traffic, everything is normal;
My goal is to collect data for some specific scenarios. Can this idea be done with VSE?

I have not used this feature for now. I'm afraid we can only analyze what the problem is first.


Changes to AdvMame Button Remapping, Allow Edits and code revision

Here is a clean PR. Note - I still need to fix Left and Right Choosing of remapping, so do not commit yet.

I'll test the change to not validate remaps when using left/right instead of the popup.

Tested and working.

Seems good! merged! Thanks!


Feature/poll sonar

First skeleton of the Mine works with local environment

Very cool man! Hummed on my machine. 👍


Using utility meter shows incorrect usage.

Describe the bug
I am using an octopus home mini and the current consumption sensor with Utility meter to try to track my peak and Offpeak usage. My tariff is intelligent octopus. Despite having the correct automations to switch tariffs, the current consumption sensor consistently underreports usage (I have compared it with a Shelly EM device) both using the statistics graph and also when added to the energy dashboard.
Interestingly an another home assistant instance, when the current consumption sensor is added directly to the energy dashboard it reports correctly.
To Reproduce
Set up utility meter with default options. When asked for tariff create peak and offpeak.
Expected behavior
For the current consumption sensor to accurate track usage when used with utility meter
Home Assistant Version
2023.5.1
Integration Version
7.4.3
Fresh Install?
No
Home Assistant Logs
No relevant logs that I could see

Hello and sorry that you are encountering issues.
I've got a utility meter setup on my intstance and it appears to be working fine. You mentioned you used the default options, which might be causing your issues. You need to have delta values set to true because of the nature of the data.

Thanks a lot for the quick reply. I’ll make this change and report back

Thanks @BottlecapDave, this is now working as expected!


Use config subfolder for Twill

Currently the two config files Twill will publish are config/twill.php and config/twill-navigation.php.
The problem is config/twill.php contains too many settings inside it, and will easily grows very large, even over 1000 lines sometimes, so as to become less manageable and easily to make mistake.
I'm thinking is that possible to make a subfolder inside laravel config folder, named twill, which will contain all twill-related setting files, ex. config.twill.medialibrary,  config.twill.navigation, config.twill.blockeditor. In this way, it will have a better organization and be eaiser to manage.

Laravel supports dot notation to access config in subfolders, so I tend to think this should already work, just give it a try! config/twill/block_editor.php returning the value of the block_editor key you currently have in config/twill.php should work I guess.
If it does, we can support moving the navigation under twill.navigation instead of twill-navigation.

Laravel supports dot notation to access config in subfolders, so I tend to think this should already work, just give it a try! config/twill/block_editor.php returning the value of the block_editor key you currently have in config/twill.php should work I guess.
If it does, we can support moving the navigation under twill.navigation instead of twill-navigation.

I just tried it and it seems to be working! 👍


Add function to set the initial pose from RVIZ for pure localization mode

As mentioned in the closed PR #637, manually "tuning" of the robot initial pose from GUI (e.g. Rviz) is a very important function for home service robot, which is supported by the ROS default localization method AMCL.
I hope this PR can facilitate the development of this RFC.
To test my commit, please try following commands

First follow the tutorial about  pure localization to download rosbags and build the map (.pbstream).
Then run following command instead:

$ roslaunch cartographer_ros demo_backpack_2d_localization.launch \
   load_state_filename:=${HOME}/Downloads/b3-2016-04-05-13-54-42.bag.pbstream \
   rosbag:=false

Use the icon 2D  Pose Estimation in Rviz to set the initial pose as shown in following image.

Play the rosbag:

$ rosbag play ${HOME}/Downloads/b2-2016-04-27-12-31-41.bag --clock -s 320

The whole sequence can be found in this video, and you can also try the 3D mode in this same way.
We have confirmed the 3D performance with our original data, please check this video.
Limitations:  the multi-floor map is not supported, since we can not assign the height (i.e. z value) from Rviz.

I got the following error while I built your code
FAILED: /usr/bin/c++   -DROSCONSOLE_BACKEND_LOG4CXX -DROS_PACKAGE_NAME=\"cartographer_ros\" -I/home/faizansid/catkin_carto/src/cartographer_ros/cartographer_ros/cartographer_ros/cartographer_ros -isystem /usr/include/lua5.2 -isystem /usr/include/pcl-1.7 -isystem /usr/include/eigen3 -isystem /home/faizansid/catkin_carto/install_isolated/include -isystem /opt/ros/kinetic/include -isystem /opt/ros/kinetic/share/xmlrpcpp/cmake/../../../include/xmlrpcpp -I. -I/home/faizansid/catkin_carto/src/cartographer_ros/cartographer_ros -isystem /usr/include/cairo -isystem /usr/include/glib-2.0 -isystem /usr/lib/x86_64-linux-gnu/glib-2.0/include -isystem /usr/include/pixman-1 -isystem /usr/include/freetype2 -isystem /usr/include/libpng12 -isystem /usr/local/include -O3 -DNDEBUG    -pthread -std=c++11 -fPIC  -Wall -Wpedantic -Werror=format-security -Werror=missing-braces -Werror=reorder -Werror=return-type -Werror=switch -Werror=uninitialized -O3 -DNDEBUG -MMD -MT cartographer_ros/CMakeFiles/set_initpose_from_rviz.dir/set_initpose_main.cc.o -MF cartographer_ros/CMakeFiles/set_initpose_from_rviz.dir/set_initpose_main.cc.o.d -o cartographer_ros/CMakeFiles/set_initpose_from_rviz.dir/set_initpose_main.cc.o -c /home/faizansid/catkin_carto/src/cartographer_ros/cartographer_ros/cartographer_ros/set_initpose_main.cc
/home/faizansid/catkin_carto/src/cartographer_ros/cartographer_ros/cartographer_ros/set_initpose_main.cc: In function ‘void move_base_simple_callback(const ConstPtr&)’:
/home/faizansid/catkin_carto/src/cartographer_ros/cartographer_ros/cartographer_ros/set_initpose_main.cc:123:32: error: ‘cartographer_ros_msgs::StartTrajectory::Request {aka struct cartographer_ros_msgs::StartTrajectoryRequest_<std::allocator<void> >}’ has no member named ‘configuration_directory’
   srv_start_trajectory.request.configuration_directory =
                                ^
/home/faizansid/catkin_carto/src/cartographer_ros/cartographer_ros/cartographer_ros/set_initpose_main.cc:125:32: error: ‘cartographer_ros_msgs::StartTrajectory::Request {aka struct cartographer_ros_msgs::StartTrajectoryRequest_<std::allocator<void> >}’ has no member named ‘configuration_basename’
   srv_start_trajectory.request.configuration_basename =
                                ^
/home/faizansid/catkin_carto/src/cartographer_ros/cartographer_ros/cartographer_ros/set_initpose_main.cc:128:32: error: ‘cartographer_ros_msgs::StartTrajectory::Request {aka struct cartographer_ros_msgs::StartTrajectoryRequest_<std::allocator<void> >}’ has no member named ‘relative_to_trajectory_id’
   srv_start_trajectory.request.relative_to_trajectory_id =
                                ^
/home/faizansid/catkin_carto/src/cartographer_ros/cartographer_ros/cartographer_ros/set_initpose_main.cc:130:32: error: ‘cartographer_ros_msgs::StartTrajectory::Request {aka struct cartographer_ros_msgs::StartTrajectoryRequest_<std::allocator<void> >}’ has no member named ‘use_initial_pose’
   srv_start_trajectory.request.use_initial_pose = true;
                                ^
/home/faizansid/catkin_carto/src/cartographer_ros/cartographer_ros/cartographer_ros/set_initpose_main.cc:131:65: error: ‘cartographer_ros_msgs::StartTrajectory::Request {aka struct cartographer_ros_msgs::StartTrajectoryRequest_<std::allocator<void> >}’ has no member named ‘initial_pose’
   tf2::toMsg(relative_initpose_tf, srv_start_trajectory.request.initial_pose);
                                                                 ^
/home/faizansid/catkin_carto/src/cartographer_ros/cartographer_ros/cartographer_ros/set_initpose_main.cc: In function ‘int main(int, char**)’:
/home/faizansid/catkin_carto/src/cartographer_ros/cartographer_ros/cartographer_ros/set_initpose_main.cc:169:18: error: ‘absl’ has not been declared
   map_builder_ = absl::make_unique<cartographer::mapping::MapBuilder>(
                  ^
/home/faizansid/catkin_carto/src/cartographer_ros/cartographer_ros/cartographer_ros/set_initpose_main.cc:169:69: error: expected primary-expression before ‘>’ token
   map_builder_ = absl::make_unique<cartographer::mapping::MapBuilder>(
                                                                     ^

@faizansid77
"cartographer_ros_msgs::StartTrajectory" has been changed by #1245 , and absl::make_unique is introduced by #955 .
Can you tell me the detail about the build condition?

@MichaelGrupp  Thank you for your review. I agree that my original implementation is specialized for the 2.5D case. So I improve the code according to your comments.

Because a minimal initial pose handler can be implemented with a few lines of Python or C++ code using the ROS services /get_trajectory_states, /finish_trajectory and /start_trajectory.

Besides these three services, I think the  information about the reference trajectory (i.e. the frozen trajectory) is also necessary, since the initial pose should be provided w.r.t. the reference trajectory; otherwise, users should covert the transformation by themselves (but common robotics users are tend to use simple gui like rviz):
https://github.com/googlecartographer/cartographer_ros/blob/5b09b08daf6a6f1f51296f44e11f8c1f5ba48d40/cartographer_ros/cartographer_ros/set_initpose_main.cc#L109-L124
BTW, calling /finish_trajectory can stop an ongoing trajectory building, but the map would remain. This effects the navigation performance (e.g. move_base) based on  the /map topic published by cartographer_occupancy_grid_node. So I think there should be a service to delete the unnecessary trajectory, or is there already some solution?

@tongtybj
have you finish this issue, i want to use 'Add function to set the initial pose from RVIZ for pure localization mode ' this function  in my cartographer,but i don't know how to use your function, could you help me?
Thank you for your contributions

Maybe it's more elegant to do the rviz initial pose feature 'outside' Cartographer via a simple Python script? At least that's how I did it :-) https://github.com/cartographer-project/cartographer_ros/issues/1652


Make failure message nicer when used as an argument matcher

Currently the failure message inspects the matcher rather than providing a nice diff showing expected vs actual.
TODO: update with an example

fixed in 2.0.1


fetchgit: set http.proxy globally for submodules

Description of changes

Things done

Built on platform(s)

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

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

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

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

[x] Fits CONTRIBUTING.md.

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

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/prs-ready-for-review/3032/3663

I noticed this when I cloning a repo with submodules behind a proxy. Only the main repo can be cloned and the submodule clone fails with network errors.

Oh I see, makes sense.

Thanks!


Followup #608: Automate ansible-galaxy install step

https://github.com/geerlingguy/drupal-vm/issues/608#issuecomment-218793792

Figured out a way to disable the galaxy step as well. Create a Vagrantfile.local with
config.vm.provisioners[0].config.galaxy_role_file = nil

I doubt any regular user will ever re-provision unless they are upgrading Drupal VM. I think it's mostly developers of Drupal VM who might do it and become annoyed by the added time. But by adding this to our Vagrantfile.local it wouldn't be an issue for us either.

I doubt any regular user will ever re-provision unless they are upgrading Drupal VM. In which case they do want to re-install the roles. I think it's mostly developers of Drupal VM who might run re-provisions frequently and become annoyed by the added time for provisioning. I believe this hack solves that minor annoyance.

Well... that's true. Hmm. I'm going to think through it and just make sure it won't cause any other weird frustrations that we haven't thought of yet. I like this a lot though. #MakeItMaintainable

So galaxy support was added in 1.8.0 and did have a few bugs but all of them are filed under provisioners/ansible_local in the CHANGELOG. So I think that means we're fine.

Your other amazing PR has introduced a merge conflict :)

Git just can't handle the awesomeness that will be 3.0.0.

Fixed.


Get the model name for each call

Hey team,
Could we add the model name to the function return? It’s crucial for my dataset analysis to know which model is being used per call.

You should be able to use a dynamic client to override the provider/model being used at runtime, which will allow you to resolve this information ahead of time: https://docs.boundaryml.com/docs/calling-baml/client-registry
Will this work for you?


Possible bug in ZIP 32 Derivation

In derive_zip32_child_fromseedandpath_ida, the exk updated by update_exk_zip32 uses a dummy ask and nsk.
If I replace them with the real ask, nsk, I get child keys that match librustzcash implementation:
    let master = ExtendedSpendingKey::master(&seed);
    let path = [
        ChildIndex::Hardened(32),
        ChildIndex::Hardened(133),
        ChildIndex::Hardened(1000),
    ];
    let sk = ExtendedSpendingKey::from_path(&master, &path);
    let (_, pa) = sk.default_address();
    let address = encode_payment_address(MainNetwork.hrp_sapling_payment_address(), &pa);

FYI

I think this was a temporary test, right @IdaTucker ?
Can we close this issue?
Is this still relevant?

Indeed, derive_zip32_child_fromseedandpath_ida was just created temporariky for testing purposes. It no longer exists. Sorry for the confusion!


rawSearchTermInfo error  in Threshold mode

This is just a pointer to a prematurely closed issue: https://github.com/Auctionator/PointBlankSniper/issues/13#issuecomment-1683962975

Try this build. It has that bug fixed (and another bug with threshold fixed too)
PointBlankSniper-5.32-2-g9b3e320.zip

The version above fixed the error, but now Threshold mode stopped working entirely 😐 ("No result found", clicking Start repeatedly does nothing.)

That would be because there's no search results matching your list priced as 1s (previously it showed the results even if they were above the threshold)

Ah OK. I never understood what Threshold mode means to be. (And to be honest, I still don't. I simply do not understand what "but a limit of 1s" means.)
But it seems it means that only hits with a buyout of <1s will be listed? Is that correct?

That's the idea. It was a proof of concept that you could get the accidental 1s posting much faster with Threshold than any other mode.

Oh, limit of 1s means at most 1s, including 1s. Wording may not be ideal.

OK, assuming that it is not possible to post stuff at less than 1s (is it?), just call it "Threshold (like Blank, but only buyouts of exactly 1s)"

Lol, or even more simple, just: "Buyout price of exactly 1s". No "Threshold" stuff at all 🥹

😍Great!
Before it gets lost: have you noticed my side not e in the now closed issue?:

As a side note: The Keys and No gear modes expose a delay when going back from the Shopping tab to the Sniper tab. I haven't payed attention if it always was like that, or if this is normal. (In Blank mode, there is no delay.)

I'll have a closer look at this then, and will open an issue when I know more.


Move test failure to failing line for failed tests

The new feature that shows test assertion failures within the test methods (#120) is very useful. However, I think of the red underlines as indicating linting/syntax errors, so I find it a bit confusing that they're overloaded to indicate test failures. Is there a setting to disable these diagnostics? If not, I'd be happy to work on a PR to implement that.
BTW, thanks for a fantastic extension!
Environment data

VS Code version: 1.30.2
Extension version (available under the Extensions sidebar): XXX
OS and version: MacOS 10.14.2
Python version (& distribution if applicable, e.g. Anaconda): Pyenv, 3.6.6
Type of virtual environment used (N/A | venv | virtualenv | conda | ...): Pipenv
Relevant/affected Python packages and their versions: pytest 4.1.0

Expected behaviour
Red underlines correspond to linting/syntax errors and don't show up for failing tests.
Actual behaviour
Red underlines appear under the names of failing tests:

Looking at the screenshot, the red squiggle should be on the assert line. Red squiggles indicate lines of code that are expected to fail at runtime, so since we know from running the test that this line of code has failed, the squiggle is appropriate.

I am no longer see this issue occur. I am going to close with this in mind since it is old but please comment if you think something similar to this behavior still exists.


implement a histogram svc + persistency

booking and filling hbook.H1D histograms is great.
persistifying them is better.

fixed with 730b6da8956902bd5c91152ab2c1ef45846afec2

This issue was moved to go-hep/sw#32


refactor: loader only approach

This is a broad refactor.
I wanted to suggest this approach as I think it simplifies things a great deal and makes the functionality fully cacheable in a straight forward way.
Two major notes:

I did not implement adoption because I did not fully understand the distinction between include and adopt.
But, whatever it is, I think it could be added back with some conditional checks in the WpEditorRemoveRules plugin.

I don't think my handling of AtRules edge cases is as thorough as yours. To be honest, I didn't want to have to deal with all the intricacies, I only wanted to prove the concept. The robustness of the existing approach could/should be added back in.

Feel free to re-implement it, add to it, ignore it. Thanks!

Thanks a lot for this. Your take on it made me rethink things.
I've rewritten the plugin as a bud extension in ESM / TS, using your loader only approach.
Still had to put in a bit of jank to make it work properly with all the combinations of @media syntax.
Closing this PR in favour of the new extension: https://github.com/talss89/bud-wp-editor-query


Correct reference link in Playground

Thanks a lot @StevenMaude !

Woah, that was quick :zap::grin:
P.S. nice work on your landing page and docs!

I realize our markdown-link-check doesn't check the html. Not sure if there's anything we can do to prevent this; though I guess we don't have that many links in HTML.

Possibly https://github.com/marketplace/actions/broken-link-check...

Woah, that was quick ⚡😁

Thanks — and it's already live: https://prql-lang.org/playground/


fix hatch btn perspective #1072

Fixed bug on the hatch buttons. Before the icon perspective was not following the perspective of the button when on focus.
Issue: Hatch buttons perspective bug #1072

Great work thank you!
@all-contributors please add @AndreJesusBrito for code and bug


Model serving UI Fix

lgtm. Ensure to test is on CI before merging @Raghul-M

Not relevant Anymore So closing it


Fix zipFileSystem subpaths

The test case throws a ProviderMismatchException on openjdk 1.8, because asJPath creates JPaths using the defaut filesystem.

Thanks! @marvelous I have merged this patch!


haskellPackages.eventlog2html: unbreak

Motivation for this change
I just tried to build it with the current state of haskell-updates, and it just builds.
Things done

Built on platform(s)

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

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

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

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

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[ ] Fits CONTRIBUTING.md.

Thanks, indeed. I amended your change with a properly regenerated hackage-packages.nix and cherry-picked as 5a8df8f99b49daff5d51f6c2a146582bb000ac53.

Great, thank you!


Use double click to put fields on query field

Sorry, I sent it to the wrong place!

Sure! I'm interested. Can't wait to check it out when it's ready.


fix tab focus on SidebarCard elements

I know. My architecture is murky, much like the Philippine Lagoons.

Hopefully I got them all this time!


Validation: how to add custom validation rule for remote validation?

I have tried creating custom rule with ajax request to check uniqueness of email address on my registration form. I get correct result from backend but validation always fails. I tried "async: false" and "$.when().then()" but nothing works.
$.fn.form.settings.rules.exists = function(value) {
        $.when(
            $.ajax({
                url: '/check-email',
                type: 'POST',
                dataType: 'json',
                data: { email: value }
            })
        ).then(function(data) {
            return !!data.valid;
        });
    }

Callbacks are synchronous so you can't return values from async processes like AJAX. See this general JS explanation
Instead, add your own validatrion logic in onSubmit return false to prevent default form submit, and when ajax validates submit form.

Yes, as I thought
Thanks


Bug: builtin components update slowly

Self Checks

[ x ] I'm using the latest lualine.
[ x ] I didn't find the issue in exsisting issues or prs.

How to reproduce the problem
Open a file with a couple hundred lines and hold j.
Expected behaviour
Line numbers, progress in lualine update instantly.
Actual behaviour
Line numbers only update (exactly) once per second.
However, if I write a progress component myself it will update instantly (as far as I can tell).
I guess this might be supposed to be a feature? Is there any way to turn it off, or to increase the refresh rate?
Minimal config to reproduce the issue

minimal `.vimrc`
call plug#begin()
    Plug 'nvim-lualine/lualine.nvim'
call plug#end()
require'lualine'.setup()

Aditional information
The bug does not happen with airline
:version gives
NVIM v0.7.2
Build type: Release
LuaJIT 2.1.0-beta3
Compiled by<EMAIL_ADDRESS>
Features: +acl +iconv +tui

lualine version: latest master (e22c7b3)

This was introduced by 6d11f9f50817020cf634903a235628cabe0c56f8 (#767)
If you specify 788805771c1ca7fe2c6652c38523cf208908934c in your packer config you can use the older version until this is sorted out.
{
  'nvim-lualine/lualine.nvim',
  commit = '788805771c1ca7fe2c6652c38523cf208908934c',
  lock = true
}

https://github.com/nvim-lualine/lualine.nvim/wiki/FAQ#my-statuslinetablinewinbar-updates-infrequently


flatgeobuf as a source format

One of the performance bottlenecks of using Tippecanoe is generating the GeoJSON input, which is both expensive (performance wise) to produce and I assume for tippecanoe to read (though I must say, it's still very fast).
I commonly use ogr2ogr to read a range of input formats (frequently ESRI FileGDB) and pipe out GeoJSONSeq for tippecanoe to read, however this is slow.
The performance of flatgeobuf looks really compelling, if Tippecanoe could naively read it, that might prove to improve performance greatly for some use cases.

Totally agree that geojson is not made for heavy lifting, nor does geobuf. But I would stick with something protobuf because that is already used for generating the tiles in the first place. I like to suggest to reduce as much moving parts as possible especially when dealing with C++ :)

Thanks. I'll have to take a look at this.

Although I am going to shoot myself in the foot here because this solution requires a lot of work to be able to generate flatgeobuf in golang applications, I still believe in the bigger picture that geojson has to be replaced with something better. My preference was something protobuf like but if it going to be flatgeobuf then so be it. see https://github.com/bjornharrtell/flatgeobuf/issues/7 asked for colaboration to make sure it get the best chance of succes.

Great to see this interest! :) I'm fairly confident flatgeobuf is well suited as a serialization format to replace geojson when performance matters. Note that flatgeobuf is based on flatbuffers not protobuf which is also for performance reasons that are well explained at http://google.github.io/flatbuffers/. Flatbuffers has go lang support so it's "just" a matter of wiring that up to my format. I have limited experience with go but I'm open to try to provide the language support for go ASAP if that means you are willing to be a (very) early adopter.

Thanks, I will test but for some reason flatbuffers are only faster in C++, in golang it's turn out gogoprotobuf is faster then flatbuffers source: https://github.com/alecthomas/go_serialization_benchmarks I guess more time has been invested in protbuf optimisation becasue of other heavely used ecosytem like grpc etc that all use protobuf

Interesting. I think you are right, it's likely because the flatbuffers Go implementation hasn't got the attention of the reference C++ one. However, there is also a C and Rust implementation that seem to perform close to the C++ one so the potential is there and if I read the numbers correctly the flatbuffers Go implementation is not far behind gogoprotobuf even in its current state so perhaps it's not a dealbreaker?
I have been considering whether to use flatbuffers or protobuf as a base for some time but I still remain convinced that flatbuffers has some desirable properties over protobuf, even if things like this is not making the choice easier.

Agree performance isn't going to be a key factor, more like the boilerplate quality that protoc and flatc creates. I will try to make some examples but last time I looked into this at good amount more code was needed to initialise a flatbuffer object then a protobuf object if I recall correctly. Note that all the protobuf variations still use the same proto files so for me that's fair enough as long they don't break the wireformat and are just implementation details.

I see your point but I'm not sure transforming between two protobuf schemas would be that much prettier and I guess potentially significantly slower than both flatbuffers to protobuf or flatbuffer to flatbuffer in the optimal case. However, I can definitely understand the want of using a single serialization method/format in the use case discussed and protobuf is of course more common so it's another sound argument to respin flatgeobuf on protobuf but for several reasons I'm not prepared to go that path right now without further consideration/motivation.

Another thought - do you not have an abstraction layer for the transformation already between GeoJSON and protobuf? I've implemented such abstraction layers in the flatgeobuf language support for C++, .NET, Java and TS/TS and I imagine it should be possible to find a good target for Go too, perhaps https://github.com/paulmach/orb?
Of course for maximum performance transformation should be kept to a minimum, so for example in my GDAL driver implementation I can zero-copy at least the coordinate arrays because GDAL and flatgeobuf and share the same basic memory model for coordinate arrays.

https://github.com/paulmach/orb is definitely the way to go for implementing geojson objects in go :) But you don't have to worry about a geojson interface I guess, my problem I think and allot of other people's problem is how to feed / handle for example this ridiculously giant osm planet pbf to tippecanoe. Add the moment I read and schuff osm stuff into geojson or geobuf files because we don't have another choice :) So any wireformat were tippecanoe agree on as input source is going to be a huge win. So for example if we all agree on a stream of small records based on FlatBuffer Schema (https://google.github.io/flatbuffers/flatbuffers_guide_tutorial.html) and I can go from osm.pbf to saving a file on disk without requiring 128GB of memory and tippecanoe can handle it to we are golden :D

^ all of this is good, but tangential to this ticket for potential flatgeobuf support in tippecanoe, since tippecanoe is written in C.
For me it's only worth supporting in tippecanoe if it's going to be faster to pipe flatgeobuf to tippcanoe from ogr2ogr, compare to piping GeoJSONSeq to tippecanoe.
It's still a nice to have for me (and low priority) since the core GeoJSON support is rock solid, isn't going anywhere since it's a hugely popular and supported format.

@andrewharvey hmm yes I was starting to get confused because I couldn't find any Go code in tippecanoe.
Raw read performance of FlatGeobuf in GDAL is about 30 times faster than GeoJSON. I will make some measurements for write performance soon but I expect it to be in the same ballpark (without spatial index generation).
Even if not high priority to rework this part of tippecanoe it would be a nice experiment and a possible motivation to get FlatGeobuf accepted in GDAL, so I'm interested in contributing if time permits.

No Go has indeed nothing to do with tippecanoe itself, but more with building tools that generate output for tippecanoe. Like for example ogr2ogr does to generate output for tippecanoe. So ogr2ogr should be able to be replaced by as many tools or programing languages possible. For example node js is extensively used by mapbox for creating tools and want to be sure to point out ogr2ogr is just a small part of the bigger picture here when considering a universal format to feed to tippecanoe.

Has this been added to tippecanoe? I see there is support for geobuf files but I assume that's only mapbox/geobuf files and not flatgeobuf, as produced by say ogr2ogr.

@1riggs unfortunately no progress AFAIK. I still don't have a finished reference implementation in Go. Would be fun to do but my interest in Go is unfortunately being eclipsed by Rust.

I'm tracking this issue in a new repository at https://github.com/protomaps/tippecanoe/issues/2 - input is welcomed.

This has been implemented in https://github.com/protomaps/tippecanoe , although with only the minimum Geometry Types and Column types support to convert all GDAL-created Natural Earth FGBs with identical output as GeoJsonSeq.
I'm seeing a general 5-10x speedup for the parsing phase vs GeoJsonSeq, not to mention that FGB creation should also be smaller and much faster than GeoJsonSeq. No streaming support yet though. Happy to help look at people's FGBs but will move convo into https://github.com/protomaps/tippecanoe/issues/2 .


[BEAM-7389] Created code files to match doc filenames

No logic changes, only filename and region tag changes.
Changing some python filenames to match the docs filenames for consistency.
Will delete the old files as the docs get updated.
R: @aaltay

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

[x] Choose reviewer(s) and mention them in a comment (R: @username).
[x] Format the pull request title like [BEAM-XXX] Fixes bug in ApproximateQuantiles, where you replace BEAM-XXX with the appropriate JIRA issue, if applicable. This will automatically link the pull request to the issue.
[x] If this contribution is large, please file an Apache Individual Contributor License Agreement.

Yes, will do. Thanks!

Updated docs and obsolete files deleted in #9692, but they won't render correctly until this one is merged.

As per this plan, I will be moving code files from element-wise to elementwise for consistency.

Is this ready to review?

It is now ready for review.
No changes to logic
I did take the time to normalize all the code files to use relative imports as well as moving the asserts to check_ functions for consistency in the test files. Other than that, there are no changes from the element_wise counterparts besides the small changes to make linter and all tests pass.

I do not see any deleted files or doc changes. Am I missing something?

That would break the staged versions and the notebooks would have to be generated in a second pass anyways. I'm doing that here #9692, that way we don't temporarily break things in the website.

OK. Merged this, please do the clean up as soon as possible.


Django 2.0 compatibility

@wesokes @jaredlewis I don't think there is anything else needed for Django 2.0 compatibility in this package, but I'll check out the tests if they fail

@wesleykendall i added 2.0 support and removed py27 https://github.com/ambitioninc/django-db-mutex/pull/53

are you removed py27?
does python2.7 support end?

@JioHooney version 1.0.0 adds support for django 2.0 which is python 3 only. We still test against django 1.11 and even though python 2.7 is no longer tested in this release, it should still work with 1.11. If you want to keep using this project with older versions of python and django, you can pin your version to 0.5.0.

@wesokes  I appreciate that.


Clean-up changelog

The changelog still uses master. This pull request replaces master with main and adds the sections again.

Or maybe the intention was that we use the changelogs in the platform folders. For example, here is a pull request that changed something in the core I think and the iOS and Android changelogs were updated:
https://github.com/maplibre/maplibre-gl-native/pull/34/files

I think we need to separate "core" changelog and platform changelogs.
Maybe something to discuss at the next steering meeting.

I added an agenda item.

If the core and platform bindings were versioned independently and lived in separate projects, we would not get into this situation where one fix leads to two changelog updates...


Dynamic config reloading doesn't work when trying to comment the "loglevel=5" line out

It should be set the loglevel back to INFO as default.

https://github.com/open-iscsi/tcmu-runner/issues/397

https://github.com/open-iscsi/tcmu-runner/pull/398

#398 is merged. Closing issue. Thanks.


Fixed missing d in pipeline api param

UpdatedBefore in pipeline api was not url encoded correctly and missed a
d. This could be very bad as there is no error from Gitlab to prompt
user that this is an invalid param.

Good catch! Thanks @sluongng!

Production data was affected because of this 😢

Ai, sorry to hear that!


last merge broke develop …

Missing ';' …

Yea I opened a pull request for it
On Mon, Jan 19, 2015, 3:55 AM Florian Delizy<EMAIL_ADDRESS>wrote:

Missing ';' ...
--
Reply to this email directly or view it on GitHub
https://github.com/concrete5/concrete5-5.7.0/issues/1838.

Thanks guys


TypeError: fetch_semanticscholar() takes 1 positional argument but 2 were given

When trying to use
docs_scopus, docs_notfound = litstudy.refine_semanticscholar(docs_bib, session=None)
I always get the error
TypeError: fetch_semanticscholar() takes 1 positional argument but 2 were given
might you please help me with this? All the rest is taken from the example.

Thanks for using litstudy!
This is a bug that has been fixed, but that fix is not yet been released on pip. It will be part of the next 1.0.6 release.
You can use the latest version of litstudy by using the following command
pip install git+https://github.com/NLeSC/litstudy

Thanks a lot. Has been solved


"Error: read ECONNRESET" messages in the console

A message like below is printed ~ every 30 minutes to the console (internet connection is stable)
Is there a way to keep console clean?
Error: read ECONNRESET
    at TLSWrap.onStreamRead (internal/stream_base_commons.js:200:27) {
  errno: 'ECONNRESET',
  code: 'ECONNRESET',
  syscall: 'read'
}

I have same problem on electron 7.1.13 win10 x64.

Same problem.

I created a PR to 'fix' this.


IoTCentral - Add ARM endpoint, update model responses/inputs, update tests

Added a new endpoint to check the availability of application subdomain.
Updated unit tests

REST spec PR: https://github.com/Azure/azure-rest-api-specs/pull/4015
Description

This checklist is used to make sure that common guidelines for a pull request are followed.

[x] Please add REST spec PR link to the SDK PR
[x] I have read the contribution guidelines.
[x] The pull request does not introduce breaking changes.

General Guidelines

[x] Title of the pull request is clear and informative.
[x] There are a small number of commits, each of which have an informative message. This means that previously merged commits do not appear in the history of the PR. For more information on cleaning up the commits in your PR, see this page.

Testing Guidelines

[x] Pull request includes test coverage for the included changes.

SDK Generation Guidelines

[x] If an SDK is being regenerated based on a new swagger spec, a link to the pull request containing these swagger spec changes has been included above.
[x] The generate.cmd file for the SDK has been updated with the version of AutoRest, as well as the commitid of your swagger spec or link to the swagger spec, used to generate the code.
[x] The *.csproj and AssemblyInfo.cs files have been updated with the new version of the SDK.

Thank you for the feedback @dsgouda. Is anything else required for this PR?

@r-delgadillo please address the last comments I left on this PR

@r-delgadillo please squash commits into a single commit

@r-delgadillo please squash commits into a single commit

@dsgouda Is this ok?

@dsgouda May we get this merged today? 😄


Pixel Vision 8 has its own site

Could you change PV8 to its main site at https://www.pixelvision8.com/
Also, there are a few pricing options:
Free (Limited tools), $9.99 (all tools) or $1/month (all versions plus extras)
Thanks!

Sure, updated.
Thanks for the information!


Add example script for console.log scenario

Add an example script running the foloowing scenario using WebDriver BiDi. It should work with ChromiumBiDi, ChromeDriver, EdgeDriver, Firefox.

Open a page.
Subscribe log events.
Evaluate console.log on the page.
Wait for log.entryAdded event.

KR: Chromium-BiDi supports “console.log” scenario
Priority: P1
Note: Scenario is focused on the main advantage BiDi vs Classic: async events. Tracking: https://github.com/GoogleChromeLabs/chromium-bidi/milestone/13
Note: Missing parts: log caching.

Note: Missing parts: log caching.

It is implemented in https://github.com/GoogleChromeLabs/chromium-bidi/issues/258

Looking into this. Should we create tests/test_console_log.py or should we augment tests/test_log_events.py?

It should be a script like examples/cross-browser.py in examples folder. Probably, examples/cross-browser.py should be renamed to something like script_example.py.


Add attachToDocument conditional deprecation message, fix #1545

What kind of change does this PR introduce? (check at least one)

[x] Bugfix
[ ] Feature
[ ] Code style update
[ ] Refactor
[ ] Build-related changes
[ ] Other, please describe:

Does this PR introduce a breaking change? (check one)

[ ] Yes
[x] No

If yes, please describe the impact and migration path for existing applications:
The PR fulfills these requirements:

[x] It's submitted to the dev branch.
[x] When resolving a specific issue, it's referenced in the PR's title (e.g. fix #xxx[,#xxx], where "xxx" is the issue number)
[x] All tests are passing: https://github.com/vuejs/vue-test-utils/blob/dev/.github/CONTRIBUTING.md#development-setup
[ ] New/updated tests are included

If adding a new feature, the PR's description includes:

[ ] A convincing reason for adding this feature (to avoid wasting your time, it's best to open a suggestion issue first and wait for approval before working on it)

Other information:
resolves #1545

Looks good! Fancy to add a unit test?

@afontcu do you know when it's possible to release this fix? I want to use the latest version in my codebase but I'm getting lots of warnings.

Looks good! Fancy to add a unit test?

Sure!


Use JNetReflector to create as many classes as possible in JNet

Is your feature request related to a problem? Please describe.
Java has many classes not reflected till now. JNetReflector seems enough mature and it is possible to use it to create gateway classes starting from the JARs of a generic JRE.
Describe the solution you'd like
Within the lib folder of a JRE there are the JARs of the Java SE classes, the main one is rt.jar. Within it there are the .class files usable to create the proxies, many classes are just available.
Since rt.jar is loaded from the JRE itself, it is not possible to add it in the Classpath like JNetReflector does now. So:

add an option to avoid to insert the JARs in classpath, but leave them to be analyzed
create a specific folder under JNet project to avoid to overwrite available files
until now JNetReflector does not manage generation of classes to receive events, verify how to avoid to create standard gateway classes for events

About classes to be reflected: many namespace in rt.jar maybe are internal, after first test try to avoid usefulness namespaces.
Use, as reference, a Java 8 JRE for backward compatibility (the classes available till now was generated from that reference) and use the official Oracle Javadoc URL.
Describe alternatives you've considered
N/A
Additional context
N/A

About

Use, as reference, a Java 8 JRE for backward compatibility (the classes available till now was generated from that reference) and use the official Oracle Javadoc URL.
Even if it is possible to use the rt.jar from Java SE 8, the execution can be done only on a Java SE 11+ and it can get the tool confused when the classes and Javadoc URLs will be generated; this mainly because:

classes are found using the content of the rt.jar file set in command-line
the reflection will be done using the runtime version available in the hosted JRE, but the minimum version supported from JCOBridge is Java SE 11
newest JRE can have classes exposing more methods which needs classes not listed in the rt.jar of Java 8

About

until now JNetReflector does not manage generation of classes to receive events, verify how to avoid to create standard gateway classes for events

some classes, which needs Java counterpart, ends with Listener. So in first instance if a class name ends with Listener the tool can avoid its reflection, but in general a tool like JNetReflector cannot distinguish which interface, or class, shall be managed in different way only because it represents a callback.

the reflection will be done using the runtime version available in the hosted JRE, but the minimum version supported from JCOBridge is Java SE 11

JNet will be updated to use Java 11 since JCOBridge is not supported on previous platforms

newest JRE can have classes exposing more methods which needs classes not listed in the rt.jar of Java 8

A new switch ModulesToParse will be added to list the modules that shall be reflected; since many classes maybe will be in conflict with .NET convention it will be added the NamespacesInConflict command line switch to list the namespace that must be changed: the namespace will be suffixed with an Ns string.

So in first instance if a class name ends with Listener the tool can avoid its reflection, but in general a tool like JNetReflector cannot distinguish which interface, or class, shall be managed in different way only because it represents a callback.

The previous will be implemented checking if the the ends with Listener or Adapter, then will be added a command line switch ClassesToBeListener to list all classes which are events callback.
Other than this some operators will be added, to enabled class conversion in case of interfaces, and the format will be:
public static implicit operator DestinationType(OriginType t) => t.Cast<DestinationType>();

Looking into the generated documentation seems that:

Operators miss references to the classes used: an help like Converter from X to Y, where X and Y are the links to the documentation
Method help does not report the parameter, return and exception which can be retrieved as reference and inserted into documentation: adding the references within these fields better fills the empty fields in documentation; maybe this can be done only for non native types

I open a specific low priority issue on this.

Update news section of README.md to inform on availability of Java 11 reflection

Other than this, some operators will be added to enabled class conversion in case of interfaces, and the format will be:

@masesdevelopers looking in the code and in the Java 11 documentation it is possible to highlight some missing operators. An example is BlockingQueue which miss all operators.
Seems the filtering happens in:
https://github.com/masesgroup/JNet/blob/67e73be4df1dda9e92102b9511aaaf7fb4c56dfc/src/net/JNetReflector/InternalMethods.cs#L582
which filters generic types, however generic classes are no more filtered.
The same filter is applies in:
https://github.com/masesgroup/JNet/blob/67e73be4df1dda9e92102b9511aaaf7fb4c56dfc/src/net/JNetReflector/InternalMethods.cs#L485
and
https://github.com/masesgroup/JNet/blob/67e73be4df1dda9e92102b9511aaaf7fb4c56dfc/src/net/JNetReflector/InternalMethods.cs#L643
and
https://github.com/masesgroup/JNet/blob/67e73be4df1dda9e92102b9511aaaf7fb4c56dfc/src/net/JNetReflector/InternalMethods.cs#L844