Drain method on WriterStream does not work.

Code like this leads to a possible buffer overflow in QuicStreamSender.
async with connect(
    "localhost", 5555, create_protocol=Handler, configuration=client_conf
) as client:
    reader, writer = await client.create_stream()
    for i in range(1000):
        writer.write(b"some"*1000)

it's good to add
await writer.drain()

to wait outgoing buffer is low to allow next write operations
but it does not work (protocol not set, protocol has no drain helper method).
can be solved with custom WriterStream implements custom drain method that awaits for asyncio.Event added to QuicStreamSender to represent write buffer is low enough to accept new data.

As noted in #169 I consider the create_stream() method deprecated. I don't think it has its place in the aioquic API and would at best be kept in a dedicated example.

As noted in #169 I consider the create_stream() method deprecated. I don't think it has its place in the aioquic API and would at best be kept in a dedicated example.
Still, you're welcome to submit a PR for your specific issue.

Still curious is there any flow control over streams? After a small check did not find any.
Simple case:
client asks for data, but does not receive it (send acks)
It looks like the server-side will push data to be sent without actual frames to be sent
And stream send buffer will grow without any mechanisms to stop an application to send data to this stream.
Would be nice to have callback support in QuicStreamSender on every write/data write ack for manual check the buffer size to make a decision: is buffer too big and would be nice to pause write operations till it's freed


⚠ Ixtanet SAT has degraded performance

In 0da98c5, Ixtanet SAT ($MEDIA_SAT) experienced degraded performance:

HTTP code: 200
Response time: 20656 ms

Resolved: Ixtanet SAT performance has improved in 4d38bf7.


Able to install & add new faces; however, Howdy doesn't activate for authentication requests.

Hi - I'm on an XPS 2020 running Fedora 32, and was able to download Howdy after a few unsuccessful attempts (dlib file was missing, but after reinstall, everything worked). I had to go into sudo howdy config since my camera wasn't being detected - I discovered /dev/video0 is the IR camera for this version of XPS.
I was also able to add a new face model and the test showed that everything was working. However, Howdy doesn't run whenever I have an authentication request (i.e. sudo -i or the log in screen). Does anyone have suggestions for what I should try next or has a sense of what the issue might be?

I've searched for similar issues already, and my issue has not been reported yet.
Linux distribution (if applicable): Fedora 32 Gnome 3.36.6 Wayland
Howdy version (sudo howdy version): Most recent version

Might have something to do with pam
Have u looked at /etc/pam.d/ ?

Yeah, I went into /etc/pam.d/sudo and added
auth       sufficient   pam_python.so  /lib/security/howdy/pam.py
Still doesn't launch Howdy whenever it's prompted for a password. Do you think there's another directory I should add that to?

I solved the same issue by setting permissions...
chmod -R a+r /lib/security/howdy``

That did it!!! Thank you both for all the help!


Ambiguous copt in release mode

I was updating my dependencies and ran into a build failure in release mode (e.g. --compilation_mode=opt)
ERROR: /private/var/tmp/_bazel_runner/859a0f9921c91b89cc2a6b233b4f521c/external/rules_swift_package_manager~~swift_deps~swiftpkg_swift_system/BUILD.bazel:23:14: Illegal ambiguous match on configurable attribute "copts" in @@rules_swift_package_manager~~swift_deps~swiftpkg_swift_system//:SystemPackage.rspm:

Using the following lock for swift-system:
    {
      "identity" : "swift-system",
      "kind" : "remoteSourceControl",
      "location" : "https://github.com/apple/swift-system.git",
      "state" : {
        "revision" : "f9266c85189c2751589a50ea5aec72799797e471",
        "version" : "1.3.0"
      }
    },

Did you happen to capture the declaration in the BUILD.bazel file that it does not like?

