heads up kurbenetes 1.12.0 release supports docker version 18.06 external dependencies

what version of kurbenetes is rancher 2.0 supporting?
kurbenetes version 1.12.0 supports docker 18.06 version
changelog outdated information issue
https://github.com/kubernetes/kubernetes/issues/69216
kurbenetes 1.12.0  changelog below
https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG-1.12.md#external-dependencies
External Dependencies
The list of validated docker versions was updated to 1.11.1, 1.12.1, 1.13.1, 17.03, 17.06, 17.09, 18.06. (#68495)

All changes for k8s 1.12 support are tracked here https://github.com/rancher/rancher/issues/15872. 1.12 will be experimental in v2.1

thanks


Swift 2.0

Updated branch with master, (needed to be up to date with the latest Mappable protocol

I'm guessing travis can't figure out the new syntax? It worked fine on my local build server (osx server beta)


rewrite: multiple anchors error should show file/line number

It only references the make.jl.

Yeah, that would be nice to have. I think we are storing the file name at least. Line numbers should be doable using the new @__LINE__, but docstrings currently don't track which line they're written on.

From https://github.com/MichaelHatherly/Docile.jl/issues/160#issuecomment-146775237:
If you use the @{..} syntax, then when running the error is in the make.jl file.
ERROR: LoadError: ParseError("extra token \"asdsa\" after end of expression")
 in parse at parse.jl:180
 in parseblock at /Users/andy/.julia/v0.5/Docile/src/Utilities.jl:168
 in anonymous at /Users/andy/.julia/v0.5/Docile/src/DocTree.jl:360
 in exec at /Users/andy/.julia/v0.5/Docile/src/DocTree.jl:180
 in expand! at /Users/andy/.julia/v0.5/Docile/src/DocTree.jl:168
 in expand! at /Users/andy/.julia/v0.5/Docile/src/DocTree.jl:151
 in anonymous at /Users/andy/.julia/v0.5/Docile/src/Builder.jl:116
 in cd at file.jl:22
 in makedocs at /Users/andy/.julia/v0.5/Docile/src/Builder.jl:87
 in include at ./boot.jl:261
 in include_from_node1 at ./loading.jl:304
while loading /Users/andy/.julia/v0.5/myproj/doc/make.jl, in expression starting on line 4

It's not shown what file this is from. if possible the line number (of the block) would be very useful to work out where to fix the parse error.


Method ReflectionParameter::getClass() is deprecated Bug:

Terms

[X] I have read the guidelines for Contributing to Roots Projects
[X] This request is not a duplicate of an existing issue
[X] I have read the docs and followed them (if applicable)
[X] I have seached the Roots Discourse for answers and followed them (if applicable)
[X] This is not a personal support request that should be posted on the Roots Discourse community

Description
What's wrong?
I found Bedrock and Sage days ago so I'm  trying to use them to develop a custom Wordpress theme.
I set up a new development environment wit Local-WP. The web server is Nginx, PHP Version: 8.1.9 and MySQL 8.0.16.
Then when I open the site I see all these errors

What have you tried?
I downgrade the PHP Version to <IP_ADDRESS> and all those error disappeared but I read the life cicle of tis version ended on November of last year.
What insights have you gained?
Possible solutions
Temporary workarounds
Steps To Reproduce

Add a new Local site
Download Bedrock
Download Sage
Open the site

you can follow the tutorial below to install bedrock with local.
https://www.youtube.com/watch?v=J6-zK4JvLXE&t=276s
Expected Behavior
to develop without any issues
Actual Behavior
those error messages
Relevant Log Output
Deprecated: Return type of Illuminate\Container\Container::offsetExists($key) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /Users/jetdesign/Local Sites/bowman-ingredients/app/bedrock/web/app/themes/bowman/vendor/illuminate/container/Container.php on line 1197

Deprecated: Return type of Illuminate\Container\Container::offsetGet($key) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /Users/jetdesign/Local Sites/bowman-ingredients/app/bedrock/web/app/themes/bowman/vendor/illuminate/container/Container.php on line 1208

Deprecated: Return type of Illuminate\Container\Container::offsetSet($key, $value) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /Users/jetdesign/Local Sites/bowman-ingredients/app/bedrock/web/app/themes/bowman/vendor/illuminate/container/Container.php on line 1220

Deprecated: Return type of Illuminate\Container\Container::offsetUnset($key) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /Users/jetdesign/Local Sites/bowman-ingredients/app/bedrock/web/app/themes/bowman/vendor/illuminate/container/Container.php on line 1233

Deprecated: Return type of Illuminate\Config\Repository::offsetExists($key) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /Users/jetdesign/Local Sites/bowman-ingredients/app/bedrock/web/app/themes/bowman/vendor/illuminate/config/Repository.php on line 141

Deprecated: Return type of Illuminate\Config\Repository::offsetGet($key) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /Users/jetdesign/Local Sites/bowman-ingredients/app/bedrock/web/app/themes/bowman/vendor/illuminate/config/Repository.php on line 152

Deprecated: Return type of Illuminate\Config\Repository::offsetSet($key, $value) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /Users/jetdesign/Local Sites/bowman-ingredients/app/bedrock/web/app/themes/bowman/vendor/illuminate/config/Repository.php on line 164

Deprecated: Return type of Illuminate\Config\Repository::offsetUnset($key) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /Users/jetdesign/Local Sites/bowman-ingredients/app/bedrock/web/app/themes/bowman/vendor/illuminate/config/Repository.php on line 175

Deprecated: Method ReflectionParameter::getClass() is deprecated in /Users/jetdesign/Local Sites/bowman-ingredients/app/bedrock/web/app/themes/bowman/vendor/illuminate/container/Container.php on line 826

Deprecated: Method ReflectionParameter::getClass() is deprecated in /Users/jetdesign/Local Sites/bowman-ingredients/app/bedrock/web/app/themes/bowman/vendor/illuminate/container/Container.php on line 900

Warning: Private methods cannot be final as they are never overridden by other classes in /Users/jetdesign/Local Sites/bowman-ingredients/app/bedrock/web/app/themes/bowman/vendor/soberwp/controller/src/Controller.php on line 111

Warning: Private methods cannot be final as they are never overridden by other classes in /Users/jetdesign/Local Sites/bowman-ingredients/app/bedrock/web/app/themes/bowman/vendor/soberwp/controller/src/Controller.php on line 135

Warning: Private methods cannot be final as they are never overridden by other classes in /Users/jetdesign/Local Sites/bowman-ingredients/app/bedrock/web/app/themes/bowman/vendor/soberwp/controller/src/Controller.php on line 167

Warning: Private methods cannot be final as they are never overridden by other classes in /Users/jetdesign/Local Sites/bowman-ingredients/app/bedrock/web/app/themes/bowman/vendor/soberwp/controller/src/Controller.php on line 180

Warning: Private methods cannot be final as they are never overridden by other classes in /Users/jetdesign/Local Sites/bowman-ingredients/app/bedrock/web/app/themes/bowman/vendor/soberwp/controller/src/Controller.php on line 220

Warning: Private methods cannot be final as they are never overridden by other classes in /Users/jetdesign/Local Sites/bowman-ingredients/app/bedrock/web/app/themes/bowman/vendor/soberwp/controller/src/Controller.php on line 260

Warning: Private methods cannot be final as they are never overridden by other classes in /Users/jetdesign/Local Sites/bowman-ingredients/app/bedrock/web/app/themes/bowman/vendor/soberwp/controller/src/Controller.php on line 281

Deprecated: trim(): Passing null to parameter #1 ($string) of type string is deprecated in /Users/jetdesign/Local Sites/bowman-ingredients/app/bedrock/web/wp/wp-includes/class-wp.php on line 173

Deprecated: ltrim(): Passing null to parameter #1 ($string) of type string is deprecated in /Users/jetdesign/Local Sites/bowman-ingredients/app/bedrock/web/wp/wp-includes/wp-db.php on line 3030

Deprecated: Return type of Illuminate\View\View::offsetExists($key) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /Users/jetdesign/Local Sites/bowman-ingredients/app/bedrock/web/app/themes/bowman/vendor/illuminate/view/View.php on line 308

Deprecated: Return type of Illuminate\View\View::offsetGet($key) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /Users/jetdesign/Local Sites/bowman-ingredients/app/bedrock/web/app/themes/bowman/vendor/illuminate/view/View.php on line 319

Deprecated: Return type of Illuminate\View\View::offsetSet($key, $value) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /Users/jetdesign/Local Sites/bowman-ingredients/app/bedrock/web/app/themes/bowman/vendor/illuminate/view/View.php

Versions
PHP Version: 8.1.9 and MySQL 8.0.16, Sage v10.5.1, Bedrock  v1.22.0

This has to do with your local environment and is not a bug in Sage. I do not use Local WP, but the problem is likely due to you installing dependencies with your local terminal instead of through Local's SSH/container thus having mis-matched PVP versions.
Please make a post on Discourse for support if my above tip doesn't help.


Feature Request: Optional setting to automatically update extensions

VSCode might benefit from automatically applying updates for extensions, rather than requiring the user to kick off extension updates. I often see the notification pop up on the extensions icon, asking me to update several extensions, and kind of wish that it was just a notification to restart, because the updates had already been applied in the background.
Any thoughts? Pros / cons?
Cheers,
Trevor Sullivan
Docker Captain
Microsoft MVP: Cloud & Data Center Management
https://trevorsullivan.net
https://twitter.com/pcgeek86

David Wilson pointed out that this feature is already available.
https://twitter.com/daviwil/status/830484273282945025
https://code.visualstudio.com/Docs/editor/extension-gallery#_auto-update-extensions


Having a modal in the last step of a tutorial is confusing

Describe the bug
For the editor tour tutorial, the last step is a modal, so when I click 'OK', it takes me to a blank tutorial step, which looks weird
The step:

After 'OK':

Desktop (please complete the following information):

OS: ChromeOS

Fixed by copying the pxt-arcade version into pxt-skillmap-sample:
https://github.com/microsoft/pxt-skillmap-sample/pull/46


Problem_info.txt not generated.

I am trying to generate an MTL model with two problems by copying the example from the Tutorial, but changing the task names and order ('seq_tag' first and 'cls' after). When I try to run the code (just like in the tutorial) to train the model I get the following error:
KeyError                                  Traceback (most recent call last)
[<ipython-input-15-d96ce789aae6>](https://localhost:8080/#) in <module>()
      5     problem_type_dict=problem_type_dict_s,
      6     processing_fn_dict=processing_fn_dict_s,
----> 7     continue_training=False
      8 )

3 frames
[/usr/local/lib/python3.7/dist-packages/m3tl/base_params.py](https://localhost:8080/#) in get_problem_info(self, problem, info_name)
    623                        "    1. path {1} exists. this is usually created when creating tfrecord for problem. \n"
    624                        "    2. {0} exists in 'problem_info' key of {2}. ".format(problem, problem_info_json_path, self.params_path))
--> 625             raise KeyError(err_str)
    626
    627         if info_name is None:

KeyError: "cannot get t2s_ner_t2s_topic's problem info, seems you have not created tfrecord for problem. \nplease make sure either: \n    1. path tmp/t2s_ner_t2s_topic/problem_info.txt exists. this is usually created when creating tfrecord for problem. \n    2. t2s_ner_t2s_topic exists in 'problem_info' key of models/t2s_ner_t2s_topic_ckpt/params.json. "

I am running the code in a Colab (I do not know if this is important).
If I generate the problem_info.txt file manually, then the  model is trained without any problem. Is it done that the problem_info.txt has to be created manually, am I supposed to do something that is not included in the tutorial or is something not properly working?

It's supposed to be created automatically. Could you provide a run-able example?
My first guess is that the function name of pre-processing function is not the same as its problem name.

I think I was able to solve the problem. I was defining the problem, problem type and pre-processing functions properly, but it seems that I had to register the new. problem in the params. For that I used the following code:
params.register_problem(problem_name='t2s_ner_1', problem_type='seq_tag', processing_fn=t2s_ner_1)
params.register_problem(problem_name='t2s_re_1', problem_type='seq_tag', processing_fn=t2s_re_1)
´´´


Prevent scrolling of story when reaching the end of the code subject

(first thanks for the great library, it helps a lot in creating interactive code guides!)
While scrolling longer portions of code in the Subject view, if the end of the code is reached the main document scroll down, and the user loses sight of the code because the next code block is already rendered.
Is there a way to prevent the scrolling of the main document while scrolling inside the right column?
The situation can be reproduced here.
I have tried to set the following wrapper around the the Story, like:
function ScrollWrapper({ children }) {
    const ref = useRef(null);

    function onMouseEnter() {
        ref.current.classList.remove('no-scroll');
    }
    function onMouseMove() {
        ref.current.classList.remove('no-scroll');
    }
    function onMouseLeave() {
        ref.current.classList.add('no-scroll');
    }
    function onClick() {
        ref.current.classList.remove('no-scroll');
    }

    return (
        <div
            onMouseEnter={onMouseEnter}
            onMouseLeave={onMouseLeave}
            onClick={onClick}
            onMouseMove={onMouseMove}
            ref={ref}
        >
            {children}
        </div>
    );
}

.no-scroll {
  overflow: hidden;
}

And:
<ScrollWrapper>
    <Nav />
    <Story.Root>
        <Story.Content></Story.Content>
        <Timeline.Root></Timeline.Root>
    </Story.Root>
</ScrollWrapper>

But when the overflow property is toggled on the div wrapper, a scroll reflow happens and scroll the Story back to the top the data-scrolled attribute of the .jo-player wrapper is set back to false also.
I've also checked inside Codemirror configuration, with no success.
It would be great to configure this as a component option in the future.
EDIT: I managed to achieve this by rearranging the components a little bit, and by targeting the .ko-player element via querySelector. Dirty, but it works.

Thanks for the feedback. I agree that scrolling the code view (when it overflows) should never lead to the story being scrolled.

Sorry forgot to add the solution link - you can find it here


Add support to change Wine Cooler light on/off

Hi, first of all - thank you for your great work, I was really surprised that my recently purchased Wine Cooler (HWS42GDAU1) is actually supported by this component 👍
It works great - I can read all the sensors:

What it would make it even better - if it was possible to turn the light on and off from within HA. It would be a great addition to lighting automations (you enter the room, wine cooler's light goes on...).
If there's anything I can do here to help, just let me know (basic programming experience).

Hi, I've added a generic ligh service in this repo: https://github.com/gvigroux/hon/tree/Full-rework
Can you try ?

Unfortunately, there are still no entities that could be switched on/off:

It did change comparing to previous version:

but all the entities are still sensors, light did not change to switch.
Thanks a lot for trying though :-). I'm sure it can be done, and I am ready to help testing.

I've updated the main branch so you can try from there.
You have 2 services to start and stop the lights :) but it's still not a button.

I've updated the main branch so you can try from there.
You have 2 services to start and stop the lights :) but it's still not a button.

