Incorrect reponses when using the OAuth authentication adapter

Due to the changes from 101feec Oauth authentication adapter behavior is inconsistent and wrong.
Current Behavior
I. Clients are never challenged with proper 401 response
This is due to changes from 101feec in which a 401 response is assumed only if the error parameter from the OAuth2 response is not null. While this assertion is true for an invalid, a malformed or an expired token, it is not the case for "initial challenge" (When no credential were provided at all).
Indeed, when an authentication request is checked, and if something goes wrong, we have only few response possibilities:
No credential were provided at all by the client
In such case, a 401 response with the appropriate WWW-Authenticate header is created. This doesn't involve any error parameters in the WWW-Authenticate header.
Invalid, malformed or expired token
Same as above, but here, some error related parameters are added to the WWW-Authenticate header.
Insufficient scope
In such case, a 403 response is returned with a WWW-Authenticate header. Some error related parameters are also added to the WWW-Authenticate header.
II. Problem responses are not ApiProblemResponse
Apigility should be consistent when returning a response denoting a problem, whatever the authentication adapter in use. Currently, in the OAUth authentication adapter case, the problem responses are not marshalled to ApiProblemResponse, resulting to an empty body. Even if valid, we should be consistent here.
Expected behavior

On authentication failure, or when no credentials were provided at all, client must be challenged with proper 401 response which include appropriate WWW-Authenticate header if authentication is required
Response denoting problems must be marshalled to ApiProblemResponse

Final note and proposal
As per 101feec @weierophinney  assumes that if no credential were provided at all, a GuestIdentity must be assumed (case of a public API). This assertion would be valid if all resources were public, but in Apigility, permissions are based on HTTP methods and not on API endpoints. Thus, assuming a GuestIdentity (therefore, a public API) when no credential are provided is wrong because clients are never challenged correctly in case of private resource. This is exactly the same assertion I've made by mistake in #92, which resulted to the #106 issue.
This demonstrates all the problem with current Apigility  permissions system. Authorizations are always evaluated after authentication. The problem which we must solve is how to let the authentication layer know when a route require authentication or not. We could solve this problem by adding Guards at authentication level (see below).
Authentication level guards
Those guards would informs the MvcAuth event (e.g, with a route guard resolver listener) when authentication is required for the matched route. If so, client would be challenged or not. This would solve our problems and more, this would allows performance boost because if no required, authentication process would be aborted early (no authentication adapter involved).
Authorization level
We have either a Guest identity or Authenticated identity. Whatever... In case of Apigility, authentication guards already tell us if user can access the route or not. Here, a  403 response would result of auhorization failure only. This would be the case if  the developer implement authorization layer (e.g. conditional ACL with assertions).
Related issues
Directly related: #99
Indirectly related: #97 and #106

@jackdpeterson
Your opinion on this?

I agree with the above proposal. The problems with the current Apigility approach are well described above and are counter-intuitive for anyone who is developing a client-side application that relies on an appropriate HTTP status code. 403 is for insufficient privileges WHEN an identity is asserted. 401 is when one needs to assert an identity but hasn't or the credentials asserted are invalid.
I like the idea of differentiating between public and private API 'services' so long as it can be done at a per-method level (e.g., differentiate between GET and POST). I also like the idea of the early exit should no authentication step be required for performance reasons.
This is definitely a Backwards compatibility break; however, in my opinion, it's a forward-compatibility enhancement and will promote wider-adoption for those that get to the point of developing an API that must be interacted with using numerous clients AND leveraging oauth or other complex authentication/authorization schemes.
Per RFC-2616:
10.4.2 401 Unauthorized
The request requires user authentication. The response MUST include a WWW-Authenticate header field (section 14.47) containing a challenge applicable to the requested resource. The client MAY repeat the request with a suitable Authorization header field (section 14.8). If the request already included Authorization credentials, then the 401 response indicates that authorization has been refused for those credentials. If the 401 response contains the same challenge as the prior response, and the user agent has already attempted authentication at least once, then the user SHOULD be presented the entity that was given in the response, since that entity might include relevant diagnostic information. HTTP access authentication is explained in "HTTP Authentication: Basic and Digest Access Authentication" [43].
AND
10.4.4 403 Forbidden
The server understood the request, but is refusing to fulfill it. Authorization will not help and the request SHOULD NOT be repeated. If the request method was not HEAD and the server wishes to make public why the request has not been fulfilled, it SHOULD describe the reason for the refusal in the entity. If the server does not wish to make this information available to the client, the status code 404 (Not Found) can be used instead.
I think the article here, http://robertlathanh.com/2012/06/http-status-codes-401-unauthorized-and-403-forbidden-for-authentication-and-authorization-and-oauth/ covers this topic very well and is consistent with my view on how 401 vs 403 should be treated.

@jackdpeterson
Thank for your feedback. Well because apigility is event-driven based, We can provide a module that will change the default behavior. This module could replace default listeners by implementing guards
Doing this would be a good proof of concept and I think that @weierophinney could test the new behavior easily.
I'll start thinking about that module.

This repository has been closed and moved to laminas-api-tools/api-tools-mvc-auth; a new issue has been opened at https://github.com/laminas-api-tools/api-tools-mvc-auth/issues/9.


The CNI configuration name should have a lower priority for seamless overriding of the CNI implementation

General Information

Cilium version

Client: 1.1.90 0261426 2018-08-10T16:08:51+02:00 go version go1.10.3 linux/amd64
Daemon: 1.1.90 0261426 2018-08-10T16:08:51+02:00 go version go1.10.3 linux/amd64

Kernel version

4.14.35-1818.0.14.el7uek.x86_64

Orchestration system version in use (e.g. kubectl version, Mesos, . . .)

Kubernetes v1.11.1
kubectl version:

Client Version: version.Info{Major:"1", Minor:"11", GitVersion:"v1.11.1", GitCommit:"b1b29978270dc22fecc592ac55d903350454310a", GitTreeState:"clean", BuildDate:"2018-07-17T18:53:20Z", GoVersion:"go1.10.3", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"11", GitVersion:"v1.11.0", GitCommit:"91e7b4fd31fcd3d5f436da26c980becec37ceefe", GitTreeState:"clean", BuildDate:"2018-06-27T20:08:34Z", GoVersion:"go1.10.2", Compiler:"gc", Platform:"linux/amd64"}

How to reproduce the issue
Not necessarily a large issue, but when implementing a custom CNI configuration I have to prefix my configuration with a word starting with the letter a or b in order to override the default CNI configuration 00-cilium.conf that is installed by the cilium-agent.
For example, I currently use 00-alpha-cilium.conflist for my custom configuration using HostPort mapping, which works fine but has immediately prompted questions from my team as to why my configuration is named alpha.
If I recall correctly, Calico defines their CNI configuration as 10-calico.conflist which allows for a simple override, especially since the cilium-agent will persistently apply the 00-cilium.conf on the next pod initialization.

We initially used 10-cilium.conf but other CNI plugins such as Calico do not remove their CNI configuration files even if the DaemonSet is removed. This lead to a lot of bug reports where Cilium was not the CNI of choice after the installation process. This lead to the decision to use 00-cilium.conf. We are open to using a different prefix such as 05-cilium.conf though to allow 00- to be reserved for overwrites. Would that work for you?

Funny thing is I ran into that exact issue with Canal where it didn't clean up its CNI configuration and IPTables policies so I understand where you're coming from. I don't see any issue with using 05-cilium.conf though, I haven't personally come across any other CNI plugin using that prefix.


Create a roadmap document

The following algorithms are currently being explored before we set a roadmap for the first release.

Epsilon Bandit:

Epsilon-greedy strategy
Epsilon-first strategy
Epsilon-decreasing strategy
Epsilon-adaptive strategy

Bayesian Bandit

Thompson Sampling

Contextual Bandit
A. Linear Classifier

LinUCB (Upper Confidence Bound) algorithm:
LinRel (Linear Associative Reinforcement Learning) algorithm:

B. Non-linear Classifier

UCBogram algorithm
NeuralBandit algorithm
KernelUCB algorithm
Bandit Forest algorithm

C. Constrained

UCB-ALP algorithm

D. Greedy

Contextual-Epsilon-greedy strategy

Adverserial Bandit

Dueling Bandit

Collaborative Bandit

COFIBA

@bivav @madhukar01 I have added what I had in mind. Fee free to add yours.


offlineimap: 7.3.3 -> 7.3.4

Motivation for this change
Update to latest upstream release 7.3.4
Change log: https://github.com/OfflineIMAP/offlineimap/blob/master/Changelog.md#offlineimap-v734-2021-08-03

Use installShellFiles
Ran nixpkgs-fmt

Things done

Built on platform(s)

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

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
21.11 Release Notes (or backporting 21.05 Release notes)

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

[x] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 136145 run on x86_64-darwin 1

1 package built:

offlineimap

