Rowan expects to have write access to the gemstone user's userGlobals ... not always the case

RwUserPlatformInstance is installed in UserGlobals by Rowan when Rowan is first accessed and Jadeite hits Rowan during login ...
When a user cannot write to UserGlobals we need to use session temps

Here's the topaz code used to create the users for this bug:
  set user DataCurator p swordfish
  login

	run
	"User with no code modification privileges and owner read"
	AllUsers
		addNewUserWithId: 'NoCodeModificationUser'
			password: 'swordfish'
			createNewSecurityPolicy: true.
	AllUsers
		addNewUserWithId: 'ReadOnlyNoCodeModificationUser'
			password: 'swordfish'
			createNewSecurityPolicy: true.
%
	commit

	run
	| securityPolicy |
	securityPolicy := GsObjectSecurityPolicy new
		ownerAuthorization: #write;
		worldAuthorization: #read;
		owner: System myUserProfile;
	yourself.
	System commit.
	"take away permissions to write UserGlobals"
	((AllUsers userWithId: 'ReadOnlyNoCodeModificationUser') symbolList resolveSymbol: #UserGlobals) value
		objectSecurityPolicy:  securityPolicy.
%
	commit


141 refactor liqbot iteration 3

Everything refactored

Separated services: account, market, whale, coinProvider, marketStream, accountStream…
Everything abstracted and decoupled with interfaces
Fixed “optimize…NaN…something” bug
Updated dependencies to the new Vega version
Improved logging
Improved error handling
More options in config
Added caching

Pausing the bots

When node gets disconnected, bots will pause
Once the connection is back, they will resume
Also, pause when waiting for top-up, bots will pause until the balance is credited

Whale service is implemented

Top-up from whale to bot account
If low funds on whale account, deposit from erc20 or faucet to the whale address
Stake governance tokens from erc20 bridge, directly to the bot’s account
Aggregate and update pending deposit requests so that they are grouped by assetID.

Fallback system

Slack client implemented
App added to workplace
The bot will slack Dan, if it cannot top-up itself
The existing messages with the same assetID will be updated with new amount, instead of creating new messages for every request

Automatic market creation (tested on capsule)

If market with configured parameters is not found, a new one will be created
If bot account doesn’t have tokens deposited/staked, they will be provided by the whale service
Once the market is enacted, bot will seed orders to get it out of auction

Mostly tested on capsule, on stagnet3 the mint gives me execution reverted  - maybe wrong erc20 contract address?

Although it’s more-less functional (at least in capsule), there is still quite a bit more work to polish it. Probably also bugs

please wait until merge to main as deployment requires config changes


Building ghc-8.8 branch (be8b02c4) fails with ghc-8.8.1

I am building it with ghc-8.8.1.
[14 of 40] Compiling Haddock.Convert  ( src/Haddock/Convert.hs, /home/coot/repos/haskell/haddock/dist-new
style/build/x86_64-linux/ghc-8.8.1/haddock-api-2.23.0/build/Haddock/Convert.o )

src/Haddock/Convert.hs:610:9: error:
    Variable not in scope:
      tyConAppNeedsKindSig :: Bool -> TyCon -> Int -> Bool
    |
610 |       | tyConAppNeedsKindSig False tc tys_len
    |         ^^^^^^^^^^^^^^^^^^^^
cabal: Failed to build haddock-api-2.23.0 (which is required by exe:haddock
from haddock-2.23.0).

You probably need to build it with 8.8.2 or a GHC built from a newer commit on the 8.8 branch.

Thanks that fixed the issue; although switching branches from master to ghc-8.8 on a fresh clone of ghc repo turned out to be problematic.


Update base images to include Raspbian

Raspian is missing from https://www.balena.io/docs/reference/base-images/base-images/  but is available here https://hub.docker.com/r/balenalib/rpi-raspbian/tags.
The list of architectures, distributions and language stacks should be automated to reflect what is available on DockerHub.

NIT1: There's a 'b' in "Raspbian" :wink:
NIT2: For the link you posted, DockerHub says "OS/ARCH: linux/amd64" for each image - is that just a DockerHub bug / limitation?

I don't know whether this is a Docker thing (will investigate during resolving this issue) but that behavior is consistent with other images e.g. https://hub.docker.com/r/balenalib/aarch64-ubuntu-node/tags

I did a bit of clicking around and e.g. https://hub.docker.com/r/arm64v8/postgres/tags says linux/arm64

The balenalib/rpi-rasbian images are not proper balena base images and don't contain our helper functions like install_packages, cross-build, balena-idle, etc.
As far as I can tell they only exist to fill a gap because armv6 is not available from official debian base images. You can see the need by comparing these two Dockerfiles.
https://github.com/balena-io-library/base-images/blob/8e39e5184f4ebca0bd95411b159e98557f8e3f9b/balena-base-images/rpi/debian/buster/run/Dockerfile#L1-L2
https://github.com/balena-io-library/base-images/blob/8e39e5184f4ebca0bd95411b159e98557f8e3f9b/balena-base-images/armv7hf/debian/buster/run/Dockerfile#L1-L2


Audio bus select effect fixed

Make the appropriate selection of the effect on the audio bus.

Select an effect on more than one Audio bus the other ones remains selected, so if you press the Delete key you can delete one effect selected at a time of each diferent Audio bus.

Create a new node in the scene and create and select a Audio bus effect, then select the new scene node and press the Delete key to delete the node, the effect will be deleted instead.

Pull requests should be opened against the master branch (unless they can't be applied there for some reason). We can then cherry-pick them to the 3.2 branch.

 Currently your changes are based on 3.2 even though the PR targets master, which causes all commits from 3.2 to display here. For more information, see this documentation article: https://docs.godotengine.org/en/latest/community/contributing/pr_workflow.html

I need use the master banch? i made it from the 3.2.3_rc6. @Calinou

@DashCell Yes, you need to use the master branch. As stated in the PR template:
<!--
Pull requests should always be made for the `master` branch first, as that's
where development happens and the source of all future stable release branches.

Relevant fixes are cherry-picked for stable branches as needed.

Do not create a pull request for stable branches unless the change is already
available in the `master` branch and it cannot be easily cherry-picked.
Alternatively, if the change is only relevant for that branch (e.g. rendering
fixes for the 3.2 branch).
-->


Detect expired session

A follow-up issue after implementing https://github.com/lightninglabs/lightning-terminal/pull/300.
Currently there is no way for the client to distinguish between LiT not being online vs. a session having expired.
The client just tries to re-connect infinitely, even if a "mailbox does not exist" error is returned.
Perhaps we should start looking at the exact errors returned by the mailbox proxy and add a counter for some of them and abort after a certain number of retries. Then we could present the user with an error message, something like "server did not create mailbox; session not started or expired".

another thing we can also report back is "session already in use" meaning that the user probably has another tab open that they have forgotten about.

as for expiry, this is slightly tricker and I think needs to be handled in the layer above lnc (ie, in TW). Cause there we can get the macaroon on first connection and glean the expiry there using the OnAuthData call back

closed by https://github.com/lightninglabs/lightning-node-connect/pull/41 and https://github.com/lightninglabs/lightning-node-connect/pull/44


Hide sensitive info from headers is not working

Description
After the refactor on the reporter templates, hide sensitive info from headers is not working. It shows the real data instead of "<sensitive information>"
How to reproduce
Create a config file .scanapi.yaml with the content:
docs:
  hide:
    headers:
      - Authorization

Run scanapi with this config file and set an Authorization header inside the api specification:
api:
  base_url: ${BASE_URL}
  headers:
    Authorization: token123

The word token123 will appear in the report, instead of "<sensitive information>"

oops 😬


Upgrade kubectl (currently 1.21.10)

Is your feature request related to a problem? Please describe.
The used version of kubectl inside the provided container-image (based on Dockerfile from this repository) uses an outdated version of kubectl (1.21.10 as of writing this issue).
Describe the solution you'd like to see
I think upgrading to version 1.25.x would be a nice step forward. This ensures API compatibility from 1.23 to 1.27 and 1.25.x is still supported upstream.
Describe alternatives you've considered
One alternative would be to provide images with multiple versions of kubectl. But that would increase the image size. The second alternative would be to provide multiple images with different version to still provide best backwards compatibility.

@BernhardGruen, thank you for pointing this out. I think the best option to resolve the problem is to remove kubectl from the container image. Let me explain why.

Shell-operator now has a Kubernetes patcher, which is a powerful tool to work with Kubernetes objects. Most kubectl operations can be substituted with it. The listing of objects can be done through kubernetes bindings. As of today, we are considering using kubeclt as an edge case.

Shell-operator is tight to the kubectl Kubernetes version compatibility matrix. Updating kubectl in the image may break user installations. By abstaining from controlling the kubectl version, we can save users from accidental breaking changes.

We are in Flant using the alternative approach you have described. There is our wrapper for kubectl that picks the version according to the version of the cluster. However, I'm afraid it does not apply to generic cases when users control their Kubernetes clusters themselves.
For now, rushing and removing kubectl from the image is not wise. We can just agree that kubectl should be in sync with the apimachinery library dependency.


Added three React JS course titled React Tutorial

What does this PR do?
Add resource(s)
For resources
Description
Why is this valuable (or not)?

It covers entire react js for someone to develop a scalable web app.

How do we know it's really free?
For book lists, is it a book? For course lists, is it a course? etc.
Checklist:

[ ] Read our contributing guidelines.
[ ] Search for duplicates.
[ ] Include author(s) and platform where appropriate.
[ ] Put lists in alphabetical order, correct spacing.
[ ] Add needed indications (PDF, access notes, under construction).
[ ] Used an informative name for this pull request.

Follow-up

Check the status of GitHub Actions and resolve any reported warnings!

Duplicate of #9691


Enable 3rd party release custom checks

Add logic that collects custom datadog checks from 3rd party releases.
Scripts placed in
${JOB_PATH}/config/datadog-integrations/${checkname}.py
will be copied to checks.d directory of the datadog agent. Configuration for these checks can be done using already built in 3rd party configuration merging functionality. Simply - put the config in the same directory and ensure it has .yaml suffix.
This functionality will break datadog-agent job startup if it finds two custom checks with the same name. This is so that it doesn't overwrite checks and doesn't fail silently when it's not clear which check should be used.
Example of use case: https://github.com/alphagov/paas-datadog-for-cloudfoundry-boshrelease/tree/master/jobs/datadog-bbs

spec file links to check that is in the submodule. This will include it in the bosh release and it will then be picked by the collect script

Pretty interesting, I didn't even realize this was there! Thanks for the contribution, this makes a lot of sense.
Sorry for the late reply!


extra blank slide when using array

I seem to be getting a blank slide at the end when using a dynamic array to generate my slides.
import React, {PropTypes} from 'react'
import OwlCarousel from 'react-owl-carousel'

class Carousel extends React.Component {

    constructor(props) {
        super(props);

        this.options = {
            autoplay: true,
            loop: true,
            nav:true,
        }

    }

    render() {
        return (<OwlCarousel className="owl-theme" {...this.options}>
            {this.props.slideItems.map((item, idx) => {
                        let image = <img src={item.src} alt={item.alt ? item.alt : `Carousel Image #${idx}`} className={'image' + idx}/>
                        return (

                                {image}

                        )
                    })}
        </OwlCarousel>)
    }

}

export default Carousel

I have verified that my array only returns 4 results, but the carousel is generating 5 items with a blank one at the end.

I am having the same issue when loading the slides from an array, where an additional blank element is added. My implementation is similar to the above.

@dhill1 Did you fix it or find a work around ?

@ijosorio1022 no I was not able to solve this one

Here is how I solved this issue (for Meteor + React Project) -
OwlCarousel.js adds the empty slide not the React part of it.

Remove react-owl-carousel from your project

Download the react-owl-carousel zip package from git and extract it to temporary location

From the 'components' folder of the extracted content, copy the OwlCarousel.jsx to your project

Download the latest OwlCarousel.js (https://owlcarousel2.github.io/OwlCarousel2/docs/started-welcome.html)

Extract the zip file to temporary location then copy the OwlCarousel.js to your project

While you are there you can also copy the css files to your project

Open the OwlCarousel.js from your project and go to 'Owl.prototype.replace = function(content) {'
(should be around line 1289)

In that function find '}).each($.proxy(function(index, item) {'

Add the following code just under this.$stage.append(item);
``
 	let i = item[0].children[0];
 	let clsNm;
 	if(i){
 		clsNm = $(i).attr('class');
 	}
 	if(clsNm !== 'owl-stage') {
                    this._items.push(item);
                 }

Don't forget to change 'import' statements to the OwlCarousel.jsx that is in your project

In all fairness I did not do a lot of testing with this change but it seems to work perfectly good.

It's work.

I am having the same issue, I was resolved it by checking array length code as follows:
//This is my array
let ImageList = $.map(this.state.data, function (data, index) {
if (parseInt(this.state.selectedcaseitem) === parseInt(index)) {
return (
$.map(data.screenshots, function (d, i) {
return (

);
}.bind(this))
            );
        }
    }.bind(this));

And the length checking should be

{ImageList.length>0?
<OwlCarousel {...options} className="owl-theme" >
{ImageList}
:""}

Checking the array length works.
{this.state.posts.length>0?
        <OwlCarousel ref="car" options={options} events={events}>

          {this.state.posts.map( (post) =>

{ post.name }

         )
       }

          </OwlCarousel>
          :""}

i solve this in react-owl-carousel just using this css property .owl-item.active:first-child { display: none; } this is my setup
                        return(

                                        {art.categories.peek().name}

                                    <Link to={`/articulo/${art.permalink}`}>

                                    </Link>

                                        <Link to={`/articulo/${art.permalink}`}>
                                            {art.title}
                                        </Link>

                                {methods.checkVideoArticle(art)}

                                    {art.highlight}

)

this solution fix my problem.


Race condition in route update status with different gateway controllers

What happened:
I was in the process of implementing the tcproute status management in our gateway controller and I realized  that as any route can refer to multiple and different gateways there could be a race condition in the update of status.
What you expected to happen:
A merge operation should happen to deal with multiple and different sources of status updates (= different controllers).
How to reproduce it (as minimally and precisely as possible):
For example, suppose we deal with this route:
apiVersion: gateway.networking.k8s.io/v1alpha2
kind: TCPRoute
metadata:
  name: route1
  namespace: ns1
spec:
  parentRefs:
    - name: mygateway
    - name: othergateway
  rules:
    - backendRefs:
        - kind: Service
          name: tcp-echo-server
          port: 9000

mygateway is managed by my controller but not othergateway. At the creation of this route, my controller and the controller of the other vendor will try to update the status of this route with a likely race condition.
Anything else we need to know?:

cc @apelisse

Pretty sure the docs have a page about this but I couldn't find it today, so I'll try to re-iterate quickly some of the points.
Updating status is not really different from updating spec (except you need to run the operations against the status sub-resource), the operations that you can do to deal with concurrent updates are the same:

You can do an update, by doing a GET (which gets the resourceVersion of the object), make changes to that object, and UPDATE (which should still have the resourceVersion of the object that you got). If the object has changed in the mean time (and its resourceVersion has been updated), the request will automatically be rejected, forcing you to try again. That's the very basics of optimistic locking.
You can send a patch and hope for the best, the patch will be merged (I'm not going to go into the depth of the semantics of this merge, but ...). Lists are tricky, they usually don't merge well, so you're very likely to still cause problems
Use server-side apply, it will also merge in the server but will usually work better. Lists are still problematic to be honest, in general, try using the markers for your lists (https://kubernetes.io/docs/reference/using-api/server-side-apply/#merge-strategy).

As @robscott noted in the community meeting today, currently the Route status is designed so that each list item should be able to be updated independently by the owning controller (because the status is distinct by both controllerName and parentRef). However, we can't easily use the merge strategy markers, because one of the indicies are not a scalar (parentRef is a struct).
So it seems like we have two options:

add some field that disambiguates the RouteParentStatus struct in a single key (maybe some auto-generated concatenation of the fields of the ParentRef?), then use that as a merge key. This would ensure that the api-machinery mechanisms will solve this problem correctly, but is a fair amount of api churn.
Document that changes to status must always be done with a full update cycle (that is, GET the object, mutate the status to add your changes, then UPDATE the status, retrying if the resourceVersion causes the update to be rejected.). This puts more work onto maintainers, but requires no api changes (and so could be done more quickly).

I'm kind of in favor of option 2, personally (since that's what we've done in all the controllers that I've worked on anyway), but interested in other's thoughts here.

We would like to have this improvement and would definitely welcome a contributor taking this on:
/help
We don't expect this needs to hold up our GA Release, but we've placed it in v1.0.0 as it would be nice to have for that release.

We're getting closer to the GA release and need to reduce the things which we say are needed for the release in order to promote focus on release blockers, so we're pulling this from the milestone (but still want to get it done post-GA).


Fixed issue with css overwriting the cljs views for "Clear completed"

See #94.
Fixes the issue with the "Clear completed" being rendered from the css and not the cljs code and also correctly fires the event to clear todos. I think the css was a little weird for Firefox and didn't allow the event to be fired because of visibility:none?
Though this does not solve the issue with the view of the check-boxes in Firefox.
I wonder if this css was added for moble? Also in the cljs code it wants to render like...
"Clear completed #" I just commented the # part out. Not sure if that is wanted anymore or not.

@mike-thompson-day8 you closed #94 with a comment stating that you are looking for a PR that fixes the problem mentioned in that issue. This fixed it for me, can you take a look at it?

You need to use the official css which is the issue. I will check later today if the css is updated or not but I think mike has already checked. Until then I am going to close this.


Add ability to route through proxies

Originally reported on Google Code with ID 280
What steps will reproduce the problem?
1. Add a new option to specify proxy
2. Enter proxy
3. URLs will route through proxy now.

What is the expected output? What do you see instead?
No option to add proxy.

On what operating system, browser and browser version?

Please provide any additional information below.
This will help in testing the proxies as well.

Reported by er.prabhjots on 2014-10-12 08:46:55

The app is using Chrome settings for proxies. There is an API to manage Chrome proxies but it only manages Chromes global settings. Therefore it won't be implemented. It could be done using simple Chrome settings panel.

Actually there is a different issue. Chrome apps can't control Proxy settings. There's no API for that.


PreserveExiffData makes gif look weird

Sorry for the image heavy issue, but that's all I have right now :)
When running this code:

On this file:

The result is a bit weird:

If I turn off the PreserveExiffData it looks fine.
Using the following packages:
<package id="ImageProcessor" version="<IP_ADDRESS>" targetFramework="net461" />
<package id="ImageProcessor.Web" version="<IP_ADDRESS>" targetFramework="net461" />

Hey @mortenbock , Sorry I have't forgotten about this, just been focusing hard on ImageSharp.
System.Drawing stores some really odd things in the PropertyItems collection that really should be separated out so I'll have a look and see what is getting preserved or altered that shouldn't be. Gifs are a bit  of a nightmare to work with since the System.Drawing support is so poor.

No rush. I don't need the exiff data at the moment, but just thought it was a bit weird that it had this kind of impact :)

Fixed as part of https://github.com/JimBobSquarePants/ImageProcessor/commit/62306ea8833219620280b1a2b73e8e391a2df62d
Turns out I was reverting to the default System.Drawing encoder on save which couldn't seem to handle the  property items. With my augmented encoder I can't preserve the data anyway as I have to inject code into the byte stream in order to make animations/transparency work.


Use a filter with mipmaps when initializing textures with mipmaps in GL Compatibility renderer

This works around a driver bug in some older devices and should be harmless on any spec-compliant device
Fixes: https://github.com/godotengine/godot/issues/78644

Thanks!


Flip not working ?

Hi, Thanks for your code,
My camera is up side down, I wanted to flip the image using the flip = True but nothing... I tried also to change the value in np.flip(frame,-1) , np.flip(frame,1) .... but nothing....
Any solution to help ?
thanks

I also tried to use cv.flip(frame,-1) but nothing....

Did you solve it?

I could solve this by adding self.flip =True and it works :
def init(self, flip = True):
self.vs = cv2.VideoCapture(0)
...
self.flip = True


Separate input/output aliases

Feature Request
Coming from marshmallow there are a number of questions/feature ideas so I hope this is not too spammy. Currently, pydantic allows (de-)serializing using attribute aliases which means that if I want to deserialize from one alias and serialize to another one, I need two models:
objA[JSON] -> InModel[BaseModel] -> OutModel[BaseModel] -> objB[JSON]

in marshmallow instead I can specify separate aliases such that above manipulations become:
objA[JSON] -> Model[BaseModel] -> objB[JSON]

I completely understand if this is low priority right now but do you think this is desirable at all?

it wouldn't be hard to do either using Config.fields or Schema.
Let's see if other people what this...

Im wondering if this covers something similar to what im experiencing - fields in an object contain hyphens which are not python compatible when defining variables in my model.  I therefore have been using the config field to reformat the hyphens to underscores. However, this means I have to do some manipulation when inserting my object into a DB as now the output of my object contains underscores due to the models config. Therefore i must reformat the underscores back to their respective hyphens. Is there a way of setting an alias for a model so that objectA(hyphenated) > Model (underscored) > ObjectB(aliased & hyphenated again)?

can't you just use dict(by_alias=True)?

It would appear that this is likely user error on my part although having used dict(by_alias=True) i dont seem to be able to invoke the change to utilise the alias. I'll dig into your docs more tomorrow to see if I can fix. thanks for the quick reply


Optimize clone and extend

Some small performance wins I found while integrating ThinVec into rustc.

Best reviewed one commit at a time.

Thanks!


logged-in user as filter?

Hello,
I found how to set user when editing, using "preset user: logged-in".
Would it be possible to filter list view using the same mechanism? Or a "public-mine-allUsers" option?
Or did I miss something?
Thanks!

in a future version you will be able to choose the type's Presets (incl. logged in user) as a filter value.

Thanks Tom!
Hope it'll come soon :)


Panel (Left) reopens when manually resizing Side Bar

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

VS Code Version: 1.64.2
OS Version: macOS 12.2 (Darwin x64 21.3.0?)

Steps to Reproduce:

Move "Panel Left"
Hide Panel via cmd J
Resize Side bar

@sbatten
https://user-images.githubusercontent.com/30884079/154558460-39b963a7-f72a-454b-8ea0-0918c83e5103.mov

Issue seems to have resolved itself. Can close the issue


Not really an issue but feature request

Cocoapods support and will be good to see social sharing in this menu.

Hi @randeepbhatia , I added CocoaPods support (I guess it takes some time to be available).
What do you mean by "social sharing" ? You should be able to implement it with the delegate methods. (Check the sample code, the delegates are not documented here yet, sorry :) )


refactor: Unexport server struct

Server struct is not used on clients, so I unexported it.
While unexporting, I figured out it could also exist as an embedded attribute of Minimemcached struct.
If you think this decreases readability, please leave a review comment about it.

I think other things should also be unexported.

GET
GETS
CAS
SET
TOUCH
ADD
REPLACE
APPEND
PREPEND
DELETE
INCR
DECR
FLUSH_ALL
VERSION
Item
Item.Value
Item.Flags
Item.Expiration
Item.CASToken
MiniMemcached.CASToken

I think users don't need to access these things.


NSX-T Manager Support

Added a function to support NSX-T Manager deployments

Looks ok

Seems I closed the PR after entering my review.
Let me try that again.
Review was ok


Adding ESRIServerSource and GeoJSONSource

Hey @tjwebb wanted to send these over - still need to do some testing but wanted to run them by you first.
GeoJSONSource - this one should be fairly straightforward as it is a single file and Fiona can read the file natively
ESRIServerSource - I added a package that can handle the transformation of ESRI JSON to GeoJSON, as well as loop through a layer request since the ESRI REST API generally limits features that can be requested to 1000 or 2000. I can write some of this code natively or we can use the package, but not sure if we want to limit the dependencies. The package in question is here.
https://github.com/openaddresses/pyesridump
Also any tips for testing locally would be great!

Hey Matt, this is awesome. I will review this weekend.


enh: Allow setting TTS voice selection per model

Have integrated openedai-speech, and now realized that an amazing change would be to have the ability to set specific voices when creating new models.

Great suggestion! PR Welcome!

add this to production build

Yes, please!


[stable/jenkins] Render error when setting master.useSecurity to false

Setting master.useSecurity to false will result in an empty env entry within the masters initContainer.
jenkins-master-deployment.yaml
spec:
[...]
  template:
    [...]
    spec:
    [...]
      initContainers:
        - name: "copy-default-config"
          [...]
          env:

Well. That may be as it is. But the issue persists.

@knoppiks Do you want to create a PR to resolve this?


docs: add docs for DataFrame and Series dunder methods

Thank you for opening a Pull Request! Before submitting your PR, there are a few things you can do to make sure it goes smoothly:

[ ] Make sure to open an issue as a bug/issue before writing your code!  That way we can discuss the change, evaluate designs, and agree on the general idea
[ ] Ensure the tests and linter pass
[ ] Code coverage does not decrease (if any source code was changed)
[x] Appropriate docs were updated (if necessary)

__add__: https://screenshot.googleplex.com/8ZLiQJLZPTWEZdg
__radd__: https://screenshot.googleplex.com/5Rn7Bn8guqBrBTD
radd: https://screenshot.googleplex.com/C5KVoZCNTL9oiHq

Fixes internal issue 304747371 🦕

Were any of these docstring or examples derived from the pandas documentation? If so, they need to be moved to third_party.

DataFrame.__array__ is one case that could be debated. There is no pandas DataFrame.__array__ documentation, so I put BigFrames DataFrame.__array__ directly. There is pandas Series.__array__, so I added BigFrames Series.__array__ in third party. For consistency I kept wording of DataFrame.__array__ close to Series.__array__. Is that acceptable?

adding docstring with code samples directly in our classes which are worded similar to their public versions

Anything derived from third-party content needs to be in the third-party directory.

adding docstring with code samples directly in our classes which are worded similar to their public versions

Anything derived from third-party content needs to be in the third-party directory.

Done.


Correct an invalid null check

Motivation
The condition is simply wrong. It checks if serviceURL IS null, and then use it.
It causes NPE if serviceUrl is not specified in a config file.
Modifications
Correct the condition to check if the variable IS NOT null.
Result
pulsar-client shows the usage without NPE.

CLA is valid!


refactor: move e2e test helpers to e2e-core package

Description of changes
This PR moves auth related e2e helper functions to amplify-e2e-core so that they can also be used in the amplify-migration-tests package.

Description of how you validated changes
Checklist

[x] PR description included
[x] Pull request labels are added

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Codecov Report

:exclamation: No coverage uploaded for pull request base (feat/replace-lambda-callouts@9b69f89). Click here to learn what that means.
The diff coverage is n/a.

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
@@                       Coverage Diff                       @@
##             feat/replace-lambda-callouts   #12627   +/-   ##
===============================================================
  Coverage                                ?   47.73%
===============================================================
  Files                                   ?      847
  Lines                                   ?    38504
  Branches                                ?     7903
===============================================================
  Hits                                    ?    18381
  Misses                                  ?    18488
  Partials                                ?     1635

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Add extensions build, and a container images upload task

@sherine-k - I'll take a look and try run this locally for verification

/hold
waiting for https://github.com/openshift/os/pull/991 to be merged first

Tested locally, and even pushed the first base and extensions images to quay :tada:
@sherine-k @lmzuccarelli please take another look and merge at will

/lgtm


made env upload category more specific

closes: https://github.com/opendatahub-io/odh-dashboard/issues/1206
Description

When secret upload was added, the category for the env upload was "upload" for both secrets and config maps. B/c the upload for secret was checked first, uploaded envs would always be created as secrets.
How Has This Been Tested?

create a workbench with an uploaded config map and make sure it is created as a config map and not a secret
Test Impact

no impact
Request review criteria:

[x] The commits have meaningful messages (squashes happen on merge by the bot).
[x] Included any necessary screenshots or gifs if it was a UI change.
[x] Included tags to the UX team if it was a UI/UX change.
[x] Testing instructions have been added in the PR body (for PRs involving changes that are not immediately obvious).
[x] The developer has manually tested the changes and verified that the changes work
[x] The developer has added tests or explained why testing cannot be added (unit tests & storybook for related changes)
no ux changes

/assign @andrewballantyne


Starting a new deck, adding a card, and then deleting the deck removes the card from the app completly

I started a deck, added a card, and then couldn't figure out how to remove the card so I deleted the deck. Now I can't access the card anywhere. reproduced this with another card and even uninstalling/reinstalling HSTracker didn't fix it. Any ideas on what I can do to get up and running?

This just happened to me with Hunter's Mark now the card is bugged completely. :(

@Setirii RIP Zombie Chow for me ;)

To delete the card from the deck, simply double-click the card.
I think I know where is the problem. I'll try to check this tomorrow (10pm here)

@Setirii if this bug is the same as yours, could you please close your issue ?

ok awesome! Thanks, man.

@bmichotte mine is a similar issue but not exactly the same. mine is showing in the collection but is bricking decks if it is put in them.

Hey guys, could you please download and install this https://www.dropbox.com/s/p5649r4rya12ygz/HSTracker.pkg?dl=0
Once installed, open HSTracker and choose "Rebuild card database" from the "HSTracker" menu. It will restart the app and rebuild the database.
Let me now if your issue is corrected after that

It worked! Thanks, man! Really appreciate the quick fix.

Nice, glad to hear that... now, let's see with @Setirii

Works like a charm for my issue as well will take down my other bug.

Excellent ;)


Memory allocation on TryFirst()

It seems that calling TryFirst() on a group will cause an allocation of 48B every time it's called.

Example:
if (GroupInputs.TryFirst(out Write<Components.CharacterInput> inputItem))

This was a boxing issue. The GetEnumerator call in the TryFirst extension would box the struct enumerator. I have resolved this issue by adding a IEnumerable<TEnumerator, TItem> interface which removes all allocations for operations that don't require allocations such as TryFirst.
As a bonus, the previously required item type out Write<Components.CharacterInput> inputItem (required for generic type resolution) doesn't need to be specified anymore. A simple out var inputItem will work as it should.
Note that the Entia.Core namespace must be in use for the compiler to resolve to the appropriate extension.
This fix will be available in the next Entia release.


Hide systray icon

Summary of the new feature/enhancement
Reduce UI clutter by removing systray icon
Proposed technical implementation details (optional)
Add an option to hide the tray icon.
Settings could be accessed by running the app from the Start menu, in place of right-clicking the tray icon.
Why? For me, the usage of this app is a passive enhancement to Windows' default behaviour. I set up the FancyZones one time, and that's it, I never need to interact with the app settings again, it starts automatically, and I need not exit it.... And yet, I now need to have an icon permanently residing in my systray, providing two functions I would never need.

Hi @xcasxcursex
thank you for your feedback. Closing this as duplicate of https://github.com/microsoft/PowerToys/issues/765
Feel free to add your comments there.
Thank you.

My apologies... I searched for tray and systray and came up blank :/


mkchain: eliminate dependency on docker by using pytezos for keys.

Research and code for #89.

The force push was just to remove a couple of imports that were no longer necessary and made lint fail.

It may be that pytezos should go somewhere in setup.py.
Likely the readme should also be updated. You shouldn't need docker and minikube when using pytezos. Helm would still work if you are deploying the chart with gend values to another cluster.

Pytezos has external dependencies: https://pytezos.org/quick_start.html#requirements
The readme should mention. Maybe they can be listed in setup.py and their necessity be dependent upon the OS running?

I am getting an error with mkchain, but it's probably due to some missing lib on fedora 33.
  File "/home/nochem/workspace/tezos-k8s/mkchain/venv/lib/python3.9/site-packages/pytezos/crypto/key.py", line 279, in from_mnemonic
    _, secret_exponent = pysodium.crypto_sign_seed_keypair(seed=seed[:32])
  File "/home/nochem/workspace/tezos-k8s/mkchain/venv/lib/python3.9/site-packages/pytezos/crypto/key.py", line 38, in __getattr__
    raise NotImplementedError(
NotImplementedError: Please, install packages libsodium-dev, libsecp256k1-dev, and libgmp-dev, and Python libraries pysodium, secp256k1, and fastecdsa

If I understand correctly, we are not making pytezos an explicit dependency, but if it is there, we use it. Isn't it better to make it explicit with a --no-docker flag?
I could confirm that the docker method still works, at least.

I added two flags: --use-docker and --no-use-docker. If you specify one, then you get the behaviour that you asked for. If you don't, then we still autodiscover what's there prefering pytezos.

Thanks Roland! can you please add the flags to the readme?

--use-docker still crashes for me because I suppose it crashes during lib import
[venv] nochem@peck ~/workspace/tezos-k8s () $ mkchain nico --use-docker
Traceback (most recent call last):
  File "/home/nochem/workspace/tezos-k8s/mkchain/venv/bin/mkchain", line 33, in <module>
    sys.exit(load_entry_point('mkchain', 'console_scripts', 'mkchain')())
  File "/home/nochem/workspace/tezos-k8s/mkchain/venv/bin/mkchain", line 25, in importlib_load_entry_point
    return next(matches).load()
  File "/usr/lib64/python3.9/importlib/metadata.py", line 77, in load
    module = import_module(match.group('module'))
  File "/usr/lib64/python3.9/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
  File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 855, in exec_module
  File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
  File "/home/nochem/workspace/tezos-k8s/mkchain/tqchain/mkchain.py", line 8, in <module>
    from tqchain.keys import gen_key, get_genesis_vanity_chain_id, set_use_docker
  File "/home/nochem/workspace/tezos-k8s/mkchain/tqchain/keys.py", line 10, in <module>
    from pytezos import pytezos
  File "/home/nochem/workspace/tezos-k8s/mkchain/venv/lib/python3.9/site-packages/pytezos/__init__.py", line 13, in <module>
    from pytezos.client import PyTezosClient
  File "/home/nochem/workspace/tezos-k8s/mkchain/venv/lib/python3.9/site-packages/pytezos/client.py", line 5, in <module>
    from pytezos.block.header import BlockHeader
  File "/home/nochem/workspace/tezos-k8s/mkchain/venv/lib/python3.9/site-packages/pytezos/block/header.py", line 14, in <module>
    from pytezos.sandbox.parameters import sandbox_params
  File "/home/nochem/workspace/tezos-k8s/mkchain/venv/lib/python3.9/site-packages/pytezos/sandbox/parameters.py", line 53, in <module>
    Key.from_faucet(sandbox_commitment).blinded_public_key_hash(),
  File "/home/nochem/workspace/tezos-k8s/mkchain/venv/lib/python3.9/site-packages/pytezos/crypto/key.py", line 304, in from_faucet
    key = cls.from_mnemonic(
  File "/home/nochem/workspace/tezos-k8s/mkchain/venv/lib/python3.9/site-packages/pytezos/crypto/key.py", line 279, in from_mnemonic
    _, secret_exponent = pysodium.crypto_sign_seed_keypair(seed=seed[:32])
  File "/home/nochem/workspace/tezos-k8s/mkchain/venv/lib/python3.9/site-packages/pytezos/crypto/key.py", line 38, in __getattr__
    raise NotImplementedError(
NotImplementedError: Please, install packages libsodium-dev, libsecp256k1-dev, and libgmp-dev, and Python libraries pysodium, secp256k1, and fastecdsa

I still have not spent enough time to figure why pytezos does not work on fedora 33 but I guess other people could run into this so more protection is needed.


nested stack plot axis problem in 1.9.8

When we have a nested stack plot, the axis domain gets multiplied by the number of nested tiers. Eg.: if a unnested data such as .id("a") has its y-axis limits autoset to 0,10, then the nested version .id(["a","b"]) gets limits 0,20, .id(["a","b","c"]) gets limits 0,30, and so on. In V1.7 this was OK, so it is a remnant of the restructuring the Buffer I think...
http://jsbin.com/yeyovumiga/edit?html,output

This problem was introduced with the new behavior of fixing the axes for all-time: https://github.com/alexandersimoes/d3plus/wiki/Visualizations#time
I will be switching the default back to false for the next release, but for now you can turn it off manually like this: http://jsbin.com/semacikoto/edit?html,output


Typo in the challenge description

Challenge Name
https://beta.freecodecamp.org/en/challenges/basic-html-and-html5/uncomment-html
Issue Description
Typo in the challenge description
... displayed the to the end user
Screenshot

i would like to do it :)

i would like to work on it

so would i..  :-)

Would love to work on this


Support {:system, env_var} notation for loading config from ENV.

We would like to load the CANONICAL_HOST from the environment, since we're using the same compiled app across two envs (stage and prod). I couldn't find an easy way to do this, as the combination of compilation and plug macro expansion results in the fetch'd value being compiled in to the Endpoint.
The {:system, env_var} convention is a phoenix thing that I think other people have adopted.
This PR maintains the old functionality while also allowing configuration like this:
defmodule PhoenixApp.Endpoint do
  use Phoenix.Endpoint, otp_app: :phoenix_app
  plug PlugCanonicalHost, canonical_host: {:system, "CANONICAL_HOST"}
end

What do yo think? If you're into it, I will add some tests.

The {:system, env_var} convention is a phoenix thing that I think other people have adopted.

Oh, I didn’t know about that, do you have some reference for it?

Looks like it’s present in Phoenix but there are several code comments that mention its deprecation:
# TODO v1.4: Deprecate {:system, env_var}

@remiprev Yeah, I saw that too. This thread is related:
https://groups.google.com/forum/#!msg/elixir-lang-core/GwR7b9OVRcc/X7Emp7sxEAAJ
So I agree, it may not be a convention that is long lasting. That's unfortunate because it's nicer than the alternative IMHO.

Hi @christiannelson,
I’m going to close the issue since we now provide a nice way in the README.md to use an environment variable at runtime.
Thank you!


Main to prod-beta

Codecov Report
Patch and project coverage have no change.

Comparison is base (52f437a) 21.41% compared to head (9c6a657) 21.41%.

:exclamation: Current head 9c6a657 differs from pull request most recent head f46f6a4. Consider uploading reports for the commit f46f6a4 to get more accurate results

Additional details and impacted files
@@            Coverage Diff             @@
##           prod-beta     #211   +/-   ##
==========================================
  Coverage      21.41%   21.41%
==========================================
  Files             42       42
  Lines            864      864
  Branches         155      155
==========================================
  Hits             185      185
  Misses           632      632
  Partials          47       47

Impacted Files
Coverage Δ

...nents/ServiceNotConfigured/ServiceNotConfigured.js
0.00% <ø> (ø)

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Suggestion: Limit stats to 2 decimal places

To help remove confusion for situations like this.
6.37 not 6,370

We have a dynamic rounding system, so the bigger the number, the less decimal is shown.
This looks like a reading comprehension problem, since we do not use thousand separators on the site...

I was going to post something like this except recommend rounding to a whole number in most cases honestly.  And I will say... while it is definitely a reading comprehension issue, it's because it is easy to miss the decimal.  I've made a similar error in the past myself and when I was introducing my sister to the site today, she made the same exact error, thinking that it was saying something like 2040 extra instead of 2.040.
If you're glancing at a page full of numbers, it's pretty for your eyes to skim over a decimal point or ignore it when you're comparing a bunch of numbers in the thousands and then one that happens to come in at 6 or negative 6 with several mostly meaningless decimals after them.  If we're talking about a difference of .1 to .9, we're really talking about the same value as far as Genshin is concerned as well.  Maybe not at the code level, but from a functional standpoint and comparing it to what you see in the game on your character and artifacts.
So to that extent, I would say it is a UI issue addressed at minimizing the effort required to take in the information the site is spitting out quickly and easily (i.e. the effort for reading comprehension :))-- is it critical?  Absolutely not.  But very few of the numbers that Genshin Optimizer spits out really benefit from decimal points either when you're reviewing the data.  So you lose a little granularity while making it easier to make quick comparisons.   (That might not be the case when you're debugging, of course.)


