Support AWS SDK for Go v2

The AWS SDK for Go v2 v1.0.0 has been released a few days ago. It would be great if the new SDK version would also be instrumentable like the v1 SDK.
Currently instrumenting a v2 SDK clients like:
s3Client := s3.NewFromConfig(cfg)
xray.AWS(s3Client)

fails with: cannot use s3Client (variable of type *s3.Client) as *client.Client value in argument to xray.AWS

Hi johanneswuerbach,
Unfortunately because the AWS SDK team has done foundational changes to the core APIs and request handling in the V2 rework, well need to dive into the new stack for AWS SDK V2 support.
https://aws.github.io/aws-sdk-go-v2/docs/middleware/
We will add this into our feature backlog, and we are happy to work with the community on PRs.

Hi johanneswuerbach,
Unfortunately because the AWS SDK team has done foundational changes to the core APIs and request handling in the V2 rework, well need to dive into the new stack for AWS SDK V2 support.
https://aws.github.io/aws-sdk-go-v2/docs/middleware/
We will add this into our feature backlog, and we are happy to work with the community on PRs.

I also am keen to see this support added. Right now, this is a barrier for adoption of the Go SDK v2 as we don't want to lose tracing.

There is solution for aws go sdk v2 in OpenTelemetry by middleware, it would be good if someone can help to migrate to here.
https://github.com/open-telemetry/opentelemetry-go-contrib/pull/621

https://github.com/open-telemetry/opentelemetry-go-contrib/pull/621 is merged

@wangzlei looks like this has been closed by accident or is the opentelemetry based instrumentation supposed to replace xray? If yes, is there any documentation how to configure it?

@awssandra @wangzlei -- Any thoughts on posting some documentation here on how to use the opentelemetry solution?

@awssandra could you provide an update on whether v2 support is still on the backlog?
The fact that there is a 3rd-party project that supports it does not seem like it addresses the original issue here.  Or does the introduction of the v2 SDK effectively mean the end of any official AWS support for using X-Ray with Go?

@awssandra, as @kevinmcconnell said it would be nice to understand the timeline for this. Anywhere we can refer to?

@ferradario currently we don't have a timeline for this work. I will try to  look at this PR - https://github.com/aws/aws-xray-sdk-go/pull/297 on what work needs to be done in order to add this support. However, we are tracking ToDos in the PR itself.

Will this be solved after a release is tagged, including merged PR #309?

X-Ray Go SDK v1.6.0 is now released which includes aws sdk v2 support.

The AWS SDK for Go v2 v1.0.0 has been released a few days ago. It would be great if the new SDK version would also be instrumentable like the v1 SDK.
Currently instrumenting a v2 SDK clients like:
s3Client := s3.NewFromConfig(cfg)
xray.AWS(s3Client)

fails with: cannot use s3Client (variable of type *s3.Client) as *client.Client value in argument to xray.AWS

Quoting the initial body of this issue for context. Looking at the README under "https://github.com/aws/aws-xray-sdk-go/#readme" it seems like to use xray with sdkv2 you need to perform two operations

awsv2.AWSV2Instrumentor(&cfg.APIOptions)
manually call xray.BeginSegment and defer its closure for each API call made with that client

This is a regression in the xray integration from v1.
Does this package provide a way to configure a client so that all calls are instrumented without requiring the consumer to do it each time?


SpinKube on Gardener Shoot cluster blog post

What this PR does / why we need it:
A blog post that shows how Gardener can integrate with SpinKube.
Which issue(s) this PR fixes:
Fixes #
Special notes for your reviewer:
@n-boshnakov Can you please proofread this?
Release note:

Thanks @n-boshnakov! It should look better now, PTAL


Error: undefined method `core_tap?' for nil:NilClass

when i brew update,there is a Error:Error: undefined method `core_tap?' for nil:NilClass.

From the issue template:

Please note we will close your issue without comment if you delete, do not read or do not fill out the issue checklist below and provide ALL the requested information. If you do not read fill out the issue template repeatedly you will be blocked from ever submitting issues to Homebrew again.

If you add the necessary information to this issue ((don't create a new one, please) then this issue may be reopened.

After filling the template, also please post the whole stack trace for us to be able to debug it.


fix: space between author name and date

Before:

After:

@Sembauke I've changed the UI of this, go through it once and if you're satisfied it you can merge this PR.


Execute Magnum tempest tests for magnum CI job

Magnum has no non-smoke tempest tests so use the ostestroptions
parameter to do an extra ostestr run with the Magnum tests.

This needs https://github.com/SUSE-Cloud/automation/pull/1142 (but can be merged independently)

+1

It's not tested anyway and already deployed so merging...


Automate Release Process

Describe what problem your feature request solves
The release process currently requires a high level of effort by a maintainer. Despite @jgadsden 's superhero-like ability to pull this off, I think we should make it a bit easier.  It may not be practical to get it 100% automated (looking at you, desktop), but if we can get closer that would certainly be a win!
Describe the solution you'd like
There's a lot of ways of doing this, but I'm leaning towards having actions that run only on new tags. I don't know yet if there's an action for tags, but maybe milestones or something similar would work?
Additional context

The release steps are clearly outlined in dev-notes.md.
There's been discussion regarding pulling threat-dragon-desktop into this repo
There's been discussion regarding pulling the docs into this repo as opposed to a submodule
There's a PR ( #108 )  to pull in threat-dragon-core (which may be made obsolete with the Vue Migration #87

Blockers

Reliable E2E Testing #90

Partially blocked by the Vue Migration #87 - We could do this before, but if we're rewriting the UI, it might make sense to start writing E2E tests with the new UI

Migrating core #108 to this repo
Figuring out deployment targets for a QA site
Figure out the best way forward for github pages (Discussion on docs repo: https://github.com/threatdragon/threatdragon.github.io/issues/22)
Get automation account for publishing to dockerhub automatically
Special considerations for desktop:

Is it even able to be tested in an automated fashion?
Is it able to be released in an automated fashion?

There's probably more blockers or things we need to do before we get to the point where we can have an almost full continuous delivery pipeline, but this should suffice to start the conversation.
@jgadsden  - Where the release is still very fresh for you, would you care to add what the biggest pain points for you have been this time around so we can focus our efforts on those?

Absolutely agree with @lreading on this.
One of the direct things would be the suggestion already made by Leo on automating the docker image push to docker hub #96 . At present it is pushed to threatdragon repo, rather than owasp repo, on docker hub; this was only because we do not yet have the permissions to push to owasp docker hub repo. I will be asking for these permissions and maybe soon we can push to owasp rather than threatdragon

A CI pipeline has been (mostly) implemented on the vue-migration branch.
https://github.com/OWASP/threat-dragon/actions/runs/834390970
The pipeline runs front-end and back-end unit tests, creates a docker image, and then uses that image to run e2e tests and a zap scan.  As it would turn out, we can use a github action to just run the freshly built container as opposed to an actual deployment on a staging/qa site.  The only piece that's left is adding a step to promote it if it is on master, and we can keep the latest tag up to date.  It's currently pushing to a personal dockerhub for testing, that is easy enough to change before all of this gets merged.
Is there anything else you'd like to see as far as far as the CI pipeline goes?

In the 2.0 branch, I do have an action that publishes the docker image.  It's currently pushing to one of my accounts as a temporary measure.  If we're going to be using threatdragon for the interim, would it be possible to add me to that, or to just add a repository secret so we can use it in a GH action to publish the docker image automatically?
I think automating the desktop builds will be the biggest hurdle.  Fortunately, GitHub does provide macOS runners as well, so I think it should be do-able.
Do we want to build all the things on every commit to the main branch, or should we just aim for tags to start with?  The idea being that if we push a tag, in theory we could auto-generate the release.

It appears as though this action does just about everything we need: https://github.com/samuelmeuli/action-electron-builder
I'm working through a couple of bugs with it at the moment, including one where a failed build will cause the electron process to become stuck, preventing other electron builds from passing on the same runner.
Follow-on items:

MacOS Signing
MacOS Notarization
Windows Signing
Publish to Snapcraft #241

The other thing is that we won't get the nice release notes in an automated fashion.  That said, we can probably script out at least the shasum generation and update the draft from the action.  I'd imagine we will still want to manually add the release notes though.  Thoughts?

If I'm recalling correctly, the MacOS electron app is being signed by a cert that you own, @jgadsden ?
I've changed course again (in typical fashion) and have had better luck just scripting the builds in actions.  There's some weirdness in how electron-builder works under the hood that made me shy away from it.
That said, code-signing and notarizing sounds easy enough... on paper.
From my very limited research, it would seem we need a code signing certificate to sign the windows app.  Those can get a bit pricey.  I see one from comodo for about $70/year?  I'm wondering if this is the type of thing we should be reaching out to OWASP for.
In the branch I'm working in, we are currently on version 1.5.2, and we have a snap published as 1.5.2 on snapcraft.  This is actually version 1.5.0, but I needed to bump the versions during testing.  For those reasons, could we pull an angular and just make the next official release 1.5.3?
For reference, the draft github release is here: https://github.com/OWASP/threat-dragon/releases/tag/untagged-51f8301345897e14e8d2
Moving forward, this would only be built when a tag (starting with "v") is pushed

Yes, the MacOS image is (at present) owned by me ... it was what electron builder picked out of my keystore without me being too aware of what electron-builder was doing. This is part of my yearly Apple Developer licence.
I am happy to buy the Windows code signing certificate - certainly OWASP will pay for this once we are out of incubator stage. And I think it is my turn to pay for something? (until OWASP take these on)
next official release can easily be 1.5.3 , no problem at all @lreading

haha, the apple developer program is more expensive, is it not? ;)
As long as you are fine with using your license for this, I think we can probably get at least MacOS signing/notarization configured, barring any major difficulties (which tend to happen with these things).
I'm going to investigate code signing certs a bit more and will work with you offline to ensure redundant ownership.
Documentation on the GH Action is here: https://github.com/samuelmeuli/action-electron-builder
The maintainer has added some nice documentation on how to get the keys and certs required for signing and notarization.  I just don't know for sure if notarization will happen "out of the box", or if there will be changes we need to make to the app.  I've read a few things about some kind of electron hardened plugin.
We will need the following secrets added to the repository:

mac_api_key
mac_api_key_issuer_id
mac_certs
mac_certs_password
These will be referenced here: https://github.com/OWASP/threat-dragon/blob/feature/112-automate-release-process/.github/workflows/electron-build.yaml#L70 (at the time of writing there's still a lot of comments/debug code in there, variable names may not line up, etc)

Took a while (the day job went heavy duty for a while :-) ) but I have put these into the secret store:

api_key: Content of the API key file (with the p8 file extension)
api_key_id: Key ID found on App Store Connect
api_key_issuer_id: Issuer ID found on App Store Connect
mac_certs
mac_certs_password

If they work OK, and I guess they should, then I will move on to getting:

windows_certs
windows_certs_password

Thanks for that!  The signing appears to be working, however, the notarization is not happening.  I'm still trying to work thorough how to get that to happen between electron-builder configurations and the github action.

It may be the keys - I have not been able to test them, to be treated with scepticism ;-)

