Provide schema for scaler configuration

Provide schema for scaler configuration so that we can do diffs on PRs to detect (unwanted) breaking changes, allow community to build tooling (see #249), allow platform providers to integrate and more.
This should be automatically generated based on our Go-code, or our Go-code should be linted against it.

Provide json schema for use with kubeval or kubeconform?

For example, yes.

Any thoughts on how to do it @kedacore/keda-maintainers?

Dapr does a similar thing: https://github.com/dapr/components-contrib/blob/master/bindings/azure/servicebusqueues/metadata.yaml
We should really do  this rather sooner than later as well to allow the community to build tooling for our scalers.

Hey @tomkerkhove ,
Is there any chance this will be picked up sooner than later? I saw it on the roadmap, but what does that mean looking at the likelyhood of this being implemented?
It would really help us validating KEDA resource definitions next to basic Kubernetes resources as well as flux definitions based on their schemas

We need to find a way to auto-generate the schema rather than hand-crafted.
@zroubalik @JorTurFer can we do this now after doing https://github.com/kedacore/keda/issues/5797?

I think that we will be able somehow, yes. @wozniakjan ?

I believe so, although I haven't started working on the tooling yet.
Perhaps https://github.com/kedacore/keda/issues/5797 and the tooling can be worked on in parallel. I think when the tooling is available, it would be a great incentive for contributors to refactor the scaler config parser implementations to match https://github.com/kedacore/keda/issues/5797.

I think that we can start with the tool indeed. I mean, we have already some scalers using this declarative approach, so we can do it right now and once there are more scalers supporting this approach, the docs should be updated "automatically"

I believe so, although I haven't started working on the tooling yet.
Perhaps #5797 and the tooling can be worked on in parallel. I think when the tooling is available, it would be a great incentive for contributors to refactor the scaler config parser implementations to match #5797.

Totally agree!

I think that we can start with the tool indeed. I mean, we have already some scalers using this declarative approach, so we can do it right now and once there are more scalers supporting this approach, the docs should be updated "automatically"

+1, is this something you can help with @SpiritZhou? Maybe you can collaborate with @wozniakjan on this?


Is mfem::MPI required for a correct program that uses MPI and mfem?

I am wondering if it is valid to use MPI initialize and finalize calls manually rather than using mfem::MPI, or if this could cause unexpected behavior.
I have an mfem based program that uses MPI+CUDA+OpenMP(CPU). The OpenMP portion is a separate library that does not use mfem, and I do not build mfem with OpenMP enabled for now.
I recently heard that for an MPI program that uses threads to be valid, one must use MPI_Init_thread instead of MPI_Init. Currently, mfem::MPI only wraps MPI_Init. So from an mfem standpoint, I was wondering if I can manually manage MPI or if I should create a PR that also wraps MPI_Init_thread.

This was actually addressed recently in https://github.com/mfem/mfem/pull/3081.
I believe you can just pass MPI_THREAD_MULTIPLE as a third argument of Mpi::Init()

Thanks @tzanio , that PR has exactly what I wanted so I will close the issue.

Just to clarify: the use of mfem::Mpi to initialize and finalize MPI is not required -- this class is just for convenience. Using standard MPI_Init/MPI_Init_thread and MPI_Finalize calls should work as well.


Remove typo, update year in generated README

Thanks for the awesome project! LMK if this is the right format for a PR/commit message.

Thanks you!


WIP: Hide the config complexity behind an interface

/wip
We can't mock or tests code that use config if viper and all methods related are global/static. This PR makes it possible to create test config object.

I still strungle to reduce the scope of the Config interface. I would like it to just have Get, Set, List. Maybe it will be better to separate most of the config code from viper and introduces a ConfigStorage (so that in unit test it could be an in-memory storage).

I still strungle to reduce the scope of the Config interface. I would like it to just have Get, Set, List. Maybe it will be better to separate most of the config code from viper and introduces a ConfigStorage (so that in unit test it could be an in-memory storage).

Some random thoughts.. The interface is:
type Config interface {
	Get(key string) (interface{}, error)
	GetBool(key string) bool
	GetString(key string) string
	GetInt(key string) int

	Set(key string, value interface{}) (string, error)
	Unset(key string) (string, error)

	AddSetting(name string, defValue interface{}, validationFn ValidationFnType, callbackFn SetFn)
	AllConfigs() map[string]interface{}
	ChangedConfigs() map[string]interface{}
	BindFlagSet(flagSet *pflag.FlagSet) error
}

GetBool/GetString/GetInt can be implemented using Get (this is what viper does), so they can be implemented as helpers using the interface, they don't have to be in the interface.
Get/Set/Unset change the values of one config item, while AddSetting/AllConfigs/BindFlagSet act on the config schema (the set of valid config items).
And an alternative colud indeed be to have a lower level 'ConfigStore' interface which does very little, and expose some higher level API such as the one you describe which would not be an interface, just better API implemented on top of he interface.

I just realize that Get is not working as we expect. If you call Get("cpus") with the default config. It throws an error. Get is only for changed properties !
The API uses this Get method so it can't return the default number of cpus for instance.

The interface is slightly better now:
type Config interface {
	Get(key string) SettingValue
	Set(key string, value interface{}) (string, error)
	Unset(key string) (string, error)

	AddSetting(name string, defValue interface{}, validationFn ValidationFnType, callbackFn SetFn)
	AllConfigs() map[string]SettingValue
	BindFlagSet(flagSet *pflag.FlagSet) error
}

type SettingValue struct {
	Value     interface{}
	Invalid   bool
	IsDefault bool
}

func (v SettingValue) AsBool() bool {
	return cast.ToBool(v.Value)
}

func (v SettingValue) AsString() string {
	return cast.ToString(v.Value)
}

func (v SettingValue) AsInt() int {
	return cast.ToInt(v.Value)
}

I really want to keep this kind of expression if cfg.Get(config.ExperimentalFeatures).AsBool() { }. It reads well.
Now, let's see how to divide schema and storage.

I also noticed that in Set(k, v), v is always a string. We force cast to a string in the function, anything else panic. I am not sure if I should remove all the interface{} type.

I am now quite satisfied.
The interface looks like:
type Storage interface {
	Get(key string) SettingValue
	Set(key string, value interface{}) (string, error)
	Unset(key string) (string, error)
	All() map[string]SettingValue
}

type Schema interface {
	AllSettings() map[string]Setting
	AddSetting(name string, defValue interface{}, validationFn ValidationFnType, callbackFn SetFn)
}

You can now either create a config in memory for test purpose:
config.New(config.NewEmptyInMemoryStorage())

or with viper backend:
viper, err = config.NewViperStorage(constants.ConfigPath, constants.CrcEnvPrefix)
if err != nil {
  ...
}
config.New(viper)

I also added a lot of tests around viper.
It now handles correctly types. CPUs is an int in the json and in the code, etc.

I splitted everything in smaller chunks. It should be better. The last one is still big sorry !

Haven't looked at all the changes, but this solves the type issue of the stored configs, where everything was stored as strings in the file, now its storing the configurations with the correct json type 👍

I think I went on all the comments. We can still open two follow-ups:

SetFn can be SuccessfullyApplied(key string, value SettingValue) instead of SuccessfullyApplied(key string, value interface{})
Validation functions can be simplified but they need to have proper test coverage.

Rebased !

It should be good now :)

Decouple config storage from config default and casting

5 files changed, 231 insertions(+), 151 deletions(-)

One interesting note is that this one becomes much easier to understand if it's preceded by a commit doing git mv pkg/crc/config/viper_config.go pkg/crc/config/config.go

The only commit I haven't looked at closely is Use config object instead of package methods, it's a big one even if I expect it's fairly mechanical. However this is the one of the commits where I would expect a "why" in the commit log, especially as I think I asked several times why it's better than a SetConfigBackend() done early in the process life time, especially when you take into account the number of files which are touched by this commit?

For Use config object instead of package methods, I added: It allows us to mock config and not change the local configuration when running unit tests.

For Use config object instead of package methods, I added: It allows us to mock config and not change the local configuration when running unit tests.

