Webhook manifest incorrectly limited to v1alpha2 and v1beta1 API versions

What happened:
As initially reported in #2673, the API resources and versions that the webhook is watching are outdated:
https://github.com/kubernetes-sigs/gateway-api/blob/05536370b28e6d827b7b5e15ee527a2d79331642/config/webhook/admission_webhook.yaml#L9-L12
What you expected to happen:
These should be aligned directly with the versions specified in the corresponding code: https://github.com/kubernetes-sigs/gateway-api/blob/05536370b28e6d827b7b5e15ee527a2d79331642/pkg/admission/server.go#L48-L97

/help

Should we close this since https://github.com/kubernetes-sigs/gateway-api/pull/2595 ?

/assign

Fixed by @2702

Fixed by @2702

I think you meant to tag the issue, not me.


RUMM-2900 make tests more accurate with url case sensitivity

What does this PR do?
We used to require all urls to be fully lowercase in our tests assertions, as case sensitivity used to make the tests fail.
After investigation, we noticed that OKHttp automatically standardize the host name to be all lowercasen because the host name by definition (RFC-4343).

According to the original DNS design decision, comparisons on name lookup for DNS queries should be case insensitive.

This PR updates our test to follow closely this principle and OkHttp behavior, by forging random URLs with a lowercase hostname, and a path that is still case sensitive.

Codecov Report

Merging #1263 (30dfb28) into develop (31b0121) will decrease coverage by 0.10%.
The diff coverage is n/a.

@@             Coverage Diff             @@
##           develop    #1263      +/-   ##
===========================================
- Coverage    82.01%   81.91%   -0.10%
===========================================
  Files          361      361
  Lines        12832    12832
  Branches      2149     2149
===========================================
- Hits         10524    10511      -13
- Misses        1655     1660       +5
- Partials       653      661       +8

Impacted Files
Coverage Δ

...n/com/datadog/android/v2/core/SdkInternalLogger.kt
88.89% <0.00%> (-8.33%)
:arrow_down:

...ndroid/telemetry/internal/TelemetryEventHandler.kt
70.31% <0.00%> (-2.34%)
:arrow_down:

...droid/rum/tracking/ActivityViewTrackingStrategy.kt
86.54% <0.00%> (-1.92%)
:arrow_down:

...al/persistence/file/batch/BatchFileOrchestrator.kt
93.70% <0.00%> (-1.57%)
:arrow_down:

...rsistence/file/batch/PlainBatchFileReaderWriter.kt
81.54% <0.00%> (-1.54%)
:arrow_down:

...lin/com/datadog/android/rum/internal/RumFeature.kt
92.09% <0.00%> (-1.44%)
:arrow_down:

...ain/java/com/datadog/opentracing/PendingTrace.java
59.48% <0.00%> (-0.86%)
:arrow_down:

.../android/rum/internal/monitor/DatadogRumMonitor.kt
90.81% <0.00%> (-0.54%)
:arrow_down:

.../kotlin/com/datadog/android/v2/core/DatadogCore.kt
85.59% <0.00%> (-0.42%)
:arrow_down:

.../android/rum/internal/domain/scope/RumViewScope.kt
95.45% <0.00%> (ø)

... and 3 more


Added email endpoint for rampart

What does this endpoint give us compared to what exists prior to this PR?


Changing depth unit won't take effect immediately

Required Info

Camera Model
D435

Firmware Version
<IP_ADDRESS>

Operating System & Version
Debian

Kernel Version (Linux Only)
5.7.17

Platform
PC

SDK Version
2.38.1

Language
C

Segment
others

Issue Description
After changing depth unit to 0.0001, pipeline_.wait_for_frames() still produces frames with 0.001 (default) depth unit for a while.
We found it by looking into the depth values, and also alignment won't work.
frameset.get_depth_frame().get_units() says 0.0001 but the frame data is still 0.001.
We suspect frames are queued so we still receives old frames after changing the depth unit.
Or it takes a while for realsense to switch the depth unit.
The pipeline model does not allow us to set depth unit before streaming.
Any idea?
config cfg;
cfg.enable_stream(rs2_stream::RS2_STREAM_DEPTH);
pipeline_profile profile = pipeline.start(cfg); // starts to stream frames with 0.001 depth unit?
depth.set_option(RS2_OPTION_DEPTH_UNITS, 0.0001);
auto frameset = pipeline_.wait_for_frames(); // 0.001 depth unit
frameset.get_depth_frame().get_units(); // 0.001, which is wrong. also causing align to fail
frameset = pipeline_.wait_for_frames(); // 0.001 depth unit
frameset = pipeline_.wait_for_frames(); // 0.001 depth unit
...
frameset = pipeline_.wait_for_frames(); // finally we got a frame with 0.0001 depth unit
// but how do we know without looking into the values?

Hi @Domos   Changing an option can take at least a couple of frames to complete, due to the time taken for changes to propogate back to the user.
If you are using C language as indicated in the details provided at the top of this case and not C++, the librealsense C wrapper has an example program with a line that checks depth scale.
https://github.com/IntelRealSense/librealsense/blob/master/examples/C/depth/rs-depth.c#L53

@Domos we experienced the same thing and decided the best thing was to just drop a few frames after a settings change. There is no way I know of to infer the depth unit from the frame itself unless you want to use a heuristic about the depth values themselves and their expected value.

Hi,
We decided to set depth unit earlier and drop a few frames as @Chandler mentioned.
That did work.
Thanks!
device.query_sensors()
depth.set_option(RS2_OPTION_DEPTH_UNITS, 0.0001);

config cfg;
cfg.enable_stream(rs2_stream::RS2_STREAM_DEPTH);
pipeline_profile profile = pipeline.start(cfg); // starts to stream frames with 0.001 depth unit?
// drop 30 frames
for (int i = 0; i < 30; ++i) {
  pipeline_.wait_for_frames();
}
auto frameset = pipeline_.wait_for_frames(); // 0.0001 depth unit

Thanks again for your assistance @Chandler
@Domos   I'm pleased to hear that you achieved a solution that is satisfactory for you.  Thanks for the update!


update new ui support

Coverage increased (+0.1%) to 64.121% when pulling f74642509ff747426048aaa866aae36c906103f5 on wy65701436:dev-new-ui into a7b83c80e4ecb7454076f78bf7d8bfaf2be82713 on vmware:dev-new-ui.

Coverage remained the same at 63.982% when pulling 7b47567849baae929a03ac08f0e46ea8293f4e36 on wy65701436:dev-new-ui into a7b83c80e4ecb7454076f78bf7d8bfaf2be82713 on vmware:dev-new-ui.

Coverage remained the same at 63.982% when pulling bbbbb0aaa92a2cceec090836f6f86a03391e0757 on wy65701436:dev-new-ui into a7b83c80e4ecb7454076f78bf7d8bfaf2be82713 on vmware:dev-new-ui.

Coverage remained the same at 63.982% when pulling 75a2b48ee7c268b83b839c31660a9d28cc8e9fc2 on wy65701436:dev-new-ui into a7b83c80e4ecb7454076f78bf7d8bfaf2be82713 on vmware:dev-new-ui.

Coverage remained the same at 63.982% when pulling bae272d2d3fbad85cb9ae12374f766bc4d9d58af on wy65701436:dev-new-ui into a7b83c80e4ecb7454076f78bf7d8bfaf2be82713 on vmware:dev-new-ui.

Coverage remained the same at 63.982% when pulling aa1bd8404aebc986c12fea782eefc5aaa4449af8 on wy65701436:dev-new-ui into a7b83c80e4ecb7454076f78bf7d8bfaf2be82713 on vmware:dev-new-ui.

Coverage remained the same at 63.982% when pulling 970d0008ce99c5994e00f3338589ae0d1e88b95e on wy65701436:dev-new-ui into a7b83c80e4ecb7454076f78bf7d8bfaf2be82713 on vmware:dev-new-ui.

Coverage remained the same at 63.982% when pulling 1ec8a27bf43fae41c4168081b72b72d4355b4209 on wy65701436:dev-new-ui into a7b83c80e4ecb7454076f78bf7d8bfaf2be82713 on vmware:dev-new-ui.

Coverage remained the same at 63.982% when pulling 4880d195a1dc93134c94e4598aa278c8baf0b312 on wy65701436:dev-new-ui into a7b83c80e4ecb7454076f78bf7d8bfaf2be82713 on vmware:dev-new-ui.


Maximo failing to connect to database after docker-compose stop and docker-compose start

Hello,
I'm running into an interesting issue where after building the containers and verifying everything is working correctly, after running docker-compost stop then docker-compose start again, I can no longer access localhost/maximo due to a 500 error. Looking in the /opt/IBM/WebSphere/AppServer/profiles/ctgAppSrv01/logs/MXServer/SystemOut.log logs, i notice the following failing:
BMXAA6421E - The system could not connect to the JDBC source: jdbc:sqlserver://;
Despite this message, netstat shows that 1433 is open on <IP_ADDRESS> on the db container and I can even access it using dbeaver on my host. Is there any guidance on how to solve this issue or ideas on why this issue might be occurring?
Thank you

Hi,
It seems the application server has started before opening the database port 1433. The maxapps container specified to wait opening the DB_PORT variable specified in .env file in startapp.sh. Please recheck the DB_PORT and DB_HOST_NAME parameters and the sentence "Database is up" appeared in the maxapps log.
Thanks.

Hello,
After a reboot of my host machine, docker-compose start now works and localhost/maximo can be reached. However I am running into the same issue after I've tried to restore my database(sqlserver). Tools like nmap and nc show the port 1433 on maxdb open on maxapps and maximo container, and I see the docker-compose log messages "Database is up" for both maxapps and maximo.  wait-for-it.sh also says that the port is up.
Is this a database issue where restoring is not recommended and/or needs to be modified somehow?
Thank you

Hi,
Do you find any detailed logs e.g. stack trace and/or SQL code? If there is any issue around restoring database, I think you have encountered any SQLException in your maximo logs.
Thanks.

Doing some more digging, it looks like upon each docker-compose up (at least the second time after a fresh build), the IP is changing for the database container - despite the hostname remaining maxdb.
MaxDB First startup:
"Name": "maximo-docker-v7611_maxdb_1",
                "EndpointID": "cc8613ee2f277081c7523d401a8d00b996b6dd0b221f46d8916a39d38a3a5281",
                "MacAddress": "02:42:ac:1a:00:03",
                "IPv4Address": "<IP_ADDRESS>/16",
                "IPv6Address": ""

After 'docker-compose stop' --> 'docker-compose up':
"Name": "maximo-docker-v7611_maxdb_1",
                "EndpointID": "025a986daec6041c313b0d0fff5d23a990d3178250da750a1b13cc95365363a8",
                "MacAddress": "02:42:ac:1a:00:02",
                "IPv4Address": "<IP_ADDRESS>/16",
                "IPv6Address": ""

Snippet of SystemOut.log:
[6/1/20 23:16:05:573 UTC] 00000079 SystemOut     O 01 Jun 2020 23:16:05:568 [ERROR] [] [] BMXAA6421E - The system could not connect to the JDBC source: jdbc:sqlserver://;serverName=<IP_ADDRESS>;databaseName=MAXDB76;portNumber=1433

Is this intended behavior? If I define static IP in the docker-compose.yml would it break anything?
Thank you

Hi,
Yes, Docker dynamically defines IPs with internal DHCP like system by default. I recommend every component depends with host name, but I think static IPs will be working.
Reference: https://blog.alejandrocelaya.com/2017/04/21/set-specific-ip-addresses-to-docker-containers-created-with-docker-compose/


links generated with incorrect folder