It was operator error, definitely not the keys. :) It's my first dive into electron and electron-builder, so it took me a few attempts before I figured out how to configure it properly.  It does seem to be notarizing the image, and a very quick test on Big Sur shows that it has been notarized.  There is still a warning that the application has been downloaded from the internet, with the caveat that Apple has scanned it for malicious software/files and did not find anything malicious.
The only question is if we want to get these changes in ASAP, or if we want to get the code-signing for Windows sorted before merging?

Superb work @lreading - there is no great hurry, I was just feeling bad that I had broken the threat engine in 1.5.0
I will get the windows certs today, and then over to you to weave your agic

I'm adding the logic to build and push the docker image as well for the release action.  Since I haven't bothered you enough for this yet, would you mind adding the dockerhub username and token to the repo secrets?  There are existing ones that can be overridden that I was using for testing actions on the v2-development branch.  Those point my own dockerhub account, not really associated with threat dragon.
I believe the only other piece we'd be missing would be adding a zip of the directory to the release, which I will be looking into tonight or tomorrow.

Done - updated the existing DOCKERHUB_USERNAME and DOCKERHUB_TOKEN

I believe the only other piece we'd be missing would be adding a zip of the directory to the release, which I will be looking into tonight or tomorrow.
I'm now realizing this happens automatically upon tagging.  Once verification is complete for the code-signing cert that Jon was kind enough to get for the Threat Dragon community, this should about ready for merge (assuming the windows build works as well as the macos one did).

After this is merged, a new release can be generated by updating the version in the package.json files (there are multiple), tagging and pushing the changes/tags.

This is really really good to see, many thanks @lreading
The windows certs are taking longer than usual because I am known as Jon but those are not my given names so the documents had to be sent up the chain for approval

The automation mostly worked, but it did some weird things with versions.  It seems the release it created was one version behind the tag I had created.  This will require a bit more investigation, however, the building and signing of binaries is a huge win.  We will need a new release when the code-signing cert for Windows is ready, so that'll be another good opportunity to test. :)

I have the signing certificate back from Certum / Asseco, and have added the secrets:
windows_certs
windows_certs_password

Since the Windows code-signing is in place, I think it's safe to close this as complete.  We still don't have access to the official dockerhub group for OWASP, but we do have own own little area that our users expect us to publish to for now. :)
I can't praise Jon enough for his efforts to get the Windows signing in place.  That was a tough nut to crack, but he stuck with it and it is included in the 1.5.8 release!


[Feature Request] GET /api/contacts/profile-picture returns "not-authorized" error when get profile from blocked account

[Feature Request]  GET /api/contacts/profile-picture returns "not-authorized" error when get profile from blocked account
We need to handle it properly and return well structured message instead of traceback and 500
{"statusCode":500,"timestamp":"2024-06-14T15:56:41.070Z","exception":{"stack":"Error: not-authorized\n at assertNodeErrorFree (/app/node_modules/@adiwajshing/baileys/lib/WABinary/generic-utils.js:56:15)\n at query (/app/node_modules/@adiwajshing/baileys/lib/Socket/socket.js:145:48)\n at process.processTicksAndRejections (node
/process/task_queues:95:5)\n at async Object.profilePictureUrl (/app/node_modules/@adiwajshing/baileys/lib/Socket/chats.js:442:24)\n at async WhatsappSessionNoWebPlus.getContactProfilePicture (/app/dist/core/engines/noweb/session.noweb.core.js:463:21)","message":"not-authorized","data":401,"isBoom"
,"isServer"
,"output":{},"name":"Error"},"request":{"path":"/api/contacts/profile-picture?contactId=number@c.us&session=25204","method":"GET","body":{},"query":{"contactId":"number@c.us","session":"25204"}},"version":{"version":"2024.6.3","engine":"NOWEB","tier":"PLUS","browser":"/usr/bin/chromium"}}

Steps:

Block account
Get profile picture for that account

Return profilePictureUrl empty with error like
profilePictureUrl: none
error:
   msg: Text description
   key: not-authorized

There's one more for not-found
{
  "statusCode": 500,
  "timestamp": "2024-06-19T06:19:08.419Z",
  "exception": {
    "stack": "Error: item-not-found\n    at assertNodeErrorFree (/home/aburovqs/git/whatsapp-http-api/node_modules/@adiwajshing/baileys/lib/WABinary/generic-utils.js:56:15)\n    at query (/home/aburovqs/git/whatsapp-http-api/node_modules/@adiwajshing/baileys/lib/Socket/socket.js:145:48)\n    at processTicksAndRejections (node:internal/process/task_queues:95:5)\n    at Object.profilePictureUrl (/home/aburovqs/git/whatsapp-http-api/node_modules/@adiwajshing/baileys/lib/Socket/chats.js:442:24)\n    at WhatsappSessionNoWebPlus.getContactProfilePicture (/home/aburovqs/git/whatsapp-http-api/src/core/engines/noweb/session.noweb.core.ts:701:17)",
    "message": "item-not-found",
    "data": 404,
    "isBoom": true,
    "isServer": true,
    "output": {},
    "name": "Error"
  },
  "request": {
    "path": "/api/contacts/profile-picture?contactId=123123123&session=default",
    "method": "GET",
    "body": {},
    "query": {
      "contactId": "123123123",
      "session": "default"
    }
  },
  "version": {
    "version": "2024.6.6",
    "engine": "NOWEB",
    "tier": "PLUS",
    "browser": "/usr/bin/google-chrome-stable"
  }
}

