Additional considerations around the first PR iteration

We've spent quite a few hours in discussion of every detail of this PR so we propose a call to discuss how we feel we've taken concepts introduced in the original PR (like the FlushSelector) and expanded them to include additional functionality in a consistent way.
Another point of discussion is the behavior of the write functionality. We spent over two hours on one call just discussing the method signature. We feel like our approach here takes what we liked from the work so far and expands it to make it a little easier to work with when composing into streams of data.
Particular attention has been paid to how we can avoid GC overhead by keeping any wrapping or delegate objects to zero if possible. To that end, the concept of interception has been removed and the generics eliminated from the connection signature. It was causing no end of frustration and in truth is not really needed except when using the API directly, which is likely not ever going to be the case. We couldn't find good reasons to go through the pain of maintaining the chain of generics when transformations are applied to the connection so we instead will rely on a much simpler mechanism to perform these functions: Reactive Streams components that are wired into the pipeline. This still allows RS-only components to do things like length-field decoding, line-ending decoding, and other things that would be common in any TCP environment but only use the Reactive Streams APIs rather than an additional interception API that only exists in the RIPC kernel.
We decided in this iteration to not pursue end-user composition because the signatures and interaction of the connection write was so different than in previous iterations that it didn't make a lot of sense to spin wheels on that when some of the basic questions haven't been satisfactorily answered. That said, this PR attempts to make the reading and writing so natural to Reactive Streams components as to make it a simple matter of plugging directly into an RS pipeline in a plug-and-play fashion, with only advanced functionality needing additional listeners.
Backpressure has been implemented on both the reading and writing side. On the writing side, dynamic backpressure is implemented so you can change the rate at which you pull items from your write Publisher based on the rate at which you are successfully writing items out. This logic is encapsulated in the DemandCalculator which is implemented in a very simplistic way in the example SingletonPublisher in core.

@benjchristensen @NiteshKant @rstoyanchev @smaldini I tried to lay out some of the rationale for taking the approach we did in expanding on Nitesh's PR and in some cases ignoring some things just for the time being so we can focus on one problem at a time.
Since some of this approach looks considerably different than the previous PR, it's not going to be be readily apparent how we took what was suggested there and tried to keep, expand, or otherwise refine those concepts to include as many use cases as possible. I suggest a call to discuss this since we spent many (many) hours going over every line of code in Nitesh's PR as well as our own experiments. We have cussed and discussed some of these things to a considerable extent and I think it would be good to present some distillation of that discussion on a chat rather than through GH comments.

As Jon mentioned the key focus area has been around TcpConnection, taking the proposal from Nitesh on how write, flush, and get write confirmations, and evolving the concepts (hopefully). There are many other aspects of the proposal by Nitesh that we have initial thoughts on but have not discussed sufficiently. It's worth talking through the TcpConnection before moving on. Baby steps.

The proposed Connection here has one write(Publisher) method that can be called many times where flush occurs on completion, and a second write method also taking a FlushSelector. There are good concepts there but lots of question marks too.
For example using a single Publisher is a natural starting point when you think about writing. I could use the first write method but then I don't get useful write confirmations nor useful options to flush. I'd probably use the second method then with the FlushSelector then I still get no useful write confirmations. This is not to say that write confirmations are the key here but that if the API provides them they should make sense.
Also calling write multiple times with a Publisher makes working with backpressure more difficult. I think I'd have to go ahead and write first, then wait until that's completed, then I know can write again. Maybe I'm wrong but at least it's clear that it's not as simple as request(1) -> onNext(T).
It would be very clear to only have a single Publisher representing the write side (and that would also mirror the read side). Hence what we are proposing.
As far as write confirmations and flushing are concerned, eventually we arrived at the idea that they are quite closely related. How do we even provide write notifications to begin with? At first we thought the transport implementation should provide some sort of Publisher mechanism that sends the items after they're written but then we realized what we are talking about is just a notification mechanism, not necessarily a fit for a reactive streams Publisher with backpressure. From there if you look at the FlushSelector it's pretty much that. It tells you that something was written and how many items have been written. So rather than focusing on flushing as a use case too much, we see lots of useful IO notifications that one might listen to and flushing could easily be exposed as part of that.
So we are proposing an event listener mechanism on the connection. You can listen to "write completion" events as one example and for each written item you can return a boolean flag much like the FlushSelector to indicate flushing should occur. The exact details of that interface can be discussed (we already have some further thoughts) and there can be many other kinds of useful events like changes of readability, writeability, transport errors, etc. We just wanted to communicate the general concept first before going further with it.
A more general comment on flushing is it's something that components further up the composition chain might be interested in but it makes no sense to expose any kind of "flush" operation at that level, nor is it feasible to do that or to send flush signals through the data pipeline, wrap data in an envelope, etc. None of these make sense. The FlushSelector we felt was a good start since it keeps the concern at the I/O layer. By turning it into a listener mechanism (vs a write method argument) it becomes more accessible.

concept of interception has been removed

That is a critical aspect of the proposed design to allow extension. I don't see how this proposal addresses the extension use cases such as logging, caching, authentication, compression, etc in a compositional manner.

On first pass of this code I'm not a fan of the EventListener and Handler aspects of this proposal, nor is it clear why that approach was needed as opposed to sticking to the RS solution.

I'd like to see this proposal include examples of how it is used and how the adapter layers look.
For example, the other PR has this: https://github.com/reactive-ipc/reactive-ipc-jvm/pull/19/files#diff-6327a044d2d50969539215f133a15744R25

Another thought while trying to understanding this ... is the use of EventListener intended to always be hidden behind an adapter?
Can you provide an example of an adapter like we did in #19 to see how you're thinking it would be layered?

Take the write method with the FlushSelector proposed by Nitesh. Suppose you are only allowed to call it once with a single Publisher to write. The contract could then change to a writer(Publisher) method plus another method to register a FlushSelector. If you look at the FlushSelector more closely you can see it provides the last written item. So it's not just flushing. It notifies you that something was written, which is convenient since we have been talking how write completion notifications can be exposed? Returning Publisher<Void> from a write method that also takes also takes a Publisher is inadequate. Instead you could simply observe notifications of items that have been written. Hence the realization that FlushSelector could serve both purposes and the resulting WriteCompleteListener which by the way is identical to the FlushSelector if you compare the two.
So naming aside it's almost identical to the original proposal but focusing on a single Publisher for writing plus the ability to track every write when it is completed plus the ability to flush using any strategy equivalent to the FlushSelector.

is the use of EventListener intended to always be hidden behind an adapter?

It has nothing to do with the adapter, just like the FlushSelector from the original proposal it serves the same purpose. However note that the FlushSelector has to be provided at the time of writing and hence only whatever component is at the boundary of the reactive-ipc layer (some operator from a composition library perhaps?) can supply it. By contrast the listener mechanism is exposed on the Connection and hence it's much more accessible to anyone interested.

On first pass of this code I'm not a fan of the EventListener and Handler aspects of this proposal, nor is it clear why that approach was needed as opposed to sticking to the RS solution.

To summarize our discussion around this: not everything needs to be hit with the RS hammer. Case in point: write notifications. If you provide a Publisher which produces write notifications you get a Subscription in your Subscriber. Besides the allocation of the Subscription and whatever resources are required by it, what does .request(N) mean in that case? Can you really apply backpressure to write complete notifications? The only way to do so is to push back on the writer Publisher and tell it "I can't process more write complete notifications so don't send me any more". In the transport layer, if you can't send write complete notifications then that implies you can't create them, which implies you can't do any more writing. That would be okay except the writer Publisher has its own Subscriber (provided by the transport) and Subscription through which demand is calculated. There's no direct connection from the write completion "stream" to the writing "stream". If you can't use .request(N) in a meaningful way, then it's possible that backpressure doesn't apply in that situation. If backpressure doesn't apply, then we probably shouldn't be using the RS API which can be extremely expensive in terms of GC and object allocation if it's overused.
There are events happening to the connection that are orthogonal to reading and writing (core concerns of Reactive Streams in this kernel). IMO those events should be processed by simple callbacks rather than shoehorned into the RS API because it's cheaper and those events don't have a flow capable of reacting to backpressure. e.g. you can't apply backpressure to a connection close notification.

I'd like to see this proposal include examples of how it is used and how the adapter layers look.

I fully intend to provide some Reactor code that uses these abstractions to show an end-user experience (hopefully today). But we've spent so much time on getting this put together I simply didn't have time to put that in and I wanted to get something put out there at this level because I knew there would be need for discussion of this first.

That is a critical aspect of the proposed design to allow extension. I don't see how this proposal addresses the extension use cases such as logging, caching, authentication, compression, etc in a compositional manner.

I'm not saying there's no need for the concept of interception at all, I'm simply pointing out that as we have discussed it, I think we're missing the forest for the trees.
We already have a very competent extension mechanism in the form of the Reactive Streams pipeline. It is the interception mechanism. If you want to compose additional functionality into the read side like authentication, then you simply use an AuthenticationProcessor which you subscribe to the Publisher<?> returned from .reader(). You then pass the Processor on up the chain as if it had come from the connection.
Providing any mechanism to inject itself into the Reactive Streams pipeline that doesn't follow the spec is problematic in any number of ways; it doesn't propagate backpressure, it doesn't respect the specification, etc... After removing the generics signatures and being freed from the generics hell that Java puts you in just to do simple things, it's no longer necessary to provide some way to translate <R,W> into <NEWR,NEWW>.
Not having to do that wrapping results in a more compressed stacktrace as well, which is sometimes ridiculously difficult to deal with when debugging through many layers of anonymous inner classes.

@benjchristensen FWIW @rstoyanchev @smaldini and I had some more discussion around interception and as I'm creating the Reactor components for this, I can see use cases for turning an RIPC TcpConnection into something else rather than dealing with a TcpConnection directly.
This just to point out that we didn't leave interception out because we don't think it has a place but that we were attacking one issue at a time (just like the concept of an abstract Server). I have a commit to this PR coming that will show Reactor code using these underlying APIs and I can definitely see a use for some kind of transformation at the server level.

@benjchristensen Here's some example code I just added that uses Reactor to handle data (in and out) and do interception in the Stream (the .log()). We're cheating here, of course, because every Reactor Action is a Reactive Streams Processor so we don't need any additional code to plug this in. But imagine that we're just use the Processor type directly rather than a Reactor Stream and you get the same effect.

