Current implementation does not yet support strides in the batch and depth dimensions.

Hello,
I try to design autoencoder in tensorflow that was previously made with tensorflow contrib tf.contrib.layer.
Here is the code :
# An undercomplete autoencoder on MNIST dataset
from __future__ import division, print_function, absolute_import
import tensorflow.contrib.layers as lays

import tensorflow as tf
import numpy as np
import matplotlib.pyplot as plt
from skimage import transform
from tensorflow.examples.tutorials.mnist import input_data

batch_size = 500  # Number of samples in each batch
epoch_num = 5     # Number of epochs to train the network
lr = 0.001        # Learning rate

def resize_batch(imgs):
    # A function to resize a batch of MNIST images to (32, 32)
    # Args:
    #   imgs: a numpy array of size [batch_size, 28 X 28].
    # Returns:
    #   a numpy array of size [batch_size, 32, 32].
    imgs = imgs.reshape((-1, 28, 28, 1))
    resized_imgs = np.zeros((imgs.shape[0], 32, 32, 1))
    for i in range(imgs.shape[0]):
        resized_imgs[i, ..., 0] = transform.resize(imgs[i, ..., 0], (32, 32))
    return resized_imgs

def autoencoder(inputs):
    # encoder
    # 32 x 32 x 1   ->  16 x 16 x 32
    # 16 x 16 x 32  ->  8 x 8 x 16
    # 8 x 8 x 16    ->  2 x 2 x 8
    # print('inputs {0}'.format(inputs))

    # net = lays.conv2d(inputs, 32, [5, 5], stride=2, padding='SAME')
    # print('net {0}'.format(net))

    # net = lays.conv2d(net, 16, [5, 5], stride=2, padding='SAME')
    # print('net {0}'.format(net))

    # net = lays.conv2d(net, 8, [5, 5], stride=4, padding='SAME')
    # print('net {0}'.format(net))

    # # decoder
    # # 2 x 2 x 8    ->  8 x 8 x 16
    # # 8 x 8 x 16   ->  16 x 16 x 32
    # # 16 x 16 x 32  ->  32 x 32 x 1
    # net = lays.conv2d_transpose(net, 16, [5, 5], stride=4, padding='SAME')
    # print('net {0}'.format(net))

    # net = lays.conv2d_transpose(net, 32, [5, 5], stride=2, padding='SAME')
    # print('net {0}'.format(net))

    # net = lays.conv2d_transpose(net, 1, [5, 5], stride=2, padding='SAME', activation_fn=tf.nn.tanh)

    # print('net {0}'.format(net))
    # return net

    xi = tf.nn.conv2d(ae_inputs,
                 filter=tf.Variable(tf.random_normal([5,5,1,32])),
                 strides=[1,2,2,1],
                 padding='SAME')
    xi = tf.nn.relu(xi)
    print("xi {0}".format(xi))

    xi = tf.nn.conv2d(xi,
                     filter=tf.Variable(tf.random_normal([5,5,32,16])),
                     strides=[1,2,2,32],
                     padding='SAME')
    xi = tf.nn.relu(xi)
    print("xi {0}".format(xi))

    xi = tf.nn.conv2d(xi,
                     filter=tf.Variable(tf.random_normal([5,5,16,8])),
                     strides=[1,4,4,16],
                     padding='SAME')
    xi = tf.nn.relu(xi)

    print("xi {0}".format(xi))

    xo = tf.nn.conv2d_transpose(xi,
                     filter=tf.Variable(tf.random_normal([5,5,16,8])),
                     output_shape=[tf.shape(xi)[0], 8, 8, 16],
                     strides=[1,4,4,1],
                     padding='SAME')
    xo = tf.nn.relu(xo)

    print("xo {0}".format(xo))

    xo = tf.nn.conv2d_transpose(xo,
                     filter=tf.Variable(tf.random_normal([5,5,32,16])),
                     output_shape=[tf.shape(xo)[0], 16, 16, 32],
                     strides=[1,2,2,1],
                     padding='SAME')
    xo = tf.nn.relu(xo)

    print("xo {0}".format(xo))

    xo = tf.nn.conv2d_transpose(xo,
                     filter=tf.Variable(tf.random_normal([5,5,1,32])),
                     output_shape=[tf.shape(xo)[0], 32, 32, 1],
                     strides=[1,2,2,1],
                     padding='SAME')
    xo = tf.nn.tanh(xo)

    print("xo {0}".format(xo))
    return xo
# read MNIST dataset
mnist = input_data.read_data_sets("MNIST_data", one_hot=True)

# calculate the number of batches per epoch
batch_per_ep = mnist.train.num_examples // batch_size

ae_inputs = tf.placeholder(tf.float32, (None, 32, 32, 1))  # input to the network (MNIST images)
ae_outputs = autoencoder(ae_inputs)  # create the Autoencoder network

# calculate the loss and optimize the network
loss = tf.reduce_mean(tf.square(ae_outputs - ae_inputs))  # claculate the mean square error loss
with tf.name_scope('train'):
    train_op = tf.train.AdamOptimizer(learning_rate=lr).minimize(loss)

# initialize the network
init = tf.global_variables_initializer()
saver = tf.train.Saver()
stddev = tf.sqrt(tf.reduce_mean(tf.square(ae_inputs - ae_outputs)))

with tf.name_scope('stddev'):
        tf.summary.scalar('accuracy', stddev)
with tf.Session() as sess:
    sess.run(init)
    train_writer = tf.summary.FileWriter('/tmp/autoencoder/', sess.graph)
    index = 0
    for ep in range(epoch_num):  # epochs loop
        for batch_n in range(batch_per_ep):  # batches loop
            batch_img, batch_label = mnist.train.next_batch(batch_size)  # read a batch
            batch_img = batch_img.reshape((-1, 28, 28, 1))               # reshape each sample to an (28, 28) image
            batch_img = resize_batch(batch_img)                          # reshape the images to (32, 32)
            run_options = tf.RunOptions(trace_level=tf.RunOptions.FULL_TRACE)
            run_metadata = tf.RunMetadata()
            accuracy, c = sess.run([train_op, loss], feed_dict={ae_inputs: batch_img},
                              options=run_options,
                              run_metadata=run_metadata)
            print('Epoch: {} - cost= {:.5f}'.format((ep + 1), c))
            if batch_n % 10 == 0:

              summ=tf.Summary()
              summ.value.add(tag='Cost', simple_value = c)
              summ.value.add(tag='Accuracy', simple_value = accuracy)
              #train_writer.add_run_metadata(run_metadata, 'step%03d' % batch_n)
              train_writer.add_summary(summ,index)
              index+=1
              train_writer.flush()
              save_path = saver.save(sess, "/tmp/autoencoder/model.ckpt")

              #file_writer = tf.summary.FileWriter(logdir='/tmp/autoencoder/')
              print("Model saved in path: %s" % save_path)

    train_writer.close()

    # test the trained network
    batch_img, batch_label = mnist.test.next_batch(50)
    batch_img = resize_batch(batch_img)
    recon_img = sess.run([ae_outputs], feed_dict={ae_inputs: batch_img})[0]

    # plot the reconstructed images and their ground truths (inputs)
    plt.figure(1)
    plt.title('Reconstructed Images')
    for i in range(50):
        plt.subplot(5, 10, i+1)
        plt.imshow(recon_img[i, ..., 0], cmap='gray')
    plt.figure(2)
    plt.title('Input Images')
    for i in range(50):
        plt.subplot(5, 10, i+1)
        plt.imshow(batch_img[i, ..., 0], cmap='gray')
    plt.show()

Where I run the code I get that error:
`WARNING:tensorflow:From ./simple_autoencoder.py:115: read_data_sets (from tensorflow.contrib.learn.python.learn.datasets.mnist) is deprecated and will be removed in a future version.
Instructions for updating:
Please use alternatives such as official/mnist/dataset.py from tensorflow/models.
WARNING:tensorflow:From /usr/local/lib/python3.5/dist-packages/tensorflow/contrib/learn/python/learn/datasets/mnist.py:260: maybe_download (from tensorflow.contrib.learn.python.learn.datasets.base) is deprecated and will be removed in a future version.
Instructions for updating:
Please write your own downloading logic.
WARNING:tensorflow:From /usr/local/lib/python3.5/dist-packages/tensorflow/contrib/learn/python/learn/datasets/mnist.py:262: extract_images (from tensorflow.contrib.learn.python.learn.datasets.mnist) is deprecated and will be removed in a future version.
Instructions for updating:
Please use tf.data to implement this functionality.
Extracting MNIST_data/train-images-idx3-ubyte.gz
WARNING:tensorflow:From /usr/local/lib/python3.5/dist-packages/tensorflow/contrib/learn/python/learn/datasets/mnist.py:267: extract_labels (from tensorflow.contrib.learn.python.learn.datasets.mnist) is deprecated and will be removed in a future version.
Instructions for updating:
Please use tf.data to implement this functionality.
Extracting MNIST_data/train-labels-idx1-ubyte.gz
WARNING:tensorflow:From /usr/local/lib/python3.5/dist-packages/tensorflow/contrib/learn/python/learn/datasets/mnist.py:110: dense_to_one_hot (from tensorflow.contrib.learn.python.learn.datasets.mnist) is deprecated and will be removed in a future version.
Instructions for updating:
Please use tf.one_hot on tensors.
Extracting MNIST_data/t10k-images-idx3-ubyte.gz
Extracting MNIST_data/t10k-labels-idx1-ubyte.gz
WARNING:tensorflow:From /usr/local/lib/python3.5/dist-packages/tensorflow/contrib/learn/python/learn/datasets/mnist.py:290: DataSet.__init__ (from tensorflow.contrib.learn.python.learn.datasets.mnist) is deprecated and will be removed in a future version.
Instructions for updating:
Please use alternatives such as official/mnist/dataset.py from tensorflow/models.
xi Tensor("Relu:0", shape=(?, 16, 16, 32), dtype=float32)
xi Tensor("Relu_1:0", shape=(?, 8, 8, 16), dtype=float32)
xi Tensor("Relu_2:0", shape=(?, 2, 2, 8), dtype=float32)
xo Tensor("Relu_3:0", shape=(?, 8, 8, 16), dtype=float32)
xo Tensor("Relu_4:0", shape=(?, 16, 16, 32), dtype=float32)
xo Tensor("Tanh:0", shape=(?, 32, 32, 1), dtype=float32)
2018-11-02 09:21:05.882917: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
/usr/local/lib/python3.5/dist-packages/skimage/transform/_warps.py:84: UserWarning: The default mode, 'constant', will be changed to 'reflect' in skimage 0.15.
  warn("The default mode, 'constant', will be changed to 'reflect' in "
2018-11-02 09:21:06.345232: E tensorflow/core/common_runtime/executor.cc:630] Executor failed to create kernel. Invalid argument: Current implementation does not yet support strides in the batch and depth dimensions.
	 [[{{node Conv2D_1}} = Conv2D[T=DT_FLOAT, data_format="NHWC", dilations=[1, 1, 1, 1], padding="SAME", strides=[1, 2, 2, 32], use_cudnn_on_gpu=true, _device="/job:localhost/replica:0/task:0/device:CPU:0"](Relu, Variable_1/read)]]
Traceback (most recent call last):
  File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/client/session.py", line 1292, in _do_call
    return fn(*args)
  File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/client/session.py", line 1277, in _run_fn
    options, feed_dict, fetch_list, target_list, run_metadata)
  File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/client/session.py", line 1367, in _call_tf_sessionrun
    run_metadata)
tensorflow.python.framework.errors_impl.InvalidArgumentError: Current implementation does not yet support strides in the batch and depth dimensions.
	 [[{{node Conv2D_1}} = Conv2D[T=DT_FLOAT, data_format="NHWC", dilations=[1, 1, 1, 1], padding="SAME", strides=[1, 2, 2, 32], use_cudnn_on_gpu=true, _device="/job:localhost/replica:0/task:0/device:CPU:0"](Relu, Variable_1/read)]]

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "./simple_autoencoder.py", line 150, in <module>
    run_metadata=run_metadata)
  File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/client/session.py", line 887, in run
    run_metadata_ptr)
  File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/client/session.py", line 1110, in _run
    feed_dict_tensor, options, run_metadata)
  File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/client/session.py", line 1286, in _do_run
    run_metadata)
  File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/client/session.py", line 1308, in _do_call
    raise type(e)(node_def, op, message)
tensorflow.python.framework.errors_impl.InvalidArgumentError: Current implementation does not yet support strides in the batch and depth dimensions.
	 [[{{node Conv2D_1}} = Conv2D[T=DT_FLOAT, data_format="NHWC", dilations=[1, 1, 1, 1], padding="SAME", strides=[1, 2, 2, 32], use_cudnn_on_gpu=true, _device="/job:localhost/replica:0/task:0/device:CPU:0"](Relu, Variable_1/read)]]

Caused by op 'Conv2D_1', defined at:
  File "./simple_autoencoder.py", line 121, in <module>
    ae_outputs = autoencoder(ae_inputs)  # create the Autoencoder network
  File "./simple_autoencoder.py", line 69, in autoencoder
    padding='SAME')
  File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/ops/gen_nn_ops.py", line 957, in conv2d
    data_format=data_format, dilations=dilations, name=name)
  File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/framework/op_def_library.py", line 787, in _apply_op_helper
    op_def=op_def)
  File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/util/deprecation.py", line 488, in new_func
    return func(*args, **kwargs)
  File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/framework/ops.py", line 3272, in create_op
    op_def=op_def)
  File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/framework/ops.py", line 1768, in __init__
    self._traceback = tf_stack.extract_stack()

InvalidArgumentError (see above for traceback): Current implementation does not yet support strides in the batch and depth dimensions.
	 [[{{node Conv2D_1}} = Conv2D[T=DT_FLOAT, data_format="NHWC", dilations=[1, 1, 1, 1], padding="SAME", strides=[1, 2, 2, 32], use_cudnn_on_gpu=true, _device="/job:localhost/replica:0/task:0/device:CPU:0"](Relu, Variable_1/read)]]
`

