File IO: IO.readFile(filename)

The start of #87.

What about having a File class instead of sticking it on IO as a static method? I was playing around with some basic implementations of #87 as well and it seemed a nicer API to have a separate class for dealing with files.

Giant braindump!
This is a small step down a very long road. Before we start incrementally adding stuff like this, we should think about the long term plan.
I look at Wren mostly as an embedded scripting language. That means it has a pretty minimal standard library and, in particular, the standard library is mostly concerned with interacting with Wren objects and doesn't reach out to the outside world.
At the same time, Wren-the-project also includes a little standalone command line shell for the VM. It's like Lua's little command-line runner where it basically lets you play with the language but doesn't do that much else. It's also certainly handy for the tests and benchmarks!
Then there's things like node.js and luvit which take an embeddable language (JS and Lua respectively) and wrap them in a command-line shell that provides a full panoply of IO operations.
All three of these levels (embeddable, thin shell, thick shell) are, I think, useful in their own right and worth doing. What it's important to me is making sure that one doesn't interfere with the others.
Embedders very may not want to suck in file IO, so they need to be able to opt out of that. For the thin embedder, we'll want to keep the file support (if any) minimal and simple. But a more full-featured command line wrapper may want more detailed file support. Is there a way we can rationalize those two together? It would be confusing if there were two different file APIs.
One option, of course, is to ditch the thin embedder. Just have a pure embeddable language with a very minimal standard library, and a kickass command-line app that uses it and offers a full slew of IO libraries. That's certainly appealing, but it's a ton of work, even with all of you also cranking on it.
I also think that until we have a solid module story, it will be really difficult to grow its libraries. We don't want to dump everything in the global namespace.
Another option is to create "node.wren" as a separate repo. It would use Wren as embedded scripting language and have its own shell around it and provide whatever IO libraries it wants. This would both exercise the embedding API (which is a super high priority for me) and make sure I'm not the bottleneck for getting changes landed.
At some point, I would be happy to have it all part of one monolithic "Wren project", but maybe treating it separately would let us all move quickly on the things we're excited about.
What do you think?

Yeah, most of this was to get us thinking about that. I'm going to digest @munificent's comments and reply later.
Regarding File as its own class, I agree, with one slight caveat. I like IO systems that maximize code reuse across streams/handles/files/sockets/etc. This makes going from a stdin/stdout implementation to a server just swapping out the handles. Here's a presentation I did demonstrating that in Haskell: https://github.com/HaskellMN/haskell-mn-presentations/tree/master/2014/09/echo-server
To do something like this in wren, IO could have methods with a default handle argument to stdin/stdout, but optionally passing in handles to other things, such as files.
Here's what I'm envisioning (note the block passed into File, with an implicit file close).
File.open(filename) { |file|
  var contents = IO.read(file)
  IO.write(contents)  // to stdout
  IO.write(contents, file) // to file
}

@munificent, thinking a bit more about dividing it up, but along different lines...

wren: this repo; the embeddable portion, minimal built-ins
wren-cookbook: a new repo with stuff like File IO (maybe all IO?) available with compile flags to enable and disable support for individual features
wren-repl: a thin wrapper around wren-cookbook written in wren to do about what you describe as node.wren

What do you think?

@zeckalpha

What do you think about building the IO related functionality on top of the idea of streams (inspired in part by the Node implementation of streams)? I think streams are a pretty powerful concept that could see use in IO but they can also be used for other use cases.

I like where that idea is headed although I would envision there to be just two parts: wren and then wren-repl which would be similar to a distribution of Python or Ruby. I feel as though the REPL is a standard thing that should come with a language (unless it's embedded of course).

I meant C streams like stdin, stdout. I don't know much about what node
does, but I'd imagine wren's fibers and blocks might be more along those
lines. Unless they are streams as in lazy lists?
On Wednesday, January 14, 2015, Gavin Schulz<EMAIL_ADDRESS>wrote:

@zeckalpha https://github.com/zeckalpha

What do you think about building the IO related functionality on top of
the idea of streams (inspired in part by the Node implementation of
streams)? I think streams are a pretty powerful concept that could see use
in IO but they can also be used for other use cases.

I like where that idea is headed although I would envision there to be
just two parts: wren and then wren-repl which would be similar to a
distribution of Python or Ruby. I feel as though the REPL is a standard
thing that should come with a language (unless it's embedded of course).

—
Reply to this email directly or view it on GitHub
https://github.com/munificent/wren/pull/108#issuecomment-70031042.

note the block passed into File, with an implicit file close

I absolutely love this. "Scoped" code like this for managing resources is one of my main motivations for adding block syntax to the language. Love it.
But, given that, I wouldn't lean on static methods on IO. We have objects, we should use them. :) I'd do something like:
File.open(filename) {|file|
  // This is ambiguous with IO.read(prompt), but perhaps that should be a different method.
  var contents = file.read
  IO.write(contents) // to stdout
  file.write(contents)
}

Re wren-cookbook and wren-repl: I'm not sure I understand how the separation between will work. Are you thinking of the cookbook as basically a collection of libraries written in C + Wren but with no application shell to load it all together?
Do we get a lot of value from separating them?

What do you think about building the IO related functionality on top of the idea of streams (inspired in part by the Node implementation of streams)?

For what it's worth, I actively dislike streams. Wren has fibers so that we don't have to use asynchrony. We can writing blocking code and let the scheduler handle suspending fibers as needed. In other words, Wren follows Go's model, not node's.
When I was working on Magpie (which also has fibers, but a bit more similar to Goroutines than Wren's fibers are), its core libraries sat on top of libuv and it was a total match made in heaven. Getting all of the speed, concurrency, and portability of libuv + the ease of use of blocking-style code. It's amazing.
If we're going to slap some real IO libraries in Wren, I really really hope that's the direction we go in. You can see some of the relevant code here. It was surprisingly straightforward to get it hooked up, and I'd be happy to hack on this for Wren.

Are you thinking of the cookbook as basically a collection of libraries written in C + Wren but with no application shell to load it all together?

Yes. The libraries would be selectively compilable and embeddable where ever Wren is embedded. If an embedder would like File IO, they enable that flag. Would all embedders who want, File IO, more math functionality, etc., want a repl, too?

The libraries would be selectively compilable and embeddable where ever Wren is embedded.

Ah, I think I understand that better.
I could be wrong, but my intuition is that libraries will fall into two buckets:

Isolated ones that can mostly be implemented in pure Wren. These are the kind of thing you'd see on CPAN, RubyGems, etc. Just, you know, packages, where they may as well be third-party.

Ones that have a decent amount of native code, close ties to the scheduler/event loop, do IO, and are pretty intertwined. I think these are basically what node is and are part of the built-in standard library in other languages. For these, I think it probably makes the most sense to have them as one monolithic "platform" layer. That's what I have in mind when I say "node.wren".

Would all embedders who want, File IO, more math functionality, etc., want a repl, too?

Everyone wants a REPL! :)

I'm not sold on the name, but otherwise that sounds great.
On Thursday, January 15, 2015, Bob Nystrom<EMAIL_ADDRESS>wrote:

The libraries would be selectively compilable and embeddable where ever
Wren is embedded.
Ah, I think I understand that better.
I could be wrong, but my intuition is that libraries will fall into two
buckets:

Isolated ones that can mostly be implemented in pure Wren. These are
the kind of thing you'd see on CPAN, RubyGems, etc. Just, you know,
packages, where they may as well be third-party.
2.
Ones that have a decent amount of native code, close ties to the
scheduler/event loop, do IO, and are pretty intertwined. I think these are
basically what node is and are part of the built-in standard library
in other languages. For these, I think it probably makes the most sense to
have them as one monolithic "platform" layer. That's what I have in mind
when I say "node.wren".
Would all embedders who want, File IO, more math functionality, etc.,
want a repl, too?
Everyone wants a REPL! :)
—
Reply to this email directly or view it on GitHub
https://github.com/munificent/wren/pull/108#issuecomment-70175407.

Oh, I'm definitely not saying we should actually call it "node.wren", just that that's the idea: Wren-the-language + libuv-io-libraries. For a real name, maybe something like "wren.io"?

Sure. Do you want to make a GitHub organization for wren, and wren-io can be another repo in there? I would feel weird making my own wren-io repo, but I do have a few ideas for how to get started.

I feel like an organization is getting a bit ahead of ourselves. I formally grant you the freedom to make a wren-io repo. :)
And, just to be clear here, I'm not asking you to do this because I think it's less important or want to push it off to the side or don't want you bugging me or anything like that. I think something like wren-io is super awesome and I'm pumped that you're keen on it. I just don't want you having to send pull requests to me to slow you down. I look forward to sending you pull requests on it. :)
Do it! It's going to be awesome! I just have a few suggestions since I went down a similar path with Magpie:

Do use libuv. It's fantastic.
Try not to use gyp (the build/project system libuv uses).
Do use fibers in Wren to make the IO APIs synchronous while the underlying behavior is async. I can give you help here if you want, since I did this for magpie.

In the meantime, this will let me focus on making Wren itself a great language for building this platform on. I'll try to get a module system figured out, flesh out the embedding API, etc.

Done. zeckalpha/wren-io
Nothing there yet. I'll add some stuff later today, hopefully.

I'll be watching it!


SP5 WinUi: automatic display scaling for pointer interaction

Suggestion:
I have a problem that scott plot is not reflecting the display scale in WinUi and in attachement should be path that should fix it.
// add this line to WinUiPlot() method in WinUIPlot.cs
        Loaded += WinUIPlot_Loaded;
//then created a handler for it this is called after initialization of the WinUiPlot to get proper display scale
    private void WinUIPlot_Loaded(object sender, RoutedEventArgs e)
    {
        if (XamlRoot != null)
        {
            XamlRoot.Changed += DetectDisplayScale; ;
            Plot.ScaleFactor = XamlRoot.RasterizationScale;
            DisplayScale = (float)XamlRoot.RasterizationScale;
        }
    }
// and also handler for detect display scale it is called when user move application from monitors with different scale
    private void DetectDisplayScale(XamlRoot sender, XamlRootChangedEventArgs args)
    {
        if (XamlRoot != null)
        {
            Plot.ScaleFactor = XamlRoot.RasterizationScale;
            DisplayScale = (float)XamlRoot.RasterizationScale;
        }
    }

ScottPlot-79f4062-SP5 WinUi automatic display scaling.patch

Thanks @PZidlik, thanks for the fix! I greatly appreciate your work here because I'm not an expert in WinUI, and this really helps. I applied your patch in #3643 and it will be in the next release 🚀


chore: make the evm client and relayer testable

Overview

This PR refactors the relayer and EVM client to make them testable.
It mainly makes the eth client and transaction opts pluggable so that we can simulate them using geth simulated backend.
Contributes to: https://github.com/celestiaorg/orchestrator-relayer/issues/55
Checklist

