Expose reset events to the client... somehow

While investigating some issues on our end, I realized it'd be nice to be able to run code whenever a workflow is reset.  In particular it could be used to update external data with the new run-id.  This way you could have a reliable way to maintain "this" workflow's info through resets, since they occupy a different kind of behavioral-space compared to e.g. continue-as-new (which is really a "complete and start a new one", and it will always run the first lines of the workflow).
Currently the only way I can really think to do this is to add if GetInfo(ctx).Execution.RunId != previous checks everywhere, which would be kinda ridiculous, and wouldn't be friendly to building workflow-related helper libraries (since the lib would have to add this kind of logic too).
I'm not particularly sure how to expose this in a future-friendly way, but perhaps it could be treated like a signal?  Then you could do things like this in a workflow:
func work(ctx context.Context) error {
  workflow.Go(func(ctx context.Context) {
    for {
      workflow.ExecuteActivity(ctx, "update-db-to-current-runid").Get(ctx)
      workflow.NewSelector(ctx).
        AddChannel(workflow.ResetSignalChannel, func (...) { ... }). // no-op, just unblocks the loop
        Select(ctx)
    }
  })
  // the rest of the impl
}

A possible alternative could be to expose a way to run code on every decision task, and add a workflow.Yield() func or something.  Then this would be a "loop.  check runid.  if same, yield, else update" thread/goroutine.  I don't think there's a way to achieve this currently, and it could have other uses as well... but probably more dangers too.

This is a tough one. Here are some thoughts:

Cadence can create a special decision task that includes the full history of the workflow before the reset and the reset point information.
The decider might execute the code up to the end of the workflow collecting appropriate "rollback handlers". Then execute all the rollback handlers that were collected as part of the reset decision handling.
Unfortunately the above approach is not 100% robust and safe as sometimes rollback is caused by a completely broken deployment.
Another approach would be creating some sort of special handler that would receive history that is going to be reset and directly looks at the history for actions to rollback. For example if history contains two activities athat are going to be reset then the rollback code might somehow run compensation activities. This approach is more low level, but it is more robust to bad code deployments.

I guess we can add a dedicated workflow reset event to handle this case.
before:
<before reset>
...some events...
decision task started
decision task completed / failed / timeout <---- reset point
...some events...

<after reset>
...some events...
decision task started
decision task failed (with addition reset info)
...some events reapplied...

<after reset>
...some events...
decision task started
decision task completed / failed / timeout <---- reset point
...some events...

<after reset>
...some events...
decision task started
decision task failed (WITHOUT the addition reset info)
workflow reset (new event which contains reset related info)
...some events reapplied...

on the client side, event state machine can special handling the workflow reset event
one advantage is that, workflow reset will be independent of the presence of decision, i.e. if a workflow has no decision & terminated, we can still reset it.

@wxing1292 in your proposal the history after reset is lost. So the workflow cannot make any reasonable decision about rollback. My idea is that the workflow sees the part of the history which will be discarded and makes the decision on how to deal with it. I think it can even take over reapplication logic. Basically it gets the history to be discarded and return the list of decisions/events to reapply.

@mfateev actually, I was just mentioning that since we are doing something related to workflow reset, it will be a good idea to make it work for all possible case, i.e. missing decision task started event. (according to the issue, there is not request to handle the thrown away events).
since we are on the events reapplication topic, I guess it will be possible for server to return the branch token & start event ID for client lib & client logic to select what activity to be reapplied.

Let me first understand what you are proposing.
@Groxx is proposing a handler in workflow code to be triggered when a workflow is reset.
@mfateev  is proposing even further, it will allow handlers(rollback handlers) to be triggered per activities when each activity is reset. In a more generic case, what the handler wants to do is not only being aware of reset, but also what has be lost during last reset.
@wxing1292 is talking about some internal improvements for reset design(retiring reset attr in decisionTaskFailed by reset dedicated event).
In my opinion,
@mfateev I think your idea will be better if it combined with @Groxx 's, and it won't have the issues about completely broken bad deployment --> Instead of putting rollback handlers beside the associated activities, we could simply send the information of the activities as list that has been rollbacked as part of "Reset signal" like @Groxx mentioned. The information will contains both activity func and parameters, let the customer code to deal with compensation. For example, customer can decide not the execute the same activity(with same parameters) after that reset. This will also solve the tough problem that we were trying to solve with activity cache. It's also more generic for ChildWorkflows, SignalExternal, Timer, etc.
As for implementation, looks like it could be a purely client side feature. Reset will also schedule a non-sticky decision task which means it will achieve all history from beginning include the reset event -- so it must know it's the first decision after reset. And the reset event today already includes the reset point(base runID and the reset eventID). So client can request all the history starting from the reset point to achieve all activities/timer/childWF that has been reset/lost during this reset.

@Groxx  Also, I think you can simply send a signal to the workflows that has been reset to do the same thing today for your case. Since I believe you should already know which workflows has been reset. If you use reset-batch command with ES query, you can use the same query to send signals to workflows by batch.

@longquanzheng I missed the point that after the reset the previous version of the history can be easily accessed using getHistory. So you are correct that it can be implemented as a purely client side feature.
I'm not convinced that signal channel @Groxx proposed is the best way to expose the reset. Let met think a little bit more about this.

Yeah, my plan for the moment is to manually signal stuff I reset.  It's functional, but does require two steps instead of one (so it's hard to ensure everyone always runs it), and it's dramatically more complex for binary-based resets.  I'll keep the batch commands in mind for the future though, I haven't looked at that in detail yet - memos and ES queries look fantastic, I've just been too busy to build anything useful with them yet.
re how to build this request / if it's worth doing: no idea!  very happy to brainstorm/discuss approaches tho :)

@longquanzheng I missed the point that after the reset the previous version of the history can be easily accessed using getHistory. So you are correct that it can be implemented as a purely client side feature.
I'm not convinced that signal channel @Groxx proposed is the best way to expose the reset. Let met think a little bit more about this.

That proposal is not ideal but we could use the same idea -- allow putting a reset handler in RegisterWorkflow() API. This would save the code of Selector/Receive/Forloop and the handler signature will be more formal and clear.


have 3D?

How do I present the drawing in 3D?
Do you have an example?

Follow any GL tutorial which uses 3D coordinates. And read CONTRIBUTING.md.

Ok


A generic button component with custom functionality

Definitely a "nice-to-have".
I would like to be able to allow the user to have a button within the preferences window that can call functions (ipc back to the parent window process).
Essentially, it would be nice to have a "Reset to defaults" button, or a "Center App Window" button. Some ability to attach custom functionality to a component (to do things like IPC back to the parent window)

FYI @lacymorrow , just noticed we had an old PR open which actually implemented the IPC button: #29
The Reset to defaults seems maybe like an option to which can be a preference type on its own.

Sounds good! A reset to defaults method would be welcome

After looking further, resetDefaults() should be a method of electron-preferences, and the button should be separate. I'll have a PR for the button soon.

Released in 2.6.0


has_exiftool not updating in DB

Detailed description of the problem
Steps to reproduce the issue
Clean checkout of #401 ;
With postgreqsl database ;
artisan migrate Nothing to migrate. ;
Error: Wrong property for has_exiftool in database, expected 0 or 1, got
has_exiftool:               (blank)
Output of the diagnostics
System Information
------------------
Lychee-front Version:      3.2.16
Lychee Version (git):      c08d927 (master) - Data not in Cache
DB Version:                040000
System:                    Linux
PHP Version:               7.4
PostgreSQL Version:        PostgreSQL 11.2 on x86_64-pc-linux-musl, compiled by gcc (Alpine 8.3.0) 8.3.0, 64-bit

Lychee total space:        1.90 GB
Upload folder space:       1.84 GB
System total space:        48.99 GB
System free space:         28.89 GB (58%)

Imagick:                   1
Imagick Active:            1
Imagick Version:           1690
GD Version:                bundled (2.1.0 compatible)

Browser and system
Firefox / Linux

What does php artisan migrate:status say? Did you try to initiate the migration manually?

The same happened on my installation. I ran the migration manually and everything looks OK:
# php artisan migrate PHP Notice:  date_default_timezone_set(): Timezone ID 'CEST' is invalid in /var/www/html/Lychee/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/LoadConfiguration.php on line 49 Migrating: 2019_12_02_2100_config_exiftool Migrated:  2019_12_02_2100_config_exiftool (0.01 seconds) Migrating: 2019_12_15_1000_config_check_update_every_cat_fix Migrated:  2019_12_15_1000_config_check_update_every_cat_fix (0.01 seconds)
And status is also fine:
| Yes  | 2019_12_02_2100_config_exiftool                   | 4     | | Yes  | 2019_12_15_1000_config_check_update_every_cat_fix | 4     | +------+---------------------------------------------------+-------+
So I changed the value of has_exiftool in the database to 1 (is this OK?) and now the error has gone away.

| Yes  | 2019_10_07_0900_config_map_include_sub_albums     | 3     |
| Yes  | 2019_10_09_233402_config_map_mod                  | 3     |
| Yes  | 2019_10_11_093442_config_check_update_every       | 3     |
| Yes  | 2019_12_02_2100_config_exiftool                   | 3     |
| Yes  | 2019_12_15_1000_config_check_update_every_cat_fix | 3     |
+------+---------------------------------------------------+-------+

It looks to me as if the db migration itself works. Where did you get the error message Error: Wrong property for has_exiftool in database, expected 0 or 1, got has_exiftool:  Can you share some more information?
@avalx Are you also using a postgresql db?

It looks to me as if the db migration itself works. Where did you get the error message Error: Wrong property for has_exiftool in database, expected 0 or 1, got has_exiftool:  Can you share some more information?

The error was shown when I chose the Settings -> Diagnostics

@avalx Are you also using a postgresql db?
Sorry I didn't mention - I'm using mysql db.

