Infinite spans and multiple-finish() undefined behaviour

Hello, I have a parent Span. It has several children on many servers. Some of those child-Spans are on processes that have e.g. 2-minute timeouts. On timeout further children Spans on other servers might be injected/joined. I have a trace id and I want to investigate what's going on 1 minute after the parent Span started.
What's the conceptual state of the tracing system?
Should I not be able to see on my tools the parent Span at all because it didn't .finish() yet? In that case what happens if it never .finish()'s? I should not have a trace for the single most interesting case of traces?
Should I see the state of child Spans (which have .finish()'ed) without having any information for the parent Span (apart from its ID and baggage)?
Should I see all the information I have available for the parent Span? How do I provide useful information in this case since I can't call .finish() (undef behaviour on double-finish()? Is there the need for .flush()? Are all Spans then potentially infinite and we present just - to the best of our knowledge - information up to the moment?
This isn't a new feature. Existing systems handle those cases in some way. The extend to which they see Spans as transactions or a group of streaming events varies. Opentracing must specify this behaviour. There are children that outlive parents, bugs, system crashes, network delays, all sorts of asynchronous behaviour and this is specifically why we need tracing. This isn't a corner case. This is the use case.

@lookfwd this is a tricky problem in the general case.  For example, in the event of a crash in the traced process, any in-flight spans will definitely not be finished.
In AppNeta's X-Trace implementation, we actually use an event-based model where a span is composed of two events.  So we will have received information available at the start of a span even if the end of the span never occurs for some reason.  However, there is still the possibility for missing exit events.
So that's one way to mitigate the risk.  Additionally, it's possible that one could put some internal span timeouts to ensure span delivery, albeit with incomplete data and/or missing end time.
I think that the tracing backend would ultimately have to take some responsibility for this due to the possibility of entirely missing spans, however.  The experience on the backend is a missing span, which is referenced by any downstream spans (via parent ids).

@dkuebric perfectly agree! I find this tricky problem very interesting myself. This is where a specification should have mechanisms in place to ensure implementations have well-thought behaviour.

In AppNeta's X-Trace implementation, we actually use an event-based model where a span is composed of two events.

Nice! Yes, I see how this is a nice pragmatic approach.

However, there is still the possibility for missing exit events.

That's not a problem at all. Problem is when you specify "Unless everything is done perfectly, the standard guarantees you nothing". It sets the bar too low.

any in-flight spans will definitely not be finished

Yes, exactly! Infinite spans is fact of life... The question is how tracing systems should deal with them.

internal span timeouts

or/and an explicit .flush(). If I'm a parent span and I spawn 10 async calls, database writes or whatever, I've mostly done my job (potentially in μs) and I know it... no need for (potentially long) timeouts. I can .flush() and on the event of a crash I've done my best. It's up to the implementation what durability guarantees it gives at that point. When all child spans finish (maybe minutes later) I (parent span) can also call my .finish() and everything is even more happy and perfect.
Another possibility is that child Spans might ack the transaction (in memory) and at that point the parent span is ok to .finish(). Unfortunately this doesn't mean that child Spans .finish()ed. Child Spans mightfinish()` when the transaction is e.g. on the commit log, on disk. This is a very typical async pattern e.g..

I think that the tracing backend would ultimately have to take some responsibility for this due to the possibility of entirely missing spans, however.

Absolutely! The backend should do the best possible, given the information it has, to provide it to the user. As a backend I shouldn't e.g. drop a trace because some info seems incomplete.

@lookfwd re: flush() We had an issue a while ago about adding flush().
https://github.com/opentracing/opentracing.github.io/issues/74

I don't see anything contrary in #74 in the context flush() is discussed here.

There doesn't seem to be a strong production use case for this

I think I gave enough "production use cases" above.

the overall semantic meaning of flush() is not clear

Just in case clarifying this is semantically span.flush() and its aim is to force implementors to think about taking appropriate actions to ensure durability of the trace up to this point in time since, beyond it, it might - for long time - not hear any updates about it (and a crash might happen in the meanwhile).
Implementations could do a nop() but they will have to state it on their documentation (so that people who need durability guarantees are aware of the implementation not fitting their needs).

we would need to debate which exact async API

Span should have enough knowledge to either implement or ignore this method call. If a span knows how to finish() it should know how to flush().

Here's a diagram of some of the things I mention above.

This use case seems to arise only with async children. We had discussions in the past how OT API can provide the means of expressing the fact that a child span is started to represent async work and is not on the critical path of the parent. I can't find an open issue for this at the moment, but I think if we address that, it will implicitly address the same problem as what the span.flush() is trying to address, only in a more direct way.

iirc, I believe the approach we were leaning towards was by setting some special "Async" tag on the child span. That should provide enough signal to the tracing system that it might want to do something special with the parent (like "flush").

Async is one use case. Existence of timeouts is another in which case you need to flush early.

I'm wondering - how does tagging something on the child, which might be started with many different ways (e.g. called both synchronously or asynchronously from different services), is easier than parent.flush() from an implementation's perspective.

I don't see why a flush API is needed. Can't an implementation keep track of its active Spans and internally decide to flush long-lived potentially infinite spans?
The "multiple-finish" subject is related, but really there are two semantics operations:

mark by completion time for latency analysis
note that I will never use this object again
Currently, finish means both of those at once. Neither of these are necessary for an implementation to flush span details. I think it's a possibly a mistake to require that Span object lifetime be tied to span latency. I would recommend that finish() mark the completion of the operation but not end the lifetime of the span object. If finish() is called twice, the first one wins and the subsequent call can be logged as an event on the span. This requires the implementation to support logging span detail after finish.

Yuri raises a related but independent point about "async" tags to indicate that a span is off the critical path. This seems important regardless of how you handle the multiple-finish problem.

Can't an implementation keep track of its active Spans and internally decide to flush long-lived potentially infinite spans?

Sure! .flush() is application's hint to the implementation... and a reminder to the implementor that a) infinite spans exists and that b) it's very very good for you if you don't wait for .finish() to submit your data (because by the way - it might never happen). We need considerate behavior to be the norm, not the exception. If flush is a nop() it should be documented.

there are two semantics operations

Fantastic observation!

mark by completion time for latency analysis

Excellent - this is perfectly fine! You might even, potentially want to have many such "checkpoints". I might want to mark both the "database write finished checkpoint" and the "upload video to S3 finished checkpoint".

note that I will never use this object again

This is perfectly unnatural as you mention. It might never happen or it might happen multiple times (due to - among others - a bug) and the tracing system shouldn't freak out if this is the case.

the first one wins

"the first one wins" on the latency measure... ok. Although checkpointing would be more clear.

subsequent call can be logged as an event on the span

Yes - this is the most important thing!

is off the critical path

I understand... in general I get the feeling that most people here care about some "UI latency" and they want it e.g. to be below 50ms. This is why there's such emphasis on the "critical path". In our applications we care a lot about reliability and we have several such "critical paths" since different API consumers have different latency expectations. Some are APIs, some other are UIs and some are just how much risk we feel can handle related to durability. There isn't a single critical path. We also have many replicas and a write goes to all of them. From customer's perspective, one write is enough. From durability's perspective, we need at least quorum across datacenters. From overall health of the cluster and monitoring, writes should get acked from every node for us to be happy (although this doesn't always happen and it's ok).
As I've send in another issue - for me very important is what actually happens on the datacenter. If there are any funny or simplifying assumptions I prefer to have them in the UI than on the collector. I can't afford to go re-annotate all the services every time opentracing changes. I'm ok to evolve both database schemas and UIs to cover more use cases. But annotation should - if possible - happen only once.

@lookfwd

I'm wondering - how does tagging something on the child, which might be started with many different ways (e.g. called both synchronously or asynchronously in different contexts), is easier than parent.flush() from implementation's perspective?

What I mean is that I would rather have instrumentation code describe the actual business scenario, not tell the tracer what to do. Given the vendor-neutral nature of the OT API, a flush() method as a hint to the tracer is extremely vague. A tracer can always do a better job if it's given higher fidelity signals, such as those that describe the actual causality relationship between spans. The value of flush() method as a causality signal is zero.

@lookfwd given the (a) number and (b) complexity of the various issues you've brought up here and in the C++ PR, would it be possible to schedule a google hangout or similar to communicate with higher bandwidth? I am happy to coordinate and find a time that works for any parties who'd like to be involved. (cc @dkuebric @bg451 @yurishkuro @jmacd)
A short summary of my position on this: it would be great if OT had standardized ways (tags? logEvent payloads? that sort of thing) of describing arbitrary causal relationships. This would allow OT to represent X-Trace style causality DAGs... even things that don't fit the span model well.
Finally, a clarification: @lookfwd, I think you mean "unfinished span" more than "infinite span", right? "Infinite span" is an oxymoron (since the span concept involves a, well, time span). But an "unfinished span" is merely a span whose finish time has not yet been determined. There is nothing in OT that prevents an implementation from recording incomplete Spans incrementally, and indeed I think that would be a good design decision when attempting to handle the case you describe at the top of this issue.

I think you mean "unfinished span" more than "infinite span", right?

Absolutely! "un-finished" / "in-finite" or even "open span" in the sense of "open to new information" and as of half-open interval [t0, now) (<- I get philosophical here). Exactly as you say... having a definite start but not necessarily known finish.

There is nothing in OT that prevents an implementation

There is nothing that enforces it either though. You can't specify a car leaving breaks as implementation specific. This discussion is about the breaks of the car. To be always ready for a crash, any valid implementation should stream as early as possible to the collector. I'm ok with this being just documented as a requirement, but it's even better if there's a mechanism (e.g. .flush() hint) to make every implementor to a) think about it and b) document exactly the guarantees they provide. Any such mechanism would do - .flush() might be a bad idea.

a span whose finish time has not yet been determined

This is little detail - but again, I can see how an implementor relying too much on the idea of a (single) finish time adds unnecessary constraints along the way. Here's a case I described previously:

For those complex cases and beyond you really need tracing because generic monitoring infrastructure isn't sufficient.
The way to get complex cases traced right, is by providing primitives i.e. Spans, a way to make them accessible and a way to track causality and let people trace whatever actually happens. Query-side developers can then aggregate and present information in whatever way is meaningful for their target audience.
As @jmacd says, .finish() is overloaded - it's both an event and a "I will never use this object again" statement. I don't see why as an event it's particularly special. On the image above there are 2 important events (finish times - t0, t1) which might be subject to SLAs. As an "I will never use this object again" statement, it's not opentracing's business. opentracing might or might not receive a .finish() for multiple reasons and it should be functional nevertheless.