orElse and orElseEither for JsonCodec

first contribution to zio-json.
feedback appreciated, please let me know if missed the boat :)
thank you

@yisraelU I know that i’s slightly confusing, but please open against the zio2 branch.


Are the quoted accuracies correct in the README?

Hello @SanghunYun,
This is a very clean implementation of UDA - thank you for sharing it!
I have a question about the accuracies quoted in the the README:

From the screenshot, one sees the accuracy on the validation set is quite low (62.5%) while the value of 88.45% is the one quoted in the comparison against the published version of UDA.
My question is why is there such a difference between the two values?
I ran your UDA script using the default values in the config
python main.py \
      --cfg='config/uda.json' \
      --model_cfg='config/bert_base.json'

and I get significantly worse results:

Eval Acc=0.500
Accuracy : 0.661
Max Accuracy : 0.881

Did you run your script for more steps or use a longer sequence length than that used in the defaults? More generally, can you share the hyperparameters you used to get the good results?
Thank you!

You can check the setting of the paper's authors in their official code

Thanks for the tip @prd-tin-nguyen! Closing this issue since my question was answered :)


Add more robust tests for sf::Music::setLoopPoints

Description
While writing https://github.com/SFML/SFML-Website/pull/238 I realized that we don't test for certain edge cases.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>2
Details

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall first build on test_setLoopPoints at 56.891%

