[Complete] Data Discovery Improvements V2

In progress

https://github.com/chanzuckerberg/cryoet-data-portal/issues/574 / #565
#600
#713

Blocked

Search Design Schedule
Week 4/15 - eng research / scope alignment
Week 4/22 - R1
Week 4/29 - Scitech week
Week 5/6 - R1.5 / 2 days OOO
Week 5/13 - OOO
Week 5/20 - R2
Week 5/27 - Handoff
Week 6/3 - Wrap up details / support implementation

Search Specs:
https://www.figma.com/design/o8XTUwgjPSEV6BByf6QiUC/Kevin---Data-Discovery-Improvements-V2?node-id=6701-101833&t=MiKlUkNiPBlNghRF-1
CTF/Alignment file Specs:
https://www.figma.com/design/o8XTUwgjPSEV6BByf6QiUC/Kevin---Data-Discovery-Improvements-V2?node-id=6717-8260&t=MiKlUkNiPBlNghRF-1


[WalletConnect] DApps should be able to submit multiple transactions at once

This should already be supported by the WalletConnect protocol. We just need to handle an array of actions in Valora.

closing since we decided it would only handle one transaction at a time

@aslawson this was around a DApp sending multiple TXs, then the user having to approve each one. What we want is the following flow

DApp sends 2 TXs
User approves both
DApp continues

We don't want

DApp sends a TX
User approves
DApp sends another TX
User Approves

This makes it extremely clunky to interact with DApps. The user will still only be able to see one action at a time.

Gotcha -- What do other wallets do? Or does wallet connect suggest any best practices here? I'm not finding much in the documentation.
I was under the impression most wallets perform the latter example ^  but it was up to the dapp developer to wrap everything into a single transaction (which we should encourage).
I definitely agree if the standard is to send them one at a time, the experience becomes clunkier with mobile apps.

This also now seems related to the discussion on accessing offchain data, no? How do they access multiple contact's photos/names at once?

The best example is the transferAndCall route. We approve some contract to take tokens from us, then do the action (e.g. Uniswap). Here we can't do a single TX I believe, but we should be able to approve these two actions in succession on Valora without having to wait for the first TX to be mined.
Re. accessing off chain data, imagine a dApp wants to read a users encrypted profile picture. To do this it

Requests the shared secret (1st request to Valora)
Computes the storage path and requests file
Decrypts key (2nd request to Valora) and then decrypts profile picture.

Currently this would look like 2 confirmable requests, if we wanted to request a users name as well, 4 requests. To display the names and pictures of all their friends, 4 * N requests. So maybe here we would want to not prompt on Valora for decrypt and computeSharedSecret calls? We'd put the onus on users to connect to DApps they trust.
We could also go the route of a celo_offchainRead, Valora would handle the above steps and just transmit back decrypted data. Not sure if this would work for binary payloads like pictures though, so maybe not worth thinking about.

Gotcha -- so transferAndCall use cases are really the only ones that couldn't be wrapped by another call function since it requires two block transactions right now.
Is this more a decision for your current implementation work on this or is this additional work to support multiple transaction prompts which we can have anyone else take on?

Pretty sure this works already


Feature request: activate element picker when using ctrl+shift+c shortcut within Edge

I often toggle the element picker with ctrl+shift+c from within Edge. It would be really cool if it's somehow possible to activate the element picker in the VS code extension (as a result of using the keyboard shortcut inside Edge), instead of opening a second developer tools panel:

This would be a bit faster than first moving the mouse to VS code, activating the element picker there, and then moving the mouse back to the browser.

Hello there,
sadly enough we looked into this and this is a much larget issue than we considered before. As we are inside VS Code and not the browser, a lot of keyboard shortcuts clash with what's already used and some don't get sent to extensions. For now, we don't have a fix for this, so all you can do is use the mouse to select the element or pick it from the elements tree with the arrow keys.

Alright, I can imagine the challenges. Thanks for looking into it!


Integration Test - webhook

Create an integration test for validating webhook usecase.
Integration tests are located under tests/src/integration. Create a new folder named "webhook" under tests/src/integration.
Remove webhook from usecase folder.

For reference see discussion in https://github.com/apache/incubator-openwhisk-wskdeploy/pull/316#pullrequestreview-57257299

PR #428


RFTools accepts, but doesn't output to Mekanism's Universal Cables

Other rftools machines will accept power from universal cables, but the power relay doesn't seem to like it.

How did you configure the relay? Screenshot of gui would be handy

Hmm weird. Does it work with enderio conduits? If so I would say it might be a bug in mek.
Also what version of rftools?

It does work with EnderIO, but the mek cables work with other rftools stuff. Version 5.62.

Does sound like an issue with the mek cables then to be honest. Not sure what I could do on my side to make them work

This probably has to do with the fact that the Mekanism power system doesn't have caps yet, and is using an old(er) RF API (Don't quote me on that though). The fact that aidan is busy with school doesn't help either.
There is Tesla support, but I guess it's not complete yet or just outdated?

It appears that mek cables don't accept power from pretty much anything outside of mek itself. I added Tesla and that completely broke mek cables. Thanks for he help, just have to wait for aidan to become active again.

@McJty So it has been a while, and Mekanism does have Tesla support, and this problem still exists. RFTools machines will accept power, but won't output it to universal cables. Interestingly, if I add Minecraft-Flux to my mod pack, it works perfectly, but unfortunately, it creates a memory leak so I have to remove it. Is there anything you can do or recommendations you might have?

Also what is really weird about this is that universal cables work perfectly with Thermal Expansion, and EnderIO so I don't understand what the difference is.

Can you add the Tesla api?

Tesla API is added already.

Does it work if you add Thermal Expanision (which adds the RF api)

@legodude17 Thermal Expansion is installed in my modpack

I am having this issue too and also the RFTool's monitor not picking up these cables (saying they are empty) along with their Energy Cube. The following are the versions of the relevant mods...
Minecraft: 1.12.2
Forge: ending in 2759
Mekanism: Version 9 ending in 349
If any other information is needed let me know or if I should bounce these issues to Mekanism.

What version of RFTools and McJtyLib?

What version of RFTools and McJtyLib?

Sorry my bad those versions are...
RFTools: for Minecraft 1.12.2 Ending in 56
McJtyLib:3.0.5


Error in the examples for tf branch? reference to C:\314.cs instead of C:\projects\314.cs ?

In the Examples for the tf branch command the path C:\314.cs is mentioned and I suspect that this should be C:\projects\314.cs instead.  Otherwise, if it is referring to a file outside the workspace root folder, maybe a path like C:\not-in-workspace\314.cs could be used.

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

ID: 761dc0a7-a74a-5e1b-1f38-d3f5a9238844
Version Independent ID: eea02d4b-a9d1-f5fb-aa60-ced3c3274991
Content: Branch TFVC command - Azure Repos
Content Source: docs/repos/tfvc/branch-command.md
Service: azure-devops-repos
Sub-service: azure-devops-repos-tfvc
GitHub Login: @MaximMalygin
Microsoft Alias: vijayma

Duplicate of #13414


Property Units documentation citing deprecated naming rule

I was looking into every rule documentation, and I found an incorrect naming usage:
https://github.com/sasstools/sass-lint/blob/master/docs/rules/property-units.md
While the options are just global and per-property, the second example mentions about globally-allowed-units and units-allowed-for-properties.
I believe those are their former names, which after a rename refactoring, was missed to be updated. Updating them to global and per-property should fix the issue.

Thanks, do you want to submit a PR? We can update it if not. 👍


Resize and composite

Hi.
I try to resize an image to a particular size. I need to remove the transparency from the image, and just replace it with the white colour. I tried to remove the alpha channel, but that's just replaces it with black.
So the steps I'm taking are:

Create and await the resized image.
Create a white image.
Composite the resized image over the white one.

    const resizedImage = await sharp(image)
        .resize({
            width,
            height,
            fit: "contain",
            background,
        })
        .toBuffer();

    const finalImage = await sharp({
        create: {
            width,
            height,
            channels: 4,
            background,
        },
    })
        .composite([{ input: resizedImage }])
        .toBuffer();

However, this gives me an error "UnhandledPromiseRejectionWarning: Error: Input buffer contains unsupported image format" and if I remove the .toBuffer() from the resized image, the composite part complaining about me not providing width and height, and stuff for the raw image... What am I missing?

Did you see the flatten operation?

Dammit, I could swear that I've read the whole documentation back and forth a few hundred times. I'll try this later and let you know if it worked.


Compiling Error

Describe your problem here.
when i tried to compile, i got the error "source/Song.hx:65: characters 27-41 : Array access is not allowed on {+ length : Int }"
Are you modding a build from source or with Lua?
Source
What is your build target?
Windows x64
Did you edit anything in this build? If so, mention or summarize your changes.
No

so is everyone just blind to notice this file?

so is everyone just blind to notice this file?

when i did that i got more compiling errors

so is everyone just blind to notice this file?

when i did that i got more compiling errors

what kind of errors?

so is everyone just blind to notice this file?

when i did that i got more compiling errors

what kind of errors?
"source/Achievements.hx:157: characters 30-54 : Warning : FlxCamera.defaultCameras is deprecated, use FlxG.cameras.setDefaultDrawTarget instead
source/MainMenuState.hx:65: characters 3-39 : Warning : FlxCamera.defaultCameras is deprecated, use FlxG.cameras.setDefaultDrawTarget instead
source/PlayState.hx:312: characters 3-39 : Warning : FlxCamera.defaultCameras is deprecated, use FlxG.cameras.setDefaultDrawTarget instead
source/editors/CharacterEditorState.hx:93: characters 3-41 : Warning : FlxCamera.defaultCameras is deprecated, use FlxG.cameras.setDefaultDrawTarget instead
source/editors/DialogueCharacterEditorState.hx:82: characters 3-40 : Warning : FlxCamera.defaultCameras is deprecated, use FlxG.cameras.setDefaultDrawTarget instead
C:/HaxeToolkit/haxe/lib/hscript/2,4,0/hscript/Interp.hx:145: characters 8-18 : Warning : Std.is is deprecated. Use Std.isOfType instead.
C:/HaxeToolkit/haxe/lib/hscript/2,4,0/hscript/Interp.hx:180: characters 8-18 : Warning : Std.is is deprecated. Use Std.isOfType instead.
C:/HaxeToolkit/haxe/lib/hscript/2,4,0/hscript/Interp.hx:221: characters 8-18 : Warning : Std.is is deprecated. Use Std.isOfType instead.
C:/HaxeToolkit/haxe/lib/hscript/2,4,0/hscript/Interp.hx:515: characters 8-18 : Warning : Std.is is deprecated. Use Std.isOfType instead.
C:/HaxeToolkit/haxe/lib/hscript/2,4,0/hscript/Interp.hx:483: characters 37-56 : Warning : Std.is is deprecated. Use Std.isOfType instead.
C:/HaxeToolkit/haxe/lib/hscript/2,4,0/hscript/Interp.hx:484: characters 31-47 : Warning : Std.is is deprecated. Use Std.isOfType instead.
C:/HaxeToolkit/haxe/lib/hscript/2,4,0/hscript/Interp.hx:646: characters 10-42 : Warning : Std.is is deprecated. Use Std.isOfType instead.
source/options/NoteOffsetState.hx:57: characters 3-39 : Warning : FlxCamera.defaultCameras is deprecated, use FlxG.cameras.setDefaultDrawTarget instead
C:\Users\Downloads\FNF-PsychEngine-0.5.1\FNF-PsychEngine-0.5.1\export\release\windows\obj>setlocal enabledelayedexpansion
Error: 64bit is not automatically supported for this version of VC. Set HXCPP_MSVC_CUSTOM and manually configure the executable, library and include paths
Error: Error: 64bit is not automatically supported for this version of VC. Set HXCPP_MSVC_CUSTOM and manually configure the executable, library and include paths"