[ ] New and updated code has appropriate documentation
[ ] New and updated code has new and/or updated testing
[ ] Required CI checks are passing
[ ] Visual proof for any user facing features like CLI or documentation updates
[ ] Linked issues closed with keywords

Codecov Report

Merging #85 (8023dfd) into main (a2d8eca) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main      #85   +/-   ##
=======================================
  Coverage   17.52%   17.52%
=======================================
  Files           2        2
  Lines          97       97
=======================================
  Hits           17       17
  Misses         79       79
  Partials        1        1

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

mind elaborating a bit on how this makes it more testable? just by using the testops?

Yes, when running tests, we will use the simulated backend ops. However, when we use a real network, we will pass the real opts created using an EthClient.


Test documentation standards

Please add tests for documentation standards:
https://make.wordpress.org/core/handbook/inline-documentation-standards/php-documentation-standards/

See @Rarst's tweet in regards to incorporating the Squiz.Commenting sniffs: https://twitter.com/rarst/status/567237335495221248

I'm going to change my mind again. I think a WordPress-Docs ruleset is best, but include that in the overall WordPress ruleset, so that it's still on by default.

I've started https://github.com/WordPress-Coding-Standards/WordPress-Coding-Standards/compare/temp/241-commenting?expand=1
Lots of exclusions from the default Squiz.Commenting, and not looked to see if Generic might be better.
Plenty of cases where we're going to need to write custom sniffs, if there aren't parameters to tweak what we need.
I've created a quick test file and asked the Docs channel on Slack to see if this is right so we can check the perfect case doesn't generate false positives.

I realise that it would be better to whitelist which checks we want, instead of excluding, so that we're not at the mercy of PHPCS introducing a check that isn't relevant. I'll change this.

I'd like to whitelist which messages are reported, but this isn't possible

See https://github.com/squizlabs/PHP_CodeSniffer/issues/586.

@GaryJones I think this can be closed now that WordPress-Docs ruleset was added in #381?

No @JDGrimes - that was the first pass / easy wins. There are still plenty of aspects of comments / inline docs that are not yet tested, so I'd like to keep this open.
Alternatively, it can be closed, and a new one opened if that makes sense for the release paper trail.

Just wanted to comment, as it resulted in us changing how we used the WordPress coding standards.
According to here:  https://make.wordpress.org/core/handbook/inline-documentation-standards/php-documentation-standards/
Wordpress makes an attempt to adopt PSR-5 standards, but they are not intending it to be PSR-5 complaint.  Further, the language of the drafted standards here use SHOULD and RECOMMENDED throughout, but this changes the intent to almost a MUST.
While I agree that these SHOULD be present, I'm also answering to developers that are working to ensure we meet the standards they MUST have according to the Wordpress standards defined.  Do you have special insight into this process that suggests WordPress standards will enforce the need for this, as we have had none.
My thought is, these should not be listed as errors when they are merely recommended and should be present but not required. (It pains me to say that as I would rather they be required!)
It makes it complicated when we have a standard being enforced as the "WordPress" standard which doesn't actually match "WordPress' standard".

Just wanted to comment, as it resulted in us changing how we used the WordPress coding standards.
According to here:  https://make.wordpress.org/core/handbook/inline-documentation-standards/php-documentation-standards/
Wordpress makes an attempt to adopt PSR-5 standards, but they are not intending it to be PSR-5 complaint.  Further, the language of the drafted standards here use SHOULD and RECOMMENDED throughout, but this changes the intent to almost a MUST.
While I agree that these SHOULD be present, I'm also answering to developers that are working to ensure we meet the standards they MUST have according to the Wordpress standards defined.  Do you have special insight into this process that suggests WordPress standards will enforce the need for this, as we have had none.
My thought is, these should not be listed as errors when they are merely recommended and should be present but not required. (It pains me to say that as I would rather they be required!)
It makes it complicated when we have a standard being enforced as the "WordPress" standard which doesn't actually match "WordPress' standard".

No coding standards is a MUST, certainly not one from created from a community, instead of internal company decisions. As such, it makes all the suggestions optional.
While the language in PSR-5 is a little forgiving, the coding standards in the WP Handbook are less so, and that's what the WPCS sniffs try to emulate.There's no special insight here - the choice to have inline comments and documentation in a certain way is no different than the choice of naming things or use of whitespace in other parts of the handbook. If you're company decision is to take all of them at the SHOULD level instead of MUST, then that's your right to do so.
cc @DrewAPicture

Sorry, I guess what I meant is prior to #381 Wordpress-Docs was not included in the Wordpress ruleset, thus in the past we were not forced to exclude tests.  This is what I meant by "Must" versus "Should", if it is optional, and having sent lots of code to VIP the commenting is pretty optional, then why make those checks part of a basic Wordpress ruleset by default?
Certainly we work around it...by adding exclusions all throughout our code for something that we previously did not have to exclude.

Sorry, I guess what I meant is prior to #381 Wordpress-Docs was not included in the Wordpress ruleset, thus in the past we were not forced to exclude tests. This is what I meant by "Must" versus "Should", if it is optional, and having sent lots of code to VIP the commenting is pretty optional, then why make those checks part of a basic Wordpress ruleset by default?

If you are checking code for VIP, you might just want to use the WordPress-VIP standard instead of WordPress. The VIP standard doesn't include the WordPress-Docs ruleset.

Certainly we work around it...by adding exclusions all throughout our code for something that we previously did not have to exclude.

If you still want to use the whole WordPress standard instead of just the VIP rules, you can easily configure it without placing any exclusions in your code at all. Just create a custom ruleset.xml file that excludes WordPress-Docs. Something like this:
<?xml version="1.0"?>
<ruleset name="WordPress-Custom">
	<description>Custom WordPress Coding Standards</description>

	<rule ref="WordPress"/>
	<exclude ref="WordPress-Docs"/>
</ruleset>

Thanks.

I sort of implied this in passing above, but we should sniff hook docs as well. I think that will require us to write some custom sniffs, though.

It will - this ticket was only ever about re-using existing sniffs that match what WP wants already. There's plenty of aspects of non-hook DocBlocks that are not tested yet.

OK, I've make a separate ticket: #424

I'm not sure where this is at in getting over the finish line, but I'd be happy to put some time towards it. I think this would be a huge benefit to the community.

