How to correctly obtain TensorFlow tensors' shapes during runtime in order to infer output shapes?

Hi,
We are trying to implement Convolution Transpose (Deconvolution) layer in Keras using TensorFlow conv2d_transpose (https://www.tensorflow.org/versions/r0.8/api_docs/python/nn.html#conv2d_transpose) basing on #2106 , but for arbitrary input sizes (without requirement to pass deconv_shape and filter shape as parameters).
conv2d_transpose requires explicit setting of output_shape, so we have to calculate it during runtime.
We've implemented it (see https://gist.github.com/lukovkin/610e18590f3d6138aa0bc6a6af414450), it compiles OK, but fails on training.
I've added some print statements for debugging (see below).
Probably we don't get tensors' shapes inference right.

input_lenght: Tensor("Squeeze_13:0", shape=(), dtype=int32), filter_size: 2, border_mode: valid, stride: 2
Output width:  Tensor("add_20:0", shape=(), dtype=int32)
Input shape:  Tensor("Shape_34:0", shape=(3,), dtype=int32)
Input shape after expand:  Tensor("Shape_35:0", shape=(4,), dtype=int32)
Input shape after permute:  Tensor("Shape_36:0", shape=(4,), dtype=int32)
Deconv shape:  Tensor("pack_4:0", shape=(4,), dtype=int32)
Output shape:  Tensor("Shape_37:0", shape=(4,), dtype=int32)
Output shape after permute:  Tensor("Shape_38:0", shape=(4,), dtype=int32)
Output shape after squeeze:  Tensor("Shape_39:0", shape=(3,), dtype=int32)
input_lenght: 5, filter_size: 2, border_mode: valid, stride: 2
Output length:  9
input_lenght: Tensor("Squeeze_16:0", shape=(), dtype=int32), filter_size: 2, border_mode: valid, stride: 2
Output width:  Tensor("add_22:0", shape=(), dtype=int32)
Input shape:  Tensor("Shape_42:0", shape=(3,), dtype=int32)
Input shape after expand:  Tensor("Shape_43:0", shape=(4,), dtype=int32)
Input shape after permute:  Tensor("Shape_44:0", shape=(4,), dtype=int32)
Deconv shape:  Tensor("pack_5:0", shape=(4,), dtype=int32)
Output shape:  Tensor("Shape_45:0", shape=(4,), dtype=int32)
Output shape after permute:  Tensor("Shape_46:0", shape=(4,), dtype=int32)
Output shape after squeeze:  Tensor("Shape_47:0", shape=(3,), dtype=int32)
input_lenght: 9, filter_size: 2, border_mode: valid, stride: 2
Output length:  17
input_lenght: Tensor("Squeeze_19:0", shape=(), dtype=int32), filter_size: 2, border_mode: valid, stride: 2
Output width:  Tensor("add_24:0", shape=(), dtype=int32)
Input shape:  Tensor("Shape_50:0", shape=(3,), dtype=int32)
Input shape after expand:  Tensor("Shape_51:0", shape=(4,), dtype=int32)
Input shape after permute:  Tensor("Shape_52:0", shape=(4,), dtype=int32)
Deconv shape:  Tensor("pack_6:0", shape=(4,), dtype=int32)
Output shape:  Tensor("Shape_53:0", shape=(4,), dtype=int32)
Output shape after permute:  Tensor("Shape_54:0", shape=(4,), dtype=int32)
Output shape after squeeze:  Tensor("Shape_55:0", shape=(3,), dtype=int32)
input_lenght: 17, filter_size: 2, border_mode: valid, stride: 2
Output length:  33
input_lenght: Tensor("Squeeze_22:0", shape=(), dtype=int32), filter_size: 2, border_mode: valid, stride: 2
Output width:  Tensor("add_26:0", shape=(), dtype=int32)
Input shape:  Tensor("Shape_58:0", shape=(3,), dtype=int32)
Input shape after expand:  Tensor("Shape_59:0", shape=(4,), dtype=int32)
Input shape after permute:  Tensor("Shape_60:0", shape=(4,), dtype=int32)
Deconv shape:  Tensor("pack_7:0", shape=(4,), dtype=int32)
Output shape:  Tensor("Shape_61:0", shape=(4,), dtype=int32)
Output shape after permute:  Tensor("Shape_62:0", shape=(4,), dtype=int32)
Output shape after squeeze:  Tensor("Shape_63:0", shape=(3,), dtype=int32)
input_lenght: 33, filter_size: 2, border_mode: valid, stride: 2
Output length:  65
Before FIT
Epoch 1/500

StatusNotOK                               Traceback (most recent call last)
/root/miniconda2/envs/tf/lib/python3.4/site-packages/tensorflow/python/client/session.py in _do_call(self, fn, *args)
643     try:
--> 644       return fn(*args)
645     except tf_session.StatusNotOK as e:

/root/miniconda2/envs/tf/lib/python3.4/site-packages/tensorflow/python/client/session.py in _run_fn(session, feed_dict, fetch_list, target_list, options, run_metadata)
627         return tf_session.TF_Run(
--> 628             session, None, feed_dict, fetch_list, target_list, None)
629
StatusNotOK: Invalid argument: Conv2DBackpropInput: Number of cols of out_backprop doesn't match computed: actual = 5, computed = 4
[[Node: conv2d_transpose = Conv2DBackpropInput[T=DT_FLOAT, data_format="NHWC", padding="VALID", strides=[1, 1, 2, 1], use_cudnn_on_gpu=true, _device="/job:localhost/replica:0/task:0/cpu:0"](pack, convolution1d_transpose_arbitrary_1_W/read, transpose_18)]]
During handling of the above exception, another exception occurred:
InvalidArgumentError                      Traceback (most recent call last)
 in ()
2 print("Before FIT")
3
----> 4 model.fit(X_train, Y_train, batch_size=batch_size, nb_epoch=nb_epoch, verbose=1)
5
6 score = model.evaluate(X_test, Y_test, verbose=0, batch_size=batch_size)
/root/miniconda2/envs/tf/lib/python3.4/site-packages/Keras-1.0.1-py3.4.egg/keras/models.py in fit(self, x, y, batch_size, nb_epoch, verbose, callbacks, validation_split, validation_data, shuffle, class_weight, sample_weight, **kwargs)
400                               shuffle=shuffle,
401                               class_weight=class_weight,
--> 402                               sample_weight=sample_weight)
403
404     def evaluate(self, x, y, batch_size=32, verbose=1,
/root/miniconda2/envs/tf/lib/python3.4/site-packages/Keras-1.0.1-py3.4.egg/keras/engine/training.py in fit(self, x, y, batch_size, nb_epoch, verbose, callbacks, validation_split, validation_data, shuffle, class_weight, sample_weight)
1028                               verbose=verbose, callbacks=callbacks,
1029                               val_f=val_f, val_ins=val_ins, shuffle=shuffle,
-> 1030                               callback_metrics=callback_metrics)
1031
1032     def evaluate(self, x, y, batch_size=32, verbose=1, sample_weight=None):
/root/miniconda2/envs/tf/lib/python3.4/site-packages/Keras-1.0.1-py3.4.egg/keras/engine/training.py in _fit_loop(self, f, ins, out_labels, batch_size, nb_epoch, verbose, callbacks, val_f, val_ins, shuffle, callback_metrics)
766                 batch_logs['size'] = len(batch_ids)
767                 callbacks.on_batch_begin(batch_index, batch_logs)
--> 768                 outs = f(ins_batch)
769                 if type(outs) != list:
770                     outs = [outs]
/root/miniconda2/envs/tf/lib/python3.4/site-packages/Keras-1.0.1-py3.4.egg/keras/backend/tensorflow_backend.py in call(self, inputs)
595         feed_dict = dict(zip(names, inputs))
596         session = get_session()
--> 597         updated = session.run(self.outputs + self.updates, feed_dict=feed_dict)
598         return updated[:len(self.outputs)]
599
/root/miniconda2/envs/tf/lib/python3.4/site-packages/tensorflow/python/client/session.py in run(self, fetches, feed_dict, options, run_metadata)
338     try:
339       result = self._run(None, fetches, feed_dict, options_ptr,
--> 340                          run_metadata_ptr)
341       if run_metadata:
342         proto_data = tf_session.TF_GetBuffer(run_metadata_ptr)
/root/miniconda2/envs/tf/lib/python3.4/site-packages/tensorflow/python/client/session.py in _run(self, handle, fetches, feed_dict, options, run_metadata)
562     try:
563       results = self._do_run(handle, target_list, unique_fetches,
--> 564                              feed_dict_string, options, run_metadata)
565     finally:
566       # The movers are no longer used. Delete them.
/root/miniconda2/envs/tf/lib/python3.4/site-packages/tensorflow/python/client/session.py in _do_run(self, handle, target_list, fetch_list, feed_dict, options, run_metadata)
635     if handle is None:
636       return self._do_call(_run_fn, self._session, feed_dict, fetch_list,
--> 637                            target_list, options, run_metadata)
638     else:
639       return self._do_call(_prun_fn, self._session, handle, feed_dict,
/root/miniconda2/envs/tf/lib/python3.4/site-packages/tensorflow/python/client/session.py in _do_call(self, fn, *args)
657       # pylint: disable=protected-access
658       raise errors._make_specific_exception(node_def, op, error_message,
--> 659                                             e.code)
660       # pylint: enable=protected-access
661
InvalidArgumentError: Conv2DBackpropInput: Number of cols of out_backprop doesn't match computed: actual = 5, computed = 4
[[Node: conv2d_transpose = Conv2DBackpropInput[T=DT_FLOAT, data_format="NHWC", padding="VALID", strides=[1, 1, 2, 1], use_cudnn_on_gpu=true, _device="/job:localhost/replica:0/task:0/cpu:0"](pack, convolution1d_transpose_arbitrary_1_W/read, transpose_18)]]
Caused by op 'conv2d_transpose', defined at:
File "/root/miniconda2/envs/tf/lib/python3.4/runpy.py", line 170, in _run_module_as_main
"main", mod_spec)
File "/root/miniconda2/envs/tf/lib/python3.4/runpy.py", line 85, in _run_code
exec(code, run_globals)
File "/root/miniconda2/envs/tf/lib/python3.4/site-packages/ipykernel/main.py", line 3, in
app.launch_new_instance()
File "/root/miniconda2/envs/tf/lib/python3.4/site-packages/traitlets/config/application.py", line 596, in launch_instance
app.start()
File "/root/miniconda2/envs/tf/lib/python3.4/site-packages/ipykernel/kernelapp.py", line 442, in start
ioloop.IOLoop.instance().start()
File "/root/miniconda2/envs/tf/lib/python3.4/site-packages/zmq/eventloop/ioloop.py", line 162, in start
super(ZMQIOLoop, self).start()
File "/root/miniconda2/envs/tf/lib/python3.4/site-packages/tornado/ioloop.py", line 883, in start
handler_func(fd_obj, events)
File "/root/miniconda2/envs/tf/lib/python3.4/site-packages/tornado/stack_context.py", line 275, in null_wrapper
return fn(*args, **kwargs)
File "/root/miniconda2/envs/tf/lib/python3.4/site-packages/zmq/eventloop/zmqstream.py", line 440, in _handle_events
self._handle_recv()
File "/root/miniconda2/envs/tf/lib/python3.4/site-packages/zmq/eventloop/zmqstream.py", line 472, in _handle_recv
self._run_callback(callback, msg)
File "/root/miniconda2/envs/tf/lib/python3.4/site-packages/zmq/eventloop/zmqstream.py", line 414, in _run_callback
callback(*args, **kwargs)
File "/root/miniconda2/envs/tf/lib/python3.4/site-packages/tornado/stack_context.py", line 275, in null_wrapper
return fn(*args, **kwargs)
File "/root/miniconda2/envs/tf/lib/python3.4/site-packages/ipykernel/kernelbase.py", line 276, in dispatcher
return self.dispatch_shell(stream, msg)
File "/root/miniconda2/envs/tf/lib/python3.4/site-packages/ipykernel/kernelbase.py", line 228, in dispatch_shell
handler(stream, idents, msg)
File "/root/miniconda2/envs/tf/lib/python3.4/site-packages/ipykernel/kernelbase.py", line 391, in execute_request
user_expressions, allow_stdin)
File "/root/miniconda2/envs/tf/lib/python3.4/site-packages/ipykernel/ipkernel.py", line 199, in do_execute
shell.run_cell(code, store_history=store_history, silent=silent)
File "/root/miniconda2/envs/tf/lib/python3.4/site-packages/IPython/core/interactiveshell.py", line 2723, in run_cell
interactivity=interactivity, compiler=compiler, result=result)
File "/root/miniconda2/envs/tf/lib/python3.4/site-packages/IPython/core/interactiveshell.py", line 2825, in run_ast_nodes
if self.run_code(code, result):
File "/root/miniconda2/envs/tf/lib/python3.4/site-packages/IPython/core/interactiveshell.py", line 2885, in run_code
exec(code_obj, self.user_global_ns, self.user_ns)
File "", line 97, in
model.add(Convolution1D_Transpose_Arbitrary(5, 2, strides=strides, padding=padding))
File "/root/miniconda2/envs/tf/lib/python3.4/site-packages/Keras-1.0.1-py3.4.egg/keras/models.py", line 139, in add
output_tensor = layer(self.outputs[0])
File "/root/miniconda2/envs/tf/lib/python3.4/site-packages/Keras-1.0.1-py3.4.egg/keras/engine/topology.py", line 485, in call
self.add_inbound_node(inbound_layers, node_indices, tensor_indices)
File "/root/miniconda2/envs/tf/lib/python3.4/site-packages/Keras-1.0.1-py3.4.egg/keras/engine/topology.py", line 543, in add_inbound_node
Node.create_node(self, inbound_layers, node_indices, tensor_indices)
File "/root/miniconda2/envs/tf/lib/python3.4/site-packages/Keras-1.0.1-py3.4.egg/keras/engine/topology.py", line 148, in create_node
output_tensors = to_list(outbound_layer.call(input_tensors[0], mask=input_masks[0]))
File "../models/convolutional_transpose.py", line 478, in call
output_shape=deconv_shape)
File "/root/miniconda2/envs/tf/lib/python3.4/site-packages/tensorflow/python/ops/nn_ops.py", line 104, in conv2d_transpose
name=name)
File "/root/miniconda2/envs/tf/lib/python3.4/site-packages/tensorflow/python/ops/gen_nn_ops.py", line 379, in conv2d_backprop_input
data_format=data_format, name=name)
File "/root/miniconda2/envs/tf/lib/python3.4/site-packages/tensorflow/python/ops/op_def_library.py", line 655, in apply_op
op_def=op_def)
File "/root/miniconda2/envs/tf/lib/python3.4/site-packages/tensorflow/python/framework/ops.py", line 2154, in create_op
original_op=self._default_original_op, op_def=op_def)
File "/root/miniconda2/envs/tf/lib/python3.4/site-packages/tensorflow/python/framework/ops.py", line 1154, in init
self._traceback = _extract_stack()