I have a simple bookmark export file containing 1 url
https://gist.github.com/danhimalplanet/444a7bc30b34d249d4429527c78f5792
➜  ./archive.py ~/Downloads/bookmarks_1_30_18.html 2>&1 >/dev/null
➜  echo $?
0
this generates 'html/archive/index.html' https://gist.github.com/danhimalplanet/ac212bc2cd0047807ede39ba20934330
the generated index.html has relative links like:
'html/archive/archive/1517380882/screenshot.png'
the screenshot relative link is:
'html/archive/archive/1517380882/screenshot.png'
There is an extra 'archive' in the 2 links.
I can make this work if I symlink a directory 'archive' in 'html/archive' to point 1 directory up from 'html/archive'.  That seems like a hack, or I'm doing something wrong.

Thanks for reporting this, I'm probably just doing a bad path concatenation somewhere, thanks for reporting this!

I have the same issue. The files generate properly but they're linked improperly, though it doesn't affect the PDF and screenshot links. I also see a png file that has a .png.html extension in the link

As a workaround to the ./archive problem I made a symlink in the local dir to ./archive, but this only seems to work some of the time, maybe? I didn't dig deep yet, there were a few issues I was having at once.

Found and fixed as of: 1776bdf
Please pull and let me know if it works!
(Make sure to back up your archive beforehand in case anything gets messed up, this is still BETA code)


SqRoutine.Terminate() doesn't remove the specific routine.

SqRoutine.Create(this, function() { print("test") }, 5000, 1).SetTag("test");
SqRoutine.FindByTag("test").Terminate();
The above only suspends the routine and doesn't totally remove the routine.
EDIT: And actually even if a routine has done its work, it still doesn't get removed.

Test code:

SqRoutine.Create(this, function() {
    print("test1");
}, 1000, 1).SetTag("test1");

SqRoutine.Create(this, function() {
    if (SqRoutine.FindByTag("test1") == null)
    {
        print("test1 no longer exists");
    }
    else
    {
        print("test1 still exists");
    }
}, 500, 4).SetTag("test2");

Output:
[USR] test1 still exists
[USR] test1
[USR] test1 no longer exists
[USR] test1 no longer exists
[USR] test1 no longer exists


Copy github permalink should not work or be disabled for files not in the repo

Does this issue occur when all extensions are disabled?: Yes/No

VS Code Version: 1.68-insiders
OS Version: Windows 10

Steps to Reproduce:

Add a file to .gitignore or open a file not in the repo
Pick 'Copy github permalink' from the context menu
Try to open that link

It will fail because the file doesn't exist.

@alexr00, I believe that context menu item is being contributed by the GHPR extension. Is that correct?


Wheel (package) upload fails with '' is not a valid url.

Describe the bug

I am trying to upload a wheel.
When I try to upload the wheel, I get a 400 Bad Request error and am told that '' is not a valid url..
In verbose mode, this is what I see:
INFO     Response from https://upload.pypi.org/legacy/:
         400 '' is not a valid url. See https://packaging.python.org/specifications/core-metadata for more information.
INFO

           <title>400 '' is not a valid url. See https://packaging.python.org/specifications/core-metadata for more information.</title>

400 '' is not a valid url. See https://packaging.python.org/specifications/core-metadata for more information.

           The server could not comply with the request since it is either malformed or otherwise incorrect.

         '' is not a valid url. See https://packaging.python.org/specifications/core-metadata for more information.

ERROR    HTTPError: 400 Bad Request from https://upload.pypi.org/legacy/
         '' is not a valid url. See https://packaging.python.org/specifications/core-metadata for more information.

I have read the linked page and checked the wheel and can't see how it's relevant. It would be really nice if the error message gave some context about which URL/field it was referring to — obviously I know that empty string is not a valid URL but it should tell me where it found that information.
Expected behavior

I would expect this wheel to upload. Or failing that, the error message should say what the significance of this empty string is, e.g. Metadata field wombatinwheel/MANIFEST is invalid: '' is not a valid url
We uploaded a similar wheel last week and the difference between this one and that one is very minimal, I can't see anything suspicious:
rei@lithium:/tmp$ diff -U5 matrix_synapse-1.103.0rc1-cp38-abi3-macosx_10_16_x86_64 matrix_synapse-1.103.0-cp38-abi3-macosx_10_16_x86_64
Only in matrix_synapse-1.103.0-cp38-abi3-macosx_10_16_x86_64: matrix_synapse-1.103.0.dist-info
Only in matrix_synapse-1.103.0rc1-cp38-abi3-macosx_10_16_x86_64: matrix_synapse-1.103.0rc1.dist-info
Common subdirectories: matrix_synapse-1.103.0rc1-cp38-abi3-macosx_10_16_x86_64/synapse and matrix_synapse-1.103.0-cp38-abi3-macosx_10_16_x86_64/synapse

rei@lithium:/tmp$ diff -U5 matrix_synapse-1.103.0rc1-cp38-abi3-macosx_10_16_x86_64/matrix_synapse-1.103.0rc1.dist-info/ matrix_synapse-1.103.0-cp38-abi3-macosx_10_16_x86_64/matrix_synapse-1.103.0.dist-info/
diff -U5 matrix_synapse-1.103.0rc1-cp38-abi3-macosx_10_16_x86_64/matrix_synapse-1.103.0rc1.dist-info/METADATA matrix_synapse-1.103.0-cp38-abi3-macosx_10_16_x86_64/matrix_synapse-1.103.0.dist-info/METADATA
--- matrix_synapse-1.103.0rc1-cp38-abi3-macosx_10_16_x86_64/matrix_synapse-1.103.0rc1.dist-info/METADATA        1980-01-01 00:00:00.000000000 +0000
+++ matrix_synapse-1.103.0-cp38-abi3-macosx_10_16_x86_64/matrix_synapse-1.103.0.dist-info/METADATA      1980-01-01 00:00:00.000000000 +0000
@@ -1,8 +1,8 @@
 Metadata-Version: 2.1
 Name: matrix-synapse
-Version: 1.103.0rc1
+Version: 1.103.0
 Summary: Homeserver for the Matrix decentralised comms protocol
 Home-page: https://github.com/element-hq/synapse
 License: AGPL-3.0-or-later
 Author: Matrix.org Team and Contributors
 Author-email<EMAIL_ADDRESS>diff -U5 matrix_synapse-1.103.0rc1-cp38-abi3-macosx_10_16_x86_64/matrix_synapse-1.103.0rc1.dist-info/RECORD matrix_synapse-1.103.0-cp38-abi3-macosx_10_16_x86_64/matrix_synapse-1.103.0.dist-info/RECORD
--- matrix_synapse-1.103.0rc1-cp38-abi3-macosx_10_16_x86_64/matrix_synapse-1.103.0rc1.dist-info/RECORD  2024-03-12 15:32:26.000000000 +0000
+++ matrix_synapse-1.103.0-cp38-abi3-macosx_10_16_x86_64/matrix_synapse-1.103.0.dist-info/RECORD        2024-03-19 12:33:56.000000000 +0000
@@ -1,10 +1,10 @@
-matrix_synapse-1.103.0rc1.dist-info/RECORD,,
-matrix_synapse-1.103.0rc1.dist-info/LICENSE,sha256=DZak_2itbUtvHzD3E7GNUYSRK6jdOJ-GqncQ2weavLA,34523
-matrix_synapse-1.103.0rc1.dist-info/WHEEL,sha256=YJ27Xdr0ramHyEzHQOmQYIdi1H3IskNCNKNGpUcW4jo,105
-matrix_synapse-1.103.0rc1.dist-info/entry_points.txt,sha256=Xf4Z-Sp4lk8P9pbRhSD40XrhhkooqYWm1OtxUlPwPgs,709
-matrix_synapse-1.103.0rc1.dist-info/METADATA,sha256=WrFkDL6Ti7hc98qZbGCtScBoJsX69ht1IuZBFTd6RO4,15129
+matrix_synapse-1.103.0.dist-info/RECORD,,
+matrix_synapse-1.103.0.dist-info/LICENSE,sha256=DZak_2itbUtvHzD3E7GNUYSRK6jdOJ-GqncQ2weavLA,34523
+matrix_synapse-1.103.0.dist-info/WHEEL,sha256=YJ27Xdr0ramHyEzHQOmQYIdi1H3IskNCNKNGpUcW4jo,105
+matrix_synapse-1.103.0.dist-info/entry_points.txt,sha256=Xf4Z-Sp4lk8P9pbRhSD40XrhhkooqYWm1OtxUlPwPgs,709
+matrix_synapse-1.103.0.dist-info/METADATA,sha256=AWExLqa_FJkP4SqffAR6BkgNj_2r1srs9J86jImmVBg,15126
 synapse/server.py,sha256=uQzQRTRZGUkvB035OtnmH-mhOZw7bEy_Oh3OOd2TNQ0,32616
 synapse/synapse_rust.abi3.so,sha256=K9lZ5u6TCsCYN5oThS6garoCWu2tv90KH700552Fbmg,3254024
 synapse/event_auth.py,sha256=RLVogo3FQIinmlhcEHH8EcM7M_sNnZvJmjBX4--uqMg,42106
 synapse/notifier.py,sha256=_3PcluvpjFHgmst-vNL1qvI8SWMzA3YsqAtHGVnkp8o,31931
 synapse/__init__.py,sha256=r_wlTMMZt1nGXkbo23BPfCbiqRFgdGt2eeNZr4BKV_g,3372

To Reproduce

Last week's wheel that uploaded without issue: https://files.pythonhosted.org/packages/f2/17/c6a49f049611df40020c4bc5456d21312066b0506cf9da219411eb7301e9/matrix_synapse-1.103.0rc1-cp38-abi3-macosx_10_16_x86_64.whl
Today's wheel that won't upload:
matrix_synapse-1.103.0-cp38-abi3-macosx_10_16_x86_64.zip
(it has been rename from whl to zip; you can't upload whls on github).
My Platform

$ twine --version
twine version 4.0.2 (importlib-metadata: 6.7.0, keyring: 23.13.1, pkginfo: 1.9.6, requests: 2.31.0, requests-toolbelt: 1.0.0, urllib3: 2.0.7)

Additional context

https://github.com/pypi/warehouse/pull/15503 may be relevant here.

Duplicate of https://github.com/pypi/warehouse/issues/15628.


Add: Trading Paints version 2.0.35

[y] Have you signed the Contributor License Agreement?
[y] Have you checked that there aren't other open pull requests for the same manifest update/change?

[y] Does your manifest conform to the 1.0 schema?

Note: <path> is the name of the directory containing the manifest you're submitting.

Microsoft Reviewers: Open in CodeFlow

Made Suggested changes to change from RhinodeLLC to Rhinode.
Corrected Architecture from x64 to x86
Updated folder name.

Close and reopen the PR (same button), the bot freaked out

Looks like the bot is having issues again, only things in the files that were changed from the previous time when it passed was the name of the publisher folder from "RhinodeLLC" to "Rhinode"
Along with the name updating in all the manifest files.
I've tested the manifest in sandbox and it works perfectly fine.


Return the error for db operations

Fixes #150  .
Changes proposed in this PR:

Closing this and creating a fresh one :)


Running into a bug after installing Infer

Hello I'm trying to get Infer working on my machine, I've got it built, but when I try to analyze the files in the infer/examples directory, I get the following error:
mttjone@dev-dsk-mttjone-2c-i-16d04bcc] infer -- javac Hello.java                                                                                ~/src/infer-0.6.0/examples/java_hello
ERROR: failure during compilation command.
You can run the failing compilation command again by copy-pasting the
lines below in your terminal:

