proposal: audio package

This proposal suggests a new standard audio package. The goal of this package is not to offer a library to consume audio data but instead to define a common interface that could be used by all audio libraries. This common interface would be audio.Buffer and concrete implementations would be provided.
According to the guidelines, I wrote a design document explaining things in details, it can be found here.
The proposal implementation in code is available here.
Note that this proposal is a follow up on an earlier proposal: https://github.com/golang/go/issues/13432
I do realize that adding a new standard package is a big deal and that's why I kept the scope as small as possible and also use the implementation against non-trivial real code. The value added of such a package might not be immediately obvious to programmers not familiar with audio digital signal processing because end users would not see a direct benefit. However, this would be the corner stone of an entire ecosystem. Making audio libraries compatible with each other and offering a happy path means that Go developers would be able to chain a bunch of libraries and create their own audio processing chain without much effort. It's somewhat comparable of the benefits we all see in io.Reader.
Audio is everywhere and most available audio source code is written in C, but that doesn't have to be the case.  With the rise of machine learning and language processing, developers wanting to play with audio data have the choice between hard to use C code and terribly inefficient Python code. Go is a great alternative and we have an opportunity to consolidate and optimize future efforts by defining a common interface.
My goal is to start the conversation now and in the case of acceptance, I would submit the code for review during the 1.9 cycle.

The here link is dead.

@nhooyr thanks, fixed.

To paraphrase someone from the Python community

The standard library is where packages go to die.

Why does this need to be added to the state dad library, why can't this be something like
github.com/splice/audio

@davecheney you are right and it is already here: https://github.com/go-audio/audio but here is the thing, if we want to unify audio libraries out there, we need to make the common interface standard and official. Note that this package is not a package providing codecs and audio tools. It's a package used by 3rd party package developers implementing a shared interface.
Of course all packages in the std lib could have been external and could still be moved outside but it greatly increases the friction and the chances of consolidation. If you go through the proposal, I hope it's clear that my goal is to provide common ground for all libraries. As you can imagine, if a new developer coming from company X want to implement time stretching in Go, she might start by looking at what's available in the standard library and go from there. If nothing is mentioned, or doesn't do the right google search, she might end up building a solution that wouldn't work well with others.
What I am trying to say is that the main value of having this package in the standard library is to have a shared entry point for all libraries. I fully agree that audio libraries implementing codecs, effects and other things should live on their own. That's also why I setup the go-audio organization :)

But why does it need to live in the standard library? All interface declarations with the same method sets are equal and interchangeable.

It's more than an interface, there are concrete implementations.
I'm not sure how to answer your question in a way that would satisfy you, can you maybe help me understand why the packages we currently have are part of the standard library? Since anything that doesn't define the langage itself can be external, there must be reasons that made us choose to have them as part of the standard library.

As I understand it the majority of the standard library exists to support
building Go and the go tool. @bradfitz  would be the best person to answer
this, he has done the archology.
From my point of view, adding a package to the standard library is the kiss
of death. They packages API is condemned to grow via accretion in unnatural
ways, which we are seeing with the database/sql package.
Note: I am specifically not taking aim at the work of those adding features
to the database/sql package, simply noting that if that package lived
independently from the stdlib it would have been a straight forward matter
to bump the major revision of the package to add support for the context
arguments added in 1.8.
On Tue, 3 Jan 2017, 18:38 Matt Aimonetti<EMAIL_ADDRESS>wrote:

It's more than an interface, there are concrete implementations.
I'm not sure how to answer your question in a way that would satisfy you,
can you maybe help me understand why the packages we currently have are
part of the standard library? Since anything that doesn't define the
langage itself can be external, there must be reasons that made us choose
to have them as part of the standard library.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/golang/go/issues/18497#issuecomment-270063073, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAAcA3ikeXfN3AYl4cCDZbxk7TZJY22Hks5rOfrdgaJpZM4LZXk3
.

I'm worried about the Buffer implementation having to allocate. Maybe there's some way to wire multiple buffers together in a way that doesn't involve allocation, but I'm not sure how? Maybe you have some example of a real-time-audio-synth working on 1ms or smaller buffers?
The list of 6 conversion functions should probably work on slices rather than on single values.

I am underqualified to assess whether this should live as "audio" or as "x/media/audio" (although I'd err towards the latter) and leave this aspect to more qualified people.
that said, the audio.Buffer interface has piqued my interest.
it seems to me an audio.Buffer is, conceptually, an io.Seeker + an io.Writer and/or io.Reader, so it could be mmap'ed from a file, or conveniently acquired from h/w source, or conveniently save to disk.
I suppose manipulation/indexing of []T slices is a somewhat easier API?
tangentially, do you think the "multi-dimensional slices" proposal could help reconcile the various []float64, []float32 and []int "interfaces"?
in python, audio operations are applied on "bytes-like" objects:

https://docs.python.org/3/library/audioop.html
https://docs.python.org/3/glossary.html#term-bytes-like-object
ie: something that implements the buffer protocol, which IMHO is -- in Go -- something like a mix of the io.{Read|Writ}er interfaces w/ the multi-dim slice proposal.

having a "buffer protocol"-like interface would be more stdlib-worthy than audio.Buffer.

@egonelbre good idea, I will post examples showing how to reuse the slice. The short version is that you have a slice and you don't have to reallocate. In what context are you concerned? In other words, how are you getting the input data that makes you think such an approach would require reallocation?
In regards to the conversion functions, can you say more about your suggestion?

@sbinet yes matrices would improve things since frames would be nicer to write / read and more performant.
In regards to the bytes like buffer protocol I am not quite sure what that means concretely. When doing DSP, you have to convert the bytes into sample values, process them and convert them back into bytes at the end. But you'd want to keep the samples in a processable format until the end. The audio buffer approach is used in CoreAudio, the Cocoa framework for macOS/iOS.
The hard part here is to find the balance between performance and convenience. We want to avoid reallocations but we also want a nice API.

I mainly concerned about real-time-audio. A good example would be something like:

get input from keyboard/midi and generate sine-wave
get input from a looping and streaming PCM
mix 1. and 2.
have a gain node (adjustable)
have a pan node (adjustable)
output to device

Bonus points for:

when the looping/streaming PCM has different SampleRate/Format than the sine-wave generated

Basically, I'm missing the big picture how the Buffer should be used in practice.

No problem, I have a generator package and effect libraries I developed against a slightly different version of the proposal, I will port them over shortly. I don't have an output to device tho, but I guess output to UI would do it.
The sample rate format change isn't an issue but if the streaming has a different format using a different data type, you do need 2 buffers to avoid reallocating.

In regards to the conversion functions, can you say more about your suggestion?

I mean when you are using IntToIeeeFloat, I assume, most of the time you are working on an []int rather than a single int. When people write the for loops manually for a particular conversion it makes more difficult to "upgrade" everyone to optimized versions of the conversions (e.g. asm optimized loops). (Alternatively, I misunderstood the purpose of the conversion functions.)

So far nothing has been decided for #17244, which would impact where this lives. I suggest reviewing that issue and chiming in there.
Outside of determining the import path for the audio packages, I think it would be great to have a set of go to audio packages in the Go community.

I think adding a new experimental package to the std is
a non-starter.
The first step should be adding the proposed package
as x/media/audio.

I'll be focusing on the technical details of the proposal and answer the technical concerns that were and will be brought up.
The decision of where this package should live is a separate issue, my last comment on the topic is that we have generic packages such as image in the std lib and as mentioned by others the future of x packages is being questioned. There is probably a deeper conversation about what packages should live where, why, based on what criteria. Also can and should packages 'graduate'. If as mentioned by Dave, the std lib should only contain packages that help develop the language, what should happen to std lib packages that don't do that. X stands for experimental but what if a package 'graduated', is used by a lot of people should it go in the std lib? Those are hard questions that I feel should be discussed in a different GH issue even tho, they will affect this proposal.
In the meantime, I would very much appreciate feedback on the technical proposal more than on where the package should live. For comments on std lib and x packages, please comment on Andrew's proposal mentioned above.

X stands for experimental

x/whatever is just a path. "eXtra" maybe? "x/exp" is experimental. But for the rest, yeah, probably best to keep this related to just "what a standard audio package should look like" regardless of where it lives.

@mattetti wrt the buffer protocol, I had played a bit with the persistency aspects here:
https://github.com/sbinet/ndim

I think having interfaces in the standard library has some advantages over defining interfaces in third party packages. People are much more likely to go out of their way use them and maintain compatibility than they are when it's an interface in some third party library. (In fact, unless there's a clear third party market leader in a domain, users are unlikely to even find the interface if it's not part of the standard library. As a Go user, I've implemented image.Image and io.Reader on types, but I've never went out of my way to find other library's interfaces to implement and don't even know where I'd get started..) The idea behind audio.Buffer being in the standard library seems reasonable to me, in order to improve interoperability  of packages that do audio processing. That said, I think x/ (or even x/exp) is more appropriate until the implementation settles down.
I don't really know much about about audio processing, but having read your proposal I have some questions:

The interface seems rather large by Go standards. Do the AsXBuffer methods really need to be part of the audio.Buffer type? Couldn't they be in separate XTypeBuffer interfaces? Similarly, why not have an audio.Cloner interface instead of putting it all into one monolithic interface? That leaves PCMFormat and NumFrames, but I don't know enough about audio processing to know how tightly coupled they should be.
SampleRate, BitDepth, and NumChannels are all ints. As they get passed around, a user might mix them up somewhere and the compiler wouldn't catch it. Why not make types for type safety (maybe not for NumChannels)?

