rnn training example?

is there going to be a rnn training example? say how to allocate the workspace shared between rnn forward and rnn backward?

Workspace allocation and sharing between forward and backward passes are common for the entire MKL-DNN API. The typical steps are:

create forward primitive descriptor (note that prop_kind should be equal to forward_training)
query this primitive descriptor for workspace memory primitive descriptor
if that workspace_pd is not NULL, query its size via  mkldnn_memory_primitive_desc_get_size()
allocate enough memory for the workspace, create workspace memory and set handle to allocated memory
pass workspace as one of the outputs for forward primitive
on backward pass put the same workspace as one of the inputs

The corresponding places can be found:

C example: lines 436 .. 450
C++ example: lines 215 .. 220

HI @mingfeima,
GRU is something we are currently working on. Do you have any comments in what particular implementation you are interested in?
Alas, dropout is not supported. Could you please elaborate on where is it used? Or the ask is more about compatibility?

@emfomenk i am working on PyTorch in which GRU is implemented in the following way, should be identical to cuDNN version. I wasn't aware of other implementations so i can't make compare.
    gi = F.linear(input, w_ih, b_ih)
    gh = F.linear(hidden, w_hh, b_hh)
    i_r, i_i, i_n = gi.chunk(3, 1)
    h_r, h_i, h_n = gh.chunk(3, 1)

    resetgate = F.sigmoid(i_r + h_r)
    inputgate = F.sigmoid(i_i + h_i)
    newgate = F.tanh(i_n + resetgate * h_n)
    hy = newgate + inputgate * (hidden - newgate)

And yes, it's more about compatibility at the moment from my side.

I've just started implementing GRU in my own deep learning framework and did a comprehensive overview of all the implementations in the Wild here, including a reference to the heavy optimizations proposed by Baidu Research.
Here are the equations I've found:

◦ is element-wise multiplication
* is tensor multiplication
Tensorflowr = sigmoid(W_{ir} * x + b_{ir} + W_{hr} * h + b_{hr})
z = sigmoid(W_{iz} * x + b_{iz} + W_{hz} * h + b_{hz})
n = tanh(W_{in} * x + b_{in} +  W_{hn} * (r ◦ h) + b_{hn}))
h' = (1 - z) ◦ n + z ◦ h

PyTorch equationsr = sigmoid(W_{ir} * x + b_{ir} + W_{hr} * h + b_{hr})
z = sigmoid(W_{iz} * x + b_{iz} + W_{hz} * h + b_{hz})
n = tanh(W_{in} * x + b_{in} + r ◦ (W_{hn} * h + b_{hn}))
h' = (1 - z) ◦ n + z ◦ h

Note that in the paper equations are:r = sigmoid(W_{ir} * x + b_{ir} + W_{hr} * h + b_{hr})
z = sigmoid(W_{iz} * x + b_{iz} + W_{hz} * h + b_{hz})
n = tanh(W_{in} * x + b_{in} +  W_{hn} * (r ◦ h) + b_{hn}))
h' = (1 - z) ◦ h + z ◦ n

And CuDNNit = σ(Wi * xt + Ri * ht-1 + bWi + bRu)
rt = σ(Wr * xt + Rr * ht-1 + bWr + bRr)
h't = tanh(Wh * xt + rt ◦ (Rh * ht-1 + bRh) + bWh)
ht = (1 - it)◦h't + it◦ht-1

Note that PyTorch/CuDNN have the same equations which allows reusing weights. Reusing weights between CPU and GPU is a pain point in Keras at the moment:

Keras: weights on GPU cannot be reused on CPU and solutions (i.e. redoing a CPU layer):

LSTM
GRU

My own implementation in Nim outputs the same result as PyTorch but limits the number of temporary allocations by reusing buffers and leveraging loopfusion (sigmoid(a+b) or tanh(x + y ◦ z) in single pass.
proc gru_cell_forward*[T: SomeReal](input, hidden,
                                    w_input, w_recur,
                                    b_input, b_recur: Tensor[T],
                                    result: var Tensor[T]) =
  let
    H = hidden.shape[1]
    # Slices
    sr = (0 ..< H)|1
    sz = (H ..< 2*H)|1
    srz = (0 ..< 2*H)|1
    sn = (2*H ..< 3*H)|1

  var Wx, Rh: Tensor[T] # TODO, pass those as parameter to allow buffer reuse
  # Resulting shape [batch_size, 3*H]
  linear(input, w_input, b_input, Wx)
  linear(hidden, w_recur, b_recur, Rh)

  # To reduce allocations, we compute reset gate r
  # and update gate z in the previous buffers
  # We keep them concatenated to improve throughput
  var reset_update = Wx[_, srz] # shape [batch_size, 2*H]
  apply2_inline(reset_update, Rh[_, srz]):
    sigmoid(x + y)

  # We also reuse the previous buffer for the candidate hidden state n
  # shape [H, batch_size]
  var n = Wx[_, sn] # shape [batch_size, H]
  apply3_inline(n, reset_update[_, sr], Rh[_, sn]):
    tanh(x + y * z)

  # Compute the next hidden state
  result = map3_inline(Wx[_, sz], n, hidden):
    (1 - x) * y + x * z

@mratsim, thanks for sharing your findings and insights on the weight reuse problem. @igorsafo, @irinasok is this consistent with the picture we have on GRU flavors?

Hi @mingfeima, @mratsim

Initial GRU support is added in 0282e6b26fae3be47aad6996a611cbcf99b29949. Let us know what you think.

@vpirogov as long as cuDNN flavor of GRU is provided, i am fine with current interface.
@emfomenk got a few questions when integrating MKLDNN RNN into pytorch.

how MKLDNN differs bias_ih and bias_hh? and also grad_bias_ih and grad_bias_hh? In the simple_rnn example, there is only one bias described by mkldnn::memory::format::ldgo
which is the memory::format for hx, cx, hy, cy,the following is pytorch shape
hx - hidden state input, shape (num_layers * num_directions, batch, hidden_size)
cx - cell state input, shape (num_layers * num_directions, batch, hidden_size)
hy - hidden state output, shape (num_layers * num_directions, batch, hidden_size)
cy - cell state output, shape (num_layers * num_directions, batch, hidden_size)
is it mkldnn_ldsnc? if so, num_states refers to hx and cx for LSTM, hx for GRU?
then i need to cancat hx and cx into a 5D tensor along num_states?
Do you implement layer fusion? basically i need to know if there is performance penalty in case i break a multi-layer RNN primitive into separate layer primitives.
Do you have packed_sequence input at the moment? Right now i am unpacking the packed input myself and shipping input to MKLDNN in TNC format.

@mgouicem thanks for the update!

So for the backward path, i should give (bias_ih + bias_hh)/2 to both bias_ih and bias_hh? i suppose mathematically, this should not cause any trouble.
Naively, hx and cx should be concat once for forward and once for backward. Anyway, i guess i can do the same trick here as i did on the layer weight tensors.
have you got any code example or documentation for the usage of view in packed sequences? So from the performance perspective, it should be beneficial to treat unpacked sequences in the same manner with packed ones?

@mgouicem We are trying to integrate MKLDNN rnn into mxnet for testing, is it possible to provide a sample like one layer unidirect lstm forward/backward with des/memory creation of input and output like hx/cx/x, wx/wh/bx/bh, y/hy etc?

I am trying to test one layer lstm unidirect forward. https://github.com/lihaofd/incubator-mxnet/blob/mkldnn-rnn/src/operator/nn/mkldnn/mkldnn_rnn_impl.h
void MKLDNNLstmForwardInferenceSingleLayer()
Many of codes are based on guessing. So far the result of y/hy can't match with cudnn's result when using same input.

Is there any code incorrect related to input: x, wx/wh/bx/bh and output: y/hy?
2, how to deal with input like hx, cx?
how to deal with output like cy?

Thanks!

@mingfeima

Mathematically, the sum on forward translates to a copy on bwd. So if bias = bias_hh + bias ih then grad_bias_hh = grad_bias and grad_bias_ih = bias_ih
Ok, good to know. Out of curiosity, what is the trick you use to avoid the concat? :-)
We will make a full and comprehensive example available to showcase the unpacked sequence handling. In the case of the packet sequence, all MKL-DNN memories are "dense", so for src_layer and dst_layer, you will have to create a memory per chunk, and set the data handle appropriately. For src_iter / dst_iter, you can use view to pass them from chunk to chunk, or to only update the appropriate part of dst_iter.
From a performance point of view, it should not matter whether you use packed or unpacked sequences. Just use whatever you have to avoid copies, and that is semantically equivalent to the framework op.
This is an example where we use a view on a memory to avoid spurious copies. There is no obligation to do this of course, you can use separate memories for src_iter and dst_iter. In the context of this GNMT decoder, it will just introduce spurious copies.

@lihaofd we have an example that showcases forward inference in examples/simple_rnn.cpp. We will make a simple training example available too.

@mgouicem, I collected code from examples/simple_rnn.cpp to create MKLDNNLstmForwardInferenceSingleLayer, it still doesn't match the cudnn result in just one layer forward...
Any suggestions on it? thanks

@lihaofd just gave a quick look. It seems that you are using a wrong layout for weights (lines 90 - 96).
In your code, weights_layer is of shape ldigo -- (1, 1, I, 4, H) in your notation-- and weights_iter is of shape ldigo too -- (1, 1, H, 4, H) with your notations. So according to line 46, you either need to reorder your weights, or use ldgoi if your weights already have the right format.
Also note that we expect a certain order for the gate weights. Using the formulas in MXNet documentation , here are the correspondance with MKL-DNN :

we have only one bias, so we take the sum of the biases for each gate
gate0 is the f gate
gate1 is the i gate
gate2 is the o gate
gate3 is the g gate

@lihaofd
Some more answers:

Is there any code incorrect related to input: x, wx/wh/bx/bh and output: y/hy?

Could you please clarify the question?

how to deal with input like hx, cx?

hx and cx map to src_iter. Because we use one tensor to group the two (with ldsnc layout), you have to concatenate them w.r.t the s dimension of the ldsnc layout.

how to deal with output like cy?

hy and cy map to dst_iter. By the same argument as 2., you will have to split dst_iter on the s dimension to produce hy and cy.

@mgouicem  thank you very much for your help!
Is there any code incorrect related to input: x, wx/wh/bx/bh and output: y/hy?
Could you please clarify the question?
My question is I doubt there is some code incorrect when I transfer the input/output data and weight into mkldnn desc/memory etc. It seems like there has issue relate to my weight's layout and gate order.
I am fixing my code and will get back to you later. thanks again.

@mgouicem after fixing the code, the testing shows unidirect LSTM inference can match the cudnn result.
But when I trying mulitiple layers bidirect LSTM inference, it goes to crash (single layer bidirect inference can work)
https://github.com/lihaofd/incubator-mxnet/blob/mkldnn-rnn/src/operator/nn/mkldnn/mkldnn_rnn_impl.h
The code crashed on line 439 to 444.
I am testing L = 3 layers bidirect (bidirectional_concat) LSTM, the layer 2 and 3 have same inputsize and hidden size, so I put these 2 layers together into rnn_forward::desc layer_desc on Line 439 rnn_forward::desc layer_desc
T: Timestep, N: Batchsize, I: Inputsize, H: Hidden size, D =2 (bidirectional_concat)
memory::dims src_layer_tz = {T, N, I};
memory::dims weights_layer_tz = {L - 1, D, I, 4, H};  //  ldigo
memory::dims weights_iter_tz = {L - 1, D, H, 4, H};  //  ldigo
memory::dims bias_tz = {L - 1, D, 4, H};   //ldgo
memory::dims dst_layer_tz = {T, N, D * H};   //tnc
memory::dims src_iter_tz = {L - 1, D, 2, N, H};  //  ldsnc
memory::dims dst_iter_tz = {L - 1, D, 2, N, H};  //  ldsnc
While it failed on line 443 - 444.
could you help to check if there is anything wrong in layout or anything else?
Thanks!