There's one more for not-found
{
  "statusCode": 500,
  "timestamp": "2024-06-19T06:19:08.419Z",
  "exception": {
    "stack": "Error: item-not-found\n    at assertNodeErrorFree (/home/ps/git/whatsapp-http-api/node_modules/@adiwajshing/baileys/lib/WABinary/generic-utils.js:56:15)\n    at query (/home/ps/git/whatsapp-http-api/node_modules/@adiwajshing/baileys/lib/Socket/socket.js:145:48)\n    at processTicksAndRejections (node:internal/process/task_queues:95:5)\n    at Object.profilePictureUrl (/home/ps/git/whatsapp-http-api/node_modules/@adiwajshing/baileys/lib/Socket/chats.js:442:24)\n    at WhatsappSessionNoWebPlus.getContactProfilePicture (/home/ps/git/whatsapp-http-api/src/core/engines/noweb/session.noweb.core.ts:701:17)",
    "message": "item-not-found",
    "data": 404,
    "isBoom": true,
    "isServer": true,
    "output": {},
    "name": "Error"
  },
  "request": {
    "path": "/api/contacts/profile-picture?contactId=123123123&session=default",
    "method": "GET",
    "body": {},
    "query": {
      "contactId": "123123123",
      "session": "default"
    }
  },
  "version": {
    "version": "2024.6.6",
    "engine": "NOWEB",
    "tier": "PLUS",
    "browser": "/usr/bin/google-chrome-stable"
  }
}


docs: minikube with docker driver issue: #894

Signed-off-by: Nitish vulli<EMAIL_ADDRESS>Added additional note in minkube installation steps
you can find more info at issue: #894

Description

This PR fixes #
Notes to reviewers:
Checklist

[] DCO signed.
[] Title of the PR starts with area name, e.g. meshery:, mesheryctl:, ui:.

@leecalcote sir, we need to have a dark impression for Layer5 in the image, then it would look cool !!


Fix selection not closing typeahead

Basically a rebased version of #226
I did also remove an unneeded dependency that was causing an issue in my project. See https://github.com/TheLarkInn/LazyParseWebpackPlugin/issues/9

Thank you. I’ll merge this once travis is green 👍

Thanks Sam 🎉


[BUG] Stereo from host no longer works with v2.21.2

Currently with depthai-core v2.21.2, I found it's no longer able to generate stereo depth by feeding a image pair directly to a StereoDepth through XLinkIn. The error I got is like the following:
[18443010E1DF1AF500] [3.3.2] [1.060] [StereoDepth(4)] [error] There is no available extrinsic calibration between camera ID: '0' and '0'

I guess this regression was introduced when implementing the feature "Multi stereo support, ability to run stereo between any 2 calibrated cameras". Since the new StereoDepth node works with any calibrated camera pairs, the input streams may carry the metadata which real camera port this data is coming from and the stereo depth node fetches extrinsic calibration data based on it. And since the image pairs in my case is provided through XLInkIn nodes directly, there is no correct cam port info for the image streams, which cause the "no available extrinsic calibration" error. I'm wondering if we the SDK can provide a flag to allow user to disable this feature to make the stereoDepth node works as previous versions?
Minimal Reproducible Example
  dai::CalibrationHandler calibration_data{kTestCalibrationData};

  dai::Pipeline pipeline;
  pipeline.setCalibrationData(calibration_data);

  // Read images of left and right image pairs.
  auto right_in = pipeline.create<dai::node::XLinkIn>();
  right_in->setStreamName("right_in");
  auto left_in = pipeline.create<dai::node::XLinkIn>();
  left_in->setStreamName("left_in");

  auto stereo_node = pipeline.create<dai::node::StereoDepth>();

  left_in->out.link(stereo_camera_node->left);
  right_in->out.link(stereo_camera_node->right);

  auto xout_depth = pipeline.create<dai::node::XLinkOut>();
  xout_depth->setStreamName("depth");
  stereo_node->out.link(xout_depth->input);

  dai::DeviceInfo device_info;

  auto wait = std::chrono::steady_clock::now();
  bool found;
  do {
    std::tie(found, device_info) = dai::Device::getFirstAvailableDevice();
  } while (!found && std::chrono::steady_clock::now() - wait < 5s);

  ASSERT_TRUE(found);

  dai::Device device{pipeline, device_info};

  // Feed them into the pipeline.
  cv::Mat left_test_image = cv::imread(kLeftTestImage);
  cv::Mat right_test_image = cv::imread(kRightTestImage);

  dai::ImgFrame left_frame;
  left_frame.setSize(left_test_image.rows, left_test_image.cols);
  left_frame..setType(dai::ImgFrame::Type::BGR888p);
  toPlanar(left_test_image, left_frame.getData());

  dai::ImgFrame right_frame;
  right_frame.setSize(right_test_image.rows, right_test_image.cols);
  right_frame.setType(dai::ImgFrame::Type::BGR888p);
  toPlanar(right_test_image, right_frame.getData());

  auto left_in_queue = device.getInputQueue("left_in");
  auto right_in_queue = device.getInputQueue("right_in");
  auto depth_out_queue = device.getOutputQueue("depth", 4, false);

  left_in_queue->send(left_frame);
  right_in_queue->send(right_frame);

  std::this_thread::sleep_for(1s);
  auto depth_frame = depth_out_queue->tryGet<dai::ImgFrame>();

  ASSERT_NE(depth_frame, nullptr);

Expected behavior
A correct stereo depth image is generated.
Additional context
This error was observed when using depthai-core SDK v2.21.2 with FFC-3P board with 2 camera modules connecting to socket CAM_L and CAM_R.

Thanks for the report - cc @szabi-luxonis
@developer-mayuan i guess setting instance number (imgframe - corresponds to cam socket id) to the one corresponding to the passed calibration data, will work as expected.

@developer-mayuan as @themarpe mentioned above you need to set the instance number correctly. Previously calibration in the stereo node was hard-coded to LEFT and RIGHT camera sockets, that's why it worked with incorrectly set input frame instance numbers.
This is not a regression, but rather an improvement, in prior versions stereo was limited to LEFT and RIGHT sockets.
We have a reference example for stereo from host, where the instance number is set correctly: https://github.com/luxonis/depthai-python/blob/main/examples/StereoDepth/stereo_depth_from_host.py#L678

Thanks @themarpe  and @szabi-luxonis for your quick solution. Setting instance number does fix the issue I got here which is great! However, I do find other issues cause by this change.
On our robots, we have mounted our oak-d camerasin upside down way due to some limitations in our hardware design, which means we also have to calibrate these cameras in this way. To workaround this issue, in our previous calibration tool and runtime driver, we apply the following code to make the stereo node thinking the camera is still in normal position by swapping the left and right cameras streams and also flip images by 180 degree:
  if (upside_down) {
    // left and right camera position is swapped if upside down.
    monoLeft->setBoardSocket(dai::CameraBoardSocket::RIGHT);
    monoRight->setBoardSocket(dai::CameraBoardSocket::LEFT);

    // also need to rotate image output for each camera.
    monoLeft->setImageOrientation(dai::CameraImageOrientation::ROTATE_180_DEG);
    monoRight->setImageOrientation(dai::CameraImageOrientation::ROTATE_180_DEG);
    camRgb->setImageOrientation(dai::CameraImageOrientation::ROTATE_180_DEG);
  } else {
    monoLeft->setBoardSocket(dai::CameraBoardSocket::LEFT);
    monoRight->setBoardSocket(dai::CameraBoardSocket::RIGHT);
  }