"""
python <<EOF
import subprocess
cmd = ['javac', '-g', '-cp', u'/local/home/mttjone/src/infer-0.6.0/infer/lib/python/inferlib/../../../lib/java/processor.jar', '-d', '/local/home/mttjone/src/infer-0.6.0/examples/java_hello', u'Hello.java', '-J-Duser.language=en', u'-AclassSourceMapOutputFilename=/tmp/classSourceMap_IsLWmh.json']
subprocess.check_call(cmd)
EOF
"""

error: Exception thrown while constructing Processor object: com/facebook/infer/annotprocess/CollectSuppressWarnings : Unsupported major.minor version 52.0

When I follow those instructions I get the following error:

mttjone@dev-dsk-mttjone-2c-i-16d04bcc] python <<EOF                                                                                ~/src/infer-0.6.0/examples/java_hello
heredoc> import subprocess
heredoc> cmd = ['javac', '-g', '-cp', u'/local/home/mttjone/src/infer-0.6.0/infer/lib/python/inferlib/../../../lib/java/processor.jar', '-d', '/local/home/mttjone/src/infer-0.6.0/examples/java_hello', u'Hello.java', '-J-Duser.language=en', u'-AclassSourceMapOutputFilename=/tmp/classSourceMap_IsLWmh.json']
heredoc>
heredoc> subprocess.check_call(cmd)
heredoc> EOF
error: Exception thrown while constructing Processor object: com/facebook/infer/annotprocess/CollectSuppressWarnings : Unsupported major.minor version 52.0
Traceback (most recent call last):
  File "<stdin>", line 4, in <module>
  File "/path/to/python/Python27/Python27-6729.0-0/lib/python2.7/subprocess.py", line 540, in check_call
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['javac', '-g', '-cp', u'/local/home/mttjone/src/infer-0.6.0/infer/lib/python/inferlib/../../../lib/java/processor.jar', '-d', '/local/home/mttjone/src/infer-0.6.0/examples/java_hello', u'Hello.java', '-J-Duser.language=en', u'-AclassSourceMapOutputFilename=/tmp/classSourceMap_IsLWmh.json']' returned non-zero exit status 1

Almost certainly related to ac5f092653fbc6209a0c5bba91bf0d7bf0b7f749...
Would you mind pasting the output of javac -version?

That made me realize that I hadn't added javac to my path correctly, so it was calling JDK6. That being said it's now using 8 and I'm getting the similar error:
mttjone@dev-dsk-mttjone-2c-i-16d04bcc] infer -- javac Hello.java                                                                                ~/src/infer-0.6.0/examples/java_hello
ERROR: failure during compilation command.
You can run the failing compilation command again by copy-pasting the
lines below in your terminal:

"""
python <<EOF
import subprocess
cmd = ['javac', '-g', '-cp', u'/local/home/mttjone/src/infer-0.6.0/infer/lib/python/inferlib/../../../lib/java/processor.jar', '-d', '/local/home/mttjone/src/infer-0.6.0/examples/java_hello', u'Hello.java', '-J-Duser.language=en', u'-AclassSourceMapOutputFilename=/tmp/classSourceMap_8fvGy8.json']
subprocess.check_call(cmd)
EOF
"""

warning: The following options were not recognized by any processor: '[classSourceMapOutputFilename]'
Hello.java:22: error: package Pointers does not exist
    Pointers.A a = Pointers.mayReturnNull(10);
            ^
Hello.java:22: error: cannot find symbol
    Pointers.A a = Pointers.mayReturnNull(10);
                   ^
  symbol:   variable Pointers
  location: class Hello
Hello.java:28: error: package Pointers does not exist
    Pointers.A a = Pointers.mayReturnNull(rng.nextInt());
            ^
Hello.java:28: error: cannot find symbol
    Pointers.A a = Pointers.mayReturnNull(rng.nextInt());
                   ^
  symbol:   variable Pointers
  location: class Hello
Hello.java:34: error: cannot find symbol
    OutputStream stream = Resources.allocateResource();
                          ^
  symbol:   variable Resources
  location: class Hello
5 errors

For completeness: javac 1.8.0_72

@MatthewBennington this looks like a different error. You need the following command to run the example you are trying to run:
infer -- javac Pointers.java Resources.java Hello.java

Thanks jvillard, that works. Why wasn't what I was running working? Can you point me to some documentation?

@MatthewBennington There's a Hello.java in the examples/ folder that compiles as you were trying. The one in examples/hello_java/ is a bit more involved. It's documented here.

Thanks!


Camunda load testing - Part 2

Describe the task
Implement/do analysis on remaining parts of camunda load testing from #2288
Acceptance Criteria

[x] Observe the camunda optimize in dev to identify performance benchmarks
[x] Run multiple test to check the performance (for workers) by increasing the number of PODs and modifying CPU/memory per POD
[x] Check if there is the best way to configure workers maxJobsToActivate.
[x] Produce reporting of output vs pod#s/CPU/memory configuration.
[x] Identify the best configuration and modify the YAML file to standardize future deployment.

500 requests 15 VU unmodified worker configuration

500 requests 15 VU - worker associate-workflow-instance updated with maxJobsToActivate as MaxJobsToActivate.High

So far with the load testing executed in local env, 2 issues are observed in the workers node application
1 - At the worker associate-workflow-instance  getSystemUser is called inside transaction and the execution of getSystemUser does not use transaction entity manager.
It has been observed that with considerable concurrent load to the worker, typeorm is stuck at this point where findOne is executed inside getSystemUser. And it seems to be stuck there forever.
Private Zenhub Image
it does not produce any typeorm query logs and it seems not reach the database.
Solutions which worked: If we move the getSystemUser outside the transaction, this issue does not occur. Or if we use the transactional entity manager inside getSystemUser it solves the issue as well.

Optimize heat map on average duration after load test with 5000 iterations and 20 VUs
Private Zenhub Image

Camunda load testing outcomes:

Load testing has been executed on the workflow (Workers and Camunda Saas) to observe the behavior of the workers and Camunda Saas on huge amount of load.
Identified 3 major issues from the load test.

Dead lock situation and all the requests to acquire DB connections are waiting forever.
Database temporarily going to recovery mode for few seconds.
3. When database go to recovery mode and return the jobs for worker associate-workflow-instance are
completely stuck even after multiple restart of worker pods.

Different load testing to identify most optimal worker configuration and deploy-yml configuration

Camunda_Load_test_observation.xlsx