What a great support! ;-)
Indeed, there are services to be called, I've checked hon.turn_light_on and it works flawlessly. Looks like turn_light_off still needs a little bit of tweak, it doesn't do anything. Can you have a second look at it? Perhaps I can send a custom request but I don't know the schema to follow.

OUPS, light_off should works now :)

@gvigroux thank you a million!
I'm waiting for a change to propagate :-).

Done! Sorry it was stuck on my side

@gvigroux I'm going to say that again - what a support!
Everything works like a charm :-).
You can add it to fully supported list:
Device info
HWS42GDAU1
by haier
Firmware: 5.12.0

Thanks :)

@gvigroux I'm not sure when exactly, but this service (light on/off) stopped working with unknown error. Are there any information that I could provide to help you figure it out why it's not working?
Tried from NodeRed ("Call-service error. cannot access local variable 'json' where it is not associated with a value") and Developer Tools in HA ("Failed to call service hon.turn_light_on. Unknown error").
I'm on the newest available version of the add on.

Let me look at it

@TroLoos, it should work again now :) Can you please test ?

@gvigroux yes, you got it right! Works like a charm again.
Thank you!

Perfect :)


Add vanilla-js topic

Thank you for contributing! Please confirm this pull request meets the following requirements:

[X] I followed the contributing guidelines: https://github.com/github/explore/blob/master/CONTRIBUTING.md
[X] I have no affiliation with the project I am suggesting (as a maintainer, creator, contractor, or employee).

Which change are you proposing?

[ ] Suggesting edits to an existing topic or collection
[X] Curating a new topic or collection

Curating a new topic or collection

[X] I've formatted my changes as a new folder directory, named for the topic or collection as it appears in the URL on GitHub (e.g. https://github.com/topics/[NAME] or https://github.com/collections/[NAME])
[X] My folder contains a *.png image (if applicable) and index.md
[X] All required fields in my index.md conform to the Style Guide and API docs: https://github.com/github/explore/tree/master/docs

I believe this topic should be curated because the topic already has over a thousand public repositories and it is well known in the web development world. In addition, projects using vanilla JavaScript also appeal to a certain crowd of people, a crowd separate from those using popular frameworks like React, Vue, or Angular.

💯 🍨 Thank you for your contribution!


What happened?
https://github.com/apache/beam/actions/runs/3690463659/jobs/6247487642

Task :sdks:java:harness:jmh:test
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by org.github.jamm.MemoryMeterBase (file:/home/runner/.gradle/caches/modules-2/files-2.1/io.github.stephankoelle/jamm/0.4.1/df04e7daebba29088daaf1a00f103863b9df61c2/jamm-0.4.1.jar) to field java.lang.String.value
WARNING: Please consider reporting this to the maintainers of org.github.jamm.MemoryMeterBase
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release

org.apache.beam.fn.harness.jmh.ProcessBundleBenchmarkTest > testStateWithCaching FAILED
java.util.concurrent.ExecutionException at ProcessBundleBenchmarkTest.java:54
Caused by: java.lang.RuntimeException at ProcessBundleBenchmark.java:175
Caused by: java.lang.RuntimeException at UnboundedScheduledExecutorService.java:316
Caused by: java.lang.InterruptedException at FutureTask.java:418
15 tests completed, 1 failed
FAILURE: Build failed with an exception.

What went wrong:
Execution failed for task ':sdks:java:harness:jmh:test'.

There were failing tests. See the report at: file:///home/runner/work/beam/beam/sdks/java/harness/jmh/build/reports/tests/test/index.html

Issue Failure
Failure: Test is flaky
Issue Priority
Priority: 1 (unhealthy code / failing or flaky postcommit so we cannot be sure the product is healthy)
Issue Components

[ ] Component: Python
[X] Component: Java
[ ] Component: Go
[ ] Component: Typescript
[ ] Component: IO connector
[ ] Component: Beam examples
[ ] Component: Beam playground
[ ] Component: Beam katas
[ ] Component: Website
[ ] Component: Spark Runner
[ ] Component: Flink Runner
[ ] Component: Samza Runner
[ ] Component: Twister2 Runner
[ ] Component: Hazelcast Jet Runner
[ ] Component: Google Cloud Dataflow Runner

.add-labels beam-fixit

.take-issue

Seems the issue template autolabeler applies the label "flaky" though we standardize on "flake" (because flaky vs flakey is a source of typo confounding in my brain)


Test overwrite registry feature and image loader script -- Test Release 1.4

Instructions:

Download the latest KubeOne 1.4.0 release candidate
Follow the Create a Kubernetes cluster tutorial to create your cluster on AWS

Before running kubeone apply, set up the registry mirror on the bastion node:

SSH to the bastion node
Install Docker or containerd (you can follow the official Docker/containerd tutorial)
Run Docker Registry as described in the Docker Registry document

For simplicity, use the host network by adding —network=host to the dcoker run command

Run the image loader script provided in the KubeOne release archive

Example: KUBERNETES_VERSION=1.23.3 TARGET_REGISTRY=<IP_ADDRESS>:5000 ./image-loader.sh
Before running the script, make sure to replace the Kubernetes version with the appropriate version

After the script is done, edit the KubeOneCluster manifest to add the following stanza:…
registryConfiguration:
  overwriteRegistry: “<bastion-private-ip>:5000”
  insecureRegistry: true

Run kubeone apply as described in the tutorial

Wait for machine-controller-managed nodes to join the cluster
Ensure all pods are Running
Ensure that all pods deployed by KubeOne are using images from the registry mirror