Totals

Change from base Build<PHONE_NUMBER>9:
56.9%

Covered Lines:
11978

Relevant Lines:
19908

💛  - Coveralls

I'm surprised to see zero code coverage changed. There are no other tests which call this function, and I'm fairly certain the new tests exercise new codepaths. I expected to see an increase in coverage. Has something about our code coverage config broken since the last time we were adding lots of tests?

Wonder if uploading only on PRs and not on push is causing some issue?

Wonder if uploading only on PRs and not on push is causing some issue?

That's a good point. It might be worth reverting https://github.com/SFML/SFML/pull/3281 to see if this problem resolves itself over time.


upkeep: rip public/

Since this will depend on seeing if the hugo.yml is able to rebuild and deploy the entire site without the public/ folder, the only real way to test it is to just merge this.
Note: nothing is really lost, as the public/ folder is very easily regenereted using the blogdown::build_site() command.
Closes #10

Also can't load this diff page to approve, du putting my approval here 😁

FYI. I'm hoping that removing the public folder means there are no more PRs that are this size XD

@cjyetman you didn't actually approve it

FYI looks like this didn't break anything! The website still builds and deploys to: https://rmi-pacta.github.io/
However, the action definitely won't build .Rmd (but that might actually be advantageous)
Relates to #22


Not possible to download map