System information

Have I written custom code (as opposed to using a stock example script provided in TensorFlow):
OS Platform and Distribution (e.g., Linux Ubuntu 16.04): Ubuntu 16.04
Mobile device (e.g. iPhone 8, Pixel 2, Samsung Galaxy) if the issue happens on mobile device:
TensorFlow installed from (source or binary): 1.10
Python version: 3.5
Bazel version (if compiling from source): None
GCC/Compiler version (if compiling from source): gcc (Ubuntu 5.4.0-6ubuntu1~16.04.10) 5.4.0 20160609

@yupbank   PTAL

sure..

Hey, so the equivalent operation of
net = tf.placeholder(tf.float32, [10, 255, 255, 3])
net = lays.conv2d(net, 16, [5, 5], stride=2, padding='SAME')

in tf.nn is
filters = tf.get_variable('Conv/weights', [5, 5, 3, 16], tf.float32)
biases =  tf.get_variable('Conv/bias', [16], tf.float32)
net = tf.nn.conv2d(net, filters, [1, 2, 2, 1], padding='SAME') + biases

since the first and last dimension of the net is batch_size and channel, when we do convolution, we don't put stride on them.

@xav12358  - Any update on this ?

In "awaiting response" status for more than 3 days. Hence closing this. Please post the updates here if any, we will reopen the issue. Thanks !


[backport] Fix multi thread problem in PooledMemory

backport of https://github.com/cupy/cupy/pull/480

LGTM!


Add GitHub workflow to publish sphinx documentation

... and a .gitignore for locally generated sphinx documentation
Sample display at https://databean.github.io/CodeHawk-C/

Thanks for reviewing!


Prepare for proofreading effort

A few things we should do to prepare for the proofreading effort:

[ ] Make a separate repository for this based on the napari plugin cookiecutter; move our napari protoype there.
[ ] Make a list of images for proofreading; the list by Lorenzo is a good starting point, but we should also include images from the new microscope set-up.
[ ] Figure out which output format we need for the EMBL App (I am talking about this with EMBL IT).
[ ] Think about the functionality to correct the segmentation and how it interacts with the infected cell labeling.
[ ] Make first draft for the user tutorial; recruit some beta testers (@akreshuk, @metavibor, Severina).

cc @wolny @lorenzocerrone @akreshuk

I have made a repo and added the data generated by the cookiecutter:
https://github.com/hci-unihd/covid-if-annotations

Closing this, all the discussions about this are moved to the other repo.


Instead of ratio-compress to specific layer size

Hello!
I was wondering if this code can be manipulated to transform a tensor - say (32128128) to a smaller tensor (86464).
Basically reduce the size of the llm layer by layer.

Hi!
Yes, SVD-LLM can compress the model(tensor) to a smaller size. But it does not change the shape of input and output channel.
For example, the algorithm replaces the original weight matrix W  with shape 128x128 with the multiplication of two smaller matrix A: 128x16 and B: 16x128. In this way, the number of stored values will be reduced from 128x128=16384 to 128x16x2=4096.
Changing the shape of input and output channel - from 128x128 to 64x64 is another kind of compression method. It could be achieved by structured pruning. You can refer this paper for more detail:  https://arxiv.org/abs/2305.11627


Can't load developer applet in Das Keyboard Q on Ubuntu

From URL: https://www.daskeyboard.io/applet-development/index.md
At present there's a bug in the way dev applets are loaded into the Das Keyboard Q environment. To replicate:

ubuntu 20.04 LTS
Das Keyboard Q version 3.2.7
Das Keyboard 5Q hardware
Firmware v7.4.51
clone any applet from github, e.g. https://github.com/daskeyboard/daskeyboard-applet--montastic
in Das Keyboard Q, click settings icon and toggle dev menu on
in dev menu (</a>) click 'load applet'
in the 'Create dev applet' menu, click the 'select' button. This will load a file manager (looks like nautilus)
navigate to where you cloned the repo, and highlight the directory
click 'select'
Das Keyboard Q fails to select the folder, but instead picks a file within that folder (in my experience it always picks README.md)
This appears in applet.log.json:

{"level":"info","message":"2020-12-10 02:35:56.3556 Install request:","timestamp":"2020-12-10T19:35:56.282Z"}
{"level":"info","message":"2020-12-10 02:35:56.3556 Installing appletId: -279","timestamp":"2020-12-10T19:35:56.283Z"}
{"level":"info","message":"2020-12-10 02:35:56.3556 Installing from: file:///home/bo/src/daskeyboard-applet--montastic/README.md","timestamp":"2020-12-10T19:35:56.283Z"}
{"level":"info","message":"2020-12-10 02:35:56.3556 Installing with user config: ","timestamp":"2020-12-10T19:35:56.283Z"}
{"level":"info","message":"2020-12-10 02:35:56.3556 Beginning installation of applet: -279, release: file:///home/bo/src/daskeyboard-applet--montastic/README.md","timestamp":"2020-12-10T19:35:56.286Z"}
{"level":"info","message":"2020-12-10 02:35:56.3556 Installing applet at: file:///home/bo/src/daskeyboard-applet--montastic/README.md","timestamp":"2020-12-10T19:35:56.287Z"}
{"level":"info","message":"2020-12-10 02:35:56.3556 Sideloading from path: /home/bo/src/daskeyboard-applet--montastic/README.md to /home/bo/.quio/v2/q_extensions/-279","timestamp":"2020-12-10T19:35:56.287Z"}
{"level":"error","message":"2020-12-10 02:35:56.3556 Error: ENOTDIR: not a directory, open '/home/bo/.quio/v2/q_extensions/-279/package.json'","timestamp":"2020-12-10T19:35:56.295Z"}
{"level":"error","message":"2020-12-10 02:35:56.3556 Error installing package at /home/bo/.quio/v2/q_extensions/-279; Error reading file at '/home/bo/.quio/v2/q_extensions/-279/package.json'.","timestamp":"2020-12-10T19:35:56.296Z"}
{"level":"error","message":"2020-12-10 02:35:56.3556 Error while installing applet -279","timestamp":"2020-12-10T19:35:56.296Z"}

Presumably this indicates some incorrect interactions between the file manager (nautilus) and the Das Keyboard Q software.
Is there a way to bypass the file manager GUI and set the value directly? Can I otherwise trick the software into loading a directory instead of a single file?

Good morning,
Thank you for opening an issue.
Our team will have a look soon.

Hi,
This issue should be fixed in version 3.2.8 of the software.
Thank you for reporting it.


pytorch 2.5 support

PyTorch 2.5 will be released in mid-October.

After #507 , we don't need a separate wheel for each cuda/pytorch version.
Thanks for bringing this up, we should definitely look at pytorch 2.5 new features and integration them in the future.

https://pytorch.org/blog/pytorch2-5 cc @yzh119


Quick and dirty way of measuring RR pick cb contention

****************************************************************

libgrpc.so

     VM SIZE                                                             FILE SIZE
 ++++++++++++++ GROWING                                               ++++++++++++++
  +0.1%    +432 [None]                                                    +88  +0.0%
      +0.1%    +368 [Unmapped]                                                +88  +0.0%
      +1.6%     +16 [None]                                                      0  [ = ]
      [NEW]     +16 end                                                         0  [ = ]
      [NEW]     +16 start                                                       0  [ = ]
      [NEW]      +8 avg                                                         0  [ = ]
      [NEW]      +8 avg_n                                                       0  [ = ]
  +0.6%    +208 src/core/ext/filters/client_channel/client_channel.cc    +208  +0.6%
       +22%    +152 start_pick_locked                                        +152   +22%
      +9.2%     +48 cc_destroy_channel_elem                                   +48  +9.2%
      +1.2%     +16 cc_start_transport_stream_op_batch                        +16  +1.2%

  +0.0%    +640 TOTAL                                                    +296  +0.0%

****************************************************************

libgrpc++.so

     VM SIZE                      FILE SIZE
 ++++++++++++++ GROWING        ++++++++++++++
  +0.0%     +48 [None]             +24  +0.0%
      +0.0%     +32 [Unmapped]         +24  +0.0%
      [NEW]     +16 end                  0  [ = ]

  +0.0%     +48 TOTAL              +24  +0.0%

[trickle] No significant performance differences

Objective-C binary sizes
*****************STATIC******************
  New size                      Old size
 1,976,521      Total (>)      1,976,225

 No significant differences in binary sizes

***************FRAMEWORKS****************
  New size                      Old size
10,770,703      Total (>)     10,770,425

 No significant differences in binary sizes