Now after I changed the value of has_exiftool from NULL to 1 in the database, the Diagnostics report looks OK:
`  Diagnostics
-----------
Info: Latest version of PHP is 7.4
Warning: Dropbox import not working. dropbox_key is empty.
System Information
------------------
Lychee-front Version:      3.2.16
Lychee Version (git):      c08d927 (master) - Data not in Cache
DB Version:                040000
System:                    Linux
PHP Version:               7.3
MySQL Version:             10.3.20-MariaDB

Lychee total space:        470.57 MB
Upload folder space:       415.04 MB
System total space:        105.20 GB
System free space:         86.13 GB (81%)

Imagick:                   1
Imagick Active:            1
Imagick Version:           1690
GD Version:                2.2.5

Config Information
------------------
version:                   040000
check_for_updates:         1
sorting_Photos_col:        takestamp
sorting_Photos_order:      ASC
sorting_Albums_col:        description
sorting_Albums_order:      DESC
imagick:                   1
skip_duplicates:           0
small_max_width:           0
small_max_height:          360
medium_max_width:          1920
medium_max_height:         1080
lang:                      en
layout:                    1
image_overlay:             1
image_overlay_type:        exif
default_license:           none
compression_quality:       90
full_photo:                1
delete_imported:           1
Mod_Frame:                 0
Mod_Frame_refresh:         30
landing_page_enable:       0
landing_owner:             Andrej Valencic
landing_title:             A V
landing_subtitle:          These are my photos!
landing_facebook:          https://www.facebook.com/JohnSmith
landing_flickr:            https://www.flickr.com/JohnSmith
landing_twitter:           https://www.twitter.com/JohnSmith
landing_instagram:         https://instagram.com/JohnSmith
landing_youtube:           https://www.youtube.com/JohnSmith
landing_background:        dist/cat.jpg
thumb_2x:                  1
small_2x:                  0
medium_2x:                 0
site_title:                Lychee v4
site_copyright_enable:     1
site_copyright_begin:      2019
site_copyright_end:        2019
public_search:             0
additional_footer_text:
display_social_in_gallery: 0
public_recent:             0
recent_age:                1
public_starred:            0
downloadable:              0
photos_wraparound:         1
map_display:               0
zip64:                     1
map_display_public:        0
map_provider:              Wikimedia
force_32bit_ids:           0
map_include_subalbums:     0
update_check_every_days:   3
has_exiftool:              1`

confirmed, thanks for the quick fix


Error: validation: chart.metadata.version is required on helm package even though --version is used

Output of helm version:
version.BuildInfo{Version:"v3.5.0", GitCommit:"32c22239423b3b4ba6706d450bd044baffdcf9e6", GitTreeState:"clean", GoVersion:"go1.15.6"}
Output of kubectl version: n/a
Cloud Provider/Platform (AKS, GKE, Minikube etc.): n/a
helm package always requires the version field to be set in the Chart.yaml, even if the --version flag is set. Otherwise helm exits with Error: validation: chart.metadata.version is required.
Since helm package ignores the version from the Chart.yaml anyway if it is provided via command line it seems unnecessary and a bit confusing to still require it.

There are two roles or parts in this.
First, there is defining a chart (package). This is done by the chart creator. Often times the people who do this are at a different company from those who consume the charts. The charts that are released for consumption need a version and it is supplied here. Think of using apt, yum, or zypper. The packages you consume there are versioned. Same with Helm charts and the version is specified in the _Chart.yamlfilesversion` field. This field is a semantic version.
Second, there is someone consuming a chart. If they use a command like helm install on a chart in a repository and do not specify a version then Helm will pick the most recent semantic version. It uses semantic version rules to determine the latest stable version in that repository. When the --version flag is used you can chose a specific version.
When you specify the version at the command line to use a chart then Helm needs to have the version of the chart available to check the version to determine the right version to use.
The version property is propagated around the Helm tooling. For example, this property is used when generating the index used in a Helm repository.
If the version property were not specified, how would the --version flag be able to work in getting a specific version?

There are two roles or parts in this.
First, there is defining a chart (package). This is done by the chart creator. Often times the people who do this are at a different company from those who consume the charts. The charts that are released for consumption need a version and it is supplied here. Think of using apt, yum, or zypper. The packages you consume there are versioned. Same with Helm charts and the version is specified in the _Chart.yamlfilesversion` field. This field is a semantic version.
Second, there is someone consuming a chart. If they use a command like helm install on a chart in a repository and do not specify a version then Helm will pick the most recent semantic version. It uses semantic version rules to determine the latest stable version in that repository. When the --version flag is used you can chose a specific version.
When you specify the version at the command line to use a chart then Helm needs to have the version of the chart available to check the version to determine the right version to use.
The version property is propagated around the Helm tooling. For example, this property is used when generating the index used in a Helm repository.
If the version property were not specified, how would the --version flag be able to work in getting a specific version?

Thanks for the explanation @mattfarina !
And apologies, I just realized that my original issue description was not particularly clear.
My issue is only with helm package. Of course with other commands it doesn't make much sense.
Basically what I want to do is define the version somewhere else. In my case in a Makefile variable which is then passed to all necessary build steps, among others helm package via the --version flag. This was possible with helm 2 but gives the above mentioned error since I upgraded to helm 3.

Thanks for the explanation @mattfarina !
And apologies, I just realized that my original issue description was not particularly clear.
My issue is only with helm package. Of course with other commands it doesn't make much sense.
Basically what I want to do is define the version somewhere else. In my case in a Makefile variable which is then passed to all necessary build steps, among others helm package via the --version flag. This was possible with helm 2 but gives the above mentioned error since I upgraded to helm 3.

I updated the description of the issue accordingly.

I updated the description of the issue accordingly.

It is not just --version though that applies directly to the error but given a chart file that looks like...
apiVersion: v2
name: foo
description: |
  foo
type: application

the following package command fails as follows
$ helm package --app-version <version from build tooling> --version <version from build tooling> -u foo
Error: validation: chart.metadata.version is required

This is also the case if the version and appVersion keys are supplied in the Chart.yaml but left blank, but the command will succeed if any value is provided in those keys.
Leaving these keys blank or absent seems the cleanest setup for a helm chart that will get versioned with the underlying code as it's built. the values of app-version and version being passed down through the build system.

We used an invalid 'x.x.x' version and put a valid version when building the chart and running package. With helm 3.5 this fails. We put 'v0.0.0' into the chart instead, should still be invalid, but works.

Feature Request:
helm package should not validate the chart.metadata.version or chart.metadata.appVersion if their "setter" cli flags are passed.

re-labeling as a bug. I agree that the following use case should be valid:
><> cat Chart.yaml
apiVersion: v2
name: test-9298
description: A Helm chart for Kubernetes
type: application
appVersion: "1.16.0"
><> helm package --version 0.1.0 .
Error: validation: chart.metadata.version is required

Unfortunately I believe this case is blocked because due to security issues with Go's YAML parser, we had to enable strict validation.
For reference, the strict parser is in place to prevent cases where a field can be overridden by re-declaring it a second time:
><> cat Chart.yaml
apiVersion: v2
name: test-9298
description: A Helm chart for Kubernetes
type: application
appVersion: "1.16.0"
version: "1.0.0"
version: "2.0.0"
><> helm package .
Successfully packaged chart and saved it to: /tmp/test-9298/test-9298-2.0.0.tgz

There's no way to tell the YAML parser to check for duplicate keys without enabling strict parsing. Fix that, and we can handle cases like the one raised by the OP.

My apologies. It's actually because when loading the chart from disk, we validate the contents before overlaying things like the --version flag.
https://github.com/helm/helm/blob/a499b4b179307c267bdf3ec49b880e3dbd2a5591/pkg/chart/loader/load.go#L161
In most cases this makes sense as a chart loaded from disk should have a valid version field present. But perhaps we can handle this case differently... Either by loading the contents from disk, overlay the new values, THEN call .Validate. But this will likely require a new function signature.

Any updates on this? I ran into this issue today after upgrading my client from 3.2.1 to 3.6.2 and trying to package a chart. We use placeholders in our Chart.yaml for version and then set the version when packaging, but this failed with both the 3.6.2 and 3.5.2 clients:
$ helm package . --app-version <IP_ADDRESS> --version=2.6.4 Error: validation: chart.metadata.version "2.6.x" is invalid
I downgraded to 3.4.2 and was able to package again.

@bacongobbler it looks like this issue got introduced with version v3.5.2
The Validate() function in pkg/chart/metadata.go looks like the following in v3.5.1:
func (md *Metadata) Validate() error {
	if md == nil {
		return ValidationError("chart.metadata is required")
	}
	if md.APIVersion == "" {
		return ValidationError("chart.metadata.apiVersion is required")
	}
	if md.Name == "" {
		return ValidationError("chart.metadata.name is required")
	}
	if md.Version == "" {
		return ValidationError("chart.metadata.version is required")
	}
	if !isValidChartType(md.Type) {
		return ValidationError("chart.metadata.type must be application or library")
	}

	// Aliases need to be validated here to make sure that the alias name does
	// not contain any illegal characters.
	for _, dependency := range md.Dependencies {
		if err := validateDependency(dependency); err != nil {
			return err
		}
	}

	// TODO validate valid semver here?
	return nil
}

While the same function in v3.5.2 has the SemVer check built in:
func (md *Metadata) Validate() error {
	if md == nil {
		return ValidationError("chart.metadata is required")
	}

	md.Name = sanitizeString(md.Name)
	md.Description = sanitizeString(md.Description)
	md.Home = sanitizeString(md.Home)
	md.Icon = sanitizeString(md.Icon)
	md.Condition = sanitizeString(md.Condition)
	md.Tags = sanitizeString(md.Tags)
	md.AppVersion = sanitizeString(md.AppVersion)
	md.KubeVersion = sanitizeString(md.KubeVersion)
	for i := range md.Sources {
		md.Sources[i] = sanitizeString(md.Sources[i])
	}
	for i := range md.Keywords {
		md.Keywords[i] = sanitizeString(md.Keywords[i])
	}

	if md.APIVersion == "" {
		return ValidationError("chart.metadata.apiVersion is required")
	}
	if md.Name == "" {
		return ValidationError("chart.metadata.name is required")
	}
	if md.Version == "" {
		return ValidationError("chart.metadata.version is required")
	}
	if !isValidSemver(md.Version) {
		return ValidationErrorf("chart.metadata.version %q is invalid", md.Version)
	}

	...

	return nil
}

While the Run() method of the helm package command would actually respect the provided --version flag:
func (p *Package) Run(path string, vals map[string]interface{}) (string, error) {
        ...

	if p.Version != "" {
		ch.Metadata.Version = p.Version
	}

	if err := validateVersion(ch.Metadata.Version); err != nil {
		return "", err
	}

       ...
}

it never gets to that point because the metadata of the Chart is being parsed AND validated at the time the files are being loaded.
While the early validation certainly works for most of the other, if not all of the other commands it doesn't work for package where you can provide a version via the --version flag.
To fix this there would only really be two options I could see:

Make the parsing "aware" of what command has been invoked (i.e. disable the version check for package via flag)
Turn it off by default and have the individual command validate it like package is actually trying to do

Cheers,
Kimba

Looks like the "Fix" #2bf5c28 is what "broke" it for for helm package

@kimba74 yes, however the fix was put in place to fix a security issue. Please have a read through https://github.com/helm/helm/security/advisories/GHSA-c38g-469g-cmgx.
If you can determine a fix without re-introducing that security issue (I mentioned a potential solution in an earlier comment) that would be helpful. But with the current architecture in the code that was the only way to fix the security issue. So a new code path may have to be introduced to provide this feature.