would it be possible to schedule a google hangout or similar to communicate with higher bandwidth?

Absolutely, whatever is convenient.

Thanks for all of the detail.

would it be possible to schedule a google hangout or similar to communicate with higher bandwidth?
Absolutely, whenever convenient.

Cool, let's schedule a time to talk more interactively, then... Who else would like to participate? (No pressure, of course!)

I like where this is heading. You could have inter-trace links using a set of conventional relationships that we would standardize, like:
blocked_by (the linked span context blocked this span on a shared resource)
blocker_of (the linked span context was blocked by this span on a shared resource)
deferred_child (the linked span context was caused by this span, but the association was severed)
etc.
(I'll be happy to participate in a discussion.)

@bensigelman count me in for a conf call. Maybe @lookfwd can make the next week's regular call, Apr 13, 7:30 EST, but other time is fine too.

@lookfwd IIRC you are in England??? What time ranges work for you (generally speaking, anyway)?

Count me in as well!
On Apr 8, 2016 12:21 AM, "bhs"<EMAIL_ADDRESS>wrote:

Thanks for all of the detail.
would it be possible to schedule a google hangout or similar to
communicate with higher bandwidth?
Absolutely, whenever convenient.
Cool, let's schedule a time to talk more interactively, then... Who else
would like to participate? (No pressure, of course!)
—
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub
https://github.com/opentracing/opentracing.github.io/issues/85#issuecomment-207202982

Great, 19:30 est this Wednesday. I will try to join. Yes, I'm in London, UK. But I'm a night guy... :)

(sorry about that! hit the wrong button... ^^^)

What would you think about something like this? I tried it to be gentle but still put the concept of "unfinished spans" on the map and make implementers think and comment on it.


Stress the importance of setting bound params

Create 2 records while offline while assuming the server will provide
record ids and watch your 1st record disappear. This commit updates the
README to stress the importance of setting your bound parameters.
I can re-word if you like, but this strikes me as important. It's a helluva "gotcha".

:+1:

This was a surprise for me, since $resource very much supports saving a new resource without an id

Ah yes, thanks! This is awesome.

You could also argue that $cachedResource should support saving new records without bound parameters set, but that's significantly more effort. Probably worth doing. In the meantime, this will hopefully help others avoid the issue.


Unit Jobs page - error 500

When I trying to visit Unit-Jobs, server responses with 500 error.
I checked it and there is an error with default contructor in UnitJobPage, this class has 2 contructors.
getWebPage method in Main.java returns wrong contructor. It logic is broken, because always check first constructor.
https://github.com/freeacs/freeacs/blob/b778d8129a7ddaddcd198a861629c033a3c49f40/web/src/main/java/com/github/freeacs/web/app/Main.java#L59-L66

I have a fix. Refactor blunder.

you are so fast :D

:D
I dont like the passing around datasource thing. But this is remnants of old code where i used spring controllers that auto wired datasource in constructor. If you want to help you can check if there is other similar constructors with equal uselessness :)

You can Just checkout branch and continue on it directly. You should be able to contribute on it

Merged pull request #299

I checked other pages and I not found other constructors

done


Button Group Configuration Enhancement

Currently when you add a button group to a Shesha form and try to configure it, you can only select the item in the button group if you select the drop handle on the item.
Clicking anywhere on the item within the button group does not reveal the properties panel and this could feel like a bug to a user as it did to me originally.
The drop handles are hidden by default and not an expected behavior on Shesha, can we implement it so that you can select anywhere in the white space on an item in the button group to be able to select the item to reveal the properties?

Hi @AlexanderSlavchovUX , Ian created another item related to this, listing all the components that should behave the same way as you were illustrating in this card. I’ve linked that card, and I will close this one


Server shouldn't require every WFT to process all the signals

Such a requirement could be very inconvenient and could require in-compatible change  in user workflow code.
Expected Behavior
Only WFT that closing workflow should be required to handle all signals.
Actual Behavior
It started to require at 1.21.4 version
Steps to Reproduce the Problem
In my PR:
When changing the server version to 1.21.4 from 1.20.4
it fails https://github.com/indeedeng/iwf/pull/336/commits/6e858321b7af12d5be20cf4f9992213b6d333b23
with error in the logs:
2023-08-24T20:39:32.3249001Z 2023-08-24T20:39:32.324Z	DEBUG	loggerimpl/logger.go:117	received API request	{"value": "{\"signalChannelName\":\"test-unhandled-signal-name\",\"signalValue\":{\"data\":\"test-data-2\",\"encoding\":\"json\"},\"workflowId\":\"signal1692909569243681150\"}", "logging-call-at": "handler.go:66"}
2023-08-24T20:39:32.3346140Z 2023/08/24 20:39:32 INFO  Task processing failed with error Namespace default TaskQueue Interpreter_DEFAULT WorkerID 10311@fv-az1410-138@ WorkerType WorkflowWorker Error UnhandledCommand

Specifications

Version: 1.21.4

Thank you for reporting this issue.
It seems that you are experiencing an issue with Temporal 1.21.4 where your workflow is receiving signals that it is not expecting.
Based on the provided error message and the logs, it appears that the workflow is failing to handle a signal named "test-unhandled-signal-name". This suggests that the workflow definition does not have a corresponding signal handler for this signal.
To resolve this issue, you need to add a signal handler for the test-unhandled-signal-name signal to your workflow definition. This can be done using the SignalMethod annotation in the Signal method.
Here is an example of how to add a signal handler for the test-unhandled-signal-name signal:
import (
	"context"
	"github.com/temporalio/temporal/client"
	"github.com/temporalio/temporal/common/log"
	"github.com/temporalio/temporal/service/worker"
	"github.com/temporalio/temporal/workflow"
)

type MyWorkflow struct {
}

func (t *MyWorkflow) Signal(ctx workflow.Context, signalName string, input interface{}) error {
	switch signalName {
	case "test-unhandled-signal-name":
		// Handle the signal here
		log.Info(ctx, "Received test-unhandled-signal-name signal")
		return nil
	default:
		return workflow.ErrSignalNotSupported
	}
}

func main() {
	c, err := client.NewClient(client.Options{
		// ...
	})
	if err != nil {
		panic(err)
	}
	defer c.Close()

	w := worker.New(c, "MyWorkflowWorker", worker.Options{
		// ...
	})
	w.RegisterWorkflowWithOptions(MyWorkflow{}, worker.RegisterWorkflowOptions{
		Name: "MyWorkflow",
	})
	w.Run(context.Background())
}

For more information on how to handle signals in Temporal, please refer to the Temporal documentation: https://docs.temporal.io/docs/concepts/signals

Thank you for reporting this issue. It seems like you are encountering an issue with the Temporal server version 1.21.4 that requires all workflow types to handle signals, even if they are closing. We will investigate this issue further and update you as we progress.
In the meantime, to work around this issue, you can consider the following:

Downgrade to a previous version: You can try downgrading to Temporal 1.20.4 and see if that resolves the issue.
Handle the signal in the closing workflow: You can add code in your closing workflow to handle the signal, even though you might not need it. This would ensure that the workflow can handle all signals and avoid the error.

We are currently looking into the cause of this change in behavior between versions 1.20.4 and 1.21.4. Please follow the Temporal GitHub repository for updates on this issue.

Thank you for reporting this issue. It looks like you're experiencing an issue where the signal handler is not being invoked for the specified signal in Temporal 1.21.4. This appears to be a known issue.
You can find more information and workarounds about this issue in the Temporal documentation.
Temporal Documentation for Signal Handlers
Please note that the Temporal team is actively working on resolving this issue, and a fix will be available in a future release.
In the meantime, consider using the following workarounds:

Update to the latest version of Temporal:  The issue may have been fixed in a more recent release of Temporal.
Use a different approach for handling signals: You can try using the SignalWithStartWorkflow API instead of simply using SignalWorkflow.
Implement custom signal handlers: If none of these solutions are feasible, you can implement your own signal handlers in the workflow. This will require additional coding, but it provides a way to work around the issue.

Let us know if you have any further questions.

Thank you for reporting this issue.
This issue has been resolved in Temporal 1.22.0.
We found an issue where the signals received by a workflow were not correctly routed to the right workflow execution.  This issue was corrected in Temporal 1.22.0.  Please upgrade to Temporal 1.22.0 or later.
The issue you are encountering is due to a change in how Temporal handles signals in version 1.21.4.  In previous versions, if a workflow execution received a signal that it was not able to handle, Temporal would ignore the signal.  However, in version 1.21.4, Temporal now logs an error message if a workflow execution receives a signal that it is not able to handle.
Please see the following Temporal Documentation:

Temporal Changelog

You can find more information on Temporal's official documentation site.


AntDF dataset

Hi author, How can we find the AntiDF dataset as well?

Hi mamarasulovs, for real face images, you can download CelebA and FFHQ datasets, for fake face images, you can download from StyleGAN, PGGAN, StarGAN and FaceAPP, these four dataset. And then combine them into the AntiDF dataset.


Excuse me, are you considering sorting out spconv2.1?

No plans at the moment. This repository is just to support the installation of FutureDet. I'm planning on integrating FutureDet with mmdetection3d, which already supports spconv2.x

I tested in the algorithm, spcon2. X is at least 2 times faster than 1.2. But the code itself is not flexible enough, and I see that you change spconv1.2 very standardly, so I want to see how you will change spconv2.X.


fix lambda events

Currently conflict with Quilt indexing
you're using lambda notifications
I'm talking about EventBridge notifications
you need to enable them in bucket settings
and then create EventBridge rule that triggers lambda
[and update the event parser to match]

This is fixed in Vivos, but needs to be fixed here. Otherwise packages won't show up in Quilt searches.
(or possibly be added at all?)

Change CDK
Change event parser
Change test events
Redeploy


Add support for distinct attribute

Pull Request
Related issue
Fixes #1312
What does this PR do?

Add support for distinct attribute

PR checklist
Please check if your PR fulfills the following requirements:

[x] Does this PR fix an existing issue, or have you listed the changes applied in the PR description (and why they are needed)?
[x] Have you read the contributing guidelines?
[x] Have you made sure that the title is accurate and descriptive of the changes?