What I suggested was having a way to set the raw storage for the global defaultConfig object (if needed, we can add some safeguards that it's set once and only once before any API from the config package is used). I don't think we have a need for multiple config objects targetting different rawstorage instances in the same package? So passing the config instance all around seems overkill?
diff --git a/pkg/crc/api/api_test.go b/pkg/crc/api/api_test.go
index 653fc1f1..96712539 100644
--- a/pkg/crc/api/api_test.go
+++ b/pkg/crc/api/api_test.go
@@ -99,11 +99,9 @@ func TestApi(t *testing.T) {
 }

 func TestSetconfigApi(t *testing.T) {
-	// setup viper
 	err := constants.EnsureBaseDirExists()
 	assert.NoError(t, err)
-	err = config.InitViper()
-	assert.NoError(t, err)
+	config.InitWithStorage(config.NewEmptyInMemoryStorage())
 	cmdConfig.RegisterSettings()

 	socket, cleanup := setupAPIServer(t)
@@ -132,11 +130,8 @@ func TestSetconfigApi(t *testing.T) {
 }

 func TestGetconfigApi(t *testing.T) {
-	// setup viper
 	err := constants.EnsureBaseDirExists()
 	assert.NoError(t, err)
-	err = config.InitViper()
-	assert.NoError(t, err)
 	cmdConfig.RegisterSettings()

 	socket, cleanup := setupAPIServer(t)
diff --git a/pkg/crc/config/config.go b/pkg/crc/config/config.go
index 73c909d1..401a8d0f 100644
--- a/pkg/crc/config/config.go
+++ b/pkg/crc/config/config.go
@@ -29,16 +29,20 @@ func New(storage RawStorage) *Config {
 	}
 }

-// InitViper initializes viper
+// InitViper initializes the config package to use viper by default
 func InitViper() error {
 	storage, err := NewViperStorage(constants.ConfigPath, constants.CrcEnvPrefix)
 	if err != nil {
 		return err
 	}
-	defaultConfig = New(storage)
+	InitWithStorage(storage)
 	return nil
 }

+func InitWithStorage(storage RawStorage) {
+	defaultConfig = New(storage)
+}
+
 // AllConfigs returns all the known configs
 // A known config is one which was registered through AddSetting
 // - config with a default value

With this diff, viper is used in the viper tests, and does not use the main config, a memory backend is used for the api tests, almost no other changes are needed.

Using a global config makes impossible to run unit tests in parallel.
Also, it's good to show this dependency on the config. It unveals design issue like https://github.com/code-ready/crc/pull/1460/commits/ad33f99ba7e696dcf5bc50cbfce2c5a92378c745#diff-34fe880424a6417ba38364ae45749a54L101-L105
I admit it's not really beautiful but it's the best way to get correct code. If the config is a global variable, you can't highlight the hard dependency of what you test and the config. I would even be tempted to remove it config.InitViper() and see if it still work. Also, if everything is like this, we could even init random object that we don't need: libmachine logging is not initialized here, why not?
More generally, we really need to avoid init function, static functions and global variables.

Using a global config makes impossible to run unit tests in parallel.

If we start running unit tests in parallel, we should run them in separate processes to avoid unexpected interactions between them. Even without running anything in parallel, test_config_viper.go has issues with viper's watch leaking from one test to the next.

I admit it's not really beautiful but it's the best way to get correct code. If the config is a global variable, you can't highlight the hard dependency of what you test and the config.I would even be tempted to remove it config.InitViper() and see if it still work.

If we go with this invasive change, config.InitViper() definitely should eventually be removed, as well as defaultConfig.

Also, if everything is like this, we could even init random object that we don't need: libmachine logging is not initialized here, why not?
More generally, we really need to avoid init function, static functions and global variables.

In general I agree. In the case of config, it's imo a core service, similar to logging, and having it available globally is an acceptable convenience. Needing to add a config argument to most functions of our codebase makes it very inconvenient
/impractical, makes everything slightly harder to read, ... Which is why I'm leaning towards not passing the instance around in this very specific case.

similar to logging

Logging is already a hell. Let's not have a second config hell. We will have fun when we will need the daemon to report startup logs.
I counted 27+2 times we have to pass config.Storage or Schema as a parameter. 29 arguments and less black magic, less chance to create bugs.
About 20 of them are in preflight and api packages. This seems a lot, I bet a better design you reduce that.


Implement CupertinoSearchTextField opacity fade on scroll

Before:
https://github.com/user-attachments/assets/38cabba1-d002-4a5d-b80b-fd0955b2aad5
After:
https://github.com/user-attachments/assets/3e73f863-c353-43f3-90b8-fd322b42b5d3
Native iOS:
https://github.com/user-attachments/assets/daab345e-09ae-44dc-a1a0-461757c13542
Fixes https://github.com/flutter/flutter/issues/154648
Needed for https://github.com/flutter/flutter/issues/18103
Pre-launch Checklist

[x] I read the Contributor Guide and followed the process outlined there for submitting PRs.
[x] I read the Tree Hygiene wiki page, which explains my responsibilities.
[x] I read and followed the Flutter Style Guide, including Features we expect every widget to implement.
[x] I signed the CLA.
[x] I listed at least one issue that this PR fixes in the description above.
[ ] I updated/added relevant documentation (doc comments with ///).
[x] I added new tests to check the change I am making, or this PR is test-exempt.
[x] I followed the breaking change policy and added Data Driven Fixes where supported.
[x] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel on Discord.

Works only on mobile platforms... Maybe something to do with Scrollable.of(context)?

One corner case I'm wondering about: What happens if you stop scrolling at the point where the opacity is fading out? Will it stop and remain partially transparent? What happens on native in that case?

The native version snaps back to the full-height search bar. With this PR, it just stops at whatever extent it has resized to.
But the snapping behavior is everywhere on iOS. The large title also snaps, for example. There's an issue open for it: https://github.com/flutter/flutter/issues/126028

For the partial scroll, so a scroll stops mid fade, can we put in snapping for this widget to start? It might be odd if it's partially shrunk and has faded text if the user tries to interact and type into it while it's partially shrunk.

I'm wondering if the snapping effect is more of a nav bar thing rather than a widget specific thing. Because in the settings app for instance, the padding/margin around the search bar also snaps along with the search bar itself. If we implement the snapping on the widget level, how would that play with the snapping on the nav bar level?

For the snapping on partial scroll: it makes an amount of sense to have that in a separate PR. Maybe with the drawer/ bottom work? But I'm just wondering if anything about this PR may get in the way of that. Is there a rough idea of how that could be implemented?

I don't think this PR will get in the way of that. For the snapping/autoscrolling, I think we can grab the ScrollController of the parent CustomScrollView, and animate the scroll by the necessary offset when we receive a ScrollEndNotification (and the title/bottom is partially scrolled under the edge of the viewport). This would probably be in its own PR.


Regexp exclude

Hi,
I am using Traefik version 2.2 and want to have my own 404 page for the server.
I created a simple docker-compose file with the label:
 - traefik.http.routers.err_insecure.rule=HostRegexp(`{subdomain:(?!dashboard)([a-z]+)}.server1.domain.com`)

Dashboard.server1.domain is leading to the traffic dashboard.
So i want to exclude that domain, but for the rest i want to lead it to this docker-container.
However if i start the container traefik gives me the following message:
error parsing regexp: invalid or unsupported Perl syntax: `(?!`

Hello,
the Look-ahead and Look-behind are not possible in Go.


Module.wrap override breaks shadowing for globals

Create a src.js with the following.
let console = 1;

node src.js runs without error because function-level shadowing of globals is permitted. That program would break with SyntaxError: Identifier 'require' has already been declared if you replace console with require.
lya breaks with the the same error for console due to its Module.wrap override, regardless if it uses var or let as a variable declarator. This is because it injects known global identifiers into the same module function's scope.
Is there a note somewhere that tells users that they cannot shadow any global identifiers used by Lya in this way?

@nvasilakis This is one reason why I leaned towards runInContext: It removes the need to override Module.wrap because the global-but-not-really declarations do not have to be injected into a CommonJS superset.

Hey Sage! Thanks for the report!
I don't think we have documented this specific issue in the repo. Although re-declaration with var should be possible.
When i run the following snippet with lya, it fails.
let console = 1;

But when i change let to var the following snippet passes.
var console = 1;

This is possible because of an option in the code base that changes the way we declare the global identifiers in the prologue that we injected to every imported module. This happens in the following sections of the src.js file. By default this option is off.
https://github.com/andromeda/lya/blob/01a41635fe7c69bd7f81ab2852867fbe45bdc192/src/core.js#L25-L26
https://github.com/andromeda/lya/blob/01a41635fe7c69bd7f81ab2852867fbe45bdc192/src/core.js#L418-L421

I'm aware of the option, but this bug reproduces if you use var and enableWith is true.

Thanks for the quick response! I'm aware of the option, but this error reproduces if you use var and enableWith is true, because then the var is hoisted above generated lets.

Yes, that is true and logical. It is not so much a bug as the way that node.js operates. I mean the way that lya is written, it creates a prologue that re-declares global variable in module-level scope. The only possible ways to declare the variables are with var,let and const. In our use-case:

const doesn't work for us
let is one option, that has the advantage of not interfering with the with functionality that we have implemented, but allows only one declaration of a variable. The following fail in any node.js program:

let pizza = 'amazing';
let pizza = 'amazing';

var is another options that allows to mitigate the problem with the double declaration, but interferes with the functionality of with. This will pass:

var pizza = 'amazing';
var pizza = 'amazing';

In our error case, i don't think there is a way to first declare something with var and then again with let and let it pass. Same thing vise-versa.

Yes, but I would not expect a user to change their code for the sake of a dynamic analysis tool. A program that uses let does not work regardless of the value of enableWith. So it seems like the only way to shadow a global in a module-level declaration is when you use var and set enableWith to false.

Yes, I agree. I don't expect the user to change their code for their dynamic analysis tool, but i think it is logical to expect some configurations to be passed to the dynamic analysis tool. There is only one way to mitigate this specific scenario without changing the users code, and that is to use the --prop-exclude functionality while running the dynamic analysis tool to exclude  console from the analysis.

Are you saying the point of this option is to create a workaround for the error? If so, what workaround would exist if the user does not have to change their code?

The point of this option is to provide way to disable the with functionality (provides a deeper analysis on global variables scope) and at the same time provide a workaround for the error.

@GNtousakis Your summary of the intended usage of --prop-exclude was what I was asking for. I already understood the rest.

There is only one way to mitigate this specific scenario...

If core.js was built around runInContext instead of runInThisContext, I suspect this issue can be avoided because globals are properly instrumented. My understanding from @nvasilakis is there is some reason why that wasn't used, but I never heard the specifics. I verified that the code runs in the same V8 isolate, so I'd appreciate your view on why manually extending CommonJS and reserving module-local identifiers is the answer.
Failing that, I suspect the issue can also be resolved by wrapping module code in a second IIFE, but I would need to understand how that impacts what you meant by "provides a deeper analysis on global variables scope".

understanding why manually extending CommonJS and reserving module-local identifiers is the answer.

To add: It appears the reason behind runInThisContext is because a require function is used as an entry point for analysis, and Node.js calls vm.runInThisContext as a side-effect of require. So when I talk about building around runInContext, I'm thinking of an override like this.
function override(context) {
   vm.runInThisContext = function runInThisContext(code, options) {
    return vm.runInContext(code, context, options);
  }
}

Doing that creates a path where you don't need to tinker with CommonJS to make it work.


Feature request: DownloadPipelineArtifact support partially succeeded builds

Agent Version and Platform
windows-latest
Azure DevOps Type and Version
dev.azure.com
If on-premises, which release? 2015.0, 2017.1, 2019 RC2, etc.
What's not working?
If you have a build that only partially succeeded, this task will not find it.  Instead, it will give you the most recent one that fully succeeded.  For the DownloadBuildArtifact task this is configurable via the allowPartiallySucceededBuilds parameter, but it's not for DownloadPipelineArtifact.

Hi @bchurchill, this feature is being worked on. The be released in 1-2 weeks. Thanks.
https://github.com/microsoft/azure-pipelines-tasks/issues/11556

Closing as this feature has been released.


Support html.canvas["ref"] prop

Original discussion: #1134
cc: @slauko
Current Situation
With ReactJS, it will "fill in" the canvas context into the ref=... you provide. We currently do not have an equivalent feature in ReactPy. Currently, all props provided to ReactPy are serialized and sent to the client as-is.
Currently we have no mechanism that would enable ReactJS/ReactPy to intelligently "fill in" this ref. To add compatibility for this feature, ReactPy would need to start treating reactpy.html.canvas["ref"] as a unique prop.
Proposed Actions
In all likelihood, creating an equivalent API to ReactJS <canvas ref=... /> would rely on our future plans for a use_messenger hook to allow for arbitrary client->server real-time communication.
There's also a chance we develop this fully server-sided, but that would require some investigation if that's technologically feasible.

I second this. It would be really nice to have this feature in ReactPy as well :)


Adds basic implementation of url template

Codecov Report
Attention: Patch coverage is 0% with 26 lines in your changes missing coverage. Please review.

Project coverage is 92.39%. Comparing base (f815f1d) to head (cc99f6a).

Files with missing lines
Patch %
Lines

pkg/core/tmpl/url_tmpl.go
0.00%
26 Missing :warning:

Additional details and impacted files
@@            Coverage Diff             @@
##             main      #69      +/-   ##
==========================================
- Coverage   94.46%   92.39%   -2.08%
==========================================
  Files          29       30       +1
  Lines        1157     1183      +26
==========================================
  Hits         1093     1093
- Misses         44       70      +26
  Partials       20       20

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


Add a download for people that don't use NPM

Not everyone uses NPM, the site should have a regular JavaScript file download. It should use UMD for the module.

I guess we just need to add a link in the README to the dist files. For UMD support we just need to add a flag in the webpack.conf.js.

Oh cool, I didn't even notice the dist files. It would be cool to get them onto either CDNJS or the Facebook CDN too so people can just hotlink them if they want to :)

Yes a CDN would be sweet, im not sure how to do that. Im curious is there any advantage over using rawgit.com?

Well, ideally built assets should never be in source control, only the source files :). A dist directory in source control results in lots of noise in every diff, and quickly becomes out of date once someone forgets to update it.
Loading directly from a Git repo is unversioned. I guess you could use tags, but a proper CDN will have better performance. I believe it's fairly simple to add new libraries to CDNJS.

I have added UMD support and versioned build files are available via https://github.com/facebook/fixed-data-table/releases. I will create a specific issue for adding files to the CDN.


GIC tests seems to rely on MSI-X feature being enabled for v3 + ITS

From my understanding, the GIC (GIV v3 + ITS) tests can be set up as MSI or MSI-X. v3 + ITS can have full MSI-X support at the RP, but doesn't have to use it. You could also have an endpoint that supports it (or not). As far as I can tell, the BSA code expects that MSI-X is always supported for GIC v3 + ITS, but a system could still decide to not do that. Shouldn't these tests default to MSI when the RP compatibility register shows MSI-X as not enabled? This seems to affect tests 904, 911. 912, and 913.

I agree with the comment here. BSA PCIe exerciser tests should check both MSI and MSI-X capable endpoint devices rather than only MSI-X capable endpoint devices.
@gowthamsiddarthd and @chetan-rathore  Can we get ACS team to fix the issue?

Hi,
Thank you for reporting this.
We are working on fixing and adding support for MSI in the tests.
Regards,
ACS Team


Error response from daemon: Bad response from Docker engine

Error response from daemon: Bad response from Docker engine

docker pull agomezmoron/docker-appium
Using default tag: latest
Warning: failed to get default registry endpoint from daemon (Error response from daemon: Bad response from Docker engine). Using system default: https://index.docker.io/v1/
Error response from daemon: Bad response from Docker engine

docker build -t agomezmoron/docker-appium . && docker rmi -f $(docker images -f "dangling=true" -q) &> /dev/null
unable to prepare context: unable to evaluate symlinks in Dockerfile path: lstat /Users/enriquecampitaii/Dockerfile: no such file or directory


Search filter button is no longer working

No errors in console.

In the meanwhile, issue resolved itself, however, there is a problem with the checkbox logic: if two or more filter paramaters are chosen, and one is deselected afterwards, the filter button gets disabled.

New issue: Upon using filterByYear(), selecting a checkbox, querying the API, then without resetting the filter, selecting another checkbox, the previous value of the checkbox is not erased, so the combination of the two checkbox values is used for querying the API.

[ ] After typing in an incorrect search term, then deleting that search term, and typing in a valid one, the search button still stays disabled.


The website is not reachable

The link : https://sn99.github.io/rust-practise-questions/ produces a 404

is there a way I can build this temporarily?

@shubhamkumar13 It should be reachable now on https://rust-unofficial.github.io/rust-practise-questions/, it was recently moved to new address

Thanks @sn99 :) !!


