improve error message of create extension failure

What is the purpose of the change
Improve error message of create extension failure, avoid a large number of unrelated extension loading failure errors
Brief changelog
Display related error message by name when create extension is failed.
Verifying this change
No extraneous errors are displayed when loading a non-existent extension.
Follow this checklist to help us incorporate your contribution quickly and easily:

[x] Make sure there is a GITHUB_issue field for the change (usually before you start working on it). Trivial changes like typos do not require a GITHUB issue. Your pull request should address just this issue, without pulling in other changes - one PR resolves one issue.
[ ] Format the pull request title like [Dubbo-XXX] Fix UnknownException when host config not exist #XXX. Each commit in the pull request should have a meaningful subject line and body.
[ ] Write a pull request description that is detailed enough to understand what the pull request does, how, and why.
[ ] Write necessary unit-test to verify your logic correction, more mock a little better when cross module dependency exist. If the new feature or significant change is committed, please remember to add sample in dubbo samples project.
[ ] Run mvn clean install -DskipTests=false & mvn clean test-compile failsafe:integration-test to make sure unit-test and integration-test pass.
[ ] If this contribution is large, please follow the Software Donation Guide.

please fix ut
https://github.com/apache/dubbo/pull/7131/checks?check_run_id=1760798506

please fix ut
https://github.com/apache/dubbo/pull/7131/checks?check_run_id=1760798506

Codecov Report

Merging #7131 (17a0c2f) into master (27571a0) will decrease coverage by 0.33%.
The diff coverage is 82.35%.

@@             Coverage Diff              @@
##             master    #7131      +/-   ##
============================================
- Coverage     60.28%   59.94%   -0.34%
+ Complexity      509      506       -3
============================================
  Files          1028     1028
  Lines         41531    41488      -43
  Branches       6038     6009      -29
============================================
- Hits          25036    24872     -164
- Misses        13750    13848      +98
- Partials       2745     2768      +23

Impacted Files
Coverage Δ
Complexity Δ

...apache/dubbo/common/extension/ExtensionLoader.java
77.85% <82.35%> (+2.06%)
0.00 <0.00> (ø)

...va/org/apache/dubbo/remoting/TimeoutException.java
0.00% <0.00%> (-33.34%)
0.00% <0.00%> (ø%)

...ng/transport/dispatcher/all/AllChannelHandler.java
62.06% <0.00%> (-27.59%)
0.00% <0.00%> (ø%)

...bo/config/event/listener/LoggingEventListener.java
37.50% <0.00%> (-25.00%)
0.00% <0.00%> (ø%)

...dubbo/remoting/exchange/support/DefaultFuture.java
70.79% <0.00%> (-17.24%)
0.00% <0.00%> (ø%)

...bbo/common/bytecode/CustomizedLoaderClassPath.java
28.00% <0.00%> (-16.00%)
0.00% <0.00%> (ø%)

...rg/apache/dubbo/remoting/utils/PayloadDropper.java
76.92% <0.00%> (-15.39%)
0.00% <0.00%> (ø%)

...ng/transport/dispatcher/WrappedChannelHandler.java
47.82% <0.00%> (-15.22%)
0.00% <0.00%> (ø%)

.../remoting/transport/netty4/NettyServerHandler.java
56.81% <0.00%> (-13.64%)
0.00% <0.00%> (ø%)

...mmon/threadpool/support/AbortPolicyWithReport.java
85.00% <0.00%> (-12.50%)
0.00% <0.00%> (ø%)

... and 50 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 27571a0...17a0c2f. Read the comment docs.

Codecov Report

Merging #7131 (17a0c2f) into master (27571a0) will decrease coverage by 0.33%.
The diff coverage is 82.35%.

@@             Coverage Diff              @@
##             master    #7131      +/-   ##
============================================
- Coverage     60.28%   59.94%   -0.34%
+ Complexity      509      506       -3
============================================
  Files          1028     1028
  Lines         41531    41488      -43
  Branches       6038     6009      -29
============================================
- Hits          25036    24872     -164
- Misses        13750    13848      +98
- Partials       2745     2768      +23

Impacted Files
Coverage Δ
Complexity Δ

...apache/dubbo/common/extension/ExtensionLoader.java
77.85% <82.35%> (+2.06%)
0.00 <0.00> (ø)

...va/org/apache/dubbo/remoting/TimeoutException.java
0.00% <0.00%> (-33.34%)
0.00% <0.00%> (ø%)

...ng/transport/dispatcher/all/AllChannelHandler.java
62.06% <0.00%> (-27.59%)
0.00% <0.00%> (ø%)

...bo/config/event/listener/LoggingEventListener.java
37.50% <0.00%> (-25.00%)
0.00% <0.00%> (ø%)

...dubbo/remoting/exchange/support/DefaultFuture.java
70.79% <0.00%> (-17.24%)
0.00% <0.00%> (ø%)

...bbo/common/bytecode/CustomizedLoaderClassPath.java
28.00% <0.00%> (-16.00%)
0.00% <0.00%> (ø%)

...rg/apache/dubbo/remoting/utils/PayloadDropper.java
76.92% <0.00%> (-15.39%)
0.00% <0.00%> (ø%)

...ng/transport/dispatcher/WrappedChannelHandler.java
47.82% <0.00%> (-15.22%)
0.00% <0.00%> (ø%)

.../remoting/transport/netty4/NettyServerHandler.java
56.81% <0.00%> (-13.64%)
0.00% <0.00%> (ø%)

...mmon/threadpool/support/AbortPolicyWithReport.java
85.00% <0.00%> (-12.50%)
0.00% <0.00%> (ø%)

... and 50 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 27571a0...17a0c2f. Read the comment docs.


Add convenience method to create a ResultAsync from Result

In non-Result(neverthrow)-land, using vanilla Promise we can easily convert a non-async method to be async using Promise.resolve('myString) which returns Promise<string>.
What is the equivalence using ResultAsync? I.e. I want to super easily convert a Result<T, E> to ResultAsync<T, E>.
I've managed to do it using this code - but feels like there must be (or should be) an easier way:
export const resultToAsync = <T, E>(
	result: Result<T, E>,
): ResultAsync<T, E> => {
	return result.asyncAndThen((value) => {
		return okAsync(value)
	})
}

Hello @Sajjon !
I would say that okAsync is the neverthrow equivalent of Promise.resolve.
Can you tell us a bit more about the use-case that brought this up ?

Hello @Sajjon !
I would say that okAsync is the neverthrow equivalent of Promise.resolve.
Can you tell us a bit more about the use-case that brought this up ?

@paduc hmm ok wrong dimension of equivalence :D I did not mean a constructor taking a value, e.g. 'myString' and returning ResultAsync<string, Error> from it.
I meant what I posted above....
An easy way to go from Result<T, E> to ResultAsync<T, E>, which is exactly what I managed to to above. But I was wondering if there is a shorter and sweeter version than what I do above?? :)
The use-case is that I have something in the sync world that I would like to wrap as async. Because I have another implementation which is async, and I would like to expose the same uniform (async) API for these two different implementations.

@paduc hmm ok wrong dimension of equivalence :D I did not mean a constructor taking a value, e.g. 'myString' and returning ResultAsync<string, Error> from it.
I meant what I posted above....
An easy way to go from Result<T, E> to ResultAsync<T, E>, which is exactly what I managed to to above. But I was wondering if there is a shorter and sweeter version than what I do above?? :)
The use-case is that I have something in the sync world that I would like to wrap as async. Because I have another implementation which is async, and I would like to expose the same uniform (async) API for these two different implementations.

I understood the solution you are aiming at but would like to know more about the context of the problem, to understand if there is a good enough reason to add a utility function (like you are suggesting) or if the problem can be addressed by a more idiomatic approach (ie using the current API as it is intended).
You're not telling me why you need a uniform API for the two implementations. Is it possible that the caller could use part of the API that accepts both Result and ResultAsync types, like for instance ResultAsync.andThen ?

I understood the solution you are aiming at but would like to know more about the context of the problem, to understand if there is a good enough reason to add a utility function (like you are suggesting) or if the problem can be addressed by a more idiomatic approach (ie using the current API as it is intended).
You're not telling me why you need a uniform API for the two implementations. Is it possible that the caller could use part of the API that accepts both Result and ResultAsync types, like for instance ResultAsync.andThen ?

Sorry I will give more info, and also please bear in mind that I'm not a JS/TS export, nor a fan of these languages, coming from the Swift world I'm quite spoiled with proper strong types and error handling, also native support for Result - so I might not use the most precise wording and/or have misunderstood things.
I'm working on a crypto project where the user can produce cryptographic signatures of some data, e.g. transfer to tokens she owns. "Owning" a token is an implicit thing, it means having the capability of signing a token transfer spending said tokens.  The signing schema used is Elliptic Curve Cryptography (ECC), where a PrivateKey is used to sign data (a transaction, e.g. a token transfer).
However, sometimes the user does not have direct access to the privateKey, in the scenario where she is using what is called a hardware wallet (like a special secure USB stick, storing the privateKey, e.g. a "Ledger Nano S" ), the privateKey never exposed to the user, rather this flow is async, a host machine sends a transaction to the hardware wallet, and the user then needs to physically accept the signing of this transaction with hardware buttons on the USB stick.
Therefore the singing is async for Hardware wallets, but can be sync for the case where a software wallet stores and has direct access to the privateKey.
However, to simplify development of this packages/library I'm building I want to work with the most... complex flow, the async flow, and nailing that makes the sync flow trivial. I do this by simply wrapping the sync singing flow in an async method, resulting in shared APIs between the two different flows.
So here comes TMI :)
Before use of neverthrow
export type Signer = {
	/**
	 * Produces a cryptographic signature of the input.
	 *
	 * @param {UnsignedMessage} unsignedMessage - The unsigned message to be hashed and signed.
	 * @returns {Signature} An EC signature produces by this signer when signing the message.
	 */
	readonly sign: (
		unsignedMessage: UnsignedMessage,
	) => Promise<Signature>
}

const signWithIndutnyElliptic = (input: {
	readonly privateKey: UInt256
	readonly data: Buffer
}): Signature => {
	const secp256k1 = new ec('secp256k1')

	const privateKey = secp256k1.keyFromPrivate(input.privateKey.toString(16))

	const ellipticSignature = privateKey.sign(input.data, {
		canonical: true,
	})

	// 'uint256FromBN' can throw, uff, hmm wanna change this...
	const r = uint256FromBN(ellipticSignature.r)
	const s = uint256FromBN(ellipticSignature.s)

	return {
		r: rOrError,
		s: s,
	}
}

export const PrivateKey = (scalar: UInt256): Signer => {
	return {
		sign: async (
			unsignedMessage: UnsignedMessage,
		): Promise<Signature> => {
                         // Making something sync -> async
			return Promise.resolve(
					signWithIndutnyElliptic({
						privateKey: scalar,
						data: unsignedMessage.hasher(unsignedMessage.unhashed),
					})
				)
			)
		},
	}
}