FWIW, the standard library contributors don't have neither bandwidth or technical skills to maintain an audio package. I would wait for #17244 to be resolved to see if x/ might be a good domain. Otherwise, a special workgroup would be the best option for media/audio projects.
A standard interface might be good to have if possible for PCM buffers. I am naively believing that a community can converge in a standard interface without contributing it to the standard library though. If the work is owned by a specialist group under Go ecosystem, there will be less chances that it will be limited by the resources of a company or the Go project.
Not every idea in the standard library wins the hearts automatically, the sql package is an example. Standard library is the worst place to contribute big interfaces and audio requires one or two big interfaces at least :( Also the burden of having to maintain an API forever once is contributed to the standard library is a big contract.

@sbinet correct me if I'm wrong but in your ndim implementation you can't reuse the slice since it's not exported which in my case would mean a big overhead when dealing with gigabytes of data.
@kardianos good point about the meaning of x, I wrongly associated x with x/exp.
@driusan I obviously agree and appreciate your support. I leave it to the core team to define where it should live.

In regards to the size of the interface, I agree that it's bigger than I'd like but unfortunately, PCM data can be consumed as ints and floats and as we saw recently with opus, in some cases it's important to be able to rely only on float32 (for performance reasons). The good news is that the code is very straightforward and we shouldn't have to add more concrete implementations so the interface should be stable.
The audio.Cloner interface is a good point, I could extract it as its own interface but then would have to embed it in audio.Buffer since creating a copy of a buffer is a very common thing. Not sure it's worth it.
PCM Format is critical to know since it indicates how to process the raw audio data (what's a frame size, how many samples per second etc..)
The NumFrames is a bit less important and could be calculated but would cost cycles to check things. I could be dropped but I am almost sure it would come back as a request sooner than later.

SampleRate, BitDepth, and NumChannels are all ints instead of type aliased because those numbers are very different and because they are used to process the audio via math operations. The sample rate is in the 10s of thousands, the bit depth between 8 and 24 and the number of channels between 1 and 8. I don't think it's worth the overhead of having custom types and convert those all over the place.

@rakyll

standard library contributors don't have neither bandwidth or technical skills to maintain an audio package
I think this is a different issue and one that can be addressed separately (your suggestion for specialist groups is a potential solution). But I agree that this is at the heart of #17244 and it has to be addressed.
When you and I discussed this proposal, the idea was to have it under x but after seeing #17244 and the lack of movements I figured I might as well propose to go all the way to the std lib even though I knew I would get plenty of (justified) push back. My point here is that we need a centralized place for thought through, discussed, reviewed and vetted libraries and interfaces. As pointed by others, without such a central place we won't reach cohesion. I'll comment more directly on the related issue itself.

@egonelbre I use audio.IntToIeeeFloat here: https://github.com/go-audio/aiff/blob/master/encoder.go#L129 which is on a single value. I don't know if 10 byte IEEE floats are used for data outside of the headers. I might be wrong there.
I'm working on moving some of my code to this proposal and to open source it so I can show you a pseudo real time processing with reused buffer.

@egonelbre here is a real time synth example using stdin to change the oscillator frequency and portaudio to output the audio to the soundcard: https://github.com/go-audio/generator/blob/master/examples/realtime/main.go
The buffer is filled by the generator that is then transformed by the naive gain control. Finally the buffer content is converted to float32 and copied in the portaudio buffer for playback.
As you can imagine, we could chain other transforms and even presenters to process the buffer.
Press keys to change the played note (don't forget to press enter) and press + and - (followed by enter to change the gain in a linear way.
I believe the float64 to float32 truncation/copy is very cheap and not a performance concern (especially compared to allocating and populating a new slice) but I might be wrong. If that's your concern, would you mind benchmarking that for us?

Maybe I'm missing something, but I don't see the purpose of carrying around the BitDepth (and to some degree Endianness) on the Format field of the buffers, and particularly the FloatBuffer. Once you've working with the data in floats neither of those is really relevant except when converting back to an integer format again. That seems like it's a separate concern rather than the property of the buffer.

@kisielk this is a fair critique. The reason those values were added were for codecs so we could round trip without having to check or store metadata anywhere else. I just checked CoreAudio's AudioBuffer and they don't store that data either: https://developer.apple.com/reference/coreaudio/audiobuffer
Let me try to play with changing that and see what it breaks and how to work around it. I'll report back in a couple days.

I only skimmed https://github.com/go-audio/generator/blob/master/examples/realtime/main.go but, AFAICT, it (or its imports) don't actually use the audio.Buffer interface type, only the audio.FloatBuffer struct type. Similarly, the AsFloat32Buffer method is never called anywhere, even though you convert float64 samples to float32. As @egonelbre said, I'm missing the big picture how the proposed standard type (the Buffer interface type) and its methods should be used in practice.

This is drifting off-topic, but I also left some quick code review comments on https://github.com/go-audio/generator/commit/aed9f58d524b3d5886e54339b31cc624a146ac78 based on my skim.

@nigeltao the example I linked to was showing a real time example for @egonelbre that was worried about performance. The proposal is for the interface and the implementations. I will add more examples with decoders and encoders and why the interface is useful. I do however expect that the concrete types might be used often to avoid conversion but the buffer can always be converted if needed.
Thanks for the comments, I'll update the example.

@mattetti, @egonelbre can correct me if I'm misunderstanding his concerns, but I think that I have the same concern that the AsXxxBuffer methods have to allocate on every call. You posted an example that doesn't allocate, but also doesn't use the AsXxxBuffer methods, so I don't think it directly addresses the concern, and I'm still a little worried about performance.
In any case, you said you'll add more examples later for why the interface is useful. I look forward to those examples (and there's no need to hurry on that).

@nigeltao AsXxxBuffer definitely allocates on every call, that's why I think a lot of libraries will require a concrete type to avoid the conversion but the concrete types implement the interface and can always be converted allowing for an end to end flow using the same "type".
It might be interesting to look at the previous iteration where I only had 1 concrete type: https://github.com/mattetti/audio/blob/master/pcm_buffer.go#L43 but talking with @campoy I came to the conclusion that having separate concrete types was a better approach.
Maybe the AsXxxBuffer isn't the right approach due to the performance cost. Maybe there is a cheaper version that would take as argument the receiver buffer. This would avoid allocation and make conversion cheaper. Maybe something like ToXxxBuffer(buf *XxxBuffer)? @egonelbre @nigeltao does that sound like a better approach to you?

I think that I have the same concern that the AsXxxBuffer methods have to allocate on every call.

Yes, i.e. AsXxx() would only be usable offline processing.
I feel like the whole discussion will eventually converge on something like this:
// The buffers

type Format struct {
	SampleRate  uint32
	Channels    int16
	BitRate     int16
}

type Buffer32 struct {
	Format
	Data   []float32
}

type Buffer64 struct {
	Format
	Data   []float64
}

// Graph definition

type Processor interface { Process(*Buffer32) }
type Processor32 interface { Process32(*Buffer32) }
type Processor64 interface { Process64(*Buffer64) }

// Generate could also be named ProcessReplacing, Replace or Fill
type Generator interface { Generate(*Buffer32) }
type Generator32 interface { Generate32(*Buffer32) }
type Generator64 interface { Generate64(*Buffer64) }

type Node interface { Processor; Generator }
type Node32 interface { Processor32; Generator32 }
type Node64 interface { Processor64; Generator64 }

// Formats used for resampling / converting / loading

type BufferInt16 struct { Format Format; Data []int16 } // same fields as above
type BufferInt16BytesLe struct { Format Format; Data []byte }
type BufferInt16BytesBe struct { Format Format; Data []byte }

func (buf *BufferInt16) Generate32(out *Buffer32) {
	if Debug { ... check for errors and panic if found ... }

	for i := range out.Data {
		out.Data[i] = (float32)buf.Data[i] / (float32)0x8000
	}
}

func (buf *BufferInt16) Process32(out *Buffer32) {
	if Debug { ... check for errors ... }

	for i := range out.Data {
		out.Data[i] += (float32)buf.Data[i] / (float32)0x8000
	}
}

// also have a global constant Debug for turning off any additional graph checks with a build tag
const Debug = true

It might even make sense to drop float32 or float64, but I'm not feeling confident to do so at this moment. But, that API is pretty much the minimal you can get away for general-purpose audio processing.

I believe the float64 to float32 truncation/copy is very cheap and not a performance concern (especially compared to allocating and populating a new slice) but I might be wrong. If that's your concern, would you mind benchmarking that for us?

The issue is unpredictable timing, not necessarily slowness -- although you still want things to be as fast as possible. If you have a lot of things with unpredictable timing it's impossible to ensure that the "bad timings" don't happen together. Which means you start to get intermittent "glitches" and no easy way of debugging what happened. For more see http://www.rossbencina.com/code/real-time-audio-programming-101-time-waits-for-nothing
Obviously, at the end of audio-graphs doing some conversion is unavoidable, if you want to support different types. Or you have to do a lot of work to avoid it.

Commenting on the technical side of the proposal:
The names FloatBuffer and Float32Buffer - float32 seems to be more common in the wild for audio. Various audio libraries use constants like ENCODING_PCM_FLOAT to rever to float32 buffers. Using FloatBuffer for 64-bit floats would create confusion. Float64Buffer would be better.
Exposing 16-bit data without copying would be quite important for processing audio input in realtime as some devices do provide only that. Thus having Int16Buffer would be important.
IntBuffer is very bad design. The varying size of int (32/64bit) will make interfacing with audio libraries without copying hard. Make it Int32Buffer.
Is the idea to handle endianess in the libraries and not expose it to the user (e.g. typically samples are native endian, WAV little endian, AIFF big endian)? Looking at the code it converts floating point and integer samples to each other by simply casting them. But floating point samples are between [-1,1] and integer samples (e.g. 16bit) between [-32768, 32767]. Thus the conversions seem quite wrong at first glance.
E.g. http://blog.bjornroche.com/2013/05/the-abcs-of-pcm-uncompressed-digital.html has an introduction on uncompressed audio formats for those interested on such topics.

It might even make sense to drop float32 or float64, but I'm not feeling confident to do so at this moment.

From the discussions on different forums I gather that only using float32 should be fine 1 2 3. Internally some processors do need to use float64 regardless of output. However, some DAW-s and many plugins support float64. So, using float64 would avoid this conversion.
So, there doesn't seem to be a consensus in the audio world. I think we can support easily both, if there are compatibility wrappers for automatically handling both 32/64 given that you have one implementation. But, it also creates more API surface.
With regards to the previous Generator interface, it seems it can be avoided as long as we decide who should be responsible for clearing / accumulating the buffers. e.g. JUCE has only processBlock. I would vote for the bus/graph/context implementation accumulates. Clearing should be done by the Node if it is needed.

This is in some ways a dup of #13423 and #16353. If we're not willing to add a place in the subrepos then we're likely not willing to add a place in the standard library.
The right way to start is to create a package somewhere else (github.com/go-audio is great) and get people to use it. Once you have experience with the API being good, then it might make sense to promote to a subrepo or eventually the standard library (the same basic path context followed).
More generally, all of these are on hold for #17244, which in turn is essentially blocked on understanding the long-term plan for package management. I intend to focus on that for the next six months.
I'll mark this as Proposal-Hold to match the others.

Issue #13423 seems to be unrelated. I think you intended #13432.

@egonelbre @taruti don't forget that the std lib is extremely biased towards float64: https://golang.org/pkg/math/ and int in general. While I agree that we should support float32 and int16 I think it does make things way more complicated for internal processing (by that I mean within the Go world).
I need to wrap my head around Egon's interface suggestion, for some reasons some aspects make me feel quite uncomfortable which means I need to dig deeper.
@rsc that's fair, as a small side note I think #13432 should be revoked (right @rakyll ?). But in either case that shouldn't prevent the people interested in continuing the discussion about a unified Audio interface and the development of core libraries. This discussion is certainly a catalyst and we might be able to put together a special interest group leading the way.

I agree that most of the Go stdlib is biased towards float64, but I think it would be a mistake to not make float32 support first class in the API. Memory is at a premium in most audio devices and you're halving your available storage for little to no benefit by restricting yourself to float64.

@mattetti to get a concrete idea: https://github.com/egonelbre/exp/tree/master/audio this is what I'm proposing. Note, I'm unable to compile portaudio on Windows at the moment so I'm not sure whether I've made some terrible mistakes somewhere. Tried to make the code as realistic as possible.

While I agree that we should support float32 and int16 I think it does make things way more complicated for internal processing (by that I mean within the Go world).

The support for int16 would be more of a convenience implementation. i.e. the Node interface wouldn't contain the API for handling Int16, only float32 and float64. Most audio should work as a Node or handle Node-s this means implementing Process32 and Process64 and nothing more. But, BufferInt16 is not essential and can be skipped altogether; but the audio would be a good place to keep all these different common-buffers and conversions from one-to-another. (e.g. how you would use such buffer https://github.com/egonelbre/exp/blob/master/audio/example/internal/wave/wave.go#L10)
With regards to float32/float64 support, yeah, I'm not sure what the correct approach is either. I think it's fine to say that "some particular situation needs some other implementation" and always pick float32/float64. But we should be at least aware who we are/aren't targeting and whether we match their needs.

Memory is at a premium in most audio devices and you're halving your available storage for little to no benefit by restricting yourself to float64.

PS: with my proposed design deals only with processing buffers, not necessarily how you actually load/hold/stream your PCM data. For all intents and purposes you could store it in 4-bit integers, if you wanted to; but when it comes to processing, you handle float32/float64.

@egonelbre sure, but even in the case of processing buffers this is a concern. Say you are designing a sample-based synthesizer (eg: Akai MPC) and your project has an audio pool it is working with. You'll want to be storing those samples in memory in the native format of your DSP path so you don't have to waste time doing conversions every time you are reading from your audio pool. Also remember that in-memory size also affects caching.

@egonelbre @kisielk @nigeltao @taruti should we continue this discussion at https://github.com/go-audio/audio/issues/3
We can then circle back and offer an updated proposal once the core team figures out how to deal with #17244

@mattetti 👍

"Once you have experience with the API being good, then it might make sense to promote to a subrepo or eventually the standard library" - @rsc

I'll comment over in #17244.

The AsX methods don't feel good and I think the fact that those are part of the proposal demonstrates a problem of sorts (and not just b/c of the allocations).
I think for processing, there is arguably smaller units than the proposed Buffer, and that's the discrete signal, represented simply as []float64 (for that type), and the continuous signal represented as func(t float64) float64. See here for an example of a discrete and continuous signal defined: https://github.com/dskinner/snd/blob/master/signal.go
I see the proposed buffer type as an extension of the discrete signal, and the metadata it can provide will be important in syncing multiple sources, but anything beyond that is probably doing too much (all the AsX methods and their intended use). Ultimately, I think what's necessary are access to the ins and outs of such discrete types for efficient handling.
Being Go as it is, and much like the math lib, you're simply going to have to commit to float64 with the occasional utility method. The extra complexity otherwise may see no use and may otherwise become an unnecessary burden.
I agree a working group might be more fitting to hash out these details. Then, language such as "This might be critical for real time processing" can be written less ambiguously. But this has happened before with various input going into (for example) https://github.com/azul3d/engine/tree/master/audio

As for a math32 library, I'm not sure if it's necessary.  Instead, I'd expect to pre-compute a global sine table, such as "var sineTable = [4096]float32{ etc }". Compute that table at "go generate" time, and you don't need the math package (or a math32 package) at run time.

The first linked repo is completely down and the second one hasn't had a commit in 5 years. Something something "The standard library is where packages go to die" @davecheney


How to add tailwindcss support?

Could someone point me to the direction where i can figure out how to implement tailwindcss? Sorry if this is not the right place to ask.

For me no interest to add tailwind, tailpress exist and compile css with postCSS and js with webpack.


Scope validation occurs two times in APIM 2.5.0

Description:
The scope validation occurs in DefaultKeyValidationHandler in carbon-apimgt and DefaultOAuth2TokenValidator in identity-inbound-auth-oauth for the newer versions of APIM.
Suggested Labels:
AM-2.5.0

Fixed with above PR


Added anchor links

Added anchor links to the sections in the checklist

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.:x: KalleHoppe sign nowYou have signed the CLA already but the status is still pending? Let us recheck it.

@KalleHoppe  thanks for the thought though. I'm sure you can find docs to improve.


#184948253 reset user password

What does this PR do?
This PR allows users to reset password
Description of Task to be completed?
Create a UI for the task
Code the functionality
Integrate with the backend
Test the application
How should this be manually tested?
clone this repo git clone https://github.com/atlp-rwanda/e-comm-team-amigos-fn
switch your working directory cd e-comm-team-amigos-fn
create a .env and update it with .env-example
install all dependencies by running npm install
in your terminal, run npm start
Test the endpoints:
navigate to /reset-password
Any background context you want to provide?
Node JS installed
Node server running
What are the relevant pivotal tracker stories?
Story ID: #184948253
Screenshots (if appropriate)
UI implementation

passing tests

Issue resolved @khevin2

Feedback Addressed @wilbrord2


Updating FEGA pricing document

Needed to update the document and pricing info due to changes in policies.

Documents, such as the .pdf file, should be served from the Docs CSC Allas bucket. I can upload it.


Require only the needed methods of lodash

Apparently not, when you look at the stats of the webpack the loadback have been resized. And the min file is 50Ko less

Okay I dig deeper I found the reason why the babel plugin doesn't work.
It uses only es2015 presets. But we have switched to env


geth chart - add startGasLimit targetGasLimit config

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 16.88%. Comparing base (be289dc) to head (e32fa55).

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #875   +/-   ##
=======================================
  Coverage   16.88%   16.88%
=======================================
  Files          36       36
  Lines        4430     4430
=======================================
  Hits          748      748
  Misses       3603     3603
  Partials       79       79

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


Re-Opening Issue #33 - Problem with environment variable expansion for Reference Folder

Hi @alanzeino -
I'm filing this to track the exact same issue described in:  https://github.com/uber/ios-snapshot-test-case/issues/33
I'm seeing this issue on my development machine.  I've used iOSSnapshotTestCase for many years on many different machines.  Thank you for rescuing it and maintaining it.
I had it working correctly on this very macbook 3 weeks ago but couldn't commit to the main project (long story).  So I created a new branch and set it up again.
For some reason the images are being stored in my derived data.  I've included the log entry from Xcode (the "xxxx" is just redacting part of this).
I'm continuing to work on this and will try the debugging suggested in issue #33.  If you are wiling to take another look into this please let me know what additional information you need.
Thanks!
Adam
2019-11-07 11:12:11.993010-0800 Costco Debug[42874:2691546] Reference image save at: /Users/adamwolf/Library/Developer/Xcode/DerivedData/xxxxxxx-boyprtgyfseuxlhdcabjfahsmqmj/Build/Products/Debug-iphonesimulator/xxxxx<EMAIL_ADDRESS>

I found a fix.  The root cause for me was trailing spaces in the environment variable name in my scheme.
I've encountered this a couple times, would be nice if there was error handling to log that "trailing spaces on environment variable" are causing a problem.


Add a way to disable autoOrdering for a component

Some components like noflo-core/DisconnectAfterPacket would like to manipulate the output stream in their own way rather than Component maintaining the order of the brackets for them. For those there should be a way to set component.autoOrdering = false.

Current workaround is to set c.autoOrdering = false in the Process API callback, but a better fix would be to automatically enable auto-ordering only if it is not set (so, NULL default)


Issue in UI

The new options on the menu screen are navigating to a  Animated Dialogbox page .This might happen due to no vertical gap between the new options.

You can work on it's fix , if you like to. Much appreciated.

You can work on it's fix , if you like to. Much appreciated.

Thank you so much @dev1abhi  I did and also created a pull request as well. Again thank you so much for this opportunity.


Volunteer Invitation Flow

Provides a unique url for admins to use to invite new users
Split up Circle Admin page to a tabbed layout
Get ActiveAdmin working
Move translations to be defined via ActiveAdmin interface

Relates to #86

I've put probably way too much in this PR, but seems to be good to :ship:


Add new server locations

US West: Seattle us5.uncledane.com
US South: Dallas us6.uncledane.com

Added


I can't install

Good morning, I did all the steps correctly, I put the intelbras folder in the custom components, I set the password, everything was fine, and I can't see anything, I looked in the log file and didn't find anything either, could you help me?

What inverter model do you have? The inverter use the app Intelbras Solar Send?

EGT 4600 PROOn Nov 5, 2023, at 3:49 PM, brunopiola @.***> wrote:
What inverter model do you have? The inverter use the app Intelbras Solar Send?
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you are subscribed to this thread.Message ID: @.***>

For EGT 2000, i'm using the integration Solarman, because this integration doesn't work with microinverters.

Tenho o EGT 2000, estou usando a integração Solarman, porque essa integração não funciona com microinversores.

I have the EGT 2000, i'm using the integration Solarman, because this integration doesn't work with microinverters.

where can I find it?

Where can I find a tutorial or instructions on how to install? I'm not sure what name the folder should have inside custom_components

The easiest way to install is to use HACS (https://www.hacs.xyz/).
The custom_components directory is here https://github.com/magic7s/intelbras-solar/tree/main/custom_components


Update README.md

This will write the following to DynamoDB, So it has to be 'account:${id}'
{
    pk:         'account:8e7bbe6a-4afc-4117-9218-67081afc935b',
    sk:         'account:98034',
    id:         '8e7bbe6a-4afc-4117-9218-67081afc935b',
    name:       'Acme Airplanes',
    status:     'active',
    zip:        '98034',
    created:<PHONE_NUMBER>510,
    updated:<PHONE_NUMBER>510,
}

Thank you.
I'll check our doc site too.


Move light theme to it's own file

It's pretty hypocritical saying:

Water.css is a css framework that doesn't require any classes. You just include it in your  and forget about it, while it silently makes everything nicer.

But then for using the light theme I need to add a .light.
I think for clarity, size and ease of use it would be wise to split light and dark theme to their own files. When I want a light theme, why do I have to load all of the dark theme stylings? That's wasteful.
Splitting in respective files lends itself to creating more themes, for example a more red one, a blue one, a green one, grey, orange, etc.

How would this work development-wise? When fixing a style glitch it seems tedious to have to update the code in two files.

The themes only differ in color. Develop in one file and after it looks like you want it to look, copy paste it and replace colors. This would work even better with #7

I don't think copy and pasting is a great development workflow. It would make more sense to use SASS and some build tools here. The project source would then look something like:

water.core.scss (containing styles that reference variables)
water.light.scss (containing only the light theme variables)
water.dark.scss (containing only the dark theme variables)

The build tools would then output something like:

water-light.css
water-dark.css

I think I could mock up an example this weekend if this is something @kognise thinks would adds value to the project.

For reference, this is how Bootstrap's Theming works. You can take the core Bootstrap styles as is, or you can build your own version by creating a Sass file like this:
// Your variable overrides
$body-bg: #000;
$body-color: #111;

// Bootstrap and its default variables
@import "../node_modules/bootstrap/scss/bootstrap";

Then, your build tools would output your customized Bootstrap theme.
You wouldn't have to force Water.css end users to install any build tools - this is just more development work for contributors.

This sounds great - but brings up the question of SASS variables or CSS variables?
SASS variables: integrated with the build system, probably smaller bundle size, lets us do fancy things that may or may not be needed.
CSS variables: user theming doesn't need to set up a whole build system, accessible from the page if the user wants addon styles

I think CSS variables align more with the "just add water" goal, but you lose IE support. Sass would let us compile to something more compatible with more browsers, but you're right that it would complicate the build system.
Are we worried about theming being accessible from the page? I figure the target audience is people who don't want to touch CSS.
I think it's a decision on making it easy for the end users dropping CSS on their page vs. making it easy for contributors to add changes.
I think it's your call to make, @kognise! What do you think?

@kylejrp I'm thinking... probably Sass! I want to make good browser compatibility a goal, as well as small bundle sizes.

If we're gonna move the light theme to a different file, though, I wonder how dynamic switching in the demo will work...

I think we could just swap it with some javascript. Let me try to get a pull request up and running!

With Javascript you can dynamically switch stylesheets, that's no problem.


If we need to consider the latency of memory model?

Hi, very AMAZING work! I like this. Thank you for your contributions.
There is one thing puzzling me. I've seen that both computation and io_module have latency in code, but I don't find latency of the memory model——like we getting data from the loacl buffer(SRAM) or global buffer(HBM) (not latency on link).
If you've already mentioned in your paper that I apologize for my omission.
Thanks!

Global buffer is actually L2 cache in most of the cases. For these buffers, LLMCompass assumes only the latency of the first memory access is exposed. The following latency will be well hidden. What matters is bandwidth.

We are working on a patch to incorporate memory access latency into the performance model, including DRAM latency and cache latency. The preliminary results currently look good.


Historic recurrence - SSMS - EXCEL - "conditional formating"

History of Excel with focus on "conditional formating"
1987    first version without "conditional formating"
1997    first version of "conditional formating"
2010    improved "conditional formating"
2023    "conditional formating" still available and loved, because very useful
History of SSMS with focus on "conditional formating"
2005    first version without "conditional formating"
2023    users still asking for "conditional formating"
If "conditional formating" is available 2028 in SSMS, it took approximately the same time for users, like they were waiting for that feature in Excel.
the good prevails.

@vrc153 Can you please explain clearly what your question or issue is, and to which article you're referring? Thanks.

Thanks for your hint. I'm sorry. I still have not a good detail knowledge, I'm working hard on understanding anything better. But its really challanging. I checked feedback.azure.com and tried to find SSMS at "https://feedback.azure.com/d365community/post/" but I didn't.
I'm still confused with which is the correct receiver for my issue.

https://stackoverflow.com/questions/2833164/format-results-in-sql-management-studio
viewed 3k times.
https://stackoverflow.com/questions/7605597/how-to-have-colors-in-the-output-of-sql-result
viewed 37k times.

Issue moved to:
https://feedback.azure.com/d365community/idea/516520a9-556e-ee11-a81c-6045bdb7ea56
Thx to rwestMSFT for his hints/ideas/support.


Export bug fix

Export bug for binary files fixed.
Related to issue #83
https://github.com/marklogic/marklogic-contentpump/issues/83

@yunzvanessa May you help me to review and if it's possible push this change?
Thanks in advance :-)

Hi dbarriguete,
Sorry for the delayed reply. Thanks for your pull request. The fix looks good to me!
I have a small favor to ask you. Could you please create a new pull request off develop branch? Your current pull request is off master branch, which is used for production release and is normally locked.
If you have time please create a new pull request by **next Wed (Aug 28th) ** and I will approve the pull request. If I haven't heard back from you by then, I will go ahead and change it myself.
Thank you again for contributing to mlcp!

Hi Vanessa:
Thanks for your feedback.
I’ll change the request as you ask me for.
Regards
Diego Barriguete
El El vie, 23 de agosto de 2019 a la(s) 18:54, Vanessa Zhang <
<EMAIL_ADDRESS>escribió:

Hi dbarriguete,
Sorry for the delayed reply. Thanks for your pull request. The fix looks
good to me!
I have a small favor to ask you. Could you please create a new pull
request off develop branch? Your current pull request is off master
branch, which is used for production release and is normally locked.
If you have time please create a new pull request by **next Wed (Aug 28th)
** and I will approve the pull request. If I haven't heard back from you by
then, I will go ahead and change it myself.
Thank you again for contributing to mlcp!
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/marklogic/marklogic-contentpump/pull/108?email_source=notifications&email_token=AMDGFUMTEURTN6XCUN5RCFDQGB2DVA5CNFSM4IJA74OKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD5BSTPQ#issuecomment-524495294,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AMDGFUJE7TYZRRDSFNYZKSLQGB2DVANCNFSM4IJA74OA
.

--
Diego Barriguete
http://crimsonplace.blogspot.com

Hi Vanessa:
I have created a new pull request to "develop" branch, you may see it here:
https://github.com/marklogic/marklogic-contentpump/pull/109
Let me know if you have any questions or comments about it.
Regards
Diego Arturo Barriguete
http://crimsonplace.blogspot.com
On Fri, Aug 23, 2019 at 7:11 PM Diego Barriguete<EMAIL_ADDRESS>wrote:

Hi Vanessa:
Thanks for your feedback.
I’ll change the request as you ask me for.
Regards
Diego Barriguete
El El vie, 23 de agosto de 2019 a la(s) 18:54, Vanessa Zhang <
<EMAIL_ADDRESS>escribió:

Hi dbarriguete,
Sorry for the delayed reply. Thanks for your pull request. The fix looks
good to me!
I have a small favor to ask you. Could you please create a new pull
request off develop branch? Your current pull request is off master
branch, which is used for production release and is normally locked.
If you have time please create a new pull request by **next Wed (Aug
28th) ** and I will approve the pull request. If I haven't heard back from
you by then, I will go ahead and change it myself.
Thank you again for contributing to mlcp!
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/marklogic/marklogic-contentpump/pull/108?email_source=notifications&email_token=AMDGFUMTEURTN6XCUN5RCFDQGB2DVA5CNFSM4IJA74OKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD5BSTPQ#issuecomment-524495294,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AMDGFUJE7TYZRRDSFNYZKSLQGB2DVANCNFSM4IJA74OA
.

--
Diego Barriguete
http://crimsonplace.blogspot.com


A detail about how to inference

When inferencing, does the network combine all possible interaction and object categories into text encoder to get the output feature and then calculate the similarity with the predicted feature of visual encoder? does it put all the combinations into it? Is it too computationally intensive? I can't find the relevant explanation in the paper, please ask for the answer, thank you

I also have the same question: how do models infer? How to evaluate the trained model? Is there any relevant code in this project?

Hi,
I found that in their code, during inference they only input all the HOI classes pre-defined in the dataset into the text encoder. I am also confused about it because, in their paper, they claim that they don't pre-define all the HOI classes. I am not sure whether my understanding has some deviation or not, but till now, I am really confused.


WebRTC: Server crashes on AV1 Encoder

While streaming with an AV1 encoder the server crashes after some time ~5min. Using OBS there were a lot of warnings as well and the stream couldn't be played. Using chrome the stream is playable, but the server still crashes.
Version
SRS:6
To Reproduce

Start stream via OBS with AV1 Encoder and stream to https://rtclocal.test.de/rtc/v1/whip/?app=live&stream=XXXX&codec=av1 endpoint.
Wait until error occurs.

Expected behavior
Expect the server to stay stable when using AV1 Encoder
Screenshots

Please never ignore other information to reproduce the issue, like the config and logs.
I guess you should disable the rtc_to_rtmp, because RTMP does not support AV1 right now.

Okay, thanks. I cannot use the dvr feature then am i right?

Yes, DVR feature based on RTMP tags.


IconTheme docs page has mysterious no-name properties

https://docs.flutter.io/flutter/material/IconTheme-class.html

Dupe of https://github.com/dart-lang/dartdoc/issues/1367


Fix command and entrypoint

Before we need to pass multi args --command or --entrypoint if we have
multi args :
sail service add --command arg1 --command arg2 ...
Now:
sail service add --command "arg1 arg2" ...
Signed-off-by: Loïc<EMAIL_ADDRESS>

Hi,
Sorry for the delay. Do yo want to re-open this pull request ?


user experience for temperature preference figure

talked about this one w/ Luke.
The key message here is that there are different thermal guilds for the different species of interest. We'll have the user make a guess as to where the three (?) species' ideal thermal range is and then have them  lock in those choices and reveal the reality. Inspired by http://www.nytimes.com/interactive/2015/05/28/upshot/you-draw-it-how-family-income-affects-childrens-college-chances.html
After the three are locked in and "I'm done" is chosen, we do a one by one adjustment with text to accompany "you chose 63°F for Lake Trout, that is too warm. Lake Trout prefer X-Y°F"
User can select "reset" to start it again.
If user scrolls past both trigger points (one for making it appear, the other makes them all move) the fish move to the right place.
I assume all this will be fine on mobile w/ drag features, but likely won't work on IE.

Only thought on this is do you need an "i'm done" button, or can that automatically be triggered when the third fish is placed?

yeah, I think it could work well that way, but I wanted to keep it so you could still move the fish around after you drop them.

I think we are dropping this fig.


Bug in ver.1.14.0. input accepts string with whitespaces and validates to valid .

I'm using  jquery.validate.js ver.1.14.0.
If input/text-area has only required rule, it accepts string with whitespaces and validates to valid input.
I've tried this with  jquery.validate.js ver.1.13.1 it works correct, string with whitespaces is not allowed.

I think the problem is in methods -> required method in its return statement,
now it's return value.length > 0 but it accepts whitespaces, so trim() method should be added (return $.trim( value ).length > 0;) .
methods: required method, now it is looks like that :
	methods: {

		// http://jqueryvalidation.org/required-method/
		required: function( value, element, param ) {
			// check if dependency is met
			if ( !this.depend( param, element ) ) {
				return "dependency-mismatch";
			}
			if ( element.nodeName.toLowerCase() === "select" ) {
				// could be an array for select-multiple or a string, both are fine this way
				var val = $( element ).val();
				return val && val.length > 0;
			}
			if ( this.checkable( element ) ) {
				return this.getLength( value, element ) > 0;
			}
			return value.length > 0;
		},

And should be:
	methods: {

		// http://jqueryvalidation.org/required-method/
		required: function( value, element, param ) {
			// check if dependency is met
			if ( !this.depend( param, element ) ) {
				return "dependency-mismatch";
			}
			if ( element.nodeName.toLowerCase() === "select" ) {
				// could be an array for select-multiple or a string, both are fine this way
				var val = $( element ).val();
				return val && val.length > 0;
			}
			if ( this.checkable( element ) ) {
				return this.getLength( value, element ) > 0;
			}
			return $.trim( value ).length > 0;
		},

This changed intentionally, see https://github.com/jzaefferer/jquery-validation/commit/2ad0ca82daf091fc692018b38e01e896fd304015

But now input accepts string with whitespaces.


how to stop autoplay?

when mouse in,how to stop it?

can you show your example? In my case autoplay doesn't work


Add SH script to delete an entire organization including all traces and workspaces

Add script and docs for removing an entire organization from a self-hosted instance.

Making it so...


(mkdocs) Check PyPi for new package releases instead of GitHub

Not all releases from GitHub are necessarily pushed to the Python Package Index from where the Chocolatey Package will install the tool.

had to change this package and the mkdocs-material package to parse the web page itself instead of the json result.
It failed almost every time when parsing the json.
Commit: https://github.com/chocolatey/chocolatey-coreteampackages/commit/280757ddc20b03eb8a36a849dc5f138f3722d57c


Build: Architecture testing with ArchTest

Coverage remained the same at 100.0% when pulling 0dbe2f0fb35f19df974914113352bd1ced8c2d3c on arch-test into cdab6c2b76dcc3584ab2936544407ebba3d50819 on master.

Coverage remained the same at 100.0% when pulling 0dbe2f0fb35f19df974914113352bd1ced8c2d3c on arch-test into cdab6c2b76dcc3584ab2936544407ebba3d50819 on master.

Coverage remained the same at 100.0% when pulling 0dbe2f0fb35f19df974914113352bd1ced8c2d3c on arch-test into cdab6c2b76dcc3584ab2936544407ebba3d50819 on master.

@rultor merge

@rultor merge

@valery1707 OK, I'll try to merge now. You can check the progress of the merge here

@rultor merge

@valery1707 Done! FYI, the full log is here (took me 2min)


Remove get-signup-assessment method

This endpoint was discontinued by Incognia.


added windows 11

after reading this article, i confirmed windows 11 is supported

Learn Build status updates of commit b76a96f:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

windows/security/threat-protection/security-policy-settings/network-access-remotely-accessible-registry-paths-and-subpaths.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the learn.microsoft.com contributor guidesPost your question in the Learn support channel


htmlentity changed its API in v1.3.0

Hi there,
htmlentity changed its API in the newly released version 1.3.0. rphtml pulls that dependency in "1.2.0" which allows cargo to update the dependency to this version. That means rphtml wont compile any longer. From a freshly checked out repository:
$ cargo build

    Updating crates.io index
   Compiling proc-macro2 v1.0.56
   Compiling quote v1.0.26
   Compiling unicode-ident v1.0.8
   Compiling thiserror v1.0.40
   Compiling anyhow v1.0.70
   Compiling lazy_static v1.4.0
   Compiling syn v2.0.15
   Compiling thiserror-impl v1.0.40
   Compiling htmlentity v1.3.0
   Compiling rphtml v0.5.8 (/Users/ckruse/rphtml)
error[E0432]: unresolved imports `htmlentity::entity::encode_chars`, `htmlentity::entity::EntitySet`
 --> src/parser.rs:6:43
  |
6 | use htmlentity::entity::{decode_chars_to, encode_chars, EncodeType, Entity, EntitySet};
  |                                           ^^^^^^^^^^^^                      ^^^^^^^^^ no `EntitySet` in `entity`
  |                                           |
  |                                           no `encode_chars` in `entity`
  |
help: a similar name exists in the module
  |
6 | use htmlentity::entity::{decode_chars_to, encode_char, EncodeType, Entity, EntitySet};
  |                                           ~~~~~~~~~~~
help: a similar name exists in the module
  |
6 | use htmlentity::entity::{decode_chars_to, encode_chars, EncodeType, Entity, Entity};
  |                                                                             ~~~~~~

error[E0308]: mismatched types
   --> src/parser.rs:569:47
    |
569 | ...                   if let Some(decoded) = Entity::decode(entity) {
    |                                              -------------- ^^^^^^ expected `u8`, found `char`
    |                                              |
    |                                              arguments to this function are incorrect
    |
    = note: expected reference `&[u8]`
               found reference `&[char]`
note: associated function defined here
   --> /Users/ckruse/.cargo/registry/src/github.com-1ecc6299db9ec823/htmlentity-1.3.0/src/entity.rs:838:10
    |
838 |   pub fn decode(bytes: &[Byte]) -> AnyhowResult<char> {
    |          ^^^^^^

error[E0308]: mismatched types
   --> src/parser.rs:569:16
    |
569 | ...                   if let Some(decoded) = Entity::decode(entity) {
    |                              ^^^^^^^^^^^^^   ---------------------- this expression has type `Result<char, anyhow::Error>`
    |                              |
    |                              expected enum `Result`, found enum `Option`
    |
    = note: expected enum `Result<char, anyhow::Error>`
               found enum `Option<_>`

Some errors have detailed explanations: E0308, E0432.
For more information about an error, try `rustc --explain E0308`.
error: could not compile `rphtml` due to 3 previous errors

Can you please adopt the changes and increase the minimum version?
Best regards,
CK

@ckruse Sorry for the late reply. The early version of the crate htmlentity's API was not designed with much performance in mind, so some upgrades were made in the new version and cause some breaking changes. I have upgraded the htmlentity's minimum dependency to the latest version 1.3.1 in the new version of rphtml 0.5.9, very sorry to cause you trouble in use and thanks for your feedback.

Thank you very much! Can confirm, it now compiles again :-)


Add OpenTelemetry distributed tracing

Add Otel Java auto-instrumentation with Jaeger export
Add Otel Collector
Configure data to be sent to Zipkin

Hi @flands Could tou explain us what OpenTelemtry brings to  Petclinic?
The readme.md has not be updated. And how collector.yamlis working?

Hey @arey this PR brings distributed tracing to the microservices application. I can update the README. The collector is used to forward the received trace data to Zipkin.

Took a look at the README and it does not say much about Zipkin -- added Otel Collector. Collector was added so users could switch to a different backend if desired.

Why not just use Spring Cloud Sleuth OTel (https://github.com/spring-cloud-incubator/spring-cloud-sleuth-otel/) ?

Since Sleuth is on the classpath you can just do the following
<properties>
		<spring-cloud-sleuth-otel.version>1.0.0-M7</spring-cloud-sleuth-otel.version>
	</properties>
	<dependencies>
		<dependency>
			<groupId>org.springframework.cloud</groupId>
			<artifactId>spring-cloud-starter-sleuth</artifactId>
			<exclusions>
				<exclusion>
					<groupId>org.springframework.cloud</groupId>
					<artifactId>spring-cloud-sleuth-brave</artifactId>
				</exclusion>
			</exclusions>
		</dependency>
		<dependency>
			<groupId>org.springframework.cloud</groupId>
			<artifactId>spring-cloud-sleuth-otel-autoconfigure</artifactId>
		</dependency>

and you have OpenTelemetry support with no additional work needed

I didn't know the Spring Cloud Sleuth OTel project. Sure we could use it. I note that it is part of an incubator and hope that that it could join the Spring Could project.
@flands do you agree with the proposal of@marcingrzejszczak?

Yeah once OTel is GA without the alpha things in it we will consider merging it into Sleuth.

@flands : I tried cloning your changes but am running to some Mac related issues which I posted as a question on StackOverflow: https://stackoverflow.com/questions/69368828/unable-to-access-docker-container-web-page-in-spite-of-port-mapping-on-a-macos-b . Please help if you can. Cheers!


Dependency convergence error for org.apache.httpcomponents:httpclient

I added v1.4.9 as a dependency for my own project, and a mvn compile shows
Dependency convergence error for org.apache.httpcomponents:httpclient:4.5.2 paths to dependency are:
+-com.yahoo.cap:yct_training_data:1.0-SNAPSHOT
  +-com.mashape.unirest:unirest-java:1.4.9
    +-org.apache.httpcomponents:httpclient:4.5.2
and
+-com.yahoo.cap:yct_training_data:1.0-SNAPSHOT
  +-com.mashape.unirest:unirest-java:1.4.9
    +-org.apache.httpcomponents:httpasyncclient:4.1.1
      +-org.apache.httpcomponents:httpclient:4.5.1
and
+-com.yahoo.cap:yct_training_data:1.0-SNAPSHOT
  +-com.mashape.unirest:unirest-java:1.4.9
    +-org.apache.httpcomponents:httpmime:4.5.2
      +-org.apache.httpcomponents:httpclient:4.5.2

Yes if you want a specific version in your project you need to define it at the top level


Describe your issue and include the command you're running, flutter_web version, browser version

I've created web application using and deployed it on liveserver (localhost) but when I dispose live server and reopen installed pwa it shows page not found (connection not established) that means it is not yet available offline.. please help me out
Thank You

Hi @Pr47h4m
It seems you are asking for assistance on personal code. Please see https://flutter.dev/community for resources and asking questions like this,
you may also get some help if you post it on Stack Overflow and if you need help with your code, please see https://www.reddit.com/r/flutterhelp/
Closing, as this isn't an issue with Flutter itself. If you disagree, please write in the comments and I will reopen it.
Thank you


Unique kerberos ccaches for parallel connections.

The "MEMORY" ccache is shared in a process.
If a client uses it to make parallel connections,
the same ccache may be used for several clients with distinct credentials.
To prevent such sharing we create a unique, dedicated ccache when necessary with krb5_cc_new_unique.
To destroy the ccaches we created, the struct KRB_CREDENTIALS is extended to express the ccache ownership.

@freerdp-bot test

@freerdp-bot test


On-demand titles only pulling from the last library specified

It should pull the selected number of random titles from each library specified, but it is only pulling from the last library in the list.

Found issue in asyn call within plex class. Issue fixed

sometimes not all libraries load random titles, and sometimes they do :(

was missing a callback for the async function in the plex class. now seems to be working fine


Versions missing from npm

I'm trying to install this library via npm, and I noticed some versions were missing from the npm repository: https://www.npmjs.com/package/ngprogress
versions in npm:
1.1.1
1.0.6

versions in bower:
1.1.3
1.1.2
1.1.1
1.1.0
1.0.7
1.0.6
1.0.5
1.0.4
1.0.3
1.0.2
1.0.1
0.0.3
0.0.2
0.0.1

I'm mostly interested in the 1.1.2 release, since that includes a fix to the di of ngProgressFactory

As a workaround, in order to use the 1.1.2 version, I referenced the release tag on this repository:
npm install VictorBjelkholm/ngProgress#v1.1.2 --save

This still isn't preferred, as I'd like to install from npm directly, rather than github.

+1

+1

I've looked into this, but don't think I have the appropriate authority to publish this to NPM.  I'll keep investigating.

+1

+1

+1

+1

Version 1.1.3 is now released to npm


Clean code in zip.py

Use OOP concepts

Clean the code

Reduce the length of code

Optimize the code

DRY (Don't Repeat Yourself)

@achoudh5 could you assign this task to me?

@achoudh5 I would like to give this a shot.

@saisiddhant12 please go ahead 😀

Pull Request#31

[ ] Create a config file for usage of all hardcoded value
[ ] Develop a blue print for applying OOP & get a sign off
[ ] Re-iterate the blueprint post feedback
[ ] Make the blocks more modular by introducing more set of user defined functions


Missing Wmo Doodas

As you can see in the pic, some Wmo-Doodas are not loading in the classic wow when exporting maps. I only was checking classic though.
Thx for this awesome tool btw.

Hey,
Thanks for the report, I've done a little bit of investigation on this. It does appear that some of the objects are missing from the Classic version of the WMO, however they're not missing from the Retail WMO. There are no parsing errors or missing data from what I can see, so I don't think this is an error in wow.export.
I checked on an old alpha client and the objects appear to be there. Something I noticed is that on the Classic version, there is the addition of a small reference marker where one of the troughs is meant to be. My thoughts here are that they were intentionally removed from the WMO and then added in as server-side objects (for reasons unknown) with the marker used for positioning. Potentially related to the scrapped "survival" profession that was intended back in the day? Who knows!
Either way, the only solution right now would either be to manually place the missing objects, or use the retail version of the WMOs which as far as I know are mostly identical and have the objects included.

Hey,
Thanks for the report, I've done a little bit of investigation on this. It does appear that some of the objects are missing from the Classic version of the WMO, however they're not missing from the Retail WMO. There are no parsing errors or missing data from what I can see, so I don't think this is an error in wow.export.
I checked on an old alpha client and the objects appear to be there. Something I noticed is that on the Classic version, there is the addition of a small reference marker where one of the troughs is meant to be. My thoughts here are that they were intentionally removed from the WMO and then added in as server-side objects (for reasons unknown) with the marker used for positioning. Potentially related to the scrapped "survival" profession that was intended back in the day? Who knows!
Either way, the only solution right now would either be to manually place the missing objects, or use the retail version of the WMOs which as far as I know are mostly identical and have the objects included.

UPDATE 2
Further investigation and it turns out that the objects ARE part of the WMO, but they're not M2 files, rather MDL files. Looks like some things got missed when everything was converted. I'll look into getting a fix for this.

UPDATE 2
Further investigation and it turns out that the objects ARE part of the WMO, but they're not M2 files, rather MDL files. Looks like some things got missed when everything was converted. I'll look into getting a fix for this.

Thx for the response.
Nice, I am looking forward for your fix then.

Thx for the response.
Nice, I am looking forward for your fix then.

Resolved in f17dc1ea90c532877c5bc03ef7d87db43c368f44 (0.1.25). Live update coming momentarily.

Resolved in f17dc1ea90c532877c5bc03ef7d87db43c368f44 (0.1.25). Live update coming momentarily.


DataProtection

We need to implement DataProtection for Sqlite and SqlServer

Fixed: https://github.com/RegionOrebroLan/Certificate-Identity/commit/d510fc6baaf88b78cce119913dd96f0988500108


Improve error handling and fix contract address issue

This pull request enhances error handling by providing clearer logging when OneInch configuration is missing, allowing for easier debugging. Additionally, it updates the contract address for the @oasisdex/addresses package from version 0.1.60 to 0.1.83 to ensure compatibility with the latest features and fixes.

Summary by CodeRabbit

New Features

Enhanced error logging for configuration issues in the OneInchOracleProvider and OneInchSwapProvider, improving visibility for users.
New functions added to the Aave Pool Data Provider ABI, including getFlashLoanEnabled, getIsVirtualAccActive, getUserReserveData, and getVirtualUnderlyingBalance.

Bug Fixes

Improved error handling in configuration retrieval processes to provide clearer error messages and logging.

Chores

Updated dependency version for @oasisdex/addresses in the package.json file.

Refactor

Simplified output definitions in the Aave Pool Data Provider ABI for better readability and consistency.

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 74.78%. Comparing base (6ff5d39) to head (d11a9da).

:exclamation:  There is a different number of reports uploaded between BASE (6ff5d39) and HEAD (d11a9da). Click for more details.
HEAD has 1 upload less than BASE

Flag
BASE (6ff5d39)
HEAD (d11a9da)

2
1

Additional details and impacted files
@@            Coverage Diff             @@
##              dev     #528      +/-   ##
==========================================
- Coverage   83.04%   74.78%   -8.26%
==========================================
  Files         291      291
  Lines        2967     2967
  Branches      178      178
==========================================
- Hits         2464     2219     -245
- Misses        492      737     +245
  Partials       11       11

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


Update test scripts. - [closed]

In GitLab by @guyingyan on Jan 16, 2018, 01:48
Merges dev-update-test -> dev

In GitLab by @wknet123 on Nov 13, 2019, 10:25
the coverage is  % check console log

In GitLab by @wknet123 on Nov 13, 2019, 10:25
the build is FAILED console log

In GitLab by @wknet123 on Nov 13, 2019, 10:25
closed


Registry: Remove RegistryPayload, make Signature a parameter of the API

I hope the diff will speak for itself.

🟢


Who can explain the meaning of format in './data/LSVRC2015/ImageSets/VID_train_15frames.txt' and'./data/LSVRC2015/ImageSets/VID_val_videos.txt'

In 'VID_train_15frames.txt':
It looks like:
'train/ILSVRC2015_VID_train_0000/ILSVRC2015_train_00000000 1 10 300'
In 'VID_val_videos.txt':
It looks like:
'val/ILSVRC2015_val_00000000 1 0 464'
What's thr meaning of the last three numbers?

Have you got the answer? I wonder what that means, too?

@PCML-WangZhe
Have you known the meaning of the last three numbers?I also have the same question!

Well, as far as I decipher:
The first digit is always 1 and it's something like it's present (and not absent that) is. Not really helpful indead.
The other 2 together reveal the sampling of all frames from each video. The intention is to keep exactly 15 frames from each video. The final number is the total number of frames of this particular video and the penultimate number is id of the sampled frame.
For example for the 1st video (ILSVRC2015_train_00000000) the 1st 3 lines are:
train/ILSVRC2015_VID_train_0000/ILSVRC2015_train_00000000 1 10 300
train/ILSVRC2015_VID_train_0000/ILSVRC2015_train_00000000 1 30 300
train/ILSVRC2015_VID_train_0000/ILSVRC2015_train_00000000 1 50 300

which means 300 frames are present and the 1st sampled frame is the 10th one, the second the 30th etc.

@ Now I want to train own data which have 'person' label .But I do not know how to do my data as author's train data and to download my data using author's code.Can you tell me how to do? Thank you very much.

@eypros
Hi~ About the penultimate number , I notice they have different intervals when TotalFrameNumber changes.  Do you know how the penultimate number are set(calculated)?
Thanks!


Deleting a user with space permissions within an organisation fails

Issue
When trying to delete a user from an organisation, if they have any permissions within the organisation it fails.
Context
We have created an admin interface on top of the cf API in order to enable our users to undertake some self administration. One of the requests we have had is to be able to remove users from organisations.
It is possible that one user may work across multiple organisations, thus not being deleted in entirety from our CF installation is desirable. We have taken the approach to implement calling  cf: delete /v2/organizations/<org GUID>/users/<user GUID> to achieve this.
However we have encountered an issue with this approach
Steps to Reproduce

Create a new user
Assign permissions within an organisation
Attempt to delete the user with cf: delete /v2/organizations/<org GUID>/users/<user GUID>

Expected result
I would expect that the user and all permissions were successfully removed.
Current result
Currently this process generates an error due to CF-AssociationNotEmpty
This requires us to remove all permissions for the user before being able to delete them. In an organisation with a large number of spaces this can be quite time consuming.
Logs
2018-06-11T10:52:52.73+0100 [RTR/0] OUT admin.leeporte.dev.cloudpipeline.digital - [2018-06-11T09:52:52.730+0000] "GET /assets/kv5bawckhqvxpsd72eapuw2pp.open-government-licence.png HTTP/1.1" 304 0 0 "https://admin.leeporte.dev.cloudpipeline.digital/assets/5jndywfdmtmpav7tqxsc2vt3tc.govuk-template.css" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.79 Safari/537.36" "<IP_ADDRESS>:10368" "<IP_ADDRESS>:61126" x_forwarded_for:"<IP_ADDRESS>, <IP_ADDRESS>" x_forwarded_proto:"https" vcap_request_id:"22ad5381-2e5f-4c58-47c8-94a291ed41a7" response_time:0.002648015 app_id:"7e8facb6-38f4-4c63-9310-f0912720fe9b" app_index:"1" x_b3_traceid:"184b7a97d620e9a6" x_b3_spanid:"184b7a97d620e9a6" x_b3_parentspanid:"-"
   2018-06-11T10:52:52.73+0100 [RTR/0] OUT
   2018-06-11T10:52:55.05+0100 [APP/PROC/WEB/1] OUT {"level":50,"time":1528710774919,"msg":"cf: delete /v2/organizations/356bb6e8-2cd4-4b10-bca3-d044637a34cf/users/10bb85ee-e83c-4c6a-bf8a-d7cc4f6a3b4e failed with status 400 and data {\"description\":\"Please delete the user associations for your spaces in the org.\",\"error_code\":\"CF-AssociationNotEmpty\",\"code\":10006}","pid":10,"hostname":"ea378111-5b0f-44db-59f6-eb1e","req":{"method":"POST","url":"/organisations/356bb6e8-2cd4-4b10-bca3-d044637a34cf/users/10bb85ee-e83c-4c6a-bf8a-d7cc4f6a3b4e/delete"},"type":"Error","stack":"Error: cf: delete /v2/organizations/356bb6e8-2cd4-4b10-bca3-d044637a34cf/users/10bb85ee-e83c-4c6a-bf8a-d7cc4f6a3b4e failed with status 400 and data {\"description\":\"Please delete the user associations for your spaces in the org.\",\"error_code\":\"CF-AssociationNotEmpty\",\"code\":10006}\n    at /home/vcap/app/dist/webpack:/src/cf/cf.ts:246:17\n    at Generator.next (<anonymous>)\n    at fulfilled (/home/vcap/app/node_modules/tslib/tslib.js:104:62)\n    at <anonymous>\n    at process._tickCallback (internal/process/next_tick.js:188:7)","v":1}

Possible Fix
The ideal behaviour would be that when cf: delete /v2/organizations/<org GUID>/users/<user GUID> is called all permissions for that user would be deleted within the organisation and finally removing the user.

As per documentation:
https://apidocs.cloudfoundry.org/1.40.0/organizations/remove_user_from_the_organization.html
The recursive query parameter can be provided into the call, achieving the desired outcome. The question is, could/should the default change?
./cc @LeePorte

@LeePorte were you able to resolve your issue using the suggested recursive query parameter?

Yeah, we have. It's cool to close the issue.


AttributeError: 'pysam.libcbcf.TabixIterator' object has no attribute 'append'

Hi,
I'm sure I'm doing something wrong but I cannot find the source of my error. igv-reports used to work with simple variants but now it fails for BEDPE.
version:
igv-reports               1.7.0                    pypi_0    pypi

This is my command:
create_report /path/work/5e/01e8bdd63bfe616f2b874350506418/OUT/00013.bedpe  \
/path/to/hs37d5_all_chr.fasta  \
 --ideogram "/path/work/00/7828d9e3ffbc5df2b0533346431846/hg19.cytoBandIdeo.txt"  \
--flanking 250  \
--tracks /path/work/jeter.vcf.gz /path/to/file1.cram /path/to/file2.cram /path/to/file3.cram /path/to/file4.cram /path/work/f4/a337a2930ad0f83b3074666080e898/hg19.refGene.txt.gz         --output TMP/output.html

And this is my error:
Traceback (most recent call last):
  File "/CONDAS/users/lindenbaum-p/IGVREPORTS/bin/create_report", line 8, in <module>
    sys.exit(main())
  File "/CONDAS/users/lindenbaum-p/IGVREPORTS/lib/python3.7/site-packages/igv_reports/report.py", line 346, in main
    create_report(args)
  File "/CONDAS/users/lindenbaum-p/IGVREPORTS/lib/python3.7/site-packages/igv_reports/report.py", line 210, in create_report
    data = reader.slice(region, region2)
  File "/CONDAS/users/lindenbaum-p/IGVREPORTS/lib/python3.7/site-packages/igv_reports/vcf.py", line 42, in slice
    records.append(rec)
AttributeError: 'pysam.libcbcf.TabixIterator' object has no attribute 'append'

I'm not a python guy but it looks like the first iterator should be converted to an array before calling append?

it looks like the problem is fixed by adding list( to
            records = list(self.fetch(self.get_chrname(region['chr']), region['start'], region['end']))

@lindenb Apologies for not responding sooner.  I rotate through all the IGV projects and just missed this issue earlier.  You are correct, but the solution is to return a list from "fetch".  There are 2 cases handled there,  vcf with and without index.  I tested on non-indexed VCFs and missed this case.   I will push a fix soon and do a point release.


bump dependencies

Applied mkpr on package.json
/tmp/mkpr.sh

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

npm package (@latest dist-tag)
v1.10.215
GitHub release

Your semantic-release bot :package::rocket:


Kernel: Improve single thread (CONFIG_MULTITHREADING=n) support

An attempt to improve no multithreading (no-mt) support in order to keep it in the tree by:

cleanup in kernel/timer as k_timer is expected to work in no-mt
extending tests/kernel/timer/timer_api to validate no-mt case
cleanup in kernel so that number of kernel source files can be limited when no-mt.
added support for no-mt in ztest
added sanity test for no-mt which validates that expected features are working: k_busy_wait, k_timer, irq_locking, k_cpu_idle, SYS_INIT
removing z_arm_pendsv from vector table
reverted deprecation of no-mt.

Note that currently all existing multithreading tests are passing only on cortex_m but having test coverage for expected scope will help to add support for other platforms.
Separate PR will cover documentation (will be based on #29338).

Not that it fits much with Zephyr's overall market direction (increasingly moving into larger and more complicated systems), but it's nice to see this being resurrected. Any data on binary size to share?

Thank you @andyross. I do not want to reopen the discussion about the usefulness of the feature but suffice to say that the fact that we are investing time and effort into it, that we commit to maintaining it, that the ARC architecture might use it in the future and that it was useful for the Aarch64 maintainers when initially bringing up the platform should be enough reason to keep it.

There will always be room for tiny microcontrollers anyway.
If Zephyr loses its ability to be trimmed down then people will write
another RTOS all over again.

This is good news. I can still use single-threaded + my own single-threaded thing-driven framework to develop simple applications. At the same time, I can also use the zephyr software ecosystem.

@andyross  regarding:

Any data on binary size to share?

Savings are not stunning (~2k) but it depends on the perspective. If you want to fit your bootloader in 4k pages. Then such savings may mean 4k vs 8k and that becomes significant.

@nordic-krch please rebase
@dcpleung coudl you please take a look?

@carlescufi rebased, CI green except for compliance failure that we need to live with.


Main API will soon be temporarily offline

The domain name will soon expire, thus will render the services under the domain unavailable.
The website will be under a new domain probably tomorrow and you'll be notified under this issue.
For the time being I'll recommend using a self-hosted instance using Vercel, you can learn how to do so in the README.
Sorry for the inconvenience, I'll try my best to limit the downtime at its minimum.

Hi, is there any update on the new domain?
Thanks

Hi, sorry for the inconvenience I had some issues regarding DNS that have been solved just recently!
The new domain is https://discordlookup.mesalytic.moe, and the readme has been updated as well!

Ok thanks a lot!

Don't forget to update the website link in the project's "about" section :)

The API is currently offline for server migration, it shouldn't be that long though If after the migration, the API is still not available, please update your DNS

The API is now up and running, like mentionned previously, if you struggle accessing the API, please refresh your DNS cache, OS-side AND browser-side

Excuse me, the API seems to be down at the moment, is there any reason for that?
By the way, thank you for this amazing tool, it was extremely helpful on a recent project of mine.

Excuse me, the API seems to be down at the moment, is there any reason for that? By the way, thank you for this amazing tool, it was extremely helpful on a recent project of mine.

There's no apparent reason, I'm currently checking what's going on

is it back online? also thanks for up keeping this tool its hard to find free tools like yours 👍

is it back online? also thanks for up keeping this tool its hard to find free tools like yours 👍

probably won't be back online until tomorrow, it's noon right now so I suppose I won't get any response until tomorrow morning, i'm sorry 😣
there will be an update when it's back online
and thanks for the kind words 😊

The API is officially back online! (hopefully for as long as it can be lol)
Thanks for your patience, and sorry for any inconvenience this has caused 😅

the api will be offline for a short time, as a security flaw has been found
thanks to @aamiaa for the report, will give more details later 😅

Can you details the security flaw after you fix it so people self-hosting can know what to watch out for ?

Can you details the security flaw after you fix it so people self-hosting can know what to watch out for ?
Also do you have an ETA for the fix ?

this is planned yes
for the eta, i'll say 30mins/1h max?

There seem to be an issue, for example my ID does not work : https://discordlookup.mesalytic.moe/v1/user/87874287494508544/
Also Are you sure about the result check ? checkValidSnowflake returns a string (either the snowflake or the error message), so checking for if (isNaN(id)) is not the best thing ?
And minor pet peeve of mine, checkValidSnowflake is somehow defined as async but is synchronous ?

And minor pet peeve of mine, checkValidSnowflake is somehow defined as async but is synchronous ?

forgot to change that when i was thinking of a fix lmaoo


Vagrant scripts need pre/post setup checks

The vast majority of Vagrant scripts would benefit from pre-checks that determine if the action to be taken has already been run and post-checks that verify that the script completed successfully.
https://github.com/clong/DetectionLab/blob/master/Vagrant/scripts/install-inputsconf.ps1 is a good example. The pre-check should determine if the inputs.conf already exists and the post-check should also verify that the file is present and that the Splunk forwarder service was able to start successfully.
Pre-checks will prevent issues if a host is accidentally re-provisioned and post-checks will make the install process more robust

I'll take a swing at that somewhere the coming week (hopefully)

Closed in PR #95 - thank you for the help here @hhofs!


[WFLY-6143] Remove unusable entry from legacy feature pack subsystem …

…template
Correction to the WFLY-6143 work.

Closing as this is incorporated as a commit in #12530.


Ability to recalculate MeshInstance2D from updated texture

Godot version:
3.1-alpha5
OS/device including version:
Any
Issue description:
We have the option to convert a Sprite to a MeshInstance2D. Now when I do that and change the texture afterwards, I cannot simply rebuild the MeshInstance2D with the updated texture. Shouldn't be hard to implement though.

Feature and improvement proposals for the Godot Engine are now being discussed and reviewed in a dedicated Godot Improvement Proposals (GIP) (godotengine/godot-proposals) issue tracker. The GIP tracker has a detailed issue template designed so that proposals include all the relevant information to start a productive discussion and help the community assess the validity of the proposal for the engine.
The main (godotengine/godot) tracker is now solely dedicated to bug reports and Pull Requests, enabling contributors to have a better focus on bug fixing work. Therefore, we are now closing all older feature proposals on the main issue tracker.
If you are interested in this feature proposal, please open a new proposal on the GIP tracker following the given issue template (after checking that it doesn't exist already). Be sure to reference this closed issue if it includes any relevant discussion (which you are also encouraged to summarize in the new proposal). Thanks in advance!


How Web Publishing In VS Works update image

Fixes #1486
Fixed text to say dotnet publish, fixed box alignment, fixed slanted arrow, and made typeface consistent.
If you accept this, you better use the :sparkles: magic green button :sparkles: on this one. lol

:shipit:


MEX compilation on Windows

Dear Andrew,
I'm using MATLAB R2024a on Windows 11 with Microsoft Visual C++ 2022 (C). I've also tried MATLAB R2023b as well. I couldn't run "compileAll" successfully on my machine as it complains about syntax error at "mex_compilation\PathFinder.h(26)", which I suspect is caused by the "double complex" declaration. Is this a known problem on Windows with MSVC or am I missing something with MEX compilation?
Best,
Shukui

Hi @JackC92. Thank you for raising this.
I've added a Windows OS component to the continuous integration tests, and this is also failing - confirming this problem isn't due to your setup - it's a Windows OS issue. I just read up a little about this and you are correct, the Windows MSVC compiler does not recognise complex.h.
For now, you can run PathFinder without MEX. This is straightforward and there are instructions on how to do this in the README.
I'll keep you posted on any possible fixes for this.

Good news @JackC92 - there is an easy fix for this. Please follow these instructions. And please let me know if any other issues arise.

Thanks for the instructions! I can now run the examples in the examples folder with MEX.
However, I find that PathFinder gets stuck when computing PathFinder(pi,0,[],[1 0 0],100,10,'infcontour',[true true]), the example in the README. Then MATLAB just quits silently without any crash report, and nothing shows up upon reopening MATLAB.

Sorry to hear this is still causing you problems @JackC92. As you may have guessed by now - I don't use Windows! But in that respect, your feedback has been very useful. I will have to wait until I can get hold of a Windows machine before I can fix it. The good news is that it's probably something simple if the example codes are running (and the CI tests are passing too). In the meantime - please could you tell me if you get the same error when running the following command?
PathFinder(5*pi/4,pi/4,[],[1 0 0],100,10,'infcontour',[true true])

I think the bug is line 57 in sd_path_ode_euler.c, where the array is length 0 when other_stationary_points_len == 0.

Thanks! I've attempted to fix it on the windows-dev  branch. I also added a test to the Windows CI, which tests precisely the problem integral you mentioned, and this was done successfully. Would you be able to update from that branch and try again?

I've checked out the windows-dev branch and the MEX functions on the windows-dev branch are now working smoothly.


[Bug]: Mushroom entity card, navigate to URL (another dashboard) does not work on Android (browser or companion app)

Current Behavior
Mushroom entity card, navigate to URL does not work on Android (browser or companion app). This works on all other devices, Mac (Safari), Windows (Edge), iPhone (companion app).
Also I am not seeing the options in the mushroom entity card GUI for tap, hold, etc. actions. They can still be configured via the code editor though.
Expected Behavior
This used to work on Android
Steps To Reproduce
create a mushroom card
add entity
first you don't see the tap actions in the GUI
go to code editor and configure a navigate tap action with a URL pointing to a dashboard
save
test on Android - not working
Environment
Home Assistant 2022.11.1
Supervisor 2022.10.2
Operating System 9.3
Frontend 20221102.1 - latest

Lovelace mushroom version 2.3.4

Anything else?
I went all the way back to 2.3.0 and it was the same issue... it doesn't appear to be mushroom related?

Hm... I updated the navigation option with the short name of the dashboards, i.e. I removed the URL and it now works on android. May be a breaking change that I missed...


adding option to disable builtin cloud controller

Description
option to disable built-in cloud controller to deploy different cloud controller mostly for on prem and talos CCM
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)
[x] This change requires a documentation update
[ ] Small minor change not affecting the Ansible Role code (GitHub Actions Workflow, Documentation etc.)

How Has This Been Tested?
on my own clusters

@MonolithProjects done


add metrics constants for resource type and labels

/assign @mdemirhan @yanweiguo

Updated per your suggestions. Please take a look again. Thanks!

/test pull-knative-pkg-unit-tests

Gentle ping

/lgtm
/approve


Upgrade to Feathers 5, Node 14+ and latest dependencies

This pull request updates all dependencies, including the Feathers 5 prerelease. The module will now use native ES modules which are supported from Node 14 and up.
Making this a draft since one test is still failing and the other functionality needs to be verified.

Closes #6
Closes #7

I was wondering about that. I think it has something to do with using ES modules. Definitely needs some more investigation.


[Bug fix] Catch horizontalDragUpdate in MaterialSeekBar

PageViews and ListViews (and most probably many other scrollable widgets) use the Scrollable widget which uses HorizontalDragGestureRecognizer. If any of these two widgets are used as a parent to MaterialSeekBar, horizontal drag gestures are caught by GestureDetectors used in these widgets containing a Scrollable since we only catch Pan gestures in MaterialSeekBar.
Example
If one video is used for each page in a PageView, seeking the MaterialSeekBar leads to swiping and going to the next page because of this.
https://github.com/media-kit/media-kit/assets/77285023/a1963d1b-8b6a-4829-aa8c-7e21e47d6286

Also,

I didn't quite understand why both GestureDetector and Listener is used.
Could use onHorizontalDragUpdate, onHorizontalDragStart and onHorizontalDragDown instead of onPanUpdate, onPanStart and onPanDown as well instead of just adding onHorizontalDragUpdate : (_){}. I didn't find any difference in using either, but I could be wrong.

Thanks!
Few notes for the future: We follow Convential Commits specification in our commit messages. Though... not hardly enforced. We also format our source-code with dart format for Dart & clang-format for C/C++.


Please add sign-in code 70044

missing sign-in error code 70044
occured while logging in via Outlook Mobile after having added a "token lifetime" cond.access policy. So probably it's simply related to an expired OAuth token?
thanks

@michael-msft Please help with the link of document on which above document feedback request is created.
In case your query is not related to document content, open a new forum thread in MSDN forum or Stack Overflow as it could be better place to get help on your scenario.
These forum community members could provide their expert guidance on your scenario based on their experience. Thanks.

@michael-msft Since we have not heard back from you we will now proceed to close this thread. If there are further questions regarding this matter, please tag me in your reply. We will gladly reopen the issue and continue the discussion.


block qtype for a given engine if not implemented

Fixes #499
Checklist

[x] I have read the Contribution & Best practices Guide and my PR follows them.
[x] My branch is up-to-date with the Upstream master branch.
[x] I have added necessary documentation (if appropriate)

Changes proposed in this pull request:
Preview link:  https://aqueous-refuge-13068.herokuapp.com/

Using jquery to disable qtype for a given engine.
Initially (on refresh), its set to as per google search engine, i.e. all except general disabled.

@realslimshanky @umangahuja1 please review.

Looks good to me. Can you share deployed app to test in real time?

https://aqueous-refuge-13068.herokuapp.com/  ,Its in the description as well 😃

Oops missed it 😅

Please dont search in preview link with parsijoo. It crashes the app.... https://github.com/fossasia/query-server/pull/498 . Already made a PR to resolve it.

@umangahuja1 no try search iran on news, it will give you results. Its behaviour is dependent on query, its status response is always 200. Thats why #498 handles these cases

Please approve if it's looks good to you 😀

I don't know how this project takes my approval though. Let's wait for someone more experienced here 😄.
But I feel it disables things nicely and also easy to modify at a later stage when more features will be implemented.

@umangahuja1 no problem, you have to go to 'files changedsection, then click onreview`. From there you can approve or request for changes. Since you have tested my changes and given your time on it, you should do that.

Nice catch, on it

Nice catch, on it


Support call on the result of method call and closure call

x = a(1, 2)(3, 4) {} {} (5, 6) {} (7, 8)
x = a(1, 2) {} (3, 4) {} {} (5, 6) {} (7, 8) {} {}
x = obj.a(1, 2)(3, 4) {} {} (5, 6) {} (7, 8)
x = obj.a(1, 2) {} (3, 4) {} {} (5, 6) {} (7, 8) {} {}
x = {a, b -> }(1, 2)(3, 4) {} {} (5, 6) {} (7, 8)
x = {a, b -> }(1, 2) {} (3, 4) {} {} (5, 6) {} (7, 8) {}
x = {a, b -> }(1, 2) {} {} (3, 4) {} {} (5, 6) {} (7, 8) {} {}

Fixed by: https://github.com/jespersm/groovy/commit/8c66057a09cc1aff1e54f77f01dca0a41e073e18


Objective-C and core end2end tests update for Cronet test

Fix for Obj-C Cronet end2end test failure. The unit tests now know to expect the 'host' string that client requests with when Cronet is not used, and expect the server address when Cronet is used (since Cronet framework does not recognize 'host').

@ctiller please take a look.

Closed due to miscomm on the requirement :) We're gonna change Cronet instead of the tests right now.


add dependabot .yml

This dependabot .yml file is the same as the one in the zecwallet-mobile repo.
With its initial settings will open up to 100 reports, so that we can see everything (hopefully) it will report after being turned on at once, rather than having it fill a cue (5 is the default setting) a bit at a time, possibly obscuring which are the most pressing updates. This setting could be 'choked back' later, along with the frequency of the checks (now set to daily).
Additionally, settings in this repo will have to be changed for dependabot to run here:
settings -> code security and analysis -> enable dependabot alerts

Fixes issue #22.

Maybe is good to activate this... because I assume there are a lot of new version of everything...

Do we know how many issues this will create? If it's only direct deps I think it would be manageable/useful to turn it on even though it might be a bit noisy initially.

How about the assignees to this issue decide on this?
My thought is, we should only turn this on if at least one of you is ready to focus on fixing the issues that dependabot raises.   I am not going to have time to address these issues directly, so I am not going to make this call.


[TASK] Clean up UI Kit/ Storybook Components

A simpler storybook alternative with fewer dependencies may be useful for refactoring our component library. https://github.com/webb-tools/webb-dapp/issues/2480
https://ladle.dev/