After saving the project and compute the restoration map, I am trying to download the map. However, I get this error: get_ee_image() missing 2 required positional arguments: 'theme' and 'id_'.
What am I missing?

A temporary bug it seemed.


Feature Request: Email Verification

For security reasons, liveassist should have email verification.
When a user isn't verified, they cannot:

Post Content
Interact with content

However, they can:

View Content

While an account is unverified:

The account should be automatically closed after a certain period of time (probably < 1 week)

Please make any changes that would help accommodate this feature in the case of liveassist, and have a great day!

Closing due to inactivity


Update Readme

This readme is outdated. Update it with latest configuration examples

@ShahSunny It would be good if someone will update the readme. I don't remember the structure now. If you can assign it to someone it would be good as it is not a big task.

@shivamsharma Sure. We will pick this up next week.


Search is not excluding directories and files from .gitignore

Issue Type: Bug
When searching globally on my project, I'm getting results from files that are part of the .gitignore list.
I have the "Search: Use Ignore Files" disabled both on my User and Workspace settings.

Also, when searching, the Use Exclude Settings and Ignored Files is actived.

I've tried restarting Visual Studio Code and also my computer, but it didn't make a difference.
VS Code version: Code 1.65.2 (Universal) (c722ca6c7eed3d7987c0d5c3df5c45f6b15e77d1, 2022-03-10T14:33:49.188Z)
OS version: Darwin arm64 21.4.0
Restricted Mode: No