⚠ Community has degraded performance

In b5588c8, Community (https://community.wrk.com/health) experienced degraded performance:

HTTP code: 200
Response time: 226 ms

Resolved: Community performance has improved in 7d8a77e.


IJ2 commands returning Dataset/Img don't work with setBatchMode(true) in macros

Consider the following macro, using the File > Import > Image... command:
#@ File input
setBatchMode(true);
run("Image... ", "source=[" + input +"] crop=false autoscale=true computeminmax=false x=0 y=0 w=0 h=0 groupfiles=false mode=Auto range=0");
run("Z Project...", "projection=[Max Intensity] all");
setBatchMode("show");

This will throw and error:

There are no images open in line 4

Changing line 2 to setBatchMode(false); makes it work as expected.
I guess the issue is that Dataset objects are not (or too lazily) synced with IJ1 ImagePluses.

Note that despite the fix this won't work running headlessly currently.


App Gateway support for DisabledSSLProtocol(s) ported from Java SDK

base on Java SDK commits:
https://github.com/Azure/azure-sdk-for-java/commit/8d579a3027829de14253fdd13c1329ba64e8dbe0
https://github.com/Azure/azure-sdk-for-java/commit/c492dc21f84942e1d95ff00878e5cd222dc1875b
https://github.com/Azure/azure-sdk-for-java/commit/ec1aa13f605546a58f18dfbcf8b72912cba50ce3
https://github.com/Azure/azure-sdk-for-java/commit/ca7dcd85852db87e2a59dc8bbe7f9272e5aa89cd
https://github.com/Azure/azure-sdk-for-java/commit/6506b6532f2dcc072f7b84fe573c918661b75cd9
https://github.com/Azure/azure-sdk-for-java/commit/5aedd8c9bb1ccb172a9be420cfa0223926cbfc1b
https://github.com/Azure/azure-sdk-for-java/commit/533bdaef69c3b08f0f437a5dbc0c77070cfc64eb

@martinsawicki,
Thanks for your contribution as a Microsoft full-time employee or intern. You do not need to sign a CLA.
Thanks,
Microsoft Pull Request Bot

Can one of the admins verify this patch?


Augmentation , Class group balancing and Anchors

@poodarchu @a157801  thanks for the wonderful code base had few queries

as mentioned in the paper which function performs the GT-AUG in the current code base
2.Is class group balancing feature performed in the current code base if so which function is performing
are anchors generated separately for kitti and nuscenses or having the same anchor which performs the anchor generation

db sampler is used to do GT-AUG.
you can check nuscenes.py's init function.
anchors of KITTI or nuScenes or Lyft use different configurations.

db sampler is used to do GT-AUG.
you can check nuscenes.py's init function.
anchors of KITTI or nuScenes or Lyft use different configurations.

@poodarchu  can i view the augmented data or save it to see how the augmentation is working

Hi @abhigoku10
The augmented data will not be saved because the augmentation is processed online while training.
But the cropped points in the GT boxes for GT-AUG will be saved in gt_database folder.
Please make a code to visualize how the augmentation is working.

@poodarchu can i view the augmented data or save it to see how the augmentation is working

If you need to visualize data / feature map or anything else, you can use scripts in det3d/visualization


Refine json data

My interpretation of this pull request:

Because JSON.stringify() cannot handle BigInt, the JSONB library is imported to enable the use of native BigInt.
Users can add a custom processing function in the second parameter of json.stringify() if needed. This PR introduces the custom processing function numberToHex(), which uniformly converts variables of type number or BigInt to hex (hexadecimal) format."

@oneleo According to ERC-4337, it requires all fields in user operation to be hex, that's the reason why we need this conversion. You can take a look here: https://eips.ethereum.org/EIPS/eip-4337#rpc-methods-eth-namespace


Am I allowed here?

DO NOT REMOVE OR SKIP THE ISSUE TEMPLATE

[X] I understand that I will be blocked if I remove or skip any mandatory* field

Checklist

[X] I'm asking a question and not reporting a bug or requesting a feature
[X] I've looked through the README
[X] I've verified that I'm running yt-dlp version 2022.10.04 (update instructions) or later (specify commit)
[X] I've searched the bugtracker for similar questions including closed ones. DO NOT post duplicates
[X] I've read the guidelines for opening an issue

Please make sure the question is worded well enough to be understood
I’ve been banned from YT-DLP issue-making for my issues. Am I allowed to make issues here?
Provide verbose output that clearly demonstrates the problem

[ ] Run your yt-dlp command with -vU flag added (yt-dlp -vU <your command line>)
[ ] Copy the WHOLE output (starting with [debug] Command-line config) and insert it below

Complete Verbose Output
No response


Add retry mechanism for the given error

Describe the feature
Add retry mechanism for the given error, like for example DELTA_LAKE_BAD_WRITE.
That feature should be configurable, meaning that the user can specify one or more errors on which the query from the model will be retried.  It should also include max number of retries and wait/sleep before the next attempt.
Describe alternatives you've considered
No response
Who will benefit?
No response
Are you willing to submit PR?

[ ] Yes I am willing to submit a PR!

In dbt we utilise something called artifacts:

https://docs.getdbt.com/reference/artifacts/dbt-artifacts

We use this to store test results into a table called dbt_results , on our project level on-run-end.
Which outputs test results to a single table with all test results.
We don’t run all jobs in one single DBT job but they are spread out.
This leads to multiple DBT jobs finishing, trying to write on
on-run-end:
    - "{{ store_dbt_results(results) }}"

The delta write lock issue then kicks in here since multiple DBT jobs, within the same single cluster, try to write their output to the results table from the actual dbt run and dbt test.

Hello, I think this is an important feature to have. Any updates?


reset procedure fails on esp32s3

This may be a core bug but I'm starting here...
On a prototype board with MAX17048, I was consistently failing to initialize the device:
>>> s = adafruit_max1704x.MAX17048(b)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "adafruit_max1704x.py", line 115, in __init__
  File "adafruit_max1704x.py", line 130, in reset
  File "adafruit_register/i2c_bit.py", line 64, in __set__
OSError: [Errno 19] No such device

reset() deliberately causes a transaction that will be NAK'd. However, on Adafruit CircuitPython 8.0.0-beta.4-25-g195ad4e479 on 2022-11-15; Adafruit Feather ESP32-S3 Reverse TFT with ESP32S3, the next I2C transaction after the NAK would also fail.
The following change seems to allow the module to consistently be initialized:
diff --git a/adafruit_max1704x.py b/adafruit_max1704x.py
index cb4d700..ae0eccd 100644
--- a/adafruit_max1704x.py
+++ b/adafruit_max1704x.py
@@ -120,11 +120,18 @@ class MAX17048:
         try:
             self._cmd = 0x5400
         except OSError:
+            print("nak'd command")
             # aha! we NACKed, which is CORRECT!
             pass
         else:
             raise RuntimeError("Reset did not succeed")
-        self.reset_alert = False  # clean up RI alert
+        for _ in range(3):
+            print("trying to reset alert")
+            try:
+                self.reset_alert = False  # clean up RI alert
+                return
+            except OSError as e:
+                print(f"tried to reset alert: {repr(e)}")

     @property
     def cell_voltage(self) -> float:

The debug prints that remain say that the first reset_alert is also failed / NAK'd but the 2nd succeeds
s = adafruit_max1704x.MAX17048(b); time.sleep(.1); s.cell_voltage
nak'd command
trying to reset alert
tried to reset alert: OSError(19,)
trying to reset alert
4.2175

I did not scope the I2C bus to see whether the first attempted transaction to reset_alert actually occurs or not.

@ladyada @dhalbert interesting clue about i2c problems on esp32s3 emerged while working with this sensor on the feather esp32s3 reverse tft prototype board

could be its just faster because it doesnt have the 1ms wierdo delay? wanna try adding a lil sleep(0.005)?

A sleep (even a 1-second sleep!) isn't enough to recover. I think we need the "try twice" fix here, unless we find a fix for the core.

Closed by #10


proposal: keep all settings to the install script

Is your feature request related to a problem? Please describe.
Maintaining an existing k3s Installation I'd like to get an overview of the setup configuration. When using the installation script for updates, some settings might get lost as well. In general, I'd expected an update to re-use the original configuration unless its values are overwritten.
Describe the solution you'd like
The installation options are passed as environment variables prefixed with INSTALL_K3S_. It would be easy to save them just as done with the K3S_ prefixed ones. The resulting file could be optionally sourced for updates to maintain the original values.
Describe alternatives you've considered

Manually replace the k3s binary for updates (i.e. not using the installation script).

This would work but one would loose the comfort and additional options of the installation script.

k3s currently keeps all the arguments in the k3s.io/node-args annotation on each node. I think the intent is to persist the actual resulting arguments to the server or agent, rather than the variables that they might have been derived from.

k3s currently keeps all the arguments in the k3s.io/node-args annotation on each node

while this works for the server arguments, it won't (and probably doesn't make sense to keep as annotation) for the installer options like INSTALL_K3S_CHANNEL or INSTALL_K3S_BIN_DIR. This is why the upgrade using the installation script requires you to