Thank you so much for contributing to Meilisearch!

Hello @curquiza
I fix the indentation which has fix the CI :)

Thank you very much @thomas-lcdp!! 😄
Finally can you run yarn changeset? More information in our CONTRIBUTING steps
I will merge right after

I do the changeset. I hope it is correct.
Thanks


Translate the article to Chinese.

Translate the article to Chinese with my poor English :-D

好工作！ Nice work! :-)

Awesome , Thanks bro for translating this.
I will merge this PR now , but we need to organize and re-structure the repo because in our plan we want to add a several pages to explain the checklist.


[WIP] Virtual kubelet logs and exec fix

Description
This commit fixes the container exec and logs in the virtual kubelet, by
adapting the implementation with the current provider implementation.
Fixes #(issue)
How Has This Been Tested?
Please describe the tests that you ran to verify your changes. Please also note any relevant details for your test configuration.

[ ] Test A
[ ] Test B

kind/bug

Hi @mlavacca, thanks for this! Could you please add some tests for the exec and the logs part?

/rebase


Is websocketd multi-user ?

I like to use websocketd as an inetd or CGI to launch a process and work as a conduit between client and server (the backend process, not websocketd). what is the high level outline of what I need to do.
1- Is websocketd multi-user ? i.e does it allow multiple clients to connect and conduct business.
2- What kind of client information is passed from websocketd to execed program ?
3- A use case is where backend process prints logs which I want to convey to client. Given WebSocket notion of messaging (or frames), is there any I/O buffering that I should be concern about.
4- A use case is where backend process ask a question from the user on stout and stdin, again related to I/O buffering, is there any foreseeable issue related to such interactive scenarios ?
Imagine I was trying to solve telnet and ssh with websocket. Am I barking at the wrong tree and should just use ssh and be done.
Thanks
PS: in the  old days, we used Usenet, but now it seems like SCM (like Git) is used for such Q&As. Is this how I should be asking questions from author of a software module ?

Got my first question answered; websocketd is multi-user (aka multi-client)

Websocket output is line-by-line treated (except binary mode which is not something that would work with server script above).
So when you do input("hint")  and there is no linebreak you'll not see message until you enter the value to stdin.
So you probably need   name = input("enter your name:\n") and script will start working in devconsole of websocket.
As for your client program... There is no way for websocket to signal that now it's waiting on the input... It's always waiting. So only thing you can do is to send string to ws whenever you found some keyword, e.g. "your name:" string.
Otherwise your client could be well sending strings all the time and websocket will happily receive them and give to your server script (which would not read those until it waits for the name)...  You can "invalidate" STDIN bytes received prior to your read but it's deeper and deeper into how OS works and I don't want to head in such more and more confusing direction.
General advice instead:
Debug your scripts for websocket with devconsole first, e.g.
websocketd --port 8080 --devconsole python script.py
go to http://localhost:8080/ in the browser and play with it.
From there you will have better idea how to write client outside of the browser.

Thank you for clarification. It seems like for my application, I'd need some sort of raw mode messaging (byte by byte) to emulate a telnet or ssh session. I'll think more about this ...
Thanks again


Pass threshold option to formatCoverage

This PR fixes #

Pass threshold option to formatCoverage

Ideally, if I understand your idea correctly, thresholdResults should be passed to this and subsequent functions, since in addition to passing this parameter through options, reading the extended format from the jest configuration is available

Described in https://github.com/ArtiomTr/jest-coverage-report-action/issues/269#issuecomment-1120423356


DSU Fabric Authentication Enable/ Disable

PL user story: #93 (see full overview for additional information)
Description:
Changes to the DSU Fabric Manage Product Screen:

The ability to enable/ disable the Authentication features.

Acceptance criteria's:
positive tests

Enable the Authentication and the icon is shown on the App when the Batch associated to this product is scanned
Disable the Authentication and the icon is not shown on the App when the Batch associated to this product is scanned

negative tests / error path testing
N/A
Process scenario:
N/A
Additional information:
This is just about enabling/ disabling the visualization of the Authentication icons on the App. A separate user story will be created for the details behind the Authentication and how this would be enabled.

Obsolete, new interface, a solution will be provided with the new AC integration


v1.27.1 Issues with custom keybinds on PoE

I have inventory binded to C and when I press omni-key my inventory also opens (because seems omni-key sends Alt-Ctrl-C) closing for example betrayal window. Character screen (default on C) does not react to Alt-Ctrl-C but pretty much everything else does.
Also having 'highlight items' binded to Shift I have to manually edit the script to get advanced info from items. Bit compatibility issues here and there because custom binds.
Noticed small typo on line 2303 while trying to get gwennen redex string to work
	SendInput, ^{a}{v}

Hmm, that's a problem. I'm able to replicate this. It's really weird that it doesn't trigger the character screen but other actions. It also only closes the inventory when there's no item underneath the cursor. And all of this is seemingly not script-related -- it happens with or without it when trying to copy something to clipboard. I'll need to see what I can do about that.
Yeah, the Gwennen thing is a typo. Thanks for reporting.

Okay, I have some ideas how to tackle these issues. For whatever reason, advanced mod descriptions is not bound to ALT but rather tied to 'highlight items and objects', which is re-bindable. Funny thing is, the official patch notes for 3.1.2 said this:

There's now a UI option called "Advanced Mod Descriptions" which shows additional information about items when you press Alt.

So I don't know if this can be considered a bug or miscommunication, or if they just assumed no one would rebind ALT. I can fix that specific issue by adding an option to specify which key highlighting is bound to, so that the omni-key sends keybind-Ctrl-C instead.
As for the other issue: it seems that if there's no item info to copy when pressing Ctrl-C, the game client registers a key-event for C and triggers whatever is bound to it -- unless it's the character screen. That's just bizarre. I can't do any testing or work on that until tomorrow, so this will have to wait, unfortunately.

OK, update. I don't think there's a straightforward way to fix the issue with the C-key because of how the client behaves. The only way I can fix it script-wise is implementing an option to split the omni-key into two different hotkeys: one for item-related features, and one for the rest. So you'd have the option to bind the part of the omni-key that requires item-info to a different key and keep the main part (that triggers betrayal, Gwennen, etc.) on the middle mouse-button (or wherever you have it).
To me personally, this feels kind of weird from a user-experience standpoint, but let me know what you think. The only other solution would be rebinding inventory to something else other than C and retraining your muscle memory. The fix shouldn't be much work to implement, so don't worry about that when deciding.

Opinion to bind different hotkeys sounds good for me since i've been using keybinds like this for decades.

I have just released v1.27.2 with a fix to the Gwennen-regex and workarounds for custom keybinds. I'll leave this issue open for now, so you can report any additional problems you may encounter.


Enable dead code injection, resulting in an error!

It leads in some places to insert dead code directly into the internal logic without entering the logic of the original code, which is a fatal error.
The whole error generation is probabilistic, not every confusion must occur!
for example:
// after checking the dead code, add additional judgment
if (a(0) == b(0)) { // logically, this judgment statement should not appear "true", but in fact, it went inside!
    // the dead code (Error)
} else {
    // original logic code
}

When I adjusted the dead code injection to zero, everything was ok.


Sonar violations are commented with 'unresolved' status

What feature do you want to see added?
Hello,
We recently upgrade Sonar Gerrit plugin from 2.4.6 to 376.v67dc39df1298.
We noticed that sonar was making "Resolved" comments in grey in the previous version, but it is making "Unresolved" comments in yellow background.
Could you make an option to select the status of the comment?
Thanks!,
Upstream changes
No response

Hello,
If I understand correctly, you want the comments to be created resolved ?
The behaviour did change. Creating comment resolved was a bug that appeared with latest Gerrit versions.
So you want an option to enable the old bug :)
Feel free to open a pull request

Hello,
Is it possible to mark INFO level message from Sonar as resolved, but keep messages above INFO level as unresolved comments?
Thanks!

@baocvcv , I think you can imagine that there is no possible consensus on the rule you suggest.


input decoding error on the args string of train.py

when passing in a string that seems valid a decoding error will be raised with no explanation as to what formating the string should be or what went wrong.
(neox_toolkit) user@user-System-Product-Name:~/Desktop/coder reaserch/gpt-neox$ python train.py --megatron_config /Desktop/coder_reaserch/gpt-neox/tester_stuff/megatronutf8.yml --deepspeed_config /Desktop/coder_reaserch/gpt-neox/tester_stuff/local.yml

Setting ds_accelerator to cuda (auto detect)
Traceback (most recent call last):
  File "train.py", line 23, in <module>
    neox_args = NeoXArgs.consume_neox_args()
  File "/home/user/Desktop/coder reaserch/gpt-neox/megatron/neox_arguments/arguments.py", line 424, in consume_neox_args
    base64.urlsafe_b64decode(args_parsed.megatron_config).decode("utf-8")
  File "/home/user/anaconda3/envs/neox_toolkit/lib/python3.8/base64.py", line 133, in urlsafe_b64decode
    return b64decode(s)
  File "/home/user/anaconda3/envs/neox_toolkit/lib/python3.8/base64.py", line 87, in b64decode
    return binascii.a2b_base64(s)
binascii.Error: Invalid base64-encoded string: number of data characters (61) cannot be 1 more than a multiple of 4

I have traced it back to two libraries which are argparse and base64 and as far as I can tell are part of the base cpython implementation so I cant change those, the python I have is 3.8.16  other than those two libraries nothing touches the string at all
from my own debuging I saw that when I pass a string without a / at the start the base64.urlsafe_b64decode method errors but when there is a / it resolves and the decode("utf-8") call errors instead

Can you share what the string is? Ideally copy-pasted exactly as it is in your document.
My first try to resolve issues like this is simply to manually retype the offending string by hand. Often times it’s an encoding issue that may not even be visually apparent on you system.

as you can see above the input string that is implicated is the varible for --megatron_config
which is the string /Desktop/coder_reaserch/gpt-neox/tester_stuff/megatronutf8.yml

reaserch/gpt-neox$ python train.py --megatron_config /Desktop/coder_reaserch/gpt-neox/tester_stuff/megatronutf8.yml --deepspeed_config /Desktop/coder_reaserch/gpt-neox/tester_stuff/local.yml