After, using neverthrow
Now we introduce neverthrow to propagate errors, using Result for sync and ResultAsync for async.

export type Signer = {
	/**
	 * Produces a cryptographic signature of the input.
	 *
	 * @param {UnsignedMessage} unsignedMessage - The unsigned message to be hashed and signed.
	 * @returns {Signature} An EC signature produces by this signer when signing the message.
	 */
	readonly sign: (
		unsignedMessage: UnsignedMessage,
	) => ResultAsync<Signature, Error>
}

const signWithIndutnyElliptic = (input: {
	readonly privateKey: UInt256
	readonly data: Buffer
}): Result<Signature, Error> => {
	const secp256k1 = new ec('secp256k1')

	const privateKey = secp256k1.keyFromPrivate(input.privateKey.toString(16))

	const ellipticSignature = privateKey.sign(input.data, {
		canonical: true,
	})

       // 'uint256FromBN' now returns `Result<UInt256, Error>` instead of `UInt256` and throws.
	return combine([
		uint256FromBN(ellipticSignature.r),
		uint256FromBN(ellipticSignature.s),
	]).map((resultList) => {
		return {
			r: resultList[0],
			s: resultList[1],
		}
	})
}

const resultToAsync = <T, E>(
	result: Result<T, E>,
): ResultAsync<T, E> => {
	return result.asyncAndThen((value) => {
		return okAsync(value)
	})
}

export const PrivateKey = (scalar: UInt256): Signer => {
	return {
		sign: (
			unsignedMessage: UnsignedMessage,
		): ResultAsync<Signature, Error> => {
			return resultToAsync(
				signWithIndutnyElliptic({
					privateKey: scalar,
					data: unsignedMessage.hasher(unsignedMessage.unhashed),
				}),
			)
		},
	}
}

Sorry I will give more info, and also please bear in mind that I'm not a JS/TS export, nor a fan of these languages, coming from the Swift world I'm quite spoiled with proper strong types and error handling, also native support for Result - so I might not use the most precise wording and/or have misunderstood things.
I'm working on a crypto project where the user can produce cryptographic signatures of some data, e.g. transfer to tokens she owns. "Owning" a token is an implicit thing, it means having the capability of signing a token transfer spending said tokens.  The signing schema used is Elliptic Curve Cryptography (ECC), where a PrivateKey is used to sign data (a transaction, e.g. a token transfer).
However, sometimes the user does not have direct access to the privateKey, in the scenario where she is using what is called a hardware wallet (like a special secure USB stick, storing the privateKey, e.g. a "Ledger Nano S" ), the privateKey never exposed to the user, rather this flow is async, a host machine sends a transaction to the hardware wallet, and the user then needs to physically accept the signing of this transaction with hardware buttons on the USB stick.
Therefore the singing is async for Hardware wallets, but can be sync for the case where a software wallet stores and has direct access to the privateKey.
However, to simplify development of this packages/library I'm building I want to work with the most... complex flow, the async flow, and nailing that makes the sync flow trivial. I do this by simply wrapping the sync singing flow in an async method, resulting in shared APIs between the two different flows.
So here comes TMI :)
Before use of neverthrow
export type Signer = {
	/**
	 * Produces a cryptographic signature of the input.
	 *
	 * @param {UnsignedMessage} unsignedMessage - The unsigned message to be hashed and signed.
	 * @returns {Signature} An EC signature produces by this signer when signing the message.
	 */
	readonly sign: (
		unsignedMessage: UnsignedMessage,
	) => Promise<Signature>
}

const signWithIndutnyElliptic = (input: {
	readonly privateKey: UInt256
	readonly data: Buffer
}): Signature => {
	const secp256k1 = new ec('secp256k1')

	const privateKey = secp256k1.keyFromPrivate(input.privateKey.toString(16))

	const ellipticSignature = privateKey.sign(input.data, {
		canonical: true,
	})

	// 'uint256FromBN' can throw, uff, hmm wanna change this...
	const r = uint256FromBN(ellipticSignature.r)
	const s = uint256FromBN(ellipticSignature.s)

	return {
		r: rOrError,
		s: s,
	}
}

export const PrivateKey = (scalar: UInt256): Signer => {
	return {
		sign: async (
			unsignedMessage: UnsignedMessage,
		): Promise<Signature> => {
                         // Making something sync -> async
			return Promise.resolve(
					signWithIndutnyElliptic({
						privateKey: scalar,
						data: unsignedMessage.hasher(unsignedMessage.unhashed),
					})
				)
			)
		},
	}
}

After, using neverthrow
Now we introduce neverthrow to propagate errors, using Result for sync and ResultAsync for async.

export type Signer = {
	/**
	 * Produces a cryptographic signature of the input.
	 *
	 * @param {UnsignedMessage} unsignedMessage - The unsigned message to be hashed and signed.
	 * @returns {Signature} An EC signature produces by this signer when signing the message.
	 */
	readonly sign: (
		unsignedMessage: UnsignedMessage,
	) => ResultAsync<Signature, Error>
}

const signWithIndutnyElliptic = (input: {
	readonly privateKey: UInt256
	readonly data: Buffer
}): Result<Signature, Error> => {
	const secp256k1 = new ec('secp256k1')

	const privateKey = secp256k1.keyFromPrivate(input.privateKey.toString(16))

	const ellipticSignature = privateKey.sign(input.data, {
		canonical: true,
	})

       // 'uint256FromBN' now returns `Result<UInt256, Error>` instead of `UInt256` and throws.
	return combine([
		uint256FromBN(ellipticSignature.r),
		uint256FromBN(ellipticSignature.s),
	]).map((resultList) => {
		return {
			r: resultList[0],
			s: resultList[1],
		}
	})
}

const resultToAsync = <T, E>(
	result: Result<T, E>,
): ResultAsync<T, E> => {
	return result.asyncAndThen((value) => {
		return okAsync(value)
	})
}

export const PrivateKey = (scalar: UInt256): Signer => {
	return {
		sign: (
			unsignedMessage: UnsignedMessage,
		): ResultAsync<Signature, Error> => {
			return resultToAsync(
				signWithIndutnyElliptic({
					privateKey: scalar,
					data: unsignedMessage.hasher(unsignedMessage.unhashed),
				}),
			)
		},
	}
}

@Sajjon what about using asyncMap?
const identity = <T>(val: T): T => val

export const resultToAsync = <T, E>(
	result: Result<T, E>,
): ResultAsync<T, E> => {
	return result.asyncMap(identity)
}

In fact, there's no need to have a resultToAsync function at all:
myResult
  .map(doSomeSyncCryptoStuff)
  .andThen(doSomeSyncStuffThatMayFail)
  .asyncMap((val) => val) // now it's a ResultAsync

Lastly, you could also use asyncAndThen on the result to simultaneously:

Do an async computation
Convert the Result into a ResultAsync.

@Sajjon what about using asyncMap?
const identity = <T>(val: T): T => val

export const resultToAsync = <T, E>(
	result: Result<T, E>,
): ResultAsync<T, E> => {
	return result.asyncMap(identity)
}

In fact, there's no need to have a resultToAsync function at all:
myResult
  .map(doSomeSyncCryptoStuff)
  .andThen(doSomeSyncStuffThatMayFail)
  .asyncMap((val) => val) // now it's a ResultAsync

Lastly, you could also use asyncAndThen on the result to simultaneously:

Do an async computation
Convert the Result into a ResultAsync.

I fail to see the point of Result => ResultAsync as all methods that accept a ResultAsync also accept a Result.

I fail to see the point of Result => ResultAsync as all methods that accept a ResultAsync also accept a Result.

I fail to see the point of Result => ResultAsync as all methods that accept a ResultAsync also accept a Result.

Not sure, just trying to find simple solutions for @Sajjon.
Going to close this issue.

I fail to see the point of Result => ResultAsync as all methods that accept a ResultAsync also accept a Result.

Not sure, just trying to find simple solutions for @Sajjon.
Going to close this issue.


Scroll event handler?

Having a scroll event handler could be useful for loading more items when reaching the bottom of the list.

Simply use onScroll on whatever element contains your list.

  <ReactList ... />

ReactList does not own the scrollable element.

You may also be interested in the getVisibleRange() function. For example...
handleScroll() {
  const [firstVisibleIndex, lastVisibleIndex = this.list.getVisibleRange();
  if (lastVisibleIndex >= theIndexIWantToLoadMoreAt) loadMore();
}

render() {
  return (

      <ReactList ref={c => this.list = c} ... />

  );
}

Thanks! I didn't realize that the scroll was on the parent and that I could listen to this event.
Thanks for your help!

No problem

Any chance this info could go into the docs? It took me awhile to find it here in the issues.
Thanks!

If you'd like to add it to the FAQ section feel free to open a PR.

I PR'd it: #150

Cool!

@all ,   Am using this.list.getVisibleRange() .. this is returning me undefined . ..any idea on this ?

const [firstVisibleIndex, lastVisibleIndex] = this.list.getVisibleRange();
// in console ---->    [undefined, undefined]

is it possible to access getVisibleRange() within an es6 functional component? All the examples show it available using the "this" keyword -> this.getVisibleRange(). How can I implement this method without defining in a class?


Missing section https://netdaemon.xyz/docs/started/installation#deploy-your-apps

The problem

This section of documentation is missing.
It would likely speed up making first steps with NetDaemon
Environment

NetDaemon release with the issue:
Last working NetDaemon release (if known):
Operating environment (Home assistant Add-on/Docker/Dev setup):
Link to integration documentation on our website:

Link to or paste code that causes the issue

Traceback/Error logs

Additional information

Thanks for reporting but not sure what section you are referring to?

deploy-your-apps it leads nowhere yet is present in document

Ahh ok got it, thanks @wojciechczyz

fixed


add support for dealing with ratelimiting

Some providers have rate limits, for example, embedding large documents easily throws Rate limit reached for default-text-embedding-ada-002 in organization xxxxxxxxxxxxx

Omo iya mi 😄
Is there a status code of 429 returned? We can add exponential backoff, or examine the rate-limit headers and retry after an appropriate time.

For the sake of others make we revert back to normal 😄
Yeah, you're probably going to need to make a change to the underlying http.Client that's used. You can inspect the headers in the response for a 429 status code and just do an exponential backoff.
I'd recommend using an http.RoundTripper like so and modifying the http.Client to use that as a transport:
client := http.Client{
		Transport: &transport,
}

Thanks @tobiade starting with https://github.com/tmc/langchaingo/pull/223  I was able to do something like this with this package https://github.com/graze/go-throttled
requestsPerMinute := 1
durationPerRequest := time.Minute / time.Duration(requestsPerMinute)

clientOpts := &http.Client{
	Transport: throttled.NewTransport(http.DefaultTransport, rate.NewLimiter(rate.Every(durationPerRequest), 1)),
}

client, err := openai.New(openai.WithHTTPClient(clientOpts))
if err != nil {
	return nil, fmt.Errorf("failed to create openai client: %w", err)
}

embedder, err = openAiEmbeddings.NewOpenAI(openAiEmbeddings.WithClient(*client))
if err != nil {
	return nil, fmt.Errorf("failed to create embedder: %w", err)
}

vectorStore, err = pinecone.New(
			ctx,
			pinecone.WithProjectName(config.Config("PINECONE_PROJECT_NAME")),
			pinecone.WithIndexName(config.Config("PINECONE_INDEX_NAME")),
			pinecone.WithEnvironment(config.Config("PINECONE_ENVIRONMENT")),
			pinecone.WithAPIKey(config.Config("PINECONE_API_KEY")),
			pinecone.WithEmbedder(embedder),
		)

// do something or add documents to vectorStore

@navicstein that's a good suggestion -- it'd be helpful to prepare that as a guide/doc.
I'm open to considering how we might want to expose rate limiting semantics. GenerationInfo is a generic bucket that can hold additional inference metadata which would be the current best place to attach rate limit information.


Added File to Folder

Good job, creating the txt file. I think you forgot to put a message in but great job!


Add a guard around the work function in timer callback.

Add a guard around the work function in timer callback so the timer can not be deleted while the event has been triggered.
Add a slight delay on timer destroy to allow thread cleanup and prevent the timer from being executed even though timer has been destroyed.


Really well done

Thanks for this. I think I'm finally beginning to understand the process.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 17d27a0d-c072-8c9f-7e31-3de60bee9ae8
Version Independent ID: e0c09794-e712-19ff-cb9f-12648d60d4f6
Content: Asynchronous programming in C#
Content Source: docs/csharp/programming-guide/concepts/async/index.md
Product: dotnet-csharp
Technology: csharp-async
GitHub Login: @BillWagner
Microsoft Alias: wiwagn

Thanks for letting us know @BobMolloy!


Avatao description update - shifting to AppSec and secure DevOps

Hi Joe,
Updated description for Avatao. We are shifting from pure hacking to secure coding and secure DevOps.

Thank you for letting us know. Unfortunately the link will become out of scope for the list. Thank you for educating the mass!


Real test failure on mono: file not found, probably incorrect casing

cc @matthid
I think this is a real failure:
https://travis-ci.org/fsprojects/Paket/jobs/268953433#L7168
1) Error : Paket.IntegrationTests.InstallSpecs.#1270 install net461
System.Exception : Paket failed with
-> DirectoryNotFoundException: Could not find a part of the path '/home/travis/build/fsprojects/Paket/integrationtests/scenarios/i001270-net461/temp/packages/alphafs'.
   StackTrace:

