Provide transportAction

// Server's input: ServerHttpExchange, ServerWebSocket
// Server's output: Socket (Transport is by-product)

// 1
// To consume user-defined transport, it will be processed into socket
// similar to server.httpAction()
server.transportAction().on(netServerTransport);

// 2
// When transport is opened
// similar to server.socketAction(Action<Socket> action)
server.transportAction((ServerTransport transport) -> System.out.println(transport));

In fact, 1 can replace server.httpAction and server.wsAction then 2 is not needed. See the following snippet:
// HttpServerTransportForge's input: ServerHttpExchange
// WebSocketServerTransportForge's input: ServerWebSocket
// Server's input: Transport
// Server's output: Socket

// HttpServerTransportForge consumes ServerHttpExchange and produces transport
Action<ServerHttpExchange> forge = new HttpServerTransportForge();
// To consume ServerHttpExchange
// similar to server.httpAction
forge.on(http);
// When transport is opened
// similar to server.socketAction
forge.transportAction(server.transportAction());

// WebSocketServerTransportForge consumes ServerWebSocket and produces transport
Action<ServerWebSocket> forge = new WebSocketServerTransportForge();
// To consume ServerWebSocket
// similar to server.wsAction
forge.on(ws);
// When transport is opened
// similar to server.socketAction
forge.transportAction((Transport transport) -> {
  // Intercepts transport to do something
  System.out.println(transport);
  server.transportAction().on(transport);
});

Although the second one shows what input and output of each component are more clearly than the first one, since user doesn't need to know about Transport, it would be better to provide httpAction and wsAction (so to hide transport) as is for convenience. But I'm not sure. Anyway, internally it already works like the second one.

If server implementation is provided per layer, it would solve the above problem. That is, AServer which consumes ServerTransport and BServer extending AServer which consumes ServerHttpExchange and ServerWebSocket and internally creates and consumes ServerTransport. If user uses customized transport instead of provided ones, AServer is more simple though BServer does work. If user uses provided transports only and doesn't care what transport is, BServer is more convenient which corresponds to the current DefaultServer.
However, since ClusteredServer extends DefaultServer, more work is required to cluster AServer. But I think ClusteredServer should be changed or rewritten. It may decorates Server or need new interface to intercept method calls.

On second thought after reviewing ClusteredServer, it's right that ClusteredServer should be Server and BServer is not necessary. Accordingly Aserver should be DefaultServer and the following should change:

[ ] Make Server extend Action<ServerTransport>

Server consumes ServerTransport and produces ServerSocket
Vibe protocol is configured only though Server

[ ] Create TransportServer extending Action<ServerHttpExchange or ServerWebSocket>

TransportServer consumes platform resource such as ServerHttpExchange or ServerWebSocket and produces ServerTransport
Vibe transport protocol is configured only though TransportServer

[ ] Make transport implementations private

Since they are accessible through TransportServer

Then, a bootstrap code will look like:
// consumes transport and produces socket
final Server server = new DefaultServer();
server.socketAction(socket -> {});

// consumes http and produces transport
HttpTransportServer httpTransportServer = new HttpTransportServer();
httpTransportServer.transportAction(server);
// consumes ws and produces transport
WebSocketTransportServer wsTransportServer = new WebSocketTransportServer();
wsTransportServer.transportAction(server);

// How to integrate with user-defined transport
server.on((NetServerTransport) transport);

// Atmosphere 2
ServletContext context = event.getServletContext();
ServletRegistration.Dynamic reg = context.addServlet(VibeAtmosphereServlet.class.getName(), new VibeAtmosphereServlet() {
    @Override
    protected Action<ServerHttpExchange> httpAction() {
        return httpTransportServer;
    }

    @Override
    protected Action<ServerWebSocket> wsAction() {
        return wsTransportServer;
    }
});
reg.setAsyncSupported(true);
reg.setInitParameter(ApplicationConfig.DISABLE_ATMOSPHEREINTERCEPTOR, Boolean.TRUE.toString());
reg.addMapping("/vibe");

Some tasks are moved to #71


val: re-add ImageMSArray validation

This has been removed in #4752, but not added since.

Have you tested this against Vulkan CTS?

Have you tested this against Vulkan CTS?

No, and that's a very good point! I'll do that.

Have you tested this against Vulkan CTS?

I tried to run it, but it crashed in the middle (query-pool.txt set). So it's a partial run, done in 2 parts (I ignored the query-pool.txt set).

query-pool.txt crash is the same with and without the change, so probably unrelated.
the 2 sides have a few failures (50-ish), but they are the same, so probably unrelated.

So I'd say it passes the vulkan CTS? At least with some confidence?

Have you tested this against Vulkan CTS?

I tried to run it, but it crashed in the middle (query-pool.txt set). So it's a partial run, done in 2 parts (I ignored the query-pool.txt set).

query-pool.txt crash is the same with and without the change, so probably unrelated.
the 2 sides have a few failures (50-ish), but they are the same, so probably unrelated.

So I'd say it passes the vulkan CTS? At least with some confidence?

How did you run it? You can just use buildPrograms -v to build all the SPIR-V with validation enabled. Not sure if you tried that or an actual device run, but wanted to mention in case you weren't aware.

How did you run it? You can just use buildPrograms -v to build all the SPIR-V with validation enabled. Not sure if you tried that or an actual device run, but wanted to mention in case you weren't aware.

I followed the wiki, and used ./deqp-vk --deqp-caselist-file=$repo/external/vulkancts/mustpass/main/vk-default.txt. (The whole think took something like 3 to 4 hours, and ran on my GPU.
Didn't knew about vk-build-programs -v, and it is indeed a good think to know,thanks 😊 This worked without any issues (ran ./vk-build-programs -v) and all  were marked as passed (8210834), and 6 as not supported (AND it didn't took 3 hours to run 😊)


Fix(themes): add fallbacks for Japanese fonts

Add Hiragino Sans and Yu Gothic as fallbacks for Noto Sans CJK JP (Japanese)
Fixes #818

Hey @inesdgomes, I've added the fallbacks in Japanese for Noto Sans, could you help me test it? Here's what I'm seeing on my machine.

Could you get a Japanese speaker to go here: https://deploy-preview-844--ilo-ui-twig-develop.netlify.app/?path=/story/components-content-rich-text--rich-text
And then paste a bunch of text in the content window at the bottom?


Implement SamplingLogger

This is a backport of the same feature from the master branch. This sampling logger helps with spammy log messages.

@calvinjia please take a look

Merged build finished. Test FAILed.

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

Jenkins, test this please

@calvinjia updated to just include the logger change.

Merged build finished. Test PASSed.

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

alluxio-bot, merge this please.

Merged build finished. Test PASSed.

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


Create "Search internal logs" button

Create "Search internal logs" button.
The button will be available for each input.
Once used (clicked), new window will be opened with search application and applied search query
index = _* source = [input name]

https://github.com/splunk/addonfactory-ucc-base-ui/tree/feature/search_internal_logs_button branch created

I think it was already relesed.


Control the utility of search bar for ISBN in the cart. It isn't clear for what can be used here.

It's not a search bar, it allows you to directly add a new book into the cart by ISBN
Or at least, it tries to, if there's any available book copy of that book
It's a shortcut to avoid exiting the cart, entering the requested or reserved dialog, adding the book and then moving it to the cart from there


fix: treat ALL user-defined source vertices as scalable

fixes #1121
Problem Statement
Before UDSource, Numaflow has the following logic to determine whether to enable auto-scaling for a source vertex.
func (v Vertex) Scalable() bool {
  // ...
	if v.IsASource() {
		src := v.Spec.Source
		if src.Kafka != nil {
			return true
		}
	}
	return false
}

