"Phantom" windows messing up layout

This is such a strange issue, but it happens almost twice a day, so it isn't really isolated. Basically sometimes windows retile themselves  in a space like there were additional windows there. For example a window that would take full space is retiled at half of it seemingly because there's another window there. Adding another window just keep tiling like there's this phantom window. I have to switch spaces usually to let kwm notice this.
I really don't know how to reproduce it, the only thing I can think is that it usually happens after the computer has been in standby, but not always as soon I wake it up.

I experienced the same issue when moving windows to another space using Mission Control and then returning to the space I moved the window away from.
For example, I can reliably reproduce this when having any amount of windows on space A, moving any amount of them using Mission Control to space B, then returning to space A (never actually rebuilding the window tree for space B). The only thing short of restarting Kwm that fixes the window tree on space A is moving to space B and back in this case.

@dominiklohmann I'm pretty sure moving window between spaces without using kwm own command isn't supported, especially in this version since we just react to notifications.

I know, just wanted to say how I can reliably produce such "phantom" windows.

The same happens to me --- moving spaces with mission control. Didn't happen prior to the update to 3.0.

By the way, this also happens to me when hiding windows (cmd-h). After hiding an app, the screen stays divided as if it were still active.

And I can tell that the same happens with multiple displays when having an app in fullscreen on one of the displays and then moving the cursor away to the display where kwm is tiling the non-fullscreen apps and then it retiles the windows (even the one in fullscreen and the fullscreen app then takes only a part of its screen size).

By the way, this also happens to me when hiding windows (cmd-h). After hiding an app, the screen stays divided as if it were still active.

Hiding applications is not supported, see #394.

And I can tell that the same happens with multiple displays when having an app in fullscreen on one of the displays and then moving the cursor away to the display where kwm is tiling the non-fullscreen apps and then it retiles the windows (even the one in fullscreen and the fullscreen app then takes only a part of its screen size).

OSX Fullscreen mode is not supported, see #390 for manual workaround.

The same happens to me --- moving spaces with mission control.

As cHoco said, this is no longer supported as Kwm only listens to notifications (instead of polling as it did in previous versions), use the builtin move command.

Thanks for the clarification. I'm all for simple and clean implementations so I guess I'll stop hiding windows. As far as I'm concerned this issue can be closed.

I am getting this quite frequently, too. I don't think I'm doing anything special though, just moving between Atom, iTerm2 and Firefox using the mouse. I can't describe the exact process that causes the problem yet...

This happens to me regularly while using Kwm and I don't know exactly how to reproduce. However, it seems possibly related to having other programs open that do not have a window open. For example, having iTunes open but with the window closed, then quitting iTunes, sometimes will cause the "phantom" window to close.

As an update: noticed this happens particularly often when switching between spaces. Upon switching to a space with a window in it, it will randomly shrink to a very small size - about 1/6 of screen size.

@nicoNaN I find that I am regularly "restarting" kwm 3-5x per day for this reason. The only instance I can usually reproduce is as you described, with Preview.app. Opening an image or PDF then closing that window will leave a space in place (at least, sometimes). Quitting Preview releases the ghost window's claim on that tile and the layout retiles correctly. However, it does happen to me in other cases too that are harder to reproduce and seemingly random. I think Slack causes some issues too, but they might be different (like the window "sticking" and travelling with me whenever I visit another OS X Space and leaving its ghost window on the previous layout with no obvious way to "unstick" it).

I can usually reproduce is as you described, with Preview.app. Opening an image or PDF then closing that window will leave a space in place (at least, sometimes).

This specific instance is now fixed on the current master (for me, at least).

@koekeishiya I thought it'd be something like that.

It really happens a lot with Preview. But from the debug log the notification is received.
Here's my log:
AXEvent_WindowDestroyed: Preview - Modern_Memory_Safety_In_C_CPP.pdf (page 19 of 290)
GetScratchpadSlotOfWindow() Modern_Memory_Safety_In_C_CPP.pdf (page 19 of 290) -1