[microbenchmarks] Performance differences noted:
Benchmark                                                           cpu_time    nows_per_iteration    real_time
------------------------------------------------------------------  ----------  --------------------  -----------
BM_ErrorStringOnNewError<ErrorNone>                                 -8%                               -8%
BM_StreamingPingPong<MinTCP, NoOpMutator, NoOpMutator>/0/0                      +66%
BM_StreamingPingPong<MinTCP, NoOpMutator, NoOpMutator>/0/1                      +49%
BM_StreamingPingPong<MinTCP, NoOpMutator, NoOpMutator>/0/2                      +39%
BM_StreamingPingPong<MinTCP, NoOpMutator, NoOpMutator>/1/1                      +49%
BM_StreamingPingPong<MinTCP, NoOpMutator, NoOpMutator>/1/2                      +39%
BM_StreamingPingPong<MinTCP, NoOpMutator, NoOpMutator>/2097152/1                +23%
BM_StreamingPingPong<MinTCP, NoOpMutator, NoOpMutator>/262144/1                 +49%
BM_StreamingPingPong<MinTCP, NoOpMutator, NoOpMutator>/262144/2                 +38%
BM_StreamingPingPong<MinTCP, NoOpMutator, NoOpMutator>/32768/1                  +49%
BM_StreamingPingPong<MinTCP, NoOpMutator, NoOpMutator>/32768/2                  +39%
BM_StreamingPingPong<MinTCP, NoOpMutator, NoOpMutator>/4096/1                   +49%
BM_StreamingPingPong<MinTCP, NoOpMutator, NoOpMutator>/4096/2                   +39%
BM_StreamingPingPong<MinTCP, NoOpMutator, NoOpMutator>/512/1                    +49%
BM_StreamingPingPong<MinTCP, NoOpMutator, NoOpMutator>/512/2                    +39%
BM_StreamingPingPong<MinTCP, NoOpMutator, NoOpMutator>/64/1                     +49%
BM_StreamingPingPong<MinTCP, NoOpMutator, NoOpMutator>/64/2                     +39%
BM_StreamingPingPong<MinTCP, NoOpMutator, NoOpMutator>/8/1                      +49%
BM_StreamingPingPong<MinTCP, NoOpMutator, NoOpMutator>/8/2                      +39%
BM_StreamingPingPong<TCP, NoOpMutator, NoOpMutator>/0/0                         +66%
BM_StreamingPingPong<TCP, NoOpMutator, NoOpMutator>/0/1                         +49%
BM_StreamingPingPong<TCP, NoOpMutator, NoOpMutator>/0/2                         +39%
BM_StreamingPingPong<TCP, NoOpMutator, NoOpMutator>/1/1                         +49%
BM_StreamingPingPong<TCP, NoOpMutator, NoOpMutator>/1/2                         +39%
BM_StreamingPingPong<TCP, NoOpMutator, NoOpMutator>/2097152/1                   +25%
BM_StreamingPingPong<TCP, NoOpMutator, NoOpMutator>/262144/1                    +49%
BM_StreamingPingPong<TCP, NoOpMutator, NoOpMutator>/262144/2                    +38%
BM_StreamingPingPong<TCP, NoOpMutator, NoOpMutator>/32768/1                     +49%
BM_StreamingPingPong<TCP, NoOpMutator, NoOpMutator>/32768/2                     +39%
BM_StreamingPingPong<TCP, NoOpMutator, NoOpMutator>/4096/1                      +49%
BM_StreamingPingPong<TCP, NoOpMutator, NoOpMutator>/4096/2                      +39%
BM_StreamingPingPong<TCP, NoOpMutator, NoOpMutator>/512/1                       +49%
BM_StreamingPingPong<TCP, NoOpMutator, NoOpMutator>/512/2                       +39%
BM_StreamingPingPong<TCP, NoOpMutator, NoOpMutator>/64/1                        +49%
BM_StreamingPingPong<TCP, NoOpMutator, NoOpMutator>/64/2                        +39%
BM_StreamingPingPong<TCP, NoOpMutator, NoOpMutator>/8/1                         +49%
BM_StreamingPingPong<TCP, NoOpMutator, NoOpMutator>/8/2                         +39%
BM_UnaryPingPong<MinTCP, NoOpMutator, NoOpMutator>/0/0                          +79%
BM_UnaryPingPong<MinTCP, NoOpMutator, NoOpMutator>/0/1                          +79%
BM_UnaryPingPong<MinTCP, NoOpMutator, NoOpMutator>/0/2097152                    +51%
BM_UnaryPingPong<MinTCP, NoOpMutator, NoOpMutator>/0/262144                     +78%
BM_UnaryPingPong<MinTCP, NoOpMutator, NoOpMutator>/0/32768                      +79%
BM_UnaryPingPong<MinTCP, NoOpMutator, NoOpMutator>/0/4096                       +79%
BM_UnaryPingPong<MinTCP, NoOpMutator, NoOpMutator>/0/512                        +79%
BM_UnaryPingPong<MinTCP, NoOpMutator, NoOpMutator>/0/64                         +79%
BM_UnaryPingPong<MinTCP, NoOpMutator, NoOpMutator>/0/8                          +79%
BM_UnaryPingPong<MinTCP, NoOpMutator, NoOpMutator>/1/0                          +79%
BM_UnaryPingPong<MinTCP, NoOpMutator, NoOpMutator>/1/1                          +79%
BM_UnaryPingPong<MinTCP, NoOpMutator, NoOpMutator>/2097152/0                    +26%
BM_UnaryPingPong<MinTCP, NoOpMutator, NoOpMutator>/2097152/2097152              +25%
BM_UnaryPingPong<MinTCP, NoOpMutator, NoOpMutator>/262144/0                     +78%
BM_UnaryPingPong<MinTCP, NoOpMutator, NoOpMutator>/262144/262144                +76%
BM_UnaryPingPong<MinTCP, NoOpMutator, NoOpMutator>/32768/0                      +79%
BM_UnaryPingPong<MinTCP, NoOpMutator, NoOpMutator>/32768/32768                  +79%
BM_UnaryPingPong<MinTCP, NoOpMutator, NoOpMutator>/4096/0                       +79%
BM_UnaryPingPong<MinTCP, NoOpMutator, NoOpMutator>/4096/4096                    +79%
BM_UnaryPingPong<MinTCP, NoOpMutator, NoOpMutator>/512/0                        +79%
BM_UnaryPingPong<MinTCP, NoOpMutator, NoOpMutator>/512/512                      +79%
BM_UnaryPingPong<MinTCP, NoOpMutator, NoOpMutator>/64/0                         +79%
BM_UnaryPingPong<MinTCP, NoOpMutator, NoOpMutator>/64/64                        +79%
BM_UnaryPingPong<MinTCP, NoOpMutator, NoOpMutator>/8/0                          +79%
BM_UnaryPingPong<MinTCP, NoOpMutator, NoOpMutator>/8/8                          +79%
BM_UnaryPingPong<MinUDS, NoOpMutator, NoOpMutator>/0/0                          +79%
BM_UnaryPingPong<TCP, NoOpMutator, NoOpMutator>/0/0                             +79%
BM_UnaryPingPong<TCP, NoOpMutator, NoOpMutator>/0/1                             +79%
BM_UnaryPingPong<TCP, NoOpMutator, NoOpMutator>/0/2097152                       +53%
BM_UnaryPingPong<TCP, NoOpMutator, NoOpMutator>/0/262144                        +78%
BM_UnaryPingPong<TCP, NoOpMutator, NoOpMutator>/0/32768                         +79%
BM_UnaryPingPong<TCP, NoOpMutator, NoOpMutator>/0/4096                          +79%
BM_UnaryPingPong<TCP, NoOpMutator, NoOpMutator>/0/512                           +79%
BM_UnaryPingPong<TCP, NoOpMutator, NoOpMutator>/0/64                            +79%
BM_UnaryPingPong<TCP, NoOpMutator, NoOpMutator>/0/8                             +79%
BM_UnaryPingPong<TCP, NoOpMutator, NoOpMutator>/1/0                             +79%
BM_UnaryPingPong<TCP, NoOpMutator, NoOpMutator>/1/1                             +79%
BM_UnaryPingPong<TCP, NoOpMutator, NoOpMutator>/2097152/0                       +48%
BM_UnaryPingPong<TCP, NoOpMutator, NoOpMutator>/2097152/2097152                 +33%
BM_UnaryPingPong<TCP, NoOpMutator, NoOpMutator>/262144/0                        +79%
BM_UnaryPingPong<TCP, NoOpMutator, NoOpMutator>/262144/262144                   +77%
BM_UnaryPingPong<TCP, NoOpMutator, NoOpMutator>/32768/0                         +79%
BM_UnaryPingPong<TCP, NoOpMutator, NoOpMutator>/32768/32768                     +79%
BM_UnaryPingPong<TCP, NoOpMutator, NoOpMutator>/4096/0                          +79%
BM_UnaryPingPong<TCP, NoOpMutator, NoOpMutator>/4096/4096                       +79%
BM_UnaryPingPong<TCP, NoOpMutator, NoOpMutator>/512/0                           +79%
BM_UnaryPingPong<TCP, NoOpMutator, NoOpMutator>/512/512                         +79%
BM_UnaryPingPong<TCP, NoOpMutator, NoOpMutator>/64/0                            +79%
BM_UnaryPingPong<TCP, NoOpMutator, NoOpMutator>/64/64                           +79%
BM_UnaryPingPong<TCP, NoOpMutator, NoOpMutator>/8/0                             +79%
BM_UnaryPingPong<TCP, NoOpMutator, NoOpMutator>/8/8                             +79%
BM_UnaryPingPong<UDS, NoOpMutator, NoOpMutator>/0/0                             +79%

****************************************************************

libgrpc.so

     VM SIZE                                                             FILE SIZE
 ++++++++++++++ GROWING                                               ++++++++++++++
  +0.2%     +80 src/core/ext/filters/client_channel/client_channel.cc     +80  +0.2%
       +11%     +72 start_pick_locked                                         +72   +11%
      +1.2%     +16 cc_start_transport_stream_op_batch                        +16  +1.2%

 -+-+-+-+-+-+-+ MIXED                                                 +-+-+-+-+-+-+-
  +0.0%    +272 [None]                                                   -232  -0.0%
      [NEW]     +16 end                                                         0  [ = ]
      [NEW]     +16 start                                                       0  [ = ]
      [NEW]      +8 diff                                                        0  [ = ]

  +0.0%    +352 TOTAL                                                    -152  -0.0%

****************************************************************

libgrpc++.so

     VM SIZE                      FILE SIZE
 ++++++++++++++ GROWING        ++++++++++++++
  +0.0%     +48 [None]             +24  +0.0%
      +0.0%     +32 [Unmapped]         +24  +0.0%
      [NEW]     +16 end                  0  [ = ]

  +0.0%     +48 TOTAL              +24  +0.0%

[trickle] No significant performance differences

Objective-C binary sizes
*****************STATIC******************
  New size                      Old size
 1,976,377      Total (>)      1,976,225

 No significant differences in binary sizes

***************FRAMEWORKS****************
  New size                      Old size
10,770,606      Total (>)     10,770,423

 No significant differences in binary sizes