It can't find "alphafs", but the real package id is mixed case:

Yes we need to figure out how "nuget.exe" is saving it in the cache and then do the same. The depsfile of the test is:
source https://www.nuget.org/api/v2/
nuget Alphafs

Good catch, thanks

should be fixed

I don't think this is fixed.

See report in https://github.com/fsprojects/Paket/issues/2262#issuecomment-332559351

the other one is closed as well


Avoid empty hashes

Problem:
currently returned empty hash if model parser doesn't registered, swagger-ui doesn't check json object, for empty, and get a null, swagger-ui with swagger 2.0 spec doesn't support null's and not loaded.
Solution:
raise exception if parser for current model not registered or model parsing result contains empty hash, to specify this problem for developer

Seems a little weird to get an error inside the model's JSON output. Shouldn't it just fail and error out if developer action is required?

Seems a little weird to get an error inside the model's JSON output. Shouldn't it just fail and error out if developer action is required?

ok, im just add raise GrapeSwagger::Errors::SwaggerSpec, if something going wrong, ok?

@dblock done, added two exceptions UnregistredParser and SwaggerSpec, this should helps developers to specify a problem if something going wrong.
Also added mock parser to passing tests without external parser library.
Thanks again, and excuse me for the lack of points in the end of sentences.

Very good. See comments. English is also my third language so no stress, you're doing great ;)

@dblock i'l merge this, ok?

Merged, looks good.

The extraction of the parser and introducing the GrapeSwagger::Errors::UnregisteredParser breaks usage for every user. Don't you think this should have been at least a minor version increase not only a patch from 0.20.3 to 0.20.4? To be honest, currently everything seems to break for me with every minor version. You are moving really really fast here.

Inside the https://github.com/ruby-grape/grape-swagger/blob/master/UPGRADING.md it is also refered to as a chang for 0.21.0

By the way to get me right, I don't think this is a good change for 0.20.3 -> 0.20.4. But it should instead be 0.21.0 as it breaks usage for customers!

Yes this is breaking changes.
@dblock should we yank this release and publish this changes as 0.21.0?

If you think it breaks everyone, yank it.

@Bugagazavr yeap, think it would be good to yank the release, not only of breaking changes, also the support for grape > 0.16.x was announced for 0.21.0 release, but before I want to fix most bugs, to have a (relatively) stable version, which works for most cases 😉
think, we should have a better coordination 😄

Agreed, sorry for this, I yank 0.20.4 soon as possible
Sent from my iPhone

On 17 May 2016, at 20:44, peter scholz<EMAIL_ADDRESS>wrote:
@Bugagazavr yeap, think it would be good to yank the release, not only of breaking changes, also the support for grape > 0.16.x was announced for 0.21.0 release, but before I want to fix most bugs, to have a (relatively) stable version, which works for most cases 😉
think, we should have a better coordination 😄
—
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub

no problem,
but I think we should really have a better communication for coordination,
and maybe defining a roadmap, or similar ...
what did you think?
best
my private mail is<EMAIL_ADDRESS>Peter Scholz
Developer, SageOne
Sage
Office +49 (0)341 48440 3557
Twitterhttps://twitter.com/sagegroupplc | YouTubehttps://www.youtube.com/user/SageGroupPlc | LinkedInhttps://www.linkedin.com/company/sage-software