And I still end up with a tree slot taken :(

This issue also appears when sending a mail via the mailapp. Is there a workaround for this issue? So at least I dont have any 'ghost' windows?

I get these issues a lot just by switching workspaces. I likely have a slightly modified workflow, but I typically have iTerm open and chrome.
I often open new iTerm windows using cmd + n (I assume this is supported) and it usually works well, but can get confused when i have iTerm windows on multiple spaces or multiple displays. Often times when I switch workspaces on one display, windows on a previous workspace (same display) will tile incorrectly (as mentioned in this thread). And once this happens to one workspace, the issue then propagates to other workspaces and I find myself restarting kwm via brew services (I assume this is okay?).
I also often open a new tab in chrome, and will drag the tab out into it's own window using the mouse, and then I will switch it to another display, and then fullscreen a video. In this case, I use the mouse only to make a tab into a window, and to fullscreen the video. I use kwm hotkey to then switch the window to a different display. The tab -> window works fine, but fullscreen of a video makes things go horribly wrong, and the display will turn black, with the video rendering out of bounds of the display, and kwm attaches the video's window to my other window containing my other tabs (seemingly). I'm not sure if the root cause for this is similar to phantom windows or if full screening a video is unsupported, so I thought I would mention it here.
I can try and investigate this more later, and if you'd prefer I mention this in a different, or new, issue, let me know!
Thanks!

I only have this problem with preview. Are there other applications where this is happening as frequently? Keep in mind the situations I mentioned in my post above.

I wonder what could be different about our setups such that I have issues with Preview almost daily (I'd say ~70% of Preview windows get ghosted)... Is there any debug information or config I can give you that might help isolate the problem?

I think that there are two different issues here, one is when an application seemingly doesn't send a notification when a window is destroyed. Not sure whose fault is it in this case, but it is usually easily solved by switching between spaces.
Then there's another issue that instead really messes up the space that is caused by a window getting added to a space more than once. I'm not sure how this happens but I confirmed that this is the case because I added this small change and I saw the error popup once.
diff --git a/kwm/window.cpp b/kwm/window.cpp
index 96335f8..130d64a 100644
--- a/kwm/window.cpp
+++ b/kwm/window.cpp
@@ -999,12 +999,18 @@ void ResetWindowNodeTree(ax_display *Display, space_tiling_option Mode)
 void AddWindowToNodeTree(ax_display *Display, uint32_t WindowID)
 {
     space_info *SpaceInfo = &WindowTree[Display->Space->Identifier];
-    if(!SpaceInfo->RootNode)
-        CreateWindowNodeTree(Display);
-    else if(SpaceInfo->Settings.Mode == SpaceModeBSP)
-        AddWindowToBSPTree(Display, SpaceInfo, WindowID);
-    else if(SpaceInfo->Settings.Mode == SpaceModeMonocle)
-        AddWindowToMonocleTree(Display, SpaceInfo, WindowID);
+    std::vector<uint32_t> WindowIDsInTree = GetAllWindowIDsInTree(SpaceInfo);
+    if (std::find(WindowIDsInTree.begin(), WindowIDsInTree.end(), WindowID) != WindowIDsInTree.end()) {
+        DEBUG("ERROR - AddWindowToNodeTree: WindowID is already in window tree");
+        return;
+    } else {
+        if(!SpaceInfo->RootNode)
+            CreateWindowNodeTree(Display);
+        else if(SpaceInfo->Settings.Mode == SpaceModeBSP)
+            AddWindowToBSPTree(Display, SpaceInfo, WindowID);
+        else if(SpaceInfo->Settings.Mode == SpaceModeMonocle)
+            AddWindowToMonocleTree(Display, SpaceInfo, WindowID);
+    }
 }

 void RemoveWindowFromNodeTree(ax_display *Display, uint32_t WindowID)

the next step is checking when that happens, since it is usually after a space changed notification, I'll probably get around that tomorrow.

So moving windows using mission control is once again somewhat possible. It will be tiled properly on the target space when it gains focus, but it does leave an empty slot on the space the window was on. This can be resolved by performing a space transition.
Native OSX fullscreen now has better support as well.  Making a window fullscreen, and non-fullscreen again without the space of the window being visited, will  cause the window to keep its tiled slot. If the space is visited while the window is still in fullscreen, the slot will be freed.
When the window becomes non-fullscreen again, it will be tiled according to the default position in the tree.
All phantom windows should in theory be removed after performing a space transition, as this causes a tree rebalance.

Is there a possibility for a keycommand to do a tree rebalance? So you are able to clean up ghost windows without performing a space transition?

@jantoebes I constantly restart kwm with the built-in shortcut to quit kwm (as launchd just automatically restarts it). However, it kinda sucks because I'm doing this on average 3-4 times a day and then I have to re-organize my windows a bit the way I want them :(

The following patch can be used as a fix for now. It is far from optimal and so I do not want to push this as an actual fix, although it should solve the problem.
https://gist.github.com/koekeishiya/b04937eed49331cef6c13712584018e1

@koekeishiya fyi, I'm not sure if it's related or actually a different bug. But I often have a separate browser window and the interactions with it and pycharm when switching workspaces seems to sometimes trigger odities.
Steps (occurred once as far as I know, not sure how to reproduce):

I had a chrome window with 3 tabs on laptop monitor in its own space, a fullscreen'd stream from nbc's olympic stream had just finished and it closed itself (going back to normal size), pycharm was on  my external display in its own workspace.
I switched to workspace with pycharm on it, my browser window on my laptop display went to the same display as pycharm and they then split the window into 2 parts vertically (looked standard, except switching displays happened due to some bug).
I use the kwm hotkey to switch browser window to laptop display, pycharm resizes to fill external display, but now browser window takes only half of my laptop display, as if there is another window next to it.
use kwm hotkey to move browser window to an adjacent space on my laptop display, then switch to it, and it fills the whole display as expected
use kwm hotkey to move browser window to original space on my laptop display, then switch to it, and it still only fills half the screen (though this time it's the right side instead of the left side).

I haven't updated since my previous post, so I'll update sometime today and if it happens again I can post here. I just wanted to provide you with an example of how this happens for me for processes that are not preview. This also occurs relatively frequently with iTerm2 windows, though erroneous display switching only happens with fullscreen videos from nbc's site (perhaps some oddity in their implementation if it's flash-based or something of the sort?).

perhaps the above is an example of something adding itself to the space more than once.

This does sound like a separate issue, however it should no longer happen in v3.0.7.
See the patch I posted above for a temporary fix to the main issue, if it becomes too annoying, while I try to figure out a better solution.

Ok,
for me it would be enough if i can attach a key-command to rebalancing.
So that means if there is a phantom window I don't have to restart KWM or switch panes to activate a rebalance, but just enter a hotkey and the problem is solved.
That would make it for me much more acceptable :-)
Btw @koekeishiya I think you're doing an amazing job with this tiling manager!

I could reproduce one of the phantom window issues. First to mention that I tried the patch https://gist.github.com/koekeishiya/b04937eed49331cef6c13712584018e1 but it does not work for my issue.
I reproduce it as follows with branch tag 0.3.7:

Having 2 external monitors plugged in
Opening any application
Opening a second window from the same application
Drag the window to the other monitor

What I expect:
Both windows take the whole space on both monitors.
What happens instead:
The window I have dragged takes the whole monitor (which was empty before) and the only window left on the previous monitor only consumes half of the space. With resizing it jumps just back into his half-monitor position.

Dragging windows will never be "officially" supported, because it is not something that I can reliably detect. I have added some code that should help alleviate these issues somewhat, but it is not something that can be fixed.
I would recommend using Kwm as you would any tiling wm for the x-windowing system, where if you want to drag something, make it float. If you just want to move windows, create suitable binds or this.

I'm curious about how I can better debug this situation. Today I'm running with multiple spaces (which I only do when I have no external bigger monitor) and I've suddenly got an unexplained ghost window on exactly one of my Spaces. Switching spaces does not re-layout the screen. I have no idea what KWM thinks is there. Is it possible to access debug information about what KWM thinks is occupying that slot? All the spaces are BSP and I never had anything (to my knowledge) on that space except for Slack.

Ugh ignore that, it was a hidden window. Still, it would be helpful to know if kwm does have enough information to display what it expects to be in that phantom slot, as I am getting phantom slots often (which usually have nothing to do with hiding applications, because I rarely do that other than by accident and know to look for it as a cause of these problems)

@koekeishiya I never got the keybindings working.  So I drag the windows, kill kwm and it works again as expected.

I never got the keybindings working.  So I drag the windows, kill kwm and it works again as expected.

If no keybindings work at all, you probably have to disable 'secure keyboard entry' found in terminal settings (even if it is listed there, it applies system-wide).

Ugh ignore that, it was a hidden window. Still, it would be helpful to know if kwm does have enough information to display what it expects to be in that phantom slot,

There is currently no way to check this without running inside a debugger.

have nothing to do with hiding applications

Hiding appllications have been implemented on master.

@koekeishiya I  never enabled Secure Keyboard Entry and therefore it is still disabled. But still not working at all. I just be ok with not using any shortcuts since the most important thing is ffm and tiling is not very important.

So I've been unable to reproduce this issue with Preview, iTunes and a few other applications at all, in version 3.1.3 (suspect the changes in #448 had something to do with it).
The issue where a window would be tiled multiple times for the same space has also been fixed.
Show / hide applications is now supported.
I am gonna close this due to the fact that the information has been relativelt hard to process as there are symptomps for several different issues all garbled in here.
Freel free to create new issues if they don't overlap with #472 and #445


As a developer, I need a proxy server, so that I can handle streaming data

Motivation: proxy server can be used for streaming remote files on servers that do not have that support. And to implement seek (skip N bytes) in files or streams from JS.
This will be used in: #17
Tasks:

[ ] Handle local files
[ ] Handle remote files
[ ] Implement server-side CSV parsing?
[ ] When app is hosted on remote server, how do we handle file upload?

@jefffohl before you begin implementing this feature with proxy server from npm, would you consider a more difficult but also more far-reaching change and improving Papa? As the author said he won't implement it himself, but is not against the solution: https://github.com/mholt/PapaParse/issues/49#issuecomment-163286369

@breznak - I would, but I don't think it is possible within the browser. The FileReader only takes a snapshot of the file at the time of the request, and it will not allow the browser to read the file again without a user interaction - most likely for security reasons.
For some reason, Chrome's handle on the file does allow you to read the file size as the file is updated, but the data in the file cannot be retrieved. See the HTML5 spec: https://www.w3.org/TR/FileAPI/#file
I believe this is the reason that the PapaParse developer is not willing to work on it - it is simply not possible.

Actually, it appears that it might be possible to reload the file if we see that it has changed, but we would have to reload the entire file - which defeats our original purpose, because then we would have to reload all of the data, and on large files that would be very inefficient. What we need is the ability to read just the portion of the file that has changed.

Thank your for the Specs!
I still don't see how your workaround should work (or why Papa's shouldn't):

f is a reference to File object:
byte content is a snapshot of the file at creation of the reference
may/or may not provide modified and size parameter. (are these snapshoted=frozen too, or change dynamically?)
if we can get the parameters, monitor them periodically (else exception; still some support better than nothing)
if file changed, efficiently reread the new update
in the Spec I don't see a seek(=skip to Nth byte) or read with offset methods; this is a problem I don't know how you plan to work-around?
if such method exists, update and loop.

The workaround - of reloading the entire file whenever the file size changes - can be seen here: http://stackoverflow.com/questions/22548683/reloading-a-file-using-html-input

I'm not sure I understood the SO solutions correctly, but these ideas might work:

if Papa is that fast ( https://jsperf.com/javascript-csv-parsers/4 ), just reread the whole file. this could be implemented in the Papa's chunk call (with "monitor=true" argument) to return only the diff (to the graph for rendering). It is suboptimal, but would still be a huge simplification for many problems.
Assuming we can destroy the source file, we can read, delete the read part, wait, loop. Saving the time on not-rereading the known bytes. This could also be implemented for Papa.
How about Baby? https://github.com/Rich-Harris/BabyParse Does Node.js provide more "local app" privileges, allowing to access a file more directly?

Node runs on the server, so it has all the permissions that you want to give it. So, yes, it can access any file on the system.

So - yes, we could use Baby Parse and parse files on the server side instead of in the browser.

(We should follow @rhyolight 's advice and...) delegate this to other project, with different (lower) level of integration, that can easily take care of the file updates, and provide us only with a diff file which we would reread quickly and append to our data.
Eg a script (some multiplatform code?) like

while(true) { cp myFile myFile.old; sleep 5; diff myFile myFile.old > update; }

delegate to what other project?

Well, we can just require to have only the diffs (not whole updated) file as input for Monitoring?
Or provide a simple utility (in Java, ...) to do the diffs in intervals for us, as above.
Or truncate the file (not sure a browser JS can do that?)

Can we make the (client, browser) app a "server-like app" that has REST API?
https://stackoverflow.com/questions/921942/javascript-rest-client-library
So we could have an update(data) method callable throught REST PUT?  This was the idea in #42
Sorry, this was just a brainstorm/shitload :stuck_out_tongue: of ideas, not sure which are doable or suitable for us..?

I am imagining the server will have some REST-like features, but it will probably be just GET.
Why would you need PUT, if we are just reading CSV files?

The server I am imagining will be pretty basic. It will handle the following functions:

Serving static files (index.html, JS, CSS, etc.)
Handling files on the local file system, and allowing us to stream them.
Acting as a proxy server for retrieving remote files from other servers.

All that said, if we can define an abstract purpose for the server outside of the needs of this particular app, we could make it a separate project/repo.

yes, I think that's a good functionality for the server. Let me doublecheck I understand the advantages:
allows to stream remote files (even if the other server does not support that feature)? + streaming local files (does it solve the problem discussed here on avoiding re-reading the whole file for monitoring mode?)
My REST idea is probably a separate feature, allowing the updates be "sent" by REST calls (allows integration with many web services, which are restful, like RiverView), in addition to updates by writing to a file.

Yes, your understanding is correct. And yes, it will solve the problem of avoiding the need to re-read the entire file each time it is updated. We will be able to have a server-side file handle that will allow us to read the file.

:+1: :cool:

One thing that this brings up is that the experience will differ depending on whether the app is hosted locally or remotely (e.g. on a public web server). If the app is hosted locally, we can access and stream local files with continuous updates. If the app is hosted remotely, the only interface we will have to uploaded files (from the users computer) will be through the FileReader interface, which, as we know, has the limitation of not allowing us to update the data continuously.
I am hoping that I can make a somewhat elegant user experience that will automatically detect if the file is available on the same file system that the server is running on, and accept continuous updating. If the file is not available, the server will assume that the file is being sent remotely, and simply read a snapshot of the file.

Something that I forgot about is that the FileReader interface won't give you any information about the file other than its size and name. It won't tell us the local path to the file, so the server won't be able to find the file.
The alternative is for the user to know the relative path to the local file, and enter that in as a string (the same way that they might enter a URL). The server could see that it is a local path, and then retrieve the file. Again, in this situation, if the app were hosted remotely, a local path would not work. And, now that I think about it, this would be a big security hole if the app were hosted on a public web server, because it would allow users to type in any local path, which would then tell the server to retrieve that file from the local (server's) file system, which is of course a very bad idea.
So, now I need to re-think all of this. Sorry, I should have gone through this logic earlier.

So, I've been thinking this over, and I don't see a solution that would involve using the "Browse..." button to allow the user to locate a local file and load it into the app for online streaming. JavaScript in the browser is, by design, sandboxed for security reasons.
We could remove the "Browse..." button and require that all users supply a path to the file they would like to stream - either a local filepath, or a URL to a file hosted on a remote web server. If anyone ever wanted to host this app on a public server, they would need to disable the ability to supply a local filepath, and make the app only accept full URLs. This could be set in the server config.
@breznak what are your thoughts?

@jefffohl ..true about the sandboxed limitation of JS, so does this mean: the publicly hosted app will not be usable? And users will have to provide a path to the file, rather than selecting with with the file browser?
And we are doing it for the "monitoring" support, right?
If so, I'd suggest: A) just require the provided file for inputs does not contain all the points (with appended updates), but rather a diff with the updates only. So we can reread the whole file (no proxy server) each time. Or B) keep the current functionality and have a config that allows the proxy server & imposes the limitations you mention.

@breznak - Yes, this is all being done for the monitoring support. What we do depends on what the typical use case is. If this app is most typically run locally on the same machine that is producing the file to read, then using a proxy server will probably be the best option, as it will allow for monitoring both remote and local files.
We can set up the server so that in order for it to monitor local files, the server needs to be started with a special flag. This way the user has to explicitly decide to allow that option, and will therefore hopefully understand that it should not be done on a public web server.
So - we can offer three ways of accessing a file:

A URL to a publicly available file. Can be monitored for updates by using a proxy server. Available whether the app is hosted locally or on a public web server.
A path to a local file. Can be monitored for updates by using the proxy server. This feature should not be enabled on public web servers.
A "Browse..." button that will allow the user to upload a file from their local file system. This file will be handled using the JavaScript FileReader API, which means that we can monitor the file (in Chrome at least), and do a kind of updating that is non-optimal - meaning that we periodically re-upload the entire file, and then slice off the diff and append that to our data in the chart.

For all of these, I still need to test these methods out to make sure I am not missing something important that would prevent our success.

How about this setting:

without a proxy
functionality as now.
monitoring works only if the file provided is diffs, so we read it
periodically and append to the plotted data
with proxy (can this be detected automatically?)
works like you described (maybe we could disable monitoring when
FileReader is used)
(should security be concern? running the server w/ privileges to access
any file on local FS,..)

I am not sure what you mean - you want to make the server optional?

..I was thinking that. Would it be too much work? If we can provide basic monitoring functionality as defaults, and detect the server and if the proxy is present, use its features for file streaming.

It is more work. We have to have a server to serve the static resources anyway, so I don't see a benefit at this time. If, in the future, there appears to be a need for decoupling the app from the server then we can work on that feature at that time. As always, I would like development to be driven by real-world needs.

Esp. here I think we have clear real-world usecases: NuPIC live monitoring of a running model and RiverView...


Instance Transform of MultiMeshes created with set_buffer() are incorrect

Godot version
4.0.2.stable
System information
Windows 11, Intel Core i5-8250U, Forward+, GTX 1050 Ti
Issue description
When I create a MultiMesh with set_buffer() and then try to get the transform of each Instance I get different values in comparison to creating the MultiMesh with set_instance_transform() . Also when I try to change the values directly in the buffer dropdown in the editor the meshes get completely distorted. The basis changed as well. For the creation I used the standard basis, but after setting the buffer, the values are all over the place.
The instances itself are placed correctly though.
Steps to reproduce
I created a simple scene with a Node3D and a MeshInstance3D (optional). The Node3D has a script attached that creates two MultiMeshInstances.  The script is a @tool script with a bool button for easier MultiMesh creation, but the function in question looks like this:
func build_variant():
	# creates two multimeshes
	var multimesh = MultiMesh.new()
	var multimesh2 = MultiMesh.new()

	multimesh.transform_format = MultiMesh.TRANSFORM_3D
	multimesh2.transform_format = MultiMesh.TRANSFORM_3D

	multimesh.instance_count = 25
	multimesh2.instance_count = 25

	multimesh.visible_instance_count = 25
	multimesh2.visible_instance_count = 25

	multimesh.mesh = BoxMesh.new()
	multimesh2.mesh = BoxMesh.new()

	# creates a buffer for the transform
	var buffer = PackedFloat32Array()
	for i in range(25):
		buffer.append_array([1,0,0,20*randf()-10,0,1,0,0.0,0,0,1,20*randf()-10])

	# instances for the first multimesh
	multimesh.set_buffer(buffer)

	# instances for the second multimesh
	for i in range(25):
		multimesh2.set_instance_transform(i, Transform3D(Basis(), Vector3(buffer[12*i+3],0,buffer[12*i+11])))

	# adds a MultiMeshInstance3D to the scene tree
	var instance = MultiMeshInstance3D.new()
	instance.multimesh = multimesh
	add_child(instance)
	instance.owner = get_tree().get_edited_scene_root()

	var instance2 = MultiMeshInstance3D.new()
	instance2.multimesh = multimesh2
	add_child(instance2)
	instance2.owner = get_tree().get_edited_scene_root()

	# output for comparison
	for i in instance.multimesh.instance_count:
		print("origin1: ",instance.multimesh.get_instance_transform(i).origin)
		print("origin2: ",instance2.multimesh.get_instance_transform(i).origin)
		print(" ")

This is an example output:
origin1: (0.007426, 0.15, 0.003713)
origin2: (8.487642, 0, -3.616688)

origin1: (0.15, 0, 0.15)
origin2: (-6.913401, 0, 8.174704)

origin1: (0, 0.15, 0)
origin2: (-8.218485, 0, 4.932026)

origin1: (0.15, 0, 0.15)
origin2: (9.599366, 0, -8.300961)
...

Origin2 shows the "correct" transform. Or at least what I would expect to be the correct transform.
Sometimes there is also (0,0,0) or nan.
Minimal reproduction project
N/A

Possibly a duplicate of https://github.com/godotengine/godot/issues/73123, MultiMesh buffer update is asynchronous (see the second post by clayjohn). That said, this should probably be at least mentioned in the documentation.

Indeed, this is a duplicate of https://github.com/godotengine/godot/issues/73123
Closing in favour of https://github.com/godotengine/godot/issues/73123 so we can track the issue in one place


Ignore permissions given twice in migrations

I ran into this trying to test migrations in galaxy_ng. I need to test by running with current apps, but IntegrityError is obviously going to make that error, because all the data is filled in.

@Dostonbek1 I saw this in the eda-server downstream testing
FAILED tests/integration/dab_rbac/test_managed_roles.py::test_org_role_team_assignments - AssertionError: [ErrorDetail(string='Not managed locally, use the resource server instead', code='invalid')]
assert 400 == 201
 +  where 400 = <Response status_code=400, "application/json">.status_code
 +  and   201 = status.HTTP_201_CREATED
FAILED tests/integration/dab_rbac/test_managed_roles.py::test_org_role_user_assignments - AssertionError: [ErrorDetail(string='Not managed locally, use the resource server instead', code='invalid')]
assert 400 == 201
 +  where 400 = <Response status_code=400, "application/json">.status_code
 +  and   201 = status.HTTP_201_CREATED

I think this is addressed by PRs you have in progress. In any case, unrelated to this. I'll keep an eye on it.


Fixed translations of the Activity Log checkbox items.

The checkboxes at the top of the Activity Log had gotten all messed up.  It was doing
:observation.classify.constantize.to_s.pluralized_title
This does:
:observation -> "Observation" -> Observation -> "Observation" -> "Observations" (!!)
This does not get translated.  Instead do:
:observation.to_s.pluralize.upcase.to_sym.t
This does:
:observation -> "observation" -> "observations" -> "OBSERVATIONS" -> :OBSERVATIONS -> "Observaciones"
Or better yet, let the translator deal with it!
:"rss_one_#{:observation}"
-> :rss_one_observation -> [:OBSERVATIONS] -> "Observaciones"
This latter approach requires a bunch of aliases in the translation file, but it let us override individual choices. For example, we can choose to change "Glossary Terms" to just "Glossary" and "Articles" to "News".  And it makes the code much more readable.
Note that these extra translations are all just aliases, so there is no need for translators to do anything.  But it does let them override our choices. What works best in English isn't necessarily what's best in Urdu. :)

Coverage decreased (-0.005%) to 93.001% when pulling 65efd4f315e96c6dae3697a7a232f8e3b9f2d9c8 on translate-sorting-tabs into 338d037bbe5fbfe886bb4b45f74d94ac6e6ee21a on master.

I believe the minute decrease in coverage is from removing a covered method.  Everything I touched should be covered.


Updated VisualRecognition related codes

To deploy successfully, I updated plan for pfa-visual-recognition to lite from free. Thank you.

Hi, I updated notebooks/pixiedust_facebook_analysis.ipynb to run current latest environment.
updated the version of watson-developer-cloud and the parameters for VisualRecognitionV3.
Thank you.


Extending existing menu.xml instead of overwriting it

When using php pestle.phar generate_menu, pestle should check for the existence of a menu.xml in the modules files. If theres a menu, check for first <menu> item and extend it, rather then completly overwriting the file thus removing the developers settings before.

I'm sorry - pestle already does this.
What happens instead is, that the formatting of the file gets lost. Pestle removes tabs and \r\n's out of the file. Pestle right now does NOT overwrite existing settings. My fault!

Thanks for the feedback @grasdaggel -- I couldn't reproduce this problem -- could you try downloading the latest version of pestle and trying again?  If the problem persists, could you

Provide an example of a menu.xml file with formatting

Provide example inputs from running php pestle.phar generate_menu

Provide an example of a menu.xml file after running the command, with the lost formatting.

If you could zip up the two menu.xml file that would be ideal.   With that information we should be able to get to the bottom of this!

@grasdaggel any update on the above request?  Or are you good here?

Sorry for not coming back at you, I'm good! Thanks Alan!

Thanks @grasdaggel !


License missing

Hi,
some of your files do contain a license header but not all.
This makes it problematic to use.
Would you be willing to add a LICENSE to the repository?

This has been fixed by https://github.com/tabular-io/iceberg-rest-image/pull/82


The Updated Scripts for the Off-Nitrogens Pipeline

All the scripts for the off-nitrogens pipeline.

A quick note, I'll try to look at the code later this week, but the tests are failing because it can't find the OE License, it looked like the tests were still failing on PR #17. We should make sure not to merge pull requests with failing tests.

I'm working on a PR to fix the license issues


terra-theme-context

Summary
Adding a context component to provide the current theme to terra components. The theme context provider is intended to be consumed by terra-application and the context will be re-provided by terra-application.
Deployment Link
https://terra-framework-deployed-pr-1087.herokuapp.com/
Testing
This package only has jest tests as it itself has no visual component.
Additional Details
Related to but not blocked by: https://github.com/cerner/terra-toolkit/pull/390
Thank you for contributing to Terra.
@cerner/terra

Few questions

Why do we want to add theming to context? Do we expect consumers to use this or only the application level like base?
why not add this to terra-theme-provider?
why not add this directly to terra-application to remove potential context conflict in the future? Are we really intending to support it's use outside of terra-application?
does this mean terra-theme-provider is deprecated?

@emilyrohrbough you missed the post scrum but it would be great get these questions documented here:

Why do we want to add theming to context? Do we expect consumers to use this or only the application level like base?

This theme context will be re-provided from terra-application and consumers absolutely could and should use this context to identify what theme their components are in and apply any theme changes they many need for their component.

why not add this to terra-theme-provider?

This context will eventually be pulled into all terra components. In an effort to remain as light and passive as possible we've separated this from terra-theme-provider.

why not add this directly to terra-application to remove potential context conflict in the future? Are we really intending to support it's use outside of terra-application?

This isn't directly added to terra-application because it would cause circular dependencies with any terra components consumed by terra-application. Think terra-application navigation.
We aren't intending to support it outside of terra-application and to those ends I don't want to add this package or documentation to terra-ui.

does this mean terra-theme-provider is deprecated?

Nope, Terra theme provider's responsibility is to add the theme css class to the root element of the application.


how to get the maximum throughput?

Checklist

[ ] 1. I have searched related issues but cannot get the expected help.
[ ] 2. The bug has not been fixed in the latest version.
[ ] 3. Please note that if the bug-related issue you submitted lacks corresponding environment info and a minimal reproducible demo, it will be challenging for us to reproduce and resolve the issue, reducing the likelihood of receiving feedback.

Describe the bug
Decode batch. #running-req: 1010, #token: 55006, token usage: 0.93, gen throughput (token/s): 1397.13, #queue-req: 12279
why throughput  only 1397?
Reproduction
--schedule-conservativeness 0.3
Environment
A100 llama2-13B

why throughput only 1397?


cmd: Set rpc flag defaults

This PR adds flag defaults for rpc addr and port.

Codecov Report

Merging #696 (62697fd) into main (38a6a96) will increase coverage by 0.35%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##             main     #696      +/-   ##
==========================================
+ Coverage   52.26%   52.61%   +0.35%
==========================================
  Files         103      103
  Lines        6224     6224
==========================================
+ Hits         3253     3275      +22
+ Misses       2629     2611      -18
+ Partials      342      338       -4

Impacted Files
Coverage Δ

cmd/flags_rpc.go
100.00% <100.00%> (+24.00%)
:arrow_up:

node/init.go
66.66% <0.00%> (+3.70%)
:arrow_up:

service/header/core_listener.go
57.69% <0.00%> (+5.76%)
:arrow_up:

cmd/env.go
88.23% <0.00%> (+11.76%)
:arrow_up:

node/config_opts.go
51.51% <0.00%> (+24.24%)
:arrow_up:

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 38a6a96...62697fd. Read the comment docs.

@renaynay, what was the problem that this PR fixes? Why default config is not enough?

@renaynay, what was the problem that this PR fixes? Why default config is not enough?
The problem with this approach is that changing the config in the folder won't affect the node as flags have a higher priority than config. The default value for the flag will always make it as it has some value and produce options overriding the loaded config on the node. So after this PR is merged, we will have another issue.

@renaynay, closing this one until we find a better solution. We need an issue, though. Would be good if you or @tzdybal can explain it

@Wondertan https://github.com/celestiaorg/celestia-node/issues/718


[Bug]: "On trigger" mode in "CLIP Text Encode (Prompt)" node block causes text and input fields to overlap

Frontend Version
v1.2.47
{
"system": {
"os": "nt",
"comfyui_version": "v0.2.2",
"python_version": "3.11.9 (tags/v3.11.9:de54cf5, Apr  2 2024, 10:12:12) [MSC v.1938 64 bit (AMD64)]",
"pytorch_version": "2.4.1+cu124",
"embedded_python": true,
"argv": [
"ComfyUI\main.py",
"--windows-standalone-build"
]
},
}
Expected Behavior
When selecting "On trigger" in the mode option from the right-click menu in the "CLIP Text Encode (Prompt)" node block, the input/output text and text fields should be displayed clearly and aligned properly.
Actual Behavior

Steps to Reproduce

Add a "CLIP Text Encode (Prompt)" node block.
Right-click on the node block and select the "Mode" option.
Set the mode to "On trigger."
Observe how the input/output text and text fields are squeezed together and misaligned.

Google Chrome
Other
Custom nodes
ComfyUI-Manager
UltimateSDUpscale
Browser
CHROME VERSION:
129.0.6668.71

Oops, sorry! I posted this in the wrong repo. This should be in ComfyUI_frontend.
Nothing, I’m new here and just exploring the interfaces to learn how everything works. I happened to come across this bug while trying out different options.

I’ve reposted the issue in the correct repository here: https://github.com/Comfy-Org/ComfyUI_frontend/issues/983. Can we go ahead and close this issue? Thanks!

Oh, I see, my issue was moved here. I didn’t know GitHub had that feature, so I thought I made a mistake and created a new one. @webfiltered I’ll leave it up to you to decide whether to proceed with this issue😊

This is an invalid feature in comfyui. It doesn't make much sense to discuss it, and it's not worth letting developers waste energy on it.
If you are curious about on trigger, you can check out ComfyBox


[Bug]: Error: Node is either not clickable or not an HTMLElement

Bug expectation
There is a code in waitForSelector that puts a selector to page.click to make it wait for rendering.
However, Error: Node is another not clickable or not an HTMLElement error frequently occurs and often does not work.
Occurrence rate is low in window and high in mac.
I'm guessing you can't wait for the rendered selector, but I'd like to know a solution to the issue.
Bug behavior

[ ] Flaky
[ ] PDF

Minimal, reproducible example
await page.waitForSelector(
  "#layer > div > div > div.layer_body > div > div:nth-child(2) > dl > dd > div > div:nth-child(5) > div > div > ul > li"
);

await page.click(
  `#layer > div > div > div.layer_body > div > div:nth-child(2) > dl > dd > div > div:nth-child(5) > div > div > ul > li:nth-child(${
    hour + 1
  })`
);

Error string
Error: Node is either not clickable or not an HTMLElement
Puppeteer configuration
No response
Puppeteer version
^19.11.0
Node version
v16.13.1
Package manager
yarn
Package manager version
1.22.19
Operating system
Windows

Please provide a test page and a test script that demonstrates the issue!

Using waitForSelector then click is not necessarily atomic. I.e., the element can disappear after the waitForSelector. Puppeteer may be single-threaded in Node.js, but the browser is a separate process, therefore has its own threads etc. This means you cannot expect operations to be atomic between the page and Node.js. To help this, waitForSelector returns a reference that will not disappear if the page removes the node. You can query selector on that reference to return the element you actually want.
On another note, we are fairly certain their is something wrong with the page. Our tests are exhaustive regarding querying.

waitForSelector를 사용하면 클릭이 반드시 원자성일 필요는 없습니다. 즉, 요소는 waitForSelector 후에 사라질 수 있습니다. Puppeteer는 Node.js에서 단일 스레드일 수 있지만 브라우저는 별도의 프로세스이므로 자체 스레드 등이 있습니다. 이는 작업이 페이지와 Node.js 사이에서 원자적일 것이라고 기대할 수 없음을 의미합니다. 이를 돕기 위해 waitForSelector는 페이지가 노드를 제거해도 사라지지 않는 참조를 반환합니다. 해당 참조에서 선택기를 쿼리하여 실제로 원하는 요소를 반환할 수 있습니다.
또 다른 메모에서 페이지에 문제가 있다고 확신합니다. 우리의 테스트는 쿼리와 관련하여 철저합니다.

Thank you! It was a great help in solving the problem.

Using waitForSelector then click is not necessarily atomic. I.e., the element can disappear after the waitForSelector. Puppeteer may be single-threaded in Node.js, but the browser is a separate process, therefore has its own threads etc. This means you cannot expect operations to be atomic between the page and Node.js. To help this, waitForSelector returns a reference that will not disappear if the page removes the node. You can query selector on that reference to return the element you actually want.
On another note, we are fairly certain their is something wrong with the page. Our tests are exhaustive regarding querying.

This works!


Add support for importing seeds through SeedSigner SeedQR codes

From empirical experiments, the Jade device does not recognize the SeedQR (and CompactSeedQR?) formats championed by seedsigner.com. Can support be added to Jade?

The upcoming release 0.1.35 of Jade will support importing SeedQR mnemonics (it should already be in the master branch).
There were concerns about CompactSeedQR as it lacks the bip39 checksum values that surely have value when transcribing data by hand, and support has not been added for this format at this time.  ofc it could be added in a future release if there is strong demand.

FYI Support for scanning CompactSeedQR has been merged to the master branch, and will be included in a future release, tentatively 0.1.38.

FYI 0.1.38 will also be able to display a CompactSeedQR via multiple 'zoomed-in' images - much like SeedSigner itself, and we should be making paper templates available to facilitate making a qr-code recovery backup.


"Reply already submitted" errors whenever using platform views on Android.

This regressed in flutter/engine#7847 fix is up for review in flutter/engine#9185.
Whenever platform views are used on Android that exception is logged(Android's Log.e):
06-04 12:01:05.997 11978 11978 E DartMessenger: Uncaught exception in binary message listener
06-04 12:01:05.997 11978 11978 E DartMessenger: java.lang.IllegalStateException: Reply already submitted
06-04 12:01:05.997 11978 11978 E DartMessenger: 	at io.flutter.embedding.engine.dart.DartMessenger$Reply.reply(DartMessenger.java:126)
06-04 12:01:05.997 11978 11978 E DartMessenger: 	at io.flutter.plugin.common.MethodChannel$IncomingMethodCallHandler.onMessage(MethodChannel.java:240)
06-04 12:01:05.997 11978 11978 E DartMessenger: 	at io.flutter.embedding.engine.dart.DartMessenger.handleMessageFromDart(DartMessenger.java:90)
06-04 12:01:05.997 11978 11978 E DartMessenger: 	at io.flutter.embedding.engine.FlutterJNI.handlePlatformMessage(FlutterJNI.java:234)
06-04 12:01:05.997 11978 11978 E DartMessenger: 	at android.os.MessageQueue.nativePollOnce(Native Method)
06-04 12:01:05.997 11978 11978 E DartMessenger: 	at android.os.MessageQueue.next(MessageQueue.java:325)
06-04 12:01:05.997 11978 11978 E DartMessenger: 	at android.os.Looper.loop(Looper.java:142)
06-04 12:01:05.997 11978 11978 E DartMessenger: 	at android.app.ActivityThread.main(ActivityThread.java:6591)
06-04 12:01:05.997 11978 11978 E DartMessenger: 	at java.lang.reflect.Method.invoke(Native Method)
06-04 12:01:05.997 11978 11978 E DartMessenger: 	at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240)
06-04 12:01:05.997 11978 11978 E DartMessenger: 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:772)
06-04 12:01:06.002 11978 11978 E MethodChannel#flutter/platform_views: Failed to handle method call
06-04 12:01:06.002 11978 11978 E MethodChannel#flutter/platform_views: java.lang.IllegalStateException: Reply already submitted
06-04 12:01:06.002 11978 11978 E MethodChannel#flutter/platform_views: 	at io.flutter.embedding.engine.dart.DartMessenger$Reply.reply(DartMessenger.java:126)
06-04 12:01:06.002 11978 11978 E MethodChannel#flutter/platform_views: 	at io.flutter.plugin.common.MethodChannel$IncomingMethodCallHandler$1.notImplemented(MethodChannel.java:235)
06-04 12:01:06.002 11978 11978 E MethodChannel#flutter/platform_views: 	at io.flutter.embedding.engine.systemchannels.PlatformViewsChannel$1.onMethodCall(PlatformViewsChannel.java:55)
06-04 12:01:06.002 11978 11978 E MethodChannel#flutter/platform_views: 	at io.flutter.plugin.common.MethodChannel$IncomingMethodCallHandler.onMessage(MethodChannel.java:222)
06-04 12:01:06.002 11978 11978 E MethodChannel#flutter/platform_views: 	at io.flutter.embedding.engine.dart.DartMessenger.handleMessageFromDart(DartMessenger.java:90)
06-04 12:01:06.002 11978 11978 E MethodChannel#flutter/platform_views: 	at io.flutter.embedding.engine.FlutterJNI.handlePlatformMessage(FlutterJNI.java:234)
06-04 12:01:06.002 11978 11978 E MethodChannel#flutter/platform_views: 	at android.os.MessageQueue.nativePollOnce(Native Method)
06-04 12:01:06.002 11978 11978 E MethodChannel#flutter/platform_views: 	at android.os.MessageQueue.next(MessageQueue.java:325)
06-04 12:01:06.002 11978 11978 E MethodChannel#flutter/platform_views: 	at android.os.Looper.loop(Looper.java:142)
06-04 12:01:06.002 11978 11978 E MethodChannel#flutter/platform_views: 	at android.app.ActivityThread.main(ActivityThread.java:6591)
06-04 12:01:06.002 11978 11978 E MethodChannel#flutter/platform_views: 	at java.lang.reflect.Method.invoke(Native Method)
06-04 12:01:06.002 11978 11978 E MethodChannel#flutter/platform_views: 	at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240)
06-04 12:01:06.002 11978 11978 E MethodChannel#flutter/platform_views: 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:772)

This is fixed in https://github.com/flutter/engine/pull/9185 keeping the issue open until the engine is rolled(roller is currently blocked on a broken build).

Rolled in      * Return the current display metrics that are in effect for this resource
* object.  The returned object should be treated as read-only.

Note that the bug had a more severe implication than logging the error, when resizing a platform view, the result will be completed with notImplemented first which will throw in RenderAndroidView._sizePlatformView and will leave the render object in an inconsistent state.

Hey,
is this fix merged in the flutter beta channel already?

The fix made it to the v1.7.2 release(beta is currently at v1.6.3)

Any idea, when the fix will me merged to beta?

probably within a few weeks, more information on the roll process here: https://github.com/flutter/flutter/wiki/Release-process#rolling-the-beta-channel

Problems still 1.7.9 versión :(

@agueroveraalvaro can you share a minimal sample code that reproduces the issue?

@amirh Yes! look
      `new EventChannel(getFlutterView(), eventChannelStatus).setStreamHandler(
                new EventChannel.StreamHandler() {
                    @Override
                    public void onListen(Object arguments, EventChannel.EventSink events)
                    {
                        eventSinkStatus = events;
                    }

                    @Override
                    public void onCancel(Object arguments) {

                    }
                }
        );`

And I solved with this (try/catch)
    `new EventChannel(getFlutterView(), eventChannelStatus).setStreamHandler(
                new EventChannel.StreamHandler() {
                    @Override
                    public void onListen(Object arguments, EventChannel.EventSink events)
                    {
                       try
                        {
                            eventSinkStatus = events;
                        }
                        catch (Exception e)
                        {

                        }
                    }

                    @Override
                    public void onCancel(Object arguments) {

                    }
                }
        );`

v1.9.1-hotfix.4, ditto. It could be reproduced by using flutter_pdfview and simply placing a PDF view in the middle of a page, I guess.


F #6185: Support huge pages without CPU pinning

Description
Ensure that OpenNebula will: configure the VM with CPU affinity to the auto-selected NUMA node. Missed in #6185
Branches to which this PR applies

[x] master

@1gramos Hi, would you review this please?

THANKS FOR THE HEADS UP :heart:
Sorry for the delay reviewing your contributions :pray:
Merged as per a68e0a73c36259315aebbbde2801a39cd562df0a


Localize to Japanese

Learn the process of localizing a website.

Resources:
How to conduct website localization by Smashing magazine
Website localization on Wikipedia


Deploy Agent python dependencies requirements

Hi
I'm trying to make a Debian package for the deploy agent: the python dependencies required versions are quite recent, is it really necessary? Debian provides packages for those deps, but their versions are a bit less recent: re-package all deps to the required version is quite tedious operationally...

We tend to use the latest stable version we could find. Which particular package you are referring to? I'd expect there should be no problem since we are using Python virtual environment, all dependencies should be installed through pip.

install_requires = [
    "requests==2.9.1",
    "gevent==1.0.2",
    "lockfile==0.10.2",
    "boto>=2.39.0",
    "python-daemon==2.0.6"
]

Our industrialisation process doesn't imply installing Python packages using pip on production servers, only Debian packges – which can be built from pip, but in this case dependencies are too recent.

I would suggest, when you build deploy-agent into Debian package, you could override the setup.py and use the versions you like. I would expect lower version should work as well. But do let us know if otherwise. I am closing this right now, feel free to reopen or create new request for further questions


fix: median deviation method

Description
MedianDeviation() has been calculating variance instead of standard deviation (not getting square rooted). This updates it to correctly calculate standard deviation.
Author Checklist
All items are required. Please add a note to the item if the item is not applicable and
please add links to any relevant follow up issues.
I have...

[ ] included the correct type prefix in the PR title
[ ] added ! to the type prefix if API or client breaking change
[ ] added appropriate labels to the PR
[ ] targeted the correct branch (see PR Targeting)
[ ] provided a link to the relevant issue or specification
[ ] added a changelog entry to CHANGELOG.md
[ ] included comments for documenting Go code
[ ] updated the relevant documentation or specification
[ ] reviewed "Files changed" and left comments if necessary
[ ] confirmed all CI checks have passed

Reviewers Checklist
All items are required. Please add a note if the item is not applicable and please add
your handle next to the items reviewed if you only reviewed selected items.
I have...

[ ] confirmed the correct type prefix in the PR title
[ ] confirmed all author checklist items have been addressed
[ ] reviewed state machine logic
[ ] reviewed API design and naming
[ ] reviewed documentation is accurate
[ ] reviewed tests and test coverage
[ ] manually tested (if applicable)

Codecov Report

Merging #1663 (4919521) into main (58a49b6) will decrease coverage by 0.01%.
The diff coverage is 57.14%.

@@            Coverage Diff             @@
##             main    #1663      +/-   ##
==========================================
- Coverage   55.34%   55.32%   -0.02%
==========================================
  Files          73       73
  Lines        7511     7515       +4
==========================================
+ Hits         4157     4158       +1
- Misses       3033     3035       +2
- Partials      321      322       +1

Impacted Files
Coverage Δ

util/decmath/decmath.go
92.98% <57.14%> (-5.14%)
:arrow_down:


Add callback before dispatch

As an enhancement, it could be useful to have a "shouldDispatchCallback".

Router class have a setShouldDispatchCallback method
Just before the call to $routes->dispatch(), the router calls the callback, if callback return false, route is ignored, else the callback returns the route.

=> it can be used to allow / disallow access to routes

I don't understand why this feature should be managed by PHPRouter.
If you want ignore some routes in some cases you can do it by managing them with multiple files like web.routes.php, api.routes.php, webmin.route.php etc...
Instead of loading directly all routes you test your requirements and load only what you need. This is the best way to avoid any risk of unwanted access to routes.

Maybe the solution above is not the best, my need at first is to allow/disallow a route at runtime  in a restricted environnement

User logs in
ACL management is loaded
Before dispatching route, ACL are checked (via callback), and we can decide to re-route user to error page or login page.

The goal of PHPRouter is routing, not providing a middleware interface.
On all project i had built with PHPRouter i use dynamic load form files, so guest can't access to restricted area, user can't get access to ACP etc...
Currently the demo is not available due to major changes in progress to made PHPRouter stable.

Check user status (Guest, Registered, Admin)
Load routes availables related to the user Group an personnal permissions
Serve the client with the content or error 404

If user need to be granted to get access for a ressource the controller manage it and display the right view with custom message.

Ok I understand, I wanted to avoid the acl check call in each methods called by the router.
I'll have to find another solution, thanks by the way.

If you wont user ACL management in your controller you can do it into your routes files and change the controller called in your route.


Add Support to Override projects

Problem
The projects configuration is a complex object that may be tricky to override using the --projects flag.
Solution
Do whatever refactoring is required.

I'm removing the flag in the next PR until this is complete.

Turns out this worked.


CFFL

CFFL

Linter check found the following problems:
The following problems have been found:
ERROR: /tmp/abs_c4tsj2j0te/clone/recipe/meta.yaml:1: missing_python_build_tool: Python packages require a python build tool such as setuptools.
ERROR: /tmp/abs_c4tsj2j0te/clone/recipe/meta.yaml:1: missing_wheel: For pypi packages, wheel should be present in the host section
ERROR: /tmp/abs_c4tsj2j0te/clone/recipe/meta.yaml:1: missing_python: For pypi packages, python should be present in the host and run sections. Missing in host
ERROR: /tmp/abs_c4tsj2j0te/clone/recipe/meta.yaml:40: missing_pip_check: For pypi packages, pip check should be present in the test commands
ERROR: /tmp/abs_c4tsj2j0te/clone/recipe/meta.yaml:77: missing_documentation: The recipe is missing a doc_url or doc_source_url
Errors were found


Update 0.1.11 on npmjs hosting.

I see that the version 0.1.11 is not available on npmjs. BY this way  "ng-socket-io"<EMAIL_ADDRESS>TS compiler is not able to find module ng2-socket-io. I see It has been loaded on the file system.

Hi @vlikin the ng2-socket-io is deprecated, please use ng-socket-io instead.  the latest version of ng-socket-io on npm is 0.1.11 .


WIP: DB-API DATA TYPES

This PR is to serve as a template for concurrent work on the Django-Spanner project.
Whether you are working on the core implementation, testing, docstrings or samples, please commit all you changes here, so that the others can see them too. This way multiple people can work on the same features with minimum conflicts.

Closing this PR for now as superseded by PR#521.


Merge Deed Redesign

Change deed page and slider structure for new design.
Note that the CSS for this is in new-creativecommons.org . This is correct for the lice site but will need merging into here manually for the current translation development workflow.

d9931d3


[WIP] Adding cuML Notebooks

For reference, these are the notebooks originally hosted in the cuML repo.


[zDNN Extension] Some additional helper functions to work with a single tile

This patch adds some additional helper functions to query info from SplitInfo.

@jenkins-droid test this please

Jenkins Linux amd64 Build #14241 [push] [zDNN Extension] Some ad... started at 21:05

Jenkins Linux s390x Build #14270 [push] [zDNN Extension] Some ad... started at 22:05

Jenkins Linux ppc64le Build #13267 [push] [zDNN Extension] Some ad... started at 22:13

Jenkins Linux amd64 Build #14241 [push] [zDNN Extension] Some ad... passed after 1 hr 10 min

Jenkins Linux s390x Build #14270 [push] [zDNN Extension] Some ad... passed after 1 hr 36 min

Jenkins Linux ppc64le Build #13267 [push] [zDNN Extension] Some ad... aborted after 1 hr 54 min


In dogehouse : Creating a new gh acc syncs data frm old gh acc

I had an old github acc which i deleted. I made a new one. I cleared my browser data. When i try logging in to dogehouse, it takes the data [like username, bio, followers frm my old acc which doesnt exist!]
They both use the same email.
Im unable to see who i am following even though i am following benawad.

I tried many things such as:

Clearing broser cache
using a diff browser
reauthorising dogehouse
editing my profile
using incognito
eating pizza
praying to benawad
praying to nat friedman

Worth noting that both GitHub accounts use the same email

"eating pizza, praying to benawad, praying to nat friedman'
lol

can confirm that it is the email that causes the problem. same thing happens if I sign in with github and discord with the same email


Fix Pydantic/Langchain Inheritance Bug

Issues mentioned here started to sporadically pop up despite not showing during tests; removing inheritance fixed this. Waiting on langchain updates to inherit CrewAIBaseModel & instead added relevant fields to individual models.

Nice, good catch!


Click performance on Android devices (ionic.tapElement changes)

Click performance on Android devices for items with hrefs significantly degraded from the changes made to ionic.tapElement recently.  I verified on multiple devices that the problem was occurring and then they went away when I reverted ionic.tapElement to the March 19th commit - 26c8f304e7d9d24006d17fcb4161195717ca26a0 and everything was back to the performance of .9.27.  Tap responsiveness is slower with the new changes and sometimes you have to click 2-4 times on elements for the click to register.  I haven't had the time to narrow it down to what changed that is causing the issue, as there were significant changes to it over the last week.

I think this problem still persists with the latest nightly.
Version: 1.0.0-beta.14-nightly-1042
Platform: android 2.3.4 (I hope you still support older systems)
I have a very simple app where taping on buttons changes the app state, but on my android device the tap is not detected randomly. Sometimes it works every time, then suddenly I have to tap the button many times in order to get it working. It's quite frustrating...
on the pc browser everything works perfectly


[Hub Generated] Review request for Microsoft.Insights to clean up 2019-11-01-preview (under "window to fix broken")

This is a PR generated at OpenAPI Hub. You can view your work branch via this link.
Changelog
Please ensure to add changelog with this PR by answering the following questions.

What's the purpose of the update?

[ ] new service onboarding
[ ] new API version
[ ] update existing version for new feature
[x] update existing version to fix swagger quality issue in s360
[ ] Other, please clarify

When you are targeting to deploy new service/feature to public regions? Please provide date, or month to public if date is not available yet.
When you expect to publish swagger? Please provide date, or month to public if date is not available yet.
If it's an update to existing version,  please select SDKs of specific language and CLIs that require refresh after swagger is published.

[x] SDK of .NET (need service team to ensure code readiness)
[x] SDK of Python
[ ] SDK of Java
[ ] SDK of Js
[ ] SDK of Go
[x] PowerShell
[x] CLI
[ ] Terraform
[ ] No, no need to refresh for updates in this PR

Contribution checklist:

[ ] I commit to follow the Breaking Change Policy of “no breaking changes
[ ] I have reviewed the documentation for the workflow.
[x] Validation tools were run on swagger spec(s) and errors have all been fixed in this PR. How to fix?

If any further question about AME onboarding or validation tools, please view the FAQ.
ARM API Review Checklist

[ ] Ensure to check this box if one of the following scenarios meet updates in the PR, so that label “WaitForARMFeedback” will be added automatically to involve ARM API Review. Failure to comply may result in delays for manifest application. Note this does not apply to data plane APIs, all “removals” and “adding a new property” no more require ARM API review.

Adding new API(s)
Adding a new API version
Adding a new service

[x] Please ensure you've reviewed following guidelines including ARM resource provider contract and REST guidelines. Estimated time (4 hours). This is required before you can request review from ARM API Review board.

[ ] If you are blocked on ARM review and want to get the PR merged with urgency, please get the ARM oncall for reviews (RP Manifest Approvers team under Azure Resource Manager service) from IcM and reach out to them.

Breaking Change Review Checklist
If there are following updates in the PR, ensure to request an approval from API Review Board as defined in the Breaking Change Policy.

[ ] Removing API(s) in stable version
[ ] Removing properties in stable version
[ ] Removing API version(s) in stable version
[ ] Updating API in stable version with Breaking Change Validation errors
[x] Updating API(s) in preview over 1 year

Action: to initiate an evaluation of the breaking change, create a new intake using the template for breaking changes. Addition details on the process and office hours are on the Breaking change Wiki.
Please follow the link to find more details on PR review process.

This PR includes some breaking changes to the preview API under the "Window to fix broken". The concrete list of changes includes:

Unmarking properties as required
Removing restrictions on properties (length, range, regex)
Switching from custom definition (e.g. ErrorResponse) and parameters to the ones defined in common-types
Adding properties that were not in Swagger but were being populated (workspaceId, immutableId, kind, inputDataSources)
Removing (extensible) enum values that are not supported yet
Changing one (extensible) enum value to lowercase per Linux convention (UUCP)

Note that the service will still support payloads which use the values previously defined in the API schema and it will not break any existing data flows. This cleanup is in preparation for the first stable API release planned in coming months

@weidongxu-microsoft as the window to fix broken is coming to a close I'd appreciate quick feedback on these changes. Thanks

This is pretty large PR with lots of breaking changes, you would need to have approval from JeffreyRichter.
@ArcturusZhang @jsntcy @msyyc Any concern on Go and Python break changes?

This is pretty large PR with lots of breaking changes, you would need to have approval from JeffreyRichter.
@weidongxu-microsoft based on the offline thread it looks like @JeffreyRichter is OK with this change

@TomMilos
Yes, make sense. It seems this 2 json is never in GA version.
BTW, when it is GAed, will this 2 json be added to other 10+ jsons? If so, there might be more naming conflict when you merge them, that could be hard to handle.

Quote Jeffrey Richter

In the “Window to fix broken”, we’ll accept any and all swagger changes that make the swagger more accurately reflect the actual service behavior.
If the service doesn’t support scheduledTransferPeriod, then it should be removed from the swagger because the current swagger just never worked for the customer anyway. We’ve had a lot of these: things in the swagger that the service doesn’t support.
In addition, if the service never GA’d, we’re very lenient in changing the swagger as customers should already have the expectation that things will break during preview.

@ArcturusZhang @jsntcy @msyyc Any concern on Go and Python break changes?

BTW, when it is GAed, will this 2 json be added to other 10+ jsons (e.g. thoses under package-2020-03)? If so, there might be more naming conflict when you merge them, that could be hard to handle.

@weidongxu-microsoft yes, we'd want to do that. I just tried generating that and I do see conflicts, however the problem is broader as there are inconsistencies across other swaggers - e.g. some use ErrorResponse and some ErrorResponseCommon class. I think we'd want to clean it up but I think that would be a breaking change for SDK? Are we stuck with this?
Regardless, for our swagger we want to leave the full ErrorResponse definition as it accurately represents what the service returns so we want that to be documented. For SDK generation we may want to resolve conflict manually and settle for using one of the existing classes (even if it is missing some of the properties)

@weidongxu-microsoft @ArcturusZhang @jsntcy @msyyc - can we move forward with this?

@TomMilos Ok. Let me know when you need it merged.


Integrate optional completeness check before running anomaly detection

ThirdEye

add flag to dataset requiring completeness check
add code to skip anomaly detection on dataset if flag is set but data is incomplete
take the opportunity to clean up code and unnecessary dependencies

updated to make registry ref final


M3-1400 Refactor services/volumes

Add comments and schema. This one was simple and didn't break anything.

Coverage increased (+0.01%) to 27.149% when pulling 265ed08aacfd4f0f3ba143335ff46e9144cf8057 on Jskobos:M3-1400-refactor-volumes into dc1092bf3b6fdf614696cd7210078078022ad977 on linode:develop.


Thu's Poppy Seed Honey Glazed Ham & Cheese Sliders

These poppy seed ham and cheese sliders are coated in butter, mustard and poppy seed sauce making it tangy, savory, sweet and simply irresistible. I started making these when the pandemic happened, so this recipe will always remind me of a time when I missed being around people so much. I told myself that I was going to master this recipe and one day make it for all my friends & family when everything is back to normal again. I have tested several different versions of this recipe over the years and now these sliders are perfect. They’re great for gatherings and can be made ahead of time. I hope you enjoy it with your friends, family and colleagues.
Servings: 15
Prep Time: 15 minutes
Cook Time: 25
Total Time: 40 minutes, plus 10-15 minutes to cool
Ingredients:
For the Butter Sauce:
4 tablespoons unsalted butter, melted
1 tablespoon poppy seeds
½ teaspoon garlic powder
¼ teaspoon salt
1 tablespoon Dijon mustard
2 teaspoons Worcestershire sauce
For the Slider:
One 16-count pack square soft white dinner rolls, such as Kings Hawaiian Sweet Rolls
2 tablespoons Dijon mustard
½ pound sliced Swiss cheese
¾ pound sliced Honey Glazed ham
Instructions:

Adjust oven rack to the middle position and preheat the oven to 350 degrees F.

In a small bowl, whisk together all the ingredients for the butter sauce. Set aside and let cool.

Using a serrated bread knife, slice the rolls in half horizontally, keeping the top and bottom halves separately intact. Spread the Dijon mustard evenly over the cut sides of the roll tops and bottoms.

Place the bottom half of the bread, cut side up, in a single layer in a 3-QT rectangle baking dish (16.25” wide x 9.5” deep x 2.25” high). You’ll need to cut four squares out and place 3 into one of the ends of the dish to make it fit. There will be 1 square that won’t fit in the baking dish, but feel free to do whatever you want with the extra.

Place half of the cheese in an even layer over the bread. Top with all the ham, followed by the remaining cheese. Cover with the roll tops to match the shape of the bottom rolls.

Evenly spoon the butter sauce over the top of the rolls, letting it drip over and around each of the sandwich corners and down the sides.

Loosely cover with foil and bake for 12-15 minutes. (Use 4-5 toothpicks to hold up the foil so that it doesn’t touch the butter sauce.) Then, remove the foil and bake for another 10 minutes until the top is golden brown and toasted. Let cool for 10-15 minutes in the pan.

Using a large spatula (preferably a metal one), sever in between the sliders to cut it in the pan. Serve warm or room temperature.

Optional: Server with Sriracha on the side if you like a little extra kick.


identify rust runtime strings from rust compiler source code

related to #762

consider searching for the strings in #762 via github codesearch cs.github.com and then sharing the hyperlinks here

"from_str_radix_int: must lie in the range [2, 36] - found"

https://github.com/rust-lang/rust/blob/e29821ff85a2a3000d226f99f62f89464028d5d6/library/core/src/num/mod.rs#LL1442C1-L1446C7
"note: run with RUST_BACKTRACE=1 environment variable to display a backtrace"

https://github.com/rust-lang/rust/blob/e29821ff85a2a3000d226f99f62f89464028d5d6/library/std/src/panicking.rs#L275
"note: Some details are omitted, run with RUST_BACKTRACE=full for a verbose backtrace."

https://github.com/rust-lang/rust/blob/e29821ff85a2a3000d226f99f62f89464028d5d6/library/std/src/sys_common/backtrace.rs#L120C1-L121

would it be accurate to say that strings in "panicking.rs" has to be present in every Rust binary?

I suspect this is probably the case for most/all PE files. there are some alternative options for embedded rust, but i wouldn't expect these to be used in PE files. some more related details: https://docs.rust-embedded.org/book/start/panicking.html

i think this might be one other file we want to include coverage for: https://github.com/rust-lang/rust/blob/e29821ff85a2a3000d226f99f62f89464028d5d6/library/std/src/rt.rs
i believe this is where the first functions that get executed are in a PE file.

Very cool, so looks like we can start with identifying:

rustc/<commit_hash> -> version
rustc/<version_string> -> version

And I think we may still want to include some of the other strings you've identified above, just in case.

would it be accurate to say that strings in "panicking.rs" has to be present in every Rust binary?

By default, when Rust code encounters a situation when it must call panic!(), it unwinds the stack and produces a helpful backtrace. The unwinding code, however, does require extra binary size. rustc can be instructed to abort immediately rather than unwind, which removes the need for this extra unwinding code.

https://github.com/johnthagen/min-sized-rust#abort-on-panic


[core] Do not warn of missing implementation for built-in actions

Fixes #1792
(no easy way to test warnings)

This is sort of a bandaid for lack of the "stop actions" resolving. I'm working on implementing that right now so this PR shouldn't be needed. I think it can be safely closed.

@Andarist Can we re-open this PR? It's a band-aid but a needed one.

@davidkpiano isnt this being entirely fixed by this PR: https://github.com/statelyai/xstate/pull/3126 ? There is only one action item to be handled there and we'll be able to proceed with it (although it would kinda be best to sync the release with the other planned work for "predictable event types in implementations")


fix: do not ignore util from webpack

Closes #

Changes

Flags

Screenshots or Video

Related Issues

Issue #
Pull Request #

Author Checklist

[ ] Ensure you provide a DCO sign-off for your commits using the --signoff option of git commit.
[ ] Vital features and changes captured in unit and/or integration tests
[ ] Commits messages follow AP format
[ ] Extend the documentation, if necessary
[ ] Merging to main from fork:branchname

coverage: 98.767%. remained the same
when pulling 5e24cca720d2ef8a98e93af07131f07f69f97383 on ds-webpack-util
into c8c2de883195160c8b476042619925d1435d693d on main.


Device Request - QS-Zigbee-C03 - Lonsonho

Prerequisites:

Before requesting a device addition, please ensure there is not already a request for the device among the open issues.
Make sure your Homey is upgraded to firmware v5 or higher.
You need a physical example of the device.

Device Information

Device Name: QS-Zigbee-C03
Device Model: TS130F
Device Description: Curtain/blind motor controller
Link to device image: (https://www.zigbee2mqtt.io/devices/QS-Zigbee-C03.html)

Device Interview:
"ids": {
"modelId": "TS130F",
"manufacturerName": "_TZ3210_ol1uhvza"
},
"endpoints": {
"ieeeAddress": "a4:c1:38:fa:cb:ba:03:01",
"networkAddress": 21596,
"modelId": "TS130F",
"manufacturerName": "_TZ3210_ol1uhvza",
"endpointDescriptors": [
{
"status": "SUCCESS",
"nwkAddrOfInterest": 21596,
"_reserved": 20,
"endpointId": 1,
"applicationProfileId": 260,
"applicationDeviceId": 514,
"applicationDeviceVersion": 0,
"_reserved1": 1,
"inputClusters": [
4,
5,
258,
0
],
"outputClusters": [
25,
10
]
},
{
"status": "SUCCESS",
"nwkAddrOfInterest": 21596,
"_reserved": 10,
"endpointId": 242,
"applicationProfileId": 41440,
"applicationDeviceId": 97,
"applicationDeviceVersion": 0,
"_reserved1": 0,
"inputClusters": [],
"outputClusters": [
33
]
}
],
"deviceType": "router",
"receiveWhenIdle": true,
"capabilities": {
"alternatePANCoordinator": false,
"deviceType": true,
"powerSourceMains": true,
"receiveWhenIdle": true,
"security": false,
"allocateAddress": true
},
"extendedEndpointDescriptors": {
"1": {
"clusters": {
"groups": {
"attributes": [
{
"acl": [
"readable",
"reportable"
],
"id": 0,
"name": "nameSupport",
"value": {
"type": "Buffer",
"data": [
0
]
},
"reportingConfiguration": {
"status": "NOT_FOUND",
"direction": "reported"
}
},
{
"acl": [
"readable",
"reportable"
],
"id": 65533,
"name": "clusterRevision",
"value": 2,
"reportingConfiguration": {
"status": "NOT_FOUND",
"direction": "reported"
}
}
]
},
"scenes": {
"attributes": [
{
"acl": [
"readable",
"reportable"
],
"id": 0,
"reportingConfiguration": {
"status": "NOT_FOUND",
"direction": "reported"
}
},
{
"acl": [
"readable",
"reportable"
],
"id": 1,
"reportingConfiguration": {
"status": "NOT_FOUND",
"direction": "reported"
}
},
{
"acl": [
"readable",
"reportable"
],
"id": 2,
"reportingConfiguration": {
"status": "NOT_FOUND",
"direction": "reported"
}
},
{
"acl": [
"readable",
"reportable"
],
"id": 3,
"reportingConfiguration": {
"status": "NOT_FOUND",
"direction": "reported"
}
},
{
"acl": [
"readable",
"reportable"
],
"id": 4,
"reportingConfiguration": {
"status": "NOT_FOUND",
"direction": "reported"
}
},
{
"acl": [
"readable",
"reportable"
],
"id": 65533,
"name": "clusterRevision",
"value": 2,
"reportingConfiguration": {
"status": "NOT_FOUND",
"direction": "reported"
}
}
]
},
"windowCovering": {
"attributes": [
{
"acl": [
"readable",
"writable",
"reportable"
],
"id": 61440,
"reportingConfiguration": {
"status": "NOT_FOUND",
"direction": "reported"
}
},
{
"acl": [
"readable",
"writable",
"reportable"
],
"id": 8,
"name": "currentPositionLiftPercentage",
"value": 100,
"reportingConfiguration": {
"status": "NOT_FOUND",
"direction": "reported"
}
},
{
"acl": [
"readable",
"writable",
"reportable"
],
"id": 61441,
"reportingConfiguration": {
"status": "NOT_FOUND",
"direction": "reported"
}
},
{
"acl": [
"readable",
"writable",
"reportable"
],
"id": 61442,
"reportingConfiguration": {
"status": "NOT_FOUND",
"direction": "reported"
}
},
{
"acl": [
"readable",
"writable",
"reportable"
],
"id": 61443,
"reportingConfiguration": {
"status": "NOT_FOUND",
"direction": "reported"
}
},
{
"acl": [
"readable",
"writable",
"reportable"
],
"id": 32768,
"reportingConfiguration": {
"status": "NOT_FOUND",
"direction": "reported"
}
}
]
},
"basic": {
"attributes": [
{
"acl": [
"readable",
"reportable"
],
"id": 0,
"name": "zclVersion",
"value": 3
},
{
"acl": [
"readable",
"reportable"
],
"id": 1,
"name": "appVersion",
"value": 129
},
{
"acl": [
"readable",
"reportable"
],
"id": 2,
"name": "stackVersion",
"value": 0
},
{
"acl": [
"readable",
"reportable"
],
"id": 3,
"name": "hwVersion",
"value": 1
},
{
"acl": [
"readable",
"reportable"
],
"id": 4,
"name": "manufacturerName",
"value": "_TZ3210_ol1uhvza"
},
{
"acl": [
"readable",
"reportable"
],
"id": 5,
"name": "modelId",
"value": "TS130F"
},
{
"acl": [
"readable",
"reportable"
],
"id": 6,
"name": "dateCode",
"value": ""
},
{
"acl": [
"readable",
"reportable"
],
"id": 7,
"name": "powerSource",
"value": "mains"
},
{
"acl": [
"readable",
"writable",
"reportable"
],
"id": 65502
},
{
"acl": [
"readable",
"reportable"
],
"id": 65533,
"name": "clusterRevision",
"value": 2
},
{
"acl": [
"readable",
"reportable"
],
"id": 65534,
"name": "attributeReportingStatus",
"value": "PENDING"
},
{
"acl": [
"readable",
"reportable"
],
"id": 65506
},
{
"acl": [
"readable",
"reportable"
],
"id": 65507
}
]
}
},
"bindings": {
"ota": {},
"time": {
"attributes": [
{
"acl": [
"readable"
],
"id": 65533,
"name": "clusterRevision",
"value": 1
}
]
}
}
},
"242": {
"clusters": {},
"bindings": {}
}
}
}
Additional Comments:

Note: Provide any other relevant information or requests related to the device. Link to where you bought the device can be of help

How to interview a device

Add the device as a generic Zigbee device in Homey
Navigate to https://developer.athom.com/tools/zigbee.
Interview the device, the button for this is to the right of the device in the list of Zigbee units.
Click the copy button/icon to capture the device information.
Paste the copied information above.

Note: To be able to add more devices to the Tuya Zigbee app, we rely on community members like you to provide interviews of the devices you want to be added. Thank you for your contribution!

Hello everyone,
Is there a way to improve this module?
Let me explain: when I perform the calibration for open and close, they use the same time in seconds (calibration time). This isn’t ideal because a roller shutter takes a different amount of time to open compared to closing. I think it would be a great improvement to have two separate calibration times: Calibration Time Open and Calibration Time Close.


Discrete attribute filter does not work for actors

When editing a multi-select interactive element, de 'discrete attribute filters' do not work when the model type 'Actor' is selected.
I am trying to select CONNECTIONOWNERs to change their contracts. But upon saving the element this issue pops up:

Ive also tried it with other actors types. The same problem

Seems like this field requires "" to work.


create tests for chart api to ensure it works correctly

https://github.com/sopra-fs23-group-33/sopra-server/commit/de02e49bf8c299bf6982cc67a03fd9841bf33a17


⚠ Spryr has degraded performance

In 19fa7f6, Spryr (https://spryr.com) experienced degraded performance:

HTTP code: 200
Response time: 3207 ms

Resolved: Spryr performance has improved in a7ac38f after 7 minutes.


upgrad_min_flutter_version

Description

Upgrade min flutter version to 3.3
Updated all dependencies

Already updated, thank you!


Renaming Tendermint to CometBFT in branch v0.34.x

Some files present in branch v0.34.x contain multiple references to Tendermint/Tendermint Core:

CHANGELOG.md (updated in main by #130)
CODE_OF_CONDUCT.md (updated in main by #252)
CONTRIBUTING.md (updated in main by #252)
README.md (updated in main by #252)
SECURITY.md (updated in main by #252)
STYLE_GUIDE.md (updated in main by #148)
UPGRADING.md (updated in main by #252)

The following files have no correspondence in the main branch:

release_notes.md
PHILOSOPHY.md
CHANGELOG_PENDING.md

Should we maintain them in v0.34.x branch?
Follows from #93.

CHANGELOG_PENDING.md can be removed as we are using unclog for the changelog now.
PHILOSOPHY.md will be added by #190 .
Release_notes, can be edited before cutting a release but add a todo item somehere maybe?

CHANGELOG_PENDING.md can be removed as we are using unclog for the changelog now.

#105 doesn't mention the v0.34.x branch though.

CHANGELOG_PENDING.md can be removed as we are using unclog for the changelog now.

#105 doesn't mention the v0.34.x branch though.

We didn't change to use unclog for 0.34 as we were going for a minimal change. It is a very simple change, so we might as well do it. Do you concur, @thanethomson @sergio-mena ?

Do you concur, @thanethomson @sergio-mena ?

If it is a simple change I'd say go for it, since improvements to the changelog don't risk introducing regressions

Thane has implemented the use of unclog, so CHANGELOG_PENDING.md does not exist anymore on 0.34.

#322 should address most of the tasks.

Anything pending here?

Doesn't look like it. If something else comes up we can reopen this issue.


library/spdm_responder: Fixup set cert checks

When we run checks against the certificate that the requester set we have the following function calls

libspdm_set_cert_verify_certchain()
libspdm_x509_set_cert_certificate_check() ...
libspdm_verify_leaf_cert_spdm_extension()

At which point libspdm_verify_leaf_cert_spdm_extension() checks to make sure the id-DMTF-hardware-identity OID is not set if it's an AliasCert model.
This ends up being incorrect though. If using an AliasCert the SET_CERTIFICATE CertChain (table 93 - section 770) will "contain a partial certificate chain from the root CA to the Device Certificate CA". This means that the leaf certificate of that chain should set the the id-DMTF-hardware-identity OID as it isn't an alias certificate.
At this point the check in libspdm_verify_leaf_cert_spdm_extension() is incorrect.
The documentation of libspdm_x509_set_cert_certificate_check() states that:
is_requester_cert     Is the function verifying requester or responder cert.
Although we are a responder, we are verifying a certificate set by the requester, so change the is_requester_cert to true to avoid the incorrect id-DMTF-hardware-identity OID check and match the documentation.

The CI failure seems related to being unable to clone a repo and not due to this commit

I am checking this issue.

In this case (Responder, SET_CERTIFICATE, ALIAS_CERT_CAP=1, leaf certificate is the device certificate CA) it sounds like the verification functions need to know whether the leaf certificate is the device certificate, the device certificate CA, or the alias certificate. We currently have the cert_model field but that's not the same thing. @Wenxing-hou and @jyao1 can comment.

That seems reasonable to me. I'm happy to implement that if everyone agrees

For this PR, I have different opinion. Set_cert command is requester set cert to responder. The cert will be wirted in responder.
The cert is responder cert. And the is_requester_cert should be false.

Here is my thought:

is_requester_cert is to indicate if the cert if for requester or responder. In this case, it is for responder. As such, it should be FALSE. We should NOT change it to TRUE.

libspdm_x509_set_cert_certificate_check is to perform the check for SET_CERT function specifically. As such, it should understand if the responder device is in alias cert mode or device cert mode. Even if the responder is in alias cert mode, this function should treat the last certificate to be device CA cert, but NOT the real leaf cert. That is the key difference between GET_CERT and SET_CERT.

libspdm_x509_common_certificate_check is invoked by the libspdm_x509_set_cert_certificate_check and libspdm_x509_set_cert_certificate_check_ex. However, the GET_CERT or SET_CERT info is lost in the API call. I think that is the problem.

In conclusion, I recommend we change libspdm_x509_common_certificate_check to add GET_CERT or SET_CERT as parameter.
If SET_CERT is used and the device is in alias cert mode, then it checks that the last cert is device CA cert, but not leaf cert.

Ok, I have created https://github.com/DMTF/libspdm/pull/2721


Bakertilly - Missing Targetare link

ENVIRONMENT: production
Browser: Chrome
Version: 120
Device: Laptop
OS: Windows 10
STEPS TO REPRODUCE:
Open the url
Hover over the company's logo.
EXPECTED RESULTS:
There is a 'Targetare' button (with link) just under the 'Careers' one. Link: https://targetare.ro/35412985/baker-tilly-corporate-management-services-srl
ACTUAL RESULTS:
The 'Targetare' button is missing.
Attachments:

Fixed

Retested ✅


[Doc Bug] Cirno image not showing up in bot documentation

Describe the bug
its not showing images
To Reproduce
the funny image needs to be in a directory
Expected behavior
it will work
Screenshots
im blind cant help
Desktop (please complete the following information):
Microsoft Edge
Smartphone (please complete the following information):
i use a blackberry flip phone from 2003
Additional context

You mean this?
https://lucientz.github.io/DiscordPyBot/#fumo

Fixed with commit 862ac7e83f2f4dc62cf97c0919577705b9b740ab


Update identity-apps-console version in pom.xml

$subject
https://github.com/wso2/identity-apps/releases/tag/%40wso2is%2Fconsole%402.34.6

PR builder started
Link: https://github.com/wso2/product-is/actions/runs/11517696007

PR builder completed
Link: https://github.com/wso2/product-is/actions/runs/11517696007
Status: success


FastFurnace won't work

When I have the mod installed in my custom made mod pack, the furnaces are like normal ones. The mod is just not working. I have done experiments, but I need help. The version I use is 1.12.2.

Sounds like a mod conflict with a mod in your pack.  FF has no outstanding issues.


fix(s2): ensure slider respects custom widths and correct the fillOffset

Fixes a bug reported in slack. The issue was that we were unintentionally setting the fillOffset to 0 when the minValue was equal to 1. Now, if the fillOffset is not specified, it sets the fillOffset to the minimum value rather than 0 (not sure why I chose 0 when I first implemented this. I think this was a mistake).
Found while also working on this was that custom widths less than the default width were not getting set properly. This is also fixed in this pr.
✅ Pull Request Checklist:

[ ] Included link to corresponding React Spectrum GitHub Issue.
[ ] Added/updated unit tests and storybook for this change (for new code or code which already has tests).
[ ] Filled out test instructions.
[ ] Updated documentation (if it already exists for this component).
[ ] Looked at the Accessibility Practices for this feature - Aria Practices

📝 Test Instructions:
To reproduce the first issue, add the following to S2 Dialog:
<div style={{width: '100%', position: 'relative'}}>
  <Slider label='length' minValue={1} maxValue={5} />
</div>

You'll notice how the Slider extends beyond the container and past the minimum value.
To reproduce the second issue, using your dev tools, try setting width='150px' on the medium sized slider. Notice that it doesn't change. However, if you set a width like 300px, it should work.
🧢 Your Project:

Was this change expected? https://www.chromatic.com/build?appId=5f0dd5ad2b5fc10022a2e320&number=800

Was this change expected? https://www.chromatic.com/build?appId=5f0dd5ad2b5fc10022a2e320&number=800

no 😞 i'm looking into it. i believe it has something to do with the subgrid but not sure


games loaded from config file are not written to log

what do you m,ean

what do you m,ean

what do you m,ean

when i stop and save a game and then load it back from the config file, the games after i loaded the config file are not written to the log file anymore


Use OCaml 4.14 for Sherlodoc

I've noticed that currently it uses the older OCaml 4.12. Not sure why the exact variant is https://ocaml.org/p/ocaml-variants/4.12.0+domains - I'm relatively new to OCaml and I don't quite get what all those variants of the mainline release are (I assume they are just the mainline stuff + some extra features or something along those lines).

Ha yes, this is an unfortunate accident as it is the closest thing I have of the stdlib with nice links to the ocaml.org documentation (the variant 4.12+domains is indeed the mainline + some extra stuff, so it's not "wrong" but it is confusing!)
I'll try to switch to 4.14 asap, but there are some technical issues getting in the way atm...

We now index the OCaml 5.1.0 Stdlib and point to the official documentation for the links :) (so the hack of using a weird ocaml-variants is gone!)


Fixes the creation of the obstacle.

Redundant due to this pull request: https://github.com/JohnsonLabJanelia/FetchGamePhysicsTraining/pull/8


Use immutable data structures when appropriate.

We sometimes define some constants with lists or sets. Since we intend to have them unchanged, using the immutable frozensets and tuples is more appropriate.
check_int_in is modified to support usage with collections other than lists.

Self-review checklist

[x] Self-reviewed the changes for clarity and maintainability
(variable names, code reuse, readability, etc.).

Communicate decisions, questions, and potential concerns.

[x] Explains differences from previous plans (e.g., issue description).
[x] Highlights technical choices and bugs encountered.
[ ] Calls out remaining decisions and concerns.
[ ] Automated tests verify logic where appropriate.

Individual commits are ready for review (see commit discipline).

[x] Each commit is a coherent idea.
[x] Commit message(s) explain reasoning and motivation for changes.

Completed manual review and testing of the following:

[ ] Visual appearance of the changes.
[ ] Responsiveness and internationalization.
[ ] Strings and tooltips.
[ ] End-to-end functionality of buttons, interactions and flows.
[ ] Corner cases, error conditions, and easily imagined bugs.

Looks reasonable to me; worth having @andersk take a look in case I'm missing something, but no need for me to look again before merging.

This allows the type checker to infer the accurate type of these constants as a tuple of literals.

No it doesn’t:
    API_FIELDS = (
        "date_created",
        "description",
        "first_message_id",
        "history_public_to_subscribers",
        "id",
        "invite_only",
        "is_web_public",
        "message_retention_days",
        "name",
        "rendered_description",
        "stream_post_policy",
        "can_remove_subscribers_group_id",
    )
    reveal_type(API_FIELDS)

zerver/models.py:2547: note: Revealed type is "Tuple[builtins.str, builtins.str, builtins.str, builtins.str, builtins.str, builtins.str, builtins.str, builtins.str, builtins.str, builtins.str, builtins.str, builtins.str]"
You can infer a tuple of literals with Final:
    from typing_extensions import Final
    API_FIELDS: Final = (
        "date_created",
        "description",
        "first_message_id",
        "history_public_to_subscribers",
        "id",
        "invite_only",
        "is_web_public",
        "message_retention_days",
        "name",
        "rendered_description",
        "stream_post_policy",
        "can_remove_subscribers_group_id",
    )
    reveal_type(API_FIELDS)

zerver/models.py:2548: note: Revealed type is "Tuple[Literal['date_created']?, Literal['description']?, Literal['first_message_id']?, Literal['history_public_to_subscribers']?, Literal['id']?, Literal['invite_only']?, Literal['is_web_public']?, Literal['message_retention_days']?, Literal['name']?, Literal['rendered_description']?, Literal['stream_post_policy']?, Literal['can_remove_subscribers_group_id']?]"
Is that useful though? I can imagine potential cases where it might be, but I’m not sure there are actual cases right now.

The applicable feature of the change at the moment is immutability. Additionally, having more specific types for these fields can help us with narrowing types with check_string_in. This change is also partially motivated by experiments in #23367. If we are using dataclass-like structure for event schemas, things like EnumType(UserProfile.ROLE_TYPES) can be replaced by a shared type alias of a union of literals.

I further experiment with type inference for tuples, In fact, the more I look into it, the more I found that tuples do not provide more help than lists in terms of type annotations. I'm not sure it is reasonable for mypy to consider that a tuple of literals is not a subtype of Collection. The following is rejected by mypy (this works for pyright):
from typing import Collection, Literal

from typing_extensions import Final

FOO: Final[Collection[Literal["foo", "bar"]]] = ("foo", "bar") # error: Incompatible types in the assignment (expression has type "Tuple[str, str]", the variable has type "Collection[Literal['foo', 'bar']]")
reveal_type(FOO)  # note: Revealed type is "typing.Collection[Union[Literal['foo'], Literal['bar']]]"

But Container works:
from typing import Container, Literal

from typing_extensions import Final

FOO: Final[Container[Literal["foo", "bar"]]] = ("foo", "bar")
reveal_type(FOO)  # note: Revealed type is "typing.Container[Union[Literal['foo'], Literal['bar']]]"

which might still support this potential usage:
# zerver.models
RoleT = Literal[100, 200, 300, 400, 500, 600]

class UserProfile(...):
    ROLE_TYPE: Final[Container["RoleT"]] = (
        ROLE_REALM_OWNER,
        ROLE_REALM_ADMINISTRATOR,
        ROLE_MODERATOR,
        ROLE_MEMBER,
        ROLE_GUEST,
    )

# zerver.lib.event_schema
@dataclass
class RealmUserType:
    role: RoleT

But the disadvantage is that we cannot define int literals with aliases like ROLE_REALM_OWNER.
At this point, I agree that typing-wise it does not help much. To have a type for an exhaustive union of flags, we might be better off using enum.Enum.

Closing as I believe that enum.Enum is preferred.