Please make sure that the boxes below are checked before you submit your issue. Thank you!

[x] Check that you are up-to-date with the master branch of Keras. You can update with:
pip install git+git://github.com/fchollet/keras.git --upgrade --no-deps

[x] If running on Theano, check that you are up-to-date with the master branch of Theano. You can update with:
pip install git+git://github.com/Theano/Theano.git --upgrade --no-deps

[x] Provide a link to a GitHub Gist of a Python script that can reproduce your issue (or just copy the script here if it is short).

It started running if output shape calculation is tweaked to be:
https://gist.github.com/lukovkin/610e18590f3d6138aa0bc6a6af414450#file-piece-of-shape-inferring
Like in Caffe for example.
But it looks like a bit conflicting with Keras formula for convolution output length in conv_output_length.

I'll close it as it looks solved.
Will reopen on updates if any.


windows gui updater

Today this successfully downloaded an updated installer and invoked it. Updater seems to require that the electron ui is running and the prerelease tag is used.
@maxtaco @gabriel

Yeah only prerelease is using s3 bucket stuff right now.
You can trigger an update on command line (with command line instead of gui) with keybase update custom. I have a PR to rename this. Running keybase update check tells the service to trigger it's checker which needs a (Electron) UI since there is no command line there.

Rebased from master since: 40a56c4ff24650f54004a7b4481bc7635600cae9

Merge pull request #1705 from keybase/updaterdigest

This is more what I had in mind for file close:
	saveFile := func(savePath string) error {
		file, err := os.OpenFile(savePath, os.O_WRONLY|os.O_CREATE|os.O_EXCL, libkb.PermFile)
		if err != nil {
			return err
		}
		defer file.Close()

		u.log.Info("Saving to %s", savePath)
		n, err := io.Copy(file, resp.Body)
		u.log.Info("Wrote %d bytes", n)
		return err
	}

	err = saveFile(savePath)
	if err != nil {
		return
	}

other than comment above lg2m... I can also apply that suggested change above after you merge if that's easier

I see, defer only happens at the end of a function, and there's no other way to attach a function to the end of the current scope in this language.
Think I got this last change, thanks!

Sweet! Got it working with the digest and stuff:


Framework7 addnotification overlap

This is a (multiple allowed):

[x] bug
[ ] enhancement
[ ] feature-discussion (RFC)

What you did
Part of code

Waktu Operasi

Hari Bekerja

Jam Bekerja

Application

javascript
$$('.notification-custom').on('click', function () {
    myApp.addNotification({
        title: 'Application',
        subtitle: 'Application v1.0.1',
        message: 'Supported in Android & iOS',
        media: ''
    });
});

Expected Behavior
Notification overlap
Actual Behavior

Could you please expand you point?
Consider pointing code snippets here, on Codepen or on JSFiddle.
Make sure you have read the documentation correctly and followed any instructions it may give.
Please note this comment contains a saved response

Closed since no response for 1 month


Add ability to go back to listener from speaker

Is your feature request related to a problem? Please describe.
Currently, you are unable to move back to listener mode after being approved as a speaker. Since the speaker status in that room is persistent, there is no way to leave speaker mode.
Describe the solution you'd like
Button for user to just go back to listener mode or just click on the "Listeners" text (kinda like discord moving between rooms)
Describe alternatives you've considered
I guess it doesn't really matter if you stay as speaker since you can just mute, but I think this should be an easy implementation and useful in order to keep the speaker list decluttered.
Additional context
Add any other context or screenshots about the feature request here.

click on your avatar a modal will come up with the option


Add a toolbar to the map

Add a toolbar to the map that makes user interaction easier, like the one below:

Toolbar has been added in v0.8.5


What USE_WPE_VIDEO_PLANE_DISPLAY_DMABUF really does?

Sorry if here is the wrong place to ask this.
I have a pinephone and would like to have hardware accelerated video playback with the WebKit engine.
Gstreamer already fully supports hardware decoding on Allwinner SOC's with the Cedrus driver. When using epiphany browser (or Minibrowser) I see hardware video decoding but video playback is still bad.
I believe the problem could be on the videosink part of the WebKit implementation that maybe is not using the hardware capabilities to show the video.
I couldn't find documentation for the switch USE_WPE_VIDEO_PLANE_DISPLAY_DMABUF and would like to know if this could help to fix the issue with video playback.
Thanks in advance

What USE_WPE_VIDEO_PLANE_DISPLAY_DMABUF really does?

It's mostly an experiment initially meant to support Secure Video Path (DRM videos rendering). You shouldn't need this for hardware-accelerated video playback per se.
Can you read this page and report the informations needed to debug this?
https://github.com/Igalia/meta-webkit/wiki/Providing-useful-GStreamer-Zero-copy-issue-reports

Thank you for the answer.
Here is some information:
GPU: Mali 400 MP2
Mesa: 21.3.5 with lima driver
kernel: 5.15-sunxi64
Runing the command:
gst-launch-1.0 filesrc location=~/big_buck_bunny_720p_H264_AAC_25fps_3400K.MP4 ! qtdemux ! h264parse ! v4l2slh264dec ! glimagesink

gives good results, and low CPU load as long as I have the environment variable GST_GL_API=gles2. If this is set to opengl (probably the default) I have low video performance although the CPU load is low.
To make sure GStreamer is not trying to use OpenGL API I compiled from the source with only gles2 support with the following meson options:
meson build -Dprefix=/usr -Dgst-plugins-base:gl_api=gles2 -Dgst-plugins-bad:v4l2codecs=enabled
mobian@mobian:~/src/gstreamer$ gst-inspect-1.0 --version
gst-inspect-1.0 version 1.19.3
GStreamer 1.19.3 (GIT)
Unknown package origin

After installing the compiled GStreamer I don't need to specify gles2 and video playback is always good when using gst-launch-1.0 or gst-play-1.0. It plays well even when I use autovideosink now, it probably uses glimagesink with gles2 in the end.
However, when using the browser (epiphany), it still gives poor performance with low CPU load, like when using the packaged GStreamer from Debian.
When running the browser, I also need to specify GDK_GL=gles otherwise I have:
** (epiphany:71955): WARNING **: 19:19:34.012: GDK is not able to create a GL context, falling back to glReadPixels (slow!): Unable to create a GL context

Now, getting the log files with MiniBrowser. For some reason when trying with epiphany I didn't get any log files in /tmp.
GST_DEBUG="3,webkit*:6" GST_DEBUG_FILE=/tmp/gst.log GST_DEBUG_DUMP_DOT_DIR=/tmp /usr/lib/aarch64-linux-gnu/webkit2gtk-4.0/MiniBrowser http://samplemedia.linaro.org/H264/big_buck_bunny_720p_H264_AAC_25fps_3400K.MP4

I'm trying to play mp4 directly to give the best chance. I get ~50% load in the CPU, and the video plays with some artifacts but plays.
Log files attached. I wonder if it possible to get closer to the performance of gst-play-1.0 or if this is really the best we could get with a browser.
Thank you!
log.tar.gz

Can you post dot files for the gst-play case too please?
I see the webkit negotiates GL RGBA external-yes caps, I'm curious what glimagesink negotiates...

Hi,
here it is.
gst-play-log.tar.gz
Thank you

Same caps in both cases... So next step would be to run perf on this and check what is the hotspot.