Von: Bugagazavr<EMAIL_ADDRESS>Gesendet: Dienstag, 17. Mai 2016 19:50:48
An: ruby-grape/grape-swagger
Cc: Scholz, Peter; Comment
Betreff: Re: [ruby-grape/grape-swagger] Avoid empty hashes (#420)
Agreed, sorry for this, I yank 0.20.4 soon as possible
Sent from my iPhone

On 17 May 2016, at 20:44, peter scholz<EMAIL_ADDRESS>wrote:
@Bugagazavr yeap, think it would be good to yank the release, not only of breaking changes, also the support for grape > 0.16.x was announced for 0.21.0 release, but before I want to fix most bugs, to have a (relatively) stable version, which works for most cases ?
think, we should have a better coordination ?

You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub

You are receiving this because you commented.
Reply to this email directly or view it on GitHubhttps://github.com/ruby-grape/grape-swagger/pull/420#issuecomment-219798904
Sage Software GmbH, Emil-von-Behring-Strasse 8-14, 60439 Frankfurt am Main Sitz: Frankfurt am Main, Handelsregister Frankfurt am Main HRB 55497, Geschaeftsfuehrer: Michael Robinson, Dr. Thomas Scholtis
-----------------Disclaimer-----------------
Die in dieser E-Mail und den dazu gehoerigen Anhaengen (die Nachricht) enthaltenen Informationen sind nur fuer den Adressaten bestimmt und koennen vertrauliche und/oder rechtlich geschuetzte Informationen enthalten.
-----------------Disclaimer-----------------
The information contained in this e-mail and any attachments (the message) is intended for the addressee only and may contain confidential and/or privileged information. If you have received the message by mistake please delete it and notify the sender and do not copy or distribute it or disclose its contents to anyone. Except in case of gross negligence or wilful misconduct we accept no liability for any loss or damage caused by software or e-mail viruses.

@LeFnord @Bugagazavr Feel free to improve the organizational aspects of this project in whichever way you see fit. However remember that the only thing we ask from contributors is their best effort, aka we ask nothing. Roadmaps tend to become commitments - I suggest replacing them with communicating intent via issues, READMEs and such instead.

@dblock this is meant with … the main goal should be that we go into the same direction 😉


Yatin: Watch bprnusa.com

Yatin requests the watch of the watch_keyword bprnusa\.com. See the MS search here and the Stack Exchange search in text, in URLs, and in code.

bprnusa\.com has been seen in 0 true positives, 0 false positives, and 0 NAAs.

Approved by cigien in Charcoal HQ


Cosmos: fix checkstyle

The ConnectorOffer is put back in enum.

@weidongxu-microsoft Yes, it is back in compile fix commit.

cosmos was suppressed by https://github.com/azure/azure-sdk-for-java/blob/7b0fcde/eng/code-quality-reports/src/main/resources/checkstyle/checkstyle-suppressions.xml#L390

remove suppress in https://github.com/Azure/azure-sdk-for-java/pull/9955


Award Configurations - PT CSGP

User Story
As a student I can only receive a maximum amount of CSGP across all applications in a Program Year.
Current Behaviour
In federalAwardNetCSGPAmount it checks if there is assessed need and if student is eligible for CSGP and then it awards them the maximum program year limit for CSGP (dmnPartTimeAwardAllowableLimits.limitAwardCSGPAmount).
if ((awardEligibilityCSGP = true)      and (calculatedDataTotalAssessedNeed >= 1))  then dmnPartTimeAwardAllowableLimits.limitAwardCSGPAmount  else 0
Expected Behaviour
In federalAwardNetCSGPAmount it checks if there is assessed need and if student is eligible for CSGP and then subtracts any CSGP awarded in the same PY from the PY maximum.
if ((awardEligibilityCSGP = true)
    and (calculatedDataTotalAssessedNeed >= 1))
then dmnPartTimeAwardAllowableLimits.limitAwardCSGPAmount - "previously awarded CSGP in the same PY"
else 0

Acceptance Criteria

[ ] Update federalAwardNetCSGPAmount to include the new variable and calculation
[ ] Previously awarded CSGP in the same program year should use values from FT and PT awards.
[ ] Conduct E2E

Updated to confirm CSGP considers all program year award amounts across PT and FT.


Stalker: Shadow Of Chernobyl Crash+Cannot open remix menu

Describe the bug

A clear and concise description of what the bug is.
Crash While Loading textures.. doesnt load  the map+ cannot open rtx remix menu

Which Remix version (include branch and commit info for dxvk and bridge if not a stable build)
Remix 0.1.1

Which GPU
RTX 3080

Which GPU driver version
531.61

Which game build (and whether it is from Steam/GOG/Other)
Steam

Attach logs!
d3d9.log
XR_3DA_d3d9.log
NvRemixBridge.log
To Reproduce
1-use this commandline in a bat file
-r4xx -nointro -nodistrort -noprefetch -noshadows -no_occq
2-launch the game
3-crash
Expected behavior
The Game should load..+ the menu should open

Happens with me too
XRay engine crash log:
[error]Expression    : An undetermined error occurred
[error]Function      : TW_LoadTextureFromTexture
[error]File          : E:\stalker\sources\trunk\xr_3da\xrRender\Texture.cpp
[error]Line          : 148
[error]Description   : D3DXLoadSurfaceFromSurface(S_dst,NULL,NULL,S_src,NULL,NULL,D3DX_FILTER_NONE,0)

d3d9.log
XR_3DA_d3d9.log
NvRemixBridge.log
Remix: 0.1.1
GPU: RTX 3050
Driver: 531.41
Game build: disk version / 1.0006 patch
Reproduce:

Set game to "static lighting" and "windowed mode" (to allow the Remix's hookup to work. Other combinations doesn't work)
Start new game / load save

I tried these options to get remix menu to work.. no luck
bridge.conf

client.DirectInput.forwardMessages = False

client.DirectInput.disableExclusiveInput = True

rtx.conf

rtx.showUICursor = True

rtx.blockInputToGameInUI = True```

Opening the menu fixed
Add the commandline -i and mt_cdb

The crash can be avoided by turning off alpha blending
And visuals appear with vertex capture
https://user-images.githubusercontent.com/51729858/232626103-2118754f-a399-46ee-8cb9-a29e8a725dc3.mp4
Warning flashing lights

Hello! Will you please test this on the latest release and let us know if the issue persists? Thank you!


[ACR] Add yml as a reserved task file type

Add yml as a reserved task file type, which is often used on Windows.
/cc @djyou @northtyphoon @ankurkhemani

This checklist is used to make sure that common guidelines for a pull request are followed.

[x] The PR has modified HISTORY.rst describing any customer-facing, functional changes. Note that this does not include changes only to help content. (see Modifying change log).

[x] I adhere to the Command Guidelines.

@troydai @tjprescott could we merge this today if possible, it was left out as a part of https://github.com/Azure/azure-cli/pull/7255 for Ignite.

The cut off date was yesterday.

Oh ok, np then. NBD.

The dev branch is open for the next release. I will merge this PR shortly.


Allow configuring max connection lifetime for tcp filter

As far as I understand it, the tcp filter will keep a connection open until the client/server closes the connection. This means that when a new host is added to a cluster, it won't see any traffic until net new connections come in or the older connections are dropped and reestablished. The result of this is a significant traffic imbalance and a long "warm up period" for new nodes.
We've solved this elsewhere by making the proxy/client drop the connection after some specified time. Would it make sense to add something like this to envoy? Or is there perhaps some option that I've missed?

turns out i was misunderstanding our current setup, i dont think we want this


Convert Between Seed and Hexadecimal?

Hi, is there a way to convert from a seed to a hexadecimal and back with this library?
Thanks.

Hello! I'm not sure I understood your request properly. Do you mean the form of seed which can be received from /wallet/seed method of the REST API?

I'm not able to find the /wallet/seed REST API you are referring to.  Can you point me to it?
All I could find was this: https://github.com/wavesplatform/Waves/wiki/Waves-Node-REST-API#utils
I need to convert the mnemonic seed phrase to a hexadecimal string and then back to the original mnemonic seed phrase again.  A hash of the seed will not work because it cannot be converted back into the original seed phrase.
I was able to convert the mnemonic phrase to a hexadecimal and back again using these methods:

getHexFromWords()
getWordsFromHex()

I am wondering if the Waves platform has its own way of converting seed phrases to and from hexadecimal.
For context, I am trying to support Waves on my offline wallet generator.  I have a branch where the Waves is successfully supported.
I appreciate your help.

That method returns a hash of the seed, here it is: https://testnet1.wavesnodes.com/api-docs/index.html#!/wallet/seed. But I got that's not what you seek.
The hexadecimal conversion is not supported though you could use Base58:
const Waves = WavesAPI.create(WavesAPI.MAINNET_CONFIG);
Waves.tools.base58.encode(wordString);
Waves.tools.base58.decode(base58String);

May that be of any use?

If I understand correctly, that will create a base58 representation from the utf8 characters of the mnemonic phrase.  I believe instead the hexadecimal should be based on the coordinates of the seed words in the word list so it's always exactly the same size.  The implementation I'm using currently does that so I think that will suffice.
Every other blockchain token I've encountered has provided the ability to convert private keys / seeds to and from hexadecimal.  The advantage of hexadecimal is its a condense input for password encryption and splitting using Shamir's Secret Sharing, so I'd recommend providing such utility functions.
I think for now I can proceed to release the tool with this implementation.  Thanks for your help.

Okay, thanks for the suggestion! I hope to find the time to implement that in the near future.


Use Poseidon2 instead of Poseidon as underlying hash in example

The example that proves Keccak hashes using the Goldilocks field and Poseidon hash is very slow because Poseidon has not been vectorised for Goldilocks (in fact its non-vectorised implementation is faster than the vectorised version). We want to encourage the use of Poseidon2 over Poseidon in general, and in particular we don't intend to vectorise Poseidon over Goldilocks any time soon (and maybe never). Hence this PR replaces Poseidon with Poseidon2 in this Goldilocks Keccak-AIR example. On my machine, with vectorisation and parallelisation enabled, proving time drops from 13.5s to 5.9s.

LGTM
Just for my own interest, I timed prove_goldilocks_poseidon2 over the 4 possible compilation choices:

No AVX2, No Parallelization: 35s
AVX2, No Parallelization: 29s
No AVX2, Parallelization: 5.2s
AVX2, Parallelization: 4.9s

The good news is that the AVX2 is no longer slower. Somewhat annoyingly it's also not much faster though it's at least slightly faster. At any rate, this is good enough for now but it might be worth making an issue at some point (after vectorization of Poseidon2 has merged) just in case an external contributor wants to port some of the Monty31/Mersenne31 improvements over to Goldilocks.


❓ [Question]: how can i use a custom endpoint for the openai api ?

Your Question
...

Add the following line inside the function gpt3Turbo_completion in gpt_utils.py: openai.api_base = "custom endpoint"
Here's the updated code:
def gpt3Turbo_completion():
    openai.api_key = ApiKeyManager.get_api_key("OPENAI")
    openai.api_base = "custom endpoint"
    max_retry = 5
    retry = 0

Please note that you need to replace "custom endpoint" with the actual custom endpoint URL you want to use.


Error code on failed SSL certificate

Describe the bug
Send error code for failed cert.

@athandle @cpswan - This ticket was created during swarm migration and the issue was due to the wrong Domain name in ENV. So we can close this.


same-line-print-statement

What does this PR do?
For issue number #288
Prints a line in the same line instead of a newLine using "bol bhai abhi"
What packages have been affected by this PR?
interpreterModule, index, constants, package.json
Types of changes
What types of changes does your code introduce to this project?
Put an x in the boxes that apply

[ ] Bugfix (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)

Package version increase in cli package?
Checklist before merging
Put an x in the boxes that apply

[x] These changes have been thoroughly tested.

[ ] Changes need to be immediately published on npm.

@aniketsingh0104 @ristri @shubh0107 @vipul0092
Hi devs! Great job on the repository, I have added a requested feature to the pull request, a review is required from one of you guys.
Thank you!


Turn off transition?

We don't want to left to right transition for certain screen transitions. Is it possible?
Thanks!

Not yet, but we are working on it -> #175


Add Personal View

Overview:
https://github.com/iFixit/pulldasher/assets/95656772/00812794-b03f-4f95-9a6b-2be23c513277
This adds a button that will allow for filtering pulls that you have authored, wrote a signature on, or deploy/dev blocked

Additional functionality can easily be added with this

QA: Testing Documentation

Closes #383

dev_block 🟨

@aburke07 Sorry about that, I dropped the unused import in https://github.com/iFixit/pulldasher/pull/391/commits/2c8f4fea64cfeda71e1c2a5339e6bec0d22aac16 since I replaced that usage with a Box and Text

Selecting the "Show Personal View" and pulldasher showed everything I have authored, wrote a signature on, or deploy/dev blocked.
All the components work with the the Personal View option selected and unselected.
"Show Personal View" also filters the "Recently Closed Pulls"
Pulldasher continues to update in real time

QA 🦕  - This works great! Opens up the opportunity for so much new functionality.

Fantastic @jordycosta !!!


[desktop] should not generate -Dskiko.library.path=$APPDIR' when use disableDefaultConfiguration

if I use a fat jar or spring boot jar as main jar, the skiko library will be at classpath, so there is no need to add these java options at runtime
--java-options
"'-Dskiko.library.path=$APPDIR'"

Please check the following ticket on YouTrack for follow-ups to this issue. GitHub issues will be closed in the coming weeks.


Special HTML Characters Encoding

Currently none of the <CDATA inside the html tags is encoding which could cause rendering problems if someone put html inside of the spekaer notes

added HttpUtility.HtmlEncode to InnerHtmlBuilder


Use correct method call (AddActors) for registering Actors.

Description
Use the correct method call of "AddActors()" when registering Actors.
Issue reference
We strive to have all PR being opened based on an issue, where the problem or feature have been discussed prior to implementation.
Please reference the issue this PR will close: https://github.com/dapr/docs/issues/1465
Checklist
Please make sure you've completed the relevant tasks for this PR, out of the following list:

[] Code compiles correctly
[] Created/updated tests
[x] Extended the documentation

@greenie-msft - thanks for the fix!


Docs: Add that tests of old formats didn't handle 'none of the above' or 'maybe'

Old formats no longer supported.


Test with jepsen

Does influxdb have the equivalent of jepsen to check it's use of the raft go implementation?

Wouldn't be much easier to simply have Jepsen tests for InfluxDB?

yes

This is a great idea, but doesn't need to be an issue on this repo.


Update tests to permit running with operators installed via OperatorHub

Signed-off-by: Kevin Earls<EMAIL_ADDRESS>This updates the tests to not install the kafka or es-operators so we can test using operators installed via OperatorHub.
It also fixes a bug with the use of ES_OPERATOR_NAMESPACE in the Makefile.

@objectiser @pavolloffay @jpkrohling Please review

@objectiser if this looks ok can you merge it?


Precomputation of conditions and latents

Actually I think I have an idea which I would like to consider before this is merged. I am on the move currently but get the comments in by today before evening.

Sounds good, LMK when you're free!

any kind of precomputation is treated as "data processing" and is separated from trainer classes.

I respectfully disagree. I may not have the experience you have, but as far as our initial goals were aimed towards, we wanted to make video model training more accessible, not target large-scale training. Adding extra steps and more things that users need to follow instructions for it to work a big no-go IMO. Yes, we can eventually try and be more ambitious but for now, we should focus on streamlining things as much as possible and supporting all things lora (normal lora, control lora, turbo distillation loras, etc.)
From some feedback I gathered, people who currently use this project want two things:

Create a videos.txt and prompts.txt file
Click some fancy switches and knobs to tweak hyperparameters with, and press a button to start finetuning with.

Ofcourse, this is not a UI, so the button part is not to be considered, and is a battle for someone else ot fight. But opt-in precomputation like we do here from just two text files looks ideal to me (for now). We can reconsider in future as you mention.
Me and you know about things and can work our way through all this, but I want you to think in the way of a general user with no programming knowledge, who is just experimenting from a creator background, has read some tutorials online and just wants to use the sensible defaults, that they will find all of this to be non-sense. Just from the history of diffusion inference in the past two years, I believe there's a lot of lessons to be learnt on what got most popular among users who actually use these kinds of tools daily.
Large scale training is quite a ways away from what we have. Basic data parallelism like we have will never scale IMO, so first, that is what we should tackle before designing anything else if that's what we want to prioritize.

Functional APIs for each of the pipelines that performs that necessary precomputions.

Awesome, so this is where we are at currently. We just need to "API"-fy it a bit more so that custom methods/callbacks can be passed in

This will allow us to have a greater degree of flexibility in how we configure and utilize accelerators based on the compute patterns of the precomputation stage, which can be different from training.

Utilizing accelerators based on compute patterns of precomputation stage affect training...? I don't quite follow what you mean. Maybe we can hop in DM and I can try to understand?

I also don't like train.py as the main entrypoint to train models given each trainer would be separate in classes and will implement their own atomic modules. Refer to https://huggingface.co/docs/trl/example_overview as an example. For now, train.py is fine, though. In short, each trainer implements an example on its own to keep things very clear and friendly to refer to. Example: https://github.com/huggingface/trl/blob/main/trl/scripts/dpo.py.

I would like to distinguish between two things here:

Algorithm-specific training (LoRA vs Full finetuning vs Control LoRA vs ControlNet vs Distillation vs etc.)
Model-specific training (LTXV vs Hunyuan vs Cog vs etc.)

TRL implements what I would call "algorithm-specific" training. It works with different models because many things are common and transformers provides some great abstractions, but also because it is mostly just a single model and not many moving components. The same does not apply to diffusion models, as we have discussed time and again how many moving components are involved, and we will most definitely require model-specific implementations because different models process things differently.
But OTOH, most underlying training algorithms are independent of the modeling architecture itself. For example, with a decent abstraction like what we have now, lora training works for both LTX and Hunyuan without any lora stuff interleaving with the single file implementations we have regarding model loading, condition and latent computation, etc. I believe, similar would be the case for full finetuning, distillation, and pretty much everything else (we can break away into better abstraction when we get to it, but let's not prematurely design it with that in mind because it will only slow us down).
I would prefer doing the following:

Do thing X
If it works without modifying current implementation too much or not at all, good. Proceed with it
If it requires substantial modifications, perform the refactor.

These are my thoughts on how we should proceed to maximize our speed of integrating new models and techniques that we want to support. Premature refactoring might bring us abstractions that look good now, but will slow us down and cause further required refactoring in future.
LMK what you think so we can proceed accordingly.
I will address your concerns shortly and push the relevant changes. Thanks for the reviews!

Utilizing accelerators based on compute patterns of precomputation stage affect training...? I don't quite follow what you mean. Maybe we can hop in DM and I can try to understand?

I didn't say "affect". I am saying it gives us a chance to better utilize accelerators in the way we want to. Accelerator distribution for precomputation isn't always necessarily the same as training. Below is an example:

Use first the GPU for text embeddings.
The rest of the two for latent computation.

(both happening in parallel)
This (the way accelerators are being utilized) is not what we do during training.
But okay to not proceed in the direction I mentioned. But I won't absolutely prefer having a single Trainer class if that is what you absolutely want. For every model, I do envision a separate Trainer class because maintenance-wise, it's better and easier to maintain. And if we cannot agree on this design, then this needs further discussion.

But okay to not proceed in the direction I mentioned. But I won't absolutely prefer having a single Trainer class if that is what you absolutely want

What is okay with me is:

Separate class per algorithm. So one for lora, one for full finetuning, one for task X, one for task Y, etc.

What is not okay with me:

One for LTX LoRA, one for LTX Full finetuning, one for Mochi Control LoRA, one for Mochi normal LoRA, etc. This will be a mess

Preparing conditions and latents is a simple enough thing IME that won't require an implementation for each kind of algorithm and can generally be re-used.
I would also not be okay if each trainer class had to implement their own N different "algorithm" implementations. Basically, I don't want LTXTrainer to have its own implementation for all the different mentioned tasks unless absolutely necessary. Doing so will only create bugs and make it harder to maintain. If it were rather called something like LTXTrainingPipeline which implemented all the necessary helper methods, it would be better for me - these should have absolutely no training related things intermixed with it and should be completely decoupled. The one thing that would be okay to not decouple from training would be loss computation, because we know there are two broad categories of models that exist today from diffusion perspective.
What would be more likeable to me is LoRATrainer, FullTrainer, GuidanceDistillationTrainer, etc. All the other underlying parts from model-specific perspective can be re-used across this IMO.

So, this means you're not okay with the direction taken in https://github.com/a-r-r-o-w/finetrainers/pull/130, right?

Very minimal differences between LoRATrainer and `FullTrainer, though. So, I don't see the point.

Okay, I feel like despite my efforts, it is extremely hard to communicate my point across. Please make an effort to not pick two of the simplest examples and extrapolate it to the entirety of the message. Do we not agree that LoRA is a different training technique than full finetuning? I am trying to discuss about training algorithms, not how similar/dissimilar they are.
My point is, we should have trainers specific to algorithms. Not models. It should be model-independant as long as the model provides all the helpful utility functions required for training. Let's not tie in the two together - this inevitably leads to bugs and I've seen my fair share with the diffusers scripts that do it model-specifically. It is hard to use and unstable, but it serves its purpose in that it allows for hacking and exploration.
Here are the directions I'm not okay with in #130:

Dataset preparation tied into every trainer. I don't understand why this would be required. Every model takes in the same format of data for a given task. Happy to understand from an example that shows otherwise
Trainable parameter preparation tied into every trainer. This should be done at one level higher up the abstraction chain depending on the task being trained irrespective of the model used unless absolutely required.
Loss calculation. There are only two kinds of losses with diffusion models in regards to lora training, which is all we support for now. DDPM and Flow matching. Anything else should be an augmentation loss, which we could be used in any other model. These should be enabled by training flags. However, we are not at the stage where we could consider things like this (for example, motion regularization or latent perceptual loss), so it is okay for now. Unless a paper specifically introduces a loss for a model, and that loss is not compatible with other models, we should use the normal base losses.

To reiterate, the models should not tie in with the actual training algorithm in any way. In all trainers I've looked at, those that do this have very complicated code (but partially also because they build atop the LDM codebase). SimpleTuner is a good example that does not tie in the loss to the model itself, and to me is the most successful training project built on Diffusers because it "just works" OOTB and you don't have to think much to get it to work. I would take inspiration from there and follow some design patterns, but improve wherever possible and customize to our broader set of goals.

It's okay to have disagreements and I can see some of your points. So, I will roll with this direction. Making changes later isn't a big deal.
The reason why I wanted to separate dataset prep was because not all models have the same components we need during precomputation (different text encoders, different masking, etc.). So, unifying that under a single method becomes very messy.
And then for caption dropout, different models do it differently as mentioned the other day. It's easy to miss this detail but it plays a crucial role, sometimes.
For loss, Mochi does it differently than the other flow models we have.

The reason why I wanted to separate dataset prep was because not all models have the same components we need during precomputation (different text encoders, different masking, etc.). So, unifying that under a single method becomes very messy.

This, I agree with. What I want is for the utility functions to be part of the model-specific implementations. Not the loading and dataloader creation itself. That should be a separate decoupled component in itself. We leverage the utility functions with conditional in the trainer (just throwing out ideas):
text_conditions = self.model_trainer_pipeline.prepare_conditions(...)
# prepare conditions will get a one or more prompts based on some configured batch
# size, and prepare everything that it requires using multiple text encoders if needed.
# For example, I already do this without much complications for Hunyuan which uses
# 2 text encoders

And then for caption dropout, different models do it differently as mentioned the other day. It's easy to miss this detail but it plays a crucial role, sometimes.

Again, this is a trainer-specific detail and should not be tied into the model utilities itself. The trainer will invoke preparation methods. If it's an "empty"-ing dropout, null prompt will be passed to the preparation method. If it's a "tensor zero"-ing dropout, it can be done post-preparation. We already do this. This should be configurable via CLI args to enable exploration of what works, not hardcode it for certain models. We can provide sensible guidelines on what to do per-model.

For loss, Mochi does it differently than the other flow models we have.

It's one case among the thousands of flow-matching models. It's not a different flow matching algorithm as such. It's just a mistake that occurred in the original codebase, as I like to believe. Instead of the usual (timestep 1000 = noise) and (timestep = clean), they have a model trained with an inverse objective.

TL;DR -- let's get this PR merged. I will work on Cog next as explained over DM.

Thank you. I realize I might have spoken a bit in spirit and strongly about the way I expect moving forward. I think it is good to have these discussions in early stages before realizing it later. Working my way through the reviews and will push shortly

Again, this is a trainer-specific detail and should not be tied into the model utilities itself. The trainer will invoke preparation methods. If it's an "empty"-ing dropout, null prompt will be passed to the preparation method. If it's a "tensor zero"-ing dropout, it can be done post-preparation. We already do this. This should be configurable via CLI args to enable exploration of what works, not hardcode it for certain models. We can provide sensible guidelines on what to do per-model.

Just so you know it's can be model-specific :D If a model was pre-trained using a particular caption-dropping method it will have to be accounted for. So, we can't eliminate possibility and it's something a user should be mindful about. By default, we shouldn't do any caption dropping out hence. I guess, that is fair?

Just so you know it's can be model-specific :D If a model was pre-trained using a particular caption-dropping method it will have to be accounted for. So, we can't eliminate possibility and it's something a user should be mindful about. By default, we shouldn't do any caption dropping out hence. I guess, that is fair?

Very rarely it's the case that an empty/null prompt is not used. Maybe some of the recent ones, and for these cases, when the trainer object is initialized, I would like a warning be raised than disabling the possibility of doing anything else altogether.
# Somewhere in the model utility code
if model_name == "mochi" and args.caption_dropout_technique == "empty":
    logger.warning("You did bad thing. Maybe don't do it.")

Just like I said above, let's get to it when we get to it instead of thinking about all this. It only slows us down having pointless debates. None of the models currently require us to diverge from the sensible defaults

Okay. I was trying to be thorough about the issues that can silently stem in training but it seems like we don't have to be worried about them that much for now. Let's not call that a pointless debate.

I believe I've addressed all reviews. Proceeding with merge. Follow-ups:

BnB optimizers (@sayakpaul)
TorchAO CPUOffloadOptimizer (@sayakpaul)
Investigate why batch_size causes an error #132 (@a-r-r-o-w)
CogVideoX T2V and I2V LoRA (@sayakpaul)
Mochi LoRA (@a-r-r-o-w)
FP8 layerwise upcasting training (@a-r-r-o-w)
TorchAO quantization config training from diffusers (@a-r-r-o-w)
LTX Full finetune (almost already ready and just needs long experimentation run) (@a-r-r-o-w)

Works for me, thanks for chalking that out. I can also support training with bnb-quantized checkpoints similar to https://github.com/huggingface/diffusers/tree/main/examples/research_projects/flux_lora_quantization (something that has worked like wonders in the LLM world and also for Flux) ;)

Will add:

[ ] DeepSpeed support
[ ] Separating trainer classes w.r.t. algorithms


Why the morphing is so ugly?

Why the morphing/tweening is so ugly?
For a better morphing algorithm you should check this article:
http://tympanus.net/Development/AnimatedSVGIcons/
It uses Snap.svg with the following code:
myIconName : {
    url : 'svgs/myIconName.svg',
    animation : [
        {
            el : 'path:nth-child(5)',
            animProperties : {
                from : { val : '{"path" : "m 61.693118,24.434001 -59.386236,0 29.692524,19.897984 z"}', animAfter : '{"stroke" : "#000"}' },
                to : { val : '{"path" : "m 61.693118,24.434001 -59.386236,0 29.692524,-19.7269617 z"}', animAfter : '{"stroke" : "#444"}' }
                }
        },
        {
            el : 'rect:nth-child(3)',
            animProperties : {
                from : { val : '{"transform" : "t0 0"}', after : '{ "opacity" : 0 }' },
                to : { val : '{"transform" : "t-10 -10"}', before : '{ "opacity" : 1 }' }
            }
        }
]
}

The "path" element that you see in the above code is just the content of the svg file, as explained in the text of the article:
http://tympanus.net/codrops/2013/11/05/animated-svg-icons-with-snap-svg/
Why does your library seem to interpolate the shapes incorrectly?

This is still an issue. During the morphing the vertices should not intersect with the segments when moving to a new position.

@uddipan Is this triangulation algorithm the right one?
https://github.com/mattdesl/svg-mesh-3d
Watch the demo here: http://mattdesl.github.io/svg-mesh-3d/
Morphing is going to be BIG very soon. Greensock has in beta a morphing plugin, but I don't think the algorithm is capable to avoid self-intersections of the shapes yet. @alexk111 : You should take the lead with SVG-Morpheus!

@Emasoft or @uddipan if you still care about the SVG morph, please join me with my KUTE.js project, I have something functional that's trying to do what we were expecting SVG Morpheus here to do.
So far I managed to tween a triangle to a square path, without preparing/optimizing the paths for that, it's trying to do what it can. But for more complex shapes I will need some help understanding the basic concept; as far as I understand, I imagine I would have those points follow a "natural" pattern, perhaps you two can jump in with some suggestions.

looks correct. How is this different from shape tweening used in Adobe Flash ?

SVGMorpheus just as Snap SVG / Raphael works great if your paths are handmade prepared for tween animation.
However there is only one script to do that, and that is GSAP morphSVG plugin, it can even shift the bezier to your heart's desire with it's shapeIndex feature.
I also managed to get the cross-path processing to the point where animation happens without any error, but I haven't found yet a way to eliminate the ugly factor.

Check out a better way to morph SVG.


Add API 30 and use "google_apis"

I don't think this helps... Both API 29 and 30 seem very unstable when it comes to the emulator or adb or something...


Cleanup deprecated + better error handling

This PR removes a bit more of the deprecated features.
With that, we have introduced an initial implementation for providers
This also allows us to handle some errors and better react to failures,
cleaning up if it happens (i.e. if not possible to create a new repl, close the window
that was created to hold that repl)

This seems to be correct. Merging this to allow for providers.


Android Basics: Fragments Navigation component

URL of codelab
https://developer.android.com/codelabs/basic-android-kotlin-training-fragments-navigation-component?continue=https%3A%2F%2Fdeveloper.android.com%2Fcourses%2Fpathways%2Fandroid-basics-kotlin-unit-3-pathway-2%23codelab-https%3A%2F%2Fdeveloper.android.com%2Fcodelabs%2Fbasic-android-kotlin-training-fragments-navigation-component#3
In which task and step of the codelab can this issue be found?
4. Create Fragment and layout Files
Describe the problem
Step 3 says...
Copy the contents of activity_main.xml into fragment_letter_list.xml and the contents of activity_detail.xml into fragment_word_list.xml. Update tools:context in fragment_letter_list.xml to .LetterListFragment and tools:context in fragment_word_list.xml to .WordListFragment.
However, the final code example incorrectly shows tool:context=".WordListFragment" for fragment_letter_list.xml as well as fragment_word_list.xml

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".WordListFragment">
Steps to reproduce?

Go to...
Click on...
See error...

Versions
Android Studio version:
API version of the emulator:
Additional information
Include screenshots if they would be useful in clarifying the problem.

@TheKemistLabs
Thank you so much for reporting this issue. This is fixed and will be published soon.


Usage with nvm

Perhaps this is an issue that applies more to nvm or Alfred itself, but is there a recommended workaround for when node is not present at /usr/local/bin/node, but a path managed by NVM?
Here's the error thrown.

I could symlink it manually but it would be defunct when I switch node versions...

I'm using nvm as well and it works. You should report an issue in the alfy repository instead. A similar issue was reported here.


Configuring Aurelia

The Aurelia team has been doing a lot of work to make our d.ts support follow official recommendations. As such, we have a typings field in our package.json file for each library which points to the correct d.ts file. This works fine for users of our cli and webpack, however it doesn't work for jspm users. We know Microsoft has a new solution, but it doesn't seem to be ready so we'd like to support the typings tool for jspm users. We can place typings.json files into our repos, no problem. We've done this with one repo as a test: aurelia-pal. However, when we try to install that using typings, we always get the old version, not our currently released version from npm. I had a look at your registry and it seems that someone has created entries for this already. I'm wondering if that is causing the problem. If we added typings.json files to all our libraries and then removed your registry entries, would typings always grab the latest release from npm? Would that fix our issue?

Hi Rob!
I created those typings before Aurelia update the typings to top module declarations. Yes they can be removed.
However it will not solve the jspm problem. I need to implement the jspm: for it. For npm, today you can do typings install npm:aurelia-pal to get the additional typings specified in typings.json after user npm install Aurelia-pal

Ok, given that some users will use jspm and won't want to npm install the same things, what is our best path? Currently we are thinking of just using github:aurelia-pal to always get the master. We can't really handle the overhead of updating the typings registry with every release. We might have 100 releases in a week...so it's not doable. Does that make sense?

Yes. For the time being, github:aurelia/pal (note that it is <org>/<repo>, not npm package name) would work.
In the long run, for the consumer, jspm:aurelia-pal would be a better option because it will be "tied" to the installed version. What you need to do is to run rm -rf typings && typings install (or typings update when that is available).

the overhead of updating the typings registry with every release

Do you mean updating the typings.json? I don't think you need to do that.

By the way, I really love how aurelia does things. I'm not using aurelia as a whole, but I'm using the DI and it has been great. 👍

Awesome to hear about you using the DI!
With respect to updates, I was referring to having to update your registry. If we cna just use the github registry, that will work fine.


Problems receiving live stream

Hello,
I'm having problems when connecting to a live stream I'm publishing on live app.
The log: http://paste.ubuntu.com/1051170/
I have an ffmpeg instance which gets the stream and pushes it elsewhere and then I have a flashplayer which connects to the app to watch the live stream.
Well, after some time if I try to reconnect I get no video at all and those errors.
Any idea? Thanks :)