by the way, are there plans to package the python3 version (https://github.com/OfflineIMAP/offlineimap3)?

by the way, are there plans to package the python3 version (https://github.com/OfflineIMAP/offlineimap3)?

I guess that this will happen soon.

by the way, are there plans to package the python3 version (https://github.com/OfflineIMAP/offlineimap3)?

I've mostly never bothered out of "my current config works and I need to spend time figuring out what changes with oi3", but because I only really use mutt/oi on my travel laptop I haven't really paid much attention during the pandemic :sweat_smile:.
I'll try and remember to take a look soon if nobody gets to it before me (I don't love packaging python stuff in Nix because I always end up with dependency version issues because we only keep latest for most things)


Only set crossorigin image prop when using canvas

The crossorigin image property is mainly useful when the image is loaded into a canvas element, to prevent the canvas from becoming tainted and thus impossible to extract data from.
Setting the crossorigin property on an image will trigger CORS policies when loading images, and will prevent images from being loaded if they're hosted on a cross origin without appropriate CORS headers set in the response. Being able to crop externally hosted images is still useful even if the external host does not set CORS headers, with the only limitation of not being able to rotate the image.

Interesting, I didn't know it would prevent the image from loading.  Thanks for the PR, I'm hoping to spend sometime on Croppie this afternoon + tomorrow.  I'll get this one merged in.
Thanks for the PR

No problem! I'm trying to make use of this in a larger project, and it seems like it's going to save me a lot of time, thanks to your work :)
I'm starting to get used to having to fight with CORS policies… Here's an example error message from Chrome when crossorigin gets set and the host serving the image is missing CORS' Access-Control-Allow-Origin:

Image from origin 'https://external.host' has been blocked from loading by Cross-Origin Resource Sharing policy: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://app.local:10000' is therefore not allowed access.

Without the crossorigin property everything works as one expects, when not using the canvas element.

Hello, I store my images in azure blob. I'm getting this issue when trying to load images from the blob or even images found on google images. Whats The workaround to solve this ?

You need to enable CORS support on your azure instance.
If you own the azure storage system, and can modify settings on it, you may want to check out this article: https://msdn.microsoft.com/en-us/library/azure/dn535601.aspx?f=255&MSPPError=-2147217396
Google images are only going to work if the host supports CORS, which unless they're a image hosting platform like imgur, I highly doubt they do.


WIP: Specs for module6

@lnfnunes e @rmalveis, I made the tests for this exercise and it seems to be a little complicated. I just opened this PR for you both to take a look on it and discuss the approach.
Although it seems a little bit complicated, the way it's tested enforces the users to implement things more modularly.
I'll remove the WIP as long as we come into a conclusion about the specs.
This PR solves the issue #9.

@dowglaz Nice work, but I'm not so sure about it...

I didn't understand why you had to export fn on exercise2.
IMO, the implementation needed to pass the tests is too hard for this level of course.

Maybe we can simplify the exercise number 3 making it easier to implement and to test it.
@rmalveis what do you think ?


Browser package (npm)

This was discussed on twitter a few times but I thought it would be helpful to track it here.
Use Cases

netlist visualization

type verilog in the browser and see the netlist update in real time

resource usage visualization

I started working on this thing that would fetch fusesoc projects from github, synthesize them and display resource usage as a sunburst diagram
Running it client-side prevents users from using it as synthesis-as-a-service, we are using the users CPU cycles, not my CPU cycles

Place and route visualization

I havent tried this but it would be interesting to play with

Simulation with cxxrtl

Useful for FPGA workshops where you dont want to deal with machine setup or user hardware

Why

As a quick demo of Yosys. Some hardware engineers are not very computer savvy and explaining how to install python and running pip isn't as easy as sending them a link to a webpage. Seeing browser visualizations also makes for an impressive flashy demonstration. Also simply being able to run synthesis in browser demonstrates how light weight yoys is compared to vendor tools.
Introductory digital logic workshops are much easier when there is literally zero computer setup required
A lot of visualization tools are already in JS (netlistsvg, wavedrom, d3, etc)
People keep on doing one-off browser builds of Yosys for their specific use case. It would be nice if there was a good package that was good enough for everyone to use instead of rolling their own.

What's the next best alternative?

Grab one of the builds of YosysJS floating around.
Jupyter notebooks are really great educational tool, but require learning the jupyter interface and at least a little python

Challenges
Accessing files is annoying in the browser. In addition to the wasm file, you also need to deal with the users files, the tech library files. So, ideally those would be packaged in a way that is easy to use.

This is possible and in scope. I have a prototype already and will look into publishing it as a complete work later.

Place and route visualization

Note that Qt nextpnr builds are out of scope at the moment. That's an enormous and highly complex dependency that I am not ready to support.

Simulation with cxxrtl

You'd have to also use clang.wasm targeting wasm. That's possible although the simulation speed might not be so great.

If there's anything I can do to help, I'm happy to contribute.

Not really, the limiting factor is my time.

@nturley https://github.com/YoWASP/yosys/pull/28


document the release process

also adds in a placeholder CHANGELOG.md
See #392

Thanks!
/approve

/cc @danehans

Thanks! Seems like we had consensus on this during office hours today.
/lgtm

/restest

/retest


Code highlighting: apply HLJS theme colors for background and non-keyword text

In my config.toml I have the following:
highlight = true
highlight_languages = ["r", "bash", "css"]
highlight_style = "solarized-dark"

However, changing highlight_style seems to have no effect.
It doesn't even change if I hard-code it in layouts/partials/header.html, it simply gets ignored:
{{ with .Site.Params.highlight_style }}
    <link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/highlight.js/{{ $v }}/styles/solarized-dark.min.css">

Then I harcoded a default light theme in layouts/partials/header.html to override the fallback github style with a local css:
{{ with .Site.Params.highlight_style }}
    <link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/highlight.js/{{ $v }}/styles/{{ . }}.min.css">
    {{ else }}
      {{ if eq ($scr.Get "light") true }}
          <link rel="stylesheet" href="{{ .Site.BaseURL }}css/dracula.css">
      {{ else }}
          <link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/highlight.js/{{ $v }}/styles/dracula.min.css">

That works as you can see here.

code.less makes codes very ugly.

I finally managed to get a somewhat "simple" workaround:
I need to replace
https://github.com/gcushen/hugo-academic/blob/8d596ffed2d080010c561679cf4e9b4da1554781/layouts/partials/header.html#L45-L52
And set the desired theme in place of the second CSS ref (if I want a dark HLJS theme with the "light" hugo-academic theme).
I have no clue why the highlight_theme option in config.toml is not honored in my case - there are websites for which it works: https://github.com/lmyint/personal_site. (@lmyint).
For me, it just gets ignored and always the 2nd stylesheet is chosen.
Hardcoding the CSS theme there works.
Then I just place the custom header.html under partials/header.html and finally I have my desired theme: https://pjs-web.de/post/antergos-install-guide/
I still vote to relax the restriction of dark HLJS themes in combination with the "light" hugo academic theme :duck:


New dependencies

'Surface Markups' and 'Sandbox' extensions need to be added as automatically installed dependencies.

SurfaceMarkup is installed at runtime of the PlaceLandmarkGrid module. Sandbox is currently a recommended, manually installed extension since it is not a true dependency. We could add an automatic runtime install?

Yes, please make an automatic install. it is necessary for cloud workshops so that it is installed with slicermorph

No, runtime dependencies. Please install straight up.

Got it, thanks!

In progress here: https://github.com/Slicer/ExtensionsIndex/pull/2115

done


Random datafile fetching failures

Hi all, I am currently using the Optimizely Go client and am having sporadic difficulties with fetching the datafile. My service regularly attempts to fetch the datafile and it is not always able to successfully find it. Is there any particular reason why it would be able to sometimes find the datafile and sometimes not? The error message we receive can be found below. Thank you.
failed to send request &{GET https://cdn.optimizely.com/datafiles/<DATAFILEHASH>.json HTTP/1.1 1 1 map[Accept:[application/json] Content-Type:[application/json] If-Modified-Since:[Wed, 06 Oct 2021 15:20:08 GMT]] <nil> <nil> 0 [] false cdn.optimizely.com map[] map[] <nil> map[]   <nil> <nil> <nil> 0xc000046040}

Related, details about these failures is all nil - showing the actual error causing this is fixed in #329

Internal Bug Ticket created and being Prioritized:
https://jira.sso.episerver.net/browse/FSSDK-9360

this issue is fixed here https://github.com/optimizely/go-sdk/pull/374


adding wasmer_runtime_c_api for musl

Thanks for the bug report!
Describe the bug
I create a wasmer_runtime_c_api for musl to be able to deploy my Wasmer Go application using the super small Alpine based Docker image.
I copied it to the wasmer directory, but CGO always select the wasmer_runtime_c_api.so instead of my static wasmer_runtime_c_api.a library.
Because Alpine is non glibc compatible, linking go-ext-wasm with wasmer_runtime_c_api.so fails.
But linking it with the static library I created for musl works fine.
Question
1-What is the best way to add the musl based static library and make bridge.go to link the right library ?
2- When linking with my static library int32_t is not recognized when I define an extern C based function. any clue why its that ?
Thanks
-- Diego

Since 8 days, we officially support musl (see https://github.com/wasmerio/wasmer/pull/1180). We can wait the next release (will happen in few days) to update go-ext-wasm and see if everything fits together. Thoughts?

Any plan to update to the new wasmer capi from 0.14.1 ?

Yes, we are going to update it very soon.
https://github.com/wasmerio/go-ext-wasm/pull/120

thanks,
I don't see in #120 the static libwasmer library being added.
I think the only way to link on musl ( Alpine ) is with a static library.
It is still work in progress ?

It is still a WIP.

Hi, Any update on this ?
Thanks

Didn't make any progress on that front for the moment. I'm moving it on top of my todo list!

Waiting on https://github.com/wasmerio/wasmer/pull/2003.

It seems like everything is merged – how does one compile a Go binary using wasmer-go on Alpine (Docker alpine image in my case)?

I think we would need to support static lib (not a big deal) before proposing musl builds. Thoughts?


sink(ticdc): fix incorrect approximateSize in batch dml

What problem does this PR solve?

Issue Number: close #8732
What is changed and how it works?
BatchDML should calculate approximateSize
Check List
Tests

Unit test
Integration test

Questions
Will it cause performance regression or break compatibility?
Do you need to update user documentation, design documentation or monitoring documentation?
Release note
None

/test all

/retest

/merge

/test verify

/test verify

/test verify

/test cdc-integration-kafka-test


Manipulation Gesture is not triggering when expected, only triggers at the same time as the Navigation gesture

Describe the bug
We realized recently that Gestures are no longer working properly for our app; the Manipulate Gesture and Navigation gestures seem to be going off at the same time and the expected behavior of "tap to start Manipulate" is no longer working. Now, tapping and then moving your hand while holding the tap seems to trigger both Navigation and Manipulation.
Making sure that this wasn't a project-specific bug, I then repro'd with the MRTK HandInteractionGesturesExample scene. GIF attached.
To reproduce
Steps to reproduce the behavior:

Create a bare sample project and bring the latest source into it (as well as the examples).
Open the example scene, HandInteractionGesturesExample.
Set the input simulation profile to use the Gesture simulated hand rather than the articulated simulated hand
Try to manipulate the object in the example scene; it only triggers the manipulate orb when you begin to navigate (and they do so at the same time).

Expected behavior
The Manipulate gesture starts when the simulated gesture hand taps, rather than when moving.
Screenshots

Your Setup (please complete the following information)

Unity Version 2018.3.10f1
MRTK Version 2.0.0-20190506.1 and 2.0.0-20190510.2

Target Platform (please complete the following information)

HoloLens/HoloLens 2

@Kjakubzak just to check, is this primarily happening with input simulation, or also something that happens on a real device? The way input simulation and input works is slightly different.

We should validate our new gesture system

@ritijain could you please follow up on urgency

So just to be absolutely clear, we basically expect these two cases and order of events:
"Hold":

Gaze focus on object (nothing happens yet)
Start tap:

Hold gesture started
Manipulation gesture started [NEW]

Release tap:

Hold gesture completed
Manipulation gesture canceled (or should it be completed here?)

"Move":

Gaze focus on object (nothing happens yet)
Start tap:

Hold gesture started
Manipulation gesture started [NEW]

Move hand:

Hold gesture canceled
Navigation gesture started

Release tap:

Manipulation gesture completed
Navigation gesture completed

Please let me know if there is something else, otherwise i will implement it like that.

Hi Lukas,
In general, that seems like it would be the expected order of events. That being said, I initially thought for release tap during the "Hold" scenario it would also trigger manipulate completed rather than cancel, but I can see why it'd be cancel now that the two scenarios are laid out.
My only concern is that for gestures there's no 1:1 for tap start/end; but since that can be accomplished through pointer down/up/click, it's not really that much of an issue.

@lukastoenneMS @Kjakubzak
Sorry I only just caught this - I think the way that it worked initially was a much better approximation of how HL1 works (I'm not sure about HL2 - but unless they changed what "manipulate" means, I don't see how it could be substantially different). The manipulate action is not fired by the gesture recognizer until the hand has moved some distance away from the input down position. We handled that on Layout pretty much how Ken mentioned in his last update - store initial info in response to input down, then start dragging when manipulation started fires (or do nothing if we get input up before manipulation start).

@naostranMS Hmm ... yeah, i don't know what the exact behavior on HL1 is, i'll take your word for it 😉
I will reopen this and make another PR to revert this (but keep documentation etc.) I would like to try and write tests for this too, so that at least we state explicitly how it's supposed to work.

Oh, i've just seen that the change is already being reverted in #5051, that should fix it.

@lukastoenneMS @naostranMS
I'm okay with this revert since we're now using the select gesture for airtapping; but I have some questions.
If we're reverting it back; doesn't it just make Manipulation and Navigation functionally the same (they have the same triggers, and the only difference is that they're separated and navigation has slightly more functionality)?
If they're that close in functionality, shouldn't they be condensed into the same thing? I must be missing something; so additional context would be great.

Yes, the manipulation and navigation events are active at the same time. The main difference is that the navigation vector is clamped to a -1..1 cube around the starting point, and the axes can be constrained (although i'm not sure this feature is working right now).

Ah, okay. So I was thinking that Navigation should really be a specific type of manipulation (settable like with navigation's axis constraint), but I realized just now that it would probably cause more problems with consumers of MRTK than anything else since they're expecting the same pattern (them being separate) that we've had for years.
Disregard my last comment. Thanks for clarifying this @naostranMS

It's not just a matter of maintaining compatibility with older HTK/MRTK (though that is helpful also), it's that it needs to work more or less the same in editor (input sim) as on device(s) (e.g. WMRDeviceManager for HL1/WMR VR) - i.e. changing input sim without changing the real platform versions just means that input sim is less accurate

It's not just a matter of maintaining compatibility with older HTK/MRTK (though that is helpful also), it's that it needs to work more or less the same in editor (input sim) as on device(s) (e.g. WMRDeviceManager for HL1/WMR VR) - i.e. changing input sim without changing the real platform versions just means that input sim is less accurate

I didn't realize that the fix was only for input simulation. This was a big mistake on my part.


RLS error due to role updating table lacking permisions

PGSync version: Master
Postgres version: 14
Elasticsearch version: OpenSearch_1.0
Redis version: ElastiCache redis6.x
Python version: 3.8
Problem Description:
The trigger causes a permission issue when row level security is enabled due to the role updating a table not having sufficient permissions.
The fix is the use security definer against the trigger.
The set search_path is required due to CVE-2018-1058
Here is the change I made and tested it fixes the issue and doesn't break any tests but I'm unsure if there are other considerations to be made.
https://github.com/Zurnaz/pgsync/commit/926e2ef4c92cf05d5b0ff685c6826812a2a2248c

I think we only want to do this only if Row level security is enabled. is that a correct assumption?
Also is does the search_path need to include other schemas besides public?

I guess we would only need to apply these changes to the trigger on bootstrap.
We would also need to include all Postgres schemas in the schema.json - including public
What is it recommended way for determining if RLS is enabled/configured?

Yep I had to manually update the trigger manually via db because I noticed it wasn't swapping to the newer version
Not sure about this but I made sure to include the schema property on the tables I wanted to access
It's applied at the table level, if a table doesn't have it enabled it defacto becomes open to the roles that have broad access to the specific schema. It doesn't apply to views so they currently bypass rls but I think v15 of postgresql has an update for it.

Not sure the best way to check. Found a stackoverflow post on checking the rls and tested it on a table with/without rls enabled. relrowsecurity returned a boolean if the table had the security enabled correctly.

I think we only want to do this only if Row level security is enabled. is that a correct assumption?
Also is does the search_path need to include other schemas besides public?

Sorry I just realised I didn't see your first post and only replied to the second one.

I think that's up to you but I don't think it would affect a non rls enabled tables if was included and as the role running the trigger would always be the owner of the function, unless the desired result is for the trigger to fail when the role updating the table doesn't have the required permissions for the trigger
I don't think so, I've seen examples with just pg_catalog, pg_temp options and I use similar functions to call multiple different schemas with different tables that are not listed in the search path.

I'm happy to try/test stuff out but I think I'm at the limit of knowledge in this area to directly advise.


Fixed example codes (syntax)

It seems that some of commented codes are wrong or out of date.
I tried to compile all 1088 examples, and fixed syntax failures as possible.
master

success: 894, failure: 201

PR

success: 969, failure: 119

There are still failures where the problem is semantics level such as

insufficient code (using stub objects)
abstract code
runtime executions like macro

I'll create another PR about this when I have a chance.
Thanks.

We could probably have a way to let the doc generator compile and run these small examples, even checking if they return the correct values. So something similar to doctest. I believe this is the correct solution so examples don't become outdated.

@asterite Having examples compile by default is really nice, because it opens the path for a possible future PR making doc examples interactive in the browser. Will probably have to wait until we get a wasm or JS compiler target however.
Unfortunately having every example compile would reduce brevity, so there should probably be an option to turn this off example-by-example. Or maybe there could be a way to hide parts of the example so you could create examples which compile, but only show the non-boilerplate code.
In addition, I would make testing the doc examples part of the spec runner, because having a piece of code and an expected result makes it a specification. However, if you want to keep it part of crystal doc for simplicity I understand.

@RX14 I'm trying to compile every code example right now, and it's taking forever. I agree with all of your points and I have the same concerns too. I think it will probably remain as an idea, at least for some time :-)

Forgot to run crystal tool format. re-pushed.

@asterite one thing we could do now is add an option to dump the example code to a directory. This would make extracting the example code when we do want to manually check it easier.

@maiha Thank you so much for this! Keeping example code up to date and compiling is super important!


CPU performance compared to Matlab

I'm using clBLAS to perform some matrix operations, but I'm disappointed by the CPU performance. For example, if I calculate A*A^T for a matrix of size 2250 x 228 000, it takes about 5 seconds in Matlab but several minutes with clBLAS (even though all cores are being used). Is there some setup that takes a long time for the first clBLAS matrix operation?
I'm running clBLAS in Fedora 21 and CentOS 6.6. My CPU is an Intel 5820K, 6 cores. I have 32 GB of memory.

@wanderine Did you run the tune tool to tune it for your hardware ? I think the defaults perform well on AMD GPUs and not on CPUs.
That said, you will most likely not be beating the MATLAB performance because it uses MKL which is highly tuned for Intel CPUs.


ADDING THE DARK THEME IN BLOG PAGE AND MULTI PAGES LIKE DONATE ANIMAL ,SUPPORT US

**Described the solution **
I want to add  best color combination in dark and light  mode that help to improve the user experince ,So that people spend more time in the website .
Problems
Now the website is looking good but with my exprence it whould be better ,This is only because of the color combination that  after changing the light mode to dark mode it still not feel your eyes good, So accept my issue that I can give my effort in solving issue's for this animal frendly website.

Please assign this issue to me


Documentation updated for future release

@ekchang @Jogan @chahinem

Thanks for writing the docs on the new state builder. 👍


Need help writing tests.

The repo currently doesn't have any unit tests. Would like to have unit tests implemented.

@AliAkberAakash
If nobody is currently working on this issue yet, I would like to take it but I have a few questions.

Do I need to write unit tests for private functions?
If I don't need to write unit tests for private functions, can I rewrite pkg/args/args_test.go?

Thank you.

Thanks for wanting to help, you can write unit tests for public functions only. Yes you can rewrite pkg/args/args_test.go


Challenge test issue

The passed binary value to the function represents ( backquote ) which is not desired in the test results..
The new binary value represents the ( comma ) what the test needs to be passed..

[x] I have read freeCodeCamp's contribution guidelines.
[x] My pull request has a descriptive title (not a vague title like Update index.md)
[x] My pull request targets the master branch of freeCodeCamp.
[x] None of my changes are plagiarized from another source without proper attribution.
[x] All the files I changed are in the same world language (for example: only English changes, or only Chinese changes, etc.)
[x] My changes do not use shortened URLs or affiliate links.

Closes #XXXXX

Hi @od-c0d3r I don't think this is needed.  The proposed binary translates to "Aren,t bonfires fun!?" rather than what we want, namely "Aren't bonfires fun!?".  Am I missing something?

@ojeytonwilliams You are not missing anything.  The exiting text and test is correct.

Okay, in that case, I'll close this.


.Select() Projection causes Entity to not be tracked

I have an application that does the following:
 [TestMethod]
public void ProjectionSelectBug()
{
    int userPk = 1;

    var user = Context.UserInfos
        .Include(p => p.Privileges)
        .Select(p => new UserInfo
        {
            UserPk = p.UserPk,
            UserId = p.UserId,
            FirstName = p.FirstName,
            LastName = p.LastName,
            Department = p.Department,
            Privileges = p.Privileges //.Where(p2 => p2.AccessKey.StartsWith("FTDB_")).ToList()
        })
        .FirstOrDefault(u => u.UserPk == userPk);

    string updatedLastName = "Updated Name";
    user.LastName = updatedLastName;

    int res = Context.SaveChanges();

    var newContext = new FtdbContext();
    var user2 = newContext.UserInfos
        .FirstOrDefault(u => u.UserPk == userPk);

    // fails - value not updated
    Assert.AreEqual( updatedLastName, user2.LastName);
};

I'm using the projection to filter the list of privileges. The query returns the correct entity along with the correct child relationship and filtered privileges.
However, the result is not tracked and when I change the entity values then SaveChanges() the changes are not written.
The Assert fails with user2.LastName remaining at the original, unchanged value.
It fails with the .Select() projection. If I remove the projection then it works.
Expected Behavior
I would expect a projection of an Entity Type to be tracked as long as the type is an entity type.
According to the docs at https://docs.microsoft.com/en-us/ef/core/querying/tracking#tracking-and-custom-projections, it looks to me that the above should work, but it's unclear on whether the original entity going into the projection has to stay intact. If so that seems silly - as long as an entity type is created it should be tracked.
Config
EF Core version: 3.0
Database provider: . Microsoft.EntityFrameworkCore.SqlServer
Target framework:  .NET Core 3.0
Operating system: Windows 10
IDE: Visual Studio 2019 16.3

Duplicate of #12668

Closing as I realized this is by design (and mostly makes sense :smile:).
Wish there was a way to transform an entity though so you can updated or even filter a value more easily (like the example above) - there are other ways, but this certainly would be easiest).


Audio.cpp: warning: explicit comparison with NaN in fast floating point mode

This is a warning I get with ICX 2023.1.0 (which is based on very recent LLVM clang):
src/engine/audio/Audio.cpp:86:20: warning: explicit comparison with NaN in fast floating point mode [-Wtautological-constant-compare]
        return not std::isnan(v[0]) and not std::isnan(v[1]) and not std::isnan(v[2]);
                   ^~~~~~~~~~~~~~~~
src/engine/audio/Audio.cpp:86:45: warning: explicit comparison with NaN in fast floating point mode [-Wtautological-constant-compare]
        return not std::isnan(v[0]) and not std::isnan(v[1]) and not std::isnan(v[2]);
                                            ^~~~~~~~~~~~~~~~
src/engine/audio/Audio.cpp:86:70: warning: explicit comparison with NaN in fast floating point mode [-Wtautological-constant-compare]
        return not std::isnan(v[0]) and not std::isnan(v[1]) and not std::isnan(v[2]);
                                                                     ^~~~~~~~~~~~~~~~
src/engine/audio/Audio.cpp:439:57: warning: explicit comparison with NaN in fast floating point mode [-Wtautological-constant-compare]
        if (slotNum < 0 or slotNum >= N_REVERB_SLOTS or std::isnan(ratio)) {
                                                        ^~~~~~~~~~~~~~~~~

If I'm right, -ffast-math implies the disablement of finite math, and then never emits NaN or Infinite.
If we expect to get NaN for some third-party library, we may want to not build Audio.cpp with finite math disabled, or, if the NaN values come from our code, rewrite that code to not return NaN.

Presumably the vectors come from the cgame. The engine must not make any assumptions on what comes out of there.

Presumably the vectors come from the cgame. The engine must not make any assumptions on what comes out of there.

Does that mean we can't use std::isnan? Or that we may still get std::isnan anyway?

It means that "fixing code that generates NaN" is not an option. The engine should be prepared for any value coming from a cgame trap call.

So the compiler wrongly assumes the data is produced by the same code processing it… right?
Do we know if std::isnan is expected to work in all case? What if compiler developers decide to optimize it by always returning false when built with -ffast-math?

We could change it to isfinite. The compiler doesn't warn on that and I assume that infinite vectors don't need to be valid either

We also now get this warning in another part of the code:
src/common/Cvar.cpp:85:42: warning: use of infinity is undefined behavior due to the currently enabled floating-point options [-Wnan-infinity-disabled]
   85 |         if (Str::ToFloat(value, temp) && isfinite(temp)) {
      |                                          ^~~~~~~~~~~~~~

So I guess changing it to isFinite will be wrong as well.

Maybe we should turn off the finite-math-assuming flag in the engine for this reason. I think when writing the previous comments, I didn't understand how doing any operation on a NaN or infinity basically invokes undefined behavior with that flag enabled. It's not good that a naughty cgame could cause undefined behavior through any trap call with a float.

I implemented and used Math::IsFinite for this which checks for nan/inf in a way that the compiler is not allowed to optimize out.

I implemented and used Math::IsFinite for this which checks for nan/inf in a way that the compiler is not allowed to optimize out.


plot_compare_evokeds is missing the channel location plot

for a few workshop attendants.

I think it would be great to have a test accompany the fix. Thanks @jona-sassenhagen !

I'm not sure how to test this. The problem is that the figure looks different. We don't test for that anywhere.

yeah never mind then. I approved the PR ...


Fix bugs; Update TESTER, ETHERNET, configuration and firmware.

Added parameters to ETHERNET instances, configuring each of their MAC addresses and "simulation modes".

Tester's ETHERNET 0 has the default MAC address and may use "simulation mode".
Tester's ETHERNET 1 has the same MAC address as the Host Machine interface, this way it emulates that interface and there is no need to change the destination MAC address of the UUT's interface.
This interface never uses "simulation mode". This does NOT mean it can't run in simulation. It means the interface will not include optimizations for simulation. It will be built the same whether it is for simulation or not.
UUT's ETHERNET has the default MAC address and may use "simulation mode". If the Tester is used, this interface never uses "simulation mode".
The UUT's interface is either connected directly to the Host Machine (when running without the Tester) or connected to the Tester's ETHERNET 1 (when running with the Tester).

Add missing ethernet instance in testbench for simulation.
Fix SUT portmap signals.
Update tester firmware

UUT boot messages are now relayed by the Tester
Changed ETHERNET 1 initialization in firmware to include a custom MAC address.

Add sim_in.bin and soc_out.bin targets in tester.mk to generate files used during verification.
Fix bugs.

Simulation runs well with and without Tester.

ethernet has not been merged -- waiting fix

Update: Removed "simulation mode" from ETHERNET.

Added parameters to ETHERNET instances, configuring each of their MAC addresses.

Tester's ETHERNET 0 has the default MAC address.
Tester's ETHERNET 1 has the same MAC address as the Host Machine interface, this way it emulates that interface and there is no need to change the destination MAC address of the UUT's interface.
UUT's ETHERNET has the default MAC address.
The UUT's interface is either connected directly to the Host Machine (when running without the Tester) or connected to the Tester's ETHERNET 1 (when running with the Tester).


Update inference models to work with batching and go server

updates yamls and model handlers to handle go server/batching. Leaving diffusion since its broken and needs to be fixed.
Change attn_cnfg['attn_impl'] in mpt7b handler from 'triton' to 'torch' for the time being while dependency issues are sorted out in the go server

Could you please include some evidence that these work in the PR description? Ideally we would have tests that at least try to start the server in CI, but understand if not top priority right now, and would like some manual tests in the PR description at least.


update targetframework and add CopyLocalLockFileAssemblies

update targetframework and add CopyLocalLockFileAssemblies

you forgot to bump Flow.Launcher.Plugin to the latest version which targets net7.0-windows ;)

you forgot to bump Flow.Launcher.Plugin to the latest version which targets net7.0-windows ;)

Thanks!


Accept include_from_page_type config

In my case, I want to apply this module on one page type only. But there are many page types in my code base. I do not want to list them one by one in the exclude_from_page_type setting. So I added the include_from_page_type to make it flexible in different situations.

@lilireece Care to rebase? :)

@lilireece Sorry for the late response on this one. This would be a great addition to the module. I wonder if we could change the language slightly though as include_from_page_types doesn't sound quite right. Would you mind changing it to restrict_to_page_types? Or if anyone has any better suggestions let me know.
Ideally I think pagetype_whitelist and pagetype_blacklist would be the most clear and consistent. Maybe we could change to this while keeping backwards compatibility for exclude_from_page_types?

@sheadawson No worries. As long as we can use include page types, it would be convenient for those people with lots of page types.

Thanks guys, I've taken what you've done and implemented config options for pagetype_blacklist, pagetype_whitelist and legacy support for exclude_from_page_types


Add drag feature

Add Drag feature to article title. This will allow for sharing the content across apps.
https://github.com/user-attachments/assets/15e6fbf2-9fe4-4def-9c5b-50748c8c6581

This feature is for multi-window user, is there any way to check the window state? For just activate it when user in multi-window.

There is an API to detect if the app is running in multi-window environment, but I would rather not use it: many OEMs have features (like shelves, or similar) that allow users to Drag and item to a temporary part and drop it once they change app, so only enabling this feature in multi-window would limit those use-cases as well

Screen_recording_20240730_102043.webm
I found a bug, drag and drop works only once. Is this bug origin from drag and drop function?

Good catch! I think it might have something to do with scrollable container, rather than draggableSource, as I was able to init the feature multiple times. Let me investigate further

Nice one! LGTM


listlobby: The way the embed formats the data isn't correct

Story: #155

The listlobby command has the following issues:

The channel embed uses "Game Name" rather than what seems to be the channel link
The time set should be in format "YYYY-MM-DD HH:mm"

Perhaps format it such as Game Name as the title and a link to the channel in the description


Event call two times

Description:
When I click on the TR of the table it calls twice the event. Why does this happen?. When I remove the parent DIV it works fine. Also when I remove the Button it works fine.
Versions affected:
0.9.2
Platforms affected:
reproduced on Chrome (window 10)
Reproduction:
https://jsfiddle.net/bbyr541y/

The jsfiddle that you posted does not work, I've corrected it here: https://jsfiddle.net/bbyr541y/2/
and the event seems to fire only once.

@kouts  The event I am referring to is the TR of the TABLE. Review it please.

Ahh ok, I see it now, you're right, seems like a delegation bug but even adding delegate = false didn't fix it .

Even testing with version 0.9.1 gave me an infinite event.

@evs-chris Am I doing something wrong or is it a bug? . My published code is an excerpt from my project

It seems that it's a bug, I could only make it to workonly by removing the on-click="@this.addCurso(item)" directive from the button inside the first {{#each

Yup, looks like a delegation bug. Wrapping the first {{#each }} with a <div> eliminates the issue, probably because the handler is attached to that div and not the common ancestor div.

@fskreuz  I understand, then I just have to wrap the EACH inside a div. I hope it is arranged in the next version, thanks.

Yep, the bug surfaces when an element contains iterative sections as both immediate and grandchild or farther descendants. The delegate listener is installed on both nodes when that happens, so both listeners get triggered. I'm working on a fix.


Fixes #56 by encoding the data passed for remote validations.

The core change is just creating a data object to pass to $.get so that jQuery can do the parameter encoding for us.
The other differences are all just build/distribution artifacts.

thanks!


compilation fails for asynch.rs

Any idea what could be the cause of these compilation errors ?
error[E0658]: generic associated types are unstable
  --> /home/lieven/.cargo/registry/src/github.com-1ecc6299db9ec823/embedded-io-0.3.1/src/asynch.rs:17:5
   |
17 | /     type ReadFuture<'a>: Future<Output = Result<usize, Self::Error>>
18 | |     where
19 | |         Self: 'a;
   | |_________________^
   |
   = note: see issue #44265 <https://github.com/rust-lang/rust/issues/44265> for more information
   = help: add `#![feature(generic_associated_types)]` to the crate attributes to enable

error[E0658]: where clauses on associated types are unstable
  --> /home/lieven/.cargo/registry/src/github.com-1ecc6299db9ec823/embedded-io-0.3.1/src/asynch.rs:17:5
   |
17 | /     type ReadFuture<'a>: Future<Output = Result<usize, Self::Error>>
18 | |     where
19 | |         Self: 'a;
   | |_________________^
   |
   = note: see issue #44265 <https://github.com/rust-lang/rust/issues/44265> for more information
   = help: add `#![feature(generic_associated_types)]` to the crate attributes to enable

error[E0658]: generic associated types are unstable
  --> /home/lieven/.cargo/registry/src/github.com-1ecc6299db9ec823/embedded-io-0.3.1/src/asynch.rs:48:5
   |
48 | /     type FillBufFuture<'a>: Future<Output = Result<&'a [u8], Self::Error>>
49 | |     where
50 | |         Self: 'a;
   | |_________________^
   |
   = note: see issue #44265 <https://github.com/rust-lang/rust/issues/44265> for more information
   = help: add `#![feature(generic_associated_types)]` to the crate attributes to enable

error[E0658]: where clauses on associated types are unstable
  --> /home/lieven/.cargo/registry/src/github.com-1ecc6299db9ec823/embedded-io-0.3.1/src/asynch.rs:48:5
   |
48 | /     type FillBufFuture<'a>: Future<Output = Result<&'a [u8], Self::Error>>
49 | |     where
50 | |         Self: 'a;
   | |_________________^
   |
   = note: see issue #44265 <https://github.com/rust-lang/rust/issues/44265> for more information
   = help: add `#![feature(generic_associated_types)]` to the crate attributes to enable
.....

You're using a too old nightly, make sure to use this one:
https://github.com/embassy-rs/embedded-io/blob/68d523621bd56eab62c38b6a402187a3341bc45c/rust-toolchain.toml#L2

Thanks for the swift response.
looks like target xtensa-esp32-espidf enforces   a bad combination of crates and rust compiler.
I'm still a newbie on rust, these incompatibilities makes it difficult to get started.

@vortex314 hey, new here too 😃  How did you solve it?

@fermuch i didn't. it looks like the version 0.3.1 contains some changes that are breaking compared to 0.3.0.
espressif rust is using  embedded-svc that requires embedded-io 0.3 and takes by default 0.3.1, which probably worked fine with 0.3.0.
this is based on my basic understanding of the dependency tree in esp-std-demo , so i could be mistaken.
the esp32 target probably uses an older version of the compiler than required by this crate.
i don't have enough experience to correct this dependency. so i signalled this also to espressif github.


Filtering by active contributions still shows inactive contributions

Describe the bug
I want to see only my active contributions but it's showing me inactive ones too
To Reproduce
Steps to reproduce the behavior:

Go to "manage contributions"
Filter is set to "active"
See inactive contributions

Expected behavior
Cancelled contributions should not be considered "active"
Screenshots

P4 low frequency, low impact

I can reproduce. We also have these strange contributions with an empty status. Will look into it to ensure it's not a regression from recent libraries updates.


Update maximum digital ocean volume mounts

I've updated the maximum mountable volume counts for Digital Ocean.
See also here (this has also been confirmed by their email support):

https://www.digitalocean.com/docs/volumes/
You can attach a maximum of 7 volumes to any one node or Droplet, and this limit cannot be changed.

/check-cla

Author is not checking/fixing the CLA so far.
Please feel free to reopen if still interested in working on this.
/close


Enable resolve in query parameters

Feature description
For REST APIs, it should be possible to dynamically populate query parameters based on values obtained from an existing resource.
This can be currently done only if the resolved parameter is part of the path, but not if it is used inside the query.
Eg, this works in a source resource definition:
{
    "name": "seasons",
    "endpoint": {
        "path": "competitions/{competition_id}/seasons",
        "params": {
            "competition_id": {
                "type": "resolve",
                "resource": "competitions",
                "field": "id",
            }
        }
    },
    "include_from_parent": ["id"],
}

but this doesn't:
{
    "name": "seasons",
    "endpoint": {
        "path": "competitions/seasons/?competition_id={competition_id}",
        "params": {
            "competition_id": {
                "type": "resolve",
                "resource": "competitions",
                "field": "id",
            }
        }
    },
    "include_from_parent": ["id"],
}

This forces creating a resource or transformer outside of the declarative API, using @dlt.transformer or @dlt.resource decorators, and makes for overall messy code
Are you a dlt user?
I am scoping it for our company's use case
Use case
It is a very common pattern to find REST APIs where the id's of documents coming from a query are used in subsequent queries. Sometimes the API defines this as a path parameter, and sometimes as a query parameter. This is just an implementation detail that should be abstracted away in dlt.
Proposed solution
The resolve mechanism should also work for query parameters. An ideal solution would work either with explicity inclusion of the query parameter in the path (as in the example above) or (even better!) in a declarative format, with something like this:
{
    "name": "seasons",
    "endpoint": {
        "path": "competitions/seasons/",
        "params": {
            "competition_id": {
                "type": "resolve",
                "resource": "competitions",
                "field": "id",
                "location": "query"  # <- This field would ensure the resolved parameter gets injected in the query
            }
        }
    },
    "include_from_parent": ["id"],
}

Related issues
None found

Use case

We have a similar use-case:
The Affinity CRM has three main entities: Persons, Companies and Opportunities.
The CRM allows to attach notes to each of these entities. They are always connected to at least one to many of each type of these entities, but never to different types. The way the API models this is described here:

Basically it's three different query parameters: person_id, organization_id and opportunity_id. You can pass none, then you get all notes or you can pass exactly one of the query parameters, then you get the notes related to that entity.
Now I want to fetch all persons and augment each person with their notes, same for organizations and opportunities.
For that I need to resolve a query parameter to another entity in my resources.


[release/0.9] Update gowinio to v0.4.21

Full list of changes: https://github.com/microsoft/go-winio/compare/v0.4.17...v0.4.21

test failure is unrelated to the changes being made here.


Grammar improvements

Review the README file and check things that could be improved about the use of language and grammar, or just any better explanations. For example

tslint-config-prettier also ships with a little...l ===> tslint-config-prettier is shipped with a little...
...formatting and tslint the rest ===> ...formatting and tslint of the rest.

Closed by #42


Suggestion : disable transfering tokens between same token accounts

Its  a little bit confusing  that we can transfer spl tokens between same token accounts (src and dest is the same)
Better to add a check and throw an error

I actually find the ability to send to the same account quite useful. With a limited amount of Devnet tokens available, it is often useful to send them back to the source account to be reused.
You can continually test a program without running out (well - you would run out eventually but it would take a long time)

Thanks for coming forward with a suggestion! The self-transfer behavior is very much a desired feature, so I wouldn't make the change. Either way, I'll leave the issue open in case anyone else wants to chime in.


Add acceptance tests for teams

This is one of the resources that does not yet have acceptance tests associated with it. In order to guard against regressions, I have added the following tests:

creating a team (with only the required attributes)
updating a team (changing its name, description and visibility)
importing a team

During this work I discovered an error in importing teams. In order to resolve this, I added the DefaultMemberRole value which was present in the schema to the TeamNode struct, and added a mapping to updateTeam, so this PR doubles as a bugfix for importing teams.

During this work I discovered an error in importing teams. In order to resolve this, I added the DefaultMemberRole value which was present in the schema to the TeamNode struct, and added a mapping to updateTeam, so this PR doubles as a bugfix for importing teams.

Nice, tests work!
Purely out of interesting, could you describe this bug in a bit more detail? Did it manifest as an error when updating a team during terraform apply?

Purely out of interesting, could you describe this bug in a bit more detail? Did it manifest as an error when updating a team during terraform apply?

When importing a resource, it was failing on ImportStateVerify: true because the returned resource did not have the field DefaultMemberState present in the definition of the resource:
resource "buildkite_team" "test" {
  name = "example"
  description = "a cool team of example"
  privacy = "VISIBLE"
  default_team = true
  default_member_role = "MEMBER" # this field
}

Oh, right. So the schema had default_member_role and the provider would include it in team updates/creates, but it would never read the value back from buildkite and update the state?
Cool, nice find :sparkles:


Illegal invocation in opera

In opera normal mode i cant use pannellum in tour option. When I click on hotspot to load other panorama in console shows error https://u.lkn.pl/png/ZrzutNekranuN2021-08-29N114351_HmBJ.png and viewer freezes . In private mode is no error and everything works well.
In other browsers everything works in mormal and private mode. There is no my fault in my html and js code, because tour freezes on pannellum demo page https://pannellum.org/documentation/examples/tour/. I thought problem is in opera addons, but when i switch off all addons, the error was still there.

You're going to need to provide more information, like a browser version, for example. Opera is based on Chromium, so it should behave like it. The error is in a noisify function, which exists in neither Pannellum nor Chromium. Thus, you either actually had an add-on that you didn't actually disable (the fact that it works in private mode suggests that this might be the case), or Opera is making some sort of breaking change to the web platform.
The function name and backtrace suggest that the cause is an <canvas> anti-fingerprinting attempt that has a bug in its support  for the <canvas> toDataURL() function. For example, the "Canvas Fingerprint Defender" add-on containers a function named as such (although I'm not about to install a random add-on just to test it). As Opera's marketing makes no mention of anti-fingerprinting, I suspect the issue is with an add-on.

You are right, the problem is with the canvas anti-fingerprinting addon. I missed turn it off.


Memory leak

I was reading your code and saw the following line : https://github.com/loodakrawa/SpriterDotNet/blob/master/SpriterDotNet/SpriterProcessor.cs#L113
It is executed after GetBoneInfos which take a BoneInfo Array from the pool.
This means that it can return before putting it back to the pool. If that happen these BoneInfos will never return to the pool causing a memory leak

Nice catch! I'll fix it ASAP


Sync with master before 3.x APP

Contributing to Cortex XSOAR Content
Make sure to register your contribution by filling the contribution registration form
The Pull Request will be reviewed only after the contribution registration form is filled.
Status

[x] In Progress
[ ] Ready
[ ] In Hold - (Reason for hold)

Related Issues
fixes: link to the issue
Description
A few sentences describing the overall goals of the pull request's commits.
Screenshots
Paste here any images that will help the reviewer
Minimum version of Cortex XSOAR

[ ] 6.0.0
[ ] 6.1.0
[ ] 6.2.0
[ ] 6.5.0

Does it break backward compatibility?

[ ] Yes

Further details:

[ ] No

Must have

[ ] Tests
[ ] Documentation

Closing this, will be handling in seperate PR


[AMBARI-25543] fix hdfs Disk I/O Utilization result.

What changes were proposed in this pull request?
I meet the same problem with AMBARI-25543 and try to fix it.
It seems the old formula had no  means, so I tried to rewrite the formula and replace the unit of the result with KB/s instead of  % (1byte/1ms =1000KB/1024s approximately equal to the 0.9766KB/s).
How was this patch tested?
I have test the patch with munual tests, the results as below:

@akiyamaneko

on the screenshot the precision  of the number is too high, it even overlap with unit text. Could we decrease precision to only 3 digits after coma?
It hard to read big numbers, could we round the number to to next closes measurement unit? For example: 853649.596 KB -> 833.362 MB/s.

@hapylestat thanks for your advice

I find the precision of many metrics in heatmap  are also shows too high like below,Is there any format specification for the precision of the data?

I have round the number to next closes measurement unit: MB/s and resubmit it.

@akiyamaneko

I think, the data initially are consumed as-is from the value expression evaluation. And given, that the widget might even don't know the type of the field - implementing this point might be out of scope of current ticket.

@akiyamaneko
this fix change the meaning of "Utilization", how about change text to "rate"?

@yx91490
I had the same thought as you before, but I forgot to mofity it  😂  😂 .
@hapylestat  @dlysnichenko  @virajjasani  Do you think is it necessary to modify the widget name?

@akiyamaneko it would be more logical

@hapylestat  done this.


Swath sampler step-1:  allow for destroying grid and regridder, and allocatable metadata in GriddedIO (donot merge)

Description
For swath sampler to change grid at each epoch time, we need to destroy the outdated grid, route handle and metadata.  This is mostly worked out by @bena-nasa and modifications to GriddedIO are introduced to allow the time being written as a 2D variable as function of (x, y).  I put in this infrastructure change first to test the general framework.  The code is tested on Mac.
Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] Trivial change (affects only documentation or cleanup)

Checklist:

[ ] I have tested this change with a run of GEOSgcm (if non-trivial)
[x] I have added one of the required labels (0 diff, 0 diff trivial, 0 diff structural, non 0-diff)
[x] I have updated the CHANGELOG.md accordingly following the style of Keep a Changelog

This PR for swath grid is out dated and will be replaced by a new one.


Update Remove-CMTaskSequence.md

Remove -Force from first example
The console snippet showed the user being prompted to confirm but this doesn't happen when you specify -Force so removed -Force from the first example. It's still demoed well in the second example.

FYI we're currently having an issue with accepting public contributions to the ConfigMgr PowerShell content. So this will be on hold for a while...

@codaamok : Thanks for your contribution! The author(s) have been notified to review your proposed change.

I finally fixed a backend issue with this repository, so I'm going through the backlog of contributions.
Thanks @codaamok for adding this example, and thank you for your first contribution to this repo! I'm sorry it took so long to get to this point. Please don't expect this as typical turnaround time. With the issues fixed, we'll be able to respond much more quickly to community contributions. This contribution is exactly the sort of thing we're looking for from the community! I look forward to seeing more edits from you in the future! 😉
Although due to the fixed issue, I can't accept this PR as-is. But I was able to bring our changes over to our private repository (from where we publish). So I'm going to close this PR, but your changes should go live with daily publishing later this afternoon (8/25 4pm)
p.s. note, this is not the usual process. going forward, we should be able to review and signoff any pull requests relatively quickly, and without moving things to our private repo.


split path in TargetPath and VirtualTargetPath

to allow for hierarchical addressing of targets when their real names
don't fit such a schema
e.g., foo-bar-1.2.3 could be addressed as foo/bar/1.2.3 so that foo
could delegate bar and so on
this happens because delegations are done on an exact target basis or
recursively or everything under a "dir" like "foo/"
fixes #129, assists with https://github.com/rust-lang-nursery/rustup.rs/issues/1217
@alexcrichton, since this is something you requested, can you take a peek and let me know if this looks like a good solution.

Nice!


Dragging stops on divs borders on mobile

When you have multiple containers everything works fine on desktop browsers, but on mobile one (tested on Chrome) dragging stops on another div border.
Steps to reproduce:

Switch Google Chrome to mobile mode or just open example from link (https://5fc05e08a4a65d0021ae0bf2-zditmhymjz.chromatic.com/?path=/story/presets-sortable-multiple-containers--vertical-grid
) on your phone.
Try to move any element from container A to container B.
See the magic :D

Example from my jigsaw app - when you drag puzzle on mobile it stops on parent div. You have to grab it again and then everything works.

I am facing this issue too.
When using mobile mode in chrome or using a phone, I have to drag the element twice before it moves correctly.
Eg:

Please share a CodeSandbox replicating the issue

@andreicorpo Most often than not, it's the missing touchAction css property on draggable elements (More info)
For testing, have a look at this minimal sandbox based on this tutorial
You can try removing the touchAction property and see how it breaks for mobile.

Im also having this problem in storybook (multi containers grid)

@andreicorpo More often than not, it's the missing touchAction css property on draggable elements (More info)

What @faroukfaiz10 suggested here worked for me! Thanks!


Error: No hostname provided

Hi all
{"success":false,"message":"Wrong connection data provided!","debug":"No hostname provided!\nNo hostname provided!\nNo hostname provided!\nNo hostname provided!"}
`
s6-rc: info: service s6rc-oneshot-runner: starting
s6-rc: info: service s6rc-oneshot-runner successfully started
s6-rc: info: service base-addon-banner: starting
Add-on: IPMItool server
IPMItool server
Add-on version: 1.2.5
You are running the latest version of this add-on.
System: Home Assistant OS 12.1  (amd64 / qemux86-64)
Home Assistant Core: 2024.3.1
Home Assistant Supervisor: 2024.03.0
Please, share the above information when looking for help
or support in, e.g., GitHub, forums or the Discord chat.
s6-rc: info: service base-addon-banner successfully started
s6-rc: info: service fix-attrs: starting
s6-rc: info: service base-addon-log-level: starting
s6-rc: info: service fix-attrs successfully started
Log level is set to INFO
s6-rc: info: service base-addon-log-level successfully started
s6-rc: info: service legacy-cont-init: starting
s6-rc: info: service legacy-cont-init successfully started
s6-rc: info: service legacy-services: starting
services-up: info: copying legacy longrun nginx (no readiness notification)
services-up: info: copying legacy longrun php-fpm (no readiness notification)
[19:45:53] INFO: Starting PHP-FPM...
s6-rc: info: service legacy-services successfully started
[19:45:53] INFO: Starting NGinx...
2024/03/15 19:45:57 [error] 205#205: *3 FastCGI sent in stderr: "PHP message: No hostname provided!PHP message: No hostname provided!PHP message: No hostname provided!PHP message: No hostname provided!" while reading response header from upstream, client: <IP_ADDRESS>, server: _, request: "GET / HTTP/1.1", upstream: "fastcgi://<IP_ADDRESS>:9000", host: "mydomian.xx", referrer: "https://mydomian.xx/hassio"
2024/03/15 19:50:26 [error] 205#205: *15 FastCGI sent in stderr: "PHP message: No hostname provided!PHP message: No hostname provided!PHP message: No hostname provided!PHP message: No hostname provided!" while reading response header from upstream, client: <IP_ADDRESS>, server: _, request: "GET / HTTP/1.1", upstream: "fastcgi://<IP_ADDRESS>:9000", host: "mydomian.xx", referrer:
"https://mydomian.xx/hassio"
`
where to set a hostname?
version is 1.2.5
thank you for support!

Please test the latest version 1.2.7. Thanks!

Thank you, it's solved :)


unsupervised?

Hi,
I do not understand why labels  should be provided on the training set. The training is supposed to be unsupervised right? Or is that only for getting the boundary F1 scores ?

Hi @ralgayres the labels aren't used for training. They are used in order to compute segmentation metrics.


target_temperature unit not working.

Hi,
First of all - great card. I'm a bit of pixel-perfect guy so spent 280 lines of yaml to fine tune it!
Here's what it looks like:

The one thing I can't figure out how to get 67°C to read 67°F.
I thought it was:
- type: custom:mini-climate
  entity: climate.porch_ac_windfree_3_0e
  icon: blank
  scale: 1
  hide_current_temperature: true
  target_temperature:
    icons:
      up: mdi:chevron-up
      down: mdi:chevron-down
    unit: '°F'

But it doesn't work. Am I missing a trick, or is it a bug?
p.s. Here's the off display (a few posts have asked about hiding stuff, and greying out stuff -- card_mod is your friend!).
If anyone cares I can post all 280 lines of yaml!

You need to set the unit also on temperature and not just target_temperature

Success. Thank you. You might want to note that in the readme unless I missed it. It's not entirely logical! Very cool card.
When I have time, I'll write my huge card_mod block; perhaps you would consider putting some of the functionality in the core.

If you feel it requires a change a PR is more than welcome

Actually it is confusing, I see what is the issue in the code I will fix

released in 2.7.2 @skavan can you please verify it is fixed by removing the unit in the temperature entry?

Looks like it's fixed!


When setting precision to 4/5 decimals some values are wrongly rounded and give a misleading number.

Hi!
I was using the library and I noticed that when we use it as a Percentage with 4/5 decimals the library rounds the provided number; this only happens when the number is 10 | 20 | 40 | 80  if you enter any of those numbers and you blur the input it will add the decimals with a 1 at the end.
I took a look at the code and looks like the last commit  introduced the bug.
I made a video where we can see the behavior I'm trying to describe
https://github.com/dm4t2/intl-number-input/assets/6006712/71da6871-5226-4926-b98e-9a4590b430ef

I can confirm this issue - just ran into it. Downgrading to 1.4.0 as a workaround does solve the issue.
I've opened A PR with failing tests and some of my thoughts or where the bug may occur.


manage.py syncd: error: unrecognised arguments --all

trying a fresh build of W-spsace as I havent used it for a year and using RTD for install instructions and stuck at -
./manage.py syncdb --all --noinput
Any guide to what i need to change to complete the install as I'm not a python guy and not sure where to start. should I adjust the settings.py as I noticed the database entry is wrong for my build?

Just use ./manage.py syncdb --noinput

Sorry I forgot to say I had already tried that and got this and I honestly dont even know where to start looking. Im sure ive done something dumb because when i setup the previous version i was pretty simple -
System check identified some issues:
WARNINGS:
API.APIAccessRequirement.corps_required: (fields.W340) null has no effect on ManyToManyField.
API.APIAccessRequirement.groups_required: (fields.W340) null has no effect on ManyToManyField.
Slack.SlackChannel.group: (fields.W342) Setting unique=True on a ForeignKey has the same effect as using a OneToOneField.
HINT: ForeignKey(unique=True) is usually better served by a OneToOneField.
core.LocationWormholeClass.location: (fields.W342) Setting unique=True on a ForeignKey has the same effect as using a OneToOneField.
HINT: ForeignKey(unique=True) is usually better served by a OneToOneField.
core.StarbaseResource.towerType: (fields.W342) Setting unique=True on a ForeignKey has the same effect as using a OneToOneField.
HINT: ForeignKey(unique=True) is usually better served by a OneToOneField.
Traceback (most recent call last):
File "./manage.py", line 10, in
execute_from_command_line(sys.argv)
File "/home/maptool/eve-wspace/local/lib/python2.7/site-packages/django/core/management/init.py", line 354, in execute_from_command_line
utility.execute()
File "/home/maptool/eve-wspace/local/lib/python2.7/site-packages/django/core/management/init.py", line 346, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/home/maptool/eve-wspace/local/lib/python2.7/site-packages/django/core/management/base.py", line 394, in run_from_argv
self.execute(*args, **cmd_options)
File "/home/maptool/eve-wspace/local/lib/python2.7/site-packages/django/core/management/base.py", line 445, in execute
output = self.handle(*args, **options)
File "/home/maptool/eve-wspace/local/lib/python2.7/site-packages/django/core/management/commands/syncdb.py", line 25, in handle
call_command("migrate", **options)
File "/home/maptool/eve-wspace/local/lib/python2.7/site-packages/django/core/management/init.py", line 120, in call_command
return command.execute(*args, **defaults)
File "/home/maptool/eve-wspace/local/lib/python2.7/site-packages/django/core/management/base.py", line 445, in execute
output = self.handle(*args, **options)
File "/home/maptool/eve-wspace/local/lib/python2.7/site-packages/django/core/management/commands/migrate.py", line 93, in handle
executor = MigrationExecutor(connection, self.migration_progress_callback)
File "/home/maptool/eve-wspace/local/lib/python2.7/site-packages/django/db/migrations/executor.py", line 19, in init
self.loader = MigrationLoader(self.connection)
File "/home/maptool/eve-wspace/local/lib/python2.7/site-packages/django/db/migrations/loader.py", line 47, in init
self.build_graph()
File "/home/maptool/eve-wspace/local/lib/python2.7/site-packages/django/db/migrations/loader.py", line 191, in build_graph
self.applied_migrations = recorder.applied_migrations()
File "/home/maptool/eve-wspace/local/lib/python2.7/site-packages/django/db/migrations/recorder.py", line 59, in applied_migrations
self.ensure_schema()
File "/home/maptool/eve-wspace/local/lib/python2.7/site-packages/django/db/migrations/recorder.py", line 49, in ensure_schema
if self.Migration._meta.db_table in self.connection.introspection.table_names(self.connection.cursor()):
File "/home/maptool/eve-wspace/local/lib/python2.7/site-packages/django/db/backends/base/base.py", line 164, in cursor
cursor = self.make_cursor(self._cursor())
File "/home/maptool/eve-wspace/local/lib/python2.7/site-packages/django/db/backends/dummy/base.py", line 21, in complain
raise ImproperlyConfigured("settings.DATABASES is improperly configured. "
django.core.exceptions.ImproperlyConfigured: settings.DATABASES is improperly configured. Please supply the ENGINE value. Check settings documentation for more details.

django.core.exceptions.ImproperlyConfigured: settings.DATABASES is improperly configured. Please supply the ENGINE value. Check settings documentation for more details.

Make sure you have the database settings correct in your local_settings.py, then try again.

checked everything, even started with a completely fresh server instance.
everything is fine until that point, i can even access the MySql server with the same password thats in the local_settings.py
Any other clues as to the cause

A clean install of evewspace doesn't set line 25 in local_setting.py to whatever database engine you're using.
From the error message you posted above, you haven't set an engine value, ie: django.db.backends.mysql, django.db.backends.postgresql, etc.

ok now i feel dumb....I didn't even notice that line was wrong for some reason..
That fixed it, thanks guys.


Allow specifying disk size, min/max iops for offering linked with custom disk offering

Description
This PR fixes the issue noticed when trying to scale a VM to an offering with custom disk offering.
UI doesn't provide an option to pass the disk size & iops values

Post Fix:

Types of changes

[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] New feature (non-breaking change which adds functionality)
[X] Bug fix (non-breaking change which fixes an issue)
[ ] Enhancement (improves an existing feature and functionality)
[ ] Cleanup (Code refactoring and cleanup, that may add test cases)

Feature/Enhancement Scale or Bug Severity
Bug Severity

[ ] BLOCKER
[ ] Critical
[ ] Major
[X] Minor
[ ] Trivial

Screenshots (if appropriate):
How Has This Been Tested?

@blueorangutan package

@Pearl1594 a Jenkins job has been kicked to build packages. I'll keep you posted as I make progress.

Packaging result: :heavy_check_mark: el7 :heavy_check_mark: el8 :heavy_check_mark: debian :heavy_check_mark: suse15. SL-JID 2681

@blueorangutan test

@sureshanaparti a Trillian-Jenkins test job (centos7 mgmt + kvm-centos7) has been kicked to run smoke tests

@blueorangutan package

@blueorangutan test

@Pearl1594 a Trillian-Jenkins test job (centos7 mgmt + kvm-centos7) has been kicked to run smoke tests

Trillian test result (tid-3459)
Environment: kvm-centos7 (x2), Advanced Networking with Mgmt server 7
Total time taken: 36889 seconds
Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr6018-t3459-kvm-centos7.zip
Smoke tests completed. 92 look OK, 0 have errors
Only failed tests results shown below:

Test
Result
Time (s)
Test File


Anonymous type accros assembly

Description
I don't know if it is a bug or the doc  that doesn't make it obvious. If I create 2 anonymous objects in 2 assemblies, the equals is always false, but the obj1.ToString().Equals(obj2.ToString()) returns true.
After reading the doc multiple times, it may be the expected behaviour:

If two or more anonymous object initializers in an assembly specify a sequence of properties that are in the same order and that have the same names and types, the compiler treats the objects as instances of the same type. They share the same compiler-generated type information.

And several paragraphs below:

Because the Equals and GetHashCode methods on anonymous types are defined in terms of the Equals and GetHashCode methods of the properties, two instances of the same anonymous type are equal only if all their properties are equal.

I think the same anonymous type should be more explicit especially when we are talking about comparison. It should at least said that it is required to be in the same assembly.
Reproduction Steps
I created an anonymous object to post a JSON via PostAsJsonAsync and in the test assembly with Moq I wanted to intercept the call with the right object.
Expected behavior
Anonymous objects should be equal if all their properties are equal regardless of the assembly it is created on.
Actual behavior
Comparison requires to be on the same assembly.
Regression?
No
Known Workarounds
Use string to do the comparison...
obj1.ToString().Equals(obj2.ToString())
Configuration
.Net 7, x64

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

ID: d1b30ebe-b640-449b-3602-9891a55794db
Version Independent ID: dd937177-98f0-a797-d49b-29332aae0614
Content: Anonymous Types - C#
Content Source: docs/csharp/fundamentals/types/anonymous-types.md
Product: dotnet-csharp
Technology: csharp-fundamentals
GitHub Login: @BillWagner
Microsoft Alias: wiwagn

The doc infers the behavior, but we should make it clear by stating that anonymous types have internal accessibility.
This would make it more clear that types with the same "shape" but defined in different assemblies aren't the same type. Therefore instances of those two types can't be equal to each other.

The doc infers the behavior, but we should make it clear by stating that anonymous types have internal accessibility.

Wouldn't that imply that anonymous types can be shared between assemblies using InternalsVisibleTo?


Cannot jump to required JSON file

Issue Type: Bug
const json = require('./path/to/json-file.json');

try to jump to the file (Ctrl+Click, F12, etc.), it won't work, but it would work if it were a .js file but it is a .json file which NodeJS supports as well as .js (it may support others too, not sure)
Thank you.
VS Code version: Code 1.21.1 (79b44aa704ce542d8ca4a3cc44cfca566e7720f1, 2018-03-14T14:46:47.128Z)
OS version: Windows_NT x64 10.0.16299
Reproduces without extensions

Thanks. This is tracked by https://github.com/Microsoft/TypeScript/issues/7071


Create users on Linux system using tenant_id to solve user confusion caused by k8s environment service restart or physical machine environment service migration

Purpose of the pull request
This pull request aims to address the issue of user confusion caused by k8s environment service restart or physical machine environment service migration
Brief change log
Add tenantId to ProcessInstance.java and TaskExecutionContext.java
Add method "createUser(int userId, String userName)" and "createUserIfAbsent(int userId, String userName)"  and "createLinuxUser(int userId, String userName, String userGroup)" to OSUtils.java
Modify method createTenant of TenantServiceImpl.java
Modify method handleCommand of  ProcessServiceImpl.java,add code "processInstance.setTenantId"
Modify method buildProcessInstanceRelatedInfo of  TaskExecutionContextBuilder.java,add code "taskExecutionContext.setTenantId"
Modify method getOrCreateTenant of TaskExecutionContextUtils.java, add user by tenantId
Verify this pull request

This pull request is code cleanup without any test coverage.

-1 to this PR, you need to create DSIP first, I am not clear why this will cause user confusion and why set the uid can solve this?

-1 to this PR, you need to create DSIP first, I am not clear why this will cause user confusion and why set the uid can solve this?

When deploying worker services using k8s, the user information in the container will be cleared after restarting the worker service, and the newly created users will not correspond to the users in the metadata table. Migrating services to new physical machines may also cause this issue. You can use native code for testing

-1 to this PR, you need to create DSIP first, I am not clear why this will cause user confusion and why set the uid can solve this?

When deploying worker services using k8s, the user information in the container will be cleared after restarting the worker service, and the newly created users will not correspond to the users in the metadata table. Migrating services to new physical machines may also cause this issue. You can use native code for testing

The main change in this pr is set the uid, please describe why the uid will affect this. We didn't meet this problem before.

When deploying worker services using k8s, the user information in the container will be cleared after restarting the worker service, and the newly created users will not correspond to the users in the metadata table. Migrating services to new physical machines may also cause this issue. You can use native code for testing

DS tenants map linux user names, not uids, which I understand won't have any conflicts.

When deploying worker services using k8s, the user information in the container will be cleared after restarting the worker service, and the newly created users will not correspond to the users in the metadata table. Migrating services to new physical machines may also cause this issue. You can use native code for testing

DS tenants map linux user names, not uids, which I understand won't have any conflicts.

+1, the uid is transparent to ds.

-1 to this PR, you need to create DSIP first, I am not clear why this will cause user confusion and why set the uid can solve this?

When deploying worker services using k8s, the user information in the container will be cleared after restarting the worker service, and the newly created users will not correspond to the users in the metadata table. Migrating services to new physical machines may also cause this issue. You can use native code for testing

The main change in this pr is set the uid, please describe why the uid will affect this. We didn't meet this problem before.

When deploying the dolphinscheduler worker service in a k8s environment and mounting PVC, all files in the PVC have corresponding users. When the dolphinscheduler worker service restarts, the users in the container are cleared, and the users are recreated in order of connecting to the dolphinscheduler worker. At this time, the username and userid are not consistent with the situation before restarting. Due to the username and userid matching in the PVC file, the user corresponding to the PVC file is incorrect after restarting the container

When deploying worker services using k8s, the user information in the container will be cleared after restarting the worker service, and the newly created users will not correspond to the users in the metadata table. Migrating services to new physical machines may also cause this issue. You can use native code for testing

DS tenants map linux user names, not uids, which I understand won't have any conflicts.

The code I modified is tenant id, which corresponds to the UID of Linux

The code I modified is tenant id, which corresponds to the UID of Linux

AS wenjun said the uid is transparent to ds.

When deploying the dolphinscheduler worker service in a k8s environment and mounting PVC, all files in the PVC have corresponding users. When the dolphinscheduler worker service restarts, the users in the container are cleared, and the users are recreated in order of connecting to the dolphinscheduler worker. At this time, the username and userid are not consistent with the situation before restarting. Due to the username and userid matching in the PVC file, the user corresponding to the PVC file is incorrect after restarting the container

You can specify mounting permissions for the pvc file to ensure that the permissions for the content mounted to different containers are consistent.


fix #18450: empty param value for nulable action args

fix #18450
Empty param values "" must be allowed for nullable action args.

Q
A

Is bugfix?
✔/❌

New feature?
✔/❌

Breaks BC?
✔/❌

Tests pass?
✔/❌

Fixed issues
comma-separated list of tickets # fixed by the PR, if any

@dicrtarasov the code itself is OK but can't merge it without a unit test and a line for CHANGELOG. Would you please code these?

I'll recreate it, looks like @dicrtarasov deleted the branch.

Closed in favor of #18537


Bso prayer bonuses not working as they should

🐛 Bug Report
I've just started doing bso pray grind and it's pretty obvious something is broken in bso pray.
The first few trips ended like this

@Sigil_UK, # minion sell me mysterys finished offering 503 Abyssal dragon bones, you managed to offer 268 extra bones because of the effects the Chaos altar and you lost 23 to pkers, you also received 5,281,500 XP. The RuneScape gods bless you with 3,961,125 extra XP for you raising the young lamb. minion sell me mysterys's Prayer level is now 115! Say z to repeat this trip.

 The RuneScape gods bless you with 1,393,875 extra XP for you raising the young lamb.
minion sell me mysterys's Prayer level is now 117!
Say m to repeat this trip.

This lost less bones to pkers, gained more free roles but like half the xp. It makes no sense.`
Ps I have screenshots but it won't let me upload for some reason

No issue here, Lil Lamb boosts prayer XP by between 1x and 3x, looks like you hit 3x the first trip and 1x the second trip. This is explained on the bso doc

Re-opening as there is an issue of the the return trip message not showing the BSO multiplier
first should say 26,407,500 xp gained and second 13,938,750 xp

Bumping this, still an issue with BSO return for xp calc. The current return message is showing OSB calculations for prayer xp.


Multiple Carbon Cache Daemon

Hello
I am trying to start 4 instances of carbon cache without sucess.
carbon.conf
[relay]
USER = nginx
LINE_RECEIVER_INTERFACE = <IP_ADDRESS>
LINE_RECEIVER_PORT = 2003
PICKLE_RECEIVER_INTERFACE = <IP_ADDRESS>
PICKLE_RECEIVER_PORT = 2004
RELAY_METHOD = consistent-hashing
REPLICATION_FACTOR = 1
DESTINATIONS = <IP_ADDRESS>:2014:1, <IP_ADDRESS>:2024:2, <IP_ADDRESS>:2034:3, <IP_ADDRESS>:2044:4
[cache]
USER = nginx
GRAPHITE_URL = http://myurl.intranet
LINE_RECEIVER_INTERFACE = <IP_ADDRESS>
PICKLE_RECEIVER_INTERFACE = <IP_ADDRESS>
CACHE_QUERY_INTERFACE = <IP_ADDRESS>
[cache:1]
LINE_RECEIVER_PORT = 2013
PICKLE_RECEIVER_PORT = 2014
CACHE_QUERY_PORT = 7012
[cache:2]
LINE_RECEIVER_PORT = 2023
PICKLE_RECEIVER_PORT = 2024
CACHE_QUERY_PORT = 7022
[cache:3]
LINE_RECEIVER_PORT = 2033
PICKLE_RECEIVER_PORT = 2034
CACHE_QUERY_PORT = 7032
[cache:4]
LINE_RECEIVER_PORT = 2043
PICKLE_RECEIVER_PORT = 2044
CACHE_QUERY_PORT = 7042
I am getting the following error on webapp exception.log
Tue Jun 19 02:55:03 2018 :: Failed CarbonLink query 'prod.hongkong.hk-manager.a2-montesquieu7.tail.http_requests.counter.statuscode-201'
Traceback (most recent call last):
File "./graphite/readers.py", line 169, in fetch
File "./graphite/carbonlink.py", line 90, in query
results = self.send_request(request)
File "./graphite/carbonlink.py", line 118, in send_request
conn = self.get_connection(host)
File "./graphite/carbonlink.py", line 80, in get_connection
connection.connect( (server, port) )
File "", line 1, in connect
error: [Errno 111] Connection refused
I have tried to follow https://github.com/graphite-project/graphite-web/issues/1139
Still got the same error. Could you help me ? thanks

Can you post your local_settings.py, especially the carbonlink_hosts setting

Hello @piotr1212
CARBONLINK_HOSTS = ['<IP_ADDRESS>:7012', '<IP_ADDRESS>:7022','<IP_ADDRESS>:7032', '<IP_ADDRESS>:7042']
I also tried CARBONLINK_HOSTS = []
and with no parameter.
Other options in my local_settings.py are commented
Thank you for the reply

Your instance ids are missing in the carbonlink_hosts, try:
CARBONLINK_HOSTS = ['<IP_ADDRESS>:7012:1', '<IP_ADDRESS>:7022:2','<IP_ADDRESS>:7032:3', '<IP_ADDRESS>:7042:4']

@piotr1212
The same error appears, on webapp traceback
Tue Jun 19 11:04:05 2018 :: Failed CarbonLink query 'prod.hongkong.hk-manager.a2-montesquieu7.tail.http_requests.counter.statuscode-201'
Traceback (most recent call last):
File "./graphite/readers.py", line 172, in fetch
cached_datapoints = CarbonLink.query(self.real_metric_path)
File "./graphite/carbonlink.py", line 90, in query
results = self.send_request(request)
File "./graphite/carbonlink.py", line 118, in send_request
conn = self.get_connection(host)
File "./graphite/carbonlink.py", line 80, in get_connection
connection.connect( (server, port) )
File "", line 1, in connect
error: [Errno 111] Connection refused
root     14942  0.3  0.0<PHONE_NUMBER>4 ?        R    03:19   1:37 /usr/bin/python /opt/graphite/bin/carbon-aggregator.py start
nginx    15814 79.8  0.0<PHONE_NUMBER>0 ?        R    11:03   1:24 /usr/bin/python /opt/graphite/bin/carbon-relay.py start
nginx    15820  2.9  0.0<PHONE_NUMBER>8 ?        Sl   11:03   0:02 /usr/bin/python /opt/graphite/bin/carbon-cache.py --instance=1 start
nginx    15833  3.2  0.0<PHONE_NUMBER>6 ?        Sl   11:03   0:03 /usr/bin/python /opt/graphite/bin/carbon-cache.py --instance=3 start
nginx    15840  2.8  0.0<PHONE_NUMBER>8 ?        Sl   11:03   0:02 /usr/bin/python /opt/graphite/bin/carbon-cache.py --instance=4 start

@piotr1212  Now it worked :)
I restarted uwsgi process. Thank you for the help


Splitting out top navigation and side navigation with separate settings

I just had a problem with the current nextra, where I could not have pages with children in top navigation that had index pages and were not just “virtual” menus.
We have two type settings that I can use to impact whether something is on the top navigation type: page and type: menu.

If I set up the type to page, I loose the left side menu from the page.
On the other hand, if I setup the type menu, it’s only working if I don’t have index page for the parent folder.
In my case, I want to have the index page with children in the top nav, while keeping the rest of the functionality.
For example in the page swr’s page I want to have an index page for the https://swr.vercel.app/examples/, while keeping it in the top navigation.
Current bundling of the navigation bar and sidebar functionality does not allow to do this.
We could solve this with a separate setting. (shownavitem:boolean)
We could still maintain the default functionality with the type: menu and type: page, but if the optional shownavitem is set, that would be the overriding setting.
To complete the separation of the sidebar and navbar visibility, we could change display:hidden into showsideitem:false etc. to be more explicit about the functionality.

I am also encountering this. I have a policies.mdx and policies/user-agreement.mdx, policies/privacy-policy.mdx, etc. on docs.howdju.com. The closest I can get is to do something like:
  ...
  "policies": "",
  "policies_page": {
    "title": "Policies",
    "type": "page",
    "href": "/policies"
  },
  ...

This doesn't remove the Policies section from the page-wide left-hand navbar, but it does add a link in the top navbar. Clicking on the top navbar or the top-level section name takes the user to the directory index page (policies.mdx), and that page has left-hand nav to see the sub-pages.
The downsides to this approach are:

in the narrow mobile view, the item "Policies" appears twice since the top and left nav are combined.
In the wide desktop view, the policies left-hand nav appears as part of the rest of the site's left-hand nav. I would prefer for the Policy nav to be absent unless the user is on a Policy-related page like in the example for Fruits and Frameworks in the video under the Sub-Docs documentation.


Fix/smooth height estimation

I modified the smoothing_node to only enqueue subscribed positions when the vehicle is in motion.
This change ensures that the altitude estimation continues accurately even when the vehicle stops.
In the past, the smoothing_node pushed the data in queue every time and extract data with velocity when calculating the moving average. As a result, when the vehicle stoped, values couldn't be extracted from the queue, causing the altitude to become 0.
The following figure shows the estimated height being zero when the vehicle stops.

Note

moving_ratio_threshold is not used.

@Aoki-Takanose @OsamuSekino
Just to confirm, I understand that the "moving_judgment_threshold" is a threshold used due to issues with Doppler velocity at low speeds. However, Doppler velocity is not used here. Do you know why "moving_judgment_threshold" is being used for filtering in this context?

Thank you. The changes look fine, so I'll merge them.

@AokiTakanose
Just to confirm, I understand that the moving_judgment_threshold is a threshold used because there are issues with the Doppler velocity at low speeds. However, the Doppler velocity is not used here. Do you know why we are filtering with the moving_judgment_threshold here?

This is because Eagleye requires that GNSS fusion, not just GNSS Doppler, be above a certain speed.
This is Eagleye's concept, and the same process is applied to other estimation parts as well.
If there are any problems with this part of the estimation, they can be solved by modifying the parameter values.