this terminal snippet seems to imply you're using python train.py to launch the library yourself--is this correct?
If so, the required way to use the GPT-NeoX library for training is via python ./deepy.py train.py /Desktop/coder_reaserch/gpt-neox/tester_stuff/megatronutf8.yml .

oh your right sorry for the bothering you
if you don't mind explaining whats actually going on there? I am not sure I tried understanding the manipulation happening on the input strings for ages and I got nothing.

From what I recollect, there are two things:

deepy.py handles certain distributed features and commandline arguments to the library, such as running the deepspeed launcher (multinode, if using multiple machines).
The megatron config (which isn't precisely the same as the NeoX yml file, and is in JSON format) is encoded in Base64, resulting in something that looks a bit like a random string of characters being passed to --megatron_config and --deepspeed_config. See this line for where it happens (done by deepy.py). https://github.com/EleutherAI/gpt-neox/blob/2534e3d76e320aba095894e7dc2a4b416a1ac8df/megatron/neox_arguments/arguments.py#L566C40-L566C40 This helps fix errors that arise when using slurm to launch jobs, since slurm may error when characters like " or comments in the YML file are included.


avoid nil exception when awsMachine do not have InstanceIds

In some cases, awsMachines can do not have any InstanceID (seems when they fail to create), and in that case we should just ship those machine to avoid nil pointer exception.

/lgtm


Implement nice reporting of the results

Once the command is executed, it should report back some useful and intuitive information. Currently, only the command of viewing account information has this nice representation of the fetched information.
near-cli in JS can be used as a source of inspiration, but that is not always the best role model, so apply your own reasoning here

UPD: This is already partially addressed in #27.


onEnd is not actually end.

The throttle function takes updateStroke a default 16ms delay after it arrives onEnd event. (there is the last dot to be drawn asynchronously with the onEnd event)
Consider running onEnd synchronously after the final stroke update

Hello, I made a pull request for this a while ago. https://github.com/szimek/signature_pad/pull/313

Thanks @PieterVanPoyer

It is not yet merged in the master. And I don't know if it will ever be merged.
That's up to szimek.

@PieterVanPoyer yep, I have to steal your code from the pull lol


[WIP] support for building nodejs_npm functions

Description of changes: Initial support for building nodejs_npm, for early code review. This does not yet support building projects with local dependencies.
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Copying conversation from slack on difference between claudia pack and this implementation for sake of tracking:
claudia pack vs node_npm workflow from @gojko
There are features in claudia pack that are not in the code yet, but 90% of the common cases will be covered by what I submitted in the PR

There is a lot of complexity to handle local file dependencies, which I find very useful for my work as I like to keep multiple projects in the same repository and just refer locally to them as dependencies. Once I know that the overall code design is OK, I’ll port that over.

Another thing very useful in claudia pack that’s not here is the ability to exclude optional dependencies (we discussed that earlier, I will add an flag that depends on an environment variable to activate/deactivate that).

The third thing I also think is worth porting over from claudia pack is an option to run a post-package script for any kind of project specific build. NPM has the ability to put build phase scripts (similar to Maven) into the manifest, not just dependencies... so this would be a way for developers to customise the stuff sent up to lambda in an automated way

It looks like the overall design of the code is OK? I'll then add unit tests and we can start closing off the first release of this.
Regarding NPM, we could somehow split out integration tests that require NPM from the rest, so you can run them on two different integration test environments. Let me know if that's an option.

Everything looks good, except for the unique_dir comment. Do start writing unit tests. I will create a separate Travis/Appveyor PR to run integ tests

Also, is there a min version of Nodejs & NPM that this implementation assumes?

Also, is there a min version of Nodejs & NPM that this implementation assumes?

this just runs the NPM executable, so as long as there is one on the path, it will work. NPM tends to ignore parameters that it does not understand, so --no-audit and --no-save will have no effect on earlier versions where they are not supported.

@gojko  I just pushed a commit to your branch fixing appveyor & travis - https://github.com/awslabs/aws-lambda-builders/pull/44/commits/7eaad47750fa586b2509078816f8f7dc1dad9570
Also, can you update the PR to send against develop branch instead of master?
The code looks good to me! I think we are good to merge once the integ tests pass

Also, can you update the PR to send against develop branch instead of master?

I've updated the base to merge into develop using the github UI, not sure if that will do the trick or not. if this looks wrong to you, i'll create a completely clean PR

Yup, that's good enough :)
Looks like the integ tests are failing on Windows because its not able to find node/npm :(

I wonder if npm is a separate package you need to install there? it looks like node is installed, but it's not finding NPM.

that's surprising. I tested the appveyor config here - https://github.com/sanathkr/aws-lambda-builders/commit/713d5b2434443682ee05145b1c0a0ac3383f326e.  It did print npm version - https://ci.appveyor.com/project/sanathkr/aws-lambda-builders/builds/20767787/job/5k44u8p3pujh7kg3

Just realized, we never wrote a design document for this. This is just a simple markdown file that explains what the workflow does, like this - https://github.com/awslabs/aws-lambda-builders/blob/develop/aws_lambda_builders/workflows/python_pip/DESIGN.md.
Goal is to let other implementors understand why certain decisions were made. It helps us set context for future design changes.
If you got time, can you add a short design document? If you feel the PR is already big, we can do it in a separate PR later

If you got time, can you add a short design document? If you feel the PR is already big, we can do it in a separate PR later

I added this here https://github.com/awslabs/aws-lambda-builders/pull/44/commits/09d41909bb0113f4824f562ed1d727b6cb637704

The PR looks good to me. My only concern was to be able plugin path resolvers and path validators appropriately without much effort after this gets merged, which is what I have commented.

@gojko  Please confirm this contribution is under the terms of the Apache 2.0 license. Thanks.

@sanathkr  I confirm that my contribution is made under the terms of the Apache 2.0 license.


Kwargs warning on stl export

The ConstructiveGeometry.stl function generates the following warning when used:
┌ Warning: use values(kwargs) and keys(kwargs) instead of kwargs.data and kwargs.itr │   caller = _ at ConstructiveGeometry.jl:221 [inlined] └ @ Core ~/.julia/packages/ConstructiveGeometry/on6NG/src/ConstructiveGeometry.jl:221
Minimal reproducible example in the REPL:

julia> using ConstructiveGeometry
julia> c = cube(1)
Cube
julia> ConstructiveGeometry.stl("cube.stl", c)

I believe this is a simple matter of updating the way the kwargs Dict is used; i could not, however, find anything kwargs-related close to line 221, as specified in the message.

I could not reproduce this — moreover, in the latest version, there is no stl() function. (It has been replaced by save()). Are you sure you have an up-to-date version?

Well, my package had version number 0.2.0, the same as that in Project.toml in the repo. I tried ]update Constructivegeometry, to no success, reinstalling the package, uninstalling and garbage-collecting and reinstalling, also to no success. Maybe if the minor version number was incremented, Julia would recognize there is a new version to be installed. I could manually delete the .julia folder, or some subfolder, but I have lots of environments and would rather not mess with them.
Is incrementing the minor version number something you could try?

This is certainly something I will try (once I feel the code has stabilized enough to at least compile the examples in the docs)


Permission-editing: no issue!

If i wanted to edit the permission table what file would need to be edited i cant seem to find!
plz! all i need is a list of files needed to be edited!

If you mean, you want to have other permisions for cammnds, you will have to edit the bot itself since it's currently not possible to assign permissions to commands in a configuration.
To run the bot, only config.js has to be edited, but you can also customize your messages with language.js in /files.

ty sir
On Sun, Feb 28, 2016 at 12:27 PM, Johannes Diehl<EMAIL_ADDRESS>wrote:

If you mean, you want to have other permisions for cammnds, you will have
to edit the bot itself since it's currently not possible to assign
permissions to commands in a configuration.
To run the bot, only config.js has to be edited, but you can also
customize your messages with language.js in /files.
—
Reply to this email directly or view it on GitHub
https://github.com/Fuechschen/dubbot/issues/13#issuecomment-189917708.

https://stg.plug.dj is back! ^_^
On Mon, Feb 29, 2016 at 3:27 PM, Do Dice<EMAIL_ADDRESS>wrote:

ty sir
On Sun, Feb 28, 2016 at 12:27 PM, Johannes Diehl<EMAIL_ADDRESS>
wrote:

If you mean, you want to have other permisions for cammnds, you will have
to edit the bot itself since it's currently not possible to assign
permissions to commands in a configuration.
To run the bot, only config.js has to be edited, but you can also
customize your messages with language.js in /files.
—
Reply to this email directly or view it on GitHub
https://github.com/Fuechschen/dubbot/issues/13#issuecomment-189917708.

preparement has already started: https://github.com/Fuechschen/plugbot
feel free to ask if you need something


Rotary Positional Encodings

Feature description
Add module to support computing rotary positional embeddings.
Feature motivation
Rotary positional embeddings are used in most modern LLMs as a counter to positional encodings due to their ability to incorporate explicit relative position dependency.

Addressed in PR #1604 . Closing


Fix int32/int64 difference between windows and other platforms; fix inputs mutation issue

Description of changes:
Fix int32/int64 difference between windows and other platforms; fix inputs mutation issue
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

/platform_tests


[BUG]: v0.2.5 can't add plugins anymore

Version
v0.2.5
OS
Linux
Describe the bug
Since version 0.2.5 I can't add plugins anymore with the following error:
Loading plugin from https://version-fox.github.io/version-fox-plugins/python/python.lua...
Checking plugin...
add plugin error: open /home/secretone/.version-fox/plugin/python/main.lua: no such file or directory

Debug flag (very cool it exists now) does not add furhter information unfortunately. Downgrading to v0.2.4 solves this for now.

Oops. Thanks for the feedback, I have fixed this and release v0.2.6. ;)


Fix submodule URL

Update submodule URL from git.wincent.com to github & add some build documentation

Thanks.

It seems like it might make sense to switch the default paths to github then, unless the wincent repos sometimes get ahead of the github ones.