System Info

Item
Value

CPUs
Apple M1 Max (10 x 24)

GPU Status
2d_canvas: enabledgpu_compositing: enabledmetal: disabled_offmultiple_raster_threads: enabled_onoop_rasterization: enabledopengl: enabled_onrasterization: enabledskia_renderer: disabled_off_okvideo_decode: enabledwebgl: enabledwebgl2: enabled

Load (avg)
4, 6, 9

Memory (System)
64.00GB (38.78GB free)

Process Argv
--crash-reporter-id f6c3a385-505d-4640-8a53-e887ef3049da

Screen Reader
yes

VM
0%

Extensions (6)

Extension
Author (truncated)
Version

vscode-svgviewer
css
2.0.0

vscode-eslint
dba
2.2.2

gitlens
eam
12.0.4

vscode-graphql
Gra
0.3.52

vetur
oct
0.35.0

fig
wit
0.0.6

(1 theme extensions excluded)

A/B Experiments
vsliv368cf:30146710
vsreu685:30147344
python383:30185418
vspor879:30202332
vspor708:30202333
vspor363:30204092
vswsl492cf:30256860
pythonvspyl392:30443607
pythontb:30283811
pythonvspyt551:30345470
pythonptprofiler:30281270
vshan820:30294714
vstes263cf:30335440
vscorecescf:30445987
pythondataviewer:30285071
vscod805:30301674
pythonvspyt200:30340761
binariesv615:30325510
bridge0708:30335490
bridge0723:30353136
vsaa593cf:30376535
vsc1dst:30438360
pythonvs932:30410667
wslgetstarted:30449410
vsclayoutctrt:30451275
dsvsc009:30452663
pythonvsnew555:30450902
vscscmwlcmt:30438805
dockersurvey3:30453609
pynewfile477:30450038