Let me know how I could run the tests. I don't have much experience using these tools.
Am I correct to say that gst-play and WebKit are using hardware decoder and the videosink seems to be the problem?
Do you  think we should be getting more or less the same performance with webkit and gst-play? Or webkit will always be much slower?
Again, thanks a lot for the help. I know Pinephone is underpowered but I think that if the hardware capabilities are being used we should be able to get decent performance, especially because the CPU load is not at 100% when trying to play using browser.
Is it possible to compile webkit2gtk with only gles2 support? I'm afraid that it tries to use Opengl functions that it is not implemented in the hardware and ends up causing problems. Like gstreamer was doing if I don't specify GST_GL_API=gles2

Let me know how I could run the tests. I don't have much experience using these tools.

Prefix the MiniBrowser command with perf record -g and then run perf report.

Am I correct to say that gst-play and WebKit are using hardware decoder and the videosink seems to be the problem?

Yes to the former. For the latter, I'm not sure yet...

Do you think we should be getting more or less the same performance with webkit and gst-play? Or webkit will always be much slower?

We should aim to have both on par.

Again, thanks a lot for the help. I know Pinephone is underpowered but I think that if the hardware capabilities are being used we should be able to get decent performance, especially because the CPU load is not at 100% when trying to play using browser.
Is it possible to compile webkit2gtk with only gles2 support? I'm afraid that it tries to use Opengl functions that it is not implemented in the hardware and ends up causing problems. Like gstreamer was doing if I don't specify GST_GL_API=gles2

I'm not familiar with that platform, but generally speaking I think we should keep default build options and let GStreamer/WebKit select the right GL/gles context at runtime.

Hi,
attached you have the perf.data file together with new gst.log and *.dot files.
log-gst-perf.tar.gz


Messages (and svcs and action goals) larger than a certain size seem to 'disappear'

Describe the bug
Agents do not appear to forward messages coming in from the "ROS 2 side" that are larger than a certain size.
Increasing the verboseness of the Agent, DDS messages with len: 67776 for instance just disappear. There are no warnings or errors printed by the Agent, and the Client doesn't appear to receive anything, nor does it notify the Agent of any error.
For reference, this was also discussed in https://github.com/micro-ROS/rmw_microxrcedds/issues/258.
To Reproduce
Steps to reproduce the behaviour:
Not exactly steps, but at a high level:

implement a Client capable of subscribing to a message with a variable sized payload
create a rclcpp or rclpy publisher which publishes instances of this message
gradually increase size of the payload from something small to 'something large'
notice how at a certain point, the Client no longer receives any messages