Yeah, I am fine with moving the paths to GitHub. The git.wincent.com repo is the "official" one, but it gets mirrored out automatically to GitHub, GitLab and Bitbucket every hour (and sometimes I just git push && git push github when I don't want to wait for the mirror for whatever reason).

Whoops, accidentally clicked the "Close" button.


[RFC] Use Object Protocol to Support runtime::Module and runtime::NDArray

The unified object protocol is now used by almost all of our runtime objects. However, there are still two exceptions: Module and NDArray. This RFC tries to discuss the possibility to unify them to the object protocol.
The advantage for unification is clear. After the unification, we can benefit from additional features in the object system. e.g. use ADT to directly store NDArrays. We can remove vm::Tensor which is created to overcome this limitation.
However, the change can also bring possible problems depends on how do we do it.
We discuss the design choices in this RFC.
Considerations
The current PackedFunc C API treats NDArray and Module differently from Objects.
We call NDArrayAlloc to allocate an Array and call NDArrayFree to release it.
When we pass an NDArray to a PackedFunc, we set the type code to be kArrayHandle.
This explicit runtime API is simple to implement:
we do not have to follow the explicit object protocol when implementing a minimum runtime.
We can implement the NDArray in a way that does have to deal with ref counting deleter setup.
Moreover, the explicit type_code makes RPC's implementation easy.
As we do not have to deal with the second-level dispatching that reads the type index.
Another key property of the current NDArray::Container the compatibility of its pointer with DLTensor*.
We can directly take an NDArrayHandle allocated from C API and treat it as DLTensor*.
This property may no longer hold if we make NDArray::Container to be a sub-class of Object.
Finally, we need to think about how can we handle sub-classes of NDArray. Right now we
introduce a second tag field in the NDArray::Container, we need to think about whether
or not do we want to reuse Object's type hierarchy, or keep the old approach.
We discuss two options below in terms of calling convention.
Option1: Move to Object Calling Convention
The first option is to simply force NDArray and Module to use the new Object calling convention.
That means that we no longer pass kNDArrayHandle in the type code and instead will pass kObjectHandle.
We can also directly use ObjectFree to de-allocate the NDArray.
This option will force us to change the ABI of PackedFunc calling convention
and needs major updates from all frontend runtimes.
It will also complicate the implementation of RPC a bit, as we cannot exchange
everything through RPC and need to specially handle Module and NDArray here.
Finally, we will also break the compatibility of the NDArrayHandle with DLTensor*.
Option2: Use the New Object Protocol but Keep the Original Calling Convention
In this case, when we assign an ObjectRef to TVMArgs, we specially check if
the reference points to NDArray or Module and set the type_code correctly to be
kArrayHandle and kModuleHandle.
We further use a special argument passing convention for NDArray to
pass the address of the DLTensor and recover the address(by arithmetics) when converting back to an NDArray. This allows us to the backward compatibility NDArrayHandle and DLTensor*.
Although that does mean we can no longer use the ObjectFree to de-allocate NDArrays.
One potential drawback of this approach is the additional checks in the PackedFunc call when an ObjectRef is involved. Although they are very cheap, and we can reduce it further by
avoid such checks when we know more static type information. This approach enjoys the backward compatibility of the ABI and no changes are needed in the frontends.
Current Proposal
We will go with option2 as it keeps everything backward compatible and is pre-req of option1 anyway. We could pursue option1 afterwards, if we decided that it will be helpful to unify all the logics.

previous discussions here https://discuss.tvm.ai/t/discuss-use-object-protocol-for-module-ndarray/4583

Is this RFC good to close since #4289 is done?

https://github.com/apache/incubator-tvm/pull/4581 for the NDArray part


submariner-networkplugin-syncer fails to start

What happened:
When submariner is deployed with a cluster with OVNKubernetes CNI, submariner-networkplugin-syncer fails to start with this error.
 F0620 21:36:09.217221       1 main.go:67] Error registering the handlers: Event handler "ovn-sync-handler" failed to initialize: error creating NBDB connection: error connecting to ovsdb: failed to connect to ssl:ovnkube-db.openshift-ovn-kubernetes.svc.cluster.local:9641: endpoint is not leader
It starts working when the first IP  dig @ ovnkube-db.openshift-ovn-kubernetes.svc.cluster.local
of the headless service is the current kuberntes master.
For example assume <IP_ADDRESS> is the current master. If the dig output is as below it does not work.
$dig @<IP_ADDRESS> ovnkube-db.openshift-ovn-kubernetes.svc.cluster.local
ovnkube-db.openshift-ovn-kubernetes.svc.cluster.local. 5 IN A <IP_ADDRESS>
ovnkube-db.openshift-ovn-kubernetes.svc.cluster.local. 5 IN A <IP_ADDRESS>
ovnkube-db.openshift-ovn-kubernetes.svc.cluster.local. 5 IN A <IP_ADDRESS>

Now if we delete pods with IP <IP_ADDRESS>(one of ovnkube-master pod in openshift-ovn-kubernetes namespace)  . The output of dig changes as below and it starts working
$dig @<IP_ADDRESS> ovnkube-db.openshift-ovn-kubernetes.svc.cluster.local
ovnkube-db.openshift-ovn-kubernetes.svc.cluster.local. 5 IN A <IP_ADDRESS>
ovnkube-db.openshift-ovn-kubernetes.svc.cluster.local. 5 IN A <IP_ADDRESS>
ovnkube-db.openshift-ovn-kubernetes.svc.cluster.local. 5 IN A <IP_ADDRESS>

In short, It starts working when submariner-networkplugin-syncer connects to correct leader.
What you expected to happen:
The submariner-networkplugin-syncer pod should be up and running
How to reproduce it (as minimally and precisely as possible):
Deploy a Openshift 4.11 cluster and deploy submariner. If it is working try deleting the current ovn master and submariner-networkplugin-syncer.
Anything else we need to know?:
Environment:

Diagnose information (use subctl diagnose all):
Gather information (use subctl gather):
Cloud provider or hardware configuration:
Install tools:
Others:

Off the top of my head if we initialize the clients with https://github.com/submariner-io/submariner/blob/devel/pkg/networkplugin-syncer/handlers/ovn/connection.go#L127 set to false this should work, any I may advocate for it since monitoring for leadership changes could be a bit costly and unnecessary.
However, I would like to confer with the OVN/OVN-K teams better understand if we should only be communicating with the active master dbs here.


[Sema] Extend callee diagnosis to complex args including generics, e.g. (Void) -> T

Correctly determine callee closeness for func/ops that include generics as part of more complicated parameters, i.e. tuple or closure args containing generics as elements or args/results. Still only handling single archetypes.
Tests added, all tests pass. The one changed diagnostic in misc_diagnostics is sort of a regression, although both messages are of about equal quality, I think. This commit lets evaluateCloseness find a second partial match for ~= there, but the two partial matches involve different parameter archetypes, so filtering makes the callee argument failure info invalid as a result, thus going back to the generic message as opposed to a specific argument failure message. (In short, the older specific error was actually incorrectly over-specific.)

I'm not very familiar with the diagnostics code so I'm still learning too. I noticed a few potential improvements. I won't insist you address all of them in this patch, but take a look and see if any look like low-hanging fruit. The code can always be improved later too.

I'd like to try the TypeMatcher path and also fix the differing bound generic structs case, and then leave matching with type aliases and other sugared forms for the (hopefully near) future.

Ok! Rewrote this patch to use TypeMatcher, which is a much cleaner way to do it.

Switched Generic -> Archetype transform to use ArchetypeBuilder::mapTypeIntoContext() as you suggested. So this now is hopefully future-proofed, and it also should work for dependent member types.

TypeMatcher had existing mismatch code for checking the base of BoundGenericType types, so that potential problem got fixed by adopting it.

Noticed that one of the improved diagnoses from one of my earlier patches here regressed with the TypeMatcher, and when I looked into it, it was because the previous code got a correct result accidentally by doing something wrong. The parameter was a SubstitutedType and the previous code was looking inside its children (its original type) and finding an archetype there that didn't match. That no longer happens with TypeMatcher because the paramType arg is canonicalized, which replaces the SubstitutedType with its replacement type.

The correct solution to do this in general and not by accident is to pre-populate the substitution vectors with any substitutions that have already been made, so this code also does that in findGenericSubstitutions() now, which leads to a few more corrected diagnoses (such as in Generics/function_defs.swift).

Still not looking for type aliases or sugared types, that's for the future.

All tests pass, new test added, changes to diagnoses for existing tests also cover the new features here. Went ahead and squashed right away because the original commit got entirely changed anyway, so there wasn't anything readable about the diff between the two commits.

This looks good! I'll merge it once it goes through CI.

@swift-ci Please test

Oops. I see I was running just -t instead of -T and a couple of the validation tests failed. Will go back and look at those.

@swift-ci Please test

@slavapestov Looks like only people with commit access can request testing. Made a second commit to check for UnresolvedType in the paramType and changed to a better diagnosis in one of the validation tests, and everything now passes for me locally.

@swift-ci Please test

@gregomni Requesting tests doesn't always work for me either -- I think it might just be flaky. I'll follow up internally

@slavapestov I went and found the announcement and it does explicitly say that only committers can kick it off: https://swift.org/blog/swift-ci/. I can understand that, since it's a fairly long-lived process you don't want random people kicking off zillions of tests.

Huh. There is one failure in a test in IRGen, which I don't see how it could be related to these changes.

@gregomni I'm curious: could you post the output of the failing test in IRGen?

For what it's worth, the next build on that jenkins instance https://ci.swift.org/job/swift-PR-osx/18/, failed with the exact same IRGen error, and it was just doing a build for stdlib changes. So I think that test must be broken by some previous pull.

I belive the broken test was a commit by @DougGregor that he has since fixed.

@swift-ci Please test

Sure thing. Wrapped that line, and squashed.

Cool!


Can you update OpenSSL to the very latest? 1.0.2 is rather old.

Or perhaps provide a separate package, e.g openssl-1.1.1 and then people can switch between the two via pacman -S openssl or pacman -S openssl-1.1.1 or if the default is 1.1.1, then pacman -S openssl-1.0.2

Alright, I'll look into it. In the meantime I should warn that OpenSSL 1.1.1 has an incompatible interface to 1.02, so software based on 1.0.2 will fail to compile. The interface has changed many structures to be opaque pointers and favors getters and setters rather than accessing structure members directly.

We already provide OpenSSL-1.1.1 for mingw packages

I know, I use both, but MSYS2's package is older.

@weallknowthis @dscho new openssl in repo now


https://github.com/ehendrix23/tesla_dashcam/releases/latest/download/tesla_dashcam.zip still contains 0.1.16

0.1.16 is still latest released version.


Add gossip peer score metric