so is everyone just blind to notice this file?

when i did that i got more compiling errors

what kind of errors?
"source/Achievements.hx:157: characters 30-54 : Warning : FlxCamera.defaultCameras is deprecated, use FlxG.cameras.setDefaultDrawTarget instead
source/MainMenuState.hx:65: characters 3-39 : Warning : FlxCamera.defaultCameras is deprecated, use FlxG.cameras.setDefaultDrawTarget instead
source/PlayState.hx:312: characters 3-39 : Warning : FlxCamera.defaultCameras is deprecated, use FlxG.cameras.setDefaultDrawTarget instead
source/editors/CharacterEditorState.hx:93: characters 3-41 : Warning : FlxCamera.defaultCameras is deprecated, use FlxG.cameras.setDefaultDrawTarget instead
source/editors/DialogueCharacterEditorState.hx:82: characters 3-40 : Warning : FlxCamera.defaultCameras is deprecated, use FlxG.cameras.setDefaultDrawTarget instead
C:/HaxeToolkit/haxe/lib/hscript/2,4,0/hscript/Interp.hx:145: characters 8-18 : Warning : Std.is is deprecated. Use Std.isOfType instead.
C:/HaxeToolkit/haxe/lib/hscript/2,4,0/hscript/Interp.hx:180: characters 8-18 : Warning : Std.is is deprecated. Use Std.isOfType instead.
C:/HaxeToolkit/haxe/lib/hscript/2,4,0/hscript/Interp.hx:221: characters 8-18 : Warning : Std.is is deprecated. Use Std.isOfType instead.
C:/HaxeToolkit/haxe/lib/hscript/2,4,0/hscript/Interp.hx:515: characters 8-18 : Warning : Std.is is deprecated. Use Std.isOfType instead.
C:/HaxeToolkit/haxe/lib/hscript/2,4,0/hscript/Interp.hx:483: characters 37-56 : Warning : Std.is is deprecated. Use Std.isOfType instead.
C:/HaxeToolkit/haxe/lib/hscript/2,4,0/hscript/Interp.hx:484: characters 31-47 : Warning : Std.is is deprecated. Use Std.isOfType instead.
C:/HaxeToolkit/haxe/lib/hscript/2,4,0/hscript/Interp.hx:646: characters 10-42 : Warning : Std.is is deprecated. Use Std.isOfType instead.
source/options/NoteOffsetState.hx:57: characters 3-39 : Warning : FlxCamera.defaultCameras is deprecated, use FlxG.cameras.setDefaultDrawTarget instead
C:\Users\Downloads\FNF-PsychEngine-0.5.1\FNF-PsychEngine-0.5.1\export\release\windows\obj>setlocal enabledelayedexpansion
Error: 64bit is not automatically supported for this version of VC. Set HXCPP_MSVC_CUSTOM and manually configure the executable, library and include paths
Error: Error: 64bit is not automatically supported for this version of VC. Set HXCPP_MSVC_CUSTOM and manually configure the executable, library and include paths"

idk it's same for me but it compiles anyways


Avatars boards collaboration

Add Avatars in boards.ever.team for people who collaborate

@paradoxe35 you did not rebase your PR and it contains commits we already merged long ago, can you do it now please?


Docker Containers and Conda

This looks like a really cool project. I know it's early on so this may be forthcoming but I was looking for some more details on how the docker containers work with conda. My general impression is that rather than including the conda environments in the image it's designed to mount a shared volume where the environments are stored. I can't seem to find the Dockerfiles that are used to define the qhub images. Are there any examples you could point me to? Thanks!

Hey @sterlinm there are many approaches to including conda environments within docker containers. The standard way is usually to include a conda install at /opt/conda and include the environments at /opt/conda/envs. The dockerfiles that are used to define the qhub images are at https://github.com/Quansight/qhub/tree/master/qhub/template/{{ cookiecutter.repo_directory }}/image. There are several reasons for using nfs for mounting the conda directory:

allows us to update user's conda environments independent of the container (and without restarting the user's image)
size of the docker image does not increase when you have multiple conda environments

But there are downsides (specifically with using NFS) and is often seen in hpc deployments. NFS is not a distributed filesystem so the reads/write do not scale well with many containers.

@sterlinm if you are interested in building docker images with conda I'd recommend looking at https://github.com/jupyterhub/repo2docker. Also another approach is to base your docker image on https://hub.docker.com/r/continuumio/miniconda3.

Thanks so much! Do you think EFS has the same downsides as NFS?

There is also https://github.com/conda-incubator/conda-docker which I think is the best way, personally

@scopatz I was looking at that last week but didn't quite figure out the details yet, I think mainly due to gaps in my mental model of docker images.
My general understanding is that I could use it to manipulate the layers of the image directly rather than using docker build. So if I have an image where the last layer adds the /opt/conda directory I could potentially remove that last layer and replace it with an alternative set of files for the /opt/conda directory. Does that sound about right?

Yeah - the idea is that if you have a conda-env you can directly create a docker container.  No dockerfile is needed.  Just try it out! Let me know if you have any other questions!

Will do! I gave it a quick try this afternoon and got an error but it was from within a docker container and I haven't yet tried to debug it. I suspect it was user error but if it turns out to be reproducible I'll open an issue in the repo. Thanks!

Cool thanks!

Closing this issue @sterlinm as I think it is resolved. Please feel free reopen the issue if you need additional help

Sorry, I should have closed it. Thanks!


no event (mousedown, mouseup, mousemove) will fire on lines (unless their path is opened)

Here's the thing:
I create a line:
new Graphics()
interactive = true
buttonMode = true
beginFill()
lineStyle()
moveTo(50, 50)
lineTo(150, 150)
endFill()
stage.addChild( line )

at this point: I can drag the line, but something's not right, cause I can drag the line even If I click not on the line itself, but to the left of it, or to the right. (it's like its path is open or something)
Okey that's not useful, So I try to close the line:
moveTo(50, 50)
lineTo(150, 150)
lineTo(50, 50)

But now, Its interactive ness and buttonMode ness is gone.
What's happening here?

This should be fixed in dev by #3165

It says in #3165 that it's fixed. (ivanpopelyshev merged 1 commit into pixijs:dev from stbaer:hit on Oct 20)
But it still doesn't work, here's an example:
http://codepen.io/mohammad-ahmadi/pen/jVwWLZ

Hello? You there? I'm confused, is it fixed or not?
If not when do you think it's gonna be fixed? @stbaer

Looks like the Polygon.contains bug wasn't the problem here. Afaik you have to define the hitArea for graphics yourself. For a simple rectangular hitArea you could add line.hitArea = line.getBounds().