All images should use <bastion-private-ip>:5000 as the registry instead of original registries

Works as expected.


option to disable Prism in MarkMap autoloader

I really like MarkMap and one of our community members has added it as an option in Docsy using the MarkMap autoloader. https://www.docsy.dev/docs/adding-content/diagrams-and-formulae/#mindmap-support-with-markmap
The only small issue we have is that we use Chroma as our default syntax highlighter, with the option to switch to Prism. However, because MarkMap loads the Prism files by default, if you have a MarkMap diagram and fenced code blocks in the same page, code blocks on that page always use Prism, regardless of what highlighter the user has chosen for the rest of their site.
See: https://github.com/google/docsy/issues/729
Could there be any way to configure/toggle Prism highlighting in MarkMap for our Chroma users (or at least those Chroma users who have code blocks and MarkMap diagrams in the same page)?

Hi, thanks for the suggestion. This is possible in the latest<EMAIL_ADDRESS>now, see the demo here.


Add support for select elements with the multiple attribute

Example of markup that isn’t supported:
<select multiple="multiple">
  <option>Option One</option>
  <option>Option Two</option>
  <option>Option Three</option>
  <option>Option Four</option>
</select>

Selectability will generate the following markup based on the above:

Selectability also doesn’t add the selectability-offscreen class to the select element in this case.

It doesn't just fail, it deliberately crashes. That was an explicit design decision at the time; it may be worth revisiting now.

I've assigned this to you -- we'll need some background research first. If you can, do you mind pointing Accessibility Inspector at a few <select multiple> widgets in browsers and reporting on how they're presented?


Validation error i AppSource when using extended field in No. Series table.

Description:
I have two apps i AppSource. A base application and an extra module, which is dependent on the first app.
The base application adds a field called "Customer Templ. Code L365" to the standard table 308 No. Series. The module app uses this new field.
I released a new version of the module app two weeks ago without problems. But when I try to release an update today, I get an error from AppSource.
Diagnostic code AL0132
Diagnostic message: 'Record "No. Series"' does not contain a definition for 'Customer Templ. Code L365'
Validation request id: fea47eef-de76-4956-b7fa-2a84fdaa8279
I have not changed the table extension or the code accessing the extended field since the app last passed validation.

@kalberes, why was this issue transferred to the BCApps repository? This issue doesn't strike me as something @tomddlc can do anything about by himself through a pull request against the Business Foundation?
@tomddlc, maybe this should be a support case (aka.ms/bcsupport)? At least I don't think your issue will get much traction here ☹


Get Enmasse credentials and put it in the store

Description
In order to retrieve the Enmasse credentials, a service binding needs to be created. This creates a secret which holds the Enmasse credentials.
The following changes includes:

Creation of an Enmasse service binding once the Enmasse service has been provisioned
Addition of a watch which watches the secrets to get the Enmasse credentials

ping @aidenkeating  @witmicko


Identity Architecture

This ticket discusses the WSO2 Asgardeo architecture for the Avinya Technology stack.

@samisa-abeysinghe and I had an initial discussion on 9/30. We decided that there will be a single Avinya Organization, and we will model internal organization structure with groups. We will then persist a 1:1 mapping between groups and roles to specify permissions.
Open questions for the WSO2 Support team call this afternoon:

What are the user store limits in Asgardeo?

Are group attributes possible? Where do we attach these? If not, what is the best approach for enabling this functionality?

We have an customer (student) lifecycle; Prospect -> Applicant -> Student -> Alumni. What is the best method to model this? Each of the stages in the lifecycle have different interaction behaviors.

For example, Prospects do not require a login, but we must be able to coalesce the Prospect profile with an Applicant profile when the customer fills out an application. What is the best method to utilize the Asgardeo user store to enable this behavior?

Is the correct approach to model group-level permissions to have a 1:1 mapping between Asgardeo Groups and roles?

What is the correct method to determine which user group (and in turn, which role) to utilize for a given application, when a user that is a member of multiple groups attempts to access an application that exposes different levels of visibility?

Zanzibar: Google’s Consistent, Global Authorization System

Related: http://static.googleusercontent.com/media/research.google.com/en/us/pubs/archive/43231.pdf

We have multiple user types.

Organizations

Foundation
Acadamy(s)

Application stack

Front-end <=> BFF <=> global data API

Employees of these organizations would belong to the same workspace with different domains
Every employee will have a Google account

Every employee will have an Asgardeo account
Need to map to groups

Executive, academic, staff etc
	Need to map to roles and permissions
•	Apps – HR admin, employee portal etc
•	What can they do in each app? – permissions
•	Roles and permissions would be mapped at the global data API level
Login, auth, and permissions flow
User sign-in into the system with Google federation
Signed-in User needs to be mapped to Asgadeo user ID
How can we do this?

Can we identify the users with the OpenID tokens we receive at user sign-in?
What are the API calls required & with what endpoints?
How can we fetch the groups the user belong to?
Signed-in user ID mapped to the group, role, and permissions at the global data API level

Applicats for jobs would require accounts to follow up on the application status

Cannot provide Google accounts for them
Can they be federated to personal google ID?
What is the best practice for creating them accounts in Asgardeo user store?

User activity analytics

The user/group of IDP works at the SCIM API level.
We can use that to get the job done in terms of group membership, user add/group add, and group membership (that is, add, remove users to groups) update logic


Merge 4.2.1

Codecov Report

Merging #534 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #534   +/-   ##
=======================================
  Coverage   57.85%   57.85%
=======================================
  Files        1062     1062
  Lines       34453    34453
  Branches     4904     4904
=======================================
  Hits        19932    19932
  Misses      14521    14521


[QA] Sound Settings Not Affecting Scene Audio

Explorer Alpha build versions:

v0.29.0

Issue Description:
In certain scenes with their own audio, such as Casa Roustan (37,-114) or Doll House (-102,-97), the in-game sound settings do not control the scene's audio. The volume should be adjustable through the sound settings but currently remains unaffected.
📌 Notes

The issue affects scenes with their own audio implementation, independent of global sound settings.

STR:

Launch the explorer.
Go to Casa Roustan (37,-114) or Doll House (-102,-97).
Open the settings menu and adjust the sound settings to lower the volume.
Observe the audio from the scene.

❌ Actual Result
The scene's audio remains unaffected by the sound settings, and the volume does not decrease.
https://github.com/user-attachments/assets/c8f31199-a80e-4ba7-9840-1b966dcdcd57
✅ Expected Result
The sound settings should adjust the audio for all in-scene sounds, allowing the user to lower or mute it.
Additional Notes:
Windows 11. 12th Gen Intel(R) Core(TM) i7-12650H 2.30 GHz. nvidia geforce RTX
Macbook M1 Pro Sonoma 14.5

I noticed that on Windows the audio coming from the scene is routed through the "World" channel but on Mac is not, looks like it comes from another source

@davidejensen
Basically all starts here -> AudioSourcesPlugin.cs
Seems like as Lorenzo said, the audioMixerGroup is not being assigned correctly.
This value is obtained from the asset audioMixer stored in the settings of the Plugin.
Then in UpdateAudioSourceSystem this happens
audioSourceComponent.SetAudioSource(audioSourcesPool.Get()!, (worldGroup is { Length: > 0 } ? worldGroup[0] : null)!);
which should assign the correct group... but apparently it doesnt in Mac 🤷
So the issue could be that the reference is lost on Mac or that for some reason this group in Mac has a different Lenght? or is somehow different...


Feature: Add offhand gem leveling

