Reusable tasks error.

On some machines getting this error, on some all is good.
ReusableTasks.InvalidTaskReuseException: HasValueSentinel - Should not be invoked.
в System.Runtime.CompilerServices.ResultHolder.<>c.<.cctor>b__4_2()
в System.Runtime.CompilerServices.ResultHolder1.TryInvoke(Action callback)    в System.Runtime.CompilerServices.ResultHolder1.TrySetExceptionOrResult(Exception exception, T result)
в System.Runtime.CompilerServices.ResultHolder`1.SetResult(T result)
в MonoTorrent.Client.Connections.SocketConnection.HandleOperationCompleted(Object sender, SocketAsyncEventArgs e)
в System.Net.Sockets.SocketAsyncEventArgs.OnCompleted(SocketAsyncEventArgs e)
в System.Net.Sockets.SocketAsyncEventArgs.FinishOperationSuccess(SocketError socketError, Int32 bytesTransferred, SocketFlags flags)
в System.Net.Sockets.SocketAsyncEventArgs.CompletionPortCallback(UInt32 errorCode, UInt32 numBytes, NativeOverlapped* nativeOverlapped)
в System.Threading._IOCompletionCallback.PerformIOCompletionCallback(UInt32 errorCode, UInt32 numBytes, NativeOverlapped* pOVERLAP)

do you update to the latest ReusableTasks 1.0.5 ?

Yes, 1.0.5 installed via Nuget.

well, this exception is throwed quiet often before 1.0.5, but I test the 1.0.5 the exception is no longed throwed.
I has only one computer to test which has amd 8 cores cpu

I've been doing some more thorough stress testing and while I can't trigger a problem anymore I do think there's a subtle race condition.
I believe it's possible for IsComplete to be invoked after the HasValue flag has been set, but before the continuation field has been updated. This can cause the task to complete synchronously, which means we could complete synchronously and asynchronously.
I never liked having a HasValue flag in addition to the continuation field, so I think I'll go ahead and simplify that. My understanding of this ill-documented extension point is a bit better now which helps.
If only there was some thorough documentation covering the exact semantics expected by the runtime :p
I'll issue a pre-release update on NuGet for ReusableTask and then ask you to update to that pre-release to see if it solves the problem! If it does I'll promote the release to stable.

@justscribe Can you manually reference version 1.0.6-beta of ReusableTasks in your project to force it to upgrade, and then let me know if the problem goes away. After some serious thinking I am pretty certain the fix in 1.0.5 was incomplete, and the second part added in 1.0.6-beta will fix this once and for all.
https://www.nuget.org/packages/ReusableTasks/1.0.6-beta

Alternatively just reference the MonoTorrent 1.0.9-beta  nuget package, or compile from here: https://github.com/mono/monotorrent/tree/monotorrent-1.0-beta . The only difference is that the minimum required ReusableTasks version was increased to 1.0.6-beta instead of 1.0.5.
Do let me know how you get on!

I've done checkout to previous version, that was without Reusable tasks for now.

I believe a monotorrent version using ReusableTasks 1.0.0 -> 1.0.2 should also be reliable :)
However do use whatever keeps you unblocked!

Maybe that info will help, this issue caused when one man tried to download torrent on it's own machine, one torrent client is seeding, and monotorrent module is downloading, so the speed was very high.
In some point it drops without any error, in some cases was erros like (sorry for obfuscated methods):
System.Net.Http.HttpClientHandler.WebExceptionWrapperStream.Read(Byte[] buffer, Int32 offset, Int32 count)
   в System.Net.Http.DelegatingStream.Read(Byte[] buffer, Int32 offset, Int32 count)
   в EBEEOBJFPEGNOHIKDGCDNKHDGENAEPBBBECF.HFJDFIOJOLNADHPDOPBHDDLJGCANLEMKEKPA.A.AENHFKOMDOELCJJKFJCDPBLMPIFDPLMEIOHL(Object , Object , Int32 , Int32 )
   в EBEEOBJFPEGNOHIKDGCDNKHDGENAEPBBBECF.HFJDFIOJOLNADHPDOPBHDDLJGCANLEMKEKPA.A.MoveNext()
--- Конец трассировка стека из предыдущего расположения, где возникло исключение ---
   в EBEEOBJFPEGNOHIKDGCDNKHDGENAEPBBBECF.HFJDFIOJOLNADHPDOPBHDDLJGCANLEMKEKPA.A.AENHFKOMDOELCJJKFJCDPBLMPIFDPLMEIOHL(Object )
   в EBEEOBJFPEGNOHIKDGCDNKHDGENAEPBBBECF.HFJDFIOJOLNADHPDOPBHDDLJGCANLEMKEKPA.A.MoveNext()

That looks like a different issue.
The first issue reported is with ReusableTasks and normal socket connections. This stacktrace is related to HTTP connections (web seed or a tracker announce?) Which doesn't use ReusableTasks as far as I can tell.
If the application is completely crashing then you should be able to get the stacktrace from the terminating exception if you attach to the AppDomain.CurrentDomain.UnhandledException event (or whatever it's called). That may shed more light on the problem.

UnhandledException event already handled with log writing, but it can't handle the crash... Strage...
You're confident that local seeding/downloading can't cause errors with ReusableTasks?

It could, but without a stacktrace it's not possible to tell what's going on. I don't know how your logging works, but can you ensure you invoke Flush on the underlying stream before the event handler finishes running? That should ensure the data is on disk.
Is this running on Windows using the normal .net framework? If so you may be able to get more information by attaching the visual studio debugger to the application. If it's on mono you may be able to get more logging using MONO_LOG_LEVEL=info and MONO_LOG_TRACE=E:all. those environment variables should cause the full stacktrace of every thrown exception to be written to thr standard output stream

I am confident enough that the latest changes in ReusableTasks 1.0.6 are, at the least, no less reliable than what 1.0.5 and do have a chance of fully resolving the issues which were reported with 1.0.4. I shipped those and bumped MonoTorrent to rely on 1.0.6. If there are still issues with the latest master builds, or MonoTorrent 1.0.9/ReusableTasks 1.0.6 then do let me know!
I'm going to close this for now, but please do reopen if it's not 100% stable.

I can confirm 1.0.6 fixed the issue for us. We have 180 clients running and we would get 10 crashes a day with 1.0.5, and everything looks fine now.

I'm agree, also no issues with 1.0.6.


[New chain]: XDC Network Mainnet

Chain Name
XDC Network
RPC URL
https://rpc.xdc.org
The chain must be added to https://chainlist.org/

[X] I confirm that the chain is added to chainlist

After creating the issue, a bot will estimate the required pre-fund and post it in the comments. Please check this checkbox after you send the pre-fund.

[ ] I sent the pre-fund in accordance with Github Action's comment

Relevant information
Explorer - https://xdc.blocksscan.io/

Notice: If no new information is provided in the next 2 weeks the issue will be closed

Hello @rmeissner ,
We have funded balance in given account, Kindly guide us further to add XDC Network in Safe ecosystems,

Notice: If no new information is provided in the next 2 weeks the issue will be closed

Hello @rmeissner
Has Safe Singleton factory already been deployed on the XDC Network? If Yes, what is the next course of action for us to be able to offer Safe multisig wallet to our users? And how can we get XDC Network supported in Safe Wallet UI?


Feature request - additional ping fields/multiple role pings from one reminder/interval?

Unsure if it is currently possible, or could be implemented...  Could being able to manually add another ping role field be allowed, or allow multiple roles to be selected in the current ping fields for intervals and reminders?

@Kakarifers %setup ping @role1@role2@role3

That's for the bump channel though, correct?  I was following along with the syntax of the setup for a /remind create.

That's for the bump channel though, correct? I was following along with the syntax of the setup for a /remind create.

You can use the message command works similar


Implement llvm.x86.aesni.* intrinsics

Thanks for the PR!
Now we are getting into territory where we'll have to make some non-trivial decisions. I am honestly not super excited about having to maintain an AES implementation. I cannot review this code, and implementing crypto is always dicey. So, in other words I see this PR as coming with a pretty high long-term cost, much more so than the other x86 intrinsic PRs we had so far. How strong is the need to have these intrinsics in Miri, compared to the cost? Can we avoid carrying our own AES implementation, can we import a (pure-Rust) crypto library instead?
@rust-lang/miri what do you think?

Has aes::hazmat been considered? Presumably with
aes = { version = "0.8", features = ["aes_force_soft"] }

Has aes::hazmat been considered? Presumably with
aes = { version = "0.8", features = ["aes_force_soft"] }

aes_force_soft seems to be a cfg flag and not a crate feature

doh.

@tarcieri so I take you you are saying aes is a solid implementation?

aes_force_soft seems to be a cfg flag and not a crate feature

That sounds like we should ask the crate author to turn it into a crate feature?

so I take you you are saying aes is a solid implementation?

I'm the author (or rather, translator), so take it with a grain of salt. However, it is using one of the best, most modern techniques available.

That sounds like we should ask the crate author to turn it into a crate feature?

It was a crate feature in the past. If one (potentially transitive) dependency enabled the feature, it would disable the use of AES-NI for every other application in the same binary, a problem which came up in practice. As it subtracts functionality, rather than adding it, it does not map well to Cargo features.
We switched to the use of a cfg attribute to move this decision to the toplevel binary, rather than one which could be made by any dependency with no way for the developer of the toplevel binary to disable it without patching their dependencies.

I'm the author (or rather, translator), so take it with a grain of salt. However, it is using one of the best, most modern techniques available.

Ah, good to know, thanks! That still give me confidence. :)

As it subtracts functionality, rather than adding it, it does not map well to Cargo features.

It's not subtractive as far as the API is concerned, right? I view it as the additive guarantee that no AES hardware instructions will be used. But maybe that's a somewhat stretched position. ;)

We switched to the use of a cfg attribute to move this decision to the toplevel binary, rather than one which could be made by any dependency with no way for the developer of the toplevel binary to disable it without patching their dependencies.

Miri as the toplevel binary still doesn't have a good way to make this decision though. It can't be set in Cargo.toml, I think? We'd have to make sure that every way of building Miri (both in this repo and as part of the rustc distribution) sets the --cfg flag, that's far from easy.

Is there a specific reason you need to disable support for hardware intrinsics?
The aes crate has CPU feature autodetection and will use the fastest backend available.

Yeah I guess in the end we don't really care how aes implements these operations as long as it implements them correctly. Addition in Miri is in the end also implemented with the host CPU's addition instructions, and unlike float operations  (where we use a softfloat library) I wouldn't know that AES operations are notorious for different behavior on different hardware (to the contrary, their behavior is extremely precisely specified down to the last bit). We avoid unsafe code and non-Rust code as much as we can in Miri but of course we have plenty of that in our dependencies.

+1 on using an external crate instead of implementing including our own implementation.
I implemented aesenc, aesded and aesimc directly with their corresponding aes::hazmat functions. aesenclast and aesdeclast required pairing aesenc + InvMixColumns and aesdec + MixColumns.
I still couldn't remove the S-Box transformation because it is needed by aeskeygenassist. Any suggestion?

You can find a description of the steps performed by aeskeygenassist here: https://www.felixcloutier.com/x86/aeskeygenassist
Unfortunately that's the one part we don't have a portable wrapper for yet, though it would be something interesting for us to provide.

@eduardosm can you restrict this PR to the ones where we can use the aes crate?

@tarcieri since you're here anyway, could I ask you to take a look at how we are invoking aes? That that looks sensible for an implementation of Intel's AES intrinsics?

@RalfJung the portable low-level API we implement is specifically designed to resemble the AES-NI API, so it should be a fairly straightforward mapping. What I skimmed looked fine, but I can review in depth later.

@tarcieri it looks like some hacks are needed where the operation does more than we need: "undo the InvMixColumns with MixColumns". But maybe that's not as hacky as it looks to me. :)

@RalfJung yeah, that's another gap in the API. We can try to provide a fully AES-NI compatible portable API, but...
The portability story is rather tricky, because we try to provide an API which is fast on both Intel and ARM, but Intel and ARM chose to implement AES in two completely different ways: ARM uses standard AES decryption and Intel uses a technique called the equivalent inverse cipher. On top of that, we also fall back to a portable software implementation, so everything needs to work on all three backends.
What we have implements the equivalent inverse cipher (i.e. AES-NI-like API) along with exposing various operations like mix columns and inverse mix columns, and while the latter are native instructions on ARM, on Intel we have to emulate mix columns on Intel by invoking inverse mix columns three times, and to provide all of the instructions like aeskeygenassist we'd need to implement backends for it using ARM and the portable implementation as well (although that wouldn't be too hard).
I would just suggest filing issues about the API gaps and we can decide if first-class support makes sense in the aes crate and go from there, but in the meantime if it's possible to emulate all of the instructions using what is available, that seems OK for now to me.

Okay, so the fact that we do some emulation by "un-inv-mixing" seems fine then, thanks. Looks like the keygenassist operation cannot be emulated (if I understood @eduardosm correctly); we'll just not support that intrinsic for now.

:umbrella: The latest upstream changes (presumably #3108) made this pull request unmergeable. Please resolve the merge conflicts.

But I'm also just happy @eduardosm is on this intrinsics tear. I never really expected anyone would turn up and just do so many of them. Hero work.

I can only agree, thanks a ton for all your work. :)
@bors r+

:pushpin: Commit c01e7a9c067acee403e87a087dc95becb255c7d8 has been approved by RalfJung
It is now in the queue for this repository.

:hourglass: Testing commit c01e7a9c067acee403e87a087dc95becb255c7d8 with merge 1fffca4e62f1e8bfccb1bd128036d81c3c0da987...

:sunny: Test successful - checks-actions
Approved by: RalfJung
Pushing 1fffca4e62f1e8bfccb1bd128036d81c3c0da987 to master...

Thanks everyone for your reviews and suggestions!


Allow rotating Y axis labels and fix bug when that is the case

This change came from a use case where we had Y axis title labels on the left and right that corresponded with two different data sets shown at the same time. We wanted both labels' baselines to be on the inside (facing the chart) and so we needed the right-side title label to be rotated 90 degrees instead of the standard -90.
This change creates a label settings subclass for the Y axis that has the same default values as before (particularly the -90 degree rotation) but allows changing the rotation value. When the value is rotated, the Y layer now uses the correct dimension of the axis title label in order to calculate the width. The label also correctly calculates its rotated bounds (previously it treated degrees as radians).

Very cool, thanks!
The only thing I'm not fully convinced is the ChartAxisYLabelSettings class to provide the -90 default. I would rather create a method to return ChartLabelSettings with overwritten rotation settings. And put the -90 default in an extension, using this method. Something like:
public class ChartLabelSettings {
    let font: UIFont
    let fontColor: UIColor
    let rotation: CGFloat
    let rotationKeep: ChartLabelDrawerRotationKeep
    let shiftXOnRotation: Bool

    public init(font: UIFont = UIFont.systemFontOfSize(14), fontColor: UIColor = UIColor.blackColor(), rotation: CGFloat = 0, rotationKeep: ChartLabelDrawerRotationKeep = .Center, shiftXOnRotation: Bool = true) {
        self.font = font
        self.fontColor = fontColor
        self.rotation = rotation
        self.rotationKeep = rotationKeep
        self.shiftXOnRotation = shiftXOnRotation
    }

    public func withRotation(_ rotation: CGFloat = 0, rotationKeep: ChartLabelDrawerRotationKeep = .Center, shiftXOnRotation: Bool = true) -> ChartLabelSettings {
        return ChartLabelSettings(font: self.font, fontColor: self.fontColor, rotation: rotation, rotationKeep: rotationKeep, shiftXOnRotation: shiftXOnRotation)
    }
}

public extension ChartLabelSettings {
    public func defaultVertical() -> ChartLabelSettings {
        return self.withRotation(-90)
    }
}

Also, the examples have to be adjusted to call this method because the y title label is showing horizontally. But I can do this after the merge.

This way instead of having to pass all the parameters again to create the y-axis label you can just write labelSettings.defaultVertical()

Our use case had us creating different label settings per axis anyways, so the more specific subclass was more natural. I see what you mean in the examples though.
:+1: Thanks for the merge!

Thanks to you for the contribution!


DropExtrema

The DropExtrema(low=0.01, high=0.99) transform drops extreme values in both lower and upper tails.

sir , where is the function DropExtrema defined I am not getting it in the TableTransform.jl

The issue is about adding the transform, it doesn't exist yet.
Em sex., 8 de set. de 2023 04:26, Jay-sanjay @.***>
escreveu:

sir , where is the function DropExtrema defined I am not getting it in the
TableTransform.jl
—
Reply to this email directly, view it on GitHub
https://github.com/JuliaML/TableTransforms.jl/issues/193#issuecomment-1711204759,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAZQW3I7ALAQKNV74EBEQTLXZLCEBANCNFSM6AAAAAA4KUNM7U
.
You are receiving this because you authored the thread.Message ID:
@.***>

The DropExtrema transform is a transform that computes a = quantile(column, low) and b = quantile(column, high), and then discards all rows for which the values of the column lie outside the interval [a,b].

Sir , this is the link for the PR
https://github.com/JuliaML/TableTransforms.jl/pull/197

Fixed in the master branch.


use mono checkpoints

Users are ending up with sharded checkpoints, unable to convert to HF format. I believe that removing this line will cause us to save mono checkpoints.

Same


Error when context is too short

What is the best way to deal with short contexts?
I believe this implementation fails when the context is less than 15 tokens due to outer = tf.matrix_band_part(outer, 0, 15), which is located at https://github.com/HKUST-KnowComp/R-Net/blob/master/inference.py#L111.
Code Snippet
    with tf.variable_scope("predict"):
            outer = tf.matmul(tf.expand_dims(tf.nn.softmax(logits1), axis=2),
                              tf.expand_dims(tf.nn.softmax(logits2), axis=1))
            outer = tf.matrix_band_part(outer, 0, 15)
            self.yp1 = tf.argmax(tf.reduce_max(outer, axis=2), axis=1)
            self.yp2 = tf.argmax(tf.reduce_max(outer, axis=1), axis=1)

Example
For example, consider 2 contexts.
The N64 was released in Japan on June 23, 1996.
The N64, Nintendo's third game console, was released in Japan on June 23, 1996.
When was the N64 released? works for the 2nd context, but the 1st context throws an error.
Modified __main__ From inference.py
if __name__ == "__main__":
    infer = Inference()
    context = \
        "The N64 was released in Japan on June 23, 1996."
    ques1 = "When was the N64 released?"
    ans1 = infer.response(context, ques1)
    print("Answer 1: {}".format(ans1))

Error Message
/home/eric/anaconda3/lib/python3.6/site-packages/h5py/__init__.py:36: FutureWarning: Conversion of the second argument of issubdtype from `float` to `np.floating` is deprecated. In future, it will be treated as `np.float64 == np.dtype(float).type`.
  from ._conv import register_converters as _register_converters
WARNING:tensorflow:From /home/eric/anaconda3/lib/python3.6/site-packages/tensorflow/contrib/learn/python/learn/datasets/base.py:198: retry (from tensorflow.contrib.learn.python.learn.datasets.base) is deprecated and will be removed in a future version.
Instructions for updating:
Use the retry module or similar alternatives.
Traceback (most recent call last):
  File "/home/eric/anaconda3/lib/python3.6/site-packages/tensorflow/python/client/session.py", line 1327, in _do_call    return fn(*args)
  File "/home/eric/anaconda3/lib/python3.6/site-packages/tensorflow/python/client/session.py", line 1312, in _run_fn
    options, feed_dict, fetch_list, target_list, run_metadata)
  File "/home/eric/anaconda3/lib/python3.6/site-packages/tensorflow/python/client/session.py", line 1420, in _call_tf_sessionrun
    status, run_metadata)
  File "/home/eric/anaconda3/lib/python3.6/site-packages/tensorflow/python/framework/errors_impl.py", line 516, in __exit__
    c_api.TF_GetCode(self.status.status))
tensorflow.python.framework.errors_impl.InvalidArgumentError: num_upper must be negative or less or equal to number of columns (12) got: 15
         [[Node: predict/MatrixBandPart = MatrixBandPart[T=DT_FLOAT, Tindex=DT_INT64, _device="/job:localhost/replica:0/task:0/device:CPU:0"](predict/MatMul, predict/MatrixBandPart/num_lower, predict/MatrixBandPart/num_upper)]]

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "inference.py", line 231, in <module>
    ans1 = infer.response(context, ques1)
  File "inference.py", line 140, in response
    model.c: context_idxs, model.q: ques_idxs, model.ch: context_char_idxs, model.qh: ques_char_idxs})
  File "/home/eric/anaconda3/lib/python3.6/site-packages/tensorflow/python/client/session.py", line 905, in run
    run_metadata_ptr)
  File "/home/eric/anaconda3/lib/python3.6/site-packages/tensorflow/python/client/session.py", line 1140, in _run
    feed_dict_tensor, options, run_metadata)
  File "/home/eric/anaconda3/lib/python3.6/site-packages/tensorflow/python/client/session.py", line 1321, in _do_run
    run_metadata)
  File "/home/eric/anaconda3/lib/python3.6/site-packages/tensorflow/python/client/session.py", line 1340, in _do_call    raise type(e)(node_def, op, message)
tensorflow.python.framework.errors_impl.InvalidArgumentError: num_upper must be negative or less or equal to number of columns (12) got: 15
         [[Node: predict/MatrixBandPart = MatrixBandPart[T=DT_FLOAT, Tindex=DT_INT64, _device="/job:localhost/replica:0/task:0/device:CPU:0"](predict/MatMul, predict/MatrixBandPart/num_lower, predict/MatrixBandPart/num_upper)]]

Caused by op 'predict/MatrixBandPart', defined at:
  File "inference.py", line 194, in <module>
    infer = Inference()
  File "inference.py", line 127, in __init__
    self.model = InfModel(self.word_mat, self.char_mat)
  File "inference.py", line 55, in __init__
    self.ready()
  File "inference.py", line 111, in ready
    outer = tf.matrix_band_part(outer, 0, 15)
  File "/home/eric/anaconda3/lib/python3.6/site-packages/tensorflow/python/ops/gen_array_ops.py", line 3464, in matrix_band_part
    num_upper=num_upper, name=name)
  File "/home/eric/anaconda3/lib/python3.6/site-packages/tensorflow/python/framework/op_def_library.py", line 787, in _apply_op_helper
    op_def=op_def)
  File "/home/eric/anaconda3/lib/python3.6/site-packages/tensorflow/python/framework/ops.py", line 3290, in create_op    op_def=op_def)
  File "/home/eric/anaconda3/lib/python3.6/site-packages/tensorflow/python/framework/ops.py", line 1654, in __init__
    self._traceback = self._graph._extract_stack()  # pylint: disable=protected-access

InvalidArgumentError (see above for traceback): num_upper must be negative or less or equal to number of columns (12) got: 15
         [[Node: predict/MatrixBandPart = MatrixBandPart[T=DT_FLOAT, Tindex=DT_INT64, _device="/job:localhost/replica:0/task:0/device:CPU:0"](predict/MatMul, predict/MatrixBandPart/num_lower, predict/MatrixBandPart/num_upper)]]

Can anyone explain the impact of simply changing outer = tf.matrix_band_part(outer, 0, 15) to something like outer = tf.matrix_band_part(outer, 0, 8)?

It may drop a results (eg. during evaluation on SQuAD), because it means that answer is gonna be maximum of length 15 tokens, so of course the given passage has to have at least 15 tokens.


Expose IsActive and IsHdr for Audio and Video stream infos

This PR adds the following properties:
IsActive to VideoStreamInfo and AudioStreamInfo. This is a convenience method for determining which StreamInfo is the active stream info without querying the FFmpegMediaSource.
IsHdr for VideoStreamInfo to determine if a stream has HDR metadata when we use uncompressed providers (Directx or ffmpeg software decoder)

hi @lukasf
Thanks for the info.
So my understanding of the applyHdrColorInfo flag was kinda wrong after all. ^^
Not sure why I can't relay to your main comment.

@lukasf  take a look at the new commit. thanks.


Cannot load simple socks sample from build directory.

(uproxy-core-env.js missing from build.)

This will no longer be the case after require-ification.


[Inquiry] Hey, is everything okay?

Not entirely sure if the project is abandoned or if you’re struggling with some sort of hardship but I’d love if you could get back to us on the Curseforge community. Opening comments would help immensely. This project is excellent and I want to see it thrive for 1.18 and future versions.

yes I love this mod, personally I have a texture bug with my cat.

And  I want a beautiful cat

Hi guys!
Thanks for the encouragement and sorry for the long silence. Things have been going on. The project is not abandoned.
I have been making some updates to the project internally to support development on 1.18 and 1.20 simultaneously. There should hopefully be a 1.18 update soon, but I'm not sure yet about 1.20; there have been some significant changes to how rendering works between 1.18 and 1.20, so I'm trying to catch up with that. >.>
More soon.

yes I love this mod, personally I have a texture bug with my cat.  And I want a beautiful cat

@laziwox Do you know which texture ID you chose that is showing the purple/black checkerboard?

Figured this one out. The texture was broken when the collar is applied. Fixed now.


Rendering error, text not visible

http://datasheets.maximintegrated.com/en/ds/MAX7219-MAX7221.pdf
Firefox 38.0 on Ubuntu 14.04:

Adobe Reader 9.5.5 on Ubuntu 14.04:

Confirmed on Arch Linux with Firefox 38.0.5 and the latest development version of PDF.js.

Closing as fixed (works now on Arch Linux with Firefox 42).

Fixed for me too with iceweasel 42 on Debian testing 64 (stretch)


Geometric Measurement Units

Since I'm currently working on the base layer, I was wondering how we are going to handle different kinds of geometric measurement units throughout the app.
I have not yet found any decisions on this topic yet, so please tell me if I'm missing something.
Here are my suggestions:
Distance
Konva seems to use CSS pixels in its API.
We therefore need some way of converting these to real world units (such as meters).
IMO using a fixed conversion would be the easiest way to do this (e.g. 10px in Konva = 1m in the real world), since the base layer would be the only component that has to deal with variable scales AFAIK.
Angles
I have started to use degrees in the base layer for now.

About Konva there is a bit written in #106.

IMO using a fixed conversion would be the easiest way to do this

If there is a ready-made function from PostGIS it should be just as easy.

(e.g. 10px in Konva = 1m in the real world)

This alone won't do as there is a zoom functionality?

I have started to use degrees in the base layer for now.

Can you please create a proper documentation for the geometry? (In a new PR solving this issue.)

@badnames Please use 1px = 1cm, i.e. 100 px = 1m. It is needed for the common spacing of 15cm (without having floating points).

Sure no problem.


LuaSnip: some keys are blocked

Make sure you have done the following

[X] I have updated to the latest version of blink.cmp
[X] I have read the README

Bug Description
When entering a luasnip snippet, it is not possible to use Tab, or even type some letters (e.g. capital H), traveling is also a little bit broken. Here some examples:
Here, pressing Tab won't make the caret go to next placeholder, unless some characters are typed prior to pressing tab. Traveling using Tab and S-Tab will eventually stop having any effect:
https://github.com/user-attachments/assets/8bc4af10-9b73-472c-9e95-1098fc819ee3
In the following, we can see that snippets are having two versions of themselves (if~ in this example), the two of which don't work.
One appears to be the raw vscode snippet loaded from friendly-snippet which fails to enter selection mode when the snippet is selected (also Tab won't work).
The other one appears to be processed from the version above, it seems to work better because at least it does enter select mode when it is selected, but of course Tab and other keys will fail:
https://github.com/user-attachments/assets/7b4a7f6b-046f-493c-b317-b7a8231e8a6a
Relevant configuration
No response
neovim version
NVIM v0.10.2
blink.cmp version: branch, tag, or commit
0.7.6

Here, pressing Tab won't make the caret go to next placeholder, unless some characters are typed prior to pressing tab. Traveling using Tab and S-Tab will eventually stop having any effect:

i have the same issue

@Parsifa1 Was it working before? (I'm new to blink)

Basically usable, but there are some minor issues(if dont input sth, you can't jump through <Tab> :(

I'm not able to reproduce it on my config for some reason. The code for snippet_forward/snippet_backward is:
function cmp.snippet_forward()
  local snippets = require('blink.cmp.config').snippets
  if not snippets.active({ direction = 1 }) then return end
  vim.schedule(function() snippets.jump(1) end)
  return true
end

function cmp.snippet_backward()
  local snippets = require('blink.cmp.config').snippets
  if not snippets.active({ direction = -1 }) then return end
  vim.schedule(function() snippets.jump(-1) end)
  return true
end

It seems like your snippets.active is returning false but I'm not entirely sure why

this is my snippet config:
        snippets = {
            expand = function(snippet)
                require("luasnip").lsp_expand(snippet)
            end,
            active = function(filter)
                if filter and filter.direction then
                    return require("luasnip").locally_jumpable()
                end
                return require("luasnip").in_snippet()
            end,
            jump = function(direction)
                require("luasnip").jump(direction)
            end,
        },

oh, i first tested the default :)

That's bizarre, can you confirm you're on v2.3.0 of LuaSnip?

That's bizarre, can you confirm you're on v2.3.0 of LuaSnip?

branch main
commit 1eda2b9

@Saghen I should have mentioned, I'm on LazyVim, so could there be something wrong in the intricacies of how it's being configured. Afaik It's using blink-compat. and master branch of LuaSnip

I've confirmed it's working on v2.3 of LuaSnip but not on latest. It seems like it might be a bug on their end since the jumpable returns false for -1 when reaching the final placeholder. I'd recommend using the last tagged version

@Saghen I'm waiting for an update in LazyVim to be able to use main branch of blink but though downgrading LuaSnip to 2.3.0 have made things work a little better it haven't really completely fixed the Tab issue here. For instance, pressing Tab to accept a default value (from a multichoice placeholder) won't go to the next placeholder.


Touchscreen support with game template

I can elaborate, if needed

If you have more information, you need to elaborate on what you're going for. It doesn't really help anyone if you CAN elaborate, but require being asked to elaborate further before you do. That tends to lead to confusion and extra steps to understanding the issue or proposal.
So yes, please elaborate.

Can we close this "issue"? Is pointless have something like this.

Suggestions for improvements can also be made here, so that's not a problem, but this wasn't ever elaborated on, so I guess I'll close this for now.

is not about the improvements, is about nonexistent description. Thanks.


Allow absolute positioning within a slide

Without this, anything that is given position:absolute; left: 0 gets put at the left edge of the carousel, not the individual slide.

Thanks! We probably shouldn't introduce positioning since this might cause breaking changes to the layouts of existing slide decks, but might be worth considering for the next major version. This will probably also conflict with some upcoming layout changes I'm working on for the next minor version.
Generally, I'd say avoid using positioning at all costs, but if you want to use absolute positioning within a slide, you can add a custom layout component to wrap the slide with position: relative

Yeah, there's definitely a chance of some breakage.
The original motivator was to break out of the flexbox layout that's applied to the Slide component (and is unchangable by a Layout component because the heirarchy is Slide > Layout), but only for a single element (ie; a logo in the corner)
Am happy to leave this till a later major - I've forked and published<EMAIL_ADDRESS>for now which I'll work from.
Thanks!

Oh, for things like that, you might want to look into using a custom Provider component: https://github.com/jxnblk/mdx-deck/blob/master/docs/advanced.md#custom-provider-component
The docs could use some work, but it lets you wrap all the slides with a component, which is ideal for a logo or twitter handle, etc that stays for the whole presentation

Also the layout changes I mentioned should hopefully make the per-slide layouts work a little better as well. I'll try to open an issue for that to let people weigh in on

Thanks for the pointer - I've used a custom Provider to have a sticky footer which works great!
For the logo in particular, the idea was to have it stuck for only one (or two) slides, not the entire deck.
I look forward to the layout changes 👍

Cool. Thanks for this, but think I'll close this out for now. Hopefully can work something to support your use-case in in the future – and for the Provider, you can also check props.index to conditionally render things only for specific slides, if that's a helpful alternative


Annoying NPM warnings from tsserver

Hello,
Context: I'm using tsserver wrapped in an LSP, and tsserver emits a useless npm warning every time on startup.

While you may say the client should filter out and ignore this output, I believe this warning should not exist in the first place - it is cryptic and accomplishes nothing.
Expected behavior:
silence
Actual behavior:
npm warning about missing package description/etc even though project's package.json does contain these fields
TS Version: 2.6.1

Duplicate of #19660


sed error: unterminated address regex

I'm currently on Linux Mint 19.3 (64-bit) and I've run the installer via the following command:
curl -fsSL https://raw.githubusercontent.com/mviereck/x11docker/master/x11docker | sudo bash -s -- --update

I then get an error message towards the end of the installation:
x11docker note: Removing downloaded temporary files.

sed: -e expression #1, char 18: unterminated address regex

Here's the entire installation output:
x11docker note: Your terminal seems to be not POSIX compliant.
  Command 'logname' does not return a value.
  Consider to use another terminal emulator.
  Fallback: Will try to check $SUDO_USER and $PKEXEC_UID.

x11docker note: Will use $SUDO_USER = mbs as host user.

x11docker note: Current installed version: x11docker GNU bash, version 4.4.20(1)-release (x86_64-pc-linux-gnu)
Copyright (C) 2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>

This is free software; you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 94150  100 94150    0     0   238k      0 --:--:-- --:--:-- --:--:--  238k
x11docker note: Downloading latest x11docker release v6.6.1 from github.

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  161k    0  161k    0     0   315k      0 --:--:-- --:--:-- --:--:--  315k
x11docker note: Extracting tar.gz archive.

x11docker note: Installing x11docker and x11docker-gui in /usr/bin

x11docker note: Installing icon for x11docker with xdg-icon-resource

x11docker note: Creating application entry for x11docker.

x11docker note: Could not find 'kaptain' for x11docker-gui.
  Consider to install 'kaptain' (version 0.73 or higher).
  It's useful for x11docker-gui only, though. x11docker itself doesn't need it.
  If your distributions does not provide kaptain, look at kaptain repository:
    https://github.com/mviereck/kaptain
  Fallback: x11docker-gui will try to use image x11docker/kaptain.

x11docker note: Storing README.md, CHANGELOG.md and LICENSE.txt in
  /usr/share/doc/x11docker

x11docker note: Installed x11docker version 6.6.1

x11docker note: Removing downloaded temporary files.

sed: -e expression #1, char 18: unterminated address regex
x11docker note: Excerpt of x11docker changelog:

x11docker note: Ready.

Thank you for the report!
At this point x11docker should show the latest entry of CHANGELOG.md. That seems to fail. I'll look into this.

I could reproduce the issue. It happened specifically in the curl | bash setup.
x11docker got bash --version instead of x11docker --version in its version check; that caused a wrong sed syntax later.
Is fixed now in master branch.


rate limits are not currently applied

The new API describes rate limits under the Discovery Plan.
However in my limited testing these rate limits don't seem to be applied currently. Specifically:

one vehicle data per 5 minutes (I can send one call per minute)
50 commands per day per vehicle (I can send over 100 commands per day)

Is there a timeframe for implementing the rate limits?

Any chance of an update here?
We'd like to prepare for the rate limits before they become effective, but it's difficult without knowing exactly how they work.
For example, regarding the "vehicle data" 1 call per 5 minutes per vehicle limit. Currently we poll vehicles like this:

GET /api/1/vehicles - check if the vehicle is awake / online
if awake: GET /api/1/vehicles/${id_s}/vehicle_data

If the first call counts toward the rate limit, the second call would always fail.
Do we need to change this?

We're currently giving free almost unlimited access. This will change in the next couple months.

Hi, is this issue #255 cancelled?


Not generating JSON reports after each run

I've been using the cypress-cucumber-preprocessor v4.3.1 and my implementation was in cypress/plugin/index.ts file like:
const cucumber = require('cypress-cucumber-preprocessor').default

module.exports = (on, config) => {
  on('file:preprocessor', cucumber())
}

and my package.json file was like
"cypress-cucumber-preprocessor": {
    "nonGlobalStepDefinitions": true,
    "cucumberJson": {
      "generate": true,
      "outputFolder": "cypress/cucumber-json",
      "filePrefix": "",
      "fileSuffix": ".cucumber"
    }
  }

which was generating json files that I'm using later in multiple-cucumber-html-reporter to generate a nice report.
After migrating to Cypress 10 and using @badeball/cypress-cucumber-preprocessor v13.0.2 I have no json file generated anymore! I've followed the examples here
It is mentioned in the example:
  // This is required for the preprocessor to be able to generate JSON reports after each run, and more,
  await addCucumberPreprocessorPlugin(on, config);

but I'm not getting any, am I missing anything?
Checklist

[x] I've read the FAQ.
[x] I've read Instructions for logging issues.
[x] I'm not using<EMAIL_ADDRESS>(package name has changed and it is no longer the most recent version, see #689).

Have you enabled it, as per docs? https://github.com/badeball/cypress-cucumber-preprocessor/blob/master/docs/json-report.md

well, my package.json was:
"cypress-cucumber-preprocessor": {
    "nonGlobalStepDefinitions": true,
    "cucumberJson": {
      "generate": true,
      "outputFolder": "cypress/cucumber-json",
      "filePrefix": "",
      "fileSuffix": ".cucumber"
    }
  }

and I tried to change
"cucumberJson": {
      "generate": true,

to this but it didn't work
  "json": {
    "enabled": true
  }

Run with DEBUG=cypress:electron,cypress-configuration,cypress-cucumber-preprocessor, as explained in the above-mentioned link and paste the output.

Run with DEBUG=cypress:electron,cypress-configuration,cypress-cucumber-preprocessor, as explained in the above-mentioned link and paste the output.

i have a simillar issue, but i get no results from this command.
packages.json
{
  "devDependencies": {
    "@bahmutov/cypress-esbuild-preprocessor": "^2.1.5",
    "@typescript-eslint/eslint-plugin": "^5.39.0",
    "@typescript-eslint/parser": "^5.39.0",
    "cypress": "^10.10.0",
    "esbuild": "^0.15.9",
    "eslint": "^8.24.0",
    "typescript": "^4.8.4"
  },
  "dependencies": {
    "@badeball/cypress-cucumber-preprocessor": "^13.0.2",
    "cypress-xpath": "^2.0.1",
    "prettier": "^2.7.1",
    "cypress-cucumber-preprocessor": {
      "json": {
        "enabled": true
      }
    }
  },

cypress.config.ts
import { defineConfig } from 'cypress';
const createBundler = require('@bahmutov/cypress-esbuild-preprocessor');
const addCucumberPreprocessorPlugin =
	require('@badeball/cypress-cucumber-preprocessor').addCucumberPreprocessorPlugin;
const createEsbuildPlugin =
	require('@badeball/cypress-cucumber-preprocessor/esbuild').createEsbuildPlugin;

export default defineConfig({
	retries: {
		runMode: 1,
		openMode: 0,
	},
	video: false,
	videoCompression: 33,
	defaultCommandTimeout: 5000,
	chromeWebSecurity: false,
	watchForFileChanges: false,
	viewportWidth: 1280,
	viewportHeight: 720,
	execTimeout: 60000,
	pageLoadTimeout: 60000,
	requestTimeout: 15000,
	responseTimeout: 15000,
	e2e: {
		async setupNodeEvents(on, config){
			await addCucumberPreprocessorPlugin(on, config);
			on('file:preprocessor', createBundler({
				plugins: [createEsbuildPlugin(config)],
			}));
			return config;
		},
		specPattern: 'cypress/e2e/features/*.feature',
	},
});

@badeball I think we need a different solution to the cucumber-json-formatter that is required. This is because this library should be platform independent - for example, I'm on a mac but I also need this json report to publish as part of an azure pipeline build.
Could you possible move away from this cucumber-json-formatter to something else? This is currently stopping my team from upgrading to cypress 10.

for example, I'm on a mac but I also need this json report to publish as part of an azure pipeline build.

You're not making any sense to me here. How is this not possible?

I don't want platform-specific installation guides depending on where I'm coding from.
this is not platform independent. I want to be able to do:

npm install
cypress run
and for it to work without any other steps. As with cypress versions < 10

I understand that that's a preference, but not how it's stopping you.

Well, it's stopping us because I don't want any additional steps in my sldc.
We have devs on windows, macs, pipelines that just run cypress, and pipelines that run cypress inside a docker container.  (never mind the fact that I can't seem to find a docker image of this formatter - which also would need to be platform specific I assume)
Now if I can't:

run the same dockerfile locally as in my azure pipeline
run the same npm commands locally as in my azure pipeline
then I won't upgrade my cypress version, it's ruining the development experience by creating additional steps.

I'm only reading laziness and entitlement here, because all of the above appears trivial. You're already running platform-dependent software, such as node. I'll have you know despite this, that I am considering alternatives, but not because of anything you describe.

haha ok, well I hope you change it - not sure how I could make more sense but oh well. Sure, node/nvm is platform dependent, but not anything else.
Anyway, thanks

Folks, for those of you having an issue due to the cucumber-json-formatter - I managed to use this cucumber preprocessor instead.

thanks @clupascu-sudo, did it generate json file for you? cause it didn't work for me either.

The other plugin did, yepm @jaxfellow

Hey, was having the same issue with cypress-cucumber-preprocessor, while the allure-reports plugin here was active, but then this issue resolved my problem and now all is ok.

https://socket.dev/npm/package/@deepakvishwakarma/cucumber-json-formatter this library automatically checks the platform and uses the relevant cucumber-json-formatter. No messing around with exes. Download the library, configure in package.json and away you go

Closing due to lack of a reproducible example.


Hello , can I ask a question ?  how to implement this query by /olivere/elastic

Please use the following questions as a guideline to help me answer
your issue/question without further inquiry. Thank you.
Which version of Elastic are you using?
[ ] elastic.v7 (for Elasticsearch 7.x)
[yes] elastic.v6 (for Elasticsearch 6.x)
[ ] elastic.v5 (for Elasticsearch 5.x)
[ ] elastic.v3 (for Elasticsearch 2.x)
[ ] elastic.v2 (for Elasticsearch 1.x)
Please describe the expected behavior
no
Please describe the actual behavior
no
Any steps to reproduce the behavior?
no
I write a query , but I dont know how to change this to golang .
could you offer some help ?
this is my query:

{
  "query": {
    "bool": {
      "should": [
        {
          "range": {
            "chair_num": {
              "gt": 0
            }
          }
        },
        {
          "range": {
            "is_show": {
              "gt": 0
            }
          }
        }
      ],
      "must": {
        "match": {
          "show_id": 1112635
        }
      }
    }
  },
  "size": 50,
  "sort": {
    "online_num": {
      "order": "desc"
    }
  }
}

There are so many tests in the repository that illustrated that, see e..g search_queries_bool_test.go.
In general, you should go from the inside out. Without actually testing it, it should be something like this:
chairNumQ := elastic.NewRangeQuery("chair_num").Gt(0)
isShowQ := elastic.NewRangeQuery("is_show").Gt(0)
showIDQ := elastic.NewMatchQuery("show_id", 1112635) // ? Match for text ?
boolQ := elastic.NewBoolQuery().Must(showIDQ).Should(chairNumQ, isShowQ)
resp, err := client.Search(...).Query(boolQ).Size(50).Sort("online_num", false).Do(...)
if err != nil {
  ...
}
<use resp here>

thanks a lot


Reinstall?

What is the purpose of your issue?

[ ] Bug
[ ] Feature Request
[x] Question
[ ] Other

Description
I just want to know how to "re-install" spotdl. I reformatted my laptop, some stuff came up.
Another question while I'm at it. Is there a way to recieve the metadata from a youtube link.
Log

Microsoft Windows [Version 6.3.9600]
(c) 2013 Microsoft Corporation. All rights reserved.
C:\Users\Sales>spotdl --song https://open.spotify.com/track/67kIfRYFai45yakOuXhn
dQ --log-level=DEBUG
c:\users\sales\appdata\local\programs\python\python37\lib\site-packages\spotdl\h
andle.py:61: YAMLLoadWarning: calling yaml.load() without Loader=... is deprecat
ed, as the default Loader is unsafe. Please read https://msg.pyyaml.org/load for
full details.
cfg = yaml.load(ymlfile)
DEBUG: Input song is a Spotify URL
DEBUG: Fetching metadata for given track URL
DEBUG: Fetching lyrics
DEBUG: {'album': {'album_type': 'album',
'artists': [{'external_urls': {'spotify': 'https://open.spotify.c
om/artist/0C0XlULifJtAgn6ZNCW2eu'},
'href': 'https://api.spotify.com/v1/artists/0C0XlULi
fJtAgn6ZNCW2eu',
'id': '0C0XlULifJtAgn6ZNCW2eu',
'name': 'The Killers',
'type': 'artist',
'uri': 'spotify:artist:0C0XlULifJtAgn6ZNCW2eu'}],
'external_urls': {'spotify': 'https://open.spotify.com/album/4und
IeGmofnAYKhnDclN1w'},
'href': 'https://api.spotify.com/v1/albums/4undIeGmofnAYKhnDclN1w
',
'id': '4undIeGmofnAYKhnDclN1w',
'images': [{'height': 640,
'url': 'https://i.scdn.co/image/ae33d84ad5b1b47f5c7b7
3c63ca0f1fd4d131b84',
'width': 629},
{'height': 300,
'url': 'https://i.scdn.co/image/e8862e61bc38f868f52bd
83c5934b5d41e48500b',
'width': 295},
{'height': 64,
'url': 'https://i.scdn.co/image/74bcf303c0186b19b873a
1bbdc2a6c9b3fd0b90b',
'width': 63}],
'name': 'Hot Fuss',
'release_date': '2004-01-01',
'release_date_precision': 'day',
'total_tracks': 11,
'type': 'album',
'uri': 'spotify:album:4undIeGmofnAYKhnDclN1w'},
'artists': [{'external_urls': {'spotify': 'https://open.spotify.com/artist/
0C0XlULifJtAgn6ZNCW2eu'},
'href': 'https://api.spotify.com/v1/artists/0C0XlULifJtAgn6ZNC
W2eu',
'id': '0C0XlULifJtAgn6ZNCW2eu',
'name': 'The Killers',
'type': 'artist',
'uri': 'spotify:artist:0C0XlULifJtAgn6ZNCW2eu'}],
'copyright': '© 2004 The Island Def Jam Music Group',
'disc_number': 1,
'duration': 306.666,
'explicit': False,
'external_ids': {'isrc': 'USIR20400272'},
'external_urls': {'spotify': 'https://open.spotify.com/track/67kIfRYFai45ya
kOuXhndQ'},
'genre': 'Indie Rock',
'href': 'https://api.spotify.com/v1/tracks/67kIfRYFai45yakOuXhndQ',
'id': '67kIfRYFai45yakOuXhndQ',
'is_local': False,
'lyrics': 'Believe me, Natalie\n'
'Listen, Natalie\n'
'This is your last chance to find\n'
'A go-go dance to disco now\n'
'\n'
'Please believe me, Natalie\n'
'Listen, Natalie\n'
'This is your last chance to find\n'
'A go-go dance to disco now\n'
'\n'
'Forget what they said in Soho\n'
"Leave the oh-no's out\n"
'And believe me, Natalie\n'
'Listen, Natalie\n'
'This is your last chance\n'
'\n'
'There is an old cliché\n'
'Under your Monet, baby\n'
'Remember the arch of roses\n'
'Right above your couch\n'
'\n'
'Forget what they said in Soho\n'
"Leave the oh-no's out\n"
'Yes, there is an old cliché\n'
'Under your Monet, baby\n'
'\n'
'You left the station, nailed to the floor\n'
'With speculation, what was it for?\n'
'In that old hallway, mom says, "Why don't you stay?\n'
'You've been away for a long time."\n'
'\n'
'Believe me, Natalie\n'
'This is your last chance\n'
'To find a go-go\n'
'Forget what they said in Soho\n'
'\n'
'And walk away\n'
'If my dreams for us can get you through\n'
'Just one more day\n'
"It's alright by me\n"
'\n'
'God help me somehow\n'
"There's no time for survival left\n"
'The time is now\n'
"'Cause this might be your last chance\n"
'To disco, oh',
'name': 'Believe Me Natalie',
'popularity': 47,
'preview_url': None,
'publisher': 'Island Records',
'release_date': '2004-01-01',
'spotify_metadata': True,
'total_tracks': 11,
'track_number': 9,
'type': 'track',
'uri': 'spotify:track:67kIfRYFai45yakOuXhndQ',
'year': '2004'}
DEBUG: Opening URL: https://www.youtube.com/results?sp=EgIQAQ%253D%253D&q=The
Killers%20-%20Believe%20Me%20Natalie%20lyrics
INFO: The Killers- Believe Me Natalie Lyrics (http://www.youtube.com/watch?v=RHX
cjl5KoRU)
DEBUG: Refining songname from "The Killers- Believe Me Natalie Lyrics" to "The K
illers - Believe Me Natalie"
DEBUG: Cleaning any temp files and checking if "The Killers - Believe Me Natalie
" already exists
DEBUG: Downloading from URL: https://r3---sn-c5uxajv-c5il.googlevideo.com/videop
layback?id=o-ANckJqR-SBchcO1FvS5dztEJ1SDgUlTR2dubSffKqVrr&itag=140&source=youtub
e&requiressl=yes&mm=31%2C29&mn=sn-c5uxajv-c5il%2Csn-hfxc-wocl&ms=au%2Crdu&mv=m&p
l=24&ei=mcPRXLPTLeiCx_AP-MK52AI&initcwndbps=522500&mime=audio%2Fmp4&gir=yes&clen
=4853809&dur=305.574&lmt=1442983874637385&mt=1557250861&fvip=3&keepalive=yes&c=W
EB&ip=<IP_ADDRESS>&ipbits=0&expire=1557272569&sparams=ip%2Cipbits%2Cexpire%2Cid%
2Citag%2Csource%2Crequiressl%2Cmm%2Cmn%2Cms%2Cmv%2Cpl%2Cei%2Cinitcwndbps%2Cmime%
2Cgir%2Cclen%2Cdur%2Clmt&key=yt8&signature=C15141F87BB347D01E7783E1E986A440771B8
BD6.EB532763DE4E332E8FAEE2090394594F61287B4F&ratebypass=yes
DEBUG: Saving to: C:\Users\Sales\Music\The Killers - Believe Me Natalie.m4a
4,853,809 Bytes [100.00%] received. Rate: [ 156 KB/s].  ETA: [0 secs]
INFO: Converting The Killers - Believe Me Natalie.m4a to mp3
DEBUG: ['ffmpeg', '-y', '-i', 'C:\Users\Sales\Music\The Killers - Believe Me
Natalie.m4a', '-codec:v', 'copy', '-codec:a', 'libmp3lame', '-ar', '44100', '-b
:a', '192k', '-vn', 'C:\Users\Sales\Music\The Killers - Believe Me Natalie.m
p3']
WARNING: Could not find ffmpeg, skip encoding
INFO: Applying metadata
C:\Users\Sales>

I just want to know how to "re-install" spotdl. I reformatted my laptop, some stuff came up.

There's no such thing as a reinstall in pip. If it's already installed - why install it again (that's what reinstall implies), if it's not installed - install it. Here's the wiki page you'd want to read. https://github.com/ritiek/spotify-downloader/wiki/Installation

Another question while I'm at it.

Nope, that's not how this works. Open a separate issue for other, unrelated questions, make sure to look through the wiki beforehand and format your code properly!


python311Packages.airthings-ble: 0.5.6-2 -> 0.5.6-4

Diff: https://github.com/vincegio/airthings-ble/compare/refs/tags/v0.5.6-2...v0.5.6-4
Changelog: https://github.com/vincegio/airthings-ble/releases/tag/v0.5.6-4
Description of changes

Things done

Built on platform(s)

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

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

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

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

Result of nixpkgs-review pr 251616 run on x86_64-linux 1

5 packages built:

home-assistant-component-tests.airthings_ble
python310Packages.airthings-ble
python310Packages.airthings-ble.dist
python311Packages.airthings-ble
python311Packages.airthings-ble.dist

Result of nixpkgs-review pr 251616 run on x86_64-linux 1

5 packages built:

home-assistant-component-tests.airthings_ble
python310Packages.airthings-ble
python310Packages.airthings-ble.dist
python311Packages.airthings-ble
python311Packages.airthings-ble.dist


Map looks too noisy  - group sites based on zoom level

Filters should help narrowing down to a subset. Will monitor if grouping sites is needed.


Raise a PR if commitsha changed

@dinogun - Triggering the workflow manually after merging baseimagedigest changed, raised a PR for commitsha, so we won't need this PR. Closing it.


This is not this (maybe) mods issue, I just don't know how to contact the mod-maker or in general join a discord server about this mod

I'm using Cyanide because another mod-developer recommended it to me because I want to fix a cycle issue (I don't know what it is but the other mod-developer referred to it like this)
I'm using a datapack that shouldn't be causing any problems like this (Repurposed Structures - More Villagers Compat Datapack)
and whenever I create a world with this pack loaded it crashes. I can add the pack later on in-game and it doesn't crash but nothing gets added (not sure)
these are the logs before and after Cyanide was installed (incase there are differences otherwise ignore one) :
https://gist.github.com/INooBTooMuch/a87a9c33e027900f07c23396bfb0bf84
https://gist.github.com/INooBTooMuch/534f600f59c7903c18df2e05377740b0
I am using minecraft 1.18.2 and Cyanide 1.18.2-2.1.1
This might not be the place to post things like this but I didn't find any other way to contact the mod-developer
(Also I'm posting this not to fix the problem I have with Repurposed Structures - More Villagers Compat Datapack incase it is their fault but because I was told it should have been fixed using Cyanide, I also might not know how to use this mod so help me if possible)

Okay, so cyanide is not a error fixing mod - it's a mod to help you fix errors in your datapacks/mods. The fact that this crashes without cyanide, indicates you have an error (in this case, a feature cycle), and this is the problem.
Namely, this error.
java.lang.IllegalStateException: Feature order cycle found, involved biomes: [Reference{ResourceKey[minecraft:worldgen/biome / byg:basalt_barrera]=net.minecraft.world.level.biome.Biome@29386bb9}]

which cyanide shows as this error
Caused by: com.alcatrazescapee.cyanide.codec.FeatureCycleDetector$FeatureCycleException: A feature cycle was found.

Cycle:
At step 9
Feature '[Unknown minecraft:worldgen/placed_feature]'
  must be before '[Unknown minecraft:worldgen/placed_feature]' (defined in '[Unknown minecraft:worldgen/biome]' at index 1, 2)

Now, normally cyanide would be giving a better error here. Something appears to have gone wrong, and it's not (rather unfortunate). I had thought I fixed this before, but might have to look into it again if I have time and get around to it.
That aside, I believe this is actually pointing to an issue with BYG, which I've pointed out to the mod developer. This may or may not go anywhere (I could also be mistaken about that).
There's a discord server for all of my mods if you have further support questions.


Add upcoming xrOS platform

In preparation of xrOS (visionOS) support as a tier 3 target, this adds the MachO platform IDs for the new platforms.
See https://github.com/rust-lang/compiler-team/issues/642

Thanks!
Note that I expect it to be a while before this is released (there's significant unreleased breaking changes, and probably more to  come). Can you use the raw values in rust in the meantime?
Also, I'll add that Relocation::set_addend back in.

The raw values can probably be used, yes. However, depending on the definition of "a while", the target creation is blocked on a LLVM version release, which also might be a while. I'm just trying to get all of the dependencies prepared for when that's ready.


Ensure registry auth works with national clouds

It should be ok to have extra CLI arguments for national clouds
We should try to make the CLI/PS integration as seamless as possible. Ideally no additional switches should be needed if the user has already logged in when CLI/PS calls bicep directly.
It's still unclear how to approach the national cloud support scenario in VS code? Do we expect users to be authoring bicep files with external refs pointing to a registry in a national cloud?

@majastrz I'm that person. If you want insight into how we're doing it today for National clouds hit me up internally and we can do a walk through. We've already had a customer adopt bicep as their main authoring language in various Azure clouds and I plan on making that recommendation and authoring to all of mine. If you or the bicep team need an advocate you have one here.
alias: adamdost

@majastrz I'm that person. If you want insight into how we're doing it today for National clouds hit me up internally and we can do a walk through. We've already had a customer adopt bicep as their main authoring language in various Azure clouds and I plan on making that recommendation and authoring to all of mine. If you or the bicep team need an advocate you have one here.
alias: adamdost

Thanks! We definitely appreciate the support!


Errors are not send to sentry

Hi,
We've got an issue with sentry/sdk:
errors are not send to sentry if a fatal error occurs during an output buffer callback or in other shutdown handler.
Step to reproduce:

Shutdown handler error:

//Register SENTRY
\Sentry\init(['dsn' => 'SENTRY_DSN']);
    \Sentry\configureScope(function (\Sentry\State\Scope $scope): void {
    $scope->setLevel(\Sentry\Severity::info());
});
register_shutdown_function(function(){
	not_a_function();
});

Output buffer callback error:

//Register SENTRY
\Sentry\init(['dsn' => 'SENTRY_DSN']);
    \Sentry\configureScope(function (\Sentry\State\Scope $scope): void {
    $scope->setLevel(\Sentry\Severity::info());
});
ob_start( function( $content ) {
	not_a_function();
	return $content;
} );

Both those examples will not be sent to sentry.
How can we account for those scenarios?
Here is our exact problem:
https://github.com/ampproject/amp-wp/issues/3825

Why are you setting the severity level in the Scope? Does it change anything?

Because Sentry docs says so:

You can set the severity of an event to one of five values: fatal, error, warning, info, and debug. error is the default, fatal is the most severe and debug is the least severe.

https://docs.sentry.io/platforms/php/#setting-the-level

I meant: does removing that line from the example change the outcome? Is it necessary for the reproduction of the issue?

I've just tested it and removing that line doesn't change the outcome so it not necessary for the reproduction of the issue.

From what I see in https://github.com/ampproject/amp-wp/issues/3825, it seems something bound to how PHP works, so I fear that there's not much that we can do...

I had an issue where errors were not sending with vanilla PHP similar to this... I didn't register a shutdown function. However, changing composer to use sentry\sentry instead of the SDK fixed it.
(i really dislike the sdk...)

In both the cases mentioned in the first comment none of the error handlers (fatal or not) are called and so it's expected that the error is not logged by Sentry. However, triggering a standard error (e.g. with trigger_error) works and calls Sentry. Since this is how PHP works and there is nothing that we can do on our side anyway, I'm going to close this issue as "Won't fix"

@ste93cry @Jean85 @maciejmackowiak Any chance one of you will want to submit this as a bug to PHP?

It's not our issue, we do not have any stake in this, and I (at least) lack the expertise on this specific use case. You should do directly, since it seems something related on how that piece of software works.

Found this open bug that is exactly what we need, so I'll add some more info there and we'll see if PHP devs address it: https://bugs.php.net/bug.php?id=78565.
Also this one seems related: https://bugs.php.net/bug.php?id=78495.


Add rest argument for commands.

Summary
Add rest argument for commands
Ticket Link
Depends on:
https://github.com/mattermost/mattermost-webapp/pull/8153

Thanks, @larkox! It looks like there are conflicts in the file and that we need another approval. Let me know if I can help at all.


FileNotFoundError: [WinError 3] ????

I got this error after training here is the full report:
 File "C:\Users\GAMING\Desktop\RVC-beta\RVC-beta-v2-0618\infer-web.py", line 1073, in train1key
    & set([name.split(".")[0] for name in os.listdir(feature_dir)])
FileNotFoundError: [WinError 3] The system cannot find the path specified: 'C:\\Users\\GAMING\\Desktop\\RVC-beta\\RVC-beta-v2-0618/logs/3was/3_feature256'

what i do ?
Please I want a detailed explanation
Because I did everything

mine too


chore: fix doc comments

Just some doc comments fixes

Linting passed!
Thanks for the prompt action @revolunet!
Merging it now


added coalesce to search queries in case offset is null

Fix for the search part of: https://github.com/bpatrik/pigallery2/issues/892

The integration tests broke. I fixed them. Can you please rebase your PR so we can run them before I merge?

The integration tests broke. I fixed them. Can you please rebase your PR so we can run them before I merge?

done


Left join and group by on nullable field returns runtime UnexpectedNullError error - PostgreSQL

Bug Description
When doing a left join between two tables on a field that is nullable and performing a group by on the joined table field, a UnexpectedNullError is returned
Minimal Reproduction
The following is a simplified reproduction from my current project:
CREATE TABLE "providers" (
    "id" BIGINT PRIMARY KEY,
    "name" TEXT NOT NULL
);

CREATE TABLE "sources" (
    "id" BIGINT PRIMARY KEY,
    "provider_id" INTEGER REFERENCES "providers" ("id")
);

INSERT INTO "providers" ("name") VALUES ('github');
INSERT INTO "sources" ("provider_id") VALUES (1), (1), (NULL);

The following query within SQLx errors but should return valid data:
sqlx::query!(
        r#"SELECT count(*), providers.id, providers.name
FROM sources
LEFT JOIN providers ON providers.id = sources.provider_id
GROUP BY providers.id;"#
    )
    .fetch_all(pool)
    .await;

Value of fetch_all return:
Err(
    ColumnDecode {
        index: "1",
        source: UnexpectedNullError,
    },
)

Query data using an external DB tool:
[
  {
    "count": 1,
    "id": null,
    "name": null
  },
  {
    "count": 2,
    "id": 1,
    "name": "google"
  }
]

I alter the query to reference the original table only, everything works:
sqlx::query!(
        r#"SELECT count(*), sources.provider_id
FROM sources
LEFT JOIN providers ON providers.id = sources.provider_id
GROUP BY sources.provider_id;"#
    )
    .fetch_all(pool)
    .await;

Value of fetch_all return:
Ok(
    [
        Record {
            count: Some(
                1,
            ),
            provider_id: None,
        },
        Record {
            count: Some(
                2,
            ),
            provider_id: Some(
                1,
            ),
        },
    ]
)

But since I want the other field (name) from the other table, I cannot/do not want to do the last query.
Info

SQLx version: 0.7.4
SQLx features enabled: ["chrono", "json", "macros", "postgres", "runtime-tokio-native-tls", "uuid"]
Database server and version: PostgreSQL 16.2 (running within docker with the postgres:16.2-alpine3.19 image)
Operating system: MacOS 14.4.1
rustc --version: rustc 1.77.0 (aedd173a2 2024-03-17) (running within docker with the rust:1.77.0-slim-bookworm image)

I have tested with 0.7.4, 0.7.0 and 0.6.3 and they all have this issue.

Please provide the output of EXPLAIN(VERBOSE, FORMAT JSON) <query>

I've also tried the query and query_as version that is not a macro and it is returning the data as expected with no errors.

Here's the query explained as requested:
[
  {
    "Plan": {
      "Node Type": "Aggregate",
      "Strategy": "Hashed",
      "Partial Mode": "Simple",
      "Parallel Aware": false,
      "Async Capable": false,
      "Startup Cost": 88.43,
      "Total Cost": 101.13,
      "Plan Rows": 1270,
      "Plan Width": 44,
      "Output": ["count(*)", "providers.id", "providers.name"],
      "Group Key": ["providers.id"],
      "Planned Partitions": 0,
      "Plans": [
        {
          "Node Type": "Hash Join",
          "Parent Relationship": "Outer",
          "Parallel Aware": false,
          "Async Capable": false,
          "Join Type": "Left",
          "Startup Cost": 38.58,
          "Total Cost": 77.13,
          "Plan Rows": 2260,
          "Plan Width": 36,
          "Output": ["providers.id", "providers.name"],
          "Inner Unique": true,
          "Hash Cond": "(sources.provider_id = providers.id)",
          "Plans": [
            {
              "Node Type": "Seq Scan",
              "Parent Relationship": "Outer",
              "Parallel Aware": false,
              "Async Capable": false,
              "Relation Name": "sources",
              "Schema": "public",
              "Alias": "sources",
              "Startup Cost": 0.00,
              "Total Cost": 32.60,
              "Plan Rows": 2260,
              "Plan Width": 4,
              "Output": ["sources.id", "sources.provider_id"]
            },
            {
              "Node Type": "Hash",
              "Parent Relationship": "Inner",
              "Parallel Aware": false,
              "Async Capable": false,
              "Startup Cost": 22.70,
              "Total Cost": 22.70,
              "Plan Rows": 1270,
              "Plan Width": 36,
              "Output": ["providers.id", "providers.name"],
              "Plans": [
                {
                  "Node Type": "Seq Scan",
                  "Parent Relationship": "Outer",
                  "Parallel Aware": false,
                  "Async Capable": false,
                  "Relation Name": "providers",
                  "Schema": "public",
                  "Alias": "providers",
                  "Startup Cost": 0.00,
                  "Total Cost": 22.70,
                  "Plan Rows": 1270,
                  "Plan Width": 36,
                  "Output": ["providers.id", "providers.name"]
                }
              ]
            }
          ]
        }
      ]
    }
  }
]

I've run into this issue a couple times

A column should be nullable during left joins that but the generated query-.json marks the column as nullable false and then I get the error ColumnDecode { index: "7", source: UnexpectedNullError }


MRG: automatic plotting of channel names in evoked.plot_image

Addresses another point in #5170
~Todo: tests~

how does it look like?

Ideally, as before:
https://8216-1301584-gh.circle-artifacts.com/0/html/auto_tutorials/plot_stats_cluster_erp.html
https://8216-1301584-gh.circle-artifacts.com/0/html/_images/sphx_glr_plot_stats_cluster_erp_002.png
(with this PR)
It's supposed to just save lines for ERP viz as in the example.

I think it’s a false positive:
„No output has been received in the last 10m0s, this potentially indicates a stalled build or something wrong with the build itself.“
But I get that on restarts too. And the same build errors on my other PRs,
too.
I already pinged Eric on Gitter ...

@jona-sassenhagen please set PR to MRG when you think they are ready. Thx

The test kinda sucks ... I want to see if I can come up with a better test.

Tests look good. Ready for merge from my end.

thx @jona-sassenhagen

:)


Enable cross compile and publish artifact for scala 2.10

@clockfly Isn't this already enabled ? what's missing currently ?

@manuzhang
We need to do these things:

publish two package. one is 2.10 package, the other is 2.11 package.
publish maven artifact in 2.10. Currently we only publish in 2.11.


Bug: Error notification when opening a new tab

Description
Says it crashed, idk. Still working. Didn't have to reopen it.
Steps To Reproduce
I opened three individual tabs, each pointing to different directories on OneDrive. Then I right-clicked and "send to" VS Code. (I had previously set up a "send-to" for VS Code.
It crashed after the second tab and as I was opening the third.
Requirements

e.g. Fix crash that occurs when...
see above "steps to reproduce"

Files Version
<IP_ADDRESS>
Windows Version
Windows 11 Home 22H2 22621.1928
Log File
debug.log

Thank you for reporting this, it seems to be an exception from the recent files widget.
   at Files.App.Filesystem.RecentItems.<>c__DisplayClass14_1.<ListRecentFoldersAsync>b__2()
2023-07-05 20:46:23.1507|Warning|System.ComponentModel.Win32Exception (15): The system cannot find the drive specified.
   at Vanara.PInvoke.Shell32.ShellUtil.GetShellItemForPath(String path)
   at Vanara.Windows.Shell.ShellLink.get_Target()

I believe the following is the log of the crash.
2023-07-05 20:42:53.8369|Error|Microsoft.UI.Xaml.Markup.XamlParseException: XAML parsing failed.

I'm also seeing a similar error when opening a specific folder with roughly 9,000 files in it. Here is the log file, its pretty generic and doesn't really show why the error occurred, only that an error did occur. I did some troubleshooting and it looks like its due to me trying to view the files in "Medium Icons" mode, meaning that thumbnails are being generated for all 9,000 files since they are all either images or videos. Once I switched the view mode to "Details" the error no longer happens.
debug.log

@mtmsla Is this still an issue in the latest preview version? https://files.community/download?

@mtmsla

Sorry, will check tomorrow and reply

Seems to be ok now @yaira2

Thanks for checking


Adds Wait Until Page Does Not Contain method

Addressess #414
My local environment didn't work, so I couldn't verify this method, but it should work :)

Hey @deiga, thanks for the PR.
Could you add an acceptance test and update the changelog?
Thanks!

@zephraph Done!

Cool. Good work.


username (seen to the IRC server) remains constant across all servers

ZNC uses the internal usernamer connected to the bouncer as the username provided to the IRC servers it connects to (as reflected by /whois yournick). This is less than desirable, and should be allowed to be set per network.
So far I have not seen any options to change this.

Assuming you mean the username in the ident field (where we see nickname!znc@hostname for full user mask patterns), take a look at the identfile module (and setting up an ident daemon with it) (https://wiki.znc.in/Identfile)
This usually resolves this issue, assuming this is the issue you are talking about.  (since whois output differs slightly from IRC client to IRC client I can't be certain this is what you are talking about without seeing exemplars of what you are seeing and what in that output you are referencing).

I haven't ever run ZNC inside a chroot so I can't answer that question.  (I'm not sure if the chroot will prohibit using identfile, if the ident daemon is serving 'znc' and you can configure it accordingly then it should work  I think, but chroots are not the common way of running ZNC)

I will check later and report back.
Per-network CTCP replies would also be best. As it is now, it is easy to single out a privacy-conscious user by analyzing his CTCP replies and ident, matching across networks :(

Something I noticed: ZNC has per-network ident settings, why is this not respected then? I don't see why we would need an extra step. What is it useful for then? (the ident setting per network)

The ident setting is overridden if an identd is running and responds when the IRC server queries it on connect. On a machine with no ident service running, the ircd will use what it's given by znc (via the setting), usually with a ~ prefix to indicate that it's not verified by an ident service.
The identfile module exists to let znc pass the configured ident to the running identd during connection to the IRC network, so the setting will be used instead of whatever the identd would send otherwise (the username of the account running znc, probably).

@vogelfreiheit see https://wiki.znc.in/ExpandString for all ExpandString replacements.


fix: select display problem

Before submitting a pull request, please make sure the following is done...

[ ] Ensure the pull request title and commit message follow the Commit Specific in English.
[ ] Fork the repo and create your branch from main or formily_next.
[ ] If you've added code that should be tested, add tests!
[ ] If you've changed APIs, update the documentation.
[ ] Ensure the test suite passes (npm test).
[ ] Make sure your code lints (npm run lint) - we've done our best to make sure these rules match our internal linting guidelines.

Please do not delete the above content

What have you changed?

select组件下拉列表label不展示问题，复现地址：https://element-plus.formilyjs.org/guide/select.html#markup-schema-同步数据源案例
上述pr已修复，文档及demo添加作用域插槽案例
请大佬审核 下代码


Does Unity have physics engine? When I move the robot end-effector, the remaining components does not move and are separate?

When I move the robot end-effector, the end-effector is moving separately and the remaining components does not move? It looks like that unity does not have physics engine?
If not, is there any package I can use so that I can use VR to pull any part of the robot and the robot moves consistently?
Thanks.

Wrong repository


Update all azureresourceschema.md

MSFT employees can try out our new experience at OpenAPI Hub  - one location for using our validation tools and finding your workflow.

Changelog
Please ensure to add changelog with this PR by answering the following questions.

What's the purpose of the update?

[ ] new service onboarding
[ ] new API version
[ ] update existing version for new feature
[ ] update existing version to fix swagger quality issue in s360
[x] Other, please clarify: Fixes https://github.com/Azure/azure-rest-api-specs/issues/13112

When you are targeting to deploy new service/feature to public regions? Please provide date, or month to public if date is not available yet.
When you expect to publish swagger? Please provide date, or month to public if date is not available yet.
If it's an update to existing version,  please select SDKs of specific language and CLIs that require refresh after swagger is published.

[ ] SDK of .NET (need service team to ensure code readiness)
[ ] SDK of Python
[ ] SDK of Java
[ ] SDK of Js
[ ] SDK of Go
[ ] PowerShell
[ ] CLI
[ ] Terraform
[ ] No, no need to refresh for updates in this PR

Contribution checklist:

[ ] I commit to follow the Breaking Change Policy of "no breaking changes"
[ ] I have reviewed the documentation for the workflow.
[ ] Validation tools were run on swagger spec(s) and errors have all been fixed in this PR. How to fix?

If any further question about AME onboarding or validation tools, please view the FAQ.
ARM API Review Checklist

[ ] Ensure to check this box if one of the following scenarios meet updates in the PR, so that label “WaitForARMFeedback” will be added automatically to involve ARM API Review. Failure to comply may result in delays for manifest application. Note this does not apply to data plane APIs, all “removals” and “adding a new property” no more require ARM API review.

Adding new API(s)
Adding a new API version
Adding a new service

[ ] Please ensure you've reviewed following guidelines including ARM resource provider contract and REST guidelines. Estimated time (4 hours). This is required before you can request review from ARM API Review board.

[ ] If you are blocked on ARM review and want to get the PR merged with urgency, please get the ARM oncall for reviews (RP Manifest Approvers team under Azure Resource Manager service) from IcM and reach out to them.

Breaking Change Review Checklist
If there are following updates in the PR, ensure to request an approval from Breaking Change Review Board as defined in the Breaking Change Policy.

[ ] Removing API(s) in stable version
[ ] Removing properties in stable version
[ ] Removing API version(s) in stable version
[ ] Updating API in stable or public preview version with Breaking Change Validation errors
[ ] Updating API(s) in public preview over 1 year (refer to Retirement of Previews)

Action: to initiate an evaluation of the breaking change, create a new intake using the template for breaking changes. Addition details on the process and office hours are on the Breaking change Wiki.
Please follow the link to find more details on PR review process.

@leni-msft , can you resolve conflicts? Does this PR need to get code owner review?

@raych1 Conflict resolved. It's to sync schema readme files, which should have been automated. So no need to get sign-off from code owner.

@akning-ms could you help force merge this PR? as too many readme files changed, so the SDKAutomation pipeline timeout.


Plugin to apply the styles from a

Is anybody interested in this?

Well, we'll be always glad to review a pull request. Actually, svgo now do nothing with styles, and optimizations suffer from that. Not sure though that the plugin like this should be enabled by default.

I'd be keen to see this. I'm struggling with the way in which Illustrator outputs SVGs. I can either have IDs on paths and inline styles or IDs and classes on paths with a <style> block... But not both.
This means that I duplicate IDs across the document when the same SVG is used or the <style> blocks leak and end up affecting paths in other SVGs on the page that have the same class.
It would be great if SVGO could inline the styles and then remove the <style> element altogether. On reading your comment on another issue, #399, this might not be possible?

+1
Example file:
<svg id="test" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100">
  <style>.st0{fill:red;}</style>
  <rect width="100" height="100" class="st0" style="stroke-width:3;stroke:blue" />
</svg>

With best regards

+1

I made a svgo plugin for this, here the PR:
https://github.com/svg/svgo/pull/447

How to handle styles and classes processed by this plugin? See PR discussion.

Adding a +1 to this. I've got two SVGs from Illustrator that have conflicting classes/styles and would love an easy way to prevent this.

Plugin available now: https://github.com/svg/svgo/pull/592

SVGO v1.0.0 with the plugin has been released.

Is the usage of this plugin documented anywhere?

I guess only in the plugin itself.
https://github.com/svg/svgo/blob/ceccf1ffdcdcba0f422a49685c2f60520579e46a/plugins/inlineStyles.js#L20-L38

Also https://github.com/svg/svgo/pull/592#issuecomment-251956973

Thanks for the help. For future searchers this is the usage I was looking for:
svgo path/to/file.svg --enable=inlineStyles  --config '{ "plugins": [ { "inlineStyles": { "onlyMatchedOnce": false } }] }' --pretty

which will inline the style rules even if they are used multiple times.

@wordofchristian Thanks man! Helped a lot!

Thanks @foxyblocks! This really helped me, in particular the options part! 😊
Documentation is close to non-existent and every bit can help, so I decided to help too…
How to use svgo inlineStyles in gulp
…
function optimizeSvg() {
    return gulp
        .src('icons/path/*')
        .pipe(svgo({
            "plugins":[{
                "inlineStyles":{
                    "onlyMatchedOnce":false
                }}]
            })
        )
        .pipe(gulp.dest(iconsOptimizedPath));
}
…

Hope this helps other people.

Hmm, maybe onlyMatchedOnce should be false by default? On the other hand the main purpose of svgo is to optimize/minimize SVGs, and onlyMatchedOnce: true often yields smaller SVGs.

That the plugin is called "inlineStyles" and it does not get rid of all style tags is a bit confusing.
I wouldn't make onlyMatchedOnce: false by default (for what @strarsis said), instead I'd add to the documentation the plugin options explaining this behavior.
My specific case
I'm using svgo to inline several svgs in the same page. And the styles are being applied to other svgs and a lot of colors are replaced. So I was expecting inlineStyles to fix it, but nope. And I didn't notice that the onlyMatchedOnce option existed until I saw this comment. It's not straight forward in the documentation.

for future googlers: if you are using svgo in code rather than using the CLI, the config would look like this
    const svgo = new SVGO({
      plugins: [
        {
          inlineStyles: {
            onlyMatchedOnce: false, // this is important!
          },
    });


cannot connect to X server :0.0

When i run the command : python demo.py -c=configs/m2det512_vgg.py -m=weights/m2det512_vgg.pth --showand I encounter this error message.
: cannot connect to X server :0.0

You may have used the server to run programs, such as docker. You can run it again without "--show" . And you will find the results  in ./imgs.
python demo.py -c=configs/m2det512_vgg.py -m=weights/m2det512_vgg.pth


[FEATURE] Cache index mapping and all related stuff in the plugin engine

Is your feature request related to a problem?
SQL plugin queries index mapping every query executed.
What solution would you like?
Store index mapping, type environment, data types and all used things in memory. As a cache key index modification time could be used (if it is possible to retrieve it) or a checksum.
This will speed up consecutive execution of queries on the same indices.
What alternatives have you considered?
N/A
Do you have any additional context?
N/A

Removing maintenance label.  This is a feature/enhancement.


Merge k sorted linked list in CPP

Merging k sorted linked list using c++

Sure @sr-sweta, you can  go ahead !


Keep history of the messages sent from dojot to devices

The current version of dojot only keeps history of the messages received by the platform (sensing). However, for many use cases is very important to also keep the history of the messages sent from dojot to devices (actuation).

It's already been implemented.


Need a style manual

A repository such as this needs a single style for all contributions. Python has PEP8., what is the Kotlin equivalent? Is there a program to enforce it? Is there a plugin to IntelliJ IDEA to set the Kotlin editor to this style?

Yole has created a work-in-progress kotlin style guide at https://github.com/yole/kotlin-style-guide. Additions to the guide are accepted via issues.

Is there a plugin to IntelliJ IDEA to set the Kotlin editor to this style?

No plugin, but we could provide a IntelliJ code scheme xml file in the repository and refer to it in the contributions file. Here is an example for Java code style settings: https://github.com/eventsourcing/es4j/blob/0.3/es4j-intellij-code-style.xml


FixFix the Calculation of the First Trigger Time and Add a Single-Time Scheduling Compensation Logic

Background:

Time (ms)
Window Start (1000)
First Trigger Time (2000)
Current Time (3000)
Trigger Time (Incorrect Adjustment)
Window End (5000)

0

1000
Start Time

2000
First Trigger Time

3000

Current Time

4000

Trigger Time (incorrect)

5000

Window End

The previous scheduling logic for calculating the first trigger time had the following issues:
If the current time (currentTimeMs) exceeds the start of the time window (windowStartTimeMs), the first trigger time could be skipped, causing some tasks to be missed. Minor delays during code execution (e.g., between window initialization and scheduling logic execution) could result in tasks being missed within the active time window. ###
Solution:
Adjustment of First Trigger Time Logic:
When the initially calculated firstTriggerTime is less than or equal to the currentTimeMs, compute the number of missed intervals and directly adjust to the largest trigger time that is less than the currentTimeMs.
Single-Time Compensation Logic:
Introduced a compensation mechanism to handle the slight delay caused by code execution. This ensures that tasks missed during the initialization phase are correctly scheduled.
The compensation is explicitly single-time to avoid impacting the normal scheduling logic.
Check List (For Author)

Test

[ ] Regression test
[x] Unit Test
[ ] Manual test (add detailed scripts or steps below)
[ ] No need to test or manual test. Explain why:

[ ] This is a refactor/code format and no logic has been changed.
[ ] Previous test can cover this change.
[ ] No code files have been changed.
[ ] Other reason

Behavior changed:

[x] No.
[ ] Yes.

Does this need documentation?

[x] No.
[ ] Yes.

Check List (For Reviewer who merge this PR)

[ ] Confirm the release note
[ ] Confirm test cases
[ ] Confirm document
[ ] Add branch pick label

run buildall

run buildall


Can't loop over benchmarks?

I'm confused about why this script crashes:
import perf

setup = {
    'run1': 'data = [1, 2, 3]',
    'run2': 'data = [4, 5, 6]',
}

runner = perf.Runner()

for package in setup:
    print(package)
    runner.timeit(
        name=package,
        stmt="data[1]",
        setup=setup[package],
    )

For me, I get the following output:
run2
run2
run1
.run1
run2
Error when running timeit benchmark:

Statement:
'data[1]'

Setup:
'data = [4, 5, 6]'

Traceback (most recent call last):
  File "/home/goldbaum/.virtualenvs/yt-dev/lib/python3.4/site-packages/perf/_timeit.py", line 203, in bench_timeit
    runner.bench_time_func(name, timer.time_func, **kwargs)
  File "/home/goldbaum/.virtualenvs/yt-dev/lib/python3.4/site-packages/perf/_runner.py", line 458, in bench_time_func
    return self._main(task)
  File "/home/goldbaum/.virtualenvs/yt-dev/lib/python3.4/site-packages/perf/_runner.py", line 428, in _main
    bench = self._master()
  File "/home/goldbaum/.virtualenvs/yt-dev/lib/python3.4/site-packages/perf/_runner.py", line 551, in _master
    bench = Master(self).create_bench()
  File "/home/goldbaum/.virtualenvs/yt-dev/lib/python3.4/site-packages/perf/_master.py", line 221, in create_bench
    worker_bench, run = self.create_worker_bench()
  File "/home/goldbaum/.virtualenvs/yt-dev/lib/python3.4/site-packages/perf/_master.py", line 135, in create_worker_bench
    self.bench.add_runs(worker_bench)
  File "/home/goldbaum/.virtualenvs/yt-dev/lib/python3.4/site-packages/perf/_bench.py", line 589, in add_runs
    self.add_run(run)
  File "/home/goldbaum/.virtualenvs/yt-dev/lib/python3.4/site-packages/perf/_bench.py", line 449, in add_run
    % (key, value, run_value))
ValueError: incompatible benchmark, metadata name is different: current=run2, run=run1

I gather that runner.timeit doesn't block until the tests it's running are done? That was surprising to me. Is there any way I can add a synchronization barrier between benchmark runs? Or is there really no way to loop over a set of benchmarks?

perf spawns subprocesses. The iteration order is randomized by default in
Python 3. Use sorted() somewhere to get reproducible results.

Even if I add sorted() this still crashes because the two benchmarks are running simultaneously.
For now I’m running perf itself in a subprocess which seems to serialize the benchmarks as I expected this example to do.

Oh! never mind. It totally doesn't crash with sorted, sorry!


Routing, Parameters, Syntax

Currently routing is only static matching of URLs. That's certainly not very flexible. I'm going to outline my current ideas for the router below.
Route
Basic

The leading / may be omitted
"user"

// same route as above
"/user"

Parameters

Parameters are defined with {name} in the route pattern

Routes with 0 parameters are classified as "static routes" and have a
higher weight than routes with >= 1 parameters
"user/{id}"

// will capture exact match even if defined after "user/{id}"
"user/profile"

"posts/{post}/comments"

{name} is defined as [^\/]+ by default, that is, {name} will match up to the next /
// will match "/user/230" but not "/user/329/blah"
"user/{id}"

A regular expression may be defined in the format {name: pattern}.
"user/{id: [^\\/]+}"
"static/{file: .*}"
"articles/{year: [0-9]{4}}"
"messages/{category: all|mine|yours}.{format: json|xml}"

{..name} is defined as shorthand for {name: .*}, that is, {..name} will match the rest of the URL
"static/{..file}"

Handler
use shio::router::Parameters;

fn user_get(ctx: Context) -> Result<Response, _> {
    // ctx.get::<_> accesses a type map
    let id_s: String = ctx.get::<Parameters>().get("id")?;
    // `Parameters::get` returns an routing mismatch error when
    // parsing fails that will cause the router
    // to look at the next route
    let id: u64 = ctx.get::<Parameters>().get("id")?;
}

fn main() {
    // [...]
    router.route((Method::Get, "/user/{id}", user_get));
    // [...]
}

looks simple and cool, what do you think about django style route?
like
router.route((Method::Get, "^/user/(?P<id>\d+$", user_get));

@saggit I'm not a huge fan of django's routing as its less of a route syntax and more of a "use regex here".
That said, these route patterns are just regex in the end so I'd be fine with something like the following as a way to "escape" the route syntax.
extern crate regex;
use regex::Regex;

// [...]

router.route((Method::Get, Regex::new(r"^/user/(?P<id>\d+)$"), user_get));

Yes, I agree, anyway i feel good about the current route design.

I've implemented a router that works similarly to what you've outlined for my own framework. Most of it is independent of the framework, and I've been thinking of splitting it off into its own crate. Would you be interested in this? You can view the source here, and the tests show examples of the syntax.
Most of your examples work with slight modifications to the route syntax, but I know that right now "messages/{category: all|mine|yours}.{format: json|xml}" would not work.

@huntiep :wave: Neat framework.
I'm using regex::RegexSet to power shio::Router at the moment (and performance is blazing 🐎).
I wouldn't mind switching to an external router if it can consistently beat the performance of RegexSet. From what I understand, RegexSet compiles down into a NFA which is going to be hard to beat by a manual trie.

If you want to chat more about contributing in other areas or anything else web-y, drop in to #shio. It'd be fun to bounce ideas around.


file extension names

gcov creates files with extensions .gcno, or .gcda.
lcov-diff doesn't directly process or use .gcno, or .gcda files, correct?
In the lcov example at https://ltp.sourceforge.net/coverage/lcov.php the generated file is named coverage.info.  If searching the internet for lcov examples, there are many cases of the .info extension.   However, not as much with .lcov extension.
When you use .lcov in the README file is that the same type of file as a .info file?     I think it is, but just confirming.

I thought .info is not very informative so changed the name in the example to make things clearer however, your issue shows that the result is the opposite. So I'll change this.


Pre-compiled fio uses instructions that are absent in QEMU emulated CPU

The provided pre-compiled fio uses AVX instructions, and produces an Illegal instruction error on the QEMU's default emulated CPU. Please consider providing a binary compiled with -march=x86-64 -mtune=generic.

compiled with -march=x86-64 -mtune=generic.

Oops, it should be --disable-native in ./configure, see
https://github.com/axboe/fio/blob/master/configure#L251

Thanks! I'll get this incorporated and start testing it out :)

Fixed in 9819339

Does this affect perf? I wonder if this change will show lower performance on some systems.

@Daniel15 - iperf was not affected by this as it doesn't incorporate AVX-specific CPU instructions in the binary. The fio binary was facing much more incompatibility issues compared to the iperf binary (which has rarely caused problems).
In any case, if a local binary/package is installed and found, the script will automatically defer to that instead of grabbing the pre-compiled binaries. So if worried about possible performance hits, feel free to install fio/iperf3 natively before running the script.

I wonder if this change will show lower performance on some systems.

@Daniel15 I doubt it will, since it is mainly a I/O benchmark tool, not a CPU one.
The fio packages provided by Linux distributions are all compiled with --disable-native (e.g., Ubuntu) otherwise it won't run on a lot of machines.


Export zaw-history

I would like to see zaw-history exported out of zaw. It's the most useful part, and I suspect 99% of users just use that.

It might make sense to split off the sources from the core, or allow users to either specify which of the default sources are included or which ones are excluded (though on my current machine loading all of zaw adds <10ms to my zsh load time, so I feel it would be a little moot to save ~2ms).  But as zaw-history depends on all the core zaw components, breaking it out into its own thing doesn't really make sense.
Personally, I think prezto would be just as well off including the whole thing if it will include a part (since that is the reason for this issue).  But then again I prefer package management via zgen over the frameworks such as prezto or oh-my-zsh.  So I may just have a different mindset in general.


To Reproduce
This is very inconsistent, I can't reproduce on demand and when it does happen then immediately rewriting the file succeeds:
$ ddev export-db -f db.sql.gz
Wrote database dump from site database 'db' to file db.sql.gz in gzip format.
$ gunzip db.sql.gz

gzip: db.sql.gz: decompression OK, trailing garbage ignored

$ rm db.sql
$ ddev export-db -f db.sql.gz
Wrote database dump from site database 'db' to file db.sql.gz in gzip format.
$ gunzip db.sql.gz
$

Expected behavior
The file should always gunzip cleanly with no warnings.
Version and configuration information (please complete the following information):
Ubuntu 20.04
DDEV-Local version	v1.17.7
architecture      	amd64
db                	drud/ddev-dbserver-mariadb-10.3:v1.17.7
dba               	phpmyadmin:5
ddev-ssh-agent    	drud/ddev-ssh-agent:v1.17.0
docker            	20.10.10
docker-compose    	1.23.2
os                	linux
router            	drud/ddev-router:v1.17.6
web               	drud/ddev-webserver:v1.17.7

Please use zless on your db dump to see what's in there. I think you'll find that it's something understandable. If you can share the dumpfile with me via PM I'll also take a look.