Thanks for the response, and actually adding line.hitArea = line.getBounds() makes it okey.
But (as long as we're talking about it) now the hitArea is a rectangular shape and if you click not on the line itself you can pick the hitArea.
I was just wondering what do you think should I do for that?
(I have a graphing proj, and I use lines for showing links between two nodes, and I want to show an information box popping-up right next to the line when the user clicks on the line)
@stbaer

You can create a Polygon for the hitArea, it does't need to be a Rectangle.

Anyway, @m-ahmadi I think this issue should be closed and questions about how to use pixi asked in the forum.

I don't know, it's your call, If defining a hitArea is a normal thing to do, then yes, this isn't an issue.
So I tried to define a Polygon hitArea for the line and it worked, and thank you.
But defining a polygon hitArea seemed so weird (at least the way I did it).
Here's what I did and it  works perfectly, and again, thank you for telling me, but is all of this a normal thing to do, just so that we can have a straight line that's interactive and can be clicked on?
var lineWidth = 10,
    start = {x: 100, y: 100},
    end = {x: 200, y: 100};

line.lineStyle( lineWidth, 0x000000, 1 );
line.moveTo( start.x, start.y );
line.lineTo( end.x, end.y );
line.endFill();

var half = lineWidth / 2;
line.hitArea = new PIXI.Polygon([
  start.x - half, start.y - half,
  start.x + half, start.y + half,
  end.x + half, end.x + half,
  end.x - half, end.x -half
]);

But it's not just that.
In general, it seems that the line part of a shape is not considered the shape itself, or something like that, So Let me show you something, and you could tell me If this is something normal or even on purpose or something is wrong with it:

Remember that I said it's like the line part of a shape is not considered to be the shape itself, (at least in terms of interaction and events being fired on the shape).
Well it's something like that but not entirely true, it's like the lineWidth of the shape gets devided in half, then half of it is clickable and the other half is not. So by setting alpha = 0.5 it becomes somewhat more clear what's happening:

When all other methods of determining a hit (filter, mask, children etc), the hitArea is checked if it exists, or if not, containsPoint is checked, see here.
The issue you're finding without a hitArea is that containsPoint, as seen here, does not take into account line width, so you're not crazy, but you'll have to specify a hitArea ;)

What about this thing that I said: "lineWidth of the shape gets devided in half, then half of it is clickable and the other half is not"?
Okey lineWidth doesn't get taken into acount, But then why with shapes that have a fill, half of the lineWidth is clickable and half of it is not?
@staff0rd

The line is centered on the shape's bounds.

How can we define a hitArea for a quadraticCurve line? is that even possible?
Afaik, you got:
PIXI.Rectangle
PIXI.Circle
PIXI.Polygon
for defining hitArea,
It seems that it's not possible, right?
@staff0rd

@m-ahmadi quadraticCurve fills a polygon, right? You can make a graphics, create a curve, then extract the polygon from ".currentPath" property. Please look in the source code of Graphics, I'm too lazy to make a working example for you.

Well I did what you said, and here's what happened:
At first I clicked on the line, and boom! it works!,
But then I noticed that even If I don't click on the line itself, it picks it up:

I guess the  defined hitArea is different than the line itself:

I don't know, maybe I did something wrong, But that's not really a clickable curved line.
@ivanpopelyshev

@m-ahmadi Recently, I encountered the same problem and wonder whether you've solve the problem or not. By the way, I do not quite understand your code segment below:
animate();
function animate() {
requestAnimationFrame(animate);
renderer.render(stage);
}
Looking forward for your answers.

@qtttttttttting Since all I wanted was a clickable line, and In my case all the lines would be either straight lines (two points, one starting point, and one ending point) or three point lines. I ended up making a line by using fill, and calculating 4 points from 2 original points and made fill between these 4 points. (not sure this the best algorithm or not :D)
var line;
var p = calcPoints({x:100, y:100}, {x:200, y:200}, 2);
var Point = PIXI.Point;

line = new PIXI.Graphics();
line.interactive = true;
line.buttonMode = true;
line.lineStyle(0);

line.beginFill(color);
line.moveTo(p.sLeft.x, p.sLeft.y);
line.lineTo(p.sRight.x, p.sRight.y);
line.lineTo(p.eRight.x, p.eRight.y);
line.lineTo(p.eLeft.x, p.eLeft.y);
line.endFill();
line.alpha = alpha;

function calcPoints(start, end, lineWidth) {
	var half = lineWidth / 2,
		sLeft = {},
		sRight = {},
		eRight = {},
		eLeft = {},
		sX = start.x,
		sY = start.y,
		eX = end.x,
		eY = end.y,
		results = {};

	if ((sX < eX && sY < eY) || // topLeft to bottRight
		(sX > eX && sY > eY)) { // bottRight to topLeft
		sLeft = new Point(sX - half, sY + half);
		sRight = new Point(sX + half, sY - half);
		eRight = new Point(eX + half, eY - half);
		eLeft = new Point(eX - half, eY + half);
	} else if ((sX > eX && sY < eY) || // topRight to bottLeft
		(sX < eX && sY > eY)) { // bottLeft to topRight
		sLeft = new Point(sX - half, sY - half);
		sRight = new Point(sX + half, sY + half);
		eRight = new Point(eX + half, eY + half);
		eLeft = new Point(eX - half, eY - half);
	} else if (sX === eX &&
		(sY > eY || sY < eY)) { // vertical
		sLeft = new Point(sX - half, sY);
		sRight = new Point(sX + half, sY);
		eRight = new Point(eX + half, eY);
		eLeft = new Point(eX - half, eY);

	} else if (sY === eY &&
		(sX < eX || sX > eX)) { // horizontal
		sLeft = new Point(sX, sY + half);
		sRight = new Point(sX, sY - half);
		eRight = new Point(eX, eY - half);
		eLeft = new Point(eX, eY + half);
	}

	results.sLeft = sLeft;
	results.sRight = sRight;
	results.eRight = eRight;
	results.eLeft = eLeft;

	return results;
}

And for straight lines, I used this too, I created the line with a sprite by setting the x,y, width/height, and rotation of the sprite. (line2.png is a 1 pixel dot)
var lineTexture = new PIXI.Texture.fromImage("images/line2.png");
function newLine(start, end) {
	var sX = start.x,
		sY = start.y,
		eX = end.x,
		eY = end.y,
		pow = Math.pow,
		sqrt = Math.sqrt,
		atan = Math.atan,
		abs = Math.abs,
		PI = Math.PI,
		dx, dy, width, teta;

	var s = new PIXI.Sprite(lineTexture);
	s.height = 1;
	dx = abs(eX-sX);
	dy = abs(eY-sY);

	if (sY === eY) { // horizontal
		if (sX < eX) {
			s.x = sX;
			s.y = sY;
			s.width = eX-sX;
		} else if (eX < sX) {
			s.x = eX;
			s.y = eY;
			s.width = sX-eX;
		}
	} else if (sX === eX) { // vertical
		if (sY < eY) {
			s.x = sX;
			s.y = sY;
			s.height = eY-sY;
		} else if (eY < sY) {
			s.x = eX;
			s.y = eY;
			s.height = sY-eY;
		}
	} else {
		s.x = sX;
		s.y = sY;
		if (sX < eX && eY > sY) { // to bott right
			s.width = sqrt( pow(dy, 2) + pow(dx, 2) );
			s.rotation = atan(dy / dx);
		} else if (sX < eX && eY < sY) { // to top right
			s.width = sqrt( pow(dy, 2) + pow(dx, 2) );
			s.rotation = -atan(dy / dx);;
		} else if (sX > eX && eY > sY) { // to bott left
			s.width = sqrt( pow(dy, 2) + pow(dx, 2) );
			s.rotation = PI-atan(dy / dx);;
		} else if (sX > eX && eY < sY) { // to top left
			s.width = sqrt( pow(dy, 2) + pow(dx, 2) );
			s.rotation = PI+atan(dy / dx);;
		}
	}

	container.addChild(s);
}

About the code segment:
the animate() function starts the infinite rendering loop, (game loop) and inside it, requestAnimationFrame() is called, which asks the browser for the next available frame and executes the callback when that frame is available (and so on, so forth, thus infinite loop).

Thank you for your answer. But in my project, I have to draw curves. Because I need to draw many lines between two points.

I am encountering a similar problem currently. I draw multiple bezier curves in the same area and
and would like to select them. The rectangular hitboxes overlap and I cant click all lines...
How would you solve this?
thanks!


Add subcategory resource

This pull request adds Eventbrite::Subcategory, a wrapper around the subcategory api provided by eventbrite.

Thanks!


ENH: Updated signal.lombscargle to the generalized Lomb-Scargle periodogram

The function is a backwards-compatible replacement, but with additional functionality for sample weights and correctly removing any unknown y offset (including where the peaks are clipped, such that a naive mean removal will not work). Additional tests were created for the new options and outputs. Finally, files (and references to them) that are no longer needed were removed (such as the Cython and pythan version of the old code). The compiled versions are not needed, as the vectorized NumPy code is nearly the same speed as the nested for loops.
Reference issue
None, but discussed at Scientific Python.
What does this implement/fix?
Replaces the current Lomb-Scargle peridogram with the generalized version (published in 2009), which enables sample weighting as well as more correctly removing any unknown y offset. Besides the one additional new parameter, the function is completely backwards compatible in API and the results (for the previous functionality).
Additional information
Since the compiled code is no longer needed, I removed the files and all references to them. New tests were added.

The previous commit (d8e0f0f) failed on "Array API / Linux PyTorch/JAX/xp-strict CPU" but the errors seem to have nothing to do with the new code. I assume the new commit will also fail there.
I wish I could run the GitHub actions locally, per the documentation, but I haven't yet figured out how to get act to actually work on macOS or Ubuntu.

the errors seem to have nothing to do with the new code

Yeah, no worries, that is unrelated. I'm fixing it up now.


Can't make a dev drive

Dev Home version
<IP_ADDRESS>
Windows build number
10.0.23451.1000
Other software
OS Build Version: 10.0.23451.1000.amd64fre.ni_prerelease.230428-1438
.NET Version: .NET 6.0.16
Steps to reproduce the bug
Try to make a dev drive and it will fail with error code 0x80131501
Expected result
To make a dev drive on my PC
Actual result
All items failed
Included System Information
CPU: Intel(R) Core(TM) i7-4770 CPU @ 3.40GHz
Physical Memory: 31.91GB (25.57GB free)
Processor Architecture: x64
Included Extensions Information
Extensions:
Microsoft.Windows.DevHome_<IP_ADDRESS>_x64__8wekyb3d8bbwe
Microsoft.Windows.DevHomeGitHubExtension_<IP_ADDRESS>_x64__8wekyb3d8bbwe

That build won't have the Dev Drive feature enabled.  The feature should be in https://blogs.windows.com/windows-insider/2023/05/24/announcing-windows-11-insider-preview-build-23466/. I'm updating the build number check to 23466 in this PR #822 so you'll need to upgrade to that build (it was released today) to try out Dev Drives.

Oh, I forgot

Updating Windows now

@bbonaby Is there a general estimate of when the dev drive will not require a preview build of windows?

This fall maybe


Remove gpc.js

Task/Issue URL: https://app.asana.com/0/488551667048375/1203086808992832/f
Description
Steps to test this PR
Feature 1

[ ]
[ ]

UI changes

Before
After

!(Upload before screenshot)
(Upload after screenshot)

Current dependencies on/for this PR:

develop

PR #2298

PR #2299

PR #2347   👈

This comment was auto-generated by Graphite.


fix: license update

Description
This fixes the license file according to https://github.com/asyncapi/spec/blob/master/LICENSE

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 93.299%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
1953

Relevant Lines:
1995

💛  - Coveralls


Fix compilation with dlang >= 2.079

@yazd This has been tested fully with dlang2.081.

I think this is unnecessary after the fix in #7.


Camp members ticket count is incorrect

Ticket count is displayed as 1 even in cases where member has 2 tickets.
I suspect drupal API integration?

@ArtyomKa is that similar to what we had with volunteers API?

Looked at the code. There is something called bundles. IIUC, each ticket type has a bundle. There is a bunch of them hard coded in constants.js file.
1 - Need to confirm that the 2018 bundle numbers arecorrect
2 - Looks like pre-sale tickets have bundle number 60 Needs to be added to constants,


escape unprintable runes by box_types.go

escape unprintable runes by box_types.go

Codecov Report

Merging #66 (970f2e1) into master (a51f472) will not change coverage.
The diff coverage is 100.00%.

@@           Coverage Diff           @@
##           master      #66   +/-   ##
=======================================
  Coverage   81.78%   81.78%
=======================================
  Files          14       14
  Lines        1680     1680
=======================================
  Hits         1374     1374
  Misses        175      175
  Partials      131      131

Impacted Files
Coverage Δ

box_types.go
91.54% <100.00%> (ø)

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update a51f472...970f2e1. Read the comment docs.


Broken links in Button reporting

At the bottom of the article, there are three links that don't work:

Note

For full guidance and implementation for the Power button, see Power Button Behaviors and implementation.
For Connected Standby guidance for buttons, see Connected Standby Wake Sources.
For additional guidance on ACPI implementation, see ACPI Design Guide.

I don't know what "Power Button Behaviors and implementation" should point to.
For the last two, Modern Standby wake sources and ACPI design guide may be the current equivalents.

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

ID: f03919da-cafd-95df-107e-a7b8c227778f
Version Independent ID: bfa59f04-ed25-86cd-c672-f4afebbe51c9
Content: Button reporting - Windows drivers
Content Source: windows-driver-docs-pr/gpiobtn/button-reporting.md
Product: windows-hardware
Technology: gpiobtn
GitHub Login: @tedhudek
Microsoft Alias: tedhudek

Hi @KalleOlaviNiemitalo thanks for the feedback.  I have updated the links in question.  The update should appear on the live site within a few minutes.  Thanks again for your interest in the docs!


Update build and examples to use Amazon Redshift JDBC driver

This commit updates the build and examples to use the Amazon Redshift JDBC Driver.

AFAIK this use is compatible with the driver's license terms: https://s3.amazonaws.com/redshift-downloads/drivers/Amazon+Redshift+JDBC+Driver+License+Agreement.pdf

Current coverage is 84.69%

Merging #42 into master will not affect coverage as of 56c125b

@@            master     #42   diff @@
======================================
  Files           10      10
  Stmts          307     307
  Branches        67      67
  Methods          0       0
======================================
  Hit            260     260
  Partial          0       0
  Missed          47      47

Review entire Coverage Diff as of 56c125b

Powered by Codecov. Updated on successful CI builds.

This should now be ready for review + commit.

This was LGTM'd offline, so I'm going to merge now and will rebase my other PR.


Add support for pluggable explainer runtimes

What this PR does / why we need it:
For additional context see https://github.com/kserve/kserve/issues/3398
Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
Implements https://github.com/kserve/kserve/issues/3398
New clean PR resulting from #3418
Type of changes

[x] New feature (non-breaking change which adds functionality)

Feature/Issue validation/testing:
Please describe the tests that you ran to verify your changes and relevant result summary. Provide instructions so it can be reproduced.
Please also list any relevant details for your test configuration.

Run make deploy-dev and deploy the new explainer sample that uses an explainer runtime docs/samples/v1beta1/explanation/deeploy-shap/deeploy-sample.yaml

Special notes for your reviewer:

Some changes include naming decisions: ModelSpec is reused for ExplainerSpec, how to both use PredictorExtensionSpec and ExplainerExtensionSpec in ModelSpec?

Checklist:

[x] Have you added unit/e2e tests that prove your fix is effective or that this feature works?
[x] Has code been commented, particularly in hard-to-understand areas?
[x] Have you made corresponding changes to the documentation?

Release note:

You can now configure a model in the ExplainerSpec to plug any arbitrary framework

@terrytangyuan I started this clean PR here after #3443 was merged. The test look the succeed now, is it already possible to merge this?

@TimKleinloog Can you limit the scope of this PR to only include the new feature? New runtimes can be added via a separate PR as an example for now.

I will open a new PR and remove the explainer runtime example from the scope of this PR 👌

@TimKleinloog Can you help resolve the conflicts?

@TimKleinloog Can you help resolve the conflicts?

Done, hope this will be one of the last conflicts to resolve :)