[microbenchmarks] Performance differences noted:
Benchmark                                                           nows_per_iteration
------------------------------------------------------------------  --------------------
BM_StreamingPingPong<MinTCP, NoOpMutator, NoOpMutator>/0/0          +66%
BM_StreamingPingPong<MinTCP, NoOpMutator, NoOpMutator>/0/1          +49%
BM_StreamingPingPong<MinTCP, NoOpMutator, NoOpMutator>/0/2          +39%
BM_StreamingPingPong<MinTCP, NoOpMutator, NoOpMutator>/1/1          +49%
BM_StreamingPingPong<MinTCP, NoOpMutator, NoOpMutator>/1/2          +39%
BM_StreamingPingPong<MinTCP, NoOpMutator, NoOpMutator>/2097152/1    +28%
BM_StreamingPingPong<MinTCP, NoOpMutator, NoOpMutator>/262144/1     +49%
BM_StreamingPingPong<MinTCP, NoOpMutator, NoOpMutator>/262144/2     +38%
BM_StreamingPingPong<MinTCP, NoOpMutator, NoOpMutator>/32768/1      +49%
BM_StreamingPingPong<MinTCP, NoOpMutator, NoOpMutator>/32768/2      +39%
BM_StreamingPingPong<MinTCP, NoOpMutator, NoOpMutator>/4096/1       +49%
BM_StreamingPingPong<MinTCP, NoOpMutator, NoOpMutator>/4096/2       +39%
BM_StreamingPingPong<MinTCP, NoOpMutator, NoOpMutator>/512/1        +49%
BM_StreamingPingPong<MinTCP, NoOpMutator, NoOpMutator>/512/2        +39%
BM_StreamingPingPong<MinTCP, NoOpMutator, NoOpMutator>/64/1         +49%
BM_StreamingPingPong<MinTCP, NoOpMutator, NoOpMutator>/64/2         +39%
BM_StreamingPingPong<MinTCP, NoOpMutator, NoOpMutator>/8/1          +49%
BM_StreamingPingPong<MinTCP, NoOpMutator, NoOpMutator>/8/2          +39%
BM_StreamingPingPong<TCP, NoOpMutator, NoOpMutator>/0/0             +66%
BM_StreamingPingPong<TCP, NoOpMutator, NoOpMutator>/0/1             +49%
BM_StreamingPingPong<TCP, NoOpMutator, NoOpMutator>/0/2             +39%
BM_StreamingPingPong<TCP, NoOpMutator, NoOpMutator>/1/1             +49%
BM_StreamingPingPong<TCP, NoOpMutator, NoOpMutator>/1/2             +39%
BM_StreamingPingPong<TCP, NoOpMutator, NoOpMutator>/2097152/1       +29%
BM_StreamingPingPong<TCP, NoOpMutator, NoOpMutator>/262144/1        +49%
BM_StreamingPingPong<TCP, NoOpMutator, NoOpMutator>/262144/2        +38%
BM_StreamingPingPong<TCP, NoOpMutator, NoOpMutator>/32768/1         +49%
BM_StreamingPingPong<TCP, NoOpMutator, NoOpMutator>/32768/2         +39%
BM_StreamingPingPong<TCP, NoOpMutator, NoOpMutator>/4096/1          +49%
BM_StreamingPingPong<TCP, NoOpMutator, NoOpMutator>/4096/2          +39%
BM_StreamingPingPong<TCP, NoOpMutator, NoOpMutator>/512/1           +49%
BM_StreamingPingPong<TCP, NoOpMutator, NoOpMutator>/512/2           +39%
BM_StreamingPingPong<TCP, NoOpMutator, NoOpMutator>/64/1            +49%
BM_StreamingPingPong<TCP, NoOpMutator, NoOpMutator>/64/2            +39%
BM_StreamingPingPong<TCP, NoOpMutator, NoOpMutator>/8/1             +49%
BM_StreamingPingPong<TCP, NoOpMutator, NoOpMutator>/8/2             +39%
BM_UnaryPingPong<MinTCP, NoOpMutator, NoOpMutator>/0/0              +79%
BM_UnaryPingPong<MinTCP, NoOpMutator, NoOpMutator>/0/1              +79%
BM_UnaryPingPong<MinTCP, NoOpMutator, NoOpMutator>/0/2097152        +49%
BM_UnaryPingPong<MinTCP, NoOpMutator, NoOpMutator>/0/262144         +79%
BM_UnaryPingPong<MinTCP, NoOpMutator, NoOpMutator>/0/32768          +79%
BM_UnaryPingPong<MinTCP, NoOpMutator, NoOpMutator>/0/4096           +79%
BM_UnaryPingPong<MinTCP, NoOpMutator, NoOpMutator>/0/512            +79%
BM_UnaryPingPong<MinTCP, NoOpMutator, NoOpMutator>/0/64             +79%
BM_UnaryPingPong<MinTCP, NoOpMutator, NoOpMutator>/0/8              +79%
BM_UnaryPingPong<MinTCP, NoOpMutator, NoOpMutator>/1/0              +79%
BM_UnaryPingPong<MinTCP, NoOpMutator, NoOpMutator>/1/1              +79%
BM_UnaryPingPong<MinTCP, NoOpMutator, NoOpMutator>/2097152/0        +43%
BM_UnaryPingPong<MinTCP, NoOpMutator, NoOpMutator>/2097152/2097152  +34%
BM_UnaryPingPong<MinTCP, NoOpMutator, NoOpMutator>/262144/0         +79%
BM_UnaryPingPong<MinTCP, NoOpMutator, NoOpMutator>/262144/262144    +77%
BM_UnaryPingPong<MinTCP, NoOpMutator, NoOpMutator>/32768/0          +79%
BM_UnaryPingPong<MinTCP, NoOpMutator, NoOpMutator>/32768/32768      +79%
BM_UnaryPingPong<MinTCP, NoOpMutator, NoOpMutator>/4096/0           +79%
BM_UnaryPingPong<MinTCP, NoOpMutator, NoOpMutator>/4096/4096        +79%
BM_UnaryPingPong<MinTCP, NoOpMutator, NoOpMutator>/512/0            +79%
BM_UnaryPingPong<MinTCP, NoOpMutator, NoOpMutator>/512/512          +79%
BM_UnaryPingPong<MinTCP, NoOpMutator, NoOpMutator>/64/0             +79%
BM_UnaryPingPong<MinTCP, NoOpMutator, NoOpMutator>/64/64            +79%
BM_UnaryPingPong<MinTCP, NoOpMutator, NoOpMutator>/8/0              +79%
BM_UnaryPingPong<MinTCP, NoOpMutator, NoOpMutator>/8/8              +79%
BM_UnaryPingPong<MinUDS, NoOpMutator, NoOpMutator>/0/0              +79%
BM_UnaryPingPong<TCP, NoOpMutator, NoOpMutator>/0/0                 +79%
BM_UnaryPingPong<TCP, NoOpMutator, NoOpMutator>/0/1                 +79%
BM_UnaryPingPong<TCP, NoOpMutator, NoOpMutator>/0/2097152           +54%
BM_UnaryPingPong<TCP, NoOpMutator, NoOpMutator>/0/262144            +79%
BM_UnaryPingPong<TCP, NoOpMutator, NoOpMutator>/0/32768             +79%
BM_UnaryPingPong<TCP, NoOpMutator, NoOpMutator>/0/4096              +79%
BM_UnaryPingPong<TCP, NoOpMutator, NoOpMutator>/0/512               +79%
BM_UnaryPingPong<TCP, NoOpMutator, NoOpMutator>/0/64                +79%
BM_UnaryPingPong<TCP, NoOpMutator, NoOpMutator>/0/8                 +79%
BM_UnaryPingPong<TCP, NoOpMutator, NoOpMutator>/1/0                 +79%
BM_UnaryPingPong<TCP, NoOpMutator, NoOpMutator>/1/1                 +79%
BM_UnaryPingPong<TCP, NoOpMutator, NoOpMutator>/2097152/0           +46%
BM_UnaryPingPong<TCP, NoOpMutator, NoOpMutator>/2097152/2097152     +30%
BM_UnaryPingPong<TCP, NoOpMutator, NoOpMutator>/262144/0            +79%
BM_UnaryPingPong<TCP, NoOpMutator, NoOpMutator>/262144/262144       +78%
BM_UnaryPingPong<TCP, NoOpMutator, NoOpMutator>/32768/0             +79%
BM_UnaryPingPong<TCP, NoOpMutator, NoOpMutator>/32768/32768         +79%
BM_UnaryPingPong<TCP, NoOpMutator, NoOpMutator>/4096/0              +79%
BM_UnaryPingPong<TCP, NoOpMutator, NoOpMutator>/4096/4096           +79%
BM_UnaryPingPong<TCP, NoOpMutator, NoOpMutator>/512/0               +79%
BM_UnaryPingPong<TCP, NoOpMutator, NoOpMutator>/512/512             +79%
BM_UnaryPingPong<TCP, NoOpMutator, NoOpMutator>/64/0                +79%
BM_UnaryPingPong<TCP, NoOpMutator, NoOpMutator>/64/64               +79%
BM_UnaryPingPong<TCP, NoOpMutator, NoOpMutator>/8/0                 +79%
BM_UnaryPingPong<TCP, NoOpMutator, NoOpMutator>/8/8                 +79%
BM_UnaryPingPong<UDS, NoOpMutator, NoOpMutator>/0/0                 +79%

Is this PR ready to review?

no, this PR is just an experiment, it's not meant to be reviewed.

Thank you for your pull request. Before we can look at your contribution, we need to ensure all contributors are covered by a Contributor License Agreement.
After the following items are addressed, please respond with a new comment here, and the automated system will re-verify.

One or more commits are not associated with a GitHub user. The email used in the Git commit must match a verified email address in a GitHub user profile. For more information, please see https://help.github.com/articles/why-are-my-commits-linked-to-the-wrong-user/

Regards,
CLA GitHub bot


Make on_reconnect callback functional

Previously, if the socket.io connection got interrupted and reconnected
the on_connect callback got called again. I noticed that there is a
on_reconnect function to overide in the base namespace class, but since
there is no socket.io command corresponding to on_reconnect it never
gets called.
This commit adds a check to see if we have been connected before, and if
so, calls the on_reconnect callback instead of the on_connect callback agin.

Thanks!


0.13.x fails to install on Ubuntu 14 LTS

Not sure why 0.13.x fails to install on current Ubuntu 14 LTSbut the error after running ./setup_unix.sh is;
Do you wish to set the KA Lite server to run in the background automatically
when you start this computer (you will need root/sudo privileges) [Y/N]? y

[sudo] password for ed:
ImproperlyConfigured: ImportError kalite.testing.loadtesting: No module named selenium
update-rc.d: warning: /etc/init.d/kalite missing LSB information
update-rc.d: see <http://wiki.debian.org/LSBInitScripts>
 Adding system startup for /etc/init.d/kalite ...
   /etc/rc0.d/K20kalite -> ../init.d/kalite
   /etc/rc1.d/K20kalite -> ../init.d/kalite
   /etc/rc6.d/K20kalite -> ../init.d/kalite
   /etc/rc2.d/S20kalite -> ../init.d/kalite
   /etc/rc3.d/S20kalite -> ../init.d/kalite
   /etc/rc4.d/S20kalite -> ../init.d/kalite
   /etc/rc5.d/S20kalite -> ../init.d/kalite
ed@ed-VirtualBox:~/ka-lite$ kalite
kalite: command not found
ed@ed-VirtualBox:~/ka-lite$

Use the latest version.


oracle weblogic under podman

Hi.
Can I post question here regarding running weblogic - podman . Pls let me know if there another venue for oracle podman

Either here or in the discussions section is fine.


Segment trees

Description
Segment trees:
Segment trees are very useful for range queries. Segment trees do the update and query operation in log(n) time. They are binary trees in which the given array is modified into a tree which help in solving the query.

I would code in C++.


Strip off last \r\n in the prompt file.

Naturally also works if it's just \r or just \n. (However \n\r would result in \n. If you put weird stuff like that in your prompt file, you deserve what you get.)
Closes #60

Seems reasonable, but is there a reason not to use str::trim_end or str::trim_end_matches?

@philpax Because those would strip off all the trailing newline/carriage return characters, making it 1) impossible to actually use a prompt from a file that ends with a newline and 2) different behavior from llama.cpp which is probably what people will expect it to function like.
I care more about the first one there personally since I think that may be something people will actually want/need to do.

Fair enough!

By the way, I hope that comment wasn't too blunt. With the numbered items it does kind of read like I was lecturing you or something. So it may have come off stronger than I intended (I'm just generally a pretty direct person though).

Oh no, don't worry - you explained it just fine. 'sall good :)


Created Remote Debugging Training

Describe your Changes
Added training documents to remote debug on App Services
Issue ticket number and link if relevant
Checklist before requesting a review

[x] I have performed a self-review of my code and documentation
[x] I have updated the README to denote my solution/training/whitepaper
[x] I have identified which clouds this can run (Azure Cloud / Azure Government)

Added AKS Training


Fix IllegalStateException when reading empty byte array

Make sure that:

[x] You have read the contribution guidelines.
[x] You have created a feature request first to discuss your contribution intent. Please reference the feature request ticket number in the pull request.
[ ] You use the code formatters provided here and have them applied to your changes. Don't submit any formatting related changes.
[x] You submit test cases (unit or integration tests) that back your changes.

Issue description
Fixes #253
New Public APIs

Additional context

@steven-sheehy Please sign the Contributor License Agreement!
Click here to manually synchronize the status of this Pull Request.
See the FAQ for frequently asked questions.

@steven-sheehy Thank you for signing the Contributor License Agreement!

Thank you for your contribution. That's merged, polished, and backported now.


chore/test-perms

Description
Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change.
Fixes # (issue)
Type of change
Please delete options that are not relevant.

[ ] Bug fix
[ ] New feature
[ ] Refactor/improvement
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

How Has This Been Tested?
Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration
Checklist

[ ] My commit message is conventional
[ ] I have run pre-commit on all files before creating the PR
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass locally with my changes
[ ] I have checked my code and corrected any misspellings

Codecov Report

Merging #785 (1cf8d6d) into develop (144e043) will not change coverage.
The diff coverage is n/a.

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
@@           Coverage Diff            @@
##           develop     #785   +/-   ##
========================================
  Coverage    87.43%   87.43%
========================================
  Files           27       27
  Lines         1815     1815
========================================
  Hits          1587     1587
  Misses         228      228

:tada: This PR is included in version 1.9.2-beta.2 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Feature/integration tests poller

:tada: This PR is included in version 0.2.0-develop.1 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Error loading Phi Finetuned model

Thank you very much for the code! When I try to load the finetuned model for Phi (llama2 model works fine):
from transformers import AutoModelForCausalLM, AutoTokenizer
model_name = "locuslab/tofu_ft_phi-1.5"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(model_name)

inputs = tokenizer.encode("Your prompt here", return_tensors='pt')
outputs = model.generate(inputs)
print(tokenizer.decode(outputs[0], skip_special_tokens=True))