Hey @cgrindel ! I had the exact same problem. Here is the part of the BUILD.bazel it didn't like:
swift_library(
name = "SystemPackage.rspm",
always_include_developer_search_paths = True,
copts = [
"-DSWIFT_PACKAGE",
"-DSYSTEM_PACKAGE",
] + select({
"@rules_swift_package_manager//config_settings/spm/configuration:debug": ["-DENABLE_MOCKING"], # <- here
"@rules_swift_package_manager//config_settings/spm/platform:ios": ["-DSYSTEM_PACKAGE_DARWIN"],
"@rules_swift_package_manager//config_settings/spm/platform:macos": ["-DSYSTEM_PACKAGE_DARWIN"],
"@rules_swift_package_manager//config_settings/spm/platform:tvos": ["-DSYSTEM_PACKAGE_DARWIN"],
"@rules_swift_package_manager//config_settings/spm/platform:visionos": ["-DSYSTEM_PACKAGE_DARWIN"],
"@rules_swift_package_manager//config_settings/spm/platform:watchos": ["-DSYSTEM_PACKAGE_DARWIN"],
"//conditions:default": [],
}),
# ...

For me the problem was that it would both match the debug configuration and macos platform, which seems like something that should be allowed. I've changed the implementation so it generates something like this:
swift_library(
    name = "SystemPackage.rspm",
    always_include_developer_search_paths = True,
    copts = [
        "-DSWIFT_PACKAGE",
        "-DSYSTEM_PACKAGE",
    ] + select({
        "@rules_swift_package_manager//config_settings/spm/configuration:debug": ["-DENABLE_MOCKING"],
        "//conditions:default": [],
    }) + select({
        "@rules_swift_package_manager//config_settings/spm/platform:ios": ["-DSYSTEM_PACKAGE_DARWIN"],
        "//conditions:default": [],
    }) + select({
        "@rules_swift_package_manager//config_settings/spm/platform:macos": ["-DSYSTEM_PACKAGE_DARWIN"],
        "//conditions:default": [],
    }) + select({
        "@rules_swift_package_manager//config_settings/spm/platform:tvos": ["-DSYSTEM_PACKAGE_DARWIN"],
        "//conditions:default": [],
    }) + select({
        "@rules_swift_package_manager//config_settings/spm/platform:visionos": ["-DSYSTEM_PACKAGE_DARWIN"],
        "//conditions:default": [],
    }) + select({
        "@rules_swift_package_manager//config_settings/spm/platform:watchos": ["-DSYSTEM_PACKAGE_DARWIN"],
        "//conditions:default": [],
    }),
# ...

I just stated out with bazel so maybe there is a slicker way to do this 🧐


chore: revert #617 ↦ syntax

This reverts #617 which introduced the ↦ syntax for anonymous functions in place of =>. Unfortunately this caused some breakages with pretty-printing in various places. This reverts that syntax for now until we can have a better solution for ↦.

Note: I didn't actually git revert the commit because there were lots of conflicts, so I found it easier to just remove the Mathlib.Util.MapsTo file, remove all the files that imported it, and do a search-and-replace for ↦ in place of =>. At the end, I only had to import Std.Tactic.Lint in two files (this was imported by Mathlib.Util.MapsTo). As for occurences of ↦ in docstrings, I looked through the search-and-replace and tried to leave ↦ when it appeared in docstrings.

Obviously, I am very strongly against merging this PR. The reasonable way forward is to fix the pretty printer issue. It's not even urgent since they don't block anything.

@PatrickMassot, some context on this. We discussed this at the mathlib4 porting meeting last week. The question there came down to whether we prefer (for the short term):

Exists notation to work
The \mapsto arrow
with the understanding that having both was not possible without changes in Lean4 that were not going to happen until the new year.

The consensus of that meeting was that exists notation not working at all was a bigger problem than having \mapsto immediately, and hence we should revert. Sorry this discussion wasn't reflected properly on zulip so you didn't have a chance to participate.
I don't think it's urgent either way, so I'm not in a hurry to merge this. Nevertheless, exists notation failing is an ongoing annoyance that many people would like out of the way for now.

Is it possible to make the ↦ arrow input-only (for now), and not be used by the pretty-printer?

I understand this is a temporary situation. But reverting back will be very painful if we go that road since we can't simply search and replace => because it also happens in programming contexts.

I have opened a Lean 4 issue https://github.com/leanprover/lean4/issues/1979 proposing that we fix this there, allowing ↦ as input form for everyone, and having ↦ in output only if a pp option is set. That option would default to false, but we would turn it on globally for mathlib4 in the lakefile.

Closing now that the notation has been enabled in Lean 4 (https://github.com/leanprover/lean4/pull/1984).


add github ci badge

@jamezp maybe it's good to have Github CI badge too :) :

@jamezp old badge removed!


Backend ML model yolov5 main need fix

Machine: backend EC2
File: /home/ubuntu/MathSearch/ml-model/yolov5/main.py
Issue: cannot run yolov5 main
Goal: be able to run, and ask Johann for Support. Flask will call this method to run ML model.
Change below
if __name__ == "__main__":
	# print(main("target_search.png")) # <- Why is there an arg? TypeError: main() takes 0 positional arguments but 1 was given - Emerald
	# print(main())
	print(print_ok())

to
if __name__ == "__main__":
	# print(main("target_search.png")) # <- Why is there an arg? TypeError: main() takes 0 positional arguments but 1 was given - Emerald
	print(main())
	# print(print_ok())

Run /opt/conda/bin/python3 /home/ubuntu/MathSearch/ml-model/yolov5/main.py to reproduce the bugs

Done.


Add possibility to use URL for build.yaml

PR is created to address https://github.com/xen-troops/moulin/issues/54

This PR as addressing https://github.com/xen-troops/moulin/issues/54

Rebased to HEAD.
Function _download_URL is renamed to _get_conf_file, and doc string is updated.
File user-reference.rst is updated with info that file is downloaded only if it doesn't exist locally.
Version is bumped to 0.10.

Comments are addressed.

Reviewed-by: Volodymyr Babchuk<EMAIL_ADDRESS>

RB is added.
Tested, see one of comments above.
Ready to be merged.


Select on Optionals with Statements

Do we want to support Statements in Selects on Optional<T>s?
var _ = from first in GetValue()
        select Console.WriteLine($"Value: {first}");

and
var _ = from first in GetValue()
        from second in GetValue()
        select Console.WriteLine($"Values: {first}, {second}");

Internally we would execute the statment, and return a Unit Value.

I think its weird to use this syntax for side effects

agreed


[bug] sfpegActionBarCmp - "Disabled" flag don't work well

The "disabled" flag in sfpegActionBarCmn, not work well when we modifie current record to invers the value of the flag

Issue closed. Not reproduced


RFE: Junit XML Report Test Cases should reveal information about assertions

Howdy @AnWeber the good news is that integration with gitlab is working! I see the test case page and timing information. 🎉
However, I do think a bit more work is needed:
Given an httpyac http file containing:
### Test API Endpoint
POST {{host}}/v1/some-api
Content-Type: application/json

{
    "propertyKey1": "propertyValue1",
    "propertykey2": "propertyValue2"
}
?? js response?.parsedBody?.responseArray?.length == 30

{{
  const assert = require('assert');
  test('test isFoo count', () => {
    assert.equal(
      response.parsedBody.responseArray.filter(e => e.isFoo).length,
      10
    );
  });
  test('test isBar count', () => {
    assert.equal(
      response.parsedBody.responseArray.filter(e => e.isBar).length,
      20
    );
  });
}}

Expectation is that the junit xml report would contain 1 test suite representing the overall http file and 3 test cases. One test case for test isFoo count, one test case for test isBar count and another test case for the total length of the responseArray where the test case name can be set to the condition text itself. Each test case tag should have attributes indicating ideally what line the test case starts on, what request fragment it belongs to and what http filename it appears in.
Actual: Currently when we view the junit xml for this example in gitlab. Gitlab reports that only a single test was ran and the name of the test is the name of the request Test Api Endpoint The assertion count of the test case is not displayed in the UI and  even if we could somehow display the assertion count, when a single assertion fails, there isn't enough information to drill down and figure out which assertion failed. So really what we consider assertions should be promoted to test cases.

Another option that would give us the same details on individual test assertions would be to have a test suite per request and a file could contain multiple test suites.
Another thing to note, if a request does not have any test assertions, it should probably be omitted from the report entirely. Currently I see a "test" for some of my setup auth requests that don't have assertions and that doesn't seem correct from a test report pov.

@mmadson maybe we should add a testsuite in a testsuite.
<testsuite>
    <testsuite name="test.http" ...>
         <testsuite name="GET /foo (line 2)" ...>
             <testcase name="testCase1" classname="Tests.Registration" time="2.113871" />
             ....
          </testsuite>
    </testsuite>
</testsuites>

Actual: Currently when we view the junit xml for this example in gitlab. Gitlab reports that only a single test was ran and ...

I will try to build an example with which I can test the behavior.

Another thing to note, if a request does not have any test assertions, it should probably be omitted from the report entirely.

Yes agree

There was no mind blown emoji that I could use to react with your comment but I had no idea you could nest test suites. Agree semantically that's a very nice option here. I'm also not sure how gitlab would handle nested test suites, but it's worth a shot. I'll try generating a static xml file with nested test suites to see what it would look like in gitlab first to see if it's even a worthwhile option for us. But agree the schema seems to support it. 🤞

using this exmple updated code generates this output. One problem is the wrong output, if the assert is generated by ?? status == 201. Then the line number is not correct. But this is not new, but I just noticed. Otherwise it looks good
GET https://httpbin.org/anything
?? status == 200
{{
  const assert = require('assert');
  test("status test", () => {
    assert.equal(response.statusCode, 200);
  })
}}
GET https://httpbin.org/anything
{{
  const assert = require('assert');
  test("status test", () => {
    assert.equal(response.statusCode, 201);
  })
}}
GET https://httpbin.org/anything
?? status == 201
###
# @disabled
GET https://httpbin.org/anything
?? status == 200
GET https://httpbin.org/anything

<?xml version="1.0" encoding="UTF-8"?>
<testsuites name="httpyac" tests="5" errors="0" disabled="1" failues="2" time="1.868">
  <testsuite name="assert.http" tests="5" failures="2" skipped="1" time="1.868" file="/home/andreas/github/httpyac/httpyac.github.io/examples/assert/assert.http">
    <testsuite name="GET https://httpbin.org/anything (line: 1)" tests="2" failures="0" skipped="0" package="assert.http" time="0.581">
      <properties>
        <property name="timestamp" value="2023-11-01T21:08:14.720Z"/>
      </properties>
      <testcase name="status == 200" assertions="1"/>
      <testcase name="status test" assertions="1"/>
    </testsuite>
    <testsuite name="GET https://httpbin.org/anything (line: 9)" tests="1" failures="1" skipped="0" package="assert.http" time="0.401">
      <properties>
        <property name="line" value="8"/>
        <property name="timestamp" value="2023-11-01T21:08:15.302Z"/>
      </properties>
      <testcase name="status test" assertions="1">
        <properties>
          <property name="displayMessage" value="AssertionError [ERR_ASSERTION]: 200 == 201 - /home/andreas/github/httpyac/httpyac.github.io/examples/assert/assert.http:13:12"/>
          <property name="file" value="/home/andreas/github/httpyac/httpyac.github.io/examples/assert/assert.http"/>
          <property name="line" value="13"/>
          <property name="offset" value="12"/>
          <property name="errorType" value="AssertionError [ERR_ASSERTION]"/>
          <property name="message" value="200 == 201"/>
        </properties>
        <failure message="status test" type="AssertionError [ERR_ASSERTION]"/>
        <system-err>{"message":"200 == 201","name":"AssertionError","stack":"AssertionError [ERR_ASSERTION]: 200 == 201\n    at /home/andreas/github/httpyac/httpyac.github.io/examples/assert/assert.http:13:12\n    at Object.test (/home/andreas/github/httpyac/httpyac/dist/index.js:2849:9)\n    at Object.userJS (/home/andreas/github/httpyac/httpyac.github.io/examples/assert/assert.http:12:3)\n    at runScript (/home/andreas/github/httpyac/httpyac/dist/index.js:9084:25)\n    at executeScriptData (/home/andreas/github/httpyac/httpyac/dist/index.js:9321:24)\n    at Object.action (/home/andreas/github/httpyac/httpyac/dist/index.js:9285:44)\n    at n.trigger (/home/andreas/github/httpyac/httpyac/node_modules/hookpoint/dist/index.js:1:2866)\n    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n    at async _HttpRegion.execute (/home/andreas/github/httpyac/httpyac/dist/index.js:3771:22)\n    at async sendHttpRegions (/home/andreas/github/httpyac/httpyac/dist/index.js:12200:12)"}</system-err>
      </testcase>
    </testsuite>
    <testsuite name="GET https://httpbin.org/anything (line: 16)" tests="1" failures="1" skipped="0" package="assert.http" time="0.390">
      <properties>
        <property name="line" value="15"/>
        <property name="timestamp" value="2023-11-01T21:08:15.703Z"/>
      </properties>
      <testcase name="status == 201" assertions="1">
        <properties>
          <property name="displayMessage" value="AssertionError [ERR_ASSERTION]: status (200) == 201 - /home/andreas/github/httpyac/httpyac/dist/index.js:3373:36"/>
          <property name="file" value="/home/andreas/github/httpyac/httpyac/dist/index.js"/>
          <property name="line" value="3373"/>
          <property name="offset" value="36"/>
          <property name="errorType" value="AssertionError [ERR_ASSERTION]"/>
          <property name="message" value="status (200) == 201"/>
        </properties>
        <failure message="status == 201" type="AssertionError [ERR_ASSERTION]"/>
        <system-err>{"message":"status (200) == 201","name":"AssertionError","stack":"AssertionError [ERR_ASSERTION]: status (200) == 201\n    at /home/andreas/github/httpyac/httpyac/dist/index.js:3373:36\n    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n    at async test (/home/andreas/github/httpyac/httpyac/dist/index.js:2822:9)\n    at async Object.action (/home/andreas/github/httpyac/httpyac/dist/index.js:3362:11)\n    at async n.trigger (/home/andreas/github/httpyac/httpyac/node_modules/hookpoint/dist/index.js:1:2849)\n    at async onResponse (/home/andreas/github/httpyac/httpyac/dist/index.js:1684:7)\n    at async Object.action (/home/andreas/github/httpyac/httpyac/dist/index.js:1578:16)\n    at async n.trigger (/home/andreas/github/httpyac/httpyac/node_modules/hookpoint/dist/index.js:1:2849)\n    at async _HttpRegion.execute (/home/andreas/github/httpyac/httpyac/dist/index.js:3771:22)\n    at async sendHttpRegions (/home/andreas/github/httpyac/httpyac/dist/index.js:12200:12)"}</system-err>
      </testcase>
    </testsuite>
    <testsuite name="GET https://httpbin.org/anything (line: 20)" tests="1" failures="0" skipped="1" package="assert.http" time="0.000">
      <properties>
        <property name="line" value="18"/>
        <property name="timestamp" value="2023-11-01T21:08:16.094Z"/>
      </properties>
      <testcase name="skipped all tests">
        <skipped/>
      </testcase>
    </testsuite>
    <testsuite name="GET https://httpbin.org/anything (line: 22)" tests="0" failures="0" skipped="0" package="assert.http" time="0.495">
      <properties>
        <property name="line" value="21"/>
        <property name="timestamp" value="2023-11-01T21:08:16.094Z"/>
      </properties>
    </testsuite>
  </testsuite>

Much closer @AnWeber few more fixes I think we need:

When the test case does not have a name but is a javascript expression, it looks like we're not escaping the attribute contents correctly.

Expected:
            <testcase
                name="response?.parsedBody?.snippetDecisions?.filter(d => !d.sensitive)?.length == 1"
                assertions="1" />

Actual:
            <testcase
                name="response?.parsedBody?.snippetDecisions?.filter(d => !d.sensitive)?.length == 1"
                assertions="1" />

Additionally it seems that not including the time attribute on the test case itself, breaks the duration reporting in gitlab. I realize getting accurate timing information for each assertion is unlikely so I'm not really sure how to solve this problem. Currently I see 0s for all the test durations in gitlab. =/
Also it looks like gitlab can't figure out how to associate a testcase with a testsuite name despite them being nested. I used the example xml from the link you provided earlier and that seemed to work so I believe gitlab uses the classname attribute of the testcase tag to populate the testcase's test suite, if we can duplicate the test suite name as the test cases classname attribute that should solve this problem. I think we'll also want to include the filename as the file attribute of the testcase as well so it shows up in the UI.

I added a new edge docker image to simplify tests in gitlab. It uses latest main: ghcr.io/anweber/httpyac:edge
https://github.com/AnWeber/httpyac/pkgs/container/httpyac/143649374?tag=edge

@AnWeber
tested edge on my gitlab functional test job.

test case durations look good even though they are faked
filename links look good
test suite names look good
test case names make sense from the assertion name / assertion condition.

One thing I noticed when testing out the docker container is that httpyac doesn't seem to be on the container's path. My usage of the container looks something like this:
functional-test-staging:
  image: ghcr.io/anweber/httpyac:edge
  stage: test
  tags:
    - k8s
  script:
    - cp -f $HTTP_CLIENT_PRIVATE_VARS_FILE http-client.private.env.json
    - /httpyac/bin/httpyac.js send functional-test.http -a -e stg --junit > functional-test.xml
  artifacts:
    when: always
    paths:
      - functional-test.xml
    reports:
      junit: functional-test.xml

It'd be super cool if instead of having to know that httpyac.js is located at /httpyac/bin, if /httpyac/bin was included in the container's PATH env var, ideally without the js extension so that my gitlab yaml could look like:
functional-test-staging:
  image: ghcr.io/anweber/httpyac:edge
  stage: test
  tags:
    - k8s
  script:
    - cp -f $HTTP_CLIENT_PRIVATE_VARS_FILE http-client.private.env.json
    - httpyac send functional-test.http -a -e stg --junit > functional-test.xml
  artifacts:
    when: always
    paths:
      - functional-test.xml
    reports:
      junit: functional-test.xml

Other than that, I think we're good to go!

It'd be super cool if instead of having to know that httpyac.js is located at /httpyac/bin, if /httpyac/bin was included in the container's PATH env var

should work with the next edge/ release. I added a npm link command to allow global usage of httpyac in docker

Getting an unusual error with both edge image and 6.9.3
$ httpyac send functional-test.http -a -e stg --junit > functional-test.xml
[Error: ENOENT: no such file or directory, scandir 'stg'] {
  errno: -2,
  code: 'ENOENT',
  syscall: 'scandir',
  path: 'stg'
}

Seems like something with the env specifier changed? Will dig into the code to see if I can figure it out.

@mmadson I don't have the error right now. I have tested it with similar command with this setup structure
 httpyac send test.http -a -e dev --junit > functional-test.xml

@mmadson I don't have the error right now. I have tested it with similar command with this setup structure
 httpyac send test.http -a -e dev --junit > functional-test.xml

Is your test running from within the docker container by chance? That's where I'm seeing the error. If I install httpyac, everything seems to work okay but when trying to run from within the container via gitlab that's when I run into this issue.

No, did not run in docker. But seems also fine

I took a look at the code that uses the environment and simply used an empty array as a fallback in the event of an error.

Sorry for not being precise, when I say run within a container what I mean is that when I define a step in my gitlab ci yaml file such that the image is httpyac:edge or httpyac:some-version-id gitlab pulls the image and starts an instance of the container, then it pulls all the repo files and copies the files into the container owned by the root user and root group. My repo files contains my http functional test file. I believe it copies the files into the cwd of the container which would be the /data dir. Then it executes each command defined in the gitlab yaml file as if you were running from a bash shell within the container.
So to simulate my error scenario, you'd need to somehow get a sample http file inside the container, connect to the running container's bash shell and then execute httpyac from within the container targeting the sample http file.
I suspect it's some kind of user or permissions issue, maybe because the file is owned by root and the current user is set to node? Not entirely sure what the root cause of the error is.
I can easily switch back to not using the httpyac docker image for my gitlab step and instead targeting a regular node image and then using npx to install and run httpyac without issue, but not having to "install" httpyac would be a nice optimization if possible.

please disregard my last few comments on the docker image bug, turns out it was entirely unrelated. My gitlab yaml was defining an environment variable to define which environment to pass to the -e flag and it just so happened the env variable I used was HTTPYAC_ENV and apparently this is a special reserved env variable that was messing up the execution of my tests. Didn't have anything to do with the docker image. Changing it to SELECTED_ENV fixed everything up.
As such this is working perfectly:
functional-test:
  image: ghcr.io/anweber/httpyac:6.9.3
  stage: test
  tags:
    - k8s
  rules:
    - if: '$RUN_FUNCTIONAL_TEST_STAGING == "true" && $FUNCTIONAL_TEST_PIPELINE == "true"'
      variables:
        SELECTED_ENV: "stg"
    - if: '$RUN_FUNCTIONAL_TEST_PRODUCTION == "true" && $FUNCTIONAL_TEST_PIPELINE == "true"'
      variables:
        SELECTED_ENV: "prd"
  script:
    - cp -f $HTTP_CLIENT_PRIVATE_VARS_FILE http-client.private.env.json
    - httpyac send functional-test.http -a -e "$SELECTED_ENV" --junit > functional-test.xml
  artifacts:
    when: always
    paths:
      - functional-test.xml
    reports:
      junit: functional-test.xml

Thanks again for all your help with this. Feel free to consider this issue and feature request resolved. =)

:-) The variables HTTPYAC_ENV and HTTPYAC_PLUGIN are currently still too well hidden. I am not sure whether I have already included them in the documentation. I added them once at short notice so that I don't always have to copy my .env files into every project.


ADD: Teams Endpoint

More Details to follow

I got this one

I would like to help with this one and then compare with Ryan if that works!

@brandonwilliamsk it would be good to work through it together too. But I did assign you both to the issue.


Add jitr as BAND software for v04

Adds github.com/beykyle/jitr as a git submodule in software

@beykyle - can you please change the target branch to develop (instead of main)?

@wildsm done!

Following the instructions at
https://github.com/beykyle/jitr/tree/37c313dc7dea7abc024516117c43d00f48ed22d1

pip install jitr succeeds
pytest from the main directory fails with the following output:

=========================== short test summary info ============================
FAILED test/test_coupled_single_dwba.py::test_coupled_vs_single - TypeError: _vhstack_dispatcher() got an unexpected keyword argument 'dtype'
FAILED test/test_local.py::test_local - TypeError: _vhstack_dispatcher() got an unexpected keyword argument 'dtype'
FAILED test/test_wavefunction.py::test_wavefunction - TypeError: _vhstack_dispatcher() got an unexpected keyword argument 'dtype'
=================== 3 failed, 2 passed, 6 warnings in 6.87s ====================

The warnings relate to utils.py:
DeprecationWarning: scipy.misc.derivative is deprecated in SciPy v1.10.0; and will be completely removed in SciPy v1.12.0. You may consider using findiff: https://github.com/maroba/findiff or numdifftools: https://github.com/pbrod/numdifftools

Is anyone else able to reproduce?
@beykyle any thoughts on a fix?

Will add manuelcatacora
Kyle is this ready or still a draft?

Hey @wildsm, thank you for reviewing. I will look into these today and report back.

@wildsm I believe all the links should be fixed, and and the test that wasn't working on your machine should work, as of https://github.com/beykyle/jitr/releases/tag/v1.4. I will update this PR to point to the correct jitr version.

@wildsm  Done, looks like no more merge conflicts here.

@beykyle - check out https://github.com/beykyle/bandframework/pull/1

Some quick comments from me on the latest version:

Under the testing header of https://github.com/beykyle/jitr/tree/f8f323e7101aed2baa5ffb2ebf837f7a66fb6ea0 , I believe that you should specify that you are need to run from the testing/ directory.

E            y: array(0)

/usr/lib/python3.10/contextlib.py:79: AssertionError
=========================================== warnings summary ============================================
../../../../../../../.local/lib/python3.10/site-packages/jitr/utils.py:142: 2 warnings
test_local.py: 20 warnings
test_wavefunction.py: 2 warnings
  /home/wild/.local/lib/python3.10/site-packages/jitr/utils.py:142: DeprecationWarning: scipy.misc.derivative is deprecated in SciPy v1.10.0; and will be completely removed in SciPy v1.12.0. You may consider using findiff: https://github.com/maroba/findiff or numdifftools: https://github.com/pbrod/numdifftools
    return derivative(lambda z: H_plus(z, l, eta, asym), s, dx=dx)

../../../../../../../.local/lib/python3.10/site-packages/jitr/utils.py:149: 2 warnings
test_local.py: 20 warnings
test_wavefunction.py: 2 warnings
  /home/wild/.local/lib/python3.10/site-packages/jitr/utils.py:149: DeprecationWarning: scipy.misc.derivative is deprecated in SciPy v1.10.0; and will be completely removed in SciPy v1.12.0. You may consider using findiff: https://github.com/maroba/findiff or numdifftools: https://github.com/pbrod/numdifftools
    return derivative(lambda z: H_minus(z, l, eta, asym), s, dx=dx)

test_coupled_single_dwba.py::test_coupled_vs_single
  /home/wild/.local/lib/python3.10/site-packages/jitr/rmatrix.py:46: NumbaPerformanceWarning: '@' is faster on contiguous arrays, called on (Array(complex128, 1, 'C', False, aligned=True), Array(complex128, 2, 'A', False, aligned=True))
    R, Ainv = rmatrix_with_inverse(A, b, nchannels, nbasis, a)

test_local.py: 10 warnings
  /home/wild/oldcomp/repos/testing/bandframework/software/jitr/test/test_local.py:121: DeprecationWarning: Conversion of an array with ndim > 0 to a scalar is deprecated, and will error in future. Ensure you extract a single element from your array before performing this operation. (Deprecated NumPy 1.25.)
    error_matrix[l, i] = err

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
======================================== short test summary info ========================================
FAILED test_wavefunction.py::test_wavefunction - AssertionError:
=============================== 1 failed, 4 passed, 59 warnings in 18.75s ===============================

@wildsm Thanks for testing, let me take a look.

Hey @wildsm, I am unable to reproduce this failed test. Can you send me the versions of scipy and numpy you are using?
I am close to another release, I can try updating to point toward that and see if that fixes things on your end.

I will keep looking into the test that failed. As far as the warnings, there is an open issue that addresses the ones related to scipy.derivative. I'll make issues for the other two.

I resolved the merge conflict. @beykyle are you sticking with this version or did you want to use the newer release mentioned above?

@beykyle - please add pandas to the requirements

@wildsm done

After installing pandas-2.2.3, the tests succeed with the following known warnings:
================================ test session starts ================================
platform linux -- Python 3.10.12, pytest-8.3.3, pluggy-1.5.0
rootdir: /home/wild/oldcomp/repos/test2/jitr
configfile: pyproject.toml
collected 5 items

test/test_coupled_single_dwba.py .                                            [ 20%]
test/test_integration.py ..                                                   [ 60%]
test/test_local.py .                                                          [ 80%]
test/test_wavefunction.py .                                                   [100%]

================================= warnings summary ==================================
src/jitr/utils/free_solutions.py:92: 33 warnings
test/test_local.py: 60 warnings
test/test_wavefunction.py: 1 warning
  /home/wild/oldcomp/repos/test2/jitr/src/jitr/utils/free_solutions.py:92: DeprecationWarning: scipy.misc.derivative is deprecated in SciPy v1.10.0; and will be completely removed in SciPy v1.12.0. You may consider using findiff: https://github.com/maroba/findiff or numdifftools: https://github.com/pbrod/numdifftools
    return derivative(lambda z: H_plus(z, l, eta, asym), s, dx=dx)

src/jitr/utils/free_solutions.py:99: 33 warnings
test/test_local.py: 60 warnings
test/test_wavefunction.py: 1 warning
  /home/wild/oldcomp/repos/test2/jitr/src/jitr/utils/free_solutions.py:99: DeprecationWarning: scipy.misc.derivative is deprecated in SciPy v1.10.0; and will be completely removed in SciPy v1.12.0. You may consider using findiff: https://github.com/maroba/findiff or numdifftools: https://github.com/pbrod/numdifftools
    return derivative(lambda z: H_minus(z, l, eta, asym), s, dx=dx)

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
========================= 5 passed, 188 warnings in 22.27s =========================

I.e., all good once pandas dependencies addressed

Thanks @beykyle

Thanks for the help on this @wildsm !


[models] DrawModelEx(), pass Model struct by pointer instead of by value

Further discussion on this issue to evaluate if it really worths it.
Discussion started in issue https://github.com/raysan5/raylib/issues/560

No plans to change this for now.


[Event Hubs] Use BinaryData in Event Hubs to integrate with Schema Registry

Switch to using BinaryData in Event Hubs createBatch APIs.

Closed in #17502


Mathlifier: allow config file for defaults

Currently the default options are {wrap: true} for math() and {overflowAuto: false} for display() along with {throwOnError: false} for both.
If a user wants a different set of defaults, they will have to create an options object and pass it into every function call.
It will be useful if the library can support a config file for a project-wide set of defaults. This could be especially helpful for things like macros.

Solved by Mathlifier v2's setOptions for the html mathlifier
Note to self: do we want a similar architecture for mathlifierDj and mathlifierTex? Or even at the factory level?


Roll Flutter Engine from 564480337eae to 42b6d352d412 (6 revisions)

https://github.com/flutter/engine/compare/564480337eae...42b6d352d412
2023-09-23<EMAIL_ADDRESS>[ios] Fix default assets url (flutter/engine#46214)
2023-09-23<EMAIL_ADDRESS>Roll Skia from 15ccdeaba011 to 983f42f4c76b (1 revision) (flutter/engine#46223)
2023-09-23<EMAIL_ADDRESS>Revert "[Impeller] fail if software backend is chosen and Impeller is enabled on iOS" (flutter/engine#46217)
2023-09-23<EMAIL_ADDRESS>Roll Fuchsia Linux SDK from QcxgV9KlY7j3o3b4j... to PCEkaltiQ-iEKlmEj... (flutter/engine#46221)
2023-09-22<EMAIL_ADDRESS>[Impeller] dont treat non-rects as rects. (flutter/engine#46218)
2023-09-22<EMAIL_ADDRESS>Roll Skia from e9358f92110c to 15ccdeaba011 (1 revision) (flutter/engine#46216)
Also rolling transitive DEPS:
fuchsia/sdk/core/linux-amd64 from QcxgV9KlY7j3 to PCEkaltiQ-iE
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Please CC jonahwilliams@google.com,rmistry<EMAIL_ADDRESS>on the revert to ensure that a human
is aware of the problem.
To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose
To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Commit queue failed; closing this roll.


Fix Flatpak remote-modify not working

found this issue
https://github.com/flatpak/flatpak/issues/5637
remote-modify does not seem to work. So users will have the limited Flathub selection, but with remote-modify cant opt-in to all Flatpaks.
This means they need to delete the repo and all the apps coming with it, add the other repo and apply the malloc override again (?).
This is an upstream issue but we should be aware of it and follow a fix in the future.

Most of that is untrue. Users can just add another remote and have both flathub and flathub-verified. This is a non-issue.


Attempt to fix caching of 'postgres' build in github action.

I'm not sure if this helps. We'll see what if the github action passes on this PR..

Got it to work. I'll close this and open a new PR for comments, now that I know how it should be fixed.


Removing scan and moving to alternatives

Just merging this, as I'll be working on this branch on your rep for the changes

@GavinDmello I didn't understand. Do you want to merge this into master?

No. I merged this to a different branch and will be adding the other changes there
branch remove scan


Include line below the action item in the comment

In almost all cases, an action item refers to the line of code below it. If there is a line after the current one, the code permalink should include it.
Careful: If a referenced line in the permalink does not exist on the file, the code will not render at all.

This is not really feasible, as there is no API endpoint to get information like this, and the effort of parsing raw file contents would not be in relation to the benefit.


It fails since Windows 10 upgrade 1511, 10586

RDPWrapper work not any more since the last Windows 10 ugrade to Version 1511, 10586

Duplicate of https://github.com/binarymaster/rdpwrap/issues/87


Update for dashboard and service steps. - [closed]

In GitLab by @liyanq528 on Sep 8, 2017, 07:09
Merges 20170908 -> dev

In GitLab by @wknet123 on Nov 13, 2019, 09:56
closed


Highlight issues with dressing.nvim

I'm trying to use https://github.com/stevearc/dressing.nvim as a replacement for vim.ui.input, however nordic's highlighting is causing some weird issues:

Where the title should be text that says "Rename To"
At the very least, it looks like non-minimal-mode is missing a FloatBorder definition.

Nice catch! I also see this now and can't remember it being like this.
Probably related to https://github.com/stevearc/dressing.nvim/commit/e14e35a9d46575882f7d2df5b7a051563d1b7b16 :thinking:

Should be fixed now. Thanks for reporting! :+1:


Same code but from webcam

Do you have the pipeline configuration to read images form a webcam stream?

I haven't had a look at this particular use, but I guess you'd first need to find a video processing lib. Feel free to let me know if you made progress.

I haven't had a look at this particular use, but I guess you'd first need to find a video processing lib. Feel free to let me know if you made progress.

Maybe have a look here https://github.com/teonsen/WebcamImageClassification


Reworked generate perf

just doing this to run tests (maybe CI shouldn't restrict test running to only main PRs?)

ahh haha yeah, no reason it needs to care at all which branch the PRs are to these days


Update label scheme

@kenny-evitt, as requested, here is summary of the initial desired label changes. There is nothing too crazy... probably the most significant is appending types to various labels. For instance status:  to statuslabels such as status: blocked. Since there are multiple changes, I want to get at least one other LT member's okay as a sanity check.
To better aid contributors, users, and visitors, I am suggesting we modify our labeling scheme. We are currently at 30 unique labels and it can be burdensome to sift through. Additionally, even with this number of labels we still have vague areas that don't have labels to adequately categorize some issues.
In keeping with Github label best practices the following changes are proposed:
General

Revise label definitions found in For Contributors wiki page. A label's name should be meaningful and clear enough that there is minimal need for elaboration.
Group types of labels by color. For instance, labels relating to bugs should all be the same or similar colors. Each group of labels should have a distinct color from other groups.

New Labels

parity labels for a select number of IDEs we feel we should attempt to stay up to speed with feature-wise. (e.g., sublime, atom)

Rename

Rename task label to maintenance. This label should cover all behind-the-scene issues including upgrades.
Rename feature label to make it more significant and distinct from enhancement. Current working name status: accepted.

By prepending the following, related labels will be grouped for easier selection, visibility, and meaning.

Prepend platform:  to all current platform label names. (Current labels: windows, linux, mac)
Prepend status:  to all current status label names. (Current labels: blocked, in progress)
Prepend resolution:  to all current resolution label names (Current labels: cannot reproduce, duplicate, triaged)

Remove

Remove experience label and relabel its 2 issues.
Remove fixed-on-master and fixed-upstream - they have 0 issues and have not been used since Nov 2015.
Remove python label as we have a python plugin where the issues should be sent.

As it always comes down to a question of who or time, I am happy to volunteer to implement the label changes.
Relevant links:

https://robinpowered.com/blog/best-practice-system-for-organizing-and-tagging-github-issues/
https://docs.saltstack.com/en/latest/topics/development/labels.html
<EMAIL_ADDRESS>

Rename feature label to make it more significant and distinct from enhancement.

We need proposals for that.

Prepend status: to all current status label names. (Current labels: cannot reproduce, blocked, crash, duplicate, triaged, in progress)

This should be divided between status: ones (blocked, in progress) and resolution: ones (cannot reproduce, duplicate, triaged). crash doesn't belong in either.

Alternatively, rename to user experience.

I disagree: UX has a specific meaning. experience should be deleted.
Apart from these, I agree on everything else.

I agree can agree with all this. I was torn with appending bug:  to the bug labels as the label be meaningful for non-bug issues too (e.g., using the electron label to identify an enhancement that involves electron.
I have updated the original post to reflect these changes.

go for it.

The requested changes have been applied with the following exceptions:

feature was not renamed as it does not quite fit in with the other status:  labels
fixed-on-master and fixed-upstream were not removed but prepended with resolution:


tsh db config --format cmd, with teleport-actions/auth, requests login despite being logged in

GitHub Action example:
jobs:
  run:
    runs-on: ubuntu-22.04
    permissions:
      id-token: write
      contents: read
    steps:
      - name: Checkout repository
        uses: actions/checkout@v3

      - name: Fetch Teleport binaries
        uses: teleport-actions/setup@v1
        with:
          version: 13.2.1

      - name: Setup MongoDB Atlas CLI and mongosh
        shell: bash
        run: |
          # sudo apt-get install gnupg
          wget -qO - https://pgp.mongodb.com/server-6.0.asc | sudo apt-key add -
          echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu jammy/mongodb-org/6.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-6.0.list
          sudo apt-get update
          sudo apt-get install -y mongodb-atlas
          echo >&2 "=============="
          echo >&2 "Running: atlas --version"
          atlas --version
          echo >&2 "Running: mongosh --version"
          mongosh --version

          atlas config set public_api_key ${{ secrets.MONGODB_ATLAS_PUBLIC_KEY }}
          atlas config set private_api_key ${{ secrets.MONGODB_ATLAS_PRIVATE_KEY }}
          atlas config set service "cloud"

      - name: Fetch Teleport credentials
        id: auth
        uses: teleport-actions/auth@v1
        with:
          proxy: example.teleport.sh:443
          token: example-token
          certificate-ttl: 8h

      - name: Setup DB access
        shell: bash
        run: |
          tsh -i ${{ steps.auth.outputs.identity-file }} db ls -f json \
            | jq -r --arg name example-db-name '.[].metadata.name | select(startswith($name))' \
            | xargs -n 1 tsh -i ${{ steps.auth.outputs.identity-file }} db login --db-user=example-db-user

          tsh -i ${{ steps.auth.outputs.identity-file }} db ls -f json \
            | jq -r --arg name example-db-name '.[].metadata.name | select(startswith($name))' \
            | xargs -n 1 tsh -i ${{ steps.auth.outputs.identity-file }} db config --format cmd

      - name: Run maintenance script
        run: ./run.sh example-db-name

(in the context of trying to debug the run.sh script
Gives me the following output in the Setup DB access output:
Connection information for database "example-db-name" has been saved.

You can now connect to it using the following command:

  tsh db connect --db-name=<name> example-db-name

You can view the connect command for the native database CLI client:

  tsh db config --format=cmd example-db-name

Connection information for database "example-db-name-shard-00-00" has been saved.

You can now connect to it using the following command:

  tsh db connect --db-name=<name> example-db-name-shard-00-00

You can view the connect command for the native database CLI client:

  tsh db config --format=cmd example-db-name-shard-00-00

Connection information for database "example-db-name-shard-00-01" has been saved.

You can now connect to it using the following command:

  tsh db connect --db-name=<name> example-db-name-shard-00-01

You can view the connect command for the native database CLI client:

  tsh db config --format=cmd example-db-name-shard-00-01

Connection information for database "example-db-name-shard-00-02" has been saved.

You can now connect to it using the following command:

  tsh db connect --db-name=<name> example-db-name-shard-00-02

You can view the connect command for the native database CLI client:

  tsh db config --format=cmd example-db-name-shard-00-02

ERROR: please login using 'tsh db login' first

ERROR: please login using 'tsh db login' first

ERROR: please login using 'tsh db login' first

ERROR: please login using 'tsh db login' first

I expect not to have the ERRORs and to instead see output similar to what I see on my laptop:
/opt/homebrew/bin/mongosh --tls --tlsCertificateKeyFile /path/to/.tsh/keys/example.teleport.sh/example-user-db/example.teleport.sh/example-db-name-x509.pem --tlsUseSystemCA "mongodb://example.teleport.sh:443/?serverSelectionTimeoutMS=5000"

so that I can copy the actual /path/to/.tsh/keys/example.teleport.sh/example-user-db/example.teleport.sh/example-db-name-x509.pem and use it in my maintenance script (seeing as how they're not being stored in /home/runner/.tsh).

Example debug logs from before the ERROR:
2023-07-19T09:15:12Z INFO [CLIENT]    ALPN connection upgrade required for "example.teleport.sh:443": false. client/api.go:678
2023-07-19T09:15:12Z INFO [CLIENT]    no host login given. defaulting to runner client/api.go:1043
2023-07-19T09:15:12Z DEBU [CLIENT]    Skipping connection to the local ssh-agent. client/keyagent.go:136
2023-07-19T09:15:12Z DEBU [KEYSTORE]  Teleport TLS certificate valid until "2023-07-19 17:15:00 +0000 UTC". client/client_store.go:106
2023-07-19T09:15:12Z INFO [KEYAGENT]  Loading SSH key for user "bot-example-bot" and cluster "example.teleport.sh". client/keyagent.go:195
2023-07-19T09:15:12Z DEBU [TSH]       Pinging the proxy to fetch listening addresses for non-web ports. tsh/tsh.go:3308
2023-07-19T09:15:12Z DEBU [CLIENT]    not using loopback pool for remote proxy addr: example.teleport.sh:443 client/api.go:4225
2023-07-19T09:15:12Z DEBU             Attempting GET example.teleport.sh:443/webapi/ping webclient/webclient.go:129
2023-07-19T09:15:12Z DEBU [KEYSTORE]  Teleport TLS certificate valid until "2023-07-19 17:15:00 +0000 UTC". client/client_store.go:106
2023-07-19T09:15:12Z DEBU [KEYSTORE]  Teleport TLS certificate valid until "2023-07-19 17:15:00 +0000 UTC". client/client_store.go:106

ERROR REPORT:
Original Error: *trace.NotFoundError please login using 'tsh db login' first
Stack Trace:
	github.com/gravitational/teleport/tool/tsh/db.go:1038 main.pickActiveDatabase
	github.com/gravitational/teleport/tool/tsh/db.go:474 main.onDatabaseConfig
	github.com/gravitational/teleport/tool/tsh/tsh.go:1281 main.Run
	github.com/gravitational/teleport/tool/tsh/tsh.go:515 main.main
	runtime/proc.go:250 runtime.main
	runtime/asm_amd64.s:[159](https://github.com/example/example/actions/runs/0123456789/jobs/01234567890#step:6:160)8 runtime.goexit
User Message: please login using 'tsh db login' first

Apologies - I responded to your ticket but didn't leave a reply on this GitHub issue. For the benefit of anyone else stumbling on this - Machine ID produces "specific" certificates that cannot be used across protocols. The auth action cannot be used for Kubernetes, Database or Application access and the more specific actions must be used.


separate out app into files/projects

Michael Grinberg has an example of application structure https://blog.miguelgrinberg.com/post/the-flask-mega-tutorial-part-xv-a-better-application-structure
Some ideas on structure perhaps here as well https://github.com/app-generator/flask-illustrations-iradesign/tree/master/app

Fixed in #6


fix(systemd/network): exclude node* and kube* from dhcp by default

[systemd/network: exclude node* and kube* from dhcp by default]
Currently, when using kubeadm join, it says that the command works but sometimes it fails because the container nodelocaldns creates a dummy interface called nodelocaldns by default and systemd-networkd manages it with the default file zz-default.network that adds DHCP and IPV6RA support.
So when nodelocaldns tries to do an equivalent of ip addr add, the command works but it will silently fail because the interface is managed by two different programs (systemd-networkd and nodelocaldns)
How to use
Check that the interfaces created by kube-proxy and nodelocaldns are not managed by systemd-networkd with the command networkctl.
Check that kubeadm join properly works so the node can join the cluster by setting its default nodelocaldns interface to the IPs defined with -localip in the node-cache container.
Testing done
Checked that everything in How to use works

cc @pothos @krnowak

Thanks

I actually had excluded dummy devices from being managed by default. Have to check why this is not working: https://github.com/flatcar/init/blob/flatcar-master/systemd/network/zz-default.network#L8

Ah, Type vs Driver!

Fix prepared in https://github.com/flatcar/init/pull/90
We can still keep your changes, we also have this for other similar cases and these are probably the ones we would backport. I still would love to see Kubernetes to provide the unit itself in /run/systemd/network/ instead of forcing distros and users to take care of this.


(BUG) The "Scan QR" button isn't displayed on the "Send G$" page

Precondition:
The dashboard is opened
Steps to reproduce:

Click the "Send" button
Pay attention to the lack of the "Scan QR" button

Actual result: The "Scan QR" button isn't displayed on the "Send G$" page. The user isn't able to send via QR. We had the  "To" page where the button was located but after removing we directly redirected to the "How much?" page
Expected result: The "Scan QR" button should be displayed on the "Send G$" page
Video: https://www.screencast.com/t/WCsTFwL15

Checked on  QA 1.7.1-2
LG V30+ // Android 8.0 // Google Chrome 86.0.4240.75
Desktop: Windows 10 // Google Chrome  86.0.4240.75

@sirpy QR button  is displayed and work


Cleanup handling of features detection in tests

What does this PR do?
Cleanup handling of features detection in tests
Motivation
Cleaner code.
Additional Notes
Possible Drawbacks / Trade-offs
Describe how to test/QA your changes
No QA, CI run is enough.
Reviewer's Checklist

[x] If known, an appropriate milestone has been selected; otherwise the Triage milestone is set.
[x] Use the major_change label if your change either has a major impact on the code base, is impacting multiple teams or is changing important well-established internals of the Agent. This label will be use during QA to make sure each team pay extra attention to the changed behavior. For any customer facing change use a releasenote.
[x] A release note has been added or the changelog/no-changelog label has been applied.
[x] Changed code has automated tests for its functionality.
[x] Adequate QA/testing plan information is provided if the qa/skip-qa label is not applied.
[x] At least one team/.. label has been applied, indicating the team(s) that should QA this change.
[x] If applicable, docs team has been notified or an issue has been opened on the documentation repo.
[x] If applicable, the need-change/operator and need-change/helm labels have been applied.
[x] If applicable, the k8s/<min-version> label, indicating the lowest Kubernetes version compatible with this feature.
[x] If applicable, the config template has been updated.

We added the test build tag in https://github.com/DataDog/datadog-agent/pull/16437. We should rebase this PR on main and take it from there

Will this call still work with these changes? https://github.com/datadog/datadog-agent/blob/main/pkg/network/tracer/connection/fentry/tracer.go#L30

Will this call still work with these changes? https://github.com/datadog/datadog-agent/blob/main/pkg/network/tracer/connection/fentry/tracer.go#L30

It does not impact any live code, only test code. And for test code I've normally migrated everything, so should be no diff.

Will this call still work with these changes? https://github.com/datadog/datadog-agent/blob/main/pkg/network/tracer/connection/fentry/tracer.go#L30

It does not impact any live code, only test code. And for test code I've normally migrated everything, so should be no diff.

But this is called from test code indirectly.

Will this call still work with these changes? https://github.com/datadog/datadog-agent/blob/main/pkg/network/tracer/connection/fentry/tracer.go#L30

It does not impact any live code, only test code. And for test code I've normally migrated everything, so should be no diff.

But this is called from test code indirectly.

And for test code I've normally migrated everything, so should be no diff.

Serverless tests broken due to unrelated reason:
####### RAW LOGS OUTPUT for trace-go cf9fd256 INIT_START Runtime Version: provided:al2.v17	Runtime Version ARN: arn:aws:lambda:eu-west-1::runtime:f35635a04216ba4e6a0e74d3c2db080d443709a8f3f2e71fedf54a4f8756705d
/opt/extensions/recorder-extension: /lib64/libc.so.6: version `GLIBC_2.32' not found (required by /opt/extensions/recorder-extension)
/opt/extensions/recorder-extension: /lib64/libc.so.6: version `GLIBC_2.34' not found (required by /opt/extensions/recorder-extension)
EXTENSION	Name: datadog-agent	State: Started	Events: []
EXTENSION	Name: recorder-extension	State: Started	Events: []
/opt/extensions/recorder-extension: /lib64/libc.so.6: version `GLIBC_2.32' not found (required by /opt/extensions/recorder-extension)
/opt/extensions/recorder-extension: /lib64/libc.so.6: version `GLIBC_2.34' not found (required by /opt/extensions/recorder-extension)
EXTENSION	Name: datadog-agent	State: Started	Events: []
EXTENSION	Name: recorder-extension	State: Started	Events: []
START
RequestId: 4bdf07eb-5baf-4c6d-aee4-7169086831f4 Error: exit status 1
Extension.Crash
END Duration: 38.27 ms (init: 1-642fef0a-4b208a911e9f00d27f5de1cb) Memory Used: 7 MB
EXTENSION	Name: datadog-agent	State: Started	Events: []
EXTENSION	Name: recorder-extension	State: Started	Events: []
START
/opt/extensions/recorder-extension: /lib64/libc.so.6: version `GLIBC_2.32' not found (required by /opt/extensions/recorder-extension)
/opt/extensions/recorder-extension: /lib64/libc.so.6: version `GLIBC_2.34' not found (required by /opt/extensions/recorder-extension)
RequestId: 71611419-92e9-4940-bff2-ccf022dfa770 Error: exit status 1
Extension.Crash
END Duration: 21.12 ms (init: 1-642fef4e-46d3836620a0fd4c0ac911d9) Memory Used: 7 MB


Eslint isn't run in directory without .eslintrc.json

I'm in /path/to/project/routes and my config file is /path/to/project/.eslintrc.json.
When I open /path/to/project/routes.js and type this:
const fetch = require("node-fetch")
const server = "http://jsonplaceholder.typicode.com/posts/1"

let appRouter = app => {
  app.get("/foo", (req, res) => {
    fetch(server)
      .then(res => res.json())
      .then(json => console.log("parsed json", json));
  });

This is nonsense: (*&*(&^&(*&*^
}

module.exports = appRouter;

I expect some kind of error, how I don't  get one. when I do :SyntasticInfo I get
Syntastic version: 3.8.0-14 (Vim 800, Darwin)
Info for filetype: javascript
Global mode: active
Filetype javascript is active
The current file will be checked automatically
Available checkers: eslint jshint
Currently enabled checker: eslint

so what was the issue?

I was googling and then I've reached this issue.
I have a file named .eslintrc.js not .eslintrc.json.
Can I use this .eslintrc.js instead of .eslintrc.json?
I have a project that the others manage and they use .eslintrc.js or .eslintrc as name of configuration file.
I don't know whether vim-syntastic has the responsibility regarding this or not, but if you know how to achieve the above, please tell me what I should do.

@harukaeru Syntastic doesn't care either way.  You should consider asking on an eslint forum.


fix build issues

Fixing some warnings from the build report. Changes for XElement.xml are related to #2459.

@mairaw, responded to your comments on just 2 of the APIs. The DateTime/DateTimeOffset operators can be left if we note the XElement.Value property has to be passed. For the operators that return Nullable, we should note that the Value property is passed, and for Boolean that the value has to be converted to lowercase. If all of that information seems over the top, we can just not mention an operator alternative.

I would remove those, as the latter might be confusing .

@rpetrusha I think I've addressed all your feedback. Can you please verify it? Thanks!

I've removed all equivalent methods from the explicit operators in the XElement class. Let know if this is what you'd suggested @rpetrusha. Thanks!


Allow switch to app that is not in config but exists in cluster.

There might be a situation where application is not defined in local config but it is present in OpenShift cluster.
This situation can happen for example if user delted config file.
In this case we need to add application back to the the config  before we set is as active.

LGTM


Missing definitions for events related to <input type='field' ...>

TypeScript Version:
1.7.5
Code
           var reader = new FileReader();

            reader.onload = function(evt) {
                // console.log(evt.target.result);
                debugger;
                resolve(evt.target.result);
                // resolve(evt.srcElement.result);
            };

Expected behavior:
code should pass typescript check
Actual behavior:
the .result fields are being marked as does not exist on EventTarget / Element

ref https://developer.mozilla.org/en-US/docs/Web/API/FileReader/onload

This issue relate to #299, #4163

looks like a duplicate of #4163


Fresh Node setup with Blockchain Data from previous node

Hi guys,
I'm having trouble setting up a fresh install of Raspiblitz 1.9 using my blockchain data from my former ndoe.
I'm getting the following error message
Calling _provision.setup.sh for basic setup tasks ..
Follow in a new terminal with: 'tail -f raspiblitz.provision-setup.log'

ERROR - please report to development team

state(error) message(btc-testrun-fail)
https://github.com/rootzoll/raspiblitz#support
command to shutdown --> off
and the raspiblitz.provision-setup.log file reads
(41/50) checking if bitcoind is running ...
(42/50) checking if bitcoind is running ...
(43/50) checking if bitcoind is running ...
(44/50) checking if bitcoind is running ...
(45/50) checking if bitcoind is running ...
(46/50) checking if bitcoind is running ...
(47/50) checking if bitcoind is running ...
(48/50) checking if bitcoind is running ...
(49/50) checking if bitcoind is running ...
(50/50) checking if bitcoind is running ...
So it seems like the bitcoind can't start for whatever reason but I'm not sure what to do to fix it since I'm using a fresh install
Thanks a lot !!!

Please try with a v1.10.0 build if you still run into the same problem:
https://github.com/raspiblitz/raspiblitz/tree/v1.10#downloading-the-software


KAFKA-7902: Replace original loginContext if SASL/OAUTHBEARER refresh login fails

Code fix included.  Will add a test case ASAP -- hopefully today.
It is possible for a Java SASL/OAUTHBEARER client (either a non-broker producer/consumer client or a broker when acting as an inter-broker client) to end up in a state where it cannot connect to a new broker (or, if re-authentication as implemented by KIP-368 and merged for v2.2.0 were to be deployed and enabled, to be unable to re-authenticate). The error message looks like this:
Connection to node 1 failed authentication due to: An error: (java.security.PrivilegedActionException: javax.security.sasl.SaslException: Unable to find OAuth Bearer token in Subject's private credentials (size=2) [Caused by java.io.IOException: Unable to find OAuth Bearer token in Subject's private credentials (size=2)]) occurred when evaluating SASL token received from the Kafka Broker. Kafka Client will go to AUTHENTICATION_FAILED state.
The root cause of the problem begins at this point in the code:
https://github.com/apache/kafka/blob/2.0/clients/src/main/java/org/apache/kafka/common/security/oauthbearer/internals/expiring/ExpiringCredentialRefreshingLogin.java#L378:
The loginContext field doesn't get replaced with the old version stored away in the optionalLoginContextToLogout variable if/when the loginContext.login() call on line 381 throws an exception. This is an unusual event – the OAuth authorization server must be unavailable at the moment when the token refresh occurs – but when it does happen it puts the refresher thread instance in an invalid state because now its loginContext field represents the one that failed instead of the original one, which is now lost. The current loginContext can't be logged out – it will throw an InvalidStateException if that is attempted because there is no token associated with it – and the token associated with the login context that was lost can never be logged out and removed from the Subject's private credentials (because we don't retain a reference to it). The net effect is that we end up with an extra token on the Subject's private credentials, which eventually results in the exception mentioned above when the client tries to authenticate to a broker.
So the chain of events is:

login failure upon token refresh causes the refresher thread's login context field to be incorrect, and the existing token on the Subject's private credentials will never be logged out/removed
retry occurs in 10 seconds, potentially repeatedly until the authorization server is back online
login succeeds, adding a second token to the Subject's private credentials (logout is then called on the login context set incorrectly in the most recent failure – e.g. in step 1 – which results in an exception, but this is not the real issue – it is the 2 tokens on the Subject's private credentials that is the issue)
At this point we now have 2 tokens on the Subject, and then at some point in the future the client tries to make a new connection, it sees the 2 tokens and throws an exception – BOOM! The client is now unable to connect (or re-authenticate if applicable) going forward.

@rondagostino Is this check safe? https://github.com/apache/kafka/blob/7debda4d41e7c951fe54b8b916d4b87cc7843348/clients/src/main/java/org/apache/kafka/common/security/oauthbearer/internals/OAuthBearerSaslClientCallbackHandler.java#L96
Isn't there a timing window where we add a new token, but the old one has not been removed where we want to successfully authenticate with either of the tokens?

@rajinisivaram  Yes, there is a very small window (probably on the order of a millisecond) where the new login has succeeded but the old token has not been removed -- and a connection attempt at the point in the code that you refer to will fail.  We could add some kind of lock mechanism as a solution.  Another solution is to not even check to make sure the size is 1 and instead iterate through all the tokens that might exist there -- almost always just a single one, but this very small window of time will present 2 tokens, and this bug caused 2 to be there -- so to avoid a lock, and to make the code more defensive and robust, we could iterate through all tokens that are there and use the token that has the longest remaining lifetime. Also, to be complete, note that if we leave this section of the code alone the connection may fail in the rare case where we hit the window but the failure will be transient -- a retry attempt will succeed; however, in this or a future bug situation, this code will always fail.
I think being defensive at the point in the code that you reference is probably the best approach.  Do you agree?  If so, I will add it.

@rajinisivaram I went ahead and did it -- the code now deals more robustly with the case of multiple tokens being available.

@rondagostino Thank you! We handle authentication exceptions in clients (producers, consumers etc.) as non-retriable exceptions, so it was good to make that more robust even though the timing window is very tiny.

@rajinisivaram I just added a unit test, which I have confirmed fails on trunk and succeeds here.  This is now ready for review/merge as appropriate.

Java 11 test failure looks unrelated (kafka.api.PlaintextConsumerTest.testMultiConsumerRoundRobinAssignment). Merging to trunk, 2.2 and 2.1.

When we have multiple authorization servers. During retry occuring in 10 seconds, do they connect authorization server that failed or it will go with other available authorization servers.

When we have multiple authorization servers. During retry occuring in 10 seconds, do they connect authorization server that failed or it will go with other available authorization servers.

It is up to the callback handler to determine how to retrieve a token, so the answer to the question depends on your specific implementation and/or infrastructure.  For example, your callback handler might point to a single endpoint (e.g. https://example.org/oauth/token) but that endpoint might be a load balancer that only sends requests to backend servers that are operational (and maybe the previous failure 10 seconds ago occurred during the time window when the load balancer had not yet detected the server failure).
FYI, the code in question is here: https://github.com/apache/kafka/blob/trunk/clients/src/main/java/org/apache/kafka/common/security/oauthbearer/OAuthBearerLoginModule.java#L316.

@rondagostino @rajinisivaram  which version of apache Kafka client or if I'm using spring cloud stream, which version of spring-kafka should I use..to incorporate this fix?

And is restarting service a temporary solution for it? As loginContext will get created again post restart of client

@venkatesh010 https://issues.apache.org/jira/browse/KAFKA-7902 says Fix Version/s: 2.2.0, 2.1.1

.. and yes, restarting the client will get the client out of the bad state if you happen to be using a version of the code with this bug.

@venkatesh010 https://issues.apache.org/jira/browse/KAFKA-7902 says Fix Version/s: 2.2.0, 2.1.1

Are this versions for kafka-clients?

If you can provide release train, that'll help

You can get the specified versions at https://kafka.apache.org/downloads.  This fix appears in the release notes.

We are facing this issue with
Confluent - 5.5.1 (apache kafka - 2.5.x)
Which is superior to 2.2.1
Actually issue is not easily reproducable and difficult to provide sample
Please help in it


WIP: New runApp/runAppLegacy APIs.

Closes https://github.com/dart-lang/angular/issues/629.
WIP: Do not merge. This doesn't yet pass all test cases, and will have internal breakages as currently implemented. Early review/feedback welcome, otherwise.
Namely, this is a refactor of

Functions that start your angular application.
The PlatformRef class, which was hard to follow before, and used inconsistently.
Some experimental functions.

Just an update, I'm helping with some Dart2 migrations, and I'll be back to complete this work, probably second-half of the week. So this is on hold for now.


VMCS Exception Support

This patch provides VMCS exception support. During it's
development, it was also identified that the libc++ code can
overwrite the kernel's stack as it's expecting a much larger
stack than the Linux kernel is providing. To overcome this
issue, this patch also includes code to guard the kernel's
by using a different stack while the VMM is execuitng.
Signed-off-by: Rian Quinn<EMAIL_ADDRESS>

LGTM


Extra "

In the "Add routing rulesets site map for custom apps" session, item 1:
Sign in to https://"<"org">*.dynamics.com/apps, and go to App Designer.
There is an extra " in the sentence below.
I am not sure if before or after the <, but it has.
So, I recommend to delete one of them.
Cheers!
GM

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

ID: 6aaf66f0-89f2-e88c-80f3-4de0099c0e56
Version Independent ID: 8e0062ca-f467-740d-1d8d-80e34cb86138
Content: Automatically route cases using basic routing rulesets
Content Source: ce/customer-service/create-rules-automatically-route-cases.md
Service: dynamics-365-customerservice
GitHub Login: @neeranelli
Microsoft Alias: nenellim

Thanks for your comment, @mouragustavor. This issue has been assigned to the doc author for review.

Thank you for bringing it to my attention, @mouragustavor. This is fixed and will be live in a couple of hours.
Please let me know if I can close this issue.
Best regards,
Neeraja

Hello! Feel free to close the issue. Thank you!
On Thu, 18 Aug 2022, 15:00 Neeraja Nellimarla, @.***>
wrote:

Thank you for bringing it to my attention, @mouragustavor
https://github.com/mouragustavor. This is fixed and will be live in a
couple of hours.
Please let me know if I can close this issue.
Best regards,
Neeraja
—
Reply to this email directly, view it on GitHub
https://github.com/MicrosoftDocs/dynamics-365-customer-engagement/issues/2701#issuecomment-1219778134,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/A2SYKQH2JR2AGWGP5HIW3DLVZZ22LANCNFSM565B4IZA
.
You are receiving this because you were mentioned.Message ID:
<MicrosoftDocs/dynamics-365-customer-engagement/issues/2701/1219778134@
github.com>

Thank you! I am closing this issue.


Keep the position of a left-side bar (collapsed/expanded)

Acceptance criteria:
The position of a left-side bar (collapsed/expanded) should be remembered after reloading the page or going to another section - within the section
Connected feature ID: sidenav_show

HeyRoach/944-sidebar-hide
Test to:
sidebar_hide

for @HeyRoach
sidebar_hide
Setting is saved when change user

The idea is to use user tags for this feature

Use user tags for this feature

Regression:
sidenav_show

Tested on 1194


[QNN] Excluding most negative value

After going through multiple frameworks, I found that it is common to ignore -128 for int8 quantization.
TFLite - from Pete Warden's blog and TFLite paper - https://petewarden.com/2017/06/22/what-ive-learned-about-neural-network-quantization/

MKLDNN - https://oneapi-src.github.io/oneDNN/ex_int8_simplenet.html

TensorRT - https://blog.tensorflow.org/2019/06/high-performance-inference-with-TensorRT.html

As this is a common practice now, this PR adapts to this change as well.

I realized that this is more of scale calculation instead of quantize or dequantize calculation. Therefore, this should be considered where we are quantizing the model. For QNN dialect, the model is already quantized, so not required. Closing.


Keyboard.addListener('keyboardDidShow', ...) callback is invoked with inaccurate measures in Android devices with notch

Incriminated API
// In Android
Keyboard.addListener('keyboardDidShow', e => {
   // On OnePlus 7, and Pixel 3XL (simulator) this value is underestimated by exactly StatusBar.currentHeight.
    e.endCoordinates.height
})

Prerequisites
In AndroidManifest.xml, set android:windowSoftInputMode="adjustPan".
Visual tests
The black horizontal bar should be the same width (40dp) as the red bar, in a container with a bottom padding of the keyboard's height. This component mimics KeyboardAvoidingView with behavior padding set. The height of keyboard should be the same as the height of the red bar. The issue has been reproduced with GBoard, SwiftKey...
Remarks: I would have imagined that the view height would equal keyboard height + keyboard Y. But that is only true ... on OnePlus7, which is the problematic device!

Emulator, Pixel 2 XL, Android 10
OnePlus 7, Android 10, OxygenOS 10.0.1

React Native version:
System:
    OS: Linux 4.19 Manjaro Linux undefined
    CPU: (8) x64 Intel(R) Core(TM) i7-8809G CPU @ 3.10GHz
    Memory: 565.35 MB / 31.33 GB
    Shell: 5.7.1 - /bin/zsh
  Binaries:
    Node: 12.13.0 - /usr/bin/node
    npm: 6.12.0 - /usr/bin/npm
  IDEs:
    Android Studio: 3.5 AI-191.8<IP_ADDRESS>00203
  npmPackages:
    react: 16.8.1 => 16.8.1
    react-native: 0.61.3 => 0.61.3

Steps To Reproduce

Open the reproduction demo in a Pixel 3XL emulator with Android 10+.
Observe that KeyboardAvoidingView with behavior padding doesn't add enough padding.

Describe what you expected to happen: The padding should match keyboard's real height.
Full reproduction : react-native-oneplus7-keyboard-height-discrepancy

Observations

StatusBar.currentHeight is substituted to the keyboard layout end frame height.
StatusBar.currentHeight is also substituted from keyboard layout end frame screenY

Do these devices have notches? I think this might be the same as this: https://github.com/facebook/react-native/issues/26296

Has anyone been able to reproduce the issue with the latest RN release?

We haven't upgraded yet, so I haven't been able to test. Your demo repo should be easy to upgrade and test though.

we need OnePlus 7 so this issue will not be solved... I don't have such device OnePlus 7

OK I am gooing to test soon.

@jsamr I wrote a pull request https://github.com/facebook/react-native/pull/29292 that fixes the same issue with event keyboardDidHide. I can not reproduce your issue as I don't have a OnePlus device.  and I can not fix it, but you can try applying a similar fix
https://github.com/facebook/react-native/blob/cfa42605989eee5a9de42bdb1259fb7f4d9451fb/ReactAndroid/src/main/java/com/facebook/react/ReactRootView.java#L671-L677
you can build from source, change the above source code with either numbers like 10 or 900 and see the effect to understand how the function works.
https://github.com/facebook/react-native/wiki/Building-from-source#publish-your-own-version-of-react-native
This is the definition of createKeyboardEventPayload
https://github.com/facebook/react-native/blob/cfa42605989eee5a9de42bdb1259fb7f4d9451fb/ReactAndroid/src/main/java/com/facebook/react/ReactRootView.java#L755-L770
Those values are returned to the react-native javascript library which is responsible for displaying the Black Area

additionally there is no OxygenOS emulator https://stackoverflow.com/a/43549663/11452286

i have this issue on oneplus 6, i need to add exactly 30dp for it to be perfect. On the iOS simulator it's the other way around, i need to subtract some value, and the value is not always the same.

I have updated the reproduction to React Native 0.63.3 and it consistently fails on any device with a notch, including the Pixel 3XL in emulator. I noticed that the underestimated height consistently corresponds to the height of StatusBar.currentHeight.

not releated to my commit which for my understanding is still in master. Hopefully gets fixed by https://github.com/facebook/react-native/pull/29292. Thanks

@fabriziobertoglio1987 I thought your PR was only about keyboardDidHide?

https://github.com/facebook/react-native/blob/d79212120b7168015d3d0225ef372ed851a230fa/ReactAndroid/src/main/java/com/facebook/react/ReactRootView.java#L757-L758
Without Notch
DisplayMetricsHolder.getWindowDisplayMetrics().heightPixels returns 1794
With Notch
DisplayMetricsHolder.getWindowDisplayMetrics().heightPixels returns 1668
The docs info on android:windowSoftInputMode adjustPan

CLICK TO OPEN TESTS RESULTS

Without Notch
DisplayMetricsHolder.getWindowDisplayMetrics().heightPixels returns 1794

BEFORE
AFTER

With Notch
DisplayMetricsHolder.getWindowDisplayMetrics().heightPixels returns 1668

BEFORE
AFTER

My observations:

The issue seems to be the MainActivity not respecting the rule android:windowSoftInputMode="adjustPan" and not KeyboardAvoidingView.
DisplayMetricsHolder.getWindowDisplayMetrics().heightPixels value of  1668 seems to be correct

@fabriziobertoglio1987 Which version / branch are you using to perform those tests?

@fabianeichinger I've updated the example here: https://github.com/jsamr/react-native-oneplus7-keyboard-height-discrepancy
It is much more straightforward. With<EMAIL_ADDRESS>you can very well see the keybord height discrepancy in the below screenshots. The height of the red bar is assigned to ev.endCoordinates.height (keyboardDidShow). The red bar has been duplicated to bottom for height comparison with Keyboard:

Emulator, Pixel 3 XL, Android 10 (simulator)
Nexus 5X, Android 10 (simulator)

I haven't dig into the native java code, and I am not familiar with Android UI APIs. But perhaps what you're showing is actually the fixed version on master.

Thanks for your feedback @jsamr I allways work with the updated react-native master branch
My main point in message https://github.com/facebook/react-native/issues/27089#issuecomment-775080854 was that the keyboard height was not causing this issue, but the presence of a Notch or No Notch
Now you include different scenarios with different status bars.. I can not say about that, but I can say that DisplayMetricsHolder.getWindowDisplayMetrics().heightPixels values seems to me correct taking in consideration we added the notch to the device.
The screenshots you include are:

from two different devices
with 2 different StatusBar heights
with 2 different keyboards

I would avoid to add more troubleshooting scenarios, but actually to limit the number of scenarios and identify the bug
What is causing your issue?
The Notch? The StatusBar? The Keyboard?
Maybe you think the computation of the Keyboard Height is wrong?
This does not make sense, because if I remove the Notch it works perfectly.
CLICK TO OPEN TESTS RESULTS

Without Notch
DisplayMetricsHolder.getWindowDisplayMetrics().heightPixels returns 1794

BEFORE
AFTER

With Notch
DisplayMetricsHolder.getWindowDisplayMetrics().heightPixels returns 1668

BEFORE
AFTER

As I understand it, the height of the keyboard, as reported in the event object, changes based on the presence of a notch. In fact, looking at your test screenshots, you can see this exact issue: in the case with no notch, the height is reported as 282dp; in the case with a notch, it reports 234dp! That would mean the height of the keyboard changed, but it doesn't look like that's the case.

@fabianeichinger The goal of the screenshots is to compare with notch (Pixel 3XL) and without notch (Nexus 5X). With notch, the red vertical bar height doesn't match the keyboard's height. Without, it does.

with 2 different keyboards

That was because I used android 10 in the Pixel and android 11 in the nexus. I have fixed that issue and updated the screenshots. But anyway, the relevant part is that it seems that having a notch causes ev.endCoordinates.height to be miscalculated. Compare the vertical red bar with keyboard's height on the Pixel, you'll notice a mismatch.

Thanks, you are both right. I believe the best solution is using the Android API to calculate the Keyboard height instead of calculating it as the difference
https://github.com/facebook/react-native/blob/d79212120b7168015d3d0225ef372ed851a230fa/ReactAndroid/src/main/java/com/facebook/react/ReactRootView.java#L757-L758

@fabianeichinger Thank you so much for your great involvement in this open source project, looking forwards for your take on this!

Thanks a lot @jsamr My ambition is to really get to know the reactnative sourcecode and hopefully one day give relevant contributions to the community
The issue is caused by getWindowDisplayFrame which sets the mVisibleViewArea.bottom used to compute the keyboard height.
https://github.com/facebook/react-native/blob/1049835b504cece42ee43ac5b554687891da1349/ReactAndroid/src/main/java/com/facebook/react/ReactRootView.java#L756

mVisibleViewArea.bottom is 1794 when the keyboard is hidden and covers the entire screen from top to bottom
mVisibleViewArea.bottom is 1053 when the keyboard is open and cover from the top till the top margin of the keyboard

This computation is wrong and does not take in consideration the Notch or other screen decorations, as you can see below does not change the total height when using the notch.
I think that I found a workaround to fix this by calculating the notch height and substracting it from the above calculation. I will publish my pr soon. I researched and it is common practice on Android Sdk to calculate keyboard height by deducting it from other parameters
MORE DETAILS

Without Notch

DisplayMetricsHolder.getWindowDisplayMetrics().heightPixels is 1794
mVisibleViewArea.bottom is 1794

With Notch

DisplayMetricsHolder.getWindowDisplayMetrics().heightPixels is 1668
mVisibleViewArea.bottom is 1794
The android View sourcecode is available here

    /**
     * Retrieve the overall visible display size in which the window this view is
     * attached to has been positioned in.  This takes into account screen
     * decorations above the window, for both cases where the window itself
     * is being position inside of them or the window is being placed under
     * then and covered insets are used for the window to position its content
     * inside.  In effect, this tells you the available area where content can
     * be placed and remain visible to users.
     *
     * <p>This function requires an IPC back to the window manager to retrieve
     * the requested information, so should not be used in performance critical
     * code like drawing.
     *
     * @param outRect Filled in with the visible display frame.  If the view
     * is not attached to a window, this is simply the raw display size.
     */
    public void getWindowVisibleDisplayFrame(Rect outRect) {
        if (mAttachInfo != null) {
            try {
                mAttachInfo.mSession.getDisplayFrame(mAttachInfo.mWindow, outRect);
            } catch (RemoteException e) {
                return;
            }
            // XXX This is really broken, and probably all needs to be done
            // in the window manager, and we need to know more about whether
            // we want the area behind or in front of the IME.
            final Rect insets = mAttachInfo.mVisibleInsets;
            outRect.left += insets.left;
            outRect.top += insets.top;
            outRect.right -= insets.right;
            outRect.bottom -= insets.bottom;
            return;
        }
        // The view is not attached to a display so we don't have a context.
        // Make a best guess about the display size.
        Display d = DisplayManagerGlobal.getInstance().getRealDisplay(Display.DEFAULT_DISPLAY);
        d.getRectSize(outRect);
    }


Clone the params so that the original is not modified

I tried to, but that would involve mocking a lot of things in MesssageService just so the recipient.update happens and not much else. It is definitely something to do when we have end-to-end system tests.


Feature Request - Apply, modify and improve "Deploy SQL Database built-in SQL security configuration" / "Deploy-Sql-Security"

1
The policy initiative "Deploy SQL Database built-in SQL security configuration" (Deploy-Sql-Security) is missing from the policy list under Landing Zones. Although a couple of the policies in this initiative are located as single policies under this list (see point 2 and 4).
Only information about this initiative is found here:
https://github.com/Azure/Enterprise-Scale/blob/main/docs/reference/azpol.md#provide-comprehensive-security-for-sql-databases
2
The policy "Deploy-SQL-TDE" ("displayName": "Deploy TDE on SQL servers") is the built-in policy "Deploy SQL DB transparent data encryption".
This built-in policy is already part of the policy initiative "Deploy SQL Database built-in SQL security configuration" (Deploy-Sql-Security) and should be removed as a single policy from the policy list under Landing Zones.
3
Deprecation of https://www.azadvertizer.net/azpolicyadvertizer/Deploy-Sql-vulnerabilityAssessments.html which you have as an example here https://github.com/Azure/Enterprise-Scale/wiki/ALZ-Policies#preview-and-deprecated-policies
This should be replaced in the policy initiative "Deploy SQL Database built-in SQL security configuration" (Deploy-Sql-Security)
4
Add this built-in policy "Configure SQL servers to have auditing enabled to Log Analytics workspace" to the policy initiative "Deploy SQL Database built-in SQL security configuration" (Deploy-Sql-Security). This built-in policy is currently part of the policy list under Landing Zones.
5
Improve the built-in policy "Configure Azure Defender to be enabled on SQL servers" with the same parameters as "Deploy SQL Database security Alert Policies configuration with email admin accounts" (Deploy-Sql-SecurityAlertPolicies) with the purpose of deprecating the ALZ custom policy.

Hi @vegazbabz, sorry for the long delay in response:

Note that we only document policies/initiatives that are assigned by default by RIs. The Deploy-Sql-Security initiative is not assigned by default because of some of the parameters required on assignment. We'll update the Policies-Extra document to include a description for this initiative (AB#37709)
We had a PG requirement to deploy TDE by default, which is why it is duplicated. The initiative is optional, and not assigned by default.
Done
Done
This will take a long time to get remediated which is why we have the custom policy.


Blog app - controllers

Hi There 👋,
In this branch, I made the following changes ⬇

I added the necessary routes according to the requirement diagram
Added the necessary controllers and their methods according to the routes
After that, I added the necessary templates file to fulfill the controller requirement

Thanks for visiting my PR. If you have any questions about my changes feel free to ask 👍

Thanks a lot @addod19 for reviewing my PR 👍


Include water flux energy term in jacobian approximation

To improve the stability of our longruns, we want to include the dT_rhoe/dvartheta_l term in our jacobian approximation. We have found that, in the case of high water flux near saturation, the dpsi/dtheta term that this depends on becomes very large and unstable to step explicitly. To demonstrate that the water flux energy is the culprit, we tried removing this term from the explicit tendency and saw improved stability.
Closed by #952
Working towards resolving #912
Plots
energy from water flux included in explicit tendency, dt = 450s
This build was before the change, with NaNs appearing in Africa after ~1 month. Note that this build ran for 4 years whereas the runs below ran for 2 years, and the plotting was changed after this build, introducing blocky coastlines in the plots below but not this one.

energy from water flux removed from explicit tendency, dt = 450s
This build, after removing the energy from water flux term from the explicit tendency, shows no NaNs in Africa after 2 years.

energy from water flux removed from explicit tendency, dt = 900s
In fact, in this build we are even able to take a larger timestep (450s -> 900s) after removing this term from the explicit tendency, and still don't see the NaNs in Africa (though some new ones appear in the northeast US, which could be due to our phase change approximation):

closed by #952


Fixed view PluginSettings/Edit.cshtml

Hi guys!
I've added the option to add a password type for Plugin Settings. Also fixed the way Edit view shows these types when editing a plugin.

This is in master


Calls are extremely unreliable

Audio/video calls are very unreliable.
Seems like it's gotten worse with the last updates (TF builds; currently on: v0.8.5 /<PHONE_NUMBER>4136, which seems to be older than v0.8.6 found on the App Store), but it's not like it was any good in the past few years to begin with.
(This is my experience using riot-ios <-> riot-ios 1-to-1 calls on my own homeserver. To rule out problems with my server setup, I believe I've tried using matrix.org before and experienced the exact same problems. I'd have to check again though..)

Most often, the call would get established but there would be no audio, requiring that you hang up and try again. Sounds like #1646, but I usually observe it on both sides.
Other times, the call would be stuck at "Connecting" (might be #1784, but I'm not sure if it's the same description).
Other times the call would just drop as soon as you answer it.
Or the "new incoming call" dialog would come up, asking if you'd like to drop the existing call and join the new one (even though there's not really an established existing call!). Using the "drop & accept new call" button just makes it drop the call.
Most often, it would take multiple attempts (combined with killing the app on both sides) to get into a working (established + has audio on both sides) call.

Getting into a call is the hardest part, but don't feel relaxed too quickly.
Using the power button in an attempt to turn off the screen would terminate the call. This used to be a problem last year as well, but got fixed. Looks like it has regressed once more.
After learning your lesson not to use the power button button, you're looking at a few more call attempts to get back to where you were.
Or you'd hang up from Riot but still see a green bar indicating that you're in a call.. until you hang up once again, this time from the native iOS call UI. Teaching yourself to always kill the app after a call, for good measure, sounds like a good idea I guess.
Preview of your own camera seems weirdly reversed, but that's more of an annoyance and less of a dealbreaker (I've opened #2458 for it).
I (and a few others around me) have learned to put up with calls being unreliable ("Just keep retrying - 1 out of 5 tries will usually work"). I believe regular people will not be so patient and will just move to another app for their chatting/calling needs.
Is it just me who has been experiencing this for the past year or two? It feels like it's not getting any better either.
I know @ara4n's saying how it's riot-android that needs more love, but it really feels like the opposite. I haven't used riot-android, so I'm not sure if calls work well there, but calls are pretty unusable on iOS. Besides that, there's so many other features missing (support for room notification levels like everywhere else; ability to forward messages; that new E2E emoji verification thing; etc). It feels to me that riot-android is miles ahead and still pushing forward.
Sorry if this comes off as negative. I know you've got a lot of work to do on so many things. I just wanted to share my experience with riot-ios related to audio/video calls. If mine's that bad, it's scary to think what an average person's experience would be like and whether they'd stay with riot-ios for long.

Another failure scenario with v0.8.6.
After pressing the poweroff button (accidentally.. I've learned my lesson not to touch that intentionally), the screen turns off and the call stops.
Turning the phone's screen back on, you can see the following screen:

The screen is completely unresponsive. The app needs to be killed to continue.

I feel the same. VOIP is basically not functional for me.
I encountered something strange:
Calls work best if you call while already in both apps. And most important: disable embedded calling on iOS devices.
I really hope anyone can get VOIP fixed. It's so annoying.

@manuroe Please review this. I am also facing the same issues.

Also having the same issues


More specific grep to avoid uninstalling non StackStorm packages

Fedora 21 installation was failing on the uninstall step for the packages.  This makes the grep more specific to help avoid this situation.

LGTM, +1


Create 4.4 compose

This compose should be at https://github.com/codecov/enterprise on branch 4.4.0 in the root.

Done


No login for viewset

Hi,
I would like to be able to create a viewset which needs no login. By default, I see that we are automatically redirected to the login if not. How to do so?

Sorry wrong question as I just need to have a specific view without viewset as without permission one can't obviously update any models (at least that's not the purpose...)
Sorry I'll close myself out