I find I fiddle a lot with the gem setups, as the build I usually start with  (Kay's Summoner) have you picking up gems to level up, before you need them.
This is no issue in the early levels, but as you start to have several 3 or 4-links, I don't have room to put the gems I need to level up.
Secondly I think it would be a nice addition to have a section to put gems that does not need links.
This way I don't need to use 6 lines in a 6L slot, to show they are individual gems and does not require linking.

I'm not worried about the gems that don't require linking, since if I added more slots for them it could run off the screen. But you are correct that if you are using every single gem slot and also need 6 gems in your weapon swap there is no place for it. I don't have time to add this before 3.12 but I'll start thinking about how I would redesign this to hold more gems.

I have added more gems for each slot instead of a specific off hand section. This allows for more notes or gems throughout the leveling process


Not handling reject response correctly when multiple recipients

Similar issues found
#3616
Root Cause
My mail server is enforcing a 'reject' rule on unknown recipient domain. So any email containing unknown domain will not be accepted.
It works with other MUA I tested, and indeed the 450 error is raised and no mail is sent until the list of recipients is sanitized.
In the case of K9-Mail, I end up with a mangled header missing multiple fields (From / Date) and with an 'unexpected end of header'.
For Googlemail, the server respond waving RFC 5322 and refuse to accept the email.
Others will discard and send a report to the recipient regarding the bad formatted email, and Outlook/Microsoft will accept it but it will be blank for the recipient.
On K9-Mail side, the email will be stuck forever in the Outbox, trying to resend the botched email every now and then, never succeeding (as expected).
Expected behavior
Whenever a recipient is rejected, the MUA should handle it gracefully. Testing with Thunderbird and SOGo, they both raise the error and do not try further attempts to deliver the email until the 'bad' recipients have been removed from the list.
K9-Mail should do the same and stop all attempt on receiving the reject from the mail server until the list of recipients has been sanitized.
Actual behavior
Mail server rejects the email, with and from=<> as per bouncing standards, however K9-Mail basically integrate that bad-formatted header and use it to try sending the email to the rest of the recipients.
Steps to reproduce

Enforce reject rule on unknown recipient domains on your mail server (before any permit rule)
Prepare an email to multiple recipients with at least one 'bad' recipient (ex: unknown domain. Ex<EMAIL_ADDRESS>Send it from K9-Mail
Check your Outbox in K9-Mail and your logs on the mail server

Environment
K-9 Mail version: 5.500
Android version: 8.1.0
Account type (IMAP, POP3, WebDAV/Exchange): IMAP
Please take some time to retrieve logs and attach them here:
Logs from the mail server:
Jul 23 09:44:35 myhost postfix/smtpd[26369]: connect from XXX.XXX.XXX.137.threembb.co.uk[XXX.XXX.XXX.137]
Jul 23 09:44:35 myhost postfix/smtpd[26369]: Anonymous TLS connection established from XXX.XXX.XXX.137.threembb.co.uk[XXX.XXX.XXX.137]: TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)
Jul 23 09:44:35 myhost postfix/smtpd[26369]: CEC231003: client=XXX.XXX.XXX.137.threembb.co.uk[XXX.XXX.XXX.137], sasl_method=PLAIN<EMAIL_ADDRESS>Jul 23 09:44:35 myhost postfix/smtpd[26369]: CEC231003: reject: RCPT from XXX.XXX.XXX.137.threembb.co.uk[XXX.XXX.XXX.137]: 450 4.1.2<EMAIL_ADDRESS>Recipient address rejected: Domain not found<EMAIL_ADDRESS><EMAIL_ADDRESS>proto=ESMTP helo=<[XXX.XXX.XXX.119]>
Jul 23 09:44:36 myhost postfix/cleanup[26374]: CEC231003: message-id=<>
Jul 23 09:44:36 myhost opendkim[32642]: CEC231003: can't determine message sender; accepting
Jul 23 09:44:36 myhost opendmarc[619]: CEC231003: RFC5322 requirement error: missing From field; accepting
Jul 23 09:44:36 myhost postfix/qmgr[26269]: CEC231003<EMAIL_ADDRESS>size=213, nrcpt=2 (queue active)
Jul 23 09:44:36 myhost postfix/smtp[26375]: Untrusted TLS connection established to gmail-smtp-in.l.google.com[2a00:1450:400c:c0a::1b]:25: TLSv1.2 with cipher ECDHE-RSA-CHACHA20-POLY1305 (256/256 bits)
Jul 23 09:44:36 myhost postfix/smtpd[26369]: disconnect from XXX.XXX.XXX.137.threembb.co.uk[XXX.XXX.XXX.137] ehlo=2 starttls=1 auth=1 mail=1 rcpt=2/3 data=1 quit=1 commands=9/10
Jul 23 09:44:36 myhost postfix/smtp[26375]: CEC231003<EMAIL_ADDRESS>relay=gmail-smtp-in.l.google.com[2a00:1450:400c:c0a::1b]:25, delay=0.99, delays=0.4/0.01/0.16/0.43, dsn=5.7.1, status=bounced (host gmail-smtp-in.l.google.com[2a00:1450:400c:c0a::1b] said: 550-5.7.1 [2a01:4f8:10a:2493:b827:a8ff:fe4b:b71c      11] Our system has 550-5.7.1 detected that this message is not RFC 5322 compliant: 550-5.7.1 'From' header is missing. 550-5.7.1 To reduce the amount of spam sent to Gmail, this message has been 550-5.7.1 blocked. Please visit 550-5.7.1  https://support.google.com/mail/?p=RfcMessageNonCompliant 550 5.7.1 and review RFC 5322 specifications for more information. y4si40902182wrr.356 - gsmtp (in reply to end of DATA command))

Can you please record a debug log while trying to send a message. See https://github.com/k9mail/k-9/wiki/LoggingErrors
Also make sure you're not actually using K-9 Mail 5.500. Because that was a beta version. The current stable version is 5.600.

Please only open bugs that you can actually reproduce using K-9 Mail.

Alright, I borrowed a phone, installed K9 5600 from F-Droid, reverted my changes on the mail server, and could reproduce the bug.
Here is the bug report
Also, here is the notification for the sender:

and for the existing recipient, a blank email:

From the log:
D/SmtpTransport(30906): SMTP <<< 220 mail.nomagic.uk ESMTP Postfix (Debian/GNU)
D/SmtpTransport(30906): SMTP >>> EHLO [<IP_ADDRESS>]
D/SmtpTransport(30906): SMTP <<< 250-mail.nomagic.uk
D/SmtpTransport(30906): SMTP <<< 250-PIPELINING
D/SmtpTransport(30906): SMTP <<< 250-SIZE 10240000
D/SmtpTransport(30906): SMTP <<< 250-VRFY
D/SmtpTransport(30906): SMTP <<< 250-ETRN
D/SmtpTransport(30906): SMTP <<< 250-AUTH PLAIN LOGIN
D/SmtpTransport(30906): SMTP <<< 250-AUTH=PLAIN LOGIN
D/SmtpTransport(30906): SMTP <<< 250-ENHANCEDSTATUSCODES
D/SmtpTransport(30906): SMTP <<< 250-8BITMIME
D/SmtpTransport(30906): SMTP <<< 250-DSN
D/SmtpTransport(30906): SMTP <<< 250 SMTPUTF8
D/SmtpTransport(30906): SMTP >>> *sensitive*
D/SmtpTransport(30906): SMTP <<< 235 2.7.0 Authentication successful
D/SmtpTransport(30906): SMTP >>> MAIL<EMAIL_ADDRESS>BODY=8BITMIME
D/SmtpTransport(30906): SMTP >>> RCPT<EMAIL_ADDRESS>D/SmtpTransport(30906): SMTP >>> RCPT<EMAIL_ADDRESS>D/SmtpTransport(30906): SMTP >>> DATA
D/SmtpTransport(30906): SMTP <<< 250 2.1.0 Ok
D/SmtpTransport(30906): SMTP <<< 250 2.1.5 Ok
D/SmtpTransport(30906): SMTP <<< 556 5.1.10<EMAIL_ADDRESS>Recipient address rejected: Domain example.com does not accept mail (nullMX)
D/SmtpTransport(30906): SMTP <<< 354 End data with <CR><LF>.<CR><LF>
D/SmtpTransport(30906): SMTP >>> .
D/SmtpTransport(30906): SMTP <<< 250 2.0.0 Ok: queued as C4F2A108F
D/SmtpTransport(30906): SMTP >>> QUIT
D/SmtpTransport(30906): SMTP <<< 221 2.0.0 Bye
E/MessagingController(30906): Failed to send message
E/MessagingController(30906): com.fsck.k9.mail.transport.smtp.EnhancedNegativeSmtpReplyException<EMAIL_ADDRESS>Recipient address rejected: Domain example.com does not accept mail (nullMX)
E/MessagingController(30906): 	at com.fsck.k9.mail.transport.smtp.SmtpTransport.buildEnhancedNegativeSmtpReplyException(SmtpTransport.java:632)
E/MessagingController(30906): 	at com.fsck.k9.mail.transport.smtp.SmtpTransport.responseLineToCommandResponse(SmtpTransport.java:711)
E/MessagingController(30906): 	at com.fsck.k9.mail.transport.smtp.SmtpTransport.readPipelinedResponse(SmtpTransport.java:671)
E/MessagingController(30906): 	at com.fsck.k9.mail.transport.smtp.SmtpTransport.sendMessageTo(SmtpTransport.java:460)
E/MessagingController(30906): 	at com.fsck.k9.mail.transport.smtp.SmtpTransport.sendMessage(SmtpTransport.java:428)
E/MessagingController(30906): 	at com.fsck.k9.controller.MessagingController.sendPendingMessagesSynchronous(MessagingController.java:2630)
E/MessagingController(30906): 	at com.fsck.k9.controller.MessagingController$21.run(MessagingController.java:2514)
E/MessagingController(30906): 	at com.fsck.k9.controller.MessagingController.runInBackground(MessagingController.java:206)
E/MessagingController(30906): 	at com.fsck.k9.controller.MessagingController.access$000(MessagingController.java:122)
E/MessagingController(30906): 	at com.fsck.k9.controller.MessagingController$1.run(MessagingController.java:175)
E/MessagingController(30906): 	at java.lang.Thread.run(Thread.java:818)

K-9 Mail version 5.600
Please consider to fix this issue. I receive 'undeliverable mail' (*) bounce back messages when trying to send to many recipients. I receive bounce back messages from only gmail and yahoo recipients.
*yahoo says: 554 Message not allowed - [299]
*gmail says: 550 5.7.1 [ip] Our system has detected that this message is not RFC 5322 compliant: 'From' header is missing.

@Fjorstut if you administer the mail server, a workaround (until this is addressed) is to lower the reject rules for unknown recipient domain and non fqdn recipient.
On postfix this is what I set up:
smtpd_recipient_restrictions =
        reject_unauth_pipelining,
        ## K9 Mail bug
        ##reject_unknown_recipient_domain,
        ##reject_non_fqdn_recipient,
        check_policy_service inet:localhost:9999,
        permit_sasl_authenticated,
        reject_non_fqdn_recipient,
        reject_unknown_recipient_domain,
[..]

@Fjorstut if you administer the mail server, a workaround (until this is addressed) is to lower the reject rules for unknown recipient domain and non fqdn recipient.
On postfix this is what I set up:
smtpd_recipient_restrictions =
        reject_unauth_pipelining,
        ## K9 Mail bug
        ##reject_unknown_recipient_domain,
        ##reject_non_fqdn_recipient,
        check_policy_service inet:localhost:9999,
        permit_sasl_authenticated,
        reject_non_fqdn_recipient,
        reject_unknown_recipient_domain,
[..]

Thanks a lot for your tip, @popindavibe , much appreciated. It is a nuisance K-9 annoyance. I ended up using Outlook client on PC instead.

Hello, K-9 team,
I want to also chime in on this as this is an issue that we've been seeing in K-9 for years now, and have only just now been able to pin down the cause of the problem and we can confirm that it's indeed issue as described above.  K-9 doesn't handle rejects set by Postfix in a graceful way, and so we have emails with blank bodies sent out, resulting in confusion and messages not going through properly.  For our organization this is a critical issue and we hope that this problem can be addressed soon.
Thank you for your attention to this matter.

Coming here after a long time, is there any news on this?


Fluent + Elemental

I'm having trouble getting Fluent to play nice with Elemental. My Config look like this
Widget:
  extensions:
    - 'FluentExtension'
    - 'FluentFilteredExtension'

However on and SubClasses of BaseElement only Title shows correctly in the CMS. The translated  Values write correctly to the database, but the CMS show the value for the default locale.
I tried extending FluentExtension and applying it to both my Subclassed Elements as well as Widget with no effect.

Unfortunately I don't have much experience with elemental. Does it work if you use a basic dataobject attached as a has_many to a parent page?

Yes.
The way the Element works is that BaseElement extend Widget, it adds a couple of minor fields to control behaviour. All other Elements are subclasses of the BaseElement and add any fields needed for content.

I may need to have a look at the widget code to understand this issue, sorry. I appreciate the feedback thanks let me know if you find out anything in the mean time. :)

I'll keep plugging away. It's obviously something with when/where fluent gets injected. It writes to the correct field, just reads the incorrect one. The language portion of this project has been delayed as the client doesn't have bandwidth, so I have a bit of a reprieve.

I'm not sure if it helps, but I've implemented fluent and elemental in an SS3 project before and had it working nicely. I can't remember whether we applied the FluentExtension to BaseElement or to Widget though

My recommendation is to always add the extension to the base class (direct subclass of DataObject); If you add it to a non-base you'll have trouble. :)

@tractorcow for more info Base Class is Widget do I've appoint Fluent to.
BaseElement extends Widget and has a VersionedDataObject applied as an Extension.
My Elements Extend BaseElement or each other.
I suspect it's the VersionedDataObject extension that's causing the problem since it forces the the CMS thread from stage. So it read MyField instead of MyField_de_DE or other language. I tried subclassing FluentExtension and Applying it my Element Subclass, but that didn't fix it either.

I think I've sorted it out. Though I'm not sure what caused the issue. My DB fields were named Content1, Content2, Content3. Not sure why it was an issue but renaming them ContentOne, ContentTwo, ContentThree seemed to fix it. I think I ran into a similar issue on a project 2 years ago. I'll have to remember it.

Oh I see, that might be a serious ORM issue if that's the case.

Yeah, I'll run some tests on clean install and add plugins and simple data objects to see if I can replicate consistently. It happened on MyElement which extends BaseElement, which has Versioned Applied. Base Element is an extension of Widget with has Fluent applied. and it's all being managed by a Versioned GridField.

I am also attempting to combine Fluent and Elemental, on SS4. My approach currently is to try to translate the top level ElementAreaID, so that languages have their own set of blocks, rather than translating fields on each and every type of block. Elemental Page is my block holder and extends Page:
ElementalPage:
  extensions:
    - DNADesign\Elemental\Extensions\ElementalPageExtension
  translate:
    - 'ElementalAreaID'

My problem is that the Same ElementalAreaID copies over to the new translation, and I am unsure how to prevent that, and somehow get it to create a New ElementArea when the translation record is created.  Is there a hook i can use in Fluent to catch this?

There's a solution for that. Will page the dev to get back to you. :)

We have successfully created a well working setup of Fluent and Elemental modules on our project. Setup specification below:
Fluent
Note that Fluent is automatically applied to the SiteTree if you want the ability to block certain pages from specific locales you can use the FluentFilteredExtension (this is optional).
Elemental setup
You need to apply the ElementalPageExtension to a class, I recommend creating a new page type for example BlockPage. I strongly recommend avoiding applying the extension directly to the Page.
Fluent + Elemental setup
Initial setup will have the localized pages share the blocks, this is because by default the Fluent does not localize relation fields. Fortunately, there is a way how to configure this. The FluentExtension has following configuration options:

field_include and field_exclude for whitelisting and blacklisting specific fields
data_include and data_exclude for whitelisting and blacklisting specific field types

In our case we need to localize the ElementalAreaID in the BlockPage. We added this code below to the BlockPage
    /**
     * Fluent specific configuration
     * @var array
     */
    private static $field_include = [
        'ElementalAreaID',
    ];

If you run dev/build you should see that a localized table for BlockPage has been created and it contains the column ElementalAreaID. In our case the table name would be BlockPage_Localised.
Now we have the necessary structure but the problem is that when a localized page is created the newly created page will inherit the field values from the parent locale. It is not an issue for basic fields like text field as it is expected the CMS user to change the text field value later. For relation fields, this is a problem because the two pages will share the relation and thus all blocks.
To remedy the situation we need to add following code to the BlockPage:
    public function onBeforeWrite()
    {
        parent::onBeforeWrite();

        // detect top level locale
        $currentLocale = Locale::getCurrentLocale();
        $isTopLevelLocale = (is_null($currentLocale) || $currentLocale->getChain()->count() == 1);

        // if localised page instance is being created proceed with recursive duplicate of elemental data
        if (!$this->isDraftedInLocale() && !$isTopLevelLocale) {
            // clone elemental area

            /** @var $elementalAreaNew ElementalArea  */
            $elementalAreaNew = $this->ElementalArea()->duplicate();
            $elementalAreaOld = $this->ElementalArea();
            $this->ElementalAreaID = $elementalAreaNew->ID;

            // clone elements

            /** @var $elements HasManyList */
            $elements = $elementalAreaNew->Elements();
            foreach ($elementalAreaOld->Elements() as $elementOld) {
                /** @var $elementOld BaseElement */
                $elementNew = $elementOld->duplicate();
                $elements->add($elementNew);
            }
        }
    }

The code above will duplicate the ElementalArea for the newly created localized page. As a result, the blocks are no longer shared between those two pages.
Furthermore, we also want to disable the inheritance for blocks. The Fluent module provides multiple extension points, one of them being the updateLocaliseSelect. We need to create an Extension with the following code and apply it to the BlockPage:
    /**
     * Override default Fluent fallback
     * @param string $query
     * @param string $table
     * @param string $field
     * @param Locale $locale
     */
    public function updateLocaliseSelect(&$query, $table, $field, Locale $locale)
    {
        // disallow elemental data inheritance in the case that published localised page instance already exists
        if ($field == 'ElementalAreaID' && $this->owner->isPublishedInLocale()) {
            $query = '"' . $table . '_Localised_' . $locale->getLocale() . '"."' . $field . '"';
        }
    }

That should be all required setup. I hope this helps :)