Seems like the lint build failed

@yuzisun Any further comments on this? My only concern is the added CRD size.

Thanks @terrytangyuan, looking forward to hear your thoughts @yuzisun. Let me know if I can do anything to mitigate the concern of the added CRD size. Once okay I will rebase again.

@yuzisun Any further comments on this? My only concern is the added CRD size.

Thanks @terrytangyuan, looking forward to hear your thoughts @yuzisun. Let me know if I can do anything to mitigate the concern of the added CRD size. Once okay I will rebase again.

Any update on this @yuzisun? Let me know what I can do to get this merged


enable concurrent activation processing

requires rebuilding nodejs6Action
considers all actions support concurrency
log collection is disabled for now due to interleaved logging when running concurrent activations in a single container

To validate operation, I've tested with the throughput.sh script using an action that has an async response after 175ms. In this type of scenario, I see throughput 2x over previous sequential processing (e.g. 10-15 rps before, 20-40 rps after).
Note that as discussed offline, in current form, with kafka between controller and invoker, there is no way to account for non-concurrent actions blocking resource usage by those that support concurrency, so currently the code assumes that all actions support concurrency, and the ContainerPoolScheduler accounts for concurrency settings per action, while MessageFeed only accounts for concurrency across the invoker in general (via maximumHandlerCapacity)

Read briefly over the code, good for a start 👍
The changes in ContainerProxy look good to me on first glance. I wonder if  we can simplify on the scheduling bits though: What if we tracked the number of concurrent invocation always and only update to Busy, if that number reaches max. Everything else will put the container into Free.
In the non-concurrent case that number can be set to 1. I think we could get away without any changes to the scheduler in that case, since the ContainerPool itself keeps the state-tracking consistent. WDYT?

@markusthoemmes I think you mean to keep containers in freePool, and only move to busyPool when reaching max? (I'm not sure that WorkerState is used anymore?)
If we do that, then ContainerPool.remove needs to pay attention to the concurrent invocations, and there will be potentially a lot of shuffling between freePool and busyPool when traffic hovers around max. In the other case (where container moves to busy after 1), there is potentially a lot of shuffling when there is a stream of sequential events (1 at a time), so maybe this doesn't matter.
I'll see if I can change the remove to respect the concurrent activation count and avoid complicating the scheduling as you describe.

Assigning to @tysonnorris until out of WIP.

@tysonnorris, looks like this one needs a rebase.

How is it coming along?

@markusthoemmes @style95 @upgle this is ready for review

Tyson do we need to guard the annotation to apply only to runtimes their can support concurrent activations? Will this need an attribute in the runtime manifest?

@tysonnorris we have user extending the nodejs as blackbok docker actions because they have node_modukes larger than 50MB, so this user might want to use concurrency.
There might kinds that do not support concurrency.
I would add tests in the respective runtimes tontest that runtimes images proxies defently can handle concurrent /runs

+1 to have runtimemanifest attribute

For this incremental PR, operator who enables concurrency is responsible for:

log collection by some other means
only using appropriate images

I would address the additional kind validations, action annotations,  etc in separate PRs

Having the predicate visible in the runtime manifest would be convenient for clients (wsk cli) to validate and fail early if an annotation is added to an unsupported runtime. Black box I think is exempted, user beware.

Codecov Report

Merging #2795 into master will increase coverage by 0.11%.
The diff coverage is 79.24%.

@@            Coverage Diff             @@
##           master    #2795      +/-   ##
==========================================
+ Coverage    74.4%   74.51%   +0.11%
==========================================
  Files         125      125
  Lines        5951     5985      +34
  Branches      384      382       -2
==========================================
+ Hits         4428     4460      +32
- Misses       1523     1525       +2

Impacted Files
Coverage Δ

...la/whisk/core/containerpool/ContainerFactory.scala
100% <ø> (ø)
:arrow_up:

...ain/scala/whisk/core/invoker/InvokerReactive.scala
0% <0%> (ø)
:arrow_up:

...cala/whisk/core/containerpool/ContainerProxy.scala
92.92% <100%> (+1.11%)
:arrow_up:

...ain/scala/whisk/core/containerpool/HttpUtils.scala
93.33% <100%> (+0.83%)
:arrow_up:

...scala/whisk/core/containerpool/ContainerPool.scala
81.11% <54.54%> (-4.78%)
:arrow_down:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 6fef5c4...cc5c8d1. Read the comment docs.

@markusthoemmes I have merged in the wsk api changes to support concurrency via ActionLimits.
I added a test (see ConcurrencyTests)  - which requires:

enabling akka client
enabling runtimes via env var (only respected by nodejs runtime currently)

I currently enabled this by adding
-e container_pool_akka_client=true -e runtimes_enable_concurrency=true
to the setupSystem.sh setup script.
This implies that the "REQUIRE_SYSTEM" tests will run with this config.
The only other way I can think of is to enable a 4th travis job, that also runs system tests (may ONLY the concurrency tests?) that does the deploy with the variant that enables concurrency.
I hate the idea of adding another job, just for the concurrency tests.
WDYT?

I'm seeing test failures related to akka client (enabled on system tests) + actionproxy.py + Connection: close headers; results in:
[DockerContainer] running result: ConnectionError(akka.http.impl.engine.client.OutgoingConnectionBlueprint$UnexpectedConnectionClosureException: The http server closed the connection unexpectedly before delivering responses for 1 outstanding requests)

I reproduced this locally (and via travis) with swift and python runtimes; investigating what we might need to change in actionproxy.py (ideas appreciated)

ConnectionErrors are resolved now, using keepalive = false (vs Connection:close header).
@markusthoemmes please have a look when possible.
@rabbah @csantanapr this does NOT currently implement any change to runtimes manifest, but since none of this is enabled by default, it is low (or none) impact.

@chetanmeh any other comments on this?

@dubee @cbickel can you run another PG for this PR?

@dubee any update on PG?

@tysonnorris thanks for being patient with this and working through all the nuances. Looking forward to feedback from production on this feature and what the user experience will be like from real codes.

@tysonnorris Thanks a lot for this PR :) Great job.

@tysonnorris Thank you for your efforts.
I think many people can benefit from this : ) 👍

Thanks a lot @tysonnorris a huge piece of good work 🎉 .
Also thanks to @rabbah, @cbickel and @chetanmeh for reviewing and @dubee for handling pull-request mechanics. Great team effort 🚀

Thanks @tysonnorris This is a great milestone to achieve !!! 🎉
Also to all reviewers 👍


Action Error

Hi,
I started running into an issue while using this action that seems to be linked to the markdown-to-pdf container.  Haven't really changed anything on my end other than some content in markdown and some more pictures to render.  Here's the error out put:
Error: Invalid protocol: data:
    at Request.init (/node_modules/request/request.js:458:31)
    at new Request (/node_modules/request/request.js:127:8)
    at request (/node_modules/request/index.js:53:10)
    at /node_modules/request/index.js:61:12
    at Function.get (/node_modules/request/index.js:100:12)
    at /markdown-to-pdf.js:170:11
    at new Promise (<anonymous>)
    at encodeImage (/markdown-to-pdf.js:169:9)
    at ConvertImageRoutes (/markdown-to-pdf.js:111:22)
    at processTicksAndRejections (internal/process/task_queues.js:97:5)
ERROR: SyntaxError: Invalid regular expression: /data:image/png;base64,iVBORw0KGgo....
........

omitted for brevity

........YII=/: Nothing to repeat
    at new RegExp (<anonymous>)
    at ConvertImageRoutes (/markdown-to-pdf.js:112:32)
    at processTicksAndRejections (internal/process/task_queues.js:97:5)
    at async /markdown-to-pdf.js:229:15**
Built HTML file: UserGuide.html
Built PDF file: UserGuide.pdf
Gracefully shut down image server.
(node:1) UnhandledPromiseRejectionWarning: TimeoutError: Navigation Timeout Exceeded: 30000ms exceeded
    at /node_modules/puppeteer/lib/LifecycleWatcher.js:142:21
  -- ASYNC --
    at Frame.<anonymous> (/node_modules/puppeteer/lib/helper.js:110:27)
    at Page.goto (/node_modules/puppeteer/lib/Page.js:629:49)
    at Page.<anonymous> (/node_modules/puppeteer/lib/helper.js:111:23)
    at /markdown-to-pdf.js:159:14
    at processTicksAndRejections (internal/process/task_queues.js:97:5)
(node:1) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 1)

I did upgrade my action to use 1.0.1 in case that was the issue but I'm still getting this consistently now.

Further reference here: I'm trying to process about 35 images in one document.  Total size of the images is about 4.5MB so nothing terribly big.

Thanks for the detailed report, I've got a busy day today, but I'll try and have a look this evening, if not tomorrow :+1:.

Hey thanks again for taking a look.  I'm able to get all the images processing now but I had to reduce their size by 50%.  Also, I am still getting the listed error repeated twice but for two separate images.

Hi Christopher, sorry I haven't got this sorted sooner, work has been crazy. I've just booked some time this evening to look at this, have you come across anything else over the last few days? Thanks. :smiley:

Hi Bailey thanks for the follow up.  Work has been crazy over here, also.  Haven't been able to push any test updates since last mentioned but there was errors still occurring in the output.  It doesn't seem to stop anything at the moment but like I mentioned previously, I had to reduce the image sizes by about 50% for the action to complete successfully.

Okay, well I think due to all the issues appearing, and since I wrote the original code in a rush for a personal project, I'm going to rewrite this action in Go. It should be much faster :crossed_fingers:, as I shouldn't need to create an internal webserver to encode the images or build the PDF (which should also fix the issue with the number of images and image size). Nothing should change your side, all the inputs should stay the same as I'm trying to keep it on v1 but I can't set that in stone yet. I'll keep you updated.  :+1:

Hi, just thought I would drop an update in this issue for those interested... I'm still looking to rewrite this to Go, but at the moment I have a lot of personal work to do. It also may require a few workarounds with C to create the PDF from HTML due to the web engine being used. I'm exploring ways to do this - and whether I should continue to use Node, but rewrite it anyway into smaller classes. :+1:


Reorganized codebase

Pulled directories out of firmware folder, as to make the file
hierarchy less deep.
Made a projects directory where students and developers can put their
own projects (these projects currently do not get linted, can add that
feature in later)
Extra: removed st7066u_test.cpp from test suite to make presubmit
faster (takes the longest time to compile). It can be added back after
a parallel bus driver is added to the code base.

This commit is in accordance and resolves #472.

Coverage remained the same at ?% when pulling da7cd4b018aa99b6e46d451f7186d9db93eb2c8c on reorganize-v2.0 into 78d7012cd32f082a09b7f9c6bc657cafa9c16ca4 on v2.0-beta.


Trigger Trouble

Quicksilver is not Able to retain the trigger command Anymore. It's been happening since the First "lion" release.
Every time I shut Down my Mac, Quicksilver keeps the trigger, but the Command Line is marked with (Open Null) and I have to re-create all my Triggers list again...
If you guys need more info about versions and hardware, just ask...
Thanks in advance
Digger

Which version of Quicksilver? Some triggers are more reliable than others. If you don’t mind sharing, can you tell us what the trigger is for?