This workaround works in previous sdk, because stereo depth node still can fetch correct calibration data which is independent of the actual camera sockets of incoming images, which is not true anymore with the latest SDK.
I'm wondering if there is a way to make the current SDK provides an option to perform the previous behavior? Or any ideas how I can address this issue with the latest SDK? Thanks!

@developer-mayuan you can swap calibration data for the 2 cameras:
https://github.com/luxonis/depthai-python/commit/60d5688335748113c0d71218741b3c756ea23134#diff-bc263f47c3c296cff090513c408eb10d48523d751d6b537f6c433441bc20dd64R191
or follow the latest develop, for features like this one.

This is also a preparation for potential name aliasing, where a device will be able to be 180 degree rotated without having to modify which camera is now "left / right / ..."


Behavior of the polygon, changing the size of the point image

Hello
Maybe a strange question. He builds polygons.
Is it possible to force on the polygon the lack of enlargement, reduction when changing the scale.
I want the polygon to behave when changing the scale as a point or how to resize the height and width of the image (png, svn) of the symbol for a point separately

I need some more clarification. Do you want to change the behavior of a polygon or do you want to change the behavior of point symbol? Or do you use pointsymbols in your polygons somehow, like in the editing sample? And perhaps you can paste a picture of what you have now.

I want to change the size of the width and length of the point symbol (SymbolScale changes the width and length), or
having a testing ground I want him to behave like a point symbol (he did not change the width and length when he was enlarged)

I assume, that he wants to have different styles for the same feature dependent on the zoom level. If the zoom level is low, the feature is displayed as point. If you zoom in, than a polygon with fewer points should be should. Only if you want to zoom in complete, the full polygon should be shown.
Perhaps this is possible with styles dependent on the MinVisible and MaxVisible and a new behaviour, that if a polygon has a point style, that than the center point is used.

Excuse me, I may have unnecessarily combined two questions.
I have a polygon. Normally, when you zoom in on the map, the polygon increases.
Is it possible that the polygon during the zooming in the map does not increase (it behaved like a point - it is about displaying)

Seems like you want a vector image as a point symbol. You could look at SVG. There is a sample for this. You will need to convert from polygon to SVG though (or whatever your source data is).

In mapsui, you can directly convert a Polygon type object to an SVG stream?

No, but it shouldn't be a problem, to create a SVG from a list of points.

I can get a lead, for example, because I'm just starting out in this topic

This is an SVG library that came out of my google query:
https://github.com/vvvv/SVG
You can iterate over vertices in a polygon with
Polygon.ExteriorRing.Vertices

You will need to correct the points for it's center position. So subtract the center for the vertex. The point you will use for the symbol will need to be positioned at the center.
To get the Center:
Polygon.GetBoundingBox().GetCentroid()

thanks

It is not complete correct. SVG coordinate systems starts on the left upper corner and goes right and down. So get the left top point of the BoundingBox, which should be substracted from each point in the polygons vertices.
Now create a string with the SVG header and add all points from the polygon as
<svg>
  <polygon points="p1.x,p1.y p2.x,p2.y p3.x,p3.y" />
</svg>

This string than could be used for creating a symbol image for Mapsui.


Hard to put dataset in the right place for just a test.

Is there any hint for put dataset in the right place for at least a test?

@Vandermode @aragorn1025 What should I do for testing only one image? Can you provide an example for inference ? Anticipate for your reply.

Hi @MenSanYan, I was also trying to test for one single image.
I did the following to get the results.

Created a folder, placed my testing image inside that directory
Commented all code related to the creation of dataset and data loader
Created my dataset for example, test_ref_dataset = datasets.RealDataset('/home/aditya/project/ERRNet/test_ref/')
Created a dataloader for the same
test_ref_dataloader = datasets.DataLoader(
test_ref_dataset, batch_size=8, shuffle=False,
num_workers=opt.nThreads, pin_memory=True)
res = engine.test(test_ref_dataloader, savedir=result_dir)
After this, I was able to get for a single image in the results directory.

Can we use this network for commercial purpose, as a part of an image processing processes.

To inference on raw samples. In test_errnet.py, right after line 17, commented rest of the part. And put below code
engine = Engine(opt)
test_ref_dataset = datasets.RealDataset('/content/my_img/') # where you save your image

test_ref_dataloader = datasets.DataLoader(
                    test_ref_dataset, batch_size=8, shuffle=False,
                    num_workers=opt.nThreads, pin_memory=True)

res = engine.test(test_ref_dataloader, savedir="/content/") # where result would be saved

Can i use the code without ubuntu?

Hello, can you publish the misaligned dataset used in the project?


Support dynamic file names with project root path

Fixes #35094 and #35091

@typescript-bot cherry-pick this to release-3.7

@typescript-bot cherry-pick this to release-3.7


Flutter WebView for Flutter Web (IFrame)

I am unable to use WebView for Flutter Web. It's giving a platform exception error. I have to load an iframe inside a widget.  Is there any existing workaround for this ??

Hi @rohitranjan1991
as described in webview_flutter
The plugin relies on Flutter's new mechanism for embedding Android and iOS views. As that mechanism is currently in a developers preview, this plugin should also be considered a developers preview.
nevertheless both web and iframe support are on the work.
For now you may get some help if you post it on Stack Overflow.
Closing, as this isn't an issue with Flutter itself,
if you disagree please write in the comments and I will reopen it
Thank you

我也有相同的疑问。
既然flutter宣称支持跨平台，为什么不支持web端的展示呢？
如果不支持，是不是意味着涉及ios/android/web三端展示的项目，就不能使用html数据？

Hi @rohitranjan1991
as described in webview_flutter
The plugin relies on Flutter's new mechanism for embedding Android and iOS views. As that mechanism is currently in a developers preview, this plugin should also be considered a developers preview.
nevertheless both web and iframe support for WebView are on the work.
For now you may get some help if you post it on Stack Overflow.
Closing, as this isn't an issue with Flutter itself,
if you disagree please write in the comments and I will reopen it
Thank you

@iapicca  You should have marked this issue as feature request and keep it open.

Hi @andy1247008998
I linked in the previous message the 2 related issues
that address the feature that are requested.
please follow up there
thank you


Is it possible for me to add support for switching themes?

Being able to switch a site from one theme to another is pretty important to me.  I would like to try adding that capability, but I'm not sure to what extent it's even possible.  I'm hoping you can give me a little bit of feedback and direction.
One possibility that occurred to me was to store each page's content in JSON format, with subarrays for rows and columns.  to make it easier to reflow it into a new theme.  Storing the source content is essentially how R5 worked, but I realize it's probably not what you intended for R6.  Still, it might make theme switching possible?
Another approach would be to parse the row / column content and convert it to a new grid system if necessary.  I anticipate I'd tackle it in three stages:
Stage 1: Add a theme switcher tool in the SPA.  It will wipe out all existing site content, and will warn the user of such in big flashing letters.
Stage 2: Program parsing and reflowing of row/column content when switching between themes.  If I know the row and column classes for both the old and new themes, it should be no problem to parse out the content from an existing site and reflow it into a different grid system.  If a particular template is missing then I will flow the content into a default template.  It won't be perfect but it'll at least save the user from rekeying all of their content.
Stage 3: Figure out how to handle theme-specific plugins that are missing from the new theme.  Global plugins should work fine without any conversion, but if the old theme had a plugin that is not present in the new theme, I figure I'll just insert it into the new page as an HTML snippet.
Any thoughts on either of the two approaches above?  Any giant glaring roadblocks I'm failing to anticipate?  Any other approaches that I might consider?
I know you're busy and I don't mean to bug you, but I thought I should try to get your thoughts on this before I start hacking together a pull request on my own.  Thanks for any feedback you can provide.