This. Is. Fantastic!
Thank you so much :-)  Exactly what i was hoping for!
The logic and available variables for the onBeforeWrite is where I was swimming blindly. This is amazing, thank you.

Hey @mfendeksilverstripe, you mentioned the following:

I strongly recommend avoiding applying the extension directly to the Page.

Could you clarify what you mean here? Is there a particular problem with applying it to a psuedo-top level class like Page - or is it just recommended to ensure that you can create other objects that don't include automatic fluent mapping? Is it something about fluent and elemental together that makes you say that?
Just curious :)

This is one reason not to apply directly to Page: https://github.com/dnadesign/silverstripe-elemental-userforms/issues/10

@madmatt The reason is quite simple - you may want to have pages without blocks someday and if you do, it's much easier to add them. Also, there is no downside. The effort to create a BlockPage at the start of the project is quite small :).

Just want to note that applying the fluent to BaseElement works fine as well, if you want the same blocks for each locale (with translated contents).

I did consider translating blocks content as well, but i run into issues such as blocks that have dependent dataobjects, occasionally an image field needs to be different for a language, and what about the alt tags on that particular image field, etc. Keeping the entire block set different per lang feels much less error prone, and clean :-)

@mfendeksilverstripe, @robbieaverill: Awesome, both good reasons. Thanks! :)

@mfendeksilverstripe , there is one method i am not able to resolve:
if (!$this->isDraftedInLocale() && !$isTopLevelLocale) { ...
isDraftedInLocale() does not exist.  I was not able to find this method in any of the Fluent classes.. Am I missing something?

@MightyMerio
It's in here:
https://github.com/tractorcow/silverstripe-fluent/blob/master/src/Extension/FluentVersionedExtension.php

@mfendeksilverstripe - ah, I think it the version i am using.. I have composer set to "tractorcow/silverstripe-fluent": "^4",
What branch should I be using?

@MightyMerio I'm using "tractorcow/silverstripe-fluent": "dev-master"

@mfendeksilverstripe , are you on the SilverStripe slack channel?  I feel like I almost had this working. The actual logic was working well on the previous version of fluent, even though I got that method not found error.  Now with the more recent version of Fluent, this approach is not creating the duplicate blockarea any longer. I would love to get a little more help if possible, but not clog up the github thread :-)

@MightyMerio I do use Slack, just look me up<EMAIL_ADDRESS>

Just going to step in in say that the recommendation for fluent is the opposite to the recommendation for elemental; You should ONLY apply fluent to the base class, never a sub-class. E.g. SiteTree, BaseElement, but never Page / BlogPage / BlogElement.

@mfendeksilverstripe @MightyMerio I've tagged 4.0.0-beta1 of fluent which has the necessary functionality.
https://github.com/tractorcow/silverstripe-fluent/releases/tag/4.0.0-beta1
You can use ^4@beta as a dependency constraint to get this pulled in.

I think that we might need some integration modules for elemental and other modules that deal with content fields, such as userforms. The goal would be that the "other modules" could still do whatever they want to do, but that the integration module would transfer the impact from the page to the content element (for example), and the other goal would be that you can and should apply elemental directly to Page or SiteTree

I'm going to close this as I think most of the concerns raised in this issue are generally met... please ping me if anything in particular is still broken.

@bummzack - is there a reason you didn't apply fluent to Widget? -> /dev/tasks/FluentValidateTask

@lerni There's no widget in SS4, as far as I know.

@tractorcow sorry to Necro this, but I'm having trouble with it again in SS3 with versioned DataObejcts (Elemental). It seems to only effect HTMLText. Both in the CMS and Front End I only see the Unlocalized Values. Checking the Database I see the correct values in the Localized Columns. All other translated fields appear to be behaving correctly.

@wernerkrauss after some more testing I noticed this is only happening on one field on a DataObject and all is extended DOs. Changing the name of field didn't have an en effect. The issue seams to be with the first HTMLText field DO.

@thezenmonkey does it write to Stage and not to Live table?
I got it now working with this extension:
<?php
/**
 * Apply this class to each DataObject that has VersionedDataObject and Fluent applied.
 *
 * @property Widget $owner
 */

class FluentVersionedDataObjectExtension extends Extension
{
	public function onBeforeVersionedPublish($fromStage, $toStage, $createNewVersion)
	{
		\FluentExtension::set_enable_write_augmentation(false);
	}

	public function onAfterVersionedPublish($fromStage, $toStage, $createNewVersion)
	{
		\FluentExtension::set_enable_write_augmentation(true);
	}

}