I think the work needing to be done for this is to create a test suite of code that uses the WordPress documentation standards, and then to run PHPCS with WordPress-Docs against this suite to then ensure that all of the expected errors and warnings are accounted for. There are also unique features of the WordPress documentation standards that need sniffs, specifically regarding hooks (#424). Up to now, we've only been re-using existing sniffs from upstream. So we also need a list of which features of WordPress documentation standards do have upstream sniffs we can re-use, and list out which features we need to create new sniffs for. This would be a large effort, but it would indeed be very valuable.


Motor Freely Moves when Zero Velocity is Sent

Hi,
Thanks for sharing this great project.
I tried to implement the sharing package with my own robot. It can be run without issue.
However, when I issued zero /joint0_velocity_controller/commands, the wheel would stop but the it is freely to rotate if I rotate it manually. Is this behavior expected? Could I make the wheel not moving or hold when zero /joint0_velocity_controller/commands is sent? Otherwise the robot would drift for a distance before it really stops.
Hope you could enlighten me.
Thanks.

Hi,
Do you meet the same problem when using odrivetool? This is probably not a problem with the ROS driver. I can also rotate some motors manually when speed command is zero. But not totally free. If you try to turn it faster you should feel more resistance. You may need to tune the controller for more stiffness. Increase vel_integrator_gain should work. However this does not lock the position. True locking can only be achieved by position control.
We will support adding control parameters to the config file. So the ROS driver can update the params at runtime.
Thanks


V2.2 release data

Type of Change
documentation
Description
update v2.2 release data
Expected Behavior & Potential Risk
show v2.2 release data
How has this PR been tested?
CI
Dependency Change?
NA

PR ready, wait for perfPDT approve.


returning htmlParentNode (or Parent) twice returns the parentnode's parent.

when I repeatedly click my button I first get the actual htmlParentNode but on second and subsequent click I get a div that is the htmlParentNode's parent:
	extensions: {
		'save': new MediumButton({
			label: 'save',
			action: function (html, mark, htmlParentNode) {
				var c_id = jQuery(htmlParentNode).closest('div.editable').attr('id');
				var contents = htmlParentNode.innerHTML; // innerText

				alert(c_id + '\n'+ contents);
				return html
			}
		}),

am i doing something wrong or is this a bug?
could it be as the parent is now of the menu button and not the editor div? ie this:
		var sel = window.getSelection(); 		var parent = sel.anchorNode.parentElement;
I'm actually trying to get the id of the div that the editor instance is attached to as I have a page with many editors/ divs of editable class - is there an easy way to do that? (my goal is ajax with many editable divs).
thanks
----- edit - i'm pretty sure the parent of parent is being returned. here's a kludgy workaround
`		extensions: {
			'save': new MediumButton({
				label: 'save',
				action: function (html, mark, htmlParentNode) {
					var maybe = jQuery(htmlParentNode).find('div.editable'); //.length !== 0)
					if (maybe.length !== 0){
						htmlParentNode = maybe;
					}
					var c_id = jQuery(htmlParentNode).attr('id');
					var contents = htmlParentNode.innerHTML; // innerText

					alert(c_id + '\n'+ html);
					return html
				}
			}),`

I had the same issue, and to easily fix it, I did this :

Create a variable outside of the extension :
var parentelm;

Set the variable value with the parent if not declared :

action: function (html, mark, parent){
                                if (parentelm == undefined) {
                                    parentelm = parent;
                                };

Now you can use the same parent multiple times by using parentelm without selecting parent's parent.

Note : you need to reset the `parentelm` value to `undefined` each time you switch to an other editable element.
Otherwise, the parent will not change and the button will act to the first editable element's parent


ImportError: cannot import name 'FilterParams' from 'py_clob_client.client'

./run-local.sh
Running poly-market-maker...
Sourcing env variables from dot env file...
Traceback (most recent call last):
File "/home/opc/.pyenv/versions/3.10.15/lib/python3.10/runpy.py", line 196, in _run_module_as_main
return _run_code(code, main_globals, None,
File "/home/opc/.pyenv/versions/3.10.15/lib/python3.10/runpy.py", line 86, in _run_code
exec(code, run_globals)
File "/home/opc/poly-market-maker/poly_market_maker/main.py", line 2, in
from poly_market_maker.app import App
File "/home/opc/poly-market-maker/poly_market_maker/app.py", line 5, in
from poly_market_maker.args import get_args
File "/home/opc/poly-market-maker/poly_market_maker/args.py", line 3, in
from poly_market_maker.strategy import Strategy
File "/home/opc/poly-market-maker/poly_market_maker/strategy.py", line 6, in
from poly_market_maker.price_feed import PriceFeed
File "/home/opc/poly-market-maker/poly_market_maker/price_feed.py", line 4, in
from poly_market_maker.clob_api import ClobApi
File "/home/opc/poly-market-maker/poly_market_maker/clob_api.py", line 4, in
from py_clob_client.client import ClobClient, ApiCreds, OrderArgs, FilterParams
ImportError: cannot import name 'FilterParams' from 'py_clob_client.client' (/home/opc/poly-market-maker/.venv/lib/python3.10/site-packages/py_clob_client/client.py)

Have the same issue as well. @L1nkus did you find a solution?


Incorrect progress bar

Progress bar every time make new line

Original issue: https://github.com/grafana/k6-intellij-plugin/issues/6

I suspect this is because the IntelliJ terminal does not interpret the escape sequences that create the animated progress bar in Terminal.

fixed in 1.0.3 version.
please note that the remote targets (Docker and WSL) do not support PTY terminal features so it's still an issue there.


Default AppDelegate calls missing FlutterAppDelegate method application:openURL:options: (Google Sign in crash)

Steps to Reproduce
Replace the AppDelegate.m in the Google Sign In example with the default AppDelegate.m from flutter create.
Try to sign in on iOS. You'll get a crash after signing in because it calls a method that doesn't exist.
A possible short term fix is that the template shouldn't include this:
- (BOOL)application:(UIApplication *)application
            openURL:(NSURL *)url
            options:(NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options {
  return [super application:application openURL:url options:options];
}

Instead it should include this:
- (BOOL)application:(UIApplication*)application
            openURL:(NSURL*)url
  sourceApplication:(NSString*)sourceApplication
         annotation:(id)annotation {
  // Called when the application is asked to open a resource specified by a URL.
  return [super application:application openURL:url sourceApplication:sourceApplication annotation:annotation];
}

Long term fix is for FlutterAppDelegate to implement both, or to fix #9984.
Logs
May 16 08:09:34 jackson-macbookpro Runner[62559]: *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[AppDelegate application:openURL:options:]: unrecognized selector sent to instance 0x610000053b60'
	*** First throw call stack:
	(
		0   CoreFoundation                      0x000000010bb2cb0b __exceptionPreprocess + 171
		1   libobjc.A.dylib                     0x000000010e612141 objc_exception_throw + 48
		2   CoreFoundation                      0x000000010bb9c134 -[NSObject(NSObject) doesNotRecognizeSelector:] + 132
		3   CoreFoundation                      0x000000010bab3656 ___forwarding___ + 534
		4   CoreFoundation                      0x000000010bab33b8 _CF_forwarding_prep_0 + 120
		5   Runner                              0x000000010b4769e4 -[AppDelegate application:openURL:options:] + 148
		6   UIKit                               0x000000010f1d7a1d __45-[UIApplication _applicationOpenURL:payload:]_block_invoke + 813
		7   UIKit                               0x000000010f1d7456 -[UIApplication _applicationOpenURL:payload:] + 707
		8   SafariServices                      0x000000010dde2687 -[SFSafariViewController remoteViewController:hostApplicationOpenURL:] + 158
		9   SafariServices                      0x000000010ddd9f57 -[SFBrowserRemoteViewController willOpenURLInHostApplication:] + 68
		10  CoreFoundation                      0x000000010bab4c6c __invoking___ + 140
		11  CoreFoundation                      0x000000010bab4b40 -[NSInvocation invoke] + 320
		12  FrontBoardServices                  0x0000000113cee5f6 __FBSSERIALQUEUE_IS_CALLING_OUT_TO_A_BLOCK__ + 24
		13  FrontBoardServices                  0x0000000113cee46d -[FBSSerialQueue _performNext] + 186
		14  FrontBoardServices                  0x0000000113cee7f6 -[FBSSerialQueue _performNextFromRunLoopSource] + 45
		15  CoreFoundation                      0x000000010bad2c01 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17
		16  CoreFoundation                      0x000000010bab80cf __CFRunLoopDoSources0 + 527
		17  CoreFoundation                      0x000000010bab75ff __CFRunLoopRun + 911
		18  CoreFoundation                      0x000000010bab7016 CFRunLoopRunSpecific + 406
		19  GraphicsServices                    0x00000001121e5a24 GSEventRunModal + 62
		20  UIKit                               0x000000010f1cd0d4 UIApplicationMain + 159
		21  Runner                              0x000000010b476a9f main + 111
		22  libdyld.dylib                       0x0000000110baf65d start + 1
	)
May 16 08:09:34 jackson-macbookpro Runner[62559]: 2017-05-16 08:09:34.190 Runner[62559:28025627] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[AppDelegate application:openURL:options:]: unrecognized selector sent to instance 0x610000053b60'

Flutter Doctor
[✓] Flutter (on Mac OS X 10.12.4 16E195, channel unknown)
• Flutter at /Users/jackson/git/flutter
• Framework revision dc4ca8db83 (5 days ago), 2017-05-11 15:33:29 -0700
• Engine revision f99d3ef108
• Tools Dart version 1.23.0-dev.11.11
[✓] Android toolchain - develop for Android devices (Android SDK 25.0.3)
• Android SDK at /Users/jackson/Library/Android/sdk/
• Platform android-25, build-tools 25.0.3
• ANDROID_HOME = /Users/jackson/Library/Android/sdk/
• Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
• Java version: OpenJDK Runtime Environment (build 1.8.0_112-release-b06)
[✓] iOS toolchain - develop for iOS devices (Xcode 8.3.1)
• Xcode at /Applications/Xcode.app/Contents/Developer
• Xcode 8.3.1, Build version 8E1000a
• ios-deploy 1.9.1
• CocoaPods version 1.0.1
[✓] Android Studio (version 2.3)
• Android Studio at /Applications/Android Studio.app/Contents
• Gradle version 3.2
• Java version: OpenJDK Runtime Environment (build 1.8.0_112-release-b06)
[✓] IntelliJ IDEA Community Edition (version 2016.3.4)
• Dart plugin version 163.13137
• Flutter plugin version 12.1
[✓] Connected devices
• iPhone 7 Plus • 5F90A4C3-6F80-446A-88CB-5394635BF8EF • ios • iOS 10.3 (simulator)

To prevent this sort of problem in the future, we could ensure that all the examples in flutter/plugins use the default template where possible. I filed #10108 to track this.

FYI @mit-mit @jakobr-google @mravn-google @szakarias

Ouch. Maybe we should just strip the template of anything except application:didFinishLaunchingWithOptions:. They are all just super calls anyway (or should have been).

@mravn-google I'd be ok with that option as well

This is low-priority now but reopening to track @mravn-google's suggestion

Decided to create a new issue since this is not longer a crasher. Opened #10114


fix: Remove unused @types/node dependencies

Remove unused @types/node dependencies.
AB#3098

I think that here are additional work to clean up all the "node" references, beyond the dependencies.
e.g.  this will still introduce the /// <reference type=node" /> in the .d.t.s

I am not 100% sure but remove the dependency without removing the injected reference type line in .d.ts will cause compilation errors with project that doesn't have @types/node dependency already?

@curtisman You were right; when I removed the types from tsconfig for container-runtime and container-definitions, several downstream packages broke because of missing types. I think I fixed everything up. CI passes, at least.


NetworkFetcher class error with function response.hnk_validateLengthOfData

Value of type 'NSURLResponse' has no member 'hnk_validateLengthOfData'

I'm having the same problem. What can we do ?


hangar.yml spec

So this is what I'm thinking as a spec for a hangar.yml (or hangar.json, or whatever) that a plugin can use to deploy a version with the API.
project: # Required
  author: Machine_Maker
  name: BestPlugin
version: 3.0.1 # (falls back to platform-specific config)
description: A description # (falls back to platform-specific config)
channel: Release # Cannot create new channels via api deploy
flags:
  - FORUM_SYNC
  - UNSTABLE
  - RECOMMENDED

platforms: # At least 1 required
  PAPER:
    versions: # At least 1 version required for each platform
      - 1.15
      - 1.16
    dependencies:
      - name: ProtocolLib # Requried
        required: true # if not present, false
        namespace: # Either namespace OR external-url must be set NOT BOTH
          author: dmulloy2
          name: ProtocolLib
        external-url: https://github.com/dmulloy2/ProtocolLib/releases

For anyone familiar with the source, basically, in one request, the entire PendingVersion class has to be created.

Could also add a minimum required version for the dependencies (like ProtocolLib 4.5 or above)

Nah, we don’t have inputs for that on hangar, that stuff can be up to the plugin to put in its own description. I just think that makes it too complicated to setup when a user manually uploads a file

Something to keep in mind: https://yaml.org/faq.html

Is there an official extension for YAML files?
Please use ".yaml" when possible.


Adjust changelog entries to point to migration guide

@surajeaton this was the recommended suggestion during today's demo. I did this so that we can send it to master today


re-added runbook automation tutorial

The documentation of that use case now points to the servicenow-service github repo

the release tag is now available


Issue with private stark key

Hello i'm using the client with node.js and i'm not able to place order. I think i haven't made any error because i can access every other endpoint like /account and /positions. The code and error is below :
 const { DydxClient } = require('@dydxprotocol/v3-client')
const Web3 = require('web3')
const HTTP_HOST = 'https://api.dydx.exchange'
const WS_HOST = 'wss://api.dydx.exchange/v3/ws'
// NOTE: Set up web3 however your prefer to authenticate to your Ethereum account.
web3 = new Web3()
web3.eth.accounts.wallet.add("");// I have put public stark key
async function Place_order(){
client = new DydxClient(HTTP_HOST, { web3 })
const apiCreds = await client.onboarding.recoverDefaultApiCredentials("0x54eBDa43c2ac7Ea6252CcD5dB54EFd53EF4d9Ffd")
client.starkPrivateKey = "";// I don't share it on git
client.apiKeyCredentials = apiCreds;
const order  = await client.private.createOrder(
{
positionId:"", // I don't share it on git
market:"DOT-USD",
side: "SELL",
type: "LIMIT",
postOnly: false,
size: "1",
price: "40",
expiration: "2022-12-21T21:30:20.200Z",
limitFee: "0.005"
}
);
console.log(order);
};
Place_order();
`
When i run it i get
(node:22700) UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'match' of undefined
at Object.decToBn (/Users/romain/Desktop/GIT/dydx-mm/node_modules/@dydxprotocol/starkex-lib/build/src/lib/util.js:73:14)
at SignableOrder.calculateHash (/Users/romain/Desktop/GIT/dydx-mm/node_modules/@dydxprotocol/starkex-lib/build/src/signable/order.js:64:37)
at SignableOrder.getHashBN (/Users/romain/Desktop/GIT/dydx-mm/node_modules/@dydxprotocol/starkex-lib/build/src/signable/stark-signable.js:29:39)
at SignableOrder.sign (/Users/romain/Desktop/GIT/dydx-mm/node_modules/@dydxprotocol/starkex-lib/build/src/signable/stark-signable.js:37:35)
at Private.createOrder (/Users/romain/Desktop/GIT/dydx-mm/node_modules/@dydxprotocol/v3-client/build/src/modules/private.js:224:42)
at Market_Data (/Users/romain/Desktop/GIT/dydx-mm/PRIVATE/order.js:29:37)
(node:22700) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag --unhandled-rejections=strict (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 2)
(node:22700) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
When i put no stark private key the classic warning appear  "there is no starkprivate key warining".

check correct way to supply positionId https://docs.dydx.exchange/?typescript#create-a-new-order

and you could find your positionId via https://docs.dydx.exchange/?typescript#get-account

@rvie17 have you solved the problem? I have the same issue.

web3.eth.accounts.wallet.add("");// I have put public stark key
No, eth private key goes here
positionId
You can find correct positionId this from v3/account endpoint response

Hi
I have issues in createOrder function
    const order: { order: OrderResponseObject } = await client.private.createOrder(
      {
        side: OrderSide.SELL,
        type: OrderType.LIMIT,
        timeInForce: TimeInForce.GTT,
        postOnly: false,
        size: '100',
        price: '18000',
        limitFee: '0.015',
        expiration: '2023-02-21T21:30:20.200Z',
        market: Market.BTC_USD
      },
      '1', // required for creating the order signature
    );

Then met the follow error.
[1] Error: Order is not signed and client was not initialized with starkPrivateKey
[1]     at Private.createOrder (#############\node_modules\@dydxprotocol\v3-client\build\src\modules\private.js:255:23)
[1]     at #########l\dist\index.js:54:40
[1]     at Generator.next (<anonymous>)
[1]     at fulfilled (E:\works\bitoro_perpetual_tutorial\dist\index.js:5:58)
[1]     at processTicksAndRejections (node:internal/process/task_queues:96:5)

What am I wrong? How to solve?


[mainnet] Set the L2OutputIndex to delete during Challenger test

Set L2OutputIndex of output to delete when testing the challenger multisig contract.
Duplicated in #83

Good


TypeError: cannot assign 'torch.cuda.FloatTensor' as parameter 'weight' (torch.nn.Parameter or None expected)

Hello, I met a issue as described in title, the complete error message is:

Traceback (most recent call last):
File "tasks/prune_helmet.py", line 154, in
solver.run()
File "/home/bengui/miniconda3/envs/open-mmlab/lib/python3.7/site-packages/torchpruner-0.0.1-py3.7.egg/torchslim/slim_solver.py", line 345, in run
File "/home/bengui/miniconda3/envs/open-mmlab/lib/python3.7/site-packages/torchpruner-0.0.1-py3.7.egg/torchslim/slim_solver.py", line 220, in run_hook
File "/home/bengui/miniconda3/envs/open-mmlab/lib/python3.7/site-packages/torchpruner-0.0.1-py3.7.egg/torchslim/pruning/resrep.py", line 304, in after_iteration_hook
File "/home/bengui/miniconda3/envs/open-mmlab/lib/python3.7/site-packages/torchpruner-0.0.1-py3.7.egg/torchslim/pruning/resrep.py", line 195, in prune_model
File "/home/bengui/miniconda3/envs/open-mmlab/lib/python3.7/site-packages/torchpruner-0.0.1-py3.7.egg/torchpruner/model_pruner.py", line 71, in set_cut
File "/home/bengui/miniconda3/envs/open-mmlab/lib/python3.7/site-packages/torchpruner-0.0.1-py3.7.egg/torchpruner/module_pruner/pruners.py", line 109, in set_cut
File "/home/bengui/miniconda3/envs/open-mmlab/lib/python3.7/site-packages/torch/nn/modules/module.py", line 801, in setattr
.format(torch.typename(value), name))
TypeError: cannot assign 'torch.cuda.FloatTensor' as parameter 'weight' (torch.nn.Parameter or None expected)

Can you help me fix this bug? The version of torch is 1.7.0, and cuda is 10.2. Thx!

Show me the source code, I will check where the error is.

Hello, you may try the patch in https://github.com/THU-MIG/torch-model-compression/pull/6/files#diff-cd7d0b02724faaf1716aee410c2cc83b91a053f1f6e8dc9475761156a69a6286R50-R52

I've merged #6, so you may run git pull on your local repo and reinstall it.

I've merged #6, so you may run git pull on your local repo and reinstall it.

Thanks for your in-time reply. I tried to pull the latest code and retrain, but got such error message:

Traceback (most recent call last):
File "tasks/prune_helmet.py", line 158, in
solver.run()
File "/home/bengui/miniconda3/envs/torch1.7/lib/python3.6/site-packages/torchpruner-0.0.1-py3.6.egg/torchslim/slim_solver.py", line 327, in run
File "/home/bengui/miniconda3/envs/torch1.7/lib/python3.6/site-packages/torch/optim/lr_scheduler.py", line 67, in wrapper
return wrapped(*args, **kwargs)
File "/home/bengui/miniconda3/envs/torch1.7/lib/python3.6/site-packages/torch/autograd/grad_mode.py", line 26, in decorate_context
return func(*args, **kwargs)
File "/home/bengui/miniconda3/envs/torch1.7/lib/python3.6/site-packages/torch/optim/sgd.py", line 106, in step
buf.mul_(momentum).add_(d_p, alpha=1 - dampening)
RuntimeError: The size of tensor a (96) must match the size of tensor b (88) at non-singleton dimension 0

pull the latest code, and try it again. The error has been fixed.

pull the latest code, and try it again. The error has been fixed.

I tried it again and the error had been fixed.


Update PyRadiomics Logging

Update logging, with mainly added debug messages on various functions throughout the toolbox.
Additionally, change how logging is set up in the various scripts used to run PyRadiomics. Instead of using a root logger, keep radiomics logger as 'root' logger, with script/batch specific log messages in the radiomics.script and radiomics.batch logger. This excludes the PyKwalify debug messages from the PyRadiomics log when level is set to DEBUG.

@Radiomics/developers. As discussed in the last hangout, I changed the progress reporting in PyRadiomics to make use of the logging package where possible. This therefore also removes the verbose setting. The only output not directly handled by the logging is the progress bar in GLRLM and GLCM. However, the output of the progress bar is also to stderr, and it is only enabled when python calculation is enabled and the logging level of the handler (to stderr) has level INFO or DEBUG.


move the macOS ESRP signing steps to a separate job

right now, if we encounter the ESRP signing timeout error we have to rerun the whole macOS job, by doing this we can:

save ~1 hour when we need to rerun the failed jobs
help troubleshooting the ESRP timeout issue - we can copy the logs immediately copy the logs instead of waiting for other jobs to finish

impact: for the builds that signed variable is set to false, there are no impact, for signed build, there will be an additional artifact produced azuredatastudio-darwin-unsigned.zip, this is due to the restriction that overwriting existing artifact file is not allowed. I have tested releasing a RC build and everything works as expected. you should have received the update on your local RC build. RC Build: https://mssqltools.visualstudio.com/CrossPlatBuildScripts/_build/results?buildId=68831&view=results
also, I created a build pipeline with only the signing job (pull the unsigned bits from another build): https://mssqltools.visualstudio.com/CrossPlatBuildScripts/_build?definitionId=368, I am running it 24 times a day, if I am able to repro the timeout issue, i will monitor it and copy out the logs before it fails, but so far i haven't seen any failure, maybe separate it out does help it to some extent.

Coverage increased (+0.09%) to 35.411% when pulling 9586feb7e657778814e71a2ac8c6f4dcb0c4b3c6 on alanren/signing-job into a9848a7a96dad8e8929c38e68cc85e38b1f15643 on main.


Create a new and fully documented example project

After some time with Project Elementus being used as an example project, I will create a simple and fully documented project with just the essential examples to show the features of this plugin.

Created a new example project: https://github.com/lucoiso/MFA_ExampleProject/releases/tag/v1.0


Fix part of lint/go errors (gocritic)

What this PR does / why we need it:
Fix part of errors which make lint/go returns (gocritic).
gocritic lint errors
$ make lint/go | grep -e "(gocritic)"
pkg/app/ops/handler/handler.go:241:3: assignOp: replace `groups[kind] = groups[kind] + int(c.Count)` with `groups[kind] += int(c.Count)` (gocritic)
pkg/app/server/httpapi/httpapimetrics/delegator.go:103:2: commentFormatting: put a space between `//` and comment text (gocritic)
pkg/app/server/httpapi/httpapimetrics/delegator.go:281:102: commentFormatting: put a space between `//` and comment text (gocritic)
pkg/cli/cmd.go:195:9: wrapperFunc: use strings.ReplaceAll method in `strings.Replace(cmd.CommandPath(), " ", ".", -1)` (gocritic)
pkg/config/control_plane.go:284:3: commentFormatting: put a space between `//` and comment text (gocritic)
pkg/datastore/mysql/query.go:95:46: unslice: could simplify conds[:] to conds (gocritic)
pkg/datastore/mysql/query.go:168:49: unslice: could simplify conds[:] to conds (gocritic)
pkg/filematcher/filematcher.go:187:3: ifElseChain: rewrite if-else to switch statement (gocritic)
pkg/insight/insightmetrics/metrics.go:103:3: assignOp: replace `groups[kind] = groups[kind] + int(c.Count)` with `groups[kind] += int(c.Count)` (gocritic)

 List of remaining errors

[x] gocritic
[ ] errcheck
[ ] goerr113
[ ] typecheck
[ ] stylecheck
[ ] gosec
[x] deadcode, ineffassign https://github.com/pipe-cd/pipecd/pull/4624
[x] misspell, depguard, unconvert https://github.com/pipe-cd/pipecd/pull/4621
[x] goimports, gosimple, staticcheck https://github.com/pipe-cd/pipecd/pull/4622

Which issue(s) this PR fixes:
Part of https://github.com/pipe-cd/pipecd/issues/4566
Does this PR introduce a user-facing change?:

How are users affected by this change:
Is this breaking change:
How to migrate (if breaking change):

@karamaru-alpha plz update branch 🙏


Checkout Page added

Related Issue
Fixes:  #2831
Description
When buy now is clicked

Checkout page open
This page has a 5 minute timer
A whole set of form options for regular checkout sections
All the colors are matched
I have added separate HTML, CSS and JS file

Type of PR

[ ] Bug fix
[x] Feature enhancement
[ ] Documentation update
[ ] Other (specify): _______________

Screenshots / videos (if applicable)
[Attach any relevant screenshots or videos demonstrating the changes. Make sure to attach before & after screenshots in your PR.]
https://github.com/user-attachments/assets/bcd88679-2f8f-4213-bc80-19d29c249282
Checklist:

[x] I have made this change from my own.
[ ] I have taken help from some online resources.
[x] My code follows the style guidelines of this project.
[x] I have performed a self-review of my own code.
[x] I have commented my code, particularly in hard-to-understand areas.
[x] I have made corresponding changes to the documentation.
[x] My changes generate no new warnings.
[x] I have tested the changes thoroughly before submitting this pull request.
[x] I have provided relevant issue numbers and screenshots after making the changes.

Please give me the Labels


Port from Angular to React

I've been a fan of this project and used it a lot in my own projects and even contributed several custom fields:
https://github.com/networknt/angular-schema-form-ui-ace
https://github.com/networknt/angular-schema-form-ui-select
https://github.com/networknt/angular-schema-form-marked
https://github.com/networknt/angular-schema-form-strapselect
https://github.com/networknt/angular-schema-form-file-writer
https://github.com/networknt/angular-schema-form-file-reader
Recently, I've switched from Angular to React and couldn't find anything equivalent in React world. Finally, I created a new project react-schema-form as sister project to port what we have here into React. It is in early stage and only partially working as I have to learn how angular-schema-form works internally. If any expert here wants contribute, it would be much appreciated.
https://github.com/networknt/react-schema-form

Cool!
With the new builder it should be possible to extract the parts that parses the form definition and the DOM builder, i.e. the services schema-form.js and builder.js into "vanilla" js functions that could be shared with your react port.

@davidlgj that is a great idea. I've got hard time to refactor the code due to lack of understanding. Currently I am working on your 0.7.12 code base that I am familiar with. Still need time to understand your new builder and array.

@stevehu I would really recomend basing it of the new builder. The main difference being that the builder creates the entire DOM in one go and does not need anything angular at all really. Check out the blog posts on it if you haven't seen them https://medium.com/@SchemaFormIO/the-new-builder-pt-1-61fadde3c678

@davidlgj I've read your three blogs and they are fun to read:) I am going back to the development branch now. Last time I checked it out, the examples were not working and I needed it to debug and compare. Hopefully, you could extract all the common functions into a library so that I can just install it as a node module.

Wonder if it is worth creating a repo of schema-form for the base functionality and builder to be used as a bower library/npm module to pull in and then leveraging that in angular-schema-form and react-schema-form. It could focus on validation and building forms from schema and perhaps make server-side validation easier in future...

@Anthropic Totally agree. My current implementation is just focusing on the simple fields as I had hard time to get Array sorted out. After switching from Angular to React, I feel npm is much better than bower with webpack support and it is the same way nodejs manages modules. It will be great if someone can extract all common features so that it can be shared.

awesome stuff @stevehu !
btw, just as a reference, there's also this lib:
https://github.com/mozilla-services/react-jsonschema-form

@stevehu I'm going to mark this closed given our discussions continue in Gitter and you're aware of what is going on regarding the new core, by all means re-open if you prefer to keep it open, just trying to do some house keeping with the massive outstanding issue count :)


Fix readLL bugs and add unit tests

Description

The readLL function parses the command-line inputs, but there is some funkiness in how arguments get unpacked, because argparse wraps the arguments in a tuple. This wasn't being correctly handled (i.e. it was assumed that the bounding box was a list, instead of a list inside a tuple), which led to the error.
In addition, I've added unit tests to ensure that this kind of problem gets caught during testing rather than after the PR.
Motivation and Context
Fixes #145
How Has This Been Tested?
I added additional tests to test_llreader.py to check each type of input option (lat/lon files, bounding box, GPS station file) and successfully passes.
Type of change

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

Checklist:

[x] I have added an explanation of what changes do and why they should be included.
[x] I have written new tests for the changes.
[x] I have successfully ran tests with changes locally.

Note: this PR is failing because of a new bug in the DEM downloader, which is not related to the PR changes.

Is this GDAL related?

@jlmaurer Hi Jeremy, the lat/lon works now but again station file fails.
This is the command line I used:
raiderDelay.py --date 20200101 --time 00:00:00 --station_file test/scenario_2/stations.csv --model GMAO -v
and the error messages are as below:
Traceback (most recent call last):   File "/opt/anaconda3/envs/RAiDER/bin/raiderDelay.py", line 4, in <module>     __import__('pkg_resources').run_script('RAiDER==0.0.1', 'raiderDelay.py')   File "/opt/anaconda3/envs/RAiDER/lib/python3.7/site-packages/pkg_resources/__init__.py", line 665, in run_script     self.require(requires)[0].run_script(script_name, ns)   File "/opt/anaconda3/envs/RAiDER/lib/python3.7/site-packages/pkg_resources/__init__.py", line 1463, in run_script     exec(code, namespace, namespace)   File "/opt/anaconda3/envs/RAiDER/lib/python3.7/site-packages/RAiDER-0.0.1-py3.7-macosx-10.9-x86_64.egg/EGG-INFO/scripts/raiderDelay.py", line 12, in <module>     parseCMD()   File "/opt/anaconda3/envs/RAiDER/lib/python3.7/site-packages/RAiDER-0.0.1-py3.7-macosx-10.9-x86_64.egg/RAiDER/runProgram.py", line 150, in parseCMD     wetNames, hydroNames = checkArgs(args, p)   File "/opt/anaconda3/envs/RAiDER/lib/python3.7/site-packages/RAiDER-0.0.1-py3.7-macosx-10.9-x86_64.egg/RAiDER/checkArgs.py", line 32, in checkArgs     lat, lon, llproj, bounds, flag = readLL(args.query_area)   File "/opt/anaconda3/envs/RAiDER/lib/python3.7/site-packages/RAiDER-0.0.1-py3.7-macosx-10.9-x86_64.egg/RAiDER/llreader.py", line 35, in readLL     raise RuntimeError('llreader: Cannot parse query region: {}'.format(args)) RuntimeError: llreader: Cannot parse query region: ('test/scenario_2/stations.csv',)

@jlmaurer can you rebase?

@leiyangleon your issue is fixed with 36e04a477f9c632db089bff45fe1799f949e8198. @dbekaert this is now rebased and passing the DEM download.


Android properties.clear() method not working

I have added a layer in yaml file and then make a mapdata object
mapData = new MapData("routelayer");
Tangram.addDataSource(mapData);

Then i add multiple segments/lines/properties like following:
Properties properties = new Properties();
properties.set("type", "line");
segmentsPropertiesList.add(properties);
mapData.addLine(properties, lngLats);
mMapView.invalidate();

Now route/line is showing on map properly. But i want to change attributes of some of the properties  or segment that i have added. For that i also add properties in seperate ArrayList 'segmentsPropertiesList' so that i can access them later. Now when i get it and clear it does not make any change.
for (Properties properties : segmentsPropertiesList)
       properties.clear();

It simply stays on the map. Also i have tried to change some other atribute like color of the line
      properties.set("color", "#ff0987")
It also does not change. But strange thing is that i am following the same approach in another class to add markers and then i get them from arraylist that i maintain for them and .clear() works. The difference here is that i am using .addLine() instead of .addPoint(). Please guide if i am following the right approach or if there is any other method to achieve this functionality?

In the current version, features (and their properties) can't be updated after they are added to a MapData. Instead, you would need to remove the old features and add new ones with the updated properties and geometry.
We're aiming to improve this interface in upcoming versions.

you would need to remove the old features and add new ones with the updated properties and geometry.
Exactly thats what i want to achieve  "remove the old features" like i have added a feature/property in mapdata as follow:

Properties properties = new Properties();
properties.set("type", "line");
mapData.addLine(properties, lngLats);

Then i simply want to clear a specific property from mapdata by
properties.clear();
If we cant change or clear any property that is added to mapdata then what is the purpose of properties.clear() method?

Any update on how its going to work? I have added new Classes now by using this build dependency compile 'com.mapzen.tangram:tangram:0.2' I am adding a complete route (with multiple segments) on the map with red color as:
public void setRouteAndDisplay(ESRIRoute route) {
        removeAllSegmentsFromLayer();
        mRoute = route;
        for (int i = 0; i < mRoute.getListRouteDirections().size(); i++) {
            addSegmentToMap(mRoute.getListRouteDirections().get(i), colorNonSelectedRoute);
        }
    }

public void addSegmentToMap(ESRIRouteDirection routeDirection, String color) {

        List<GeoPoint> geoPoints = routeDirection.getGeomPolyline().getPoints();
        List<LngLat> lngLats = getLatLngListFromGeoPoints(geoPoints);
        Map<String, String> properties = new HashMap<>();
        properties.put("type", "line");
        properties.put("color", color);
        routeLayer.addPolyline(lngLats, properties);
        mMapView.invalidate();
    }

Route is drawing on map successfully with redcolor. Now when user enters to next segment I want to set color of selected/next segment to green and previous segment color to red. To do that i am adding another segment/polyline again to same points with different color
private void updateSegmentOverlayStyle(int indexOfMapOverlay, String color) {

        ESRIRouteDirection newSegment = mRoute.getListRouteDirections().get(indexOfMapOverlay);
        List<GeoPoint> geoPoints = newSegment.getGeomPolyline().getPoints();
        List<LngLat> lngLats = getLatLngListFromGeoPoints(geoPoints);
        Map<String, String> properties = new HashMap<>();
        properties.put("type", "line");
        properties.put("color", color);
        //segmentsPropertiesList.add(properties);
        routeLayer.addPolyline(lngLats, properties);
        mMapView.invalidate();
    }

But it do not add new polyline with different color on top of a polyline which is already drawn on the map.

To wrap up this issue: features added to a MapData cannot be modified after they are created. To create features with different properties, you would need to remove the old feature and add a new one with the updated properties.
This will probably change in future iterations of this interface. It's pretty clear that there is desire for more flexible and dynamic map annotations, so we're designing a totally new approach to this.


Not all attributes are being written to item_attributes table.

Problem
Only danceability, beats_count and average_loudness are being written to the item_attributes table when using xtractor. Do I need to specify the additional attributes I want written somewhere?
EDIT: I forgot to mention bpm is written to the database also.
Setup
OS: Debian 9 via WSL
Python version: 3.7.3
Beets version: 1.4.9
Turning off other plugins made problem go away (yes/no): no

My configuration (output of beet config) is:
directory: ~/music/library
library: ~/music/library.db
threaded: yes

ui:
    color: yes

import:
    write: yes
    move: no
    copy: yes
    timid: yes
    default_action: asis

plugins: [xtractor]
types:
    rating: int
discogs:
    user_token: REDACTED
    source_weight: 0.5
xtractor:
    auto: no
    dry-run: no
    write: yes
    threads: 1
    force: no
    quiet: no
    items_per_run: 5
    keep_output: yes
    keep_profiles: no
    output_path: ~/music/_xtraction_data
    low_level_extractor: /usr/local/bin/essentia_streaming_extractor_music
    high_level_extractor: /usr/local/bin/essentia_streaming_extractor_music_svm
    high_level_profile:
        highlevel:
            svm_models:
            - ~/src/essentia-extractor-models/danceability.history
            - ~/src/essentia-extractor-models/gender.history
            - ~/src/essentia-extractor-models/genre_rosamerica.history
            - ~/src/essentia-extractor-models/mood_acoustic.history
            - ~/src/essentia-extractor-models/mood_aggressive.history
            - ~/src/essentia-extractor-models/mood_electronic.history
            - ~/src/essentia-extractor-models/mood_happy.history
            - ~/src/essentia-extractor-models/mood_party.history
            - ~/src/essentia-extractor-models/mood_relaxed.history
            - ~/src/essentia-extractor-models/mood_sad.history
            - ~/src/essentia-extractor-models/voice_instrumental.history
            compute: 1
        outputFormat: json
    low_level_targets:
        average_loudness:
            path: lowlevel.average_loudness
            type: float
            required: yes
        bpm:
            path: rhythm.bpm
            type: integer
            required: yes
        danceability:
            path: rhythm.danceability
            type: float
        beats_count:
            path: rhythm.beats_count
            type: integer
    high_level_targets:
        danceable:
            path: highlevel.danceability.all.danceable
            type: float
            required: yes
        gender:
            path: highlevel.gender.value
            type: string
            required: yes
        is_male:
            path: highlevel.gender.all.male
            type: float
        is_female:
            path: highlevel.gender.all.female
            type: float
        genre_rosamerica:
            path: highlevel.genre_rosamerica.value
            type: string
            required: yes
        voice_instrumental:
            path: highlevel.voice_instrumental.value
            type: string
            required: yes
        is_voice:
            path: highlevel.voice_instrumental.all.voice
            type: float
        is_instrumental:
            path: highlevel.voice_instrumental.all.instrumental
            type: float
        mood_acoustic:
            path: highlevel.mood_acoustic.all.acoustic
            type: float
            required: yes
        mood_aggressive:
            path: highlevel.mood_aggressive.all.aggressive
            type: float
            required: yes
        mood_electronic:
            path: highlevel.mood_electronic.all.electronic
            type: float
            required: yes
        mood_happy:
            path: highlevel.mood_happy.all.happy
            type: float
            required: yes
        mood_party:
            path: highlevel.mood_party.all.party
            type: float
            required: yes
        mood_relaxed:
            path: highlevel.mood_relaxed.all.relaxed
            type: float
            required: yes
        mood_sad:
            path: highlevel.mood_sad.all.sad
            type: float
            required: yes
    low_level_profile:
        outputFormat: json
        outputFrames: 0
    chromaprint:
        compute: 0

paths:
    default: '%the{$albumartist}/$album%aunique{}/$track $title'
    singleton: Non-Album/$artist/$title
    comp: Compilations/$album%aunique{}/$track $title

My plugin version (output of beet xtractor -v) is:
xtractor: Xtractor(beets-xtractor) plugin for Beets: v0.2.3

You are missing the high-level attributes.
Is there any chance you can verify the following?

your low-level data is being stored in your output_path
your high-level data is being stored in your output_path
your low- and high-level extractor paths are correct

Also, in my config for the SVM models I have the expanded path stored in the configuration (/home/jack/... instead of ~/...) - Please try to do the same - the code might be missing the expansion on those (in which case I will label this a bug).

Thanks, replacing ~ with the full path did work.
Checking my output_path I only had low-level data stored and now I see high-level data in the directory. So low-level works with expansion but high-level does not?

Happy to hear that your issue is solved.

So low-level works with expansion but high-level does not?

I'm afraid so.


Implement beginning_of_iso_week

Summary of changes
I wanted to find out what is the first day of a given week of the year. I couldn't find this functionality in Timex at the moment (although I may be missing something obvious!) and when I tried to implement it on top of it, I found a couple of edge cases and thought it might something of value to others.
Let me know if this is of use and any feedback to make it better! Thanks!
Thanks to @Vereis for helping out.
Checklist

[x] New functions have typespecs, changed functions were updated
[x] Same for documentation, including moduledocs
[x] Tests were added or updated to cover changes
[x] Commits were squashed into a single coherent commit
[x] Notes added to CHANGELOG file which describe changes at a high-level

Realised I should implement the protocol for remaining types - will update soon

Coverage increased (+0.05%) to 72.082% when pulling e574e9ca2280c1882b6235869b76a88f386f8c31 on tomasz-tomczyk:master into 95088f643e199356869a816f73b76516cab5f8da on bitwalker:master.


Build fails with a DomainObjectSet parameter in a build service or worker action

An attempt to use DomainObjectSet as a parameter to a build service fails the build when attempting to acquire the service with the following exception:
Could not create an instance of type Build_gradle$MyBuildService$Parameters.
> class java.util.LinkedHashSet cannot be cast to class org.gradle.api.DomainObjectSet (java.util.LinkedHashSet is in module java.base of loader 'bootstrap'; org.gradle.api.DomainObjectSet is in unnamed module of loader org.gradle.internal.classloader.VisitableURLClassLoader @7cd62f43)

The bug repros in both Gradle 7.1.1 and the latest nightly as of today (7.2-20210704221017+0000). I put up a repro here: https://github.com/cesar1000/invalid-domain-object-set.

Thanks for the report Cesar!
I assume the same happens with Worker API parameters.
Yep, here's a reproducer for the Worker API:
interface MyWorkParams : WorkParameters {
    val mySet: DomainObjectSet<String>
}

abstract class MyWorkAction : WorkAction<MyWorkParams> {
    override fun execute() = Unit
}

abstract class MyTask : DefaultTask() {

    @get:Inject abstract val workerExecutor: WorkerExecutor

    @TaskAction fun action() {
        workerExecutor.noIsolation().submit(MyWorkAction::class) {}
    }
}

tasks.register<MyTask>("myTask")

Thanks, Paul! Also, this is not specific to the configuration cache, since it happens consistently, whether the cache is enabled or not. The implementation class generated by Gradle for the parameters seems to be consistently invalid.

Yes this is unrelated to the configuration cache indeed.
It's more about parameters isolation. I assume this also affects Transforms.


ngSettings instead of ngOptions in Release Notes for 3.1.0

@calebmer there is a typo in the release notes for 3.1.0. You wrote ngOptions instead of ngSettings.
Thanks for Version 3.1.0 😄

Thanks for the report @mlegenhausen; this is now fixed 👍
(Also there was a typo in your reporting of the bug - you wrote ngOptions/ngSettings instead of pg* 😂 )

Oh to much *g prefixes in my live :satisfied: but I was consistent in the whole issue :wink:


fix: update to eye v8.6.6

fix: update to eye v8.6.6

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

npm package (@latest dist-tag)
GitHub release
v10.6.6

Your semantic-release bot :package::rocket:


pwm.c: cache period

There is an issue that  mraa_pwm_write would fail, because mraa_pwm_read
would fail and return 0.  When the read fails, journalctl shows an
error:
Dec 28 18:01:38 Edison libmraa[365]: pwm: Error in reading period
So now trying version, where the pwm object caches the period, that is
updated whenever you do a read or write of the period.  Side benefit is
that the write should be sped up.

Thanks @KurtE! Please remember to sign off your commits with git commit --amend --signoff.
I have nothing really against this, it seems like a decent idea but the problem is that written period isn't always equal to the read period however that is what calculations will be made against in the kernel. It might be safer to read the period after a write and write that number to dev->period. No?
@tingleby can you review and see my above suggestion? What do you think?

Earlier I did the signoff but it looks like it did not take, so did again, did another push and so hopefully there now.
I thought about doing the read back, which could always do or try.  But then was not sure how much it mattered. That is if you ask for a period of 1000 units and it actually set it to 999 and you want a 50% duty, which value do you want it to be calculated against?  Not sure.  Also if it changed your actual period, it could just as easily change your other value, so should you read both back in and make adjustments?  Not sure.
My feeling was.  If you want that precise of control of the values you are likely to set to specific value.  Or you can explicitly going to call to Read and then set specific values…
But I am game either way.
I was just glad to figure out why sometimes my TFT display was staying dim, even when I told it to go to 100%....
Kurt

@KurtE Thanks again for you continued contributions.
The patch looks good to me. Ill give it a quick test and merge it.
@arfoll I had to same concerns as you in regard to the period in memory not matching what has been set on the board. Perhaps a mraa_pwm_cache_period would be appropriate when the speed/constance @KurtE was looking for, isnt required.
But realistically this probably is fine for most users so would make sense to be the default behaviour. I think

Closed with 41956b07d65bfaed7e872632a67af385f5fbacc4


Failed file saving in interactive mode does not fail gracefully

Rasa version: 2.4.3
Rasa SDK version (if used & relevant): 2.4.1
Rasa X version (if used & relevant): N/A
Python version: 3.8
Operating system (windows, osx, ...): Linux
Issue:
When exporting and quitting from an interactive session, if the process doesn't have proper read/write permissions (e.g. in a docker container) the CLI will report that a failed save occurred and offered to retry.  If you deny a retry, the CLI will fail with below provided traceback and hang indefinitely (until a CTRL+C command is sent).
There should be additional error handling to prevent this from hanging :)
Error (including full traceback):
? Failed to export 'new_domain.yml': [Errno 13] Permission denied: 'new_domain.yml'. Please make sure 'rasa' has read and write ac
cess to this file. Would you like to retry?  No
2021-04-05 19:01:23 ERROR    rasa.core.training.interactive  - An exception occurred while recording messages.
Traceback (most recent call last):
  File "/opt/venv/lib/python3.8/site-packages/rasa/core/training/interactive.py", line 1476, in record_messages
    await _enter_user_message(conversation_id, endpoint)
  File "/opt/venv/lib/python3.8/site-packages/rasa/core/training/interactive.py", line 1315, in _enter_user_message
    message = await _ask_questions(question, conversation_id, endpoint, lambda a: not a)
  File "/opt/venv/lib/python3.8/site-packages/rasa/core/training/interactive.py", line 319, in _ask_questions
    should_retry = await _ask_if_quit(conversation_id, endpoint)
  File "/opt/venv/lib/python3.8/site-packages/rasa/core/training/interactive.py", line 634, in _ask_if_quit
    await _write_data_to_file(conversation_id, endpoint)
  File "/opt/venv/lib/python3.8/site-packages/rasa/core/training/interactive.py", line 611, in _write_data_to_file
    _retry_on_error(_write_domain_to_file, domain_path, events, domain)
  File "/opt/venv/lib/python3.8/site-packages/rasa/core/training/interactive.py", line 595, in _retry_on_error
    raise e
  File "/opt/venv/lib/python3.8/site-packages/rasa/core/training/interactive.py", line 588, in _retry_on_error
    return func(export_path, *args, **kwargs)
  File "/opt/venv/lib/python3.8/site-packages/rasa/core/training/interactive.py", line 943, in _write_domain_to_file
    old_domain.merge(new_domain).persist_clean(dom  ain_path)
  File "/opt/venv/lib/python3.8/site-packages/rasa/shared/core/domain.py", line 1350, in persist_clean
    rasa.shared.utils.io.write_text_file(as_yaml, filename)
  File "/opt/venv/lib/python3.8/site-packages/rasa/shared/utils/io.py", line 116, in write_text_file
    with open(file_path, mode, encoding=encoding) as file:
PermissionError: [Errno 13] Permission denied: 'new_domain.yml'
2021-04-05 19:01:23 ERROR    asyncio  - Task exception was never retrieved
future: <Task finished name='Task-3' coro=<_serve_application.<locals>.run_interactive_io() done, defined at /opt/venv/lib/python3.8/site-packages/rasa/core/training/interactive.py:1569> exception=PermissionError(13, 'Permission denied')>
Traceback (most recent call last):
  File "/opt/venv/lib/python3.8/site-packages/rasa/core/training/interactive.py", line 1572, in run_interactive_io
    await record_messages(
  File "/opt/venv/lib/python3.8/site-packages/rasa/core/training/interactive.py", line 1476, in record_messages
    await _enter_user_message(conversation_id, endpoint)
  File "/opt/venv/lib/python3.8/site-packages/rasa/core/training/interactive.py", line 1315, in _enter_user_message
    message = await _ask_questions(question, conversation_id, endpoint, lambda a: not a)
  File "/opt/venv/lib/python3.8/site-packages/rasa/core/training/interactive.py", line 319, in _ask_questions
    should_retry = await _ask_if_quit(conversation_id, endpoint)
  File "/opt/venv/lib/python3.8/site-packages/rasa/core/training/interactive.py", line 634, in _ask_if_quit
    await _write_data_to_file(conversation_id, endpoint)
  File "/opt/venv/lib/python3.8/site-packages/rasa/core/training/interactive.py", line 611, in _write_data_to_file
    _retry_on_error(_write_domain_to_file, domain_path, events, domain)
  File "/opt/venv/lib/python3.8/site-packages/rasa/core/training/interactive.py", line 595, in _retry_on_error
    raise e
  File "/opt/venv/lib/python3.8/site-packages/rasa/core/training/interactive.py", line 588, in _retry_on_error
    return func(export_path, *args, **kwargs)
  File "/opt/venv/lib/python3.8/site-packages/rasa/core/training/interactive.py", line 943, in _write_domain_to_file
    old_domain.merge(new_domain).persist_clean(domain_path)
  File "/opt/venv/lib/python3.8/site-packages/rasa/shared/core/domain.py", line 1350, in persist_clean
    rasa.shared.utils.io.write_text_file(as_yaml, filename)
  File "/opt/venv/lib/python3.8/site-packages/rasa/shared/utils/io.py", line 116, in write_text_file
    with open(file_path, mode, encoding=encoding) as file:
PermissionError: [Errno 13] Permission denied: 'new_domain.yml'

Command or request that led to error:
rasa interactive

Content of configuration file (config.yml) (if relevant):
Not relevant.
Content of domain file (domain.yml) (if relevant):
Not relevant.

Thanks for raising this issue, @koernerfelicia will get back to you about it soon✨
Please also check out the docs and the forum in case your issue was raised there too 🤗

@ortsaCniveK thank you for raising this, this does indeed look like a bug!


Automated cherry pick of #5242: fix: 避免根磁盘小于镜像大小导致创建失败

Cherry pick of #5242 on release/2.12.
#5242: fix: 避免根磁盘小于镜像大小导致创建失败

Codecov Report

:exclamation: No coverage uploaded for pull request base (release/2.12@f7b7c2c). Click here to learn what that means.
The diff coverage is n/a.

@@              Coverage Diff               @@
##             release/2.12   #5246   +/-   ##
==============================================
  Coverage                ?   6.83%
==============================================
  Files                   ?     506
  Lines                   ?   86294
  Branches                ?       0
==============================================
  Hits                    ?    5898
  Misses                  ?   79901
  Partials                ?     495

Flag
Coverage Δ

#aFlag
6.83% <ø> (?)

Continue to review full report at Codecov.

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

/lgtm

/approve


Dreamfields: Bad results compared to figures in the paper

Hello,
I have been running some teaser prompts from the Dream Fields site: https://ajayj.com/dreamfields. However, the results seems to be much worse compared to the figures in the paper. I am using the config/config_mq.py default settings. Is this because of the lower resolution (168*168) used in training or are the figures in the paper generated using the LiT-B/32 model instead of ViT-B/16?
I attached results I got for "a sculpture of a rooster.", "a robotic dog. a robot in the shape of a dog." and "matte painting of a bonsai tree; trending on artstation.".
Thanks
https://user-images.githubusercontent.com/18273944/185828051-fa7c41f4-e4d3-45a0-b2fe-a184f82e936a.mp4
https://user-images.githubusercontent.com/18273944/185828067-27a10466-9c14-4444-b1ba-be6959bbf7a6.mp4
https://user-images.githubusercontent.com/18273944/185828078-995f4b65-ec3c-4118-b8aa-d9ced958891c.mp4
!

Hi @hanhung
Why did u close this thread? Were you able to reproduce with good results?


Can't update a route and show better error message

I get this response:
{"error":{"message":"Could not create route"}}

Which isn't helpful at all.
And this is in the functions logs:
Dec 12 23:01:36 953f0bcf2c83 functions:  time="2016-12-13T07:01:36Z" level=error msg="Could not create route" action="server.handleRouteCreate)-fm" app=tbots error="Route already exists"

Which actually has helpful information, ie: that it already exists. That said, I can't update my route to a new version because of this error.

Is this bug still valid?


Any particular reason for abandoning docker-gc

I'm curious if there is a particular reason for Spotify to abandon the docker-gc project internally. Is there another tool that works better? Was it replaced with docker --prune?
I think it would be helpful to note what Spotify is now using on the issue.

Are any alternative projects or forks available?

I'd also like to know of any alternative projects and why spotify abandonded this project.

I'd also like to know of any alternative projects and why spotify abandonded this project.

I guess the alternative is the build in docker prune

for anyone interested, we just replaced the spotify-gc image with a cron-container that runs a regualr "docker image prune -a".


[Atom Plugin] ":" notation within XML and JSON payloads detect as a language construct

It seems when we use ":" character on XML, JSON payloads, Plugin take them as a language construct.

Closing the issue since the atom plugin is no longer continued.


Errors in '3.0.0-alpha.1'

What

using pod 'SugarRecord/CoreData', '3.0.0-alpha.1', cleaned the project, set $(inherited) on build setting - Always Embed Swift Standard Libraries ...  errors in Result.swift and ResultProtocol.swift

Context

I had this fixed locally re. previously closed issue #287

Proposal

Attach your own proposal (if you have it). We'll discuss in on the issue to find the best one that fits into the library.

What error do you get @jimpeters145 ?

@pepibumur spec dependency appears to be pointing to the wrong version of Result.  It's pointing to the Swift 3 version, should be ..  spec.dependency "Result", "2.1.3"

Version 3.0.0-alpha.1 should point to the Result version with Swift 3.0 compatibility, shouldn't it? @karnett

is 3.0.0-alpha.1 using Swift 3.0? I thought that was using Swift 2.3. If that's the case, do you have a Swift 2.3 version?

Can you try with 2.3.1 @karnett ?


Add support for custom annotation on Type reference

I have a usecase to extend Type to add some custom logic.
For example, a new Type may have some fields which is mandatory but when comparing two instances of that type I'd like to ignore few fields. We can achieve this by annotating few fields with our custom annotation say compare.ignore and then parse the schema and have a list of fields to be ignored in Type and then while comparing we remove those ignored fields from both left and right before comparing.
public class MyCustomType {
    private final Type type;
    private final Set<String> comparatorIgnoredFields;
    ...

}

A corresponding schema may look something like:
type::{
    name<EMAIL_ADDRESS>    type: struct,
    fields: {
       a: {
            type: int,
            occurs: 1
        },
        b:{
            type: string,
            occurs: 1
        },
        c:'compare_ignore':: {
            type: timestamp,
            occurs: 1
        }
    }
}

But this fails as ISL doesn't allow any annotation other than some default annotations [1].
ISL itself is Ion doc and as any Ion doc it could support any custom annotation and have it behave as passthru and .getIsl() on type can return the type IonValue as it is along with any annotation and let the client handle that however they want.
[1] https://github.com/amazon-ion/ion-schema-kotlin/blob/bbab678c12fdd07bcb9b5d632fb7364a04541a73/ion-schema/src/main/kotlin/com/amazon/ionschema/internal/TypeReference.kt#L58
A related issue: https://github.com/amazon-ion/ion-schema-kotlin/issues/303

Thanks for suggesting this feature. From an implementation perspective, it is certainly possible to allow other annotations on type references. I think the next step here is to determine the answers to at least these questions to help figure out how this fits with the rest of the Ion Schema Language.

What use cases are served by this? Specifically, why is it better in those cases to annotate a type reference rather than adding a field to a type definition or a field definition?
How do these extra annotations interact with the annotations that are already built into Ion Schema Language? (Does order matter?)
If we proceed, we cannot allow completely arbitrary annotations. (See https://amazon-ion.github.io/ion-schema/rfcs/ion_schema_2_0/open_content.html —allowing unrestricted annotations has the same problems as allowing unrestricted fields.) What subset of annotations should be reserved for system use? It cannot be the same as the reserved words for field names because ISL 2.0 already has a $null_or annotation.

Thanks for the response.

The usecase mentioned was one of the usecase. But it can also be used to create custom/user defined validators. After looking at the workaround, I can see that this can be achieved by adding a field to type definition. The annotation support looks like a syntactic sugar to that. Also for primitive types, it will be easier to add annotation than to add a field to type definition.
In Ion, generally the order of annotation doesn't matter. Most common way would be to check if a field has annotation like .hasTypeAnnotation("my_custom_annotation"). Similarly, I'd expect ISL shouldn't have any order dependent logic either. For internal built-in annotations, ISL should also just check if hasTypeAnnotation("any_isl_annotation") or the annotations contains the required annotation.
I'd also prefer not to allow completely arbitrary annotations. Any annotations which type creator intends to add to type can be declared before as allowed annotation, something like user_reserved_field_annotations or similar.


Port Python tests workflow to uv

Purpose
uv pip install is generally 10x faster than normal pip, so this should speed up our CI workflows.
Does this introduce a breaking change?
When developers merge from main and run the server, azd up, or azd deploy, will this produce an error?
If you're not sure, try it out on an old environment.
[ ] Yes
[X] No

Does this require changes to learn.microsoft.com docs?
This repository is referenced by this tutorial
which includes deployment, settings and usage instructions. If text or screenshot need to change in the tutorial,
check the box below and notify the tutorial author. A Microsoft employee can do this for you if you're an external contributor.
[ ] Yes
[X] No

Type of change
[ ] Bugfix
[ ] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[ ] Documentation content changes
[X] Other... Please describe:

Code quality checklist
See CONTRIBUTING.md for more details.

[ ] The current tests all pass (python -m pytest).
[ ] I added tests that prove my fix is effective or that my feature works
[ ] I ran python -m pytest --cov to verify 100% coverage of added lines
[ ] I ran python -m mypy to check for type errors
[ ] I either used the pre-commit hooks or ran ruff and black manually on my code.

Oops, this PR had my precommit changes too. I'll update from main after merging that one.


Windows uv_process_tcp_read_req (win/tcp.c) can loop forever

Version: 1.22.0 (Stable)

Platform: Windows 10 x64

Desc: when a sender is flooding the receiver with data, uv_process_tcp_read_req (win/tcp.c) could get stuck inside the while (handle->flags & UV_HANDLE_READING) loop following the comment line /* Do nonblocking reads until the buffer is empty */ - we have hit a case that a furious sender is constantly sending a large amount of data in its game loop, causing the receiver getting stuck inside uv_loop, where uv_process_tcp_read_req never returns due to the infinite loop mentioned. In our case, the read bytes from the WSARecv did always return 65536, filling the read buffer. We understand that a well behaving sender should not flood the receiver, but on the wild Internet, a nasty hacker can easily get us DOS'ed.

You can use uv_read_stop to terminate the read, do other stuff and resume reading from the socket later. After every read you regain the controll over your app, so I would not say that tou can easily get DOS'ed.


Enable logging by upstream service

This is more of a question and conversation starter than an issue...
I'd like to be able to differentiate the logs that my nginx-ingress generates by upstream service. I.E. if I have one service (service1.mydomain.com) and another, (service2.otherdomain.com), I'd like to be able to tell their respective access logs apart when parsing.
Has anyone found a way to do this with the existing tools and features?
Existing possibilities:

Use custom field in the log entry to add the upstream service name then parse down the pipeline with something external to k8s

Non Existing Options:

Add a feature to nginx-ingress to add error_log and access_log params to each server block to log to file. Parse these logs with its own sidecar container that would run alongside it and handle log files for each service (or server_name).

References...
https://kubernetes.io/docs/concepts/cluster-administration/logging/
Thoughts?
(I'd be more than happy to create a PR and examples for this if we decide file logging and a sidecar is the best route)

@phutchins right now the logs are sent to stdout and stderr (i.e. no persistence or sidecar).
I understand the need to split the files per server but I think is a lot simpler to just use a custom template to change the current behavior.
Is not enough a custom template?

Hey @aledbf, I could use a custom template but I believe this would be a common use case and having an easy and repeatable way to do this built in might benefit others.
Thinking through the options for a solution, I've run into a few points where template changes and configuration options might be useful. Mainly, I wouldn't want to have to run a sidecar for every endpoint unless I could automate it. Also, maintaining a custom template is an additional step for each of my clusters that I have to manage when updating my nginx-ingress.
If I were to use a custom template, is there a way to get a variable that doesn't exist in config.go into the nginx.tmpl?
Maybe there is a better answer in tying a service to a particular nginx-ingress replica or set of replicas which would only serve that backend? That seems like it could be slightly wasteful of resources however.

If I were to use a custom template, is there a way to get a variable that doesn't exist in config.go into the nginx.tmpl?

No. If you want to add more variables (or custom logic), you need to add that in code (go).

Adding an option to log to file is not something Kubernetes encourages.
I think if you need that feature you should use a custom template.

Closing. Please reopen if you have more questions.

Hi,
I am trying to get HTTP APIs access logs from ingress. I am not sure how to retrieve it. I want to see how many API requests ingress got and what was the response. Couldn't find material anywhere. Can someone guide me or redirect me to correct thread.

@utsavkansara the nginx logs are sent to stdout. Just run kubectl logs <ingress pod>

Hey @aledbf
I have a deployment of kind: ingress. I get it by running: kubectl get ing
I don't see any deployment or pod getting created for this service. Thats why I won't be able to see logs using kubectl logs


CAMEL-20794: AWS2 Kinesis producer supports sending batch

Description
Current kinesis producer can only send on record each time. It neither supports sending records in batch, nor supports async sending. Therefore, the throughput of kinesis producer is extremely low.
In this PR, kinesis producer added supporting for sending batch. This can significantly improve the throughput.
Target

[ ] I checked that the commit is targeting the correct branch (note that Camel 3 uses camel-3.x, whereas Camel 4 uses the main branch)

Tracking

[ ] If this is a large change, bug fix, or code improvement, I checked there is a JIRA issue filed for the change (usually before you start working on it).

Apache Camel coding standards and style

[ ] I checked that each commit in the pull request has a meaningful subject line and body.

[ ] I have run mvn clean install -DskipTests locally and I have committed all auto-generated changes

This will not work with concurrent batch
from a to azure
from b to azure
the array list should likely be a concurrent list, and when you flush then you would need some kind of synchronization to avoid a race condition where the list is clear and a message is added at the same time, could lead to lost message.
Also this batching is okay for mixing concurrent messages in the same batch as they are also individual records being send together to azure - to speedup this.
There is no upper size on azure, what if the batch has 50.000 elemenents ?

Create another PR to support concurrency. https://github.com/apache/camel/pull/14606
Close this one.


App 3 0 run screen

Description:
This PR is purely UI component based, does not touch redux state or API. @IanLondon @mcous any code review welcome before finishing out this section of the run screen.

Uses app.js rather than  Main.js as root component
Introduces mock state in app.js
Applies initial styles and conditional component rendering to run button, and run controls components.
Shrinks side panel to mimic closed side panel before tackling that section of the app (WIP)
Run Progress bar based on progress prop (1/3)*100 to mock command 1 of run_log.length being current command
Conditionally renders 3 run notification types: Tip, Paused, Error:

isRunning: false

isRunning: true,
isPaused: false,
errors: []

isRunning: true,
isPaused: true,
errors: []

isRunning: true,
isPaused: true,
errors: ['lost connection to serial port']

Check List:

[ ] Are there breaking changes in the API and how are they being communicated?
[ ] Who is reviewing your code?

@mcous thank you for comments. fixed in subsequent commits. much more readable.


When TRAFICOM_MOCK environment variable is set, fetches Traficom details from local db

Description

Context
How Has This Been Tested?
Tested locally

Codecov Report
Attention: 12 lines in your changes are missing coverage. Please review.

Comparison is base (383f90a) 82.59% compared to head (e8a4bd2) 82.49%.

Files
Patch %
Lines

parking_permits/services/traficom.py
20.00%
12 Missing :warning:

Additional details and impacted files
@@             Coverage Diff             @@
##           develop     #451      +/-   ##
===========================================
- Coverage    82.59%   82.49%   -0.10%
===========================================
  Files          153      153
  Lines         9474     9490      +16
===========================================
+ Hits          7825     7829       +4
- Misses        1649     1661      +12

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


sqldb: remove obsolete mysql-new-conn-count var

@alainjobart
This variable was used for some one-time troubleshooting.
It's otherwise not useful because there are alternate ways
of counting the number of mysql connections.

This change is

LGTM


Nuxt error toRefs()

Reproduction
In your Nuxt example and in my project, i get some vue warnings on reload at your store page on devserver.
Vue warn]: toRefs() expects a reactive object but received a plain one.
Steps to reproduce the behavior

npm run dev in your pinia-example-nuxt project
go to store page
reload
toRefs() error occur

Expected behavior
No error should show

This was fixed in @vue/composition-api and it will likely be picked up in the next release of @nuxtjs/composition-api.
The error is actually a harmless warning and you can safely ignore it.

me to


Mouse cursor disappears inside GDScript editor with scripts in 4.0 beta

Godot version
4.0 beta
System information
Win 11, NVidia 3000 series
Issue description
Hi all,
I've recently shifted to a newer machine, and i'm running into issues when trying to edit the code.
This issue isn't persistent, but the mouse cursor keeps disappearing and appearing, seemingly at random. Clicking around a few times sseems to fix it for some time.
It consistently disappears if I use the scroll wheel on my mouse.
Steps to reproduce
Create new project in Godot 4.
Write some code in a script.
Try to edit the script. Use the scroll wheel.
Minimal reproduction project
No response

Seems to be fixed by changing the color of the mouse pointer

Seems to be fixed by changing the color of the mouse pointer

Which setting are you referring to? Can you take a screenshot of the settings panel in question?

No third party software. Windows 11 settings.

Note that changing the color back to white revives the issue.

No third party software. Windows 11 settings.
Note that changing the color back to white revives the issue.

For people that don't want to have to deal with a differently colored mouse cursor: on my system, changing the color to "custom" (4th pointer style option), and selecting white as the custom color, also fixed the issue.

This is an old issue, but I had the same problem
Changing the mouse pointer did solve it
but that's a really nasty problem and even if not frequent, I can see people stop using the godot editor because of that
Just wanna bump it, and bring attention to the devs, since it seems to be a pretty important bug


PS3 DualShock 3 controller support

Well.. l it's USB, so let's do this one just because we already have PSClassic, PS4, and PS5 support.

Yup! And todays update adds setting the player order LED indicator. (Helpful when using USB hub.)


How can I break lines instead of "ellipsise" them

I have very long text that can't fit into one line (even in landscapte).
Is there a way to allow line breaks, increasing the height of the row to display full content ?
Would be a great addition (if it's not already included) in this great plugin.

Unfortunately not possible right now. I actually started looking at how to implement it today, but realized it wasn't that easy and it might require some breaking changes. It's a great suggestion though and something that will be added at some point.

Thanks for your quick answer :-) I gonna look into it as well as it would be critical in the very near future for me. Please keep us posted on that, and thanks for the amazing work

Added experimental support now! Use it by setting the option overflow to 'linebreak'. It might blow up since I haven't really tested it, but it works for a basic example.

Thanks!

No worries! Let me know if you have any issues.

How can I find the source code for this example, please?

In this repo in examples/examples.js. I looked through your other issue by the way, but didn't find anything wrong at first. Will take a deeper look soon.