@lihaofd could you send the specific error you are getting?
From the code, I can see a problem (do not know if it is related to the error you are seeing though).
If you have I=H, D=2 and L>2, you will run the first layer as bidirectional and memory::dims dst_layer_tz_0 = {T, N, D * H};. However, this will be the input of the next layer, but for the next layer you have memory::dims src_layer_tz = {T, N, I}; and these do not match.
My recommendation would be to not split the layers and fuse them all if possible.
If not possible, you will have to separately run the left2right and right2left passes, and concatenate their result (and if you want to optimize, you can avoid this concatenation with views on the same memory)

@mgouicem , the first layer input is (T, N, I), output is (T, N, D * H), from second layer "I" has been set as  I= D * H in line 275, so the input memory::dims src_layer_tz = {T, N, I} is = (T, N, D * H)
The failed error on  auto prim_desc
= mkldnn::rnn_forward::primitive_desc(layer_desc, cpu_engine); it shows
terminate called after throwing an instance of 'dmlc::Error'
what():  [06:38:13] src/engine/./threaded_engine.h:379: std::exception
A fatal error occurred in asynchronous engine operation. If you do not know what caused this error, you can try set environment variable MXNET_ENGINE_TYPE to NaiveEngine and run with debugger (i.e. gdb). This will force all operations to be synchronous and backtrace will give you the series of calls that lead to this error. Remember to set MXNET_ENGINE_TYPE back to empty after debugging.
Stack trace returned 8 entries:
[bt] (0) /home/hli32/mxnet/mxnet/python/mxnet/../../lib/libmxnet.so(dmlc::StackTrace()+0x3f) [0x7f5c367c7b5f]
[bt] (1) /home/hli32/mxnet/mxnet/python/mxnet/../../lib/libmxnet.so(dmlc::LogMessageFatal::~LogMessageFatal()+0x21) [0x7f5c367c7f31]
[bt] (2) /home/hli32/mxnet/mxnet/python/mxnet/../../lib/libmxnet.so(mxnet::engine::ThreadedEngine::ExecuteOprBlock(mxnet::RunContext, mxnet::engine::OprBlock*)+0xa75) [0x7f5c393687f5]
[bt] (3) /home/hli32/mxnet/mxnet/python/mxnet/../../lib/libmxnet.so(std::_Function_handler<void (std::shared_ptrdmlc::ManualEvent), mxnet::engine::ThreadedEnginePerDevice::PushToExecute(mxnet::engine::OprBlock*, bool)::{lambda()#1}::operator()() const::{lambda(std::shared_ptrdmlc::ManualEvent)#1}>::_M_invoke(std::_Any_data const&, std::shared_ptrdmlc::ManualEvent)+0x92) [0x7f5c39378522]
[bt] (4) /home/hli32/mxnet/mxnet/python/mxnet/../../lib/libmxnet.so(std::thread::_Impl<std::_Bind_simple<std::function<void (std::shared_ptrdmlc::ManualEvent)> (std::shared_ptrdmlc::ManualEvent)> >::_M_run()+0x44) [0x7f5c39367c54]
[bt] (5) /usr/lib64/libstdc++.so.6(+0xb52b0) [0x7f5cbce402b0]
[bt] (6) /usr/lib64/libpthread.so.0(+0x7e25) [0x7f5cd5d54e

@lihaofd By looking at MXNet code for _RNNLayer, it seems that the bidirectional semantics is different than what you implemented.
In your case, because you split the first layer, you end up with weights_layer of size {1, D, I, 4, H} for the first layer, and {L-1, D, D*H, 4, H} for the L-1 remaining layers (the D*H here is likely the cause of the segfault). However, MXNet semantics suggests that you need {L, D, I, 4, H} for the L layers. If we assume that I=H, here you may be referencing (L-1)*D*4*H extra weights.
So I would suggest you to try with:
memory::dims weights_layer_all_tz = {L, D, I, 4, H}
std::vector user_wei_layer_all(L*D*I*4*H)

RNN training examples is now available. With that I'm closing the issue. If you have further questions feel free to submit a new one or reopen.


Add clean-publish for npm release

It is opinionated, but I prefer to clean dev configs from package.json before releasing to npm.
This is why I release with clean-publish.
pnpm add --save-dev clean-publish

And for release I write:
pnpm clean-publish

Added


feat: Update OP geth to support l2

Update op geth to support l2
Some general changes to make it more 1 to 1 match what make devnet up in monorepo is doing

Note though all other mocktimism prs come with tests I have not written any tests yet for this specific module and that is intentional. I barely know what I'm doing so we don't want to slow ourselves down with tests until we get some level of the entire rollup devnet working together e2e. This will happen after we add batcher op node genesis etc.

Current dependencies on/for this PR:

main

PR #87   👈

This stack of pull requests is managed by Graphite.


[Bug][Api] fix NullPointException when deleting a workflow instance (…

close #15485

Purpose of the pull request

Brief change log

Verify this pull request

This pull request is code cleanup without any test coverage.
(or)
This pull request is already covered by existing tests, such as (please describe tests).
(or)
This change added tests and can be verified as follows:

(or)
If your pull request contain incompatible change, you should also add it to docs/docs/en/guide/upgrede/incompatible.md

hi @CommandCV  plz run 'mvn spotless:apply' to fix these violations.

hi @CommandCV plz run 'mvn spotless:apply' to fix these violations.

Get!

Codecov Report
Attention: 4 lines in your changes are missing coverage. Please review.

Comparison is base (ace0860) 38.04% compared to head (1d9a2dc) 38.04%.

:exclamation: Current head 1d9a2dc differs from pull request most recent head 4a780f3. Consider uploading reports for the commit 4a780f3 to get more accurate results

Files
Patch %
Lines

...uler/api/service/impl/TaskInstanceServiceImpl.java
0.00%
4 Missing :warning:

Additional details and impacted files
@@            Coverage Diff            @@
##                dev   #15488   +/-   ##
=========================================
  Coverage     38.04%   38.04%
- Complexity     4688     4689    +1
=========================================
  Files          1304     1304
  Lines         44770    44735   -35
  Branches       4799     4777   -22
=========================================
- Hits          17031    17018   -13
+ Misses        25888    25868   -20
+ Partials       1851     1849    -2

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

Good job, merged to dev.


Andrs-Betancourt_CU-3aza284

Creates General CMS UI Structure Through Generic Cards

Task linked: CU-3aza284 Create General CMS UI Structure


/tmp/.cache | Create dirs without deepspeed

Changes the cache directory location to /tmp instead of the user's home directory.
Remove deepspeed conditional for dir creation.

closed in favor of https://github.com/lucidrains/DALLE-pytorch/pull/179


How To set upper limit for UDP DatagramPacket

Hi,
I'm using netty 4.0.0Alpha8 and I'm currently facing a problem with maximum datagram packet size, which is 2048.
How can I set the limit to a higher value?
I tried to set it with
bootStrap.group(new NioEventLoopGroup())
.channel(NioDatagramChannel.class)
.localAddress(new InetSocketAddress(port))
.option(ChannelOption.SO_BROADCAST, true)
.option(ChannelOption.UDP_RECEIVE_PACKET_SIZE, 6192)
//.option()
.handler(new OSCServerHandler(oscServerListener));
but this causes the warning:
Unknown channel option: UDP_RECEIVE_PACKET_SIZE=6192
Any hints appreciated.
Thanks, BR Klaus

@kdobbler use new FixedSizeRecvByteBufAllocator(numBytes).
Also you want to update your netty version!


Update bridge.md

Spelling mistake.

Proposed changes
Current line : User-defined brides provide automatic DNS resolution between containers .
Changed line : User-defined bridges provide automatic DNS resolution between containers.

Unreleased project version (optional)

Related issues (optional)

User-defined brides 🤣
Thanks for fixing it!


Refactor symfony namespaces

Refactor Symfony bundle to be within the OpenTelemetry\Contrib namespace, in common with the other bundles and in line with the namespace in the main project.
Update documentation and make example configuration links relative so they work again

Released 0.0.20
I had to create a new packagist entry.
new: https://packagist.org/packages/open-telemetry/symfony-sdk-bundle
abandoned: https://packagist.org/packages/open-telemetry/contrib-sdk-bundle


GoPro Hero 8 Black | Getting "Packet corrupt" errors when calling "gopro.stream()" and "gopro.overview()" throws error too.

Hi @KonradIT,
I am trying to stream GoPro Hero 8 Black video to MPV as shown in this video called
"GoPro HERO7 with Python API":  https://www.youtube.com/watch?v=i-X4fPVfoW0
I am on Mac OS Catalina running Python 3.9 and I installed gopro-py-api as follows:
pip install goprocam
I can ...

List media using: gopro.listMedia(True)
Start video using gopro.shoot_video(10)
Shoot a picture using gopro.take_photo()

Error 1 | gopro.stream("udp://<IP_ADDRESS>:10000") displays "packet corrupt" messages
See the command line output at the bottom of this post.
Error 2 | gopro.overview() throws this error:
camera overview
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Users/my.user.name/.pyenv/versions/3.9.2/lib/python3.9/site-packages/goprocam/GoProCamera.py", line 1472, in overview
    print("current mode: " + "" + self.parse_value("mode",
TypeError: can only concatenate str (not "NoneType") to str
>>> gopro.overview()
camera overview
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Users/my.user.name/.pyenv/versions/3.9.2/lib/python3.9/site-packages/goprocam/GoProCamera.py", line 1473, in overview
    self.getStatus(constants.Status.Status, constants.Status.STATUS.Mode)))
  File "/Users/my.user.name/.pyenv/versions/3.9.2/lib/python3.9/site-packages/goprocam/GoProCamera.py", line 292, in getStatus
    return json.loads(data)[param][value]
KeyError: '43'

I did set a breakpoint() in the overview() method in "GoProCamera.py" and found there is no STATUS.mode with a key of "43" in the raw status data, but I do see a key with "43" in the settings json object. Should this be getting settings data instead of status data?
Do you have any suggestions or ideas how I can resolve these issues?
Thanks,
Chris
[CLI log of "Packet corrupt" messages]
>>> gopro.stream("udp://<IP_ADDRESS>:10000")
ffmpeg version 4.3.2 Copyright (c) 2000-2021 the FFmpeg developers
  built with Apple clang version 12.0.0 (clang-1<IP_ADDRESS>)
  configuration: --prefix=/usr/local/Cellar/ffmpeg/4.3.2_3 --enable-shared --enable-pthreads --enable-version3 --enable-avresample --cc=clang --host-cflags= --host-ldflags= --enable-ffplay --enable-gnutls --enable-gpl --enable-libaom --enable-libbluray --enable-libdav1d --enable-libmp3lame --enable-libopus --enable-librav1e --enable-librubberband --enable-libsnappy --enable-libsrt --enable-libtesseract --enable-libtheora --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libxvid --enable-lzma --enable-libfontconfig --enable-libfreetype --enable-frei0r --enable-libass --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libspeex --enable-libsoxr --enable-libzmq --enable-libzimg --disable-libjack --disable-indev=jack --enable-videotoolbox
  libavutil      56. 51.100 / 56. 51.100
  libavcodec     58. 91.100 / 58. 91.100
  libavformat    58. 45.100 / 58. 45.100
  libavdevice    58. 10.100 / 58. 10.100
  libavfilter     7. 85.100 /  7. 85.100
  libavresample   4.  0.  0 /  4.  0.

Hi @KonradIT, any chance you might know what's happening here and how I might be able to resolve this problem? I'm a developer. My Python skills are so-so, but I'd be happy to help if you can point me in the right direction of handling the "Packet corrupt" errors.  Seems like it may be an ffmpeg thing, but I'm not sure.

Hi @simspace-dev ,
I had a bit of a look since I had the same error on my end, with a GoPro Hero 8.
In the "stream" function, calling for "self.KeepAlive()" was causing the error.
By using the loop given in the example "opencv_gopro/ffmpegless-preview.py", I could recreate the same effect as we want from KeepAlive, but without the error. I also thing that it probably comes from ffmpeg itself.
here is the example file's content:
`#This is the script without the need of a FFmpeg installation, pure OpenCV
#This is not useful for image processing (eg: find faces) as there will be more lag, around 6 seconds added.
import cv2
import numpy as np
from time import time
import socket
from goprocam import GoProCamera
from goprocam import constants
gpCam = GoProCamera.GoPro()
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
t=time()
gpCam.livestream("start")
cap = cv2.VideoCapture("udp://<IP_ADDRESS>:8554")
while True:
nmat, frame = cap.read()
cv2.imshow("GoPro OpenCV", frame)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
if time() - t >= 2.5:
sock.sendto("GPHD:0:0:2:0.000000\n".encode(), ("<IP_ADDRESS>", 8554))
t=time()
When everything is done, release the capture
cap.release()
cv2.destroyAllWindows()`

@simspace-dev following on the overview() issue: I did get different errors depending on the kind of gopro I was setting up. Here are some various options:

gopro = GoProCamera.GoPro(constants.gpcontrol)
gopro = GoProCamera.GoPro(constants.auth)
gopro = GoProCamera.GoPro()

Best would be to make this function more resilient, but in the meantime what I did was making my own local **overview ** function, which is almost a copypaste of the lib"s version, without the crashing parts.


Unable to launch app. Error listed below:

Found Xcode project HN Reader.xcodeproj
Launching iPhone 6 (9.3)...
Building using "xcodebuild -project HN Reader.xcodeproj -scheme HN Reader -destination id=76AF770D-177B-4666-B40D-8D245F04D0F6 -derivedDataPath build"
User defaults from command line:
IDEDerivedDataPathOverride = /Users/macuser/Documents/github/Projects/Mobile/clonedProjs/HackerNews-React-Native/ios/build
xcodebuild: error: The project named "HN Reader" does not contain a scheme named "HN Reader". The "-list" option can be used to find the names of the schemes in the project.
Installing build/Build/Products/Debug-iphonesimulator/HN Reader.app
An error was encountered processing the command (domain=NSPOSIXErrorDomain, code=2):
Failed to install the requested application
An application bundle was not found at the provided path.
Provide a valid path to the desired application bundle.
Print: Entry, ":CFBundleIdentifier", Does Not Exist
/Users/macuser/Documents/github/Projects/Mobile/clonedProjs/HackerNews-React-Native/node_modules/promise/lib/done.js:10
throw err;
^
Error: Command failed: /usr/libexec/PlistBuddy -c Print:CFBundleIdentifier build/Build/Products/Debug-iphonesimulator/HN Reader.app/Info.plist
Print: Entry, ":CFBundleIdentifier", Does Not Exist
at checkExecSyncError (child_process.js:469:13)
at Object.execFileSync (child_process.js:489:13)
at _runIOS (runIOS.js:77:34)
at runIOS.js:24:5
at tryCallTwo (/Users/macuser/Documents/github/Projects/Mobile/clonedProjs/HackerNews-React-Native/node_modules/promise/lib/core.js:45:5)
at doResolve (/Users/macuser/Documents/github/Projects/Mobile/clonedProjs/HackerNews-React-Native/node_modules/promise/lib/core.js:200:13)
at new Promise (/Users/macuser/Documents/github/Projects/Mobile/clonedProjs/HackerNews-React-Native/node_modules/promise/lib/core.js:66:3)
at Array.runIOS (runIOS.js:23:10)
at Object.run (/Users/macuser/Documents/github/Projects/Mobile/clonedProjs/HackerNews-React-Native/node_modules/react-native/local-cli/cli.js:86:13)
at Object. (/Users/macuser/.nvm/versions/node/v5.10.0/lib/node_modules/react-native-cli/index.js:88:7)

Open the project file using Xcode, create a new scheme under "HN Reader" also named "HN Reader". Close Xcode, and retry running it.

@gareim , worked for me, thanks!

I'm getting the error even after adding a new scheme under "HN Reader".
`$ react-native run-ios
Found Xcode project HN Reader.xcodeproj
Launching iPhone 6 (10.2)...
Building using "xcodebuild -project HN Reader.xcodeproj -scheme HN Reader -destination id=8EF4FF64-E196-4BAE-90FF-CB3735D3BB32 -derivedDataPath build"
2017-01-07 11:56:53.505 xcodebuild[80775:3508716] [MT] PluginLoading: Required plug-in compatibility UUID E0A62D1F-3C18-4D74-BFE5-A4167D643966 for plug-in at path '~/Library/Application Support/Developer/Shared/Xcode/Plug-ins/Unity4XC.xcplugin' not present in DVTPlugInCompatibilityUUIDs
2017-01-07 11:56:53.509 xcodebuild[80775:3508716] Failed to load plugin at: /Users/User/Library/Application Support/Developer/Shared/Xcode/Plug-ins/Unity4XC.xcplugin, skipping.  Reason for failure: *** -[__NSPlaceholderDictionary initWithObjects:forKeys:count:]: attempt to insert nil object from objects[0]
User defaults from command line:
IDEDerivedDataPathOverride = /Users/User/Documents/Github/HackerNews-React-Native/ios/Build
=== BUILD TARGET ActivityView OF PROJECT ActivityView WITH CONFIGURATION Debug ===
Check dependencies
** BUILD SUCCEEDED **
Installing build/Build/Products/Debug-iphonesimulator/HN Reader.app
An error was encountered processing the command (domain=NSPOSIXErrorDomain, code=2):
Failed to install the requested application
An application bundle was not found at the provided path.
Provide a valid path to the desired application bundle.
Print: Entry, ":CFBundleIdentifier", Does Not Exist
/Users/User/Documents/Github/HackerNews-React-Native/node_modules/react-native/node_modules/promise/lib/done.js:10
throw err;
^
Error: Command failed: /usr/libexec/PlistBuddy -c Print:CFBundleIdentifier build/Build/Products/Debug-iphonesimulator/HN Reader.app/Info.plist
Print: Entry, ":CFBundleIdentifier", Does Not Exist
at checkExecSyncError (child_process.js:465:13)
at Object.execFileSync (child_process.js:485:13)
at _runIOS (runIOS.js:77:34)
at runIOS.js:24:5
at tryCallTwo (/Users/User/Documents/Github/HackerNews-React-Native/node_modules/react-native/node_modules/promise/lib/core.js:45:5)
at doResolve (/Users/User/Documents/Github/HackerNews-React-Native/node_modules/react-native/node_modules/promise/lib/core.js:200:13)
at new Promise (/Users/User/Documents/Github/HackerNews-React-Native/node_modules/react-native/node_modules/promise/lib/core.js:66:3)
at Array.runIOS (runIOS.js:23:10)
at Object.run (/Users/User/Documents/Github/HackerNews-React-Native/node_modules/react-native/local-cli/cli.js:86:13)
at Object.<anonymous> (/usr/local/lib/node_modules/react-native-cli/index.js:117:7)`

@omin I have a same problem. Any solution..!

I have the same problem. I have been able to fix it using following steps. Mind you this is not a solution but a workaround and its also time consuming and annoying to do. I use it as a oast resolve.


AQL bad optimization with LET

my environment running ArangoDB
I'm using the latest ArangoDB of the respective release series:

[*] 3.0
[*] self-compiled devel branch (from yesterday)

On this operating system:

[ ] Linux

[*] Debian .deb

I'm issuing AQL via:

[*] web interface with this browser: Chrome    running on this OS: Win10

Hi, I have two almost identical queries. I only assigned part of the query to LET variable which should not have impact on optimization, but index is not used and query takes much longer to finish. See two attached files with explain output.
bad_no_index_used.txt
ok_index_used.txt

did you already update to 3.0.10 ?

yes I tried it on 3.0.10 and devel branch, index is not applied on query with extra LET

Btw I don't know if it helps, but I found out that with LET in this case
for m in macList
for o in vOui
index is applied
Indexes used:
By   Type      Collection   Unique   Sparse   Selectivity   Fields       Ranges
51   primary   vOui         true     false       100.00 %   [ _key ]   (m.oui == o._key)
if I switch rows
for o in vOui
for m in macList
then not.

Yes, there was no optimization for cases like
FOR doc1 IN collection
  FOR doc2 IN non-collection-value
    FILTER condition-using-doc1-and-doc2

because the optimizer could not push the filter condition beyond the second for loop that introduced variable doc2. This would have led to the following (invalid) plan:
FOR doc1 IN collection
  FILTER condition-using-doc1-and-doc2
  FOR doc2 IN non-collection-value

With the fix introduced by commit a45322076a79141a822d0b6cc7be372552528aec, the optimizer can now permute the two FOR loops to
FOR doc2 IN non-collection-value
  FOR doc1 IN collection
    FILTER condition-using-doc1-and-doc2

which allows it to use the filter condition in the second FOR loop using an index.
In the end the fix allows the permutation of FOR loops that do not access collections with FOR loops that access collections. Previously, the optimizer only permuted FOR loops that accessed collections. With the additional permutations, the optimizer is able to find better execution plans and use indexes in more cases than before.

Thanks for fix!

ArangoDB 3.1 has been released. Please note that the download urls and repositories have changed slightly.
Download or see Release Notes for details.


Wifi car dash wireless connection?

good day.  I have two cameras.  The video stream appears when connected to the camera via wifi.  please see the example and description on the link in English.  cameras only work in a mobile application.  therefore, I cannot get a stream like rtsp.  is it possible to connect such cameras to homebridge?
https://a.aliexpress.com/_dZLr01e
https://a.aliexpress.com/_dUaYFyY
Thank you in advance

Why did you close this question?

Why did you close this question?

Because it hasn’t been answered in a while and if you can’t get an rtsp stream, then it wouldn’t work with this plugin. Sorry.


feat(docs): nits

Closes https://github.com/AztecProtocol/dev-rel/issues/410
closes: https://github.com/AztecProtocol/aztec-packages/issues/6864
closes: https://github.com/AztecProtocol/dev-rel/issues/417
Please read contributing guidelines and remove this line.

Docs Preview
Hey there! 👋 You can check your preview at https://67161a87d0608b23559fb2cc--aztec-docs-dev.netlify.app


Is there specific wiring schemetics?

Amazing project！
Where can I find the specific wiring schematics diagram? I'm a bit confusing about the wiring things such as how to connect the Teensy Controller with the four Odrives.

You can find wiring information from both source code and picture in readme.md
Following are my study, not from Doggo Project Team, use at your own risk!
Teensy3.5 --- Logical Function --- Component
P0 - RX1 - ODrive1
P1 - TX1 - ODrive1
P7 - RX3 - ODrive3?2
P8 - TX3 - ODrive3?2
P9 - RX2 - ODrive2?3
P10 - TX2 - ODrive2?3
P31 - RX4 - ODrive4
P32 - TX4 - ODrive4


Improve _Asset class in flx.dart

The class (part of the flutter_tools package) has several similar sounding fields, particularly "source" and "base".  We should do a cleanup pass over this class and improve the naming and field documentation so it's easier to understand how to use the class.

Placed into Milestone 2 so we can eval if we're going to make this API change.

This is just a code health issue, doesn't affect devs. Moving to no-milestone bucket.

This will happen anyway when we remove FLXes.


Do you need a front end developer?

Hi Louis/QuillzToxic Here,
I was wondering if you are after another front end developer, I have taken a course on programming and want to get onto a project to improve my skills

I'm afraid that you've arrived a little too late; most of our frontend work had already been done!

What about issue 108?

And also, just a refresh, why did I get rekicked after you added me back in in issue #137

As far as I know, I'm still in the project, I just went inactive....

I'm pretty sure being kicked out means being kicked out.

 I know you used the command line thing, and you're new at it, but that's not really an excuse. If you know you're bad at the command line git, you should have used a GUI-based git, especially on a critical project like OpenSprites. You can test command line git all you want on your own repos.
What you did was pretty bad.
We didn't mean to hate when we removed you from the organization. We just can't afford huge code-deletions and stuff in the future.
Just because you do not have write permissions to the repo does not mean you can't contribute. You can create your own fork, work there, and send a pull request when you're done. You can still comment on our issues and commits too. If you show that you can make significant changes and handle git responsibly in your fork, we'll give you write permissions back.
To be clear, you are not banned from the organization entirely. We want to be nice and give you a second chance, it's just that we can't give you write permissions at the moment, because of what happened.
 -MegaAptTurkUltra, and above James (Cheese) wrote
"You know full well that we do not hate you quillz, I've known you for a year by now. I have invited him back into the team because this project deserves not to get into disputes. However, Quillz must understand this there is a limit to the amount of chances I can give before people start getting annoyed at having to revert changes all the time. With respect @andrewjcole, but you were not zeus trying to scrape backups from the developer site to patch the mess. I am acting as a admin within this project, and I intend to keep it that way; becoming a negotiator to solve personal disputes is certainly not high upon my agenda.
I'm tired of all that grumpy bore I just wrote, shall we have some lightheartedness and positivity again? :)"
Both say I am still in the group, I am wondering if Zeusking (Or what ever you call the head of gwiddle) may of kicked me, I'm just can't remember what happend between this event.

Sorry about my huge quotes

As of further point that Zeus may of kicked me, when I asked for a gwiddle account he first said something along the lines of "You can not revive a gwiddle account because of a unsolved argument".
Oh and Zeus, what happend with your DMCA strike agenst me with Scratch Mobile?

Read this.

Just because you do not have write permissions to the repo does not mean you can't contribute. You can create your own fork, work there, and send a pull request when you're done. You can still comment on our issues and commits too. If you show that you can make significant changes and handle git responsibly in your fork, we'll give you write permissions back.

I would say you need to prove your aptitude with git before letting you back in, or doing some pull requests instead of getting write permissions.  Preferably the latter.

Yeah, but you all seem to talk on gitter, and its sorta the only way to
receive tasks.
On 26 Feb 2016 12:20 a.m., "Firedrake969"<EMAIL_ADDRESS>wrote:

Read this.
Just because you do not have write permissions to the repo does not mean
you can't contribute. You can create your own fork, work there, and send a
pull request when you're done. You can still comment on our issues and
commits too. If you show that you can make significant changes and handle
git responsibly in your fork, we'll give you write permissions back.
I would say you need to prove your aptitude with git before letting you
back in, or doing some pull requests instead of getting write permissions.
Preferably the latter.
—
Reply to this email directly or view it on GitHub
https://github.com/OpenSprites/OpenSprites/issues/203#issuecomment-189049177
.

Anyway, I'm going to have a go at fixing the themes.

As if we're productive on Gitter :package:
Well, there are tasks here you can start on.

Gitter is easier to get hold of people on, because your so active over
there (Trust me.)

We all see this too.  Maybe I'm the only one bothering to reply to you?
Considering the fact that you're not in our Gitter rooms, though, I would say that I have more authority about that than you...  :/  The productivity is on Github, and the offtopicness is on Gitter.  Just make PRs.  Then we'll see.

We all see this too. Maybe I'm the only one bothering to reply to you?
Considering the fact that you're not in our Gitter rooms, though, I would say that I have more authority about that than you... :/ The productivity is on Github, and the offtopicness is on Gitter. Just make PRs. Then we'll see.

^ that

@Firedrake969 Technically I made gitter #92

Ok... are you trying to imply anything?

Not really, working on the themes now.


GISS-E2-1-G-CC: activity_id -- add 'ScenarioMIP' ; GISS-E2-2-H:  activity_id -- add 'CFMIP'

GISS-E2-1-G-CC: C4MIP CMIP (ScenarioMIP missing)
GISS-E2-2-H: CMIP SIMIP ScenarioMIP (CFMIP missing)

@gavinny perfect, will get these updates in the queue soon, thanks

@gavinny that should now be fixed in CMIP6_source_id.html (and the CVs where publications are being validated). I'll wait for a sync and then see if we can kick start this local replication/republication process to see if we're back in business


Update index.md

updated description for Set-ServiceAdminOwner, that it targets both AAD and ADFS systems

@sethmanheim
Can you review the proposed changes?
When the changes are ready for publication, add a #sign-off comment to signal that the PR is ready for the review team to merge.
#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-team

@rtibi We can't use the AAD acronym, and also Azure Active Directory (Azure AD) is now being called Microsoft Entra ID. Should we change it to that?

#sign-off


Prevent request from being overwritten

The request can be modified by middlewares before being dispatched, to add informations like GeoIP, Oauth scopes, etc. Proton\Application stores the request in the container during the handle() method, this is the request that should be dispatched to the controllers.
The fix is simply to retrieve the request from the container instead of creating a brand new request from globals in Phprest\Router\Strategy.

Thanks @marcaube


Test fsspec roundtrip

This works (locally) except for two things:

It requires this PR to xarray so as not to try to create pandas indexes for the dimension coordinates automatically https://github.com/pydata/xarray/pull/8711

The time coordinate is not being decoded, so the roundtripped-dataset only matches the original because I used decode_times=False when opening the original tutorial dataset. If I get rid of that this test fails with

        # assert equal to original dataset
>       xrt.assert_equal(roundtrip, ds)
E       AssertionError: Left and right Dataset objects are not equal
E
E       Differing coordinates:
E       L * time     (time) float32 12kB 1.867e+06 1.867e+06 ... 1.885e+06 1.885e+06
E       R * time     (time) datetime64[ns] 23kB 2013-01-01 ... 2014-12-31T18:00:00

virtualizarr/tests/test_integration.py:28: AssertionError

The time coordinate is not being decoded

I strongly recommend implementing data read just for catching errors in the time coordinate. It is incredibly common for time vectors to be encoded differently in different files in the "same dataset".

What do you mean specifically? Like an optional argument to open_dataset_via_kerchunk that will actually load values from any coordinate named 'time'? And then check what about them?

What do you mean specifically? Like an optional argument to open_dataset_via_kerchunk that will actually load values from any coordinate named 'time'? And then check what about them?


When playing at slow speeds the tool does not immediately move to the new location.

#163 Might be the same problem

#187 did not fix this issues
This issues might be small enough to ignore, if so @Sam-son  should just close it

not really an issue


"Invalid digit" RPC error when transferring FA 1.2 tokens with large number of decimals

If you import a token to Thanos that uses 18 decimals, you can't transfer more than 999 of those tokens.
Transfer of >999 tokens will result in sending a scientific notation of the amount, rather than the full value as a string.
Assuming you guys are using Taquito with big-number.js, here's a snippet with a possible solution:
// ok
// 999 tokens
const largeNumber = BigNumber("999000000000000000000")
print(largeNumber.toString()) // "999000000000000000000"

// not ok
// 1000 tokens
const largerNumber = BigNumber("1000000000000000000000")
print(largeNumber.toString()) // "1e+21"

// ok (?)
// 1000 tokens
const largerNumber = BigNumber("1000000000000000000000")
print(largeNumber.toFixed(0)) // "1000000000000000000000"

Thanks @maht0rz .  Thanos team, this is a blocker for us for 2 FA1.2 tokens we are launching on Tezos mainnet in the next 2 weeks.  Blend Token (BLND) 18 decimals, and Staker Token (STKR) 18 decimals.  We appreciate your attention to this!

Thanks a lot for reporting this issue!
https://github.com/madfish-solutions/thanos-wallet/commit/0316d18865ac266321abe19ad0370ed034aa27d4 - it has been already fixed and we're pushing a new release now.


l2vtgate gateway: re-using connections.

The command line parameters may redirect more than one keyspace/shard
pair to a single backend. In that case, re-use the TabletConn.
@michael-berlin

This change is

Reviewed 1 of 1 files at r1.
Review status: all files reviewed at latest revision, 1 unresolved discussion.

go/vt/vtgate/gateway/l2vtgategateway.go, line 62 [r1] (raw file):

	// mu protects all fields below.
	mu sync.RWMutex

Please remove the new line here and below to group all fields which are protected by the same mutex.

Comments from Reviewable

Review status: 0 of 1 files reviewed at latest revision, 1 unresolved discussion.

go/vt/vtgate/gateway/l2vtgategateway.go, line 62 [r1] (raw file):
Previously, michael-berlin (Michael Berlin) wrote…
> Please remove the new line here and below to group all fields which are protected by the same mutex.

Done.

Comments from Reviewable


Inverse-side PersistentCollections should be immutable

This issue came out of #1086, where we discussed several edge cases when working with inverse-side PersistentCollections that have been modified.

@jmikola: Should we consider documenting that inverse collections are read-only, or perhaps enforce that with a special PersistentCollection sub-class? AFAIK, changes to such a collection would not be reflected in the changeset (so they are already read-only from ODM's perspective). If users actually want to modify the collection (so their data model doesn't have to care), I suppose they can manually unwrap it in a lifecycle event and work with an ArrayCollection.
@alcaeus: I agree with having an ImmutablePersistentCollection class which forbids any write operations (add(), clear(), remove(), removeKey(), set()) in order to preserve the intended behavior. Only thing is, while it might be that we're just strictly enforcing something that was an unwritten rule before, we're technically breaking BC here.

I suppose they can manually unwrap it in a lifecycle event and work with an ArrayCollection.

What about having additional parameter in mapping to unwrap it automatically? Lifecycle event seems to be too much compared to @ReferenceMany(..., immutable="false")
Anyway I still have in mind introducing custom collections so I'd say create a (really) Big Red Warning in the docs (not current notice, a Big Red Warning) to not complicate things in future?

For the record from IRC:

@alcaeus: @Ocramius had some input on that one as well
basically, the recommendation at the time was to have PersistentCollection be mutable to allow people to add items to inverse collections before persisting to the database - well knowing that some counts may be off if they do
ORM has the same issue we do. personally, i don't like removing functionality from a class, which is why i could live with leaving PersistentCollection fully mutable as long as we document this somehow

+1 for flexibility and freedom of immutable="false" !
I guess in bi-directional relations like Task <-> Tag where tags are reusable among the Tasks is ok, but in (for example) Task <-> Comment, I would like to delete comments from inside comments Task collection.
As you were discussing, its quite confusing, the fact that you can call remove() on a PersistentCollection and it is not persisted, because is the inverse-side of the relation.
Anyway, I hope I understood everything well ! It took me a while and I feel I don't know even a half ! :)
Thanks !!

Custom collections are implemented for a while now, whoever wants immutability for inverse side of references can employ them :)


optimize: upgrade logback dependency to 1.2.9

[ ] I have registered the PR changes.

Ⅰ. Describe what this PR did
Ⅱ. Does this pull request fix one issue?

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

Codecov Report

Merging #4728 (c5e7d1a) into develop (8d6c3ef) will decrease coverage by 0.00%.
The diff coverage is n/a.

@@              Coverage Diff              @@
##             develop    #4728      +/-   ##
=============================================
- Coverage      48.67%   48.66%   -0.01%
+ Complexity      4066     4065       -1
=============================================
  Files            736      736
  Lines          25635    25635
  Branches        3162     3162
=============================================
- Hits           12477    12476       -1
  Misses         11819    11819
- Partials        1339     1340       +1

Impacted Files
Coverage Δ

...erver/storage/file/session/FileSessionManager.java
49.04% <0.00%> (-0.64%)
:arrow_down:

why revert previous commit?

I clicked merge branch then I thought it may be a mistake T.T

why revert previous commit?

I clicked merge branch then I thought it may be a mistake T.T

keep the change only your want to modify in https://github.com/seata/seata/pull/4728/files

why revert previous commit?

I clicked merge branch then I thought it may be a mistake T.T

keep the change only your want to modify in https://github.com/seata/seata/pull/4728/files

Ok. I used force-push to modify what I want to do


Allow pulsar blast jobs to go to pulsar-mel3

To alleviate the blast queue issue.
What we also need potentially is an alternative ranking function for these tools that will send jobs to a second destination only if the primary destination is full.
This is related to issue https://github.com/usegalaxy-au/infrastructure/issues/1427 and would be good to discuss with @nuwang and @bgruening

I think we need to merge this for the currently queued jobs


Issues in forecasting due to interactions between loop, hcr, and recruitment patterns

This issue was reported by Jemery Day for multiple Australian models.  In their forecasts they assume specific recruitment deviations (low or high) which are specified by setting values in the par file (overwrite forecasts devs.).  Their assessments also applies a harvest control rule based on a biomass target.  Initially their models specified loop 3 for the first loop to apply stochastic recruitments. However, since loop 2 determined the ABC based on the HCR under no recruitment deviations, when stochastic recruitment did begin in loop 3 and the recruitment deviations were directional the resulting forecast population had unexpected behavior.  Specifically, if low recruitment was assumed in the forecast, waiting to apply stochastic recruitment until loop 3, after the ABC loop, resulted in the population crashing.  Once the loop selection for stochastic recruitment was identified as the source of the issue, the solution and cause of the unexpected forecast trajectories is clear, but this did require extensive digging to identify the issue.
Implementing a warning when loop 3 is selected for stochastic recruitment and the forecast recruitment in the par file are not equal to 0 may be an simple solution to flag this issue for users.

This is highly situational and I do not think that warning would be warranted in all situations.  Do we need to provide more info about what is happening in the forecast phases?.  If user wants the ABC in the forecast to be based on low recruitment, then the SR_regime parameter should be used, not adjustment of all the devs to low levels.  The crashes they encountered can happen in any overly long forecast with high sigmaR.  SS3 sets quotas in phase 2 of forecast.  Anytime a string of low recruitments in phase 3 cause low population, it could get low enough to not be able to support the quota set in phase 2.
So perhaps the needed warning or explanation in the manual is:
"Do not run long forecasts with recdevs not turned on until phase 3; long forecasts (10-100 years) should be run with no recdevs.  The SS3 multi-phase system is designed to get better variance estimates when quotas are updated only every X years "


For #243: Adding filters to FilteredUriBuilder

For #243:

implementing adding Json filters to FilteredUriBuilder

Job #253 is now in scope, role is REV

This pull request #253 is assigned to @paulodamaso/z, here is why; the budget is 15 minutes, see §4; please, read §27 and when you decide to accept the changes, inform @amihaiemil/z (the architect) right in this ticket; if you decide that this PR should not be accepted ever, also inform the architect; this blog post will help you understand what is expected from a code reviewer; there will be no monetary reward for this job

Pull Request Test Coverage Report for Build 446

15 of 17 (88.24%)  changed or added relevant lines in 3 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.4%) to 86.969%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/main/java/com/amihaiemil/docker/FilteredUriBuilder.java
11
13
84.62%

Totals

Change from base Build 444:
0.4%

Covered Lines:
614

Relevant Lines:
706

💛  - Coveralls

@rultor merge

@rultor merge it

@rultor merge

@paulodamaso Thanks for your request. @amihaiemil Please confirm this.

@rultor merge it

@amihaiemil @bkuzmic The pull request is closed already, so I can't merge it

@rultor merge it

@amihaiemil I'm sorry, I don't understand you :( Check this page and try again please

Job was finished in 22 hours, bonus for fast delivery is possible (see §36)


Cypress test. Label constructor. Color label.

Motivation and context
Cypress test. Label constructor. Color label.
How has this been tested?

Checklist

[x] I submit my changes into the develop branch
[ ] I have added description of my changes into CHANGELOG file
[ ] I have updated the documentation accordingly
[ ] I have added tests to cover my changes
[ ] I have linked related issues (read github docs)
[ ] I have increased versions of npm packages if it is necessary (cvat-canvas,
cvat-core, cvat-data and cvat-ui)

License

[x] I submit my code changes under the same MIT License that covers the project.
Feel free to contact the maintainers if that's a concern.
[x] I have updated the license header for each file (see an example below)

# Copyright (C) 2020 Intel Corporation
#
# SPDX-License-Identifier: MIT

Coverage increased (+0.04%) to 62.168% when pulling 09725db2935d1a5a3ee9072e88d7de852b116eae on dvkruchinin:dkru/cypress-test-label-constructor-color-label into 4edabdb3ed34b0902140493f78634770936047a9 on openvinotoolkit:develop.

@dvkruchinin , please resolve the conflict.

Conflict resolved.


Markdown styling issue with lists

Gitea version (or commit ref): 4315e313d12bbf0655710b6ab0aad121e0f7dba2
Git version: 2.20.1
Go version: 1.14.2
Operating system: Debian 10
Database (use [x]):

[ ] PostgreSQL
[x] MySQL
[ ] MSSQL
[ ] SQLite

Can you reproduce the bug at https://try.gitea.io:

[x] Yes https://try.gitea.io/luwol03/test/src/branch/master/CHANGELOG.md
[ ] No
[ ] Not relevant

Log gist:

Not relevant

Description

The margin between the second and first level points is rendered smaller than between the first and second level points. This happened also on issues, releases, Pull request and wiki pages; Everywhere you can use markdown.

Hello, I am experiencing this issue too. The only difference is I'm using SQLite.
Having the nested points looking like they are part of their parent point would definitely be nicer, so I'm all for this fix :D

So up until very recently Github would render this exactly the same - I know because I have commented on another issue reporting the same problem.
This would be very simple to solve after looking at the less.

This seems to be expected behavior for markdown; checking a few other renderings outside of gitea, the behavior is the same:

Your example is rendering with the extra space because the blank line in between the heading and the list causes the list items to be wrapped in paragraph tags:

The formatting solution is to remove the blank line between the heading and the list like so and the items are no longer wrapped in paragraph tags:

I'd recommend closing this and tagging with reviewed/not-a-bug or similar.

@nostachio Thanks for the comparisons!
I'm going to close this issue based on the above. If we do want to change how the grouping looks, I'd prefer a new proposal issue to track any CSS/Less changes needed. 🙂
Here are some comparison links/images on try.gitea.io illustrating the proposed change from @nostachio.
the original

my fork


[crypto] fix hashing in network/discovery + improve inline docs

Motivation

Fix potential confusion attacks between signed PeerInfo and FullNodeInfo objects in the discovery protocol.
Improve inline docs after https://github.com/libra/libra/pull/3845 to make it clearer that manual implementations of CryptoHash are not recommended.
Reduce the number of use declarations for users in the process.
Hide (and minimize the code of) DefaultHasher

Test Plan
cargo x test -p libra-crypto
cargo doc -p libra-crypto --open

Related PRs
https://github.com/libra/libra/pull/3845

@bors-libra r=huitseeker

:pushpin: Commit 9ddc617 has been approved by huitseeker

:hourglass: Testing commit 9ddc61797d11ce8630c17b44932f3b33d0f11e38 with merge 3418cc5eaca5edb027e41a1e6842f87a5b9871a3...

:sunny: Test successful - checks-actions_land_blocking_test, checks-circle_commit_workflow
Approved by: huitseeker
Pushing 3418cc5eaca5edb027e41a1e6842f87a5b9871a3 to master...


GPU support

This PR adds GPU support. It adds tests that run conditionally on AMDGPU.jl and/or CUDA.jl, depending on whether they are functional on the machine we're running on.
This PR depends on the fix https://github.com/QEDjl-project/QEDbase.jl/pull/64 and is rebased to #68.
Left to do:

[ ] Fix the Compton _total_probability function which currently does not work on GPU because of quadgk
[ ] Add remaining tests for the PSP interface on GPU
[ ] Potentially add testing with KernelAbstractions.jl (does that support broadcasting?), oneAPI.jl and Metal.jl
[ ] Automatic testing in CI with GPU capable runners
[ ] Add version checks for the GPU tests, since not all libraries work on all versions and there's nothing really we can do about that other than disabling the tests on those versions
[x] Use PkgExtensions to only optionally load the GPU libraries, since this takes a long time and should only be done when specifically requested.

This builds in the CI with 1.10 and rc, while not executing the GPU tests (because there's no GPU on the runners):
┌ Warning: No functional GPUs found for testing!
└ @ Main /builds/hzdr/qedjl-project/QEDprocesses-jl/test/gpu/process_interface.jl:23

This is by design. To actually use these tests, we would need runners that actually have GPUs, then they would automatically run the tests too.
However, versions 1.6 - 1.9 fail because of dependency issues. Currently, the GPU tests are just normal tests and in the test environment, only packages that are installed in the project can be loaded. This means that whether or not the tests will be run, the dependencies are in the Project.toml and have to be installed when running any tests at all.
I'm not really sure how to solve this. We could add another file such as runtests_gpu.jl running the GPU tests and remove the [extras] dependency to the GPU packages, but we would more or less have to manually do the package installation and testing in the CI. I don't think julia has support for something like this, and especially not back in 1.6.

This builds in the CI with 1.10 and rc, while not executing the GPU tests (because there's no GPU on the runners):
┌ Warning: No functional GPUs found for testing!
└ @ Main /builds/hzdr/qedjl-project/QEDprocesses-jl/test/gpu/process_interface.jl:23

This is by design. To actually use these tests, we would need runners that actually have GPUs, then they would automatically run the tests too.
However, versions 1.6 - 1.9 fail because of dependency issues. Currently, the GPU tests are just normal tests and in the test environment, only packages that are installed in the project can be loaded. This means that whether or not the tests will be run, the dependencies are in the Project.toml and have to be installed when running any tests at all.
I'm not really sure how to solve this. We could add another file such as runtests_gpu.jl running the GPU tests and remove the [extras] dependency to the GPU packages, but we would more or less have to manually do the package installation and testing in the CI. I don't think julia has support for something like this, and especially not back in 1.6.

Can we maybe disable tests and the import command via environment variable, like I did it in this Python project: https://github.com/alpaka-group/bashi/blob/c0b673eb1ecff92bde3c3bb89c277104cdbedde8/tests/test_generate_combination_list.py#L186
CUDA.jl also provides a method to detect GPU's: https://cuda.juliagpu.org/stable/installation/conditional/

Can we maybe disable tests and the import command via environment variable, like I did it in this Python project: https://github.com/alpaka-group/bashi/blob/c0b673eb1ecff92bde3c3bb89c277104cdbedde8/tests/test_generate_combination_list.py#L186
CUDA.jl also provides a method to detect GPU's: https://cuda.juliagpu.org/stable/installation/conditional/

No, we can't use either of these, because the problem doesn't happen while executing the tests (the tests already are skipped when the libraries are non-functional for whatever reason).
The problem happens when resolving the Project.toml.

Looks like CUDA.jl and AMDGPU.jl are hard dependencies for the test, or isn't it? If yes, can remove it from the Project.toml and test in the test scripts, if the packages are installed?

At least as far as I'm aware this does not work. I tried having AMDGPU.jl globally installed but not in the test dependencies, and then load it inside the test. But it just says it's not installed.
Maybe this would work if not used through Pkg.test(), but then we would more or less start manually implementing Julia's testing framework...

For reference, the part that actually fails is not the Pkg.instantiate(). That works because the GPU packages are only weak dependencies.
When running the tests and creating their environment, the error looks like this (from CI with Julia1.9):
$ julia --project=. -e 'import Pkg; Pkg.test(; coverage = true)'
     Testing QEDprocesses
┌ Warning: Could not use exact versions of packages in manifest, re-resolving
└ @ Pkg.Operations /usr/local/julia/share/julia/stdlib/v1.9/Pkg/src/Operations.jl:1814
ERROR: Unsatisfiable requirements detected for package LLD_jll [d55e3150]:
 LLD_jll [d55e3150] log:
 ├─possible versions are: 14.0.6 or uninstalled
 └─found to have no compatible versions left with AMDGPU [21141c5a]
   └─AMDGPU [21141c5a] log:
     ├─possible versions are: 0.1.0-1.0.0 or uninstalled
     ├─restricted to versions 1 by QEDprocesses [46de9c38], leaving only versions: 1.0.0 or uninstalled
     │ └─QEDprocesses [46de9c38] log:
     │   ├─possible versions are: 0.2.0 or uninstalled
     │   └─QEDprocesses [46de9c38] is fixed to version 0.2.0
     └─restricted to versions 1 by an explicit requirement, leaving only versions: 1.0.0

For reference, the part that actually fails is not the Pkg.instantiate(). That works because the GPU packages are only weak dependencies.
When running the tests and creating their environment, the error looks like this (from CI with Julia1.9):

$ julia --project=. -e 'import Pkg; Pkg.test(; coverage = true)'

     Testing QEDprocesses

┌ Warning: Could not use exact versions of packages in manifest, re-resolving

└ @ Pkg.Operations /usr/local/julia/share/julia/stdlib/v1.9/Pkg/src/Operations.jl:1814

ERROR: Unsatisfiable requirements detected for package LLD_jll [d55e3150]:

 LLD_jll [d55e3150] log:

 ├─possible versions are: 14.0.6 or uninstalled

 └─found to have no compatible versions left with AMDGPU [21141c5a]

   └─AMDGPU [21141c5a] log:

     ├─possible versions are: 0.1.0-1.0.0 or uninstalled

     ├─restricted to versions 1 by QEDprocesses [46de9c38], leaving only versions: 1.0.0 or uninstalled

     │ └─QEDprocesses [46de9c38] log:

     │   ├─possible versions are: 0.2.0 or uninstalled

     │   └─QEDprocesses [46de9c38] is fixed to version 0.2.0

     └─restricted to versions 1 by an explicit requirement, leaving only versions: 1.0.0

It seems like the compat entry for AMDGPU is too restrictive. Anyway, since AMDGPU itself only supports Julia versions >=1.10, I suggest to drop the support for AMDGPU for all julia versions below 1.10 as well. Therefore, we only need to test versions, which already pass the tests.
In the end, this is not problematic, because, I think we will drop the support for <1.10 if 1.10 becomes the LTS, i.e. if 1.11 is released.

I opened a discourse thread about our testing problem, but there doesn't really seem to be an answer (yet)
https://discourse.julialang.org/t/testing-gpu-compatability-in-ci/119021
It seems the only real option is to more or less setup GPU tests with PackageExtensions manually in the CI by loading the necessary packages only on julia versions and runners/architectures where they will compile.

Since we have now dropped Julia versions 1.9 and lower, we can properly use package extensions and load AMDGPU and CUDA properly, even when no supported GPU is available. Currently, the tests will simply not run when no GPU is found. So if we get a runner with a GPU and run unit tests on that, it should run the tests.

What do you think how we should proceed with this PR from here @szabo137 ?

What do you think how we should proceed with this PR from here @szabo137 ?

As discussed offline, we should keep this, at least, as a testing field for the integration of GPU tests. However, maybe we should think about having such a testing branch upstream with less actual functionality. Maybe GPU-tests for CuArrays of SFourMomenta or PSPs in QEDcore would be easier and more convenient. Then this PR here could be used to add the actual GPU tests for QEDprocesses after we agreed on an actual workflow.

I'm a bit confused why the GPU tests fail. The AMDGPU tests crash violently in the CI, but pass fine on my own AMDGPU. The CUDA tests seem to compute incorrect results, which also doesn't really make sense to me.

It looks like a compiler and not a rutime error. This is strange. The only explanation which I have is, that it cannot correctly detect the GPU maybe some features are not enabled.
Can you reproduce it in a container? Have a look in the generated yaml code to reproduce it locally (search for the job unit_test_julia_amdgpu_1_11): https://gitlab.com/hzdr/qedjl-project/QEDprocesses-jl/-/jobs/8517785749

Can you reproduce it in a container? Have a look in the generated yaml code to reproduce it locally (search for the job unit_test_julia_amdgpu_1_11): https://gitlab.com/hzdr/qedjl-project/QEDprocesses-jl/-/jobs/8517785749

I'm not sure how to do that, maybe you could show me some time? It still seems strange, because if the problem is in the runner, then shouldn't the GPU tests on QEDbase have failed too?


[staging] python313Packages.pyzmq: disable flaky tests

3 tests are marked as flaky and fail periodically on hydra, disable them. Alternatively, adding pytest-rerunfailures package will enable the tests to be rerun (they are marked as rerun=3) but just disable them all together.
before:
collected 364 items / 81 deselected / 1 skipped / 283 selected
after:
collected 364 items / 84 deselected / 1 skipped / 280 selected
https://github.com/pytest-dev/pytest-rerunfailures
https://cache.nixos.org/log/ja0w2jni5qzlgrzp2sjl67rcjzrxxz0r-python3.13-pyzmq-26.2.0.drv

Things done

Built on platform(s)

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

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

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

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

[ ] Fits CONTRIBUTING.md.

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

rebuild counts are: darwin: 58367, linux: 75951
$ nix-build ci -A eval.full --max-jobs 4 --cores $(($(nproc)  / 4)) -o after
$ git checkout HEAD~1
$ nix-build ci -A eval.full --max-jobs 4 --cores $(($(nproc)  / 4)) -o before
$ nix-build ci -A eval.compare --arg afterResultDir ./after --arg beforeResultDir ./before
$ jq '.rebuildCountByKernel' < result/changed-paths.json
{
  "darwin": 58367,
  "linux": 75951
}

rebuild counts:
{
  "darwin": 1681,
  "linux": 2767
}


Propose Upgrading to Mattermost v5.7.1

Hi @magicknot!
Mattermost v5.7.1 release is officially out.
You can find download links with hash numbers here. Changelog with notes on patch releases is available here.
Thanks!

I updated it to v5.7.1 for a security release that we just shipped this morning ^


Add support for callable metrics

Issue

See #93
Description of changes
Added the option for callable metrics to the openTSNE.nearest_neighbors module. NNDescent checks if metric is compiled with numba, gives an informative warning, and then attempts to automatically compile it. If the function is already compiled or NNDescent is not being used then the callable is passed without any further checks. Docstrings have also been updated to match other docstrings with multiple types. If you'd like unit tests for this, then please provide guidance on how best to do this.
Includes

[X] Code changes
[ ] Tests
[X] Documentation

Thanks for the PR. I am missing tests, so we verify that regular python functions properly get compiled to numba code and a test with already numba compiled code.
Also, as mentioned in #93, it would be great if we could keep things consistent, and that you would add callable support to the BallTree as well.

I'll try adding tests, but I'm not very familiar and may need some guidance. BallTree doesn't overwrite the openTSNE.nearest_neighbors.KNNIndex.check_metric method, so support for callable metrics is already there.

Tests are added and passing. Let me know if you want me to add something more.

Should be good to go! Style errors are taken care of. I need to find a better linter. Have you seen black? https://black.readthedocs.io/en/stable/index.html I've been thinking about using it for my projects.

Awesome, looks great!

Have you seen black?

Yes, I'm a fan of black. Most of the code in openTSNE is compliant with its style guide, with the exception of cython files and the main tsne.py. The only reason I haven't implemented it fully is that it would introduce a whole lot more line breaks, which would IMO be less readable in this case. Otherwise, I try to use it wherever I can in my other projects.

I forgot to squash your commits before merging, so I had to go through some git-gymnastics to get everything down to one coherent commit. That's why there's another commit in the history here. I didn't want to bother you with this, but next time, it's better that you squash your commits into a single one with a descriptive commit message, or do an interactive rebase to organize your commits. I've taken care of it now, though. Thanks for your contribution :smile:

Ah, sorry about that. I'll keep that in mind for next time. No problem! Glad I could help 😄


Added Markdown Styling to the Readme

Thanks for the code, just prettying up the readme a bit.
You can see the result here:
https://github.com/schneems/ruby-git
Also added the license information to the bottom.

+1


Remove unused faculty views

As faculty page has changed, I think we can remove some of the earlier faculty views. @vinkumbr

New master branch doesn't have faculty views....


Set v1.3.0 as default version

What it solves
Resolves #2572 and #2550
How this PR fixes it
Set v1.3.0 as latest version for all networks. This opens the possibility to execute an upgrade from previous version through the interface.
It also assign v1.0.0 as contract interface for safes using a version before 1.0.0 to add a minimum compatibility. It will allow to load and upgrade v0.1.0 safes
How to test it
Try to upgrade safes from v1.0.0 onward.
Check normal operation with v1.3.0 safes (shouldn't be surprises because it's already working on BSC and Polygon)
Loading safes using a version older than 1.0.0 should work as expected
Upgrading from v0.1.0 could be possible, although is not required.

Created a safe 1.3.0 in rinkeby just fine
0x7e754b7FE711c5443bC82334bD4B62ce8B02FEad
Updated a 1.1.1 and a 1.0.0 safes to 1.3.0 just fine in rinkeby:
0xAC9A9Ce96f8603e86956b002e5d99138685e1dF2
0xE554dd1EdFbd8AF5bfADd2230B90f7b9Be871c8E
Tried a few tx in safes 1.1.1 and 1.3.0 and I didn't had any issues


fix: machinelearning model validation

Few example model validation errors found when formatting that were related to camelCasing the example values

Automation for azure-sdk-for-python

Automation for azure-sdk-for-ruby

Automation for azure-sdk-for-go

Automation for azure-sdk-for-js

Can one of the admins verify this patch?

Automation for azure-sdk-for-java


Dependence between epsilons

Hi authors,
I fail to understand why the randomly sampled epsilons are dependent in respect to the timestep axis. And likewise, I fail to understand why does epsilon_hat is independent. Thank you for the great work and eager for your reply!

Hi,
Eq1 establishes a connection between x_t and x_{t-1}, incorporating independent noise (eta).  Upon rephrasing it as Equation 2, we depict a connection from x_0 to x_t leading to a noise (epsilon) that takes into account all preceding etas from Eq 1.
Consequently, the epsilon linking x_0 to x_{t-1} demonstrates a significant correlation with the epsilon linking x_0 to x_t. These epsilons lack independence.
However, in our scenario, the sampling process generating x_t was devised as a separate auxiliary process between all timesteps.  There exists no connection between the creation of  x_t and the creation of x_{t-1}. This suggests that the epsilons creating x_t are independent.


Incorrect sticky scroll line, only occurs when file is first opened

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

Version: 1.91.1 (user setup)
Commit: f1e16e1e6214d7c44d078b1f0607b2388f29d729
Date: 2024-07-09T22:06:49.809Z
Electron: 29.4.0
ElectronBuildId: 9728852
Chromium: 122.0.6261.156
Node.js: 20.9.0
V8: 12.2.281.27-electron.0
OS: Windows_NT x64 10.0.22631
I'm seeing a mysterious incorrect sticky scroll line which only occurs the first time I open a file.  Seems like a bug, since it should be consistent.  I originally repro'ed this with the C/C++ extension, having changed the sticky scroll mode to foldingProviderModel, and confirmed that only a single range was being generated by the provider.  Indenting the line causes it no longer be a sticky line, then removing the indentation causes it to be picked up again.  It seems like when the file is initially opened, both indent-level and folding-provider stick scroll modes are being applied.
https://github.com/user-attachments/assets/2db2d554-5e51-40c6-b3e7-56a273059adb

Interesting thank you for picking up on this inconsistent behavior.


Epmp rtl

I considered adding a new top-level parameter to control whether ePMP is included, however as you get the original behaviour unless you write to the new CSR it introduces I thought it was better to avoid adding yet another configuration option.
I have tested this with a program for simple system which tries out the various new MML PMP permissions along with the RLB and MMWP bits and all looks to be working well. I've decided not to make a PR for these tests as they're not the cleanest code. I'll probably hold on to them in a branch on my Ibex fork so I can use them again if they're required.
Proper DV for ePMP needs to be discussed.
@udinator for visibility of the new feature.

Just realised there's a bug fix for PMP NAPOT region matching in here that I should spin out as a separate PR, will do that shortly

Just realised there's a bug fix for PMP NAPOT region matching in here that I should spin out as a separate PR, will do that shortly

@GregAC thanks for adding me to the PR!
I think DV for this feature could be a bit problematic, as we need proper ISS support (specifically in Spike).
I haven't been following ePMP progress in the general RISC-V community too closely so I'm not sure right now whether ISS support exists or not, but I'll start taking a look around.
Of course, our other option is to implement Spike support ourselves, but that opens up a whole other can of worms since we'd need to debug that implementation first.

@GregAC thanks for adding me to the PR!
I think DV for this feature could be a bit problematic, as we need proper ISS support (specifically in Spike).
I haven't been following ePMP progress in the general RISC-V community too closely so I'm not sure right now whether ISS support exists or not, but I'll start taking a look around.
Of course, our other option is to implement Spike support ourselves, but that opens up a whole other can of worms since we'd need to debug that implementation first.

This spike fork contains an ePMP implementation: https://github.com/joxie/riscv-isa-sim
We will need to merge it with our own fork but it's hopefully not too much of a problem. Support in mainline Spike should appear at some point but that will be later on in the ratification process.

This spike fork contains an ePMP implementation: https://github.com/joxie/riscv-isa-sim
We will need to merge it with our own fork but it's hopefully not too much of a problem. Support in mainline Spike should appear at some point but that will be later on in the ratification process.

cs_registers testbench found an issue (using pmp_mseccfg_d rather than pmp_mseccfg_q when checking the value of the mml field for altering behaviour in what pmpcfg bits we can set) causing the CI failure. I have fixed this.
I should add support to the cs_registers testbench for the new CSR and its behaviours. I'll address this in a follow up PR.

cs_registers testbench found an issue (using pmp_mseccfg_d rather than pmp_mseccfg_q when checking the value of the mml field for altering behaviour in what pmpcfg bits we can set) causing the CI failure. I have fixed this.
I should add support to the cs_registers testbench for the new CSR and its behaviours. I'll address this in a follow up PR.

This spike fork contains an ePMP implementation: https://github.com/joxie/riscv-isa-sim

Great, that's good to know!

We will need to merge it with our own fork but it's hopefully not too much of a problem. Support in mainline Spike should appear at some point but that will be later on in the ratification process.

Sounds good - I agree, this shouldn't be too much of an issue.

This spike fork contains an ePMP implementation: https://github.com/joxie/riscv-isa-sim

Great, that's good to know!

We will need to merge it with our own fork but it's hopefully not too much of a problem. Support in mainline Spike should appear at some point but that will be later on in the ratification process.

Sounds good - I agree, this shouldn't be too much of an issue.

I've updated the cs_registers testbench to deal with the new ePMP behaviour, also found and fixed a race condition in the cs_registers testbench.

I've updated the cs_registers testbench to deal with the new ePMP behaviour, also found and fixed a race condition in the cs_registers testbench.


Add support for ESM modules

Hey! Storybook uses this package as a dependency, and I noticed that it doesn't expose ESM modules - but it's quite easy to add support for. What do you think about this PR?
This generates ESM module syntax ("export default")
in a separate esm/ directory.
For simplicity, it assumes that if you want to use
ESM modules, you also have ES6 features in your
environment, so the build script turns that on as well.
The esm index.js is exposed through the "module" field
in package.json.

Coverage remained the same at 100.0% when pulling 937075b8d58ba40d7447de735205dab0858dc95d on eirslett:esm-modules into a8e7172b6c411ec320d6045fd4afbd2abc1b4bde on epoberezkin:master.

Would love to see some discussion/progress on this.

The pkg size is starting to be questionable. Why should we need so many different versions and duplicate the code?
I think it should just switch from CJS to ESM, use native vanilla js syntax and require a higher NodeJS version
I'm not only looking for a fast deep-equal but also for a small footprint with faster download, faster CI pipeline and reduced number of files js performences isn't everything. Many are already using ESM, it requires no bundler and can be directly imported from both Deno and browsers - and also nodes new http loader - so no NPM is needed.
Think u should:

[ ] ditch dot and just write vanilla js
[ ] ditch reactjs specific build - circular ref should not be deep-equals problem... it's reactjs. if we should handle circular ref then it should be done in a generic way that isn't specific to react but to all circular references. Use a weakref and check if a object have already been compared.
[ ] ditch cjs build
[ ] ditch es6 build
[ ] ditch esm build
[ ] add "type": "module" in package.json
[ ] publish as a ESM only package

Hey there 👋
Just wanted to bring up that the lack of esm support seems to be causing some downstream issues in libraries with the rise of build tools like Vite that are esm-only. I'm not sure if there is a workaround, but having esm output would help a lot here.

Gentle ping?

@valtism This is a small library, so it's easy to inline the function.
I made a esm version of the library (@ctx-core/fast-deep-equal) as well that suits my own needs, which are underscore case.

@epoberezkin Any updates here?
Facing issues with Vite

2 years gone. and problem still persist so sad

I ended up forking this library to provide ESM support.
https://www.npmjs.com/package/@ctx-core/fast-deep-equal

would the maintainers take a different PR?

any news on 2024 or we will wait to 2025?


audio: Very slight noise on browsers

Need to adjust buffer size or require other optimization?

On Safari, p.positionInSamples in driver_js.go can be less than the actual currentTime more often than Chrome, and that's why the noise occurs on Safari. Hmm

Fixed


Automatically invert tooltip's position if there is not enough space

🚀 Feature request
Automatically invert tooltip's position if there is not enough space to display its content. The popover already does it.
Motivation
Never let the browser's edges hide the tooltip.
Example
const reakitTooltip = useTooltipState({placement: top});
=> placement automatically switches to bottom if there is not enough space.

Hi @DoneDeal0! It already does that, doesn't it?
If it's not working for you, could you please provide a CodeSandbox reproduction?

Hello @diegohaz , thanks for your answer! Right now, the automatic position only works for small content. For large texts (for example a list of countries chosen in a filter), the behaviour is broken. I have reproduced the issue in this sandbox:
https://codesandbox.io/s/react-hooks-usestate-forked-45t06?file=/src/index.js
I you remove some lorem ipsum, it will work again as expected. I suspect there is a length issue.

In your example, it's showing at the top when there is not enough space to show the content at the bottom. Open the preview fullscreen and zoom out a bit if you have to, the tooltip will appear at the bottom if there is enough room, otherwise it'll default to show at the position you told it to show at.
I'm not sure how best to solve your problem, but I'd suggest that a tooltip isn't the right component when your content may be larger than the viewport.

Ok, my bad, it makes sense. I close the issue then. Thanks for your time!

Yeah, you'll be probably better using a Popover with a scrollable area inside. There are some discussions around hover popovers on #633. Any feedback there is highly appreciated!


0.8.0 RC-6 (Request for Comments)

The latest Request for Comments is 6.  THIS IS THE LATEST RC.
This issue is for reporting issues with this specific version of MeerK40t.
Please do all further testing on this release. Please do not report any further bugs with previous beta releases. Do give any other types of feedback, questions, concerns or comments.

Previous Issue: https://github.com/meerk40t/meerk40t/issues/967
Carry-overs from RC-1

[ ] Continues to try USB on quit; when there is no USB driver selected.

Carry-overs from RC-2

[ ] Scale does not apply to Jog moves with pane or navigation.
[ ] Images and the screen sizes for correct raster sizes may be in error.
[ ] RasterWizard scripts should defer to the planning stage.
[ ] Images should have properties to set the DPI of the image. This can often be exactly a raster-step amount on the image but all DPIs are functionally plausible.
[ ] Simulate is starting bottom left (even though I have not selected Home Bottom in Device Config.
[ ] Balor/GRBL settings do not save or load correctly from the crc.
[ ] user_scale_x/y amounts do not seem to take effect correctly.

RC-3 Issues:

[ ] With console open using WASD keys steals focus and causes an infinite loop (likely due to changed console code), need to check 0.7.x for similar bug.
[ ] Extend saving to load and save custom element types.
[ ] configuration files do no persist if the program crashed during execution.
[ ] GAG-Union can cause long infinite looped pause.
[ ] People want to fiddle with the write buffer thinking it will fix buffer underruns. This might be better off being suppressed as a feature.
[ ] Property window doesn't do multiple item manipulations rather adds more things to the notebook. (still true, but stroke/fill/stroke width can be circumvented by using the tools in the statusbar)

RC-4

[ ] Looks like cameras universally don’t respect FPS setting in 0.8.0005. Both IP and USB run fast when I have them set to 1 FPS.
[ ] Preferences is “gone” mac style in the 0.8.0005 frozen build. No longer in the menu or working with “Apple-,” keyboard command.
[ ] Needs fallback for no-rich text console in case a build is missing that and it doesn't get added within hidden.
[ ] Needs to notify the user better that rich-text failed rather than wx in general

RC-5
Flow test ideas.

[ ] If flow text pointer exceeds data then the current run-batch is degenerate. This should issue a warning during plotplanning.

RC-5 Addenda

[ ]  Deleting all settings leaves the delete key seemingly unbound, deleting things is very hard.
[ ]  Dragon-keyfob test displays inverted dragon showing black background.
[ ]  Wordlisted Text object did not appear in raster.
[ ]  Setting note to Laser 15%\nRaster wizard step 3 caused the % value to fail during the write configuration. Values being saved need to use %% to do escape % signs.
[ ]  .rd files do not load.
[ ] estop over tcp does not work (clarification: estop works. Recovery from estop is a disaster)
[ ] Dragging nodes causes all open nodes to close (annoying)
[ ]  Selecting an item in the scene does not select in the tree (or highlight anything)
[ ]  Beep isn't a registered command. Needs beep console command.

Additional comments provided in Discord

[ ] Ruidacontrol needs to respect (receive) EOF before starting the received job.
[ ] Ruidacontrol has movement issue when moving between raster objects. This actually shuts down my Y axis stepper driver chip; and no more Y moves happen on my machine until I reboot the k40.
[ ] Rasters at even 100mm/s are problematic. 200mm/s seems unusable.
[ ] balor image is running for a very long time on a 5mm x 5mm image; setting step to 1,000 doesn’t seem to change that run time.
[ ] Wobble sinewave can crash on run; see crash report on discord - - - This also crashes the controller.
[ ] Wobble gear crashes before run; see crash report on discord
[ ] Wobble should be able to specify inner or outer edge; or center of vector path; currently it requires extensive work in Inkscape to make an inset to be able to use on a specific path for that reason (to be able to respect the path as a cut).
console Operation frequency xxx is not a valid command
[ ] Angle offset is missing from balor configuration.
[ ] Negative delay timing in balor configuration are not supported
[ ] ez cad shows an elapsed time for the last "execution" in the status bar at the bottom of the window, which is extremely helpful in tuning a job for cutting as fast as possible for example.
[ ] Ez cad has a timer operation object that allows delays in the middle of the job; this is relatively essential to cut parts while not increasing the heat too much in the material.
[ ] Red on and red off need to be controlled from the GUI. That’s not currently possible
[ ]  The galvo light (on with any setting) and no galvo buttons will turn on the red laser and leave it on. But not in the same way console red on does….
[ ]  Red light offset is not functional
[ ]  Somehow red pm works the same as red on? [19:15:04] red pm[19:15:04]
[ ]    Turning on redlight, Offset x and Y, and scale X and Y don’t work for the field (fiber laser)
[ ]  Red light in ez cad has a unique scale value not shown in balor-configuration
[ ]  Tree is still not connected to the scene in that pressing delete with something selected in the scene deletes only what is selected in the tree (not usually the same thing).
[ ]  Selecting an object in scene doesn’t highlight the same in the tree.
[ ]  Colors and operation text in the tree are all wrong on file open with meerk40t operations in the .svg file. Highlighting or opening operations resets them.

Longer Term Issues

[ ] initial settings for all 5 cameras are to point at the same default camera rather than having enumerated the cameras on the system at startup and add any newly found ones to the end of the existing list.
[ ] Beep triggers on data send complete but not on wait-finish at the laser.

Non-Fix.

The interpretation of lengths without units (i.e. mils) has changed.

No windows executable.

Yeah, tiger just ported the new stuff over. I'll have to look up deleting the tag and including jpirnay's fixes that came in this morning but after I pulled the trigger here.


[Storage] SchemaDB: add tests for open_readonly

Add test to ensure coverage.

@bors-libra r+

:pushpin: Commit 6d91320 has been approved by msmouse

:hourglass: Testing commit 6d9132004bdb16e077f82e33b08943c0f1f9b43f with merge 582e1770ea24634ece98fa70798265a1d64ba805...

:sunny: Test successful - checks-actions_land_blocking_test, checks-circle_commit_workflow
Approved by: msmouse
Pushing 582e1770ea24634ece98fa70798265a1d64ba805 to master...


Extract code snippets from how-to-change-text-in-a-table-in-a-word-processing-document.md

Extract the code snippets from docs/word/how-to-change-text-in-a-table-in-a-word-processing-document.md and use docfx snippets to retrieve them from the samples folder and audit the text.

closing as duplicate


feat: Add local server for development

Adds a local express server for development by using ts-node-dev watcher. This means that the server does not require to run the build and comes with hot reloading.
Notable changes:

moved declarations to a standalone file
modified tsconfig for asap-server to get ts-node to work
changed the yarn start:backend command definition so it only runs the web server (instead of the whole docker-compose)

Important

the express migration does not (at least for now) involve migrating the /webhook endpoints meaning that we will still need to run serverless-offline to test these endpoints locally
by default the API points to the local squidex instance, but the yarn start:backend will no longer provide one, it is therefore required to either point to the DEV instance manually by changing the env vars or run the docker-compose

Parking this until all the endpoints are migrated to express


List third party libraries for use with GOV.UK One Login

Some teams have started to open source the code they use to interact with us.
I wonder if it's useful to review which of those we endorse and then list them.
Discovering something like this could save an RP a lot of time?
Current ones we're aware of:

maintainer
repository
license
framework
language

DFE-Digital
one-login-aspnetcore
MIT
ASP.NET
C#

SkillsFundingAgency
das-shared-packages
MIT

C#

GDS
relying-party-stub
MIT
com.nimbusds/oauth2-oidc-sdk
Java

SFA have another ASP.NET library https://github.com/SkillsFundingAgency/das-shared-packages/tree/master/SFA.DAS.GovUK.Auth

Yeah let's list everything we know of.
Tech writers and our RP experts can then decide what's relevant for our external docs

@huwd i have a list of things that i have been curating, we should talk

Yes, just to add that Elena has been looking at this with @pauldougan and @philf999 I believe. We know the standard OIDC list of libraries we linked to previously was unhelpful because several of the options did not work, so it'd be great to have specific examples that we have confidence in.

Cool, I'll catch up with Paul tomorrow, find the best way to feed this in.

we had a chat with an RP today (using node) who explicitly asked for nodejs library recommendations for:

handling the JWTs
oidc

Ok this is the subject of AP-121 so I'm goiing to link the two together and close this down


Update protobuf support for 4.x

📝 Description of the feature
See https://github.com/ansys/ansys-api-mapdl/pull/11/files for an example.
💡 Steps for implementing the feature
No response
🔗 Useful links and references
No response

Implemented by #26


Make delivery services optional

Goal
Makes the DeliveryModule2 return null if the SDK is configured to only send data to OTel exporters. This avoids unnecessary work.
Testing
Added unit test coverage.

@bidetofevil my general preference is for null rather than no-op as it marginally reduces app size impact when rolled out across as a pattern across the entire SDK, but that's a weak preference

We should probably talk about this in a guild meeting. My preference is also marginal, but that's likely due to the Java background and wanting to avoid nulls like the plague. In Kotlin, nulls are so much more explicit, so maybe having nulls can be use to signify optionality and is totally fine?


added meta-data-query section

What does this PR do?
Added the simple query page which interacts with the API server.
The results are a placeholder at the moment as the File component isn't suitable for rendering elements returned.
All Submissions:

[x] Have you followed the guidelines in our Contributing document?
[x] Have you successfully ran tests with your changes locally? Including container validation.
[x] Have you lint your code locally prior to submission?
[x] Have you checked to ensure there aren't other open Pull Requests for the same update/change?
[x] Have you labelled this PR correctly? E.G. major, milestone, breaking, breaking-change, minor, feature, enhancement, patch, fix, chore, refactor etc

Changes to Core Features:

[x] Have you added an explanation of what your changes do and why you'd like us to include them?
[x] Have you written new tests for your core changes, as applicable?

Should we change the file names to kebab-case?

Should we change the file names to kebab-case?

I shall do that now sir!

good point that the File/Directory components arent set up to render elements returned, but if you look at the metadata_collection.data structure (see below), I think we can have the results of the query essentially replace that structure

good point that the File/Directory components arent set up to render elements returned, but if you look at the metadata_collection.data structure (see below), I think we can have the results of the query essentially replace that structure

how would we like the results displaying?

We can do it as a separate PR imo


Make sure file is properly scoped in cron_access

This was hitting the file resource not the file ruby class.
Signed-off-by: Tim Smith<EMAIL_ADDRESS>

Yeah we need to wire up chefstyle with some real rules


⚠ Bofrost.fr has degraded performance

In d5cc1fc, Bofrost.fr (https://www.bofrost.fr) experienced degraded performance:

HTTP code: 200
Response time: 1592 ms

Resolved: Bofrost.fr performance has improved in 54fcc34 after 16 minutes.


mock location check

It would be great if the client can detect whether "Allow mock location" is enabled and stop sending it's coordinates in order to prevent sending spoofed locations.
// returns true if mock location enabled, false if not enabled.
if (Settings.Secure.getString(getContentResolver(),
       Settings.Secure.ALLOW_MOCK_LOCATION).equals("0"))
       return false;
       else return true;

However some users want to use mock locations (for testing purposes for example), so it would be best if this check can be enabled/disabled and implemented with another feature: password protection for client settings.

About mock locations, before thinking of blocking whatever (many cases to figure out, would need UI work), at least reporting if mock locations are enabled when sending locations -eg: POST ...&lat=1.23&lon=2.34&...&mock=[0|1]. Simple, and the blocking logic could be done somewhere else.

Any news on sending mock location status ? Thanks !

Nothing yet, as far as I know.

For my use case, just sending a "&mock=[0|1]" upstream would be enough. Your thoughts on this ? Thanks,

I think sending it as a boolean value would be better.

Whatever you think is the finest :)

I'm not interested (yet) in detecting whether devices are rooted, just detecting the basic case would be so nice


Revert "Geirst/add feeding concurrency setting to proton"

Reverts vespa-engine/vespa#3716
@balder @geirst @toregge
This broke a lot of performance tests.

@geirst I suggest you prepare a pull request for performance tests limits tomorrow so we avoid long term breakage there too. me might also need to evaluate the results.