ffmpeg running in terminal (using nginx as rtmp server),
But it is not running in nginx exec ffmpeg command.
--- Actually i am a beginner, Please help me how can execute ffmpeg within the nginx server (tried config provided in README).


Terragrunt caching info from GIT

Terragrunt seems to be caching my terraform scripts from GIT. Consequently each time I need to re-run terragrunt apply after changing my terraform scripts I need to first do rm -r -f .terragrunt-cache/ certainly that's not by design? How do I tell terragrunt to stop using the local cache?

I'll answer my own question since I stumbled upon the answer:
Important gotcha: Terragrunt caching
The first time you set the source parameter to a remote URL, Terragrunt will download the code from that URL into a tmp folder. It will NOT download it again afterwords unless you change that URL. That’s because downloading code—and more importantly, reinitializing remote state, redownloading provider plugins, and redownloading modules—can take a long time. To avoid adding 10-90 seconds of overhead to every Terragrunt command, Terragrunt assumes all remote URLs are immutable, and only downloads them once.
Therefore, when working locally, you should use the --terragrunt-source parameter and point it at a local file path as described in the previous section. Terragrunt will copy the local files every time you run it, which is nearly instantaneous, and doesn’t require reinitializing everything, so you’ll be able to iterate quickly.
If you need to force Terragrunt to redownload something from a remote URL, run Terragrunt with the --terragrunt-source-update flag and it’ll delete the tmp folder, download the files from scratch, and reinitialize everything. This can take a while, so avoid it and use --terragrunt-source when you can!