[#152885584] Reduce load on API during availability tests

What
https://www.pivotaltracker.com/story/show/152885584
We want to avoid putting the API and UAA under unnecessary load during availability tests. We only care about the API being continually available, this is not a form of load testing.
The tasks performed against the API are not simple, single-request tasks, so we can't use a library such as Vegeta to perform the rate limiting. For simplicity, the rate at which tasks are added to the queue has been throttled.
Under the new configuration we will not need as many workers, as only two tasks per second will be added to the queue.
How to review
If you have a deployment from master you can deploy from this branch and the temporary commit will rotate the api/* and uaa/* VM stemcells.
We want to know when a deployment happens the API availability tests don't put the API under unnecessary load. The kick-off of the story agreed an API request rate of around 10 per second. Results in my dev environment show they are between 10 and 20. I think that's okay.
Before merging ⚠
Remove the temporary commit.
Who can review
Anyone but me

LGTM but I'm curious about the 10-20 API requests per second. It appears that task production is over all workers, rather than each worker producing that many tasks. As such I'd expect 2 API requests per second. Is this because each task makes multiple underlying requests?

@46bit yes, each task has several underlying requests. The first task makes five different requests, and the second task makes even more.


Extend shutdown allowed time in under min available resources test - 2.0

Change Description
Fixed corner case for failures and added debug logging. And increase time allowed to shutdown.
Consensus Changes

[ ] Consensus Changes

API Changes

[ ] API Changes

Documentation Additions

[ ] Documentation Additions

the other one miraculously changed history and produced a valid result, so closing this one


Unable to use PyCall in Julia 3.10 on a Mac running Mac OS 10.4.4

I'm attempting to use Juilia 3.10 0n on a 2011 Mac Book Pro running Mac OS 10.4.4  with 16 GB of ram:
Here is the error message:
julia> using PyCall
ERROR: could not open file /Users/ahausknecht/.julia/v0.3/PyCall/src/../deps/deps.jl
in include at /Applications/Julia-0.3.10.app/Contents/Resources/julia/lib/julia/sys.dylib
in include_from_node1 at /Applications/Julia-0.3.10.app/Contents/Resources/julia/lib/julia/sys.dylib
in include at /Applications/Julia-0.3.10.app/Contents/Resources/julia/lib/julia/sys.dylib
in include_from_node1 at /Applications/Julia-0.3.10.app/Contents/Resources/julia/lib/julia/sys.dylib
in reload_path at loading.jl:152
in _require at loading.jl:67
in require at loading.jl:51
while loading /Users/ahausknecht/.julia/v0.3/PyCall/src/PyCall.jl, in expression starting on line 33

You need to run Pkg.build("PyCall")

ref #172


Load additional libraries when initializing database

This change makes postInit*SQL run on a instance with loaded additional libraries, which comes handy for CREATE EXTENSION  commands which can use features provided by additional libs.
Fixes: https://github.com/cloudnative-pg/cloudnative-pg/issues/649

/ready-to-test

@sxd, CI fails on container push with 403 Forbidden. Is it because I am submitting PR from a fork?

@redbaron I slightly changed your patch to take care of the shared_preload_libraries that are automatically added by the operator, such at pgaudit when it's configured.
Think about the following example:
apiVersion: postgresql.cnpg.io/v1
kind: Cluster
metadata:
  name: cluster-example
spec:
  instances: 3

  postgresql:
    parameters:
      "pgaudit.log": "all, -misc"
      "pgaudit.log_catalog": "off"
      "pgaudit.log_parameter": "on"
      "pgaudit.log_relation": "on"

  storage:
    size: 1Gi

What do you think about that? Is that fine with you?

/ready-to-test

@leonardoce, I am fine either way, feel free to take over this PR or even create your own one, since CI doesn't seem to like PR from forks.

@redbaron @leonardoce the test passed except for this one https://github.com/cloudnative-pg/cloudnative-pg/runs/8019245065?check_suite_focus=true which is not related, I think we can merge.
I'm rebasing so the next person available can merge it! I'll try to do it before the end of my day


Initialize project offline does not create java.properties file

Expected behavior
The properties file created during offline project initialization is similar to the project created with user being online.
Actual behavior
The project created with user being offline does not have the java.properties file.
Steps to replicate

Ensure the user is offline
Create gauge java project
gauge --init java
open the env default folder. It has only the default.properties file

Version
OS - Ubuntu
Gauge version: 0.8.2.nightly-2017-03-13

Plugins
-------
html-report (3.1.0)
java (0.6.1)
ruby (0.4.0)

I get this, with network disconnected:
gauge init java
 create  src/test/java
 create  libs
 create  src/test/java/StepImplementation.java
 create  /tmp/bar/env/default
 create  env/default/java.properties
 create  /tmp/bar/.gitignore
 create  manifest.json
 create  specs
 create  specs/example.spec
 create  .gitignore
 create  env
 create  env/default
 create  env/default/default.properties
Successfully initialized the project. Run specifications with "gauge run specs/".

Gauge version
Gauge version: 0.9.1

Plugins
-------
csharp (0.10.1)
html-report (4.0.1)
java (0.6.5)
js (2.0.0)
ruby (0.4.1)
xml-report (0.2.0)


Teams communications admin does not have access to the reoports

We have a user who should only read the reports. According to the documentation, the role of the "Team communications admin" should suffice for this. However, the user does not have access to Analytics & reports.

Dokumentdetails
⚠ Bearbeiten Sie diesen Abschnitt nicht. Er ist für die Verknüpfung von docs.microsoft.com zum GitHub-Artikel erforderlich.

ID: 78ade1a4-092c-1132-44df-ee2c683fdd33
Version Independent ID: 396b1aee-2f40-9895-9b00-07e38d11d31b
Content: Microsoft Teams – Analyse und Berichterstellung - Microsoft Teams
Content Source: Teams/teams-analytics-and-reports/teams-reporting-reference.md
Service: msteams
GitHub Login: @LanaChin
Microsoft Alias: v-lanac

@MarkusDP Thank you for submitting feedback.
I think the best way forward is if you open a service ticket in your tenant so this can get resolved ASAP. Based on the outcome let me know if it is something that can be called out in the docs.
Please follow this link to contact support for business products:https://docs.microsoft.com/office365/admin/contact-support-for-business-products
Please keep us posted here on the resolution so we can feed whatever information you discover into the content.


Bluetooth stopped working after 1 week. #Update

Hello, I have a strange problem. My esp32 worked for more than one week.
And then it stopped working with the error:
[17:44:01][D][esp32_ble_tracker:266]: Starting scan...
[17:44:02][W][jk_bms_ble:237]: [C8:47:8C:EC:58:CD] Not connected
[17:44:05][D][esp32_ble_client:110]: [0] [C8:47:8C:EC:58:CD] Found device
[17:44:05][D][esp32_ble_tracker:661]: Found device C8:47:8C:EC:58:CD RSSI=-77
[17:44:05][D][esp32_ble_tracker:682]:   Address Type: PUBLIC
[17:44:05][D][esp32_ble_tracker:215]: Pausing scan to make connection...
[17:44:05][I][esp32_ble_client:067]: [0] [C8:47:8C:EC:58:CD] 0x00 Attempting BLE connection
[17:44:05][D][esp-idf:000]: W (131678) BT_HCI: hcif disc complete: hdl 0x0, rsn 0x3e

[17:44:05][D][esp-idf:000]: W (131795) BT_HCI: hcif disc complete: hdl 0x0, rsn 0x3e

[17:44:05][D][esp-idf:000]: W (131891) BT_HCI: hcif disc complete: hdl 0x0, rsn 0x3e

[17:44:05][D][esp-idf:000]: W (132005) BT_APPL: gattc_conn_cb: if=3 st=0 id=3 rsn=0x3e

[17:44:05][D][esp-idf:000]: W (132009) BT_HCI: hcif disc complete: hdl 0x0, rsn 0x3e

[17:44:05][D][esp32_ble_client:172]: [0] [C8:47:8C:EC:58:CD] ESP_GATTC_DISCONNECT_EVT, reason 62
[17:44:05][D][esp32_ble_client:110]: [0] [C8:47:8C:EC:58:CD] ESP_GATTC_OPEN_EVT
[17:44:05][W][esp32_ble_client:143]: [0] [C8:47:8C:EC:58:CD] Connection failed, status=133

I just can't get what happened. I tried different esp32 modules.
Did someone experienced similar problems?
Thx

I ended up setting a D1 Mini wired to the BMS. Unfortunately I don't get every data I got throuth the Bluetooth connection.
After about two weeks the Bluetototh connection started working again. I am a bit confused about this.
Now both are working, but both tell me that cell 1 voltage is unknown. Did someone have the same problem with cell 1?

My setup know are one esp which connects by ble to two JKBMS and a D1 Mini Pro which is wired to both BMS by uart. If the Bluetooth fails again, I have my uart Backup :-).


Strip trailing & leading whitespace in email field

Strip trailing and leading whitespace of data entered in email field by user in registrations and login page. And then validate the data for email field.

@brockwhittaker can you review this one?

A few notes for the future:

We like to try not to put JS in HTML files when we can. In the files you can find something like {{ render_bundle('signup') }} which means there is a JS file called signup.js which contains code for these pages. Both login.html and accounts_home.html contain this bundle so it makes sense to put code in that JS file rather than the templates because now it's all in two places instead of one.

Remember whenever you're writing repetitive code to question whether it can be made more succinct. In this case you have three functions here:

 +$("#email").on('focusout', function (e) {
 +    $('#email').val($.trim($('#email').val()));
 +});
 +
 +$("#email").on('keydown', function (e) {
 +    if(e.which == 13) {
 +        $('#email').val($.trim($('#email').val()));
 +    }
 +});

 +$("#id_username").on('focusout', function (e) {
 +    $('#id_username').val($.trim($('#id_username').val()));
 +});

That are all doing the same thing: getting the selection input and trimming it. So in this case, you can combine all the selectors into one statement: ".register-page #email, .login-page-container #id_username", and you can combine the events focusout and keydown into "focusout keydown" in jQuery. Then you're able to simply change the internal selectors into a reference to this, which is the element that the action was performed on, and eprform the action (which is the same for all of these.

Make sure at the bottom of your commits to write in the PR that you fixed as, Fixed: #$PR..

I opened up another PR with a commit that is authored by you here. #6752. Thanks for working on this. :D

Merged via #6752, thanks for figuring out how to fix this @YJDave!

@brockwhittaker Thanks for reviewing PR and suggestions. I will keep this in mind next time :)


Not downloading videos because it's redirected to the login page

Describe the bug
The problem is in the title
Expected behavior
download
Screenshots
If applicable, add screenshots to help explain your problem.
Additional context
Add any other context about the problem here.

I fixed, it was a sharing link


Embedding multiple images from quoted tweets is currently broken

Replicate issue: Find or create a post containing multiple images. Then, find or create a quote post to that post that only contains text. Embed the quote post into Discord through fxtwitter.
Expected behavior: Embed shows the user and text of the quote, the user and text of the post being quoted, and the images of the quoted post.
Resulting behavior: Embed shows the user and text of the quote & the user and text of the post being quoted, but does not embed any of the images in the quoted post.
There are a myriad of other issues regarding media and quotes, but I haven't had the time to thoroughly test them yet. May add more issues about them later

Thanks for the bug report! I have pushed a fix so the multi-image tweet renders correctly within quotes now. If you find any other problematic scenarios feel free to open up another issue!


Adding missing operations in the JawnParser

This is a simple PR which adds a couple of extra operations to the JawnParser.

Edit.
I am not sure if I should or not add tests for the new methods.
For what I see here it didn't include tests for the file and bytes methods since those would mostly be redundant; some would also require creating some json files in the resources folder.

Codecov Report

Merging #1502 into master will decrease coverage by 0.30%.
The diff coverage is 25.00%.

@@            Coverage Diff             @@
##           master    #1502      +/-   ##
==========================================
- Coverage   85.79%   85.49%   -0.31%
==========================================
  Files          58       58
  Lines        2197     2206       +9
  Branches      107      107
==========================================
+ Hits         1885     1886       +1
- Misses        312      320       +8

Impacted Files
Coverage Δ

...jawn/src/main/scala/io/circe/jawn/JawnParser.scala
67.85% <25.00%> (-32.15%)
:arrow_down:

...rc/main/scala/io/circe/numbers/BiggerDecimal.scala
84.79% <0.00%> (-1.17%)
:arrow_down:

.../core/shared/src/main/scala/io/circe/Decoder.scala
85.32% <0.00%> (-0.28%)
:arrow_down:

...les/core/shared/src/main/scala/io/circe/Json.scala
79.32% <0.00%> (ø)

...re/shared/src/main/scala/io/circe/JsonNumber.scala
95.18% <0.00%> (+1.20%)
:arrow_up:

...re/shared/src/main/scala/io/circe/KeyDecoder.scala
97.29% <0.00%> (+2.70%)
:arrow_up:

...scala/io/circe/shapes/LabelledHListInstances.scala
96.29% <0.00%> (+3.70%)
:arrow_up:

...d/src/main/scala/io/circe/NonEmptySeqDecoder.scala
100.00% <0.00%> (+8.33%)
:arrow_up:

Continue to review full report at Codecov.

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

Thanks, this looks reasonable to me.


[improve][test] Improve SubscriptionMessageDispatchThrottlingTest to reduce the execution time

Fixed

https://github.com/apache/pulsar/issues/17636

Modifications
Only execution once setup/clean and clean tenants/namespaces/ config after the end of each test execution.
Execution time after improve test:
Tests run: 60, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 242.091 s - in org.apache.pulsar.client.api.SubscriptionMessageDispatchThrottlingTest

Documentation

[ ] doc-required
(Your PR needs to update docs and you will update later)

[x] doc-not-needed
(Please explain why)

[ ] doc
(Your PR contains doc changes)

[ ] doc-complete
(Docs have been already added)

Matching PR in forked repository
PR in forked repository: https://github.com/coderzc/pulsar/pull/14

Codecov Report

Merging #18039 (1f122f1) into master (6c65ca0) will increase coverage by 35.83%.
The diff coverage is n/a.

@@              Coverage Diff              @@
##             master   #18039       +/-   ##
=============================================
+ Coverage     34.91%   70.74%   +35.83%
+ Complexity     5707      437     -5270
=============================================
  Files           607       26      -581
  Lines         53396     2246    -51150
  Branches       5712      245     -5467
=============================================
- Hits          18644     1589    -17055
+ Misses        32119      484    -31635
+ Partials       2633      173     -2460

Flag
Coverage Δ

unittests
70.74% <ø> (+35.83%)
:arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

...broker/delayed/InMemoryDelayedDeliveryTracker.java

...rg/apache/pulsar/broker/service/BrokerService.java

.../service/SystemTopicBasedTopicPoliciesService.java

...g/apache/pulsar/compaction/CompactedTopicImpl.java

...r/stats/prometheus/AggregatedReplicationStats.java

...ransaction/buffer/impl/InMemTransactionBuffer.java

...java/org/apache/pulsar/io/kinesis/KinesisSink.java

...apache/pulsar/broker/admin/impl/FunctionsBase.java

...saction/pendingack/impl/PendingAckHandleState.java

...oker/stats/prometheus/AggregatedProducerStats.java

... and 571 more

/pulsarbot rerun-failure-checks

This PR has two issues

There are several skip tests, which contain a new bug introduced by this PR. https://github.com/apache/pulsar/pull/18125

  [INFO] Running org.apache.pulsar.broker.service.persistent.PersistentSubscriptionMessageDispatchStreamingDispatcherThrottlingTest
  Warning:  Tests run: 133, Failures: 0, Errors: 0, Skipped: 133, Time elapsed: 0.074 s - in org.apache.pulsar.broker.service.persistent.PersistentSubscriptionMessageDispatchStreamingDispatcherThrottlingTest
  [INFO] Running org.apache.pulsar.broker.service.persistent.SimpleProducerConsumerTestStreamingDispatcherTest
  Warning:  Tests run: 212, Failures: 0, Errors: 0, Skipped: 212, Time elapsed: 0.117 s - in org.apache.pulsar.broker.service.persistent.SimpleProducerConsumerTestStreamingDispatcherTest

There are failed CIs. https://github.com/apache/pulsar/actions/runs/3247091530/jobs/5330460957

We'd better not merge it before all the CI tests passed. @Technoboy- @codelipenghui


#2794 fix document attachment label

Details
Documentation for RNDocumentPicker says that the returned object has name and not fileName key.
Fixed Issues

Fixes #2794
Tests/QA Steps

PDF attachment:

Login in chat app.
Go to a conversation
Tap on the attachment icon
Tap on document
Select a PDF document.
You should see a preview

non-PDF non-image attachment:

Login in chat app.
Go to a conversation
Tap on the attachment icon
Tap on document
Select a non-PDF non-image file (I used .xsl).
You should see a preview with file name only.

Tested On

[ ] Web
[ ] Mobile Web
[ ] Desktop
[x] iOS
[x] Android

Screenshots

Web

Mobile Web

Desktop

iOS

PDF

non-PDF non-image

Android

PDF

non-PDF non-image

The diff affects only one .native.js, so to my understanding only iOS and Android should be tested.
Please let me know if I should add screenshots from other clients.

Bump @thienlnam to review.

Tested IOS last friday (Worked well), currently running into issues with my android emulator so I will merge once I get that sorted out and tested

:hand: This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release.


Visual Mood Tracker History

After about 2 weeks of tracking the graph only shows up to 5 days of moods. Version 1.6.1 Obsidian on Mac, Sonoma 14.4.1.

@kurt-caves hey, could you provide more details? at least a screenshot would be cool!


Questions about LFSR's for providing high bandwidth moderate-security randomized data.

In looking at the comments around #1845, I some general system-wide questions that I'd been hoping to discuss with people at the security meeting, but we ran out of time.   @cdgori and I have had a few conversations about this, but this might be another forum to get more opinions.
In the dialog around #1845 it seems like many different IP's are using Internal LFSRs, and hoping that it all converges.

Are people thinking of deprecating LFSR's when the CSRNG source is commited? (Note there might be no direct access to the entropy_src outputs, everything will probably be reprocessed by CSRNG)  A single CSRNG may or may not have enough bandwidth (or output ports) for all use cases, so my understanding is that we were envisioning some heirarchy of LFSR-like structure to spin-up the bandwidth of the CSRNG.

Note: If we make cryptographic primitives that are optimized more for bandwidth and less for side channel security then the CSRNG could be made very high bandwidth.  (e.g. there is a fully-pipelined AES block on opencores that advertizes 128b of output every clock, something like this could make a very fast CTR_DRBG.) Though an LFSR would be admittedly much more power efficient.

Do these LFSR's need to forward and backward security? (Note this is not really achievable with an LFSR as you only need to read N-bits, for length N, to know the entire state.)  If not for reset then what about for other use cases?   If this matters then you need to proved N bits of reseed every N-bits.  In this case, does LFSR providing any extra secure entropy?
-If providing forward/backward security is important than something like an alternating step generator (ASG) might be preferable as in then take exponentially more bits of output to determine the entire state (http://www.simonfischer.ch/science/sac07.pdf).   This however adds extra complexity. (3x the number of LFSRs, though you can shorten them potentially)
To @eunchan's point on power in #1845: what is the alternative to each block having their own LFSR?  Should there be some arbitrator that allows multiple IP's to share LFSR's?  Would this really save power over other approaches the LSFRs off?

Please tell me your thoughts.

Hey Martin,
just to comment on the first point.
My opinion is indeed..where appropriate (ie, the bandwidth needs are met,
and the latency is acceptable), we should request entropy from the CSRNG
directly.
This I think will have to be looked at on a case by case basis.
As an example, there is a case in key manager where I would prefer to grab
entropy from CSRNG, mostly because I can tolerate some latency, and I would
prefer not to replicate an LFSR that is constantly counting N times over.
The other case I imagined this would be useful (although we'd need to get
Felix / Philipp's) opinion is a "get_rand" operation from the asymmetric
crypto accelerators (used for blinding). Those as is would pull out of an
LFSR, but I think it makes more sense to pull out of CSRNG.
Lastly, even for blocks using LFSR, my expectation is that they would still
poll the CSRNG for periodic re-seeding input.  My general thinking is this
would allow for the block level LFSRs to be a bit more narrow, and a bit
more random in its sequence.
Also, I agree with Eunchan, having A LOT of LFSR's in the system gets VERY
expensive in terms of power (I have seen this firsthand).  So my thinking
is that at some point we should go over all the places that use LFSR at
some point, and make sure it makes sense.
If for example the entropy is used once in a while (clear all internal
state once transaction finishes), IMO that should be CSRNG.  If it's for
some new entropy that's needed every cycle (sbox blinding, the Canright
method calls for 16b of entropy per sbox byte, so 256b per cycle), it may
be on the borderline of using CSRNG directly (since entropy stalls would
stall the pipeline).
It would be great if Chris / others can chime in.
On Wed, Apr 8, 2020 at 3:25 PM Martin Lueker-Boden<EMAIL_ADDRESS>wrote:

Assigned #1920 https://github.com/lowRISC/opentitan/issues/1920 to
@tjaychen https://github.com/tjaychen.
—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHub
https://github.com/lowRISC/opentitan/issues/1920#event-3216076616, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AAH2RSW2BMI5DMPP4HZ35VLRLT2UJANCNFSM4MEI2VUA
.

I agree with @tjaychen that we should go through the design and look at all instances at a case by case basis. Whether or not you can actually save area or power by replacing a local LFSR with bits coming from CSRNG really depends on how the local LFSR is being employed, and what the security requirements are.
Just to provide an example here that is along the lines of what Tim mentioned RE re-seeding of local LFSRs:
We are using a 32bit LFSR in the alert handler ping mechanism where a random peripheral ID and a random waiting period (8bit - 24bit) are drawn every once in a while (10'000s of cycles apart). This does not require high bandwidth at all, but when the ID and waiting periods are drawn, they are drawn within a few cycles, and the number of draws can vary.
https://github.com/lowRISC/opentitan/blob/2b1f219f7174b90cf2b75151b78adf404f1c84c1/hw/ip/alert_handler/rtl/alert_handler_ping_timer.sv#L70-L86
My current implementation already assumes that it can draw 1 bit of entropy from CSRNG which gets XOR'ed into the state every time the LFSR is activated in order to offset the sequence. We are  using "only" 1 bit for reseeding here since we were not too concerned about security for this particular use case. The purpose of this mechanism is just to make ping timing difficult to predict and is not part of a cryptographic data path.
Since this LFSR is not constantly spinning, its area and power consumption should be comparable to a solution where 1bit entropy from the CSRNG is buffered up in a local shift register, with the difference that the LFSR allows me to get around backpressure issues if I have to draw 2-3 values right one after the other.
RE the point on sharing LFSRs among multiple modules, I do not think that this will buy us much if the LFSRs are not constantly spinning, and there are not too many of them (say <10 instances). I rather have the feeling that we would then add unnecessary complexity, since more intermodule connections and arbitration / back pressure handling would be required... after all, one of the main advantages that I see in having a local (exclusive) LFSR instance is that it allows you to quickly generate a PRNG sequence on demand, and in a cheap way.

Martin / Michael,
do you guys think we should start going through this exercise soon?
I think we certainly will need to anyways to understand how we should carve
out the CSRNG outputs for example.
Let's say each crank gets us 256b (i'm making this up), we'll need to divvy
up that number between the 1b entropy updates (to blocks such as alert
handler), parallel load (to blocks like key manager), and perhaps other
blocks that want to just use this as an LFSR seed.
I have some thoughts, but would like to hear your input.
As Michael said though, the parallel load interfaces inevitably will
involve some kind of handshaking.  For the 1b interface, we likewise should
think about if we need a valid bit, or if the downstream LFSRs are happy to
just constantly churn on the same entropy bit (I'm guessing no probably...).
On Wed, Apr 8, 2020 at 7:11 PM Michael Schaffner<EMAIL_ADDRESS>wrote:

I agree with @tjaychen https://github.com/tjaychen that we should go
through the design and look at all instances at a case by case basis.
Whether or not you can actually save area or power by replacing a local
LFSR with bits coming from CSRNG really depends on how the local LFSR is
being employed, and what the security requirements are.
Just to provide an example here that is along the lines of what Tim
mentioned RE re-seeding of local LFSRs:
We are using a 32bit LFSR in the alert handler ping mechanism where a
random peripheral ID and a random waiting period (8bit - 24bit) are drawn
every once in a while (10'000s of cycles apart). This does not require high
bandwidth at all, but when the ID and waiting periods are drawn, they are
drawn within a few cycles, and the number of draws can vary.
https://github.com/lowRISC/opentitan/blob/2b1f219f7174b90cf2b75151b78adf404f1c84c1/hw/ip/alert_handler/rtl/alert_handler_ping_timer.sv#L70-L86
My current implementation already assumes that it can draw 1 bit of
entropy from CSRNG which gets XOR'ed into the state every time the LFSR is
activated in order to offset the sequence. We are using "only" 1 bit for
reseeding here since we were not too concerned about security for this
particular use case. The purpose of this mechanism is just to make ping
timing difficult to predict and is not part of a cryptographic data path.
Since this LFSR is not constantly spinning, its area and power consumption
should be comparable to a solution where 1bit entropy from the CSRNG is
buffered up in a local shift register, with the difference that the LFSR
allows me to get around backpressure issues if I have to draw 2-3 values
right one after the other.
RE the point on sharing LFSRs among multiple modules, I do not think that
this will buy us much if the LFSRs are not constantly spinning, and there
are not too many of them (say <10 instances). I rather have the feeling
that we would then add unnecessary complexity, since more intermodule
connections and arbitration / back pressure handling would be required...
after all, one of the main advantages that I see in having a local
(exclusive) LFSR instance is that it allows you to quickly generate a PRNG
sequence on demand, and in a cheap way.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/lowRISC/opentitan/issues/1920#issuecomment-611287981,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAH2RSSNRJJ7BW4QEP4YES3RLUVEHANCNFSM4MEI2VUA
.

Thanks @martin-lueker for starting this discussion.
Based on our previous discussions, I was aware during the implementation of #1845 that the LFSR used for clearing the AES state might eventually be kicked out to use the CSRNG output directly. For this reason, I integrated it in a somewhat latency-tolerant way: The AES-internal FSMs can wait on the CSRNG for a couple of cycles (8-12 depending on key length or number of rounds) without stalling.
But as @tjaychen mentioned, this won't work for the S-Box masking where randomness is needed in every cycle. Maybe as long as a local LFSR is available, it can be re-used for this as well. Alternatively, a new LFSR is added just for this. Or, a second high-bandwidth CSRNG port needs to be added. It's not yet clear to me what we will need. Maybe there will be separate low- and high-rate CSRNG.
As for the forward/backward, do you meant that it should not be possible to find out future or past values based on the current value? If yes, I think that is not needed for our current use cases of the LFSR such as clearing registers and randomizing the ping time in the alert handler. (To get some more variation we also combine the LFSR with cipher S-Boxes or permutations in some of the cases.) But also here, I don't think this will be sufficient for the purpose of masking.

@martin-lueker should we maybe start a sheet / doc to keep track of the modules that need entropy (annotated with required security strength, bitwidth and update rate)? That could help us go through the individual cases and make a more informed decision...

Short comment: I think that is a great idea.
From: Michael Schaffner<EMAIL_ADDRESS>Sent: Thursday, April 9, 2020 10:15 AM
To: lowRISC/opentitan<EMAIL_ADDRESS>Cc: Martin Lueker-Boden<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Subject: Re: [lowRISC/opentitan] Questions about LFSR's for providing high bandwidth moderate-security randomized data. (#1920)
@martin-luekerhttps://github.com/martin-lueker should we maybe start a sheet / doc to keep track of the modules that need entropy (annotated with required security strength, bitwidth and update rate)? That could help us go through the individual cases and make a more informed decision...
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/lowRISC/opentitan/issues/1920#issuecomment-611645395, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ALNHDM4RUIYPVCAHLM7OZADRLX7BJANCNFSM4MEI2VUA.

Given the preference for getting entropy driectly, I think we should also consider making a new pipelined AES primitive that is extremely focused on bandwidth and less on obfuscation.   I haven't looked at the quality of the RTL, but there are at least some Apache v2 examples of high-bandwidth AES blocks: Example: https://opencores.org/projects/tiny_aes
We could either restyle it as is (and cite the original) or make our own. Thoughts?  Is here an OT policy for adopting external open source blocks?

Thanks @martin-lueker for the update on the CSRNG yesterday. That was interesting. It made me think a bit on a bandwidth-optimized AES primitive. I had a quick look at the core you linked. What we she should use depends a bit on the requirements.
At the moment, I would suggest to build a high-bandwidth cipher core from the components we have in our own AES module. The reasons are:

Verification: If we can make the interface of the high-bandwidth core match the interface of the regular core, we can start verification relying on Rasmus' DV infrastructure.
Integration into the CSRNG can start right away and the cipher core can be replaced once the high-bandwidth version is available.
We know what we get in terms of functionality, code quality, verification.
Our key expand module can do both AES-128/256. I think for CSRNG, you are planning to use AES-256 for sure and maybe also AES-128. The referenced IP core uses two separate instances for that.
If we need higher bandwidth than a fully unrolled core, we can replicate the cipher data path and share the key expand module (Maybe we can also do that with other IP cores but it will be more involved).

Implementing a high-bandwidth core based on our source code is not too much work. There are a couple of questions regarding pipelining and latency as well as initial latency after changing the key. The most efficient option (resources + design effort) would be to let the key expand module generate the round keys iteratively and store into registers. This will take 14 cycles after a key switch. After that, we get 1 output block per cycle and parallel cipher data path. Otherwise we need to unroll the key expand module as well. This means more design and verification effort. Maybe this discussion is a bit off-topic here and be better discuss separately.

Hi @vogelpi, sorry for the delay.
This all sounds great.  Any thing we can do to make a dramatically faster AES would be excellent in my view.  This would be very beneficial, not just for CSRNG, but also for future products targetting a different balance between security vs. performance.  I'm super excited to hear you say that it would  not be much work.  It's also nice to hear that the interface would remain the same.
@rasmus-madsen: Do you think the VIP could be used as is?

@martin-lueker If the interface is the same I don't see anything hindering the use the current dv.
if the interface is the same we should be able use the full environment as is.
some adaptation to sequences might be needed.
one thought regarding the RTL design, Currently it takes a minimum of 4 clock cycles to provide one block of data. (assuming a TL-UL burst of 4 beats)
so without a different method of input the best throughput we can achieve will be 1/4 output per cycle. not taking init cycles into account.

Good point @rasmus-madsen on the I/O bandwidth limitation.
At the moment, I don't think there is the need for a higher-bandwidth, full-fledged AES module in the project. The main purpose of the high-bandwidth cipher core would be for CSRNG. In my view, re-using the DV framework of the medium performance AES module we currently have will help us to get some initial verification for this high-bandwidth cipher core. To thoroughly verify it, a lot more work will be needed.

i think maybe we don't have to rush for a high bandwidth, fully unrolled
AES for CSRNG yet...i feel like even if we do, we're unlikely to make this
fast enough to support the REALLY high performance cases (AES masking).
It probably makes more sense to complete the entropy exercise first and
then decide..
On Mon, May 4, 2020 at 2:38 AM Pirmin Vogel<EMAIL_ADDRESS>wrote:

Good point @rasmus-madsen https://github.com/rasmus-madsen on the I/O
bandwidth limitation.
At the moment, I don't think there is the need for a higher-bandwidth,
full-fledged AES module in the project. The main purpose of the
high-bandwidth cipher core would be for CSRNG. In my view, re-using the DV
framework of the medium performance AES module we currently have will help
us to get some initial verification for this high-bandwidth cipher core. To
thoroughly verify it, a lot more work will be needed.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/lowRISC/opentitan/issues/1920#issuecomment-623362263,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAH2RSQ5ARDONHYXCYDMXKDRP2EKLANCNFSM4MEI2VUA
.

this is something we'll need to come back to.
There's been some rumblings about not using something like the lfsr but something that has more of a..unbiased distribution (ie, lightweight cipher).

ok I see. do you mean we could consider using either PRESENT or PRINCE instead of AES to create a lightweight PRNG that is still based on a block-cipher?

yeah that's right.
But we don't have to jump on that yet.  It's not super clear yet if that's
the direction we need to progress in.
On Tue, Dec 22, 2020 at 12:24 PM Michael Schaffner<EMAIL_ADDRESS>wrote:

ok I see. do you mean we could consider using either PRESENT or PRINCE
instead of AES to create a lightweight PRNG that is still based on a
block-cipher?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/lowRISC/opentitan/issues/1920#issuecomment-749758971,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAH2RSUWFKCFCAV65CYOZLTSWD57ZANCNFSM4MEI2VUA
.

If I got this right, it's not about replacing AES inside CSRNG but instead about using PRESENT/PRINCE instead of LFSRs + permutations for producing the pseudo-random data required e.g. for masking the AES accelerator (not the AES core inside the CSRNG). We need a lot of randomness there:

with Canright masking its at least 360 bits every clock cycle
with domain-oriented masking it's at least 560 bits every 5 clock cycles.

Analyzing the distribution of the masking PRNG inside AES is something that I have on my todo list for a long time now. Hopefully, I can look into that in Jan.

yes that's right.
From what I gathered, for masking purposes at least, this gives a better
distribution of random numbers vs lfsr + permutation.
But i've not dug up any literature to support this, more or less just
conversations in passing.
On Tue, Dec 22, 2020 at 1:55 PM Pirmin Vogel<EMAIL_ADDRESS>wrote:

If I got this right, it's not about replacing AES inside CSRNG but instead
about using PRESENT/PRINCE instead of LFSRs + permutations for producing
the pseudo-random data required e.g. for masking the AES accelerator (not
the AES core inside the CSRNG). We need a lot of randomness there:

with Canright masking its at least 360 bits every clock cycle
with domain-oriented masking it's at least 560 bits every 5 clock
cycles.

Analyzing the distribution of the masking PRNG inside AES is something
that I have on my todo list for a long time now. Hopefully, I can look into
that in Jan.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/lowRISC/opentitan/issues/1920#issuecomment-749794541,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAH2RSUGWPW3O2ADBYDBGNTSWEIUTANCNFSM4MEI2VUA
.

Ok, I think for that many random bits, a good starting point could be a shallow (e.g. 3 round) PRINCE cipher.
This yields 64bit per instance, hence it needs to be replicated accordingly.
RE the feedback construction, I am not sure what guarantees you get from a (shallow) cipher that feeds on itself (i.e., whether the generated PRNG sequence is guaranteed to cover the complete set of states in the 64bit space, or not). If that is of a concern, we could also feed the output of a 64bit LFSR into a shallow block cipher instead. Due to the bijectiveness of the cipher, the PRNG sequence is then guaranteed to cover all states eventually (except for the encrypted version of the all-zero state).

This issue is over a year old. I think many of the concerns have been worked out and implemented already. I proposed we close this issue and open new ones to address any remaining specific issues.

@mwbranstad at this point, I don't think this should be gating/blocking on CSRNG but rather on consumers of CSRNG entropy?
Agreed that a lot of things have been resolved but we do need to figure out for at least: alert handler, AES (with masking), KMAC (with masking), and OTBN (RND) if we will use LFSRs, some shallow PRINCE structure, etc.
Would be good for everyone to have a quick think-through and see if I've missed any other consumers. ( @tjaychen / @eunchan / @msfschaffner / @imphil for visibility)

I went through these designs and did a slightly more formal accounting below, with a short description of what each mechanism does.

Block
Function
High Fidelity Required?
Implemented PRNG Mechanism
Accepted & Resolved
RTL

ALERT_HANDLER
ping timer
No
LFSR + permutation
TBD
link

OTP
background check timer
No
LFSR + permutation
TBD
link

SRAM_CTRL
SRAM initialization
No
LFSR
TBD
link

KMAC
masking
Yes
LFSR
TBD
link

AES
masking
Yes
LFSR + permutation + 4bit Sbox layer
TBD
link

AES
clearing
Yes
LFSR + permutation + 4bit Sbox layer
TBD
link

OTBN
URND
Yes
LFSR + permutation + 4bit Sbox layer
TBD
link

Items up for discussion:

[ ] For the OTP and ALERT_HANDLER, I believe no change is needed.

[ ] For SRAM, we could technically enable the random output permutation since that does not cost anything (the LFSR primitive supports that as a parameter).
However, it's not super critical, since the data gets written through the scrambling device, which shuffles the bits via the word diffusion (S&P) layers.

[ ] As for AES, OTBN and KMAC, I believe the intention here is to use higher fidelity PRNG mechanisms if possible.
AES and OTBN already use the output permutation plus an additional 4bit Sbox layer to achieve that.
So the question basically remains here whether this is good enough for our purposes.

[ ] KMAC at the moment seems to use a plain LFSR with no permutation, so we may want to bump that to the same mechanism that AES uses.

[ ] I also found an LFSR in the entropy_src module here. that one is not accounted for in the table above yet. @mwbranstad is the plan to replace that in the future with the "real" entropy source, or do we intend to keep that one?

What do people think?
(Btwy, please correct me if I missed an LFSR or got the accounting / mechanism description wrong above)

@msfschaffner Keeping the LFSR in ES. It was intended for a faster means of generating entropy with the primary goal of software use.

But do I understand correctly that the entropy generated by that LFSR is still being post processed afterwards in CSRNG? It seems that that one does not really fit into this accounting here, since it is not an entropy consumer with the need of a fast local entropy expansion mechanism...

Correct understanding, the output will ultimately feed into the CSRNG module.

Questions thinking about other potential LFSR users:
1- Is there no wipe/clear in KeyMgr?  That sort of surprises me.
2- Should we be implementing secure clear of the 1600b state in KMAC (as AES does)?  There's not an obvious "key register" to clear for KMAC but basically the whole hash state is "dirty" if actually doing a KMAC op.
3- For completeness: in theory, if we support sideload to HMAC then we probably need some secure clear of state as well.
4- Also for completeness: does Ibex need an LFSR for dummy instruction insertion?  (or other countermeasures)
Feel free to have a look at an OT block diagram and see if you can think of any other users - I could not come up with anything else beyond these 4.

keymgr's lfsr usage is here
For any case where the prng output is used for masking purposes we should just require the permutation (so add kmac to the list).
ibex's lfsr is here

Thanks, I have added the key manager and Ibex LFSRs and added a secure wipe feature for KMAC to the list (that one is marked as not implemented yet).
As for Chris' 3rd point, is HMAC sideload confirmed?
Open items:

[ ] should Ibex also use a permutation?
[ ] Add output permutation and sbox4 layer to KMAC LFSR?
[ ] Add clearing mechanism to KMAC?
[ ] Add sbox4 layer to key manager?
[ ] OK to mark all other mechanisms as "accepted & resolved"?

i don't think it's really necessary for ibex to require the permutation. Since they are just using this to pick the random instructions.
Similarly for keymgr, it's not really meant to be high quality or masking, so probably okay to not have the sbox layer.
I think it makes sense to have the sbox4 layer for KMAC.
I'm tempted to say the KMAC clear is okay as is (clears to 0, but would probably need @eunchan help to confirm).  The state space is....1600b x 2... that's enormous.  I find it really hard to believe that even though we're transitioning back to a known value that that many bits toggling would yield something useful. We can confirm this with the lab.

FYI: @vrozic has been investigating the masking PRNG inside AES. If I remember correctly (please correct me if I am wrong Vladimir), the main outcome was:

It looks sufficient but there is room for improvement.
The sbox4 layer is needed, especially if the PRNG is not reseeded after every block. We still haven't decided when to reseed and at what frequency.

For any PRNG we should check if there is a way for software to observe the value. If this is the case, we need to construct the PRNGs in a different way such that it's not possible to infer previous states or predict future states. Vladimir had some ideas here.

Does it maybe make sense to go over this table in one of our security meetings in order to decide on the mechanisms and resolve this? @felixmiller @moidx

yeah either use the security syncs or the security working groups.
I don't feel like any of the decisions here are very controversial, so we can probably move quickly.

I have updated the table aboce according to today's discussions.
we have the following action items on the design side:

[ ] Ibex: add permutation @GregAC @imphil
[ ] KMAC: add permuation + 4bit SBox layer @eunchan
[ ] KEYMGR: add 4bit SBox layer @tjaychen
[ ] OTBN: evaluate implementation of improved PRNG scheme for URND @vrozic @imphil

in terms of open items TBD in an upcoming silicon meeting, we have:

[ ] Discuss whether clearing mechanism is needed for KMAC
[ ] Discuss and settle on OTBN URND implementation (pending evaulation above)
[ ] Sign off on all mechanisms listed in the table above.

Ok the KMAC and KEYMGR have been taken care of.
@vogelpi @tomroberts-lowrisc @imphil @vrozic any updates regarding Ibex, AES, OTBN?

The updates are done in the Ibex repo. I'll tick this off once the latest version of Ibex has been vendored in.

Great, thanks!

OK this issue has been updated.
The only outstanding point now is that question about KMAC key clearing.
CC @eunchan @tjaychen

This issue has been open for 20 months, but has continuously been updated - impressive! Since this thread is so long now, can we close this issue and break out any remaining issues into new specific ones?

Yes indeed, I believe all items here have been addressed / the remaining action item regarding KMAC clearing has been spun out into a separate issue (https://github.com/lowRISC/opentitan/issues/9041).


version solving failed

I've tried to add google_fonts to the project's pubspec.yaml, but when I hit pub get, I get the following message:
Because <project_name> depends on google_fonts >=1.1.0 which requires Flutter SDK version ^1.17.0, version solving failed.
pub get failed (1; Because <project_name> depends on google_fonts >=1.1.0 which requires Flutter SDK version ^1.17.0, version solving failed.)

Here's my Flutter version:
Flutter 1.17.0-3.3.pre • channel beta • https://github.com/flutter/flutter.git
Framework • revision 0da1ab0922 (3 weeks ago) • 2020-04-28 11:02:34 -0700
Engine • revision 376ad6a64b
Tools • Dart 2.8.0

How to solve it?

You are on some beta channel so it might be because of that.
I had the same problem but fixed it by switching to the stable flutter channel.
flutter channel stable
And then I upgraded to the most recent version of flutter:
flutter upgrade

Looks like this issue was resolved with a flutter upgrade, feel free to reopen if it's still ocurring.


DMP 812 Functional test running

JIRA link (if applicable)
https://tools.hmcts.net/jira/browse/DMP-812
Change description
Added functional test for dailylist
Does this PR introduce a breaking change? (check one with "x")
[ ] Yes
[x] No

Do we have any standards for the functional tests ? Like we do Junit / integration test coverage.


Safer lifecycle watch api

A safer shape of the lifecycle API
Resolves https://github.com/apple/swift-distributed-actors/issues/884

No joy, we have a crash on the nightly but not in betas on macOS -- investigating.

Going to merge this to make progress with the other "parked" PRs, but review is welcome @yim-lee !
I'll be cleaning up more and adding more docs in a follow up


dconf2nix: 0.0.5 -> 0.0.6

Motivation for this change
Update dconf2nix to v0.0.6.
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[x] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 98382 1

2 packages built:
- dconf2nix
- haskellPackages.dconf2nix


[Feature] Add LifecycleAwareFirebaseMessagingService

Is your feature request related to a problem?
Currently, FirebaseMessagingService is not lifecycle-aware, so if you are handling certain asynchronous tasks under the hood, you have to manually terminate those jobs onDestroy. Having a utility feature like lifecycleScope in LifecycleService would make this task very easy to handle, so I propose to implement and add such a feature.
Describe the solution you'd like:
Implement LifecycleAwareFirebaseMessagingService -> Also I want to take this task
Describe alternatives you've considered:

Hey @l2hyunwoo, thank you so much for suggesting this fantastic feature! I’d love to review your implementation once you’ve completed the task. Here are my suggestions for the module and class names:

firebase-messaging-lifecycle-ktx
LifecycleFirebaseMessagingService

I'm looking forward to reviewing your implementation!


CheckCmdletXmlDocs: Only output failing cmdlets

CheckCmdletXmlDocs.psm1: Only print failing cmdlets and their associated warnings to output when run.

LGTM

PTAL, thanks!

We could probably clean up the code or comments, but this is fine. LGTM.


Bump dependency on azure core for all upstream SDKs and client libraries to the latest shipped version

First step of https://github.com/Azure/azure-sdk-for-cpp/issues/3214
Keyvault keys and certificates are already pointing to latest version of  core, 1.3.1

Do we just preemptively update the dependency just in case, or is there really a feature in 1.3.1 that all these places need?


make official iterator functions, add to docs

Remove the underscore and make the iterator functions documented

Codecov Report

Merging #234 (91042d1) into master (a564d97) will decrease coverage by 0.06%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##           master     #234      +/-   ##
==========================================
- Coverage   70.99%   70.92%   -0.07%
==========================================
  Files          14       13       -1
  Lines        1741     1737       -4
==========================================
- Hits         1236     1232       -4
  Misses        505      505

Impacted Files
Coverage Δ

src/active_set.jl
79.36% <ø> (ø)

src/fw_algorithms.jl
85.32% <100.00%> (ø)

src/utils.jl
55.52% <100.00%> (-0.25%)
:arrow_down:

src/oracles.jl
86.59% <0.00%> (-0.14%)
:arrow_down:

src/FrankWolfe.jl

Continue to review full report at Codecov.

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


Append RRULE: to the beginning of every generated rrule.

Looks like the rrule that sublime picker generates is incorrect for other parsing libraries (such as the RFC2445 date iterator)
Sublime generates "FREQ=DAILY;INTERVAL=10;" etc.. but what is needed is "RRULE:FREQ=DAILY;INTERVAL=10;"
I can open a PR for this. Should be very simple to append "RRULE:" at the beginning of each generated rule. I'd also like to see SublimePicker generate an RRULE for all occurrences, not just Custom ones. Any reason why this wasn't done? I am manually doing so in my app each time the user selects a recurrence...

Agreed, RRULE: should be prefixed to every recurrence rule supplied by SublimePicker.

I'd also like to see SublimePicker generate an RRULE for all occurrences, not just Custom ones. Any reason why this wasn't done?

I can see how this could be done for Every Day | Every Month | Every Year: FREQ=DAILY | FREQ=MONTHLY | FREQ=YEARLY. But how do you generate the recurrence rule for Every Week since it would have to include the BYDAY parameter?
For instance, SublimePicker would return the recurrence rule FREQ=WEEKLY;WKST=MON;BYDAY=SA if I ask it right now. Should this be considered equivalent to Every Week?

Sorry for not opening that PR! I got very sidetracked with the app I'm building. Actually, with the RFC 2445 library I'm using that generates the dates based on rrule, it takes in a start java.util.date type as well. So if "RRULE:FREQ=WEEKLY;" then it will generate dates 7 days ahead of the start date. It's clever enough to know.

I had written some unit tests with that library. Unfortunately I'm not near my laptop, maybe tomorrow ill hop on and get them to you.

https://github.com/jcvanderwal/google-rfc-2445 for reference


Close the file handle in windows

Close the file handle after playing sound

Can this branch please me merged?


Related: mkdocs readthedocs theme: renders code block italic with cons

Because Lexicon uses the mkdocs readthedocs theme I thought you should know.
Filled a new Issue: https://github.com/mkdocs/mkdocs/issues/411
you can also close this if you want.
Cheers
P

Thanks. We'll leave this open until resolved upstream.

Upstream seems to have fixed this very fast: https://github.com/mkdocs/mkdocs/issues/411


Bump MSRV to 1.56

Although there isnt an MSRV specified in the readme or elsewhere the CI does specify runs on rust 1.55 so I assume there is an undocumented MSRV of 1.55?
Bumping to 1.56 will allow updating to hashbrown 0.12.0
The old version of hashbrown is causing duplicate hashbrown dependencies in my dependency tree.

Woops, kind of forgot about this one.
I recently bumped the MSRV in CI to 1.56.1, although I haven't yet codified it via rust-version in the various Cargo.toml files.


clean up doas.js

There were some quirks with the code of this particular module, so I took the liberty of cleaning it up. I commented my changes.
Please review and test these changes before merging, if you choose to do so.

works fine, merging


Getting error when I reduce executor count.

I am using 4 executors with the following config:
        "cores"  = 3
        "memory" = "22g"

It works fine for 4 executors, but when I reduce the count to 3 it starts to throw the following:
 at org.apache.spark.sql.execution.streaming.StreamExecution.org$apache$spark$sql$execution$streaming$StreamExecution$$runStream(StreamExecution.scala:332)
        at org.apache.spark.sql.execution.streaming.StreamExecution$$anon$1.$anonfun$run$1(StreamExecution.scala:211)
        at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23)
        at org.apache.spark.JobArtifactSet$.withActiveJobArtifactState(JobArtifactSet.scala:94)
        at org.apache.spark.sql.execution.streaming.StreamExecution$$anon$1.run(StreamExecution.scala:211)
Caused by: org.apache.spark.SparkException: [INTERNAL_ERROR] The Spark SQL phase planning failed with an internal error. You hit a bug in Spark or the Spark plugins you use. Please, report this bug to the corresponding communities or vendors, and provide the full stack trace.
        at org.apache.spark.SparkException$.internalError(SparkException.scala:107)
        at org.apache.spark.sql.execution.QueryExecution$.toInternalError(QueryExecution.scala:536)
        at org.apache.spark.sql.execution.QueryExecution$.withInternalError(QueryExecution.scala:548)
        at org.apache.spark.sql.execution.QueryExecution.$anonfun$executePhase$1(QueryExecution.scala:219)

Seems like a bug in the plugin.

can you upload the full stack trace?

Will send, it seems like the issue is resolved by deleting the checkpoint
directory, I will keep posted if I see same behavior. Thanks
On Thu, May 23, 2024, 7:22 PM hwanghw @.***> wrote:

can you upload the full stack trace?
—
Reply to this email directly, view it on GitHub
https://github.com/awslabs/spark-sql-kinesis-connector/issues/19#issuecomment-2128184734,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AC65XLX2VA3GU2H3BLQ6ZJTZDZ22RAVCNFSM6AAAAABIGNFVNWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCMRYGE4DINZTGQ
.
You are receiving this because you authored the thread.Message ID:
@.***>


V1 - Ensure Resource

Move the ensure resource plug to v1
#306 #309

With v1 load resource this plug is no longer needed. Use the allow_blank: true option to gain previous behaviour. By default this will fail if no resource was found.


operator mariadb-operator (0.24.0)

Add operator mariadb-operator (0.24.0) to community operators

/merge possible

/merge possible


Out-of-Browser Experiences (meta)

These are currently being done by Solid bots and interactive text-based tools running outside of browsers

#126 provision pods for automated testing
#96 offline copy (download files from Pod)
#69 delete all online records
#14 upload files to Pod
#29 crawler to fix/make suggestions about acl files
#128 backup solid gitter chats to pod or local file system
#129 provision app-related resources on a Pod as part of app installation
#130 out-of-browser chat apps
#132 serverless local Pod

Possible future use?

#78 voice control (text based apps?)

[edits : added 132]

I have a bunch of personal infrastructure that collects my data and I upload some of it into Solid. I use it to keep track of my net worth (current stock prices etc.), but I can imagine use cases like digital twins or smart devices.

I have a bunch of personal infrastructure that collects my data and I upload some of it into Solid.

That's a great use-case.  Please submit as an issue, or if you don't have time, I will. :-)

digital twins or smart devices

Those too! :-)


Missing process list and other oddities in Windows

This is what it looks like in Windows 7.

braille characters are drawn with an offset
process list is empty
other info doesn't line up

weird .. it doesnt even start on my machine (win 10 x64, node 5.4.1) citing: The system cannot find the path specified. not the vtop.cmd mind you, it can find that fine, but vtop.cmd is using /bin/sh.exe ?  which obviously doesnt exist. reason being the bin/vtop file wanting to execute in a /bin/sh instead of in node (which would be correct for cross platform)

Likewise same problem as @matthiasg . However on Windows 10 you can install the Linux subsystem (Ubuntu bash for Windows) and just install it from there. Works perfectly, even the ncurses style formatting. Downside is you only see processes within the subsystem, not Windows processes.

I'm not able to get this started on Windows too...
Windows 10, Creators Update
'/bin/sh' is not recognized as an internal or external command,
operable program or batch file.


Running a second sphere instance make sphere crash

Normally if you start a second sphere instance you get an error -9 because it's impossible to bind IP.
Now the new sphere just crash.
Bug Begin maybe on this one:
https://github.com/Sphereserver/Source-X/commit/89e27bfd3e578e67b5c8973890e9c5d952edc977
(I'm not able compile it on my PC)
Or this one https://github.com/Sphereserver/Source-X/commit/75a07b4498bd62837c6f51afa968fb5c8789df64

Yes happen on last dev Windows. Linux I can't test.

I have no issue about it, I just tried to start second instance but gives me -9 error but it didn't crash, can you check if it's still exists.

Fixed on last dev


Add Schema.load

This PR adds a convenient method for loading remote schemas by URL.  Ember.$.ajax is used to load the schema, but you can optionally overload with your own ajax method.

sweet!


Delete measurement after it has been saved.

When we create a measurement in the ohif viewer we can view the measurements in the measurements table. After we click the save button we are able to save the measurement for that specific study. After the refresh page as well the measurements are available but when we click the delete button from the measurement table the measurements get removed but after the refresh page, the measurements are still there. Is there a way to delete a measurement after it has been stored?
Below image the measurement if present and if select the delete, it deletes from the viewer but when reload measurements still present

Please review the latest code in the master branch. I am confident that this issue has been resolved. If it persists, kindly reopen the issue with updated details.
Try viewer-dev.ohif.org instead of viewer.ohif.org
Our viewer.ohif.org is deployed from release branch while viewer-dev.ohif.org is our master  branch
Read more about branch explanations here https://docs.ohif.org/development/getting-started#developing


How to Create a Stacked Bar Chart?

Is it possible to make stacked bar chart?

No comments yet. A stacked bar chart would be very helpful


Add type hinting

http://stackoverflow.com/questions/35230635/type-hinting-in-python-2

https://www.jetbrains.com/help/pycharm/2016.3/type-hinting-in-pycharm.html

This would effectively deprecate Python 2.7 support


Allow plugin extra (default) values to reference plugin name, namespace, profile

Migrated from GitLab: https://gitlab.com/meltano/meltano/-/issues/2281
Originally created by @DouweM on 2020-08-19 22:55:16

We can use the same MELTANO_EXTRACTOR_NAME (etc) variables exposed as pipeline environment variables.
This will allow us to add an extractor preferred_schema extra with a $MELTANO_EXTRACTOR_NAMESPACE default value.

View 5 previous comments from the original issue on GitLab


Delegated harvesting

Updated the Guide and the Concept.
Fixes #468
Fixes #532
Fixes #547

This has been under review for way too long without activity and feedback on Slack was positive so... merging.


xr.combine_by_coords raises ValueError if identical coordinates are non-monotonic

MCVE Code Sample

import xarray as xr
import numpy as np

#yCoord = ['a', 'b', 'c']  # works without error
yCoord = ['a', 'c', 'b']  # raises ValueError on combine

ds1 = xr.Dataset(
    data_vars=dict(
        data=(['x', 'y'], np.random.rand(3, 3))
    ),
    coords=dict(
        x=[1, 2, 3],
        y=yCoord
    )
)

ds2 = xr.Dataset(
    data_vars=dict(
        data=(['x', 'y'], np.random.rand(4, 3))
    ),
    coords = dict(
        x=[4, 5, 6, 7],
        y=yCoord
    )
)

ds3 = xr.combine_by_coords((ds1, ds2))

Expected Output
combine_by_coords should return without error.
Problem Description
Running the example with yCoord = ['a', 'c', 'b'] raises an error:
ValueError: Resulting object does not have monotonic global indexes along dimension y

The documentation for combine_by_coords says that "Non-coordinate dimensions will be ignored, as will any coordinate dimensions which do not vary between each dataset". This is not the case with the current implementation, since identical coordinate dimensions are still required to be monotonic.

I've fixed this in #3151, and added your example as a new test to cover it.
The combining was being done properly, but a bug was causing the post-combining checks to be over-zealous.

@TomNicholas thanks for the fix!
For future reference, we usually close issues after merging the pull request that fixes them. So let’s leave this open for now...

Closed by #3151


Documenting

I started this in PR #218 , but something is going wrong with Travis and the Docker image there. I'm starting from scratch to see if there's a mistake in files that were changed, or if I broke the Docker image on DockerHub.

Covered by PR #218


btn class not responsive on long texts

Description
When adding longer texts in an element with the .btn class and watch the content in a smaller view (eg. within grid column or small screen) where the text is longer then the width of the button, the text will simply be cut off.
Repro Steps

Create a button (a.btn, button.btn or input[type="submit"].btn)
Add a long text/value to it
Watch behaviour in small parent element, or small screen

Screenshots / Codepen
I created a Codepen which demonstrates the issue, and a potential fix:
https://codepen.io/anon/pen/KqXYRJ
"Fix"
The issue is created due 2 problems:

The .btn class has a fixed height, so all content which flows to the next line will disapear.
The input element gets by default white-space: pre (by browser).

Removing the fixed height and adding a min-height will solve the first problem, and should work for both .btn and .btn-large.
Adding white-space: pre-wrapwill make sure that the content will correctly wrap when necessary.
And adding word-wrap: break-word is optional for extreme long words, to ensure design won't break.

Buttons should not have a flexible height. Either put less content inside of them or use text-overflow:ellipsis in some way.

Buttons should only be one line


Deserialize into list of strings or list of structs

I am currently trying to write a visitor to be able to deserialize both a list of strings or a list of structs into a list of structs. This is the same idea as in the string-or-struct example, but wrapped in a Vec.
See this gist for a minimal example and what I have tried so far.
Specifically: I want to be able to deserialize both of the following toml-fragments into a list of structs:
children = [
    { a = "a1", b = "b1" },
    { a = "a2", b = "b2" },
]
# or
children = [
    "a1 b1",
    "a2 b2",
]

Into:
Parent {
    children: [
        Child {
            a: "a1",
            b: "b1"
        },
        Child {
            a: "a2",
            b: "b2"
        }
    ]
}

My assumption is that I have to visit every single element within visit_seq, but I am not sure how to do this, since the elements in the list could either be strings or structs/maps.

I hope this is the right place to ask, I couldn't stick around IRC long enough to get some input over there.

You almost had it! The only thing going wrong was that the return type of visit_seq is Vec<Child> so both of the following are going to be using the Deserialize impl for Child, which does not have the string-or-struct behavior of your visitor.
// The return type is Vec<Child> so this is equivalent to Vec::<Child>::deserialize,
// which uses the derived Deserialize impl for Child.
Deserialize::deserialize(de::value::SeqAccessDeserializer::new(visitor))

// ---

let mut v: Vec<T> = Vec::new();
while let Some(element) = visitor.next_element()? {
    // Inserting element into v implies that its type is Child, so the next_element
    // call will be using the derived Deserialize impl for child.
    v.push(element);
}
Ok(v)

All I changed is I split your Visitor into two Visitors. You know we need two because they have different return types. One of them produces instances of Child and the other produces Vec<Child>.
fn seq_string_or_struct<'de, T, D>(deserializer: D) -> Result<Vec<T>, D::Error>
    where T: Deserialize<'de> + FromStr<Err = String>,
          D: Deserializer<'de>
{
    struct StringOrStruct<T>(PhantomData<T>);

    impl<'de, T> de::Visitor<'de> for StringOrStruct<T>
        where T: Deserialize<'de> + FromStr<Err = String>
    {
        type Value = T;

        fn expecting(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
            formatter.write_str("string or map")
        }

        fn visit_str<E>(self, value: &str) -> Result<T, E>
            where E: de::Error
        {
            FromStr::from_str(value).map_err(de::Error::custom)
        }

        fn visit_map<M>(self, map: M) -> Result<T, M::Error>
            where M: de::MapAccess<'de>
        {
            Deserialize::deserialize(de::value::MapAccessDeserializer::new(map))
        }
    }

    // This is a common trick that enables passing a Visitor to the
    // `seq.next_element` call below.
    impl<'de, T> DeserializeSeed<'de> for StringOrStruct<T>
        where T: Deserialize<'de> + FromStr<Err = String>
    {
        type Value = T;

        fn deserialize<D>(self, deserializer: D) -> Result<Self::Value, D::Error>
            where D: Deserializer<'de>
        {
            deserializer.deserialize_any(self)
        }
    }

    struct SeqStringOrStruct<T>(PhantomData<T>);

    impl<'de, T> de::Visitor<'de> for SeqStringOrStruct<T>
        where T: Deserialize<'de> + FromStr<Err = String>
    {
        type Value = Vec<T>;

        fn expecting(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
            formatter.write_str("sequence of strings or maps")
        }

        fn visit_seq<S>(self, mut seq: S) -> Result<Self::Value, S::Error>
            where S: de::SeqAccess<'de>
        {
            let mut vec = Vec::new();
            // Tell it which Visitor to use by passing one in.
            while let Some(element) = seq.next_element_seed(StringOrStruct(PhantomData))? {
                vec.push(element);
            }
            Ok(vec)
        }
    }

    deserializer.deserialize_seq(SeqStringOrStruct(PhantomData))
}

I filed #902 to cut down some of the boilerplate here. Really it should be possible to implement this as:
fn seq_string_or_struct<'de, T, D>(deserializer: D) -> Result<Vec<T>, D::Error>
    where T: Deserialize<'de> + FromStr<Err = String>,
          D: Deserializer<'de>
{
    struct StringOrStruct<T>(PhantomData<T>);

    impl<'de, T> de::Visitor<'de> for StringOrStruct<T>
        where T: Deserialize<'de> + FromStr<Err = String>
    {
        /* ... */
    }

    seed::Vec(seed::Any(StringOrStruct(PhantomData))).deserialize(deserializer)
}

Thank you very much for your quick response, I tested your suggested solution with success. It took me a bit to get my head around what is happening, but I think I am getting there.
Thanks again for the great support and for pushing this amazing library ever further! This issue can be closed from my side, you are probably have everything you want to track in #902?


Add Visualize._constrained_cmap

Closes #62 - The function constrained_cmap is in ClimaCoupler and should be moved to ClimaAnalysis.
See image below for a plot using constrained_cmap.

See image below for a plot not using constrained_cmap.

Updated images with vik colormap instead of inferno colormap.
See image below for a plot using constrained_cmap.

See image below for a plot not using constrained_cmap.

Updated images with vik colormap instead of inferno colormap.
See image below for a plot using constrained_cmap.


Add grade parameter

Added grade parameter to person. Syntax for adding a grade would be /g testName: grade
Validation constraints are as follows:

has to be of format testName: grade e.g ca1: 50
testName cannot be empty
grade has to be a number between 0-100

Closed because I forgot to git pull before I edited the files. Fixed merge conflicts and re pushed in #42