Alternatively: create a server service and client, or an action server and client, which exchange the described message (as one of the fields fi).
Service invocations and action goal submissions will silently start to fail for messages "too large".
Expected behaviour
Ideally: messages of all sizes (even large ones) get forwarded successfully.
Realistically (as unlimited memory doesn't exist): the Agent prints a warning or error, clearly showing it's impossible to forward a message.
If possible: in case of svcs and actions: notify the client the invocation failed -- due to RMW-level failures (so not the invocation itself, but the request didn't even arrive at the server).
System information (please complete the following information):

OS: observed under Ubuntu 20.04, but same happens on other OS
ROS 2 Foxy, Galactic and Rolling
Version: using the "most recent" Docker image (microros/micro-ros-agent / 5e93b1fa5608)

And just to give it the visibility it deserves, @pablogs9's https://github.com/micro-ROS/rmw_microxrcedds/issues/258#issuecomment-1132792875 on https://github.com/micro-ROS/rmw_microxrcedds/issues/258:

Some details about DDS-XRCE.
DATA sub-messages are exchanged between the client and the agent in order to transmit DDS payloads from the client to the agent (in publishers, requesters, and repliers) or from the agent to the client (when dealing with subscriptions, requesters, and repliers).
This DDS-XRCE DATA sub-message has a lenght field in its subheader of 16 bits, that means that the maximum payload will be about 65 kB (with an MTU that allows that).
When dealing with fragmentation, the same happens because the whole DDS-XRCE DATA sub-message (subheader + payload) will be chopped into smaller fragments. That means that the maximum payload is still about 65 kB even if the fragmentation is used.
What happens when a micro-ROS client tries to publish a big message? It depends:

If size < MTU it fits in an XRCE message and will be sent as it

If size > MTU && size < (MTU*UXRCE_OUTPUT_STREAM_HISTORY), the message will be chopped into fragments and each fragment will be allocated in a different XRCE message and the whole buffer (all XRCE messages) will be flushed to the agent and the agent will reconstruct the original DATA submessage from the FRAG submessages.

If size > MTU && size > (MTU*UXRCE_OUTPUT_STREAM_HISTORY) && size < 2^16 B the message will be chopped into fragments but the fragments do not fit in the buffer so, fragments will be prepared, the serializer will start serializing data and every time the XRCE output buffer is full the FRAG messages will be flushed to the agent. The agent will know when it should stop saving fragments and should regenerate the DATA message from FRAGs because the final frag has a bit enabled in its header. This is known as continuous serialization mode, and you can see the implementation here and here. Agent will know that the regenerated DATA submessage will be ok if all the FRAG payloads matches the DATA length in the DATA subheader.

If size > MTU && size > (MTU*UXRCE_OUTPUT_STREAM_HISTORY) && size > 2^16 B Same as above but the DATA length is set to 0, so the agent needs to rely on receiving all fragments correctly (and this should be like this because XRCE reliability) and will assume that the regenerated DATA submessage is correct. The final FRAG will have the last_fragment_bit enabled. This is the UCLIENT_TWEAK_XRCE_WRITE_LIMIT, and it is off-standart.

What happens when a micro-ROS Agent tries to send a DATA payload to micro-ROS client:

If size < MTU it fits in an XRCE message and will be sent as it.

If size > MTU && size < (MTU*UXRCE_INPUT_STREAM_HISTORY), the message will be chopped into fragments and each fragment will be allocated in a different XRCE message and the whole buffer (all XRCE messages) will be flushed to the client and the client will reconstruct the original DATA submessage from the FRAG submessages.

If size > MTU && size > (MTU*UXRCE_INPUT_STREAM_HISTORY), same as above but the client will fill its buffers with the first UXRCE_INPUT_STREAM_HISTORY FRAGs and the FRAG number UXRCE_INPUT_STREAM_HISTORY+1 will be never acknowledged because it does not fit in the client's memory. So the agent will be trying to retrieve the client's acknowledge of the FRAG UXRCE_INPUT_STREAM_HISTORY+1 but it will never be received.

Headers are not taken into account in the above formulas, so they are not literal. Just a reference.
As we can see there is a couple of problems here:

The client does not have dynamic memory so it won't be able to accept DATA messages split in more FRAG than UXRCE_INPUT_STREAM_HISTORY

If the agent tries to send more FRAGs than UXRCE_INPUT_STREAM_HISTORY the client buffer will be blocked. @Acuadros95 we should take a look on that.

Answering your question @gavanderhoorn, the agent won't send a DATA payload (fragmented or not) to the client if it greater than 2^16 B because of standard limitation.

Friendly ping.
Would you already have some idea on how to address:

2. If the agent tries to send more FRAGs than UXRCE_INPUT_STREAM_HISTORY the client buffer will be blocked. @Acuadros95 we should take a look on that.

perhaps?
It's more than logical a resource constraint device is resource constrained, but without a way to detect messages which are too large don't get transferred, making robust applications is rather difficult.

Sorry @gavanderhoorn we do not have enough bandwidth for looking at this. I'll keep it open and check it later.

As a data point (perhaps as input for prioritising):
a Micro-ROS application doesn't have (complete) control over the sizes of messages potential ROS 2 publishers/clients send it. IIUC, right now, messages which are too large will disappear, without the sending entity being notified of this.
The best we can do is to ask users to "not send messages which are 'too large'".
This makes it a rather brittle setup, as users are bound to send messages which are "too large" sooner or later (even if by mistake).
JointTrajectorys might be on the edge of what is reasonable for "extremely resource constrained devices", but technically, any message larger than what is described in your https://github.com/micro-ROS/micro-ROS-Agent/issues/143#issuecomment-1135647918 would trigger this behaviour.

This tweak is for sending from the client to the agent payloads bigger than 64 kB, not for receiving them.

Ah, ok.
Could the same tweak be used in the other direction?

Not really, because it relies on dynamic memory on the agent side to store an arbitrary amount of fragments. We cannot do such a thing on the client-side...

Could making clients responsible for allocating memory and then registering that buffer with the RMW be an option? That would still not make it unlimited, but could allow for messages larger than the 16-bit limit if I understand you correctly?

That should be possible but implies rearchitecting Micro XRCE-DDS Client


Type-safe response from multi()

I'd love to see a type-safe return value from the multi() method on various APIs.  I know this is easier said than done — I can't think of a way to do it when passing an array of selection strings — but I there are other ways it could work.  Something like:
await torn.user.multi().basic().battlestats().attacks().fetch();

Or:
await torn.user.multi(request => request.basic().battlestats().attacks());

Or with a little ingenuity I think even this could work:
await torn.user.basic().battlestats().attacks();

What do you think?  If you're interested, I'd be up for working on a PR.

@smikula, I would be interested in seeing your ideas. I added the multi calls as more of an afterthought, so they don't fit in as well as the other calls.

I have a proof of concept idea in this PR: https://github.com/jgolla/torn-api/pull/318
Alternately, you could just define a big return type from multi with all properties there but optional.  That's a little annoying to work with as a consumer, but way easier for the library to code!


Is there a method to adjust length?

In svg there is a way to fit text into width
<text textLength="75" lengthAdjust="spacing">This is a shrunked text</text>
I know of the maxWidth property but is there something like lengthAdjust.
Here is more info about the svg lenghtAdjust Property
https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/lengthAdjust

Hello @kamranmuazzam! I'm afraid there is currently no such API available in pdf-lib. However, all of the primitives that would be necessary to develop one exist (specifically, the ability to measure text dimensions in a given font and adjust the size when drawing text). If anybody would like to submit a PR implementing this feature, I'd be willing to merge it.


get_joint_[min|max]_value() returns wrong value for all joints

Describe the bug
get_joint_[min|max]_value() returns wrong value for all joints.
To Reproduce
$ ipython
Python 3.9.2 (tags/v3.9.2:1a79785, Feb 19 2021, 13:44:55) [MSC v.1928 64 bit (AMD64)]
Type 'copyright', 'credits' or 'license' for more information
IPython 7.20.0 -- An enhanced Interactive Python. Type '?' for help.

In [1]: from pymycobot.mycobot import MyCobot
In [2]: from pymycobot.genre import Angle
In [3]: mycobot = MyCobot("COM13")
In [4]: for angle in Angle:
   ...:     print(angle.name, mycobot.get_joint_min_angle(angle.value), mycobot.get_joint_max_angle(angle.value))
J1 -15.5 15.5
J2 -16.5 16.5
J3 -16.5 16.5
J4 -16.5 16.5
J5 -17.5 17.5
J6 175.0 -216.08

Expected behavior
Acconding to User Manual V 2021.02.04(p.13), the return values shoud be the following:
J1 -165.0 165.0
J2 -165.0 165.0
J3 -165.0 165.0
J4 -165.0 165.0
J5 -165.0 165.0
J6 -175.0 175.0

Desktop (please complete the following information):

Windows 10 Home
Python 3.9.2
pymycobot 2.2.1

MyCobot

AtomMain 2.5
MyCobot Adaptive Gripper (white)

Additional context
MyCobot has been calibrated with the Calibration app in myStudio v0.0.5.

Hi Saito-san, I have the same problem. My joint min max value returns the exact value with yours.
Whenever I send command of write angle, for example angle 10 degree to J1, it moves more than 10 degree.
Have you solved this problem?

Hi hansenmaster-san, which version of AtomMain and pymycobot are you using?  If you want to send angles with degree, you should use AtomMain 2.5 and pymycobot 2.2.0.  The AtomMain 2.3 or earlier handles angles of APIs with radian.

Hi Saito-san, thank you very much for the answer. Updating the Atom firmware fix the angle unit.

the get_joint_min_angle and the max has some problem, you should wait we solve this

When this problem is fixed, I will update it in changelog. So I close this issue now


Fine-tuning the code of llava, the loss decreases abnormally

I use the code you provided to train llava based on Intervit6B. According to the script you provided, the first stage of pretrain is running normally. But when using the fine-tuning script for training, I found strange loss transformations.
As shown in the picture:

I have not modified any llava code
I debugged EVA_clip_vit and found the problem. It happened in zero2. When replacing it with zero3, the loss was normal. However, Intervit6B has the following problems when using zero3:

Hello, I'm sorry. I might have introduced some new bugs while organizing the code, and I am currently checking; I will fix it as soon as possible.

Hi, regarding the problem of zero2 training loss being 0.0, I have fixed it here. After replacing the deepspeed version with 0.9.5, the loss converges normally. However, there are still problems with zero3 support, and the reason seems to be here:

Hi, regarding the problem of zero2 training loss being 0.0, I have fixed it here. After replacing the deepspeed version with 0.9.5, the loss converges normally. However, there are still problems with zero3 support, and the reason seems to be here:

OK, I get it. Thanks for your feedback.

In the case of deepspeed zero3, it seems that resizing position encodings is not feasible. I am looking for a solution; I used to pre-resize and save them in advance, but I'm not too fond of doing it that way.

This bug should have been fixed. I have attempted both pre-training and fine-tuning, and the loss curves are normal. Additionally, the results from testing the newly trained models on the benchmarks are also normal.

Hi, I have trained using the updated code. This time I only changed the dataset loading and weight loading, But my results are quite different from what you posted, is there still something wrong within the code.

I suspect that flash_attn is not version 0.2.8 causing the problem, so I tested the weights you provided and the results are as follows:

The results are slightly fluctuating, but still reasonable.


Refactor logger middleware generation

We can just use JSON.stringify here

:+1:

LGTM.
@jbhatab be sure to see this one.


DateUtil.fromISO8601(DateUtil.toISO8601(currentDate)) returns a different date

I was surprised that DateUtil.fromISO8601(DateUtil.toISO8601(currentDate) returns a different Date (for few milliseconds)
it looks alike a bug for me but i don't understand what is the wrong in the code exactly.
I updated a test to emphasize it: https://github.com/apupier/jolokia/tree/86-FailingDateRoundtripConversion

Hi @apupier,
Oh, I think it is simple. It is because ISO 8601 in the current implementation doesn't have the milliseconds accuracy (in Wikipedia you should use this word instead of precision 😄 - ISO 8601).
If you look at the source code (DateUtil.java), you will see the following date format: "yyyy-MM-dd'T'HH:mm:ssZ".
You see? This is where the accuracy is lost. I think the fix should be obvious, but I do not know whether this date format is used somewhere, where this accuracy is not required.
p.s. I do not know whether this project alive or not. Pull requests are not accepted for a long time.

@Vest you are right, it looks like that velocity on Jolokia development has dropped quite a bit. Sorry for that, but I'm simply completely overloaded with tons of other stuff.
This does not mean that I'm not still committed to the project. If you look at the release history, there has always been new releases and support over the years.
That there are still 8 PRs dangling is a shame, but I try to get to is asap. Also, Jolokia is heavily used in RedHat products, so there will be support for Jolokia for some time to come.
Now to the issue: Actually I would prefer to cut off the millis to 0 in DateUtil.fromISO8601(), as this is probably the best fit. If a higher accuracy is required epoch time should be used. Does this make sense ?

ok so in fact the implementation was right, it's just that I miss the fact that ISO 8601 is not considering milliseconds
I updated the PR to include a test ensuring that it is the case

Maybe it can suppor milliseconds, if you change the format string. E.g. … mm:ss.sssZ
But I don't know whether it doesn't break the rest.

I agree, that the format could be adapted, but if I understand https://en.wikipedia.org/wiki/ISO_8601 right, ISO-8601 only goes down to the second.
Backwards compatibility is also an issue here, as you mention. So I would like to keep it this way, and if a higher accuracy is needed, we can refer to the epoch time.
@Vest @apupier is this ok for you ?

To be honest, I don't mind. I conetely agree with you, @rhuss

that's ok for me


Make wapi compile again

I've found an old modified SConstruct on my HD and thought that I can share.
It also adds a static version of the library.

I've used it around 2 years ago when writing some hacky software controlling wlan on Raspberry Pi :-) I've went trough it recently when reading old code.


Added the timer

Fixes #57
firstly , thanks to all the members for lending this opportunity to contribute...
Here's a gist of the changes made:-
features added:

a Timer , which shows the remaining time for the next class .
it is present on the bottom of home screen

, and top of upcoming alarm page .

fixes :

removed redundant links from html files.
moved style to alarm.jsx component and removed the extra css files.

newer design as suggested by @DarshitJain04

@hirenchalodiya1 does this look good or the one which was added before
I suggested to make it simple because the one added before looked more like a button and long buttons don't look good :(
Any suggestions?

Make Today category open by default.

firstly it opens with this then when we close it it normalizes

any suggestions?

firstly it opens with this then when we close it it normalizes

It seems you've messed up a bit with the styling part
The content in list item is going out of sight and seems that uneven padding is added
Also overflow property was added by the person who worked on Accordion, it worked completely fine there
Just check where did you mess up
As far as keeping the today tab open is concerned, change the state when the component is mounted

added the open today's alarms on default as requested

Height in upcoming seems to be messed up, keep it the same for all tabs.

Getting this error

can you please specify what is the source ?

can you please specify what is the source ?

Do you mean where to check this error?
You can check chrome://extensions dashboard itself

The error tab shows this error

can you please specify what is the source ?

Do you mean where to check this error?
You can check chrome://extensions dashboard itself

The error tab shows this error

I am not certain why should that show an error as a unmounted and mounted again but couldn't see an error

the alarms object (which is a promise object) has a property scheduledTime but javascript doesnt recognize it as a valid object and calls it undefined but still the scheduledTime property can be accessed and the timer works .
@hirenchalodiya1 can you suggest how to circumvent this issue?

@Shantanu-Bakshi write commit message clear. --- and test1.1 are not appropriate commit messages

@Shantanu-Bakshi Do write correct commit messages this time :)
--- or test1.1 doesn't describe what changes your commit makes

@Shantanu-Bakshi any updates?

really sorry for the long delay
in recent commits i tried fix the error but it seems that even after converting the promises into async hasn't solved the issue . and  moreover it doesnt occur after subsequent use of the extension i.e its a one time issue caused by the nature of chrome.alarms .

@DarshitJain04 Stale?


Revert "Added Powervs platfrom permission check"

This reverts commit 422a225863881ea2e92c8131bb3a6499dcacf865.

fyi @bkhadars. when you've got the fix you can just resubmit everything as a whole


Change default ping interval to 10s and make it configurable

Closes #6

I guess the index timeout need to be changed too

@geekgonecrazy and/or @rodrigok can you please validate the new index creation logic and see if it makes sense? thx


⚠ Bofrost.at has degraded performance

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

HTTP code: 200
Response time: 1409 ms

Resolved: Bofrost.at performance has improved in 9feafbd after 6 minutes.


First Tests breakeven_point()

Here are the first set of tests to make sure that the general math of the function is working. This does not cover any edge cases yet.

looks nice!


Function-based Keys bail Nuxt Hydration

When using functions as keys for useSWRV, nuxt fails to rehydrate with the cache. I believe this is because the function is not called (see line 134)
useSWRV uses keyRef and assumes that keyRef is a ref, despite the function check on line 123.
In testing, I've been able to get this to work by re-checking if keyRef is a function and if so calling it, otherwise accessing value like such:
const instanceState = nodeState[isRef(keyRef) ? keyRef.value : keyRef()]

However, I'm not sure if this would have any unintended side effects.

yea looks like a bug, since if keyRef is initially a function, then we will attach it to the watcher without transforming it into a ref first (https://vue-composition-api-rfc.netlify.app/api.html#watch "watching a single source"), and then we update the keyRef.value to be the resolved value in the watcher callback. However, hyrdration has already occurred. I think it is safe to invoke it here as you are doing.

@kofh give it a try now in v0.3.2

That did the trick! Thanks so much for your quick response!


Underactuated satellite with torque limits

Details
Problem: rotate 180 degrees about an unactuated axis, with torque limits. The dynamics model is just SO(3) kinematics with a rotation matrix.

nstates: 9
ncontrols: 2
horizon: 301
admm sizes: 2709 / 600 / 2718

Solved in 2 steps. First solve without torque limits, and then used that solution to solve the constrained once. Stats are listed "first solve / second solve."

Iterations: 44 / 37
Solve Time: 2.08 s / 1.83 s
Penalty threshold: 1e2 / 1e4
Initial penalty: 1e4 / 1e3

Adding Anderson acceleration didn't seem to really help on this problem.


mapper for F[Output] should be generic at kind level

just for demonstrating #1044
while it's generic all mapperFrom*Future* can be deleted
and user can implement F ~> E:Effect for their own F whenever/where ever they want
same thing should done to mapper for response as well

@sergeykolbasov @rpless Do you have an opinion?
@jcouyang Mind fixing a build in the meantime? I think scalafix wasn't happy about something - just check the build logs or verify it with sbt validate locally.

I'm still not sold to the FunctionK approach instead of custom type class due to the fact that this implicit conversion is supposed to be used all around the place and not only in Mapper. With this approach we have to carry around import with implicits inside instead of letting compiler to find it in companion object on itself.

again @sergeykolbasov i'm not saying not using typeclass
what i'm trying to say is definitely we need typeclass, just you don't need to define your own since cats have it already
imagine that your typeclass would probably looks like
trait ToEffect[F[_], E[_]:Effect] {
  def apply[A](a: F[A]): E[A]
}

just look at the type, it's exactly the same as FunctionK/~>
trait FunctionK[F[_], G[_]] {
  def apply[A](fa: F[A]): G[A]
}

either way the implementation of the typeclass for future or any user custom type should be exactly the same

Codecov Report

Merging #1045 into master will decrease coverage by 0.24%.
The diff coverage is 87.5%.

@@            Coverage Diff             @@
##           master    #1045      +/-   ##
==========================================
- Coverage   84.03%   83.78%   -0.25%
==========================================
  Files          49       50       +1
  Lines         952      950       -2
  Branches       59       54       -5
==========================================
- Hits          800      796       -4
- Misses        152      154       +2

Impacted Files
Coverage Δ

core/src/main/scala/io/finch/package.scala
100% <ø> (ø)
:arrow_up:

core/src/main/scala/io/finch/internal/Mapper.scala
100% <100%> (+3.12%)
:arrow_up:

core/src/main/scala/io/finch/instances/IO.scala
80% <80%> (ø)

core/src/main/scala/io/finch/Endpoint.scala
71.68% <0%> (-0.61%)
:arrow_down:

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 7876e99...b58e560. Read the comment docs.

LGTM

Thanks again @jcouyang! This is great work!


[FIX] Fix function naming

Oooops! Just to make it exactly the same as the original.

Codecov Report

Merging #121 (db28c57) into master (73cd49d) will decrease coverage by 0.34%.
The diff coverage is 50.00%.

@@            Coverage Diff             @@
##           master     #121      +/-   ##
==========================================
- Coverage   62.74%   62.40%   -0.35%
==========================================
  Files          27       27
  Lines        2067     2048      -19
==========================================
- Hits         1297     1278      -19
  Misses        770      770

Impacted Files
Coverage Δ

netneurotools/metrics.py
25.19% <50.00%> (ø)

netneurotools/tests/test_plotting.py
80.00% <0.00%> (-1.09%)
:arrow_down:

netneurotools/tests/test_datasets.py
98.83% <0.00%> (-0.10%)
:arrow_down:

netneurotools/tests/test_civet.py
100.00% <0.00%> (ø)

netneurotools/tests/test_stats.py
100.00% <0.00%> (ø)

netneurotools/tests/test_utils.py
100.00% <0.00%> (ø)

netneurotools/tests/test_cluster.py
100.00% <0.00%> (ø)

netneurotools/tests/test_freesurfer.py
100.00% <0.00%> (ø)

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


Merging PAM handover prep work into develop including the proof of concept

Closes #517

No more input imminent from reviewers so I'm going to merge this and see how it performs on UAT


Content

Hey everyone! This branch includes work for the Poetry Archive and Bio Page.
Issue #3 Poetry Archive
Here I added 9 notable Maya Angelou poems to the archive. On the archive page the user is able to preview each poem by seeing the title, publishing date, and a 2-3 line preview of the poem. The user can then click into a modal view and read the full poem. For times sake there are a few requirements that still need to be met like adding search capabilities, and images.
Issue #4 Bio
On the bio page I mainly added some supplementary details to the make biography content added by Luke. I added a list of her literature to the page so users could learn more, and help meet the amazon integration requirements.
@lukeware I'm glad that you brought up the workflow for the Bio-Page! I would have also preferred to have worked from a pull request, however project structure and the time we had for our sprint made me opt for working on my own branch. I decided not to work on the bio-branch to avoid interrupting your work, and thought it would be redundant to make second bio branch for my code, so I opted to work on my Content branch to keep my work organized and unobtrusive.

@lukeware I'm glad that you brought up the workflow for the Bio-Page! I would have also preferred to have worked from a pull request, however project structure and the time we had for our sprint made me opt for working on my own branch. I decided not to work on the bio-branch to avoid interrupting your work, and thought it would be redundant to make second bio branch for my code, so I opted to work on my Content branch to keep my work organized and unobtrusive.


Data for 23th March 2020 seems wrong.

E.g.
United States
20-Mar | 10846
21-Mar | 12778
22-Mar | 15566
23-Mar | 8

Yesterday JHU changed their data feeds: https://github.com/CSSEGISandData/COVID-19/issues/1250
They still do not have the updated US numbers. We are working on the new file format and update it soon.

Fixed for today:

JHU changes are still in progress, tomorrow they will introduce new US files. We will keep changing our loads to support the new format


:art: - refactor: refactored the attributetable

Partly closes https://github.com/maykinmedia/open-archiefbeheer/issues/499

Added a compact prop to reflect the original component's behavior
Adjusted the default behavior to show divider's and display in a "less compact" way according to design

Note: current implementations of this component would require the compact prop to retain their original functionality

Can you make sure the divider is on top of all rows and also at the bottom of the last? Also can you try see if a CSS border-block-start can be used instead of the HR?

Some PR feedback, also: the UI tests show that the text labels are off-center...


enhancement Forbid analyze view

Proposed changes
Add check in AnalyzeStmt#analyze .
Problem summary
Describe your changes.
Checklist(Required)

[ ] Does it affect the original behavior
[ ] Has unit tests been added
[ ] Has document been added or modified
[ ] Does it need to update dependencies
[ ] Is this PR support rollback (If NO, please explain WHY)

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildall


Feature afoc command

implement 'afoc' command
'afoc' command generate Applicable Functional Option Pattern code.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

40 of 51 (78.43%)  changed or added relevant lines in 3 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.1%) to 77.303%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

cmd/afoc.go
31
42
73.81%

Totals

Change from base Build<PHONE_NUMBER>:
0.1%

Covered Lines:
235

Relevant Lines:
304

💛  - Coveralls

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Warning: This coverage report may be inaccurate.
This pull request's base commit is no longer the HEAD commit of its target branch. This means it includes changes from outside the original pull request, including, potentially, unrelated coverage changes.

For more information on this, see Tracking coverage changes with pull request builds.
To avoid this issue with future PRs, see these Recommended CI Configurations.
For a quick fix, rebase this PR at GitHub. Your next report should be accurate.

Details

50 of 62 (80.65%)  changed or added relevant lines in 4 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.2%) to 77.377%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

cmd/fop.go
5
6
83.33%

cmd/afop.go
30
41
73.17%

Totals

Change from base Build<PHONE_NUMBER>:
0.2%

Covered Lines:
236

Relevant Lines:
305

💛  - Coveralls


Add bounded Trie metric type to Python.

This depends on https://github.com/apache/beam/pull/33195

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

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

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

See CI.md for more information about GitHub Actions CI or the workflows README to see a list of phrases to trigger workflows.

R: @rohitsinha54

Rebased now that upstream PR has been merged.

Ping @rohitsinha54 on this PR.


Refine README example

This reverts commit fa6548ed316a3c512147a3bb4f4d6e986d738be6 (#441).
The autoClose option has been true by default since at least Node.js
v6.0.0. There is no need to set it once more.
Instead, make the example more realistic by handling stream outcomes
using a promise.
See #375.

Codecov Report

Merging #463 into master will not change coverage.
The diff coverage is n/a.

@@          Coverage Diff           @@
##           master   #463    +/-   ##
======================================
  Coverage     100%   100%
======================================
  Files           6      6
  Lines         511    617   +106
  Branches      157    204    +47
======================================
+ Hits          511    617   +106

Impacted Files
Coverage Δ

src/body.js
100% <0%> (ø)
:arrow_up:

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 5bc23d8...02ec316. Read the comment docs.

fetch('https://assets-cdn.github.com/images/modules/logos_page/Octocat.png')
.then(res => {
  const dest = fs.createWriteStream('./octocat.png');
  res.body.pipe(dest);
});

By the way, was the original code snippet wrong then? Like, it can run into situation where pipe isn't closed properly even though autoClose is default to true?


Commit 4fb26498 is the last that actually passes yarn test

Note: If your issue/bug is regarding the AWS Amplify Console service, please log it in the
Amplify Console GitHub Issue Tracker

Describe the bug
I cannot successfully run yarn test on any commit after 4fb26498c6eb266ffe11bdb276f5e91a46f1f65d
Amplify CLI Version
Usually 4.12
To Reproduce
Check out any commit made after 4fb26498c6eb266ffe11bdb276f5e91a46f1f65d, then run yarn clean && yarn production-build && yarn test. To be clear, commit 4fb26498c6eb266ffe11bdb276f5e91a46f1f65d PASSES. Commit a8cdac5aabc3bf7cc2457b1cd0d454b6e4e4bfa2 and beyond fail for me.
Expected behavior
All tests run, complete, and PASS.
Screenshots
N/A
Desktop (please complete the following information):

OS: Mac
Node Version. v12.11.1

Additional context
Add any other context about the problem here.

@kevcam4891 please make sure that you're running a git clean -fdx on your repo, since one thing changes in recent commits, we're not compiling tests anymore and it can happen that you're running stale test code from the lib folder of your enlistment.
yarn test running as part of the pre-commit/pre-push hooks that's the reason I can think of stale files. I just ran it on prod build and clean repo and the tests are passing on the latest master.
Please get back to us with the result.

@attilah Success! Thank you sir 😃


release: 1.0.0 🎉

Current coverage is 88.21% (diff: 100%)

No coverage report found for master at 0f1aa9f.

Powered by Codecov. Last update 0f1aa9f...a1afc81


temporarily stop uploading goldens

More details in: https://github.com/flutter/flutter/issues/62267

Thanks for the review! Do we need to do anything to push this new config to the bots?

Thanks for the review! Do we need to do anything to push this new config to the bots?

Propagation is pretty quick. The process is merge to github -> auto mirroring to googlesource.com -> propagation to LUCI. Once the mirroring has happened we can manually force the propagation to LUCI with https://luci-config.appspot.com/#/projects/flutter

I'm closing this PR now, since @godofredoc confirmed that uploading to buckets should not be a problem for automated runs. the failure was due to led setting buildbucket id to 0.


Update docs about glitch deployment

Fixes issue https://github.com/probot/probot/issues/420

The pleasure is all mine! :)


quoteattestation CRD has two copies which are not in sync

There are two copies of the CRDs:
config/crd
deployment/crd
The quoteattestation CRD is not in sync. The #31 updated the config/crd but not the deployment/crd directory.

This has been fixed. Now both deployment/crds and config/crd are aligned.


weather app template

Is your feature request related to a problem? Please describe.
template for a simple weather app.
Describe the solution you'd like
I want to add a template for a simple weather app.
Describe alternatives you've considered
if someone else has already added this then it is great.
Additional context
it would be helpful if my pr is accepted

@Tushar-2003 hey dude when you have created this template ?? if you had done it before 1 Oct then it might not be considered according to hacktorfest rules and regulations. pls make sure you're adding recent projects

I have added it after 1st October. It is showing in my hacktoberfest profile.


chore: v4.2.5 & changelog

Checklist

[ ] npm test passes
[ ] tests and/or benchmarks are included
[x] commit message follows commit guidelines

Description of change

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

1 of 1 (100.0%)  changed or added relevant line in 1 file are covered.
4 unchanged lines in 1 file lost coverage.
Overall coverage decreased (-0.006%) to 91.341%

Files with Coverage Reduction
New Missed Lines
%

src/chart/controller/annotation.ts
4
93.36%

Totals

Change from base Build<PHONE_NUMBER>:
-0.006%

Covered Lines:
11825

Relevant Lines:
12454

💛  - Coveralls


Add support for prometheus-openstack-exporter

https://github.com/CanonicalLtd/prometheus-openstack-exporter

Use https://github.com/att-comdev/prometheus-openstack-exporter.


Fix a false positive for Rails/RedundantActiveRecordAllMethod

Resolves https://github.com/rubocop/rubocop-rails/pull/1114#issuecomment-1722974569
This PR fixes a false positive for RedundantActiveRecordAllMethod when using find with block argument.
Enumerable#find and ActiveRecord::Base#find have different arguments, So false positives can be prevented.

Before submitting the PR make sure the following are checked:

[x] The PR relates to only one subject with a clear title and description in grammatically correct, complete sentences.
[x] Wrote good commit messages.
[ ] Commit message starts with [Fix #issue-number] (if the related issue exists).
[x] Feature branch is up-to-date with master (if not - rebase it).
[x] Squashed related commits together.
[x] Added tests.
[x] Ran bundle exec rake default. It executes all tests and runs RuboCop on its own code.
[x] Added an entry (file) to the changelog folder named {change_type}_{change_description}.md if the new code introduces user-observable changes. See changelog entry format for details.
[ ] If this is a new cop, consider making a corresponding update to the Rails Style Guide.

May I ask a question? It seems that ActiveRecord::Base#find can also take a block argument, but in the context of this cop, is it a judgement that it might be better to ignore find with a block argument?

Are there any specific use cases where false negatives are an issue?


New Architect API

For now just a proof of concept, but this branch will be reused for the final implementation.

Just force pushed the fixups into their commits. This is ready to merge pending CI.


MacOS vulkan portability support

Fixes #2796
PR checklist:

[x] make succeeds (on *nix)
[ ] make reftests succeeds
[x] tested examples with the following backends: Vulkan, Metal
[ ] rustfmt run on changed code

Users need to ensure that Vulkan loader is available and ICD paths are set up. I launched the example with the following command line:
LD_LIBRARY_PATH=<vulkan_sdk>/macOS/lib/ VK_ICD_FILENAMES=<gfx-portability>/libportability-icd/portability-macos-debug.json cargo run --bin quad --features vulkan

Note: I don't think we should rush into adding iOS support here, since the code path is aimed only to get the SDK validation output. For iOS, the only thing that would change is exposed device geometry (similar to running on a different macOS device), which can be simulated with devsim.

Also, moving forward, this code would be using the real VkPI WSI extension (instead of the MVK variant). We just need to wait for Ash to catch up (cc @MaikKlein ). See VK_ext_metal_surface.

uh, we need to have Makefile aware of the iOS/macOS and only enable Vulkan on the latter...

bors r=msiglreith


Dispose clients on host shutdown rather than listener dispose

/azp run net - servicebus - tests

API change check
API changes are not detected in this pull request.


Hang with openzwave error ‘event loop is closed’

Home Assistant release (hass --version):
0.65.5
Python release (python3 --version):
3.6.4
Component/platform:
Zwave
Description of problem:
Home assistant hangs with the following error. Cannon open frontend and automations stopped working.
Don’t exactly know what is triggering the issue.
Expected:
No issue
Problem-relevant configuration.yaml entries and steps to reproduce:
zwave:
  usb_path: /dev/ttyACM1
  device_config:
   cover.level:
     invert_openclose_buttons: true

Traceback (if applicable):
2018-03-23 06:53:59 ERROR (Dummy-9) [openzwave] Error in manager callback
Traceback (most recent call last):
  File "/srv/homeassistant/lib/python3.6/site-packages/openzwave/network.py", line 952, in zwcallback
    self._handle_value_changed(args)
  File "/srv/homeassistant/lib/python3.6/site-packages/openzwave/network.py", line 1504, in _handle_value_changed
    'value' : self.nodes[args['nodeId']].values[args['valueId']['id']]})
  File "/srv/homeassistant/lib/python3.6/site-packages/pydispatch/dispatcher.py", line 338, in send
    **named
  File "/srv/homeassistant/lib/python3.6/site-packages/pydispatch/robustapply.py", line 55, in robustApply
    return receiver(*arguments, **named)
  File "/srv/homeassistant/lib/python3.6/site-packages/homeassistant/components/zwave/node_entity.py", line 119, in network_node_changed
    self.node_changed()
  File "/srv/homeassistant/lib/python3.6/site-packages/homeassistant/components/zwave/node_entity.py", line 151, in node_changed
    self.maybe_schedule_update()
  File "/srv/homeassistant/lib/python3.6/site-packages/homeassistant/components/zwave/node_entity.py", line 54, in maybe_schedule_update
    self.hass.add_job(self._schedule_update)
  File "/srv/homeassistant/lib/python3.6/site-packages/homeassistant/core.py", line 204, in add_job
    self.loop.call_soon_threadsafe(self.async_add_job, target, *args)
  File "/usr/local/lib/python3.6/asyncio/base_events.py", line 620, in call_soon_threadsafe
    self._check_closed()
  File "/usr/local/lib/python3.6/asyncio/base_events.py", line 357, in _check_closed
    raise RuntimeError('Event loop is closed')

