Wrong rendering of island/areas near water - Geometry issue with complex polygons?

Discussed in https://github.com/maplibre/maplibre-native/discussions/1836

Originally posted by christian2701 November  3, 2023
Hello everyone, we are currently working on a conversion of our stack to Maplibre and would also like to provide the raster tiles via Tileserver/Maplibre Native.
Unfortunately, there is sometimes a server crash/wrong rendering on islands/areas near water at certain zoom levels.
Here is an example in the Venice area for 15/17506/11729.webp. For test purposes I have coloured the corresponding water area yellow:

At "raster" zoom level 14 the data is drawn in correctly:

I also have attached the corresponding mbiltes (please remove .txt at the end):
it-nord-est-latest-wateronly-lowres.mbtiles.txt
And the data in geojson format (please remove .txt at the end):
5864.geojson.txt
The problem are wrong generated water geometries. These are generated as follows (see also shortbread on which the tiles are based https://github.com/shortbread-tiles/shortbread-tilemaker/blob/main/process.lua#L378-419):
function process_water_polygons(way, way_area)
	local waterway = way:Find("waterway")
	local natural = way:Find("natural")
	local water = way:Find("water")
	local landuse = way:Find("landuse")
	local mz = inf_zoom
	local kind = ""
	local is_river = (natural == "water" and water == "river") or waterway == "riverbank"
	if landuse == "reservoir" or landuse == "basin" or (natural == "water" and not is_river) or natural == "glacier" then
		mz = math.max(4, zmin_for_area(way, 0.01, way_area))
		if mz >= 10 then
			mz = math.max(10, zmin_for_area(way, 0.1, way_area))
		end
		if landuse == "reservoir" or landuse == "basin" then
			kind = landuse
		elseif natural == "water" or natural == "glacier" then
			kind = natural
		end
	elseif is_river or waterway == "dock" or waterway == "canal" then
		mz = math.max(4, zmin_for_area(way, 0.1, way_area))
		kind = waterway
		if kind == "" then
			kind = water
		end
	end
	if mz < inf_zoom then
		local way_area = way_area
		way:Layer("water_polygons", true)
		way:MinZoom(mz)
		way:Attribute("kind", kind)
		way:AttributeNumeric("way_area", way_area)
		way:ZOrder(way_area)
		if way:Holds("name") then
			way:LayerAsCentroid("water_polygons_labels")
			-- way:MinZoom(13)
			way:MinZoom(10)
			way:Attribute("kind", kind)
			way:AttributeNumeric("way_area", way_area)
			way:ZOrder(way_area)
			setNameAttributes(way)
		end
	end
end

The corresponding style for this layer:
{
  "id": "water-area",
  "type": "fill",
  "source": "smartmaps",
  "source-layer": "water_polygons",
  "minzoom": 12,
  "filter": [
    "all",
    ["==", "kind", "water"]
  ],
  "layout": {"visibility": "visible"},
  "paint": {
    "fill-color": "#a2c1f7",
    "fill-opacity": 1
  }
}

I have noticed that the water geometries created here sometimes look strange. Besides the actual geometry, a "border" in the upper right corner is created to close the geometry:

In comparison the OpenMapTiles geometry looks like this and is rendered correct:

In "vector mode" there isn't any issue, the problem only occurs when using the tile mode / raster images.
Do you have any ideas or suggestions for analysing the problem in more detail? Thank you very much!
Note: I already have mentioned the issue in the tileserver-repo, but I think it could be a maplibre-native issue.

result of the discussion was that
xvfb-run -a /opt/test7/mbntest/build/bin/mbgl-render --style=style.json --lat=45.446518 --lon=12.330183 --zoom=16 --width=4000 --height=4000 --output 4000.png
with opacity 0.4 shows "something"wrong painted / different to mapliubre-js where this tile works

seems to be a "fill" error. Changing to type=line in style.json shows no geometry errors

earcut is being used to triangulate fill polygons. It's very possible that in the above case the error is related to the self intersection of the segments generated to close the geometry in the upper & lower right corners.

I attempted to look at the geojson this creates with vt2geojson
vt2geojson https://tiles.wifidb.net/data/it-nord-est-latest-wateronly-lowres/14/8752/5864.pbf > 14-8752-5864.pbf.json

vt2geojson https://tiles.wifidb.net/data/it-nord-est-latest-wateronly-lowres/14/8753/5864.pbf > 14-8753-5864.pbf.json

and i got these two geojson files
14-8752-5864.pbf.json
14-8753-5864.pbf.json
One thing I notice looking at these in google earth is it seems like the main water polygon has some type of line going around the border if the tile

btw, with the rests of the water polygons it doesn't looks like that line shows, just in that 3049430 polygon.

You can compare with this water layer export from my current planetiler mbtiles file. it doesn't get lines like that.
wdb_14-8753-5864_water.pbf.json

Well spotted @acalcutt
The line / border is caused by tilemaker on certain edge cases https://github.com/systemed/tilemaker/issues/574
Thererfore this is not a maplibre-native effect after all
So i think we can 99% close this issue and the remaining 1% is the confusion from the start why maplibre-js doesn't show this behavior while native does - some display rules seem to work not 1:1 js vs native ?

Thererfore this is not a maplibre-native effect after all

I think it is at least worth noting that Maplibre Native's behaviour here differs from Maplibre JS's (I've verified this with my own vector tiles). That might be fine but it's worth flagging up that JS is a bit more tolerant.


Check nproc and nofile limits on controllers

I've created a simple check to validate the nproc and nofile limits on overcloud controllers.

OK I've updated the check to use variables.

Thanks for the pull request, @johbro. Seems to me that if the actual minimum that should be set is 2048 (which the error message suggests), we should set that as nofiles_min or something like that and check that the current value is greater or equal. But I may be wrong here.
Normally, we also add an entry to the readme in the validations directory, but I can do that later. Do you want to update the patch or do you think it's correct as it is?

@tomassedovic thanks for the update. Sorry for the delay I was traveling last week.  Check my latest push.

Thanks @johbro! Looks good to me, but we have a merge conflict in the README. I've rebased & pushed it manually.


UI: Add unmanaged cluster API endpoints

What this PR does / why we need it

This adds API endpoints for performing CRUD operations with unmanaged
clusters.
Describe testing done for PR

Started UI plugin, then ran:
curl -X 'POST'   'http://<IP_ADDRESS>:8080/api/unmanaged'   -H 'accept: application/json'   -H 'Content-Type: application/json'   -d '{
  "name": "fie",
  "provider": "kind",
  "cni": "calico",
  "controlplanecount": 1,
  "workernodecount": 2
}'
curl -X 'GET'   'http://<IP_ADDRESS>:8080/api/unmanaged'   -H 'accept: application/json'
curl -X 'GET'   'http://<IP_ADDRESS>:8080/api/unmanaged/fie'   -H 'accept: application/json'
curl -X 'DELETE'   'http://<IP_ADDRESS>:8080/api/unmanaged/fie'   -H 'accept: application/json'

Looks like https://github.com/vmware-tanzu/community-edition/pull/4332 removed the placeholder web/tanzu-ui/build/README.md file, causing the linting job to fail. Will try to rebase and see if I can restore that.


Auto code completion

As someone has already pointed out in #35, there is no support for auto completion.
As far as I understand this is by design, but I (and all humans who just can't live without auto-complete) would really appropriate it. Would it be possible to at least somehow generate stub .pyi files for auto completion?
Something about .pyi
https://www.python.org/dev/peps/pep-0484/
Some keywords for potential search:
intellisense, code completion, auto complete, autocomplete, autocompletion.

hi, you can start from this example for sublime:
github.com/20tab/UnrealEnginePython/blob/master/tools/generate_sublime_text_autocomplete.py
generating a .pyi stub should not be too complex

@rdeioris I've played with that and it looks like a good start, I'll prepare something and make a PR.
As a next step I would love to get arguments and return value type hints, for example:
def func(arg: int) -> float:
    ...

So IDE can hint me a lot and slap me for passing unexpected types immediately.
Are you interested in having it as part of your project or not that much? I've checked how the code is implemented and it seems that the current approach is not very type hints friendly.

Absolutely it would be of great value for the project ! Thanks a lot for your help


Firecracker only works in certain version

Description of problem
If I use kata-static-1.9.2-x86_64.tar.xz or kata-static-1.8.5-x86_64.tar.xz and I run the Docker command docker run -it --runtime=kata-fc ubuntu I get an error about vsock. The vhost_vsock module is enabled using modprobe and appears in lsmod.
The problem doesn't occur with kata-static-1.5.0-x86_64.tar.xz or kata-static-1.10.0-alpha1-x86_64.tar.xz, although 1.5.0 has memory allocation problems while running the container.
Expected result
I exected Kata to run the container.
Actual result
After executing the Docker command, I got this error:

docker: Error response from daemon: OCI runtime create failed: [PUT /vsocks/{id}][400] putGuestVsockByIdBadRequest  &{FaultMessage:Invalid request method and/or path: PUT /vsocks/root}: unknown.
ERRO[0017] error waiting for container: context canceled

By the way, this is the first time that I'm issuing a bug on GitHub, so maybe some details are missing in this report.

@maartenvdezz thanks for raising this, kata 1.9.x is only compatible with firecracker 0.18, for newer versions of firecracker you need to update kata to 1.10-alpha or master, sorry for inconvenience but firecracker changes its API in each release breaking backward compatibility

@devimc Thanks, I placed the Firecracker 0.18 binary in /opt/kata/bin/ and it worked indeed!
Is there a reason why an incompatible version of Firecracker is bundled with the 1.9.2 and 1.8.4 releases?

@maartenvdezz good question but not for me.  @egernst @jcvenegas @amshinde any thoughts?

I think is a bug related on how fc is installed in static tarball and the new way the tarball is generated using github actions that is being tested in the last release cycle.  Seems that is needed  to add a way to handle the parameter that is used in the github action  to let the fc installer script to use the currect kata  branch/tag
https://github.com/kata-containers/packaging/blob/master/static-build/firecracker/build-static-firecracker.sh

@maartenvdezz Thanks for reporting. This looks like it could be a manifestation of a bug introduced in the new way we are handling releases using github actions:
https://github.com/kata-containers/packaging/issues/831
I have pushed a fix for the bug in 1.9 branch a few days back.
We will need to regenerate our tarballs for 1.9.2.
But I am not clear why you are seeing the same issue with 1.8.5. Can you confirm?
@jcvenegas I had generated this static tarball manually using our release scripts.

@amshinde look at this (default runtime is kata-fc):
⚡ root@toulouse  ~  tar xf kata-static-1.8.5-x86_64.tar.xz -C /
⚡ root@toulouse  ~  /opt/kata/bin/firecracker -V
firecracker 0.17.0
⚡ root@toulouse  ~  docker run ubuntu
docker: Error response from daemon: OCI runtime create failed: [PUT /vsocks/{id}][400] putGuestVsockByIdBadRequest  &{FaultMessage:Invalid request method and/or path: PUT /vsocks/root}: unknown.
ERRO[0017] error waiting for container: context canceled

@maartenvdezz I have just updated the 1.9.2 release tarball to include firecracker 0.18.0 binary.
For 1.8.5, the supported version for firecracker is 0.17.0, so that isnt a packaging issue.
@devimc Any idea?

@maartenvdezz  @amshinde  are we building firecracker from source?  that specific version must be compiled with --features vsock since the version released in the firecracker repository doesn't have it enabled

@maartenvdezz @devimc @amshinde can this be closed now?

@jcvenegas my problem is solved, but 1.8.5 (which I don't use now 1.9.2 works) still doesn't work I guess


Unclaim Issue

Roku Told me to put a bug report up with this.
blob:https://imgur.com/23c37681-7d1f-472b-847c-0e1ddd46c9b7

Uhh it doesnt let me see the picture, can you try to get a better link or something? :P

The issue is this:
/unclaim with a radius, in a player claim that is not his own, says he doesn't have permission regardless of the actual permission nodes he has.

i assume it's because of this line:

the function only checks for whether the claim's owner is the user (allowed to manage claims function returns true ONLY if the player is the claim's owner), and does not check if the user of the command has any overriding permissions

i suggest changing the line to something like this:

Considering i dont know the exact permission needed (cant find it for some reason) i leave that to hiro

I think the appropriate node is probably landlord.admin.command.unclaim

ok so i changed the line to:

and that makes it so /unclaim with a radius unclaims ALL claims in the radius, which is probably not the wanted outcome, so im gonna try to think of a wanted outcome and change the code accordingly

I think this has been fixed, but we'll see. Closing for now.


SonarCloud Project Names Inconsistent

SonarCloud names, mostly for display, are inconsistent.  forest-client-backend and nr-forest-client-frontend.
Figure out how to straighten this out.  Sonar args might work, -Dsonar.projectName, so could going to the platform team for a rename.

I noticed it, will make sure to include it in future releases

This isn't a concern.  Closing!


Alert-Report disabled while using Superset 3.0.2 docker image

A clear and concise description of what the bug is.
How to reproduce the bug

run sudo TAG=3.0.2 docker compose -f docker-compose-non-dev.yml up
Login to Superset as admin user
Click on to setting at the right most corner
Aletr-Report option is not available as Menu Item

Please note following feature flags are enabled in
"ALERT_REPORTS": True,
"DASHBOARD_RBAC": True,
"ENABLE_EXPLORE_DRAG_AND_DROP": True,  # deprecated
"ENABLE_ADVANCED_DATA_TYPES": True,
"ALERTS_ATTACH_REPORTS": True,
Expected results
Alert=Report  Menu item to be enabled
what you expected to happen.
Actual results
what actually happens.
Screenshots
If applicable, add screenshots to help explain your problem.
Environment
(please complete the following information):

browser type and version:
superset version: superset version
python version: python --version
node.js version: node -v
any feature flags active:

Checklist
Make sure to follow these steps before submitting your issue - thank you!

[x] I have checked the superset logs for python stacktraces and included it here as text if there are any.
[x] I have reproduced the issue with at least the latest released version of superset.
[x] I have checked the issue tracker for the same issue and I haven't found one similar.

Additional context
Add any other context about the problem here.

Hello, it's very likely that this is a not a bug in Superset and instead a matter of how you configured it or are using it.
Can you confirm that your feature flag configuration is being loaded correctly?  E.g., add something like "HORIZONTAL_FILTER_BAR": True to the list and then confirm you are in fact able to use that feature.
Or perhaps your user does not have sufficient privileges for this action.  Try logging in as an admin user.

Thanks , I checked , feature flag gets enabled , now it is working . However screenshot is not getting captured while sending report by mail

Good to hear the feature is enabled.  There can be a lot of reasons why it's not working, unfortunately.
I'm going to close this issue since it's not an actionable bug report for Superset.  If you would like help debugging your deployment, please share more info (like what's in the logs of your worker container) either in Github Discussions (feel free to @ me) or on the Superset Slack chat.  The link to join Slack is http://bit.ly/join-superset-slack.


Bug: Text Field calls validation to late

create new TextField()
set on it
.setMinLength(1);
.setRequired(true);
.setValue(a)  //a is some parameter for this time is set to "" (.getEmptyValue())
presents as everything is OK
user adds something
after blur remove a text and then it presents as invalid

Expected behaviour:
Field should have invalid-look in both cases.

Dear @netbeansuser2019 and @PAX523,
Vaadin field components are following the logic of not marking the fields initially invalid intentionally in order not to display error messages (notify user about those) before he/she was actually able to interact with the field.
You could find similar logic for aria-invalid (that is also used for text-field) in the a11y documentation (https://www.w3.org/TR/2010/WD-wai-aria-20100916/states_and_properties#aria-invalid):
...However, if the user has not attempted to submit the form, authors SHOULD NOT set the aria-invalid attribute on required widgets simply because the user has not yet entered data...
However, it still possible to achieve the desired outcome by extending TextField and using protected validate or alternatively call binder.validate if you are using Binder.

Dear @netbeansuser2019 and @PAX523,
Vaadin field components are following the logic of not marking the fields initially invalid intentionally in order not to display error messages (notify user about those) before he/she was actually able to interact with the field.
You could find similar logic for aria-invalid (that is also used for text-field) in the a11y documentation (https://www.w3.org/TR/2010/WD-wai-aria-20100916/states_and_properties#aria-invalid):
...However, if the user has not attempted to submit the form, authors SHOULD NOT set the aria-invalid attribute on required widgets simply because the user has not yet entered data...
However, it still possible to achieve the desired outcome by extending TextField and using protected validate or alternatively call binder.validate if you are using Binder.

So you think that user can submit field unfilled even length restriction is specified.
In any case I prefer that user should know in advance that something is not correct.

So you think that user can submit field unfilled even length restriction is specified.
In any case I prefer that user should know in advance that something is not correct.

Dear @netbeansuser2019,
Is it so that in your case the field is getting submitted unfilled even though it is required with length restriction specified?
Could you please share the code snippet with the form, so the specific use-case can be considered?
Can I also ask if you are using Binder?

Dear @netbeansuser2019,
Is it so that in your case the field is getting submitted unfilled even though it is required with length restriction specified?
Could you please share the code snippet with the form, so the specific use-case can be considered?
Can I also ask if you are using Binder?

Binder is nice feature, but hard to use in practice, especially as seems there are planned in changes to it so it is not so save to use if you do not risk a rewriting.

Binder is nice feature, but hard to use in practice, especially as seems there are planned in changes to it so it is not so save to use if you do not risk a rewriting.

It's pretty much a de-facto standard not to mark required fields invalid until they have been interacted with. If they were marked invalid by default, most forms would be full of invalid fields as soon as they're opened.
Let's take a registration form as an example. The one for Facebook looks like this initially (notice that every single field is required):

If they were all marked invalid by default, it would look like this:

That is not how most web forms generally behave, and I think for a good reason, as it adds a lot of unncessary noise to the UI.
Required fields display the required indicator next to the label. Other requirements should be made evident e.g. using the helper feature to render a text below the field to say things like "Minimum 8 characters". That way users will know the expectations in advance. As none of those fields are incorrectly filled in by default before actually having been filled in, or attempted to submit, it would seem wrong to me to indicate that they are incorrect.

It's pretty much a de-facto standard not to mark required fields invalid until they have been interacted with. If they were marked invalid by default, most forms would be full of invalid fields as soon as they're opened.
Let's take a registration form as an example. The one for Facebook looks like this initially (notice that every single field is required):

If they were all marked invalid by default, it would look like this:

That is not how most web forms generally behave, and I think for a good reason, as it adds a lot of unncessary noise to the UI.
Required fields display the required indicator next to the label. Other requirements should be made evident e.g. using the helper feature to render a text below the field to say things like "Minimum 8 characters". That way users will know the expectations in advance. As none of those fields are incorrectly filled in by default before actually having been filled in, or attempted to submit, it would seem wrong to me to indicate that they are incorrect.

I hope you agree it’s okay that I edited the title of the issue. We should use the label if this is indeed agreed to be a bug (similar indicators in the title could be misinterpreted by others).

I hope you agree it’s okay that I edited the title of the issue. We should use the label if this is indeed agreed to be a bug (similar indicators in the title could be misinterpreted by others).


VideoCORS plugin update

Rename SafariCORS plugins to VideoCORS and add support of Internet Explorer.

 All committers have signed the CLA.


Close button: adding missing variants without new class

Adding all the DSM variants inside Without specific class section.

FWIW, the close button takes .2KB for now without the outlined variant.

All looks good to me.


Incorrect icon

Expected Behavior
Icon for the Diagnostic info Window is from NTVSTools
Actual Behavior
Icon for the Diagnostic info Window is from PyTools

NTVS Version: NTVS shipped with VS15 Preview 4
Visual Studio Version: VS15 Preview 4
Node.js Version:  Not applicable

Steps to Reproduce

Clean install of the VS15 Preview 4
Open Tools -> NodeJS Tools -> Diagnostic Window

Thanks for the report.
This does not appear to be vs15 specific as I'm also seeing it in dev14 in my testing. Not the highest priority but I'm curious where this icon is even coming from.


Support reading and writing ZXLive's .zxg format

ZXLive seems to be a convenient tool for visualizing ZX-diagrams. It would be greatly beneficial if we supported the .zxg format it uses.

My installation flow, just for future reference
# install zxlive
conda activate <some env>
git clone https://github.com/Quantomatic/zxlive.git
cd zxlive
pip install .

python3 -m zxlive

# if Qt goes wrong
export QT_DEBUG_PLUGINS=1
# Run again and read carefully the debug message, and search for solutions online
python3 -m zxlive

# in my case, I had missing dependencies
cd ~/anaconda3/envs/<some env>/lib/python<version>/site-packages/PySide6/Qt/plugins/platforms
ldd libqxcb.so | grep "not found"

# turns out I had to install the following library and enable X11 forwarding:
sudo apt install libxcb-cursor0
export QT_DEBUG_PLUGINS=0

# login again with ssh -X ...
python3 -m zxlive
# works now!


Bug #13890: DbTarget log transaction

Q
A

Is bugfix?
yes

New feature?
no

Breaks BC?
no

Tests pass?
yes

Fixed issues
#13890

Merged. Thank you!
Love the cloning solution.


Draft: Adds logrotation

This PR adds logrotation to the access and error logs of the hosts. both are rotated weekly. For access logs the last 4 files (=4 weeks) are kept, for error logs the last 10 files are kept.
Running performing the dry-run with
logrotate -d /etc/logrotate.d/nginx-proxy-manager

seems to work as expected, however we will have to wait to see if it actually does everything as expected.
Fixes https://github.com/jc21/nginx-proxy-manager/issues/183.

Hm, when running the buildx script locally on the current dev branch it runs into the same error as the pipeline, so i think this has nothing to do with my changes, though it does seem suspicios as the line with my changes seems to cause the error

This is an automated message from CI:
Docker Image for build 3 is available on DockerHub as jc21/nginx-proxy-manager:github-pr-1140
Note: ensure you backup your NPM instance before testing this PR image! Especially if this PR contains database changes.

This is an automated message from CI:
Docker Image for build 4 is available on DockerHub as jc21/nginx-proxy-manager:github-pr-1140
Note: ensure you backup your NPM instance before testing this PR image! Especially if this PR contains database changes.

So when/how does the logrotate binary run?

Logrotate should automatically add itself as a daily cronjob but only rotate the logs weekly as per the config.

So the problem with that is that there is no cron daemon running in the container so nothing will happen.
You can either add crond and start it in the same way as the nginx service or have the nodejs backend run the log rotate binary in a similar way to how it runs certbot periodically.

Ah, I assumed certbot was running via cron as well, not manually, but makes sense.

This is an automated message from CI:
Docker Image for build 6 is available on DockerHub as jc21/nginx-proxy-manager:github-pr-1140
Note: ensure you backup your NPM instance before testing this PR image! Especially if this PR contains database changes.

This is an automated message from CI:
Docker Image for build 7 is available on DockerHub as jc21/nginx-proxy-manager:github-pr-1140
Note: ensure you backup your NPM instance before testing this PR image! Especially if this PR contains database changes.

I finally got around to changing it. I'm now running it on my production server for a while, to verify it working.

This is an automated message from CI:
Docker Image for build 8 is available on DockerHub as jc21/nginx-proxy-manager:github-pr-1140
Note: ensure you backup your NPM instance before testing this PR image! Especially if this PR contains database changes.

I have now hat it running on my personal production server for a while, and I think it is ready to be merged. @jc21


files.Block: fixed couple of bugs, added try_prevent_shell_expansion and support for content: list[str]

https://github.com/pyinfra-dev/pyinfra/issues/1028
Removed dollar signs, looks like they were typo
https://github.com/pyinfra-dev/pyinfra/issues/984
As https://github.com/pyinfra-dev/pyinfra/issues/984#issuecomment-1565657899, renamed files.marked_block in documentation to files.block
https://github.com/pyinfra-dev/pyinfra/issues/1031
Adjusted awk to prevent duplications
https://github.com/pyinfra-dev/pyinfra/issues/1029
Added try_prevent_shell_expansion parameter to partially help with mentioned issue
And also changed type for content to str | list[str]. This makes it more unified with facts.files.Block, that already returns list[str]

#1028
Removed dollar signs, looks like they were typo
#984
As mentioned, renamed files.marked_block in documentation to file.block
#1031
Adjusted awk to prevent duplications
#1029
Added try_prevent_shell_expansion parameter to partially help with mentioned issue
And also changed type for content to str | list[str]. This makes it more unified with facts.files.Block, that already returns list[str]

(force push to get github to actually run actions, being very flakey at the moment)


Erroneous google-cloud-iot version in "manager" sample

The following:
https://github.com/googleapis/python-iot/blob/93c47da76a05e5e3f891556f1d3416ce18db9580/samples/api-client/manager/requirements.txt#L6
should be changed to version 2.0.1.
Current version leads to an error in this function:
https://github.com/googleapis/python-iot/blob/93c47da76a05e5e3f891556f1d3416ce18db9580/samples/api-client/manager/manager.py#L554-L556

Thanks for opening this issue, I will start the work for this.


Test Check Div

Test Click Numbers and function Div
Using Playwright make tests to check this functions

Ok great, work on it


Saving & Publishing

Lyra 1 allowed users to save the entire app state to localStorage, and export their visualization as static svg or png images, or as Vega JSON. Lyra 2 should push this further:

Download a full HTML page with the Vega scaffold and visualization embedded.
Publishing to gists/bl.ocks.org. We could also use private gists to save the application state (e.g., .lyra.json); this might be a better option than localStorage, which has pretty small size limits. @jheer had started on a vega-gist service, so we should try and coordinate there.
Save to Google Drive/Dropbox?

Let us know what the status of vega-gist is.


Account for altExp in converting SCE to AnnData

Closes #351
Here I am accounting for the presence of an altExp when converting SCE objects to AnnData objects.

I updated the existing Nextflow process to convert SCE to AnnData to optionally output a second hdf5 file corresponding to the altExp object.
In the Rscript responsible for converting SCE to AnnData, I included additional arguments where users can provide an optional feature_name and output file for feature data. When feature_name is specified, it extracts the corresponding altExp from the object and writes it to a separate AnnData object.
All outputs from the export process are mixed together into a single channel. I updated the groupTuple option to account for up to 6 files keeping remainder:true so that the smaller tuples with only three files won't be discarded.
I tested this with both a CITE-seq library and an RNA-only library.

Thanks for the helpful suggestions. I adjusted the outputs to use the path glob rather than optional outputs. I did not add in the if statement around checking for meta.feature_type. I tested it with a library with and without an ADT or hash library and it still works regardless of the meta.feature_type being present or not.
Regarding the grouping of the output, I kept it in with some slight modifications. I still want to output a tuple with the meta and all of the hdf5 files corresponding to that library. I imagine as we start making modifications with the hdf5 files and modifying the AnnData objects in the subsequent processes that we may go back and change this.
I also added the _rna.hdf5 to the RNA only files. I think because each of these files only holds a single modality, we should specify that. This should be ready for another look.

I tested the most recent additions, so this is ready for another round of review.


Add documentation for helm installation mode

Ref: https://github.com/cilium/cilium-cli/issues/1396

@tklauser @asauber let's use this pull request to discuss the plan for deprecating the classic installation mode.

the button is green.


Phyllotaxis contribution: animating growth angle

This one animate the growth angle (137.5°) from 0 to 360 with controllable increase and frequency.
Link to demo here: https://editor.p5js.org/NC_Productions/full/Ui4ns_1c-

Great!

Thank you!


deps/build.jl fails on Ubuntu/Debian using version 0.4.0-dev+4850

I haven't dug into exactly why this is failing on v"0.4.0-dev" and not on version 0.3.8 but
~/.julia/v0.4/RCall/deps$ julia -e 'println(versioninfo()); include("build.jl")'
Julia Version 0.3.8
Commit 79599ad (2015-04-30 23:40 UTC)
Platform Info:
  System: Linux (x86_64-linux-gnu)
  CPU: AMD Athlon(tm) II X4 635 Processor
  WORD_SIZE: 64
  BLAS: libopenblas (NO_LAPACKE DYNAMIC_ARCH NO_AFFINITY Barcelona)
  LAPACK: liblapack.so.3
  LIBM: libopenlibm
  LLVM: libLLVM-3.3
nothing
bates@thin40:~/.julia/v0.4/RCall/deps$ julia4 -e 'println(versioninfo()); include("build.jl")'
Julia Version 0.4.0-dev+4850
Commit c260ea9* (2015-05-15 15:14 UTC)
Platform Info:
  System: Linux (x86_64-linux-gnu)
  CPU: AMD Athlon(tm) II X4 635 Processor
  WORD_SIZE: 64
  BLAS: libopenblas (NO_AFFINITY BARCELONA)
  LAPACK: libopenblas
  LIBM: libopenlibm
  LLVM: libLLVM-3.6.0
nothing
ERROR: LoadError: Unable to locate libR.so
Try setting R_HOME, and re-run Pkg.build("RCall").
 in error at ./error.jl:21
 in anonymous at ./no file:44
 in include at ./boot.jl:252
 in include_from_node1 at ./loading.jl:134
 in process_options at ./client.jl:288
 in _start at ./client.jl:409
while loading /home/bates/.julia/v0.4/RCall/deps/build.jl, in expression starting on line 3

I did recently rearrange the deps/build.jl code to get it to work on Windows, so I may have broken something, but I can't reproduce this on either OS X or Linux.

I should have mentioned that I am using the Ubuntu package r-base which puts the Rscript executable into /usr/bin and most of the rest in /usr/lib/R/.  I'll trace it through and find where it is failing.

For some reason the dlopen_e call in RCall/deps/build.jl is failing even though the files exists and apparently has the correct type and contents.
julia> versioninfo()
Julia Version 0.4.0-dev+4911
Commit 4c2f908* (2015-05-20 14:25 UTC)
Platform Info:
  System: Linux (x86_64-linux-gnu)
  CPU: AMD Athlon(tm) II X4 635 Processor
  WORD_SIZE: 64
  BLAS: libopenblas (NO_AFFINITY BARCELONA)
  LAPACK: libopenblas
  LIBM: libopenlibm
  LLVM: libLLVM-3.6.0

julia> Rlib
"/usr/lib/R/lib/libR.so"

shell> file $Rlib
/usr/lib/R/lib/libR.so: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=aadb069cdbf838d8d431bbc44e9270c7960161af, stripped

julia> Libdl.dlopen(Rlib)
ERROR: could not load module /usr/lib/R/lib/libR.so: no error
 in dlopen at ./libdl.jl:35

I'm a bit curious as to why the error condition is "no error".

That's odd. Does adding a const in front of the definition of Rlib fix it?

Adding const to the definition of Rlib didn't help.  I also tried putting all the definitions from Renv into ENV but that didn't work either.  Should we pass this up the chain and create an issue in JuliaLang/julia?

Yes, I think that's a good idea.

I am beginning to suspect that this is triggered by the linkage to the BLAS/LAPACK library.  I find that if I use different BLAS/LAPACK versions, say OpenBLAS for R and MKL for Julia, then I can start RCall.  Except that now there is another problem with RCall on under v0.4, which I will create another issue for.

@dmbates Did you ever resolve this?

@simonbyrne In the sense of "don't do that", yes.  Trying to link to different versions of MKL on the Julia side and on the R side is asking for problems.

Okay, I'll close this. If you think others are likely to get bitten by, maybe add some lines to doc/Installation.md.


[BEAM-2876] Add preliminary provision API

Add provisioning API for the portability container contract. The pipeline options
match the type used in the job submission request.
See: https://s.apache.org/beam-fn-api-container-contract

R: @tgroh

Coverage increased (+0.003%) to 69.604% when pulling dc340577bc51ba123aa1aa62caa86882e3813561 on herohde:containers into 66b864f2b3f95780f8952bafcafd8796ea931c2b on apache:master.

retest this please

PTAL @tgroh

LGTM

Changes Unknown when pulling a111df64a734e83c823a5804a792f4235c84d9e2 on herohde:containers into ** on apache:master**.


navigationOptions priority

According to the docs, you can provide navigationOptions in three places:

Static property on a screen
Within a Navigator's RouteConfigs
Within a Navigator's StaticNavigatorConfig

With the priority being:

The navigationOptions from the screen will be merged key-by-key with the default options coming from the navigator. Whenever both the navigator and screen define the same option (e.g. header), the screen wins.

And:
StackNavigator({
  // For each screen that you can navigate to, create a new entry like this:
  Profile: {
    // Optional: Override the `navigationOptions` for the screen
    navigationOptions: {
      title: ({state}) => `${state.params.username}'s Profile'`,
    },
  },
});

i.e. RouteConfigs > Screen Property > StaticNagivatorConfig.
This seems a bit unintuitive, since the paradigm is that things defined most closely to anything bind most tightly. My intuition is that a title defined as part of the screen's properties should have the highest priority, since the user is actively viewing the screen.
I understand that the screen is technically embedded within the Navigator, and therefore a title defined within the Navigator itself would be the tightest binding and should therefore be the highest priority. But (especially in the case of a StackNavigator,) I tend to associate the title with the screen and not the Navigator.
In other words, my intuition is that navigationOptions defined as part of a screen should bind most tightly. Do other people have this intuition as well?

This allows you to have the same screen with some default config, and override some config when using the same screen in two different navigators. If you make the options in static options take higher priority it's no longer possible.

@jhhayashi I agree!
@satya164 That is true. But how could one override settings in the component?


Copy editing

Think you meant to write "Before we start, ... then I would advise you to use one of the 3 methods described below" instead of "above" in https://github.com/kotartemiy/pygooglenews#working-with-google-news-in-production. Cheers.

indeed. thx


[Icon] - dropdown icon bug in layout

Steps to Reproduce
I created a side menu that contains a submenu with 2 levels. Additionally insert two icons, dropdown and cubes. when you have a description in one level of submenu to reach the minimum size, it makes the dropdown fall down text getting mangled
Expected
needed icons are aligned with the text
Result
the dropdown arrow fell down text
Testcase
https://jsfiddle.net/leandroluk/048pq1p0/1/

this is my solution for this bug:
.ui.menu .ui.dropdown.item .menu .item:not(.filtered) {     display: flex;     justify-content:flex-start; } .ui.menu .ui.dropdown.item .menu .item:not(.filtered) .icon.dropdown{     flex: 2;     text-align: right; }

Hello @leandroluk. Thank you for following contributing guide steps, it helps a lot.

You can easily fix this issue changing icon position.
Your code:
 Produtos

Fix code:
  Produtos

Follow the updated fiffle: https://jsfiddle.net/048pq1p0/3/


Problem with GetUserTimeline

I write a code to like n last tweet of a user . this is my code
`
var user = Tweetinvi.User.GetAuthenticatedUser();
                        var suser = Tweetinvi.User.GetUserFromScreenName(uname);

                        if (suser != null)
                        {
                            var timeline = Timeline.GetUserTimeline(suser.Id, n);

                            foreach (var item in timeline)
                            {
                                var success = Tweet.FavoriteTweet(item);
                            }
                        }

`
sometimes last n tweets returned and sometimes random n tweets returned

I find something , there is 3 tabs in timeline . Tweets , Tweets & replies and Media . GetUserTimeline returns Tweets & replies tab's . It is OK ?

You can use the UserTimelineParameters class to specify how you want to get the user's timeline.
Here's how you can get the user's timeline WITHOUT replies (this would be the same as if you were looking at the user's Tweets tab).
var timelineParameters = new UserTimelineParameters
{
          // ExcludeReplies is what controls whether you see the Tweets tab or Tweets & Replies tab
          ExcludeReplies = false,
          MaximumNumberOfTweetsToRetrieve = n
};

var timeline = Timeline.GetUserTimeline(authenticatedUser, timelineParameters);

@StephenMP Thank you a lot

@StephenMP
I tested timelineParameters with ExcludeReplies alone and with IncludeRTS both of them tru and false (all situation) but it likes randomly
for example there is a user (suser) and his timeline Tweets tab first 6 like this :
suser @suser Apr 14
blah blah blha
suser @suser Apr 14
blah blah blah
image
suser @suser Apr 13
blah blah blah
image
suser Retweeted
blah blah blah
suser @suser Apr 13
blah blah blha
This Tweet is unavailable.
suser Retweeted
blah blah blah
and I want to like first 5 .
some times likes 1 , 2 , 3 , 4
some times likes 1 , 3 , 4 , 5 , 6
some times likes 1 , 2 , 3 , 5 , 6
and ...

@StephenMP
I used your code include IncludeRTS = true , fore someone timeline has n and fore someone timeline has n - x items but he/she have more than n item in his/her timeline

What is the value of the suser var when the program is running? I found that if you don't include @ at the beginning of the screen name you pass in, the Tweetinvi.User.GetAuthenticatedUser() returns null.

@JohnBertelsen
I have Authenticated user before GetUserTimeline and I use GetUserTimeline for another user than Authenticated
`
Auth.SetUserCredentials(CONSUMER_KEY,CONSUMER_SECRET,AccessToken,AccessTokenSecret);
                        RateLimit.RateLimitTrackerMode = RateLimitTrackerMode.TrackAndAwait;

                        var user = Tweetinvi.User.GetAuthenticatedUser();

                        var suser = Tweetinvi.User.GetUserFromScreenName(uname);

                        if (suser != null)
                        {
                            var timelineParameters = new UserTimelineParameters
                            {
                               IncludeRTS = true,
                                ExcludeReplies = true,
                                MaximumNumberOfTweetsToRetrieve = amount
                            };

                            var timeline = Timeline.GetUserTimeline(suser, timelineParameters);

                            foreach (var item in timeline)
                            {
                                var success = Tweet.FavoriteTweet(item);
                            }
                        }
                        else
                        {

                        }`

If you debug the code in visual studio what is the value of uname in line var suser = Tweetinvi.User.GetUserFromScreenName(uname);?

@JohnBertelsen

TweetInvi expects the screenname you pass in to start with an @, so in your case the uname should not be stephaniemufcxx but @stephaniemufcxx. You might want to just put an @ on the front of your uname to test this theory, that worked for me.

Also to authenticate the user, instead of Auth.SetUserCredentials() and User.GetAuthenticatedUser, I would authenticate like this.
var userCredentials = Auth.CreateCredentials(ConsumerKey, ConsumerSecret, Token, TokenSecret); var authenticatedUser = User.GetAuthenticatedUser(userCredentials);

@JohnBertelsen
Thank for your attention . I put @ at first of uname with my old authenticate method like this :

but it worked like as before
and I test your authenticate method and I have this error :

Hmm, that's a bit odd, I wonder if there are discrepancies with the authentication because you are doing Async stuff, maybe one to look into. but if the old authentication method worked, stick with that :D

@JohnBertelsen
Old authentication method worked but old problem is here too :
sometimes last n tweets returned and sometimes random n tweets returned :-(

Hello,
First of all thank you @StephenMP and @JohnBertelsen to have provided some help.
@mmshahshahani there is a problem with the last version of the code that I can see.
First thing, contrary to what has been mentioned, User.GetUserFromScreenName does not expect a @ in front of the username.
Second, I would like to mention that the MaximumNumberOfTweets is limited by Twitter to 200 by default.
Then I would also like to remind you that Auth.CreateCredentials just create some creds and it does not set up the current thread to use the creds. To do so, you need to call Auth.SetUserCredentials like you have done previously.
Now as per your problem could you please provide concrete examples that I can test on my side.
Please give the username of the accounts that you think is causing an issue, what you receive, and what you are expecting. I will also need you to share the url that Tweetinvi is generating for your query.
You can easily retrieve it by using subscribing to a global event :
TweetinviEvents.QueryBeforeExecute += (sender, e) =>
{
    var url = e.QueryURL;
};

Thank you :)
Linvi

Hi
Thank you for attention
this is the code :
`
Auth.SetUserCredentials(Classes.MyCredentials.CONSUMER_KEY, Classes.MyCredentials.CONSUMER_SECRET, isUser.UserTweeterAccessToken, isUser.UserTweeterAccessTokenSecret);
                        var user = Tweetinvi.User.GetAuthenticatedUser();

                        var suser = Tweetinvi.User.GetUserFromScreenName(uname);

                        if (suser != null)
                        {
                            var timelineParameters = new UserTimelineParameters
                            {
                                // ExcludeReplies is what controls whether you see the Tweets tab or Tweets & Replies tab
                                IncludeRTS = true,
                                ExcludeReplies = true,
                                MaximumNumberOfTweetsToRetrieve = amount
                            };

                            var timeline = Timeline.GetUserTimeline(suser, timelineParameters);

                            foreach (var item in timeline)
                            {
                                var success = Tweet.FavoriteTweet(item);
                            }
                        }

`
the username is stephanieMUFCxx but it is not the only one .
I want to like fore example last 16 tweets but 11 first tweets likes today . last week 5 last tweets liked and some tweets did not like and after that 3 tweets liked .
the URL : https://api.twitter.com/1.1/account/verify_credentials.json?skip_status=true&include_entities=true&include_email=true


[GNOME Linux] No window decoration (shadow) if a window title bar style is custom

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

VS Code Version: 1.92.0
OS Version: Fedora 40 (GNOME 46)

Steps to Reproduce:

Set window.titleBarStyle options to custom in the settings
Run VSCode in the Wayland mode, for example, type it in the terminal:

$ ELECTRON_OZONE_PLATFORM_HINT=auto code

Expected behaviour
There should be a window decoration (shadow) as it is in XWayland compatibility mode:

Actual behaviour
There is no window decoration/shadow:

But If I set window.titleBarStyle to native, the window decoration/shadow appears:

Tested on 1.92.1, still has problem.

I noticed another fact: in Wayland mode, a new window opens as Visual Studio Code - URL Handler, and not as it should be (Visual Studio Code). Maybe this is the reason.

I can confirm the missing window decorations (i.e. shadows) when running on Wayland when using custom title bar style. It would be really nice if this worked, because

the native title bar is not an option for me (the pane shortcut buttons are missing and it takes up more space), and
running via XWayland is also not an option, because I use fractional scaling (150%), which is very blurry in XWayland (but super crisp on Wayland).

Regarding the comment on "Visual Studio Code - URL Handler", I still haven't figured out why there are two desktop files, but you can at least fix the issue with two task bar entries (and/or missing icons) by setting StartupWMClass=code-url-handler in ~/.local/share/applications/code.desktop (create a copy of /usr/share/applications/code.desktop in that location and edit the copy in your home folder), see https://github.com/microsoft/vscode/issues/129953#issuecomment-1315491384 and https://github.com/microsoft/vscode/issues/129953#issuecomment-2364167906.

@cbrnr
Yes, I was a little confused about URL Handler. I eventually found that even with the system window frame, VSCode still launched as URL Handler.

@jhasse
Well, as a workaround, we can add a border to at least somehow distinguish the window frame from the rest.

However, Google Chrome does have borders and a shadow even though it is the basis of Electron (and it also has a custom title bar). So it might be worth looking into how they achieve this.

@cbrnr
I confirm, I'm using a custom frame in Chrome and it has a shadow.

The shadow with native titlebar are from the CSD implementation in Electron. For the custom titlebar Electron shares the implementation with Chrome and based on https://issues.chromium.org/issues/40158897 there is no work actively being tracked in upstream. Closing as not actionable on our end.

@deepak1556 but wait, as I've mentioned previously, Chromium does have shadows when using a custom title at. Why not VS Code then?

@cbrnr please refer to https://issues.chromium.org/issues/40158897#comment4

I don't understand. This issue is 3 years old and marked as obsolete, probably because it already works?

@cbrnr
Most likely, distro package maintainers manually add a patch with client shadows.

probably because it already works

We can't say for sure until you learn the upstream source code.

I'm pretty sure its in upstream, since I'm using Google Chrome and they don't add any patches AFAICS: https://aur.archlinux.org/packages/google-chrome

Yes, you are right, they use packages compiled directly by the Google team.

@deepak1556 can you reopen this issue please until it is clear if there's anything that could/should be done?

The custom titlebar implementation in Electron https://github.com/electron/electron/blob/main/shell/browser/ui/views/opaque_frame_view.cc is pulled from https://source.chromium.org/chromium/chromium/src/+/main:chrome/browser/ui/views/frame/opaque_browser_frame_view.h which is the custom titlebar implementation for Chrome. The closest CL I could find related to this was https://chromium-review.googlesource.com/c/chromium/src/+/2901661 and it doesn't enable in OpaqueBrowserView.
I will reopen to confirm the behavior with dPWA on linux

Thanks @deepak1556, let me know if there is anything I can do to help!

Observing this problem in KDE plasma 6.2.4 with X11. VSCode version 1.96.2


Fix case when workers submit the same task completion more than once

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/7494/
Test FAILed.

Tests in error:
alluxio.server.ft.ZookeeperFailureIntegrationTest.zkConnectionPolicy_Session(alluxio.server.ft.ZookeeperFailureIntegrationTest)
Run 1: ZookeeperFailureIntegrationTest.zkConnectionPolicy_Session:139 » Timeout Timed...
Run 2: ZookeeperFailureIntegrationTest.zkConnectionPolicy_Session:139 » Timeout Timed...

alluxio-bot, test this please.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/7498/
Test FAILed.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/7499/
Test PASSed.

@bradyoo if this was a bug, could you create a github issue describing the bug, and link it in the PR description?

@gpang: Responded in person but this bug isn't yet in any release so it's not in the issues.

@calvinjia: mind reviewing?

@bradyoo Thanks for the fix, what were the conditions in which heartbeat would send duplicate information?

Actually, we can probably forget this PR. Because the fix for https://github.com/Alluxio/alluxio/pull/10712 fixes for this as well along with many others.


Can't set Host header via headers argument

Hi,
wanted to set the Host header so I can run locust against different endpoints.
WebSocketClient seems to accept custom headers, but there were a couple of surprises:

the headers argument is not a dict like in other frameworks, e.g. http://docs.python-requests.org/en/master/user/quickstart/#custom-headers

the headers list is appended - so you can't actually set the Host header

best regards,
Florian

This makes it work for me:
    @property
    def handshake_headers(self):
        """
        List of headers appropriate for the upgrade
        handshake.
        """
        headers = [
            ('Host', self.host),
            ('Connection', 'Upgrade'),
            ('Upgrade', 'websocket'),
            ('Sec-WebSocket-Key', self.key.decode('utf-8')),
            ('Origin', self.url),
            ('Sec-WebSocket-Version', str(max(WS_VERSION)))
            ]

        if self.protocols:
            headers.append(('Sec-WebSocket-Protocol', ','.join(self.protocols)))
        headers = OrderedDict(headers)

        if self.extra_headers:
            headers.update(self.extra_headers)

        return headers.items()


Error building Rust application with async-stripe dependency and Docker

Describe the bug
I am building a actix-web Rust application that uses the async-stripe crate dependency. When I run cargo build --release locally, the application compiles successfully and I am able to run the executable. However, when I try to build the application using Docker, I receive the following error:
#10 331.1 error: could not compile  async-stripe
#10 331.1
#10 331.1 Caused by:
#10 331.1   process didn't exit successfully: rustc --crate-name stripe --edition=2021 /usr/local/cargo/registry/src/github.com-1ecc6299db9ec823/async-stripe-0.15.1/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C embed-bitcode=no --cfg 'feature="async"' --cfg 'feature="async-std"' --cfg 'feature="billing"' --cfg 'feature="checkout"' --cfg 'feature="chrono"' --cfg 'feature="connect"' --cfg 'feature="events"' --cfg 'feature="futures-util"' --cfg 'feature="hex"' --cfg 'feature="hmac"' --cfg 'feature="runtime-async-std-surf"' --cfg 'feature="sha2"' --cfg 'feature="surf"' --cfg 'feature="webhook-events"' -C metadata=36c3bb1a9b76cf5f -C extra-filename=-36c3bb1a9b76cf5f --out-dir /app/target/release/deps -L dependency=/app/target/release/deps --extern async_std=/app/target/release/deps/libasync_std-d8b622e8c899ba59.rmeta --extern chrono=/app/target/release/deps/libchrono-2626b0faaded3c9a.rmeta --extern futures_util=/app/target/release/deps/libfutures_util-0596a52e378ec0aa.rmeta --extern hex=/app/target/release/deps/libhex-4ec505438719f7d6.rmeta --extern hmac=/app/target/release/deps/libhmac-eb5f6da96bed7783.rmeta --extern http_types=/app/target/release/deps/libhttp_types-fa198c5caa868d45.rmeta --extern serde=/app/target/release/deps/libserde-de195c50cd998f2c.rmeta --extern serde_json=/app/target/release/deps/libserde_json-a2083c3b3dd9a8cc.rmeta --extern serde_path_to_error=/app/target/release/deps/libserde_path_to_error-a8ba9b319dd9e1e9.rmeta --extern serde_qs=/app/target/release/deps/libserde_qs-18699877e5337cd1.rmeta --extern sha2=/app/target/release/deps/libsha2-448ca1e926301784.rmeta --extern smart_default=/app/target/release/deps/libsmart_default-a6327fcb7ea1a023.so --extern smol_str=/app/target/release/deps/libsmol_str-b71446cddab20e2b.rmeta --extern surf=/app/target/release/deps/libsurf-1718e97eca56d6e8.rmeta --extern thiserror=/app/target/release/deps/libthiserror-32902884dc906a4c.rmeta --cap-lints allow -L native=/usr/lib/x86_64-linux-gnu -L native=/app/target/release/build/libnghttp2-sys-ca1a5b431dfff1de/out/i/lib (signal: 9, SIGKILL: kill)

I have followed the steps in the async-stripe documentation for adding the dependency to my application and installing the necessary dependencies, but the issue only occurs when building the application using Docker.
To Reproduce

Create a new actix-web Rust application and add the async-stripe dependency to the Cargo.toml file
Create a Dockerfile for the application. Here is my dockerfile

FROM rust:1.65 as build
WORKDIR /usr/src/app
COPY . .

RUN cargo build --release

FROM gcr.io/distroless/cc-debian10

COPY --from=build /usr/src/staj/target/release/app /usr/local/bin/app

WORKDIR /usr/local/bin
CMD ["app"]

Build the application using docker build .

Expected behavior
The application should build successfully
Code snippets
No response
OS
macOS
Rust version
1.67.0
Library version
async-stripe 0.15.1
API version
2020-08-27
Additional context
I've also tried using alpine in a multi-stage build. I've also tried using runtime-async-surf and runtime-tokio-hyper. Running a cargo build --release locally on my Mac works fine. Will try to run this cargo build on a linux system to verify if the problem is the OS rather than docker itself.

Just ran this docker build on a Debian machine and was able to successfully create the image.


Authenticating specific resources?

What's the recommended way to authenticate for specific resources using HTTP Basic Auth?
For example, suppose I have an endpoint to POST a message for a certain conversation:
router.post("/messages") { (request, response, next) in
    // Extract conversation UUID from request body...
    let uuid = UUID_FROM_BODY
    // Post the message for this conversation, etc...
    // Respond to client
    response.status(.accepted)
}

But only certain users are authorized to POST for certain conversations. A UserProfileLoader allows me to check for the existence of a user and confirm their password, but how can I confirm that they have access to a specific resource? E.g. in the example above, I would need to pass the conversation UUID to a UserProfileLoader function in addition to the userId.

We only support authentication (and not authorization) at the moment, so you can't  check if a user is authorized to perform specific action.


Added dmidecode tests for SMBios and Chassis

What this PR does / why we need it:
Added dmidecode tests for SMBios and Chassis
Now we check these values inside the VMI also (apart from the domain XML)
Release note:

Added dmidecode tests for SMBios and Chassis

/retest

/retest

/retest

/retest

/retest

/hold cancel

/override pull-kubevirt-e2e-k8s-1.15.1-ceph


boost::beast::http::verb::delete_ instead of boost::beast::http::verb::delete?

Is there a specific reason why the delete verb has an underscore while all the others don't? It seems rather inconsistent to me, so I assume there is a good reason for that, that I'm currently unaware of?

LOL.... think about it carefully :) If you haven't figured it out by tomorrow then I'll give you the answer.

Oh... reserved keywords... derp my bad
(I was converting my project from a different REST library which had all capital case for the http verb so it would be GET, POST, PUT, DELETE and I wrote a script to convert all those occurrences from capital to lowercase and stumbled upon this inconsistency, hence the question, thanks)

That didn't take long!


If you get a password validation error, try creating your resource group in another region. Then try creating the cluster with the new resource group.

If you get a password validation error, try creating your resource group in another region. Then try creating the cluster with the new resource group.
This statement is wrong: It is not about the Region\loc selection: It is about the PWD complexity. Come on gents!!!

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

ID: 6de70aec-9ebe-5655-6657-5c171de374b1
Version Independent ID: c9eb35c8-8703-511b-987b-e2a441be2e47
Content: Create a Windows Server container on an AKS cluster by using Azure CLI - Azure Kubernetes Service
Content Source: articles/aks/windows-container-cli.md
Service: container-service
GitHub Login: @mlearned
Microsoft Alias: mlearned

@TheMoroccanBoss
Thanks for the feedback! I have assigned the issue to content author to check and update the document as appropriate.

@zr-msft
Can you please check and add your comments on this doc update request as applicable.

Thank you @TheMoroccanBoss for the feedback.
I have updated the article to address your feedback, and the changes should be available soon.


Fix go CRConfig edgelocations test

Expect two more columns and more Queries.

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/incubator-trafficcontrol-PR/1822/
Test PASSed.


Allow number inputs to be clicked and held

This allows for the up/down buttons on number inputs to increment the values continually when they are held.
I migrated the click logic to a subfunction, and made the click function call itself every 250ms until the button is no longer held. It tracks the state by adding an HTML attribute to the buttons while they are held down.
This passes all tests and linting in GitHub Actions.
Addresses #8816.

Cool idea, I think the first delay should be slightly longer, e.g: 500ms, 250ms, 250ms, ….
I believe a solution using setInterval and clearInterval would be much cleaner and easier to follow.
If not, consider putting the recursive call after this line (for optimization):
https://github.com/openstreetmap/iD/pull/9462/files#diff-20bad07a0a50747d3c088cd4cfd32014b21edec39c11f9c71998bb0f46ef876cR92.


Lw/fix half shape

Shape (type) fix for test cases: Instruction should operate on shape types, other than just (defaulted to) Float.

You would need to handle "tuple" types and add unit tests inside op_shape_test.cpp.

Do we always know the size of Tuple at the Compile time?

The way it is setup right now, It is always known compile time.

A split operator can split a tensor in N slices, N is not a compile time constant.

MIGraphx doesn't support a dynamic-shaped "split" operator at the moment.

Comedy of errors. You were referring to shape::tuple_type. I was referring to std::tuple. Sorted that out.. :-)


matching: followup to #1906

Follow patch to #1906. The domainScope was assigned within a lock however it was accessed throughout the code without acquiring any locks. This patch fixes the bug and also gets rid of the locks, in favor of atomics.
There was also another existing bug - the metricsClient was never initialized in the constructor. Also, fixes this problem

So it doesn't improve much perf compared to directly using domainCache
This patch caches the domain metric scope once it's created not the domain metadata. That's about it. DomainCache caches the domain metadata. And I tend to disagree that it's complicated.

So it doesn't improve much perf compared to directly using domainCache
This patch caches the domain metric scope once it's created not the domain metadata. That's about it. DomainCache caches the domain metadata. And I tend to disagree that it's complicated.

I am fine to forget about complexity as it's hard to argue. Adding another atomicValue is unnecessary. How about just use domainCache whenever you need to translate from domainID to domainName?

So it doesn't improve much perf compared to directly using domainCache
This patch caches the domain metric scope once it's created not the domain metadata. That's about it. DomainCache caches the domain metadata. And I tend to disagree that it's complicated.

I am fine to forget about complexity as it's hard to argue. Adding another atomicValue is unnecessary. How about just use domainCache whenever you need to translate from domainID to domainName?

Discussed offline.


Unable to use the library within a C++17 project

There is several compilation errors when trying to use the library within a C++17 project (I use the NuGet package and have no problem with std versions <= 14).
My version of VS2017 is 15.9.2.
Reproduction steps:
Create an empty console application, install Nuget Microsoft.Windows.ImplementationLibrary v1.0.190430.13 and just update your main to include wil/resources.h :
#include <windows.h>
#include <wil/resource.h>
int main()
{
}

Here are the error messages I get:
include\wil\wistd_type_traits.h(1011): error C2275: '_Tp': illegal use of this type as an expression
include\wil\wistd_type_traits.h(1010): note: see declaration of '_Tp'
include\wil\wistd_type_traits.h(1011): note: see reference to class template instantiation 'wistd::is_aggregate<_Tp>' being compiled
include\wil\wistd_type_traits.h(1011): error C3861: '__is_aggregate': identifier not found
include\wil\wistd_type_traits.h(1011): error C2975: '__v': invalid template argument for 'wistd::integral_constant', expected compile-time constant expression
include\wil\wistd_type_traits.h(113): note: see declaration of '__v'
include\wil\result_macros.h(2168): error C2440: '=': cannot convert from 'void (__cdecl *)(bool,const wil::FailureInfo &)' to 'void (__cdecl *)(bool,const wil::FailureInfo &) noexcept'
include\wil\result_macros.h(2168): note: Conversion to a function with more restrictive exception specification requires reinterpret_cast
include\wil\result_macros.h(2178): error C2440: '=': cannot convert from 'void (__cdecl *)(const wil::FailureInfo &)' to 'void (__cdecl *)(const wil::FailureInfo &) noexcept'
include\wil\result_macros.h(2178): note: Conversion to a function with more restrictive exception specification requires reinterpret_cast
include\wil\result_macros.h(2191): error C2440: '=': cannot convert from 'void (__cdecl *)(wil::FailureInfo *,PWSTR,::size_t)' to 'void (__cdecl *)(wil::FailureInfo *,PWSTR,::size_t) noexcept'
include\wil\result_macros.h(2191): note: Conversion to a function with more restrictive exception specification requires reinterpret_cast
include\wil\result_macros.h(2201): error C2440: '=': cannot convert from 'HRESULT (__cdecl *)(void)' to 'HRESULT (__cdecl *)(void) noexcept'
include\wil\result_macros.h(2201): note: Conversion to a function with more restrictive exception specification requires reinterpret_cast
include\wil\result_macros.h(2212): error C2440: '=': cannot convert from 'void (__cdecl *)(const wil::FailureInfo &)' to 'void (__cdecl *)(const wil::FailureInfo &) noexcept'
include\wil\result_macros.h(2212): note: Conversion to a function with more restrictive exception specification requires reinterpret_cast

Some messages seem related to this compiler issue: c++ compiler bug with decltype functions that have noexcept.

Sounds like there's two issues here.
The first is that it seems like __is_aggregate is not available in some older versions of MSVC that support /std:c++17 (though this seems to suggest that it should be available in your version). The first is easily worked around by defining __WI_LIBCPP_HAS_NO_IS_AGGREGATE. We should ideally be conditionally defining this based off _MSC_VER or _MSC_FULL_VER, but sadly these things aren't well documented, so there's some amount of whack-a-mole that needs to get done.
The second is the bug that you link that seems to have been fixed in later versions. I've ironically had to add a workaround for function pointers for C++14 since behavior was broken in VS2019. This workaround can be leveraged to have WI_PFN_NOEXCEPT defined to nothing for earlier versions of MSVC.
I'd say feel free to submit a PR that conditionalizes the above on your MSVC version. If someone comes along with a later version of VS that's still broken, we'll have to bump the version numbers again, but I don't believe that there's any better option, unfortunately.

As a work-around, downgrade the NuGet package Microsoft.Windows.ImplementationLibrary to 1.0.210803.1


[QUERY] How to read Application Insights trace and exception events?

Library name and version
Azure.Monitor.Query 1.1.0
Query/Question
There was an SDK before called Microsoft.Azure.ApplicationInsights which apparently could read app insights data. This is exactly what we need. However, it's deprecated and if I try to use it, zero results are returned.
Nuget says this is the lib to get but... all the docs say to connect to some other thing called a "workspace". I looked at that, and it kind of seems like app insights... but it's not. I guess it collects data from virtual machines or something? Its pretty unclear what it is, but it's not app insights.
Note: I tried fooling this lib by using the ID of app insights anyway, and it says "The workspace could not be found".
Can someone please just point out the exact way to use this new library to read from App Insights trace logs? Surely it's still possible, yes?
Environment
Azure

@scottaddie :  Do you have insight that you can share for this?

@jbaumbach, Azure.Monitor.Query is the recommended package for querying App Insights data. As noted in Resource mode support, the classic resource mode for App Insights is being phased out. You'll need to migrate to the workspace-based resource mode before Azure.Monitor.Query will work for you. If migration isn't an option at this time, then you can use Microsoft.Azure.ApplicationInsights.Query. Just be aware that this package has been deprecated in favor of Azure.Monitor.Query.
Azure.Monitor.Query is capable of querying trace logs (the AppTraces table). See the Logs query example. In your case, you'll write a Kusto query for the AppTraces table instead of the AzureActivity table used in this example.

Ah, that worked! Had to "migrate" the App Insights instance to a workspace, but it looks like it left all the old alerts, data, queries, log data, etc. intact and it's still being populated with data by our app. Essentially the data is now magically going to both places. But, pretty painless.
I had to figure out how to make an Active Directory application registration and grant "Reader" permissions as well.


Bug

Hey. I followed step by step the youtube video. And it started normally. But after I wanted to try the example find sentence or now a custom sentence there comes this error up.

If you need any more things just let me know! :)
I hope you wirte back soon

Try This: Work For Me (:
Add This Code: process.env.NODE_TLS_REJECT_UNAUTHORIZED = '0';
into line no 2 in src/utils/fetchPageContent.ts file
(Sorry For Bad English)

hey I tried that and it worked for me. After 3 or 4 succesfull minutes. Capitain Stack doesn't find results anymore.

This is the only error for me atm

Did You Run npm install ?

yep

I even re installed the whole thing

and again the same issue

Sorry, Idk About This Error

Hey @Gianiboy2265.
It's Typescript errors. Different versions of Typescript might have different errors as well.
Can you ignore the errors and start debugging?

yes I can

I just wondered bc when I first started the co-pilot the error wasn't there

When you install the dependencies, it'll download the latest vscode-dts automatically. It includes the definition for vscode module. The VSCode editor will start to read the type definition and through those errors.
Since the type definition for vscode-dts changes quite frequently (because Captain Stack uses an experimental API), updating code to fix those type errors will be outdated in a matter of weeks.
I'll close this thread since seems like the issue is resolved.

Duplicated of #45 and #48

Duplicate of #45 and #48

Duplicate of #45


/history route

looking into it. work on history branch.
URLs won't be useful as they'll just point to the latest checks, so need to scrape the checks text for each URL

done. will check soon to make sure it's behaving correctly, but more or less done


Add a few more missing ids

Adds some of the remaining missing ids. Wasn't able to find anything for CheckoutSessionItemId, are those Line Items? https://stripe.com/docs/api/checkout/sessions/line_items

Hey, thanks for this! We had a CI issue (fixed in PR #264) could you please rebase and I'll merge this asap :)


ghprbCredentialId passed down; ghprbId expected

There is a bug in ghprb where it passes down the credential ID of the
auth ID used for this trigger. This credential ID is the ID of the
secret in the Jenkins credentials store, NOT the ID of the
GhprbGitHubAuth entry that is configured globally. However, the
downstream jobs expect the latter to be set and use it to resolve the
credential ID from that GhprbGitHubAuth ID. To "fix" this we simply
override the ghprbCredentialsId here to contain the right ID, so that
downstream jobs can perform commit status updates.
To solve this directly we'd need to either make the downstream listener lookup github auth by the credential ID, not the regular ID, or pass down the regular ID.

Thanks for the issue report.
Can you share a screenshot of your configuration and maybe also from the error you are getting? Thanks!

I'm doing the configuration through the job DSL plugin. The downstream job doesn't have a trigger configured, just the wrapper for downstream commit status publishing. The relevant snippets are:

GhprbBuilds.java#L54-L69 -- uses trigger.getGitHubApiAuth().getCredentialsId()
GhprbUpstreamStatusListener.java#L47-L48 -- tries to use ghprbCredentialsId to lookup GitHubAuth by ID.


remove TM char for consistency

This addresses issue #119 in doc-website, was in Raku/doc Either all references to Raku should have tm or none. My preference is for none as it is obvious
The problem
Solution provided

Thanks for this - team, hold off on applying this until we have a consensus on the plan for the trademark symbol.

Trademarks only work if you mention and enforce them.  Having been dragged to court about that in a previous lifetime, I'm all too aware of this.
FWIW, I think that specifying the trademark on the homepage, and perhaps a mention that all references to "Raku" should be interpreted as having the trademark mentioned, in small lettering at the bottom, should be enough  :-)

I absolutely agree with having a TM mark with Raku on one or more of the index pages (homepage, language), or in a footer on all pages.
Adding a TM to Raku in 101-Basic  because it was the first content page to appear is a hack and should be removed.

no response from @codesections - so we'll go with this for now, and add it in a few key places on the website itself


feat: Modernize

Latest plugins
updated google_checks.xml
Make release easier
Emily instead of Dane
Require mvn -P release install

@emilyball FYI

@eball35 FYI

@eaball35 FYI


chore: bundle size statistics

This PR uses webpack to compute bundle size for individual stardust components as well as for the whole package.
TODO

[x] Build bundle size stats for index (entire package)
[x] Build bundle size stats for /lib
[x] Build bundle size stats for each component
[x] Build bundle size stats for each theme
[ ] Ensure size stats are available in each PR for visibility

we are going to implement this in a separate PR

[ ] Update release workflow to insert stats for the version number being released

Next, we'll make a stats page in the docs for visualizing and advertising this to users.  We will extend the stats to include API surface area and render performance later as well.
Implementation details
Computing the statistics
yarn build:stats runs webpack with webpack.config.stats.ts configuration which builds bundles for:

entire package,
lib (core),
all individual components,
all individual themes.

All build are run in series to avoid memory issues.
Then Unreleased section of docs/src/bundleStats.json file is updated:
{
  "Unreleased": {
    "bundles": [
      ...
      {
        "name": "component-Animation.js",
        "size": 262818
      },
      ...
    ]
  },
  "0.12.0": {
    /* the same "bundles" structure */
   }
}

Order of all items in the JSON is deterministic so that only change in size (or a new version or package removed/added) results in this file being changed.
Storing the results
New Store bundle statistics step was added to CircleCI config. This script, if run in PR build, checks that the file changed and if so, it commits it back to GIT (see this commit).
Limitations
Every change which results in changed bundleStats.json triggers two build
Store bundle statistics commits a bundleStats.json back to Github if it has changed. This causes several problems in CI workflow:

As we have Auto-cancel redundant builds enabled in the CircleCI, the build is cancelled,
as a new commit appears on the branch, it starts a new build.

Commiting the stats with [ci skip] does not help as our merge policy says that build  for the last commit must be green to allow a merge.
If there was a change in the stats (again) the whole loop would happen again - that can happen due to a bug in our stats computation and would always happen for performance stats which have less stable results.

Developers have to deal with mid-air collisions
Every commit on a branch results in a commit from CI - Developers will have to git pull --rebase before pushing, will have to be more careful when force-pushing.

Warnings

:warning:
There are no updates provided to CHANGELOG. Ensure there are no publicly visible changes introduced by this PR.

  Generated by :no_entry_sign: dangerJS

I spent some time trying to find a way to commit&push updated stats from CI back to github but haven't found any reasonably solution.

CircleCI cannot ignore tags,
even if that would work, each tag would appear as a release in GitHub.

Instead of hacking a suboptimal solution I would rather merge this and progress to the next step which is an external storage. In the mean time we can:

either push updates to Git as implemented with all its drawbacks,
compute stats on prepush,
or store stats as CircleCI artefacts for now.


Added typings for knockout-pre-rendered library

Adds typings for the knockout-pre-rendered library.

knockout-pre-rendered/knockout-pre-rendered.d.ts
check list

[ ] is collect naming convention?

https://www.npmjs.com/package/knockout-pre-rendered
http://bower.io/search/?q=knockout-pre-rendered
others?

[X] has a test file? (knockout-pre-rendered/knockout-pre-rendered-tests.ts or others)
[ ] pass the Travic-CI test?

@ErikSchierboom thanks mate!


fix: compatibility with mypy==1.7.0

Summary
Details and comments

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

9 of 9 (100.0%)  changed or added relevant lines in 4 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.01%) to 86.76%

Totals

Change from base Build<PHONE_NUMBER>:
0.01%

Covered Lines:
8709

Relevant Lines:
10038

💛  - Coveralls


fix format for :hook directive

it should not format when has an :hook directive without any attribute.
This fix it is related with this PR here: https://github.com/surface-ui/surface/pull/636

@herminiotorres Thanks for the PR!
@msaraiva @herminiotorres I think this change needs to be added https://github.com/surface-ui/surface/pull/636 — is that correct?


[KOGITO-9785] Option to configure timeout error handler

The proposal is to use the existing error handling mechanism:

Adds a specific exception TimerExpiredException
The exception is thrown by TimerNodeInstance if any error handler is defined with the fully qualified exception name as the error code
This implies:
No regressions are introduced on existing workflows as the error is raised only when the specific error code is used
The default behavior of expired timeouts remains the same

Closes #3254
Many thanks for submitting your Pull Request :heart:!
Please make sure that your PR meets the following requirements:

[x] You have read the contributors guide
[x] Your code is properly formatted according to this configuration
[x] Pull Request title is properly formatted: KOGITO-XYZ Subject
[x] Pull Request title contains the target branch if not targeting main: [0.9.x] KOGITO-XYZ Subject
[x] Pull Request contains link to the JIRA issue
[ ] Pull Request contains link to any dependent or related Pull Request
[x] Pull Request contains description of the issue
[x] Pull Request does not include fixes for issues other than the main ticket

How to replicate CI configuration locally?

Build Chain tool does "simple" maven build(s), the builds are just Maven commands, but because the repositories relates and depends on each other and any change in API or class method could affect several of those repositories there is a need to use build-chain tool to handle cross repository builds and be sure that we always use latest version of the code for each repository.
build-chain tool is a build tool which can be used on command line locally or in Github Actions workflow(s), in case you need to change multiple repositories and send multiple dependent pull requests related with a change you can easily reproduce the same build by executing it on Github hosted environment or locally in your development environment. See local execution details to get more information about it.

How to retest this PR or trigger a specific build:

for pull request checks
Please add comment: Jenkins retest this

for a specific pull request check
Please add comment: Jenkins (re)run [kogito-runtimes|kogito-apps|kogito-examples] tests

for quarkus branch checks
Run checks against Quarkus current used branch
Please add comment: Jenkins run quarkus-branch

for a quarkus branch specific check
Run checks against Quarkus current used branch
Please add comment: Jenkins (re)run [kogito-runtimes|kogito-apps|kogito-examples] quarkus-branch

for quarkus main checks
Run checks against Quarkus main branch
Please add comment: Jenkins run quarkus-main

for a specific quarkus main check
Run checks against Quarkus main branch
Please add comment: Jenkins (re)run [kogito-runtimes|kogito-apps|kogito-examples] quarkus-main

for quarkus lts checks
Run checks against Quarkus lts branch
Please add comment: Jenkins run quarkus-lts

for a specific quarkus lts check
Run checks against Quarkus lts branch
Please add comment: Jenkins (re)run [kogito-runtimes|kogito-apps|kogito-examples] quarkus-lts

for native checks
Run native checks
Please add comment: Jenkins run native

for a specific native check
Run native checks
Please add comment: Jenkins (re)run [kogito-runtimes|kogito-apps|kogito-examples] native

for native lts checks
Run native checks against quarkus lts branch
Please add comment: Jenkins run native-lts

for a specific native lts check
Run native checks against quarkus lts branch
Please add comment: Jenkins (re)run [kogito-runtimes|kogito-apps|kogito-examples] native-lts

How to backport a pull request to a different branch?

In order to automatically create a backporting pull request please add one or more labels having the following format backport-<branch-name>, where <branch-name> is the name of the branch where the pull request must be backported to (e.g., backport-7.67.x to backport the original PR to the 7.67.x branch).

NOTE: backporting is an action aiming to move a change (usually a commit) from a branch (usually the main one) to another one, which is generally referring to a still maintained release branch. Keeping it simple: it is about to move a specific change or a set of them from one branch to another.

Once the original pull request is successfully merged, the automated action will create one backporting pull request per each label (with the previous format) that has been added.
If something goes wrong, the author will be notified and at this point a manual backporting is needed.

NOTE: this automated backporting is triggered whenever a pull request on main branch is labeled or closed, but both conditions must be satisfied to get the new PR created.

Quarkus-3 PR check is failing ... what to do ?

The Quarkus 3 check is applying patches from the `.ci/environments/quarkus-3/patches`.
The first patch, called 0001_before_sh.patch, is generated from Openrewrite .ci/environments/quarkus-3/quarkus3.yml recipe. The patch is created to speed up the check. But it may be that some changes in the PR broke this patch.
No panic, there is an easy way to regenerate it. You just need to comment on the PR:
jenkins rewrite quarkus-3

and it should, after some minutes (~20/30min) apply a commit on the PR with the patch regenerated.
Other patches were generated manually. If any of it fails, you will need to manually update it... and push your changes.

PR job #2 was: UNSTABLE
Possible explanation: This should be test failures

Reproducer
build-chain build full_downstream  -f 'https://raw.githubusercontent.com/${AUTHOR:apache}/incubator-kie-kogito-pipelines/${BRANCH:main}/.ci/buildchain-config-pr-cdb.yaml' -o 'bc' -p apache/incubator-kie-kogito-runtimes -u https://github.com/apache/incubator-kie-kogito-runtimes/pull/3255 --skipParallelCheckout
NOTE: To install the build-chain tool, please refer to https://github.com/kiegroup/github-action-build-chain#local-execution

Please look here: https://ci-builds.apache.org/job/KIE/job/kogito/job/main/job/pullrequest_jobs/job/kogito-runtimes-pr/job/PR-3255/2/display/redirect
Test results:

PASSED: 2522
FAILED: 1

Those are the test failures:

org.kie.kogito.quarkus.workflows.PojoServiceIT.testPojo
Expecting value to be true but was false


[doc] Cleaned up some of the documentation on colorize to address c…

…oncerns in #1095

@indexzero I've added addColors back in (good catch, thank you) and cleaned up transports.md a little more.

How can i just change the color of the 'debug' word?


calculate pnl for closeout

@sentilesdal I changed your smart_contract_preview_transaction to take an address as an input instead of an EthAgent, so I can call it when I don't have an EthAgent, but I do have an address. Changed where it's called to extract the address from EthAgent prior to calling it.

@slundqui I used coerce_float=False in the postgres queries. Since that test is a success, should we just maket that the default?

@slundqui I used coerce_float=False in the postgres queries. Since that test is a success, should we just maket that the default?

No, I think in general, anything consuming from the database for the purposes of dashboarding should be able to handle the faster but less accurate floats instead of the more accurate but slower decimal format


Add elasticsearch user + directory permissions

For now, we're using a hostpath for elasticsearch and need to have permissions to write to that directory from the container. We run as user elasticsearch with uid 2000, so here's a simple script to create the user and give the dir to elasticsearch:
useradd -r -u 2000 elasticsearch
mkdir /EDCOP/bulk/esdata
chown elasticsearch:elasticsearch /EDCOP/bulk/esdata

This script should be run on all nodes (including the master).
There might be more users to create in the future until we find a better way to handle data.

Since it's related, we also need a Moloch directory to store the raw PCAP files, it only needs to be run on the workers:
mkdir /EDCOP/bulk/moloch/ /EDCOP/bulk/moloch/raw /EDCOP/bulk/moloch/logs

Fixed here:
https://github.com/sealingtech/EDCOP/pull/28


Provide a docker image option

A similar tool Dry - https://github.com/moncho/dry - provides the capability to be run using docker itself
docker run --rm -it -v /var/run/docker.sock:/var/run/docker.sock -e DOCKER_HOST=$DOCKER_HOST moncho/dry
can you please also provide a docker container for this ?

Docui also has a docker run command: docker run --rm -itv /var/run/docker.sock:/var/run/docker.sock skanehira/docui
At the moment i think this is not possible due to missing feather in gocui, (For details see https://github.com/awesome-gocui/gocui/pull/18)
If that fix is merged into jesses's gocui fork we could make a docker image for lazydocker too.

@jesseduffield I think @mjarkk is right. We should apply this patch on gocui, lazygit can benefit from it too and there would be no need to make some workarounds in Dockerfile or twice in two codebases.

https://github.com/jesseduffield/lazydocker/pull/36

I'm almost done fixing one or two last issues for the pull request to be merged, it should be done on my side by tonight.

I only just read this thread then. So to be clear, if we merge that gocui PR (https://github.com/awesome-gocui/gocui/pull/18/files) into my gocui fork, we won't need to add any window-size checking code in https://github.com/jesseduffield/lazydocker/pull/36? Is that correct @dawidd6 @qdm12 ?
If so I'm happy to go ahead and do that now

It could be, for now we have the following code to check on the terminal size:
func waitForTerminalSpace() error {
	// before we do anything, we need to check that we have some window space available
	width, height, err := terminal.GetSize(int(os.Stdin.Fd()))
	if err != nil {
		return err
	}
	if width > 0 && height > 0 {
		return nil
	}
	winch := make(chan os.Signal)
	signal.Notify(winch, syscall.SIGWINCH)
	select {
	case <-winch:
		return nil
	case <-time.After(time.Second):
		return fmt.Errorf("there is no available terminal space")
	}
}

And it works pretty well I think. Should I commit it now or wait for you to implement changes to your gocui fork?

I think the gocui fork is the right approach. I've got a PR up here https://github.com/jesseduffield/lazydocker/pull/103

Would you potentially be able to cherry pick across that commit and see if it works on your branch?

Yes I will try this out, although I'm not very familiar with Go dep unfortunately so can't promise anything :smile:

yes eventually but I don't want to merge it until I know it works for our use case :) Also we're using go modules now, not dep

So I tried with the branch window-check, and my Docker modifications but it fails, this time with another error:
a1a28 pc=0x803f21
github.com/jesseduffield/lazydocker/pkg/gui.(*Gui).RunWithSubprocesses(0xc000080900, 0xc000314a00, 0x0)        /go/src/github.com/jesseduffield/lazydocker/pkg/gui/subprocess.go:20 +0x2f fp=0xc0001a1ab8 sp=0xc0001a1a78 pc=0x81460f
github.com/jesseduffield/lazydocker/pkg/app.(*App).Run(...)
        /go/src/github.com/jesseduffield/lazydocker/pkg/app/app.go:54
main.main()
        /go/src/github.com/jesseduffield/lazydocker/main.go:62 +0x863 fp=0xc0001a1f98 sp=0xc0001a1ab8 pc=0x827f43
runtime.main()
        /usr/local/go/src/runtime/proc.go:200 +0x20c fp=0xc0001a1fe0 sp=0xc0001a1f98 pc=0x42d77c
runtime.goexit()
        /usr/local/go/src/runtime/asm_amd64.s:1337 +0x1 fp=0xc0001a1fe8 sp=0xc0001a1fe0 pc=0x458591

goroutine 33 [select]:
github.com/jesseduffield/lazydocker/vendor/github.com/jesseduffield/termbox-go.Init.func1()
        /go/src/github.com/jesseduffield/lazydocker/vendor/github.com/jesseduffield/termbox-go/api.go:89 +0x332
created by github.com/jesseduffield/lazydocker/vendor/github.com/jesseduffield/termbox-go.Init
        /go/src/github.com/jesseduffield/lazydocker/vendor/github.com/jesseduffield/termbox-go/api.go:86 +0x76b

goroutine 18 [syscall]:
os/signal.signal_recv(0x0)
        /usr/local/go/src/runtime/sigqueue.go:139 +0x9c
os/signal.loop()
        /usr/local/go/src/os/signal/signal_unix.go:23 +0x22
created by os/signal.init.0
        /usr/local/go/src/os/signal/signal_unix.go:29 +0x41

Did you remove all modifications made to pkg/app/app.go?

Yes, just the Dockerfile and .dockerignore I forgot to mention

After applying this patch it works:
diff --git a/vendor/github.com/jesseduffield/gocui/gui.go b/vendor/github.com/jesseduffield/gocui/gui.go
index 9ea46f5..1cb412f 100644
--- a/vendor/github.com/jesseduffield/gocui/gui.go
+++ b/vendor/github.com/jesseduffield/gocui/gui.go
@@ -878,8 +878,9 @@ func (g *Gui) getTermWindowSize() (int, int, error) {
 	}
 	defer out.Close()

+	timeout := time.Second * 3
 	signalCh := make(chan os.Signal, 1)
-	signal.Notify(signalCh, syscall.SIGWINCH, syscall.SIGINT)
+	signal.Notify(signalCh, syscall.SIGWINCH)

 	for {
 		_, _, _ = syscall.Syscall(syscall.SYS_IOCTL,
@@ -892,15 +893,10 @@ func (g *Gui) getTermWindowSize() (int, int, error) {
 		}

 		select {
-		case signal := <-signalCh:
-			switch signal {
-			// when the terminal window size is changed
-			case syscall.SIGWINCH:
-				continue
-			// ctrl + c to cancel
-			case syscall.SIGINT:
-				return 0, 0, errors.New("There was not enough window space to start the application")
-			}
+		case <-signalCh:
+			continue
+		case <-time.After(timeout):
+			return 0, 0, errors.New("There was not enough window space to start the application")
 		}
 	}
 }

dunno if this is what we want.

I just tested this out myself and it looks like the issue was that because our window size struct didn't include the pixel counts (it only included rows/cols) we got a seg fault. I've just pushed a new commit to my branch which resolves this: https://github.com/jesseduffield/lazydocker/pull/103/commits/a6804465967f75a91408886bf91b31909f3243b3
A couple things on my mind now

I think we should move the docker-compose file out of the readme and into an actual docker-compose file
How should we deal with mounting the user's config? If you don't mount the config, you'll always get the prompt at the beginning asking whether you want to report error messages. And it's not always obvious where that config file can be found

Hi I'll try it out tomorrow :smile:

I like having all useful stuff in the readme with collapsibles, but it's just a preference, as you wish!
You should bind mount /.config/jesseduffield/lazydocker. Another way would be to have Docker volume described in the Dockerfile so that a bind mount is possible but not needed. I think that's a good solution in the end.

sounds good :)

Hi @jesseduffield,
The current state of the Docker image lacks the Docker binary too, so should we:

merge #36 now and then work on issue #109
Fix issue #109 then merge the #36
Find a workaround for now (i.e. bind mount Docker or use a static binary of Docker) then merge #36 then fix #109 and remove the workaround?

I think option 3 is the best. Bind mounting docker means you don't need to worry about a version mismatch, but using a static binary is far more convenient. I'd lean towards the binary side but I'm very convenience-biased. What do you think?

Yes I agree with you. What we could however do is have a build argument specifying the docker version to bundle in, so that if someone encounter compatibility issues, he can build the image with an older Docker version.

sounds good to me

I am pretty much done building and putting docker in /docker in the final scratch image, resulting in a 68.9MB image (not great but not bad either). But what information is gathered using /docker? I am trying to find if it can pick up the docker binary from /docker or if I should place it somewhere else. I am also testing it on a raspberry pi to check it works for ARM.

I am trying to find if it can pick up the docker binary from /docker or if I should place it somewhere else.

Place the binary in one of the directories in PATH or create a symlink accordingly.

Ok thanks! I will just set the PATH environment variable to PATH=/ in the Scratch container.
How can I test it works? I am not sure what information is gathered from the docker CLI exactly.
I should be done tomorrow (I forgot some code on another computer and don't want to write it again :) )

Logs and CPU usage are taken from cli client.

Ok thanks! I will just set the PATH environment variable to PATH=/ in the Scratch container.

I am not sure if it is a wise decision to expose / in PATH. Why don't you place the binary in something like /usr/local/bin/ which is usually already in PATH. Alternatively, you can create a symlink like:
$ ln -s /docker /usr/local/bin/docker

But scratch image is empty IIRC, so there isn't really any problem with setting the PATH to / as long as there are only binaries in / and that is the case.

Users might bind mount files and folders there at run time.

So should we put all these binaries in, for example /bin or leave them in /? I don't really see the point of mounting files there, except for /.config

I cannot create symlinks and there is no path defined as its a scratch image.

Yes, I understand that ln would not work in scratch, but standard default value of PATH (/usr/sbin:/usr/bin:/sbin:/bin) should be available even in an empty container. This means, placing binaries in any of these directories should work.


chore(prow/config): fix pr format checker plugon on test-prod repo master branch

Signed-off-by: wuhuizuo<EMAIL_ADDRESS>
What problem does this PR solve?
Issue Number: close #xxx
Problem Summary:
What is changed and how it works?
What's Changed:
How it Works:

/approve


Using _ENV instead of self

I use _ENV as first argument to an object oriented Lua library and I get warnings on _ENV not being used and that the variables in the _ENV table are undefined.
Example:
local function f1(_ENV)
return xyz -- xyz is in the _ENV table
end

It's easy enough to treat globals in scope of some local _ENV as its fields, silencing the warnings.
It's a bit trickier with top level "global" _ENV (technically an upvalue of the main chunk). If it's assigned to then it's no longer obvious whether globals point to original global environment, or to the assigned one, or possibly to both.
local function something(t)
    _ENV = t
end

some_function(something)

 -- Warn about unknown field or assume _ENV could have be assigned to by now?
os.unknown_function()

This can be implemented, too (translate each global name to _ENV.name, add a virtual _ENV upvalue to the main chunk, find reaching definitions for local accesses the way luacheck already does, treat indexing of local _ENV as a global if only the original value of the _ENV upvalue reaches it), it's just a bit complicated.
Then there is also an issues with Lua versions that don't have _ENV, ideally with --std=lua51 or --std=luajit or --std=min this special _ENV treatment should be disabled, but currenty --std only sets allowed globals and nothing else, and no option values are available during checking, they are applied at a later stage instead.
(I'm just listing reasons why this is not trivial to implement, I'm still adding this to TODOs.)

Keeping this open until it's implemented.


API Endpoints for organization members

Adds the following endpoints:

GET /orgs/:org/members: List an organization's members
GET /orgs/:org/members/:user: Check if a user is a member of an organization
DELETE /orgs/:org/members/:user: Remove a user from an organization
GET /orgs/:org/public_members: List an organization's public members
GET /orgs/:org/public_member/:user: Check if a user is a public member of an organization
PUT /orgs/:org/public_member/:user: Make a user's membership public
DELETE /orgs/:org/public_member/:user: Make a user's membership non-public

Also fix a bug in GetUsersByIDs.

LGTM

LGTM


Incorrect signature for BMI initialize method

According to the BMI spec, the filename argument for the BMI initialize method must not be optional and must be a string. Right now BmiHeat.initialize accepts either None, a file-like object, or a string. I think this should be changed so that it only accepts a string that is a path to a configuration file.
i.e.
def initialize(self, filename: str):
    with open(filename) as file_obj:
        self._model = Heat.from_file_like(file_obj)
    ...

Actually, in looking at what's there now, I think there's also a bug. Heat.from_file_like must take a stream, not a string
i.e.
Heat.from_file_like(file_obj.read())

should be
Heat.from_file_like(file_obj)

I think it would be safe to use the empty string to indicate a default configuration.
def initialize(self, filename: str):
    if filename:
        with open(filename) as file_obj:
            self._model = Heat.from_file_like(file_obj)
    else:
        self._model = Heat()
    ...


Update SignalR and Glimpse

Update the plug-in to use latest Glimpse. Also update SignalR to v1.2.1, initially and then v2.x.

Done