Interception is also happening below the user level (e.g. I'm not exposing that to the user) here. I don't have to use a Stream, I just did for convenience's sake, but the .map() call is simply a Processor.

BTW the generics in the current intercept proposal don't work. The TcpServer has the same parameters as the start method. So even if intercept goes from ByteBuf->String for example the start method is red. Try it.

FWIW I introduced an Interceptor and added it to the newly-created TcpServer interface to allow you to change the type of connection being used and thus avoid a delegate situation where you have to use a Handler<TcpConnection> but translate that to something else. This interception allows you to change the connection from the RIPC TcpConnection to something arbitrary that makes sense for the composition library. In this case I'm using my own ReactorTcpConnection type.
This is in line with #15 and actually makes the code more succinct.
Here's the updated example using Reactor of an echo server with logging "interceptors" (code name for simply putting an RS Processor between the .reader() and the user) and using the new connection interceptor.

I tried to add an example implementation of RxTcpServer today but I'm not familiar enough with Rx to do that to my satisfaction. It seemed I was being very verbose and things just weren't working like I expected so I gave up on that and figured I'd leave that part to the experts.
I added another example of using the EventListener approach to make very clean extensions of the transport by adding a ChannelActiveListener that can configure the Netty pipeline. I used this in the Reactor implementation to add a Reactor Buffer channel handler that converts the Netty ByteBuf to a Reactor Buffer which allows us to use our built-in Codec support.
One of the things I'm finding I like about this approach so far is that everything has a very clean and clear extension point without introducing unnecessary abstractions at the protocol level. It also meant all I had to change on my test code was the generic type (from ByteBuf to String) and pass the appropriate Codec.

Instead of prolonging this discussion with further back-and-forth here are 3 use cases that seem to not be supported by this proposal:

Multiplexing TCP Writes https://github.com/reactive-ipc/reactive-ipc-jvm/issues/21
Write Composition https://github.com/reactive-ipc/reactive-ipc-jvm/issues/22
Server Interception https://github.com/reactive-ipc/reactive-ipc-jvm/issues/23

These 3 are use cases of #19 that seem to not be accounted for in this counter proposal. I'd like your help in either showing me how they are accommodated, or in disproving our perception of them as requirements.
By specifying them in separate issues we can discuss each independently and independent of any given PR.

I am closing this PR in favor of #19 which has been merged.


fix the URL of the ffmpeg release for windows

Motivation
All Windows pipelines are currently failing because the cache has been cleared and the previously downloaded ffmpeg package is no longer available at the specified location.
Explanation for Changes
This switches the URL to builds by the same resource, but hosted as github releases (so hopefully more persistent).
Acknowledgement

[x] I have read the Contributing Guidelines

The Windows pipeline passes again, I'd appreciate if this could be merged ASAP.


Setup Github Actions

I think these workflows can just be copied over.

see https://github.com/rdmueller/drawio-intellij-plugin/tree/actions/.github/workflows for WIP

build works: https://github.com/rdmueller/drawio-intellij-plugin/actions/runs/354434979


feat: Support customising canvas actions 🎉

I've used the action names for canvasActions attributes to conditionally disable the respective action, except for export since it doesn't have an action. I'm not sure whether this is the right way to do it. Looking for feedback :)
I'll add tests & make changes to docs after initial feedback.
Example with export hidden

Addresses 1/3 of  #3012

I'll add tests and make changes to docs!

Bear in mind that if this PR gets merged it might mess up the semantics a bit: https://github.com/excalidraw/excalidraw/pull/3381

@ad1992

I am ok with not disabling drag and drop when loadScene is false.

depends on what the goal of this PR is? If someone wants to disable loading files via the button, they prob don't want it to be enabled by other means as well?

Bear in mind that if this PR gets merged it might mess up the semantics a bit: #3381 (but it may not — haven't reviewed this PR yet)

Since we consider the options under canvas actions so it should be fine as long as we mention in the readme what options are covered in canvasActions prop.

@ad1992

I am ok with not disabling drag and drop when loadScene is false.

depends on what the goal of this PR is? If someone wants to disable loading files via the button, they prob don't want it to be enabled by other means as well?

It might be not sure about this hence didn't want couple it with this PR, we can push it as an improvement later if needed.

color picker and theme also comes under canvas actions so lets add background, theme attributes under canvas actions for that.

I added a prop for background. I see that theme is already controlled by the theme prop, should we add this anyway or should we move that prop to canvasActions?

color picker and theme also comes under canvas actions so lets add background, theme attributes under canvas actions for that.

I added a prop for background. I see that theme is already controlled by the theme prop, should we add this anyway or should we move that prop to canvasActions?

Yep the theme prop is for whether the host wants to control it, this is for the host wants this functionality at all (nothing about controlling it from host) so we should support it, else host will have to unnecessary pass theme prop  as a hack for not showing the theme button. However the logic wise on the code side it will be same (don't allow theme to be updated when this prop is false which means don't show the theme button)

The spacing looks weird when only loadScene is allowed and collab is supported

This we will have to check how we can we fix it as the spacing looks little weird when just one option is shown along with collab. But it can go in a separate PR as an improvement.

Thanks a lot for working on this @h7y ❤

Thank you so much for the review @ad1992! ❤


Detailed warning when preregistered publications are not configured but others are registered

Let's investigate if we can log a detailed warning in this case. This has already come up during #38 and #52, and, ideally, we should be able to detect it a runtime.

Delaying this because a release is overdue and I have no idea how to implement this properly yet (especially due to interactions with configuration caching).


Integer overflow has to be a runtime error

Consider the following code
import ballerina/io;

public function main() {
	int f =<PHONE_NUMBER>21474836472147483647214748364721474836472147483647214748364721474836472147483647;
	io:println(io:sprintf("%d", f));
}

Compiling the above code gives following error, which is compile time error
Compiling source
        gimantha/myProj:0.1.0
ERROR [test.bal:(4:10,4:100)] Integer '214748364721474836472147483647214748364721474836472147483647214748364721474836472147483647' too large
error: compilation contains errors

isn't this the correct behavior ?

isn't this the correct behavior ?

Yes.. This is the correct. Will close the issue.


Too many tokens!!!

Each owner is limited to owning 2^64 token as per uint64 balance in AddressData.
However, the _mint, _safeMint, _beforeTokenTransfers, _afterTokenTransfers functions all use the uint256 type which is too wide.
Those functions are all internal so perhaps narrowing the type is appropriate.

I tried to use getAux, setAux helpers for whitelist counter. I haven't tested the gas difference yet, but I use unsigned 256 bit integer for the most purposes. Like maxSupply, mintPrice, maxPerWhitelist etc. So I had to transform all the variables from 64 to 256 again in the setter mint function to sum or calculate the things.
And, I heard, the compiler creates uint256 by default and for this implementation it needs transforming from 256 to 64 which causes more gas costs on those purposes above. Specially in runtime calculations instead first deployment.
PS: I am very new in Solidity.
Thanks for the efforts to make ERC721 better.

I think it’s ok to just leave it as it is.
Otherwise users have to cast the quantity to uint64 (a little inconvenient), and the compiler may emit an extra opcode for the casting.
In practice, the function will run out of gas way before the _quantity can even hit the uint64 max.

Does anyone have a code sample using setAux and getAux? Would like to learn how are they used to whitelist.

@TravelingTechGuy see #135


Fixer To Remove Comments From Return Annotations Would Be Cool

ping @GrahamCampbell

no spec, no answer for ping, closing

@return string Some thing. -> @return string

feel free to propose a PR

I'll do one in June. Please keep the issue open. ;)

I heard it so many times :(
there were no support for this issue from community, for that I will leave it as is.
nevertheless, if you would have proposal, feel free to present it.

Probably won't remember. Anyways, if nobody else is interested them, who cares. :trollface:

you cared asking for reopening ticket that got no answer for 2 years ;)


Fix: RDS identifier must start with a letter

If the resource prefix hash begins with a number, it fails to create the RDS, because the identifier must begin with a letter
This change checks the first character of the hash, and if it is a number, it adds the letter 'h' to the beginning - For the RDS identifier only

would adding a h reach a char limit on naming of resources?


Export of the different steps of the actionBuilder

Export of the different steps of the actionBuilder
Description
Allow any user to reproduce the behaviour of the action builder with his specific needs.
Example
import services from '../services/campagne';
import {errorOnCall} from 'focus-core/application/action-builder';
import {dispatchServiceResponse} from 'focus-core/application/action-builder';

export const questionnaire = {
    saveSynthese: (synthese,callerId) =>  {
        const property =`questionnaireSynthese${synthese.type}`;
        const conf = {
            callerId:callerId,
            node:property,
            status: 'saved'
        };
        services.saveQuestionnaireSynthese(synthese).then(
           data => {
                dispatchServiceResponse(conf, data)
            }
        , err => {
                errorOnCall(conf, err);
            });
    }
};

As discussed together it is a good way for people to build their own custom action builder.
Can you add an example call to each method or a use case in comment.

@Tsj-  Can you do a small tutorial on this ?


Add Kerbal Mods Overhaul (KMO) from SpaceDock

This pull request was automatically generated by SpaceDock on behalf of 534443, to add Kerbal Mods Overhaul (KMO) to CKAN.
Mod details:
name = /mod/1735/Kerbal%20Mods%20Overhaul%20%28KMO%29
author = 534443
abstract = "Kerbal Mods Overhaul" (KMO) is nothing more than a set of patches initially made to cope with the personal desire to simplify/modify a number of very popular mods, MKS in primis, in order to bring a slightly different gameplay experience to KSP.
license = CC BY-SA 4.0
Homepage =
description = ## Kerbal Mods Overhaul (KMO)

Core mods:

Modular Kolonization System (MKS) made by RoverDude

USI Life Support (USI-LS) made by RoverDude

ExtraplanetaryLaunchpads (EL) made by skykooler and taniwha

Optional mods:

OSE Workshop (KIS Addon) made by ObiVanDamme and Aelfhe1m

KeridianDynamics Vessel Assembly made by EleusisLaArwall

Also consider installing Kerbal Attachment System (KAS) and Kerbal Inventory System (KIS), both made by KospY, winn75 and IgorZ.
Notice: Always Remember to install all dependencies for the mods you use!

| Patch Table (v0.1) |

Please direct questions about this pull request to 534443.

Needs PatchManager, which is still marked as 1.3.1 only. PM probably works, but let's wait for @linuxgurugamer to update it just in case.

#rebuild

PM is updated, and is showing as available in my local CKAN client, but for some reason didn't get pulled in for this build.
It is updated for 1.4.1 only, could that be the reason?

Patch Manager was updated for 1.4.1, I'm not supporting 1.4.0 since it was so short.

#rebuild

It appears that SpaceDock automatically truncates "1.4.0" to "1.4", so Netkan automatically transforms "1.4" to "1.4.0", even if it was originally meant as "1.4". So this author may or may not post an update for 1.4.1.
I'll see if I can figure out a pull request to fix this on the SpaceDock side...

If you want I can set the mod to 1.4.1 as I'm an admin on SpaceDock

#rebuild

It's on 1.4.1 now, but UKS isn't yet. Will check again in a while.

#rebuild

#rebuild

#rebuild

#rebuild

#rebuild

UKS dependencies are now on 1.4.1 but this mod also needs EPL. Author says that he is almost ready for a release.

#rebuild


Error in picking example.

I believe the unprojection is wrong in the picking example as it works only for perspective projection and not for orthographic one.
Changing the code to the following works for both.
float pickAt[4];
float pickEye[4];

float mousePosNDC[4] = { mouseXNDC, mouseYNDC, 0, 1.0f };
// Unproject and perspective divide
bx::vec4MulMtx(pickEye, mousePosNDC, invViewProj);
pickEye[3] = 1.0f / pickEye[3];
pickEye[0] *= pickEye[3];
pickEye[1] *= pickEye[3];
pickEye[2] *= pickEye[3];

float mousePosNDCEnd[4] = { mouseXNDC, mouseYNDC, 1.0f, 1.0f };
// Unproject and perspective divide
bx::vec4MulMtx(pickAt, mousePosNDCEnd, invViewProj);
pickAt[3] = 1.0f / pickAt[3];
pickAt[0] *= pickAt[3];
pickAt[1] *= pickAt[3];
pickAt[2] *= pickAt[3];

You can submit PR with the fix.

Sorry but i havent worked much with git thats why i posted the code here feel free to add it anytime you want

Your commit still doesn't fix the issue.
The using the camera Position for the pickEye is wrong as it only works for perspective projection. As i suggested above. Maybe i didnt explain myself properly.
pickEye must be calculated like so:
float pickEye[4];

float mousePosNDC[4] = { mouseXNDC, mouseYNDC, 0, 1.0f };
// Unproject and perspective divide
bx::vec4MulMtx(pickEye, mousePosNDC, invViewProj);
pickEye[3] = 1.0f / pickEye[3];
pickEye[0] *= pickEye[3];
pickEye[1] *= pickEye[3];
pickEye[2] *= pickEye[3];

and pickAt like so:
float pickAt[4];
float mousePosNDCEnd[4] = { mouseXNDC, mouseYNDC, 1.0f, 1.0f };
// Unproject and perspective divide
bx::vec4MulMtx(pickAt, mousePosNDCEnd, invViewProj);
pickAt[3] = 1.0f / pickAt[3];
pickAt[0] *= pickAt[3];
pickAt[1] *= pickAt[3];
pickAt[2] *= pickAt[3];


readResponse taking > 10 seconds, despite given timeout

From the goroutine dump:
goroutine 382 [IO wait, 3 minutes]:
net.runtime_pollWait(0x7f3b60d150e0, 0x72, 0x4171c9)
        /home/travis/.gimme/versions/go1.6.linux.amd64/src/runtime/netpoll.go:160 +0x63
net.(*pollDesc).Wait(0xc82025abc0, 0x72, 0x0, 0x0)
        /home/travis/.gimme/versions/go1.6.linux.amd64/src/net/fd_poll_runtime.go:73 +0x56
net.(*pollDesc).WaitRead(0xc82025abc0, 0x0, 0x0)
        /home/travis/.gimme/versions/go1.6.linux.amd64/src/net/fd_poll_runtime.go:78 +0x44
net.(*netFD).Read(0xc82025ab60, 0xc820538800, 0x100e, 0x100e, 0x0, 0x7f3b60d10050, 0xc82000a130)
        /home/travis/.gimme/versions/go1.6.linux.amd64/src/net/fd_unix.go:250 +0x27b
net.(*conn).Read(0xc820022368, 0xc820538800, 0x100e, 0x100e, 0x1375a20, 0x0, 0x0)
        /home/travis/.gimme/versions/go1.6.linux.amd64/src/net/net.go:172 +0x121
net.(*TCPConn).Read(0xc820022368, 0xc820538800, 0x100e, 0x100e, 0x0, 0x0, 0x0)
        <autogenerated>:71 +0x7d
github.com/TF2Stadium/Pauling/vendor/github.com/james4k/rcon.(*RemoteConsole).readResponse(0xc820167630, 0x1bf08eb000, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
        /home/travis/gopath/src/github.com/TF2Stadium/Pauling/vendor/github.com/james4k/rcon/rcon.go:163 +0xc0b
github.com/TF2Stadium/Pauling/vendor/github.com/james4k/rcon.(*RemoteConsole).Read(0xc820167630, 0x0, 0x0, 0xb475, 0x0, 0x0)
        /home/travis/gopath/src/github.com/TF2Stadium/Pauling/vendor/github.com/james4k/rcon/rcon.go:98 +0x75

This is despite Read() calling readResponse with a given timeout of 2 minutes
Could it be that SetReadDeadline needs to be called before every read?

SetReadDeadline is called just before the Read in the callstack you show there, so don't think that is the issue here.
Does it ever timeout?

The goroutine stays there for ~4 minutes, after which is exits, presumably due to the timeout.

How did you originally encounter this issue?

Hm, looks like a function earlier in the callstack for responsible for this. Sorry about that


Closed by server

Closed by server [500 => SocketException: Connection refused (OS Error: Connection refused, errno = 111), address = demo.cloudwebrtc.com, port = 42488]!

Thank you so much for starting the server.

Closed by server [500 => SocketException: Connection refused (OS Error: Connection refused, errno = 111), address = demo.cloudwebrtc.com, port = 37257]!

Any help


Support paging in SQL Server 2008 R2

Fixes issue #63

Not sure I really like the idea of using a syntax from 2008 as it as an impact on performance: https://www.mssqltips.com/sqlservertip/2696/comparing-performance-for-different-sql-server-paging-methods/
I would prefer an option where we have a distinct dialect, and all the changes are done in the dialect.
An option could be to add a parameter in the connection string and detect it when looking up the dialect. Another way would be to set the dialect explicitly in the configuration.

I didn't know that will impact the performance
Your idea is great, but let me try something else, instead of introducing a new dialect

I was thinking to get the Server name using @@VERSION or SqlConnection.ServerVersion in UseSqlServer after that we can easily use the suitable code for each version, or much simpler we can add an optional parameter name supportPriorSQLServer2012 which is false by default

In the end you will still need to switch the code to some other implementation, and a dialect, even inheriting from the 2016 one would be nice. This is what NHibernate does for instance.

So if the optional param is fine, I will add it, also I will create another dialect

Parameter is fine. This should not be limited to SqlServer but general to any configuration IMO.
For the SqlServerBuilder I disagree, if we need a special case then it means it's in dialect, and then we have to add another method to special the processing. Look at "InOperator" for instance which is special for Postgre.

This should not be limited to SqlServer but general to any configuration IMO

Do you mean passing dialect?!!, because I suggest to add supportPriorSQLServer2012 which is suited for SQL Server case

Yes I mean passing the dialect. You can add an extension method that does it with the correct dialect if you want too.
But please check wherever we currently load the dialect, and how, to be sure we will always take the one specified. I know that there is a static array for now, we should only use it to initialize the value if not set by configuration.

Ok, let me have a try ..

I pushed the PR #65 to add the dialect as optional param to UsingXXX, this PR one will be on top of the previous one

@hishamco @sebastienros I've just hit this myself when trying to deploy to an old machine. I'm aware that this has been idle for 2 years now, so might be a bit out of date, but it's exactly what I was about to raise an issue for..., I was even going to suggest a copy of the SqlServer dialect with just the paging part changed.
Is this something that's still viable?

There is a way to pass custom dialects to the configuration now, @hishamco do you want to update the PR to simply create a new dialect class. Maybe another test class that inherits from SqlServerTests can override the sqldialect instance and runs all the tests with this new one? As long as the current instance used for unit tests will handle that.

I will try to create a fresh PR, or I will update this one

@hishamco could you merge dev on this with the key length tests?
My concern is that it will now fail because of key length limitations on the earlier version of sql server.
The other command that will fail (but does not have a test for it) is the DropIndex command
And those are only the two I know about.
I'm not against supporting the older version, but I'd be wary that there are not more issues or limitations that are hard to work around.

Ok Dean, I will merge dev on this, but as you said it should run against SQL Server 2008 to make sure it works 100%

I merged changes to test on multiple sql server versions (2019 and 2017) https://github.com/sebastienros/yessql/pull/304/files
Please follow this technique to create new test classes (minor changes).
However the image we are using only support 2017 and 2019, we would need an older image to test 2008. Not sure if we can do multiple images/tests in the same appveyor file.
But at least testing that the dialect works on 2019 like you are doing is a minimum. Though it doesn't ensure it works on 2008.

@sebastienros after your merge it seems some of the tests still needs a refactor to use the correct connection string for sql server version we are testing.
I mean at these lines:
https://github.com/sebastienros/yessql/blob/dev/test/YesSql.Tests/SqlServerTests.cs#L53
https://github.com/sebastienros/yessql/blob/dev/test/YesSql.Tests/SqlServerTests.cs#L81
https://github.com/sebastienros/yessql/blob/dev/test/YesSql.Tests/SqlServerTests.cs#L99

I have run the tests for this PR in a 2008 sql server and I can confirm it doesn't pass any of the two pagination tests.
 ShouldPageResults
   Source: CoreTests.cs line 2161
   Duration: 25,7 sec
  Message:
    Microsoft.Data.SqlClient.SqlException : Invalid column name 'RowNum'.

 ShouldPageWithoutOrder
   Source: CoreTests.cs line 2242
   Duration: 25,8 sec
  Message:
    Microsoft.Data.SqlClient.SqlException : Invalid column name 'RowNum'.

I have submited another PR with my fix for pagination, just in case you think it is interesting https://github.com/sebastienros/yessql/pull/305

Closing as it's old. Still ok to see a new one with passing tests.


getupdates missing message

I have a question or need help
Hello, I used your framework to write a program to get group messages, but the program will lose a certain message in rare cases. Although the probability of this happening is very small, I can't find the reason. Can you help me? ?

Likely a bug in your code. And you're using a very old version of the library.
Github issue is not for providing support on your own code.
And I see you asked the same question in our support group already 🙄

thank you


AIR_222 - ESP OTA Fail Message Improvements

Added logic to store unique error description in a string variable that can be retrieved by other threads during the OTA process.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.0 out of 14 committers have signed the CLA.:x: lly:x: mahavirj:x: AdityaHPatwardhan:x: espressif-bot:x: projectgus:x: chhajedji:x: Isl2017:x: jack0c:x: lapumb-spindance:x: nickm-spindance:x: david-cermak:x: espxiehang:x: tleppien:x: lukeplatzlly seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.


Update index.md

👷 Deploy Preview for gladia processing.

Name
Link

🔨 Latest commit
212a5f7706726ac4a359ae925c49534d277a6cb3

🔍 Latest deploy log
https://app.netlify.com/sites/gladia/deploys/642bcd3be3a8a60008688821


Reduced gpu utilization

The original version was maxing out my RTX 4080 (100% as observed in Windows 11 Task Manager), displaying an excessive and unnecessary FPS count of ~700. To address this, I've added VSync to cap the FPS and reduce workload. Furthermore, I've bit modified the rendering logic to only execute the GaussianRasterization when there are actual changes to the scene, camera, or window size. This modifications were effectively reduced the GPU load to single-digit percentages.

Thank you for your awesome contributions (Also congrats on the CVPR acceptance)!
For the pull request, could you made vsync configurable through UI? As disabling it could help measure the highest possible FPS for a rendering system.

I added a checkbox for enabling/disabling the feature (both vsync, and re-rasterize). (It appears there has been a confusion, as I have not participated in any CVPR papers).


README should point to the updated repos

It would be helpful for the project description and readme to updated to state that people should be pulling from the new repos (
Tracking: https://github.com/keen/keen-tracking.js
Analysis: https://github.com/keen/keen-analysis.js
Viz: https://github.com/keen/keen-dataviz.js
) instead of this one.

Thanks for the feedback! We are slowly beginning work on merging these into this repo, so it will eventually be updated to reflect this within this repo.

@blueish working on this now -> https://github.com/keen/keen-js/tree/dev-4.0 -- feedback is welcome! Just drop a note here if you have any thoughts on that page, or the recently updated docs for those other repos 👍

All done 👍🏻


Cop idea: replace list = list.select {...} with list.select! {...}

When the result of select, reject, uniq, sort, sort_by, map, flatten, and reverse is assigned back to the variable it operates on, prefer the mutable version of the method, i.e.
# bad
list = list.select(&:odd?)
list = list.reject { |x| x > 42 }
list = list.uniq
list = list.sort
list = list.sort_by(&:name)

# good
list.select!(&:odd?)
list.reject! { |x| x > 42 }
list.uniq!
list.sort!
list.sort_by!(&:name)

This could also be a performance cop since mutating in-place can have performance advantages.

This could substantially reduce allocations/copies, but it's quite a can of worms.
The transformation is equivalent only if list isn't shared. This is hard enough in a statically-typed language with good lifetime analysis, but even harder in a dynamic language like Ruby.


Do not merge! PR is present to run through test farm.

Do not merge! PR is present to run through test farm.

Codecov Report

Merging #2452 into master will increase coverage by <.01%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master    #2452      +/-   ##
==========================================
+ Coverage   86.46%   86.46%   +<.01%
==========================================
  Files         315      315
  Lines       60440    60440
  Branches     6584     6584
==========================================
+ Hits        52257    52260       +3
+ Misses       7137     7136       -1
+ Partials     1046     1044       -2

Combined effort, seems to have had the correct effect in the build system. Thanks @sklam . Merging.


Update mutation entry (closes #1009)

This PR updates the FAQ entry reg. mutations to reflect the latest changes of the risk assessment.

Preview of the changes

Closes #1009

Two things:

I would suggest to add an additional sentence that goes like: "We will continue to monitor the performance of the Corona-Warn-App regarding the virus and update the risk evaluation parameters if necessary".
Also add a "bisher"/"to date" to the listed dates to further emphasize that the CWA is constantly adapted

Done @heinezen!

Thank you!

Something went wrong with the links to the blog, I'm getting a 404 page when trying to access them.
I'm investigating what went wrong.

@heinezen Could you take a look at #1014, please?


Adaptation in Swift of "emo_emojiRanges"

Hello,
I've made WithOrWithoutEmoji, a simple Swift String and NSString extension based on your Objective-C work in this project.
I wanted to thank you for your work and for licencing it as MIT (my extension is also MIT).
Don't hesitate to tell me what you think about this.
Cheers!
--
Eric Dejonckheere

Hello Eric,
Great initiative. Thanks for letting me know and to include my project in your documentation.
Regards,
Gabriel Massana


Add option to limit search result in SauceNao

Can you tell me what can I do to limit the results of the app to certain percentage of image similarity, like only show results above 80% in saucenao.

Modify line 1001 in https://github.com/jacklul/e621-Batch-Reverse-Search/blob/master/src/app.php
and add condition $this_result['header']['similarity'] > 80 and the build the app using build.php.
The line should look like:
if (isset($this_result['data']['ext_urls']) && $this_result['header']['similarity'] > 80) {

I will try and report.
Is it possible to limit the search to saucenao rather than also searching on e621.

I tried with your edit and its working. Thanks for the quick response.

While using your script it cannot connect to iqdb.harry.lu
Trying reverse search #1 (iqdb.harry.lu)... error: <
So is it possible to skip it and search directly on saucenao.

And I also found out that it is skipping out results from saucenao.
Like for example this image

It shows following result:
Generated by e621 Batch Reverse Search
_hLN6EmO8DM.jpg:
 https://danbooru.donmai.us/post/show/2846727 (saucenao.com)

While there are more links in saucenao search result:

https://github.com/jacklul/e621-Batch-Reverse-Search/blob/master/src/app.php#L1192
Comment it out and add after $results = false;, should search with saucenao only.
It returns results returned by saucenao API, if results for same image are different for API and web search report the issue to them.

https://github.com/jacklul/e621-Batch-Reverse-Search/blob/master/src/app.php#L1192
Comment it out and add after $results = false;, should search with saucenao only.

Getting too many errors if any pic is not found on saucenao.
Since saucenao is rejecting requests after too many false search.
Thanks by the way.

If you're getting errors because of $this_result['header']['similarity'] addition try putting && isset($this_result['header']['similarity']) before comparison.
No, I will not be doing saucenao only version, feel free to fork this project and strip out the e621 search.

Thanks for the quick reply.
Will try to make a saucenao version.


Update pkgs.json

Added Create.js - Tazz

Any specific reason why the repo is called craft.js but the package name is create.js?


Please tell me the source code to create the fields in the main menu.

What is your question?
Please give me the source code to create some fields like "VS Undertale All Bosses", plus story mode, free play, credits, options, and field movement decisions anywhere I want.

create it yourself


Find all permutation of a string

Hey I am Kirti Goyal, a GSSOC participant. In this I want to find all permutation of a string using recursion in c++.
Please assign this task to me !!

Hi,I'm a GSSoC participant.
I wish to add the implementation of this problem in Java with time and space complexity.

Please assign this issue to me. I would like to work on this in Python.

Please assign this task to me as soon as , so I can start work on it.

@Kirti1807 We already have a code for this in c++

Please check the PR #1450 I made for this program. @OjusWiZard

PR made. #1483 @OjusWiZard, Kindly review it.


ALB attributes. Add XFF/TLS headers support

Hello,
Would you be so kind to add recently released support of XFF/TLS headers?
Info:
Release 4.59.0
ENHANCEMENTS:
...
resource/aws_aws_lb: Add enable_xff_client_port, xff_header_processing_mode and enable_tls_version_and_cipher_suite_headers arguments (https://github.com/hashicorp/terraform-provider-aws/issues/29792)
...
Many thanks!

This issue has been resolved in version 8.6.0 :tada:

It was resolved in #284


[feat] inlineCss option

fixes #962
Before submitting the PR, please make sure you do the following

[x] It's really useful if your PR references an issue where it is discussed ahead of time. In many cases, features are absent for a reason. For large changes, please create an RFC: https://github.com/sveltejs/rfcs
[x] This message body should clearly illustrate what problems it solves.
[x] Ideally, include a test that fails without this PR but passes with it.

Tests

[x] Run the tests with pnpm test and lint the project with pnpm lint and pnpm check

Changesets

[x] If your PR makes a change that should be noted in one or more packages' changelogs, generate a changeset by running pnpx changeset and following the prompts. All changesets should be patch until SvelteKit 1.0

Thanks — have updated this PR so that it's once again in a mergeable state.
In principle I'm in favour of this change (though I wonder if it should be a threshold rather than a toggle — if one page had a very large amount of CSS, you might want that page to use <link> rather than <style>.
Unfortunately there's one major problem. If you visit a page that has styles from components A, B and C, you'll have this...
<style>
  /* A */
  /* B */
  /* C */
</style>

...then if you navigate to a page that has components B, C and D you'll get this:
<style>
  /* A */
  /* B */
  /* C */
</style>

<link rel="stylesheet" href="/assets/B.css">
<link rel="stylesheet" href="/assets/C.css">
<link rel="stylesheet" href="/assets/D.css">

If you then navigate back to the first page, you'll load A again.
In contrast, when styles are always included as links, the first navigation will only load D, and the second navigation won't load anything at all. Aside from resulting in faster navigation and less wasted bandwidth, this also prevents a situation where the CSSOM is cluttered with duplicated selectors.
The CSS loading is done by Vite here — here's where it checks to see if styles are already in the page.
I'm not sure what the best solution to this is. Perhaps we include the links as well as the <style>, to fool Vite, but add the disabled attribute so that they remain inert?

Implemented <link disabled>, and took the opportunity to tidy up the page rendering code a bit since it was starting to get somewhat hairy

Thanks for the commits.
I think using disabled attribute is the best option.
It is better to using threshold. Because there are some situations that it is needed. For example, when using cloudflare workers adapter, it is better to keeping server script size small, because cloudflare workers script can be up to 1 MB after compression. Also developer may want to reduce bandwidth with only inlining small css files.
The test is failing because of svelte-announcer style. We can inline styles of svelte-announcer as discussed in #1386. Whether inlineCss enabled or not, svelte-announcer's style should be inlined.

What's the unit in inlineStyleThreshold? Bytes? BTW, it may be too late, but it could have been named minBytesToInlineStyle to make that self-evident.


⚠ Bofrost.lu has degraded performance

In bc3e28f, Bofrost.lu (https://www.bofrost.lu) experienced degraded performance:

HTTP code: 200
Response time: 988 ms

Resolved: Bofrost.lu performance has improved in de84459.


Support Confex for Configuration

Disclaimer: I'm new to using Elixir for production applications and attempting to follow best industry practice.
I've noticed that on Elixir Forum, people suggest using Confex to handle the act of configuration loading (in tandem with tools like Distillery, exrm et al). I'm aiming to see if this is something y'all like to support implicitly? I'm happy to open a PR for this.

This is blocked by #221 btw.

Sentry does support {:system, "ENV_KEY"} to load config from the environment at runtime.  I don't have the fullest understanding of Confex within the context of distillery, though I know it offers more flexibility for configuration beyond {:system, "ENV_KEY"}.
I'm somewhat wary of adding a dependency or managing an optional dependency, though I'm not entirely opposed.  I'd prefer to try and solve it within the Sentry library itself first.
Is there a specific part of Confex functionality you're looking to be able to use?

Is there a specific part of Confex functionality you're looking to be able to use?

Yeah, it allows you to specify the type of the value you're aiming to import. However, looking closer, this is something I can implement in my client application and not have to push this dependency upstream.

Closing this out. For those in the future interested, doing Confex.resolve_env!(:sentry) will fix this issue I ran into.

Just stumbled on this as well. Had everything defined like
environment_name: {:system, :string, "SENTRY_ENVIRONMENT", "dev"}

which failed. Later found out that
environment_name: {:string, "SENTRY_ENVIRONMENT"}

works just fine.


cube faces not well aligned and wrong size

Hi Matthew,
I'm experimenting with pannellum, and, despite the multiresolution example worked
as it should, I can't manage to have my own multiresolution pano going OK.
I modified generate.py in order to work with Python 2.7.9 (Debian testing "jessie"),
but the issues here were about errors when trying to save files in directories already
existing and math.ceil returning a float instead of int.
The problem with the panorama is: the cube faces do not join - sometimes some faces
do join, but - I can see that the faces are not properly aligned.
I have pannellum 2.0.1.
Also I noticed that the config.json is always created with "extension": "jpg" ;)
thanks!
PS: Attached file shows the left (right side in picture), back (left in pic), top and bottom faces

Just another pic where misalignments are evident

As you're not the first to try to convert generate.py to Python 2 and have issues, I just added Python 2.7 support to it. There are gaps in your panorama because none of the non-square tiles were generated. I ran into the same problem converting the script. It turns out Python 3 does more implicit conversions between integers and floats than Python 2, which I think is also why explicit integer casts are needed. Python 3 will output a float when two integers don't divide evenly, e.g. 3 / 2 = 1.5, while Python 2 does integer division, effectively flooring the result, e.g. 3 / 2 = 1. Therefore, some float casts needed to be added in; otherwise, the input to the ceiling function was floored first, so the ceiling function did nothing. If you grab the latest copy of generate.py, it should work properly in Python 2.

Thank you very very much!
It's working now, flawlessly! I'll proceed using/learning Pannellum - and perhaps Python too - and I think it could help me.
I couldn't find any wishlist in Amazon, but I'm really grateful. Regards!


Introduce ClusterServlet and revamp ObjStore to be globally consistent.

Current dependencies on/for this PR:

main

PR #308   👈

PR #309

This stack of pull requests is managed by Graphite.

Merge activity

Jan 5, 8:39 PM: @rohinb2 started a stack merge that includes this pull request via Graphite.


[EngineModule] Modules should not have access to the sharedcontext

No enginemodule should be required to access any other part of the engine, thus they should not even know about eachother.
If above statement is not true we have probably designed something wrong.

This no longer applies. Our modules needs to know about some of the other modules.


UI Re-design

Make this application look more attractive and re-design the UI design and layouts.

assign me this issue


OpenSearch K8s Operator not restarting the  bootstarp, coordinators, nodes and master pods after upgrade the version

What is the bug?
OpenSearch K8s Operator not restarting the  bootstarp, coordinators, nodes and master pods after upgrade the version.
How can one reproduce the bug?
Change the version from 2.4.0 to 2.6.0 and run the helm upgrade to deploy the new version.
What is the expected behavior?
OpenSearch K8s Operator should restart the  bootstarp, coordinators, nodes and master pods after upgrade the version.
What is your host/environment?
AWS EKS cluster and deployed OpenSearch K8s Operator. Deployed OpenSearch cluster using helm chart.
Do you have any screenshots?
No
Do you have any additional context?
No

`>helm diff upgrade opensearch-cr ./charts/opensearch-cluster/ --values ./charts/opensearch-cluster/values.yaml -n opensearch
opensearch, opensearch-cr, OpenSearchCluster (opensearch.opster.io) has changed:
Source: opensearch-cluster/templates/opensearch-cluster-cr.yaml
apiVersion: opensearch.opster.io/v1
kind: OpenSearchCluster
metadata:
name: opensearch-cr
namespace: opensearch
spec:
general:

version: 2.4.0

version: 2.6.0
httpPort: 9200
vendor: opensearch
serviceName: opensearch-svc
setVMMaxMapCount: true
drainDataNodes: true

dashboards:
service:
type: NodePort
tolerations:
- effect: NoSchedule
key: dedicated
operator: Equal
value: opensearch
version: 2.3.0
enable: true
replicas: 1
resources:
requests:
memory: 1Gi
cpu: 500m
limits:
memory: 1Gi
cpu: 500m
tls:
enable: true  # Configure TLS
secret:
name: ssl-secret
nodePools:
- component: masters
tolerations:
- effect: NoSchedule
key: dedicated
operator: Equal
value: opensearch
replicas: 3
pdb: # Add pdb configuration
enable: true
minAvailable: 3
diskSize: "30Gi"
nodeSelector:
eks.amazonaws.com/nodegroup: opensearch-cluster
resources:
requests:
memory: 2Gi
cpu: 500m
limits:
memory: 2Gi
cpu: 500m
roles:
- cluster_manager
persistence:
pvc:
storageClass: opensearch
accessModes:
- ReadWriteOnce
- component: nodes
tolerations:
- effect: NoSchedule
key: dedicated
operator: Equal
value: opensearch
replicas: 3
pdb: # Add pdb configuration
enable: true
minAvailable: 2
diskSize: "30Gi"
nodeSelector:
eks.amazonaws.com/nodegroup: opensearch-cluster
resources:
requests:
memory: 2Gi
cpu: 500m
limits:
memory: 2Gi
cpu: 500m
roles:
- data
persistence:
pvc:
storageClass: opensearch
accessModes:
- ReadWriteOnce
- component: coordinators
tolerations:
- effect: NoSchedule
key: dedicated
operator: Equal
value: opensearch
replicas: 3
pdb: # Add pdb configuration
enable: true
minAvailable: 2
diskSize: "30Gi"
nodeSelector:
eks.amazonaws.com/nodegroup: opensearch-cluster
resources:
requests:
memory: 2Gi
cpu: 500m
limits:
memory: 2Gi
cpu: 500m
roles:
- ingest
persistence:
pvc:
storageClass: opensearch
accessModes:
- ReadWriteOnce
security:
tls:
transport:
http:

helm upgrade opensearch-cr ./charts/opensearch-cluster/ --values ./charts/opensearch-cluster/values.yaml -n opensearch
Release "opensearch-cr" has been upgraded. Happy Helming!
NAME: opensearch-cr
LAST DEPLOYED: Sat Jun 22 11:45:33 2024
NAMESPACE: opensearch
STATUS: deployed
REVISION: 10
TEST SUITE: None`

>k get po -n opensearch -w NAME                                                      READY   STATUS    RESTARTS   AGE opensearch-cr-coordinators-0                              1/1     Running   0          17h opensearch-cr-coordinators-1                              1/1     Running   0          16h opensearch-cr-coordinators-2                              1/1     Running   0          16h opensearch-cr-dashboards-54d6ccb67c-nw9sp                 1/1     Running   0          17h opensearch-cr-masters-0                                   1/1     Running   0          15m opensearch-cr-masters-1                                   1/1     Running   0          16h opensearch-cr-masters-2                                   1/1     Running   0          16h opensearch-cr-nodes-0                                     1/1     Running   0          26m opensearch-cr-nodes-1                                     1/1     Running   0          16h opensearch-cr-nodes-2                                     1/1     Running   0          16h opensearch-operator-controller-manager-68f76ffd94-knsw4   2/2     Running   0          13m

Also @rameshar16 I assume you are using the latest version of the operator, can you please confirm ?
Thank you

@prudhvigodithi This does not look like the parallel recovery bug.
@rameshar16 Please check the OpenSearchCluster CR status (kubectl describe opensearchcluster opensearch-cr) what the operator is reporting. Also please verify if your opensearch cluster is healthy (green status). Because it looks like the first pod of each pool was restarted but the operator is not continuing. And that points towards the cluster not being green.


Port tests from ethabi/sol-types to dyn-abi

dyn-abi is poorly tested. We should port the tests
          the tests that need to be ported are in `sol-type`

encoder
decoder
Originally posted by @prestwich in https://github.com/alloy-rs/core/issues/75#issuecomment-1613756127

closed in #168


Rick-And-Morty Extension

Description
I have added Rick-And-Morty Extension which generates a random picture from any episode when it is clicked upon
Fixes:  #519

Type of change

[ ] Bug fix (non-breaking change which fixes an issue)
[X] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

Checklist:

[X] I have made this from my own
[ ] I have taken help from some online resourses
[X] My code follows the style guidelines of this project
[X] I have performed a self-review of my own code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[X] My changes generate no new warnings

ATTACH SCREEN-SHOTS / DEPLOYMENT LINK

i will make the changes right away


hope this works (#95)

Improve docker integration

Make it unsecure by default (to have the Server tab)
Add env variables to allow tuning
Add support for tokens instead of credentials

Improve documentation and auto-detect networks

Improve readme

Verify that PLEX_ALLOWED_NETWORKS is not empty
before editing the Preferences.xml file

Removed potential command injection
through the use of environment variables.
Also ensures that the environment variable is seen as exactly one positional argument in the commands they are used in.

Don't need curl twice, do need iproute2

Made correction about initialisation

Removed allowedNetworks
this is now handled by start.sh

Make boolean checks case insensitive

Merged suggestions by PunKeel.
https://gist.github.com/PunKeel/346d53fe0b3534e1389b
Better handle inserts and updates to avoid xmlstarlet hanging.

Use one liner to set defaults

Fixed xpath selector for update operations

Only set -x if DEBUG environment var is "true"

Wrapped variables in the setConfig function

Non empty string checks made consistent.
All use -n and single [.
-n Ensures that empty values are ignored
Single [ is all that's needed given that all variables are quoted appropriately.

Use if rather than short-circuit

Moved start script defaults, to the start script

start.sh is executable by default
start.sh is executable when distributed with git, not needed to add the executable bit as this will be copied when the file is added to the container.

Optimised ordering for faster cached builds when developing

Extracted variables and made functions.
Minimised the areas of repeated code and constants by defining functions and variables respectively.

Don't request a token, if one was given.

Short circuit where one liner possible

Use local variables in functions.
Makes the fucntions self-documenting and more readable.

Preffer having env variables in the docker files as documentation

Updated documentation, restructuring and making clearer.

GPG key url change

Configured new url to GPG key (apt) in the Dockerfile.

README typo fix

Update base to docker 16.04

Fix if bug

Fix start bug

Error in url picked up by @2devnull

Added default values to README for clarity

Fix markdown

correction du chargement et de l'écriture de preference.xml

Remove supervisor leftovers

Small improvements

Create group and change permissions only if we are root

Fix xmlstarlet bug

Added travis and env variable to do plexpass build

Set language

Follow online example

Follow blog example

Follow example from https://gist.github.com/BretFisher/14cd228f0d7e40dae085

Miss paste

Testing pushing to live docker hub

Push correct tag

Add build argument.

Create docker-compose.yml

Update docker-compose.yml

It looks like this line is outdated now

Pulling deb file for plex directly from plex.tv as nthgate is closing down.

Upgrade to current Docker Compose format

Changed to pull plexpass repo for plexpass build

Auto accept git removal

Use COPY instead of the older ADD

Only log credentials during debug

Updates ReadMe

To include info on running on a mac

Adds more ports

@bxnyintuc I've merged and it should be building.
Let see if it works.


Attempting to run most recent update and failing with Yarn error

Running the update script to get the latest Xen orchestra (has worked fine in the past) and I am getting the following error.
Updating f5febef..f20604d
error: Your local changes to the following files would be overwritten by merge:
	yarn.lock
Please, commit your changes or stash them before you can merge.

the yarn.lock probably needs to be added to the .gitignore. I can do it on master here quickly and you can pull or just do it manually.

should be fixed with 371a83e let me know if you have any more troubles.

I just got this issue on an update. looks like xo needs to include the yarn.lock in their .gitignore. @olivierlambert can you shed light on this? Any reason this hasn't been done already?
In the meantime you can do a git checkout yarn.lock to reset it to the default version then re-run the update.


Fix typo in TenantRouteServiceProvider

config tenant_route_namespace was used instead  of
tenancy.tenant_route_namespace

It should be tenancy.tenant_route_namespace, because the tenant_route_namespace config key is located in the tenancy config file.
Are you having some issues with the controller namespace in your tenant routes?

It was tenant_route_namespace in the TenantRouteServiceProvider.php file. I changed that and submitted this pull request

It was tenant_route_namespace in the TenantRouteServiceProvider.php file. I changed that to tenancy.tenant_route_namespace and submitted this pull request

Oh right, sorry, misread the diff.
Thanks!


.download() sometimes times out

Operation System: Windows 10
Beaker version: Prerelease 9
I'm not sure if this is really a beaker issue or if it's related to hyperdrive in general.
Sometimes, when you invoke .download() on an archive even if you have downloaded it in the past, it will stall and timeout after 5 seconds instead of resolving right away.
I'm guessing the issue is somewhere in hyperdrive.content.download(), but I'm not sure how to reproduce it or why it would be happening. I'm guessing because the rest of the abstractions on top look straight-froward.
I think this issue is also popping up in webrun, which is what's leading me to thing it's a hyperdrive issue and not beaker-specific.

Thanks for filing. The good news is, I have no trouble reproducing! I'm digging into it now.

I agree this does seem to be an issue with hypercore but I wasn't able to reproduce in hypercore tests. I was able to fix it by aborting early if already downloaded.

Cool, that works, too. :D

Could it be related to this TODO? https://github.com/mafintosh/hypercore/blob/master/index.js#L328


Duplicate extensions when using multiple UI frameworks

Hello!
Thank you for providing us with a great tool!
I often use Astro and sometimes use several UI frameworks together.
Example: Astro + React (tsx) + Qwik (tsx)
I really like the ability to output multiple framework files from a single CSS file.
However, files output as tsx will have the file name {css basename}.mist.tsx regardless of the target.
Therefore, combinations such as React and Vue cannot properly generate files due to duplicate file names.
How about adding an optional setting to add the UI framework identifier to the file name to prevent destructive changes?
--extention-with-target: Add target to the extension(Button.mist.react.tsx, Button.mist.vue.tsx, etc...) [default: false]

I would appreciate your response.

Hi, thanks for the kind words :)
May I ask why not settling on one UI framework?
I feel it's a bit of a edge case.

It's certainly an edge case...
There is no renderer itself yet, but Qwik has the ability to use React in conjunction with the excellent React library.
https://qwik.dev/docs/integrations/react/
The Qwik component is not available for this React-using part, so you will want both React and Qwik components.
However, there is currently a problem with both outputting as .tsx.
But then again, it looks like JSX Pragma will be required, and maintenance costs will likely go up...
Example.
// React Component
/** @jsxImportSource react */

// Qwik Component
/**<EMAIL_ADDRESS>*/

Closing as I'll be focusing on React for now.


Add workaround for cargo-nextest bug

Prevents this error when running tests with craneLib.cargoNextest:
(...)
dyld: Library not loaded: @rpath/libtest-77ee8c29c330e4a3.dylib
  Referenced from: /private/tmp/holochain_repo/target/fast-test/deps/hdk_derive-73ec051829ad694a
  Reason: image not found
error: creating test list failed
Caused by:
  for `hdk_derive::proc-macro/hdk_derive`, running command `/private/tmp/holochain_repo/target/fast-test/deps/hdk_derive-73ec051829ad694a --list --format terse` failed
Caused by:
  command ["/private/tmp/holochain_repo/target/fast-test/deps/hdk_derive-73ec051829ad694a", "--list", "--format", "terse"] exited with code <signal 6>
Error: Process completed with exit code 104.

See: https://github.com/nextest-rs/nextest/issues/267
Checklist

[x] added tests to verify new behavior
[x] added an example template or updated an existing one
[x] updated docs/API.md (or general documentation) with changes
[x] updated CHANGELOG.md

Thanks for the contribution @9999years and thanks for adding the test! Happy to merge this as soon as CI is passing
(worth noting that we don't run the full test suite on darwin, but we do exercise the examples which include a nextest run so this should smoke test just fine)


Fix typo 'chnage' to 'change' in dominoes-30k.md

As a side note, the github description for the project states 'building uer interfaces' instead of `building user interfaces'.

Although this was submitted first I didn't notice it until I had already merged #601 which appears to be a duplicate.
Thanks all the same for the fix! @Blevs 😄 Please keep up PRs for any more issues you spot. Also GitHub description fixed.


FontAwesome envelope icon is not displayed

Using the envelope icon from FontAwesome does not work. It just shows an empty disc (circle).

thats because envelope is fas not fab.  It's not a brand


Why sum_largest does not follow DCP rules?

Here is my code
import numpy as np
import time
import cvxpy as cp
n = 20

a = np.random.randint(1, 10, size=n)
b = np.random.randint(1, 10, size=n)
c = np.random.randint(1, 10, size=n)
d = np.random.randint(1, 10, size=n)

x = cp.Variable(shape=n, boolean=True)

# objective function
objective = cp.Maximize(cp.sum(cp.multiply(x, a)))

# constraints
constraints = []

constraints.append(\
    cp.sum_largest(cp.hstack([\
        cp.sum(cp.multiply(x, b)), \
        cp.sum(cp.multiply(x, c)), \
        cp.sum(cp.multiply(x, d))]), 1) >= 10)

prob = cp.Problem(objective, constraints)

# solve model
prob.solve(solver=cp.CBC, verbose=True, maximumSeconds=100, numberThreads=4)
print("status:", prob.status)

I have solved model with sum_largest successfully before, so I wonder why this happened?
I am working on python==3.6, ubuntu20.04, cvxpy==1.1.20, cylp==0.91.5.
What should I do?

Because it is convex and you are trying to use it as if it were concave. sum_largest<=10 is convex, but sum_largest>=10 is not.

Because it is convex and you are trying to use it as if it were concave. sum_largest<=10 is convex, but sum_largest>=10 is not.

Tks for ur reply. It does work well with sum_largest<= but how can I add constraints like sum_largest>= (as this function is not convex, is there any substitute?)


Is the input hardness formula correct?

https://github.com/www-ShapeLabs-de/Judo-i-soft-save-plus-to-mqtt-bridge/blob/9ea6f6145c0fc38f97e52bdf989079c6f3950e3e/python/getjudo.py#L231
Hi there,
again, thanks for the script. I've copied your code for my own little script and found the line above puzzling. According to it, the input hardness of my Judo device is lower than the output hardness.
Comparing your code to another project's version of the same problem, the other guys don't seem to do the input_hardness.value = float(input_hardness.value)/2 + 2 calculation that you are doing.
When I remove that added formula from my code, the result also looks more plausible and input hardness is higher than output hardness.

Is the position 54:56 of the hex substring correct? The other guys are reading it from 22:24. On my Judo, the values at 22:24 and 54:56 are identical, but that may be caused by my system configured to use dH as its water hardness unit.

Hi Hanno,
In my case, it was that the original value was not plausible. I had opened an issue on this in the IOBroker project to ask if it is similar for others:
https://github.com/arteck/ioBroker.judoisoft/issues/27
As an answer I got from the developer a line of code where the value is divided by 2 and added with 2.
The value that came out was again much more plausible for me. But whether that is now so correct, I can also not say

I will ask Judo. Their email support may answer technical inquiries, at least it's manned by humans and gave actual responses last time I had a problem with my device's cloud connection.

okay, thank you so much for taking care of this. I am curious about the answer from Judo

This is the formula for the maximum adjustable desired output hardness. See Chapter 9 - Technical data
I think that the conductance sensor from my system is no longer working correctly, since the maintenance is already half a year overdue anyway. This is replaced during the annual maintenance

Wait, which manual are you talking about?

https://judo.eu/app/downloads/files/de/8203521/manuals/1703159_202103.pdf
See on page 46


Check whether we can remove the requirements.txt file from the docs

# Read the Docs configuration file
# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details

version: 2

# Build documentation in the docs/ directory with Sphinx
sphinx:
    configuration: docs/conf.py

# Build documentation with MkDocs
#mkdocs:
#  configuration: mkdocs.yml

# Optionally build your docs in additional formats such as PDF and ePub
formats: all

# Optionally set the version of Python and requirements required to build your docs
python:
    version: 3.8
    install:
        - method: pip
          path: .
        - requirements: docs/requirements.txt

All documentation requirements should be in the pyproject.toml file. Hence, the pip install . should hopefully include all requirements to build the docs.
I'd remove the documentation requirements.txt if this is the case.

Doesn't seem to be the case though....
https://github.com/python-poetry/poetry/issues/3514


Profile parameter should take a hash table

The Profile parameter takes a hash table in a .psd1 text file or a hash table in a variable, but it does not take a hash table as the parameter value.

Quoc. Please take a loo at this..

Actually, it doesn't take a hash table in a variable either. I thought it would based on the example in Readme.md, but the command returns a warning.
PS C:\ps-test> $myprofile
Name                           Value

IncludeRules                   {PSAvoidUsingCmdletAliases, PSAvoidUsingPositionalParameters, PSAvoidUsingInternalURLs, PSAv...
ExcludeRules                   {PSAvoidUsingCmdletAliases, PSAvoidUninitializedVariable}
Severity                       Warning
PS C:\ps-test> Invoke-ScriptAnalyzer -Path $modulePath -Profile $myprofile
WARNING: Cannot find file 'System.Collections.Hashtable'.
RuleName                            Severity     FileName   Line  Message

PSProvideCommentHelp                Information  ManageProf 24    The cmdlet 'Enable-Profile' does not have a help comment.
iles.psm1
PSProvideCommentHelp                Information  ManageProf 12    The cmdlet 'Disable-Profile' does not have a help comment.
iles.psm1
PSProvideCommentHelp                Information  ManageProf 7     The cmdlet 'Get-Profile' does not have a help comment.
iles.psm1

Closed with https://github.com/PowerShell/PSScriptAnalyzer/pull/404


delete a resource from Production

from user:
please delete my record, https://trellis.sinopia.io/repository/penn/f6ca9161-2a30-4836-85e7-a291065d57cd?

@jermnelson Is how to delete documented somewhere?

Previously I have manually deleted resources by first creating a Cognito JWT (see https://github.com/LD4P/sinopia_acl#authenticate-to-aws-cognito) and then using a python shell to delete the resource (basically doing the equivalent curl command to delete the resource as documented in https://github.com/LD4P/sinopia_server/wiki/Draft-Notes-for-Sinopia-Server-API-Spec#delete-a-resource).


chore: typescript + refactor

I don't really see the need for typescript if it's the same code base.

there's always a need for typescript, the entire codebase wasn't type safe, which this pr solves as well


Download via proxy does not appear to work

Describe the bug
I am trying to re-download a file that has been uploaded. Since my S3 is not publicly available, I want to use the proxy mode. I am making the request like https://{{ComsBaseUrl}}/api/v1/object/27f00551-9ace-48b5-a8fb-7e9efa9b4552?download=proxy
but I am getting an error
{
    "name": "ValidationError",
    "message": "Validation Failed",
    "statusCode": 422,
    "error": "Unprocessable Entity",
    "details": {
        "query": [
            {
                "message": "\"download\" must be a boolean",
                "path": [
                    "download"
                ],
                "type": "boolean.base",
                "context": {
                    "label": "download",
                    "value": "proxy",
                    "key": "download"
                }
            }
        ]
    },
    "level": "debug"
}

The download parameter is define as type Query-Download which is an DownloadMode enumeration with values proxy or url. In my test I used proxy.
Even though The download parameter says "Default behavior (undefined) will yield an HTTP 302 redirect to the S3 bucket via presigned URL", calling the service without a download parameter never returns and the request times out.
I was having problems with the generated client code, so I validated the behavior directly in postman.
To Reproduce
Steps to reproduce the behavior:

Make a GET request to (replace the GUID with something that exists) https://{{ComsBaseUrl}}/api/v1/object/27f00551-9ace-48b5-a8fb-7e9efa9b4552?download=proxy
observe the 422 status code with error message "message": "\"download\" must be a boolean",

Expected behavior
Attempting to download an object using its id and download=proxy should return the object stream in the response.
Screenshots

no download parameter

Desktop (please complete the following information):

OS: [e.g. iOS]
Browser [e.g. chrome, safari]
Version [e.g. 22]

Smartphone (please complete the following information):

Device: [e.g. iPhone6]
OS: [e.g. iOS8.1]
Browser [e.g. stock browser, safari]
Version [e.g. 22]

Additional context

If you are running from the tagged v0.3 release, the API spec for this used to be a formal true/false boolean and not the enum. Due to the recent massive volume of re-engineering being done to support multiple buckets, the OpenAPI spec is significantly out of date with the implementation. We'll need to investigate this further once the dust settles a bit more. Thank you for raising this issue!

It seems we are running version 0.2.1 which comes from the Helm chart appVersion. It seems there is some missing steps on updating the Helm chart version with releases.  It is not clear the branching and versioning strategy being used.  Looking at the releases, there is a 0.3.0 but the helm chart version didn't get updated.
Is the master (surprised you have not been force/pressured to change this to main) branch just the latest version that may or may not be stable?
The release numbering does not seem to have a logic semantic versioning scheme. releases 0.0.1 - 0.0.6 seem like "Pre-releases" but they are not created as Pre-release

We have two release product lifecycles in this repo: 1) COMS API proper, and 2) COMS Helm Chart . While they address similar things as you need both to deploy, they're fundamentally different "things" and may operate on different release cadences, depending on what gets tuned and fixes. Unfortunately there isn't any real good way of showing the difference between those two kinds of releases on github, but one is for the API, and the other is for the Chart itself.

Upgrading the COMS version to 0.3.0 resolves this issue.


Fixed! It now supports up to 8K images. See https://dummyimage.com/7680x4320.jpg


Managed Service

Hi,
do you have any plans to add the new functionality to the existing AWS Elasticsearch Service or offer a new managed service with all these features? Would love to see the security addtions to be added!

Hi Gruebel - With my AWS hat on - we do plan on offering these features on Amazon Elasticsearch Service. We wanted to make them available on Open Distro for Elasticsearch prior to adding them to service so that the community and customers could benefit and participate in the productization. I can't comment on the specific timelines - but our investment in the Security side was born out of that being a hugely popular request from our customers and it is a very high priority for us. Thanks!


Vim9: caught error aborts :for loop

Describe the bug
In Vim9 script, an error caught by a try/catch can still abort a :for loop.
To Reproduce
Run this shell command:
vim -Nu NONE -S <(cat <<'EOF'
    vim9
    var counter = 0
    def Func()
        for i in range(4)
            try
                eval [][0]
            catch
            endtry
            counter += 1
        endfor
    enddef
    Func()
    echom counter
EOF
)

1 is echo'ed.
Expected behavior
4 is echo'ed, because the loop has 4 iterations, and the error in its body is caught by a try/catch.
Environment

Vim version: 8.2 Included patches: 1-2501
OS: Ubuntu 16.04.7 LTS
Terminal: xterm(365)

Additional context
In Vim script legacy, the exact same code correctly outputs 4:
let s:counter = 0
fu Func() abort
    for type in range(4)
        try
            eval [][0]
        catch
        endtry
        let s:counter += 1
    endfor
endfu
call Func()
echom s:counter

4

If the try/catch is replaced with :silent!, the code correctly outputs 4:
vim9
var counter = 0
def Func()
    for i in range(4)
        sil! eval [][0]
        counter += 1
    endfor
enddef
Func()
echom counter

4

I found this while working on virtual text.  When I delete a line containing virtual text then save and reload the buffer, I have some code whose purpose is to save and restore the buffer-local text properties.  This code fails to restore the virtual texts below the one which was deleted.  That's because they're restored in a :for loop containing a try/catch.  When the latter catches an error, the :for loop stops trying to restore the rest of the text properties, which is unexpected.


autoload_static.php Member has private access

Think.Admin\vendor\composer\autoload_static.php line 387-389
            $loader->prefixLengthsPsr4 = ComposerStaticInitcec999826fe83b0c9b320b555c760b92::$prefixLengthsPsr4;
            $loader->prefixDirsPsr4 = ComposerStaticInitcec999826fe83b0c9b320b555c760b92::$prefixDirsPsr4;
            $loader->classMap = ComposerStaticInitcec999826fe83b0c9b320b555c760b92::$classMap;

Member has private access

这个属于composer的问题，可以尝试composer update下，如果还有问题，可以去composer查询下问题所在


Question reg. #2716

In the PR https://github.com/corona-warn-app/cwa-website/pull/2716 @larswmh removed the "RAT-Partner" button from the main page of the CWA Website. The RAT-partner site itself still exists.
I'm wondering why this was done, some reasons I could think of:
a) the CWA team does not want that new testing stations are connected
b) the CWA team has stopped the process for testing stations to connect to the CWA system
c) the page is being redesigned as the way to apply (e-mail) seems to be out of date, as now https://registrierung.schnelltestportal.de should be used
Or is there something else going on behind the scenes? I already asked this question 2 times in the PR, but there was no answer, so I'm escalating this to an issue now.

Internal Tracking ID: EXPOSUREAPP-13019

@Ein-Tim
I don't know the answer to your question, however https://map.schnelltestportal.de/ still has a link Schnelltestpartner  werden.

I will forward this @MikeMcC399 @Ein-Tim and try to get an answer. Thanks.

@Ein-Tim
Would you like to add a more meaningful text to the title of the issue, such as "rat-partner links"? At the moment "Question reg. #2716" doesn't immediately say what it is about without researching deeper.

I guess https://github.com/corona-warn-app/cwa-registrierung/commit/db7ec076dc37175c7805b75c5b335cd04f0ee2f0 is the answer to why the button was removed. The page itself should be updated to reflect the registration stop.


KeyError: 'TYER' for ID3v2 Tags

Audio metadata is failing to get year/date from mp3 ID3v2 tags.
Date/TYER/year tag feild is shown in 2 diffrent applications with the same mp3 file.
[example 1: mp3 diags]

[example 1: media info]

here is the error when calling for the TYER key.

the TYER/Date field doesn't print with the ID3v2 tags.

Would you be able to post a link or attach the file here or send it via email so I can check it out?

But I can already tell you that the format of TYER is supposed to be a 4 character string of the year, not a full date. So, those programs and that tag value are ignoring/violating the spec. But, audio-metadata should've raised a ValueError.

But, audio-metadata should've raised a ValueError.

Ah, right. I made it lenient so the ValueError from an invalid frame value will just cause that frame to be ignored rather than just exploding.

So, the TL/DR is that this is working as expected. The value given for the TYER frame violates the ID3v2.3 spec. If you want to use the date like that, you could change the TYER frame to just contain the year and add a TDAT frame to contain the month and day in the MMDD format according to spec. Or, you could upgrade them to ID3v2.4, where the equivalent TDRC frame supports that value.

Understood, I was under the impression that it would just work out of the box. I never looked through the ID3 spec before. Ok, thanks I'm going to close the issue.

Right now, I'm being strict about sticking to specifications. This is in large part to wanting to find all the wonky oddities out there. In the future, I do want to support 'fixing' compliance issues like this which would mean audio-metadata would have a way for these to load with that info in some way to be corrected. But, that probably wouldn't come until after I get around to adding MP4 support and write support for the formats at that point. Still pondering what that would/should look like.
Thanks for the interest and report, though. Most of my own music collection is FLAC, so I don't really get a chance to see examples of other formats from the wild unless people report them to me.

I am right there with you on being strict towards the ID3v2 spec, and, yes, most of my collection is in FLAC too. I think it is rational to think that not everyone, like myself, will have tags that conform to ID3, so I believe it is important to allow reading of those frames. It would also be helpful to set a warning of some sort that the tags are non-compliant. I am excited to see where this project is headed in the aspect of writing compliant tags, because, from my knowledge, there are not many useful and helpful python based tools to do this.

So, while I was going through testing ignoring frames not compliant with the ID3v2 version, I noticed this file also had an empty TYER frame. Out of curiosity, do you know what software was used to create/edit this file?


Added how to use breaks with loops

Please fill in this pull request template before submitting
1. This pull request resolves using-break python tutorial #11
2. Description
Explained how to you break within loops.
3. Fill in checklist by marking [x]

[x] I've read the CONTRIBUTING.md
[x] I was assigned to this issue
[x] My code is formatted using required linting
[x] I've run my code locally and checked it works

@Terayza Please make the following requested changes. Thanks!

Add a tutorial description:

# ------------------------------------------------------------------------------------
# Tutorial: brief description of tutorial content
# ------------------------------------------------------------------------------------

I suggest you add a print statement here:

for letter in 'Python':
    print(letter) <----
    if letter == 't':
        break     # if the letter 't' was found, then the break will stop the for loop

A bit more detail to the challenge.

@funbeedev Done! :) hope these are okay!

@Terayza looks good!


As far as I understand it's the loadbalancer should forward connectio…

…ns, not the master.
What are your changes?
What type of changes does your doc introduce?

[x] Bug fix
[ ] New feature

What is the urgency level of this change?

[ ] Blocker
[ ] High
[x] Medium

I have completed these items:

[ ] I have tested all commands and code snippets.
[ ] I have built locally and tested for broken links and formatting.
[x] I have made this change for all affected versions (e.g. 1.7, 1.8, and 1.9).
[ ] My doc follows the style guide: https://github.com/dcos/dcos-docs#contributing.

Ping @emanic, @sascala, or @joel-hamill for reviewing pull request changes.
If you included a comment with your commit, it appears here:

ping @lingmann for review

🚢


[nav item] Navigation item support for 4 levels

What package is this for?

[x] React
[ ] Angular

Summary
Hi, we would like to get support for side nav menu items that are 4 levels deep, including the enhancement to ctrl-click items. We currently customized the component to support 4 levels in TRIRIGA and had planned to contribute this back to the PAL, but because of our release timelines we weren't able to complete that contribution before we had to ship. We would like to get that 4 levels deep support into the base component as it will make it easier for us to stay current with the PAL if we don't have to re-implement that 4 levels deep when we upgrade.
Specific timeline issues / requests
This would probably not be our next release, but for the one after (1Q 2022)
Contact Josh Meurer (@josh) for more details if needed

@dianatran18 I have some design questions regarding this pattern. Has anything been created for nesting this deep? Ie. this is what I'm experimenting with:

..

Actually @tiffany-lai can you confirm if it's 4 levels below the main, or including the main?
This is the padding defined for the indentation in the PAL sketch library, but @tiffany-lai @kevinsperrine let me know if that's what you have in your implementations as well


Switch from CMD to entrypoint

CMD runs a shell which then runs what is specified.
ENTRYPOINT simply runs what is specified
When K8s tries to delete a Pod, PAUSE sends SIGTERM to the
running process in the container.  After 30s, if the process
has not exited, PAUSE sends SIGKILL.
The container isn't actually deleted until PAUSE exits.
PAUSE will exit when all its children are dead.
Using CMD puts a shell between the PAUSE container and the
running process.  The shell doesn't properly pass on the SIGTERM.
Using ENTRYPOINT removes that intermediate shell, and allows
the container to exit much much faster in K8s.
Signed-off-by: Ed Warnicke<EMAIL_ADDRESS>

Closed in favor of #15

This is still open but the previous comment sounds like it should be closed.


apm fails on CentOS 7 (rpm) due to compiled against too new libstdc++

apm fails on CentoOS 7 insalled from rpm with:
/usr/share/atom/resources/app/apm/node_modules/asar-require/node_modules/asar/node_modules/chromium-pickle/node_modules/bindings/bindings.js:83
        throw e
              ^
Error: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by /usr/share/atom/resources/app/apm/node_modules/asar-require/node_modules/asar/node_modules/chromium-pickle/build/Release/pickle.node)

Which is due to compiling against a newer version of libstdc++ than is available in CentOS 7.

Appears to actually be node.js that is the issue not atom itself.  I have compiled atom but used precompiled node.js from nodesource and get the same error.

Actually the problem turns out to have the been results of copying the .atom directory from a ubuntu vm into a centos vm.  There is no actually issue, therefore closing this issue.


[FLINK-10676][table] Add 'as' method for OverWindowWithOrderBy

What is the purpose of the change
The preceding clause of OVER Window in the traditional database is optional. The default is UNBOUNDED. So we can add the as method to OverWindowWithOrderBy. This way OVER Window is written more easily. e.g.:
.window(Over partitionBy 'c orderBy 'proctime preceding UNBOUNDED_ROW as 'w)
Can be simplified as follows:
.window(Over partitionBy 'c orderBy 'proctime as 'w)
SQL has already supported such feature.
Brief change log

Add as function for OverWindowWithOrderBy both for scala and java.
Add tests to check result plan.

Verifying this change
This change added tests and can be verified as follows:

Added tests that validate result plan, such as tests in OverWindowTest and OverWindowStringExpressionTest.

Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): (no)
The public API, i.e., is any changed class annotated with @Public(Evolving): (yes)
The serializers: (no)
The runtime per-record code paths (performance sensitive): (no)
Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Yarn/Mesos, ZooKeeper: (no)
The S3 file system connector: (no)

Documentation

Does this pull request introduce a new feature? (yes)
If yes, how is the feature documented? (docs)

Hi @sunjincheng121 , thanks a lot for your view. I think all of the suggestions are good! I have addressed the comments and updated the pr.

@hequn8128 Thanks for the updated！

1 to merged.

Thanks,
Jincheng

CI find JobManagerHAProcessFailureRecoveryITCase.testDispatcherProcessFailure:331 » IllegalArgument test fail which looks no relation with this PR. I'll check it, then merge this PR.

After the rerun, the error disappeared. no specific reasons are found, so created a JIRA. FLINK-10819， and will continue to pay attention.
Merging this PR...

Thanks a lot for the review and merging!


docker-compose up # error

$docker-compose up -d mysqldb rabbitmq setup-vault config-server service-registry hystrix-dashboard
#ERROR
Building service-registry

Step 1/6 : FROM frolvlad/alpine-oraclejdk8:slim
ERROR: Service 'service-registry' failed to build: pull access denied for frolvlad/alpine-oraclejdk8, repository does not exist or may require 'docker login': denied: requested access to the resource is denied

Replace  FROM frolvlad/alpine-oraclejdk8:slim with FROM fabric8/java-alpine-openjdk8-jre in Dockerfile.


Updated Table of Contents snippet

Fix for #3344
I changed it to "Contents" following the 5e books (I checked and they use only "Contents" instead of "Table of Contents").
If "Table of Contents" is preferred, I can simply change it.

Thanks @RKuerten ! I love easy PRs! 💯 ⭐ 🪄


Session support

Hi!
First-off: awesome framework.
Secondly, I have noticed that there's no support for session/cookie-data?
I can login using
	e.POST("/login/").WithForm(data).
		Expect().
		Status(http.StatusFound)

But on successive calls, the retrieved cookie is not being used. Seeing as most pages will require some kind of authentication, I would expect this feature to exist? (either now or in the future)

Thanks for feedback.
You can already do this using non-default client with non-nil cookie jar, e.g.:
import (
    "golang.org/x/net/publicsuffix"
    "net/http"
    "net/http/cookiejar"
    "testing"
)

func TestFoo(t *testing.T) {
    jar, err := cookiejar.New(&cookiejar.Options{
        PublicSuffixList: publicsuffix.List, // this is optional but recommended
    })
    if err != nil {
        panic(err)
    }
    client := &http.Client{
        Jar: jar,
    }
    e := httpexpect.WithConfig(httpexpect.Config{
        BaseURL:  "http://example.com",
        Client:   client,
        Reporter: httpexpect.NewAssertReporter(t),
    })

    ...
}

However, enabling cookies seems to be a common case, so I've added httpexpect.DefaultClient() which is used if the user didn't provide custom client.
Thus, cookies should work by default now. Could you check it?
Related: we also need cookie setter for request and cookie checker for response, I'll add them soon.

I have read your commit, and it looks very nice & promising - thank you for that.
As for the checking if it works: currently I'm using httpexpect together with iris, so it takes a little bit of searching where the Jar is defined there. (if it's even defined somewhere)

Why are your looking for it in iris? AFAIK cookiejar is a client-side thing. See http.Client:
        // Jar specifies the cookie jar.
        // If Jar is nil, cookies are not sent in requests and ignored
        // in responses.
        Jar CookieJar

httpexpect now uses non-nil jar by default, so it's probably no need to use jar outside httpexpect at all. http.Request and http.Response should automatically use the jar.

Well, following the example code, I defined this:
	handler = iris.NoListen().Handler
	client = fasthttpexpect.NewBinder(handler)

The client is thereby no http.Client, but a networkless wrapper (don't ask me why). So I'm looking into that. (btw, I'm also on https://gitter.im/kataras/iris in case you want to chat)

I see now. Well, this is a problem, and currently there is no session support in networkless mode. I'll look what we can do.
As a workaround, you can temporary switch to network mode.

I've added cookie jar support to networkless mode.
Unfortunately, API is not backward compatible:

fasthttpexpect package was merged into httpexpect package to avoid circular imports
fasthttp client adapter was removed (it seems to be quite useless)
fasthttp handler adapter was renamed from fasthttpexpect.Binder to httpexpect.FastBinder

Finally, httpexpect.Binder and httpexpect.FastBinder now have cookie jar support, just like http.Client. It's enabled by default if you're using NewBinder and NewFastBinder.
So you can change:
client = fasthttpexpect.NewBinder(handler)

to:
client = httpexpect.NewFastBinder(handler)

and check if cookies are working now.

Also note that default cookie jar uses golang.org/x/net/publicsuffix and thus ignores cookies if request url is empty.
So don't forget to pass URL to httpexpect.New or httpexpect.WithConfig.

Cookie setter (for request) and inspector (for response) are now available too.

Binder API is changed once more (but I'm preparing for stable release with frozen API).
See this example:
    e := httpexpect.WithConfig(httpexpect.Config{
        Reporter: httpexpect.NewAssertReporter(t),
        Client: &http.Client{
            Transport: httpexpect.NewFastBinder(handler),
            Jar:       httpexpect.NewJar(),
        },
    })

Binder implements http.RoundTriper (backend for client) instead of http.Client, so that we can reuse http.Client code, including cookie jar support.

I've added example that uses iris sessions and works in networkless mode.
It works, so I'm closing this issue. Feel free to reopen.

@gavv Thank you for your effort; your example looks nice.
I got it to compile in my _test.go file, yet running into a nil-pointer exception (in the Go net/http). Not sure where the error is yet; will edit this message when I know more.

@EtienneBruines.
It seems to be an issue with redirects. Could you please open a new issue with this panic?
I'll try to reproduce it, but it will be great if you can also post a minimal example that reproduces the crash.


Do not upload test report on forks

[x] Non-fork PRs
[ ] Fork PRs
[ ] main

Can't verify the others without merging. Yolo.