I get the following error:
OSError: Can't load tokenizer for 'locuslab/tofu_ft_phi-1.5'. If you were trying to load it from 'https://huggingface.co/models', make sure you don't have a local directory with the same name. Otherwise, make sure 'locuslab/tofu_ft_phi-1.5' is the correct path to a directory containing all relevant files for a CodeGenTokenizerFast tokenizer.

There is no files related to tokenizer in "locuslab/tofu_ft_phi-1.5", perhaps you can load tokenizer from "microsoft/phi-1_5".

Yes, I ended up doing this! Thank you for your help!!


Fix bugs in unit tests of new tpeak-based SFH model

This PR resolves a failing unit test. The failure was due to a bug in the test, not the source code: within the unit test, the new SFH kernel was just being called with the arguments in the wrong order.
@alexalar remember to use relative imports when importing diffstar from within diffstar (which is the only other change brought in with this PR).

This PR is superseded by #60


pull request for e2e test at 12/12/2016 03:45:03

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

optest/docs/updated_at.md
:white_check_mark:Succeeded

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


Question: Can I display custom mouse-over gene descriptions?

Hello,
lets say i have a set of genes from a non-model organism, but i do have gene annotations/descriptions. Can I use those? (without resorting to write javascript). I read the documentation and didn't find anything about it, so it seems i can't.  I was thinking that something like passing this annotation table/df to js and use that instead of retrieving data from the web could be a very useful option to plenty of people.

Hi @matrs, thanks for the feature request. I think this feature overlaps with what we have planned here https://github.com/ismms-himc/clustergrammer-gl/issues/25
I think the way we'll implement this for Clustergrammer2 is that we'll have a method for tooltip metadata (e.g. net.tooltip_metadata(axis='row', meta=df_meta)) where a user can input their own metadata (e.g. a Pandas DataFrame with columns like fullname and description). Then this information will be passed to the Clustergrammer-GL front-end and saved as part of the Widget JSON so that it will also work when embedded into a static HTML. Let us know what you think.

Well, it sounds great, specially the part about embedding it so it works with static html files.

Given that annotations potentially can have a lot of text, can be a secondary option to have that annotation as external file (maybe a compressed format) and link it from the html? can js read it from that file the way it "reads" it from the web or that would be too complicated in terms of its implementation? I'm thinking about responsiveness of the widget in cases where you embed a lot of text in the widget but i don't know if that plays a role in it.

Hi @matrs, that makes sense to limit the amount of data embedded into the visualization JSON (we're going to be improving our JSON format soon which will make saving the data more efficient). The static HTML will not be able to load information from a file because of web security issues (I believe this falls under CORS requests).
The current mouseover information is being retrieved by the Harmonizome (http://amp.pharm.mssm.edu/Harmonizome/) API which allows CORS requests (e.g. front-end code can make a GET request).
One solution for this type of problem (e.g. hosting data that can be retrieved by front-end code) is to use GitHub to host the text and then load it from there using GET requests. We're doing something like this on this Observable notebook (https://observablehq.com/@ismms-himc/covid-19-sars-cov-2-preprints-from-medrxiv-and-biorxiv) and the repo we're making request from is here https://github.com/ismms-himc/covid-19_sinai_reviews.


509 the foramt of the reference table from epatadas tada getsynonymref function

updated documentation for TADA_GetSynonymRef and TADA_HarmonizeSynonyms to remove any references to unit conversion as target units are no longer included in harmonization, but occur elsewhere in the workflow (TADA_ConvertResultUnits)

@cefergus and @wokenny13 - this PR contains documentation-only updates prompted by an issue report (https://github.com/USEPA/EPATADA/issues/509).
If one of you has time to take a quick look and make sure my edits make sense and are not missing any details, that would be great. Thanks!


Istio agent support writing secrets to file for applications to consume

Describe the feature request
Istio agent needs to write the secrets to local files, so that the user's applications can consume it from file. This is needed for Prometheus (directly loads key&certs from file) and other applications that don't run with sidecars.
Describe alternatives you've considered
secret volume mount - but istiod doesn't plan to have permission to write to secrets in user's namespaces.
Additional context

Seems done? I overheard this plan during 1.5 release, but can't know for sure.

feel free to reopen with a priority set.


docs: link to Dart in readme is incorrect

Link in the readme points to https://www.dartlang.org/articles/zones/
When you open it,
it redirects to https://dart.dev/articles/zones (404 Page)

Thanks, will fix it later, now we are moving zone.js to angular repo.


Added WPA/BPA display for final rounds

Closes #174
Now final round looks like this:

Projector view:

I'm not sure how sorting should be resolved, I think it's not bad like this, but I'm open to suggestions on how it could be done better.

Hey, thanks for the PR! A few high level notes:

I think green/red calls too much attention. Instead, let's use regular color but with opacity (such that it's still visible, but feels like a secondary detail)
For rounds with mo3 we can show the current mean after 2 solves. Particularly useful for FMC.
I don't think we need the toggle for now. With the opacity it should be subtle enough. If it turns out confusing to people, we can have a settings icon with more control.
It would be nice to show a tooltip on each of these extra numbers with brief explanation of what the number is.

I made changes ;)
Now it looks like this:

Thanks, this looks awesome! One small nit - it looks like WPA / BPA are off-centre in your second-last screenshot - could we investigate the reason for this?

@dunkOnIT fixed ;)


Mutation on remove

Following code mutates the emails, which leads my state to be corrupted:
https://github.com/jsdevkr/react-multi-email/blob/c45542748e750757b5c27a6aec6f2c1aa6680584/src/react-multi-email/ReactMultiEmail.tsx#L109
this code should be correct:
removeEmail = (index: number) => {
        this.setState(prevState => ({
            emails: prevState.emails.splice(index, 1),
        }), () => {
            if (this.props.onChange) {
                this.props.onChange(this.state.emails)
            }
        })
    }

Thank you. I will fix this code.

Version 0.4.0 has just been released. Thank you again.


BurningOKR does not start

Hello,
i have deployed the tool within kubernetes (have created a helm chart by myself from the example docker compose files).
The deployment works fine but when i start the backend tool, it crashes by java errors.
The following things i have checked:

Keycloak URL is accessable from the container
Database is accessable and can be connected
Environment Variables are all set
Keycloak client is configured

Variables are set to:
SPRING_DATASOURCE_URL: jdbc:postgresql://burning-okr-postgres:5432/burningokr?useSSL=false
SPRING_JPA_PROPERTIES_HIBERNATE_DIALECT: org.hibernate.dialect.PostgreSQLDialect
SPRING_MAIL_HOST: XXX.XXX.de
SPRING_MAIL_PORT: '21'
SPRING_PROFILES_ACTIVE: prod
SPRING_SECURITY_OAUTH2_RESOURCESERVER_JWT_ISSUER_URI: https://id-XXX.XXXX.de/realms/XXXX
SYSTEM_CONFIGURATION_CLIENT_ID: burningokr-test
SYSTEM_CONFIGURATION_ISSUER_URI: https://id-XXX.XXXX.de/realms/XXXX
SYSTEM_CONFIGURATION_OIDC_ADMIN_GROUP_NAME: admingroup
SYSTEM_CONFIGURATION_PROVIDER: keycloak
SYSTEM_CONFIGURATION_SCOPES_0: openid
SYSTEM_CONFIGURATION_SCOPES_1: offline_access
SYSTEM_CONFIGURATION_SCOPES_2: profile
SYSTEM_CONFIGURATION_SCOPES_3: email
SYSTEM_CONFIGURATION_STRICT_DISCOVERY_DOCUMENT_VALIDATION: 'false'
SPRING_DATASOURCE_PASSWORD: XXXXX
SPRING_DATASOURCE_USERNAME: XXXXX
SPRING_MAIL_PASSWORD: ''
SPRING_MAIL_USERNAME: ''
In attachment i have the startup log, command is runned by adding the --debug flag
[
okr.log
](url)
Can anyone help with this problem?
Thanks a lot
Patrick

Is there anyone who can help?
I have used the latest docker image that is available. I have tested to rebuild the image with the latest jar on releases tab, with this jar the application runs.

I download the jar from release tab and update compose yaml:
volumes:       - /root/BurningOKR/burning-okr-app-2.0.0.jar:/app/burning-okr.jar


Jekyll config

Updated project name and repo link. Closes #9.

Codecov Report

Merging #27 (93a2130) into master (85cd3af) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master      #27   +/-   ##
=========================================
  Coverage     72.15%   72.15%
  Complexity      399      399
=========================================
  Files            70       70
  Lines          1232     1232
  Branches        125      125
=========================================
  Hits            889      889
  Misses          311      311
  Partials         32       32

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 85cd3af...93a2130. Read the comment docs.


Update the Readme with fdroid link of Eventyay Organizer

Chore
Description
The orga app has been released on fdroid and hence the link to it and the fdroid logo should be added to the Readme. Following is the link to the fdroid page.
https://f-droid.org/en/packages/com.eventyay.organizer/

@sridharjajoo  play store link is also not correct

I found this working link on play store. Pls review
https://play.google.com/store/apps/details?id=com.eventyay.organizer

@GOVINDDIXIT The fdroid link is wrong (the image link). It is opening eventyay attendee fdroid page.

Fixed


[CardSummaries] Reader Card

Implement reader cards, per #747. Should have the main image, length to read, author.
Dependent on #849.

Don't think we'll focus on this anytime soon.


It seems that the discriminator cannot adapt to the size of the input image.

Once I set '-- input_scale_size' not to 64, an error will be reported. It seems that the discriminator cannot adapt to the size of the input image. How did you solve the problem?
"ValueError: Target and input must have the same number of elements. target nelement (2) != input nelement (338)"

I check the shapes of output tensors.
When input size is 64 *64:
torch.Size([2, 64, 32, 32])
torch.Size([2, 64, 32, 32])
torch.Size([2, 128, 16, 16])
torch.Size([2, 128, 16, 16])
torch.Size([2, 128, 16, 16])
torch.Size([2, 256, 8, 8])
torch.Size([2, 256, 8, 8])
torch.Size([2, 256, 8, 8])
torch.Size([2, 512, 4, 4])
torch.Size([2, 512, 4, 4])
torch.Size([2, 512, 4, 4])
torch.Size([2, 1, 1, 1])
torch.Size([2, 1, 1, 1])
When it is 256*256:
torch.Size([2, 64, 128, 128])
torch.Size([2, 64, 128, 128])
torch.Size([2, 128, 64, 64])
torch.Size([2, 128, 64, 64])
torch.Size([2, 128, 64, 64])
torch.Size([2, 256, 32, 32])
torch.Size([2, 256, 32, 32])
torch.Size([2, 256, 32, 32])
torch.Size([2, 512, 16, 16])
torch.Size([2, 512, 16, 16])
torch.Size([2, 512, 16, 16])
torch.Size([2, 1, 13, 13])
torch.Size([2, 1, 13, 13])
So I add two max-pooling layers, to make it roughly work...


GRC Blocks

Hello,
I would like to ask you, if you've tried to implement receiving using GNURadio Companion blocks. I'm trying to use a different tools (scapy-radio), however its blocks are only for 40Kbps|FSK|NRZ. I'm trying to implement blocks for 9.6Kbps|FSK|Manchester and 100Kbps|GFSK|NRZ. Honestly, I'm stuck.

I never tried in gnu radio. But as I remember 9.6 has an offset of 20khz to one of the sides. The frequency derivation in 100kbit is 58khz I think. Your receive bandwidth should be at least 150khz, at the spec allows the transmitter to be 75khz off because of temperature drift.
Good luck 😀
/Anders

Den 21. mar. 2019 kl. 14.49 skrev Simon Štefunko<EMAIL_ADDRESS>Hello,
I would like to ask you, if you've tried to implement receiving using GNURadio Companion blocks. I'm trying to use a different tools (scapy-radio), however its blocks are only for 40Kbps|FSK|NRZ. I'm trying to implement blocks for 9.6Kbps|FSK|Manchester and 100Kbps|GFSK|NRZ. Honestly, I'm stuck.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.


Show tooltip for disabled action button

Description
We would like to show a tooltip on a disabled action button to explain why that button is disabled. https://github.com/filamentphp/filament/discussions/4271
One thing to note is that this change might be an unexpected behavior for developers who previously had tooltips configured to display only when actions were enabled. We should consider mentioning this update in the What's Changed section of the release notes to avoid confusion.
Visual changes
If the action has a tooltip, despite being disabled, the tooltip will be shown.
Functional changes