Yeah, this is really difficult going past your stage 1 b/c of the framework issues and the home pages.   Most home pages are unique.  So, there is often not a 1-to-1 mapping.  Let me think about this some more.  It would be helpful if you could articulate why this is important.  I have personally found that once someone locks in a design, they don't often change it.  That is why I have not incorporated this feature into Respond.

I think the main reason to be able to switch themes is for:

prototyping, when the client is first starting to choose which theme he wants, or you have collected some content from them and set it into the site, you show them a few different layouts with the same content for them to choose
future change, maybe in the near future they want to change the theme just to keep the site up to date and changing

The type of user that I'm supporting likes to try out a few different themes before settling on one (as do I when I'm creating a site).  They may also wish to migrate to a new theme in the future like Joe suggested.  Say they've been on one for four years and a new one becomes available that is much more modern and up-to-date.  I'd rather give them a way to upgrade in place, than have them create an entirely new site.
I see what you mean about home pages having unique layouts.  That may be true of things like Contact pages as well.  Maybe I will implement Stage 1 only, or maybe I can create a tool that allows the user to select which pages to convert and which to replace with default content.  Perhaps I could even add a side-by-side preview.
I will think on it some more before doing anything.  Thanks very much for your feedback.

Hello I would also like to be able to change the theme would be essential for flexibility when implementing projects in respondcms, it would be a good idea to open a markplace so people could create and sell their themes and plugins for the respondcms just as it is today the pagekit project that Even though it was more complete I still preferred the respondcms for several reasons, but it would be amazing to see some features of pagekit implemented also in respondcms.

Switching themes is definitely a priority.  But, there are some complications with how Respond works that make this difficult.  I will take a look at Pagekit.  They have a fundamentally different approach then Respond, but there is definitely a number of things we can learn from what they are doing.  I would be interested in hearing your take on the pros/cons between Respond and Pagekit.


Release 010

Fix deployment template conflict
Make closed schools ineligible for current school
Exclude closed schools from current school search

Yanked releases are versions that had to be pulled because of a serious bug or security issue

We didn't have to pull it, it just didn't deploy. It does raise a question of what we do in these circumstances though. I think another release with the fix is fine?

Hrmm. Maybe [UNRELEASED] instead?

Yeah ok, although the changes are released. Shall I duplicate the changes from 009 in to 010?

Ok, nevermind. I see why we wouldn't do this. Leave as it is.


Firefox scrollbar behavior is making trouble

The scrollbars appearing on the right cover the widget needed to toggle the sidebar state and thus makes it impossible to click.

Workarounds:

to switch to another view that does not have the scrollbars (small ticket for example) and toggle it there.
change the contents of the localstorage / cookie directly

Workaround, there is a setting for Linux:


Add '--force' flag to 'vue init' command

Problem:
When testing templates, it's a frequent cause of headaches when testing.
Currently in the template test.sh scripts, they use the yes command piped to the vue init, which doesn't work.
Solution
To workaround this, we could add a --force flag that will send a new line character to each inquirer prompt.
We could use the mock-stdin package for sending the input to the prompt.
There is a PR coming shortly, fully tested with the Vue Webpack template using both the --force and the -f flag.

@yyx990803 or @LinusBorg But i can't use vue create  ? So what i'm going to do if i need to init template from repo and skip prompts?

The old 2.x functionality can be re-added with a plugin.
We won't add any new features to it, though.


Bundle size is way too big

Despite the fact that I am importing specific components only and those are maybe 5. I see in my bundle analyzer this huge dependency. Lets find out why that is so and what can we do about it. Also 60kb of lodash inside sounds like an overkill.

Are the stats coming from the production build? The documentation of the propTypes is pretty large in dev mode?

Dev, lets see whats in production.

Now minified (parsed size) version looks much better, but still way too much for those components I use.

Potentially something is still importing the entire lib. I checked my code, I am def. only importing specific files.

I can't see the dialog, nor the Avatar being imported.

Hmm, I am not using Paper for e.g. but probably its a hardcoded dependency of some other components like a Menu or something. I am using List, ListItem, Button, Divider, LinearProgress,  Chip, IconButton, Input, Menu, Form, MuiThemeProvider.

Its quite a number of components, but still, 115kb minified ...  React-DOM is 110kb for e.g. React 15kb.

For e.g. that lodash dependency 60kb, is it really worth it?

I have something pretty close to you:

First finding lodash.isEqual https://github.com/STORIS/react-scrollbar-size/issues/2. I think that we can greatly reduce the size of the Tabs component by not depending on it.

For e.g. that lodash dependency 60kb, is it really worth it?

We use very few functions of lodash, I don't think that material is depending on 60kb of loadash.

We use very few functions of lodash, I don't think that material is depending on 60kb of loadash.

Then its either the core or not specific imports.

Btw. why is lodash not in your stats? Probably because the same version is used in the project globally. I am still on lodash 3 globally, thats why it shows me the cost of lodash within material-ui scope.

To put some perspective on my common.js bundle:

And here is mine ... now you know why I am digging, thats insane.

Just started optimizing though.

Wow, I can't even see Material-UI in your bundle. You can start with supertest and all the moment locales :happy:. Also, I have only share the common.js of my app. I have also many more chunk for each page.

You can))) second column at the bottom.

I'm gonna address the lodash.isEqual STORIS/react-scrollbar-size#2 issue, but I don't know what you could do aside that to improve the bundle size.

Yeah, I think for material-ui is worth considering removing lodash if its trivial things and review all imports to make sure nothing unneeded is imported.

Oh, we might have another lodash function messing the bundle size. I'm gonna look into that.

Oh and a last one, we should split the colors file.

Here we are #7306. That should help, a lot.

@kof @oliviertassinari I'm facing this exact problem. I'm importing components like import Button from 'materialui/Button' way. any hints?

I believe there still are issues with components importing too much. I've got a bunch of components in my output bundle that don't seem to be in any way related to the components I've imported. For reference, here are all import statements from material-ui within my app and my vendor bundle:
import List, { ListItem } from 'material-ui/List';
import List, { ListItem, ListItemText, ListItemSecondaryAction } from 'material-ui/List';
import { TableBody, TableRow, TableCell } from 'material-ui/Table';
import { TableHead, TableRow, TableCell } from 'material-ui/Table';
import Typography from 'material-ui/Typography';
import Card from 'material-ui/Card';
import Table from 'material-ui/Table';
import Hidden from 'material-ui/Hidden';

If you have ideas how to investigate what actually imports Input, Modal, Form, Select etc, I'd love to get some pointers.

@maciej-gurban All the imports comes from material-ui/Table. The issue will be addressed with #9673. We are going to flatten the imports.

@oliviertassinari Thanks for a quick reply and the explanation! For now I've changed all my imports to point directly to the files they import, so instead of
Foo, { FooBar } from 'material-ui/Foo'

I'm doing
Foo from 'material-ui/Foo/Foo'
FooBar from 'material-ui/Foo/FooBar'

This removed all the unnecessary modules from my bundle.

what app are u using guys? those squares that indicates the size

@kennblvnp it's webpack bundle analyzer


Create ForwardingList

[x] Read Creating the ForwardingList
[x] Create an Issue for writing the ForwardingList and put your first thoughts about relationships between events and reactions into it.
[x] Create a local feature branch from this Issue in your VisualStudioCode installation
[x] Elaborate the ForwardingList in your local feature branch
[x] Check your result against the provided documentation
[x] Create a Pull-Request; appoint a team member to be Reviewer; assign the Pull-Request to yourself
[x] Respond to the feedback to the Pull-Request and fix the findings
[x] Merge into develop branch; delete remote feature branch; assure the Issue being closed
[x] Delete your local feature branch
[x] Close this Issue

initially added services for bequeath-your-data-and-die, but as a database is used, data handover will be done as database handover instead.

Concepts of the ForwardingList.pdf


Switch Node - Wrong behaviour if "Otherwise" is on top