I think your settings are telling VS Code to ignore (pay no attention to) the instructions in those files about which files to exclude from its searching. So VS Code behaves as if you have an empty (or no-existent) .gitignore file.

Wow.... thanks a lot @gjsjohnmurray
So simple and I was not seeing it. I was understanding with Search: Use Ignore Files that if this option was enabled, it would actually use all the ignore files when searching, but I was wrong.
Thanks for pointing it out. This is solved then.


⚠ ClamAV has degraded performance

In 6a9ff04, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 55 ms

Resolved: ClamAV performance has improved in 275208a.


Build always uses 1.8 as inferred project

I have a build machine on which I setup conductor builds (from a fork) a while ago (2017) and have been using it. This was 1.8 version at that time. Now I have synced from master to my fork and trying to build latest version but the inferred build still stays at 1.8. Is something cached in my system that is fixing the build at 1.8? I have tried to clean and run "./gradlew build".

Hi @manjurad, Conductor doesn't pin to any version number. Is it possible to build on a fresh clone of Conductor?

It wasn't on a fresh setup and it was an my environment


JS enhancements for "Add another" further conditions

Context
We added the ability to add and remove further conditions previously. This required refreshing the page each time though. This PR adds progressive JS enhancements for that feature to make filling out this form more smooth.
Changes proposed in this pull request
Add JS enhancements to further conditions form
Add JS system spec for the feature
Guidance to review
To test: Go though the flow in the review app. Try this with JS enabled and disabled and ensure the behaviour is the same
Link to Trello card
https://trello.com/c/u0fZBMtg/3613-implement-js-progressive-enhancements-to-infinite-offer-conditions
Things to check