[ ] Code style has been fixed by running the composer cs command.
[ ] Changes have been tested to not break existing functionality.
[x] Documentation is up-to-date.

Please test this by adding two buttons inside
 and
 and
. Please screenshot each case and post them here, so we can review if there are any impacts of having a wrapper.

Please test this by adding two buttons inside
 and
 and
. Please screenshot each case and post them here, so we can review if there are any impacts of having a wrapper.

I created 3 different full page lw components with 2 action buttons per each. Both actions have tooltip, but one action is enabled and the other one is disabled (I also tried disabling it both actions, results look the same).
The class part looks the same for all 3. The view part changes on the classes used.
@danharrin is this what you expected me to try out?
https://github.com/user-attachments/assets/d768d216-4117-464f-8a12-db8530963b7d
Component classes:
<?php

namespace App\Livewire;

use App\View\Components\AppLayout;
use Filament\Forms\Concerns\InteractsWithForms;
use Filament\Forms\Components\Actions;
use Filament\Forms\Components\Actions\Action;
use Filament\Forms\Contracts\HasForms;
use Filament\Forms\Form;
use Illuminate\Contracts\View\View;
use Livewire\Component;

class Test1 extends Component implements HasForms
{
    use InteractsWithForms;

    public function render(): View
    {
        return view('livewire.test1')->layout(AppLayout::class);
    }

    public function form(Form $form): Form
    {
        return $form->schema([
            Actions::make([
                Action::make('star')
                    ->icon('heroicon-m-star')
                    ->tooltip('First tooltip'),
                Action::make('resetStars')
                    ->icon('heroicon-m-x-mark')
                    ->color('danger')
                    ->tooltip('Second tooltip')
                    ->disabled(),
            ]),
        ]);
    }
}

Component views:
// test 1

    {{ $this->form }}

// test 2

    {{ $this->form }}

// test 3

    {{ $this->form }}

is this what you expected

Probably is to directly using actions https://filamentphp.com/docs/3.x/actions/adding-an-action-to-a-livewire-component#adding-the-action

is this what you expected

Probably is to directly using actions https://filamentphp.com/docs/3.x/actions/adding-an-action-to-a-livewire-component#adding-the-action

Oh yeah I see. Okay, I test it again.

I updated the tests & fixed the code. Here you have a table to know what functions I used for both actions in each test.

->icon('heroicon-s-pencil')
->iconButton()

TestX
false
false

TestXb
true
false

TestXc
true
true

*For each test, the 1st action is always disabled and the 2nd it's not.
Before:
https://github.com/user-attachments/assets/aeaca375-2afc-4ff0-8934-42e0f58694c6
After:
https://github.com/user-attachments/assets/77a8106f-fd40-4645-8e27-aafcd3911500

Think I'm going to push this to v4 since it does have some capability to be a breaking change with certain style customizations


Win OS watch of kubectl get pods (K8C-9)

Task reference: K8C-9
Noticed during local testing with k8s:setupCassandraCluster that the Linux watch command was being used, which isn't supported directly on Win OS.
A 3-second timeout included (with ability to advance by user if wanting it more frequently) before issuing get pods again.
Waiting for 0 seconds, press a key to continue ...
NAME                             READY   STATUS    RESTARTS   AGE
cass-operator-65bc9494b8-xtvjk   1/1     Running   0          8m59s
cluster1-dc1-default-sts-0       2/2     Running   0          8m39s
cluster1-dc1-default-sts-1       2/2     Running   0          8m39s
cluster1-dc1-default-sts-2       2/2     Running   0          8m39s

Test class created for additional coverage to be added.  Need to determine best approach for decoupling the two utility dependencies (mage and sh) from the kubectl module.  One thought is to use a similar approach that is used for KCmd struct.

I'm not sure the context, but can't we just use -w / --watch option of kubectl get? It works on my windows.

Good suggestion, I wasn't familiar with kubectl at the time of this PR.  Let me give that a try locally to verify.  That would make this a less OS specific solution.

Removed the shell of this test as we are able to use the kubectl with -w option instead of making an OS specific check.
Thanks for the suggestion here @yukim
The original issue appears to be sending out a command that was not based on kubectl, but rather a Linux watch command, which is not supported by Win OS directly.


Responsive Viewport

This change will make the website easier to read at smaller viewport widths.

Thank you! Merged and deployed. Looks much better :)


Fix broken link in README.md for observability demo

In the README.md there is a broken link on line 48 to the observability example.
The link goes to ./examples/observability/
It should goto ./examples/support/observability/

Pull request created: https://github.com/keptn/lifecycle-toolkit/pull/666

Fixed in #666


implement tunnel interfaces inside container (sit, gre, etc)

AFAICT is is currently not possible to create tunnel interfaces inside the container without some help of the host.
The lxc network type is not implemented by LXD.
I'm not sure if this is a limitation of LXD or of LXC and or what peaces are missing to complete this.
It would be nice to be able to create tunnel interfaces inside a container.
Currently you get an error as:
root@ct:~# ip tunnel add tunname mode sit remote <IP_ADDRESS> local <IP_ADDRESS> ttl 255
add tunnel "sit0" failed: No such device

After soms research I think that when #1200 is solved, adding /dev/net/tun as chardev tot the container would be all that is needed tot resolve this.
I will test when it is releases.

This was indeed reolved by said fix.
lxc config device add container net-tun unix-char path=/dev/net/tun was enough to be able to add tunnels inside the container.

Perfect!

This solution didn't help me, I run lxd version 2.15 on ubuntu 16.04
root@testtun:~# ip tunnel add tunname mode sit remote <IP_ADDRESS> local <IP_ADDRESS> ttl 255
add tunnel "sit0" failed: No such device
root@testtun:~# exit
root@lxdhost:~# lxc config device add testtun net-tun unix-char path=/dev/net/tun
error: The device already exists

If I set the container testtun to security.privileged true it works.

@dkruyt that's because you're creating a sit tunnel, not a tun/tap tunnel.
You're most likely just missing the needed kernel module.
lxc config set testtun linux.kernel_modules sit

Should fix that.

@stgraber yes, this fixed it. thanks. Because of the previous post/answer i misinterpreted.

I'm also running on ubunutu 16.04, and I am getting an "error: not found" response.
I have no idea where the 'testun' label comes from, and I suspect that is related to what isn't working.


⚠ ClamAV has degraded performance

In 656a9ff, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 250 ms

Resolved: ClamAV performance has improved in a514970.


Add Realtime Database API

https://firebase.google.com/docs/reference/rest/database

use Firestore
https://github.com/zunda-pixel/firebase-swift/issues/17


How import typescript types into aventus (Chart.js 4.3.0)

Hi,
I needed to include type of chart.js and the way i found was to build the lib locally and use dts-bundle-generator to generate me a chart.def.avt file.
dts-bundle-generator -o chart.def.avt .\dist\types.d.ts --no-check
i just wrap a declare global {} scope around the generated content and it's seems to be working fine.
I would like to know if in the future there will be an official tool/way to include that typescript declaration files

It is not planned to be able to directly include a typescript definition file
However, it is possible to use npm packages that are written in typescript to include it directly in the final build.
I've created an example to illustrate how to do this. Make sure you are running version 1.0.101 of Aventus (I had to correct some issues).
Example for chart js : Aventus sample


provision: Install non-PGDG PGroonga package in development environment

The development environment installs PostgreSQL from the OS, not PGDG, so we should install the non-PGDG PGroonga package to match. This is required on Debian 10 where postgresql-12-pgdg-pgroonga does not exist.
Part of #20200, but we should merge this now so that we can provision more historical versions when #20200 is merged.
Testing plan: Tested in both the current Ubuntu 18.04 Vagrant dev environment and the new Debian 10 one from #20200.

Merged, thanks @andersk!


Migration to pydantic v2

The release of Pydantic V2 introduced several breaking changes in the code due to name changes of multiple methods, removed or deprecated types/methods/objects, and broader changes to the logic of fields, validators, + more.
The docs for V2 have not quite caught up to the changes yet, but there is a comprehensive migration guide 🎉
https://docs.pydantic.dev/dev-v2/migration/ and pretty detailed PydanticUserErrors
We need to decide whether we are okay with moving fully to Pydantic V2, and/or pin the dependency version to 1.10.x for now.
Related are:
#179

Any thoughts @surchs?
I've started making some of the necessary changes (based on currently failing tests) in a branch and think the migration shouldn't require any major rewrites on our end, but some of the updates related to deprecated methods would probably benefit from a closer look as they involve a bit of extra code to preserve existing behavior.