Additional info:

Easy fix: delete the pyozw.sqlite and zwcfg__.xml files in the local directory. It may have something to do with upgrading over multiple versions (I was coming from a version that didn't have the entity_registry.yaml built up yet.


Custom page creation

Discussed in https://github.com/aminalaee/sqladmin/discussions/236

Originally posted by masksshow July 12, 2022
Hello.
Can I add a custom page to the menu? It is not related to the model.
For example, a statistics page or a custom template.

I also looking for that, and I look a bit how to do it.
@aminalaee Do you have idea of "best way" to do that ?
Adding some parameters/method to BaseAdmin to only add it in menu the "route" can be a good start maybe ?

I have something working, but I need to look how refactoring to be clean. And remove FastAPI dependency.

Cool, feel free to create a PR for it.

I just open one to have "feedback" and talk on how to do it in clean way, because it's very ugly 😂

Thanks to @just-an-dev This is merged and will be in 0.2.0 release


Access issue to explore your Kafka data

I followed the readme to run the full stack. I log in with<EMAIL_ADDRESS>to http://localhost:8080/home/
I get the User<EMAIL_ADDRESS>does not have 'platform.licenses.read' access to 'platform:/'
when I go to explore your Kafka data. Does this solution require any license?

Hi, I think this issue is solved now, feel free to give it a try.


[Proposal] Add support for both: before and after at the same time.

We have both, but we have separately:
@include b('list') {
    @include before {
        color: black;
    }
}

and
@include b('list') {
    @include after {
        color: black;
    }
}

Can we create new mixin like this?
@include b('list') {
    @include before_after {
        color: black;
    }
}

Or usage like this would be awesome:
@include b('list') {
    @include before, after {
        color: black;
    }

 # or like this
  @include before,
  @include after {
     color:black;
  }
}

Sass have no support to use mixins separated by comma, if you want to write before and after in one mixin, you can use parse like this:
@include b('list') {
    @include parse(':before', ':after') {
        color: black;
    }
}

It's too long to write. Then make a new mixin and call it around. Or more semantic name.
What about ab? :D It's short, simple, It's brilliant.

I will make something easier ;)

