Is roundPixels broken?

I've tested the following against 4.5.2.
With roundPixels: true, I would not have expected the gap on the left-hand side:

If I floor bunny.x from -5.656854249492381 to -6 manually, I get what I was hoping roundPixels would do for me:

Am I doing something wrong or is this a bug?
Here's the fiddle from above.

Irrelevant side remark: roundPixels is quite a misnomer, as it doesn't actually round. Might be worth renaming this to floorPixels. 😄 I see this has confused people before.

Might be related to #3891

The final X,Y are rounded, not the relative ones. If you have x=0.11 and scale=10, image will appear at x=0.1
I see pixel-sharp bunny in your example, so it is correct.
If you want relative X/Y rounded automagically, make your own Transform class based on https://github.com/pixijs/pixi.js/blob/dev/src/core/display/Transform.js ,
You should name it "roundTexels" ;)

Interesting. I take you're saying "absolute" when you say "final", right? What makes the coordinates  at hand not absolute, though? To use your example, given scale = 10, a bunny point with x = 0.11 would have an absolute x component of x * scale or 1.1. If this absolute x component is floored once it's time to render, it yields x = 1, so it should snap to a whole pixel.
Of course, I wouldn't expect it to floor relative coordinates (x = 0.11 should not be floored to x = 0).

Yeah, and that's why you have one black pixel there. Its not pixel of the bunny (texel) but actual pixel in cnvas.

Thanks!


Update Coil Extension Folder README

Update the README for the coil-extension folder could use a bit of cleaning up and updating.https://github.com/coilhq/web-monetization-projects/tree/master/packages/coil-extension
Should be more descriptive and tell more about the extension than it currently does. Along with cleanup.

Closed with #787


notifier service hangs on empty slack 'webhook_url'

Found in 2.0-dev. When the notifier config looks like this
    - name: slack_webhook_pipeline
      configuration:
        webhook_url: ''

and the notifier is run it gets hung up and never terminates:
$ forseti --endpoint [::]:50051 notifier run
Retrieved 43 violations for resource 'policy_violations'
Running 'email_violations_pipeline' for resource 'policy_violations'
Running 'gcs_violations_pipeline' for resource 'policy_violations'
Running 'slack_webhook_pipeline' for resource 'policy_violations'

I removed the slack pipeline; now the notifier hangs on the gcs_violations_pipeline -- it might be the actual culprit

The email_violations_pipeline is successful -- I do receive the email

I have 2 email pipelines now and the notifier hangs; I guess the pipeline type does not matter -- if there's more than one pipeline it makes the notifier hang.
The second email_violations_pipeline does manage to send out the email though.

I just looked at the GCS bucket used by the gcs_violations_pipeline and see that json files with violation data were uploaded.

This issue is resolved in #1279 , @arbeit feel free to re-open if you see the same error again.

This is not fully fixed yet. If there is no findings stanza in the yaml config file, the server will run into the following exception
> /home/altair/virtenvs/fsec/lib/python2.7/site-packages/forseti_security-2.0.0-py2.7.egg/google/cloud/forseti/notifier/notifier.py(197)run()->None
-> if notifier_configs.get('violation').get('findings').get('enabled'):
(Pdb)
AttributeError: "'NoneType' object has no attribute 'get'"

and hang due to https://github.com/GoogleCloudPlatform/forseti-security/blob/2.0-dev/google/cloud/forseti/notifier/notifier.py#L196


set correct logger in node initchain

This PR removes the dependency on gopkg.in/src-d/go-log.v1 by using the logger variable in node package. It is my assumption that the logger was just set to a different on by mistake. I may be wrong.

@janos this change is already include in pr #1357 as well

Thanks @ralph-pichler. Closing in favour of https://github.com/ethersphere/bee/pull/1357.


Scrollable Conversation?

Hello! our company uses this for the chat implementation of our project. One thing that we do not like about (sorry!) is the part where the oldest message is being overlapped by the parent div. Is there a way to fix this issue? Thanks.

Hi @Timmerdev
Thanks for opening an issue!
Can you provide a code example of what you don't like versus what you would like and why?
Thanks,
Paul

Hi @Timmerdev
I'm not sure I fully understand this part of what you are saying:
the part where the oldest message is being overlapped by the parent div.
Do you mean that you can't view messages that have gone past the height of the chat screen? Like say the Earth message in this story.
Either way to make the conversation scrollable will require a good bit of work.
I'll try to add scrolling this week and report back if it's too much.
Thanks,
Paul

This should be added in the 0.0.26 release.
It's a temporary fix and is only supported with my mousewheel on a mac.
I'm going to add a v1 milestone that will include scrolling as a goal.


Add paragraph about issues that #libera-matrix cannot help with

This kind of question is asked almost daily, so let's direct people directly to the places where EMS can help them.

ping?

hmm, #matrix:matrix.org is a cesspool, but<EMAIL_ADDRESS>may be good advice indeed


Add support for custom requirement files glob patterns for pip-dump

that would be great to be able to pass that as an arg ....

pip-dump is gone with the release of 1.0: http://nvie.com/posts/pip-tools-10-released/


How to use Chinese with GoAccess?

Hello，everyone， i want make out to use chinese, but i don't want to change LANG. Have any method to realize this?

Like this
export LANG="zh_CN.UTF-8"
goaccess -a -d -f access.log -p goaccess.conf -o report_all.html
export LANG="en_US.UTF-8"

You have to set LANG as it relies on gettext to perform the translations.

You could try something like:
LANG="zh_CN.UTF-8" bash -c 'goaccess access.log --log-format=COMBINED'

You could try something like:
LANG="zh_CN.UTF-8" bash -c 'goaccess access.log --log-format=COMBINED'

@allinurl
<EMAIL_ADDRESS>report # LANG="zh_CN.UTF-8" bash -c 'goaccess  /data/logs/nginx/www.gtarcade.com.access.log -o /data/html/report/www.html --log-format='%h %^[%d:%t %^] %v "%r" "%s" %b "%R" "%u" %^'  --real-time-html --time-format=%T --date-format='%d/%b/%Y' '
Parsing... [0] [0/s]
GoAccess - version 1.3 - Dec 25 2018 09:57:00
Config file: No config file used
Fatal error has occurred
Error occurred at: src/parser.c - parse_log - 2764
未在配置文件中设置时间格式

Please ensure you properly escape the quotes. e.g.,
# LANG="zh_CN.UTF-8" bash -c 'goaccess  /data/logs/nginx/www.gtarcade.com.access.log -o /data/html/report/www.html --log-format=\'%h %^[%d:%t %^] %v "%r" "%s" %b "%R" "%u" %^\'  --real-time-html --time-format=%T --date-format=%d/%b/%Y'

LANG="zh_CN.UTF-8" bash -c

very good , I succeeded in using Chinese

Awesome. Closing this. Feel free to reopen it if needed.

If not, you may install with sudo apt install language-pack-zh-hans on Debian/Ubuntu. And then execute LANG="zh_CN.UTF-8" bash -c 'goaccess ...'.


[huggingface] Adds CrossEncoderTranslator

Description
Brief description of what this PR is about

If this change is a backward incompatible change, why must this change be made?
Interesting edge cases to note here

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

Comparison is base (bb5073f) 72.08% compared to head (3f24d78) 72.24%.
Report is 898 commits behind head on master.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@             Coverage Diff              @@
##             master    #2817      +/-   ##
============================================
+ Coverage     72.08%   72.24%   +0.15%
- Complexity     5126     7141    +2015
============================================
  Files           473      707     +234
  Lines         21970    31813    +9843
  Branches       2351     3300     +949
============================================
+ Hits          15838    22982    +7144
- Misses         4925     7261    +2336
- Partials       1207     1570     +363

Files
Coverage Δ

...ava/ai/djl/inference/streaming/StreamingBlock.java
100.00% <100.00%> (ø)

api/src/main/java/ai/djl/metric/Dimension.java
100.00% <100.00%> (ø)

api/src/main/java/ai/djl/metric/Unit.java
100.00% <100.00%> (ø)

api/src/main/java/ai/djl/modality/audio/Audio.java
100.00% <100.00%> (ø)

api/src/main/java/ai/djl/modality/cv/Image.java
69.23% <ø> (-4.11%)
:arrow_down:

...rc/main/java/ai/djl/modality/cv/MultiBoxPrior.java
76.00% <ø> (ø)

...ava/ai/djl/modality/cv/output/DetectedObjects.java
96.29% <100.00%> (+1.29%)
:arrow_up:

...rc/main/java/ai/djl/modality/cv/output/Joints.java
71.42% <100.00%> (ø)

.../main/java/ai/djl/modality/cv/output/Landmark.java
100.00% <ø> (ø)

...i/djl/modality/cv/transform/RandomResizedCrop.java
94.11% <100.00%> (+5.22%)
:arrow_up:

... and 225 more

... and 378 files with indirect coverage changes

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


python310Packages.python-rapidjson: 1.10 -> 1.11