[...] re-run the installation script using the same flags

So why don't we save those values and either reuse them or at least allow to see all related configuration values used in a previous installation, so one can decide whether to re-apply them for the update.


Validate update split 1

Just that one function that could probably use an updated name and comment
LGTM :+1:

Rename done.

Cherry-picked to master.


”Carcaliu” is listed in the drop-down menu

Description:
"Carcaliu" is listed in the drop-down menu alongside its corresponding county and commune, according to the law.
Precondition:
The website is up an running.

Step 1
Type "Carcaliu" in the search bar.

Expected results
The location is listed in the drop-down menu as "Sat Carcaliu, TULCEA (Carcaliu)".


Roll Flutter Engine from 78c1ad249b57 to 305890ab2580 (7 revisions)

https://github.com/flutter/engine/compare/78c1ad249b57...305890ab2580
2023-09-21<EMAIL_ADDRESS>Re-enable HardwareBuffer backed Platform Views on Android >= 29 (flutter/engine#46071)
2023-09-21<EMAIL_ADDRESS>[Impeller] Use final cmd buffer to present drawable. (flutter/engine#46023)
2023-09-21<EMAIL_ADDRESS>More Clang Tidy --fix[es] to header files (flutter/engine#46151)
2023-09-21<EMAIL_ADDRESS>Reland: Enforce the rule of calling FlutterView.Render (#45300) (flutter/engine#45555)
2023-09-21<EMAIL_ADDRESS>Revert "[web] fix clicks on merged semantic nodes (#43620)" (flutter/engine#46067)
2023-09-21<EMAIL_ADDRESS>Move git_repo_tools and process_fakes outside of clang_tidy. (flutter/engine#46017)
2023-09-21<EMAIL_ADDRESS>Remove linux fuchsia from recipes cq. (flutter/engine#46153)
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Please CC jonahwilliams@google.com,rmistry<EMAIL_ADDRESS>on the revert to ensure that a human
is aware of the problem.
To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose
To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Commit queue failed; closing this roll.


Retry failed connection attempts

This is built on top of #75, so I will convert it from a draft once that gets merged.
I believe this should resolve #18 and #90.
This PR emulates the connection logic performed by esptool.py and should help with connection issues on older devices. Essentially this adds two things:

Retry the connection until we connect to the device, or reach the attempt limit
Alternate between the default delay and a longer delay, which helps with older devices (eg. ESP32 rev 0)

Rebased on master, should be good to go.


Add .ref() method to expressionbuilder

As previously discussed.
A .ref("column") method on the expressionbuilder would allow us to use references to other columns in updates, on conflict do update clauses, and in other areas where expressionbuilder is used, in a type safe manner.
Examples:
db.insertInto('person')
  .values(person)
  .onConflict((oc) => oc
    .column('id')
    .doUpdateSet({
      name: (eb) => eb.ref('excluded.name')
    })
  )

db.updateTable('pet')
.innerJoin('person', 'person.id', 'pet.owner')
.set({
  ownerName: (eb) => eb.ref('person.name')
});

Edit: Forgot to mention, the other benefit of this over .raw() is that with this we can pass in the column names we're using elsewhere, instead of having to remember to snake_case them first (if we're using the camelcase plugin).

Just tested, works great, as usual. Thanks!!!


[Feature] Add Binary Decimal Calculator

Description
A calculator to convert binary to decimal.
@Rakesh9100 assign this to me
Screenshots
No response
Checklist

[X] I have checked the existing issues.
[X] I follow Contributing Guidelines of this project.
[x] I am a GSSOC'24 contributor.
[ ] I am a IWOC'24 contributor.
[ ] I am a JWOC'24 contributor.
[ ] I am a SWOC'24 contributor.

Code of Conduct

[X] I agree to follow this project's "Code of Conduct".

I would like to work on this project . please assign it to me .

@Rakesh9100 or project admin kindly assign this task so I can open a pull request

Hi @Rakesh9100
I would like to be assigned to this issue and add this feature to the website. This contribution is for GSSoC'24.

We already have Number System Calculator for this, pls create new issues @ChhaviRohilla

We already have Number System Calculator for this, pls create new issues @ChhaviRohilla
okay , I have raised another issue as well

check the issue https://github.com/Rakesh9100/Beautiify/issues/792


Add epoch-based decay strategy

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@5016893). Click here to learn what that means.
The diff coverage is 100%.

@@            Coverage Diff            @@
##             master     #261   +/-   ##
=========================================
  Coverage          ?   76.87%
=========================================
  Files             ?       66
  Lines             ?     5323
  Branches          ?        0
=========================================
  Hits              ?     4092
  Misses            ?     1231
  Partials          ?        0

Impacted Files
Coverage Δ

onmt/train/Optim.lua
68.96% <100%> (ø)

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 5016893...7d243ca. Read the comment docs.


Module - 3 Missing import in Layout.spec.js

In the unit test of the Layout class Element is used (line 69), but it is not imported.
This causes the related tests to fail even though the class has been implemented correctly.
File:
https://github.com/Idea-Pool/js-webinar/blob/master/module-3/test/pop/Layout.spec.js

Fixed in https://github.com/Idea-Pool/js-webinar/commit/60b88178212a318565405c795fc4db2cd6d2e8ab


[Bug] Unable to save/load workflows containing custom nodes

💻 系统环境 | Operating System
Windows
🌐 浏览器 | Browser
Chrome
🐛 问题描述 | Bug Description
Save and load functions of workflows containing default nodes by comfyui seems to be working but if you include any custom node like efficiency node, you cannot save that workflow or load it from a json file.
🚦 期望结果 | Expected Behavior
No response
📷 复现步骤 | Recurrence Steps
No response
📝 补充信息 | Additional Information
No response

Same problem here


gh-actions: fix release workflow

This PR tries to fix the failing release workflow. It imrpoves and simplifies the exit and if conditions, and adds some validation steps that will make it easier to debug failing workflows in the future.

 GH Actions are not fun to write.

@ahankinson If you are OK with the latest changes, you can merge this PR. It goes to the release branch.

Oh I’m fine with them; I just thought you or Benni should have the honors. Consider this message to be permission to merge so that you guys get your names in the commit history.


update play.goplus.org, change "star" button url.

update play.goplus.org, change "star" button url.
修复“star”按钮的链接，原来的链接是链接到 qiniu/goplus

Codecov Report

Merging #14 (fd90b8d) into master (ac3fa31) will decrease coverage by 1.35%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master      #14      +/-   ##
==========================================
- Coverage   23.04%   21.69%   -1.36%
==========================================
  Files          16       16
  Lines        1384     1263     -121
==========================================
- Hits          319      274      -45
+ Misses       1035      959      -76
  Partials       30       30

Impacted Files
Coverage Δ

playground/internal/internal.go
19.44% <0.00%> (-3.64%)
:arrow_down:

playground/share.go
64.10% <0.00%> (-3.34%)
:arrow_down:

playground/store.go
8.88% <0.00%> (-2.23%)
:arrow_down:

playground/sandbox.go
17.32% <0.00%> (-1.61%)
:arrow_down:

playground/fmt.go
80.55% <0.00%> (-1.50%)
:arrow_down:

playground/play.go
75.78% <0.00%> (-1.36%)
:arrow_down:

playground/sandbox/sandbox.go
6.83% <0.00%> (-0.48%)
:arrow_down:

playground/server.go
48.64% <0.00%> (-0.19%)
:arrow_down:

playground/vet.go
0.00% <0.00%> (ø)

playground/edit.go
0.00% <0.00%> (ø)

... and 6 more

Continue to review full report at Codecov.

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

Codecov Report

Merging #14 (fd90b8d) into master (ac3fa31) will decrease coverage by 1.35%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master      #14      +/-   ##
==========================================
- Coverage   23.04%   21.69%   -1.36%
==========================================
  Files          16       16
  Lines        1384     1263     -121
==========================================
- Hits          319      274      -45
+ Misses       1035      959      -76
  Partials       30       30

Impacted Files
Coverage Δ

playground/internal/internal.go
19.44% <0.00%> (-3.64%)
:arrow_down:

playground/share.go
64.10% <0.00%> (-3.34%)
:arrow_down:

playground/store.go
8.88% <0.00%> (-2.23%)
:arrow_down:

playground/sandbox.go
17.32% <0.00%> (-1.61%)
:arrow_down:

playground/fmt.go
80.55% <0.00%> (-1.50%)
:arrow_down:

playground/play.go
75.78% <0.00%> (-1.36%)
:arrow_down:

playground/sandbox/sandbox.go
6.83% <0.00%> (-0.48%)
:arrow_down:

playground/server.go
48.64% <0.00%> (-0.19%)
:arrow_down:

playground/vet.go
0.00% <0.00%> (ø)

playground/edit.go
0.00% <0.00%> (ø)

... and 6 more

Continue to review full report at Codecov.

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


DB Changes, Attendance Session Added

Mobile App team requires Attendance Session. Timetable table and Attendance Session added.
@SriHarshaGajavalli  Please review changes.

@vaishnavm217 @RajatSingh95 Review.

ack https://github.com/SriHarshaGajavalli/SE2017/pull/19/commits/2bb2113a4c25e40f36c0b7d3bf1e198ee2287f20


[WebPubSubClient] Prepare for beta.1 release

Contributing to the Azure SDK
Please see our CONTRIBUTING.md if you are not familiar with contributing to this repository or have questions.
For specific information about pull request etiquette and best practices, see this section.

API change check
API changes are not detected in this pull request.


[SUGGESTION] Allow environment variable in ConnectionStrings

Is your feature request related to a problem? Please describe.
The connectionStrings in appsetting.json does not seems to support environment variable. In some case, It would be very usefull to store the database using a dynamic path.
Describe the solution you'd like
The possiblity to use environement variable such as %AppData% to generate the path where the database will be stored.
Describe alternatives you've considered
For now I can only use a static path.
Additional context
If we want to store the DB in a folder that does not exist yet, it does not work either. It does not seems to be supported by this version.

This is not good idea, because variables like %AppData% is specific to OS, and exactly this item does not exist in linux, for example.
So, if you want to save db file to the specific folder, you should resolve it with cross platform way  Environment.GetFolderPath function. See more at  https://developers.redhat.com/blog/2018/11/07/dotnet-special-folder-api-linux/


FUTURE REQUEST - Send date & time in email message body

Any chance of adding the date and time in the mail message body.
Motion Detected @ Front Door by homebridge << current message
Motion Detected @ Front Door by homebridge Mon 15 Feb 2021 11:20:22 GMT

This will be added.

Or in the text. Pls add this option.


Nonstring partitioned cols

Which issue does this PR close?
Closes #4218.
Rationale for this change
For supporting more types of partitioned columns.
What changes are included in this PR?
This pr makes datafusion to extract data type of partitioned columns from file groups instead of setting a default Utf8 type.
Are these changes tested?
Already passed all tests including every *_with_partitions test.
Are there any user-facing changes?
Yes. Users can query partitioned columns by delta table definition.

I think not all the types of columns can be used as partition columns, should there a white list for supported types?

And can you explain a little how you will infer the partition column types or partition spec from the file paths ?
And what happened if there are conflicts?

Thank you @doki23  -- I think the functionality needs some tests before we would consider merging it.

I think not all the types of columns can be used as partition columns, should there a white list for supported types?

And can you explain a little how you will infer the partition column types or partition spec from the file paths ? And what happened if there are conflicts?

Thanks for your reply. I believe the answers are same -- these types are provided by every datasource itself if I am not mistaken. So what I do is to make them matches to each other by their definitions.

Thank you @doki23 -- I think the functionality needs some test of a non-string partition column before we would consider merging it.
Otherwise how would we know if we caused a regression (aka broke) this feature?

Thanks you. I did test them in delta lake but I forgot to add some unit tests for datafusion, I'll do it.

I find that ListingTable also treats type of partitioned columns as Utf8. I plan to change the struct ListOptions.
There 2 ways:

change the existing property table_partition_cols but it's a break change to proto.
add an optional property table_partition_fields whose type is Option<Vec<Field>>.
I am appreciative if any suggestions.

@mingmwang @alamb Would you please review my pr? I think it's ready now.


How to identity a label and it's corresponding color for "external" labels?

As seen on the attached screenshot i have a few small slices on a Pie chart and the labels are hard to make out what they are aligned to.
What i would like to achieve is an "external" label that sits outside the chart but shows that Red = Deactivated, Blue = Denied etc. (like what you see with the bullet items at the bottom of the image)
The pending, approved, denied bullets that i have now is just a mock-up as i dont know how to extract the corresponding label and its color.
Hope that makes sense - thank you for an awesome library!

Hi there. Checkout the chartist legend plugin.

exactly what i was looking for! Thank you -


Fix fg-color on inverted forms in flat theme.

This is an attempted fix for #1802, which was closed as a Cannot fix.
Original version

On the current website, with the Flat theme selected.
Fixed version

Thank you


Added Currency type Dictionary Issue#3

Added to both coolify and uncoolify

@jaynilshah I appreciate your contribution but please create an issue first and then address the issue in the PR description.

Sir
There's already an issue to add more dictionary .Should I just add that
issue in my description ?
On Sat, Dec 8, 2018, 7:28 PM Mohit Kumar Yadav<EMAIL_ADDRESS>wrote:

@jaynilshah https://github.com/jaynilshah I appreciate your
contribution but please create an issue first and then address the issue in
the PR description.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/NJACKWinterOfCode/cool-name-api/pull/8#issuecomment-445461208,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AidH79EuTH9M_Mupn8dVFm3wBzH98w3Jks5u28VsgaJpZM4ZJpSt
.


Add some examples

Add some exercises:

[x] hello-world
[x] bob
[ ] word-count
[ ] hamming
[ ] anagram
[ ] food-chain
[ ] beer-song
[ ] nucleotide-count
[ ] rna-transcription
[ ] phone-number
[ ] grade-school
[ ] robot-name
[ ] leap
[ ] etl
[ ] space-age
[ ] grains
[ ] gigasecond
[ ] triangle
[ ] clock
[ ] scrabble-score
[ ] roman-numerals
[ ] circular-buffer
[ ] prime-factors
[ ] raindrops
[ ] allergies
[ ] strain
[ ] atbash-cipher
[ ] accumulate
[ ] crypto-square
[ ] sieve
[ ] simple-cipher
[ ] luhn
[ ] pig-latin
[ ] pythagorean-triplet
[ ] series
[ ] difference-of-squares
[ ] secret-handshake
[ ] linked-list
[ ] wordy
[ ] largest-series-product
[ ] kindergarten-garden
[ ] binary-search-tree
[ ] matrix
[ ] robot-simulator
[ ] nth-prime
[ ] palindrome-products
[ ] pascals-triangle
[ ] say
[ ] custom-set
[ ] sum-of-multiples
[ ] queen-attack
[ ] saddle-points
[ ] ocr-numbers
[ ] meetup
[ ] two-bucket

Check out the "todo" field in this payload: http://x.exercism.io/tracks/haxe

@Nezteb The above list contains some common exercises that are implemented among many tracks. You could use it as inspiration to pick an exercise to add. That said, the above exercises are all defined in the problem-specifications repo, which contains descriptions for many exercises as well as a default set of test cases and their expected values in JSON format. With that, feel free to close this issue if you don't need it for inspiration or to keep track of the implemented exercises.

Closing this in favor of working through the problem-specifications repo


DistroLauncher

Add a custom DistroLauncher. This will allow packaging NixOS-WSL as an appx package and upload it to the MS Store eventually
This is a custom reimplementation of DistroLauncher in C# (instead of C++, which is what the reference implementation uses)
The rewrite gives us greater flexibility in extending the DistroLauncher with additional features, e.g. upgrading to newer releases of NixOS-WSL with something like nixos update

[x] Fix WslLaunchInteractive return codes
[x] Updating works
[x] systemd implementation in version output
[x] Update.cs: Use mktemp instead of a hard-coded directory
[ ] Check for nixos-unstable channel before overwriting it
[ ] Make secrets more easily accessible by using something like age or sops
[ ] Put a decryption key into the repo secrets

Future ideas

[ ] Rescue Shell
[ ] Rollback
[ ] Updating to specific git revisions instead of the bundled tarball's version

Related: #63 #78

WslLaunchInteractive unfortunately only allows running command using the default shell. To allow for maintenance commands that run outside the systemd namespace, an escape hatch of some sort will need to be added to syschdemd.sh

Reviewing now.

Currently blocked by #138

Looks like this is unblocked now. Can we get a rebase for testing?

Feature-wise, this should be complete now! You can test it by downloading the launcher artifact from the GitHub Actions pipeline. You can use the --distro-name option with all commands to make sure it does not touch your existing NixOS install

That was a lot 😅 Thank you for the effort!

So apparently the formatter made the appxmanifest invalid. that's great

@nzbr I'd love to see this in the store. Let me know how I can help.

There's gonna be changes to the Installation and Update procedures, which will require adjustments to the launcher's code. If I remember correctly, the basic features were all in place, so I don't think there's anything you could help with right now. Thanks for the offer though

I moved the branch to this repo and will therefore need to re-open the PR


Error loading  yml plugin  using 0.16.ORc3

Hi Matt,
I started trying out  0.16.ORC3
The script apparently halted already when it tried to load a ..qsiprep_plugin.yml file
Traceback (most recent call last):
File "/usr/local/miniconda/lib/python3.8/multiprocessing/process.py", line 315, in _bootstrap
self.run()
File "/usr/local/miniconda/lib/python3.8/multiprocessing/process.py", line 108, in run
self._target(*self._args, **self._kwargs)
File "/usr/local/miniconda/lib/python3.8/site-packages/qsiprep/cli/run.py", line 851, in build_qsiprep_workflow
plugin_settings = loadyml(f)
TypeError: load() missing 1 required positional argument: 'Loader'
A quick and dirty web search suggested that this might be solved by using
yaml.safe_load(f) instead of  yaml.load(f)
thanks
William

@WilliamFCB could you try pennbbl/qsiprep:unstable? This has the fix you proposed and should solve this issue

Hi Matt,
Many thanks, I will give it a go!

Closing for now, please reopen if it's not resolved


Support for uploading benchmark metrics to influx db

As part of https://github.com/MinaProtocol/mina/issues/16003 added support to use influx environments in CI allowing any job to upload data to influx. Example job need to configure Command/Bench/Base.dhall command like below
let BenchBase = ../../Command/Bench/Base.dhall

let Pipeline = ../../Pipeline/Dsl.dhall

let S = ../../Lib/SelectFiles.dhall

let name = "HeapUsageUnstable"

let bench = "heap-usage"

in  Pipeline.build
      ( BenchBase.pipeline
          BenchBase.Spec::{
          , path = "Bench"
          , name = name
          , label = "Heap Usage Pr"
          , additionalDirtyWhen =
            [ S.exactly "buildkite/src/Jobs/Bench/${name}" "dhall" ]
          , key = bench
          , bench = bench
          , yellowThreshold = 0.1
          , redThreshold = 0.3
          }
      )

!ci-build-me

!ci-build-me


Re-binding to existing collection doesn't reset if SourceCache is empty

The scenario I ran into seems to be potentially related to #29 and #169 where a SourceCache doesn't emit an empty change set when it's empty and existing collection re-subscribes/binds.  This prevents the collections using "Bind" to not be reset when setting up a new subscription leaving stale items.  Everything works as planned when there are 1 or more items in the SourceCache because a change set gets emitted and the collection is reset and items added.
The same issue can be reproduced using the Bind with the out ReadOnlyObservableCollection parameter.
The easy workaround for the issue is to use StartWithEmpty (seen below commented out in the unit test).
Psueo-code:
Add item to SourceCache
Bind to ObservableCollection
ObservableCollection has 1 item
Dispose subscription
Remove item from SourceCache
SourceCache has 0 items
Bind to ObservableCollection
ObservableCollection still has 1 item
The scenario stems from mobile development where subscribing, unsubscribing, and re-subscribing is common during activations and deactivations of views/view models.
Unit test reproducing the scenario:
using DynamicData.Binding;
using FluentAssertions;
using System;
using System.Reactive.Linq;
using Xunit;

namespace DynamicData.Tests
{
    public class SourceCacheTestFixture
    {
        private readonly SourceCache<Item, Guid> _sourceCache;
        private readonly IObservableCache<Item, Guid> _observableCache;
        private readonly ObservableCollectionExtended<Item> _collection;

        public SourceCacheTestFixture()
        {
            _sourceCache = new SourceCache<Item, Guid>(x => x.Id);
            _observableCache = _sourceCache.Connect().AsObservableCache();
            _collection = new ObservableCollectionExtended<Item>();
        }

        [Fact]
        public void ReactivateTest()
        {
            var item1 = new Item();
            var item2 = new Item();
            var item3 = new Item();
            var item4 = new Item();

            _sourceCache.AddOrUpdate(item1);
            _sourceCache.AddOrUpdate(item2);
            _sourceCache.AddOrUpdate(item3);
            _sourceCache.AddOrUpdate(item4);

            // All 4 items exist in ObservableCollection and SourceCache after subscription
            // Then simulate "deactivation" of a view (i.e. mobile)
            var subscription = SetupSubscription();
            _sourceCache.Count.Should().Be(4);
            _collection.Count.Should().Be(4);
            subscription.Dispose();

            _sourceCache.Remove(item1);

            // Now 3 items exist in ObservableCollection and SourceCache after subscription simulating re-activation
            // Then again "deactivate"
            subscription = SetupSubscription();
            _sourceCache.Count.Should().Be(3);
            _collection.Count.Should().Be(3);
            subscription.Dispose();

            _sourceCache.Remove(item2);
            _sourceCache.Remove(item3);
            _sourceCache.Remove(item4);

            // Now 3 items exist in OservableCollection and 0 in the SourceCache
            // Unless you "StartWithEmpty" to push an empty change set on initial bind
            subscription = SetupSubscription();
            _sourceCache.Count.Should().Be(0);
            _collection.Count.Should().Be(0);
            subscription.Dispose();
        }

        IDisposable SetupSubscription()
        {
            return _observableCache
                .Connect()
                //.StartWithEmpty()
                .Bind(_collection)
                .Subscribe();
        }

        class Item
        {
            public Guid Id { get; } = Guid.NewGuid();
        }
    }
}

This is the intended behaviour. There is nothing in dynamic data which will intentionally clear an observable collection when a subscription is disposed of.  It is a coincidence upon a re-subscribe that a reset is emitted.  The work around for your use case is perfectly legitimate.
Two other alternatives would be to:
Use a dispose action which clears the cache when the subscription is disposed of.
Make use of dd's overload of switch statement - example here


Improve CLI auth command by including endpoint in output

When authenticating the Keptn CLI to the Keptn cluster, I often use something like:
KEPTN_ENDPOINT=http://<ENDPOINT_OF_API_GATEWAY>/api
KEPTN_API_TOKEN=$(kubectl get secret keptn-api-token -n keptn -ojsonpath={.data.keptn-api-token} | base64 --decode)

keptn auth --endpoint=$KEPTN_ENDPOINT --api-token=$KEPTN_API_TOKEN

Output:
Starting to authenticate
Successfully authenticated

It would be great if the output after this command also includes the $KEPTN_ENDPOINT. I know it is easy to retrieve it by echo $KEPTN_ENDPOINT but it is an extra step that I would like to get rid of.
The output of keptn status would be the right solution in my mind:
$ keptn status
Starting to authenticate
Successfully authenticated
CLI is authenticated against the Keptn cluster http://91.xxx.1xx.182:31090/api

Definition of Done:

[ ] keptn auth shows the endpoint (like the keptn status command)

@jetzlstorfer I would like to work on this issue. Thanks


Feature: theming enhancements and additions

Checklist

[x] Include a description of your pull request and instructions for the reviewer to verify your work.
[x] Link to the issue if this PR is issue-specific.
[x] Create/update the corresponding story if this includes a UI component.
[x] Create/update documentation. If not included, tell us why.
[x] List the environments / browsers in which you tested your changes.
[x] Tests, linting, or other required checks are passing.
[x] PR has an informative and human-readable title

PR titles are used to generate the change log in releases; good ones make that easier to scan.
PRs will be broadly categorized in the change log, but for even easier scanning, consider prefixing with a component name or other useful categorization, e.g., "BaseButton: fix layout bug", or "Storybook: Update dependencies".

[x] PR has been tagged with a SemVer label and a general category label, or skip-changelog.

These tags are used to do the aforementioned broad categorization in the change log and determine what the next release's version number should be.
Release Drafter will attempt to do the category labeling for you! Please double-check its work.

Description
Fixes https://github.com/nasa-jpl/www/issues/50
Fixes https://github.com/nasa-jpl/www/issues/53
Starts https://github.com/nasa-jpl/www/issues/48
Starts https://github.com/nasa-jpl/www/issues/21

modifies structure of color definitions
updates color definitions
updates heading type styles for EDU theme
adds star background as a themed Tailwind class (usage for EDU: class="bg-star bg-primary").
adds tailwindcss-themer
moves theme settings to the nuxt module (no longer need to manually add theme classes)
adds a theme store that can be used as a vue directive (can check which theme is in use and use that in Vue logic). The nuxt module automatically installs this store and sets the theme accordingly.
fixes all unsplash images in storybook
adds theming to existing components. this does not include new components needed by EDU, or any of the "pill" style badges added to cards.
adds PageEventDetail component
updated Foundations documentation to include themes and dynamic color tokens, and added to @explorer-1/vue-storybook
adds story for MixinCarousel

Using the themes
Themes can be:

Used as Tailwind modifiers/directives
Retrieved from the pinia store to use in Vue logic
Used as a class at the block level, with some caveats

Tailwind modifiers and directives
The theme can be used as an inline Tailwind modifier

defaultTheme:
edu:
internal:

They also work with the @apply directive:
.custom_class {
  @apply font-medium edu:font-extrabold
}

In Vue logic
Options API

Composition API

Used as a class
.defaultTheme
.ThemeEdu
.ThemeInteral

These classes are generally applied to the  element, but they can also be used at the block level. However, if you plan to do this, you will need to provide fallbacks for all theme variations within the block.
For example: the code from above would need to be changed to work as expected in the below example:

  ...

-

+

Note that using theme classes directly only affects CSS -- They will not be taken into account with useThemeStore().
Implementation Notes

At this point, the documentation in @explorer-1/html-storybook will be deprecated (this is the storybook that is published to our gh pages), as it won't accurately show all of the theming differences. This was the motivation behind moving foundational documentation to @explorer-1/vue-storybook.
In a follow-up task, I will be adding CI checks that will make @explorer-1/vue-storybook available: https://github.com/nasa-jpl/www/issues/81
The star background sizing isn't quite right. I'll continue to tweak this.

Instructions to test

pnpm i
make vue-storybook
New colors added: http://localhost:6006/?path=/docs/foundation-colors--docs
Try switching between themes on the following:

Updated theme documentation
Dynamic tokens
Themed Heading sizes
BlockCTA
Featured Search Result
TheFooter (still needs minor adjustments)
Event Detail page
Content page

You can also test this with the EDU frontend:

Checkout https://github.com/nasa-jpl/www/pull/74
make checkout-submodules
pnpm i
make frontend
View at http://localhost:3000
make edu
View at http://localhost:3001/edu/

Tested in the following environments/browsers:

Operating System

[x] macOS
[ ] iOS
[ ] iPadOS
[ ] Windows

Browser

[x] Chrome
[x] Firefox ESR
[ ] Firefox
[ ] Safari
[ ] Edge

Great work @stephiescastle !


Add minor fix to VList to conform with #820

@jstarry the changes in tests/macro/html-block-fail.stderr are purely cosmetic. The same fails still fail but the error messages just changed a little bit.

@trivigy your changes introduced in #820 created a regression. See #842
Could you please create a new PR that:

Re-introduces changes from #820
Includes the changes here in #835
Fixes the regression in #839


docs(styling): fix broken link in CSS preprocessor section

Closes: #2407

[x] Docs
[ ] Tests

Nice catch, thank you @laughnan 🙌


Roadmap.md update

Automated message from Dropbox CLA bot
@brainwane, it looks like you've already signed the Dropbox CLA. Thanks!

I have a revised (heavily rebased to edit things in-place) version of this available here: https://github.com/timabbott/zulip/blob/roadmap/docs/roadmap.md

Merged earlier today, thanks @brainwane!


[Windows][kinetic] Fix rqt_gui_cpp install path. (adapted from crystal-devel)

rqt_gui_cpp is bin placed to bin in crystal-devel, which is mapped to ${CATKIN_GLOBAL_BIN_DESTINATION} in catkin idiom.
https://github.com/ros-visualization/rqt/blob/74da0b6116632f28582e340f1a75929988bf133e/rqt_gui_cpp/CMakeLists.txt#L82

@mlautman Hope I am pining the correct maintainer. Can you take a look #190 and #189? Thanks!

Thanks for the patch.


Create NOBITA.toml

Description
All previous genesis validators should name their PRs "Update {validator_alias}.toml for tesntet-15" and provide links to previous PRs merged.
If this is an UPDATE for a previous genesis validator
Checks are made against your net_address. If this has changed since the previous testnet, make sure you provide links of previous prs merged from your previous git username.
Thanks in advance!
Checklist before merging

[ ] Only one toml is added in this PR
[ ] The file being added is indeed a .toml file
[ ] The toml being added is to the correct folder, and only to the correct folder
[ ] The eth_hot_key and eth_cold_key are present
[ ] The email, discord, elements telegram, and twitter fields are present and valid

Missing keys: {'twitter', 'elements', 'telegram', 'email'}
TOML file is not valid

Missing keys: {'elements', 'twitter', 'telegram', 'email'}
TOML file is not valid

Missing keys: {'email', 'twitter', 'telegram', 'elements'}
TOML file is not valid

Missing keys: {'elements', 'email', 'twitter', 'telegram'}
TOML file is not valid


Introduce initial support for multiple distributions.

Please review commit by commit.
Signed-off-by: Frode Nordahl<EMAIL_ADDRESS>

Hi @fnordahl .  Thanks for the PR!
I didn't go too deep into review, but one thing that is needed here, I think, is CI.  I spent some time with cirrus and the following change seems to work (ubuntu images have less available disk space for some reason):
diff --git a/.cirrus.yml b/.cirrus.yml
index f24475b..69602d7 100644
--- a/.cirrus.yml
+++ b/.cirrus.yml
@@ -1,14 +1,19 @@
 low_scale_task:

   compute_engine_instance:
-    image_project: fedora-cloud
-    image: family/fedora-cloud-35
+    matrix:
+      - image_project: fedora-cloud
+        image: family/fedora-cloud-35
+      - image_project: ubuntu-os-cloud
+        image: family/ubuntu-2204-lts
     platform: linux
     memory: 8G
+    disk: 20

   env:
-    DEPENDENCIES: git ansible ansible-collection-ansible-posix
-                  podman podman-docker
+    DEPENDENCIES: git ansible
+    FEDORA_DEP: podman podman-docker ansible-collection-ansible-posix
+    UBUNTU_DEP: docker.io
     PHYS_DEPLOYMENT: ${CIRRUS_WORKING_DIR}/physical-deployments/ci.yml

   runtime_cache:
@@ -23,7 +28,12 @@ low_scale_task:
     - ssh root@$(hostname) -v echo Hello

   install_dependencies_script:
-    - dnf install -y ${DEPENDENCIES}
+    - 'if [ $(which dnf) ]; then
+        dnf install -y ${DEPENDENCIES} ${FEDORA_DEP};
+       fi'
+    - 'if [ $(which apt) ]; then
+        apt update && apt install -y ${DEPENDENCIES} ${UBUNTU_DEP};
+       fi'

   unpack_caches_script:
     - mkdir -p runtime runtime-cache

Would be great if you can include something like that, as missing dependencies are hard to track in ovn-heater.
On the other note, your current implementation seem to require docker, while for rpm-based distros we allow using podman as well.   Do you think it makes sense to allow podman for debian-based systems as well?
We also had a lot of issues with docker in the past (mainly a requirement to be logged in and some unfortunate deamon hangs), so the question of supporting only podman and run s/docker/podman/ on a codebase was brought up several times in the past.
Do you think it makes sense to support only podman?  Most of major distributions seem to package it (I didn't check debian).
Also, if I install podman in the .cirrus.yml for ubuntu I'm getting errors later from ./do.sh install, likely because podman is getting replaced by docker.io in the process and something goes wrong:
TASK [Pull latest containers] **************************************************
fatal: [cirrus-task-6259513473368064]: FAILED! => {"changed": true, "cmd": "set -e\ndocker pull cirrus-task-6259513473368064:5000/ovn/ovn-multi-node\ndocker tag cirrus-task-6259513473368064:5000/ovn/ovn-multi-node ovn/ovn-multi-node\n", "delta": "0:00:00.050686", "end": "2023-03-10 11:56:42.841776", "msg": "non-zero return code", "rc": 1, "start": "2023-03-10 11:56:42.791090", "stderr": "Error response from daemon: Get \"https://cirrus-task-6259513473368064:5000/v2/\": http: server gave HTTP response to HTTPS client", "stderr_lines": ["Error response from daemon: Get \"https://cirrus-task-6259513473368064:5000/v2/\": http: server gave HTTP response to HTTPS client"], "stdout": "Using default tag: latest", "stdout_lines": ["Using default tag: latest"]}

Thank you for the review @igsilya and thanks a lot for contributing the Cirrus CI recipe, I included it verbatim in the PR with appropriate attribution etc. Making use of the podman and podman-docker packages appear to work fine, so happy to go with that, change incorporated in the updated version of the PR.
Cheers!

Thank you for the review @igsilya and thanks a lot for contributing the Cirrus CI recipe, I included it verbatim in the PR with appropriate attribution etc.

@fnordahl according to the contributing guidelines (which I just pushed last week :D) all co-authors must sign off (like in ovs/ovn).  @igsilya are you ok with me or @fnordahl adding your Signed-off-by to the last commit?

Thank you for the review @igsilya and thanks a lot for contributing the Cirrus CI recipe, I included it verbatim in the PR with appropriate attribution etc.

@fnordahl according to the contributing guidelines (which I just pushed last week :D) all co-authors must sign off (like in ovs/ovn). @igsilya are you ok with me or @fnordahl adding your Signed-off-by to the last commit?

Sure.  Though, I'd move the podman and podman-docker to DEPENDENCIES and removed the UBUNTU_DEP for a time being since we don't really need it.

@igsilya Do you want to have another look at these changes before I merge the PR?

@igsilya Do you want to have another look at these changes before I merge the PR?

Sure.  I can take a look.  I won't test though. :)

I added 2 small comments.  Otherwise LGTM.


Plugin commands

[x]  /buildfly
[x]  /noclip
[x]  /gamehelper
[x]  /savedata
[x]  /ranksupdate
[x]  /tpx
[ ]  /tpxg
[x]  /tpxp
[x]  /setperm
[x]  /viewperm
[x]  /wkick
[x]  /ping
[x]  /ownworld
[ ]  /switchmode
[x]  /sound (for custom sounds)

The '/switchmode' command is pointless at the moment, so it will be discarded!
This command may be added in the future


Corrected example in the README.

Your commit is correct, but autoprefixer-core will be depreacted in next main release

Didn't realise, thanks. :smiley:

Where can I get more info on the deprecation?

@stevemao I will write about it in every release notes.
Current plan is:

5.2: autoprefixer CLI and autoprefixer#process() will be deprecated.
6.0: autoprefixer-core will be renamed to autoprefixer.

But seems like 6.0 release will be only in winter.


vegeta report on Windows - encode: can't detect encoding of "results.bin"

Version and Runtime
Installed with $ go get -u github.com/tsenart/vegeta on 2021-05-14 master branch on commit d73edf2bc2663d83848da2a97a8401a7ed1440bc
vegeta --version output:
Version:
Commit:
Runtime: go1.16.4 windows/amd64
Date:

Expected Behaviour
Report to work
Actual Behaviour
encode: can't detect encoding of "stdin"

or this if running just vegeta report results.bin
encode: can't detect encoding of "results.bin"

Steps to Reproduce

echo "GET http://localhost:8080/" | vegeta attack -duration=2s -rate=1/s | tee results.bin | vegeta report

Additional Context
The issue is when vegeta report runs.
OS info:
OS Name:                   Microsoft Windows 10 Pro
OS Version:                10.0.19042 N/A Build 19042

Linux (left) | Windows (right)

Same command on WSL works.
Workaround
Instead of following the examples in README.md if you use --output it'll output the file with the correct encoding.
echo "GET http://localhost:8080/" | vegeta attack -duration=2s -rate=1/s --output results.bin;
vegeta report results.bin

What shell are you using? I don't think piping works in exe. Have you tried it on PowerShell?

Also try the latest version. Please re-open if it's still happening.


some runner auto canceled

https://github.com/leleliu008/ndk-pkg-formula/actions/runs/620016463
It seems that GItHub Actions service is not stable recently.

Hello @leleliu008,
Sometimes our automated systems flag accounts that need further manual review which can cause some issues during the GitHub actions build. Currently, the issue should not appear anymore.
In case of any questions regarding the issue, feel free to contact github support.


how can i save the transformed model graph ?

I managed to convert my caffe model successfully into 2 files (python class and npy weights file).
Now i want to save the converted model as ordinary tensorflow graph.
this is an example for the desired graph file format :
[http://download.tensorflow.org/models/image/imagenet/inception-2015-12-05.tgz -o /tmp/inceptionv3.tgz](http://download.tensorflow.org/models/image/imagenet/inception-2015-12-05.tgz -o /tmp/inceptionv3.tgz)

let's say the conversion script generated these 2 files :

python class is named MyNet
weights file names 'mynet.npy'

Then, running these lines will save the serialized graph in protobuf format :
data_node = tf.placeholder(tf.float32, shape=(None, 224, 224, 3))
net = MyNet({'data': data_node})
sess = tf.Session()
net.load(data_path='mynet.npy', session=sess)
f = tf.gfile.FastGFile(model_dir+'mynet.pb', "w")
f.write(output_graph.as_graph_def().SerializeToString())
f.close()

Hi,
in your snippet output_graph is not defined.
How can you get it from f or from net?
Thank you

sess.graph()

Thank you! I think this snippet works
data_node = tf.placeholder(tf.float32, shape=(None, 224, 224, 3))
net = MyNet({'data': data_node})
with tf.Session() as sess:
    output_graph = sess._graph
    net.load(data_path='mynet.npy', session=sess)
    f = tf.gfile.FastGFile(model_dir+'mynet.pb', "w")
    f.write(output_graph.as_graph_def().SerializeToString())
    f.close()

If this might help, when I run classify.py over this image I get this output on the console:
Loading the model
E tensorflow/core/client/tensor_c_api.cc:485] FIFOQueue '_0_path_queue' is closed and has insufficient elements (requested 1, current size 0)
	 [[Node: path_queue_Dequeue = QueueDequeue[_class=["loc:@path_queue"], component_types=[DT_INT32, DT_BOOL, DT_STRING], timeout_ms=-1, _device="/job:localhost/replica:0/task:0/cpu:0"](path_queue)]]
Loading the images
Classifying

Image                Classified As                  Confidence
----------------------------------------------------------------------
mare.jpg             coral reef                     89.69 %

@tmatas are you looking to populate the data from your .npy file into the tensorflow model (.pb file)? If yes, this might be what you're looking to do: https://github.com/ethereon/caffe-tensorflow/issues/23


Generate Træfik middleware settings for blocklist

Whenever blocklist is updated, also create appropriate YML file for Træfik.

Also, demonstrate linking to blacklist in test stack.


Update eks-a e2e test AMI to latest

Issue #, if available:
Description of changes:
Update e2e test AMI to latest
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

/lgtm
/approve


[INLONG-10935][SDK] Transform support DAYNAME function

Fixes #10935
Motivation

Add a type DAY_NAME in class DateExtractFunction, implement DAYNAME function and its unit test.
DAYNAME(date)
Returns the name of the weekday for date.

Modifications

Verifying this change
(Please pick either of the following options)

[ ] This change is a trivial rework/code cleanup without any test coverage.

[x] This change is already covered by existing tests, such as:
(please describe tests)

[ ] This change added tests and can be verified as follows:
(example:)

Added integration tests for end-to-end deployment with large payloads (10MB)
Extended integration test for recovery after broker failure

Documentation

Does this pull request introduce a new feature? (yes / no)
If yes, how is the feature documented? (not applicable / docs / JavaDocs / not documented)
If a feature is not applicable for documentation, explain why?
If a feature is not documented yet in this PR, please create a follow-up issue for adding the documentation

@ying-hua please resolve the conflict.

@ying-hua please resolve the conflict.

done.

@ying-hua please fix the failed UT.


Create 0000-01-02-dannonymous.md

Close File

created a branch, created a file and made a commit, and opened a pull request

....


2022 June Release update

After publishing #813 yesterday, going to republish a few crates with these changes:

#798
#814
#815
#816
#817
#818
#819

Publishing these crates:

azure_data_cosmos 0.4.0
azure_data_tables 0.4.0
azure_storage 0.4.0
azure_storage_blobs 0.4.0
azure_storage_datalake 0.4.0
azure_storage_queues 0.4.0

All are published. https://github.com/cataggar/azure-sdk-for-rust/actions/runs/2512511731


Image and manifests

Add new commands and a dockerfile to include in the payload so that config CRD manifests and FeatureGates are directly added to the payload once the PRs are merged.  Also adds command for use by the cluster-config-operator which maintains the FeatureGate at runtime.
Important!  This PR does not add dependencies to the modules depending on this one.  That's why the operator logic itself doesn't move here since it would create a cycle.
https://github.com/openshift/cluster-config-operator/pull/349 demonstrates the viability of using this image to be authoritative for CRD manifests and featuregates.  The merge order will have to look like

merge PR with dockerfile, not included in payload.  Nothing in image to conflict with existing payload images
create CI test for image and demonstrate that image creation is working
do whatever is needed for producing a valid image for nightlies (need to find docs)
update dockerfile to become part of the payload (might be switched with 3)
update the cluster-config-operator to read featuregates from this image
create and prove installer PR to use the api render command instead of the cluster-config-operator, but do not merge yet
update api image to include CRD manifests and near simultaneously stop providing CRD manifest from cluster-config-operator
merge installer PR to use the api render command instead of cluster-config-operator and near simultaneously remove API resources from cluster-config-operator render command.

comments addressed, demonstration worked out ok.  Steps for merging added into the description
/hold cancel

/lgtm

attempting step 2 in https://github.com/openshift/release/pull/43522 and trying to get links to do step 3 properly.


add a link to the design doc

Doc not ready. Here's a snippet
Objective
Protractor is the go-to e2e solution for Angular and AngularJS. The APIs are well documented and easy to use. However, Protractor will have a lot of bloat since selenium webdriver has removed/deprecated the control flow. There are several options to update Protractor. We could deprecate the angular/jasmine-wd usage and remove portions of code that rely on these features. Alternatively, we could do a rewrite maintaining the Protractor API but improve its maintainability.
Why it is time to rewrite Protractor:

Decouple the Protractor framework and the cli. Decoupling the framework will help us run tests in google3 without a harness
Add unit and integration tests. Currently most of the tests rely on testing Protractor as an e2e suite. In addition to support for Angular, we should also add support for other popular web frameworks like react and vue.
Improve the google import process. This should be imported similar to the Angular repo. In addition we should add BUILD rules with Bazel.

Not making it public. Right now we will just keep to some of the above goals. Might be good to put this as part of the general documentation?


DropWizard 0.9.1 support?

Thanks for creating this library.
I tried to hack around the dependency conflicts between DropWizard-0.9.1 and DropWizard-Guice 0.8.x but didn't managed to succeed.
Is there a plan to release an updated that is compatible with the DropWizard 0.9 series?
Thanks

To work around the dependency conflicts, I excluded the obsolete Dropwizard dependencies pulled in by Dropwizard-Guice <IP_ADDRESS>:
  <dependency>
    <groupId>com.hubspot.dropwizard</groupId>
    <artifactId>dropwizard-guice</artifactId>
    <version><IP_ADDRESS></version>
    <exclusions>
      <exclusion>
        <groupId>io.dropwizard</groupId>
        <artifactId>dropwizard-core</artifactId>
      </exclusion>
      <exclusion>
        <groupId>io.dropwizard</groupId>
        <artifactId>dropwizard-jackson</artifactId>
      </exclusion>
      <exclusion>
        <groupId>io.dropwizard</groupId>
        <artifactId>dropwizard-jersey</artifactId>
      </exclusion>
      <exclusion>
        <groupId>io.dropwizard</groupId>
        <artifactId>dropwizard-jetty</artifactId>
      </exclusion>
      <exclusion>
        <groupId>io.dropwizard</groupId>
        <artifactId>dropwizard-lifecycle</artifactId>
      </exclusion>
      <exclusion>
        <groupId>io.dropwizard</groupId>
        <artifactId>dropwizard-servlets</artifactId>
      </exclusion>
    </exclusions>
  </dependency>

also would like dropwizard 0.9.2 support.  The exclusions above do not work:
Dependency convergence error for com.google.code.findbugs:annotations:3.0.0 paths to dependency are:
+-com.yammer.groupsie:groupsie:1.0.0-SNAPSHOT
+-com.hubspot.dropwizard:dropwizard-guice:<IP_ADDRESS>
+-com.google.code.findbugs:annotations:3.0.0
and
+-com.yammer.groupsie:groupsie:1.0.0-SNAPSHOT
+-com.hubspot.dropwizard:dropwizard-guice:<IP_ADDRESS>
+-org.reflections:reflections:0.9.9
+-com.google.code.findbugs:annotations:2.0.1
[WARNING]
Dependency convergence error for org.javassist:javassist:3.18.1-GA paths to dependency are:
+-com.yammer.groupsie:groupsie:1.0.0-SNAPSHOT
+-com.hubspot.dropwizard:dropwizard-guice:<IP_ADDRESS>
+-org.glassfish.jersey.core:jersey-server:2.22.1
+-org.glassfish.hk2:hk2-locator:2.4.0-b31
+-org.javassist:javassist:3.18.1-GA
and
+-com.yammer.groupsie:groupsie:1.0.0-SNAPSHOT
+-com.hubspot.dropwizard:dropwizard-guice:<IP_ADDRESS>
+-org.reflections:reflections:0.9.9
+-org.javassist:javassist:3.18.2-GA
[WARNING] Rule 0: org.apache.maven.plugins.enforcer.DependencyConvergence failed with message:
Failed while enforcing releasability the error(s) are [
Dependency convergence error for com.google.code.findbugs:annotations:3.0.0 paths to dependency are:
+-com.yammer.groupsie:groupsie:1.0.0-SNAPSHOT
+-com.hubspot.dropwizard:dropwizard-guice:<IP_ADDRESS>
+-com.google.code.findbugs:annotations:3.0.0
and
+-com.yammer.groupsie:groupsie:1.0.0-SNAPSHOT
+-com.hubspot.dropwizard:dropwizard-guice:<IP_ADDRESS>
+-org.reflections:reflections:0.9.9
+-com.google.code.findbugs:annotations:2.0.1
,
Dependency convergence error for org.javassist:javassist:3.18.1-GA paths to dependency are:
+-com.yammer.groupsie:groupsie:1.0.0-SNAPSHOT
+-com.hubspot.dropwizard:dropwizard-guice:<IP_ADDRESS>
+-org.glassfish.jersey.core:jersey-server:2.22.1
+-org.glassfish.hk2:hk2-locator:2.4.0-b31
+-org.javassist:javassist:3.18.1-GA
and
+-com.yammer.groupsie:groupsie:1.0.0-SNAPSHOT
+-com.hubspot.dropwizard:dropwizard-guice:<IP_ADDRESS>
+-org.reflections:reflections:0.9.9
+-org.javassist:javassist:3.18.2-GA

I took a shot at this and could not get it to compile.
''''com.google.inject.CreationException: Unable to create injector, see the following errors:

Error injecting constructor, java.lang.IllegalStateException: java.lang.NoSuchFieldException: defaultGenerator
at com.hubspot.dropwizard.guice.HK2Linker.(HK2Linker.java:17)
at com.hubspot.dropwizard.guice.JerseyModule.configureServlets(JerseyModule.java:23)
while locating com.hubspot.dropwizard.guice.HK2Linker'''

do not know enough about Jersey to get it to work, I use RestEasy.

I'm also interested in getting this working with more recent versions of Dropwizard.

Please do that

We are currently using dropwizard-guice-0.8.4 together with dropizward-0.9.2.
In order to do so we set the following dependency management:
<dependencyManagement>
  <dependencies>
    <dependency>
      <groupId>io.dropwizard</groupId>
      <artifactId>dropwizard-jetty</artifactId>
      <version>0.9.2</version>
    </dependency>
    <dependency>
      <groupId>io.dropwizard</groupId>
      <artifactId>dropwizard-jackson</artifactId>
      <version>0.9.2</version>
    </dependency>
    <dependency>
      <groupId>io.dropwizard</groupId>
      <artifactId>dropwizard-jersey</artifactId>
      <version>0.9.2</version>
    </dependency>
    <dependency>
      <groupId>io.dropwizard</groupId>
      <artifactId>dropwizard-servlets</artifactId>
      <version>0.9.2</version>
    </dependency>
    <dependency>
      <groupId>io.dropwizard</groupId>
      <artifactId>dropwizard-lifecycle</artifactId>
      <version>0.9.2</version>
    </dependency>
    <dependency>
      <groupId>org.glassfish.hk2</groupId>
      <artifactId>hk2-api</artifactId>
      <version>2.4.0-b31</version>
    </dependency>
    <dependency>
      <groupId>org.glassfish.hk2</groupId>
      <artifactId>hk2-locator</artifactId>
      <version>2.4.0-b31</version>
    </dependency>
    <dependency>
      <groupId>io.dropwizard.metrics</groupId>
      <artifactId>metrics-healthchecks</artifactId>
      <version>3.1.2</version>
    </dependency>
    <dependency>
      <groupId>org.reflections</groupId>
      <artifactId>reflections</artifactId>
      <version>0.9.9</version>
    </dependency>
  </dependencies>
</dependencyManagement>

@phavelar I am working around those dependency conflicts by using the following additional exclusions :
<exclusion>
	<groupId>com.google.code.findbugs</groupId>
	<artifactId>annotations</artifactId>
</exclusion>
<exclusion>
	<groupId>org.javassist</groupId>
	<artifactId>javassist</artifactId>
</exclusion>

Off Topic
Hey because the documentation on DropWizard site does not explain how to do this.  I just generated a gist that explains how to use Jersey's own DI in your application.  As an alternative to Guice as your dependency management framework.  https://gist.github.com/derekbassett/712698cd6424e5ff04da

I looked some more into this. The library https://github.com/Squarespace/jersey2-guice#getting-started, on which dropwizard-guice is based, explicitly warns that the startup may not be reliable:
This library uses two approaches to override HK2's own ServiceLocatorGenerator. It first tries to use a SPI and if it can't it'll fall back to reflection to replace a private static field. Regardless of the approach it's still a race against the Servlet container.

I believe they are referring to this method here : https://github.com/Squarespace/jersey2-guice/blob/master/jersey2-guice-impl/src/main/java/com/squarespace/jersey2/guice/JerseyGuiceUtils.java#L117
I tried making the following upgrades to dropwizard-guice (with the aim of trying running with Dropwizard 1.0.0) :

Dropwizard 0.9.2 (from 0.8.4)
jersey2-guice 1.0.6 (from 0.10)
jersey-server 2.22.2 (from 2.21)
hk2-api 2.4.0-b34 (from 2.4.0-b31)

All but 1 test pass(the failed test is https://github.com/HubSpot/dropwizard-guice/blob/4d079c98f026498ebc94e8514bd647b4c2c31f08/src/test/java/com/hubspot/dropwizard/guice/InjectedIntegrationTest.java). I'm unable to debug any further because of my limited knowledge of the Jersey and HK2 internals. The changes are here :  https://github.com/bladecatcher/dropwizard-guice/commit/8d1d6c0db0a5c397c16352e01b87c970ff5232a4
Having said that, the folks at https://github.com/gwizard/gwizard/tree/master/gwizard-jersey have this to say about this approach:

I just pushed release 1.0.0 that uses dropwizard 1.0.0


Error occurred when using output option.

zouyiqi@ZviciiMBP ~ % ips2crash -o /Users/zouyiqi/Downloads /Users/zouyiqi/Downloads/cross-platform-tester-2022-07-04-095409.ips
An error occurred when reading the file '/Users/zouyiqi/Downloads/cross-platform-tester-2022-07-04-095409.ips'.

if i dont use the -o option, it works fine, I can copy what I need from the terminal.
But if I add -o option, it reports error.

The error message is incorrect. I will improve this.

The correct error should be reported now. Considering the destination you specified, it could be a FDA issue.

Full Disk Access. https://macpaw.com/how-to/full-disk-access-mojave

Full Disk Access. https://macpaw.com/how-to/full-disk-access-mojave

thx!