Porto Network Problem with Wallets starting with 0x0 not being identified

Transactions of wallets starting with 0x0 are still not processed in the Porto network. I experienced this on Yuzuswap in the past weeks, and now on Mosaic dex. When we look at Movement Explorer regarding the transaction, you can see that it does not read the second zero at 0x0 in the Sender section.
My Porto Address: 0x04a74a38e9fdfa3e412c89a2f7f6e2a5feef05080f175510934b0881b5d32f97

As you can see, I made a 100 USDT/Move transaction and it says the transaction was completed. This is the transaction tx : https://explorer.movementnetwork.xyz/txn/0x25eef995b6569f34edfe3bc00de3965ce12fd84f627d60a1e832089f3baa0bb2?network=porto+testnet
When we look at the transaction result form, my wallet, which should be seen as 0x04 in the Sender section, starts with 0x4 and there is no change in the balances in my wallet. I made many transactions during the day today and it happened like this in all of them.
In the 0.01 Move/ Usdt transaction, the transaction is completed, but in the sender section, the wallet address appears as 0x4 instead of 0x04. Additionally, when I traded this parity during the day, the Move balance was decreasing, but the USDT balance was not changing.
https://explorer.movementnetwork.xyz/txn/0xaf561db0c00e5f36257b046e45a30a061f07ed4ed4f612f42dcda00dfba80be2?network=porto+testnet

When I make a 20 USDT/Move transaction, although there is no change in the USDT and Move parities in the wallet balance, the transaction is said to have been completed and a tx is created and again, in the Sender section, the wallet address is written as 0x4 instead of 0x04.
https://explorer.movementnetwork.xyz/txn/0x632e19168342710a8e705570f449fccd300937648bca230d61d517fcc3fb0a80?network=porto+testnet

As a result, the network is not working stable and therefore the Okx Mosaic Galxe task on the testnet cannot be performed.
Twitter: @oneofarslan
Discord: arslan48
Mail<EMAIL_ADDRESS>