What are the steps to reproduce?
Create a switch node listening to a specific message. Create 2 conditions and make the first one the "otherwise" option. Example flow:
[{"id":"cd982c0c.f9b7d","type":"debug","z":"28e73868.21cde8","name":"HA","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","x":1590,"y":120,"wires":[]},{"id":"418c82f1.7c28ec","type":"server-state-changed","z":"28e73868.21cde8","name":"Spotify?","server":"2fba4297.e4145e","version":1,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityidfilter":"media_player.spotify","entityidfiltertype":"exact","outputinitially":false,"state_type":"str","haltifstate":"paused","halt_if_type":"str","halt_if_compare":"is_not","outputs":2,"output_only_on_state_change":false,"x":1000,"y":160,"wires":[["410b739a.fe2b7c"],["610e10c3.b2b5e"]]},{"id":"410b739a.fe2b7c","type":"rbe","z":"28e73868.21cde8","name":"","func":"rbe","gap":"","start":"","inout":"out","property":"data.new_state.attributes.source","x":1290,"y":160,"wires":[["b439db28.c516f8"]]},{"id":"610e10c3.b2b5e","type":"change","z":"28e73868.21cde8","name":"reset","rules":[{"t":"set","p":"data.new_state.attributes.source","pt":"msg","to":"reset","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":1150,"y":200,"wires":[["410b739a.fe2b7c"]]},{"id":"b439db28.c516f8","type":"switch","z":"28e73868.21cde8","name":"Source?","property":"data.new_state.attributes.source","propertyType":"msg","rules":[{"t":"else"},{"t":"eq","v":"HomeAssistant","vt":"str"}],"checkall":"true","repair":false,"outputs":2,"x":1420,"y":160,"wires":[["cd982c0c.f9b7d"],["b72104c4.762a28"]]},{"id":"b72104c4.762a28","type":"debug","z":"28e73868.21cde8","name":"off","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","x":1590,"y":180,"wires":[]},{"id":"2ed7605c.70a4c","type":"comment","z":"28e73868.21cde8","name":"Switch Node Issue - Otherwise on first check","info":"","x":1110,"y":100,"wires":[]},{"id":"2fba4297.e4145e","type":"server","z":"","name":"Home Assistant","legacy":false,"addon":true,"rejectUnauthorizedCerts":true,"ha_boolean":"y|yes|true|on|home|open","connectionDelay":true}]
What happens?
If the check all conditions is selected, the message will come on both ends, even though one of them is incorrect
What do you expect to happen?
The message should only come out on the correct end. If "otherwise" is on the bottom, this works fine.
Please tell us about your environment:

[x] Node-RED version: 1.0.4
[ ] Node.js version:
[ ] npm version:
[x] Platform/OS: Ubuntu / HomeAssistant
[x] Browser: Chrome
Using this addon for HomeAssistant:
https://github.com/hassio-addons/addon-node-red

Rules are checked from the top to the bottom.
"otherwise" means "if nothing above has matched". If you put it at the top of the list then nothing above it will have matched so you get the message from that rule.

@almostserious shouldn't this issue be closed now ?

You are right.


video switch command added to menu module.

Using vidsrc driver,device to change video source during call.

Many thanks :)

My pleasure :)


No build instructions

The repo does not include some of the relevent configs or guidance on the correct command arguments to run the build or to allow for cross compilation of the image.

Hi, this repo is a Yocto layer containing recipes for SR-specific software. You can use the recipes to build Yocto images with our software on them.
You are probably looking for https://github.com/srobo/robot-image-manifest


Added a new file of pure python code and not a zip file

Pull Request Template
script name - Age Calculator GUI
What have you Changed
what you changed in the codebase.write here
Issue no.(must) -
Self Check(Tick After Making pull Request)

[ ] This issue was assigned to me.
[x] One Change in one Pull Request
[x] My file is in proper folder
[x] I am following clean code and Documentation and my code is well linted with flake8.
[x] I have added README.md and requirements.txt with my script

If issue was not assigned to you Please don't make a PR. It will marked as invalid.
Join Us on Discord:- https://discord.gg/JfbK3bS
acknowledgement

[x] I have tested the script and distributing it under MIT license.

Issue no. is not available. Go through documentation once

Invalid Pull request


refactor: error handling for PR artifact comment [skip ci]

The Issue
PR artifact comment is not created:

https://github.com/ddev/ddev/actions/runs/9581560892

Unhandled error: TypeError: Cannot destructure property 'prNumber' of '(intermediate value)' as it is undefined.

How This PR Solves The Issue
I'm not sure what's wrong here.
I refactored the action to at least better understand the error.
Manual Testing Instructions
Automated Testing Overview

Release/Deployment Notes

You'll probably have to commit it in master in ddev-test/ddev to be able to see if it works of course.

You'll probably have to commit it in master in ddev-test/ddev to be able to see if it works of course.

Done.
I tested it here:

https://github.com/ddev-test/ddev/pull/1

I ran the PR build again (from the Actions tab) for:

#6317

It has unrecognized SHA https://github.com/ddev/ddev/actions/runs/9584935394 which I can't find at https://api.github.com/repos/ddev/ddev/pulls
Another thing I noticed, there is not PR Build job in #6317 at the bottom.
I can't say for sure, but the last commit was [skip ci] and it was force-pushed, maybe it's an edge case that we can't handle.
Let's push #6317 again, but without [skip ci].

Sounds OK.
The sha is probably the built-in
${{ secrets.GITHUB_TOKEN }}

No, it's this one:
${{ github.event.workflow_run.head_sha }}

It should match github.rest.pulls.list[].head.sha so that the corresponding PR number can be found.
My understanding is that it should just match the last SHA commit, but something went wrong here.


Add reseed controller + routes

Reseeding is a "custom trigger + action" recipe that takes in the
students, hmwk_assignments, and hmwk_completion_tracking boards, deletes
all their data, and "reseeds" them with seeded data.

I tested with curl/postman:
# in one tab
node run server-dev

# in another tab
curl --location --request POST 'http://localhost:8302/reseed/subscribe' \
--header 'Authorization: my_signing_secret' \
--header 'Content-Type: application/json' \
--data-raw '{
    "payload": {
        "subscriptionId": "victor",
        "webhookUrl": "https://gooogle.com/"
    }
}'
{
    "webhookId": "victor"
}

curl --location --request POST 'http://localhost:8302/reseed/unsubscribe' \
--header 'Authorization: my_signing_secret' \
--header 'Content-Type: application/json' \
--data-raw '{
    "payload": {
        "webhookId": "victor"
    }
}'
OK


Use only python 2.7 for virtualenv

To address the issue where python3 is automatically selected
for virtualenv:
https://github.com/commonsearch/cosr-back/issues/71

Coverage increased (+0.05%) to 86.092% when pulling ba9c6606035b8eb8ea6ce25f78fc447a09d9b2a7 on chaconnewu:virtualenv into 6b44feef5cc8b6b9a4edc34400f6501b24367c3c on commonsearch:master.

Thanks a lot @chaconnewu !


Adds Spray Bottles

Pls no Merge Conflicts

The original spray bottle applies vapor, not instantly create a puddle.
Should this maybe wait for atmos?

The original spray bottle applies vapor, not instantly create a puddle.
Should this maybe wait for atmos?

Not really. This should create some sort of "vapor" entity that moves transferring reagents to the ground puddles until it runs out of reagents.

The vapor currently doesn't move. I thought the vapor just is a delayed puddle spawner.

As far as I remember, on TG (and some others) the vapor moves in the direction you clicked, cleaning the tiles it touches and leaving puddles behind

code
if i'm not dumb rn, it goes through all tiles in the line and let's the tile react
i'm doing this but spawning a vapor entity
you could also spawn a vapor entity and let that do the moving stuff. pretty much is the same result

It uses the reagents from the "chempuff" entity.

well that's retarded

🤷♀

fix this

fix this

Delete this


Using mean and std of train/test split repetitions, but the split is only done once.

We are taking the mean and std of the scores obtained by the models in each repetition of cross validation, where we evaluate the models with the train and test data sets.
This last split is only done once, but we evaluate the models a number of times, which leads to a std of 0 in those metrics.

Fixed with PR #26