@bacongobbler I'm a little confused, because of #9 and #10 on https://semver.org/ relating to pre-release versions of something.

A pre-release version MAY be denoted by appending a hyphen and a series of dot separated identifiers immediately following the patch version. Identifiers MUST comprise only ASCII alphanumerics and hyphens [0-9A-Za-z-]. Identifiers MUST NOT be empty. Numeric identifiers MUST NOT include leading zeroes. Pre-release versions have a lower precedence than the associated normal version. A pre-release version indicates that the version is unstable and might not satisfy the intended compatibility requirements as denoted by its associated normal version. Examples: 1.0.0-alpha, 1.0.0-alpha.1, 1.0.0-0.3.7, 1.0.0-x.7.z.92, 1.0.0-x-y-z.–.
Build metadata MAY be denoted by appending a plus sign and a series of dot separated identifiers immediately following the patch or pre-release version. Identifiers MUST comprise only ASCII alphanumerics and hyphens [0-9A-Za-z-]. Identifiers MUST NOT be empty. Build metadata MUST be ignored when determining version precedence. Thus two versions that differ only in the build metadata, have the same precedence. Examples: 1.0.0-alpha+001, 1.0.0+20130313144700, 1.0.0-beta+exp.sha.5114f85, 1.0.0+21AF26D3—-117B344092BD.

I know I am getting errors, but my pre-release versions follow this pattern, and you link directly to the semver site that states this information here: https://helm.sh/docs/chart_best_practices/conventions/#version-numbers
An example of one of my pre-release versions is: 1.1.25-dev.1-mcp-3583.0874667 , and yet when I try to use the latest versions of helm I get errors like this::

index.go:339: skipping loading invalid entry for chart "webhook-service" "1.1.25-dev.1-mcp-3583.0874667" from https://my.artifactory.url : validation: chart.metadata.version "1.1.25-dev.1-mcp-3583.0874667" is invalid

Pre-release version numbers cannot containmore than ONE hyphen. The Backus-Naur Form Grammar section defines this in pseudo-code.
The relevant sections:
<valid semver> ::= <version core>
                 | <version core> "-" <pre-release>
                 | <version core> "+" <build>
                 | <version core> "-" <pre-release> "+" <build>

<pre-release> ::= <dot-separated pre-release identifiers>

<dot-separated build identifiers> ::= <build identifier>
                                    | <build identifier> "." <dot-separated build identifiers>

<build identifier> ::= <alphanumeric identifier>
                     | <digits>

In other words, this is NOT valid:
1.1.25-dev.1-mcp-3583.0874667
But this is:
1.1.25-dev.1.mcp.3583.0874667

Then number 9 is wrong, because one of the examples is clearly, but thanks for the response.

1.0.0-x-y-z.–

I'm sure the semver.org maintainers would appreciate the heads up if you'd like to raise it with them, as that's in direct conflict with the specification.

Hmm... Looking at https://semver.org/#is-there-a-suggested-regular-expression-regex-to-check-a-semver-string it would appear 1.1.25-dev.1-mcp-3583.0874667 is considered valid semver. Looks like the specification is unclear on this section.
Please feel free to submit a bug report to https://github.com/Masterminds/semver. That is the library Helm uses to validate semantic versions.

Thanks again @bacongobbler, I have actually created and issue for them here if you would like to comment as well: https://github.com/semver/semver/issues/743

Oh, and it looks like numerical values with leading zeroes are invalid too. So you have to remove the leading zero from the last part of the version number.
1.1.25-dev.1.mcp.3583.874667

I noticed that as well just now.

Ignore it long enough and it goes away?

Happy to review suggestions in the form of a PR. Your earlier suggestion seems like a good use case.
Helm’s development is purely driven by the community. If you want something fixed, you’ll have to do the work yourself, hire a contractor, or find other like-minded individuals who are also interested in collaborating on a solution. :)

The spec clearly states that prerelease characters are [0-9A-Za-z-], so multiple hyphens are allowed. The test data we developed for the regex's includes 1.2.3----RC-SNAPSHOT.12.9.1--.12 in the valid list, which clearly contains multiple hyphens.
You are not reading the BNF correctly if you think that it does not allow multiple hyphens. Working our way up from the basic elements we have:
<non-digit> ::= <letter>
              | "-"

Then:
<identifier character> ::= <digit>
                         | <non-digit>

Followed by
<identifier characters> ::= <identifier character>
                          | <identifier character> <identifier characters>

Notice this is self referential, which allows for multiple , which we've already established includes hyphens. Climbing further:
<alphanumeric identifier> ::= <non-digit>
                            | <non-digit> <identifier characters>
                            | <identifier characters> <non-digit>
                            | <identifier characters> <non-digit> <identifier characters>

Followed by
<pre-release identifier> ::= <alphanumeric identifier>
                           | <numeric identifier>

So when we get to:
<dot-separated pre-release identifiers> ::= <pre-release identifier>
                                          | <pre-release identifier> "." <dot-separated pre-release identifiers>

Which is self referencing, so that we can have multiple dots. Be careful with string that contain UNICODE characters:
1.0.0-x-y-z.–
Notice the width of the trailing hyphen? Somebody's editor converted sequential hyphens -- in into the long bar character –, which is definitely NOT legal.


How to use ACL?

Consul has a ACL system to make service security. Can I use it on this image?

Yes, using the latest under the new org.


Fix #2391, to prevent extra frame captures at the end of an image capture sequence

A band-aid to fix #2391, which demonstrated one or two extra frame captures at the end of a frame capture sequence.

I'd call this a band-aid because it's not clear why we don't want to call VizWinMgr::Update() while animating.  But it fixes the bug.
The modified function is already very long and packed full of conditionals.  The MainForm is 16 years old right now and might be due for some TLC.


Can I debug mediapipe with clion?

mediapipe does not use cmake as the build system, so you can not build in clion, but you can use clion remote debug attach to the program to debug.

I think we can do this at least on Ubuntu machine.

What IDE would you recommend where some benefits of static analysis of the cpp code is enabled then?


Google Surveys

Product name: Google Surveys
Company: Google
Description: Google Surveys was a service for business aimed at facilitating customized market research. It featured both a web interface with which to design the survey as well as the audience that takes the survey.
Type of product: Service
Release date: 2012-03-29
Discontinued date: 2022-11-01
Source: https://en.wikipedia.org/wiki/Google_Surveys

@edvinlinden You might want to close this... it was added.

Good catch @MIfoodie! 👍


Pin babel-preset-react-app to to core-js minor '3.5' version and add a peer dependency

Specified the minor version as recommended by core-js docs
Removed comment about core-js@3 upgrade
Added peer dependency on core-js from babel-preset-react-app.

Did some due dilligence and see react-error-overlay and react-scripts both directly depend on babel-preset-react-app but do not have a direct dependency on core-js. They do both have direct dependencies on react-app-polyfill that in turn depends on core-js.
From my testing:

npm doesn't complain about the peer depenency being unmet, guessing because it sees core-js in the dependency tree from react-app-polyfill
yarn does warn about the peer dependency being unmet, this seems more correct than npm's behaviour.

Forgive my ignorance but I don't know if babel-preset-react-app is expected to be usable without core-js? If not does that suggest react-scripts and react-error-overlay should have a direct dependency on core-js too?
closes #8875
closes #8779

Now the peerDependency on core-js has been added, can this one go as part of the next milestone @ianschmitz? Think it would warrant a major version bump of babel-preset-react-app.

PR is not stale, changes to my knowledge are good. Just needs review and release.
Can we get a breaking change and bug fix label added to this PR?

PR is not stale :)

Have had to workaround this issue in another project. @ianschmitz / @iansu Is this something can be considered for the 4.1 milestone as a major version release to babel-preset-react-app?

Resolved conflicts. PR is not stale.

Resolved conflicts. PR is not stale.

Maybe change version to 3.8? :)

Maybe change version to 3.8? :)

Maybe change version to 3.8? :)

We can go to 3.6 since that is the latest minor version that react-app-polyfill is pulling in

Maybe change version to 3.8? :)

We can go to 3.6 since that is the latest minor version that react-app-polyfill is pulling in

As I see react-app-polyfill has "core-js": "^3.19.2", in dependencies, so we can change version to 3.19?

I need corejs 3.17 for my project,
it would be great to update it to 3.19!


During the migration , allow the user to identify which keys should be migrated over

Problem
Some users have many keys in the v1 version of the application, while they only use one of the keys to actually sign the transaction.
Solution
The user should be able to select/identify which one key needs to be shared with the organization and skip the rest.
Alternatives
No response

This experience can be the same kind window that we have when users create complex keys. It is a window that lists all of the keys in their v1 application keys folder, with the nickname if they have one. The user highlights which key they want to use with the organization and go to the next step. The application should not assume the user wants to import all of the keys.


 Users should be able to reorder them or they should be displayed in alphabetical order. More importantly, however, the "home" wiki should be listed at the top. Here, it's toward the bottom middle:

Community team would like to resurrect this for the wiki page re-ordering. We've got four +1s in favor of allowing users to reorder the wiki pages within a project.


Added check for failed test suites, fixes #28

Haven't tested it but it will probably work :)

thanks for your contribution.


React-UI: flex-wrap the content

Signed-off-by: blalov<EMAIL_ADDRESS>Fixes: https://github.com/prometheus/prometheus/issues/6582

Some Screenshot for references
Before Flex Wrap

After Flex Wrap

:+1: looks good, thanks!


Traceback (most recent call last):   File "train_models.py", line 72, in      train(CIFAR(), "models/cifar", [64, 64, 128, 128, 256, 256], num_epochs=50)   File "train_models.py", line 58, in train     validation_data=(data.validation_data, data.validation_labels), AttributeError: 'CIFAR' object has no attribute 'validation_data'

Traceback (most recent call last):
File "train_models.py", line 72, in
train(CIFAR(), "models/cifar", [64, 64, 128, 128, 256, 256], num_epochs=50)
File "train_models.py", line 58, in train
validation_data=(data.validation_data, data.validation_labels),
AttributeError: 'CIFAR' object has no attribute 'validation_data'
how to fix it under tensorflow 1.14

I have already modified the File "setup_cifar.py".
You can run python train_models.py again and the error should be fixed.


Ignore extraneous HTML elements, they just result in blank slides.

Working with a legacy CMS that's inserting image map tags next to some images in the slider.  Simply ignoring irrelevant elements seems to work well.
See Issue #33 an example of other people running into this problem.  In this particular case, modifying the CMS is not an option.

This PR is dealing with old base code for a legacy CMS. As much as I'd like to merge it, it's too specific and the PR code is based on old code. If v3.2 is also suffering this issue for you, please feel free to throw a new PR up with an example of the issue and what the PR "fix" is actually doing.