Motivation
We want to know gossip peer score in order to investigate different gossip issues
Description
Part of #3555

The label peer has too much cardinality (too many different values) and will break our metrics. Refer to https://www.robustperception.io/cardinality-is-key as example on rationale.
What we want to know is an idea of the peer's score overall, not per peer specifically. You should use the AvgMinMax metric and dump an array of scores on each scrape

thanks for the guide, in the gossip case I'd like to know number of peers in each threshold:
export const gossipScoreThresholds: PeerScoreThresholds = {
  meshThreshold: 0,
  gossipThreshold: -4000,
  publishThreshold: -8000,
  graylistThreshold: -16000,
};

so I'd create a new Bucket metric for this purpose so that we can reuse later.
@dapplion please let me know if there's a better way to do it

the generated metric looks like this


Add get_files() helper function to return array of files and folders in directory - done

Closing since this change has made its way into the latest packaged release.


AR button is not working on IOS 15, safaricontroller

Description
The AR button is not working on IOS 15, safaricontroller
Live Demo
https://dev.hkep.com/test/keith/video/123.MP4
Version

model-viewer: v1.8.0

Browser Affected

[x] Chrome, version: xx.x.xxxx.xx
[ ] Edge
[ ] Firefox
[ ] IE
[ ] Safari

OS

[ ] Android
[x] iOS
[ ] Linux
[ ] MacOS
[ ] Windows

AR

[x] WebXR
[ ] SceneViewer
[ ] QuickLook

This was a Safari 15.1 bug  that was reported fixed in 15.2: https://github.com/google/model-viewer/issues/2971#issuecomment-998330528


223-text-prediction

Interactive Text Prediction with OpenVINO
This is a demo for text prediction using gpt-2 model
The complete pipeline of this demo's notebook is shown below.

This is an interactive demonstration in which the user can type text into the input bar and generate predicted text. This procedure can be repeated as many times as the user desires.

Is this PR ready to be merged, or has it already been merged?

Hi @dwipddalal. Thank you for this great notebook. We're sorry for the waiting time. We're a small team and were very busy. Absolutely we would like to merge it. It should be possible in July/August. Please wait for the reviews.

Sure @adrianboguszewski, I shall immediately start working on these improvements. Thank you.

Do I have to add this notebook in the following section?

Not this section, but add it to the table below:

Okay sure.

Hi @dwipddalal, could you explain what happened here? This situation (merging 0 commits to our main branch without CIs passing and by an unauthorized person) is impossible taking into account our settings.

I pushed back my commits and updated my branch to the date so I could make a new pull request with all the changes you suggested.
I guess there is some fault in the system because of which it is showing "0 commits to our main branch."

I made a new pull request #611

Thanks. Indeed, it looks like a Github glitch/issue.

Yes. Please do have a look at new PR and let me know if I have to make any more changes or is it ready?


feat: add initial support for 1.2 with the exponentiation operator.

This commit implements initial support for WDL 1.2 with the introduction of the exponentiation operator.
This is only initial support for 1.2; there are a number of changes required for the parser to be 1.2 spec-compliant and for the lint rules to be updated.
Before submitting this PR, please make sure:

[x] You have added a few sentences describing the PR here.
[x] You have added yourself or the appropriate individual as the assignee.
[x] You have added at least one relevant code reviewer to the PR.
[x] Your code builds clean without any errors or warnings.
[x] You have added tests (when appropriate).
[x] You have updated the README or other documentation to account for these
changes (when appropriate).
[x] You have added an entry to the relevant CHANGELOG.md (see
"keep a changelog" for more information).

Great suggestion, let me add that in.


Can't get Playgrounds to work at all, or the code even compiling.

Hi All,
Just trying to do the basic hello world audiokit sample.
AudioKit 3.7.1, XCode 8.3.3 (and/or 9.0-beta), AppCode 2017.2.
I can't seem to get the playgrounds working at all.  Spent 1/2 a day, and no luck. "AudioKit is not defined".
Okay, methinks, I'll just add the framework to my classes skipping the framework.  As long as I don't call the AudioKit, it compiles.
The first couple of lines of Audiokit Hello, World.:
var oscillator = AKOscillator()

AudioKit.output = oscillator  <<< highlights 'AudioKit' as "Expected Definition".

When I cmd-click through AudioKit, AudioKit is an @interface.
So, anyone seen anything to cause this sort of behaviour?

Want to do a screenshare? I can invite you to Screenhero if you send me your email address.

Just a general piece of advice.  If you download the playground stuff directly, it should "just work".  If you're working from the source, you'll need to run build_frameworks.sh in the Frameworks directory, and undo the changes you made that doesn't sound right.  I'll close this issue for now but you can add to it or email me directly and I'll get you up and running.

Hi Aurelius,
Thanks for the offer!  I’ll take you up on it.
I’m on Screenhero as ‘kcorey’.
Is there a specific time over the next few days that would be good for you?
For the record, I am pulling in AudioKit as a Cocoapod.  I was on version 3.5.0, but I’m on 3.7.1 now.
I’ve installed the iOS beta on my iPad (and XCode 9 beta on my iMac, as well as 8.3.3).  Could that have caused issues?
-Ken

I need an email to connect with you on screenhero.  I think it has to do with cocoapods.  Can you try just downloading it direct from https://github.com/AudioKit/AudioKit/releases/download/v3.7.1/AudioKitPlaygrounds-3.7.1.zip

That version will require Xcode8.3.  You'll have to build the version for Xcode9 beta on your machine, but I can work you through that.

Sorry...my email is<EMAIL_ADDRESS>I've downloaded the zip file you've linked to...still says no such module AudioKit/AudioKitPlayground.

Did you run build on the playground project cmd-B or the play button?


[CLI] Sweep creation name parameter

Usage: wandb sweep [OPTIONS] CONFIG_YAML_OR_SWEEP_ID
Create a sweep
Options:
-p, --project TEXT  The project of the sweep.
-e, --entity TEXT   The entity scope for the project.
--controller        Run local controller
--verbose           Display verbose output
--name BOOLEAN      Set sweep name
--program BOOLEAN   Set sweep program
--update TEXT       Update pending sweep
--stop              Finish a sweep to stop running new runs and let
currently running runs finish.
--cancel            Cancel a sweep to kill all running runs and stop running
new runs.
--pause             Pause a sweep to temporarily stop running new runs.
--resume            Resume a sweep to continue running new runs.
--help              Show this message and exit.
I'm expecting to see
--name TEXT      Set sweep name
i get:
--name BOOLEAN      Set sweep name

Hey @manuel-delverme , can you please share the details on how you got this? Also, which wandb version are you using?

This llkes a bug, we should change this line to be default=None instead of default=False

I'm not able to reproduce it myself, but it was in a bug report for my repo (https://github.com/ministry-of-silly-code/experiment_buddy/)

https://github.com/wandb/client/commit/b653c333680a71b77956dfd9b39a95798d719c8c#diff-7a44f7c1d012d75ecf9ae33152ba567bdf056ba3998cc86948298cd34508b564  introduces some changes to the sweep interface if that can help, there should be a bool default that gets inferred wrongly.

Looks like this has since been fixed. Closing..


Custom Sound not working when notification arrive always default ringtone

Custom Sound not working when notification arrive always default ringtone

Since you failed to complete the issue template it's hard to guess the exact scenario you're referring to but going by your comment here it seems you are having problems playing a custom sound on Android 10.
As documented, on Android 8+ it is the notification channel, not the FCM message payload, that defines which sound is played.
Please build and run the example project and send the android_notification_custom_channel test message using the built-in FCM client to confirm this.
You can also change the channel of one of the other test messages to confirm this: android.notification.channel_id="my_channel_id"
I have regression tested the lastest plugin version using the example project on a Pixel 2 running Android 10 and I'm satisfied the custom sound is being played as expected.
So if you are able to reproduce a scenario where this does not work within the example project, please open a new issue, completing the issue template to give full details such as the name of the test message which was sent and the device on which is was tested.


#157762624 Make the app responsive

What does this PR do?
Making the client-side mobile friendly
Description of Task to be completed?

Make  signup page responsive
Make  signin page responsive
Make landing page responsive
Make  requests page responsive
Make new-request page responsive
Make header responsive
Make footer responsive
Create a mobile sidebar

How should this be manually tested?

Clone the branch into your local machine as follows

git clone -b ft-responsive-layout-157762624 git@github.com:DennisWanjiru/maintenance-tracker.git

cd maintenance-tracker/ui/dashboard/

Open request-details.html with a browser
ctrl+shift+j and view in mobile simulation mode

Any background context you want to provide?
Media query breakpoint == 600px
What are the relevant pivotal tracker stories?
#157762624
Screenshots (if appropriate)

Questions?
Is the page mobile friendly?

Good design for mobile for the pages I've viewed

Responsiveness has been achieved

Thanks for the review @asamisellah

This is awesome. Love your design.


[Quesion]How can i install qemu-ga without WindowsInstaller?

I have a Windows without WindowsInstaller.
I copied files to the right place.
But i cann't run because there were some registration entry didn't writed to system.
How can i fix it?

You can find qemu-ga MSIs on virtio-win.iso under  "guest-agent" directory or on the rpm itself
under /usr/share/virtio-win/guest-agent/

You can find qemu-ga MSIs on virtio-win.iso under  "guest-agent" directory or on the rpm itself
under /usr/share/virtio-win/guest-agent/

I said I don't have any Windows Installer service.
I did find the MSI package,But i cann't install it because the Windows Installer.
That's why i opened this issue.

You need to register qemu-ga as a service (although you can run it manually as well as an application):
https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.management/new-service?view=powershell-7.2
And you need to register vss service  (example from installer how to do it) https://github.com/qemu/qemu/blob/master/qga/installer/qemu-ga.wxs#L123
You will need to extract from MSI dependency DLL as well and copy them with qemu-ga.exe : https://github.com/qemu/qemu/blob/master/qga/installer/qemu-ga.wxs#L78

You need to register qemu-ga as a service (although you can run it manually as well as an application):
https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.management/new-service?view=powershell-7.2
And you need to register vss service  (example from installer how to do it) https://github.com/qemu/qemu/blob/master/qga/installer/qemu-ga.wxs#L123
You will need to extract from MSI dependency DLL as well and copy them with qemu-ga.exe : https://github.com/qemu/qemu/blob/master/qga/installer/qemu-ga.wxs#L78