[BEAM-1352] Remove dataflow-runner dependency from io/gcp.

Be sure to do all of the following to help us incorporate your contribution
quickly and easily:

[ ] Make sure the PR title is formatted like:
[BEAM-<Jira issue #>] Description of pull request
[ ] Make sure tests pass via mvn clean verify. (Even better, enable
Travis-CI on your fork and ensure the whole test matrix passes).
[ ] Replace <Jira issue #> in the title with the actual Jira issue
number, if there is one.
[ ] If this contribution is large, please file an Apache
Individual Contributor License Agreement.

Changes Unknown when pulling 278b0c6aa8cf8bc62e2a65d2b95f259b61fc2270 on peihe:patch-3 into ** on apache:master**.

What JIRA is this under? What's the rationale for this change?
I kicked off the Dataflow runner postcommit: https://builds.apache.org/view/Beam/job/beam_PostCommit_Java_RunnableOnService_Dataflow/2127/
Can you confirm that the same integration tests still run? Specifically, BigtableIO is running?

PTAL
filed jira BEAM-1352
And, RunnableOnService tests are all ignored in BigQueryIOTest.

Can you confirm that Bigtable integration tests (not RunnableOnService tests) are still executed with this change?

@dhalperi
BigtableReadIT and BigtableWriteIT are in beam_PostCommit_Java_MavenInstall
Could you help me to kick it off?
I don't have Jenkins access.

Will be number 1126 here: https://builds.apache.org/view/Beam/job/beam_PostCommit_Python_Verify/

Postcommit failed: https://builds.apache.org/job/beam_PostCommit_Java_MavenInstall/2487/

You can also run this locally by running integration tests (get command line from the console output) on your own project, so should not need me to run for you.


HBASE-23242: [checkstyle] Make LineLength a child of Checker module.

As per checkstyle docs[1], it should be placed under Checker. Otherwise
intellij complains to import this configuration.
[1] https://checkstyle.sourceforge.io/config_sizes.html#LineLength

@saintstack You seemed to have touched this file recently. Can you please take a look? Thanks.

:broken_heart: -1 overall

Vote
Subsystem
Runtime
Comment

:blue_heart:
reexec
3m 26s
Docker mode activated.

_ Prechecks _

:green_heart:
dupname
0m  0s
No case conflicting files found.

:green_heart:
@author
0m  0s
The patch does not contain any @author tags.

:yellow_heart:
test4tests
0m  0s
The patch doesn't appear to include any new or modified tests. Please justify why no new tests are needed for this patch. Also please list what manual steps were performed to verify this patch.

_ master Compile Tests _

:green_heart:
mvninstall
5m 50s
master passed

:green_heart:
checkstyle
2m 52s
master passed

:green_heart:
javadoc
0m 12s
master passed

_ Patch Compile Tests _

:green_heart:
mvninstall
5m 30s
the patch passed

:broken_heart:
checkstyle
0m 10s
The patch fails to run checkstyle in root

:green_heart:
whitespace
0m  0s
The patch has no whitespace issues.

:green_heart:
xml
0m  1s
The patch has no ill-formed XML file.

:green_heart:
javadoc
0m 11s
the patch passed

_ Other Tests _

:green_heart:
unit
0m 11s
hbase-checkstyle in the patch passed.

:green_heart:
asflicense
0m 12s
The patch does not generate ASF License warnings.

19m 45s

Subsystem
Report/Notes

Docker
Client=19.03.4 Server=19.03.4 base: https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-783/1/artifact/out/Dockerfile

GITHUB PR
https://github.com/apache/hbase/pull/783

JIRA Issue
HBASE-23242

Optional Tests
dupname asflicense checkstyle javac javadoc unit xml

uname
Linux ba1d27fbf0d9 4.15.0-66-generic #75-Ubuntu SMP Tue Oct 1 05:24:09 UTC 2019 x86_64 GNU/Linux

Build tool
maven

Personality
/home/jenkins/jenkins-slave/workspace/HBase-PreCommit-GitHub-PR_PR-783/out/precommit/personality/provided.sh

git revision
master / b8a4504a26

Default Java
1.8.0_181

checkstyle
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-783/1/artifact/out//home/jenkins/jenkins-slave/workspace/HBase-PreCommit-GitHub-PR_PR-783/out/maven-patch-checkstyle-root.txt

Test Results
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-783/1/testReport/

Max. process+thread count
86 (vs. ulimit of 10000)

modules
C: hbase-checkstyle U: hbase-checkstyle

Console output
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-783/1/console

versions
git=2.11.0 maven=2018-06-17T18:33:14Z)

Powered by
Apache Yetus 0.11.0 https://yetus.apache.org

This message was automatically generated.

It looks like hbase pulls in an older version of checkstyle and the xml is valid for that version. Intellij defaults to v8.25 which is incompatible (rules have changed). Luckily one can select the checkstyle version in Intellij. So we don't need this hbase side change anymore. We still have to fix the file if we upgrade the checkstyle version but that can be done as a part of a separate change I think.

thanks for chasing this down!

This came up as well in my chat over on checkstyle/checkstyle#7236.

Intellij defaults to v8.25 which is incompatible

right now Eclipse and Idea plugins support latest checkstyle, so update to latest should not problem, but config must be changed.


ibus-engines.table: 1.9.25 -> 1.10.0

Semi-automatic update generated by nixpkgs-update tools. This update was made based on information from https://repology.org/metapackage/ibus-table/versions.
meta.description for ibus-engines.table is: "An IBus framework for table-based input methods"
meta.homepage for ibus-engines.table is: "https://github.com/kaio/ibus-table/wiki"
meta.changelog for ibus-engines.table is: ""
Updates performed

Version update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact

Checks done (click to expand)

built on NixOS

The tests defined in passthru.tests, if any, passed

0 of 0 passed binary check by having a zero exit code.

0 of 0 passed binary check by having the new version present in output.

found 1.10.0 with grep in /nix/store/q0q1gwrgbg4ihc90q9442sz4vnlxa0j2-ibus-table-1.10.0

directory tree listing: https://gist.github.com/948eb5c48622d65229773bae5d768ddb

du listing: https://gist.github.com/dcfb2a06d4870c3327a238e2dce7540b

Rebuild report (if merged into master) (click to expand)

9 total rebuild path(s)

3 package rebuild(s)

3 x86_64-linux rebuild(s)
3 i686-linux rebuild(s)
0 x86_64-darwin rebuild(s)
3 aarch64-linux rebuild(s)

First fifty rebuilds by attrpath
ibus-engines.table
ibus-engines.table-chinese
ibus-engines.table-others

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/q0q1gwrgbg4ihc90q9442sz4vnlxa0j2-ibus-table-1.10.0 \
  --option binary-caches 'https://cache.nixos.org/ https://r-ryantm.cachix.org/' \
  --option trusted-public-keys '
  r-ryantm.cachix.org-1:gkUbLkouDAyvBdpBX0JOdIiD2/DP1ldF3Z3Y6Gqcc4c=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(r-ryantm's Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A ibus-engines.table https://github.com/r-ryantm/nixpkgs/archive/3a89b000de68ac76c7b5d402ad358cdcb5e90969.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/q0q1gwrgbg4ihc90q9442sz4vnlxa0j2-ibus-table-1.10.0
ls -la /nix/store/q0q1gwrgbg4ihc90q9442sz4vnlxa0j2-ibus-table-1.10.0/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review 1

3 packages built:
- ibus-engines.table
- ibus-engines.table-chinese
- ibus-engines.table-others

Maintainer pings
cc @laMudri for testing.

There is a newer version.


Only require parallel_tests when it's needed

Rake was attempting to require parallel_tests all the time.
On an appliance and in a Docker container it isn't installed

cc @chrisarcand @Fryguy @bazulay @fbladilo @jrafanie

@miq-bot add_label build/docker

@miq-bot add_label test

Was literally just about to hit enter on my own PR ;)
👍

Local test of the docker build worked.

:shipit: 👍

:+1: LGTM (+ tested the build)

:+1: Thx @bdunne