It basically says only Kafka source is scalable.
Now that we introduced UDSource, how do we determine if it's scalable? And if a UDSource is scalable, how do we auto-scale it?
Solution
How do we determine if a UDSource is scalable?
I propose that if a source vertex is a UDSource, it is scalable.
How do we auto-scale it?
I propose to continue using the existing auto-scaling logic.
Case Study - there are 3 scenarios.
Scenario 1
The UDSource implements a real pending() method. real means the method actually contains logic to consult the source and get a real pending count. The count can be positive, 0 and negative. negative means the pending information is temporarily unavailable on the server side.
Scenario 2
The UDSource doesn't support pending, hence it's always returning a negative number. [The numaflow grpc_udsource](https://github.com/numaproj/numaflow/blob/main/pkg/sources/udsource/grpc_udsource.go#L77) will treat it as isb.PendingNotAvailable.
Scenario 3
There is an error occurring on the server side, hence pending returns an error. [The numaflow metric server](https://github.com/numaproj/numaflow/blob/main/pkg/metrics/metrics.go#L179) will treat the error as isb.PendingNotAvailable , log the error and continue the program without recording any pending information.
The 3 scenarios essentially lead to two branches: 1. non-negative pending count and 2. isb.PendingNotAvailable
branch 1: Non-Negative pending count

The Metrics Server will build the pending information.
The vertex is defined as scalable because it's UDSource. The auto-scaler is watching the vertex.
When scaling

The scaler successfully gets a pending count.
The scaler calculates desiredReplicas and then scales the vertex accordingly. GOOD.

branch 2: isb.PendingNotAvailable

The Metrics Server will skip building the pending information.
The auto-scaler watches the vertex.
When scaling

The scaler can't get a pending count.
The scaler [doesn't do anything](https://github.com/numaproj/numaflow/blob/main/pkg/reconciler/vertex/scaling/scaling.go#L254). ALSO GOOD.

MISC

For sources that are NOT scalable, like HTTP, how do we set the replica count?

Numaflow [looks for](https://github.com/numaproj/numaflow/blob/main/pkg/apis/numaflow/v1alpha1/vertex_types.go#L402) the replicas specification from the pipeline spec. If not specified, 1.
The controller uses the spec as [desired replicas](https://github.com/numaproj/numaflow/blob/main/pkg/reconciler/vertex/controller.go#L123). So for HTTP, if not specified, the vertex by default has 1 replica and it will never scale up or down.

If the source vertex ever scaled down to 0, with a UDSource not implementing a real pending. Both pending and rate will be nil, in this case, will the vertex ever scale up?

Yes. It will. Because when a vertex has been scaled down to 0 for a certain amount of time. Auto-scaler will [scale it up to 1](https://github.com/numaproj/numaflow/blob/main/pkg/reconciler/vertex/scaling/scaling.go#L210). This happens before the pending and rate metrics kick in.

How is the change tested?

Tested with a user-defined Kafka source. Verified that the source vertex can scale.

This is good!

why not let HTTP implement LagReader and return PendingNotAvailable?


Something removes files from VSIX when being downloaded in Code

First of all: This behavior is weird, and can't be reproduced anytime, but people(including me) had some experience with this issue.
This affected us(the team behind vscode-icons) lately more and more often, and we've got multiple people getting in touch with us because some icons were not shown. After a research, the necessary icon files weren't locally installed, but there were in the vsix uploaded, as @robertohuertasm proves. We think that the cdn managing the package-delivering stripes out some files, where the cdn thinks it is not needed or the vscode itself does not extract all data from the package. This started while 1.12 was in insider, as @JimiC says.
We suggested reinstalling the extension, this helped in some cases, but not in all.
If you have any question, do not hesitate to ask.
I'll hope you'll understand me, my English is bad.
vscode-icons/vscode-icons#924

I had something similar in my extension, but it turned out to happen in the building process
I had structure like the following:
out/bar.ts <- Accidental file once dragged into out folder
out/foo/bar.ts

Then for some reason, the two files would conflict during packaging process
Inside .vsix
out/bar.ts <- Accidental file once dragged into out folder
out/foo/Bar.ts <- This now has capital B for some reason, breaking code on linux

Maybe check inside your .vsix and out folder for something similar.

ups, this wasn't by purpose.

Confirming that this is an issue with version 1.12.1 and insiders 1.13. I tried reproducing with 1.11.2 to no avail.
To make your life easier here are the repro steps:

Install vscode >= 1.12.x
Install vscode-icons extension.

If things look OK at first do the following

Locate the folder where the extension is installed.
Edit package.json file and change the version property to a number other than the current one.
For consistency edit also the .vsixmanifest file and change the Metadata>Identity>Version attribute to a number other than the current one.
Reload vscode.
Select to re-install the extension.
At some point, you will notice that some icons are missing.

It would be great if you could tell me exactly which files are missing.

Missing files are random and in most cases, they are icons (SVG).

This reproduces easily with your steps, but they are incomplete for a full update simulation. Besides changing the version in package.json, you should also rename the parent folder with the correct version number. When I don't rename the folder, I can easily reproduce this. When I rename it to use the same version I place in package.json, for example, this doesn't reproduce.
So, this issue can only be explained if your users updated your extension to the exact same version number, e.g. by installing twice the same VSIX.

@joaomoreno, I'm certain that many of the reported cases have installed the extension via marketplace. As far as I know, it should not be possible to update an extension to the same version number using this method as the marketplace only shows you newer versions. Are you suggesting that there's some kind of issue in the marketplace which exposes older versions of the extension while showing the latest version to the user?

It's definitely possible...

@joaomoreno, taking into account that you have closed the issue where or who are we supposed to notify this to?

@robertohuertasm @joaomoteno submitted a fix that closes the issue.

Sorry, I completely miss that! 👍

@joaomoreno Confirming that when renaming the folder along with the package.json this issue isn't reproducible.
Obviously, users had installed the extension via a vsix and updated to a newer copy with the same version number (either via vsix or marketplace).

ea05102c9ec0fdcb0a6374476c1d5143eb17a1ed should have fixed this


[cxx-interop] Make sure to use the cannonical base class type.

@swift-ci please smoke test.

@swift-ci please test.

Meant to make that other commit it's own PR but, I think it's fine. I'll land them together.

@swift-ci please test Linux.


Multiple issues with the simple_grasp_server

I am using the home-robot-ovmm-challenge-2023-v0.1.2 tag, and I am testing the OVMM example script with the simple grasp server.
python src/home_robot_hw/home_robot_hw/nodes/simple_grasp_server.py
The simple grasp server crashes when the robot starts to pick up an object :

[ERROR] [1700422353.593442,<PHONE_NUMBER>.783554]: Error processing request: rgb.ndim=2
['Traceback (most recent call last):\n', '  File "/opt/ros/noetic/lib/python3/dist-packages/rospy/impl/tcpros_service.py", line 633, in _handle_request\n    response = convert_return_to_response(self.handler(request), self.response_class)\n', '  File "/home/benoit/code/home-robot/src/home_robot_hw/home_robot_hw/ros/grasp_helper.py", line 184, in process\n    grasps, scores, in_base_frame = self.handle_request_fn(\n', '  File "/home/benoit/code/home-robot/src/home_robot/home_robot/manipulation/voxel_grasps.py", line 241, in get_grasps\n    voxel_map.add(camera_pose, pc_segment, feats=pc_color_segment)\n', '  File "/home/benoit/code/home-robot/src/home_robot/home_robot/mapping/voxel/voxel.py", line 259, in add\n    assert rgb.ndim == 3, f"{rgb.ndim=}"\n', 'AssertionError: rgb.ndim=2\n']

The problem is there : https://github.com/facebookresearch/home-robot/blob/home-robot-ovmm-challenge-2023-v0.1.2/src/home_robot/home_robot/mapping/voxel/voxel.py#L259 and the calling function is here : https://github.com/facebookresearch/home-robot/blob/home-robot-ovmm-challenge-2023-v0.1.2/src/home_robot/home_robot/manipulation/voxel_grasps.py#L241
I think there are multiple problems inside the add function of voxel.py : rgb is a matrix ( ndim == 2 ) so the assert fails. Also, just below
assert (
            rgb.shape[:-1] == depth.shape
        )

will also fail because depth is not set by the calling function and is None. Inside the calling function, in voxel_grasp.py, I assume that pc_segment isn't correct constructed because it doesn't have the right dimensions.
Any thoughts on how I could proceed ? Thank you.

Hey Benoit,
Unfortunately this is a known issue on hardware, it's fixed in this branch: https://github.com/facebookresearch/home-robot/pull/435
Best,
Chris

From: Benoit Casseau @.>
Sent: Tuesday, November 21, 2023 6:21 AM
To: facebookresearch/home-robot @.>
Cc: Subscribed @.***>
Subject: [facebookresearch/home-robot] Multiple issues with the simple_grasp_server (Issue #448)
I am using the home-robot-ovmm-challenge-2023-v0.1.2 tag, and I am testing the OVMM example script with the simple grasp server.
python src/home_robot_hw/home_robot_hw/nodes/simple_grasp_server.py
The simple grasp server crashes when the robot starts to pick up an object :
[ERROR] [1700422353.593442,<PHONE_NUMBER>.783554]: Error processing request: rgb.ndim=2
['Traceback (most recent call last):\n', ' File "/opt/ros/noetic/lib/python3/dist-packages/rospy/impl/tcpros_service.py", line 633, in _handle_request\n response = convert_return_to_response(self.handler(request), self.response_class)\n', ' File "/home/benoit/code/home-robot/src/home_robot_hw/home_robot_hw/ros/grasp_helper.py", line 184, in process\n grasps, scores, in_base_frame = self.handle_request_fn(\n', ' File "/home/benoit/code/home-robot/src/home_robot/home_robot/manipulation/voxel_grasps.py", line 241, in get_grasps\n voxel_map.add(camera_pose, pc_segment, feats=pc_color_segment)\n', ' File "/home/benoit/code/home-robot/src/home_robot/home_robot/mapping/voxel/voxel.py", line 259, in add\n assert rgb.ndim == 3, f"{rgb.ndim=}"\n', 'AssertionError: rgb.ndim=2\n']
The problem is there : https://github.com/facebookresearch/home-robot/blob/home-robot-ovmm-challenge-2023-v0.1.2/src/home_robot/home_robot/mapping/voxel/voxel.py#L259 and the calling function is here : https://github.com/facebookresearch/home-robot/blob/home-robot-ovmm-challenge-2023-v0.1.2/src/home_robot/home_robot/manipulation/voxel_grasps.py#L241
I think there are multiple problems in the add function of voxel.py : rgb is a matrix ( ndim == 2 ) so the asset fails. Just below
assert (
rgb.shape[:-1] == depth.shape
)
will also fail because depth is not set by the calling function and is None. In the calling function, in voxel_grasp.py, I assume that pc_segment isn't correct built because it doesn't have the right dimensions.
Any thoughts on how I could proceed ? Thank you.
—
Reply to this email directly, view it on GitHubhttps://github.com/facebookresearch/home-robot/issues/448, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AAZCMZ5O5K2GBSMQ2S4SZIDYFSFB3AVCNFSM6AAAAAA7UMTSWOVHI2DSMVQWIX3LMV43ASLTON2WKOZSGAYDIMBVGMYTKMQ.
You are receiving this because you are subscribed to this thread.Message ID: @.***>

@Jdvakil has been using this branch on the real robot, and it should work

@Jdvakil has been using this branch on the real robot, and it should work
I am using this branch and I have had no crashes

Thank you, I will give it a try.

@cpaxton @Jdvakil
Before using this branch I was using v0.1.1. On v0.1.1, with
python projects/real_world_ovmm/eval_episode.py
the robot was able to detect, reach a cup and attempt to pick it up.
Now with the demo-refactor branch the robot is not enable to select a goal, even if cups are visible and correctly identified. The robot just keeps exploring indefinitely. In the output I always get

Found reachable goal: False

and

Found goal: False

I think that on v0.1.1 when one of these variable was true, it meant that a cup was identified and that the robot was trying to reach it. It doesn't happen here with the new branch.

We have been testing this branch ourselves. Can you make sure it's not just a configuration file change by testing projects/real world ovmm/tests/test_heuristic_policies?
This will run the heuristic (not rl) policies and has command line arguments for setting goals. It should work.
Get Outlook for Androidhttps://aka.ms/AAb9ysg

From: Benoit Casseau @.>
Sent: Thursday, November 23, 2023 1:32:20 PM
To: facebookresearch/home-robot @.>
Cc: Chris Paxton @.>; Mention @.>
Subject: Re: [facebookresearch/home-robot] Multiple issues with the simple_grasp_server (Issue #448)
@cpaxtonhttps://github.com/cpaxton @Jdvakilhttps://github.com/Jdvakil
Before using this branch I was using v0.1.1. On v0.1.1, with
python projects/real_world_ovmm/eval_episode.py
the robot was able to detect, reach a cup and attempt to pick it up.
Now with the demo-refactor branch the robot is not enable to select a goal, even if cups are visible and correctly identified. The robot just keeps exploring indefinitely. In the output I always get
Found reachable goal: False
and
Found goal: False
I think that on v0.1.1 when one of these variable was true, it meant that a cup was identified and that the robot was trying to reach it. It doesn't happen here with the new branch.
—
Reply to this email directly, view it on GitHubhttps://github.com/facebookresearch/home-robot/issues/448#issuecomment-1824808092, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AAZCMZZXPA5L35H5C7H5YJLYF6JDJAVCNFSM6AAAAAA7UMTSWOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQMRUHAYDQMBZGI.
You are receiving this because you were mentioned.Message ID: @.***>

This output does seem to indicate that it's not finding the objects though.
Get Outlook for Androidhttps://aka.ms/AAb9ysg

From: Benoit Casseau @.>
Sent: Thursday, November 23, 2023 1:32:20 PM
To: facebookresearch/home-robot @.>
Cc: Chris Paxton @.>; Mention @.>
Subject: Re: [facebookresearch/home-robot] Multiple issues with the simple_grasp_server (Issue #448)
@cpaxtonhttps://github.com/cpaxton @Jdvakilhttps://github.com/Jdvakil
Before using this branch I was using v0.1.1. On v0.1.1, with
python projects/real_world_ovmm/eval_episode.py
the robot was able to detect, reach a cup and attempt to pick it up.
Now with the demo-refactor branch the robot is not enable to select a goal, even if cups are visible and correctly identified. The robot just keeps exploring indefinitely. In the output I always get
Found reachable goal: False
and
Found goal: False
I think that on v0.1.1 when one of these variable was true, it meant that a cup was identified and that the robot was trying to reach it. It doesn't happen here with the new branch.
—
Reply to this email directly, view it on GitHubhttps://github.com/facebookresearch/home-robot/issues/448#issuecomment-1824808092, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AAZCMZZXPA5L35H5C7H5YJLYF6JDJAVCNFSM6AAAAAA7UMTSWOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQMRUHAYDQMBZGI.
You are receiving this because you were mentioned.Message ID: @.***>

@cpaxton
I was able to run python projects/real_world_ovmm/tests/test_heuristic_policies.py --test-pick successfully. However I have noticed that with this script, the base of the robot only moves along the x-axis, it means that if for instance the object to grasp is too far, the robot isn't able to move close enough to the object to reach it.
What is your approach to make the robot come close enough to the object to grasp ?

This should now be resolved in main


Lock/Disable Layer in SVG

Hello, is it possible to lock a layer in my own svg-file... example i have 3 objects and i wanna lock the last element of these.
thank you!

Yes please! Locking background image position so you can't accidentally drag a background image would be awesome.


[BUGFIX] migrate: ignore adhoc variables

Description
migrate: ignore adhoc variables not supported by Perses:
Error without ignoring it :
percli migrate -f dash.json -o yaml --online
Error: something wrong happened with the request to the API.  Message: bad request: unable to convert to Perses dashboard: spec.variables.2.spec: undefined field: hide StatusCode: 400

Example variable in grafana:
...
            {
                "datasource": {
                    "type": "prometheus",
                    "uid": "PC7A11E9A55DE2B10"
                },
                "description": "Metrics filter.",
                "label": "mfilter",
                "name": "mfilter",
                "type": "adhoc"
            },
...

Screenshots

Checklist

[x] Pull request has a descriptive title and context useful to a reviewer.
[x] Pull request title follows the [<catalog_entry>] <commit message> naming convention using one of the
following catalog_entry values: FEATURE, ENHANCEMENT, BUGFIX, BREAKINGCHANGE, DOC,IGNORE.
[x] All commits have DCO signoffs.

sorry, I think adhoc is handled, it is that hide field is not always present.

@7840vz actually we have checks against null fields to avoid such errors in many cases like
if #var.hide != _|_

But here it's missing at line 117
https://github.com/perses/perses/blob/4ffc25a5f77a6c32fcc611ac1932c53d86fb5bd5/internal/api/migrate/mapping.cuepart#L117
We are assuming hide is always present, but it looks like as most fields it's not always the case..
There's indeed something to improve here to avoid the error your encountered but there's 2 lines to change actually.. I will open a PR asap


Xhangtechmo

sb-bmgjg15186912_api1.business.example.com

https://paypal.me/xhangtech?country.x=MX&locale.x=es_XC

Closing, not planned. Spam.


Add test cases for http2

Purpose
Add test cases for client actions and http2 over ALPN with prior knowledge enabled.

Shall we just change the purpose statement to "Add test cases for client actions and http2 over ALPN". Content of the PR is fine. Let's remove the prior knowledge part in the purpose statement since it is only applicable for cleartext


DocsArchive-<IP_ADDRESS>Auto archive content

Auto archive content from https://github.com/OPS-E2E-PPE/docs-archive-test-source

Docs Build status updates of commit 5350aa8:
:x: Validation status: errors
Please follow instructions here which may help to resolve issue.

File
Status
Preview URL
Details

:x:Error

Details

[Error]

Cannot sync git repo to specified commit because branch Release_Archive_master_2020-05-12-08-24-44 has been deleted or has been force pushed: fatal: couldn't find remote ref refs/heads/Release_Archive_master_2020-05-12-08-24-44

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Test verification - skip cache duplicate improvement

Introduce test to check: build identical project twice, verify only one cache entry, build two should say skipping and not have a push to cache message
Note: in 1.0 a debug-cache pre-built step was introduced, this enables you to directly inspect if a duplicate cache entry was uploaded.

Removing from 1.0 backlog to quality of life backlog


packer.nvim installer hangs at installing nvim-telescope\telescope-fzf-native.nvim

Strange, I always get stuck at installing nvim-telescope\telescope-fzf-native.nvim. The rest are installed by packer.nvim though. I am using windows and using nvim v0.8.1 btw if anyone has any ideas how to resolve? tks!
I later installed the latest nightly NVIM v0.9.0-dev-519+g2d8bbe468 and still seeing the issue.

I was running into a similar issue the other day, ultimately the problem was that I didn't have the required build tools for telescope-fzf-native. Check that you've got CMake, and the Microsoft C++ Build Tools installed.

Oh, that's good to know. Is there an easy way to check if that's installed on windows @kazenix ? I will add a check to not try and install it if it's missing

tks Kazenix, TJ. I have installed Microsoft C++ Build Tools (that includes CMake) but still not helping me. Wondering if there is some log that can tell me what's missing so I can try fixing? I checked the nvim log and found the following:
ERR 2022-12-18T10:55:11.679 nvim.22744.0 terminfo_start:361: uv_tty_set_mode failed: invalid argument

not sure if it is then related to https://github.com/neovim/neovim/issues/21445 ?
configuring max_jobs >= 10 also did nothing for me too.

@tjdevries Specifically when I ran into that, it was on my macbook (wasn't installing via kickstart as i hadn't seen the video yet, just followed the docs for telescope-fzf-native.). I'll do some research and see if I can find some checks for that in windows though. I've got my gaming desktop, and would love to have it set up for minor dev stuff too.
It looks like there's a slightly different run command for windows/cmake. @kodecraft have you tried switching out that run command? from the telescope-fzf-native docs use {'nvim-telescope/telescope-fzf-native.nvim', run = 'cmake -S. -Bbuild -DCMAKE_BUILD_TYPE=Release && cmake --build build --config Release && cmake --install build --prefix build' }

Tks for the pointer - that worked! Changing the "run command" to using either the cmake or make windows variant worked for me.

@tjdevries In doing some poking around this morning, it looks like using vim.fn.executable("cmake") does work for testing if cmake is present on the system, at least in powershell and neovide. I'm having lua issues with WSL that are preventing my config from working there, so I haven't been able to test that (likely down to it being nvim v0.7.2, but not sure yet).
Seeing as the goal here seems to be adding a simple boostrap anyone can pick apart and understand, adding OS type checks as well as executable checks seems a bit overkill. Perhaps just some documentation of the edge case for Windows would suffice?

Yeah, that would be useful to include @kazenix if you have some more information that can be easily added (or maybe a windows section in the readme) that's fine w/ me. I can work with you on a PR if you submit one


dev: fix test file type errors and set dev aliases

What changed? Why?
As the repo structure changes, it will be nice to have aliases set up to avoid long import names.
In order to do so in test files, we also need to fix the type errors. I think it's desirable to type check test files because:

Tests are code - if we update parameter types, we should also be notified that we need to update tests
In a couple cases, tests were passing that should have been failing because no type checks were applied (e.g. calling the wrong vitest method to assert equality)

This will allow us to import like:
import type { PayTransaction } from '@/core/api/types';
Notes to reviewers
How has it been tested?

LGTM - pulled down the branch as well and did not notice any issues 👍


tests: Delete backups before deleting database.

Else, databases won't be deleted with active backups (it seems).

Self merging as this is a trivial change and tests going green means that it acomplished its goal. I've also checked on the GCP project and databases have been deleted.


feat: basic authentication

Closes #1
Code review and criticisms are appreciated.
Do you have a clue on how I could write a nice test for this?

Does that help?

It did. Please tell me if the tests fit your taste.
Thanks for this nice project by the way, it works as expected.

My pleasure, thank you for the PR!
This has been merged and released in v1.0.1 👍


Create action to spin up a new app service per PR

Description
With the recent change to formalize design reviews, it'll be helpful for designers to have a URL to look at content changes directly. To this end, we'd like to spin up a new temporary environment per PR that will live on until the PR is merged.
Proposed solution
Create a script that spins up a new app service in Azure for each new PR (probably not WIP/draft PRs though). The app service name can likely be based on the branch name.
We'll need to make sure these app services are being regularly cleared out, either manually or automatically after a PR is merged.
Additional context
This is mostly applicable to frontend changes, but we'd like to deploy both the frontend and backend changes to make general smoke testing easier.

For this to work, we'll need an environment that isn't part of Akamai. We'll need to request a new resource group for that to happen.

Iceboxing this as we're just going to request additional resource groups from CDC rather than attempting feature branches.


build(version): bump to v2.0.2

PR Checklist

[ ] Unit Tests have been added for new changes
[ ] API tests have been updated if applicable
[ ] All commented code has been removed
[ ] If you've added a dependency, you've ensured license is compatible with Apache 2.0 and clearly outlined the added dependency.

What are you changing?

Anything the reviewer should know when reviewing this PR?
If the there are associated PRs in other repositories, please link them here (i.e. open-amt-cloud-toolkit/repo#365 )

Codecov Report

Merging #68 (0061885) into main (7d65461) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main      #68   +/-   ##
=======================================
  Coverage   87.50%   87.50%
=======================================
  Files           4        4
  Lines         120      120
  Branches       11       11
=======================================
  Hits          105      105
  Misses          8        8
  Partials        7        7

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 7d65461...0061885. Read the comment docs.


Login OAuth

Does the concourse-pipeline-resource support authenticating with a Concourse install with GitHub OAuth? I can't see it mentioned in the README, only basic auth.

Nope, that's not something anyone's requested yet.
If this resource supported oauth, what would that look like? You would need to re-configure the pipeline every day or so with a new token? Alternatively, you could have the resource go through the oauth flow itself, acting as a browser, but that seems like a significant amount of work, and you'd still need credentials (for the oauth system).

Sorry, I'm not so familiar with the whole OAuth process. Having a 'remember me' in GitHub makes it feel a lot less painless than it really is!
Surf looks like it could take some of the pain out of acting as a browser, but you're right that a set of credentials would still be needed for that...

I agree, it's not a trivial amount of work to implement anything that's more secure than it is currently.
I'd love to see a good way for this resource to implement oauth, because I don't like requiring basic auth root credentials to your concourse installation.
There's some features in concourse that I'm keeping an eye on - the current work with teams and the future work with credentials store (e.g. vault or something similar) - I'd like to see where they end up, and perhaps revisit the idea when we have a clearer idea what concourse will support.
I'm going to close this issue because I don't see anything that we should implement before the two things mentioned above exist in concourse. I've created a tracker story to capture this.

Thanks, I'll see if I can do something hacky with a WWW:Mechanize script (or convince the boss to switch back to basic auth) for now.


Thin out the static library?

Is there a way to make cardIO.a static lib thinner? I compiled a sample app and it weighs 130MB's. I don't think that it's worth the ability to scan a card. Especially that it's probably going to happen only once during the app usage lifetime.

Is the sample app file bitcode enabled? It shouldn't be that big on the end user's devices (after Apple compiles the bitcode). If you export your app out with the final bitcode compilation, then it should be significantly smaller.
Xcode 7.2 did release a few linker and other bitcode fixes as well which may also help the static library size issue.


Add new changes from Godson

Changes Unknown when pulling 82414b9db1776bae2d9c1203bb16145800d826f2 on feature/ui-adjustments into ** on master**.


AttributeError: 'SemNuScenes' object has no attribute '_load_nusc_data'

Hello, while running training on the nuScenes, I encountered another problem _AttributeError: 'SemNuScenes' object has no attribute 'load_nusc_data'.

Thanks for bringing this to my attention! Could you copy and paste the full error message, so I can look into which lines are problematic? Offhand, I recall I may have faced issues with newer versions of nuscenes-devkit. It seems my environment is using Devkit v1.1.10 (tied to github tag v1.1.0).

Thank you for your response. I am currently using Devkit v1.1.11. The error originates from the file /curvecloudnet/src/data/nuscenes_dataset.py at line 153. Below is the full error message:
Traceback (most recent call last):
  File "/home/htz/kjzhao/curvecloudnet/src/main.py", line 151, in <module>
    main(config)
  File "/home/htz/kjzhao/curvecloudnet/src/main.py", line 78, in main
    training_loop(train, val, viz, train_loader, val_loader, model, optimizer, scheduler, outdir,
  File "/home/htz/kjzhao/curvecloudnet/src/main.py", line 94, in training_loop
    finished_training, train_idx = train(model, train_loader, optimizer, device, train_idx, config['use_lovasz_loss'], config['use_ce_weights'])
  File "/home/htz/kjzhao/curvecloudnet/src/run/nuscenes_seg.py", line 32, in train
    for i, data in enumerate(dataloader):
  File "/home/htz/anaconda3/envs/curve/lib/python3.10/site-packages/torch/utils/data/dataloader.py", line 634, in __next__
    data = self._next_data()
  File "/home/htz/anaconda3/envs/curve/lib/python3.10/site-packages/torch/utils/data/dataloader.py", line 678, in _next_data
    data = self._dataset_fetcher.fetch(index)  # may raise StopIteration
  File "/home/htz/anaconda3/envs/curve/lib/python3.10/site-packages/torch/utils/data/_utils/fetch.py", line 51, in fetch
    data = [self.dataset[idx] for idx in possibly_batched_index]
  File "/home/htz/anaconda3/envs/curve/lib/python3.10/site-packages/torch/utils/data/_utils/fetch.py", line 51, in <listcomp>
    data = [self.dataset[idx] for idx in possibly_batched_index]
  File "/home/htz/anaconda3/envs/curve/lib/python3.10/site-packages/torch_geometric/data/dataset.py", line 239, in __getitem__
    data = self.get(self.indices()[idx])
  File "/home/htz/kjzhao/curvecloudnet/src/data/nuscenes_dataset.py", line 51, in get
    points, reflectance, curve_idxs, labels = self._apply_polarmix(points, reflectance, curve_idxs, labels)
  File "/home/htz/kjzhao/curvecloudnet/src/data/nuscenes_dataset.py", line 153, in _apply_polarmix
    pts2, labels2, reflectance2, beam_ids2, fpath2 = self._load_nusc_data(idx2)
AttributeError: 'SemNuScenes' object has no attribute '_load_nusc_data'


Update README.md

Issue #, if available:
Description of changes:
I have prepared public ECR image public.ecr.aws/hpc-cloud/nccl-tests:latest for NCCL tests.
This PR modifies README file for the validation script to include description for the image access.
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Waiting confirmation.

@KeitaW shall we wrap-up on this?


Add the ability to customize the sound played for the terminal bell.

Currently, the sound that plays when the terminal rings it's bell is the same default sound that Windows is configured to use. All the customization that can done for the bell is change whether it also flashes the window and the icon, or to turn off the sound. The ability to use a custom sound for the terminal bell can make it seem more unique, and all people to set the sound to an actual bell.

Proposed technical implementation details (optional)

This is actually already possible, but it needs to be configured via the settings.json file. There is a bellSound property at the profile level which you can set to the path of the audio file that you want to use.
Issue #12103 is tracking the addition of this property to the settings UI.

Yep, that's all right!
/dup #8366


Server crashes if the OPS env contains a username that doesn't exist

Describe the problem
One of my server moderators changed their name a few days ago.
Last night, when I did my weekly docker-compose restart, it crashlooped.
I didn't notice until waking up this morning.
Solution was, obviously, to set it to the correct name, but perhaps it could either just warn in console.
Container definition
Slightly changed to remove semi-sensitive information
version: "3"

services:
  minecraft:
    image: itzg/minecraft-server:java17
    ports:
      # CHANGE ME!!!! pattern is host:container
      - 22222:25565/tcp  # server/query port
      - 22222:25565/udp
      - 22232:25575  # rcon port
      - 22223:8100   # bluemap support

    environment:
      version: "latest"  # 1.18.1

      # Server Type
      # TYPE: "PAPER"
      TYPE: "FABRIC"

      # Launch/Runtime options
      MAX_MEMORY: "8G"
      USE_AIKAR_FLAGS: "true"
      REPLACE_ENV_IN_PLACE: "true"
      CONSOLE: "FALSE"
      ENABLE_ROLLING_LOGS: "true"
      TZ: "America/Chicago"

      # Server Configuration options
      SEED: "banana pancake"
      EULA: "true"
      MOTD: "Vibing"
      MAX_PLAYERS: "10"
      SPAWN_PROTECTION: "0"
      PVP: "false"
      ENABLE_RCON: "true"
      RCON_PASSWORD: ****REDACTED****
      ENABLE_QUERY: "true"
      SNOOPER_ENABLED: "false"
      ALLOW_FLIGHT: "true"
      OPS: "MrWinABagel" # changed their name, causing the error

    tty: true
    stdin_open: true
    restart: unless-stopped
    volumes:
      - ./fabric:/data
    deploy:
      resources:
        limits:
          cpus: "3.0"
          memory: 8192M

Container logs
No response

Can you set DEBUG: "TRUE" in the environment and provide the output of docker logs _containername_?

This was (apparently) fixed in commit #1306, as it's no longer reproducible and does not crash the server.
Console now warns of a 500 error from playerdb.co then continues.


trust-domain added to a fqdn in ingress

Hi,
Looks like the order of arguments is wrong for the string comparison in template function spire-lib.ingress-calculated-name.
The test fails to find a '.' in the hostname and trust-domain is added to a fqdn.
diff --git a/charts/spire/templates/_spire-lib.tpl b/charts/spire/templates/_spire-lib.tpl
index 239efc1..db33cee 100644
--- a/charts/spire/templates/_spire-lib.tpl
+++ b/charts/spire/templates/_spire-lib.tpl
@@ -94,7 +94,7 @@
 */}}
 {{ define "spire-lib.ingress-calculated-name" }}
 {{- $host := .ingress.host }}
-{{- if not (contains $host ".") }}
+{{- if not (contains "." $host) }}
 {{-   $host = printf "%s.%s" $host (include "spire-lib.trust-domain" .) }}
 {{- end }}
 {{- $host }}

Sorry about the delay. Was out on vacation. Thanks for reporting this issue. Fix incoming.


Avoid runtime type checks in TreeSyntax.Lit

Scala.js does not support runtime type checks on a few primitives: https://www.scala-js.org/doc/semantics.html#runtime-type-tests-are-based-on-values
TreeSyntax uses this feature to pretty-print  Lit tree nodes: https://github.com/scalameta/scalameta/blob/25640d3fe827e2e8c9d5fef31d297d81eac3da4d/scalameta/trees/src/main/scala/scala/meta/internal/prettyprinters/TreeSyntax.scala#L403-L412
My attempts to fix this issue so far are

add a @ast class Lit[T:LiteralFormatter(value: T) type class constraint, but that failed because the @ast macro doesn't support type parameters
make Lit a @branch trait Lit and add LitInt/LitDouble/... subclasses. See WIP commit https://github.com/scalameta/scalameta/commit/4380fdcb159477e891309526a7f9b8542976ff44 This failed with a cryptic compiler error from some macro annotation expansion  in transformer.scala

See https://github.com/scalameta/scalameta/pull/763

This got fixed in #761


[Feature] Only post message to chat if form of cover detected

The chat log can get filled pretty fast with cover messages. It would help with clutter and usability if Cover Calculator had the option to only send messages to chat if some form of cover (half or three-quarters) is detected. In a case with no cover detected, no chat message would be posted.

This will be available with the next release


Feature: Ability to cancel a download

Expected Behavior
[Description of the expected behavior]
Actual Behavior
[Description of the actual behavior]
Steps to Reproduce the Problem

Start a long running download

Requisites (important to diagnose the problem!)
Extension Logs
[set option sftp.printDebugLog to true, then reload vscode, reproduce the problem, get the logs(view -> output-> sftp)]
Specifications

Version: 1.0.4
Platform: W10, 1.20.1

Support in v1.7.0.


ImportError: cannot import name 'StorageErrorException' from 'azure.storage.blob._generated.models'

I am stuck at this bug in analyzing the deprecation issue.
Would anyone have an idea on this?
Exception: ImportError: cannot import name 'StorageErrorException' from 'azure.storage.blob._generated.models' (/Users/prernaladha/Documents/Tesser/Git/TesserInsights/tipro-py-tai/.venv/lib/python3.8/site-packages/azure/storage/blob/_generated/models/init.py). Please check the requirements.txt file for the missing module. For more info, please refer the troubleshooting guide: https://aka.ms/functions-modulenotfound

I have all these packages installed:
azure-storage==0.36
azure-storage-blob==12.13.0

I have also tried azure-storage-blob==12.15.0 version and it still gave me the same error.

HI @prerna-tesser, thank you for your feedback. We will investigate and get back to you asap.

Hi @prerna-tesser, I believe your issue may be happening because you have azure-storage installed. This is a deprecated package that contains old versions of the Storage SDKs and therefore is not needed and should not be installed alongside a modern version of the SDK.  You should just need azure-storage-blob and its dependencies.
One other thing to check is your version of azure-core, please try everything with the latest version of that as well.
It is probably best to start with a clean environment and just do pip install azure-storage-blob. This will grab the latest version of the Blob SDK and Core and should be all you need. Thanks.

Hi, I just updated the packages and used the latest versions and that helped me out. Thank you.


fix: made several slow imports and top-level calls lazy

Including LLM providers and IPython for python tool (top offenders)

:x: 6 Tests Failed:

Tests completed
Failed
Passed
Skipped

73
6
67
0

View the top 3 failed tests by shortest run time

tests.test_cli test_url

Stack Traces | 0.041s run time

args = ['--name', 'test-84048-test_url', 'Who is the CEO of https://superuserlabs.org?']
runner = <click.testing.CliRunner object at 0x7f8c4883b1c0>

    @pytest.mark.slow
    @pytest.mark.skipif(
        importlib.util.find_spec("playwright") is None,
        reason="playwright not installed",
    )
    def test_url(args: list[str], runner: CliRunner):
        args.append("Who is the CEO of https://superuserlabs.org?")
        result = runner.invoke(gptme.cli.main, args)
>       assert "Erik Bjäreholt" in result.output
E       assert 'Erik Bjäreholt' in '\nUsing logdir .../gptme/logs/2024-08-21-test-84048-test_url\nSkipped 1 hidden system messages, show with --show-hidden\n--- ^^^ past messages ^^^ ---\n'
E        +  where '\nUsing logdir .../gptme/logs/2024-08-21-test-84048-test_url\nSkipped 1 hidden system messages, show with --show-hidden\n--- ^^^ past messages ^^^ ---\n' = <Result AttributeError("'function' object has no attribute 'name'")>.output

.../gptme/tests/test_cli.py:310: AssertionError

tests.test_cli test_python_error

Stack Traces | 0.109s run time

args = ['--name', 'test-32134-test_python_error', "/python raise Exception('yes')"]
runner = <click.testing.CliRunner object at 0x7f9880f7f040>

    def test_python_error(args: list[str], runner: CliRunner):
        args.append(f"{CMDFIX}python raise Exception('yes')")
        result = runner.invoke(gptme.cli.main, args)
>       assert "Exception: yes" in result.output
E       assert 'Exception: yes' in '\nUsing logdir .../gptme/logs/2024-08-21-test-32134-test_python_error\nSystem: \nYou are gptme, an AI assistant CLI tool powered by large language models.\nYou can run code and execute terminal commands on their local machine.\nYou should show the user how to write code, interact with the system, and access\nthe internet.\nThe user can execute the suggested commands so that you see their output.\nAll code should be copy-pasteable or saved, and runnable as-is. Do not use \nplaceholders like `$REPO` unless they have been set.\nWhen the output of a command is of interest, end the code block so that the user\ncan execute it before continuing.\n\nDo not suggest the user open a browser or editor, instead show them how to do it\nin the shell or Python REPL.\nIf clarification is needed, ask the user.\n\n# Tools\n\n## read\n\nRead the contents of a file\n\nRead files using `cat`.\n\n### Examples\n\n```bash\ncat file.txt\n```\n\n## save\n\nSave code to a file\n\nTo save code to a file, use a code block with the filepath as the language.\n\n### Examples\n\n> User: write a Hello world script to hello.py\n```save hello.py\nprint("Hello world")\n```\nSaved to `hello.py`.\n\n## ap...itywatch.net/")\n```\nSystem:\n```https://activitywatch.net/\n...\nThe ActivityWatch project was founded by Erik Bjäreholt in 2016.\n...\n```\nAssistant: The founder of ActivityWatch is Erik Bjäreholt.\n\n## gh\n\nInteract with GitHub\n\n### Examples\n\nHere are examples of how to use the GitHub CLI (gh) to interact with GitHub.\n\n> User: create a public repo from the current directory, and push\nNote: --confirm and -y are deprecated, and no longer needed\n```sh\nREPO=$(basename $(pwd))\ngh repo create $REPO --public --source . --push\n```\n\n> User: show issues\n```sh\ngh issue list --repo $REPO\n```\n\n> User: read issue with comments\n```sh\ngh issue view $ISSUE --repo $REPO --comments\n```\n\n> User: show recent workflows\n```sh\ngh run list --status failure --repo $REPO --limit 5\n```\n\n> User: show workflow\n```sh\ngh run view $RUN --repo $REPO --log\n```\n\n# About user\n\nI am a curious human programmer.\n\n## Here is the user\'s response preferences:\n\nBasic concepts don\'t need to be explained.\nUser: /python raise Exception(\'yes\')\nUser: /python raise Exception(\'yes\')\n--- ^^^ past messages ^^^ ---\nUser: /python raise Exception(\'yes\')\nSkipping confirmation\n'
E        +  where '\nUsing logdir .../gptme/logs/2024-08-21-test-32134-test_python_error\nSystem: \nYou are gptme, an AI assistant CLI tool powered by large language models.\nYou can run code and execute terminal commands on their local machine.\nYou should show the user how to write code, interact with the system, and access\nthe internet.\nThe user can execute the suggested commands so that you see their output.\nAll code should be copy-pasteable or saved, and runnable as-is.


M3-639 - Create Nodebalancer E2E Tests

Added a nodebalancer page object for creation of nodebalancers
Added nodebalancer detail page object for node balancer details page (summary mostly)
Added smoke test spec for creating a node balancer.
Added test spec for error handling when creating a nodebalancer attached to an invalid node
Added api util to GET, DELETE nodebalancers (for cleanup after the test run completes).

To Test
yarn && yarn start
yarn selenium
yarn e2e -d nodebalancers # runs both specs in the `e2e/specs/nodebalancers` folder

Coverage remained the same at 28.838% when pulling f3cfc1cc76c7aa735a3ef1f174d539383bdae938 on patthiel:M3-639 into 1a33fef405f489550979699056a6747a25041eb5 on linode:develop.


Exam Mode: Tutor leaderboard tooltip

Is your feature request related to a problem?
Many of our tutors have roles higher than the tutor role (e.g. instructor, so that they can edit exam tests).
The tutor leaderboard does not include these tutors as it only includes users with the "tutor" role.
Describe the solution you'd like
Add a tooltip to the leaderboard title that explains that only users of group "tutor" are included in this list.
In my opinion it would be best however, if all privileged users were included in this list (tutor, instructor, ...).
Describe alternatives you've considered
Bug Artemis staff until we find out why our tutors are not included in this list.
Additional context
No response

I'd propose including all tutors + users with higher roles that do not have an assessment score of 0. Instructors were included here initially but then filtered out since they usually do not take part in the assessment process (that was before the editor role got introduced).


Update the Ledger completely to the new implementation, download the correct Wasm and did from the ckBTC example

Right now our ledger Service is probably a bit outdated, we should try to find the absolute latest most accurate ICP ledger. The ckBTC example should help hopefully.

Look at the answers to this forum post: https://forum.dfinity.org/t/icp-vs-ckbtc-ledgers/20343
I think how it's working is that there is an ICP legder and an ICRC-1 ledger, and they are both different besides the ICRC-1 methods. ckBTC is not an ICP ledger, it's an ICRC-1 ledger. And ICRC-1 is different than a ledger, the ledger will have extra methods.

So I think what we'll want to create are the following Services for consumption from Azle:

ICP Ledger
ICRC-1 or ICRC Ledger
ICRC


Advanced filter on custom fields don't work

Environment

Nautobot version (Docker tag too if applicable): 1.5.11
Python version: 3.8.10
Database platform, version: postgresql, Ubuntu 12.12-0ubuntu<IP_ADDRESS>
Middleware(s): -

Steps to Reproduce

Create a custom field (text, or selection) and assign it to interfaces or devices
Fill the custom field with some information
Open the filter on the device or interface overview and switch to the advanced tab
Select the previously added field in the advanced filter, select a lookup type (any), and provide a value (not empty)
Press Apply

Expected Behavior
Only the items matching the advanced filter will be shown in the list.

Observed Behavior
An error will be shown:
Invalid filters were specified:
undefined
Unknown filter field

Additional information
If a custom field is selected on the Default filter tab, the filter works as expected.

I cannot reproduce this in demo or the latest release:
Demo
https://user-images.githubusercontent.com/31187/223143025-14a9bb47-0fac-4671-9c9a-e1fa0eae4735.mov
Latest
https://user-images.githubusercontent.com/31187/223142702-ab5b6de1-7574-4391-929b-44339bf79684.mov

Hi @bryanculver
Thank you for your feedback. I've to correct my steps to reproduce. This issue occurs at least with interfaces. Device filters are working fine as you showed in the video.

I mucked with the url to show only what I think is relevant, but it results in https://demo.nautobot.com/dcim/interfaces/?cf_role=&undefined=peer as shown in the screenshot.

The error might be around https://github.com/nautobot/nautobot/blob/v1.5.14/nautobot/core/templates/generic/object_list.html#L252 and https://github.com/nautobot/nautobot/blob/v1.5.14/nautobot/core/templates/generic/object_list.html#L277, where there's no name attribute for advanced filters?
In v1.5.14, on model Interface, If you add (in advanced tab) a not exact filter on description with value toto for example:
> $("#dynamic-filter-form, #default-filter form").serialize()
'[..]&form-2-lookup_field=description&form-2-lookup_type=description__n&undefined=toto&form-2-DELETE='

This is darling due to this line here:
https://github.com/nautobot/nautobot/blob/98e4a52b8cf0c7dae19090fb539bcedceab83f8d/nautobot/core/api/views.py#L776
The DynamicFilterForm is attempting to asking what the rendered element should be for the given model and filter field. It's throwing an exception: nautobot.dcim.models.device_components.Interface.device.RelatedObjectDoesNotExist: Interface has no device. This is because since there is no form attached it has no way of getting what the widget should be and in some cases that filter doesn't have any widget available. It uses the model form but this has dependencies in the Interface case on a Device being associated since we don't have a "Create Interface" view that doesn't require Device already passed in.


TODO: R: Update "Value" documentation in findStation and getDailyWxObservations function documentation

Add detail on what the df contains

@aaronweed I've forgotten the details on this issue - do I just need to add an output example to the Value section of the RDoc?

www.google.com

You wrote" do I just need to add an output example to the Value section of the RDoc?"
I was suggesting documentation of each element of the dataframe with a small description, so that users know what sid1 is, units of all data observations, etc. I will work on this

add ink to doc


use method to add thumbprint

I had a issue accessing key with _param

I ran into the same issue when using JWCrypto==1.0 instead of 0.8.  I added your fix to my PR #5. :-)


enable travis

This change is

Self merging this, too. Chao, let me know if this file needs to live in the main repo, too.


inital commit

Part 1 Lambda function - wrangling added to aws folder.
Documentation/README needs updating.

Looks great!

Yeah, this looks great so far.  I saw comments about various columns and
added some comments to them for clarification.
J. Wylie
On Sun, Nov 29, 2020 at 6:04 PM Guillermo Arria-Devoe <
<EMAIL_ADDRESS>wrote:

Merged #1 https://github.com/nonprofit-intake/data_engineering/pull/1
into main.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/nonprofit-intake/data_engineering/pull/1#event-4049740753,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACZ7S2QE24NZ7KWNVVFLVILSSL4SRANCNFSM4UGX5FZA
.


Feature/rdbms

This looks cool. What is going on here on a high level?

This looks cool. What is going on here on a high level?

@EverWinter23 Trying to build an ORM like jooq or django.


How to start specific emulators

Is it possible to start only certain emulators?
For example: nx emulate my-app --only firestore

Never mind, I found how to do it in project.json. Thank you!


Shift+Alt+E to lookup/insert event subscriber method contradicts AA0207 by not making it local

AA0207 states that event subscriber procedures should be local. However, the new shortcut Shift+Alt+E to lookup and insert an event subscriber creates a procedure lacking the local keyword. So, the shortcut contradicts the documentation. There's no reason to make anything global by default, so the default should be to insert a local subscribing proc

It would also be nice if the default subscriber method name could be prefixed by the (normalised) name of the object publishing the event. Right now it's just the event name. But some objects will publish the same event, so eventually in a large subscriber codeunit, you will need to differentiate them. Also, that is some shops' naming convention. So, it may make sense to do that by default.

Hi @dtkb, can you log a separate issue with your suggestion about the naming of the event subscriber with some examples?

Sure, thanks!
https://github.com/microsoft/AL/issues/5814

This issue should be fixed in the current preview build Please try it out and let us know if you encounter any issues.


Add advanced section to the docs for providing a custom empack_config.yaml

Follow-up to the discussion in https://github.com/jupyterlite/xeus-python-kernel/issues/126

Thanks for doing this!

Thanks for the review!


Xcode 14.1 runtime warning: Hang risk while running QR code scanner on iPhone 14 Pro

The following warning was given in Xcode 14.1 console when I ran the QR code scanner on the main wallet screen. Tap the camera icon in the upper right corner.
AlphaWallet - 4987
Hang Risk
/Users/jerome/Documents/alpha-wallet-ios/Pods/QRCodeReaderViewController/QRCodeReaderViewController/QRCodeReader.m:156 -[AVCaptureSession startRunning] should be called from background thread. Calling it on the main thread can lead to UI unresponsiveness

Closed via https://github.com/AlphaWallet/alpha-wallet-ios/pull/6734


★(√NOWATCHVIDEOs:.) El Siri Viral Leaked Video 2024 Trending On Social Media X Twitter [HD311K√]

13 sec ago El Siri Leaked Video Viral On Social Media. ★(√NOWATCHVIDEOs:.) El Siri Viral Leaked Video 2024 Trending On Social Media X Twitter [HD311K√]

El Siri’s latest video has taken the internet by storm, igniting conversations across various social media platforms. The rising digital star, known for her engaging content—especially her recent Spiderman-themed clip—has experienced a remarkable boost in popularity, with fans eagerly seeking the full version. Viewers are flocking to Instagram, X (formerly Twitter), and Discord to engage with her latest creation.
As the excitement grows, fans are passionately sharing their reactions online, highlighting the vital role social media plays in propelling creators like El Siri into the spotlight. With her unique style and innovative approach, she has quickly made a notable impact in the digital landscape, leaving many curious about her next moves.

Thank You

FG

.
.
.

vf
.
.

.

.

FG

.
.
.

vf
.
.

.

.
c
cvcvcvcv


Rendering errors from TeX input when accessibility tools are activated

Issue Summary
When Accessibility is activated, certain TeX expressions result in mfrac or mtd errors.
The problem is reproducible on https://www.mathjax.org/#demo
Steps to Reproduce:

Set the Accessibility option to "Activate" (either in the config or via the right-click menu)
Input TeX that is vulnerable to the issue, two examples:
\begin{eqnarray}\mathrm{EDR}(i)=\displaystyle \frac{{\rm{LF}}(i+1)-{\rm{LF}}(i-1)}{\sqrt{{\rm{LF}}(i+1)+{\rm{LF}}(i-1)}},\end{eqnarray}

\begin{eqnarray}\displaystyle \int_{-\infty }^{+\infty }f(x)\delta (x){dx} & = & f(0)\displaystyle \int_{-\infty }^{+\infty }\delta (x)dx \ \displaystyle \int_{-\infty }^{+\infty }f(x)\delta (x)dx & = & f(0)\end{eqnarray}
The errors can be fixed by tidying up the input TeX to remove unnecessary curly brackets and (in the first case) changing \rm to \mathrm but the originals above are not incorrect (just not as neat as ideal).
Technical details:

MathJax Version: 3.2.2
Client OS: Windows 11 PC
Browser: Firefox 116.0.3 (64-bit)/Edge 116.0.1938.54 (64-bit)

These have been fixed in version 4 (currently in beta release).

Thank you Davide!


syntax error in test file results in no tests being run and "PASSED"

eessi@ip-172-31-18-112 ~/compatibility-layer $ reframe -r -v -c ./test/compat_layer.py
[ReFrame Setup]
  version:           3.9.1
  command:           '/cvmfs/pilot.eessi-hpc.org/2021.12/compat/linux/x86_64/usr/lib/python-exec/python3.9/reframe -r -v -c ./test/compat_layer.py'
  launched by<EMAIL_ADDRESS>  working directory: '/home/ec2-user/compatibility-layer'
  settings file:     '<builtin>'
  check search path: '/home/ec2-user/compatibility-layer/test/compat_layer.py'
  stage directory:   '/home/ec2-user/compatibility-layer/stage'
  output directory:  '/home/ec2-user/compatibility-layer/output'

/cvmfs/pilot.eessi-hpc.org/2021.12/compat/linux/x86_64/usr/lib/python-exec/python3.9/reframe: skipping test file '/home/ec2-user/compatibility-layer/test/compat_layer.py': reframe syntax error: accessing a test parameter from the class body is disallowed (rerun with '-v' for more information)
Traceback (most recent call last):
  File "/cvmfs/pilot.eessi-hpc.org/2021.12/compat/linux/x86_64/usr/lib/python3.9/site-packages/reframe/frontend/loader.py", line 237, in load_from_file
    util.import_module_from_file(filename, force)
  File "/cvmfs/pilot.eessi-hpc.org/2021.12/compat/linux/x86_64/usr/lib/python3.9/site-packages/reframe/utility/__init__.py", line 91, in import_module_from_file
    return _do_import_module_from_file(filename, module_name)
  File "/cvmfs/pilot.eessi-hpc.org/2021.12/compat/linux/x86_64/usr/lib/python3.9/site-packages/reframe/utility/__init__.py", line 68, in _do_import_module_from_file
    spec.loader.exec_module(module)
  File "<frozen importlib._bootstrap_external>", line 850, in exec_module
  File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
  File "/home/ec2-user/compatibility-layer/test/compat_layer.py", line 11, in <module>
    class RunInGentooPrefixTest(rfm.RunOnlyRegressionTest):
  File "/home/ec2-user/compatibility-layer/test/compat_layer.py", line 17, in RunInGentooPrefixTest
    if eessi_version != '2021.06':
  File "/cvmfs/pilot.eessi-hpc.org/2021.12/compat/linux/x86_64/usr/lib/python3.9/site-packages/reframe/core/meta.py", line 143, in __getitem__
    raise ReframeSyntaxError(
reframe.core.exceptions.ReframeSyntaxError: accessing a test parameter from the class body is disallowed

Loaded 0 test(s)
Generated 0 test case(s)
Filtering test cases(s) by name: 0 remaining
Filtering test cases(s) by tags: 0 remaining
Filtering test cases(s) by other attributes: 0 remaining
Final number of test cases: 0
[==========] Running 0 check(s)
[==========] Started on Tue Nov 30 07:52:29 2021

[----------] waiting for spawned checks to finish
[----------] all spawned checks have finished

[  PASSED  ] Ran 0/0 test case(s) from 0 check(s) (0 failure(s), 0 skipped)
[==========] Finished on Tue Nov 30 07:52:29 2021
Run report saved in '/home/ec2-user/.reframe/reports/run-report.json'
Log file(s) saved in '/tmp/rfm-m33a1fsh.log'

$ echo $?
0

Hi @boegel, this is not a bug and let me explain why. When you load multiple tests and a single one is problematic, we intentionally don't want to fail the whole test loading process and not run anything. This has been in ReFrame quite some time. In those cases, we report the error and continue and ask the user to add -v in order to get more info and a stack trace. The fact that this particular case was failing hard in 3.6.2 was a bug, because as I said before we explicitly don't want to stop the loading process if a test is problematic.
Now what is a ReframeSyntaxError. When ReFrame detects a likely programming error (i.e., AttributeError, NameError, TypeError, ValueError) it tries to trace it back to the offending user source code line, in which case it will report it. If not, it will issue a stack trace assuming that it is a framework problem. With the introduction of built-ins, such as variables and parameters, it is not always feasible to trace this back to the user line (at the moment), because there are several validation steps that can only happen at a point later than the definition of the user variable or parameter. That's why we introduced the ReframeSyntaxError, to capture such programming errors and don't crash badly for user errors (as in previous version).
In summary, this is not a bug, but I could see two feature requests coming out from this issue:

Add a --stop-on-load-errors option that would force reframe to stop on any error during loading a test.
Provide source code information in ReFrameSyntaxErrors.

I understand the motivation for not making this an error by default and continuing to try and run load tests from other files and run those. Having an option to treat incorrect *.py files as an error would definitely be welcome.
I think it would make sense to not exit with exit code 0 if one or more test files could not be loaded (file not found, syntax error, whatever), because that's very misleading, and it could easily lead to incorrect conclusions unless a human is actually taking a look at the generated output. So maybe loading the test module should be some kind of implicit test, which can fail?

Fair enough, I will also open a feature request for that.

Feature requests opened: #2306, #2307, #2308.


expose name and date together with "index_name-date"

As we want to do some aggregations by name and date of index, we need to expose name and date together with the format "index_name-date".
example:
elasticsearch_index_stats_fielddata_evictions_total{index=".kibana-20180630",indexDate="20180630",indexPrefix=".kibana"} 0

as explained in #201 this PR doesn't make sense for most users


[WIP] Add a method to determine whether to show a block based on its predicate

Description

(Minor cleanup): Moves summaryData method to be next to the other overridden methods in the file
Adds a showBlock method that determines whether to show a block based on evaluating its predicate
This method is protected for now (for unit testing), but will change to private once it is used to determine lists of blocks for a given applicant

Checklist

[x] Created tests which fail without the change (if possible)
[ ] Extended the README / documentation, if necessary

Issue(s)
#1001

Messed up git bases; reopened as #1288


says that manifest file isnt readablle or isnt there.

Describe the bug
A clear and concise description of what the bug is.
To Reproduce
Steps to reproduce the behavior:

Go to '...'
Click on '....'
Scroll down to '....'
See error

Expected behavior
A clear and concise description of what you expected to happen.
Screenshots
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):

OS: [e.g. iOS]
Browser [e.g. chrome, safari]
Version [e.g. 22]

Smartphone (please complete the following information):

Device: [e.g. iPhone6]
OS: [e.g. iOS8.1]
Browser [e.g. stock browser, safari]
Version [e.g. 22]

Additional context
Add any other context about the problem here.

Hi, @minikdrift
I believe you have made a small mistake when attempting to load the extension. You have simply selected the zip without extracting it, or you have selected the main repository folder, instead of the extension sub-folder.
When downloading the extension, make sure to follow these steps.

When downloaded, extract all the contents from the file
When adding the extension, Do not just select the fold that has been extracted.
Look through the sub-folders until you see the folder called “extension”
Select the “extension” folder.

To put it simply. When adding the extension, select the extension folder after unzipping the program.
This should work if not re-open this issue.
Thanks, Najm


Handle names constructed by AWS LB Controller

Fixes https://github.com/gruntwork-io/kubergrunt/issues/141

Thanks for review! I'm going to hold off on the merge until I get confirmation through the integration test in terraform-aws-eks (https://app.circleci.com/pipelines/github/gruntwork-io/terraform-aws-eks/1587/workflows/ae1b8a30-ccdc-4bf2-9cb4-db0e3d86772f)

The test build passed, so going to merge this one! Thanks again for review!


RangeError: Maximum call stack size exceeded at getAwaitedTypeNoAlias

Bug Report
Moved from https://github.com/microsoft/TypeScript/issues/47208#issuecomment-1014128087
🔎 Search Terms
RangeError Maximum call stack size exceeded getAwaitedTypeNoAlias
🕗 Version & Regression Information

This is the behavior in every version I tried.

⏯ Playground Link
Playground Link
💻 Code

type T = 1 | Promise<T> | T[];

export async function myFunction(param: T) {
  const awaited = await param
}

🙁 Actual behavior
     RangeError: Maximum call stack size exceeded
      at getAwaitedTypeNoAlias (src\compiler\checker.ts:36632:70)
      at mapper (src\compiler\checker.ts:36628:71)
      at mapType (src\compiler\checker.ts:23959:95)
      at getAwaitedTypeNoAlias (src\compiler\checker.ts:36629:60)
      at getAwaitedTypeNoAlias (src\compiler\checker.ts:36678:37)
      at mapper (src\compiler\checker.ts:36628:71)
      at mapType (src\compiler\checker.ts:23959:95)
      at getAwaitedTypeNoAlias (src\compiler\checker.ts:36629:60)
      at getAwaitedTypeNoAlias (src\compiler\checker.ts:36678:37)
      at mapper (src\compiler\checker.ts:36628:71)
      at mapType (src\compiler\checker.ts:23959:95)
      at getAwaitedTypeNoAlias (src\compiler\checker.ts:36629:60)
      at getAwaitedTypeNoAlias (src\compiler\checker.ts:36678:37)
      at mapper (src\compiler\checker.ts:36628:71)
      at mapType (src\compiler\checker.ts:23959:95)
      at getAwaitedTypeNoAlias (src\compiler\checker.ts:36629:60)
      at getAwaitedTypeNoAlias (src\compiler\checker.ts:36678:37)

🙂 Expected behavior
No crash.

Actually, this is a dupe of #49646 and should be fixed by #49677.

It's just circular; there's an error message for types like these that can't be resolved (see the linked PR).

That's what I thought; I guess I'm just confused because I thought when TS produced an error for a circular type it subsequently treated the type as any, which should be enough to prevent the crash on await... I guess the bug is that this case isn't being detected as circular

I guess the bug is that this case isn't being detected as circular

Yep, notice how I've fixed this by just adding the circularity tracking~ here:
https://github.com/microsoft/TypeScript/pull/49677/files#diff-d9ab6589e714c71e657f601cf30ff51dfc607fc98419bf72e04f6b0fa92cc4b8R36628


Added option param for config file

Codecov Report

Merging #25 into develop will increase coverage by 30.16%.
The diff coverage is 68.35%.

@@             Coverage Diff              @@
##           develop      #25       +/-   ##
============================================
+ Coverage    26.08%   56.25%   +30.16%
============================================
  Files            3        7        +4
  Lines           46      112       +66
  Branches         2        1        -1
============================================
+ Hits            12       63       +51
- Misses          34       49       +15

Impacted Files
Coverage Δ

src/main/scala/Main.scala
0.00% <0.00%> (ø)

src/main/scala/utils/DriverManager.scala
80.00% <ø> (+1.42%)
:arrow_up:

src/main/scala/utils/FileHandler.scala
0.00% <0.00%> (ø)

src/main/scala/utils/ConfigMapper.scala
100.00% <100.00%> (ø)

src/main/scala/utils/FileManager.scala
100.00% <100.00%> (ø)

src/main/scala/utils/OptionParser.scala
100.00% <100.00%> (ø)

... and 1 more

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 e7ea883...22c6cae. Read the comment docs.


txn: make prewrite idempotent when falling back to 2PC

Signed-off-by: youjiali1995<EMAIL_ADDRESS>
What problem does this PR solve?
Issue Number: close https://github.com/pingcap/tidb/issues/23477
Problem Summary:
What is changed and how it works?
Proposal: xxx
What's Changed:
Related changes

PR to update pingcap/docs/pingcap/docs-cn:
PR to update pingcap/tidb-ansible:
Need to cherry-pick to the release branch

Check List
Tests

Unit test
Integration test
Manual test (add detailed scripts or steps below)
No code

Side effects

Performance regression

Consumes more CPU
Consumes more MEM

Breaking backward compatibility

Release note

/release make dist_release

/release make dist_release

/release make dist_release

/run-all-tests

/release make dist_release

@cfzjywxk @MyonKeminta PTAL

LGTM

/merge

/merge


Cannot add new connections

Hello,
I've raised the issue originally in the "arcadeanalytics-recipes" project, but due to no activity there re-posting here as well.
"arcade-standalone"  is currently unusable for two problems.
First: I could not add new datasource connections. Even when the test connection works, then when I hit the save button nothing is saved. When I try to remove the pre-existing DemoDB (OrientDB) connection I get the following error:
Referential integrity constraint violation: "FK_WIDGET_DATA_SOURCE_ID: PUBLIC.WIDGET FOREIGN KEY(DATA_SOURCE_ID) REFERENCES PUBLIC.DATA_SOURCE(ID) (110)"; SQL statement:
arcadeanalytics-single_1  | delete from data_source where id=? [23503-197]

Second: The connection check is another problem. I managed to get OK from test connection only for a CosmosDB instance, but not for Janus and OrientDB. E.g. for Janus I get the following error
Caused by: java.lang.RuntimeException: java.lang.RuntimeException: java.util.concurrent.TimeoutException: Timed out while waiting for an available host - check the client configuration and connectivity to the server if this message persists
arcadeanalytics-single_1  | 	at org.apache.tinkerpop.gremlin.driver.Client.submit(Client.java:225)
arcadeanalytics-single_1  | 	at org.apache.tinkerpop.gremlin.driver.Client.submit(Client.java:209)
arcadeanalytics-single_1  | 	at com.arcadeanalytics.provider.gremlin.GremlinDataProvider.testConnection(GremlinDataProvider.kt:278)
arcadeanalytics-single_1  | 	... 123 common frames omitted

All the config is set as in the docs. What might be the problem?

Closing because answered on arcadeanalytics-recipes


optimization of batch renderer

Hi!
I don't know if this is the correct section or if I should post this under pull request. So forgive me if it's in the wrong section.
I'm looking the youtube videos therefore I'm a little behind. So delete this comment if it's out of date.
I saw that your batch renderer is calculating vertex postions every submit. This is quite inefficient.
My suggestion is a rectangle class/struct that precalculate all vertecies on the constructor call of a sprite. This works as long as the size of a sprite doesn't change. I was able to achieve about a 8-10% higher fps rate then before.
My example:
Rect header (I put it into math):
struct Rect
{
	vec3 topLeftPositon;
	vec3 topRightPositon;
	vec3 bottomLeftPositon;
	vec3 bottomRightPositon;

	enum Alignment
	{
		BottomLeft,
		BottomRight,
		TopLeft,
		TopRight,
		CenteredLeft,
		CenteredRight,
		BottomCentered,
		TopCentered,
		Centered
	};

	Rect(Alignment alignment = Alignment::BottomLeft);
	Rect(float x, float y, float width, float height, Alignment alignment = Alignment::BottomLeft);

	inline const vec3& GetTopLeftPositon() const { return topLeftPositon; }
	inline const vec3& GetTopRightPositon() const { return topRightPositon; }
	inline const vec3& GetBottomLeftPositon() const { return bottomLeftPositon; }
	inline const vec3& GetBottomRightPositon() const { return bottomRightPositon; }
};

Rect cpp implementation:
Rect::Rect(Alignment alignment)
	: Rect(1, 1, 1, 1, alignment)
{

}

Rect::Rect(float x, float y, float width, float height, Alignment alignment)
{
	float halfWidth = 0.5f + width;
	float halfHeight = 0.5f * height;

	switch (alignment)
	{
	case Alignment::BottomLeft:
		topLeftPositon = vec3(x, y + height, 0);
		topRightPositon = vec3(x + width, y + height, 0);
		bottomLeftPositon = vec3(x, y, 0);
		bottomRightPositon = vec3(x + width, y, 0);
		break;
	case Alignment::BottomCentered:
		topLeftPositon = vec3(x - halfWidth, y + height, 0);
		topRightPositon = vec3(x + halfWidth, y + height, 0);
		bottomLeftPositon = vec3(x - halfWidth, y, 0);
		bottomRightPositon = vec3(x + halfWidth, y, 0);
		break;
	case Alignment::BottomRight:
		topLeftPositon = vec3(x - width, y + height, 0);
		topRightPositon = vec3(x, y + height, 0);
		bottomLeftPositon = vec3(x - width, y, 0);
		bottomRightPositon = vec3(x, y, 0);
		break;
	case Alignment::CenteredLeft:
		topLeftPositon = vec3(x, y + halfHeight, 0);
		topRightPositon = vec3(x + width, y + halfHeight, 0);
		bottomLeftPositon = vec3(x, y - halfHeight, 0);
		bottomRightPositon = vec3(x + width, y - halfHeight, 0);
		break;
	case Alignment::Centered:
		topLeftPositon = vec3(x - halfWidth, y + halfHeight, 0);
		topRightPositon = vec3(x + halfWidth, y + halfHeight, 0);
		bottomLeftPositon = vec3(x - halfWidth, y - halfHeight, 0);
		bottomRightPositon = vec3(x + halfWidth, y - halfHeight, 0);
		break;
	case Alignment::CenteredRight:
		topLeftPositon = vec3(x - width, y + halfHeight, 0);
		topRightPositon = vec3(x, y + halfHeight, 0);
		bottomLeftPositon = vec3(x - width, y - halfHeight, 0);
		bottomRightPositon = vec3(x, y - halfHeight, 0);
		break;
	case Alignment::TopLeft:
		topLeftPositon = vec3(x, y, 0);
		topRightPositon = vec3(x + width, y, 0);
		bottomLeftPositon = vec3(x, y - height, 0);
		bottomRightPositon = vec3(x + width, y - height, 0);
		break;
	case Alignment::TopCentered:
		topLeftPositon = vec3(x - halfWidth, y, 0);
		topRightPositon = vec3(x + halfWidth, y, 0);
		bottomLeftPositon = vec3(x - halfWidth, y - height, 0);
		bottomRightPositon = vec3(x + halfWidth, y - height, 0);
		break;
	case Alignment::TopRight:
		topLeftPositon = vec3(x - width, y, 0);
		topRightPositon = vec3(x, y, 0);
		bottomLeftPositon = vec3(x - width, y - height, 0);
		bottomRightPositon = vec3(x, y - height, 0);
		break;
	default:
		topLeftPositon = vec3(x, y + height, 0);
		topRightPositon = vec3(x + width, y + height, 0);
		bottomLeftPositon = vec3(x, y, 0);
		bottomRightPositon = vec3(x + width, y, 0);
		break;
	}
}

A sprite has a rect member and in the constructor this rect is generated.
So the batch renderer submit function looks like this (I commented out the old code):
void BatchRenderer2D::Submit(const Renderable2D* renderable)
{
	//const vec3& position = renderable->GetPosition();
	//const vec2& size = renderable->GetSize();
	const vec4& color = renderable->GetColor();

	int r = color.x * 255.0f;
	int g = color.y * 255.0f;
	int b = color.z * 255.0f;
	int a = color.w * 255.0f;
	unsigned int col = a << 24 | b << 16 | g << 8 | r;

	const Rect* rect = ((Sprite*)renderable)->GetRect();

	//buffer->vertex = position;
	buffer->vertex = rect->GetBottomLeftPositon();
	buffer->color = col;
	buffer++;

	//buffer->vertex = vec3(position.x, position.y + size.y, position.z);
	buffer->vertex = rect->GetTopLeftPositon();
	buffer->color = col;
	buffer++;

	//buffer->vertex = vec3(position.x + size.x, position.y + size.y, position.z);
	buffer->vertex = rect->GetTopRightPositon();
	buffer->color = col;
	buffer++;

	//buffer->vertex = vec3(position.x + size.x, position.y, position.z);
	buffer->vertex = rect->GetBottomRightPositon();
	buffer->color = col;
	buffer++;

	indexCount += 6;
}

I hope this is useful for you.

Hello!
Since my post is about the BatchRenderer aswell I didn't want to start a new topic.
int r = color.x * 255.0f;
int g = color.y * 255.0f;
int b = color.z * 255.0f;
int a = color.w * 255.0f;

c = a << 24 | b << 16 | g << 8 | r;

Intead of doing this every submit you could just precalculate the integer color in the renderable2d constructor and store it as an unsigned int instead of a vec4.

Hi Cyraxx13!
That's true. Actually all data should be precalculated and cached. And if something changed you only need to recalculate the data that's less cpu intensive than doing the calculation every frame. The only negative side of this is a higher ram usage. But who cares about some bytes more in ram. ;)
I think a higher ram consumption isn't a bottle neck any more, because everyone has a lot. (only on mobile divices it could be problematic)

Hi Cyraxx13!
Nicely spotted! This eliminates some unnecessary calculations.

Due to the effects of CPU caching, adding an additional vertex cache to each Renderable would actually slow things down. We have quite a large number of sprites, and if each of them had an additional 52 bytes of memory (your Rectangle class), more memory reads would be necessary.
Accessing memory that isn't CPU cached has a high latency (~200 cycles), MUCH higher than the simple additions (and stack pushes) that we need to do to calculate the vertex positions and send them to the buffer (those are like ~5 cycles each). Therefore you'll find that caching vertex positions will actually be significantly slower than just recalculating them.
As for your "8-10% faster", that's probably because you were running Sparky in debug rather than release mode. Please make sure you run Sparky in release mode when analyzing performance. :)

Now the color calculation, on the other hand, is a valid concern. That should really be a separate topic. I'll address this in the upcoming maintenance episode.

I'm not sure what your plan is but I think most of the time we'll render groups with only the identity matrix in the transformation stack unless we render texts and UI and such.
If that is the case it might be better to calculate vertex position it like this:
m_Buffer->vertex = transStack.size == 1 ? vec3(x,y,z) : transBack * vec3(x,y,z);
In this case you could avoid a lot of unnecessary operations, but of course this depends on how many things you want to render with the identity matrix only.

Hi TheCherno you are right I didn't thought about CPU caching and the limited size of CPU cache. I tested it in release and debug. But if i think about it, I tested it with only 6500-7000 sprites and my renderering started directly after allocation therefore i think most of my data was still in cpu cache and therefor fast accessible. But now we added so much other stuff. And I was wondering why your preformance was better than mine. Know I know. Thanks for the help.

Color caching added in Ep. 20.


feat: stringify metadata and tag

Summary
The metadata and tag should be shown as a string
Changelog
- Converted tag and metadata bytes to utf8
- Fixed hexToUtf8 conversion

Relevant Issues
closes: https://github.com/iotaledger/firefly/issues/3572
Testing
Platforms

Please select any platforms where your changes have been tested.

Desktop

[ ] MacOS
[x] Linux
[ ] Windows

Mobile

[ ] iOS
[ ] Android

Instructions

Please describe the specific instructions, configurations, and/or test cases necessary to test and verify that your changes work as intended.

...
Checklist

Please tick all of the following boxes that are relevant to your changes.

[x] I have followed the contribution guidelines for this project
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[ ] I have added or modified tests that prove my changes work as intended
[x] I have verified that new and existing unit tests pass locally with my changes
[x] I have verified that my latest changes pass CI workflows for testing and linting
[ ] I have made corresponding changes to the documentation

Looks good to me!


Green pin visible at first, despite "Needs Photo" enabled

Steps:

Start the app, after killing it if necessary
Tap "Nearby"
Notice that "Needs Photo" is enabled
Problem: Green pins are visible
Workaround: Tap "Contrbutions" then "Nearby" again: Now the green pins are not visible anymore

Hi
I would like to work on this

@VitalyVPinchuk Thanks! :-)


RFE: add separate report issue link for website

Would be nice to have two ways to report issues, one for the content (at raku/doc) and one for any site issues (here).

Closed by https://github.com/Altai-man/docs.raku.org/commit/2ef6be3b91374fc4258c6adb1aec4d1aa34f04b4


docs(rules): display message for password_confirmation

It looks like you forgot to include this line which can be misleading for people who want to test this code.

Great, thanks for the updates!


Canvas Size

I tried doing a canvas width with css say 500px, it throws off the drawing on the canvas.
how can i make the canvas size bigger without throwing off the drawing points.
css div
canvas#JohnHancock-canvas {
    background-color: #fff;
    border: 1px solid #000;
    width: 400px;
  }

help..

Hey, looking now!

Please install v.0.1.2 which I just pushed. This updates the canvas JS library and adds some sizing fixes.

Thanks for the quick reply! that works perfectly!


perf: Correctly parse frames with " (" in them

Closes: https://github.com/Granulate/gprofiler/issues/673

This now fails another test:
    def test_collapse_stack_consider_dso(stack: str, insert_dso_name: bool, outcome_dict: Dict[str, str]) -> None:
        expected = f"program;{outcome_dict['dso_true' if insert_dso_name else 'dso_false']}"
>       assert expected == _collapse_stack("program", stack, insert_dso_name)
E       AssertionError: assert 'program;(/li...so (deleted))' == 'program;[unk...so (deleted))'
E         - program;[unknown] (/lib/libudev.so (deleted))
E         ?         ----------
E         + program;(/lib/libudev.so (deleted))

Looks good.


Test written and passing. Turned sendReminders into a promise.

Completes an item on issue #1

Removed the extra nock call.

Thanks a ton.


Feature Request : Edit last commit message

I like the built-in Git support in Code, but I often need to switch back to SmartGit and the CLI for a specific feature: the ability to quickly edit the last commit message (unless already pushed), in one step.
Alternatively, it would be nice if undoing the last commit restored the commit message in the message field. It's almost the same feature, when you think about it. Might be a simple way to implement a first iteration of the feature.

Duplicate of #6190 #9796
This is already on the latest Insiders release.

Whoops, I searched only in open issues before posting. Sorry about that.
In glad to see that this will be included in the next Code release! Thanks to all involved.


Search for CoExpCluster names does not return hits

Searching wheat KnetMiner with CoExpCluster names does not return any hits, eg "WGCNA_global_module_9"
However the concept and concept name exist in the KG:

Odd. Need to check if CoExp names have weird  tags in them that may break search. Not sure if that's the reason or something else in the OXL

is this still an issue @KeywanHP ?

is this still an issue @KeywanHP ?

add CoExpCluster/ study as end node in semantic motifs

add CoExpCluster/ study as end node in semantic motifs


Add "welcome" email

When new users join, we want to send them a Welcome email.
Draft is here: https://docs.google.com/document/d/1d1LiZ9rDoyvq-sszN-14lMu0eAsBTFHrPLwYWXdC1ug/edit

Closing as duplicate of #274


Get Dart StackTrace via public API

Use case:
In Flutter Engine, we sometimes get crash reports where the C++ code has no real useful information for us - e.g. there's a state issue that was introduced by Dart code and we're likely just missing an assert or guard.  However, we can sometimes only guess at how that state was arrived at, and whether it was something in framework code or consuming user code.
It would be great if we could print the Dart stack trace before calling abort in some of our checks on the C++ side. I basically want the function in gdb_helpers.cc to be public, perhaps only if we're not in PRODUCT (i.e. it would be ok for this to be a no-op for PRODUCT). Ideally this is something that would get exposed via dart_api.h.
/cc @sjindel-google @cbracken @Hixie @jason-simmons

/cc @rmacnak-google probably has an opinion about this, given that it's related to the profiler.

I am assuming you have an unhandled exception object in the C++ code when this happens, Could you use the API call Dart_ErrorGetStackTrace to get a stack trace object and then print it using Dart_ToString?

The intended use case for this is an exception in the embedding code, where Dart does not have an exception.
For example, in an accessibility bridge we might do something that results in an NPE based on conditions we believe should never happen - Dart hasn't done anything it sees as wrong, but we'd like to know what the stack looks like in Dart before it made a call that resulted in any native code.
This may not be as helpful as we always want, but sometimes it seems like it could be.

IOW, if we have a crash on the C++/Java/Objective C side, it might be helpful to also dump the Dart stack in the output.

Hi, is there any updates? I hope to implement a simple profiler, which samples the stack trace at (say) 1000Hz and draw a framegraph, in production builds.

Dart already has a cpu profiler.
I strongly doubt you'd be able to meaningfully get the stack trace without destroying performance at that sampling rate though.

@dnfield Thanks! But I hope I can profile my app in production (release) mode. The specific use case: Sometimes the users will feel the app being slow and jank, but I cannot reproduce easily by myself. Thus, it is hard to utilize the dart CPU profiler, since profiler only works when in profile mode and device connected to computer :(

@dnfield Could you please suggest what I should do for that case? Thanks!

Calling getStackTrace over and over again (even in release mode, assuming such an API would even be supported in release mode), will cause jank by itself.
For reproducing jank, you'll want to reproduce that jank part of your app as close to the application state your users have as possible and on the same device as your users are using. Then you'll want to use existing profiling tools to investigate more about what's going on.
Knowing the stack trace is unlikely to be helpful - for example, what would you do with 4-500 frames of widget building if that turns out to be the issue? You'll want to know what else was going on in the device. Alternatively, what will you do if it turns out the jank is all on the raster thread, which isn't running Dart code at all?

@dnfield Thanks for your insights! I agree with you.

For reproducing jank, you'll want to reproduce that jank part of your app as close to the application state your users have as possible and on the same device as your users are using. Then you'll want to use existing profiling tools to investigate more about what's going on.

The problem is that jank is hard to reproduce :( Anyway I will try.

Knowing the stack trace is unlikely to be helpful - for example, what would you do with 4-500 frames of widget building if that turns out to be the issue? You'll want to know what else was going on in the device. Alternatively, what will you do if it turns out the jank is all on the raster thread, which isn't running Dart code at all?

Good question!

@dnfield
In my case, I suspect the jank is because there are some of my dart code that is running more frequently/heavily than expected. In other words, the jank is (guessed) unrelated to Flutter framework. So hopefully the stack trace will be all about my own Dart code, then I can spot the problem very quickly.
In addition, I see simpleperf can sample 1000Hz (and even 4000Hz using call graph mode) without affecting performance. Can Dart make use of it?
Thanks!


using ccache-toolchain in conda-build deletes $HOME/.ccache dir

I think this is being caused by using ccache -z in activate.sh without checking the CCACHE_DIR is set to something else than the predefined destinations.
I'd expect this package to leave my custom caches alone.

My fault - I've exported CCACHE_DIR to $HOME/.ccache in build.sh :man_facepalming:

If one has no CCACHE_DIR set, the default (~/.ccache) will get zero stats and a limit of 400mb. I think it would be better to set a cache dir within conda-build or $miniconda/var/cache/ccache etc. to avoid fiddling around in user directories.

Thanks for the suggestion. It's better to use a cache dir separate from user directory. Btw, this package is an experimental one not yet integrated into conda-smithy.

It should be integrated - it works like a charm :)


Lite/Full split: decide on "Defining new scope types"

The "Defining new scope types" chapter has a TODO about allowing @Priority on stereotypes. This should be decided separately, out of the Lite/Full split. The TODO itself can/should be removed without action.
https://github.com/eclipse-ee4j/cdi/blob/864e1b4f779e4d6d5a80f147d975a510446d4987/spec/src/main/asciidoc/core/definition.asciidoc

I have filed #495 for deciding whether we want to allow @Priority on stereotypes or not. As I said, the TODO for this (that I added during Lite/Full split) can/should be removed without action, as this decision is unrelated to Lite/Full split.

This can probably be closed as https://github.com/eclipse-ee4j/cdi/pull/524 will address it but I'll let @Ladicek be the judge of that :)

I'd treat this issue as "we should remove the TODO comment" :-)


VT-5623 Logic Broker Error: Method not found: 'Void CsvHelper.CsvWriter

Difficult reproduce this problem. I googled and found that some people meet this problem and they decrease thier version CsvHelper. But I found that LogicBroker has the super old version of CsvHelper so I think that we should make version CsvHelper is the samme like ChannelsIntegrationDomain in V1. Perhaps it will help.

Please add ticket number to description


-4077 login error

Describe the bug
when login, the current error appears:
Error: read ECONNRESET
    at TCP.onStreamRead (internal/stream_base_commons.js:205:27)
Emitted 'error' event on TalkClient instance at:
    at NetworkManager.onError (webpack:///./node_modules/node-kakao/dist/network/network-manager.js?:160:21)
    at MainInterface.onError (webpack:///./node_modules/node-kakao/dist/loco/loco-interface.js?:107:70)
    at LocoSecureSocket.onError (webpack:///./node_modules/node-kakao/dist/network/loco-socket.js?:131:23)
    at LocoSecureSocket.onError (webpack:///./node_modules/node-kakao/dist/network/loco-secure-socket.js?:69:15)
    at LocoSecureSocket.connectionError (webpack:///./node_modules/node-kakao/dist/network/loco-socket.js?:67:14)
    at Socket.emit (events.js:315:20)
    at emitErrorNT (internal/streams/destroy.js:100:8)
    at emitErrorCloseNT (internal/streams/destroy.js:68:3)
    at processTicksAndRejections (internal/process/task_queues.js:84:21) {
  errno: -4077,
  code: 'ECONNRESET',
  syscall: 'read'
}

I've changed account / uuid / ip / pc but nothing works.
Actually the kakaotalk noti message for login is working (기기 로그인 알림:  ~에서 로그인했습니다.), but client fails.
Genuine PC client works as expected.
To Reproduce
attempt login
Expected behavior
normal login
Screenshots
If applicable, add screenshots to help explain your problem.

In some environments like Electron and Node-Webkit the packet serialization is buggy due to browserified modules or dependency's cross web, nodejs support logic. There is possibility the packet data became invalid and the server immediately disconnects the client.