For example ?

You will be able to define shortcut for several mixins at the same time

<3

When ? <3

I'm working on it now

Now you can use shortcodes ability to make progress faster ;) Also you can use p instead of parse. We have both, but to write less, you can use that short way. I'll add shortcodes usage in documentation

There you go. Check new documentation for version 2.5.0


(#9) support liquid inside markdownify content

This closes #9

Hi there!
This seems to break syntax highlighted code blocks. I get a Liquid error: undefined method 'safe' for nil:NilClass instead of the markup for every block. Can be reproduced by for example adding the following to a blog post
{% highlight ruby %}
puts 'test'
{% endhighlight %}

Unfortunately i didn't find a solution yet, do you have an idea?

Fixed by #14

Accidentally closed without merging. Will merge now, since #14 fixes the comment block problem.


Android R8 seems to alter the tag name when companion object extends KLogging()

Hello,
Thanks for this library, I'm using it :)
I have a class MainActivity with a companion object that extends KLogging():
I noticed that the tag name changes when R8 is on:
When R8 is on: io.github.getsixtyfour.openpyn.MainActivity$b
When R8 is off: io.github.getsixtyfour.openpyn.MainActivity
Browsing the code I noticed that KLoggerNameResolver is responsible for unwrapping the companion class to the enclosing class, I am however uncertain if there is a bug in the implementation or if R8 is doing something funky of which I am unfamiliar with...
Thanks

It might be so. You can try the alternative syntax of file level field if that helps.
If you can add a project that reproduces it I can try to debug the issue.

Sorry for the late reply, the issue occurs only when R8 is enabled. I have created a clean sample project that reproduces the issue in release build variant, I'm grateful if you can try to debug the issue.
https://github.com/1951FDG/MyApplicaton

@1951FDG Thanks, can you please add the steps to reproduce the issue in that repo?

@1951FDG I am still not sure what are the steps to reproduce the issue.

Sorry for the delay again

Open Android Studio
Open repo folder in Android Studio
Go to Build > Select Build Variant...
Change Active Build Variant from debug to release
Go to Run > Run 'app' (use emulator or your android phone if you have one)

The GUI of the app will show a text field, which is set to the name of the logger,
When active build is release build, the text field will show:
com.example.myapplication.MainActivity$a
When active build is debug build, the text field will show:
com.example.myapplication.MainActivity
The issue occurs in release build when R8 (shrinker in the Android build process) is on (minifyEnabled == true)

The minification process caused the companion object to have different characteristics than a usual Kotlin Companion object. Since we are using a fragile mechanism that uses reflection, it doesn't work for this case, and I am not sure it is worth allowing it as it might break other use cases.
Anyway, I suggest that you use the following configuration that should work for the release build:
companion object {
        private val logger = KotlinLogging.logger {}
}

Please let me know if that is good enough as a solution.

Thanks, this works perfectly!
Maybe include this info in the documentation for Android devs...

Added it here to the wiki.


feat: Privacy notice, Terms of Use, update Impressum, Cookies policy

Resolves https://github.com/safe-global/safe-homepage/issues/205

[x] Privacy Notice
[x] Terms of Use
[x] Update Impressum
[x] Cookie page

Screenshots

expanding section

Revert changes made to .github/workflows/deploy.yml before merging into main


Exclude project root tasks from task counts

I love your Statistics plug-in which I use regularly. I made the following small change for my own use.

Current: The task counts include the number of projects, because each project has a corresponding ‘root’ task.
Change: I think it is clearer to include only actions and action groups in the task count. This avoids double-counting project items in the overall breakdown count. This is how OmniFocus does it when showing the number of actions at the top of the Projects perspective.

Yes, I see what you are saying. I will look into it. Since my function is general, I would prefer deriving a unique list of objects based on its id.primaryKey object. Whenever a Task object id.primaryKey property is equal to its containingProject.id.primaryKey property, the object is excluded from the final count. I'll look into that later.

I added a function isRootTask to address this issue. Could you test, please ?

Thanks for taking to time to update this. I found two problems in the latest commit.

isRootTask raises an error with an Inbox task, because OF’s task.containingProject returns null on an Inbox task. I got it to work to continue testing by reverting to the other method:

const isRootTask = (task) => Boolean(task.project)

Only tasks are counted (not folders, etc) because of the filtering logic statement. I suggest:
filter(o => !(o.constructor.name === 'Task' && isRootTask(o))

Yes, that is fine. I'll merge.

Thank you for raising this issue.


Joomla errors!

Jodit Version:  3.0.66
Code
// A *self-contained* demonstration of the problem follows...

Expected behavior:
Actual behavior:
Privet Valeriy!
Your extension looks awesome and very promising, but unfortunately does not work properly in Joomla! The package (downloaded from extensions.joomla.org) installed successfully under the newest Joomla 3.8.7 but when I try upload image, "Internal server error" is displayed. Also error occurs during the Configuration process. After removing any of the buttons, the Toolbar completly disappear, and need to use the "Restore default" button to recover it.
The next error I found in the Components menu, when the "Jodit editor" submenu don't work, the page is empty.
My last question about the languages. How can I add another language file to the Joedit?
Under the 'media\com_jodit\js\jodit-play\node_modules\jodit\src\langs' I found some language-files, try to add another, but this is not enough!
Can You help me solve it?
I see that Joedit - without these problems - will be by far the best editor for Joomla CMS!!!

Hi. Please download latest version here https://github.com/jodit/jodit-joomla/releases
Added restore defaults button

Dear Valeriy!
Thanks for the restore defaults button, but THE PROBLEM IS NOT THAT!
Unfortunately, Your Jodit package COMPLETLY doesn't work properly with Joomla's latest version. (maybe not only the latest version affected)

Image and attachment upload don't work due to an INTERNAL SERVER ERROR!
In the global component configuration site no way to remove unnecessary icons!
(it seems as though it might be, but after saving the full toolbar will disappear!)

It is very unlikely that the error is unique, and and happens only to me, because I made the fresh joomla install on two different servers, and the result was the same!
Sorry, but the Jodit in this moment not suitable for work (in joomla)!
Please check the problem, and fix it quickly!
Thanks in advance!

Can you give me access in your Joomla admin panel for test?

I have sent the access data by email (skoder¤ya.ru)

Thank you. Fixed


 The index.html file that is being emitted is not interpolating the underscores template {% %} markup, so the result looks like this:
{% if (o.htmlWebpackPlugin.files.favicon) { %} {% } %} {% if (o.htmlWebpackPlugin.options.mobile) { %} {% } %} {% for (var css in o.htmlWebpackPlugin.files.css) { %} {% } %} {% if (o.htmlWebpackPlugin.options.unsupportedBrowser) { %} {% } %} {% if (o.htmlWebpackPlugin.options.appMountId) { %}
{% } %} {% if (o.htmlWebpackPlugin.options.appMountIds && o.htmlWebpackPlugin.options.appMountIds.length > 0) { %} {% for (var index in o.htmlWebpackPlugin.options.appMountIds) { %}
{% } %} {% } %} {% if (o.htmlWebpackPlugin.options.window) { %} {% } %} {% for (var chunk in o.htmlWebpackPlugin.files.chunks) { %} {% } %} {% if (o.htmlWebpackPlugin.options.devServer) { %} {% } %} {% if (o.htmlWebpackPlugin.options.googleAnalytics) { %} {% } %}

Here's the relevant section of my webpack.config.js:
plugins: [
        // Auto-generate HTML index.html file
        new HtmlWebpackPlugin({
            template: path.resolve('node_modules/html-webpack-template/index.html'),
            title : APP_TITLE,
            mobile : true,
            appMountId : "main",
            showErrors : true
        })
    ]

If I comment out the html-webpack-template properties (template, mobile, appMountId) I get the default webpack-html-plugin index.html and all is lovely.
The only other thing that could be off here is that at this point my entry point is an empty js file, but I don't see what that might change anything. Oh, and here's the compilation output:
webpack --progress --colours
Hash: 1985222cbfc9235e1482
Version: webpack 1.12.11
Time: 1433ms
     Asset     Size  Chunks             Chunk Names
 bundle.js   1.4 kB       0  [emitted]  main
index.html  3.53 kB          [emitted]
    + 1 hidden modules
Child html-webpack-plugin for "index.html":
        + 3 hidden modules

I'm experiencing the same error.
	plugins: [
		new HtmlwebpackPlugin({
			template: 'node_modules/html-webpack-template/index.html',
			title: 'Kanban App',
			appMountId: 'app'
		})
	]

and seeing
{% if (o.htmlWebpackPlugin.files.favicon) { %} {% } %} {% if (o.htmlWebpackPlugin.options.mobile) { %} {% } %} {% for (var css in o.htmlWebpackPlugin.files.css) { %} {% } %} {% if (o.htmlWebpackPlugin.options.unsupportedBrowser) { %} {% } %} {% if (o.htmlWebpackPlugin.options.appMountId) { %}
{% } %} {% if (o.htmlWebpackPlugin.options.appMountIds && o.htmlWebpackPlugin.options.appMountIds.length > 0) { %} {% for (var index in o.htmlWebpackPlugin.options.appMountIds) { %}
{% } %} {% } %} {% if (o.htmlWebpackPlugin.options.window) { %} {% } %} {% for (var chunk in o.htmlWebpackPlugin.files.chunks) { %} {% } %} {% if (o.htmlWebpackPlugin.options.devServer) { %} {% } %} {% if (o.htmlWebpackPlugin.options.googleAnalytics) { %} {% } %}

@TomAuger  HEY!  I just solved it.  If you are using version 2.x of html-webpack-plugin, you need to use version 3.x of html-webpack-template.  I think version 3 is marked as beta so it won't install by default.  You have to do the following.
npm i -D html-webpack-template@3

Just pushed v3 of the template to the latest channel.  You should be able to npm i -D html-webpack-template normally again.  Thanks!

Thanks @mrbinky3000 appreciate the tip!
@jaketrent I'm pretty new to npm, but it appears that running just npm i -D html-webpack-template without the @3 doesn't yet pull the right version (at least, not if you had 2.5.2 installed previously).
Thanks for the great template!

jaketrent ~/dev/test-temp  $ npm info html-webpack-template

{ name: 'html-webpack-template',
  description: 'A template with more features than the default html-webpack-plugin template',
  'dist-tags': { latest: '4.0.0', beta: '3.0.2' },
...

jaketrent ~/dev/test-temp  $ npm -v
3.3.12

jaketrent ~/dev/test-temp  $ npm i html-webpack-template
/Users/jaketrent/dev/test-temp
├── UNMET PEER DEPENDENCY<EMAIL_ADDRESS>└──<EMAIL_ADDRESS>
npm WARN ENOENT ENOENT: no such file or directory, open '/Users/jaketrent/dev/test-temp/package.json'
npm WARN EPEERINVALID<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none was installed.
npm WARN EPACKAGEJSON test-temp No description
npm WARN EPACKAGEJSON test-temp No repository field.
npm WARN EPACKAGEJSON test-temp No README data
npm WARN EPACKAGEJSON test-temp No license field.

jaketrent ~/dev/test-temp  $ more node_modules/html-webpack-template/package.json
{
  "_args": [
    [
      "html-webpack-template",
      "/Users/jaketrent/dev/test-temp"
    ]
  ],
  "_from": "html-webpack-template@*",
  "_id"<EMAIL_ADDRESS>...

There must something else going on for you @TomAuger .  I'm not sure what it is.  See above for my test.  In my test, the lastest version, 4.0.0 was installed when running npm i html-webpack-template.  Did another test to pre-install html-webpack-template@2, then npm i html-webpack-template on top of that, and it still installed 4.0.0.  Please try again.


Target dotnetcore3.1

Target dotnetcore 3.1 since it's LTS version.
And it will be better if it supports Nullable Reference.

Other than LTS designation, is there a reason to upgrade?
Also, this library supports nullable reference types already :)  https://github.com/natemcmaster/DotNetCorePlugins/blob/e5d74ec3f35c70dc2618f6d38615de356485ccdd/Directory.Build.props#L22

No other reason for me.
I just upgraded all my projects from dotnetcore 3.0 -> 3.1.
I think all dotnetcore 3.0 projects should upgrade to 3.1.
3.0 is more like a beta/RC.

Ok, thanks for clarifying.
I'm planning to leave this library targeting netcoreapp3.0 and netcoreapp2.0 until there is a need for a higher target framework version. (For example, earlier versions of this library only had netcoreapp2.0, but I added 3.0 to support unloadability and hot reload.) It's my opinion that libraries should use the lowest target framework possible. This maximizes the number of end users who can consume this library without forcing them to upgrade to a new version of .NET Core.
If you find a reason, other than the LTS designation, that the upgrade is needed, let me know.

make sence.


[bug]: new logic for root directory detection may behave unpredictably on manual install

Is there an existing issue for this?

[X] I have searched the existing issues

OS
Linux
GPU
cuda
VRAM
No response
What happened?
Reported by some users in Discord; @keturn could you please confirm this is similar to what you're seeing?
When the virtual environment is not inside the runtime dir (likely on a development setup or manual install), and the runtime dir is not explicitly specified using one of the two supported methods, the program will assume in the parent directory of the .venv is the runtime dir. It then fails to find expected files, and drops into emergency_model_reconfigure. But that, having found the VIRTUAL_ENV directory, will try to set up the runtime dir in the parent of that directory, which is entirely unexpected and makes a mess....
Right now the order of precedence for rootdir location is:

--root CLI flag
INVOKEAI_ROOT
VIRTUAL_ENV/.. << this is where the problem happens
~/invokeai

We can advise users to always specify --root or INVOKEAI_ROOT paths as a workaround. This is not great UX though.
As a solution (sorta) we could check if the parent of the .venv "looks like" the runtime dir, because it would have been set up that way by the installer (which is the case this check is trying to accommodate).  We can accomplish this with the usual checks for invokeai.init, etc., and: 1) bail out if the checks fail, 2) display a message asking to explicitly set the location using one of the supported methods, because we have no way of determining it automatically. This could use future improvement, but at least avoids the messy .venv/.. situation) for now.
Screenshots
No response
Additional context
No response
Contact Details
No response