Hi @OneOfArslan ,
This is Harry from Mosaic. Thank you for bringing this issue to our attention. It’s a somewhat tricky problem related to the two different asset standards on the Move Aptos network: Coin and FungibleAsset.
Here’s what happened: the output of your swap was USDT in the Coin standard. However, at that time, Mosaic was only displaying balances for USDT as a FungibleAsset. This is why your USDT balance didn’t update, and it also explains the issue you encountered with Interest. As Mosaic and Interest are currently the only platforms supporting the FungibleAsset standard, this discrepancy caused some confusion.
In response to your feedback, we’ve improved our UI to display balances for both Coin and FungibleAsset. Additionally, we’ve introduced a feature allowing users to migrate from Coin to FungibleAsset with just one click.
In the image below (improved Mosaic), you can see the same asset can have both Coin and FungibleAsset stores:

Please give it a try! Mosaic is proud to be the first platform enabling seamless swaps between Coin and FungibleAsset across the Move Aptos networks. While this innovation may lead to some unexpected experiences, we deeply value your feedback and are committed to continuously improving our product.
Thank you!

Hello @OneOfArslan  A support ticket has been opened for you. Kindly Talk to Support on the Live support page so that your issue can be looked into. CLICK HERE


RxTestExt

https://github.com/mosamer/RxTestExt
This project aims to add some helpers commonly used while testing Rx code, something similar to RxSwiftExt but for RxTest instead.
Currently, it contains an example project to demonstrate its usage. There is no test coverage yet, but I should be working on it soon.
This project should be evolving to include more features and to improve existing ones, though being part of RxSwiftCommunity makes perfect sense. I am also open to move it as a subspec of RxSwiftExt if it makes more sense.
Feel free to let me know if you have any questions or comments, and I will be working on the following checklist.
Regards :-)
Checklist for Transferring Ownership

[ ] replace copyright with "Copyright (c) RxSwiftCommunity" in code
[ ] replace copyright in README
[ ] replace copyright in LICENSE
[ ] update the remote URL of the Podspec (if any)
[ ] update CI badge
[ ] update CI settings
[ ] transfer repository ownership (once you're a contributor)
[ ] fork the repo back to your personal account
[ ] add project to https://github.com/RxSwiftCommunity/rxswiftcommunity.github.io

@mosamer Just out of curiosity would you mind showing the RxBlocking equivalent of some RxTestExt code - so it's easy to understand what your library aims to solve?

@freak4pc I am not sure if this is possible, mainly due the differences between RxBlocking & RxTest themselves. However, taking this code snippet from Action test cases, it can be modified as shown.
describe("completable action") {
   var action: CompletableAction<String>!
   beforeEach {
      let work: Completable = Observable<Never>.empty().asCompletable()
      action = CompletableAction {_ in work }
-      scheduler.scheduleAt(10) { action.inputs.onNext("a") }
-      scheduler.scheduleAt(20) { action.inputs.onNext("b") }
+      scheduler.bind([next(10, "a"), next(20, "b")], to: action.inputs)
   }
   it("inputs subject receives generated inputs") {
-      let inputs = scheduler.createObserver(String.self)
-      action.inputs.bind(to: inputs).disposed(by: disposeBag)
+      let inputs = scheduler.record(source: action.inputs)
      scheduler.start()
-      XCTAssertEqual(inputs.events, [
-         next(10, "a"),
-         next(20, "b"),
-      ])
+      assert(inputs).next(times: 2)
   }
   it("emits nothing on elements") {
-      let elements = scheduler.createObserver(Never.self)
-      action.elements.bind(to: elements).disposed(by: disposeBag)
+      let elements = scheduler.record(source: action.elements)
      scheduler.start()
+      assert(elements).not.next()
-      XCTAssertEqual(elements.events.count, 0)
   }
}

Sorry, I meant RxTest :) It was late 😴
Anyways, cool! looks like nice syntactical sugar :)
by the way
assert(inputs).next(times: 2) isn't the same as asserting "a" and "b" and 10 and 20 :)
But other than that looks pretty clean.
I think the approach of RxSwiftExt/Core & RxSwiftExt/Tests could be really cool, but it depends on whether or not @fpillet agrees with this approach. I'm also not 100% sure how this works for Carthage and SPM - it might make it less obvious

@freak4pc

assert(inputs).next(times: 2) isn't the same as asserting "a" and "b" and 10 and 20 :)

I know :) that's why I'll try to add this or this hopefully soon :)
I also agree on the discoverability concern, so would appreciate second opinion here.

@mosamer Looking more into this I really like some of the implementation you made here.
I would really hope to get some more feedback from @RxSwiftCommunity/contributors regarding some of the questions raised, but, given no other replies in the next 3 days I feel comfortable migrating this repo to the main organization if you'd want to.

BTW just because I'm writing some tests right now - I would rename
assert(elements).not.next()
to either
assert(elements).never()
or
assert(elements).nothing()
I think the first option makes more sense in Swift context:)

Done 🎉


[Feature]: Theme token for Subtitle font size

What problem does this feature solve?
Currently, it is possible to edit the font size in tailwind.config.js of all text elements except Subtitle for some reason, as shown in the docs - under "Subtitle", there is no theme token for font size.
This makes it difficult for users to create a consistent theme change when developing their app.
An example would be me - I am sizing down all the components, as I think the elements and font sizes are too large for my app. However, since I cannot scale the subtitle down, so I have to create my own subtitle element instead of using Tremor's one, causing inconsistencies and more difficult maintenance in the long run.
What does the proposed API look like?
tailwind.config.js:
// These are not default values, used for reference
...
fontSize: {
        "tremor-label": ["0.3rem", { lineHeight: "0.7rem" }],
        "tremor-default": ["0.5rem", { lineHeight: "0.9rem" }],
        "tremor-subtitle": ["0.75rem", { lineHeight: "1rem" }], // New entry
        "tremor-title": ["0.875rem", { lineHeight: "1.25rem" }],
        "tremor-metric": ["1.125rem", { lineHeight: "1.75rem" }],
},
...

Hi! Makes total sense right now. However, we'll completely overhaul our theming strategy with the release of Tailwind CSS v4.0. Also, all Typography elements will be deprecated soon.


terraform-docs: 0.16.0 -> 0.17.0

Description of changes
https://github.com/terraform-docs/terraform-docs/releases/tag/v0.17.0
Things done

Built on platform(s)

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

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

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

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

[x] Fits CONTRIBUTING.md.

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

thanks!


P/Invoke inlining in unoptimized builds

I had a quick look at fixing #383 (generate debuggable code).
The main blocker seems to be RyuJIT's reluctance to do inline P/Invokes in debuggable code. There seems to be a check in impCanPInvokeInline that kicks in.

To repro this issue run ILC with the referenced pull request. Change CorInfoImpl.cs getJitFlags from flags.Set(CorJitFlag.CORJIT_FLAG_DEBUG_INFO); to CORJIT_FLAG_DEBUG_CODE and you should meet "Who is asking for IL of PInvokeTargetNativeMethod?" assert.

The check is right in the importer.cpp impCanPInvokeInline: (!opts.compDbgCode).

@AndyAyersMS can you explain why we can't do PInvokeInline with compDbgCode in CoreCLR?

Don't know for sure, but I would guess it's done this way to improve the fidelity of the debugging experience.
I suspect that for CoreRT you can just have impCanPInvokeInline always return true, for instance:
bool Compiler::impCanPInvokeInline(BasicBlock* block)
{
    if (IsTargetAbi(CORINFO_CORERT_ABI))
    {
        // For CoreRT always use an inline PInvoke
        return true;
    }

    return impCanPInvokeInlineCallSite(block) && getInlinePInvokeEnabled() && (!opts.compDbgCode) &&
        (compCodeOpt() != SMALL_CODE) && (!opts.compNoPInvokeInlineCB) // profiler is preventing inline pinvoke
        ;
}

We still want to the impCanPInvokeInlineCallSite legality check to kick in for CoreRT. I think that the logic may be something like this: https://github.com/jkotas/coreclr/tree/CoreRT-PInvoke
@sandreenko Could you please give it a try and see whether it works well?

Yes, I will reproduce the corert logic and check it.

This was fixed in the above CoreCLR pull request.


Date input component error implementation

If there is only 1 field used in date-input the macro calls the error component manually. This isn't necessary as we can pass error into each input as a parameter. The input component will then call error. This is done correctly in the duration component.

No longer needed


wlfreerdp does not have a man page

The Wayland FreeRDP client is probably very identical to the X11 FreeRDP client regarding information provided on their man pages.
Currently, the Wayland FreeRDP client does not have a man page. My recommendation is to ship one man page for both packages and symlink wlfreerdp -> xfreerdp. The man page would only need minor changes, e.g. in the NAME field, the SYNOPSIS field,  the DESCRIPTION field and maybe at a few other locations.
Those changes should mention both application names, e.g.:
SYNOPSIS
       xfreerdp [file] [options] [/v:server[:port]]

->
SYNOPSIS
       xfreerdp [file] [options] [/v:server[:port]]
       wlfreerdp [file] [options] [/v:server[:port]]

For Debian, the policy prescribes to ship man pages for every executable ending up in a package. At best, those man pages are provided by upstream.

@sunweaver I'll initially add a small extra man page with basic information and a reference to the xfreerdp man page for the command line.

Hi Bernhard,
On  Mi 11 Jan 2017 10:34:55 CET, Bernhard Miklautz wrote:

@sunweaver I'll initially add a small extra man page with basic
information and a reference to the xfreerdp man page for the command
line.

If the usage is very similar, simply add all info to the xfreerdp man
page, ship it as freerdp.1, symlink xfreerdp.1 to it and wlfreerdp.1
See man page of grep, egrep, fgrep, etc. for example.
Mike
DAS-NETZWERKTEAM
mike gabriel, herweg 7, 24357 fleckeby
mobile: +49 (1520) 1976 148
landline: +49 (4354) 8390 139
GnuPG Fingerprint: 9BFB AEE8 6C0A A5FF BF22  0782 9AF4 6B30 2577 1B31
mail<EMAIL_ADDRESS>http://das-netzwerkteam.de

@sunweaver the xfreerdp man page is automatically generated (generate_argument_docbook creates a docbook out of the cmd line information) and a part of the X11 client (also directory wise) at the moment. Until this is split out and/or we find a better solution having an extra small wlfreerdp.1 man that references xfreerdp is much simpler.

On  Mo 16 Jan 2017 09:34:59 CET, Bernhard Miklautz wrote:

@sunweaver the xfreerdp man page is automatically generated
(generate_argument_docbook creates a docbook out of the cmd line
information) and a part of the X11 client (also directory wise) at
the moment. Until this is split out and/or we find a better solution
having an extra small wlfreerdp.1 man that references xfreerdp is
much simpler.

Ack.
Mike
DAS-NETZWERKTEAM
mike gabriel, herweg 7, 24357 fleckeby
mobile: +49 (1520) 1976 148
landline: +49 (4354) 8390 139
GnuPG Fingerprint: 9BFB AEE8 6C0A A5FF BF22  0782 9AF4 6B30 2577 1B31
mail<EMAIL_ADDRESS>http://das-netzwerkteam.de


1.1.6 uses ExoPlayer features only available with AndroidX