test-branch/execute-job/wrong-commit-sha-on-pr/33ed0bc3-8b36-4ae6-a545-1d3a06fac5cc

PR for testing 4b5d7cfe5677a939e195b48968513dc97efd44b9

/canonical/self-hosted-runners/run-workflows 931ad21dd9ace68aaa0a7d341e94de96ad93fa6b


search engine needs to be defined somewhere?

Warning: Bing-Search-Plugin is not fully functional. Please set the SEARCH_ENGINE and BING_API_KEY environment variables.

Any ideas where to look now?
I have the bing cookies json in autogpt root and plugin directory - not sure where to put it.
I have the .env edited with correct info - I thought.... I have the api key defined.
################################################################################
### BINGAI
################################################################################

BINGAI_COOKIES_PATH=./cookies.json
BINGAI_MODE=precise

I've got the same problem.


[QUESTION] Chapter 2 - Using GridSearch result

I'm tripping up on a few things at the end of chapter 2... at the moment I'm trying to get my head around the GridSearch result.
Referring to the Jupyter notebook...
Line 94
forest_reg = RandomForestRegressor(n_estimators=100, random_state=42)
n_estimators =  100 which gives a result of 50,182.
Later in the text we use Grid Search to automatically change hyperparameters.
Line 99
{'n_estimators': [3, 10, 30], 'max_features': [2, 4, 6, 8]},
The best result is 49,682 (max_features: 8, n_estimators: 30)
If you change n_estimators on line 94 to 30 you get 50,696. It makes sense to me that its bigger than the default in line 94 but why is the result from Grid Search smaller?
I've tried changing line 99 to
{'n_estimators': [30, 100], 'max_features': [8]},
and this gives the results
49682.273345071546 {'max_features': 8, 'n_estimators': 30}
49219.71678391268 {'max_features': 8, 'n_estimators': 100}
My question is, what do you do with the result of the Grid Search? Why doesn't n_estimators give the same result both times?  How does max_features fit in with regard to line 94?
Thank you!

Hi @koxt2 ,
Thanks for your question.
The RandomForestRegressor on line 94 doesn't specify max_features, so it uses the default which is to use the total number of features in the training set. In this case, housing_prepared has 16 columns, so max_features is 16. If you explicitly set max_features=8 on line 94, then line 96 will output a score much closer to the one on line 99.
But there's also a second difference: line 96 uses cv=10 while line 99 uses cv=5. If you change line 96 to use cv=5, you'll get the exact same result.
Hope this helps!

Hi @koxt2,

Grid-search is used to find the optimal hyperparameters of a model which results in the most ‘accurate’ predictions.
with in the given range of values for a parameter it will find the best combinations


TypeError: init() takes 1 positional argument but 2 were given

class BertForMultiLable(BertPreTrainedModel):
def init(self, config):
    super(BertForMultiLable, self).__init__(config)
    self.bert = BertModel(config)
    self.dropout = nn.Dropout(config.hidden_dropout_prob)
    self.classifier = nn.Linear(config.hidden_size, config.num_labels)
    self.apply(self.init_weights)

when we try to run the bert model by your steps, everything is perfect, however there is always a type error showing that the init_weights()  function in the line 11

self.apply(self.init_weights)

of bert_for_multi_label.py has something wrong. we tried to modify it to

self.apply(self._init_weights)

class BertForMultiLable(BertPreTrainedModel):
def init(self, config):
    super(BertForMultiLable, self).__init__(config)
    self.bert = BertModel(config)
    self.dropout = nn.Dropout(config.hidden_dropout_prob)
    self.classifier = nn.Linear(config.hidden_size, config.num_labels)
    self.apply(self._init_weights)

then it looks like okay. I am wondering if you also meet this problem and if the problem is caused by the version of python or the inheritance of parent class？

when you use the torch 1.0.0, you may meet this problem
and 1.1.0 is ok

I have tried 1.1.0, but it doesn't work. Have you solved this problem?

@FayeXXX  just check your pytorch version. if it is >=  1.2.0, do the following change to your init():
modify self.apply(self.init_weights) to self.init_weights()
    super(BertForMultiLable, self).__init__(config)
    self.bert = BertModel(config)
    self.dropout = nn.Dropout(config.hidden_dropout_prob)
    self.classifier = nn.Linear(config.hidden_size, config.num_labels)
    self.init_weights()

@lonePatient  has already explained it in the readme of the file.

note: pytorch_transformers>=1.2.0, modify self.apply(self.init_weights) to self.init_weights() in pybert/model/nn/bert_for_multi_label.py file .

Try this fix


[QnAMaker] PreciseAnswer feature implementation.

Fixes #
Description

Specific Changes

-An
Testing

Pull Request Test Coverage Report for Build 139618

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.07%) to 80.973%

Totals

Change from base Build 139207:
0.07%

Covered Lines:
12881

Relevant Lines:
15193

💛  - Coveralls

The associated PR in the dotnet repo was reverted in PR4170. We do not need this port at this point.


SendAll::poll() should not close underlying Sink

Hello. May be I am missing something, but it seems that sink.send_all(stream)
should not close itself on completion.

Thanks for the PR @eldargab! This is related to https://github.com/alexcrichton/futures-rs/issues/462 where unfortunately this is a breaking change that can't yet land, but I've tagged that issue for 0.2-cleanup to ensure we handle that during the transition.
While we're at it though, mind commenting as to your use case for using the sink after send_all? (just to have it on record)

Basically, I was just inspecting the code and noticed, that implementation doesn't much neither docs nor my expectations.
As of use case, it's not hard to imaging. First of all it is an alternative to stream.chain() and .chain() is not always possible. For example, you can have interaction between client and server like this (pseudocode)
fn do_transaction(rx, tx) {
    let s1 = rx.recv();
    open(s1).send_all(tx);
    let s2 = rx.recv(); // waiting for another stream request, but this time it depends on s1
    open(s2).send_all(tx);
}

which translates to something like
fn do_transaction(rx: Rx, tx: Tx) -> Future {
    rx.recv().and_then(|req1| {
        let s1 = open(req1);
        s1.send_all(tx)
    }).and_then(|(_, tx)| {
        rx.recv().join(Ok(tx))
    }).and_then(|req2, tx| {
        // req2 depends on contents of s1
        open(req2).send_all(tx)
    })
}

Ok cool thanks for the use case! We'll be sure to try and cover this in the 0.2 release (not currently planned, but will happen eventually!)

Merged in https://github.com/rust-lang-nursery/futures-rs/pull/745


added pig-dice game

i added pig-dice game bit bit logic change from original

please convert demo into gif format also rename it to "demo.gif"


add ctrl+enter shortcut to fire a request

Allows to press Ctrl + Enter in the textarea of the ApiRequest to send a request
The code 10 is here to support an open issue on Chromium : https://bugs.chromium.org/p/chromium/issues/detail?id=79407

Thanks for your contribution


charm store availability under ~containers

@tvansteenburgh it seems like the charm has not been pushed to the charm store yet or has not been exposed.
charm release cs:~containers/keepalived-<n>
charm grant '~containers/keepalived' --channel stable --acl read --set everyone

➜  ~ charm show cs:~containers/keepalived
ERROR cannot get metadata from /~containers/keepalived/meta/any?include=perm&include=charm-metadata&include=bundle-metadata&include=published&include=promulgated&include=owner&include=terms&include=id-name&include=id-revision&include=supported-series&include=common-info: no matching charm or bundle for cs:~containers/keepalived

➜  ~ charm show cs:~dmitriis/keepalived
Failover and monitoring daemon for LVS clusters

Name                    keepalived
Owner                   dmitriis
Revision                8
Supported Series        xenial
Tags                    networking
Subordinate             true
Promulgated             false
Home page               https://github.com/dshcherb/charm-keepalived
Bugs url                https://github.com/dshcherb/charm-keepalived/issues
Read                    everyone
Write                   dmitriis

CHANNEL                 CURRENT
stable                  true

cs:~containers/keepalived-2 has been released to the stable channel.

@tvansteenburgh
Thanks for the clarification, I think we can do it.
I tested failover scenarios (nginx failure, keepalived failure, node failure) in 2 different labs (MAAS and manual provider) and the charm upgrade scenario.

@tvansteenburgh
Looks like we still need a grant for the stable channel.

@dshcherb Oops, sorry about that. I've granted read to everyone now.


List of connected users with roles

Hello,
In my app (chat) there are 2 roles user & power user.
Only the power user are able to see the connected users (role user).
The power user doesn't see his name in the list.
This list is just sent by a Pub in onSessionJoin / onSessionLeave (works well)
My app is like that :

a PHP router with an AuthentificationProvider (with JWT) as internal client
a PHP client who store the list of the connected users. (meta event onSessionJoin / onSessionLeave )

But in the $args (first parameter) of onSessionJoin, the key values of authprovider, authrole are empty...
However, in the JwtAuthentificationProvider, the processAuthenticate method returns the good values. (good authrole)
Please what I must do to get the good authrole in the onSessionJoin ?
Thanks

I just committed a fix for that in in 0.3-dev and 0.4-dev branches.

Hi @mainman ,
Have you had a chance to test the latest commit?

Hi Matt,
Just tested. But it is totally broke... Here is what I've got in the onSessionJoin first argument $args :
array (
  0 =>
  stdClass::__set_state(array(
     'realm' => 'camhot',
     'authprovider' => NULL,
     'authid' => 'authenticated_user',
     'authrole' => 'authenticated_user',
     'authroles' =>
    array (
      0 => 'authenticated_user',
    ),
     'authmethod' => 'jwt',
     'session' => 33556481,
     'role_features' =>
    stdClass::__set_state(array(
       'caller' =>
      stdClass::__set_state(array(
         'features' =>
        stdClass::__set_state(array(
           'caller_identification' => true,
           'progressive_call_results' => true,
        )),
      )),
       'callee' =>
      stdClass::__set_state(array(
         'features' =>
        stdClass::__set_state(array(
           'progressive_call_results' => true,
        )),
      )),
       'publisher' =>
      stdClass::__set_state(array(
         'features' =>
        stdClass::__set_state(array(
           'subscriber_blackwhite_listing' => true,
           'publisher_exclusion' => true,
           'publisher_identification' => true,
        )),
      )),
       'subscriber' =>
      stdClass::__set_state(array(
         'features' =>
        stdClass::__set_state(array(
           'publisher_identification' => true,
        )),
      )),
    )),
  )),
)

The authid is not the real one, and the authrole I returned in the JwtAuthenticationProvider::processAuthenticate is not there.
I return :
$authDetails = [
	"authmethod"   => "jwt",
	"authrole"     => $authRole,
	"authid"       => $authId,
	"authprovider" => "jwt"
];