Bumping this up since my ill advised late night commit (https://github.com/neurobagel/bagel-cli/commit/1d4cb5217813cedfbe6d78fcb2821fac72059089) to main has made this an actual blocker.

Will pin pydantic version for now. Taking this issue off of backlog in favour of #184.


Mark State Store components as Beta that were missed in 1.6 and 1.7 :(

Mark state store components as Beta that were missed in 1.6 and 1.7 :(

Cassandra State Store
CockroachDB State Store

Closed in favor of #2757


Add 'StringConcat' operator to df

Is your feature request related to a problem or challenge? Please describe what you are trying to do.
df now has not implemented StringConcat operator, like
❯ select 'aa' || 'b';
NotImplemented("Unsupported SQL binary operator StringConcat")

But Postgres SQL will come out results lile
select 'aa' || 'b';
 ?column?
----------
 aab
(1 row)

Describe the solution you'd like
Reuse df build-in concat string expression to do it.
Describe alternatives you've considered
No.
Additional context
No.

A raw implementation here: #2142


Clarify cache check in navigateFallback

Fixes #204
Ugh, I just noticed I've also removed trailing whitespaces although I didn't mean to. Does this bother you?

I signed it!

Thanks!


Fix Failed to connect to elasticsearch-discovery headless service

Signed-off-by: JasonJPu<EMAIL_ADDRESS>
What this PR does / why we need it:
Which issue this PR fixes
(optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close that issue when PR gets merged)

fixes #9243
fixes #9343

Special notes for your reviewer:
Checklist
[Place an '[x]' (no spaces) in all applicable fields. Please remove unrelated fields.]

[x] DCO signed
[x] Chart Version bumped
[x] Variables are documented in the README.md

@JasonJPu should this be done to stable/elasticsearch, rather than incubator/elasticsearch?
Afaik, incubator version is deprecated.

@anapsix You're right, I made the change

@rendhalver, without this the following messages are logged (see https://github.com/helm/charts/issues/9243#issuecomment-446671096 for more details)
[2018-12-12T17:20:58,916][WARN ][o.e.d.z.UnicastZenPing   ] [broken-record-elasticsearch-master-0] failed to resolve host [broken-record-elasticsearch-discovery]
java.net.UnknownHostException: broken-record-elasticsearch-discovery
	at java.net.InetAddress.getAllByName0(InetAddress.java:1281) ~[?:1.8.0_191]
	at java.net.InetAddress.getAllByName(InetAddress.java:1193) ~[?:1.8.0_191]
	at java.net.InetAddress.getAllByName(InetAddress.java:1127) ~[?:1.8.0_191]
	at org.elasticsearch.transport.TcpTransport.parse(TcpTransport.java:911) ~[elasticsearch-5.6.14.jar:5.6.14]
	at org.elasticsearch.transport.TcpTransport.addressesFromString(TcpTransport.java:866) ~[elasticsearch-5.6.14.jar:5.6.14]
	at org.elasticsearch.transport.TransportService.addressesFromString(TransportService.java:709) ~[elasticsearch-5.6.14.jar:5.6.14]
	at org.elasticsearch.discovery.zen.UnicastZenPing.lambda$null$0(UnicastZenPing.java:212) ~[elasticsearch-5.6.14.jar:5.6.14]
	at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[?:1.8.0_191]
	at org.elasticsearch.common.util.concurrent.ThreadContext$ContextPreservingRunnable.run(ThreadContext.java:576) [elasticsearch-5.6.14.jar:5.6.14]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_191]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_191]
	at java.lang.Thread.run(Thread.java:748) [?:1.8.0_191]

Is this maybe only an issue when the 5.6.x images are used?
P.S.: Please resolve merge conflicts.

Yes @monotek, this is addresses an issue with ES 5.6.x. ES 6+ versions not affected, in my tests.

OK, in this case the "service.alpha.kubernetes.io/tolerate-unready-endpoints: "true"" annotation should imho only be used if a 5.6.x image is used.

Argh.. I'm tracking another issue with which is ES 5.6 specific.. and have mistook this one for it.
I take back my previous comment, though 5.6 is definitely affected, I don't recall if 6+ is unaffected @monotek

Here's an example of this affecting ES 6+ [pull-charts-e2e]
(https://gubernator.k8s.io/build/kubernetes-jenkins/pr-logs/pull/helm_charts/9124/pull-charts-e2e/17956/?log#log) for unrelated PR
/cc @monotek

Hi @monotek , @JasonJPu , @anapsix - Thanks for starting this - I'm deploying 6.1 now and was seeing this error.
2 additions that were necessary for me (at least for 6.1) beyond your changes:

in client-svc.yml you include the annotations: and tolerate-ready-endpoints in the if conditional of whether annotations are specified in the user's values.yaml, but these should be specified regardless of whether the user has additional annotations, correct?
In 6.1 at least, k8s was getting into a chicken-and-egg state where the master statefulset started pod-0, which came up as unready and started waiting for other masters to join and form quorum before it would report ready, which prevented k8s from continuing the statefulset rollout.  I added podManagementPolicy: "Parallel" to the statefulset spec to allow all masters to start simultaneously and begin joining one another

TL;DR
For 5.6.14, use extra cluster config cluster.config."xpack.security.enabled": false
Details
Just provisioned 5.6.14 cluster with Elasticsearch chart v1.19.1, and still getting master's statefulset rollout getting stuck.
Master-0 logs continuously spammed with following errors:
[2019-02-15T13:08:50,132][WARN ][o.e.d.z.ZenDiscovery     ] [myorg-elasticsearch-master-0] not enough master nodes discovered during pinging (found [[Candidate{node={myorg-elasticsearch-master-0}{BgrsK3gATWyCRP4dZqQ2bA}{E5EllcnnRWGl8ZeqbhXhKA}{<IP_ADDRESS>}{<IP_ADDRESS>:9300}{ml.max_open_jobs=10, ml.enabled=true}, clusterStateVersion=-1}]], but needed [2]), pinging again
[2019-02-15T13:08:50,133][WARN ][o.e.d.z.UnicastZenPing   ] [myorg-elasticsearch-master-0] failed to resolve host [myorg-elasticsearch-discovery]
java.net.UnknownHostException: myorg-elasticsearch-discovery
  at java.net.InetAddress.getAllByName0(InetAddress.java:1281) ~[?:1.8.0_191]
  at java.net.InetAddress.getAllByName(InetAddress.java:1193) ~[?:1.8.0_191]
  at java.net.InetAddress.getAllByName(InetAddress.java:1127) ~[?:1.8.0_191]
  at org.elasticsearch.transport.TcpTransport.parse(TcpTransport.java:911) ~[elasticsearch-5.6.14.jar:5.6.14]
  at org.elasticsearch.transport.TcpTransport.addressesFromString(TcpTransport.java:866) ~[elasticsearch-5.6.14.jar:5.6.14]
  at org.elasticsearch.transport.TransportService.addressesFromString(TransportService.java:709) ~[elasticsearch-5.6.14.jar:5.6.14]
  at org.elasticsearch.discovery.zen.UnicastZenPing.lambda$null$0(UnicastZenPing.java:212) ~[elasticsearch-5.6.14.jar:5.6.14]
  at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[?:1.8.0_191]
  at org.elasticsearch.common.util.concurrent.ThreadContext$ContextPreservingRunnable.run(ThreadContext.java:576) [elasticsearch-5.6.14.jar:5.6.14]
  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_191]
  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_191]
  at java.lang.Thread.run(Thread.java:748) [?:1.8.0_191]

Manually setting spec.publishNotReadyAddresses: true on master's headless service ..-elasticsearch-discovery, changed log output to
[2019-02-15T13:23:20,775][WARN ][o.e.d.z.ZenDiscovery     ] [myorg-elasticsearch-master-0] not enough master nodes discovered during pinging (found [[Candidate{node={myorg-elasticsearch-master-0}{R9ckNBmuQJaUlshnR5XPzg}{1QGEbUTWSBG7to6_QAlebw}{<IP_ADDRESS>}{<IP_ADDRESS>:9300}{ml.max_open_jobs=10, ml.enabled=true}, clusterStateVersion=-1}]], but needed [2]), pinging again

Still, only master's statefulset rollout stopped at a single master pod, since healthcheck continued to return error:
sh-4.2$ curl <IP_ADDRESS>:9200/_cluster/health?local=true
{"error":{"root_cause":[{"type":"security_exception","reason":"missing authentication token for REST request [/_cluster/health?local=true]","header":{"WWW-Authenticate":"Basic realm=\"security\" charset=\"UTF-8\""}}],"type":"security_exception","reason":"missing authentication token for REST request [/_cluster/health?local=true]","header":{"WWW-Authenticate":"Basic realm=\"security\" charset=\"UTF-8\""}},"status":401}

So the problem lies, not in unresolvable master's discovery service hostname, but in healthcheck (see output above, specifically "security_exception").

NOTE: I'm using docker.elastic.co/elasticsearch/elasticsearch:5.6.14 image

Starting fresh with no changes to master's headless discovery service spec or annotations, and making a single addition of cluster.config."xpack.security.enabled": false, explicitly disables security, allowing healthcheck to succeed. Even though few of ZenDiscovery errors still appear in logs, while master node passes readiness check.
Unfortunately, the condition that meant to disable X-Pack explicitly in configmap.yaml#L45 does not work as expected.
Conclusion
Thus, this Pull Request won't fix the problem, and only addresses somewhat annoying error messaging.. And indeed, there is no need to discover unhealthy masters.
Another Pull Request is needed to fix the issue in configmap.yaml#L45


[Feature/Extensions] Use parameterized SDKClusterSettings in tests

Description
Updates tests which needed SDKClusterSettings instantiated with a list of settings following merge of SDK #559.
Issues Resolved
Fixes SDK #503
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Codecov Report

Merging #838 (0ceec74) into feature/extensions (d5685e8) will increase coverage by 0.03%.
The diff coverage is 27.08%.

: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

@@                   Coverage Diff                    @@
##             feature/extensions     #838      +/-   ##
========================================================
+ Coverage                 39.90%   39.93%   +0.03%
+ Complexity                 2111     2110       -1
========================================================
  Files                       297      297
  Lines                     17095    17114      +19
  Branches                   1843     1843
========================================================
+ Hits                       6821     6834      +13
- Misses                     9787     9789       +2
- Partials                    487      491       +4

Flag
Coverage Δ

plugin
39.93% <27.08%> (+0.03%)
:arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

...va/org/opensearch/ad/AnomalyDetectorExtension.java
0.00% <ø> (ø)

...rg/opensearch/ad/AnomalyDetectorProfileRunner.java
7.36% <0.00%> (-0.06%)
:arrow_down:

...in/java/org/opensearch/ad/EntityProfileRunner.java
4.00% <0.00%> (ø)

.../org/opensearch/ad/feature/CompositeRetriever.java
0.00% <0.00%> (ø)

...va/org/opensearch/ad/feature/SearchFeatureDao.java
5.53% <0.00%> (+0.55%)
:arrow_up:

...ensearch/ad/rest/RestGetAnomalyDetectorAction.java
0.00% <0.00%> (ø)

...search/ad/rest/RestIndexAnomalyDetectorAction.java
0.00% <0.00%> (ø)

...rch/ad/rest/RestValidateAnomalyDetectorAction.java
0.00% <0.00%> (ø)

.../handler/AbstractAnomalyDetectorActionHandler.java
16.99% <0.00%> (-0.09%)
:arrow_down:

...est/handler/IndexAnomalyDetectorActionHandler.java
100.00% <ø> (ø)

... and 11 more

... and 2 files with indirect coverage changes


"Always On" warning is misleading on Free/Shared apps

When creating a Function App on a Free/Shared app, it shows this warning:

And it points to this page which says to turn on Always On.
Problem is: Always On is not an option for Free/Shared. Instead it should convey:

that free/shared will only work for http triggered functions
the Consumption plan may be a better option

Triage decided to resolve this by improving the target documentation. Free/Shared work ok for development purposes, which is easier to explain in a doc. https://github.com/Azure/Azure-Functions/issues/78


Modernize

Problem
This gem hasn't been updated in years and is causing deprecation warnings
Solution
Modernize

Removes support for outdated rubies, which allows cleaning up many things.
Transpec'ed to the latest RSpec.
Remove use of Fixnum in 2.4 and up

note: Rakefile is still a mess.  Will investigate cleaning up.

Merging this so I can release a version of this gem.


Add support for invoking with context.

This PR adds support for passing context around invocations without breaking the existing API. The main motivation for this is so that a "correlation ID" can be passed around, so that responses arriving at response subscribers can be associated with the original trigger (e.g. a message arriving at a queue which may need to be requeued in case one or more responses result in an error). Other use cases may involve setting a deadline for the actual HTTP call to the gateway, for example.

@alexellis we didn't discuss this beforehand, but I think the change is small and contained enough for us to go through it here in case that's needed. 🙂

lgtm @bmcstdio can you provide some evidence and steps of how you tested this change?

Definitely! The need for this change arises in the context of a connector for AWS SQS that we are developing (slightly different from the existing one), and in which we need to be able to delete a message (or not) from the queue depending on whether a response is successful (or not). What I did to test this is putting this piece of code in the connector's main loop:
topic := "(...)"
log.Trace("processing message with id %q and topic %q", m.MessageId, topic)
ctx := context.WithValue(context.Background(), messageIdContextKey, *m.MessageId)
p.c.InvokeWithContext(ctx, topic, pointers.NewBytes([]byte(*m.Body)))

Then, I've created this ResponseReceiver:
type ResponseReceiver struct {}

func (ResponseReceiver) Response(res types.InvokerResponse) {
	h := res.Context.Value(messageIdContextKey).(string)
	if res.Error != nil {
		log.WithField("message_id", h).Infof("tester got error: %s", res.Error.Error())
	} else {
		log.WithField("message_id", h).Infof("tester got result: [%d] %s => %s (%d) bytes", res.Status, res.Topic, res.Function, len(*res.Body))
	}
}

Then I've installed figlet:
$ faas store deploy figlet --annotation topic="(...)"

Finally, I sent a message to the AWS SQS queue being used by the connector and watched the logs:
(...)
2019/08/07 10:37:39 Invoke function: figlet
2019/08/07 10:37:40 connector-sdk got result: [200] https://sqs.eu-west-1.amazonaws.com/foo/bar => figlet (108) bytes
[200] https://sqs.eu-west-1.amazonaws.com/foo/bar => figlet
  __
 / _| ___   ___
| |_ / _ \ / _ \
|  _| (_) | (_) |
|_|  \___/ \___/

INFO[0002] tester got result: [200] https://sqs.eu-west-1.amazonaws.com/foo/bar => figlet (108) bytes  message_id=8ad24e18-3dc1-467a-b493-323a2ae760cf

We can see that the value of message_id is indeed being propagated and accessed by the Response method.

Hi @bmcstdio,
I'm not going to get to this until Friday, but I want to have time to digest it fully before commenting.

@alexellis we didn't discuss this beforehand, but I think the change is small and contained enough for us to go through it here in case that's needed.

Please can you raise an issue so that we can understand the use-case, the various potential solutions and more about the one you've chosen? It sounds like you may have a good idea of what this looks like, so can you go ahead and write it into a brief proposal? https://github.com/openfaas/faas/blob/master/CONTRIBUTING.md#i-have-a-great-idea
Thanks for contributing 💪
Alex

(The code change looks minimal, but I'd still like that issue if that's OK with you?)
Alex

@bmcstdio please see the comments added prior to merge and the new issue raised. We would appreciate your input on the issue.
The following new release can be vendored or imported with go modules: https://github.com/openfaas-incubator/connector-sdk/releases/tag/0.4.3


Native module not found...

I'm using webrtc-native module in my app, which can't be found after nexe build the executable.
node.js:866
      throw new Error('No such native module ' + id);
      ^

Error: No such native module webrtc-native

The module is 'require' as:
var webrtcvar = "webrtc-native";
var WebRTC = require(webrtcvar);

How I'm supposed to add a native module?

We don't support native modules as of right now, I'd try using<EMAIL_ADDRESS>and see if it throws the same error, as this may be actually due to browserify and not it being a native module.
We also don't support dynamic requirements.

<EMAIL_ADDRESS>is not a valid install?

I can't find<EMAIL_ADDRESS>From the log I see a jump from 0.4.2 to 1.0.0:

"version": "0.4.2",

"version": "1.0.0",

committed on Jan 22
From the doc:
"Use the techniques below for working around dynamic require statements to exclude the module from the bundling, and deploy along side the executable in a node_module folder so your app can find it. Note: On windows you may need to have your app be named node.exe if .node file depends on node."
That's what I try to use to get it working. Unfortunately the executable can't find the module.

That not longer applies to 1.x.x unfortunately. So if it doesn't work with 0.4.2 then I'm not sure how to help  at the moment. Issues with browserify are apparent and I'm trying my best to find work arounds with limited time at the moment!

Someone suggested to use
GLOBAL.require('./mymodule.node');
which seems to work in this case. Need more testing, but looks promising.

I just wanted to take a moment to thank you for all of your hard work on this project @jaredallard.  I'm digging through right now trying to find a solution that seems to be related to this native module issue.  aws-sdk is trying to require a metadata.json (though I'm not sure if it is a dynamic require just yet) and so my app won't run after compiling.  Thanks again for the great work.  I appreciate all of the time you've sunk into getting this project where it is and continuing to maintain it.