The 1.1.6 version of the lib uses features from ExoPlayer 2.10+, ExoPlayer versions that use AndroidX.
Problem: Using react-native-track-player 1.1.6 with ExoPlayer 2.9.6 gives errors on missing classes like IcyHeaders and IcyInfo in ExoPlayback.java.
Problem: Using a newer ExoPlayer version is not possible, because these ExoPlayer versions reference AndroidX.

@Guichaguri should we close this?


panic: *filter.responseWriterWrapper is not a flusher

Caddy v1.0.0 in Abiosoft's Docker container (PHP version + several added plugins)
I'm getting the error in the title after attempting to load several reverse proxies. After the error Caddy restarts itself each time.
Here's a log of it happening after trying to load up 3 different reverse proxies. Any idea what's causing it?
(NOTE: Tried loading Organizr here ...)

   Please fill out the issue template so we can help you and we can re-open this.


Fix destroy response

Because Spree 3.0 uses a remote link for the delete button, the page rendered as a result of the redirect_to :back response would be inserted in the notification flash.
This PR updates the response to use the same response as default Spree 3.0.

Hi @mvz it looks great but some issues with latest sprockets that's breaks everything, so its hard to get passing specs.

Thanks @mvz Fixed with #130


Update directory names and remove jar for integTest

Signed-off-by: sruti1312<EMAIL_ADDRESS>Is your feature request related to a problem? Please provide an existing Issue # , or describe.
https://github.com/opensearch-project/performance-analyzer/issues/167
https://github.com/opensearch-project/performance-analyzer/issues/156
Describe the solution you are proposing
Standardize file locations for supporting files
Remove .jar dynamic dependencies
Fix formatting issues
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.
Check List

[ ] New functionality includes testing.

[ ] All tests pass

[ ] New functionality has been documented.

[ ] New functionality has javadoc added

[x] Commits are signed per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Codecov Report

Merging #187 (51a62e6) into main (71d1877) will not change coverage.
The diff coverage is 66.66%.

:exclamation: Current head 51a62e6 differs from pull request most recent head a56c4be. Consider uploading reports for the commit a56c4be to get more accurate results

@@            Coverage Diff            @@
##               main     #187   +/-   ##
=========================================
  Coverage     71.93%   71.93%
  Complexity      368      368
=========================================
  Files            44       44
  Lines          2519     2519
  Branches        169      169
=========================================
  Hits           1812     1812
  Misses          595      595
  Partials        112      112

Impacted Files
Coverage Δ

...analyzer/config/PerformanceAnalyzerController.java
77.70% <50.00%> (ø)

...dler/PerformanceAnalyzerClusterSettingHandler.java
68.62% <66.66%> (ø)

...config/PerformanceAnalyzerClusterConfigAction.java
88.67% <100.00%> (ø)

...action/config/PerformanceAnalyzerConfigAction.java
93.18% <100.00%> (ø)

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 71d1877...a56c4be. Read the comment docs.

Building failing due to flaky bwc tests due to cluster formation errors.


HANDY Parken App / Fatal Error / Support claims it's microG's fault

We have a OnePlus 5 and OnePlus 6 phone in use, both equipped with the latest LineageOS 16 for microG and Magisk. The devices have correctly (manually) been registered for GCM and all apps (including otherwise problematical ones like banking and pushTAN apps) are working properly, except that one app called HANDY Parken (https://play.google.com/store/apps/details?id=at.mobilkom.android.handyparken).
That one app simply crashes each time I try to start it, the Logcat Reader shows the following fatal error:
[09-09 16:37:53.425 12069:12111 E/AndroidRuntime]
FATAL EXCEPTION: firebase-iid-executor
Process: at.mobilkom.android.handyparken, PID: 12069
java.lang.SecurityException: Not allowed to bind to service Intent { act=com.google.android.c2dm.intent.REGISTER pkg=com.google.android.gms }
	at android.app.ContextImpl.bindServiceCommon(ContextImpl.java:1677)
	at android.app.ContextImpl.bindService(ContextImpl.java:1612)
	at android.content.ContextWrapper.bindService(ContextWrapper.java:698)
	at com.google.android.gms.common.stats.a.a(Unknown Source:27)
	at com.google.android.gms.common.stats.a.a(Unknown Source:13)
	at com.google.firebase.iid.g.a(Unknown Source:119)
	at com.google.firebase.iid.e.a(Unknown Source:48)
	at com.google.firebase.iid.e.a(Unknown Source:10)
	at com.google.firebase.iid.u.a(Unknown Source:18)
	at com.google.firebase.iid.ap.a(Unknown Source:2)
	at com.google.firebase.iid.ao.run(Unknown Source:6)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
	at java.lang.Thread.run(Thread.java:764)

Their tech support claims it is a known problem of Lineage + microG in connection with push notifications over Firebase and they have referred issues #740 and #439 here with manual device registration (by dialing ##2432546##) to be the likely solution, but of course that was not the issue and not the solution because our devices are already correctly registered for GCM use.
Since they replied that they can not help me any further if that wasn't the solution, I was hoping that someone else here may be able to analyze the problem further.
Please let me know if you need a more detailed logfile (and which filter settings to apply).

Have you try reinstalling that application? This issue is typical of an app installed before μG (see e.g. #924).

@ArchangeGabriel yes, multiple times, but this did not change anything and could not have been the issue, because all apps were installed after microG and manual GCM registration (since microG came already installed with LineageOS for microG and registering for GCM by dialing *#*#2432546#*#* was done before any apps were installed).
As said, everything else is working just fine, only that one app simply crashes when trying to start it.
Deleting the apps storage & cache + uninstalling + reinstalling + checking if GCM is still registered + restarting the app just made the app crash again instantly.

From what it seems, the support team of the app creator does not want to pursue this issue any further, because nobody else (with Google Play Services installed) is experiencing this issue, so that stick to the opinion that it must be microG's fault.
I am not a programmer, but from what it seems, the app registration to GCM by firebase fails due to missing permissions, though I have disabled the option "Confirm new apps: Ask before registering a new app to receive push notifications" in microG settings and no notification about missing permissions appears and the app just crashes.
What's needed now is a skilled Android programmer, who can tell what they possibly can do wrong with that GCM registration by firebase that leads to the crash, because all the other apps could register to the GCM service just fine and can receive push notifications without problems. Maybe I can get them to have another look and fix the issue if I had more information for forward.


rebase main to fix tests, reorganize file after rebasing

Hey @GiorgioSgl
I finally managed to sort out those unrelated tests that were failing. So here I rebase main to sort that out.
Some of the tests were hitting the yeojohson, so I had to add a hidden method to sort that one out, that is why, there is a conflict here.
Would you be able to sort this conflict out? or would you rather I open a new PR to the main repo from my branch?

Actually, managed to resolve the conflict.
Most files are irrelevant to you.
The relevant files are yeojohson and its tests and 1.6.x
Let me know if you'd be able to merge here, so it updates on the main repo and I can merge and close your PR.
Thanks a lot!!!


Why do the example binary sizes vary so much?

Release-small file sizes:
-rwxr-xr-x 1 dbandstra dbandstra 110776 May 18 14:00 arpeggiator
-rwxr-xr-x 1 dbandstra dbandstra 471968 May 18 14:00 curve
-rwxr-xr-x 1 dbandstra dbandstra 118616 May 18 14:00 delay
-rwxr-xr-x 1 dbandstra dbandstra 149576 May 18 14:00 detuned
-rwxr-xr-x 1 dbandstra dbandstra 473168 May 18 14:00 laser
-rwxr-xr-x 1 dbandstra dbandstra 499296 May 18 14:00 mouse
-rwxr-xr-x 1 dbandstra dbandstra 491368 May 18 14:00 play
-rwxr-xr-x 1 dbandstra dbandstra 128488 May 18 14:00 polyphony
-rwxr-xr-x 1 dbandstra dbandstra 116704 May 18 14:00 portamento
-rwxr-xr-x 1 dbandstra dbandstra 513936 May 18 14:00 sampler
-rwxr-xr-x 1 dbandstra dbandstra 464632 May 18 14:00 song
-rwxr-xr-x 1 dbandstra dbandstra  99280 May 18 14:00 stereo
-rwxr-xr-x 1 dbandstra dbandstra 120624 May 18 14:00 subsong
-rwxr-xr-x 1 dbandstra dbandstra 453160 May 18 14:00 write_wav

moved to sourcehut


update peer dependencies of react-app-rewire-mobx

npm gives following warning when using react-app-rewire-mobx:
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>< 5 but none is installed. You must install peer dependencies yourself.
Can the peer dependencies in its package.json be updated to reflect compatibility with<EMAIL_ADDRESS>

Feel free a submit a PR


Large Data Table

Firstly, I want to say thank you very much for this incredible tool. I've gotten great use out of it so far and continue to learn new aspects every day when I use it. This has changed the way I build apps!
The issue I'm having is that I am dealing with a very large table (about 15,000 rows by 50 columns). I've set up my table exactly how I want it, it's functional and even talks with a SQL server. If I'm printing less than 2 or 3,000 rows, the wait time is acceptable. However, when I need to print 3,000 or more rows, sometimes the wait is very long (~30 seconds or more), and sometimes the app crashes entirely.
This is a problem, because without being able to display the entire table, some of the features like the sorting and filtering options on tops of columns aren't as useful as they could be.
Do you know if any kind of workaround for this? Your help is greatly appreciated.
Thank you very much in advance!

Thanks @andoni34, it probably takes time to render such a huge table anyway even without TableFilter.
You could try to use the load_filters_on_demand option to reduce parsing time, with this option selection filters are populated the first time they are used.

Probably not a good idea to send more than 3000 rows with 50 columns to the client with or without TableFilter in the first place.
What do you mean by

it didn't seem to make the change I needed
?
I advise to have a look to this resource I posted years ago for HTML Table Filter Generator also valid for TableFilter.

Got it -- I was browsing through that page and saw some good information in there. I apologize for my lack of knowledge, but I do not know much about JS. How would I build this into my R Shiny application? It looks like what code is given on that page has to do with the tableProps argument.
I found that if I reduce the number of rows to only a few, I'm able to print 15,000 rows in far less time, so a series of smaller applications could accomplish what my larger overarching application was supposed to accomplish. Thanks again very much for your help thus far.

@tsouchlarakis, I am experiencing a similar issue you might have had before and hope you can give me some guidance.
I am pulling data from SQL server to HTML table and wanted to use the sort the data with the sorting feature. But it seems like the tool recognizes the rows from SQL as one row so the sorting doesn't work. Did you meet the same problem? If so, can you share your solutions with me?

@qianhuili My previous issue was due to slow client render times of large data tables. It didn't have to do with sorting, and in my case I didn't have the problem that the "tool recognizes the rows from SQL as one row". This seems like a different issue.
Without understanding your use case fully, I might try adding an intermediate step in the process SQL query → R dataframe (make sure SQL query returns multiple rows in this dataframe) → send to client for display.