Description of changes
Changelog: https://github.com/python-rapidjson/python-rapidjson/blob/v1.11/CHANGES.rst

Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
23.11 Release Notes (or backporting 23.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 254854 run on x86_64-linux 1

20 packages built:

python310Packages.cirq
python310Packages.cirq-rigetti
python310Packages.cirq-rigetti.dist
python310Packages.cirq.dist
python310Packages.pyquil
python310Packages.pyquil.dist
python310Packages.python-rapidjson
python310Packages.python-rapidjson.dist
python310Packages.rpcq
python310Packages.rpcq.dist
python310Packages.tritonclient
python310Packages.tritonclient.dist
python311Packages.pyquil
python311Packages.pyquil.dist
python311Packages.python-rapidjson
python311Packages.python-rapidjson.dist
python311Packages.rpcq
python311Packages.rpcq.dist
python311Packages.tritonclient
python311Packages.tritonclient.dist


Pagination: After selection values can be removed from dropdown resulting in weird behavior

Detailed description of how to reproduce the problem
Change the results per page option for the pagination component.
New selected value will have an X option next to it. (Which is probably not expected)
After removing a value, no value is shown in dropdown.
Upload a screenshot

Describe the development framework
DDS version 29.1.0
Vue 3.4 Migration build
Expected behavior
Drop down for results should not allow for values to be removed as there should always be one option selected.
Additional information
No response

@weisserIFX
Hi, thank you for your submission.
There is already an issue created for this bug.
https://github.com/Infineon/infineon-design-system-stencil/issues/1615


fix(function): Fix error when adding custom ignore names for inconsistent_property

After upgrading to 0.34.0, I want to use some custom ignore names for inconsistent_property_type such as:
"schemas": {
  ...
  "inconsistent_property_type": ["warning", ["year"]],
  ...
}

But got an error:
TypeError: Cannot read property 'includes' of undefined
    at validateConfigOption (/usr/local/lib/node_modules/ibm-openapi-validator/src/cli-validator/utils/processConfiguration.js:369:21)
    at /usr/local/lib/node_modules/ibm-openapi-validator/src/cli-validator/utils/processConfiguration.js:118:28
    at Array.forEach (<anonymous>)
    at /usr/local/lib/node_modules/ibm-openapi-validator/src/cli-validator/utils/processConfiguration.js:76:17
    at Array.forEach (<anonymous>)
    at /usr/local/lib/node_modules/ibm-openapi-validator/src/cli-validator/utils/processConfiguration.js:63:20
    at Array.forEach (<anonymous>)
    at validateConfigObject (/usr/local/lib/node_modules/ibm-openapi-validator/src/cli-validator/utils/processConfiguration.js:46:13)
    at Object.getConfigObject [as get] (/usr/local/lib/node_modules/ibm-openapi-validator/src/cli-validator/utils/processConfiguration.js:235:20)
    at async processInput (/usr/local/lib/node_modules/ibm-openapi-validator/src/cli-validator/runValidator.js:145:20)

This sample change is to try to solve this problem, but I don't know if it's a good solution since I'm not very familiar with the whole project.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

:tada: This PR is included in version 0.34.1 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

:tada: This PR is included in version 0.34.1 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Should not be allowed adding clusters of the same name

Autok3s version:
Version: {"gitVersion":"master","gitCommit":"30fbc75d8a3b26d05b0921264e0c6a9f75b97b32","gitTreeState":"","buildDate":"2020-12-15T06:16:35Z","goVersion":"go1.13.12","compiler":"gc","platform":"darwin/amd64"}

**Steps to reproduce: **

Use autok3s to add a cluster named native-1,

autok3s create \
    --provider native \
    --name native-1 \
    --ssh-user ubuntu \
    --ssh-key-path ~/.ssh/id_rsa \
    --master-ips <IP_ADDRESS>

autok3s kubectl get nodes
NAME        STATUS     ROLES         AGE   VERSION
autok3s-1   NotReady   etcd,master   5s    v1.19.5+k3s2

Using other nodes, use autok3s again to add a cluster named native-1

autok3s create \
    --provider native \
    --name native-1 \
    --ssh-user ubuntu \
    --ssh-key-path ~/.ssh/id_rsa \
    --master-ips <IP_ADDRESS>

autok3s kubectl get nodes
NAME        STATUS   ROLES         AGE   VERSION
autok3s-2   Ready    etcd,master   20s   v1.19.5+k3s2

Result:
When repeatedly adding clusters with the same name, the second cluster should not be added successfully

Check if the .state file contains a cluster of the same name.
Check if the node has running the k3s process.

native provider has been refactored, so this issue is invalid.

I need to verify this issue in the new version after refactoring

native provider has been refactored, so this issue is invalid.


Add property to optionally enable Distributed Clock on generic ECAT devices

[x] This contribution adheres to CONTRIBUTING.md.

What does this Pull Request accomplish?
Add a new property for 'generic EtherCAT devices' (third-party EtherCAT Slaves) to enable the Sync0 Distributed Clock

Add it to the configuration page and help documentation
Add it to the relevant configuration cluster
Use it in the engine during hardware configuration via a wrapper VI

Why should this Pull Request be merged?
Some EtherCAT devices want/need the Distributed Clock to be enabled. This is done via the EtherCAT API in LabVIEW and is inaccessible to users of the custom device today.
What testing has been done?
Enabled debugging and deployed to ensure that the property was persisted and used in the engine when set.

I'd prefer if we added a scripting API entrypoint for this.


Where exactly the code reads EOS from a file?

Hi,
My goal now is to replace the EOS table with a one I have. In the meanwhile:

I created a file named "Test_Si.txt" in "tabulated" folder (temporal test EOS file)
in the file "EOSlist.h" I added " , *Si_QEOS"
in the file "EOSlist.ccp" I added a line "EOS *Si_QEOS = new EOS("Si (test)", "./tabulated/Test_Si.txt");"
in the file "phase.ccp" under "EOS* find_Si_phase(double P, double T)" I added "return Si_QEOS"

It worked: compiles and runs.
Now, as a next step I try to find the exact place there the code reads P and Rho from this "Test_Si.txt" file. I want to place there a breakpoint. As the format of the EOS file I'll use differs from yours, I what to modify/correct the reading procedure to my needs.

They are at lines 156-205 in the EOS.cpp.


Rapid Test Profile - ä, ü, ö & ß are not correctly shown after QR-Code scan

Avoid duplicates

[X] Bug is not mentioned in the FAQ
[x] Bug is specific for iOS only, for general issues / questions that apply to iOS and Android please raise them in the documentation repository - Can't check
[X] Bug is not already reported in another issue

Technical details

Device name: iPhone 6s
iOS version: 14.6
App version: 2.2.1

Describe the bug
The characters ä, ü, ö and ß are not shown to the user correctly.
Example

QR-Code
Data shown in CWA
Actual Result

Steps to reproduce the issue

Open the Corona-Warn-App
Scroll down to the "Register your Test" box & click on "Next Steps
Click on "Create Rapid Test Profile"
Enter the data, include one (or more) of the characters mentioned above
Once you have entered all data Click on "Save"
Scan the QR-Code with the native iOS camera app
See that the characters are not shown correctly.

Expected behaviour
The data shown & entered in the CWA should be the data that is stored into the QR-Code.
Additional information
Please check if this is a problem under Android too.

Internal Tracking ID: EXPOSUREAPP-7282

iOS using an old vCard format this is not compatible with the RAT profile. The profile is only important for RAT stations.

@thomasaugsten
Okay, did you report this bug to Apple?
Otherwise I'll open a report via the Feedback Assistant.
Anyways, closing as this is not a bug on your side.

It is not a bug only an old version. I have n ideas when they plan to update.

@thomasaugsten
Okay thanks I understand I'll fill an issue report at Apple anyways.

Reopening for tracking the problem.

Corona-Warn-App Open Source Team

Apple Feedback ID: FB9129124

Hey,
I'm trying integrate this into out RAT software but I'm getting the same problem with our QR scanners where it's just skipping over the characters.
The QR scanner itself is setup to read them and I did test it with another QR code containing them.
So aret you sure this is just an Apple issue?

I've pasted the signs into a Unicode website, and even this site gets very confused about the signs, weird...

Just tested it on Android as well with the result that it produces the same kind of error there.
(Read both devices with the same scanner into the same IDE text document)

Maybe move this to the documentation repo


Support nvim-cmp's custom menu

I'm implementing it. But I don't familiar with vim's highlight and plugin integrations.
So I want feedback me the current approach is good or not.
https://github.com/hrsh7th/nvim-cmp/pull/224
Best regards.

I do use nvim-cmp.
I have been waiting for that PR.
It seems you want me to test that PR. Ok, over the next couple days I will experiment, once I can free up time. Maybe in a few days you will hear from me.
Keep up the good work, I think your PR will be excellent.
Cheers.

Hello @hrsh7th,
The scrollbar colour of your custom window I believe is not ideal.
See this screenshot for your custom menu:

The colour of the scrollbar is blue, which is the PmenuSel color.
The colour used should actually be, for my colorscheme, grey, which is the PmenuSbar color (Sbar short for scrollbar).
See this image of the native completion menu with the correct scrollbar color:

With my other colorscheme, moonfly, this scrollbar color problem is more ugly:

Using PmenuSbar would solve this issue for my colorschemes.
Regards.

Thank you. I will fix it.

Thanks, that will help.
Currently, the new custom float mostly looks like the existing completion menu. However, what I really want is for something that looks like the Telescope fuzzy finder. That being a window which uses the standard editor background colour with a simple border. Maybe not the default, but I would sure love an option to create that look.
Will that be possible?

It's definitely possible. I will consider customization API for it.

It's definitely possible. I will consider customization API for it.

Fantastic. I think that will be the ultimate, stealthy, look (like Telescope here):

Anyway, in the meantime I have just committed a couple customisations for your upcoming floating completion menu. As mentioned, the scrollbar needs fixing at your end. Otherwise, from my end I am satisfied. I will resolve this.
Cheers.


Is it possible to use template helpers?

In MVC Razor, you can have (VB.NET) syntax like this:
@Helper MyRowHelper(arg As String)

arg

End Helper

This is very handy for creating reuseable snippets within a template. But in RazorEngine this doesn't compile, and causes this error:
error: (31, 0) '#End ExternalSource' must be preceded by a matching '#ExternalSource'. - error: (34, 0)

The lines in question are
#End ExternalSource
Public Function MyRowHelper(arg As String) As RazorEngine.Templating.TemplateWriter

#End ExternalSource
Return New RazorEngine.Templating.TemplateWriter(Sub (__razor_helper_writer)

WriteLiteralTo(__razor_helper_writer, "    ")

WriteLiteralTo(__razor_helper_writer, "
arg
"&Global.Microsoft.VisualBasic.ChrW(13)&Global.Microsoft.VisualBasic.ChrW(10))

This looks like a bug, where the first occurrence of #End ExternalSource should actually be #ExternalSource, but I don't know enough about the internals to be sure.
Can anyone comment on this, or suggest a workaround for being able to create helpers? Being unable to do so causes frustrating amounts of copypaste coding.

https://github.com/Antaris/RazorEngine/issues/322 We don't support TagHelpers jet, a PR would be appreciated ;). Some people use sections for now.

What about this example - is in it using a helper?
` string template =
@"@helper MyMethod(string name) {
Hello @name
}
https://razorengine.codeplex.com/wikipage?title=Quick%20Start%20Guide&referringTitle=Documentation

It is very interesting
If I try to play around and do this (VB.NET)
`@Helper Test()
"End Helper`
It would give me the following error like if it knew what it is talking about
(9:1) - The "Helper" block was not terminated.  All "Helper" statements must be terminated with a matching "End Helper".
If it is not supported - how then does it know at least that much about helpers?


advanced address linting

A few rules that might make sense:

[ ] only one capitol office
[ ] if there are multiple district offices but they can be combined (e.g. one has phone, one has fax, etc.) do so
[ ] if there are multiple district offices that can't be combined, don't do anything to them
[ ] disallow duplicate values within a person (within a state?)

also consider promoting email to top level?


Avalonia Latest Stable Nuget is 11.0.999 in Visual Studio Nuget Package Manager

Describe the bug
Avalonia Latest Stable Nuget is reported as 11.0.999. This however, is  a pre-release build.
Screenshots

To Reproduce
Open Nuget Package Manager in Visual Studio
Expected behavior
Should show 11.0.5 at present.
Environment

OS: Windows
Avalonia-Version: 11.0.5

Additional context
Add any other context about the problem here.

My assumption is the release was done incorrectly and the pre-release flag wasn't set. If this is in fact a Visual Studio or Nuget issue I'll close this.

There might be some packages on the nightly feed with a wrong version which confuses Nuget


[FLINK-7411][network] minor performance improvements in NettyMessage

What is the purpose of the change
This PR adds some (minor) performance improvements to NettyMessage which I came across: using a switch rather than multiple if...ifelse...ifelse... avoiding unneeded virtual method calls.
Brief change log

use a switch rather than multiple if conditions
use static readFrom methods to create instances of the message sub types

Verifying this change
This change is already covered by existing tests, such as NettyMessageSerializationTest as well as many other tests, especially IT cases, involving network.
Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): (no)
The public API, i.e., is any changed class annotated with @Public(Evolving): (no)
The serializers: (no)
The runtime per-record code paths (performance sensitive): (yes)
Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Yarn/Mesos, ZooKeeper: (yes, if you consider network communication part of this)

Documentation

Does this pull request introduce a new feature? (no)
If yes, how is the feature documented? (not applicable)

how about now?

Thanks for your contribution @NicoK and the review @pnowojski. Changes look good to me. Will wait for Travis and then merge this PR.


Net-worth and accounts don't save to output file

If you try to save either net worth or account listings to a JSON file from the commandline, you end up with an empty (0 byte) file. Looks like at the bottom of api.py:
json.dumps(data, f, indent=2)

should be
json.dump(data, f, indent=2)

since only the latter call has built-in support for writing to a file-like object.

Thanks, fixed and released as 1.14 :)

+1


[Python AIO] Return EOF from UnaryStreamCall.read() as documented

Fix: https://github.com/grpc/grpc/issues/36581
Based on our documentation, we should return grpc.aio.EOF to indicate the end of the stream: https://github.com/grpc/grpc/blob/fb6a57b153c1290c08028cd909d759fcd393ff22/src/python/grpcio/grpc/aio/_base_call.py#L166-L178
But if the call was intercepted, we're raising StopAsyncIteration, This Pr changes the return to match the documentation (Which is also the behavior for non-intercepted call).

CC @sourabhsinghs for visibility


Error: curl_multi_add_handle: 8

I ran into the Error: curl_multi_add_handle: 8 error, though sporadically. The interesting part is that the error did not stop the code execution, which I dont know enough about the details of the Downloads.jl module to know if that makes sense or not.
The julia version that I am using is 1.7.3
The error I got is below (Repeated countless of times)
┌ Error: curl_multi_add_handle: 8

@ericphanson

I don't know if this is the same issue, but just now (good timing!) I ctrl-c'd while downloading something and got
^CUnhandled Task ERROR: InterruptException:
Stacktrace:
 [1] curl_multi_socket_action
   @ ~/.asdf/installs/julia/1.7.3/share/julia/stdlib/v1.7/Downloads/src/Curl/Curl.jl:48 [inlined]
 [2] curl_multi_socket_action
   @ ~/.asdf/installs/julia/1.7.3/share/julia/stdlib/v1.7/Downloads/src/Curl/Curl.jl:56 [inlined]
 [3] macro expansion
   @ ~/.asdf/installs/julia/1.7.3/share/julia/stdlib/v1.7/Downloads/src/Curl/utils.jl:28 [inlined]
 [4] (::Downloads.Curl.var"#41#47"{UInt8, Int32, FileWatching.FDWatcher, Downloads.Curl.Multi})()
   @ Downloads.Curl ~/.asdf/installs/julia/1.7.3/share/julia/stdlib/v1.7/Downloads/src/Curl/Multi.jl:176
 [5] lock(f::Downloads.Curl.var"#41#47"{UInt8, Int32, FileWatching.FDWatcher, Downloads.Curl.Multi}, l::ReentrantLock)
   @ Base ./lock.jl:190
 [6] macro expansion
   @ ~/.asdf/installs/julia/1.7.3/share/julia/stdlib/v1.7/Downloads/src/Curl/Multi.jl:174 [inlined]
 [7] (::Downloads.Curl.var"#40#46"{Int32, FileWatching.FDWatcher, Downloads.Curl.Multi})()
   @ Downloads.Curl ./task.jl:429
┌ Error: curl_multi_socket_action: 8
└ @ Downloads.Curl /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.7/Downloads/src/Curl/utils.jl:29
^C

Then when I tried to download again, I got more
┌ Error: curl_multi_add_handle: 8
└ @ Downloads.Curl /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.7/Downloads/src/Curl/utils.jl:29

Then I cleared the Downloader,
julia> using AWS
julia> AWS.AWS_DOWNLOADER[] = nothing
and it seemed to fix it.

Did you also ctrl-c something *before* getting the error messages @a-cakir?

I did also ctrl-c but I cannot fully recall if I started seeing this error only after the ctrl-c unfortunately.

The same error again and it only started appearing after Ctrl-C.

@vtjnash, would it be possible to rig up our interrupt handling to blow the download object away? Or is it possible for us to handle interrupts more gracefully some other way?

C'mon, yes, there's nothing fully reliable that can be done, but is there something less than 100% reliable that can be done?

you probably need to wrap every cfunction with a try/catch block so that you never accidentally unwind from inside a callback with an error

Ok, so all the cfunctions should instead return with an error code indicating failure? I can try that.

Ok, I finally got around to trying this and putting try/catch blocks in cfunctions seems to interact badly with libuv's getaddrinfo thread stuff. With this patch:
diff --git a/src/Curl/Easy.jl b/src/Curl/Easy.jl
index 64fd159..59025ab 100644
--- a/src/Curl/Easy.jl
+++ b/src/Curl/Easy.jl
@@ -315,11 +315,15 @@ function header_callback(
     count  :: Csize_t,
     easy_p :: Ptr{Cvoid},
 )::Csize_t
-    easy = unsafe_pointer_to_objref(easy_p)::Easy
-    n = size * count
-    hdr = unsafe_string(data, n)
-    push!(easy.res_hdrs, hdr)
-    return n
+    try
+        easy = unsafe_pointer_to_objref(easy_p)::Easy
+        n = size * count
+        hdr = unsafe_string(data, n)
+        push!(easy.res_hdrs, hdr)
+        return n
+    catch
+        return -1
+    end
 end

 # feed data to read_callback

I get this error while trying to do multiple downloads from different tasks:
nested task error: RequestError: getaddrinfo() thread failed to start while requesting https://httpbingo.julialang.org/delay/2?id=53
Stacktrace:
  [1] (::Downloads.var"#9#18"{IOBuffer, Base.DevNull, Nothing, Vector{Pair{String, String}}, Float64, Nothing, Bool, Nothing, Bool, String, Bool, Bool})(easy::Easy)
    @ Downloads ~/dev/Downloads/src/Downloads.jl:388

With https://github.com/JuliaLang/Downloads.jl/pull/205 I don't get that error anymore, so I can try comprehensively adding try/catch blocks to all the callbacks.

Any feedback here? I don't know if anyone has gotten to try a nightly Julia out but this might be fixed there.

I'm going to close this for now. Please comment if you encounter this on nightly and we can reopen.

I just encountered this again on 1.10-beta2. Doing some PkgEval development, I hit CTRL-C to interrupt an operation I had started.

    @ PkgEval ~/Julia/pkg/PkgEval/src/evaluate.jl:1109
 [18] evaluate(configs::Vector{Configuration}, packages::Vector{Package})
    @ PkgEval ~/Julia/pkg/PkgEval/src/evaluate.jl:1058
 [19] top-level scope
    @ REPL[11]:1
Some type information was truncated. Use `show(err)` to see complete types.

Interestingly, when I wanted to perform the call again afterwards, some of the delayed interrupts (presumably resulting from me mashing CTRL-C) got delivered without me actually pressing CTRL-C:
julia> df = evaluate([good], [package])
┌ Error: curl_multi_add_handle: 8
└ @ Downloads.Curl ~/Julia/depot/juliaup/julia-1.10.0-beta2+0.x64.linux.gnu/share/julia/stdlib/v1.10/Downloads/src/Curl/utils.jl:57
^CERROR: InterruptException:
Stacktrace:
  [1] try_yieldto(undo::typeof(Base.ensure_rescheduled))
    @ Base ./task.jl:931
  [2] wait()
    @ Base ./task.jl:995
  [3] wait(c::Base.GenericCondition{ReentrantLock}; first::Bool)
    @ Base ./condition.jl:130
  [4] wait
    @ Base ./condition.jl:125 [inlined]
  [5] take_buffered(c::Channel{Any})
    @ Base ./channels.jl:458
  [6] take!
    @ Base ./channels.jl:452 [inlined]
  [7] sync_end(c::Channel{Any})
    @ Base.Experimental ./experimental.jl:64
  [8] macro expansion
    @ Downloads ./experimental.jl:102 [inlined]
  [9] (::Downloads.var"#9#18"{…})(easy::Downloads.Curl.Easy)
    @ Downloads ~/Julia/depot/juliaup/julia-1.10.0-beta2+0.x64.linux.gnu/share/julia/stdlib/v1.10/Downloads/src/Downloads.jl:375
 [10] with_handle(f::Downloads.var"#9#18"{…}, handle::Downloads.Curl.Easy)
    @ Downloads.Curl ~/Julia/depot/juliaup/julia-1.10.0-beta2+0.x64.linux.gnu/share/julia/stdlib/v1.10/Downloads/src/Curl/Curl.jl:94
 [11] #8
    @ ArgTools ~/Julia/depot/juliaup/julia-1.10.0-beta2+0.x64.linux.gnu/share/julia/stdlib/v1.10/Downloads/src/Downloads.jl:338 [inlined]
 [12] arg_write(f::Downloads.var"#8#17"{…}, arg::IOBuffer)
    @ ArgTools ~/Julia/depot/juliaup/julia-1.10.0-beta2+0.x64.linux.gnu/share/julia/stdlib/v1.10/ArgTools/src/ArgTools.jl:134
 [13] #7
    @ Downloads ~/Julia/depot/juliaup/julia-1.10.0-beta2+0.x64.linux.gnu/share/julia/stdlib/v1.10/Downloads/src/Downloads.jl:337 [inlined]
 [14] arg_read
    @ Downloads ~/Julia/depot/juliaup/julia-1.10.0-beta2+0.x64.linux.gnu/share/julia/stdlib/v1.10/ArgTools/src/ArgTools.jl:76 [inlined]
 [15] request(url::String; input::Nothing, output::IOBuffer, method::Nothing, headers::Vector{…}, timeout::Float64, progress::Nothing, verbose::Bool, debug::Nothing, throw::Bool, downloader::Nothing)
    @ Downloads ~/Julia/depot/juliaup/julia-1.10.0-beta2+0.x64.linux.gnu/share/julia/stdlib/v1.10/Downloads/src/Downloads.jl:336
 [16] request
    @ ArgTools ~/Julia/depot/juliaup/julia-1.10.0-beta2+0.x64.linux.gnu/share/julia/stdlib/v1.10/Downloads/src/Downloads.jl:304 [inlined]
 [17] #3
    @ ArgTools ~/Julia/depot/juliaup/julia-1.10.0-beta2+0.x64.linux.gnu/share/julia/stdlib/v1.10/Downloads/src/Downloads.jl:242 [inlined]
 [18] arg_write(f::Downloads.var"#3#4"{Nothing, Vector{…}, Float64, Nothing, Bool, Nothing, Nothing, String}, arg::IOBuffer)
    @ ArgTools ~/Julia/depot/juliaup/julia-1.10.0-beta2+0.x64.linux.gnu/share/julia/stdlib/v1.10/ArgTools/src/ArgTools.jl:134
 [19] #download#2
    @ Downloads ~/Julia/depot/juliaup/julia-1.10.0-beta2+0.x64.linux.gnu/share/julia/stdlib/v1.10/Downloads/src/Downloads.jl:241 [inlined]
 [20] download
    @ Downloads ~/Julia/depot/juliaup/julia-1.10.0-beta2+0.x64.linux.gnu/share/julia/stdlib/v1.10/Downloads/src/Downloads.jl:230 [inlined]

i.e. despite the ^C in the output above I never pressed CTRL-C. This happened a couple of times more, after which I could successfully invoke my package's code again.

I'm really not sure that we can expect this package to defend against all possible ctrl-c mashing that can be done. Jameson has already told us that it's basically impossible to reliably recover from and we're doing what we can.

Fair enough.


CI cache / dependency issues (matlab, doxygen)

CI assumes matlab and doxygen, if the cache is available:
https://github.com/DLR-SC/tigl/blob/cb91d44bf9de6db3e06d6cf4fd1750fbe10558d7/.github/workflows/build-test-deploy.yml#L141
Sometimes, the download however failed and therefore they are also not in the cache.
Hence, we should better check directly, which tool is there and which is not and then download them if required.
Otherwise, it is impossible to download the tools by retrigger the build

That's weird, I assumed that the cache is only stored if the job is successfull. What do you propose? Should we disable the caching of the windows dependencies?
If caching is so errorporne, I think that would be reasonable, since we are already trying to download them up to 9 times with a 10 minute time out (lines 142, 145, 149 and 151):
https://github.com/DLR-SC/tigl/blob/cb91d44bf9de6db3e06d6cf4fd1750fbe10558d7/.github/workflows/build-test-deploy.yml#L140-L152

There is still an issue: The doxygen executable on windows is never found and therefore the target doc does not exist, which should be built at package creation. Sometimes this causes the step to fail, but most of the times it doesn't and the CI logs look fine with calming green checkmarks...

Very strange behavior.
Then, I’ll try to create custom doxygen conda packages that will hopefully work.

My guess is that there is a problem with the CMAKE_PREFIX_PATH, rather than with the package


Function addition

[ ] CI collaboration (CircleCI)
[ ] Image inversion function added
[ ] Add test case

close


Release v0.1.1

I am planning to move a large collection of work on mnlite representing many improvements over the past eleven months to main. The code included in this PR has been tested and is working well.
Most of the commits included were due to the addition of mnonboard, but I've listed other major changes below.
New features:

Guided member node onboarding via mnonboard -l <NODE_DOC>
#30
#35
#38
#41
#42
#45
#49

Bug fixes:

#23
#25
#27
#33
#47
#54

Hi @datadavev, when you've got a moment, I'd like you to take a look at some of the changes I've made to mnlite to see if you think they're appropriate before I merge them. I've been using this branch in operations on the staging server and production out of necessity, so it's gotten a fair bit of testing. If you'd like to hop on a call to discuss I'm happy to do that.

Also @datadavev if you don't have time to devote to this, let me know and I can ask Jing for review instead. Thank you in advance!


Revert "Merge pull request #6769" to disable Asset Manager proxying to S3 in staging & integration

It turns out that assets sync-ed from the production S3 bucket to the staging & production buckets have a different owner and therefore are not accessible by the Asset Manager.
This only affects Whitehall assets served from Asset Manager which is currently only the Organisation Logos. This is because the URLs for Mainstream assets are embedded in content in the Content Store and the data for the latter is sync-ed from production to staging & integration. This in turn means that URLs for existing Mainstream assets are always production URLs and those are working OK, because objects are not sync-ed into the production S3 bucket.
The problem also only affects existing assets; not new assets uploaded in the relevant environment.
Although the problem is small, it seems sensible to revert these changes while we come up with a fix.
This reverts commit 47797a44cc8683ea742c7653bc2a3786ba9e6a0a, reversing
changes made to 87c24a46b512e12991fd9960032bf297ef26b84c.

CI build passed: https://ci.integration.publishing.service.gov.uk/job/govuk-puppet/job/master/19604/
Deployed to integration: https://deploy.integration.publishing.service.gov.uk/job/Deploy_Puppet/3301/
Before changes
This shows the problem in integration where the response to an asset request is a 403 Forbidden.
$ curl -s -v "https://assets-origin.integration.publishing.service.gov.uk/media/513a0efbed915d425e000002/120613_Albania_Travel_Advice_WEB_Ed2_jpeg.jpg" >/dev/null
*   Trying <IP_ADDRESS>...
* TCP_NODELAY set
* Connected to assets-origin.integration.publishing.service.gov.uk (<IP_ADDRESS>) port 443 (#0)
* TLS 1.2 connection using TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
* Server certificate: *.integration.publishing.service.gov.uk
* Server certificate: Gandi Standard SSL CA 2
* Server certificate: USERTrust RSA Certification Authority
> GET /media/513a0efbed915d425e000002/120613_Albania_Travel_Advice_WEB_Ed2_jpeg.jpg HTTP/1.1
> Host: assets-origin.integration.publishing.service.gov.uk
> User-Agent: curl/7.54.0
> Accept: */*
>
< HTTP/1.1 403 Forbidden
< Server: nginx
< Date: Thu, 16 Nov 2017 10:40:13 GMT
< Content-Type: application/xml
< Transfer-Encoding: chunked
< Connection: close
< Content-Disposition: inline; filename="120613_Albania_Travel_Advice_WEB_Ed2_jpeg.jpg"
< Cache-Control: max-age=86400, public
<
{ [254 bytes data]
* Closing connection 0

Changes applied in integration
Nov 16 10:46:55 backend-1.backend puppet-agent[8770]: (/Stage[main]/Govuk::Apps::Asset_manager/Govuk::App::Envvar[govuk::apps::asset_manager-PROXY_PERCENTAGE_OF_ASSET_REQUESTS_TO_S3_VIA_NGINX]/File[/etc/govuk/asset-manager/env.d/PROXY_PERCENTAGE_OF_ASSET_REQUESTS_TO_S3_VIA_NGINX]/content) content changed '{md5}f899139df5e1059396431415e770c6dd' to '{md5}cfcd208495d565ef66e7dff9f98764da'
Nov 16 10:46:55 backend-1.backend puppet-agent[8770]: (/Stage[main]/Govuk::Apps::Asset_manager/Govuk::App::Envvar[govuk::apps::asset_manager-PROXY_PERCENTAGE_OF_WHITEHALL_ASSET_REQUESTS_TO_S3_VIA_NGINX]/File[/etc/govuk/asset-manager/env.d/PROXY_PERCENTAGE_OF_WHITEHALL_ASSET_REQUESTS_TO_S3_VIA_NGINX]/content) content changed '{md5}f899139df5e1059396431415e770c6dd' to '{md5}cfcd208495d565ef66e7dff9f98764da'
Nov 16 10:46:57 backend-1.backend puppet-agent[8770]: (/Stage[main]/Govuk::Apps::Asset_manager/Govuk::App[asset-manager]/Govuk::App::Service[asset-manager]/Service[asset-manager]) Triggered 'refresh' from 1 events
Nov 16 10:46:59 backend-1.backend puppet-agent[8770]: Finished catalog run in 50.60 seconds

Nov 16 11:08:54 backend-2.backend puppet-agent[26456]: (/Stage[main]/Govuk::Apps::Asset_manager/Govuk::App::Envvar[govuk::apps::asset_manager-PROXY_PERCENTAGE_OF_WHITEHALL_ASSET_REQUESTS_TO_S3_VIA_NGINX]/File[/etc/govuk/asset-manager/env.d/PROXY_PERCENTAGE_OF_WHITEHALL_ASSET_REQUESTS_TO_S3_VIA_NGINX]/content) content changed '{md5}f899139df5e1059396431415e770c6dd' to '{md5}cfcd208495d565ef66e7dff9f98764da'
Nov 16 11:08:54 backend-2.backend puppet-agent[26456]: (/Stage[main]/Govuk::Apps::Asset_manager/Govuk::App::Envvar[govuk::apps::asset_manager-PROXY_PERCENTAGE_OF_ASSET_REQUESTS_TO_S3_VIA_NGINX]/File[/etc/govuk/asset-manager/env.d/PROXY_PERCENTAGE_OF_ASSET_REQUESTS_TO_S3_VIA_NGINX]/content) content changed '{md5}f899139df5e1059396431415e770c6dd' to '{md5}cfcd208495d565ef66e7dff9f98764da'
Nov 16 11:08:56 backend-2.backend puppet-agent[26456]: (/Stage[main]/Govuk::Apps::Asset_manager/Govuk::App[asset-manager]/Govuk::App::Service[asset-manager]/Service[asset-manager]) Triggered 'refresh' from 1 events
Nov 16 11:08:59 backend-2.backend puppet-agent[26456]: Finished catalog run in 52.41 seconds

After changes
The following asset request shows that the problem has been fixed in integration - the response is a 200 OK and the GOVUK-Asset-Manager-File-Store header is set to NFS as expected.
$ curl -s -v "https://assets-origin.integration.publishing.service.gov.uk/media/513a0efbed915d425e000002/120613_Albania_Travel_Advice_WEB_Ed2_jpeg.jpg" >/dev/null
*   Trying <IP_ADDRESS>...
* TCP_NODELAY set
* Connected to assets-origin.integration.publishing.service.gov.uk (<IP_ADDRESS>) port 443 (#0)
* TLS 1.2 connection using TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
* Server certificate: *.integration.publishing.service.gov.uk
* Server certificate: Gandi Standard SSL CA 2
* Server certificate: USERTrust RSA Certification Authority
> GET /media/513a0efbed915d425e000002/120613_Albania_Travel_Advice_WEB_Ed2_jpeg.jpg HTTP/1.1
> Host: assets-origin.integration.publishing.service.gov.uk
> User-Agent: curl/7.54.0
> Accept: */*
>
< HTTP/1.1 200 OK
< Server: nginx
< Date: Thu, 16 Nov 2017 11:17:54 GMT
< Content-Type: image/jpeg
< Content-Length: 212880
< Connection: close
< Last-Modified: Fri, 08 Mar 2013 16:16:57 GMT
< Content-Disposition: inline; filename="120613_Albania_Travel_Advice_WEB_Ed2_jpeg.jpg"
< Cache-Control: max-age=86400, public
< ETag: "513a0ef9-33f90"
< GOVUK-Asset-Manager-File-Store: NFS
< X-Frame-Options: DENY
< Accept-Ranges: bytes
< Strict-Transport-Security: max-age=31536000
< Access-Control-Allow-Origin: *
< Access-Control-Allow-Methods: GET, OPTIONS
< Access-Control-Allow-Headers: origin, authorization
<
{ [15793 bytes data]
* Closing connection 0

This all means I'm happy for this to be deployed to staging.

release_19604 of govuk-puppet was deployed to staging at 11:37.
Before changes
This shows the problem in staging where the response to an asset request is a 403 Forbidden.
$ curl -s -v "https://assets-origin.staging.publishing.service.gov.uk/media/513a0efbed915d425e000002/120613_Albania_Travel_Advice_WEB_Ed2_jpeg.jpg" >/dev/null
*   Trying <IP_ADDRESS>...
* TCP_NODELAY set
* Connected to assets-origin.staging.publishing.service.gov.uk (<IP_ADDRESS>) port 443 (#0)
* TLS 1.2 connection using TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
* Server certificate: *.staging.publishing.service.gov.uk
* Server certificate: Gandi Standard SSL CA 2
* Server certificate: USERTrust RSA Certification Authority
> GET /media/513a0efbed915d425e000002/120613_Albania_Travel_Advice_WEB_Ed2_jpeg.jpg HTTP/1.1
> Host: assets-origin.staging.publishing.service.gov.uk
> User-Agent: curl/7.54.0
> Accept: */*
>
< HTTP/1.1 403 Forbidden
< Server: nginx
< Date: Thu, 16 Nov 2017 10:40:28 GMT
< Content-Type: application/xml
< Transfer-Encoding: chunked
< Connection: close
< Content-Disposition: inline; filename="120613_Albania_Travel_Advice_WEB_Ed2_jpeg.jpg"
< Cache-Control: max-age=86400, public
<
{ [254 bytes data]
* Closing connection 0

Changes applied in staging
Nov 16 11:49:26 backend-1.backend puppet-agent[20652]: (/Stage[main]/Govuk::Apps::Asset_manager/Govuk::App::Envvar[govuk::apps::asset_manager-PROXY_PERCENTAGE_OF_ASSET_REQUESTS_TO_S3_VIA_NGINX]/File[/etc/govuk/asset-manager/env.d/PROXY_PERCENTAGE_OF_ASSET_REQUESTS_TO_S3_VIA_NGINX]/content) content changed '{md5}f899139df5e1059396431415e770c6dd' to '{md5}cfcd208495d565ef66e7dff9f98764da'
Nov 16 11:49:27 backend-1.backend puppet-agent[20652]: (/Stage[main]/Govuk::Apps::Asset_manager/Govuk::App::Envvar[govuk::apps::asset_manager-PROXY_PERCENTAGE_OF_WHITEHALL_ASSET_REQUESTS_TO_S3_VIA_NGINX]/File[/etc/govuk/asset-manager/env.d/PROXY_PERCENTAGE_OF_WHITEHALL_ASSET_REQUESTS_TO_S3_VIA_NGINX]/content) content changed '{md5}f899139df5e1059396431415e770c6dd' to '{md5}cfcd208495d565ef66e7dff9f98764da'
Nov 16 11:49:29 backend-1.backend puppet-agent[20652]: (/Stage[main]/Govuk::Apps::Asset_manager/Govuk::App[asset-manager]/Govuk::App::Service[asset-manager]/Service[asset-manager]) Triggered 'refresh' from 1 events
Nov 16 11:49:30 backend-1.backend puppet-agent[20652]: Finished catalog run in 26.74 seconds

Nov 16 12:08:44 backend-2.backend puppet-agent[13359]: (/Stage[main]/Govuk::Apps::Asset_manager/Govuk::App::Envvar[govuk::apps::asset_manager-PROXY_PERCENTAGE_OF_ASSET_REQUESTS_TO_S3_VIA_NGINX]/File[/etc/govuk/asset-manager/env.d/PROXY_PERCENTAGE_OF_ASSET_REQUESTS_TO_S3_VIA_NGINX]/content) content changed '{md5}f899139df5e1059396431415e770c6dd' to '{md5}cfcd208495d565ef66e7dff9f98764da'
Nov 16 12:08:44 backend-2.backend puppet-agent[13359]: (/Stage[main]/Govuk::Apps::Asset_manager/Govuk::App::Envvar[govuk::apps::asset_manager-PROXY_PERCENTAGE_OF_WHITEHALL_ASSET_REQUESTS_TO_S3_VIA_NGINX]/File[/etc/govuk/asset-manager/env.d/PROXY_PERCENTAGE_OF_WHITEHALL_ASSET_REQUESTS_TO_S3_VIA_NGINX]/content) content changed '{md5}f899139df5e1059396431415e770c6dd' to '{md5}cfcd208495d565ef66e7dff9f98764da'
Nov 16 12:08:46 backend-2.backend puppet-agent[13359]: (/Stage[main]/Govuk::Apps::Asset_manager/Govuk::App[asset-manager]/Govuk::App::Service[asset-manager]/Service[asset-manager]) Triggered 'refresh' from 1 events
Nov 16 12:08:47 backend-2.backend puppet-agent[13359]: Finished catalog run in 32.83 seconds

After changes
The following asset request shows that the problem has been fixed in staging - the response is a 200 OK and the GOVUK-Asset-Manager-File-Store header is set to NFS as expected.
$ curl -s -v "https://assets-origin.staging.publishing.service.gov.uk/media/513a0efbed915d425e000002/120613_Albania_Travel_Advice_WEB_Ed2_jpeg.jpg" >/dev/null
*   Trying <IP_ADDRESS>...
* TCP_NODELAY set
* Connected to assets-origin.staging.publishing.service.gov.uk (<IP_ADDRESS>) port 443 (#0)
* TLS 1.2 connection using TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
* Server certificate: *.staging.publishing.service.gov.uk
* Server certificate: Gandi Standard SSL CA 2
* Server certificate: USERTrust RSA Certification Authority
> GET /media/513a0efbed915d425e000002/120613_Albania_Travel_Advice_WEB_Ed2_jpeg.jpg HTTP/1.1
> Host: assets-origin.staging.publishing.service.gov.uk
> User-Agent: curl/7.54.0
> Accept: */*
>
< HTTP/1.1 200 OK
< Server: nginx
< Date: Thu, 16 Nov 2017 12:10:43 GMT
< Content-Type: image/jpeg
< Content-Length: 212880
< Connection: close
< Last-Modified: Fri, 08 Mar 2013 16:16:57 GMT
< Content-Disposition: inline; filename="120613_Albania_Travel_Advice_WEB_Ed2_jpeg.jpg"
< Cache-Control: max-age=86400, public
< ETag: "513a0ef9-33f90"
< GOVUK-Asset-Manager-File-Store: NFS
< X-Frame-Options: DENY
< Accept-Ranges: bytes
< Strict-Transport-Security: max-age=31536000
< Access-Control-Allow-Origin: *
< Access-Control-Allow-Methods: GET, OPTIONS
< Access-Control-Allow-Headers: origin, authorization
<
{ [15793 bytes data]
* Closing connection 0

I'm happy that this means the problem is resolved.


Change the return type of mulDiv to std::optional

Previously, mulDiv had std::pair<bool, uint64_t> as the output type.
This PR changes the return type to std::optional
The existing unit test cases pass with this change.
This PR attempts to fix Issue 3495 (https://github.com/XRPLF/rippled/issues/3495)

I had to use std::numeric_limits<std::uint64_t>::max() in a few places to return a default value (in case of an overflow). Do I need to store this value in a variable for better readability? Or is it okay to use this verbose expression?

Nice, thanks @chennakeshava1998 , but I don't think it is necessary to leave the old code commented out.

@greg7mdp  Sorry my bad. I forgot to remove it. Completed now 👍

Almost there!

Done :)
I have also removed extra import statements and refactored one more if-else condition into a value_or statement.
Do I need to clean up the commits? (I can do a force push with a single commit)

Nice! Looks very clean now.

Do I need to clean up the commits? (I can do a force push with a single commit)

Yes, I think it would be better.

I have executed the unit tests, I didn't observe any failures. 👍

I approved the PR, but I don't have write access to the repo, so it doesn't count.

Okat, thanks for helping me out greg!

@ckeshava could you merge develop into your branch, please?

Hello @intelliot ,
Sure, I'd love to merge it and clean up the commit. Is this a priority issue? I completed this code change as a part of my summer internship last year.
I do not have C++ toolchain required to install the dependencies and unit-test this change. Can I do this after 2-3  weeks?

No hurry - thanks!

@ckeshava Could you rebase this against the current develop?  I tried to do so and got multiple merge conflicts.  And I don't want to try to guess the correct conflict resolutions.
I need it rebased because we've recently moved to conan for a build tool, and your PR won't build with Conan without a rebase.

@HowardHinnant  Will do 👍

@HowardHinnant  I have merged the latest develop into this feature branch.

you can download the clang-format patch from https://github.com/XRPLF/rippled/actions/runs/4759912341?pr=4243 and apply it with git apply <patch file name>

thanks a lot elliot, I was searching for exactly that :))

Hello,
I have completed the code changes for this PR. @HowardHinnant  @greg7mdp

I have requested changes to the git merge which place these commits at the top.

I'll work on your suggestions, sorry I forgot about it.

Hello @HowardHinnant ,
Thank you so much for your detailed help with reorganizing the git commits, it was really helpful.
Sorry for the delay in updating this PR, I got occupied with another PR.
Is there a better alternative than force-pushing the changes? After rebasing, the remote and local branches were so different that I couldn't think of a better alternative.

Hello @HowardHinnant , Thank you so much for your detailed help with reorganizing the git commits, it was really helpful. Sorry for the delay in updating this PR, I got occupied with another PR.
Is there a better alternative than force-pushing the changes? After rebasing, the remote and local branches were so different that I couldn't think of a better alternative.

I think force pushing is the only option here.  Thanks for this work.  It is on my to-do list to review.

CI caught a format issue. Instructions on how to fix it are in the job log.

okay, I've fixed that. let me know if I need to squash or clean-up the commit log

It will be squashed when it is merged. Now that there are at least two approvals and all checks pass, you can add the "Passed" label if you think this PR is ready to merge.

Suggested commit message:
refactor: change the return type of mulDiv to std::optional (#4243)

- Previously, mulDiv had `std::pair<bool, uint64_t>` as the output type.
  - This is an error-prone interface as it is easy to ignore when
    overflow occurs.
- Using a return type of `std::optional` should decrease the likelihood
  of ignoring overflow.
  - It also allows for the use of optional::value_or() as a way to
    explicitly recover from overflow.
- Include limits.h header file preprocessing directive in order to
  satisfy gcc's numeric_limits incomplete_type requirement.

Fix #3495

---------

Co-authored-by: John Freeman<EMAIL_ADDRESS>

For future reference: there is no need to force push. Instead, just confirm (or write a comment with) the desired commit message. A new commit message is set when the PR is Squash and merged.
Also, for future PRs, please sign your commits.

okay, I'll keep that in mind 👍

Following up on an old question: @HowardHinnant @ckeshava please never force-push in a PR. If you end up in a situation where you don't want to bother resolving conflicts, and you just want to keep your changes, then use this:
git merge upstream/develop --strategy ours

This creates a merge commit with two parents, but just takes your changes wherever there is a conflict.
You should not rebase either. That is what creates the conditions (lost history) that encourages force-push.

Okay, thanks for the tip, I'll keep it in mind.


Breaking change introduced

I updated my signet from 0.7 to 0.9 and started getting problems to connect to google adwords with error saying AuthenticationError.OAUTH_TOKEN_INVALID
When reviewing the request, i saw the access token that is used is the original expired one and it's not refreshed.
The issue occurs since, we initialized the signet with the following options

:access_token
:refresh_token
3,. :issued_at => historical time
:expires_in => 3600,
:id_token

The old signet code would consider this as expired, while the new one identified this as valid and not expired.
I think the fix should be, to reassign expires_at when setting issued_at / other fields and the expires_at was not preset.

Is this happening on refresh or initially? Could I get full steps to reproduce?

Signet 0.9.2 has been released with https://github.com/googleapis/signet/pull/112


Unable to open the Opensearch Dashboards

Hello,
I am trying to add Opensearch container to my DDEV environment serving Magento 2.4.7.
The DDEV works in Ubuntu 20.04 environment and version is:

ITEM             VALUE
DDEV version     v1.23.5
architecture     amd64
cgo_enabled      0
db               ddev/ddev-dbserver-mariadb-10.11:v1.23.5
ddev-ssh-agent   ddev/ddev-ssh-agent:v1.23.5
docker           27.3.1
docker-api       1.47
docker-compose   v2.29.7
docker-platform  linux-docker
global-ddev-dir  /home/arkadij/.ddev
mutagen          0.17.2
os               linux
router           ddev/ddev-traefik-router:v1.23.5
web              ddev/ddev-webserver:v1.23.5

The Opensearch itself returns

{
"name" : "opensearch-node",
"cluster_name" : "opensearch-cluster",
"cluster_uuid" : "GAeIrkTSQ1OR_3ArIJpQ2A",
"version" : {
"distribution" : "opensearch",
"number" : "2.18.0",
"build_type" : "tar",
"build_hash" : "99a9a81da366173b0c2b963b26ea92e15ef34547",
"build_date" : "2024-10-31T19:08:39.157471098Z",
"build_snapshot" : false,
"lucene_version" : "9.12.0",
"minimum_wire_compatibility_version" : "7.10.0",
"minimum_index_compatibility_version" : "7.0.0"
},
"tagline" : "The OpenSearch Project: https://opensearch.org/"
}

But the Dashboard does not work:

{"statusCode":500,"error":"Internal Server Error","message":"An internal server error occurred."}

In  the logs I can see this error:

{"type":"log","@timestamp":"2024-11-20T22:05:27Z","tags":["error","opensearch","data"],"pid":1,"message":"[cluster_block_exception]: index [.kibana_1] blocked by: [TOO_MANY_REQUESTS/12/disk usage exceeded flood-stage watermark, index has read-only-allow-delete block];"}
{"type":"log","@timestamp":"2024-11-20T22:05:27Z","tags":["error","http"],"pid":1,"message":"ResponseError: index [.kibana_1] blocked by: [TOO_MANY_REQUESTS/12/disk usage exceeded flood-stage watermark, index has read-only-allow-delete block];: cluster_block_exception: [cluster_block_exception] Reason: index [.kibana_1] blocked by: [TOO_MANY_REQUESTS/12/disk usage exceeded flood-stage watermark, index has read-only-allow-delete block];\n    at onBody (/usr/share/opensearch-dashboards/node_modules/@opensearch-project/opensearch/lib/Transport.js:374:23)\n    at IncomingMessage.onEnd (/usr/share/opensearch-dashboards/node_modules/@opensearch-project/opensearch/lib/Transport.js:293:11)\n    at IncomingMessage.emit (node:events:529:35)\n    at IncomingMessage.emit (node:domain:489:12)\n    at endReadableNT (node:internal/streams/readable:1400:12)\n    at processTicksAndRejections (node:internal/process/task_queues:82:21) {\n  meta: {\n    body: { error: [Object], status: 429 },\n    statusCode: 429,\n    headers: {\n      'x-opaque-id': '39e26fa2-b58c-41d5-a267-eedec3a22428',\n      'content-type': 'application/json; charset=UTF-8',\n      'content-length': '401'\n    },\n    meta: {\n      context: null,\n      request: [Object],\n      name: 'opensearch-js',\n      connection: [Object],\n      attempts: 0,\n      aborted: false\n    }\n  },\n  isBoom: true,\n  isServer: false,\n  data: null,\n  output: {\n    statusCode: 429,\n    payload: {\n      message: 'index [.kibana_1] blocked by: [TOO_MANY_REQUESTS/12/disk usage exceeded flood-stage watermark, index has read-only-allow-delete block];: cluster_block_exception: [cluster_block_exception] Reason: index [.kibana_1] blocked by: [TOO_MANY_REQUESTS/12/disk usage exceeded flood-stage watermark, index has read-only-allow-delete block];',\n      statusCode: 429,\n      error: 'Too Many Requests'\n    },\n    headers: {}\n  },\n  [Symbol(SavedObjectsClientErrorCode)]: 'SavedObjectsClient/tooManyRequests'\n}"}
{"type":"error","@timestamp":"2024-11-20T22:05:27Z","tags":[],"pid":1,"level":"error","error":{"message":"Internal Server Error","name":"Error","stack":"Error: Internal Server Error\n    at HapiResponseAdapter.toInternalError (/usr/share/opensearch-dashboards/src/core/server/http/router/response_adapter.js:69:19)\n    at Router.handle (/usr/share/opensearch-dashboards/src/core/server/http/router/router.js:186:34)\n    at processTicksAndRejections (node:internal/process/task_queues:95:5)\n    at handler (/usr/share/opensearch-dashboards/src/core/server/http/router/router.js:140:50)\n    at exports.Manager.execute (/usr/share/opensearch-dashboards/node_modules/@hapi/hapi/lib/toolkit.js:60:28)\n    at Object.internals.handler (/usr/share/opensearch-dashboards/node_modules/@hapi/hapi/lib/handler.js:46:20)\n    at exports.execute (/usr/share/opensearch-dashboards/node_modules/@hapi/hapi/lib/handler.js:31:20)\n    at Request._lifecycle (/usr/share/opensearch-dashboards/node_modules/@hapi/hapi/lib/request.js:371:32)\n    at Request._execute (/usr/share/opensearch-dashboards/node_modules/@hapi/hapi/lib/request.js:281:9)"},"url":"http://project-local.ddev.site:5602/","message":"Internal Server Error"}

@Arkadij-RS This can happen if there is less disk space left on a device. Can you verify that?

Then try to remove the read-only block.
curl -XPUT 'http://<opensearch-host>:9200/_all/_settings' -H 'Content-Type: application/json' -d '{"index.blocks.read_only_allow_delete": null}'

@Arkadij-RS Yes, it's possible by changing the config.
Have a look here: https://opster.com/guides/elasticsearch/capacity-planning/elasticsearch-low-disk-watermark/


Write more elaborate e2e tests.

We currently have working CI for e2e tests with two simple scenarios. We should either write additional tests or rewrite the test suite to make it possible to define tests in non-code files.

I will implement interface that will allow to consume our examples as e2e tests. I dont really like lots of sleep in examples, so I might not use them as is

Yeah our sleeps there are bad... would be cool to remove them even.

I will close this one


Add lights to Dynamic Scene Generator.

I think this is relatively straight forward. The DynamicPathTracingSceneGenerator would also check for and add existing area lights.
This supports some work I'm doing on the react-three-gpu-pathtracer to update to 0.0.5 and give access to lights.

Looks great, thanks!


Changing colour values does not change the colour in Bar Graph

I have followed strictly to the Bar Graph example in http://www.chartjs.org/docs/#bar-chart-example-usage
It appears to have that grey-ish color regardless of how many times I tried to change the colour.
Here is my script
`

Could you post your options, or better butt it on a js fiddle ?
so that we would be able to point the wrong option or determine if it is a bug ;)

I've declared an empty var called "options" as above.
I have created a jsfiddle at http://jsfiddle.net/c5nf5agd/26/
Does not seem to work somehow... I'm using the latest version of chart.js (2.0.0-beta2)

@BuddyNote v2 documentation is at http://nnnick.github.io/Chart.js/docs-v2/
fillColor became backgroundColor and strokeColor became borderColor in v2

Thank you very much. I knew it had something to do with the versions and I could not be able to find the correct doc for v2 on the website.

@BuddyNote we're working to move all the docs and point the domain name at the gh pages site so hopefully it gets much clearer soon


bayeslfow.hmc - provide option for skipping the MH step

Currently tf.contrib.bayesflow.hmc.kernel returns directly the update x and value of the potential after the Metropolis-Hasting steps. It would be useful to have an option to omitting the MH step. This, for instance, is required for implementing HVI [1], where we want to propagate gradients through the HMC step and not reject any samples:
[1] https://arxiv.org/pdf/1410.6460.pdf

@jvdillon : Any thoughts on this?
@botev : You may want to consider sending a pull request.

@botev,
Respected PR was closed. Could you please check the comment from the developer and provide the required information. Thank you!


Perhaps a definition of Cloud Services might be useful in the Guidance Document

Under #54 the following definition is stated:
in Issue https://github.com/CC-in-the-Cloud/General/issues/48
Service: A set of related IT components provided in support of one or more business processes.
Source(s):
NISTIR 7693 under Service
RedHat defines Cloud Services as: "Cloud services are infrastructure, platforms, or software that are hosted by third-party providers and made available to users through the internet. "
https://www.redhat.com/en/topics/cloud-computing/what-are-cloud-services#:~:text=Cloud services are infrastructure%2C platforms,to users through the internet.
Perhaps some definition of Cloud Services would also be useful in that section.

Cloud Security Alliance blog has this description of Cloud Service, in defining a CSP:
“A Cloud Service is any system that provides on-demand availability of computer system resources, e.g; data storage and computing power, without direct active management by the user”.
https://cloudsecurityalliance.org/blog/2020/04/30/what-is-a-cloud-service-provider/

The following text from NIST may be helpful in setting the context for the definition of CSP for CCitC.  Emphasis mine.
From NIST.SP.800-12r1 (Section 2.2):
"When an organization's information and systems are linked with external systems, management's responsibilities extend beyond organizational boundaries. This may require that management (1) know what general level or type of security is employed on the external system(s), and/or (2) seek assurance that the external system provides adequate security for the organization’s information and system. For example, cloud service providers (CSPs) and cloud supply chain participants may assume the management role for storing, processing, and transmitting organizational information. However, that does not leave the organization free of any security related responsibility. It is up to the organization to ensure that the CSPs and cloud supply chain participants provide an appropriate level of security for the information being stored, processed, and transmitted."


Collision Sensor is not working or getting segmentation fault

Here is my code:
I am working on synchronous mode with multiple vehicles. Here is my code:
def main():
try:
client = carla.Client('localhost', 2000)
client.set_timeout(5.0)
world = client.get_world()
points = get_vehloc(world)
#print("points are:",points)
batch = []
    start_time = 0.0
    end_time = 70.0
    delta_time = 0.05

    vehicle_bp = world.get_blueprint_library().filter('model3')[0]
    collision_sensor_bp = world.get_blueprint_library().find('sensor.other.collision')
    col_location = carla.Location(0,0,0)
    col_rotation= carla.Rotation(0,0,0)
    col_transform = carla.Transform(col_location,col_rotation)

   control= carla.VehicleControl(throttle = 0.4, steer = 0.0)
    MaxVeh = 6
    if MaxVeh > len(points):
        msg = 'requested %d vehicles, but could only find %d spawn points'
        logging.warning(msg, MaxVeh, len(points))
        exit()

   world.apply_settings(carla.WorldSettings(True,False,delta_time))
   #collision_sensor.listen(lambda collision_event:print("A collision"))   # not working
   for n, transform in enumerate(points):
        vehicle = world.spawn_actor(vehicle_bp, transform)
        collision_sensor = world.spawn_actor(collision_sensor_bp, col_transform, attach_to=vehicle,
                            attachment_type=carla.AttachmentType.Rigid)
        #collision_sensor.listen(lambda collision_event:print("A collision"))  # Segmentation fault

        vehicle.apply_control(carla.VehicleControl(throttle=0.35, steer=0))

    while start_time <= end_time:

        #collision_sensor.listen(lambda collision_event:print("A collision"))# core dump error
        world.tick(10)
        #collision_sensor.listen(lambda collision_event:print("A collision"))# core dump error
        world_snapshot = world.get_snapshot()
        #collision_sensor.listen(lambda collision_event:print("A collision"))# core dump error

        for actor_snapshot in world_snapshot:

            actual_actor = world.get_actor(actor_snapshot.id)
            if actual_actor.type_id == 'vehicle.tesla.model3':
                   veh_loc = actor_snapshot.get_transform().location
                   veh_roadid= world.get_map().get_waypoint(actor_snapshot.get_transform().location).road_id,
                   veh_sec = world.get_map().get_waypoint(actor_snapshot.get_transform().location).section_id
                  veh_road = veh_roadid[0]
         start_time +=0.05
        print("\n\nONE STEP IS OVER\nSimulation time is now", start_time)

finally:
world.apply_settings(carla.WorldSettings(False,False,0))
if collision_sensor.is_alive:
collision_sensor.destroy()
print("simulation is over")
if name == 'main':
try:
main()
except KeyboardInterrupt:
pass
finally:
print("\n done")
Where should I write the code where collision sensor listen the collision?
I am extracting information from world snapshot?
Am I making any mistake in this code?
I want the information of the all the vehicles who are colliding and want to destroy them immediately as they are changing the route of other vehicles when they collide.
I have write in this code when l write code to listen to the collision sensor not working or getting error as segmentation fault.
I need help to resolve this issue.
Thanks in advance

This a code example for collision sensor, could you check if this is working for you? The attachment type is not necesary for sensors. After that could you check the logs? If you are not using a package they should be located in "CARLA_ROOT/Unreal/CarlaUE4/Saved/Logs"

from __future__ import print_function

import argparse
import glob
import math
import os
import sys
import time
try:
    sys.path.append(glob.glob('../carla/dist/carla-*%d.%d-%s.egg' % (
        sys.version_info.major,
        sys.version_info.minor,
        'win-amd64' if os.name == 'nt' else 'linux-x86_64'))[0])
except IndexError:
    pass
try:
    sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__))) + '/carla')
except IndexError:
    pass

import carla

def _on_collision(event):
    print(f"Collision with {event.other_actor.type_id}")

def main():

    client = carla.Client()
    world = client.get_world()
    bp_lib = world.get_blueprint_library()
    spectator = world.get_spectator()

    # Spawn the actor
    bp = bp_lib.filter("*walker*")[0]
    # bp.set_attribute('is_invincible', 'false')
    walker = world.spawn_actor(bp, carla.Transform(carla.Location(200.7, 199.3, 0.2), carla.Rotation()))

    bp = bp_lib.filter("*mkz_2020*")[0]
    vehicle = world.spawn_actor(bp, carla.Transform(carla.Location(177.7, 198.8, 0.2), carla.Rotation()))
    spectator.set_transform(carla.Transform(carla.Location(205.9, 193.2, 3.9), carla.Rotation(pitch=-29, yaw=135)))

    collision_bp = bp_lib.find('sensor.other.collision')
    sensor_collision = world.spawn_actor(collision_bp, carla.Transform(), attach_to=vehicle)
    sensor_collision.listen(lambda event: _on_collision(event))

    vehicle.apply_control(carla.VehicleControl(throttle=1))

    for _ in range(400):
        world.tick()

    walker.destroy()
    sensor_collision.destroy()
    vehicle.destroy()

if __name__ == '__main__':
    main()

We have updated dev branch, could you update your code and then try this again to know if that is working now?

Hello again, any updates? otherwise I will close this issue

Okay. Thanks. Let me check this.

Any updates?

No but maybe someone does. Open a discussion or search for it in the discussions. I will be closing this issue for now.


Add ability to add custom tree-sitter types

I think it would be a good improvement to add the ability to add custom TYPE_PATTERNS that match as a context item. For example, I am using tree-sitter-vhdl, and this plugin doesn't register some of the tags that I would like as context items. Specifically process_statement, architecture_body, and entity_declaration since they aren't normal ones. I manually edited the treesitter-context.lua file to add these to TYPE_PATTERNS
local TYPE_PATTERNS = {
  -- These catch most generic groups, eg "function_declaration" or "function_block"
  'class',
  'function',
  'method',
  'for',
  'while',
  'if',
  'switch',
  'case',
  -- There are more specific
  'impl_item', -- Rust
  'process_statement',
  'architecture_body',
  'entity_declaration',
}

and this worked.
I think something should be added to the TS config invocation, like the following
require('nvim-treesitter.configs').setup {
  context = {
    enable = true,
    extra_patterns = {
      'process_statement',
      'architecture_body',
      'entity_declaration',
    }
  }
}

Yes, and ideally we should have a type patterns list by filetype for correctness, and we should add more items for known languages. Very short on time these days, PRs are welcome.

I've implemented by-filetype patterns. I won't make it a setting so people report missing patterns. More hassle for the first user to report, but then it's fixed for everyone once it's reported.
I've already added the patterns for vdhl you provided.

There are some over page list declaration. So I enable 'table' and 'list' patterns for lua and python. I remember list decalration is enabled in context.vim.

@tkkcc I don't understand what you're saying

list declaration may not be displayed within one page. Following is a lua script.
tensor={
  1,2,2,3,4,
  1,2,2,3,4,
  1,2,2,3,4,
  1,2,2,3,4,
  1,2,2,3,4,
  1,2,2,3,4,
  1,2,2,3,4,
  1,2,2,3,4,
  1,2,2,3,4,
  1,2,2,3,4,
  1,2,2,3,4,
  1,2,2,3,4,
  1,2,2,3,4,
  1,2,2,3,4,
  1,2,2,3,4,
  1,2,2,3,4,
  1,2,2,3,4,
  1,2,2,3,4,
  1,2,2,3,4,  <- cursor
  1,2,2,3,4,
}

If I add table into TYPE_PATTERNS, I can see identifier in context, same as using context.nvim.

This is also true for list declaration in other languages.

I might add a custom types then, some people might not wanna see those.

Should now be possible with #198


Shellscript weird

Reformat hdhomerun.sh file, line break inconsistencies

Ensure that Unix LF is being used, otherwise a build using Docker Desktop will scramble the script (interestingly, no issue when building directly via DockerHub.


Make it easier to disable tests when using fx-gltf with FetchContent

When depending on fx-gltf using CMake's FetchContent module, it is quite common to set an option to disable tests.
For example, this is the recommended way to use GLFW with FetchContent:
# FetchContent_Declare(glfw ...)
 This is what this PR allows:
# FetchContent_Declare(fx-gltf ...)
FetchContent_GetProperties(fx-gltf)
if(NOT fx-gltf_POPULATED)
    FetchContent_Populate(fx-gltf)
    set(FX_GLTF_INSTALL OFF CACHE BOOL "" FORCE)
    set(FX_GLTF_BUILD_TESTS OFF CACHE BOOL "" FORCE)
    add_subdirectory(${fx-gltf_SOURCE_DIR} ${fx-gltf_BINARY_DIR})
endif()

I'll take a closer look at this in the next few days. Thank you for the patch (and your other one as well)!


[mask_rom] Should Mask ROM print anything?

We currently print the following in mask_rom_main():
base_printf("OpenTitan: \"version-tag\"\r\n");
base_printf("lc_state: %s\r\n", lifecycle_state_name[lc_state]);

We may want to convert these to debug messages that are removed in production builds as suggested in #5773.

We also currently print the rom_ext entry point:
base_printf("rom_ext_entry: %p\r\n", entry_point);

In addition, if an error is encountered the redactor error code is printed:
base_printf("boot_fault: 0x%08x\n", redacted_error);

I propose that we enable/disable logging (base_printf calls) explicitly via a new OTP configuration option (ROM_LOG_EN) and enable logging regardless in the RAW, TEST_UNLOCKED and RMA lifecycle states.
Logging should be restricted to:

version
lifecycle state*
rom_ext entry point*
redacted error messages

I am not sure if ROM_LOG_EN should suppress error messages or whether they should be solely controlled by the existing redaction policy. My default position is that error messages should be suppressed when logging is disabled.
* these values are useful for debugging but are therefore also potentially useful to an attacker. We may wish to remove these.

@alphan, this is resolved right? Please reopen if that is not the case.

Yes, resolved. We also decided to keep the boostrap message in the last security meeting.


[dev] Add IDLType methods

Create methods for getting Record and Variant IDLTypes

:link: zboto Link

closed via #31


SSM and CSM environment

Why?
Support of the SSM and CSM environment, with a common folder for the utilities that are the same in the two environments.
Basically to enable completion for SSM you will need to add both the path to the ssm folder and the common folder.
The documentation should be mostly complete for ssm before doing so
(dc7258d8e06d52e597c5f5984d9c7fa1daef47f4)

I'm sorry for deleting this directory without asking. Maybe your extension won't work properly because of this, but let's make the full documentation first, and then you sort the files as needed.

Its fine, the extension is still far from complete anyways and I am a bit busy right now.

Do I understand correctly that all definitions that are present in lua_api.txt but absent in client_lua_api.txt must be separated in SSM directory?

Yes.

I'm confused. I feel that many functions existed in lua_api.txt but missed in client_lua_api.txt should actually be there! Are helper functions table.key_value_swap(t) or math.factorial(x) available to the server only? This is very strange.

client_lua_api.txt is (sadly) outdated and doesn't always reflect changes made to the common APIs
To know if a function is common you can check if its defined in /builtin/common folder of minetest source code.

@appgurueu Hi 🤗! Can you please confirm that client_api is outdated in stable 5 branch or are we missing something?

Exemple:
https://github.com/minetest/minetest/blob/7f6b09dce82be5c2a881c075ca76c5ac8f84ad52/doc/client_lua_api.md?plain=1#L583-L603
https://github.com/minetest/minetest/blob/7f6b09dce82be5c2a881c075ca76c5ac8f84ad52/doc/lua_api.md?plain=1#L3477-L3681

Yes. Note that there even are some function such as math.factorial which don't seem to be documented in either document. It might also be worth checking out https://github.com/minetest/minetest_docs for a few things, although mostly it only contains more in-depth docs than the Lua API.


RS5 Compatibility: GetCurrentPackageInfo2 not available through DynDep

Describe the bug

APIs that use FrameworkUDK fail to be called on RS5 systems.

Steps to reproduce the bug

Steps to reproduce the behavior:
The CPPTestApp from ReunionInternal can be used to repro.
Changes in user/modanish/PowerNotif-IntegTest branch.

Build the solution and deploy the test on a RS5 VM.
Run the test using te.exe
Optionally, run the test app and press the "Power Supply Status" button.

Expected behavior

API call expected to succeed.
Screenshots

Version Info

NuGet package version:

1.0.0-20210819.1-CI

RS5_Release_SVC_2110c
Additional context

@JesseCol

I don't think this is a FrameworkUdk issue -- as far as I can tell, the GetCurrentPackageInfo2 simply doesn't exist in RS5.

I agree. The only thing is that my APIs have a reliance on FUDK so I didn't know how to title the bug better. Other AppSDK APIs seem to be running fine.

thanks - so this isn't a fudk issue but either the app/test needs to be updated, or the API needs to be polyfilled on rs5

Agreed.

The problem is GetCurrentPackageInfo2 doesn't exist in RS5. Dynamic Dependencies needs to use it when available and thus play nice on all releases down to RS5.
Working on it...

The problem is GetCurrentPackageInfo2 doesn't exist in RS5

There's a 2nd problem: GetPackageInfo2 doesn't exist in RS5 either (shocking, I know :P).
I've got a branch with the former addressed. The latter is a little more involved due to internal implementation reasons, threading the code through several layers to address the problem is a little complex (in the time-consuming sense, not rocket-science). Workingh on it.


Add support for write buffer manager

This is a change adapted from @sjwiesman 's work here: https://github.com/sjwiesman/rust-rocksdb/pull/1/files
It effectively extends the c-api of rocksdb to expose the WriteBufferManager (which can control global memory usage), in the same way as other types like Cache are exposed by the current c api. These extensions will be upstreamed here: https://github.com/facebook/rocksdb/pull/11710, but I don't want to block on that.
I adjusted some naming and cleaned up some of the rust binding code. Also ensured that the exposed WriteBufferManager is Clone, which is required to actually share the manager across instances of rocksdb
Note also that this is a branch on master, which will bump the built version of rocksdb we use in mz from 8.1 to 8.3

lgtm!


If you refresh the dynamic path of the built code, the page will not appear.

Appears well when accessing from a link, but you can see 404 error page if you refresh it.
code and website, path =>

https://github.com/jicjjang/blog
https://jicjjang.github.io/blog/

/
/archive
/post/:_postName (err!)
/page/:_id (err!)
/category/:_categoryName (err!)

Sorry I have not seen this doc.
https://nuxtjs.org/api/configuration-generate#routes


Bundle links into outgoing, bidirectional, and incoming tiers

Creates three "tiers" for the links between a given pair of nodes - one each for incoming, undirected, and outgoing links
The undirected links take up the central space between the nodes

If there are an odd number of these, the first one will go straight across the space between the nodes
If there are an even number, or for all but the first of an odd number, the links are grouped equally on either side of the central link, bowing out to make room for all of them as necessary

Any directed link originating from one node will be bundled on one side of the nodes, curving same way the fingers of the right hand would when pointing from the originating node to the other.  (Technically, the "incoming" bundle is simply the "outgoing" bundle of the other node.)

Even number of undirected links

Odd number of undirected links

@ronichoudhury I did not test on my machine - but those screenshots look exactly on-target to me, nice!

Thanks!  Come by my desk for a live demo if you like.


cleaning

Pkg cleaning with, addition of complete tree.

Codecov Report

Merging #6 into master will increase coverage by 0.02%.
The diff coverage is 0.00%.

@@            Coverage Diff            @@
##           master      #6      +/-   ##
=========================================
+ Coverage    0.60%   0.63%   +0.02%
=========================================
  Files           5       5
  Lines         164     157       -7
=========================================
  Hits            1       1
+ Misses        163     156       -7

Impacted Files
Coverage Δ

src/IntervalBasedForest.jl
0.00% <0.00%> (ø)

src/MLJTime.jl
100.00% <ø> (ø)

src/datapath.jl
0.00% <0.00%> (ø)

src/interface.jl
0.00% <0.00%> (ø)

src/utils.jl
0.00% <0.00%> (ø)

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 ee30fda...5631b9e. Read the comment docs.


Can it be used with Bolt?

Hi
Friend of mine is using only Bolt for his games, so I was thinking about ways he can add some logic to the game using it, while I will do lower level stuff
Is it possible to create components/systems using Bolt? I'm not familiar with it, but I don't see a way to inherit classes there
What workflow would you suggest?

Hi Roman,
The short answer is no. The long answer is that GoCS is entirely unrelated to Bolt, and in Bolt 1 I don't see a way of implementing a similar pattern, because the language doesn't have classes. In Bolt 2, there will be classes, which should allow to implement something akin to GoCS, albeit without the interface inheritance (the components would all be concrete). There would also need to be a query helper written for Bolt classes.


Created models with their associations

Created models

[x] Create model classes for all entities as shown in the ERD diagram.
[x] Set up associations between models.
[x] Used models to insert data
[x] Created custom methods

Thanks, @OLIPLICHE. It is resolved now

Thanks


Debug context menu contribution points

Apologies if this is too similar to existing requests, but I'm keen to pull together a common request for adding debug contribution points.
Similar requests:

https://github.com/microsoft/vscode/issues/150161
https://github.com/microsoft/vscode/issues/129536
https://github.com/microsoft/vscode/issues/171548

And related:

https://github.com/microsoft/vscode/issues/197287

Rationale:
Debugging often needs deep integration between views (e.g. embedded debugging) where they are all driven from a common context and can interact with other. A common way to add these links/commands is through contribution points and some of the provided debug views lack these extension points. Can I suggest contribution points in context menus for the following:

Watch view  (e.g. to open the value in a memory viewer)
Breakpoints view (e.g. to expose a 'run to breakpoint' command)
Disassembly view (e.g. to show source, manage breakpoints, show memory)
Debug viewlet bar (e.g. to add a command to launch a custom GUI to create a complex debug configuration)

I assume this is the debug viewlet:

Happy to work on a PR if this is of interest.

I am open to these for areas where the data type in the list is represented in the extension API already (eg Breakpoints). For others, like variables, that would involve having to think about how that type should look presented to an extension, which would take more effort.

This feature request is now a candidate for our backlog. The community has 60 days to upvote the issue. If it receives 20 upvotes we will move it to our backlog. If not, we will close it. To learn more about how we handle feature requests, please see our documentation.
Happy Coding!

I guess we actually have this for variables already

I guess we actually have this for variables already

We do, the ask is to consider this for some of the other views

:slightly_smiling_face: This feature request received a sufficient number of community upvotes and we moved it to our backlog. To learn more about how we handle feature requests, please see our documentation.
Happy Coding!

I am open to these for areas where the data type in the list is represented in the extension API already (eg Breakpoints). For others, like variables, that would involve having to think about how that type should look presented to an extension, which would take more effort.

I definitely understand the difficulty or that this isn't a trivial feature. But at the same time, when it comes to the debug adapter interface, we have a clear spec to adhere to. That's the API - and in a sense, no more, no less (though I'm sure there's always a bunch of new cool magical stuff one can add).
I think it would be neat if VSCode therefore exposed this functionality in a "bi-directional" fashion (sort of) as it's already well defined in the DAP spec. The debug adapter knows what data it gives VSCode, the DAP spec is clear on life times and object references and therefore it should not be that troublesome to pass that data back and forth - even outside of a normal "debug adapter request chain"; since the spec is clear that, for instance, variablesReference: 1 is valid until the next resume request.
I don't know if this rant made any sense, but it's an attempt to spark a discussion in hopes of possibly moving something forward.

Proposed contribution points covering this request can now be found in these PRs:

#212499
#212501

cc @roblourens @isidorn

Sorry for taking so long to look at this. I'll try to make some progress on it this week and get a discussion going about best practices for context menus here. It's not straightforward when we want to expose context types that don't exist elsewhere in extension API

Sorry for taking so long to look at this. I'll try to make some progress on it this week and get a discussion going about best practices for context menus here. It's not straightforward when we want to expose context types that don't exist elsewhere in extension API

Great! I put some thought into the context types being exposed, feedback welcome.

Verification steps: you can enable the contribViewContainerTitle proposal, contribute a command to the viewContainer/title menu, but it only works for the debug viewcontainer and you must set viewContainer == workbench.view.debug in the when clause.

from the sample here, I could get a contribution into the callstack context menu and the debug toolbar, but not in the watch viewlet.
also, this contrib didn't seem to change anything
"viewContainer/title": [
				{
					"command": "extension.helloWorld",
					"when": "viewContainer == workbench.view.debug"
				}
			]

roblourens closed this as completed in https://github.com/microsoft/vscode/pull/212499last month

Please be aware this request is implemented through multiple PRs and isn't complete.
The addition for disassembly, watch and breakpoints is in https://github.com/microsoft/vscode/pull/212501
@roblourens could you reopen please?

....I could get a contribution into the callstack context menu and the debug toolbar, but not in the watch viewlet.

Please be aware the example covers multiple PRs which aren't yet all merged:

https://github.com/microsoft/vscode/pull/212501
https://github.com/microsoft/vscode/pull/212499

...also, this contrib didn't seem to change anything

The restriction for viewContainer == workbench.view.debug was added after I wrote the example.

Opened https://github.com/microsoft/vscode/issues/227169 to track the rest of it. This issue is just for the view container menu. @amunger  if you're expecting to see the icon for your command, you can ad "group": "navigation", otherwise it's in the ... menu.


Update peerDependencies to support Grunt 1.0

Update peerDependencies to support Grunt 1.0
Hello,
This is an automated issue request to update the peerDependencies for your Grunt plugin.
We ask you to merge this and publish a new release on npm to get your plugin working in Grunt 1.0!
Read more here: http://gruntjs.com/blog/2016-02-11-grunt-1.0.0-rc1-released#peer-dependencies
Also on Twitter: https://twitter.com/gruntjs/status/700819604155707392
If you have any questions or you no longer have time to maintain this plugin, then please let us know in this thread.
Thanks for creating and working on this plugin!
(P.S. Close this PR if it is a mistake, sorry)

Can we please get this PR merged and published to NPM? We've got a docker image that won't build with the current version of grunt until this fix is available.
Thanks.

bump


Investigate support for Tailwind Alternatives (Windi, UnoCSS, etc)

These include but are not limited to the following:

windi
unocss

General idea is some folks choose to use these in favor of Tailwind. We've had a handful of questions or requests for support of these. So the first step is to review what can be done, document hurdles to overcome, then discuss adjustments that would allow for these to run.
See @niktek message regarding progression on Windi:
https://github.com/Brain-Bones/skeleton/discussions/79#discussioncomment-3461511
Known issues can be documented below:

The Skeleton's Tailwind-specific plugin would have to be replaced
(will expand this as we investigate further)

I've been meaning to update this ticket, but I did do some research into supporting these alternative libraries. Unfortunately they are not plug and play replacements.

UnoCSS: this essentially allows you to create your -own- Tailwind-like utility system. But would not include any of the utility classes used within our components by default. Level of effort would be too high to support this right now.
Windi - this is interesting because it's mirroring the utility classes from Tailwind. Unfortunately they still don't have feature parity with Tailwind v3. By the time Tailwind v4 rolls out they'll most likely be two versions behind. Worth keeping an eye on, but not in a state we could support this yet.

I'd be happy to chat with anyone that would want to take a means for supporting these or similar tools in the future though. Their interesting in concept for sure!

UnoCSS actually comes with a lot of presets including a Tailwind / Windi compact preset (https://github.com/unocss/unocss/tree/main/packages/preset-wind) that is compatible with Tailwind in a lot of ways. Especially with UnoCSS it's absolutely worth considering as the DX improvements are superp. It's the fastest utility css framework out there.

The way UnoCSS works is interesting, a better idea, the workflow, efficiency and DX are the advantages.
Flowbite, Daisy UI and others had UnoCSS presets, but skeleton was missing...
I was searching to find the best UI components kit, and after comparisons I found Skeleton to be a bit better than others.

I'd ask you guys to please avoid posting on closed issues. I'll get notified of them, but no one else.
We investigated Windi, but found it lacking in many ways. It's not a plug and play replacement for Tailwind. I was determined that it doesn't even provide parity with Tailwind v2, much less v3. We would end up limiting Skeleton to support it, and we would have many extra hoops to jump through.
Per Uno, again, not a plug and play replacement. It's a "build your own Tailwind" solution, which sounds fine on paper. But would again be very detrimental to our effort as we need something turnkey and ready to go. Tailwind provides this. Uno does not.
Furthermore, keep in mind that Skeleton is managed by a small team, with myself being the only full time contributor. We can't support every feature on a whim. Rather, if you wish to see a feature added, be the change you wish to see and submit a PR. Though with something of this scale I'd recommend joining Discord so we can discuss the details and plan ahead of time.
For now Windi is not a part of our roadmap and there's no plans to add it. Thanks for your interest though.


examples of new features that can be added to - tablet friend

hi Martenfur
your program have good start point but! take a look at this videos - there you can see how other programs like your works with DRAW program...
there you can get an idea about enhancements - understanding how people, who want to use your program with photoshop actually use programs - what they expect...
1- https://www.youtube.com/watch?v=XZTmbsopAmk Touchkey is the best!
a- in Touchkey you can press and hold the button with your finger while you SIMULTANEOUSLY do something with the stylus - that is, the area under the tockey window stops processing the stylus and processes pressing and holding with your finger!
b- in Touchkey when you bring the stylus to her window - the window hides - so that you can draw comfortably under her window. But your program not only hides but also handles stylus presses.
2- https://www.youtube.com/watch?t=300&v=STH83j24aic&feature=youtu.be Toolbar Creator less compatibility with tablets but still - look at hot is setup
3- https://www.youtube.com/watch?t=1174&v=Riie8jhrGCQ&feature=youtu.be panel based on autohotkey and compiled in exe - take a look at how he is draw and press button AT THE SAME TIME + touch slider like in old intuos tablets...
please you have a good start - but bring "to mind" your program.

Sorry, my boy, but I have far more important projects than this one, I can barely spare the time to look at PRs even. I am quite happy with its current state, the main point of tabletfriend is to be easy to use, easy to set up and good-looking. If you want to implement new features, go ahead, nothing's stopping you.


type switch malfunction

What version of Go are you using (go version)?

go version devel +09630172d4 Sat Apr 25 23:15:50 2020 +0000 linux/amd64

Does this issue reproduce with the latest release?
yes
What operating system and processor architecture are you using (go env)?
go env Output
GO111MODULE=""
GOARCH="amd64"
GOBIN=""
GOCACHE="/.cache/go-build"
GOENV="/.config/go/env"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOINSECURE=""
GOMODCACHE="/.go/pkg/mod"
GOOS="linux"
GOPATH="/.go"
GOPROXY="https://proxy.golang.org,direct"
GOROOT="/Downloads/goroot"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/Downloads/goroot/pkg/tool/linux_amd64"
GCCGO="gccgo"
AR="ar"
CC="gcc"
CXX="g++"
CGO_ENABLED="1"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build114983298=/tmp/go-build -gno-record-gcc-switches"

What did you do?
https://play.golang.org/p/j22d9WvVCDn
What did you expect to see?
INTEGER: int64 0 is_zero=true, is_not_zero=false
INTEGER: int64 1 is_zero=false, is_not_zero=true
What did you see instead?
INTEGER: int64 0 is_zero=false, is_not_zero=true
INTEGER: int64 1 is_zero=false, is_not_zero=true

This works as expected, since when you use case int, int64, the type of v inside that case is interface{}.

This works as expected, since when you use case int, int64, the type of v inside that case is interface{}.

Why?
%T inside this case says that it's a int64

This works as expected, since when you use case int, int64, the type of v inside that case is interface{}.

Why?
%T inside this case says that it's a int64

It’s evaluated at runtime, at compile time, you don’t know whether it’s int or int64.
When you use 2 or more types in typed switch, the lhs variable will have the same type as the rhs. In your case, it means v have  the same type as value.

@cuonglm as he stated, you have v which is an empty interface{} object. You are trying to compare your interface object to an integer. What %v does inside a string is essentialy do type assertion to check if it is castable to a fundemental value types like string, char, int, float. Hopefully this helps you to understand more.
package main

import (
	"fmt"
)

func test(value interface{}){
	switch v := value.(type){
		case int, int64:
			fmt.Printf("INTEGER: %T %v is_zero=%v, is_not_zero=%v\n", v, v, v.(int64) == 0, v.(int64) != 0)
		default:
			fmt.Printf("OTHER: %T\n", v)
	}
}

func main() {
	a := int64(0)
	test(a)
	a = 1
	test(a)
}

The Go project doesn't use the issue tracker for questions. See https://golang.org/wiki/Questions.


Update connector-postgresql.md

The path mentioned for the rootcert for the ODBC to work C:\users\DIAHostService\AppData\Roaming\postgresql\root.crt is not work .  DIAHostservice is a service account and it exist in the C:\Windows\ServiceProfiles. So the correct path will be C:\Windows\ServiceProfiles\DIAHostService\AppData\Roaming\postgresql\root.crt.

@jianleishen

Can you review this PR?
IMPORTANT: When this content is ready to merge, you must add #sign-off in a comment or the approval may get overlooked.

#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-team


fix: epoch_s and epoch_ms to date time

fix current usage of to_datetime for epoch_s and epoch_ms
test case:
current:
pd.to_datetime(1521475500, utc=False)
Timestamp('1970-01-01 00:00:01.521475500')
fix:
pd.to_datetime(1521475500, utc=False, unit="s")
Timestamp('2018-03-19 16:05:00')
issue: https://github.com/apache/incubator-superset/issues/4657
doc of 'pd.to_datetime': https://pandas.pydata.org/pandas-docs/stable/generated/pandas.to_datetime.html

Codecov Report

Merging #4664 into master will not change coverage.
The diff coverage is 100%.

@@           Coverage Diff           @@
##           master    #4664   +/-   ##
=======================================
  Coverage   71.37%   71.37%
=======================================
  Files         190      190
  Lines       14918    14918
  Branches     1102     1102
=======================================
  Hits        10648    10648
  Misses       4267     4267
  Partials        3        3

Impacted Files
Coverage Δ

superset/viz.py
79.62% <100%> (ø)
: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 ec06967...ef5faf3. Read the comment docs.