howdy working on terminal sudo, but not working with pkexec (gui-based sudo) authentication on ubuntu 21.04

I noticed this behavior while trying to update the system through the gui ubuntu updater.
Howdy works properly on the gdm and terminal sudo. However, while trying to use gui-based sudo authentication, like synaptics or updater, the pkexec popup will show "face detection authentication" and will loop between  a failed / face detection msg in the pkexec. I see the camera led blinking quickly. Therefore, pkexec doesn't fall back to fingerprint/password authentication, which forces me to disable howdy from pam auth.

I've searched for similar issues already, and my issue has not been reported yet. (checked)
Linux distribution (if applicable): ubuntu 21.04
Howdy version (sudo howdy version): 2.6.1

See #561

I am experiencing the same problem on 2.6.1, but on Fedora Silverblue.
Are there any troubleshooting steps, or log files I can look into?

To use a password or a face in a graphical interface,
add the following lines to the beginning of any required file, inside /etc/pam.d/* (*su, *su-l,*sudo, *sudo-i):
auth sufficient pam_unix.so try_first_pass likeauth nullok
auth sufficient pam_python.so /lib/security/howdy/pam.py
This will first ask for a password.
Then pressing Enter on a blank field will proceed to face authentication.


Any thoughts on supporting runtime and cloud configs?

As a platform operator
I need to use bosh addons to install components on all my jobs across deployments
So that I can comply with regulatory requirements
As a platform operator
I need to update instance types in my cloud config
So that I can deprecate end of life types.

This resource is being deprecated in favor of https://github.com/cloudfoundry/bosh-deployment-resource, so we are unlikely to add any new features.
We appreciate the level of involvement!


Fixes #12: States including css are now used

This fix allows to use the css attribute inside the state instead of declaring it inside views

I want this :+1:

@gastaldi Can you update this to use angular.isArray() rather than Array.isArray() so we can have better IE8 support? I'll merge it as soon as you do.
(PS. Sorry this has taken me so long to get to.)

@tennisgent Done. Thanks

Awesome. Thanks!


Unifi does not start in NixOS 23.11

Describe the bug
Unifi controller does not start after NixOS upgrade.
Steps To Reproduce
Steps to reproduce the behavior:

enable unifi service with services.unifi.unifiPackage = pkgs.unifi; (i.e. unifi 7.5.187 as of now)
the service does not start (due to mongodb restarting in a loop, see bellow)

Additional context
once again the same problem (but different error than with upgrade to nixos 23.05 - https://github.com/NixOS/nixpkgs/issues/236293)
However this time upgrading to mongodb 4.4 by setting mongodbPackage = pkgs.mongodb-4_4; while still on NixOS 23.05 doesn't help and renders the very same error as with 23.11 (see bellow). Of course setting mongodbPackage to the default mongo in 23.11 which is currently 6.0.11 (i.e. removing the setting completely) does not work either.
mongodb is restarting in a loop, producing these logs:
{"t":{"$date":"2023-12-18T17:13:02.930+00:00"},"s":"I",  "c":"CONTROL",  "id":20698,   "ctx":"main","msg":"***** SERVER RESTARTED *****"}
{"t":{"$date":"2023-12-18T17:13:02.935+00:00"},"s":"I",  "c":"CONTROL",  "id":23285,   "ctx":"main","msg":"Automatically disabling TLS 1.0, to force-enable TLS 1.0 specify --sslDisabledProtocols 'none'"}
{"t":{"$date":"2023-12-18T17:13:02.938+00:00"},"s":"I",  "c":"NETWORK",  "id":4648601, "ctx":"main","msg":"Implicit TCP FastOpen unavailable. If TCP FastOpen is required, set tcpFastOpenServer, tcpFastOpenClient, and tcpFastOpenQueueSize."}
{"t":{"$date":"2023-12-18T17:13:02.938+00:00"},"s":"I",  "c":"STORAGE",  "id":4615611, "ctx":"initandlisten","msg":"MongoDB starting","attr":{"pid":1466,"port":27117,"dbPath":"/var/lib/unifi/data/db","architecture":"64-bit","host":"unifi1"}}
{"t":{"$date":"2023-12-18T17:13:02.938+00:00"},"s":"I",  "c":"CONTROL",  "id":23403,   "ctx":"initandlisten","msg":"Build Info","attr":{"buildInfo":{"version":"4.4.19","gitVersion":"9a996e0ad993148b9650dc402e6d3b1804ad3b8a","openSSLVersion":"OpenSSL 3.0.8 7 Feb 2023","modules":[],"allocator":"tcmalloc","environment":{"distarch":"x86_64","target_arch":"x86_64"}}}}
{"t":{"$date":"2023-12-18T17:13:02.938+00:00"},"s":"I",  "c":"CONTROL",  "id":51765,   "ctx":"initandlisten","msg":"Operating System","attr":{"os":{"name":"nixos","version":"\"23.05\""}}}
{"t":{"$date":"2023-12-18T17:13:02.939+00:00"},"s":"I",  "c":"CONTROL",  "id":21951,   "ctx":"initandlisten","msg":"Options set by command line","attr":{"options":{"net":{"bindIp":"<IP_ADDRESS>","port":27117,"unixDomainSocket":{"pathPrefix":"/var/lib/unifi/run"}},"processManagement":{"pidFilePath":"/var/lib/unifi/run/mongod.pid"},"storage":{"dbPath":"/var/lib/unifi/data/db","wiredTiger":{"engineConfig":{"configString":"cache_size=256M"}}},"systemLog":{"destination":"file","logAppend":true,"logRotate":"reopen","path":"/var/lib/unifi/logs/mongod.log"}}}}
{"t":{"$date":"2023-12-18T17:13:02.939+00:00"},"s":"I",  "c":"STORAGE",  "id":22270,   "ctx":"initandlisten","msg":"Storage engine to use detected by data files","attr":{"dbpath":"/var/lib/unifi/data/db","storageEngine":"wiredTiger"}}
{"t":{"$date":"2023-12-18T17:13:02.939+00:00"},"s":"I",  "c":"STORAGE",  "id":22297,   "ctx":"initandlisten","msg":"Using the XFS filesystem is strongly recommended with the WiredTiger storage engine. See http://dochub.mongodb.org/core/prodnotes-filesystem","tags":["startupWarnings"]}
{"t":{"$date":"2023-12-18T17:13:02.940+00:00"},"s":"I",  "c":"STORAGE",  "id":22315,   "ctx":"initandlisten","msg":"Opening WiredTiger","attr":{"config":"create,cache_size=445M,session_max=33000,eviction=(threads_min=4,threads_max=4),config_base=false,statistics=(fast),log=(enabled=true,archive=true,path=journal,compressor=snappy),file_manager=(close_idle_time=100000,close_scan_interval=10,close_handle_minimum=250),statistics_log=(wait=0),verbose=[recovery_progress,checkpoint_progress,compact_progress],cache_size=256M"}}
{"t":{"$date":"2023-12-18T17:13:03.568+00:00"},"s":"W",  "c":"STORAGE",  "id":22347,   "ctx":"initandlisten","msg":"Failed to start up WiredTiger under any compatibility version. This may be due to an unsupported upgrade or downgrade."}
{"t":{"$date":"2023-12-18T17:13:03.568+00:00"},"s":"F",  "c":"STORAGE",  "id":28595,   "ctx":"initandlisten","msg":"Terminating.","attr":{"reason":"95: Operation not supported"}}
{"t":{"$date":"2023-12-18T17:13:03.568+00:00"},"s":"F",  "c":"-",        "id":23091,   "ctx":"initandlisten","msg":"Fatal assertion","attr":{"msgid":28595,"file":"src/mongo/db/storage/wiredtiger/wiredtiger_kv_engine.cpp","line":958}}
{"t":{"$date":"2023-12-18T17:13:03.568+00:00"},"s":"F",  "c":"-",        "id":23092,   "ctx":"initandlisten","msg":"\n\n***aborting after fassert() failure\n\n"}

Notify maintainers
@globin
@Patryk27
Metadata
Please run nix-shell -p nix-info --run "nix-info -m" and paste the result.
 - system: `"x86_64-linux"`
 - host os: `Linux 6.1.64, NixOS, 23.11 (Tapir), 23.11pre-git`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.18.1`
 - channels(root): `"nixos-23.11"`
 - nixpkgs: `/nix/var/nix/profiles/per-user/root/channels/nixos`

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

Ok so this can also be worked around by recreating the mongo database after upgrading mongodb as per https://github.com/NixOS/nixpkgs/issues/236293#issuecomment-1861403441

We might need some stateVersion stuff again?


[cleanup][8] some unused files can be deleted

we should delete following files:
be/src/util/fake_lock.h
be/src/util/mem_range.h

Welcome newcomers to solve this issue

LGTM.
I will solve this issue


Close Visitor Code When Engagement Starts

When SDK accepts an operator engagement request, the visitor code will automatically close. This is only for the alert presentation mode, as the embedded one will not be affected.
MOB-1932 and MOB-1934

!merge


ROX-22889: Cherry pick new genesis dump into 2.32 (targeting ACS 4.3.7)

cherry picked a handful of commits that update tests cases to get CI to pass


performance redundant of some flow.tensor.splat and eventually memset(in cuda)

Request description
There is flow.tensor.splat for pad or other reduction op. It is used to initialize the output buffer and its value.
The splat will be lowered to fill_buffer, and eventually lowered to memset (in cuda).
have we thought of removing this memset? The output buffer could be initialized at the next 'real' kernel.
For the following case, initialize the output buffer inside pad kernel.
func.func @pad_conv2d() {
  %input = util.unfoldable_constant dense<1.1> : tensor<1x16x16x3xf32>
  %weight0 = util.unfoldable_constant dense<1.2> : tensor<3x3x3x3xf32>
  %zero0 = util.unfoldable_constant dense<0.0> : tensor<f32>

  %652 = "mhlo.pad"(%input, %zero0) {edge_padding_high = dense<[0, 1, 1, 0]> : tensor<4xi64>, edge_padding_low = dense<[0, 1, 1, 0]> : tensor<4xi64>, interior_padding = dense<0> : tensor<4xi64>} : (tensor<1x16x16x3xf32>, tensor<f32>) -> tensor<1x18x18x3xf32>
  %653 = "mhlo.convolution"(%652, %weight0) {batch_group_count = 1 : i64, dimension_numbers = #mhlo.conv<raw input_batch_dimension = 0, input_feature_dimension = 3, input_spatial_dimensions = [1, 2], kernel_input_feature_dimension = 2, kernel_output_feature_dimension = 3, kernel_spatial_dimensions = [0, 1], output_batch_dimension = 0, output_feature_dimension = 3, output_spatial_dimensions = [1, 2]>, feature_group_count = 1 : i64, padding = dense<0> : tensor<2x2xi64>, rhs_dilation = dense<1> : tensor<2xi64>, window_strides = dense<2> : tensor<2xi64>} : (tensor<1x18x18x3xf32>, tensor<3x3x3x3xf32>) -> tensor<1x8x8x3xf32>
  check.expect_almost_eq_const(%653, dense<[[
      [[15.84, 15.84, 15.84],[23.76, 23.76, 23.76],[23.76, 23.76, 23.76],[23.76, 23.76, 23.76],[23.76, 23.76, 23.76],[23.76, 23.76, 23.76],[23.76, 23.76, 23.76],[23.76, 23.76, 23.76]],
      [[23.76, 23.76, 23.76],[35.64, 35.64, 35.64],[35.64, 35.64, 35.64],[35.64, 35.64, 35.64],[35.64, 35.64, 35.64],[35.64, 35.64, 35.64],[35.64, 35.64, 35.64],[35.64, 35.64, 35.64]],
      [[23.76, 23.76, 23.76],[35.64, 35.64, 35.64],[35.64, 35.64, 35.64],[35.64, 35.64, 35.64],[35.64, 35.64, 35.64],[35.64, 35.64, 35.64],[35.64, 35.64, 35.64],[35.64, 35.64, 35.64]],
      [[23.76, 23.76, 23.76],[35.64, 35.64, 35.64],[35.64, 35.64, 35.64],[35.64, 35.64, 35.64],[35.64, 35.64, 35.64],[35.64, 35.64, 35.64],[35.64, 35.64, 35.64],[35.64, 35.64, 35.64]],
      [[23.76, 23.76, 23.76],[35.64, 35.64, 35.64],[35.64, 35.64, 35.64],[35.64, 35.64, 35.64],[35.64, 35.64, 35.64],[35.64, 35.64, 35.64],[35.64, 35.64, 35.64],[35.64, 35.64, 35.64]],
      [[23.76, 23.76, 23.76],[35.64, 35.64, 35.64],[35.64, 35.64, 35.64],[35.64, 35.64, 35.64],[35.64, 35.64, 35.64],[35.64, 35.64, 35.64],[35.64, 35.64, 35.64],[35.64, 35.64, 35.64]],
      [[23.76, 23.76, 23.76],[35.64, 35.64, 35.64],[35.64, 35.64, 35.64],[35.64, 35.64, 35.64],[35.64, 35.64, 35.64],[35.64, 35.64, 35.64],[35.64, 35.64, 35.64],[35.64, 35.64, 35.64]],
      [[23.76, 23.76, 23.76],[35.64, 35.64, 35.64],[35.64, 35.64, 35.64],[35.64, 35.64, 35.64],[35.64, 35.64, 35.64],[35.64, 35.64, 35.64],[35.64, 35.64, 35.64],[35.64, 35.64, 35.64]]
  ]]> : tensor<1x8x8x3xf32>) : tensor<1x8x8x3xf32>
  return
}

IR after FormDispatchWorkgroups
// -----// IR Dump After FormDispatchWorkgroups (iree-flow-form-dispatch-workgroups) //----- //
func.func private @_pad_conv2d() {
  %cst = arith.constant dense<"0xA4707D41A4707D41A4707D417B14BE417B14BE417B14BE417B14BE417B14BE417B14BE417B14BE417B14BE417B14BE417B14BE417B14BE417B14BE417B14BE417B14BE417B14BE417B14BE417B14BE417B14BE417B14BE417B14BE417B14BE417B14BE417B14BE417B14BE415C8F0E425C8F0E425C8F0E425C8F0E425C8F0E425C8F0E425C8F0E425C8F0E425C8F0E425C8F0E425C8F0E425C8F0E425C8F0E425C8F0E425C8F0E425C8F0E425C8F0E425C8F0E425C8F0E425C8F0E425C8F0E427B14BE417B14BE417B14BE415C8F0E425C8F0E425C8F0E425C8F0E425C8F0E425C8F0E425C8F0E425C8F0E425C8F0E425C8F0E425C8F0E425C8F0E425C8F0E425C8F0E425C8F0E425C8F0E425C8F0E425C8F0E425C8F0E425C8F0E425C8F0E427B14BE417B14BE417B14BE415C8F0E425C8F0E425C8F0E425C8F0E425C8F0E425C8F0E425C8F0E425C8F0E425C8F0E425C8F0E425C8F0E425C8F0E425C8F0E425C8F0E425C8F0E425C8F0E425C8F0E425C8F0E425C8F0E425C8F0E425C8F0E427B14BE417B14BE417B14BE415C8F0E425C8F0E425C8F0E425C8F0E425C8F0E425C8F0E425C8F0E425C8F0E425C8F0E425C8F0E425C8F0E425C8F0E425C8F0E425C8F0E425C8F0E425C8F0E425C8F0E425C8F0E425C8F0E425C8F0E425C8F0E427B14BE417B14BE417B14BE415C8F0E425C8F0E425C8F0E425C8F0E425C8F0E425C8F0E425C8F0E425C8F0E425C8F0E425C8F0E425C8F0E425C8F0E425C8F0E425C8F0E425C8F0E425C8F0E425C8F0E425C8F0E425C8F0E425C8F0E425C8F0E427B14BE417B14BE417B14BE415C8F0E425C8F0E425C8F0E425C8F0E425C8F0E425C8F0E425C8F0E425C8F0E425C8F0E425C8F0E425C8F0E425C8F0E425C8F0E425C8F0E425C8F0E425C8F0E425C8F0E425C8F0E425C8F0E425C8F0E425C8F0E427B14BE417B14BE417B14BE415C8F0E425C8F0E425C8F0E425C8F0E425C8F0E425C8F0E425C8F0E425C8F0E425C8F0E425C8F0E425C8F0E425C8F0E425C8F0E425C8F0E425C8F0E425C8F0E425C8F0E425C8F0E425C8F0E425C8F0E425C8F0E42"> : tensor<1x8x8x3xf32>
  %cst_0 = arith.constant dense<0.000000e+00> : tensor<f32>
  %cst_1 = arith.constant dense<1.200000e+00> : tensor<3x3x3x3xf32>
  %cst_2 = arith.constant dense<1.100000e+00> : tensor<1x16x16x3xf32>
  %0 = util.optimization_barrier %cst_2 : tensor<1x16x16x3xf32>
  %1 = util.optimization_barrier %cst_1 : tensor<3x3x3x3xf32>
  %2 = util.optimization_barrier %cst_0 : tensor<f32>
  %3 = flow.tensor.load %2 : tensor<f32>
  %4 = flow.tensor.splat %3 : tensor<1x18x18x3xf32>
  %5 = flow.tensor.reshape %0 : tensor<1x16x16x3xf32> -> tensor<16x16x3xf32>
  %6 = flow.dispatch.workgroups(%5, %4) : (tensor<16x16x3xf32>, tensor<1x18x18x3xf32>) -> %4 =
      (%arg0: !flow.dispatch.tensor<readonly:tensor<16x16x3xf32>>, %arg1: !flow.dispatch.tensor<readwrite:tensor<1x18x18x3xf32>>) {
    %8 = flow.dispatch.tensor.load %arg0, offsets = [0, 0, 0], sizes = [16, 16, 3], strides = [1, 1, 1] : !flow.dispatch.tensor<readonly:tensor<16x16x3xf32>> -> tensor<16x16x3xf32>
    flow.dispatch.tensor.store %8, %arg1, offsets = [0, 1, 1, 0], sizes = [1, 16, 16, 3], strides = [1, 1, 1, 1] : tensor<16x16x3xf32> -> !flow.dispatch.tensor<readwrite:tensor<1x18x18x3xf32>>
    flow.return
  } count() -> (index, index, index) {
    %x, %y, %z = flow.dispatch.workgroup_count_from_slice
    flow.return %x, %y, %z : index, index, index
  }
  %7 = flow.dispatch.workgroups(%6, %1) : (tensor<1x18x18x3xf32>, tensor<3x3x3x3xf32>) -> tensor<1x8x8x3xf32> =
      (%arg0: !flow.dispatch.tensor<readonly:tensor<1x18x18x3xf32>>, %arg1: !flow.dispatch.tensor<readonly:tensor<3x3x3x3xf32>>, %arg2: !flow.dispatch.tensor<writeonly:tensor<1x8x8x3xf32>>) {
    %cst_3 = arith.constant 0.000000e+00 : f32
    %8 = flow.dispatch.tensor.load %arg0, offsets = [0, 0, 0, 0], sizes = [1, 18, 18, 3], strides = [1, 1, 1, 1] : !flow.dispatch.tensor<readonly:tensor<1x18x18x3xf32>> -> tensor<1x18x18x3xf32>
    %9 = flow.dispatch.tensor.load %arg1, offsets = [0, 0, 0, 0], sizes = [3, 3, 3, 3], strides = [1, 1, 1, 1] : !flow.dispatch.tensor<readonly:tensor<3x3x3x3xf32>> -> tensor<3x3x3x3xf32>
    %10 = tensor.empty() : tensor<1x8x8x3xf32>
    %11 = linalg.fill ins(%cst_3 : f32) outs(%10 : tensor<1x8x8x3xf32>) -> tensor<1x8x8x3xf32>
    %12 = linalg.conv_2d_nhwc_hwcf {dilations = dense<1> : tensor<2xi64>, strides = dense<2> : tensor<2xi64>} ins(%8, %9 : tensor<1x18x18x3xf32>, tensor<3x3x3x3xf32>) outs(%11 : tensor<1x8x8x3xf32>) -> tensor<1x8x8x3xf32>
    flow.dispatch.tensor.store %12, %arg2, offsets = [0, 0, 0, 0], sizes = [1, 8, 8, 3], strides = [1, 1, 1, 1] : tensor<1x8x8x3xf32> -> !flow.dispatch.tensor<writeonly:tensor<1x8x8x3xf32>>
    flow.return
  } count() -> (index, index, index) {
    %x, %y, %z = flow.dispatch.workgroup_count_from_slice
    flow.return %x, %y, %z : index, index, index
  }
  check.expect_almost_eq(%7, %cst) : tensor<1x8x8x3xf32>
  return
}

What component(s) does this issue relate to?
Compiler, Runtime
Additional context
No response

Yep, definitely should be fixed! There are some open issues around removing these fills - in most programs there should never be the need for a fill (or fills should be partial) and any place we see them popping up usually indicates a place where we could have avoided them. #6972 is tracking eliminating subranges of partial fills (not what you're seeing above) - #11049 and #13514 are two I recall that are more pad-specific and match this case. --iree-flow-enable-fuse-padding-into-linalg-consumer-op is a compiler flag you can try (mentioned in #11049) but I'm not sure of other issues that may come around with it. If either of those issues look interesting you can post some more examples of what you're seeing there!

Someone more familiar with the codegen side will have to say, but depending on how the reduction is implemented it can sometimes require a pre-zeroing. There's ways around this (or ways of making it zero much less) but I'm not sure any are implemented yet.
The issue there is if you want to parallelize something like this:
int sum = 0;
for (int i = 0; i < count; ++i) sum += element[i];

With more complex reduction schemes like tree reductions/input-aligned reductions/subgroup-level reductions you can avoid this, but it's situational. Ideally we'd never need to zero the output prior to a reduction and in-place reductions (that accumulate/etc into the output storage directly) are only when the producer is expensive.
So far these haven't been on the perf critical path so it hasn't got much investment. It still offends the sensibilities and would be great to avoid for many reasons but out of curiosity are you seeing a model where the fills take non-trivial amounts of time?

So far these haven't been on the perf critical path so it hasn't got much investment. It still offends the sensibilities and would be great to avoid for many reasons but out of curiosity are you seeing a model where the fills take non-trivial amounts of time?

It's noticeable. For more accurate consuming time percentage, I would have a try to see.
You know, memset operation can execute parallel with kernel in gpu, in-case-of multi-cuda stream environment, it's not easy to measure the perf impact.


[Feature request] Camera to Point segmentation attribute

Would be nice to add a class/name attribute on the points when the node mode is set as 'segmentation'

Implemented


Define a way to pre-select a path and file name

Hi there
I would like to have the ability to predefine a selected path and a selected file name.
Now I  use:
fc = FileChooser()
fc.default_path = os.getcwd() #current directory (using import 0s)
fc.default_filename = 'transformed_file.csv'
display (fc.default)
'/Users/aideenf/Documents/GitHub/Thesis_Aideen/Main/transformed_19_08_2020.csv'
which is perfect, however, I would like to set
fc.selected = fc.default
so that when I render the widget the specific path and file is already selected and the control is in
"change" mode rather than in "select" mode.
Regards
Aideen

Actually I just looked through the code and I see that fc._apply_selection() achieves exactly what I was looking for.
Thank you!

@aideenf, I think the quickest option is probably to use the select_default parameter:
fdialog = FileChooser(
    os.getcwd(),
    filename='transformed_file.csv',
    select_default=True
)

@crahan That does look a lot neater! Thanks a lot for the quick reply.
Regards,
Aideen

The select_default=True parameter only seems to work when the FileChooser is first created.
I'm doing this:
fc.reset(filename="new_file")
fc._apply_selection()

in order to change the selected file programmatically.  Is there a better way?

@CptofMySoul would the following be a solution to your use case?
fdialog.default_filename='hello.md'
fdialog.reset()

@CptofMySoul that would be the best way to do this right now. select_default was implemented mainly as a way to have a default value selected upon creation of a FileChooser object.
It sounds like there might be a need to programmatically change and apply the selected path and filename. Can you submit a new issue for this so I can properly track it for the next update?

@CptofMySoul I've merged the fix (https://github.com/crahan/ipyfilechooser/pull/33) and released version 0.4.1 which fixes this. Thanks again for pointing out the bug! Much appreciated.


How to make this work with SASS extension

It looks like I can't have the cake and eat it, too.
The problem: CSS3 extension requires the "file type" to be set to CSS3 to take effect.
The same goes for the SASS extension.
So it appears that both extensions are mutually exclusive, as I can't configure any to also be active when the other file type is being loaded.
Any ideas on how to enable both CSS3 autocompletion + SASS autocompletion for a *.scss file?
Thanks!
Oliver

+1

Yes please!

First, I'm sorry for the late reply. I've been in a cave studying for job interviews. Second, I'm sorry but SASS support is not possible. The syntax definition is 10k lines that are highly specific to CSS syntax. SCSS syntax diverges too much from CSS.
As an alternative, I can only suggest cssnext, which is fully supported. It has most of the SASS features you want, with a syntax that arguably is CSS (because it's based on W3C draft specs).

Thanks for the reply @y0ssar1an
Not sure if it changes anything, but I wasn‘t looking for Sass syntax support from your extention.
Merely a configuration option that allows your extension as-is to play nicely with eg an existing Sass extension.
Eg, if I could tell your extension to also be active when other fily types are being loaded, not just *.css than that would already help a ton.

Sorry I misunderstood your issue earlier. The two major services provided by CSS3 are 1) syntax highlighting and 2) completions. I thought you were asking for 1, but really you were asking for 2. If I understand you correctly, you're asking if it's possible to use CSS3's completions when you're editing a SASS file.
Sadly, I have to disappoint you again. I installed the Sass package and looked at its syntax definition to see if this was possible. Completions work hand-in-hand with the syntax definition. The syntax definition applies labels (aka "scopes") to the text. For example,
h1 {
    colo|r: red;
}

The cursor is on the color property above. These are the labels applied by the CSS3 syntax definition.
source.css
meta.rule.css
meta.declaration-list.css
support.type.property-name.css

The completions system looks for those labels under the cursor. If the cursor is on text with the right label, the completions menu pops up.
The problem is that the Sass syntax definition applies its own labels to the text, and my completions were written specifically for the labels in CSS3.sublime-syntax. It's possible to write completions that would work for both CSS code and SCSS code. The Sass authors left the door open for that by using labels like support.type.property-name.css.scss. Unfortunately, when I wrote the completions I was just trying to get them working with CSS3 labels. I wanted the completions to be highly specific to what the user is typing. That meant applying lots of custom labels. The Sass package doesn't apply those labels, so the CSS3 completions wouldn't be triggered even if I modified them to permit source.scss.
I think the only way this could ever happen is to write a new syntax definition and completions from scratch, with the explicit goal of supporting both CSS and SCSS. That's a huge undertaking and I have no plans to do that, sorry!

Thank you for the detailed response, I guess I was too naive in thinking that plugins could generally run „in parallel“ for any given file if only they recognize the file extension.


Edge stroke gradients and contribution changes

Hi, I noticed that edge stroke gradients functionality is in the code but is commented out. Is there a reason why?
I have been working on port and edge coloring and found that I've been making some small changes to GraphViewBase to get things working. Is this repo open to submit pull request?

Uh, good question. If I remember correctly, it was just not needed at the time for NewGraph. I really appreciate any pull request, so send them in and I'll check if they are compatible. :)

@Doppelkeks I submitted a PR. There could be possibly more work to be done since Edge.cs currently resets InputColor and OutputColor on edge selection. In my graph editor I override this to only set EdgeWidth on selected but I didn't touch this since NewGraph styling relies on this.


accel: rewrite to lift vase & codegen

wat think @hanfel-dovned

Excellent and instructive implementation, great job @liam-fitzgerald. Big fan of using raw types instead of a $% with diff messages for the pokes in accel-conf, it makes for a more polymorphic interface and should definitely be used in our other example codebases. cc @hanfel-dovned
Main thing missing is a way to send the output of a cell's computation to another cell for the "spatial command line" story. We could try to just do this through the UI alone, but it would be nice if the provenance of the poke was clear to the receiving end. Now that I'm getting deeper into this, I am not sure if there is a good way to give the user feedback on the result of their poke attempt. But we do need an example of this use-case, even if it's not perfect.
Other nice-to-haves would be full CRUD functionality on cells and dependencies, ie the ability to delete rows and columns, and remove dependencies from a cell.

This rules. Internal shrub plexus...
I think the only concept I don't understand is this line. What's a %ford-riff, where/why are we making it, and how is it allowed to accept a vase as the head of its pail? It ends up running the cell code, which propagates back up to accel as a gift, I just don't get the mechanics around what we're making.


fix(clerk-js): Fix custom page rerendering issues

Description

Adding this memoization seems to fix both icon flickering and infinite rerender on the modal version. Not sure why. Content of the page is still mutable so no functionality seems to be affected. @anagstef I'd appreciate if you could verify why this change works as I'm not that familiar with this feature implementation.

Checklist

[ ] npm test runs as expected.
[ ] npm run build runs as expected.
[ ] (If applicable) JSDoc comments have been added or updated for any package exports
[ ] (If applicable) Documentation has been updated

Type of change

[ ] 🐛 Bug fix
[ ] 🌟 New feature
[ ] 🔨 Breaking change
[ ] 📖 Refactoring / dependency upgrade / documentation
[ ] other:

Let's add the changeset once we verify why this fix works.

@desiprisg Good job! This fix works. I'll resolve the conflicts and add a changeset!


Add attribution for data sources

Is your feature request related to a problem? Please describe.
Globelet does not currently display any attribution for data sources.
Describe the solution you'd like
Globelet should automatically add a small overlay, with info from the .attribution property of the TileJSON, for each source in the style document
Describe alternatives you've considered
The user could write their own HTML, and dig through their style document to find the sources of data... but if the data is there in the TileJSON, why can't we do it for them?
Additional context
We don't want our Globelet examples showing up on this list 😀:
https://wiki.openstreetmap.org/wiki/Lacking_proper_attribution

We might want to give an option to credit the cartographer, or other creators of the style document?

Good idea.
I had added attribution to the index.html for examples while working on the
website. Maybe that branch wasn't merged?
On Mon, Aug 23, 2021 at 5:03 PM Jeshurun Hembd @.***>
wrote:

We might also want to give an option to credit the cartographer, or other
creators of the style document?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/GlobeletJS/GlobeletJS/issues/16#issuecomment-904164206,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ALIVQJIQ4VFTOQGN7NRNZ7DT6LAUHANCNFSM5CVRAQHA
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&utm_campaign=notification-email
.

There can be multiple sources in the style document, but not all of them are being used in every map view. Some are geographically limited, and some are only displayed at certain zooms.
tile-setter is where we keep track of which sources are actually being displayed on the map. So that is the logical place to collect the attribution strings. I will open a related issue there.


Vibration not working in games that supports xinput

Hello I've experienced a problem where force feedback or vibration works in games that only support directinput like ( need for speed underground 1 ) but in the same when I try to play a game that supports xinput like Dirt3 my controller doesn't vibrate at all
Update: Just tried another game (JustCause2) which also supports xinput and the vibration actually worked but was acting weird it just alters the speed from super low to really high randomly, sometimes it would be really high even though I'm just standing and not doing anything
Update2: tried another directinput game Need for speed Most wanted (2005) and this time vibration didn't work.
I don't really know what's wrong maybe it's something on my end? I'm sorry if this seems pointless to you

so after few more tests it turns out that my controller wasn't vibrating in Dirt3 because the game supports both dinput and xinput so I've downloaded dinput8-x360ce21 which acutally stops the game from reading dinput and only reading xinput and vibration started working normally
So I guess I'm better playing dinput games like (nfsMW) and (nfsUG) with my controller without any software and playing games that support xinput using xoutput is that correct?

Hello, you are right. If the game supports dinput, you do no need anything, just play the game. If it is xinput and does not recognize your controller, then use XOutput to play.

Thanks for your reply, what about the dll that I mentioned though should I keep on using it ?
would it be of any help to you in making that "exclusivity" feature everyone is talking about?
Of course I don't mean any disrespect or telling you what to do, I'm merely asking questions.

 If they work properly then you can use it. If you face any issues, it is better to play without XOutput and the blocker.
Exclusivity is difficult to achieve, as I do not want to modify game files. Some games may ban you for that.


Fix tlv8.Unmarshal failure for rtp.RTPParams

similar issue as #21

also fix #29.
I got the tlv8 data from hap log and ssrc value from homed log, [26, 144, 146, 159] represents for<PHONE_NUMBER>, so it's uint32.
13:22:42.882685+0800	homed	AVCVideoStream [NOTICE] -[AVCVideoStream configure:error:]:247  configuration=
13:22:42.882703+0800	homed	AVCVideoStream [NOTICE] -[AVCVideoStream configure:error:]:247  direction             = 2
13:22:42.882899+0800	homed	AVCVideoStream [NOTICE] -[AVCVideoStream configure:error:]:247  localAddress.ip       = <IP_ADDRESS>
13:22:42.882917+0800	homed	AVCVideoStream [NOTICE] -[AVCVideoStream configure:error:]:247  localAddress.port     = 53467
13:22:42.882927+0800	homed	AVCVideoStream [NOTICE] -[AVCVideoStream configure:error:]:247  remoteAddress.ip      = <IP_ADDRESS>
13:22:42.882939+0800	homed	AVCVideoStream [NOTICE] -[AVCVideoStream configure:error:]:247  remoteAddress.ipv6    = NO
13:22:42.883033+0800	homed	AVCVideoStream [NOTICE] -[AVCVideoStream configure:error:]:247  remoteAddress.port    = 63702
13:22:42.883076+0800	homed	AVCVideoStream [NOTICE] -[AVCVideoStream configure:error:]:247  txPayloadType         = 99
13:22:42.883383+0800	homed	AVCVideoStream [NOTICE] -[AVCVideoStream configure:error:]:247  rxPayloadType         = 99
13:22:42.883414+0800	homed	AVCVideoStream [NOTICE] -[AVCVideoStream configure:error:]:247  SRTPCipherSuite       = 3, AVC_CIPHER_AES_128_AUTH_SHA1_80
13:22:42.883461+0800	homed	AVCVideoStream [NOTICE] -[AVCVideoStream configure:error:]:247  SRTCPCipherSuite      = 3, AVC_CIPHER_AES_128_AUTH_SHA1_80
13:22:42.883492+0800	homed	AVCVideoStream [NOTICE] -[AVCVideoStream configure:error:]:247  sendMasterKey         = {length = 30, bytes = 0x32d1b5ca 7407e9fa ea9a0290 2578f304 ... 0efa68be 83e1bad8 }
13:22:42.883506+0800	homed	AVCVideoStream [NOTICE] -[AVCVideoStream configure:error:]:247  receiveMasterKey      = {length = 30, bytes = 0x32d1b5ca 7407e9fa ea9a0290 2578f304 ... 0efa68be 83e1bad8 }
13:22:42.883517+0800	homed	AVCVideoStream [NOTICE] -[AVCVideoStream configure:error:]:247  rtcpEnabled           = Enabled
13:22:42.883527+0800	homed	AVCVideoStream [NOTICE] -[AVCVideoStream configure:error:]:247  rtcpSendInterval      = 0.500000
13:22:42.883939+0800	homed	AVCVideoStream [NOTICE] -[AVCVideoStream configure:error:]:247  rtcpTimeOutEnabled    = Enabled
13:22:42.883960+0800	homed	AVCVideoStream [NOTICE] -[AVCVideoStream configure:error:]:247  rtcpTimeOutInterval   = 30.000000
13:22:42.883999+0800	homed	AVCVideoStream [NOTICE] -[AVCVideoStream configure:error:]:247  rtpTimeOutEnabled     = Enabled
13:22:42.884011+0800	homed	AVCVideoStream [NOTICE] -[AVCVideoStream configure:error:]:247  rtpTimeOutInterval    = 30.000000
13:22:42.884090+0800	homed	AVCVideoStream [NOTICE] -[AVCVideoStream configure:error:]:247  rtcpRemotePort        = 63702
13:22:42.884207+0800	homed	AVCVideoStream [NOTICE] -[AVCVideoStream configure:error:]:247  remoteSSRC            =<PHONE_NUMBER>
13:22:42.884313+0800	homed	AVCVideoStream [NOTICE] -[AVCVideoStream configure:error:]:247  deviceLocalSSRC       =<PHONE_NUMBER>
13:22:42.884346+0800	homed	AVCVideoStream [NOTICE] -[AVCVideoStream configure:error:]:247  rateAdaptationEnabled = Enabled
13:22:42.884507+0800	homed	AVCVideoStream [NOTICE] -[AVCVideoStream configure:error:]:247  video.txCodecType     = 0, kAVCCodecTypeH264
13:22:42.884598+0800	homed	AVCVideoStream [NOTICE] -[AVCVideoStream configure:error:]:247  video.rxCodecType     = 0, kAVCCodecTypeH264
13:22:42.884699+0800	homed	AVCVideoStream [NOTICE] -[AVCVideoStream configure:error:]:247  video.videoResolution = 8, kAVCVideoResolution1280x720
13:22:42.884804+0800	homed	AVCVideoStream [NOTICE] -[AVCVideoStream configure:error:]:247  video.framerate       = 30
13:22:42.884834+0800	homed	AVCVideoStream [NOTICE] -[AVCVideoStream configure:error:]:247  video.rxMaxBitrate    = 1078000
13:22:42.884922+0800	homed	AVCVideoStream [NOTICE] -[AVCVideoStream configure:error:]:247  video.rxMinBitrate    = 299000
13:22:42.884954+0800	homed	AVCVideoStream [NOTICE] -[AVCVideoStream configure:error:]:247  , error=<nil>
13:22:42.890391+0800	homed	AVCVideoStream [NOTICE] -[AVCVideoStream start]:301 AVCVideoStream API_VCMEDIASTREAM_STARTCONFERENCE (client side)
13:22:42.890640+0800	homed	AVCVideoStream [NOTICE] -[AVCVideoStream start]:313 @:@ AVCVideoStream-start (0x1543859f0)
13:22:42.890929+0800	homed	AVCAudioStream [NOTICE] -[AVCAudioStream configure:error:]:270  configuration=
13:22:42.890952+0800	homed	AVCAudioStream [NOTICE] -[AVCAudioStream configure:error:]:270  direction             = 3
13:22:42.890964+0800	homed	AVCAudioStream [NOTICE] -[AVCAudioStream configure:error:]:270  localAddress.ip       = <IP_ADDRESS>
13:22:42.891046+0800	homed	AVCAudioStream [NOTICE] -[AVCAudioStream configure:error:]:270  localAddress.port     = 60123
13:22:42.891159+0800	homed	AVCAudioStream [NOTICE] -[AVCAudioStream configure:error:]:270  remoteAddress.ip      = <IP_ADDRESS>
13:22:42.891261+0800	homed	AVCAudioStream [NOTICE] -[AVCAudioStream configure:error:]:270  remoteAddress.ipv6    = NO
13:22:42.891379+0800	homed	AVCAudioStream [NOTICE] -[AVCAudioStream configure:error:]:270  remoteAddress.port    = 62638
13:22:42.891510+0800	homed	AVCAudioStream [NOTICE] -[AVCAudioStream configure:error:]:270  txPayloadType         = 110
13:22:42.891618+0800	homed	AVCAudioStream [NOTICE] -[AVCAudioStream configure:error:]:270  rxPayloadType         = 110
13:22:42.891722+0800	homed	AVCAudioStream [NOTICE] -[AVCAudioStream configure:error:]:270  SRTPCipherSuite       = 3, AVC_CIPHER_AES_128_AUTH_SHA1_80
13:22:42.891828+0800	homed	AVCAudioStream [NOTICE] -[AVCAudioStream configure:error:]:270  SRTCPCipherSuite      = 3, AVC_CIPHER_AES_128_AUTH_SHA1_80
13:22:42.891861+0800	homed	AVCAudioStream [NOTICE] -[AVCAudioStream configure:error:]:270  sendMasterKey         = {length = 30, bytes = 0xdbf49a42 b16977a4 3aeeaa91 e8f6e0ac ... fe23672c baeca0d3 }
13:22:42.891916+0800	homed	AVCAudioStream [NOTICE] -[AVCAudioStream configure:error:]:270  receiveMasterKey      = {length = 30, bytes = 0xdbf49a42 b16977a4 3aeeaa91 e8f6e0ac ... fe23672c baeca0d3 }
13:22:42.892004+0800	homed	AVCAudioStream [NOTICE] -[AVCAudioStream configure:error:]:270  rtcpEnabled           = Enabled
13:22:42.892043+0800	homed	AVCAudioStream [NOTICE] -[AVCAudioStream configure:error:]:270  rtcpSendInterval      = 5.000000
13:22:42.892137+0800	homed	AVCAudioStream [NOTICE] -[AVCAudioStream configure:error:]:270  rtcpTimeOutEnabled    = Enabled
13:22:42.892179+0800	homed	AVCAudioStream [NOTICE] -[AVCAudioStream configure:error:]:270  rtcpTimeOutInterval   = 30.000000
13:22:42.892209+0800	homed	AVCAudioStream [NOTICE] -[AVCAudioStream configure:error:]:270  rtpTimeOutEnabled     = Enabled
13:22:42.892239+0800	homed	AVCAudioStream [NOTICE] -[AVCAudioStream configure:error:]:270  rtpTimeOutInterval    = 30.000000
13:22:42.892268+0800	homed	AVCAudioStream [NOTICE] -[AVCAudioStream configure:error:]:270  rtcpRemotePort        = 62638
13:22:42.892297+0800	homed	AVCAudioStream [NOTICE] -[AVCAudioStream configure:error:]:270  remoteSSRC            = 398958554
13:22:42.892327+0800	homed	AVCAudioStream [NOTICE] -[AVCAudioStream configure:error:]:270  deviceLocalSSRC       = 162812879
13:22:42.892354+0800	homed	AVCAudioStream [NOTICE] -[AVCAudioStream configure:error:]:270  rateAdaptationEnabled = Enabled
13:22:42.892415+0800	homed	AVCAudioStream [NOTICE] -[AVCAudioStream configure:error:]:270  audio.codecType       = 9, kAVCCodecTypeOpus24K
13:22:42.892446+0800	homed	AVCAudioStream [NOTICE] -[AVCAudioStream configure:error:]:270  audio.dtmfPayloadType = 0
13:22:42.892477+0800	homed	AVCAudioStream [NOTICE] -[AVCAudioStream configure:error:]:270  audio.octetAligned    = YES
13:22:42.892505+0800	homed	AVCAudioStream [NOTICE] -[AVCAudioStream configure:error:]:270  audio.dtxEnabled      = Enabled
13:22:42.892548+0800	homed	AVCAudioStream [NOTICE] -[AVCAudioStream configure:error:]:270  audio.audioStreamMode = 3
13:22:42.892576+0800	homed	AVCAudioStream [NOTICE] -[AVCAudioStream configure:error:]:270  audio.cnEnabled       = Disabled
13:22:42.892604+0800	homed	AVCAudioStream [NOTICE] -[AVCAudioStream configure:error:]:270  audio.cnPayloadType   = 13
13:22:42.892635+0800	homed	AVCAudioStream [NOTICE] -[AVCAudioStream configure:error:]:270  audio.ptime           = 20 ms
13:22:42.892666+0800	homed	AVCAudioStream [NOTICE] -[AVCAudioStream configure:error:]:270  , error=<nil>

Thanks for the pull request. Good work! 👍


[HUDI-2322] Use correct meta columns while preparing dataset for bulk insert

What is the purpose of the pull request
In absence of this fix, _hoodie_is_deleted will be considered as a meta field and placed at the beginning while reordering fields while preparing dataset for bulk insert.
Brief change log
(for example:)

Modify AnnotationLocation checkstyle rule in checkstyle.xml

Verify this pull request
(Please pick either of the following options)
This pull request is a trivial rework / code cleanup without any test coverage.
(or)
This pull request is already covered by existing tests, such as (please describe tests).
(or)
This change added tests and can be verified as follows:
(example:)

Added integration tests for end-to-end.
Added HoodieClientWriteTest to verify the change.
Manually verified the change by running a job locally.

Committer checklist

[ ] Has a corresponding JIRA in PR title & commit

[ ] Commit message is descriptive of the change

[ ] CI is green

[ ] Necessary doc changes done or have another open PR

[ ] For large changes, please consider breaking it into sub-tasks under an umbrella JIRA.

Will land once CI succeeds

@codope this does not seem like MINOR. can we file. JIRA for this fix

@codope this does not seem like MINOR. can we file. JIRA for this fix

Filed JIRA and updated PR title.


PasswordShowHide #69

#69
Added Password show hide button with functionality
Pls review my pr asap and let me know if any changes required
https://user-images.githubusercontent.com/96647299/193661841-986291e7-72c7-4a15-b699-c91d6e27a2b5.mp4

@nitin-787 pls check my pr and let me know if any other changes required


Get rid of fmt.Print...() methods

Use proper output writer instead and redirect output

Do you have any preferences in that regard?
My suggestion would be https://github.com/hashicorp/go-hclog or https://github.com/uber-go/zap
However, it could also make sense to define a logger interface and implement it with a logger of choice. This would provide the advantage that the log implementation could easily be swapped, should the need arise.

@christophd Your thoughts on this?


gui demo and some gut godot test

Hey, if git didnt screwed my brain up, this works, doesnt break the readme file and everyhting works!

#4


feature: support version valid check

Signed-off-by: slievrly<EMAIL_ADDRESS>
Ⅰ. Describe what this PR did
feature: support version valid check
Ⅱ. Does this pull request fix one issue?

Ⅲ. Why don't you add test cases (unit test/integration test)?
Ⅳ. Describe how to verify it
Ⅴ. Special notes for reviews

Codecov Report

Merging #2622 into develop will decrease coverage by 0.04%.
The diff coverage is 4.34%.

@@              Coverage Diff              @@
##             develop    #2622      +/-   ##
=============================================
- Coverage      51.19%   51.15%   -0.05%
- Complexity      2819     2820       +1
=============================================
  Files            556      556
  Lines          17833    17842       +9
  Branches        2110     2110
=============================================
- Hits            9130     9127       -3
- Misses          7835     7854      +19
+ Partials         868      861       -7

Impacted Files
Coverage Δ
Complexity Δ

...ata/core/rpc/DefaultServerMessageListenerImpl.java
0.00% <0.00%> (ø)
0.00 <0.00> (ø)

.../io/seata/core/rpc/netty/NettyPoolableFactory.java
8.77% <0.00%> (-0.32%)
2.00 <0.00> (ø)

...main/java/io/seata/core/rpc/netty/RmRpcClient.java
29.78% <0.00%> (-0.99%)
9.00 <0.00> (ø)

...main/java/io/seata/core/rpc/netty/TmRpcClient.java
59.18% <0.00%> (-3.86%)
9.00 <0.00> (ø)

.../src/main/java/io/seata/core/protocol/Version.java
7.69% <4.54%> (+7.69%)
2.00 <1.00> (+2.00)

...o/seata/core/protocol/AbstractIdentifyRequest.java
50.00% <100.00%> (ø)
3.00 <0.00> (ø)

.../seata/core/protocol/AbstractIdentifyResponse.java
81.48% <100.00%> (ø)
4.00 <0.00> (ø)

...torage/file/store/FileTransactionStoreManager.java
57.23% <0.00%> (+0.64%)
29.00% <0.00%> (+1.00%)

...utoconfigure/properties/client/UndoProperties.java
53.84% <0.00%> (+6.78%)
4.00% <0.00%> (ø%)

.../seata/rm/datasource/exec/MultiUpdateExecutor.java
85.29% <0.00%> (+8.37%)
12.00% <0.00%> (-1.00%)
:arrow_up:

... and 3 more

Codecov Report

Merging #2622 into develop will increase coverage by 0.74%.
The diff coverage is 4.34%.

@@              Coverage Diff              @@
##             develop    #2622      +/-   ##
=============================================
+ Coverage      50.03%   50.77%   +0.74%
+ Complexity      2954     2814     -140
=============================================
  Files            592      557      -35
  Lines          18998    17882    -1116
  Branches        2290     2088     -202
=============================================
- Hits            9506     9080     -426
+ Misses          8549     7913     -636
+ Partials         943      889      -54

Impacted Files
Coverage Δ
Complexity Δ

...ata/core/rpc/DefaultServerMessageListenerImpl.java
0.00% <0.00%> (ø)
0.00 <0.00> (ø)

.../io/seata/core/rpc/netty/NettyPoolableFactory.java
8.77% <0.00%> (-0.32%)
2.00 <0.00> (ø)

...main/java/io/seata/core/rpc/netty/RmRpcClient.java
29.78% <0.00%> (-11.88%)
9.00 <0.00> (-1.00)

...main/java/io/seata/core/rpc/netty/TmRpcClient.java
59.18% <0.00%> (-12.01%)
9.00 <0.00> (-1.00)

.../src/main/java/io/seata/core/protocol/Version.java
7.69% <4.54%> (+7.69%)
2.00 <1.00> (+2.00)

...o/seata/core/protocol/AbstractIdentifyRequest.java
50.00% <100.00%> (ø)
3.00 <0.00> (ø)

.../seata/core/protocol/AbstractIdentifyResponse.java
81.48% <100.00%> (ø)
4.00 <0.00> (ø)

...ing/annotation/GlobalTransactionalInterceptor.java
9.33% <0.00%> (-15.87%)
2.00% <0.00%> (-5.00%)

...obuf/convertor/BranchRegisterRequestConvertor.java
90.47% <0.00%> (-9.53%)
3.00% <0.00%> (ø%)

... and 120 more


Fix some typos in comments

Thanks for the pull request!

If you care, my PR preferences are at https://github.com/ndmitchell/neil#contributions, but they're all guidelines, and I'm not too fussy - you don't have to read them.

Thanks!


chore(ci): only run circleci on master

We should be catching errors in old CI, and we were hitting spot instance interruptions that seemingly the best advice was 'ignore them'. Probably time for this

Benchmark results
Metrics with a significant change:

app_circuit_proving_time_in_ms (Test:emit_nullifier): 1,824 (-26%)
protocol_circuit_witness_generation_time_in_ms (base-parity): 231 (-70%)
protocol_circuit_witness_generation_time_in_ms (root-parity): 165 (+31%)
protocol_circuit_witness_generation_time_in_ms (merge-rollup): 148 (+69%)
protocol_circuit_proving_time_in_ms (merge-rollup): 2,178 (+34%)

Detailed results
All benchmarks are run on txs on the Benchmarking contract on the repository. Each tx consists of a batch call  to create_note and increment_balance, which guarantees that each tx has a private call, a nested private call, a public call, and a nested public call, as well as an emitted private note, an unencrypted log, and public storage read and write.
This benchmark source data is available in JSON format on S3 here.
L2 block published to L1
Each column represents the number of txs on an L2 block published to L1.

Metric
8 txs
32 txs
64 txs

l1_rollup_calldata_size_in_bytes
740
740
740

l1_rollup_calldata_gas
6,656
6,668
6,680

l1_rollup_execution_gas
586,841
586,853
586,865

l2_block_processing_time_in_ms
1,593 (-2%)
5,982 (-2%)
11,903 (-2%)

l2_block_building_time_in_ms
34,960 (-2%)
137,238 (-1%)
272,750 (-2%)

l2_block_rollup_simulation_time_in_ms
34,748 (-2%)
136,470 (-1%)
271,172 (-2%)

l2_block_public_tx_process_time_in_ms
16,352 (-2%)
69,737 (-2%)
140,319 (-2%)

L2 chain processing
Each column represents the number of blocks on the L2 chain where each block has 16 txs.

Metric
5 blocks
10 blocks

node_history_sync_time_in_ms
18,000
33,439

node_database_size_in_bytes
21,348,432
38,056,016

pxe_database_size_in_bytes
29,868
59,425

Circuits stats
Stats on running time and I/O sizes collected for every kernel circuit run across all benchmarks.

Metric
1 leaves
16 leaves
64 leaves
128 leaves
512 leaves
1024 leaves
2048 leaves
4096 leaves
32 leaves

batch_insert_into_append_only_tree_16_depth_ms
13.1 (-1%)
21.3 (-1%)
N/A
N/A
N/A
N/A
N/A
N/A
N/A

batch_insert_into_append_only_tree_16_depth_hash_count
16.7
31.8
N/A
N/A
N/A
N/A
N/A
N/A
N/A

batch_insert_into_append_only_tree_16_depth_hash_ms
0.767 (-1%)
0.657 (-1%)
N/A
N/A
N/A
N/A
N/A
N/A
N/A

batch_insert_into_append_only_tree_32_depth_ms
N/A
N/A
61.4
96.4 (-1%)
318
608
1,182 (-2%)
2,341 (-2%)
N/A

batch_insert_into_append_only_tree_32_depth_hash_count
N/A
N/A
95.9
159
543
1,055
2,079
4,127
N/A

batch_insert_into_append_only_tree_32_depth_hash_ms
N/A
N/A
0.631
0.597 (-1%)
0.577
0.569
0.562 (-2%)
0.561 (-2%)
N/A

batch_insert_into_indexed_tree_20_depth_ms
N/A
N/A
73.5 (-1%)
142 (-1%)
451 (-2%)
892
1,757 (-2%)
3,497 (-3%)
N/A

batch_insert_into_indexed_tree_20_depth_hash_count
N/A
N/A
106
208
692
1,363
2,707
5,395
N/A

batch_insert_into_indexed_tree_20_depth_hash_ms
N/A
N/A
0.644 (-1%)
0.642 (-1%)
0.615 (-1%)
0.616
0.611 (-2%)
0.611 (-2%)
N/A

batch_insert_into_indexed_tree_40_depth_ms
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
80.4 (-1%)

batch_insert_into_indexed_tree_40_depth_hash_count
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
108

batch_insert_into_indexed_tree_40_depth_hash_ms
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
0.709

Miscellaneous
Transaction sizes based on how many contract classes are registered in the tx.

Metric
0 registered classes
1 registered classes

tx_size_in_bytes
84,315
673,143

Transaction size based on fee payment method
| Metric |  |
| - |  |
Transaction processing duration by data writes.

Metric
0 new note hashes
1 new note hashes
2 new note hashes

tx_pxe_processing_time_ms
37,196 (+1%)
3,608 (-2%)
112,657

Metric
0 public data writes
1 public data writes
2 public data writes
4 public data writes
8 public data writes

tx_sequencer_processing_time_ms
1,314 (+1%)
2,269
1,889 (-1%)
2,833
1,803


Add script to facilitate running MSAL automation during MSAL release

The script can be run as follows:
.\MsalReleaseAutomation.ps1 -msalVersion 2.0.6-RC1 -labSecret <secret-value>

The script can be run as follows:
.\MsalReleaseAutomation.ps1 -msalVersion 2.0.6-RC1 -labSecret <secret-value>

Thanks for this PR, @shahzaibj -- I think we would also benefit from a having a docs/ page capturing

"How to Run Automation" -> pointer to this script
"Acquiring the Lab Secret" -> Relevant steps, list of IdWeb Groups, who has access (employees)

The script can be run as follows:
.\MsalReleaseAutomation.ps1 -msalVersion 2.0.6-RC1 -labSecret <secret-value>

Thanks for this PR, @shahzaibj -- I think we would also benefit from a having a docs/ page capturing

"How to Run Automation" -> pointer to this script
"Acquiring the Lab Secret" -> Relevant steps, list of IdWeb Groups, who has access (employees)

The script can be run as follows:
.\MsalReleaseAutomation.ps1 -msalVersion 2.0.6-RC1 -labSecret <secret-value>

Thanks for this PR, @shahzaibj -- I think we would also benefit from a having a docs/ page capturing

"How to Run Automation" -> pointer to this script
"Acquiring the Lab Secret" -> Relevant steps, list of IdWeb Groups, who has access (employees)

Sure  @iambmelt I will add that in soon

The script can be run as follows:
.\MsalReleaseAutomation.ps1 -msalVersion 2.0.6-RC1 -labSecret <secret-value>

Thanks for this PR, @shahzaibj -- I think we would also benefit from a having a docs/ page capturing

"How to Run Automation" -> pointer to this script
"Acquiring the Lab Secret" -> Relevant steps, list of IdWeb Groups, who has access (employees)

Sure  @iambmelt I will add that in soon

Generic question: I'm assuming .ps1 files are PowerShell given the syntax.  Is that correct?  Should be pretty simple to convert to bourne or python from my reading.  Do you want to do that, or should we make a task for this?

Generic question: I'm assuming .ps1 files are PowerShell given the syntax.  Is that correct?  Should be pretty simple to convert to bourne or python from my reading.  Do you want to do that, or should we make a task for this?

Generic question: I'm assuming .ps1 files are PowerShell given the syntax. Is that correct? Should be pretty simple to convert to bourne or python from my reading. Do you want to do that, or should we make a task for this?

Yes these are powershell. We can make a task to convert to Python if needed.

Generic question: I'm assuming .ps1 files are PowerShell given the syntax. Is that correct? Should be pretty simple to convert to bourne or python from my reading. Do you want to do that, or should we make a task for this?

Yes these are powershell. We can make a task to convert to Python if needed.

The script can be run as follows:
.\MsalReleaseAutomation.ps1 -msalVersion 2.0.6-RC1 -labSecret <secret-value>

Thanks for this PR, @shahzaibj -- I think we would also benefit from a having a docs/ page capturing

"How to Run Automation" -> pointer to this script
"Acquiring the Lab Secret" -> Relevant steps, list of IdWeb Groups, who has access (employees)

Sure @iambmelt I will add that in soon

@iambmelt Added here: https://github.com/AzureAD/android-complete/tree/shahzaibj/msal-release-automation-script/docs/Automation
JFYI, The doc on lab setup is mostly just copied from OneNote page LabAutomationSetup

The script can be run as follows:
.\MsalReleaseAutomation.ps1 -msalVersion 2.0.6-RC1 -labSecret <secret-value>

Thanks for this PR, @shahzaibj -- I think we would also benefit from a having a docs/ page capturing

"How to Run Automation" -> pointer to this script
"Acquiring the Lab Secret" -> Relevant steps, list of IdWeb Groups, who has access (employees)

Sure @iambmelt I will add that in soon

@iambmelt Added here: https://github.com/AzureAD/android-complete/tree/shahzaibj/msal-release-automation-script/docs/Automation
JFYI, The doc on lab setup is mostly just copied from OneNote page LabAutomationSetup

I tried running the msal script in Powershell on OSX - the script seems to be running fine (with some failing test cases).
Added a prerequisite instruction for that as well.
Regarding the OneNote page LabAutomationSetup. I'd suggest scraping that out (maybe put a link to this page) and maintain everything here instead. We shouldn't have to maintain the same file in two places.

Yeah that sounds good. I'll do that. Thanks @rpdome for trying on OSX!

I tried running the msal script in Powershell on OSX - the script seems to be running fine (with some failing test cases).
Added a prerequisite instruction for that as well.
Regarding the OneNote page LabAutomationSetup. I'd suggest scraping that out (maybe put a link to this page) and maintain everything here instead. We shouldn't have to maintain the same file in two places.

Yeah that sounds good. I'll do that. Thanks @rpdome for trying on OSX!


Added a fake file writer (writes to string instead of file)

Added fake filer writer which writes the output to a string instead of a file.
This will help writing tests for classes that use the file writer interface to write data.

This is related to #1069.

Thanks @wohe  and @pifon2a for the feedback. @pifon2a I reverted back to the initial solution which doesn't use inheritance for better readability, sorry about that.
The std::shared_ptrstd::string on_close_output in FakeFileWriter will be used in a mock FileWriterFactory for #1069.
Can one of you have a look again?

@wohe, can you have a look again?


Install just what's needed to run code_quality_check

Hi to whoever is reading this! 🤗
What's in this PR?
Basically, I've removed the 🤗datasets installation as python -m pip install ".[quality]" in the check_code_qualityjob in.github/workflows/ci.yaml`, as we don't need to install the whole package to run the CI, unless that's done on purpose e.g. to check that the Python package installation succeeds before running the tests over the matrix of os?
So I just wanted to check whether the time was reduced doing this (which I assume it will), plus whether this is something that can be improved, or just discarded in case you're also using that step to make sure that the package can be installed.
What's missing?
I was just wondering whether you consider replacing isort and flake8 with ruff (if possible), since it's way faster, more information at ruff. Before creating this PR the average time of the check_code_quality job was ~40s.

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint.


Expose Ktx2Reader to Java

Currently the only way to use this from Java is via gltfio.

@pixelflinger I would classify this as "needs to be done, but not at all high priority"
(another good starter issue maybe, but keep in mind this would need to be tested properly before merging)


docs/progress bar

Slight update ott.utils.default_progress_fn
I chose to increment by 1 the value of iteration in the function body because ott starts counting from 0 but yields progress updates such as 6/199. I think it's better to report progress such as 7/200.

Add example in the Getting Started notebook

Codecov Report

Merging #347 (e085668) into main (1feb317) will not change coverage.
The diff coverage is 0.00%.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
Additional details and impacted files

@@           Coverage Diff           @@
##             main     #347   +/-   ##
=======================================
  Coverage   88.30%   88.30%
=======================================
  Files          51       51
  Lines        5464     5464
  Branches      824      824
=======================================
  Hits         4825     4825
  Misses        522      522
  Partials      117      117

Impacted Files
Coverage Δ

src/ott/utils.py
66.66% <0.00%> (ø)

Thanks for the feedback, I'll update the code hopefully soon.

Thanks @michalk8!

Thanks @bosr , looks great!


Appstudio update test-mvp-component-ujys

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

Pipelines as Code CI/test-mvp-component-ujys-on-pull-request has failed.Pipeline mvp-dev-tfzh-tenant/test-mvp-component-ujys-on-pull-request-bk4sr can't be Run; it contains Tasks that don't exist: Couldn't retrieve Task "": failed to get task: error requesting remote resource: error getting "bundleresolver" "mvp-dev-tfzh-tenant/bundles-28e0beb4d320a0c925ce680542c35675": could not find object in image with kind: Task and name: init


Docker image?

Initial report by @d33tah (https://github.com/matthiask/feincms-in-a-box/issues/8)
Here's what I have so far:
(virtualenv)[0/1][0:15:19][/tmp/feincms-in-a-box]$[SUDO] sudo docker build -t feincms-in-a-box .
Sending build context to Docker daemon 4.542 MB
Step 0 : FROM debian:sid
 ---> e7d52d7d94ef
Step 1 : RUN apt-get update && apt-get install -y build-essential python-dev libjpeg8-dev libxslt1-dev libfreetype6-dev
 ---> Using cache
 ---> 8d24b8d4387d
Step 2 : RUN apt-get update && apt-get install -y gettext libxslt1.1 libxml2 libjpeg9
 ---> Using cache
 ---> 9076e64c2fd3
Step 3 : RUN apt-get update && apt-get install -y npm python-pip gem
 ---> Using cache
 ---> 55dd4fdb290f
Step 4 : RUN pip install -U pip virtualenv fabric
 ---> Using cache
 ---> c89e41a6c5d2
Step 5 : ADD . /root/
 ---> Using cache
 ---> f5ca1e9f5729
Step 6 : RUN cd /root ; fab setup
 ---> Running in 94737e2ec822
New python executable in venv/bin/python
Installing setuptools, pip, wheel...done.
Collecting Django==1.6.5 (from -r requirements/common.txt (line 1))
  Downloading Django-1.6.5-py2.py3-none-any.whl (6.7MB)
Collecting Pillow==2.5.0 (from -r requirements/common.txt (line 2))
  Downloading Pillow-2.5.0.zip (6.9MB)
Collecting South==1.0 (from -r requirements/common.txt (line 3))
  Downloading South-1.0.tar.gz (97kB)
Collecting django-compressor==1.4 (from -r requirements/common.txt (line 4))
  Downloading django_compressor-1.4-py2.py3-none-any.whl (114kB)
Collecting django-mptt==0.6.1 (from -r requirements/common.txt (line 5))
  Downloading django-mptt-0.6.1.tar.gz (111kB)
Collecting FeinCMS==1.9.4 (from -r requirements/common.txt (line 6))
  Downloading FeinCMS-1.9.4-py2.py3-none-any.whl (470kB)
Collecting feincms-cleanse==4 (from -r requirements/common.txt (line 7))
  Could not find a version that satisfies the requirement feincms-cleanse==4 (from -r requirements/common.txt (line 7)) (from versions: 1.0.0, 2, 3, 5, 6)
  Some externally hosted files were ignored as access to them may be unreliable (use --allow-external feincms-cleanse to allow).
No matching distribution found for feincms-cleanse==4 (from -r requirements/common.txt (line 7))

Fatal error: local() encountered an error (return code 1) while executing 'venv/bin/pip install -r requirements/dev.txt'

Aborting.
[deploy@] Executing task 'setup'
[localhost] local: virtualenv venv
[localhost] local: venv/bin/pip install -r requirements/dev.txt
The command '/bin/sh -c cd /root ; fab setup' returned a non-zero code: 1
(virtualenv)[0/1][0:15:31][/tmp/feincms-in-a-box][1] $[SUDO] cat Dockerfile
FROM debian:sid
RUN apt-get update && apt-get install -y build-essential python-dev libjpeg8-dev libxslt1-dev libfreetype6-dev
RUN apt-get update && apt-get install -y gettext libxslt1.1 libxml2 libjpeg9
RUN apt-get update && apt-get install -y npm python-pip gem
RUN pip install -U pip virtualenv fabric
ADD . /root/
RUN cd /root ; fab setup

This gave me a working build though:
FROM ubuntu:latest
RUN apt-get update && apt-get install -y build-essential python-dev libjpeg8-dev libxslt1-dev libfreetype6-dev
RUN apt-get update && apt-get install -y gettext libxslt1.1 libxml2 libjpeg8
RUN apt-get update && apt-get install -y npm python-pip gem
RUN apt-get update && apt-get install -y git nodejs-legacy
RUN pip install -U pip virtualenv fabric
RUN npm install bower -g
ADD . /root/
RUN sed -e 's/==4$/==5/' -i /root/requirements/common.txt
RUN sed -e 's/bower install/bower install --allow-root/' -i /root/fabfile.py
RUN cd /root ; fab setup

Is this the feincms-in-a-box upstream? If so, it looks like I confused forks last time.

Yes, sorry. I obviously had a stale fork (or rather the original version) in my account.

Let me know once you try that. Basically put a Dockerfile with the contents starting with FROM ubuntu:latest, then run sudo docker build -t matthiask/feincms .. Once it's done, run sudo docker run  -p PORTNO:PORTNO -ti matthiask/feincms. Substitute PORTNO with the port number you'll want to use. feincms will be in /root - the second command will land you in a shell.

I noticed that this repository isn't compatible with that Dockerfile and created a new one. Here's one that should build:
FROM ubuntu:latest

# this is mostly copied from the docs, but I added ca-certificates and curl, (...)
RUN apt-get update && apt-get install -y build-essential python-dev python-pip \
    python-virtualenv libjpeg8-dev liblcms2-dev libopenjpeg-dev libwebp-dev \
    libpng12-dev libtiff4-dev libxslt1-dev libfreetype6-dev ca-certificates \
    postgresql-9.3 postgresql-server-dev-9.3 gettext npm redis-server curl git nodejs-legacy
RUN pip install virtualenv
RUN npm install -g bower jshint
RUN npm install -g gulp
RUN curl https://raw.githubusercontent.com/mitsuhiko/pipsi/master/get-pipsi.py | PIPSI_BIN_DIR=/usr/bin python

# I don't want to edit env variables there, so I just symlink pipsi's ~/.local/bin to /usr/bin
RUN mkdir ~/.local ; ln -sv /usr/bin ~/.local/bin
RUN pipsi install fabric
RUN pipsi install flake8

# Same goes for postgres.
RUN ln -sv /usr/lib/postgresql/9.3/bin/postgres /usr/bin/postgres

# Use Michal "lcamtuf" Zalewski's "fakeroot exploit" to create a "fakenoroot" LD_PRELOAD library.
# this library will be used to cheat PostgreSQL that we're not root (UID 0), but UID 1.
RUN curl 'http://lcamtuf.coredump.cx/soft/ld-expl' | sed -e 's/0/1/' -e 's/^LD/#LD/' -e 's/^rm/#rm/' | sh
RUN LD_PRELOAD=/tmp/ex.so /usr/lib/postgresql/9.3/bin/initdb /pg ; chown 1:1 -R /pg

RUN git clone https://github.com/feinheit/feincms-in-a-box && cd feincms-in-a-box && LD_PRELOAD=/tmp/ex.so PGDATA=/pg ./test.sh

I tested it and found that in order to actually log in to the admin interface, it takes a bit more:
FROM ubuntu:latest

# this is mostly copied from the docs, but I added ca-certificates and curl, (...)
RUN apt-get update && apt-get install -y build-essential python-dev python-pip \
    python-virtualenv libjpeg8-dev liblcms2-dev libopenjpeg-dev libwebp-dev \
    libpng12-dev libtiff4-dev libxslt1-dev libfreetype6-dev ca-certificates \
    postgresql-9.3 postgresql-server-dev-9.3 gettext npm redis-server curl git nodejs-legacy
RUN pip install virtualenv
RUN npm install -g bower jshint
RUN npm install -g gulp
RUN curl https://raw.githubusercontent.com/mitsuhiko/pipsi/master/get-pipsi.py | PIPSI_BIN_DIR=/usr/bin python

# I don't want to edit env variables there, so I just symlink pipsi's ~/.local/bin to /usr/bin
RUN mkdir ~/.local ; ln -sv /usr/bin ~/.local/bin
RUN pipsi install fabric
RUN pipsi install flake8

# Same goes for postgres.
RUN ln -sv /usr/lib/postgresql/9.3/bin/postgres /usr/bin/postgres

# Use Michal "lcamtuf" Zalewski's "fakeroot exploit" to create a "fakenoroot" LD_PRELOAD library.
# this library will be used to cheat PostgreSQL that we're not root (UID 0), but UID 1.
RUN curl 'http://lcamtuf.coredump.cx/soft/ld-expl' | sed -e 's/0/1/' -e 's/^LD/#LD/' -e 's/^rm/#rm/' | sh
RUN LD_PRELOAD=/tmp/ex.so /usr/lib/postgresql/9.3/bin/initdb /pg ; chown 1:1 -R /pg

RUN git clone https://github.com/feinheit/feincms-in-a-box && cd feincms-in-a-box && LD_PRELOAD=/tmp/ex.so PGDATA=/pg ./test.sh

# increase PostgreSQL wait delay to 10s, bind to all interfaces, set language to English
RUN sed 's/0.5/10/' -i /feincms-in-a-box/build/example_com/fabfile/__init__.py
RUN sed 's/runserver/runserver <IP_ADDRESS>:8000/' -i /feincms-in-a-box/build/example_com/fabfile/dev.py
RUN sed -e "s/# ('en'/('en'/" -i /feincms-in-a-box/build/example_com/box/settings/common.py

# create admin account when "fab dev" runs
RUN /bin/echo -e "from django.contrib.auth.models import User;\nUser.objects.create_superuser('admin'<EMAIL_ADDRESS>'admin')" > /tmp/admin.py
RUN sed 's@venv/bin/python -Wall manage.py runserver@venv/bin/python -Wall manage.py shell < /tmp/admin.py ; venv/bin/python -Wall manage.py runserver@' -i \
    /feincms-in-a-box/build/example_com/fabfile/dev.py

ENTRYPOINT cd /feincms-in-a-box/build/example_com && LD_PRELOAD=/tmp/ex.so PGDATA=/pg fab dev


Cannot ping ipv6 from remote container

I have a setup running Calico IPV6 enabled in Kubernetes v1.9.5 running docker 1.13.1-cs9.  I'm not able to ping the remote container using ipv6 address.  I can ping ipv6 address locally.  Do you know what's needed to be resolve to be able to ping the remote container?
What is the best way to verify ipv6 traffic is coming into the container?

# kubectl get po -n kube-system
NAME                                                                  READY     STATUS    RESTARTS   AGE
calico-etcd-jg2vr                                                     1/1       Running   0          5h
calico-kube-controllers-866bf5646c-pplzf                              1/1       Running   0          5h
calico-node-kz2sk                                                     2/2       Running   0          5h
etcd-devtricorder0A-master-01                                         1/1       Running   0          5h
kube-apiserver-devtricorder0A-master-01                               1/1       Running   0          5h
kube-controller-manager-devtricorder0A-master-01                      1/1       Running   0          5h
kube-dns-6f4fd4bdf-zdwkz                                              3/3       Running   0          5h
kube-proxy-q9xg5                                                      1/1       Running   0          5h
kube-scheduler-devtricorder0A-master-01                               1/1       Running   0          5h
kubernetes-dashboard-68d7c968ff-nj2m7                                 1/1       Running   0          5h

From Container B:
Pinging remote container
# ping6 fe80::e471:21ff:fef0:b88d
PING fe80::e471:21ff:fef0:b88d (fe80::e471:21ff:fef0:b88d): 56 data bytes
64 bytes from fe80::482b:91ff:fe64:de2b%eth0: Destination unreachable: Address unreachable
64 bytes from fe80::482b:91ff:fe64:de2b%eth0: Destination unreachable: Address unreachable
64 bytes from fe80::482b:91ff:fe64:de2b%eth0: Destination unreachable: Address unreachable
64 bytes from fe80::482b:91ff:fe64:de2b%eth0: Destination unreachable: Address unreachable
64 bytes from fe80::482b:91ff:fe64:de2b%eth0: Destination unreachable: Address unreachable
64 bytes from fe80::482b:91ff:fe64:de2b%eth0: Destination unreachable: Address unreachable

Pinging from locally
# ping6 fe80::482b:91ff:fe64:de2b
PING fe80::482b:91ff:fe64:de2b (fe80::482b:91ff:fe64:de2b): 56 data bytes
64 bytes from fe80::482b:91ff:fe64:de2b%eth0: icmp_seq=0 ttl=64 time=0.057 ms
64 bytes from fe80::482b:91ff:fe64:de2b%eth0: icmp_seq=1 ttl=64 time=0.060 ms
64 bytes from fe80::482b:91ff:fe64:de2b%eth0: icmp_seq=2 ttl=64 time=0.056 ms
64 bytes from fe80::482b:91ff:fe64:de2b%eth0: icmp_seq=3 ttl=64 time=0.059 ms
64 bytes from fe80::482b:91ff:fe64:de2b%eth0: icmp_seq=4 ttl=64 time=0.068 ms
64 bytes from fe80::482b:91ff:fe64:de2b%eth0: icmp_seq=5 ttl=64 time=0.053 ms

Container A:
# ip -6 addr show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 state UNKNOWN qlen 1000
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
4: eth0@if10: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1440 state UP
    inet6 fe80::e471:21ff:fef0:b88d/64 scope link
       valid_lft forever preferred_lft forever

# ip -6 route show
fe80::/64 dev eth0  proto kernel  metric 256

Container B:
# ip -6 addr show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 state UNKNOWN qlen 1000
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
4: eth0@if8: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1440 state UP
    inet6 fe80::482b:91ff:fe64:de2b/64 scope link
       valid_lft forever preferred_lft forever

# ip -6 route show
fe80::/64 dev eth0  proto kernel  metric 256

@bamb00:

Check that each host node (i.e. not the pods) has IPv6 forwarding enabled using 'sysctl net.ipv6.conf.all.forwarding'.
Check whether each node can ping6 to each other.
I'm not an expert on Calico IPv6 setup, but this guide mentions that "If you wish to only use IPv6 (by disabling IPv4) or your hosts only have IPv6 addresses, you must disable autodetection of IPv4 by setting IP to none. With that set you must also pass a CALICO_ROUTER_ID to each calico-node pod."
If everything checks out so far, you can try bringing up a couple of pods with alpine containers, and then install tshark in one or more of those alpine containers with 'apk add tshark'. Once tshark is installed, you would be able to do 'tshark -i eth0' to capture incoming packets on that pod's eth0 interface. You would then try ping6 from the other pod.
(I haven't tried this on a Calico setup) If you're not seeing incoming pings or neighbor discovery exchanges on the remote pod (I suspect that you won't), you can then try installing tshark (or wireshark, or use tcpdump) on one or more host nodes, and then run tshark on the physical interfaces of each host node while one pod is ping6'ing the other pod, to see how far ping6/nd packets are going.

@bamb00 - Any luck on the pings?


Incorrect values for even days, months, years

To replicate:
v3.18.0
You can do this simply on your demo page
Lets assume 35 days: 1000 * 60 * 60 * 24 * 35  =<PHONE_NUMBER>ms
Result should be either 1 month and 4 days  (assuming 31 day month) or 1 month 5 days. Get the screen shot value.
This issue follows for even months and years as well.

Thanks for reporting. I'll plan to take a look at this soon.

This is probably because of how we define months. Months are defined internally as 2,629,800,000 milliseconds, which is 30.4375 days. That's because that's the mean length of a month. (Note that it's a little more complicated than 365 ÷ 12 because of leap years—we calculate the average over four years.)
You can fix this by specifying your own unitMeasures in a new humanizer, like so:
const thirtyDays = 30 * 24 * 60 * 60 * 1000

const myHumanizer = humanizeDuration.humanizer({
  unitMeasures: {
    y:<PHONE_NUMBER>0,
    mo: thirtyDays,
    w: 604800000,
    d: 86400000,
    h: 3600000,
    m: 60000,
    s: 1000,
    ms: 1
  }
})

console.log(myHumanizer(3024000000))
// => 1 month, 5 days

Closing because I think I've answered your question, but let me know if that's wrong and I'll reopen!

Given that this lib is based on milliseconds, it is completely useless.

@alamothe Sorry you feel that way! I chose to have this library based on milliseconds because that seems to be the "base time unit" in JavaScript (for example, that's what Date.now() returns).

Sorry for the harsh comment, it should be fine for displaying approximate duration. Unfortunately for my case it has be to a precise duration between two datetimes in a certain timezone, which needs to account DST. This seems to be hard to find in JavaScript world (even moment don't account for DST)

The only problem with this is months will never be 30.4375 days. A month is enumerated a either 28 days, 29 days, 30 days, or 31 days. My suggestion is to be opinionated and just say a month is 30 days.

https://github.com/EvanHahn/HumanizeDuration.js/issues/152#issuecomment-494847931
Yes, but this library doesn't address a month (e.g. not a specific point-in-time in a calendar). Rather, this library humanizes the concept of the elapsed time as expressed in milliseconds to a Gregorian-based elapsed time expression. It doesn't talk about specific dates, so it cannot include leap days and lengths of specific months. It doesn't talk about leap seconds. It just talks about "how many X is Y milliseconds" in a reasonable way.


martin-cp doc source param

Hi team,
I think there's something wrong with the martin-cp command description cause there's no my_table in the command line. After reading the other sections of the doc, I understand that source_name can be a comma-separated list of tables from postgres, and probably a comma-separated list of .mbtiles or (strict) .pmtiles files as well.
source: https://maplibre.org/martin/martin-cp.html
I have 4 tables in postgres (created by osm2pgsql):

planet_osm_point
planet_osm_line
planet_osm_polygon
planet_osm_roads

martin-cp seems to take a single table as a parameter. Does it mean I need to create a new table that combines data from the 4 existing ones and pass it to martin-cp to generate a valid tileset?

This copies tiles from a PostGIS table my_table into an MBTiles file tileset.mbtiles using normalized schema, with zoom levels from 0 to 10, and bounds of the whole world.

martin-cp  --output-file tileset.mbtiles \
           --mbtiles-type normalized     \
           "--bbox=-180,-90,180,90"      \
           --min-zoom 0                  \
           --max-zoom 10                 \
           --source source_name          \
           postgresql://postgres@localhost:5432/db

martin-cp can take any source as a parameter, which includes a combined comma-separated source as well.  Do note that the default osm2pgsql output may not be what you want - take a look at the planetiler tool to generate your tiles directly from OSM dump in a much better schema and much faster.

Do note that the default osm2pgsql output may not be what you want - take a look at the planetiler tool to generate your tiles directly from OSM dump in a much better schema and much faster.

Trying to create a public repo to illustrate something I struggle to do, I wondered why martin-cp needs postgres to generate a mbtiles file and if it's something mandatory. Because I understand martin can serve mbtiles files to render a map in a browser or another GIS client without postgres https://maplibre.org/martin/sources-files.html, hence this question. There is some context I'm missing about all these tools and their use cases, sorry if my question sounds stupid. I understand that martin-cp is still under development and cannot be considered 100% ready for mbtiles file generation, correct? But, still for serving tiles with Martin, I used to feed postgres with a map file from <download.geofabrik.de> using osm2pgsql and let Martin serve the tiles from postgres, is it still the advised procedure? Thank you so much.

All depends on your usecase, as always.  If you are building "base map" - use something like planetiler to pre-generate it into an mbtiles/pmtiles file.  Generating tiles on the fly for the base map could be expensive (slow).  Think of it as a tile cache.  Martin can serve that file - no postgres needed.
If you are generating custom data on top of a base map, e.g. taxi info like in the demo, martin could get that data from a database, possibly even with custom parameters (like in the demo). If you are serving tiles and need some extras - like fonts or sprites - martin can handle that for you too.


libvirt: Ensure pod VMs get unique DHCP ip

Remove machine-id when creating base qcow2 image for Pod VM. This ensures that pod VMs created from the same image gets unique DHCP ips
Fixes: #363
Signed-off-by: Pradipta Banerjee<EMAIL_ADDRESS>

LGTM Wasn't it needed also for vsphere?

Yes, this will be needed for vsphere as well.
@whitebrandy would you be able to add a similar change for vsphere image generation ?


Plugin is started but getting the following error

ERROR com.tylerhoersch.nr.cassandra.JMXRunner -
java.lang.Exception: All hosts (xx.xx.xx.xx) tried and failed to connect.
at com.tylerhoersch.nr.cassandra.JMXRunner.run(Unknown Source) [plugin.jar:1.2.0 April 27 2016]
at com.tylerhoersch.nr.cassandra.CassandraAgent.getCassandraInstances(Unknown Source) [plugin.jar:1.2.0 April 27 2016]
at com.tylerhoersch.nr.cassandra.CassandraAgent.pollCycle(Unknown Source) [plugin.jar:1.2.0 April 27 2016]
at com.newrelic.metrics.publish.Runner$PollAgentsRunnable.run(Runner.java:209) [plugin.jar:1.2.0 April 27 2016]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [na:1.8.0_162]
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308) [na:1.8.0_162]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180) [na:1.8.0_162]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294) [na:1.8.0_162]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [na:1.8.0_162]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [na:1.8.0_162]
at java.lang.Thread.run(Thread.java:748) [na:1.8.0_162]
Caused by: java.util.concurrent.ExecutionException: java.io.IOException: Failed to retrieve RMIServer stub: javax.naming.ServiceUnavailableException [Root exception is java.rmi.ConnectException: Connection refused to host: <IP_ADDRESS>; nested exception is:
java.net.ConnectException: Connection refused (Connection refused)]
at java.util.concurrent.FutureTask.report(FutureTask.java:122) [na:1.8.0_162]
at java.util.concurrent.FutureTask.get(FutureTask.java:206) [na:1.8.0_162]
at com.tylerhoersch.nr.cassandra.JMXRunner.connectWithTimeout(Unknown Source) [plugin.jar:1.2.0 April 27 2016]

Error seems pretty straight forward. The sever you have the monitor running on cannot speak with the server you've given it to communicate with:
Connection refused to host: <IP_ADDRESS>
Verify these 2 can talk and that cassandra is running and accessible

Thanks It works well configured it again 👍


proposal: add type io.StringBytesWriter interface

I propose that we add to package io:
type StringBytesWriter interface {
    io.Writer
    io.StringWriter  // the unexported stringWriter should be changed
    io.ByteWriter
}

This would solve a lot of inconveniences and improve efficiency in many places where a Writer represents something that writes string (or textual) data.
I often find that it’s undesirable for some exported functions to take as arguments or return a type like *bytes.Buffer or *bufio.Writer or *strings.Builder when users of a package in these cases should only be writing data, not otherwise modifying the state of the concrete type. All of these three types (*bytes.Buffer, *bufio.Writer, and *strings.Builder) and many more outside the stdlib already implement the proposed StringBytesWriter interface: it can be much more efficient to write a single byte or directly copy a string to the Writer without having to allocate a slice.

An alternative name: io.TextWriter

I'm not sure I follow how exposing this interface would improve efficiency. Interfaces are satisfied implicitly, so it does not matter whether or not the io package defines them. You might say adding it is more convenient, but it should not affect performance.
I'm also not sure that exposing interfaces that combine existing exposed interfaces is that helpful. Perhaps a better proposed change would be to expose io.StringWriter, as a start.

@mvdan you'd get better efficiency when you provide external packages the interface I described for writing instead of just an io.Writer when the writer is intended for string data. The point is that, if you've already got a string and you need to write it to an io.Writer, you need to convert it to a []byte, and this is an allocation. And if you've only got an io.Writer for writing, and you want to write a single byte, you need to make a slice out of it to pass it into Write. (But, as part of the Go language itself, strings and single bytes can be copied directly to any []byte.)

@dchenk I understand the point of writing single bytes and strings. My point is that you can do this optimization without the io package exposing the interface. For example:
package p

type StringBytesWriter interface {
    io.Writer
    WriteString(string) (n int, err error)
    io.ByteWriter
}

func DoSomething(w StringBytesWriter, foo *Foo) { ... }

But note that not even that is necessary. You could do:
func DoSomething(w io.Writer, foo *Foo) {
    if fastWriter, ok := w.(StringBytesWriter); ok {
        // faster implementation
    }
    // slower implementation
}

This is what many parts of the standard library do. This way, io.Writers still work, but passing in types that implement the more advanced interfaces still get the better performance. For example, see io.Copy's godoc:
If src implements the WriterTo interface, the copy is implemented by calling src.WriteTo(dst). Otherwise, if dst implements the ReaderFrom interface, the copy is implemented by calling dst.ReadFrom(src).

@meirf
https://godoc.org/github.com/philhofer/fwd#Writer
https://godoc.org/github.com/free/concurrent-writer/concurrent
The point is not just that there are already a lot of implementation of this interface; these types in the stdlib (bytes.Buffer, strings.Builder, bufio.Writer) are used like this in a lot of places everywhere:
someWriter.Write([]byte("some string"))

and
someWriter.Write([]byte("\n"))  // also: someWriter.Write([]byte{'\n'})

If you use io.WriteString it uses the WriteString method if it's there and if not it does the conversion to []byte:
io.WriteString(someWriter, "some string")

and
io.WriteString(someWriter, "\n")

To be a viable proposal, this issue needs more detail.
Please include concrete examples (ideally drawn from experience reports) that illustrate the motivating problem, then show how those examples would be improved by it. (For example, if the motivating problem is a performance issue, quantify the impact on a real program: how much time is being spent today in type-assertions that this proposal would eliminate?)


Help required: Creating Generic Structure Tree view for SP12 environment (similar to VM-sample-app designed for SP14)

Is it possible to add a new relationship type with the 'generic item structure' view for the sample application in Innovator 11sp12 like the one provided in the application for SP14? I assume this is quite similar to the BOM structure view using the Multilevel BOM relationship used in the part item type. Would it be possible for someone to guide/ provide sample code, on how to set this up, as this is a really useful feature to see the whole configured superbom structure, instead of having to click through and open each level of the hierarchy

how can this be created in the app in SP12? Any help would be greatly greatly appreciated! Thanks!

It looks like that relationship tab uses a custom form to generate the tree of the Generic Item Structure, but you could achieve something very similar using the standard Query Builder and Tree Grid View functionality in 11.0 SP12.

Can the code behind that form (as written for the SP14 version) be shared here? Since I am not really a coder, that could be useful reference for me

You can find the Form in the TOC under Administration > Forms and searching for cs_sample_GenericItemFamilyTree. There is an HTML field as well as several Form Events that are responsible for building the view you see in the relationship tab. You could try using the methods and HTML as-is in your SP12 instance, though it hasn't been tested.

@cgillis-aras - that form does not exist in the SP12 version. Would it be possible, if you have access to the form in an SP14 instance, share the html code? (Also is there a video somewhere on the forum that shows what those form events are, etc.? Any guidance in that regard would be super useful)

Hi @sachinbijadi, I'm not sure if this form was available back in November, but you can now find it on the master branch of this repository here.
You can try merging that Form and it's dependencies into your SP12 import package. This project is an app built by our development team to show off the Configurator Service APIs, and my guess would be that this functionality is not version-dependent and was created as there was more development time for the later versions of this app.


Credential Options are stored in the Cache based on IP

During the registration process, the PublicKeyCredentialCreationOptions are created for the desired user and send to the browser to register a key. They are then stored in the cache, for validating the registration process (the server needs to keep the creation options stored).
The options are stored in the cache keyed like this:
protected function getCacheKey()
{
    return 'fastlogin-request-'.sha1(request()->getHttpHost().request()->ip());
}

The cache is the same across all users, and this keys on IP, so if two users were registering or logging in at the same time (within 5 minutes) in a house/office/cafe where the ip is not unique, then it is very possible that cache will return the options for the wrong user, and the registration will fail for both users.
Note, I don't think there is any security risk, as the options are never returned from the cache to the users but I do think it could fail registration for both of them. If is certainly possible that two users in an office might be logging in at the same time.
Is there any reason that we can't store the creation/login options in the session? The session is what Jetstream/Fortify uses for two factor authentication challenges.
I'm really excited to use this package, so if there is no problem with the session, I would be happy to have a go at a PR. :)

I think storing the sessions would be a good idea. A PR for that would be nice, I will have a go at that aswell.
PS> @m1guelpf Love the package, thankyou for it (was actually planning on building one myself for a project, guess don't need to now).
-TT

I think storing the sessions would be a good idea. A PR for that would be nice, I will have a go at that aswell.
PS> @m1guelpf Love the package, thankyou for it (was actually planning on building one myself for a project, guess don't need to now).
-TT

Hey @danclaytondev @TechTailor!
I was originaly storing those in the session, but there were some issues in Laravel Vapor that regenerated the CSRF token, making the second AJAX request fail. I think we need to use the cache to be safe here, although I'd welcome a PR that adds more differentiation to the cache key.

Hey @danclaytondev @TechTailor!
I was originaly storing those in the session, but there were some issues in Laravel Vapor that regenerated the CSRF token, making the second AJAX request fail. I think we need to use the cache to be safe here, although I'd welcome a PR that adds more differentiation to the cache key.


Add denodate to database.json

no description for now, is still in development

@t-heu thanks, but somethings wrong with diff - it shouldn't have a few thousand lines, please make sure that formatting is not changed


My vscode as superuser does not work and display white page

Does this issue occur when all extensions are disabled?: Yes

VS Code Version:  code_1.67.2
OS Version: Ubuntu 18.04.1 LTS

Steps to Reproduce:

Vscode version ==> code_1.67.2-1652812855_amd64.deb (does not work)
sudo code --user-data-dir="./" --no-sandbox

when I down grade to "code_1.65.2" with "code_1.65.2-1646927742_amd64.deb", vscode is run as superuser corroctly.

Can I upgrade to new version?

Merging to https://github.com/microsoft/vscode/issues/151187


Verification issue

Hi there ,
i would like to ask you a question in the def verification section ,  i am newbie in computer science and i want to  print the input images into vectors and then a function that will take the 2 vectors and it will make the similarity .
Can you help me ??
Thanks

deepface does it already! please read this tutorial: https://sefiks.com/2020/05/01/a-gentle-introduction-to-face-recognition-in-deep-learning/

You think if i split the code only in those 2 things (print the input images into vectors and then a function that will take the 2 vectors and it will make the similarity  ) without the others ( def detection , def detection  etc ) it will work fine ??

yes it will work fine
if you read the tutorial i shared, i already did it.


Update and rename exponent-xde.rb to expo-xde.rb

After making all changes to the cask:

[x] brew cask audit --download {{cask_file}} is error-free.
[x] brew cask style --fix {{cask_file}} reports no offenses.
[x] The commit message includes the cask’s name and version. NOTE the version hasn't changed, it's just a rename.

Verified locally.


Communicate with polymer developers to make it starter kit app-theme.html compatible.

see https://github.com/PolymerElements/polymer-starter-kit/issues/463

Just curious - what's missing? The dark theme appeared, at first glance, to have all the styles.

Breakpoints and some other specific app parts, maybe its a good idea to talk about what should be really in the app-theme.html to make it a drag and drop replacement?

@gertcuykens Can you provide us with an example of how much fiddling is involved? We may be able to generate an app-theme.html file as part of the downloadable ZIP file.

https://github.com/PolymerElements/polymer-starter-kit/blob/master/app/styles/app-theme.html Everything except for colours is needed for the app to look normal.


#676 Add Audio Field to Place

Changes

Added name_audio relation, validation, and translation for Place model.
Added attribute to PlaceDashboard and element to view component.
Added route, action, dashboard configuration for deleting audio attachments for places.

Caveats

Didn't add the “MP3 or WAV files only” message because it implies redefining administrate partials for this only purpose and didn't find the place that would only apply for this case.
Didn't add the support for importing a Place with an audio file, which is also needed for updating the model tests. The reason is that it wasn't required and implies modifying different parts of the application including creating a new PlaceAudioDecorator. I'll submit a feature request issue with this.
Found an error, which I didn't correct but will do after creating a new issue.

Currently, the remove link for photos added to a Place is throwing an error, and I would think it's the same for other models. For correcting this is necessary to add a route, action, and correct path to the destroy_path passed in options in the PlaceDashboard ATTRIBUTE_TYPES, as I did in this PR with name_audio attribute.

This is great, @EitanFuturo! We'll take a close code review soon, but in advance wanted to thank you for this invaluable contribution :) Some of our Indigenous community users will be very excited to see it.

I have tested out this PR and can confirm that this achieves the desired behavior. I see the error being thrown by removing a Photo that @EitanFuturo describes as well; and, that the overall app UI when it comes to removing/replacing existing media content is not the most intuitive:

In the future, for these fields that only accept one file, we may want to disable the Choose File button until the user has removed any existing media content. (After the above error is fixed across the board.)
And definitely some more food for thought here about continued use of Administrate that we've discussed with @FeminismIsAwesome @lauramosher.
All that aside, I think this is a great PR and just flagging this for additional code review.


Improve build.gradle patch

Fixes #75
This PR originally just added a regexp pattern (see makeBuildPatch). It won't pick any dependencies { block if it's starting with a space or a tab (handles nesting).
However, I had to modify the way we apply patches.
The original code was:
replace(patch.pattern, `${patch.pattern}${patch.patch}`)

and that was replacing a found match with a regex & patch, e.g.:
/[^ \t]dependencies {\n
   compile()
}

since we never expected a pattern to be regexp.
The new code passes a function, that given a match for a given pattern, can use it to return a string to replace (e.g. match + pattern). That handles regexp being used as a pattern as we are given a real match. For plain strings, it works as previously.
Regexp can be tested here http://www.regexr.com/3dbbp

I'm up for merging it in if
    dependencies {
        compile project(':test')
        compile fileTree(dir: "libs", include: ["*.jar"])
        compile "com.android.support:appcompat-v7:23.0.1"
        compile "com.facebook.react:react-native:0.18.+"
    }

is not a valid gradle file

What you mean? :) not sure if the above should work. This PR will make it fail as dependencies block cannot be indented to be recognised as a top level one. Not sure if that's good though.

I mean if for some reason you have a broken indentation (like 1 weird space before dependencies {) - it'll fail detecting it.

I don't want to rely on indentation in the document for pattern detection. Probably, we can merge it as a hotfix, because in the 99% that would work just fine. In the meanwhile I'll work on the proper way of doing it.

P.S. I label issues I'm working on as "in-progress" to avoid other people duplicate my efforts.

That's fine, I don't mind closing it if you could come up with something soon ;) This PR is just a one-liner that allows us to use regexps in other places, so I wouldn't consider it duplicating your effort, esp. as I took a different take than mentioned.

Another regex that works regardless of indent is:
/[^{]\n.*dependencies {/

Merge and 🚢 it!


Remove picture btn#4441

Fixes #4441
There was a problem in the edit user detail page where there was a remove picture button, even when there was no picture selected, and clicking on it won't do anything. To fix it I used conditional rendering for swapping buttons. If there was no image selected then an add new image button will be displayed, if there is already an image selected then there will be a edit image button (to change or remove the image).
Together with adding button, I also add language translation too for all the languages.
Screenshots of the changes (If any) -
https://github.com/CircuitVerse/CircuitVerse/assets/75238590/cd53059f-a6d3-43f0-8cc4-fa6db77d5bd8
https://github.com/CircuitVerse/CircuitVerse/assets/75238590/9461697d-2737-4ae9-bced-5adda5f442ca

This design is looking good instead of having just buttons to choose image and remove image.

@nitin10s can you please share your views on this.


Feature request: do not follow symlinks and/or folder exclusions

thx!

Could you please give me an example?


convert las file with PointSourceId attribute

Hi Markus,
I want to convert a LAS file with PointSourceId attribute. I use "-a PointSourceId" argument but nothing is create in the data. I have tested the command with pentagon data :
https://mega.nz/#!HEd1EDhZ!HTX8uRGCh8dwt3JRTNByYau42qhQJ01sOn3QXbe1TKM

Best regards
Julien

The only way we could find to get this to work with PotreeConverter was to use the --output-format LAS or LAZ option, but this seems to have a negative impact on the overall performance of the point cloud (lower FPS, etc).
@jubru Did you ever find a solution using the default binary format?


Save pivot table as image

On this way we will be able to print an image of the pivot table in a report.

Maybe this article can help:
https://dev.to/jasmin/how-to-turn-html-webpage-into-an-image-n1c


Chef Client 12.19.33 cannot activate azure 0.7.1 and azure_mgmt_compute gem 0.1.1

Latest azure* gem versions don't have direct dependency on json gem which solves this issue.


Add border for group input in the navbar-inverse

Add $btn-secondary-border border color for form control in input group in the navbar when there is a dark background.
Because the normal border color is rgba(0,0,0,.15) and depend of the background color the input in input group seems to have no border.
Fix #21098
Close #21318

This isn't the right solution to this.


demo code return with error 400

I strictly followed the demo code, but still got http 400 error when i call it

OpenAiService service = new OpenAiService("xxxx",Duration.ofSeconds(300));
CompletionRequest completionRequest = CompletionRequest.builder()
.prompt("说出你的问题")
.model("text-davinci-003").maxTokens(2048)
.build();
System.out.println(service.createCompletion(completionRequest).getChoices().get(0).getText());

Try upgrading to 0.10.0 and switching to the OpenAiService in the service library. It will give more detailed info when a request fails.
Does running the example work for you?

I've already done those in my project. I managed to invalidate cache & restart my ide, and now it works