I agree, I just had difficulty reinstalling InvokeAI because of this exact reason. This isn't good UX at all.

It was previously possible to set up root in ~/.invokeai file, now it shows to move this file to ~/invokeai/invokeai.init, but the --root argument in this file is completely ignored, updating configuration format/location so often is horrible UX.

can someone explain this to me like im dumb


[Bug]: Severe FPS drops when using the mod

Describe the Bug
FPS about halves whenever the F3 menu is open with BetterF3.
Steps to Reproduce
Press F3.
Expected Behavior
No FPS drops.
Screenshots
The first frame after opening the F3 menu using BetterF3:

In the next FPS update, it drops to 70-ish FPS, but I couldn't get a screenshot of that.
About a second later (note the FPS drop):

Modloader Type
Fabric
Modloader Version
0.15.11
Mod Version
10.0.1
Log Output
No response
Additional Context
Maybe related to #78 — but the MC and mod versions are different.

im working on a modpack and doing some performace testing and 1300 → 700 is my FPS before and after opening f3 with this mod lol


Fixed #551 - Field settings were not updated

Fixes #551. Field settings were not updated if the new value was null or empty string.
Fixed by changing JsonMergeSettings.MergeNullValueHandling to MergeNullValueHandling.Merge in content definition builders.

Even with this fix, the model is not well retrieved but it is at this line, not during the merge:
await context.Updater.TryUpdateModelAsync(model, Prefix);
In NumericFieldSettings.Edit.cshtml, if I replace the select for the Editor:
<select asp-for="Editor" class="form-control">
            @foreach (var editorShape in editorShapes)
            {
                dynamic shape = Factory.Create(editorShape);
                shape.Editor = Model.Editor;
                @await DisplayAsync(shape)
            }
        </select>

by this code:
        <input asp-for="Editor" type="text" class="form-control" />
It works.

@agriffard it is another bug unrelated to the #511. I have created separate PR  #656 that fixes the model binding issue.


Warp and Logging and Application Transformer Demo

@Zachaccino @nzhang-zh can you help flesh this out?

I've cleaned this up and now have 2 executables produced from a nix-build ./release.nix --attr application.
This demonstrates how to use Warp with monad-logger and safe-exceptions and the ReaderT application transformer pattern, and also the usage of data-default-class.
The way I get the env variables applied to the default parameters is a bit bulky, I think there's a better way to do it.
I want to mention that I realized that warp uses IO at the end instead of MonadIO. Which sort of means that once you go into the warp context, you can't really use the same logging context as the others. Instead we end up "unwrapping" the logging immediately in IO. And this sort of makes sense in that the handling of a request happens in IO anyway, and at that point the logging code would have to be executed and directed to a particular exit point. This is currently hardcoded as runStderrLoggingT. It may be possible to put this function as part of the DemoEnv, so that way the ReaderT itself dictates where this will be, and then we would "ask" for the function and inject it into our warpApp.
@ksenia-portu @nzhang-zh @Zachaccino please review this code.
I'm merging this.