Never mind sharing, glad I can help. I got the latest quicksilver (need to confirm it, I'm not near my mac)l lion OS.
I love to use the triggers to open directly the program file. Like <control+option+D> it opens directly my Devonthink pro documents file. The same shortcut with B opens my devonthink bookmarks file. It's really usefull because I really use Devonthink to store and collect stuff. So the software doesn't need to be open all the time.
When I shut down or restart my Mac, I need to point the comand again. The only thing that is Okay is Quicksilver Trigger tab. The command stays open null until I pinpoint the file again. Then it keeps working until shutdown or restart.


Have a real integration test example

We recently moved what we thought was integration tests to their own crate (#155). Our tests/ folder, meant for integration tests, is now empty.
I propose the following changes:

move tests/ci.sh to ci.sh
rename in ci.sh "integration tests" to "end-to-end tests"
have one dummy real integration test in tests/ and trigger it in ci.sh just so that it's easy for contributors to add more

Done in #162


Invalidate Repo and Permission Cache

The list of user repositories and the permissions to those repositories are cached in a simple LRU cache without expiration (due to lack of time on my part to focus on caching). We need a TTL to avoid rendering stale data in the user interface, otherwise this can result in the following behavior:

search results / auto-complete do not include recently added repositories
dashboard does not include recently added repositories
recently elevated repository permissions (ie changing write -> admin) are not considered

There will still be situations where our cache is stale, but we can handle this well enough in the user interface. For example, when I search for a repository that isn't in our cache (perhaps was recently created) we can show a message that says something like this:

{repo_name} is unknown or does not exist. Click here to visit this repository page and activate.

implemented a 24 hour cache and informational messages in the UI in case the cache is stale

changed to 15 minute cache a few weeks ago until we have a way to force-refresh from the UI

This fix landed for the upcoming 0.5 release by providing a button to re-sync your account. See screenshot


Fix typo in union enums (overlap example)

Hey!
enum E {
Foo,
Bar,
}
function f(x: E) {
if (x !== E.Foo || x !== E.Bar) {
This condition will always return 'true' since the types 'E.Foo' and 'E.Bar' have no overlap.
//
}
}
After first comparison check fails x is left to be of type E.Bar (not E.Foo) as text suggests

Same answer as https://github.com/microsoft/TypeScript-Website/pull/2572

got it, there is !==. thank you.


Improving navigation bar, landing page and some website styles

In this PR, the following changes have been introduced:

Made the side bar share the same font as the remaining of the website (which is more modern) instead of an older font and changed the capitalization of some side bar items for consistency.
Improved the style of the search bar to make it look more modern.
Improved code highlighting by porting the most recent version of highlight.js

Added a horizontal navigation bar as requested in #183
Added temporary functionality for maintainers to test out whether the horizontal navigation bar or the side bar is better

Note that it follows that I didn't put extensive effort into perfecting the horizontal navigation bar in terms of style
If we decide to keep it, that should be easy (will follow up).
Likewise, it's also easy to improve the styles of the side bar should it be the chosen one

Changed the format of the landing page to implement the proposal mentioned in #183 using a tab UI

There is room for improvement in terms of the style which could be considered later.

demo.webm

@ablaom I'm interested in hearing your opinion on which navigation bar is preferable so I could to any needed further refinements to that one and perform deployment steps before we can merge this.

Great work here. I'm leaning towards the horizontal bar. What are your thoughts?
Maybe @tlienart or @OkonSamuel would like to comment. The question is whether to have tutorial menu as a horizontal with drop-downs or as a side bar with collapsibles, and both versions are trialled in the video.

Great work here. I'm leaning towards the horizontal bar. What are your thoughts?

Both choices have their appeal, so I'm in different between them. The horizontal bar makes more space for the tutorial content but may not generalize well if more tutorial types are expected in the future (it took me some effort to fit in the search bar!); meanwhile, the side bar is what's more common across online tutorials (and their users) but it makes the page feel more busy.

In this PR, the following changes have been introduced:

Made the side bar share the same font as the remaining of the website (which is more modern) instead of an older font and changed the capitalization of some side bar items for consistency.
Improved the style of the search bar to make it look more modern.
Improved code highlighting by porting the most recent version of highlight.js

4. Added a horizontal navigation bar as requested in [Proposal to redesign the landing page #183](https://github.com/JuliaAI/DataScienceTutorials.jl/issues/183)
5. Added temporary functionality for maintainers to test out whether the horizontal navigation bar or the side bar is better

Note that it follows that I didn't put extensive effort into perfecting the horizontal navigation bar in terms of style
If we decide to keep it, that should be easy (will follow up).
Likewise, it's also easy to improve the styles of the side bar should it be the chosen one

Changed the format of the landing page to implement the proposal mentioned in Proposal to redesign the landing page #183 using a tab UI

There is room for improvement in terms of the style which could be considered later.

demo.webm

Thanks @EssamWisam for working on this. This would make our tutorials more appealing.
Can't we have both navigation bars. lol. Like the user chooses the option they prefer.
If not then the maybe a navigation at the left is great, especially if the user can hide it to create more space.

Can't we have both navigation bars. lol. Like the user chooses the option they prefer.

Yes, of course I can make a small settings icon in the side bar with the option to switch to the other layout and vice versa (and maybe also an option to change the theme) but it will be a little extraordinary as websites commonly don't give users librerty to design the website xD.

If not then the maybe a navigation at the left is great, especially if the user can hide it to create more space.

That indeed recently crossed my mind. It's somewhat straightforward to attach functionality to show and hide the side bar and it does do good towards the cluttering issue.

@EssamWisam You go ahead and merge and deploy when ready. No further review needed here.

Alrighty.


Improvements in task status and percentage complete change, and user status change

[ ] In-progress option should get disabled once the user has marked their task 100% complete
[ ] once the user gets assigned a task with task leveling their status should be changed to active
[ ] status should change to idle when if they are not assigned a task
[ ] If the user has a task assigned they should not be able to change their status to idle, one idea is to not allow them to change status to active or idle by themselves, they can only change it to OOO from idle or active, once they remove the OOO status they will get the status which was there before they changed it to OOO

For the 1st issue, what if user makes the task 100% complete by mistake, is there any going back ??

we are already warning the user that this will be marked as 100% completed, we can one more warning that this is an irreplaceable action

we are already warning the user that this will be marked as 100% completed, we can one more warning that this is an irreplaceable action

Yeah, on the message popup, mention this too that it can't be changed


How to integrate it with frontend

Hi, What steps should I follow to create a web app UI and integrate it?
Many thanks for considering my request.

I would try to integrate this with gradio. You can set the server normally (python s2s_pipeline.py ... and then run something similar to the listen_and_play (https://github.com/huggingface/speech-to-speech/blob/main/listen_and_play.py) in the web app


MINOR: Do not expose topic name in DeleteTopic response if no describe permission

We now accept topicIds in the DeleteTopic request. If the client principal does not have Describe permission, then we return UNKNOWN_TOPIC_ID regardless whether the topic exists or not. However, if the topic does exist, then we also set its name in the response, which gives the user a way to infer existence. This is probably not a major issue since the client would still need to find the topicId first, but it is an easy hole to plug as well.
Committer Checklist (excluded from commit message)

[ ] Verify design and implementation
[ ] Verify test coverage and CI build status
[ ] Verify documentation (including upgrade notes)

Not sure whether it is possible to have a helper method to process this complicated code for both KafkaApis and ControllApis.

It also seems like this code is completely rewritten in https://github.com/apache/kafka/pull/10184. So maybe any changes to KafkaApis should be addressed in that PR?


Add other packages needed for development (fixes #45)

Now that we have a dev requirements file, we can close issue #45 :)

I rebased this and the other PRs to include the build fix.

Great, thanks!


Lighting app build error

Description of the issue
Trying to build lighting app and got the error:
BUILD_DIR=./out/lighting-app/BRD2601B
+ '[' false == true ']'
+ '[' -z '' ']'
+ gn gen --check --fail-on-unused-args --export-compile-commands --root=./examples/lighting-app/silabs/efr32/ '--args=silabs_board="BRD2601B"' ./out/lighting-app/BRD2601B
ERROR at //third_party/connectedhomeip/third_party/openthread/BUILD.gn:27:23: Unable to load "/Users/me/connectedhomeip/examples/lighting-app/silabs/efr32/third_party/connectedhomeip/third_party/openthread/ot-efr32/openthread/BUILD.gn".
      public_deps = [ "${openthread_root}:libopenthread-ftd" ]

Steps to reproduce the issue
Start with the commands:

git clone https://github.com/SiliconLabs/matter.git connectedhomeip
cd connectedhomeip
export PATH="/Applications/ArmGNUToolchain/12.2.rel1/arm-none-eabi/bin:$PATH"
./scripts/examples/gn_efr32_example.sh ./examples/lighting-app/silabs/efr32/ ./out/lighting-app BRD4161A

Device type(s) and network topology
No device involved yet. Just build on Mac.
Proposed solution(s)
v1.0.2-1.0
SMG version
release_0.1.0
Protocol(s)
Openthread
Hardware platform(s)
BRD2601B, BRD4161A
Development platform(s)
macOS 11.7.2
Captured data or logs

      █
         █
     ▄   █   ▄                                █     █
     ▀▀█████▀▀      ▄▀▀▀▄ ▄▀▀▀▄    ▄▀▀▀▀▄█  ▀▀█▀▀▀▀▀█▀▀   ▄▀▀▀▀▄    ▄▀▀
   ▀█▄       ▄█▀   █     █     █  █      █    █     █    █▄▄▄▄▄▄█  █
     ▀█▄   ▄█▀     █     █     █  █      █    █     █    █         █
  ▄██▀▀█   █▀▀██▄  █     █     █   ▀▄▄▄▄▀█    ▀▄▄   ▀▄▄   ▀▄▄▄▄▀   █
 ▀▀    █   █    ▀▀

  ACTIVATOR! This sets your shell environment variables.

Activating environment (setting environment variables):

  Setting environment variables for CIPD package manager...done
  Setting environment variables for Python environment.....done
  Setting environment variables for pw packages............skipped
  Setting environment variables for Host tools.............done

Checking the environment:

20230108 04:26:47 INF Environment passes all checks!

Environment looks good, you are ready to go!

+ env
PW_PIGWEED_CIPD_INSTALL_DIR=/Users/me/connectedhomeip/.environment/cipd/packages/pigweed
TERM_PROGRAM=Apple_Terminal
PW_PACKAGE_ROOT=/Users/me/connectedhomeip/.environment/packages
SHELL=/bin/zsh
TERM=xterm-256color
TMPDIR=/var/folders/0s/mb7yvbg14yl6_kgn8tkl7s3r0000gn/T/
TERM_PROGRAM_VERSION=440
TERM_SESSION_ID=2607A424-A0F7-4A92-B364-2E0018AA9D15
USER=me
PW_BRANDING_BANNER=/Users/me/connectedhomeip/scripts/matter_banner.txt
SSH_AUTH_SOCK=/private/tmp/com.apple.launchd.SZ7Uq74tIh/Listeners
_PW_ENVIRONMENT_CONFIG_FILE=/Users/me/connectedhomeip/scripts/environment.json
VIRTUAL_ENV=/Users/me/connectedhomeip/.environment/pigweed-venv
PATH=/Users/me/connectedhomeip/third_party/pigweed/repo/out/host/host_tools:/Users/me/connectedhomeip/.environment/pigweed-venv/bin:/Users/me/connectedhomeip/.environment/cipd/packages/python/bin:/Users/me/connectedhomeip/.environment/cipd/packages/python:/Users/me/connectedhomeip/.environment/cipd/packages/pigweed/bin:/Users/me/connectedhomeip/.environment/cipd/packages/pigweed:/Users/me/connectedhomeip/.environment/cipd/packages/arm/bin:/Users/me/connectedhomeip/.environment/cipd/packages/arm:/Users/me/connectedhomeip/.environment/cipd:/Applications/ArmGNUToolchain/12.2.rel1/arm-none-eabi/bin:/Applications/ArmGNUToolchain/12.2.rel1/arm-none-eabi/bin:/Users/me/esp/xtensa-esp32-elf/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Applications/VMware Fusion.app/Contents/Public:/Users/me/esp/esp-rainmaker/cli
PW_ROOT=/Users/me/connectedhomeip/third_party/pigweed/repo
PW_ARM_CIPD_INSTALL_DIR=/Users/me/connectedhomeip/.environment/cipd/packages/arm
__CFBundleIdentifier=com.apple.Terminal
PWD=/Users/me/connectedhomeip
XPC_FLAGS=0x0
_PW_ACTUAL_ENVIRONMENT_ROOT=/Users/me/connectedhomeip/.environment
XPC_SERVICE_NAME=0
SHLVL=2
HOME=/Users/me
_PW_ROSETTA=0
LOGNAME=me
LC_CTYPE=UTF-8
IDF_CCACHE_ENABLE=0
PW_PYTHON_CIPD_INSTALL_DIR=/Users/me/connectedhomeip/.environment/cipd/packages/python
PW_PROJECT_ROOT=/Users/me/connectedhomeip
RMAKER_PATH=/Users/me/esp/esp-rainmaker
_=/usr/bin/env
+ USE_WIFI=false
+ SILABS_THREAD_TARGET='"../silabs:ot-efr32-cert"'
+ USAGE='./scripts/examples/gn_efr32_example.sh <AppRootFolder> <outputFolder> <silabs_board_name> [<Build options>]'
+ '[' 3 == 0 ']'
+ '[' 3 -lt 2 ']'
+ ROOT=./examples/lighting-app/silabs/efr32/
+ OUTDIR=./out/lighting-app
+ '[' 3 -gt 2 ']'
+ SILABS_BOARD=BRD2601B
+ shift
+ shift
+ shift
+ '[' 0 -gt 0 ']'
+ '[' -z BRD2601B ']'
+ BUILD_DIR=./out/lighting-app/BRD2601B
+ echo BUILD_DIR=./out/lighting-app/BRD2601B
BUILD_DIR=./out/lighting-app/BRD2601B
+ '[' false == true ']'
+ '[' -z '' ']'
+ gn gen --check --fail-on-unused-args --export-compile-commands --root=./examples/lighting-app/silabs/efr32/ '--args=silabs_board="BRD2601B"' ./out/lighting-app/BRD2601B
ERROR at //third_party/connectedhomeip/third_party/openthread/BUILD.gn:27:23: Unable to load "/Users/me/connectedhomeip/examples/lighting-app/silabs/efr32/third_party/connectedhomeip/third_party/openthread/ot-efr32/openthread/BUILD.gn".
      public_deps = [ "${openthread_root}:libopenthread-ftd" ]
                      ^-------------------------------------

I followed https://developers.home.google.com/matter/vendors/silicon-labs
And this works. But it includes a lot other silicon solutions. What is the correct way to setup SMG on Mac?


Support for Oracle 12c

[Enter feedback here]
Could you specify if the solution supports older Oracle releases. This will help customers adopt the right solution.

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

ID: d100ced1-4c20-3d8c-3220-f55d7957edf2
Version Independent ID: 6c8a0d66-ed3f-ad78-bf69-53e2e5c6e5d4
Content: Back up and recover an Oracle Database 19c database on an Azure Linux VM using Azure Backup - Azure Virtual Machines
Content Source: articles/virtual-machines/workloads/oracle/oracle-database-backup-azure-backup.md
Service: virtual-machines
Sub-service: oracle
GitHub Login: @cro27
Microsoft Alias: cholse

@manianls Thank you for your question!  We are reviewing this and will get back to you shortly.

Under Prerequisites, the documentation calls out that the reader must create an Oracle Database 19c VM.  The request is to clarify whether or not older versions of Oracle are supported (example: using version X or newer).

@manianls thank you for your suggestion. We will update the doc to reflect that Oracle 12.x or higher is supported by Microsoft managed scripts in Azure Backup.

#please-close - fixed in PR #192893


Integrate gardener terraform module

Description
When there is an available gardener terraform module, integrate it into Hydroform and get rid of the hardcoded template.
Acceptance criteria

Gardener module is integrated and all target providers supported.
Old template is removed and not needed anymore.

Extra info

This issue needs to be done after #92
For an implementation example, please see azure module integration: #78

We will not invest further here


Seems to be an issue

I thought that farmbot would help keep the rabbits away from my weed?

I'm looking a hydroponics version of farmbot.


Triple-equals font doesn't look very good on lower dpi screens

To me this triple equals makes me think my eyes have lost focus:

If I zoom in a bunch, it looks how I presume it's supposed to look:

This on a Dell U3415W, which according to the internet has a DPI of ~109. While this is low for a laptop display (a 13" macbook is 226), for an external monitor it's not too bad.

This issue is specific to FiraCode. I tried changing the text-rendering which didn't help, so I don't think we can do much about it.


Docker build error for emv-card-simulator

I am encountering an issue while building the emv-card-simulator project using Docker. Below are the details of the error and the steps I followed. I would appreciate your assistance in resolving this problem.

Here are the highlights of this release:

Compiling and testing with Java 22
Cacheable Groovy script compilation
New methods in lazy collection properties

For more details see https://docs.gradle.org/8.7/release-notes.html
Starting a Gradle Daemon (subsequent builds will be faster)

Task :compileJava
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.

Task :compileGroovy NO-SOURCE
Task :processResources NO-SOURCE
Task :classes
Task :jar
Task :assemble
Task :compileTestJava FAILED
Task :checkstyleMain

FAILURE: Build failed with an exception.

What went wrong:
Execution failed for task ':compileTestJava'.

Dependency verification failed for configuration ':testCompileClasspath':

On artifact junit-jupiter-api-5.11.0.jar (org.junit.jupiter:junit-jupiter-api:5.11.0) in repository 'MavenRepo': checksum is missing from verification metadata.
On artifact junit-platform-commons-1.11.0.jar (org.junit.platform:junit-platform-commons:1.11.0) in repository 'MavenRepo': checksum is missing from verification metadata.
If the artifacts are trustworthy, you will need to update the gradle/verification-metadata.xml file. For more on how to do this, please refer to https://docs.gradle.org/8.7/userguide/dependency_verification.html#sec:troubleshooting-verification in the Gradle documentation.

These files failed verification:

GRADLE_USER_HOME/caches/modules-2/files-2.1/org.junit.jupiter/junit-jupiter-api/5.11.0/2093fd814e940224cfa5a1882d87cc9d81e25c3/junit-jupiter-api-5.11.0.jar
GRADLE_USER_HOME/caches/modules-2/files-2.1/org.junit.platform/junit-platform-commons/1.11.0/9bb41eff52781584798c487b68782ae3b4126f14/junit-platform-commons-1.11.0.jar
GRADLE_USER_HOME = /root/.gradle

These files failed verification:

GRADLE_USER_HOME/caches/modules-2/files-2.1/org.junit.jupiter/junit-jupiter-api/5.11.0/2093fd814e940224cfa5a1882d87cc9d81e25c3/junit-jupiter-api-5.11.0.jar
GRADLE_USER_HOME/caches/modules-2/files-2.1/org.junit.platform/junit-platform-commons/1.11.0/9bb41eff52781584798c487b68782ae3b4126f14/junit-platform-commons-1.11.0.jar

GRADLE_USER_HOME = /root/.gradle
Open this report for more details: file:///tmp/build/reports/dependency-verification/at-1725474806009/dependency-verification-report.html

Try:

Run with --stacktraceoption to get the stack trace.
Run with--infoor --debugoption to get more log output.
Run with--scanto get full insights.
Get more help athttps://help.gradle.org.

BUILD FAILEDin 18s
4 actionable tasks: 4 executed
[4/9] COPY oracle_javacard_sdks ./oracle_javacard_sdks
[7/9] COPY gradle ./gradle

the gradle lock dependencies seem to be causing issues. i can do an update possibly tomorrow

https://github.com/mrautio/emv-card-simulator/pull/23 should fix the issue


Added Flare Linux config proof of concept

Observable delay after pressing 'stop' while the server shuts down.

Moving this conversation over to issue #2.
@kirkyb Many thanks!


Not sure what this error is

Good morning guys , can anyone tell me what is this error message I am receiving while connecting to my hotpot and how to solve it ? Thank you

Please contact<EMAIL_ADDRESS>


Optimizations and WAs to support HPU execution for Detr-Resnet-50

What does this PR do?
This is rebased and updated https://github.com/huggingface/optimum-habana/pull/1334

@sandeep-maddipatla  now that you're back you want to continue this PR or go back to 1334? I am going to start testing soon so let me know your preference

@sandeep-maddipatla now that you're back you want to continue this PR or go back to 1334? I am going to start testing soon so let me know your preference

Hi @vidyasiv - If it is all the same to you, I'd prefer to move to #1334 .. I'll need to pull these changes there (expected to be EoD).

@sandeep-maddipatla now that you're back you want to continue this PR or go back to 1334? I am going to start testing soon so let me know your preference

Hi @vidyasiv - If it is all the same to you, I'd prefer to move to #1334 .. I'll need to pull these changes there (expected to be EoD).

Sure no problem, take your time. Once you've moved over, this PR can be closed to avoid confusion.

Addressed review feedback and merged in changes into #1334 ... Will use that PR to continue the review process.

@splotnikv , i think we can close this review, thanks


Controling what traits and methods are derived for generated structs.

I could be missing things, but is there a way to customize what derives are added to generated structs?
currently,  the generated structs contain: #[derive(Clone, PartialEq, ::prost::Message)], and the bounds on  Message: Debug + Send + Sync, mean the generated struct has to at least be Clone + Debug + Send + Sync + PartialEq. Default is also generated.
Firstly are Debug, Send, and Sync actually necessary bounds to implement 'Message'? because doesn't seem to me that they are.
Secondly, Default being generated for each type is actually a double edged sword here. sometime i want to implement locally a custom default for a type, which i cant do because its already generated.
typical use case is i have a proto-message with config options to set. the defaults for protobuf are either 0/None/"" etc, or, if using proto2, what ever is in the [default=xx] annotation. but that sets the default for all messages of this type, which might not be desired.
I realise Default is needed for protobufs to function, but can we for example, implement something like ProtobufDefault instead? and leave the 'proper' default up to the user?
Lastly, for certain types (basic scalars and enums) prost generates 'getter' methods that just return the value, or default if the value is None... This is in my opinion a mistake. It generates an inconsistent API (i.e why can i do self.field() if field is i64, but i cant do self.field() if field is Option?)
and interferes with generating custom accessor implementations by the user.
In short, would the ability to disable anything other than the bare minimum for dealing with protobufs be desirable? If so, im going to give it a go :)

The set of derives can be added to, but there is no way to remove derives.
As far as all of your other concerns, none of those things are subject to change.  I recommend using wrapper types if you have significant logic that you want to layer on to prost generated types.


Error if parent node is after child node in the list of nodes

What platform were you using when you found the bug?

React Flow / Svelte Flow version: 12
Browser and version: chrome 126
OS and version: linux mint 21

Live code example
https://codesandbox.io/s/nice-euler-tnjckd
Describe the Bug
Parent node not found error if parent node is after child node
Steps to reproduce the bug or issue
Using the following node list will result in the error
const nodes = [
  {
    id: "B",
    data: { label: "child node 1" },
    position: { x: 10, y: 10 },
    parentId: "A",
    extent: "parent"
  },
  {
    id: "A",
    type: "group",
    data: { label: null },
    position: { x: 0, y: 0 },
    style: {
      width: 170,
      height: 140
    }
  }
];

export default nodes;

Expected behavior
B is child of A. State order shouldn't matter
Screenshots or Videos
No response
Additional context
No response

It's not a bug.
As explained in the docs, to ensure correct processing, it's important that parent nodes appear before their children in the nodes/defaultNodes array.
https://reactflow.dev/learn/layouting/sub-flows

I see. Guess I failed to see the big yellow box


help wanted: using Website Agent to scrape a url which directs everyday to a date-related url

Hi, I'm trying to use Website Agent to scrape a digital daily news webiste. The original url is "http://paper.people.com.cn/rmrb/paperindex.htm", it redirects to a date-related url like"http://paper.people.com.cn/rmrb/html/2018-03/03/nbs.D110000renmrb_01.htm" everyday.
I've tried to using Liquid, but I really don't understand it.  Can you help to find a way to generate the daily url for Website Agent to use?
Thanks a lot !
Useful webpages:

http://huginnio.herokuapp.com/agents#WebsiteAgent
https://github.com/huginn/huginn/wiki/Formatting-Events-using-Liquid
https://shopify.github.io/liquid/basics/introduction/

Hi,
I would use two WebsiteAgents, first fetch the "base" URL and extract the redirection url, send that url to a second Agent with appends the extracted URL to its confiured url to fetch http://paper.people.com.cn/rmrb/{{url}}.
This should extract the redirection url:
{
  "expected_update_period_in_days": "2",
  "url": "http://paper.people.com.cn/rmrb/paperindex.htm",
  "type": "html",
  "mode": "on_change",
  "extract": {
    "url": {
      "css": "meta[http-equiv=REFRESH]",
      "value": "@content"
    }
  },
  "template": {
    "url": "{{url | split: \"=\" | last}}"
  }
}

@dsander Thanks a lot. Problem solved.


Remove .npmignore (replaced by whitelist in package.json)

Remove .npmignore since https://github.com/EmberSherpa/ember-cli-app-version/pull/28 makes this file irrelevant.

Seems a random failure. Needs a rebuild

Seems like the builds for the default Ember Try strategy have been failing since 5 months ago.

Yeah, I'll update it now. I need to upgrade the package


Speaker pauses too long.

When using the voice file to convert the text file, the program is terminated due to the pause of the speaker for too long. How to fix it?

@kaichen0712 Based on your description, I understand you are using speech to text feature. Are you using recognize once or continuous operation? With continuous operation, longer pause in input speech will not cause recognition to stop. Here is one sample for continuous recognition https://github.com/Azure-Samples/cognitive-services-speech-sdk/blob/7a745ea846d05bed1eef2e1806e3679ef0bbcfd9/samples/csharp/sharedcontent/console/speech_recognition_samples.cs#L193


Generic composition api component used from options api does not type check

Vue version
3.3.4
Link to minimal reproduction
https://stackblitz.com/edit/vitejs-vite-sif4dc?file=src%2FApp.vue
Steps to reproduce
npm run typecheck fails with errors
What is expected?
Well I was expecting it to type check successfully. Documentation isn't clear but it might just be that this is intentionally not supported or that it requires some extra code to monomorphise the component type. I couldn't find anyone discussing this case.
What is actually happening?
type checking fails with the following errors.
src/App.vue:18:5 - error TS2769: No overload matches this call.
  The last overload gave the following error.
    Type '<T extends { desc: string; }>(__VLS_props: { modelValue: T[]; } & VNodeProps & AllowedComponentProps & ComponentCustomProps, __VLS_ctx?: Pick<{ props: { ...; }; expose(exposed: {}): void; attrs: any; slots: {}; emit: { ...; }; }, "attrs" | ... 1 more ... | "slots"> | undefined, __VLS_setup?: { props: { ...; }; expos...' is not assignable to type 'Component<any, any, any, ComputedOptions, MethodOptions>'.
      Type '<T extends { desc: string; }>(__VLS_props: { modelValue: T[]; } & VNodeProps & AllowedComponentProps & ComponentCustomProps, __VLS_ctx?: Pick<{ props: { ...; }; expose(exposed: {}): void; attrs: any; slots: {}; emit: { ...; }; }, "attrs" | ... 1 more ... | "slots"> | undefined, __VLS_setup?: { props: { ...; }; expos...' is not assignable to type 'FunctionalComponent<any, any, any>'.
        Types of parameters '__VLS_ctx' and 'ctx' are incompatible.
          Type 'Omit<{ attrs: Data; slots: Readonly<InternalSlots>; emit: ((event: unknown, ...args: any[]) => void) | ((event: string, ...args: any[]) => void); expose: (exposed?: Record<string, any> | undefined) => void; }, "expose">' is not assignable to type 'Pick<{ props: { modelValue: { desc: string; }[]; }; expose(exposed: {}): void; attrs: any; slots: {}; emit: { itemClicked: [item: { desc: string; }]; }; }, "attrs" | "emit" | "slots">'.
            Types of property 'emit' are incompatible.
              Type '((event: unknown, ...args: any[]) => void) | ((event: string, ...args: any[]) => void)' is not assignable to type '{ itemClicked: [item: { desc: string; }]; }'.
                Type '(event: unknown, ...args: any[]) => void' is not assignable to type '{ itemClicked: [item: { desc: string; }]; }'.

18     ListGeneric,
       ~~~~~~~~~~~

  node_modules/@vue/runtime-core/dist/runtime-core.d.ts:1245:25
    1245 export declare function defineComponent<PropsOptions extends Readonly<ComponentPropsOptions>, RawBindings, D, C extends ComputedOptions = {}, M extends MethodOptions = {}, Mixin extends ComponentOptionsMixin = ComponentOptionsMixin, Extends extends ComponentOptionsMixin = ComponentOptionsMixin, E extends EmitsOptions = {}, EE extends string = string, S extends SlotsType = {}, I extends ComponentInjectOptions = {}, II extends string = string>(options: ComponentOptionsWithObjectProps<PropsOptions, RawBindings, D, C, M, Mixin, Extends, E, EE, I, II, S>): DefineComponent<PropsOptions, RawBindings, D, C, M, Mixin, Extends, E, EE, PublicProps, ResolveProps<PropsOptions, E>, ExtractDefaultPropTypes<PropsOptions>, S>;
                                 ~~~~~~~~~~~~~~~
    The last overload is declared here.

src/App.vue:32:12 - error TS2339: Property 'clicked' does not exist on type '{ logItem(arg: T): void; }'.

32       this.clicked = arg;
              ~~~~~~~

System Info
System:
    OS: Linux 5.15 Ubuntu 20.04.6 LTS (Focal Fossa)
    CPU: (32) x64 AMD Ryzen 9 5950X 16-Core Processor
    Memory: 60.64 GB / 88.39 GB
    Container: Yes
    Shell: 5.0.17 - /bin/bash
  Binaries:
    Node: 16.13.2 - ~/.nvm/versions/node/v16.13.2/bin/node
    Yarn: 1.22.19 - ~/.nvm/versions/node/v16.13.2/bin/yarn
    npm: 8.1.2 - ~/.nvm/versions/node/v16.13.2/bin/npm
    pnpm: 7.5.2 - ~/.nvm/versions/node/v16.13.2/bin/pnpm
  Browsers:
    Chrome: 113.0.5672.92
  npmPackages:
    vue: ^3.3.4 => 3.3.4

### Any additional comments?

Converting a large project to vue 3, the template is now typechecked and required generic props

https://github.com/vuejs/language-tools/issues/3292

I see, so internally it's expecting to be able to use InstanceOf ? Thanks

@dten This issue should be fixed in latest version of volar.

Great I'll try it out

It works perfectly, thank you


An error occurs in a multi-coroutine scenario

I have started a program with many coroutines. In this case, when my gorm has been executed for a period of time, it returns an empty struct but does not return an error. This seems to happen randomly because I There are 2 pods running at the same time but always appear in one of them.  no return  ErrRecordNotFound or other err  but return  empty struct
This is my config
db, _ := gorm.Open(mysql.Open(dsn_master), &gorm.Config{Logger: logger.New(
		Writer{}, // io writer
		logger.Config{
			SlowThreshold: time.Second / 2, // Slow SQL threshold
			LogLevel:      logger.Info,     // Log level
		},
	)})
	db.Use(dbresolver.Register(dbresolver.Config{
		Sources:  []gorm.Dialector{mysql.Open(dsn_master)},
		Replicas: []gorm.Dialector{mysql.Open(dsn_slave)},
		Policy:   dbresolver.RandomPolicy{},
	}).
		SetConnMaxIdleTime(time.Hour).
		SetConnMaxLifetime(time.Hour).
		SetMaxIdleConns(500).
		SetMaxOpenConns(4000))

Please submit a runable example, or we are just wasting time here.

Please submit a runable example, or we are just wasting time here.

It is a simple query. I have a go program that has opened many coroutines. These coroutines will sleep. The query is executed in the coroutines. After running for some time, the results are generated.
	err := db.Where("id = ?", id).First(&data).Error
	if err != nil {
		return nil, err
	}

Please submit a runable example, or we are just wasting time here.

A runable example contains huge information than what you provided:

the go.mod: the version of GORM and the driver version you are using
the codes: how your codes runs, did you accidently eat the errors?(for example, a gorm plugin)

It's very recommended that you should write one rather than just doing questions and answers, like I said, it's just wasting time here.

This may be because your data insertion side is later than the data reading side


[async] Add async method and get rid of result/json futures

This PR was sparked by https://github.com/tipsy/javalin/issues/1273 - I thought it would be neat if we could have an ctx.async method with a future scope that let you use the Context as normal:
fun async(runnable: ThrowingRunnable) {
    ...
    resultFuture = CompletableFuture.supplyAsync { runnable.run() }
}

Usage:
ctx.async {
    val futureValue = myFuture.get()
    if (futureValue == null) {
        ctx.status(204)
    } else {
        ctx.json(futureValue)
    }
}

Seeing as I never use async, I have no idea if this is a good idea.

@LoonyRules please have a look.
Pinging some other people who have worked on/with async: @bchristenson @dancohensmith @wilerson
I'm out of my element here, I'm just trying to make the API more consistent 😄

I don't quite like it, because it's limited to the default thread pool shared between whole jvm instance. supplyAsync uses global forkjoinpool, which is a small fixed pool (number of cpus):

https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ForkJoinPool.html#commonPool--

In my opinion CompletableFuture should be always used within the dedicated executor service. You can not only just control this, but you can also limit strange performance issues caused by such management. Let's say that someone used supplyAsync to perform some IO operations to e.g. load files from disk etc. By using the same pool, the async request may become kinda freezed, because some random code in another place is doing sth.
I'm thinking about an alternative. In general I think that .async(executorService) { } might be an option for now. We may use default forkjoinpool if user won't specify it.

Wasn't aware that .get() is blocking, so that's fun (I guess that's what I ...get for not reading up on any of this)
Not sure if worth looking into: https://github.com/electronicarts/ea-async
The main intent of this PR isn't to provide a solution, but rather start a discussion on how we can improve this part of Javalin.

I like it, but it should be a little improved, because it's limited to the default thread pool shared between whole jvm instance. supplyAsync uses global forkjoinpool, which is a small fixed pool (number of cpus):

https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ForkJoinPool.html#commonPool--

In my opinion CompletableFuture should be always used within the dedicated executor service. You can not only just control this, but you can also limit strange performance issues caused by such management. Let's say that someone used supplyAsync to perform some IO operations to e.g. load files from disk etc. By using the same pool, the async request may become kinda freezed, because some random code in another place is doing sth.
I'm thinking about an alternative. In general I think that .async(executorService) { } might be an option for now. We may use default forkjoinpool if user won't specify it.

In regards to what was mentioned in here I agree roughly on the idea of what this requests.

Javalin could use the default QueuedThreadPool / ExecutorService (QTP/ES) that the Javalin Server uses for these async requests by default.
The Javalin Config could allow for us to define our own QTP/ES just in case we want to separate the incoming handling pool away from the async handling pool.
Implement the ctx.async() method that uses the default QTP/ES.
But also implement a ctx.async(executorService) method that then allows users to define a different one just in case someone somewhere ever needs to quickly switch for whatever reason.

But generally speaking -- I would be concerned with moving any async functionality away from a future and into what is essentially a Runnable managed by a thread pool of some kind so if both methods are possible that would be great. Future's for developers that are knowledgeable with them and then QTP/ES for developers that just generally want to run something async and not in Future form.
A lot of IO api's these days have methods laid out something like this to allow for blocking thread calls and future support:

public Document getDocument(ObjectId objectId) {
  return this.mongo.find(Filters.eq("_id", objectId)).first();
}

public CompletableFuture<Document> getDocumentFuture(ObjectId objectId) {
  return CompletableFuture.supplyAsync(() -> {
    return this.getDocument(objectId);
  }, DATABASE_EXECUTOR_SERVICE); // DATABASE_EXECUTOR_SERVICE being optional of course.
}

So whilst removing Future support in replacement of async() would allow you to do the same thing, what you are removing support wise is the implementation functionality of Futures in general.
Examples:

Generate a string async then on the same thread it was generated on, pass that through for a final handling. In our case, print it into the console:

CompletableFuture
  .supplyAsync(() -> "Hello World!")
  .thenAccept(input -> System.out.println("Future response: " + input));

Get multiple documents from the Database and when we have all of them, handle our request.

ctx -> {
  // Note: This is a util method I have that just does CompletableFuture.allOf(...) and joins the results
  //       together so when we do thenAccept(...) we have all of our results in hand. By default allOf(...)
  //       returns a Void generic type so you can't handle the responses together.
  FutureUtil
    .asList(
      ctx.queryParams("id")
        .stream()
        .map(id -> getDocumentFuture(new ObjectId(id)))
        .collect(Collectors.toList())
    )
    // Once all of our futures are completed. For the sakes of example we do multiple queries to get
    // documents but in the real world doing 1 query with OR filters would be what you would want. This
    // was just the quickest example.
    .thenAccept(documents -> {
      for (Document document : documents) {
        System.out.println("Document: " + document);
      }
    })
    // When there's an error
    .exceptionally(throwable -> {
      throwable.printStackTrace();
      return null; // Void return type requirement - don't fret.
    });
}

Wasn't aware that .get() is blocking, so that's fun (I guess that's what I ...get for not reading up on any of this)
Not sure if worth looking into: https://github.com/electronicarts/ea-async

Javalin does not need that library for functionality of this.

ctx.async {
   val futureValue = myFuture.get()
  if (futureValue == null) {
       ctx.status(204)
   } else {
       ctx.json(futureValue)
   }
}

Following on from the knowledge of .get() blocking the thread that called it. The proposed usage would mean that each async request could be using 2/3 threads and blocking all until completion.

The Javalin Server is using a thread for the incoming request. Jetty then creates the Context and passes it onto the handler.
ctx.async() from what I understand is doing another CompletableFuture.supplyAsync() method.
Depending on the developer, the myFuture instantiation could be done via CompletableFuture.supplyAsync(Supplier) so now we have 3 threads for a single request.

This would obviously not be recommended. When Javalin has a Context that is marked as async, whether that be the .async() method or a .status(Future) method of some kind, the 1st thread should be freed up and put back into the thread pool to handle more requests.
If Javalin gets given a Future you can just do:
ctx.future != null
  future.thenAccept(input -> {
    // Handle the response - in our example this is the Status Code we want to set for the response.
  }).exceptionally(throwable -> {
    // Error handling goes here
  });

Just some quick notes on alternatives:
api.get("/path") {
    ctx.async { futureCtx ->
        futureCtx.result(obj)
        futureCtx.json(obj)
        futureCtx.status(int) // not sure why this one is needed
    }
}

api.get("/path") {
    val asynxContext = ctx.async()
    asynxContext.result(obj)
    asynxContext.json(obj)
    asynxContext.status(int) // not sure why this one is needed
}

The current API proposal is this:
@JvmOverloads
fun future(future: CompletableFuture<*>, callback: Consumer<Any?>? = null): Context {
    resultFuture = future
    futureConsumer = callback ?: Consumer { result ->
        when (result) {
            is InputStream -> result(result)
            is String -> result(result)
            is Any -> json(result)
        }
    }
    return this
}

Usage:
fun `hello future world`() = TestUtil.test { app, http ->
    app.get("/test-future") { it.future(getFuture("Result")) }
    assertThat(http.getBody("/test-future")).isEqualTo("Result")
}

fun `loonyrunes is happy with the api`() = TestUtil.test { app, http ->
    app.get("/") { ctx ->
        val hasContent = ctx.queryParam("has-content") != null
        ctx.future(getFuture("some-future-result")) { result ->
            if (hasContent) {
                ctx.status(200)
                ctx.json(result!!)
            } else {
                ctx.status(204)
            }
        }
    }
    val contentResponse = http.get("/?has-content")
    assertThat(contentResponse.status).isEqualTo(200)
    assertThat(contentResponse.body).isEqualTo("""some-future-result""")
    assertThat(contentResponse.headers.getFirst(Header.CONTENT_TYPE)).isEqualTo("application/json")
    val noContentResponse = http.get("/?no-content")
    assertThat(noContentResponse.status).isEqualTo(204)
    assertThat(noContentResponse.body).isEqualTo(null)
    assertThat(noContentResponse.headers.getFirst(Header.CONTENT_TYPE)).isEqualTo("text/plain")
}

I'm quite happy with the state of this now. It maintains the same simplicity as the previous implementation, but offers a lot more flexibility and cleaner architecture on Javalin's side.
There was a request for a general "Please put this thing in a different threadpool" function (like my original suggestion), but I think that should be handled in a separate PR.

I'll merge this now, but feel free comment if you find any issues with the approach.


Read resourcepack response from player

Closes  #196

Thank you @iam4722202468  for your contribution!
b.handleResourcePacketRequest(p) was missing in the backendPlaySessionHandler

Currently the ResourcePackResponse packet from the player is ignored, causing outstandingResourcePacks in player.go to have more than 1 resource pack, meaning no new resource packs can be sent.

The actual issue was discovered during further investigation. Specifically, the tickResourcePackQueue() function was missing a check to verify if the outstandingResourcePacks queue was empty before calling p.outstandingResourcePacks.Front(). This was causing a panic, as the front of the queue could not be accessed when it was empty. Additionally, p.mu.RUnlock() was not being called, which caused the connection to hang and prevented a second resource pack from being sent.


Split abi.md to multiple files

This PR splits the "ABI" section into three parts for easier access:

The actual content is left untouched.

Will you make sure that all links to the old abi.md file from the specs, the Sway Book, and the fuel book (if any) are updated?

Will you make sure that all links to the old abi.md file from the specs, the Sway Book, and the fuel book (if any) are updated?

How about a redirect? https://github.com/FuelLabs/fuel-specs/pull/433/commits/70a6936523b60142869cc1764c902fb37057da2a

Leaving a redirect for every change like this sounds like it would introduce a lot of clutter in the long term, but this also makes users' bookmarks not break, etc.


Implement a check write mode

Described in https://github.com/rust-lang-nursery/rustfmt/issues/1977#issuecomment-372167773 This would be used mainly by CI and would emit exit code 0 if no formatting was necessary and 1 if formatting is necessary. The output to stdout would be the same as diff mode.
Mentoring instructions:
Implementation

[ ] add check to the rustfmt bin options
[ ] implement check like diff mode, but with different exit codes (will require refactoring or exit code handling, I think)
[ ] document check mode
[ ] add a test - I think this would have to be an ad hoc unit test in the binary.

Follow ups

[ ] change exit codes as described in https://github.com/rust-lang-nursery/rustfmt/issues/1977#issuecomment-372167773 (it might be easier to do this whilst refactoring the exit code handling, since I think it will lead to some code being removed).
[ ] make the newline character in diffs optional (i.e., it requires a command line arg)
[ ] use check mode for our tests (I'm not sure if this is possible, but might work)
[ ] use check mode in the CI for an official Rust project - one of the RLS helper crates might be a good place to start. Document what is necessary in the Rustfmt repo.
[ ] align cargo fmt exit codes with rustfmt ones (this might be trivial once this issue is fixed)
[ ] implement/verify other parts of the proposal in https://github.com/rust-lang-nursery/rustfmt/issues/1977#issuecomment-372167773

Hey, I'd like to help with this--should I just start working on a PR?

Oh whoops, never mind, just noticed #2539!

@toolness There are lot of low-hanging fruit in my PR! If you've got the time/bandwidth, I'd love to get feedback on some of my design decisions, particularly how I pass around WriteMode. It feels a bit messy, and I'm not too experienced in OSS.
(Apologies if I broke some social rule I'm unaware of...)

Hi @toolness thanks for your interest, but yeah it looks like someone already started on this. If you want another way to get stuck into rustfmt, #2531 might be good - it is not small or easy, but it doesn't require much knowledge of rustfmt - it is essentially refactoring to remove code dup, but in a non-trivial way. If that sounds interesting, I can provide instructions over on that issue.

Sounds good @davidbarsky!  I still consider myself fairly inexperienced in Rust, but I'll take a look at your PR and see if there's any feedback I can provide.
@nrc, thanks for the tip about #2531, I just replied in that issue!


Remove duplicate checker-qual

checker-qual is pulled by guava in v3.33.0 and pully by caffeine in v3.37.0.
This PR removes the duplication.

Backported to: https://github.com/apereo/cas/pull/5885


documentation and CI fixes

Do the CI changes need to be added to test/upgrade.sh and test/vsphere/e2e.sh too?


fix: failing import of subaccount trust configuration

Purpose

This PR fixes the wrong ID assignment for the subaccount trust configuration
Test scenarios are enhanced with import
Documentation is updated
Sync of setup in global account trust configuration to avoid usage of ID
Closes #491

Does this introduce a breaking change?

[ ] Yes
[X] No

Pull Request Type
What kind of change does this Pull Request introduce?

[X] Bugfix
[ ] Feature
[ ] Refactoring (no functional changes, no api changes)
[X] Documentation content changes
[ ] Other... Please describe:

How to Test

Test the code via automated test

go test ./...

What to Check
Verify that the following are valid:

Automated tests are executed successfully

Other Information
n/a
Checklist for reviewer

The following organizational tasks must be completed before merging this PR:

[X] The PR is assigned to the Terraform project and a status is set (typically "in review").
[X] The PR has the matching labels assigned to it.
[X] The PR has a milestone assigned to it.
[X] If the PR closes an issue, the issue is referenced.
[X] Possible follow-up items are created and linked.

Failure of drift detection is okay as recording of import steps was needed
inclusive language check cannot be mitigated due to findings in upstream dependencies