[x] This code does not rely on migrations in the same Pull Request
[x] If this code includes a migration adding or changing columns, it also backfills existing records for consistency
[x] API release notes have been updated if necessary
[x] This code does not rely on the addition/removal of Azure config environment variables in the same Pull Request
[x] New environment variables have been added to the Azure config

One last thing I remembered is API conditions vs Manage conditions. I think we can do this in a followup PR as keen to ship this, but we need to catch the validation error when submitting an offer with over 20 conditions. This can be replicated by setting 20 further conditions, and then editing the form conditions and selecting the extra standard conditions and attempting to change the offer.

I've raised a bug card for that, we can pick up after


Pacman game

Aim
Build a pac man game
Description
Use html css and vanilla js
I would like to contrubute to this issue under GSSOC21

Closing issue as pacman already merged


Added CreateWorkItemEnvironment()

A collaborative effort with @pranavgore09 (did pair programming), @xcoulon (brain storming) and @aslakknutsen (initial idea)

@kwk snapshot fabric8-wit image is available for testing.  docker pull docker.io/fabric8/fabric8-wit:SNAPSHOT-PR-1682-1

@kwk snapshot fabric8-wit image is available for testing.  docker pull docker.io/fabric8/fabric8-wit:SNAPSHOT-PR-1682-2

@kwk snapshot fabric8-wit image is available for testing.  docker pull docker.io/fabric8/fabric8-wit:SNAPSHOT-PR-1682-3

@kwk snapshot fabric8-wit image is available for testing.  docker pull docker.io/fabric8/fabric8-wit:SNAPSHOT-PR-1682-4

@kwk snapshot fabric8-wit image is available for testing.  docker pull docker.io/fabric8/fabric8-wit:SNAPSHOT-PR-1682-5


Vertical scrollbar resizing not working

Applies To

[X] Notebooks (.ipynb files)
[ ] Interactive Window and/or Cell Scripts (.py files with #%% markers)

What happened?
The width of the vertical scrollbar is too small for my taste and I changed it to 30 under Editor>Scrollbar: Vertical Scrollbar Size. This works for all files except .ipynb.
See example:

On the left is a .yml file with a larger scrollbar and on the right is a Notebook with a small scrollbar
VS Code Version
1.73.1
Jupyter Extension Version
v2022.9.1303220346
Jupyter logs
No response
Coding Language and Runtime Version
No response
Language Extension Version (if applicable)
No response
Anaconda Version (if applicable)
No response
Running Jupyter locally or remotely?
Local

/duplicate https://github.com/microsoft/vscode/issues/154372


Multi-line Regexp

Hi, I'm trying to to add a custom mapper for a very old scripting language (LScript). It doesn't have a any sort of function keyword. A function is always at the topmost/global scope, and is defined if it precedes { and }.
So I wrote a simple regexp:
"^[A-z].*(?=\\n{)"
But this one doesn't work -- no result in CodeMap.
So I tried removing the newline lookahead:
"^[A-z].*"
And this one 'worked', but not my intended result. It seems like CodeMap is not able to use Regexp to process multiple lines? Is this possible to do?
This is an example of LScript code:
some_global_var=1;
some_global_string="Hello world.";
my_function
{
  info(some_global_var);
  call_other_function(some_global_string+some_global_var);
}
my_function: input
{
  info(input);
}
main // entry point
{
  my_function();
}

Yous you are right. The regex based parsing is performed line by line. Thus one cannot use multi-line regex expressions.
I think for the cases like yours a dedicated simple mapper is a better approach: https://github.com/oleg-shilo/codemap.vscode/wiki/Adding-custom-mappers.
It is actually much simpler than one may think. Have a look at Markdown syntax parser sample at the link above. It might be the approach that would want to go with.

@oleg-shilo Thanks! Yes it was easy and I eventually did my own custom mapper that way. Thanks very much for this useful extension. I never thought this would ever come around. Now I can finally do LS development in VS Code (I used to have to do it in Notepad++).  :-)

Glad you sorted it al out 👍

@faulknermano, @oleg-shilo
I am also interested to make a multi-line mapper.
This time for Verilog.
Could you paste here a simple, working example how you did it?

This is what you need: https://github.com/oleg-shilo/codemap.vscode/wiki/Adding-custom-mappers#mapping-with-a-dedicated-mapper

For what it's worth this is what I did for LScript (LightWave3D):
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const fs = require("fs");

class mapper {

    static read_all_lines(file) {
        let text = fs.readFileSync(file, 'utf8');
        return text.split(/\r?\n/g);
    }

    static generate(file) {
        let members = [];
        try
        {
            let line_num = 0;
            let prev_line = "";
            mapper
                .read_all_lines(file)
                .forEach(line => {
                    line_num++;
                    // line = line.trimStart();
                    if (line.startsWith("// SECTION:"))
                        members.push(`${line}|${line_num}|level1`);
                    else if (line.startsWith("{"))
                        members.push(`${prev_line}|${line_num-1}|function`);
                    prev_line = line;
            });
        }
        catch (error) {
        }
        return members;
    }
}
exports.mapper = mapper;

Do you mind if I include it in the extension distro?

@oleg-shilo not at all. Please feel free to!

Done. The LScript mapper (*.ld documents) is now a part of the default CodeMap distribution.
https://marketplace.visualstudio.com/items?itemName=oleg-shilo.codemap


Sink ignores inputSpecs in configuration yaml on create

Describe the bug
When creating a sink with an accompanying configuration yaml, I want to increase the receiverQueueSize so I have the following set in my configuration yaml
inputSpecs:
  sample_topic_name:
    receiverQueueSize: 1000000

however, my inputSpecs configuration settings are ignored after creation of the sink and receiverQueueSize is set to the default of 1000
To Reproduce

Create sink with pulsar admin cli
solr_kerberos_io-2.3.2.yml

pulsar-admin --admin-url https://sample-admin:6751 sink create \
--sink-config-file /data/connectors/solr_kerberos_io-2.3.2.yml

"Created Successfully"

Confirm sink settings

pulsar-admin --admin-url https://sample-admin:6751 sink get \
--tenant public \
--namespace default \
--name solr_kerberos