I know what am i need to do now.
But i still don't know what's the  $(var.QEMU_GA_MANUFACTURER) and $(var.QEMU_GA_DISTRO) mean?

You can disregard those keys

You can disregard those keys
But the system said i didn't have the dll file(the message box said)
But i didn't have one:


[Hold Web#43698] Added img attribute caching to ExpensiMark

This PR adds caching for additional attributes to the <img> tags when converted to and back from Markdown.
Due to naming weirdness (current cache fields are named videoAttributeCache and cacheVideoAttributes), new fields were created on the Extras object:

mediaAttributeCachingFn replacing cacheVideoAttributes
mediaAttributeCache replacing videoAttributeCache

Replaced fields are marked as deprecated in JS doc and will be removed after this PR is deployed and NewDot is modified so it doesn't use the deprecated fields anymore.
Logic-wise, only the deprecated properties and the new ones won't ever be used simultanously, hence caching function selection is done by detecting the presence of either deprecated or new fields.
Fixed Issues
https://github.com/Expensify/App/issues/42206
Tests
Added tests to ExpensiMark-HTML-test.js and ExpensiMark-Markdown-test.js to test the conversion logic.
Added tests to ExpensiMark-test.js to test caching function selection logic.
QA
After this is deployed, test in NewDot:

[ ] Disable cache in your browser
[ ] Create a message with text and an image attachment
[ ] Send the message
[ ] Edit the text in the message
[ ] Verify the image thumbnail is displayed correctly
[ ] Verify that the image can be clicked on
[ ] Refresh the page in your browser
[ ] Edit the text in the message once again
[ ] Verify the image thumbnail is displayed correctly
[ ] Verify that no errors appear in the JS console

Asked Rushat for testing on this PR https://expensify.slack.com/archives/C02NK2DQWUX/p1727359643953779

yeah, gimme a moment for checklist

Reviewer Checklist

[ ] I have verified the author checklist is complete (all boxes are checked off).
[ ] I verified the correct issue is linked in the ### Fixed Issues section above
[ ] I verified testing steps are clear and they cover the changes made in this PR

[ ] I verified the steps for local testing are in the Tests section
[ ] I verified the steps for Staging and/or Production testing are in the QA steps section
[ ] I verified the steps cover any possible failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[ ] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)

[ ] I checked that screenshots or videos are included for tests on all platforms
[ ] I included screenshots or videos for tests on all platforms
[ ] I verified tests pass on all platforms & I tested again on:

[ ] Android: Native
[ ] Android: mWeb Chrome
[ ] iOS: Native
[ ] iOS: mWeb Safari
[ ] MacOS: Chrome / Safari
[ ] MacOS: Desktop

[ ] If there are any errors in the console that are unrelated to this PR, I either fixed them (preferred) or linked to where I reported them in Slack
[ ] I verified proper code patterns were followed (see Reviewing the code)

[ ] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick).
[ ] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[ ] I verified that comments were added to code that is not self explanatory
[ ] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[ ] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method
[ ] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[ ] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is either coming verbatim from figma or has been approved by marketing (in order to get marketing approval, ask the Bug Zero team member to add the Waiting for copy label to the issue)
[ ] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[ ] I verified the JSDocs style guidelines (in STYLE.md) were followed

[ ] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[ ] I verified that this PR follows the guidelines as stated in the Review Guidelines
[ ] I verified other components that can be impacted by these changes have been tested, and I retested again (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar have been tested & I retested again)
[ ] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[ ] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[ ] If a new component is created I verified that:

[ ] A similar component doesn't exist in the codebase
[ ] All props are defined accurately and each prop has a /** comment above it */
[ ] The file is named correctly
[ ] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[ ] The only data being stored in the state is data necessary for rendering and nothing else
[ ] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[ ] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[ ] All JSX used for rendering exists in the render method
[ ] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[ ] If any new file was added I verified that:

[ ] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[ ] If a new CSS style is added I verified that:

[ ] A similar style doesn't already exist
[ ] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(theme.componentBG)

[ ] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[ ] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[ ] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[ ] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[ ] If the PR modifies the UI (e.g. new buttons, new UI components, changing the padding/spacing/sizing, moving components, etc) or modifies the form input styles:

[ ] I verified that all the inputs inside a form are aligned with each other.
[ ] I added Design label and/or tagged @Expensify/design so the design team can review the changes.

[ ] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[ ] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.
[ ] I have checked off every checkbox in the PR reviewer checklist, including those that don't apply to this PR.

Screenshots/Videos

Android: Native

Android: mWeb Chrome

iOS: Native

iOS: mWeb Safari

MacOS: Chrome / Safari

MacOS: Desktop

@mjasikowski im not able to build this. Could you please help me out?
I tried:

Pull this branch to expensify-common local repo.
Build the branch cd expensify-common && npm run build
Go to Expensify/App/
Install expensify-common from local directory - npm i expensify-common ../expensify-common --save

I also tried directly installing the branch to Expensify/App using npm i git+https://github.com/Expensify/expensify-common.git#michal-img-attributes
error: Module not found: Error: Can't resolve 'expensify-common' in '/Users/rushatgabhane/code/App/src/pages/workspace/reportFields

@rushatgabhane I had a similar problem and couldn't figure it out, so I just built expensify-common and copied over the contents of dist to ./App/node-modules/expensify-common

That worked, thank you!

@mjasikowski so im having a few issues with opening the image. Steps i followed

Disable cache
Type message in composer and send an image attachment
Edit the message
Tap the image to open it

Expected: Image loads.
Actual: the image does not load.
I am able to load the image if I don't edit its text. i.e. skip step 3.

@rushatgabhane thanks for testing, I'll take another look on Monday - it may be that we need a small API addition.

It seems that the API also strips the tags, so that is fixed with https://github.com/Expensify/Web-Expensify/pull/43698
We're holding with full tests until the above is merged.

@rushatgabhane the backend PR is now deployed to production, so this is no longer held and ready for testing

Web
Mobile

I will just move this ahead now


Atari Pong dreamer.py not working with 16bit precision: "No inf checks were recorded for this optimizer" error

Greetings.
Thank you very much for your work on porting the original TF2 implementation to pytorch, as well as open sourcing it.
I have recently been looking over this kind of project that port Dreamer-v1 / v2 to Pytorch for some experiment in my research, hence my interest in your code.
I was wondering if you had some insight on the follow problems I ran into when trying to run the code from this repository.
1. 16 bit precision error.
As a first try, I attempted to execute the default dreamer agaent on Atari's Pong, running the same command as in the original implementation: python3 dreamer.py --logdir ~/logdir/atari_pong/dreamerv2/1   --configs defaults atari --task atari_pong.
However, after the experience buffer was pre-filled and training is about to start, the scirpts returns the following error which seems to be related to Torch's AMP, which I understand as being related to the mixed precision computation:
(dreamer-torch) dreamer-torch$ python dreamer.py --logdir ./logdir/atari_pong/dreamerv2/2 --configs defaults atari --task atari_pong
Logdir logdir/atari_pong/dreamerv2/2
Create envs.
Prefill dataset (0 steps).
Eval episode has 934 steps and return -20.0.
[201372] eval_return -20.0 / eval_length 934.0 / eval_episodes 1.0
Invalid MIT-MAGIC-COOKIE-1 keySimulate agent.
[201372]
Start evaluation.
Eval episode has 832 steps and return -20.0.
[201372] eval_return -20.0 / eval_length 832.0 / eval_episodes 1.0
Start training.
[201372] fps 0.0
Traceback (most recent call last):
  File "dreamer.py", line 317, in <module>
    main(parser.parse_args(remaining))
  File "dreamer.py", line 295, in main
    state = tools.simulate(agent, train_envs, config.eval_every, state=state)
  File "/home/d055/random/rl/dreamer-torch/tools.py", line 136, in simulate
    action, agent_state = agent(obs, done, agent_state, reward)
  File "dreamer.py", line 75, in __call__
    self._train(next(self._dataset))
  File "dreamer.py", line 144, in _train
    metrics.update(self._task_behavior._train(start, reward)[-1])
  File "/home/d055/random/rl/dreamer-torch/models.py", line 207, in _train
    metrics.update(self._actor_opt(actor_loss, self.actor.parameters()))
  File "/home/d055/random/rl/dreamer-torch/tools.py", line 481, in __call__
    self._scaler.step(self._opt)
  File "/home/d055/anaconda3/envs/dreamer-torch/lib/python3.8/site-packages/torch/cuda/amp/grad_scaler.py", line 337, in step
    assert len(optimizer_state["found_inf_per_device"]) > 0, "No inf checks were recorded for this optimizer."
AssertionError: No inf checks were recorded for this optimizer.

Do you happen to have any idea on why this might be ?
I am using Python 3.8.12, and installed the dependencies using pip install -r requirements.txt provided in the repository.
2. Little out of topic issue: using 32 bit precision
I tried to play with the precision the scripts use for their computation by setting --precision 32 (to my understanding, this is the default precision of Pytorch), and the code does end up running without the previous error.
However, even after training the agent for around 16 millions steps, there is not improvement in performance, unlike the curves you have provided for Atari pong.
I was thus wondering if the change of the precision might have been the reason for this, and would be interested to know your opinion about it, as well as any recommendation for running the code in this repository to at least reproduce the original paper's result.
Thank you very much for your time.
Looking forward to hear back from you.
Best regards.

Hi Dosssman,
Thank you for your interest in my implementation.
First of all, I will try to reproduce your problem on my side.
I don't think the performance issue (your second question) is not related to precision configuration (As I experienced, the Pong game might be okay to be learned).
In those days, I changed my codes a little for optimization and clean-up, that could be the reason. Anyway, I will check and leave my results on here soon.
Thank you again!
Bests, Jaesik.

Thank very much you for your fast answer!
Looking forward to hear more about your result with 16 bit experiments then.

I found a bug when calculating gradient on the imagination part, I fixed and uploaded the fixed version. Your first problem is gone.
I am running atari pong with precision 32 and 16 configurations, I will share the results.
Bests, Jaesik.

I checked my updated version is not working for atari pong, and update it similar to the previous version.
However, it is also not working with the precision=16 option, I cannot find the reason on my codes T_T

Pink is with precision 32, sky-blue is with precision 16.