Fixed in v2.0.0. So, closing.

Hey, thanks for working on the nexe, it's great! I was wondering if there is a workaround for the error that I'm seeing with aws-sdk module, just like the one @synaestheory mentioned in the comment (https://github.com/jaredallard/nexe/issues/199#issuecomment-207029513).
This is the dumps of the error.
bootstrap_node.js:435
      throw new Error(`No such native module ${id}`);
      ^

Error: No such native module /Users/random/simpleapp/node_modules/aws-sdk/apis/metadata.json
    at NativeModule.require (bootstrap_node.js:435:13)
    at s (nexe.js:1:176)
    at nexe.js:1:367
    at buildServiceMap (nexe.js:271:16)
    at Object.getServices [as services] (nexe.js:300:3)
    at Object.<anonymous> (nexe.js:7089:5)
    at Object.__dirname.44../api_loader (nexe.js:7099:4)
    at s (nexe.js:1:316)
    at nexe.js:1:367
    at Object.__dirname.4../api_loader (nexe.js:414:1)


Feature/trim invalid describe channel layout

ChannelLayout::describe returns invalid extra null terminator after ffmpeg 6.1.

This looks like a solid improvement. Why did you close the PR?

This has been merged manually in https://github.com/meh/rust-ffmpeg/commit/7c354aa36ad761f825ae6e245035ad7319f24861. Thank you!


Misleading error : Neither type Function nor type SomeClass is assignable to the other

Code:
class SomeClass {
    method() {
		(this.constructor as SomeClass); // Error here
    }
}

var foo:Function;
foo = SomeClass; // No Error: They are assignable

Screenshot

PS
The following compiles fine (i.e. if you move that to the constructor body)
class SomeClass {
    constructor(){
		(this.constructor as SomeClass); // No Error
	}
}

var foo:Function;
foo = SomeClass; // No Error: They are assignable

:rose:

Sorry. Instances are not same as functions (doh). So the place where it doesn't error is the actual error. I'll create a separate issue. Ignore this one :rose:

So the place where it doesn't error is the actual error

And even that's not a bug ... Its just that an empty object (SomeClass instances have no properties in that case) is assignable.
So move along. Nothing to see here :rose:

@basarat
class Shape<T extends Shape<any>>{
    constructor(){
        console.info("Shape..");
    }
    public draw():T{
        return <T>this;
    }

    public addStroke():T{
        return <T>this;
    }
}

this code works perfectly in v1.6.2, and throwing

Error:(10, 16) TS2352: Neither type 'this' nor type 'T' is assignable to the other.
 Type 'Shape' is not assignable to type 'T'.  with v1.7.3, Any idea how to resolve this?

Neither type 'this' nor type 'T' is assignable to the other.

That error can be silenced with a double assertion:
class Shape<T extends Shape<any>>{
    constructor(){
        console.info("Shape..");
    }
    public draw():T{
        return <T><any>this;
    }

    public addStroke():T{
        return <T><any>this;
    }
}

https://basarat.gitbooks.io/typescript/content/docs/types/type-assertion.html

it worked. Now the problem is, the IDE that I'm using stopped showing the suggestions(IntelliSense). Basically, I wanted to have method chaining and with earlier code I was able to get IntelliSense, but after double assertion, it stopped showing the parent class methods in the child classes. Is it the compiler problem? or side effects of 'double assertion'.?

test


Update actions of Automation Operator

Updated the actions table of Automation Operator to add missing actions.

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

#sign-off new update for punctuation after the previous commit still looks good.


GIF support?

It would be nice to support Animated Gifs. Maybe using a UIImage/UIImageView extension to support it? I also stumbled upon https://github.com/kirualex/SwiftyGif
Thanks!

Yes agreed. I even wrote my own unpopular library a couple of years ago https://github.com/JanGorman/Zoetrope 😆
I've come across SwiftGif as well, it looks good.
There's a number of features now already in the pipeline which I want to tackle during some vacation days I have next week, gif support just made the list.

@JanGorman Awesome! Just wondering, is there an easy way to use this with a UIImage that was pulled online? I tried this but it didn't work:
            guard var image = viewModel.originalImage ?? viewModel.image.value else { return }

            let isGIF = viewModel.originalImageUrl?.contains(".gif") ?? false

            if let imageData = image.imageData, isGIF {
                image = UIImage(gifData: imageData)
            }

            let agrume = Agrume(image: image, background: .blurred(.dark))
            agrume.show(from: topViewController)

@JanGorman Yes exactly, already passed as a UIImage. Strangely I got it to work by using this lib: https://github.com/swiftgif/SwiftGif
I suppose there still a way to access the GIF source somehow?

@JanGorman Great, I got it to work by keeping the original image data, thanks!

That's the library I ended up using was well. And just saw the comment as I was about to write… great! 😃


(PUP-7155) Expect double quoted strings

puppet resource now emits double quotes for strings containing
backslashes, which must also be escaped. Update the acceptance tests to
match the new output.

@thallgren This PR fixes the acceptance failures on Windows, but I don't think we want to emit double quoted strings (which causes us to have to escape backslashes). See my comments in https://tickets.puppetlabs.com/browse/PUP-7155?focusedCommentId=447135&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-447135.
I'm concerned that changing the format will break Windows module pipelines, which likely use puppet resource to verify that the provider made the expected changes.
If the double quotes are necessary, could you verify this PR and merge it? Otherwise, close this PR and update Puppet::Parameter#format_value_for_display as needed.
/cc @Iristyle

CLA signed by all contributors.


Download aborts on screen lock

Device: Samsung Galaxy XCover 4s
OS: Android 11
App: 7.03

Related to #261.

Related to #224.

An exception is when a live stream is playing in the background at the same time and the screen is then locked by the system (#241).
Then the error does not occur.

Duplicate of #224


build(semantic-release): add missing dependency

Coverage remained the same at 100.0% when pulling 040b70a0d3c3875b6cf3a9abe176de6b3dcf05ed on build-add-missing-dependency into 0eec2c6bb0914bee6928ed168e3cd7ddc40152a0 on main.

:tada: This PR is included in version 1.0.10 :tada:
The release is available on:

GitHub release
npm package (@latest dist-tag)

Your semantic-release bot :package::rocket:


MDNS should ignore request that it can't handle

Currently my  home network has 192.168.1.x as primary sub-net.  However, it also contains other sub-nets and occasionally an MDNS request from another subnet is passed on to the primary subnet. The node-matter code simply dies when it receives a request from other subnets. It should just ignore MDNS request it can't handle and continue to run
/home/DadAdmin/node-matter/build/net/node/NetworkNode.js:47
        throw new Error(`Cannot find the device IP on the subnet containing ${remoteAddress}`);
        ^

Error: Cannot find the device IP on the subnet containing <IP_ADDRESS>
    at NetworkNode.getIpMacOnInterface (/home/DadAdmin/node-matter/build/net/node/NetworkNode.js:47:15)
    at MdnsServer.handleDnsMessage (/home/DadAdmin/node-matter/build/mdns/MdnsServer.js:34:42)
    at /home/DadAdmin/node-matter/build/mdns/MdnsServer.js:26:63
    at /home/DadAdmin/node-matter/build/net/UdpMulticastServer.js:31:66
    at Socket.messageListener (/home/DadAdmin/node-matter/build/net/node/UdpSocketNode.js:45:62)
    at Socket.emit (node:events:513:28)
    at UDP.onMessage [as onmessage] (node:dgram:922:8)

This should fix the issue: https://github.com/mfucci/node-matter/pull/30
I added an unit test to ensure this problem won't come back

Merged into the branch integration-test
I will close this issue when the fix is merged with main.

This is now merged in main

I am still noticing node-matter dying on handling some MDNS requests... Here is latest one. Notice that my subnet is 192.168.1.x, where as offending MDNS query comes from <IP_ADDRESS> (I don't have such a subnet so not sure why I am receiving these messages, but regardless, not-matter should just print an error message and continue instead of dying.
/home/DadAdmin/node-matter/build/net/node/NetworkNode.js:47
        throw new Error(`Cannot find the device IP on the subnet containing ${remoteAddress}`);
        ^

Error: Cannot find the device IP on the subnet containing <IP_ADDRESS>
    at NetworkNode.getIpMacOnInterface (/home/DadAdmin/node-matter/build/net/node/NetworkNode.js:47:15)
    at MdnsServer.handleDnsMessage (/home/DadAdmin/node-matter/build/mdns/MdnsServer.js:34:36)
    at /home/DadAdmin/node-matter/build/mdns/MdnsServer.js:26:63
    at /home/DadAdmin/node-matter/build/net/UdpMulticastServer.js:31:66
    at Socket.messageListener (/home/DadAdmin/node-matter/build/net/node/UdpSocketNode.js:45:62)
    at Socket.emit (node:events:513:28)
    at UDP.onMessage [as onmessage] (node:dgram:922:8)

Oups, my bad: I wrote an unit test for this using a fake network provider but I forgot to update the node implementation of the network provider.
Should be fixed now with: https://github.com/mfucci/node-matter/pull/49

This is now merged in main


Feature: html5 video-attachment support

Initial request #624
Reviewed and approved in #3
Changelog:

added 3 new attachment types: mp4, webm, ogg, which supported by html5 video (affected attachmentType.js and AttachmentView.hbs);
added dummy .webm data;
updated a test which checks attachments amount in resources;
fixed broken path to DummyReportGenerator in report-face pom, which caused npm start failure.

Result:

Great. Now we can see your fixes in action on our Jenkins.
Check this out: http://ci.qatools.ru/job/allure-core_pull-request/244/Allure_report/index.html#xUnit/3f7fe38bb3f5d16b/7895d96056e30c2/bbc13ed3e6785a45

@just-boris made corresponding updates

Good. I think, it is ready to merge.
@baev

Is the video has apache 2.0 license?

BTW @sskorol thanks for the contribution! Looks great
LGTM

@baev it was downloaded from techslides demos; and there's a note in those article:

Feel free to use the following files for whatever you need:

Nice

@sskorol thanks!

We'll release a new face soon, it would be nice if you will try it out and send us a feedback

@baev will try it on our corporate project


platform.version gives the version of dart universal_io was compiled under and not what the app was compiled using

If you run platform.version on a mobile app you get the dart version the app was compiled under.  If you run platform.version on the web you get a different dart version (the one universal_io was compiled under).  Both should be displaying the version of dart that the app was compiled under and universal_io is showing the wrong version.

Thanks for the issue report! Platform.version returns an empty string in Javascript and dart:io result elsewhere. I don't think this will be changed.


Set IncludeBuildOutput to false, omit unnecessary references to system.xml

did u smoke test this by building the nuget and then pulling that into a new project?

Yes, I've just tried it with our internal Nuget server and it works just fine!