Remove hpa-example from sample manifests

gke-scheduled-autoscaler/k8s/deployment-example.yaml uses k8s.gcr.io/hpa-example as the image. It's not used in any of our docs, so I think this should be ok to change.
In https://github.com/kubernetes/release/issues/2924#issuecomment-1454301010, it's suggested that hpa-example is going to be removed in the near future. We should replace the image in this repo with either a forked version or a different image.
cc @bourgeoisor

@rbarberop FYI
In https://cloud.google.com/kubernetes-engine/docs/how-to/multidimensional-pod-autoscaling#creating_a_deployment, hpa-example was changed for hello-app.

LGTM @bourgeoisor


use forEach instead of for .. in

for .. in is not for Array.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for...in#array_iteration_and_for...in

Agreed that for in is not the best, but for of is ok. Why not just change to that?

Thanks for the response.
I've tried for of first and found that index is requied for the error message. for of returns the entries itself, but no index.


Card stops showing Camera after 5 Seconds.

Core 2024.12.4
Frontend 20241127.8
card_version: 6.1.0
browser: Mozilla/5.0
In this release of homeassistant as soon as page refreshes i can view cameras just fine. After about 5 seconds camera goes out and it displays an error.
request:
type: frigate/events/get
instance_id: frigate
cameras:
- living-room
limit: 50
id: 66
response:
code: frigate_error
message: >-
API error whilst retrieving events for cameras ['living-room'] for Frigate
instance frigate
As soon as you refresh page it works then stops again.

https://card.camera/#/support?id=diagnostics-missing-in-issue


Expired token does not throw 401 NOT ALLOWED

And what is even worse:

class PermissionDenied(JSONWebTokenError):
    default_message = _('You do not have permission to perform this action')

class JSONWebTokenExpired(JSONWebTokenError):
    default_message = _('Signature has expired')

errors that it returns are TRANSLATED into different languages. So it will throw different error message!!!  Is anybody there, that maintains this code? and if so, could it return some more specific code and not just a translated string?

It's common/good practice to use HTTP 200 for all GraphQL responses, GraphQL doesn't care about the transport layer.
On the other hand consider that GraphQL supports multiple operations in a single request, some operations may have an authentication error and others may not.
As for error handling, you can customize the error format and include the extensions key (see spec), I don't think using the message field is the best approach.
I close the issue because I don't think this behaviour should change, if you have any comments please let me know.

Wait a minute, the error is thrown from inside of the code and cannot be changed, unless I rewrite the method get_payload, where the errors are raised.
Why haven't you included the extension key with a code from the beginning? This implementation (simple message that can change according to user's language) is the worst possible solution that was chosen.. And even though the whole code is pretty customizable, the errors and the mechanism of checking the payload is deep and frozen in the code.
I disagree with closing the issue and suggest you could alter the code (adding the to code to determine that the token is expired) Is that possible?


Updating Visual Studio Code uninstalled it

VSCode Version: I think it was the original August update. So updating 1.26.1 to 1.27.0?
OS Version: Windows 10

Steps to Reproduce:

I think I switched to a user-level installation because Visual Studio Code recommended, some weeks before the update.
August update came along, so I clicked on "Restart to Update...".

Expected -
An up to date Visual Studio Code.
Actual -
I guess there was some update installation issue. Visual Studio Code was uninstalled from the system. I had to download it manually and install it again.
Unless you keep old installation/update/uninstallation logs somewhere, I am not sure I am able to provide more details.

Did you get an error popup?

I believe so, I think it said it had an issue during the update and that it is uninstalling now. Not sure exactly what the message was, sorry, I was in a hurry and could not be bothered by it at that moment, but I thought it is significant enough to report it after the fact, even if I do not have enough details.

Got it. Closing as a duplicate of #47841.


JSON Intellisense Snippet Completion

Sorry if this shouldn't go here! But couldn't find any docs.
I noticed when authoring an extension i get snippet completions for some of the fields.
Such as:
"configuration": { "title": "", "properties": {}}

and
"configuration":[{"title": "","properties": {}}]

How is this defined? In the schema? Or separate snippet files?
Could I get a link to an example or documentation on how to implement this behavior?

Found it!

On second though it would be cool if VSCode did the automatically based on the required properties in the schema

Also when i have default snippets enabled and tab while typing a property, i am never given the option to pick from one of the defaults

There also seem to be no merging of defaults via 'oneOf' or 'anyOf'

Please file separate issues, thanks!


New Tag for SPM 4.0

Hi,
Can we have a new tag for target SPM 4.0 and Spectre 0.8.0 ?
https://github.com/kylef/PathKit/pull/39#issuecomment-337740842

Yes please! This would resolve the conflict in versions with Commander, Spectre and Pathkit

I need this as well. Thank you!

@kylef bump

Made 0.9.0 https://github.com/kylef/PathKit/commit/404d60fd725d1ba7dbf55cb95a3046285a066169

Thank you Kyle! Merry Christmas! 🎄😀


Create DB function to get all checkpoint data of a partitioning

Background
We need to be able to read saved checkpoint data of a given partitioning.
Feature
Create a DB function that will return all checkpoint and its measurements for the given partitioning.

This item depends on:

AbsaOSS/atum-service#178
By Dependent Issues.


Question, possible privilege escalation issue.

Hi,
if a user has permissions to edit their own namespace this creates the possibility to override the PSA policy (e.g. set it to privileged)  for that namespace. Can we block this at the cluster level and only allow setting the policy globally?
Regds
AC

You can set cluster-wide PSA defaults with kube-apiserver configuration (see https://kubernetes.io/docs/tasks/configure-pod-container/enforce-standards-admission-controller/#configure-the-admission-controller), but write permission to change labels on a namespace does allow changing the PSA level of that namespace.
You can either avoid granting namespace update permissions to untrusted users, or create a validating admission policy to prevent setting a PSA enforce label on any namespace. Something like this:
apiVersion: admissionregistration.k8s.io/v1
kind: ValidatingAdmissionPolicy
metadata:
  name: "namespace-psa-policy.example.com"
spec:
  failurePolicy: Fail
  matchConstraints:
    resourceRules:
    - apiGroups:   [""]
      apiVersions: ["v1"]
      operations:  ["CREATE", "UPDATE"]
      resources:   ["namespaces"]
  variables:
    - name: enforceLevel
      expression: "object.?metadata.labels['pod-security.kubernetes.io/enforce'].orValue('')"
  validations:
    - expression: "enforceLevel == '' || enforceLevel == 'restricted'"
      message: "the pod-security.kubernetes.io/enforce label must be unset or 'restricted'"
---
apiVersion: admissionregistration.k8s.io/v1
kind: ValidatingAdmissionPolicyBinding
metadata:
  name: "namespace-psa-binding-test.example.com"
spec:
  policyName: "namespace-psa-policy.example.com"
  validationActions: [Deny]

/close

Does this then ignore the namespace labels?
On Wed 27 Nov 2024, 16:21 Kubernetes Prow Robot, @.***>
wrote:

@liggitt https://github.com/liggitt: Closing this issue.
In response to this
https://github.com/kubernetes/pod-security-admission/issues/14#issuecomment-2504289700
:
/close
Instructions for interacting with me using PR comments are available here
https://git.k8s.io/community/contributors/guide/pull-requests.md. If
you have questions or suggestions related to my behavior, please file an
issue against the kubernetes-sigs/prow
https://github.com/kubernetes-sigs/prow/issues/new?title=Prow issue:
repository.
—
Reply to this email directly, view it on GitHub
https://github.com/kubernetes/pod-security-admission/issues/14#issuecomment-2504289894,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABR3H75RZ7RZH3G5VPYX3S32CXWSNAVCNFSM6AAAAABSSUCZOSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDKMBUGI4DSOBZGQ
.
You are receiving this because you authored the thread.Message ID:
@.***>

No, it prevents the namespace labels from being set to something you don't want

yes, namespace labels always take precedence over cluster-wide defaults, if you want to avoid that, prevent namespace-level labels via admission