{
  "tenant": "public",
  "namespace": "default",
  "name": "solr_kerberos",
  "className": "org.apache.pulsar.io.solrcloud.SolrCloudSink",
  "inputSpecs": {
    "sample_topic_name": {
      "isRegexPattern": false
    }
  },
  "configs": {
    "solrUrl": "http://sample-solr:8983/solr",
    "loginConfigurationLocation": "/data/connectors/solr_kerberos_io_jaas.conf",
    "collectionName": "sample_collection",
    "documentQueueSize": "5000.0",
    "concurrentThreadCount": "25.0"
  },
  "parallelism": 3,
  "processingGuarantees": "ATLEAST_ONCE",
  "retainOrdering": false,
  "autoAck": true,
  "archive": "builtin://solr_kerberos"
}

Expected behavior
I expect the receiverQueueSize to be set to what I define it to be in the configuration yaml and not be overridden and/or ignored.
Desktop (please complete the following information):
NAME="Oracle Linux Server"
VERSION="7.6"
ID="ol"
VARIANT="Server"
VARIANT_ID="server"
VERSION_ID="7.6"
PRETTY_NAME="Oracle Linux Server 7.6"
Additional context
Pulsar Version 2.3.2. Sink is running on a cluster of function workers/brokers/proxies. When creating a function using the same inputSpecs yaml entry the receiverQueueSize is set correctly. This issue only seems to be related to sinks

Hello, according to the information you provided, we have reproduced your process, and the receiverQueueSize can be assigned normally.
solr-config.yml as follows:
tenant: public
namespace: default
name: solr_kerberos
inputSpecs:
  sample_topic_name:
    receiverQueueSize: 1000000
configs:
  solrUrl: http://sample-solr:8983/solr
  loginConfigurationLocation: "/data/connectors/solr_kerberos_io_jaas.conf"
  collectionName: sample_collection
  documentQueueSize: 5000
  concurrentThreadCount: 25
parallelism: 3
processingGuarantees: ATLEAST_ONCE
retainOrdering: false
autoAck: true

To Reproduce
➜  pulsar git:(master) ✗docker run -it -d  -p 8983:8983 --name pulsar-solr-docker solr solr-precreate gettingstarted

➜  pulsar git:(master) ✗ ./bin/pulsar-admin sink create --sink-config-file connectors/solr-config.yaml -a pulsar-io/solr/target/pulsar-io-solr-2.4.0.nar
"Created successfully"
➜  pulsar git:(master) ✗ ./bin/pulsar-admin sink get --tenant public --namespace default --name solr_kerberos
{
 "tenant": "public",
 "namespace": "default",
 "name": "solr_kerberos",
 "className": "org.apache.pulsar.io.solr.SolrGenericRecordSink",
 "inputSpecs": {
   "sample_topic_name": {
     "isRegexPattern": false,
     "receiverQueueSize": 1000000
   }
 },
 "configs": {
   "solrUrl": "http://localhost:8983/solr",
   "documentQueueSize": 5000,
   "concurrentThreadCount": 25,
   "collectionName": "sample_collection"
 },
 "parallelism": 3,
 "processingGuarantees": "ATLEAST_ONCE",
 "retainOrdering": false,
 "autoAck": true
}

Is there anyway you can confirm there is an issue in 2.3.2 or not, I will not be able to upgrade to the latest version right away and I don't want to keep trouble shooting in 2.3.2 if its not doable.

Is there anyway you can confirm there is an issue in 2.3.2 or not, I will not be able to upgrade to the latest version right away and I don't want to keep trouble shooting in 2.3.2 if its not doable.

I was able to confirm this was a 2.3.2 issue in SinkConfigUtils -> convertFromDetails method completely ignores the receiverQueueSize

Yes, the issue is fixed in https://github.com/apache/pulsar/pull/4091.
Unfortunately, he was not released to the 2.3.2 branch. This issue was fixed in 2.4.0. If you need it, you can cherry-pick this fix to branch-2.3 and put it in the 2.3.3 tag.


[BEAM-13009] Fix tests to ensure absence of duplicates only per request

The checks in previous tests were too strict and refused duplicates globally. However, deduplication is only per request to prevent API validation errors.
When running tests with low targetParellelism global duplicates may appear due to bundle sizes >= 25 (DynamoDB batch size). See details  here https://issues.apache.org/jira/browse/BEAM-13009

Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:

[x] Choose reviewer(s) and mention them in a comment (R: @username).
[x] Format the pull request title like [BEAM-XXX] Fixes bug in ApproximateQuantiles, where you replace BEAM-XXX with the appropriate JIRA issue, if applicable. This will automatically link the pull request to the issue.
[x] Update CHANGES.md with noteworthy changes.
[x] If this contribution is large, please file an Apache Individual Contributor License Agreement.

See the Contributor Guide for more tips on how to make review process smoother.

GitHub Actions Tests Status (on master branch)

See CI.md for more information about GitHub Actions CI.

R: @aromanenko-dev


Fixes and enhancements in JSON Configuration schema generator

This PR contains bugfixes and enhancements to the JSON Configuration schema generator, which I'm trying to use outside of Aspire. I've tested with VS 2022 v17.10.1. Please see the individual commit messages for change details. Hopefully, this PR brings the tool a step closer to achieving #3309.
I'm curious as to why JSON properties are sorted alphabetically. I found it makes it harder to compare against the original source code it was generated from.

[!NOTE]
This includes a fix in the RuntimeSource directory to prevent a StackOverflowException. It should probably be synced with the original runtime source code.

/cc @eerhardt
Microsoft Reviewers: Open in CodeFlow

I'm curious as to why JSON properties are sorted alphabetically.

It makes it "stable", so the .json file can be checked in. It makes version-to-version updates of a library easier, so when new properties are added, you can see what properties are added, and they don't become all mixed up. See https://github.com/dotnet/aspire/pull/2663/ for an example, a new property was added and we can easily diff and see the new property (the properties aren't in a new order after the update).

I'm curious as to why JSON properties are sorted alphabetically.

It makes it "stable", so the .json file can be checked in. It makes version-to-version updates of a library easier, so when new properties are added, you can see what properties are added, and they don't become all mixed up. See #2663 for an example, a new property was added and we can easily diff and see the new property (the properties aren't in a new order after the update).

Thanks for the clarification. I suppose it depends on whether to optimize for the development of the generator versus its consumption. Although member order in assemblies is already deterministic, according to the Remarks section at https://learn.microsoft.com/en-us/dotnet/api/system.type.getproperties?view=net-8.0#system-type-getproperties:

In .NET 6 and earlier versions, the GetProperties method does not return properties in a particular order, such as alphabetical or declaration order. Your code must not depend on the order in which properties are returned, because that order varies. However, starting with .NET 7, the ordering is deterministic based upon the metadata ordering in the assembly.

Because https://github.com/dotnet/aspire/pull/2663/files#diff-ba29f362bde4fa8dfaf456726c5d33b10aec019ce5485384d75974e2c98b9277 did not shuffle the order of existing properties, the diff in Aspire would still remain minimal.

Regarding the failed checks: I've followed the steps at https://github.com/dotnet/aspire/tree/main/tests/Aspire.Workload.Tests#readme and can't reproduce the failure locally. Here's what's in the failure log:
   Failed Aspire.Workload.Tests.StarterTemplateWithWithRedisCacheTests.WebFrontendWorks(urlPrefix: "https://") [13 s]
  Error Message:
   Microsoft.Playwright.PlaywrightException : net::ERR_NETWORK_CHANGED at https://localhost:17003/login?t=d2e8dbf1418a5877c9cd259dff91a759

I don't suspect this is related to the changes in this PR, but please let me know if there's anything I can do to get a green build.

@eerhardt I've addressed all comments. Can you take another look? Please don't hesitate to resolve the open conversations if they've been addressed properly.
I don't think the failing checks are related to these changes, but I can't rerun them.