Hello.
Thank you very much for looking into this. It is unfortunate that the 16 bit version does not seems to work.
I suspect that depending on the tasks, the observed values as the reward prediction, probability estimation, expected return, and small valued gradients lead to not precise enough results, which could hurt the learning of the agent. I guess there might be some additional tuning required to support 16 bit precision on torch.
While the original author's implementation does seem to work with 16 bit, the implementation of mixed precision in TF and Torch might differ enough to also be a contributing factor.
Fortunately, the 32 bit version seems to work well enough. I have also tested on my side, the same way you did, and get similar results.

Again, hank you very much for taking the time to look into this.
I will be referencing your code during my experiments using 32 bits as default for now.
I will be closing this issue, in any case.
Let's keep up the good work.

python 3.10 install gym error

python3.9 ok;; install req.txt  ok;


https://chrome-infra-packages.appspot.com/dl/flutter/web/canvaskit_bundle/+/yrsfF-vTvu4jzBBm1o6tDl70dky-l4G29Dnj75UvRDgC . Ensure you have network connectivity and then try again.

https://chrome-infra-packages.appspot.com/dl/flutter/web/canvaskit_bundle/+/yrsfF-vTvu4jzBBm1o6tDl70dky-l4G29Dnj75UvRDgC
. Ensure you have network connectivity and then try again.

Hi @jinfagang
When opening an issue, please try to provide all or some of the information indicated in the template so that we can address this issue properly.

Issue Template
If you are looking for support, please check out our documentation
or consider asking a question on Stack Overflow:
- https://flutter.dev/
- https://api.flutter.dev/
- https://stackoverflow.com/questions/tagged/flutter?sort=frequent

If you have found a bug or if our documentation doesn't have an answer
to what you're looking for, then fill our the template below. Please read
our guide to filing a bug first: https://flutter.dev/docs/resources/bug-reports

Steps to Reproduce

Please tell us exactly how to reproduce the problem you are running into.

Please attach a small application (ideally just one main.dart file) that
reproduces the problem. You could use https://gist.github.com/ for this.

If the problem is with your application's rendering, then please attach
a screenshot and explain what the problem is.

1. ...
2. ...
3. ...

Please tell us which target platform(s) the problem occurs (Android / iOS / Web / macOS / Linux / Windows)
Which target OS version, for Web, browser, is the test system running?
Does the problem occur on emulator/simulator as well as on physical devices?

Target Platform:
Target OS version/browser:
Devices:

Run your application with `flutter run --verbose` and attach all the
log output below between the lines with the backticks. If there is an
exception, please see if the error message includes enough information
to explain how to solve the issue.

Run `flutter analyze` and attach any output of that command below.
If there are any analysis errors, try resolving them before filing this issue.

Finally, paste the output of running `flutter doctor -v` here.

To be more precise, please provide the information indicated below:

A completed and minimal reproducible code sample
The output of flutter doctor -v
Reproduction steps
Which environment did this issue happen in?

Thank you!

please don't place any source to chrome url, it was bannded in China, thank u!

Hi @jinfagang
In order for the issue to be verified properly, please provide the information indicated at https://github.com/flutter/flutter/issues/114160#issuecomment-1294762103. Thank you!


[sdl2-mixer:x64-uwp] build failure

Host Environment

OS: Microsoft Windows 10 Pro 1909

Compiler:  MSVC 19.26.28720.3

To Reproduce
Steps to reproduce the behavior:
PS C:\vcpkg> .\vcpkg install sdl2-mixer:x64-uwp
Failure logs
PS C:\vcpkg> .\vcpkg install sdl2-mixer:x64-uwp
Computing installation plan...
The following packages will be built and installed:
sdl2-mixer[core]:x64-uwp
Starting package 1/1: sdl2-mixer:x64-uwp
Building package sdl2-mixer[core]:x64-uwp...
-- Using cached C:/vcpkg/downloads/SDL2_mixer-2.0.4.zip
-- Using source at C:/vcpkg/buildtrees/sdl2-mixer/src/2.0.4-a895b09396
-- Configuring x64-uwp
-- Building x64-uwp-dbg
CMake Error at scripts/cmake/vcpkg_execute_build_process.cmake:136 (message):
Command failed: C:/vcpkg/downloads/tools/cmake-3.14.0-windows/cmake-3.14.0-win32-x86/bin/cmake.exe --build
. --config Debug --target install -- /p:VCPkgLocalAppDataDisabled=true /p:UseIntelMKL=No /m
Working Directory: C:/vcpkg/buildtrees/sdl2-mixer/x64-uwp-dbg
See logs for more information:
C:\vcpkg\buildtrees\sdl2-mixer\install-x64-uwp-dbg-out.log
Call Stack (most recent call first):
scripts/cmake/vcpkg_build_cmake.cmake:91 (vcpkg_execute_build_process)
scripts/cmake/vcpkg_install_cmake.cmake:24 (vcpkg_build_cmake)
ports/sdl2-mixer/portfile.cmake:49 (vcpkg_install_cmake)
scripts/ports.cmake:90 (include)
Error: Building package sdl2-mixer:x64-uwp failed with: BUILD_FAILED
Please ensure you're using the latest portfiles with .\vcpkg update, then
submit an issue at https://github.com/Microsoft/vcpkg/issues including:
Package: sdl2-mixer:x64-uwp
Vcpkg version: 2020.02.04-nohash
Additionally, attach any relevant sections from the log files above.
4>music.obj : error LNK2019: unresolved external symbol native_midi_detect referenced in function open_music_type [C:\vcpkg\buildtrees\sdl2-mixer\x64-uwp-dbg\SDL2_mixer.vcxproj]
Additional context
I'm really noob, I may missing a lib in my environment, but I didn't have any problem building sdl2-mixer:x64-windows port...
sorry for disturbing you guys!

install-x64-uwp-dbg-out.log

The same issue happens on x64-windows with libvorbis.

Good news,
Last update

Any updates on this? I'm having the same issue as well.


If set verifySSL as false in ClientConfiguration, what's the risk?

In production environment (AWS EC2), If set verifySSL as false in ClientConfiguration, what's the risk?
Because it was found that when use verifySSL default value ### true, the daemon process use SQS SDK will make memory keep increase, related with this issue: https://bugzilla.redhat.com/show_bug.cgi?id=1395803
But if disable the verifySSL, there will be no leak.
Of course, upgrade libcurl using openSSL is also the solution.

This page explain the risks for you.
https://curl.haxx.se/libcurl/c/CURLOPT_SSL_VERIFYPEER.html
In short, no verification could lead to middle-man-attack


Duplicate transactions will now return a 409 'Conflict' HTTP response code.

Purpose
Solves https://github.com/Concordium/concordium-wallet-proxy/issues/35
Prior the wallet proxy has been unable to distinguish why transactions fails when send to the node.
This has to some degree changed with https://github.com/Concordium/concordium-node/pull/217.
The wallet proxy can now report back to the callee if the transaction was a duplicate.
A duplicate transaction will now yield a HTTP 409 'Conflict' response with the following content:
{"error":3,"errorMessage":"The transaction is a duplicate"}
Note. The current in use logic for this handling is quite fragile as it requires matching on a string which origins from the node and subsequently is being modified through the concordium-client.
This solution should be revised when the concordium-client offers a richer type system for GRPC errors.
The proposed solution should be sufficient for the current requirements and will improve the feedback for consumers of the wallet-proxy.
Changes
runGRPC now checks whether the returned gRPC error stems from a duplicate transaction or not.
If the transaction is duplicate then the proxy will now return a HTTP 409 response, otherwise it will function as before i.e., return a HTTP 502 response with the generic content: Cannot communicate with node via GRPC endpoint.
Checklist

[x] My code follows the style of this project.
[x] The code compiles without warnings.
[x] I have performed a self-review of the changes.
[x] I have documented my code, in particular the intent of the
hard-to-understand areas.
[x] (If necessary) I have updated the CHANGELOG.

With all the changes in V2 migration this PR is no longer relevant so instead of having it linger I will close it.


member: Expose validation check for a member-role

Add a validation check that examines the member username and role name,
making sure they are not matching.
To trigger the validation, call is_valid method on the MemberRole
object instance.
Raises a ValidationError excetion if names match.

change: Rebase


Trigger output with IR input?

Can't see anything in the read me or wiki about this, so though I'd ask :)
Can an IR output blast be triggered by an IR input?
For example I want to map an unused button on my tv remote so when I press it the blaster will send power-on IR commands to all of my devices.
Thanks.

Not currently a planned feature but could easily be implemented using the ESP8266 IRRemote project that this project utilizes


Question: Why isnt a Task returned from SaveChangesAsync()?

I am trying to figure out how many entities were changed and I dont see the SaveChangesAsync() returning it.  How can I determine this?

Good point! We should do that.
Note for the next release.


Custom annotations as BindType with predefined params

Hi! I want to suggest changes to support custom annotations which could be used as BindType with predefined params.
Example for view models used in a RecyclerView in a fragment. We can create annotation:
@AsBindType(
  BindType(
    to = ViewModel::class,
    contributesTo = BindType.Collection.MAP,
    installIn = BindType.Component.FRAGMENT,
  )
)
@MapClassKey
annotation class FragmentViewModel

Then mark some view models with it:
@BindTypeWith(FragmentViewModel::class)
class InstrumentItemViewModel @Inject constructor(
  private val store: IStore,
  private val coordinator: ICoordinator,
) : BaseViewModel()

@BindTypeWith(FragmentViewModel::class)
class OrderItemViewModel @Inject constructor(
  private val store: IStore,
) : BaseViewModel()

And after that use it in some ViewModelFactory:
class ViewModelFactory @Inject constructor(
  private val providersMap: @JvmSuppressWildcards Map<Class<*>, Provider<ViewModel>>
) : ViewModelProvider.Factory {
  override fun <T : ViewModel> create(modelClass: Class<T>): T {
    val creator = providersMap[modelClass] ?: throw IllegalArgumentException("unknown model class $modelClass")
    @Suppress("UNCHECKED_CAST")
    return creator.get() as T
  }
}

Not accepting new features as of now. Thanks for the effort though.


Write and publish blog post with Emmy

https://docs.google.com/document/d/1EkFK5rcK2j-8e3nneQVGljMGhZJpRijX80osGcCmesc/edit

Live here: https://www.open-bio.org/2019/11/12/supercharge-your-open-project-with-leadership-training/
We're also trying to cross-post with the SSI