return ["SUCCESS", $authDetails];

Hope you will find the issue.
Thanks !

Hi @mainman ,
What version are you requiring in composer.json?

dev-master

I do see this issue you are having now. One of the later commits caused the new behavior you are seeing. I am working on getting that fixed back up now.

Thanks Matt

@mbonneau If I have question, can I post them here ?
I must ban some client of my chat app, and I don't know how to force the connection to close from outside. Thanks

@mainman ,
I have pushed changes to both dev-master and 0.3 branches that will address the issues.
Please note that Thruway does not pass the authprovider through.
As far as general questions and discussion, the group (https://groups.google.com/forum/#!forum/thruway) would probably be a better place for that so that the watchers here don't see a bunch of extra traffic for discussions. We will try to be better about responding on the group.
Let me know if you are still having issues.

Hi Matt,
Thanks for your quick response. All is fine now, and I have my roles !


Unable to use add NuGet package through the #addin directive

Our organisation has a custom NuGet repository for hosting our reusable libraries. By the meantime, we are exploring how cake works to integrate it to our CI process.
What You Are Seeing?
However, when I try to install a package from that local repo with the #addin directive, I keep getting the following error:
Could not find any assemblies compatible with .NETFramework,Version=v4.5.
Here's the code snippet I'm using.
#addin "nuget:file://mycustomrepo?package=mylocalpackage"
I've been reading a lot of threads about that error and I've done the following steps up to now:

I successfully installed the package from the Visual Studio NuGet Package Manager;
I successfully installed the package from the NuGet commandline;
I downgraded the target framework of the assemblies behind my package to 4.5, just to see if it would make a difference. It doesn't.

Also tried different #addin syntax such as:
#addin "nuget:?package=mylocalpackage" - same result as my NuGet sources refer to the right repos.
#addin "nuget:?package=mynonexistinglocalpackage"  - I get a coherent error message.
What is Expected?
I expect my package to be flawlessly installed the same way it is when I use another NuGet endpoint.
What version of Cake are you using?
0.21.1
Are you running on a 32 or 64 bit system?
32 bit system
What environment are you running on?  Windows? Linux? Mac?
Windows 7, Visual Studio 2015.
Are you running on a CI Server?  If so, which one?
not for that test.
How Did You Get This To Happen? (Steps to Reproduce)

create a NuGet package that complies to the NuGet standards and host it locally.

create a new Cake AddIn project in Visual Studio and create a new cake-build script;

Reference that package through the #addin directive in a new cake-build script (build.cake), as shown above.

4, Run the script through the Task Runner Explorer OR launch the script through the command line.
Output Log
From the commandline with cake.exe:
D:\PROJETS\Git\POCCake\Cake.MyModule1\Cake.Addin1>cake --verbosity=diagnostic
Module directory does not exist.
Analyzing build script...
Analyzing D:/PROJETS/Git/POCCake/Cake.MyModule1/Cake.Addin1/build.cake...
Processing build script...
Installing addins...
Installing NuGet package IAFG.IA.RC.Development.Health.Cake.AddIns...
Executing: "C:/WINDOWS/SysWOW64/nuget.exe" install "IAFG.IA.RC.Development.Healt
h.Cake.AddIns" -OutputDirectory "D:/PROJETS/Git/POCCake/Cake.MyModule1/Cake.Addi
n1/tools/Addins" -Source "file://mycustomrepo" -Versi
on "1.0.1" -ExcludeVersion -NonInteractive
Could not find any assemblies compatible with .NETFramework,Version=v4.5.
Error: Cake.Core.CakeException: Failed to install addin 'IAFG.IA.RC.Development.
Health.Cake.AddIns'.
à Cake.Core.Scripting.ScriptProcessor.InstallAddins(ScriptAnalyzerResult anal
yzerResult, DirectoryPath installPath)
à Cake.Core.Scripting.ScriptRunner.Run(IScriptHost host, FilePath scriptPath,
IDictionary`2 arguments)
à Cake.Commands.BuildCommand.Execute(CakeOptions options)
à Cake.CakeApplication.Run(CakeOptions options)
à Cake.Program.Main()
From the commandline with nuget, with the very same instruction pushed by cake:
D:\PROJETS\Git\POCCake\Cake.MyModule1\Cake.Addin1>C:\windows\syswow64\nuget.exe
install "IAFG.IA.RC.Development.Health.Cake.AddIns" -OutputDirectory "D:/PROJETS
/Git/POCCake/Cake.MyModule1/Cake.AddIn1/tools/Addins" -Source "file://mycustomrepo" -Version "1.0.1" -ExcludeVersion -NonInteractive
Feeds used:
C:\Users\leddcf.nuget\packages
file://mycustomrepo
Attempting to gather dependency information for package 'IAFG.IA.RC.Development.
Health.Cake.AddIns.1.0.1' with respect to project 'D:/PROJETS/Git/POCCake/Cake.M
yModule1/Cake.AddIn1/tools/Addins', targeting 'Any,Version=v0.0'
Gathering dependency information took 93.37 ms
Attempting to resolve dependencies for package 'IAFG.IA.RC.Development.Health.Ca
ke.AddIns.1.0.1' with DependencyBehavior 'Lowest'
Resolving dependency information took 0 ms
Resolving actions to install package 'IAFG.IA.RC.Development.Health.Cake.AddIns.
1.0.1'
Resolved actions to install package 'IAFG.IA.RC.Development.Health.Cake.AddIns.1
.0.1'
Retrieving package 'IAFG.IA.RC.Development.Health.Cake.AddIns 1.0.1' from 'file:
//mycustomrepo'.
Retrieving package 'Ninject 3.2.2' from 'C:\Users\leddcf.nuget\packages'.
Adding package 'Ninject.3.2.2' to folder 'D:\PROJETS\Git\POCCake\Cake.MyModule1
Cake.AddIn1\tools\Addins'
Added package 'Ninject.3.2.2' to folder 'D:\PROJETS\Git\POCCake\Cake.MyModule1\C
ake.AddIn1\tools\Addins'
Successfully installed 'Ninject 3.2.2' to D:/PROJETS/Git/POCCake/Cake.MyModule1/
Cake.AddIn1/tools/Addins
Adding package 'IAFG.IA.RC.Development.Health.Cake.AddIns.1.0.1' to folder 'D:\P
ROJETS\Git\POCCake\Cake.MyModule1\Cake.AddIn1\tools\Addins'
Added package 'IAFG.IA.RC.Development.Health.Cake.AddIns.1.0.1' to folder 'D:\PR
OJETS\Git\POCCake\Cake.MyModule1\Cake.AddIn1\tools\Addins'
Successfully installed 'IAFG.IA.RC.Development.Health.Cake.AddIns 1.0.1' to D:/P
ROJETS/Git/POCCake/Cake.MyModule1/Cake.AddIn1/tools/Addins
Executing nuget actions took 144.1 ms
The structure of the package is as follows:

Sorry guys it's already possible to load all related dependencies even if they are in another server (the nuget global one)?
I have this :
#addin nuget:file://C:/Dev/Tools/nuget/packages?package=Cake.SomeAddin&loaddependencies=true&version=1.0.0
It only loads the the addin but not the related dependencies that are in the global nuget server


pass context to mapPropsToFields

Coverage increased (+6.5%) to 89.713% when pulling 02bc62dc2a336ea6b9a14c26beaf858288f7d756 on plandem:patch-2 into e9e2359a34044799cf92ea522c3b4fdb6fc878e5 on react-component:master.

Coverage increased (+6.5%) to 89.713% when pulling 8ea02ebbcf28e3061329c92c2e742771f0e35bb1 on plandem:patch-2 into e9e2359a34044799cf92ea522c3b4fdb6fc878e5 on react-component:master.

any update?


Implement infinite scrolling on transactions list

Use pagination.

Closing as it will be implemented by PR #76

Reopening. See comment on PR #76.
This needs a big refactoring, and moving some of business rules (recurring transactions display, etc) from frontend to the backend.


copr: Add index_uncheck to avoid boundary check

What is changed and how it works?

Issue Number: ref #17290
In order to improve the calculation performance of vector, index_uncheck without boundary checking is used instead of index. The computing performance of 784 dimensions is improved by approximately 8%.

What's Changed:
Related changes

[ ] PR to update pingcap/docs/pingcap/docs-cn:
[ ] Need to cherry-pick to the release branch

Check List
Tests

[ ] Unit test
[ ] Integration test
[ ] Manual test (add detailed scripts or steps below)
[ ] No code

Side effects

[ ] Performance regression: Consumes more CPU
[ ] Performance regression: Consumes more Memory
[ ] Breaking backward compatibility

Release note

/retest

/retest


OS: Add support for the Siduction OS

This pull-request adds support for the Siduction GNU/Linux Distribution.
It's not the prettiest ascii logo, but it does the job :smile:.

Also, something is odd with your resolution output. You might want to open up an issue.

Thanks! :+1:

@dylanaraps Thanks for the merge and sorry for the leading whitespaces^^.

All good, no worries. :)


Fixes update seats with wrong body: expected array, sent single object

Description
The expected body is an array. Thus I fixes the body in the existing method, and added a method for multiple UserSeeats.
I can also remove the new method, and make the existing one take a list.
83c77693e654a05fbeb7338cdff8da474fe38fc9 fixes #1479
Has your change been tested?
Yes. I made requests using this, and wrote tests to cover it.
Types of changes
What sort of change does your code introduce/modify?

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

Checklist:

[x] My code follows the code style of this project.
[x] My change requires a change to the documentation.
[?] I have updated the documentation accordingly. (not sure if I should add docs elsewhere)
[x] I have added tests to cover my changes.
[x] All new and existing tests passed.
[x] This change is using publicly documented in cloudflare/api-schemas
and relies on stable APIs.

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

Comparison is base (b9ac804) 48.33% compared to head (4941c2c) 53.61%.
Report is 591 commits behind head on master.

Files
Patch %
Lines

api_shield_schemas.go
54.81%
35 Missing and 26 partials :warning:

observatory.go
54.68%
29 Missing and 29 partials :warning:

per_hostname_tls_settings.go
41.86%
25 Missing and 25 partials :warning:

dlp_dataset.go
45.45%
24 Missing and 24 partials :warning:

logpush.go
48.86%
43 Missing and 2 partials :warning:

devices_policy.go
56.96%
23 Missing and 11 partials :warning:

access_users.go
76.84%
11 Missing and 11 partials :warning:

d1.go
70.27%
11 Missing and 11 partials :warning:

access_custom_page.go
58.33%
10 Missing and 10 partials :warning:

page_shield_policies.go
60.86%
9 Missing and 9 partials :warning:

... and 19 more

Additional details and impacted files
@@            Coverage Diff             @@
##           master    #1480      +/-   ##
==========================================
+ Coverage   48.33%   53.61%   +5.27%
==========================================
  Files         133      156      +23
  Lines       13023    11922    -1101
==========================================
+ Hits         6295     6392      +97
+ Misses       5201     3675    -1526
- Partials     1527     1855     +328

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


Impossible to get access to Host VPN Server from remote client

Hello eveyrone,
I think I discovered a serious problem with SE VPN when it is installed at Ubunutu (and probably other Linux).
Set-up: <IP_ADDRESS>/24 network, Ubuntu 16LTS Server, The Simpliest Remote VPN Configuration, Local Bridge, One Hub, No ACL and other tricks, IPsec and OpenVPN options are enabled.
Client: Android device with standard IPsec (tested with Adnroid 6 and 4), OpenVPN client.
The problem: when Adnroid establishes VPN Tunnel then it can reach any computer at <IP_ADDRESS>/24 network except the VPN Host with Ubuntu. The situation is vice versa: any computer from the network can ping Android device. But VPN Host with Ubuntu can't ping it.
I tryied to use ordinary ping and arping (from Ubuntu). I checked route table. I've updated ARP table with concrete corresponce between the client IP-address and its MAC-address. With no success.
Due to User Space of SE at Linux there is no separate network VPN adapter for VPN. SE uses its internal realization of VPN network interface adapter. We can't see it via ifconfig and we can't route packets to it from the local machine.
Anyway if I try to connect from Win10 with SE client to the same Virtual HUB I can reach VPN Host with Ubuntu.....

That's not going to be possible and not a problem of Softether. This is also mentioned manual under 3.6.11 and I quote:

imitations within the Linux or UNIX operating system prevent communication with IP addresses assigned to the network adapter locally bridged from the VPN side (Virtual Hub side). The cause of this restriction lies with OS's internal kernel codes rather than with the SoftEther VPN. When wishing to communicate in any form with a UNIX computer used for local bridging from the VPN side (Virtual Hub side), (for instance, when running both the VPN Server / VPN Bridge service & the HTTP Server service and wishing to grant access to the server service from the VPN side as well), prepare and connect a local bridge network adapter and physically connect both it and the existing network adapter to the same segment (as explained in 3.6 Local Bridges, it is recommended to prepare a network adapter for exclusive use in local bridging for this and other situations).

In short, the Linux kernel prevents access to the interface you bridged for your VPN for security reasons as far I have read (had this issue aswell when I was new to SoftEther). The real solution is getting a second network card in the server you use for the VPN. Then you have one interface dedicated to routing internet traffic and the other interface as management where you can SSH into it.
I hope this helps you any further. Note: I'm not a maintainer and/or member of this project, but just a user that runs its own SoftEther VPN server.

In short, the Linux kernel prevents access to the interface you bridged for your VPN for security reasons as far I have read (had this issue aswell when I was new to SoftEther). The real solution is getting a second network card in the server you use for the VPN. Then you have one interface dedicated to routing internet traffic and the other interface as management where you can SSH into it.

I came to the same thought. But my servers are very tiny computers that has integrated CPU, without active cooling and there is no space to install any additional Network Card. So I'm thinking about something like Raspberry or Pine64 maybe with Windows on it. In that case there shouldn't be any troubles.

Windows does indeed not have problem with this. I have run SoftEther VPN Server on a Windows operating system before I transfered over to Linux, due to getting a second NIC for it.

May be it is a worthy thing to try to create a Virtual Network Adapter in Ubuntu and create Local Bridge in SE VPN to this Virtual Adapter?

For whatever it's worth, I've noticed the same thing with my instance running on a RaspberryPi 3.  My only work around was to SSH into another RP running on my network, to then reverse SSH into from the aforementioned.  Which, does work.
It doesn't solve the problem of connecting to my VPN server with the Windows Admin tool, but I can make manual configurations that way if absolutely necessary.

Hi,
Watch this as workaround to the problem: https://www.youtube.com/watch?v=jqRkFKHdz4A
Define a tap device (forget about bridging it to the NIC) and then configure network for the VPN clients behind a NAT.
regards,

Hello everyone! I'm using softether+openhab (domotics) and experiencing the same issue: PI does not respond to any device connected through VPN.
@nickete your solution seems to be feasible but I couldn't figure what configuration is needed. I created the tap device and used the SoftEther secure nat feature. The same behavior as before, I can ping any device in my LAN except my PI. I would greatly appreciate any hints on how to implement it.
Also, I'm wondering why I can't ping the WLAN interface of PI if I'm using the eth interface for a VPN.
Greetings,

I'm interested to look into exactly why the Linux kernel is blocking this.  (I can't believe such a limitation does not exist on a Windows OS).  This issue was driving me insane until I found out the explanation in SoftEther documentation.
Since I can not use a dedicated network card for bridging, I hope there could be another solution that I can use (aside from defining a TAP interface, or reverse SSH`ing using another Raspberry Pi).

Please follow this workaround
https://www.vpnusers.com/viewtopic.php?t=6824

Please follow this workaround
https://www.vpnusers.com/viewtopic.php?t=6824

I try going to this link it does not load

Please follow this workaround
https://www.vpnusers.com/viewtopic.php?t=6824

I try going to this link it does not load

wait it just did after created a GitHub account

test passed on centos7, please use command like 'shutdown -r 3' to keep remote server live.
1.create a tap bridge by use se-managertool , a bridge between a random name tap device and "VPN" hub
2.create a stand bridge, such as 'brctl addbr vpn'
3.up the new bridge ,like 'ifconfig vpn up'
4.(maybe cause link broke) brctl addif vpn eth0
5.dhclient vpn
6.brctl addif vpn "the tap device"
7.done


[Event Request] Table 210 "Job Journal Line" OnValidateUnitofMeasureCodeOnBeforeValidateQuantity

Good Day.
I would like to ask for a new event in OnValidate in the field "Unit of Measure Code" and IsHandled Boolean:

Regards Heiðar

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.


Add rosdoc2 option to specify primary_domain

This option should enable sphinx to land on reasonable defaults for
code highlighting Pygments lexers, as well as other markup behaviors,
depending on the domain of a package (defaults to cpp).
Signed-off-by: Abrar Rahman Protyasha<EMAIL_ADDRESS>

So this PR would allow a user to provide a rosdoc2.yaml file to override and get Python highlighting. If they did not do this, then they would get C++ highlighting, even on Python packages. Is that a correct assessment of the change?

That's right. There's an assumption here about the frequency of C++ packages over Python packages, which is not correct in hindsight.
If the primary_domain/highlight_domain options are not set, the default value is default, which is a pseudo-Python3 syntax highlighting. I don't know if that's ideal either as a default case for rosdoc2.

So this PR would allow a user to provide a rosdoc2.yaml file to override and get Python highlighting. If they did not do this, then they would get C++ highlighting, even on Python packages. Is that a correct assessment of the change?

That's right. There's an assumption here about the frequency of C++ packages over Python packages, which is not correct in hindsight.
If the primary_domain/highlight_domain options are not set, the default values are py and default (basically Python3) respectively. I don't know if that's ideal either as a default case for rosdoc2. If they are set to None, then of course there is no highlighting.

In the case that the user specifies neither a primary_domain/highlight_language in their conf.py configuration nor a primary_domain in rosdoc2_settings (i.e. it is not the case that the user's setting will be overwritten), is there a reasonable default for the domain/language that rosdoc2 could/should configure? The sphinx default value for these options is None/py respectively, which is essentially a pseudo-Python3 syntax. I'm leaning towards a cpp default, but I can't back that up with the relative frequency of ament_cmake packages over that of ament_python packages.
Thoughts?

With ac4a5ea, the current behavior is to not change the primary domain setting in any way unless explicitly specified. However, having extracted build type information in #28, it would make more sense to set the primary domain to cpp/py depending on whether the build type is ament_cmake/ament_python (suggestion in https://github.com/ros-infrastructure/rosdoc2/pull/24#discussion_r683977435). This information can be format mapped to rosdoc2_wrapping_conf_py_template through a template variable.
Thoughts?

However, having extracted build type information in #28, it would make more sense to set the primary domain to cpp/py depending on whether the build type is ament_cmake/ament_python (suggestion in #24 (comment)).

Yes I think so, I was imaging cpp for ament_cmake and not setting anything (using the default) for ament_python. But if the standard practice for Python projects is to manually set it to py then that would be ok for ament_python as well. Basically I think ament_python should do whatever is "normal" for a plain python package.


chore: internal-release -> edge for 0.13.0

This is a mergeback PR for 0.13.0.

This is a pretty rough merge but I can get all the tests and stuff passing.


Support PostgreSQL's ROLLBACK as a NOOP

Use case:
In case a 3rd party tool runs into any kind of error while executing an SQL statement, a ROLLBACK is often performed by the tool as a reaction to the previous error. Because ROLLBACK is unsupported, the error about ROLLBACK then often masks the previous error in the tool's log output and it is difficult to identify the initial error.
See this post as an example.
Feature description:
ROLLBACK is supported as a NOOP, so it doesn't throw an error anymore, masking previous errors and complicating the search for the actual root cause.

I think implementing ROLLBACK as a NOOP would lead to a very surprising behavior. As a user you'd expect any operations done within the transaction to get reverted, but that wouldn't be the case.
I can see two options:

We try to improve the error message by including the previous errors within a transaction
We track if any statement within a transaction succeeded, and if none did, we allow the rollback - given that there is nothing to do.

Why not make ROLLBACK as NOOP a configurable setting?

Why not make ROLLBACK as NOOP a configurable setting?

It's an option, but if enabled it will likely result in subsequent errors because the tool which invoked a rollback expects the changes made in the transaction to get reverted.

This is also relevant for Dataiku, they use the PosgreSQL JDBC driver, and rollback on exception, which fails and masks the original error. Dataiku Enterprise (more expensive - tested on trial) allows to use crate-jdbc 2.6.0 which seems to already implement rollback as a NOOP (or it does not implement it then it is a NOOP?).
Simple repro:
//crate-jdbc 2.6.0 --> no error
//Connection conn = DriverManager.getConnection("jdbc:crate://<IP_ADDRESS>/", "dataiku", "...complexpassword...");

//PostgreSQL JDBC Driver 42.5.0 --> mismatched input 'ROLLBACK'
Connection conn = DriverManager.getConnection("jdbc:postgresql://<IP_ADDRESS>/", "dataiku", "...complexpassword...");

try {
    conn.setAutoCommit(false);
    Statement stmt = conn.createStatement();
    stmt.execute("select 1/0;");
    conn.commit();
} catch (Exception e) {
    conn.rollback();
} finally {
    conn.close();
}


update dependencies

A low priority PR. Feel free to disregard. There are few warnings this update eliminates. I don't know yet the whole context for this project, so maybe there is something that blocks such update.

Thanks! No blockers, I simply focused on other things.


Fix #2368: Support single-arg setTimeout in Rhino

Review by @sjrd

Needs rebase on towards 0.6.10 commit.

LGTM

Refer to this link for build results (access rights to CI server needed):
https://scala-webapps.epfl.ch/jenkins/job/scalajs-pr/3057/
https://scala-webapps.epfl.ch/jenkins/job/scalajs-matrix-build/3967/
Test FAILed.

This can now be rebased on top of master.

Rebased

Refer to this link for build results (access rights to CI server needed):
https://scala-webapps.epfl.ch/jenkins/job/scalajs-pr/3062/
https://scala-webapps.epfl.ch/jenkins/job/scalajs-matrix-build/3974/
Test FAILed.

Needs a binary compat exception:
[error]  * method timeoutSingleArgTest()Unit in trait org.scalajs.jsenv.test.TimeoutTests does not have a correspondent in old version
[error]    filter with: ProblemFilters.exclude[MissingMethodProblem]("org.scalajs.jsenv.test.TimeoutTests.timeoutSingleArgTest")

Note that, as a binary issue, it is definitely legit; it's a breaking change. But it's a source-compatible change, and that's what really matters for the test kit.

Updated and rebased

LGTM

Refer to this link for build results (access rights to CI server needed):
https://scala-webapps.epfl.ch/jenkins/job/scalajs-pr/3076/
https://scala-webapps.epfl.ch/jenkins/job/scalajs-matrix-build/3990/
Test PASSed.

Refer to this link for build results (access rights to CI server needed):
https://scala-webapps.epfl.ch/jenkins/job/scalajs-pr/3075/
https://scala-webapps.epfl.ch/jenkins/job/scalajs-matrix-build/3989/
Test FAILed.


wip: remove complexity

This is the start of larger changes to remove the complexity of this operator. Instead of managing a python api here, we will use ensemble-python that is able to orchestrate ensembles regardless of the operator. The design is simple in that an ensemble is a definition of jobs and rules, where each rule is a trigger and action. Then the operator here simply needs to create the ensemble member (e.g. the flux operator and there will be others) and there is a deployment container service that is a main orchestrator between ensemble members. The ensemble operator only needs to be pinged by the deployment service when there is a request to scale or similar. This design will also afford this deployment handling orchestration between members, which the previous did not allow. This is not fully working yet but I want to put the changes online in case my computer poops.

See my last commit! The tests (builds) still need fixing here, but here is the update:
it's working!

This is so exciting! The ensemble runs, and I realize that we need
a setting in the yaml that is a termination signal - one
that says the library should exit. Right now it just keeps going :)
After that, this PR can merge for a very basic setup, and then I can
write the specific MiniCluster logic that will allow scaling. I will
say it again - this is really exciting.'

And what I need to do to finalize this PR:

update builds so they don't fail
we need a flag that says "exit when you are finished" vs. (default) "wait for more events"
next step is to write the specific minicluster ensemble endpoint that has grow/shrink

Woo! This is going to be a fun weekend, not just for the programming, but adventures too. :mountain:


fix: Send code button should be gray-out with empty or invalid Email …

…or phone
Signed-off-by: MRGUOKING<EMAIL_ADDRESS>Send code button should be gray-out with empty or invalid Email or phone
Signed-off-by: MRGUOKING<EMAIL_ADDRESS>

#113


Update persist-via-run-registry-key.yml

Ryuk uses a command line string (via reg add) to add persistence.  Rather than build a new rule, it felt appropriate to add it to the existing rule targeting Run keys.
Running it on the sample will show the following.  I like how the the full string is returned in the results.
persist via Run registry key
namespace  persistence/registry/run
author<EMAIL_ADDRESS>scope      function
att&ck     Persistence::Boot or Logon Autostart Execution::Registry Run Keys / Startup Folder [T1547.001]
examples   Practical Malware Analysis Lab 06-03.exe_:0x401130
function @ 0x1400070E0
  or:
    and:
      match: create process @ 0x1400073B2
        or:
          api: shell32.ShellExecute @ 0x1400073C9
      string: /C REG ADD "HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" /v "svchos" /t REG_SZ /d  @ 0x1400071C3

I like how the the full string is returned in the results.

yeah, thats great!


Unify duplicate implementation of CAN

What?
There were two implementations of CAN by challenge participants.
If they are indeed the same implementation, we need to merge them into 3 files:

can_layer.py
test_can_layer.py
can_train.ipynb

If they are different implementations, we need to check if one of them can be deleted.
Possible reasons to delete:

not faithful to the research paper introducing CAN,
incomplete implementation.

If we decide to keep both of them, the file names and docstrings should be updated to highlight their difference.
Why?
Because it is confusing to have two implementations of CAN without knowing their difference.
Where?
The files to modify are:

topomodelx/nn/cell/can_layer.py
topomodelx/nn/cell/can_layer_bis.py
test/nn/cell/test_can_layer.py
test/nn/cell/test_can_layer_bis.py
tutorials/cell/can_train.ipynb
tutorials/cell/can_train_bis.ipynb

How?
See for example how the duplicate SCN and SCN2 has been solved and the use of the "See Also" sections in their docstrings.
Additionally:

Rename the Python class ending in _v2 in can_layer.py because:

v2 is not explanatory: it hinders readability
Python classes need to be in CamelCase and without underscore.

Address the comments left by the challenge's participants in can_layer_bis.py`, and copy-pasted again below:

# Some notes - The attention function provided for us does not normalize the attention coefficients. Should this be done?
# Where should we be able to customize the non-linearities? Seems important for the output. What about the attention non-linearities do we just use what is given?
# I wanted to make this so that without attention it ends up being the Hodge Laplacian network. Maybe ask the contest organizers about this?

@ninamiolane
the following note was left on the notebook
Notes:
The attention function provided for us does not normalize the attention coefficients.
Should this be done?
Where should we be able to customize the non-linearities?
Seems important for the output.
What about the attention non-linearities do we just use what is given?
I wanted to make this so that without attention it ends up being
the Hodge Laplacian network.
Maybe ask the contest organizers about this?
I agree on the above. Attention in the base layer is used in different context typically used in the lit.
lit : it means learnable parameter that is multiplied by the original vector during training. Sum = 1 for a given neighborhood(x)
base layer in TopoModelX : a coefficient in the nbhd matrix and it can be +1 or -1 depending on the orientation.
In general the layer is not faithful to the CAN implementation so I recommend deleting it from the package.

Sounds good. The layer that is not faithful to the CAN implementation can be deleted.
Can you open a PR that does it? Once that PR is merged, and the corresponding CAN code is removed, we can mark this task as done.

Completed through PR #192 and PR #182


Customize polling per secret

My understanding is that POLLER_INTERVAL_MILLISECONDS is a global setting: the poller checks all secrets every POLLER_INTERVAL_MILLISECONDS. But it would be nice if KES supported customizing this on a per secret level.
The interface could look something like this:
apiVersion: "kubernetes-client.io/v1"
kind: ExternalSecret
spec:
  pollerInterval: 10

This way, you could have more frequent polling on a subset of your secrets, for example, secrets that may be rotated more frequently or are more sensitive. Or perhaps secrets that you do not want polled could be marked with disablePolling.

refreshInterval will be available in the ESO rewrite as specified by the CRD spec.
I don't think this is something we'll add to KES. Even if it probably would be somewhat easy to fit in the code base.

For this feature I'll point to ESO https://external-secrets.io/, ESO is still flagged as alpha at this time, but this is were implementation efforts are taking place.


Batching connection fix

This change adds error handling to the batching connection handler to recover when memcached crashes or is killed. This was a somewhat large change as most things needed to gain some extra retry logic.

Found a race condition, don't merge yet

race condition fixed in latest commit, should be good to go now


Real Time with Bill Maher

There are no links showing since the most recent updates. Great addon BTW.

I second this. I can find no streams since the update please fix the issue!

Clear cache, and clear sources in Tools


Pricing tiers are not synced with documentation for Free active directory.

Pricing tier shows a limit of 500K objects per directory while docs show 50K objects limit per directory.
Pricing:
https://azure.microsoft.com/en-us/pricing/details/active-directory/
Docs:
https://docs.microsoft.com/en-us/azure/active-directory/users-groups-roles/directory-service-limits-restrictions
Commit which changed the docs but not the pricing:
https://github.com/MicrosoftDocs/azure-docs/commit/9b76f1ce1e3b4d7080574659917e287a2fd4208e
@juntakata

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

ID: 42a0b4cb-1981-1cbc-ce2c-dbfd8af1527c
Version Independent ID: d49c873c-9843-8428-a6d1-a1995067d13b
Content: Service limits and restrictions - Azure Active Directory
Content Source: articles/active-directory/users-groups-roles/directory-service-limits-restrictions.md
Service: active-directory
Sub-service: users-groups-roles
GitHub Login: @curtand
Microsoft Alias: curtand

Thanks for the feedback! We are currently investigating and will update you shortly.

@ali-hamud Thanks for the feedback !  I have assigned this issue to content author to investigate and update the document as appropriate.

Hi @ali-hamud
The PM who originated and verified his information will be back from Parental Leave on October 8. I’ll verify and respond then. Thanks for your information!

Hi @ali-hamud
The 300K figure is verified. I don’t own the pricing page and will try to find out who does. Thanks for the info!!

Hi @ali-hamud
The 300K object limit is a service limit. The 500K figure is for pricing tier definition only. I added a note to this effect to the service limits page.
https://github.com/MicrosoftDocs/azure-docs-pr/pull/106008
#please-close


Make _assimilate_histogram() not use self

NOTE: This is an alternative of PR https://github.com/capitalone/DataProfiler/pull/1073. If this is merged, then close PR https://github.com/capitalone/DataProfiler/pull/1073
Issue: https://github.com/capitalone/DataProfiler/issues/820
This is a necessary step to resolving issue https://github.com/capitalone/DataProfiler/issues/820. Previously, _assimilate_histogram() called self to decide whether the given histogram contained integers or floats, and rounded the bins for histograms that only contained integers.
_assimilate_histogram() is called in exactly two places: _regenerate_histogram() and _add_helper_merge_profile_histograms(). To remove the dependency on self, we can move the code for rounding bin edges to _regenerate_histograms() and add an argument indicating whether the given histogram contains integers or floats.
While _regenerate_histogram() should behave exactly the same as before, the histogram loss calculation in _add_helper_merge_profile_histograms() may change slightly since we no longer round its histogram bins.

Taking a gander at these today -- thanks for the patience, @junholee6a!

@junholee6a just one comment on this from @ksneab7. We opted for this PR over the alternative (closed now). Let us know if you have any questions. Best!

Thanks @junholee6a -- merged


HHH-10416 Drop superfluous immutable-entity cache configuration.

Default to entity cache configuration if undefined.
https://hibernate.atlassian.net/browse/HHH-10416

I'm thinking that we should keep the DEF_IMMUTABLE_ENTITY_RESOURCE but set it to "entity" instead, so that any code that references that constant, won't break.

@pferraro @sebersole what do you guys think?  We probably could do the same for the pr#1208 change as well (for 5.0).  If @sebersole approves, I'll handle the change.

@rvansa feedback from you, is welcome also.  If we don't apply this change, we should add immutable-entities to the WF clustering configuration.

@scottmarlow I've restored this constant for the 5.0 branch and marked as @Deprecated.  That should allow us to remove it for master.

Applied upstream.


New Rules: Attachment and Link PikaBot Februar 2024

@morriscode - wanted to create a second PR for another rule, deleted my commits and closed the latest PR, sorry :D that was not my plan.
The link rule covers the smb link as a link in the body which bypasses some protections from windows/office. Opens the zip directly, exe is inside. This is my first rule which uses linkanalysis, not sure if everything is correct...
The attachment rule covers the office docs with smb links to a javascript file.

Put some notes, and also DM'd you some issues with using LA against SMB shares.


FluentReportsGenerator: Add a way to print the page number on each page

The page number is the big need. "Page X/X". It would be nice to be able to print other things as part of that, like the date and time it was printed. Even something generic like adding a "marginText" object or something like that.

The engine already supports that -- I think I forgot to export it.  But I'll make sure it is accessable in the next version.

This has been exposed as a new element on the toolbar.


Visible seam on smoothed sphere and cylinder shapes

Godot version
3.4.2-stable, v4.0.dev
System information
Windows 11, Vulkan
Issue description
When the Smooth Faces option is enabled on CSG sphere and cylinder shapes, they produce a visible seam at the junction of their first and last radial segment.

Steps to reproduce
Create a CSGSphere3D or CSGCylinder3D object and the seam should be immediately visible. Adding an OmniLight3D close to it can make the seam even more visible.
Minimal reproduction project
No response

Related to https://github.com/godotengine/godot/issues/49800.

Seams no longer occur, however there are still more issues with normals outlined in #49800.

The same problem is present on torus, can be fixed in PR #59002.


Update MongoDB semantics

Updates mongodb semantics

Can you give hyperlinks to traces in Splunk o11y Cloud?

LGTM however it would be good to see how it looks in o11y Cloud to check if it draws the MongoDB on the "service map"

I'll post it here as well.
https://app.signalfx.com/#/apm/traces/10f023939b10fb4c1e1ec70bb537248c


Test

Description

Related Issue

Motivation and Context

How Has This Been Tested?

Screenshots (if appropriate):

/question provide me an Example of (Homogeneous Graph)

\question provide me an Example of (Homogeneous Graph)


high cpu usage for fluxgui

My system occasionally slows down with fluxgui using lots of CPU. This is during the day, so the screen temperature is not being changed.
I'm running latest PPA version on Natty. Any debug info I can provide?

I was about to suggest this. There is a kde plasmoid for it, which does not work so well, but redshift seems to.

Experiencing this on Ubuntu 14.04 64-bit.  Surprised @herf hasn't responded here or fixed this in nearly 4 years.

Basically every bug people currently is due to us doing a very-rough IPC over stdin/stdout. The daemon is pretty reliable running on its own. Currently when one side or the other sends too much data (bigger than the normal backlog) the communication channel either jams up (resulting in no changes after that) or winds up in a spinlock (which is worse and results in the 100% cpu issue).
I have a better version I made for our nascent Android build, based on Linux abstract sockets (didn't do dbus because it's not on all distros). Can backport it if someone wants to take on the GUI-side work.

I would love to go a GUI rewrite in something like nw.js, atom or thrust, split of the GUI and the control API into separate components.

Same problem here with F.Lux on Ubuntu 14.04 64-bit and with previous versions. Fluxgui sporadically ate up my battery and I can confirm the relation to the suspend mode.
After a year I had to switch back to Redshift which is stable. If you want to change the color tone, the location provider or other settings, check the Configuration file explanation/example on the Redshift website.

@herf in the meantime, where is the shonky IPC over a pipe ?

I found that xflux was using CPU 3 and 4 up to 100% alternately. This was really heating up my Lenovo x220i laptop. The fan was on 100%. I learned that heat can damage Li ion batteries. So I killed the xflux process and it stopped the heating. My advice is to uninstall f.lux.

Same error using Awesome window manager.   (Mostly because ${PROJECT_YOU_LIKE_TO_USE} has far less people working on it than you'd imagine, and even less with the time to fix bugs.

I do understand, but 5 years for such an obnoxious bug is a lot too much. I don't really care by now, I switched to redshift.

I also switched to redshift, which has it's own problems.   Had a a lot of time last year to dive in and fix problems on open source projects, and it does indeed take quite a bit of time to investigate and fix these things, hence most things are broken in software :/


Reset the swap values layout

from
to

The font size seem to have changed too

Somehow the CSS declaration for font size was overwritten in #1105, restored in d8b3732


Model Event-Efficiency Statistic

a statistic that calculates, on average, how many events are created per event processed. Can be used during model development to understand if a model has an unstable event population.

Thanks Elsa!
I suspect it's just events scheduled / events processed except that each
rank could have its own value
and all ranks need to be at just slightly above 1 otherwise a rank will run
out of memory ...
If we output rank 0's value, we should be good by default ...but for
complex, unbalanced models, we
may need options for more detailed outputs across the ranks ...ideas ??
Thanks,
Chris
On Tue, Jul 21, 2015 at 3:00 PM, Elsa Gonsiorowski<EMAIL_ADDRESS>
wrote:

a statistic that calculates, on average, how many events are created per
event processed. Can be used during model development to understand if a
model has an unstable event population.
—
Reply to this email directly or view it on GitHub
https://github.com/carothersc/ROSS/issues/54.

--
Christopher D. Carothers
Director, Center for Computational Innovations
Professor, Department of Computer Science
Rensselaer Polytechnic Institute
110 8th Street
Troy, New York 12180-3590
e-mail<EMAIL_ADDRESS>web page: www.cs.rpi.edu/~chrisc http://www.cs.rpi.edu/~chrisc
phone:<PHONE_NUMBER>
fax:<PHONE_NUMBER>

Is the intention to simply capture stats on how many tw_event_send's are being called per-event? If so, then a scheduled/processed stat would be misleading, as scheduled would include events that are eventually rolled back, which ends up tying the stat to ROSS efficiency.
Having ROSS efficiency per-LP would be a Good Thing (tm), though...
From: Chris Carothers <notifications<EMAIL_ADDRESS>Reply-To: carothersc/ROSS <reply<EMAIL_ADDRESS>Date: Tuesday, July 21, 2015 at 3:31 PM
To: carothersc/ROSS <ROSS<EMAIL_ADDRESS>Subject: Re: [ROSS] Model Event-Efficiency Statistic (#54)
Thanks Elsa!
I suspect it's just events scheduled / events processed except that each
rank could have its own value
and all ranks need to be at just slightly above 1 otherwise a rank will run
out of memory ...
If we output rank 0's value, we should be good by default ...but for
complex, unbalanced models, we
may need options for more detailed outputs across the ranks ...ideas ??
Thanks,
Chris
On Tue, Jul 21, 2015 at 3:00 PM, Elsa Gonsiorowski <notifications<EMAIL_ADDRESS>
wrote:

a statistic that calculates, on average, how many events are created per
event processed. Can be used during model development to understand if a
model has an unstable event population.
—
Reply to this email directly or view it on GitHub
https://github.com/carothersc/ROSS/issues/54.

--
Christopher D. Carothers
Director, Center for Computational Innovations
Professor, Department of Computer Science
Rensselaer Polytechnic Institute
110 8th Street
Troy, New York 12180-3590
e-mail: chris.carothers<EMAIL_ADDRESS>web page: www.cs.rpi.edu/~chrisc http://www.cs.rpi.edu/~chrisc
phone:<PHONE_NUMBER>
fax:<PHONE_NUMBER>
—
Reply to this email directly or view it on GitHubhttps://github.com/carothersc/ROSS/issues/54#issuecomment-123469271.


Extracting face pose transformation matrix in FaceMesh

I am using FaceMesh in combination with the python colab. I successfully managed to extract landmark points on a custom face photo. I would now like to transform the landmarks back to the canonical face model (to transfer to other faces).
Describe the expected behavior:
I would like to get the matrix transforming from the custom face coordinates to the canonical one, such that if I apply the matrix transformation to the landmarks I found I would get vertex positions P. When moved the vertices in the canonical face model mesh to these positions, the canonical face should show the same pose as the custom face.
System information (Please provide as much relevant information as possible)

Have I written custom code (as opposed to using a stock example script provided in Mediapipe): no
OS Platform and Distribution (e.g., Linux Ubuntu 16.04, Android 11, iOS 14.4): unrelated, Debian Linux
MediaPipe version: using mediapipe-<IP_ADDRESS>-cp37-cp37m-manylinux_2_17_x86_64 build.
Bazel version: unrelated, I don't know.
Solution (e.g. FaceMesh, Pose, Holistic): FaceMesh
Programming Language and version ( e.g. C++, Python, Java): python

Hi @sygi, In Python it need huge coding  and we don't have any plans as of now.

Hello @sygi , I guess that the answer you're looking for might be in this post. I already discussed this issue (for the C++ implementation) with @kostyaby. You'll find more interesting issues in the same thread.


Patch fails to apply on drupal/decoupled_router

I've recently noticed that I'm getting an error when applying one of the recommended patches
    https://www.drupal.org/files/issues/2021-05-05/3111456-34.patch (Unable to resolve path on node in other language than default)
   Could not apply patch! Skipping. The error was: Cannot apply patch https://www.drupal.org/files/issues/2021-05-05/3111456-34.patch

I've not noticed any issues though.

I've updated the patch for decoupled_router and also added a note when not using multilingual features.
Thanks for the heads up.
Marking this as completed.


Fix orthographic mistakes

Thank you @v-kolesnikov!  @brain-geek / @nscyclone could one of you take a peek at this?

Thanks, @v-kolesnikov !


fix: explicitly close gRPC channel when cycling idle client

Prior to this commit we didn't ever have an explicit call to close
the gRPC channel; in cases where we are cycling the client out
due to reaching the idle timeout, this could leave open sockets /
file descriptors behind.  This commit updates the code to explicitly
close the channel when replacing the client.

@pgautier404 I haven't tested this thoroughly, would appreciate if you could test it before we merge.