and this config:
Widget:
  extensions:
    - FluentExtension
    - FluentFilteredExtension
    - FluentVersionedDataObjectExtension


Trigger change also for subfields

The changes we did in onCreate and create allow the developer to tell Backpack if we should trigger or not the change. That functionality should be available for the subfields too.
As always with the subfields we need to store that into the callbacks for later re-use.
This is related with https://github.com/DigitallyHappy/backpack-pro/pull/47 and tested using https://github.com/Laravel-Backpack/demo/pull/398
That demo branch has also the fixes in the repeatable examples to use onChange


Half pixel container rounding

Not sure if this is a picturefull issue, or a browser based issue, but when the container is a 1/2 pixel the browser and picturefull are using different maths to produce an image.
Example:
Container width = 611.5 pixels
Original image = 960 x 900
Picturefill image = 612 x 573
which is incorrect as 612 / (960/900) = 573.75 which should then round up to 574 pixels
I think the reason picturefill is calculating it incorrectly is that it doesn't do the rounding on the container first.
Basically the container is
611.5 / (960/900) = 573.28 which should then round down to 573 pixels (which it does at the moment)
In responsive grid design this gives 1 pixel gaps on 1/2 size pixel containers when using % spacing
Any thoughts about a quick workaround?

Thanks, can you post a reduced test case?

I'm going to go ahead and close this. Please reopen if you're still experiencing this issue. You should be able to get liquid widths to fully fill their containers using plain old CSS width: 100%;.
There has lately been a big push in libraries towards subpixel reporting. The consensus is that helps layout more often than it hurts. So if the browser doesn't round, Picturefill doesn't round.


View > Explorer, keyboard shortcut not working (Mac)

VSCode Version: Code 1.8.1 (ee428b0eead68bf0fb99ab5fdc4439be227b6281, 2016-12-19T14:42:49.304Z)
OS Version: Darwin x64 15.6.0
Extensions:

Extension
Author
Version

material-icon-theme
PKief
1.2.0

vscode-html-to-elm
Rubymaniac
0.0.2

elm-format
abadi199
0.1.0

elm
sbrink
0.8.3

vim
vscodevim
0.4.10

Steps to Reproduce:

Navigate away from Explorer view by clicking on, say, Extensions icon, or typing shift+cmd+x
Attempt to navigate back to Explorer by typing shift+cmd+e as indicated in keybindings.json
No reaction visible in menu or in current view
Open keyboard shortcuts with cmd+k cmd+s
Customize the View > Explorer shortcut, e.g., { "key": "shift+ctrl+e",           "command": "workbench.view.explorer" }
Try the new shortcut, e.g., shift+ctrl+e

View switches to Explorer, proving that View > Explorer can be accessed with a keyboard shortcut, just not shift+cmd+e.

Open System Preferences > Keyboard > Shortcuts. Verify that there are no system-level conflicts for ⇧⌘E.

It works fine for me though. Tried to disable all the extensions?

It also works for me. Can you please try with above suggestion?

Closing as we are unable to reproduce this issue.
@clozach If you are still seeing this after disabling extensions, please let us know
Thanks

Apologies for reviving an closed thread, but I also ran into an issue with the CMD-SHIFT-E shortcut not displaying the Explorer pane. Turns out there was a hotkey conflict with another app I use (Boom 2).
@clozach -- The hotkey conflict may not be displayed in the System Preferences -> Keyboard pane. Try closing other apps (including menubar apps) until the default CMD+SHIFT+E hotkey works in VSCode.
Good luck!

@jhildenbiddle I also have Boom 2 installed, and never noticed before now that there's a subtle gray-on-gray "Hotkeys" button in that app. Thanks for solving the mystery!
If I used VS Code consistently, I'd now go on to ask why on earth the Show Explorer shortcut doesn't toggle the explorer, but instead just toggles focus. As it is, I never managed the switch from Atom, so I'll leave it up to actual VS Code users to raise, assuming any of you find that behavior as confusing as I do. ;)

Ufff thanks a lot for the Boom 2 hint. Using Boom 3D and had the same issue. Would have never suspected this app to be the trouble maker. That saved me a lot time 🙏


Misleading error message when attempting to overwrite a required relation using "connect"

Bug description
Say you have a parent-child relation, where the parent field on the child is required:
model Booking {
  id           String               @default(cuid()) @id
  subscription PaymentSubscription?
}

model PaymentSubscription {
  booking   Booking @relation(fields: [bookingId], references: [id])
  bookingId String
  id        String  @default(cuid()) @id
}

In a situation where the parent already has a child, if you then try and create a second child on that parent using connect, it first tries to disconnect the original child from the parent, triggering the following error:
Null constraint violation on the fields: (`bookingId`)

The issue is that at first glance this looks like there's an issue with the data being passed when creating the second child. Took me way too long to realise that this parent already had a child, and that by trying to create another one it was attempting to disconnect the first child and triggering this error.
How to reproduce
Repo available here.
Expected behavior
The error should alert you to the fact that the parent already has a child, so a second one cannot be created without invalidating the first.
Environment & setup

OS: Mac OS
Database: Postgres
Node.js version: 14.5.0
Prisma version:

2.4.1

I am unable to reproduce the exact same error message in the latest version 2.5.1:

Now regarding the error on why this is exactly erroring out. The relation between PaymentSubscription and Booking is 1 to 1 relation according to schema, which mean one PaymentSubscription can be connected to Booking at any given. This is represented by a unique index on the database level:

Now if you will try to connect the same Booking record to two different PaymentSubscription records, it is just not possible and the engine throws this error. It never tries to disconnect the old one, that would be a very bad behaviour.

I can no longer recreate it either (not even with 2.4.1, not sure why). It would be nice if there was a more specific error message for that scenario, but that error message you shared is a bit less misleading so I'll close this.
Thanks!


fix for Docker for Mac with 1.13

@rnorth locally build green as well

Nice! I'll test locally and aim to release ASAP.


Release/4.0.0

:white_check_mark: Build TheIdServer 4.6.3.build.2183 completed (commit https://github.com/Aguafrommars/TheIdServer/commit/25a26f88b6 by @semantic-release-bot)


Ancestors do not load when missing squeak gets downloaded from download button

https://github.com/squeaknode/squeaknode/pull/2143


What is a good way to handle single words from user input for Entity Extraction?

Since most user would write just single entities as input for the chatbot, how can those be recognized as entities? I would guess this happens very often and a chatbot should handle those occassions. How is this solved in practice? Would training the NER like CRF with just single words as examples work? My feeling is that in practice you use a phrase matcher. But in the form it exists right now this is not a good choice since it overwrites the NER entity and you wouldn't need any NER at all since you have all entities in a list which are recognized in every context.
So you woud let run first the NER comonent and then you check if an entitiy is found - if not you run the phrase matcher. So you need a conditionally running of a component. Is that possible?
Any advices for this?
Thanks. :)

Have you tested the CRF for this? Do you have an example that you can't get to work?

yes you need to provide example sentences with just single words, i answered that question here #1010 before seeing this 😄 let me know if you need more explanation