Oh and cabal v2-repl is pretty useful. Make sure to use :m *Demo to get into the module context instead of :m +Demo which just "imports" the module.

References:

https://www.reddit.com/r/haskellquestions/comments/33c6bu/what_is_monadreader_for_when_we_have_readert_and/
https://thoughtbot.com/blog/refactoring-to-a-monad-transformer-stack
https://github.com/Holmusk/three-layer


Embedded git repositories vs submodules

Why is plugin usage via git not using submodules? I then get this warning when updating my config code I use to maintain all my settings:
warning: adding embedded git repository: configuration/dotfiles/vim/plugged/nerdtree
hint: You've added another git repository inside your current repository.
hint: Clones of the outer repository will not contain the contents of
hint: the embedded repository and will not know how to obtain it.
hint: If you meant to add a submodule, use:
hint:
hint:   git submodule add <url> configuration/dotfiles/vim/plugged/nerdtree
hint:
hint: If you added this path by mistake, you can remove it from the
hint: index with:
hint:
hint:   git rm --cached configuration/dotfiles/vim/plugged/nerdtree
hint:
hint: See "git help submodule" for more information.

Can this plugin manager be made to use proper submodules to update code?

VIM - Vi IMproved 8.2 (2019 Dec 12, compiled Jul 22 2022 12:30:21)
Included patches: 1-4014
Compiled by<EMAIL_ADDRESS>Huge version with X11-Athena GUI.  Features included (+) or not (-):
+acl               +cindent           +cursorshape       +file_in_path      +job               +menu              +mouse_urxvt       +popupwin          +signs             -tag_any_white     +user_commands     +windows
+arabic            +clientserver      +dialog_con_gui    +find_in_path      +jumplist          +mksession         +mouse_xterm       +postscript        +smartindent       -tcl               +vartabs           +writebackup
+autocmd           +clipboard         +diff              +float             +keymap            +modify_fname      +multi_byte        +printer           -sodium            +termguicolors     +vertsplit         +X11
+autochdir         +cmdline_compl     +digraphs          +folding           +lambda            +mouse             +multi_lang        +profile           -sound             +terminal          +vim9script        +xfontset
-autoservername    +cmdline_hist      -dnd               -footer            +langmap           +mouseshape        -mzscheme          -python            +spell             +terminfo          +viminfo           +xim
+balloon_eval      +cmdline_info      -ebcdic            +fork()            +libcall           +mouse_dec         +netbeans_intg     +python3           +startuptime       +termresponse      +virtualedit       +xpm
+balloon_eval_term +comments          +emacs_tags        +gettext           +linebreak         +mouse_gpm         +num64             +quickfix          +statusline        +textobjects       +visual            +xsmp_interact
+browse            +conceal           +eval              -hangul_input      +lispindent        -mouse_jsbterm     +packages          +reltime           -sun_workshop      +textprop          +visualextra       +xterm_clipboard
++builtin_terms    +cryptv            +ex_extra          +iconv             +listcmds          +mouse_netterm     +path_extra        +rightleft         +syntax            +timers            +vreplace          -xterm_save
+byte_offset       +cscope            +extra_search      +insert_expand     +localmap          +mouse_sgr         +perl              -ruby              +tag_binary        +title             +wildignore
+channel           +cursorbind        -farsi             +ipv6              +lua               -mouse_sysmouse    +persistent_undo   +scrollbind        -tag_old_static    +toolbar           +wildmenu
   system vimrc file: "$VIM/vimrc"
     user vimrc file: "$HOME/.vimrc"
 2nd user vimrc file: "~/.vim/vimrc"
      user exrc file: "$HOME/.exrc"
  system gvimrc file: "$VIM/gvimrc"
    user gvimrc file: "$HOME/.gvimrc"
2nd user gvimrc file: "~/.vim/gvimrc"
       defaults file: "$VIMRUNTIME/defaults.vim"
    system menu file: "$VIMRUNTIME/menu.vim"

Type:

[ ] Bug
[ ] Enhancement
[ ] Feature Request
[x] Question

OS:

[ ] All/Other
[x] Linux
[ ] OS X
[ ] Windows

Vim:

[x] Terminal Vim
[ ] GVim
[ ] Neovim

Can this plugin manager be made to use proper submodules to update code?

No. This plugin manager was designed not to use git submodules. I recommend that you use the default plugged directory by not specifying one. i.e. call plug#begin()


Workspace interpreter environment conflicts with extension dependencies

Having a package installed in a workspace interpreter's environment that conflicts with the extension's own dependencies can cause the server to crash.
Minimal reproducible example
Tested on Python 3.10.12, Mypy Type Checker extension v2023.2.0, VS Code 1.82.3, Ubuntu 22.04.

Open an empty folder in VS Code.
Create a new Python virtual environment. python -m venv .venv; source .venv/bin/activate
Make sure that virtual environment is selected as the workspace interpreter.
pip install attrs==20.1.0
Open a blank Python file, optionally restart Mypy server.

Result
2023-10-02 16:29:34.692 [info] Traceback (most recent call last):
  File "/home/peter/.vscode/extensions/ms-python.mypy-type-checker-2023.2.0/bundled/tool/lsp_server.py", line 44, in <module>
    import lsprotocol.types as lsp
  File "/home/peter/.vscode/extensions/ms-python.mypy-type-checker-2023.2.0/bundled/libs/lsprotocol/types.py", line 14, in <module>

2023-10-02 16:29:34.692 [info]     import attrs
  File "/home/peter/.vscode/extensions/ms-python.mypy-type-checker-2023.2.0/bundled/libs/attrs/__init__.py", line 3, in <module>
    from attr import (
ImportError: cannot import name 'AttrsInstance' from 'attr' (/tmp/mypy-bug/.venv/lib/python3.10/site-packages/attr/__init__.py)

Expected result
The extension should not import packages from the workspace environment and should instead only use its own bundled dependencies.
I just happened to notice this occurs with old versions of the attrs package, where the older version doesn't have the AttrsInstance import that the bundled version depends on. May be related to the lsprotocol package but I'm not sure how the dependency bundling works in this extension.

@pwschaedler If you set the mypy-type-checker.importStrategy to useBundled it will only use packages shipped with the extension.

@karthiknadig Mypy itself doesn't have the attrs dependency, though, it's the extension. Is there a way to enforce using the environment's mypy, but always use the extension dependencies bundled? E.g. if I have a CI/CD environment where I use mypy==1.0.0 but also have attrs==20.1.0, I would expect the extension to honor my mypy version but also still work.

Is there a way to enforce using the environment's mypy, but always use the extension dependencies bundled?

Yes. Set mypy-type-checker.importStrategy to useBundled, then set mypy-type-checker.path to ${workspaceFolder}/.venv/bin/mypy.
There is a bug right now due to which you need to add ${workspaceFolder}/.venv/bin/mypy. I am working on a fix that will allow you to just say mypy-type-checker.path to mypy, in an activated environment.

Good to know, thank you!


[Feature-3630][server,ui] Fake Run Task

What is the purpose of the pull request

implement #3630

Brief change log

Add a new enum value "FAKERUN" of TaskNode.runFlag
Add a new type FakeRunTask as worker task
Update ConditionsTaskExecThread DependentTaskExecThread SubProcessTaskExecThread
Update DAG web page and add i18n config for string "Fake run".

Verify this pull request
This change added tests and can be verified as follows:

Added org.apache.dolphinscheduler.server.master.runner.FakeRunTaskTest
Added org.apache.dolphinscheduler.server.worker.task.FakeRunTaskTest
Tested locally.

Is there any design doc about fake run feature?

Is there any design doc about fake run feature?

See #3630 for the description. I just detailed it.

Please add the description doc or screenshot about how to use this feature.

Please add the description doc or screenshot about how to use this feature.

See replies on #3630 for the web UI of the fake run feature (configuration and one process instance preview).

Sonarcloud failed to detect the latest change, close and redo later.


Change label for LUIS version to avoid ambiguity

With the label "Version" developers might expect this to be the LUIS api version, as that information is required when doing API calls.

Pull Request Test Coverage Report for Build 113

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 43.762%

Totals

Change from base Build 104:
0.0%

Covered Lines:
2611

Relevant Lines:
4931

💛  - Coveralls

Thank you for the contribution!
I have discussed this change with our designer who would like to maintain the labels as-is at this time so we best align with the luis.ai portal's naming. This is a great suggestion for future work should we revisit the input labeling in this form.

@n01d we have plans to include in-app callouts and help tips (#536) which I think this issue would be a perfect use case for. This would allow us to place a small question mark icon next to the LUIS version label that when hovered over / clicked could display more detailed information about what version we are asking for.


replace not implemented error with a warning.

This is no longer an issue because extend, pop ect were all added to the PerfectZeolite class to ensure compatibility.


No signature constructor using wallet connect

Please help, how can we generate signature using wallet connection (Connect wallet mobile)?
For @terra-money/wallet-provider library, signature generation in extension is supported but wallet connection is not supported.

@duyxuannguyen sign() and signBytes() are provided only by extension. walletconnect does not provide that functions.
walletconnect passes through multiple servers in the middle, so it only provides post(), a one-way request for security reasons.

@iamssen my business needs to generate signature before calling post. Is there a way for me to create a signature first? Or the post function for walletconnect will create a signature


Matches predicate doesn't not work with reges Path

Expected behaviour
Request to the some path with regex should return a response
Actual behaviour
Request to the some path with regex does not return a appropriate response
Steps to reproduce

Create mock
 {    "predicates": [      {        "matches": {          "method": "get",          "path": "^/user/27117fc8-15ab-49c0-922d-d501c721596c.+$"        }      }    ],    "responses": [      {        "is": {          "statusCode": 200,          "body": [            {              "SessionId": "b0c7d7e7-ae60-45a7-9524-39fa1b3b6c5d",              "UserId": "27117fc8-15ab-49c0-922d-d501c721596c",              "TrackingId": "d0e444da-c052-4217-aa37-55757a60f724",              "AuthenticationType": 1,              "Started": "2017-06-30T02:00:08.3308082+03:00",              "Closed": "2017-06-30T03:00:08.3308082+03:00",              "IpAddress": null,              "UserAgent": null,              "Version": 1            }          ]        }      }    ]  },

Perform request to
Request starting HTTP/1.1 GET http://mockedservice:5000/user/27117fc8-15ab-49c0-922d-d501c721596c?begin=2017-06-27T13:12:36.9677111Z&end=2017-07-04T13:12:36.9677111Z&limit=50

Matches predicate is not found

Software versions used
OS : Win10
mountebank : 1.11

Log contents in mb.log when running mb --loglevel debug

Log contents here

Hi there,
Thanks for providing the necessary information to troubleshoot. The problem is the ".+" near the end of your regex, which is a regex way of describing one or more characters. Your actual request ends in 596c, but the matches predicate requires a path ending in 596c and at least one more character. Removing the .+ should do the trick.