@wrathagom So you mean if I would train the CRF wih sentences together with single words this will work?
Like ``How much is the fish?together with justfish` :)

that would be my suggestion, have you tried it yet?

i am on it right now.

I tried it now. It works actually for unknown words, but again for others and complicated words like arbeitsshuhe, in english working shoes it fails.
Doesn't this correlate now again to how the CRF is working? CRF gets the word and postags as input. Is the word itself used as a vector representation? Or how does the CRF uses the word itself as a feature? When it comes as a vector, then this is a problem when this word is not inside the spacy model? I am really confused right now.
What is the postag for a single word? I want to really know that because I use german model and need to knwo how this model influences my NLU. For sentences this might be not an issue for unknown german words in the spacy model beacuse CRF  uses also postags. And postags are still possible though the word  has no representation, right?

I must give input there , I have tried with single word entity training , It disturbs intent classification as far I observed , whenever I enter one word other than domain then it detects the intent which is having more single word examples.

@ctrado18 the CRF is all about features of the word and the sentence around it, it doesn't use the spacy vectors at all. Did you train any examples that were two words separated by a space like working shoes as the structure of that is different from a single word with no spaces?
@AbdurRub have you tried only labeling the single word responses as entities, but not as intents? That way you can train the entity classifier without impacting intent?

@wrathagom working shoues is a single word in german. I trained some single words as entities. That were also trained in sentence. But as you said it nis ot suitable with CRF for single words. How do you handle then the case for a chatbot if user type just the name? I mean, that is a problem that everyone has and there should be a solution. Is CRF for your custom domain working so good? How many single words are you training?
I found that CRF recognises jst single custom word if they were trained in couple of sentences before! Just adding unknown single words as text is not working good. Since CRF uses context this might be not a good idea at all unless you train all custom words?

@wrathagom you mean new intent " " ?

What came in my mind is the following: use the phrase matcher but only if the message has length of just one token and conditionally check if CRF just find an entity. If all conditions are made then use phrase matcher? right now you can just use a component. But can apply this component conditionally such that CRF and phrase matcher entities are not mixed up?

you can use ner_duckling to extract numbers, and then you should store these numbers into seperate slots using a custom action


Misleading Method Name (opinions wanted)

As I see it, in general, an ARMI Component != a pin (yes you could define Component as a single pin, but in my experience this is not generally the case). That said, I think this method name is misleading. Instead of getNumComponents I would advocate that this be getNumPins.
https://github.com/terrapower/armi/blob/f535add83f2a1322d455b93b5fc6c827731531e3/armi/reactor/composites.py#L2369-L2372

Just found this method in blocks.py as well which is likely a more useful method to retrieve the number of pins. If one wanted to maintain functionality on the Assembly and Core levels, I would suggest that specific methods be written on those classes to loop over the appropriate composites (or maybe this method on block.py is generalized to the Composite class, I'm not sure).
https://github.com/terrapower/armi/blob/f535add83f2a1322d455b93b5fc6c827731531e3/armi/reactor/blocks.py#L1046-L1063

ArmiObject.getNumComponts() doesn't just get "pins".  As the docstring says, it finds all the sub-components of the given type.
In blocks.py, we use this to get the number of fuel sub-components, so we can calculate the area of the cladding.
Looking downstream, this is used to get number of pins, sure, but it is also used to find the number of clad or duct items in an area.

It's just weird to me. If we have a typical pinned fuel block consisting of the following:

fuel, mult = 169
clad, mult = 169
duct, mult = 1
intercoolant, mult = 1
coolant, mult = 1

I, personally, would expect getNumComponents(Flags.FUEL) to return 1. There's only 1 fuel component... Now if that method was called something like getTotalMultForComponentsOfType(Flags.FUEL) then that would clearly return 169 and would be way clearer, imo.
There's also a scenario that doesn't look to be tested (at least not in test_block.py). Consider the case in which a block has multiple types of pins (e.g., a mix of fuel and reflector pins). In this case it looks like getNumComponents has better/more predictable behavior than getNumPins - so that's fun lol. Check out this feature branch I made to play with this. Let me know what you think?
https://github.com/terrapower/armi/tree/playWithPinNumbers
Also, as an aside:
getNumComponents is tested in test_blocks.py and looks to only be used on blocks in ARMI and one major in-house project. We could maybe/probably make getNumComponents a Block method.

@albeanth examples are here:
https://github.com/terrapower/armi/blob/4b048efb3a39e65f37f7cb5ecc58a7883d2a71ba/armi/reactor/tests/test_blocks.py#L1300-L1306
Here I see two entirely separate concerns:

The getNumComponents() returns values respecting multiplicity, but Tony did not expect that or finds that counterintuitive. (Tony mostly uses this method to replace getNumPins().)
The getNumPins() does not work correct, or as Tony expected.

My thoughts:

I actually think it's great that getNumComponents() respects multiplicity. We do in many, many places in ARMI, and if we didn't, multiplicity would be meaningless. The ARMI Reactor model is designed with multiplicity in mind at nearly all levels.I could happily call this out even more explicitly in the docstring, if you like.
I think it is possible there is a bug here. Or at very least, a feature I don't understand.  When counting "pins" in a block, it doesn't sum all the pins in each component, but picks the largest NUMBER of pins in a component:

https://github.com/terrapower/armi/blob/9dc6760de7da3800cbe98e83066cf5f343e81a6a/armi/reactor/blocks.py#L1061-L1062
https://github.com/terrapower/armi/blob/9dc6760de7da3800cbe98e83066cf5f343e81a6a/armi/reactor/blocks.py#L1078
This is called out explicitly in the requirement, but I can't say I fully understand WHY. The only way this makes sense is if Tony's example above is erroneous, because we would not normally have two different components with different pin types in the same block. But if THAT were true... why would we need the "max" in this method anyway?

why would we need the "max" in this method anyway?

No idea.
Coming across this again with pin-related level work... It's a bit frustrating, but maybe it's just my own problem! I'll just pretend the blocks.getNumPins() doesn't exist.... 🤷


Indexing error when using custom data

I would first like to thank the entire team for their amazing efforts and support on this project! ❤
Describe the bug
I am trying to use a custom dataset with a transforms.json which follows the Data Conventions, and is inspired by colmap_to_json.
When trying to use this data, the data is loaded in (Nerfstudio data parser succeeds), but ultimately, I keep triggering the same error when training starts (even with different flags):
Assertion `index >= -sizes[i] && index < sizes[i] && "index out of bounds"` failed.

The command run (example):
ns-train nerfacto --data <path/to/data> --vis tensorboard --experiment_name <experiment_name> --timestamp <timestamp_name> --viewer.quit-on-train-completion True

I've trained models before with datasets from ns-process-data without issues, so the issue seems to be specific to (my) custom datasets.
To Reproduce
Given that the issue seems to be specific to (my) custom datasets:

The issue may lie in my transforms.json, hence I've provided the file (under  'Additional context'). It seems to fully follow the data convention fully, so that's odd.
The issue may also lie in the folder structure I've used for my dataset, hence I've provided a description of my directory tree, and the full directory output (under  'Additional context'). I could not find any info on the required directory structure for custom data, so I've kept it as close as possible to ns-process-data output.
The issue may also lie in the fact that I've not used any (custom/other) flags than I'd normally use with data from ns-process-data, hence I've provided the command used and the full output and trace (under 'Additional context'). Again I couldn't find any documentation stating that I have to use other flags than usual.

If necessary, I would be willing to provide my custom dataset for testing purposes. So let me know!
Expected behavior
The training should work as usual, without throwing errors.
Additional context

The transforms.json which fails (renamed to .txt since github doesn't allow uploading jsons): transforms.txt
The full command, output and trace can be found here: trace_custom_data_nerfstudio.txt
The full directory tree of the dataset folder: folder_structure.txt
I've also tried running with --pipeline.datamanager.camera-optimizer.mode off, but that simply relocated the error to a different place.

I've kept the folder structure as close as possible to a dataset created with ns-process-data:

<folder root>/

images/ - original images

frame_00001.jpeg
...
frame_00181.jpeg

images_2/ - images downscaled by factor of 2

frame_00001.jpeg
...
frame_00181.jpeg

images_4/ - images downscaled by factor of 4

frame_00001.jpeg
...
frame_00181.jpeg

images_8/ - images downscaled by factor of 8

frame_00001.jpeg
...
frame_00181.jpeg

transforms.json

What
Value

Platform
Windows

Nerfstudio version
Latest Source (24th of April 2023)

Python version
3.10.5

CUDA version
11.7

PyTorch version
1.13.1+cu117

Comment
If it ends up being a universal issue, rather than a 'me' issue, I would be very much open to submitting a PR if I'm guided in what I can  fix.

Could it be that the sizes of the downsampled images are rounded in a different way than what nerfstudio expects? Could you post the image sizes for each downscaled version?

At least this was the case for me with the mipnerf360 dataset

Issue was a 'me' issue as expected, and I've managed to find it.
If others run into similar issues, please check the width and height in transforms.json and your (resized) image resolutions to see that it matches.
Easy to overlook a flipped width and height.


Fails w/ Meteor 1.6.1

It's an elegant package that uses some Meteor internal API for SSR from the WebApp and WebAppInternals.getBoilerplate API. Unfortunately it no longer works with newer Meteor versions.
Meteor 1.6.1 changed the return value from WebAppInternals.getBoilerplate from String to Stream. Line 67 in server/steps/applicationRendering.jsx now causes an error.
Also I get this error: TypeError: Cannot read property 'toComponent' of undefined caused by line 62 in the same file. I couldn't find a solution for either, so I am posting it here.
Here is the Meteor commit that changed from String to Stream: https://github.com/meteor/meteor/commit/991fb5ea8650a5cb2f374675f64d2c85e4d1b1db#diff-79c5e18978e1bfa64cbb9edb380f2920

Having the same issue. server/steps/applicationRendering.jsx giving TypeError: Cannot read property 'toLowerCase' of undefined error.


weekly cli backmerge

Description:

revert scaffold-eth#875 (scaffold-eth#905)

@rin-st could you please try the linting in vscode? :

Start the CLI dev server

yarn dev

Create an instance:

yarn cli -s hardhat

In the instance created, try out if lint is working or not in vscode. Test snippet:

  const [count, setCount] = useState(0);
  const [name, setName] = useState("shiv");
  // should get an eslint error
  const x = "shiv";

  useEffect(() => {
    setCount(count + 1);
    console.log(count);
    setName("shiv");
    console.log(name);
    // should get an eslint warning
  }, [count]);

Thank you @technophile-04 !!
Let's publish a new create-eth version when this is merged

It works!

Notes:

for some reason it asked to install yarn 3.5.0

When running yarn next:lint it shows warning regarding ts version

yarn next:lint
=============

WARNING: You are currently running a version of TypeScript which is not officially supported by @typescript-eslint/typescript-estree.

You may find that it works just fine, or you may not.

SUPPORTED TYPESCRIPT VERSIONS: >=4.3.5 <5.4.0

YOUR TYPESCRIPT VERSION: 5.5.3

Please only submit bug reports when using the officially supported version.

=============

./app/page.tsx
15:9  Error: 'x' is assigned a value but never used.  @typescript-eslint/no-unused-vars
23:6  Warning: React Hook useEffect has a missing dependency: 'name'. Either include it or remove the dependency array.  react-hooks/exhaustive-deps

info  - Need to disable some ESLint rules? Learn more here: https://nextjs.org/docs/basic-features/eslint#disabling-rules

Thanks Rinat!!
Actually regarding the warning of ts version is present on git clone se-2 version as well. If you first time clone the repo, yarn install and run yarn next:lint you should get it. It was introduced in https://github.com/scaffold-eth/scaffold-eth-2/pull/885. We could maybe lower the TS version b/w that range in future PR?
But yeah merging this for now since everything seem to work 🙌

We could maybe lower the TS version b/w that range in future PR?

I think it's not critical at all, we can live with it for some time :)


Update and rename README.rdoc to README.md

Make installation instructions more clear and concise

This gem is empty. Closing this PR.


use i18n. Error message is displayed incorrectly

Versions

vee-validate: 2.1.0-beta9
vue: 2.#.#

Describe the bug
    **rule:**    length:5
    **show:**    The field length must be between 5 and [object Object].

This is an incompatibility issue between the vee-validate message system and the i18n dictionary storage system. This will require some breaking changes since vee-validate should then convert to a more traditional string based storage.

Is there an example on how to write a class to convert the json i18n files to a compatible dictionary?

Unless i18n supports conditions in the same message key. Simplifying the rules should be the correct solution as it would make the messages simpler. for example the length rule should only check if the length is of the specified amount. I believe this is a better direction than overhauling the messages system.

VeeValidate 3.0 has been released with JSON compatible messages, you can find the documentation for this here:
https://baianat.github.io/vee-validate/guide/localization.html


Fix alter column error in Postgres QueryBuilder (issue yiisoft#19929).

Q
A

Is bugfix?
✔

New feature?
❌

Breaks BC?
❌

Fixed issues
#19929

@terabytesoftw is that something we want to fix in yiisoft/db?

@terabytesoftw is that something we want to fix in yiisoft/db?

I'm going to check this case, but in Yii3, all the default values work correctly and have tests.

@daniil-khaletsky You can add a unit test to properly check the case, thanks.


[FLINK-20324] Added Configuration mount support

What is the purpose of the change
Currently Flink provides secrets mount decorator, which provides limited support for Secret's mounting. This PR extends this solution by providing generic support for configuration mounting including secrets and config maps.
Brief change log
Replaced Secret mount decorator with the MountConfigurationDecorator set the Volume and the VolumeMount to the given pod and container.
Verifying this change
This change added tests and can be verified as follows:

Added test that validates MountconfigurationDecorator mounting volume correctly.

Does this pull request potentially affect one of the following parts:

The public API, i.e., is any changed class annotated with @Public(Evolving): no

Documentation

Does this pull request introduce a new feature? yes
If yes, how is the feature documented?  JavaDocs

@blublinsky can this PR be closed in favour of FLINK-15656?

Yes, thank you


Visualization

Hi, thanks for your great work!
As a newcomer to this domain, I am facing challenges in visualizing these results effectively.

RGB Image Visualization: Could you provide instructions or code snippets for overlaying estimated object poses on RGB images?
3D Point Cloud Visualization: Do you have recommendations or code examples for visualizing estimated poses in a 3D point cloud?

1. RGB Image Visualization: For overlaying estimated object poses on RGB images, you can use the draw_detections_with_error function available in utils.sgpa_utils.
2. 3D Point Cloud Visualization: For visualizing estimated poses in a 3D point cloud, I recommend using the open3d library, which is a powerful and user-friendly open-source library for 3D data processing.


lev2gfx: vulkan renderer

self explanatory
Depends on: https://github.com/tweakoz/orkid/issues/59

This is definitely in progress.

remaining: subpasses (RTT),  stereo support, bug fixes, optimizations...


Update dev instruction in readme

[WEB-26] Update readme
[WEB-26] Update readme with .env instruction

Scope
https://github.com/ixofoundation/ixo-webclient/issues/873

@vphutane27 thank you. Merging.


ADD COIN

In order to streamline the review of the contribution we ask you
to ensure the following steps have been taken:

[x] Filename in the lowercase format
[ ] Image format: png
[x] Image size: 256 by 256 px

add the coin and update

Also, you can use these graphics to say that your ERC20 token fully compatible with Trust Wallet (https://trustwallet.com/logo-assets). Tokens will show up automatically once the user receives them.
Feel free to share this on social media and tag Trust Wallet:

Twitter: @trustwalletapp

Facebook: @trustwalletapp


Add support to RunServer for notifying clients via condition variable that the interop server has started.

Change adds a version of grpc::testing::interop::RunServer that allows clients to pass in optional condition_variable which will be notified when the server has started and port to use, avoiding the need for callers to work with command line options.
Above is used to support clients running the server in a separate thread in the same process as the tests are run to support local only tests.
Existing grpc::testing::interop::RunServer calls into new version passing in FLAGS_port and null condition_variable.

Thank you for your pull request. Before we can look at your contribution, we need to ensure all contributors are covered by a Contributor License Agreement.
After the following items are addressed, please respond with a new comment here, and the automated system will re-verify.

One or more commits was unable to be associated with a GitHub user. The email used in the Git commit must match a verified email address in a GitHub profile. For more information, please see https://help.github.com/articles/why-are-my-commits-linked-to-the-wrong-user/

Regards,
The Linux Foundation CLA GitHub bot

Thank you for your pull request. Before we can look at your contribution, we need to ensure all contributors are covered by a Contributor License Agreement.
After the following items are addressed, please respond with a new comment here, and the automated system will re-verify.

User @dwittmer isn't covered by a CLA. They will need to complete the form at https://identity.linuxfoundation.org/projects/cncf

Regards,
The Linux Foundation CLA GitHub bot

Signed CLA as an employee.

****************************************************************

libgrpc.so

     VM SIZE        FILE SIZE
 ++++++++++++++  ++++++++++++++

  [ = ]       0        0  [ = ]

****************************************************************

libgrpc++.so

     VM SIZE        FILE SIZE
 ++++++++++++++  ++++++++++++++

  [ = ]       0        0  [ = ]

[trickle] No significant performance differences

[microbenchmarks] No significant performance differences

****************************************************************

libgrpc.so

     VM SIZE        FILE SIZE
 ++++++++++++++  ++++++++++++++

  [ = ]       0        0  [ = ]

****************************************************************

libgrpc++.so

     VM SIZE        FILE SIZE
 ++++++++++++++  ++++++++++++++

  [ = ]       0        0  [ = ]

[trickle] No significant performance differences

[microbenchmarks] No significant performance differences

Not sure whether you can see the link but you need to clang-format as follows:

tools/dockerfile/grpc_clang_format/clang_format_all_the_things.sh
--- /var/local/git/grpc/test/cpp/interop/server_helper.h	2017-11-17 21:50:57.058366108 +0000
+++ /tmp/tmp.ew6jgE4g9M	2017-11-17 21:51:37.478366108 +0000
@@ -69,9 +69,8 @@
/// \param port Port to use for the server.
/// \param server_started_condition (optional) Struct holding mutex, condition
///     variable, and condition used to notify when the server has started.
-void RunServer(std::shared_ptr creds,

          int port,

          ServerStartedCondition *server_started_condition);

+void RunServer(std::shared_ptr creds, int port,

          ServerStartedCondition* server_started_condition);

}  // namespace interop
}  // namespace testing
--- /var/local/git/grpc/test/cpp/interop/interop_server.cc	2017-11-17 21:50:57.058366108 +0000
+++ /tmp/tmp.zQ8spwh0Cj	2017-11-17 21:51:38.942366108 +0000
@@ -321,9 +321,8 @@
}
void grpc::testing::interop::RunServer(

std::shared_ptr creds,
const int port,
ServerStartedCondition *server_started_condition) {

std::shared_ptr creds, const int port,
ServerStartedCondition* server_started_condition) {
GPR_ASSERT(port != 0);
std::ostringstream server_address;
server_address << "<IP_ADDRESS>:" << port;

****************************************************************

libgrpc.so

     VM SIZE        FILE SIZE
 ++++++++++++++  ++++++++++++++

  [ = ]       0        0  [ = ]

****************************************************************

libgrpc++.so

     VM SIZE        FILE SIZE
 ++++++++++++++  ++++++++++++++

  [ = ]       0        0  [ = ]

[trickle] No significant performance differences

[microbenchmarks] No significant performance differences

****************************************************************

libgrpc.so

     VM SIZE        FILE SIZE
 ++++++++++++++  ++++++++++++++

  [ = ]       0        0  [ = ]

****************************************************************

libgrpc++.so

     VM SIZE        FILE SIZE
 ++++++++++++++  ++++++++++++++

  [ = ]       0        0  [ = ]

[trickle] No significant performance differences

[microbenchmarks] No significant performance differences

Test flakes:
C++ ASAN/TSAN #13122
Basic tests C++: #13626


',' character in filename causes the file name to be split across multiple columns

Create a file or folder with a comma in the name.
Copy it in the ExcelFileList
When opened in Excel, file name is split across columns

Fix: update logic to wrap filename in double-quotes; produce error message if double-quote appears in filename data.


[General Inquiry] DoIP test suite

I am new to DoIP, and I am planning to work on a rust implementation of DoIP. Just wondering if there is any well accepted test suite (that is publicly available) for the protocol?

You can benchmark servers against this client.  There is also this
https://gitlab.com/rohfle/doip-simulator
Otherwise it's pretty straightforward from the spec.


[Doc Improvement][readme file update][2159780]

Docs Build status updates of commit be54b01:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

README.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Docs Build status updates of commit f651bf8:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

README.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Docs Build status updates of commit 3e73ad1:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

README.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Docs Build status updates of commit f59d955:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

README.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Docs Build status updates of commit d3e5550:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

README.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Docs Build status updates of commit 6ffdc49:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

README.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Docs Build status updates of commit a45a4da:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

README.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Docs Build status updates of commit ec53d63:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

README.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Docs Build status updates of commit 55dd0a7:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

README.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Docs Build status updates of commit 560ab62:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

README.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Docs Build status updates of commit 5c4174f:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

README.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Docs Build status updates of commit e350cee:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

README.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Docs Build status updates of commit a231b52:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

README.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Docs Build status updates of commit e2640fa:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

README.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Docs Build status updates of commit 3398073:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

README.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Docs Build status updates of commit 835e067:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

README.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Docs Build status updates of commit 96c3a44:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

README.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Docs Build status updates of commit dc629ec:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

README.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel


Ensure that Parameters compare equal when they have the same hash

Previously, only the Parameter.uuid was compared, so Paramemter
instances with different names could compare equal if they had been
constructed using a common value for the uuid parameter (which is
usually not passed explicitly).

Currently, I based this on #11647 so that I could add to the test from there and reference uuid in Sphinx. This can be reworked if #11647 can only go in to 1.1 and this PR is wanted in 1.0 as a bug fix.

It looks like there are some existing uses of different names comparing equal so this one may take some more careful work.

This will wait for a resolution in #11654

https://github.com/Qiskit/qiskit/pull/11692 modifies the tests that are currently failing here so that they are not affected by this change.

In the interests of time, and because this PR has an extended critical path to merge, I'm going to defer it to 1.0.1.  It's a bugfix - the current definition of equality is broken and not what's documented or compatible with the hash.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

0 of 1 (100.0%)  changed or added relevant line in 1 file are covered.
6 unchanged lines in 2 files lost coverage.
Overall coverage decreased (-0.008%) to 89.285%

Files with Coverage Reduction
New Missed Lines
%

crates/qasm2/src/expr.rs
1
93.81%

crates/qasm2/src/lex.rs
5
91.18%

Totals

Change from base Build<PHONE_NUMBER>:
-0.008%

Covered Lines:
58897

Relevant Lines:
65965

💛  - Coveralls


Error reading from connection assumes IO timeout

Before reading from a connection we set a read deadline.  Then when we try to read we check for an error and if an error happened we report it with fmt.Println("Error reading:", err.Error())
But then later we try to write to the socket to tell the client it was an io timeout: work.Connection.Write([]byte("Error I/O timeout. \n")) however there are other reasons this could error.  For example the client could close the connection before we call read.  If we try to write to a socket that is in an error state we could just compound the trouble.  Instead we should just move on without trying to send anything to the client.

I'll just remove that.