So.. Lets talk about Wayland (long term feature request and discussion)

As we know, Wayland is not network compliant, and leaves most of it's rendering to it's clients. Xorgxrdp's method on adding in a module to xorg provide a virtual display won't work with Wayland, because wayland doesn't have a rendering api.
From https://wayland.freedesktop.org/faq.html

Is Wayland network transparent / does it support remote rendering?
No, that is outside the scope of Wayland. To support remote rendering you need to define a rendering API, which is something I've been very careful to avoid doing. The reason Wayland is so simple and feasible at all is that I'm sidestepping this big task and pushing it to the clients. It's an interesting challenge, a very big task and it's hard to get right, but essentially orthogonal to what Wayland tries to achieve.

So, wayland clients like Weston and Mutter now carry the Rendering API.
With that said, if we were to approach Wayland, would it be better to provide a module for Weston/Mutter (sounds easier), or be a wayland client ourselves and provide a common API for other wayland clients (depending on what it entails to be a wayland client, could be quite a lot of work).
I don't know if being a wayland client would require us to have our own render, or if there is a common render wayland client existing that is (or could be) implemented by others.
I went down a rabbit hole I'm not entirely sure is the correct one for this conversation.. but could at least start one.

This issue is becoming pretty important.

Seems like will require a lot of work to make this happens. Most likely it will need to support a different backend than current xorgxrdp to connect a headless wayland session to the xrdp server. Even more, a separate backend might be needed for each DE (gnome, kde, and wlroots).
Nevertheless, considering many distros are deprecating Xorg, I'm really looking forward for the devs to support this feature in the future.

I'll add some of my thoughts here, having been prompted by @HubKing in #2840.
I'm far from an expert in this area. I'd appreciate anything below which requires correction to be pointed out. I'd rather provoke a discussion though rather than saying nothing at this point.
Main points:-

We're not the only project which needs an architectural solution for this - see this discussion on TigerVNC.
Rather than choosing to use the reference compositor called Weston, desktops seem to be picking their own (GNOME : Mutter, KDE : kwin). So there are many compositors out there. It's not clear to me how much compositors can be interchanged, or whether nested compositors are possible (see the TigerVNC thread linked above).
According to the Arch Wiki, most compositors require KMS.
There's an interesting Linux kernel module called VKMS which might allow a virtual display to be created which could run a compositor.

By this stage, there are a lot of warning bells ringing:-

It seems unlikely that remote desktop use-case has been considered in the Wayland design (again, see the TigerVNC thread). There are significant implications for performance here if not running on the machine console, maybe by using VKMS or nesting compositors.
This is all mostly Linux-specific at present. xrdp works on other platforms too, notably FreeBSD. On platforms without systemd, xrdp actually works better as multiple sessions per user are available.

In other words, it's a bit of a mess at the moment.
It's not clear (to me at least) how this will pan out. My own thinking is to keep an eye out on what the TigerVNC crowd are up to. Red Hat are, or used to be a sponsor of TigerVNC, so if there's any interest in the virtual desktop market, I'd expect TigerVNC to get a steer before we could.

I agree with everything @matt335672 said. I think @jsorg71 has ideas about how to get Wayland working with XRDP. I wanted to link the two actual commits where GNOME dropping X11 support is being discussed:

https://gitlab.gnome.org/GNOME/gnome-session/-/merge_requests/98
https://gitlab.gnome.org/GNOME/gnome-session/-/merge_requests/99

Also do note that, like all media, tech media picks things that are most likely to be sensationalized. The fear we all have is that all Linux distros drop X11, and then XRDP is utterly dead. Let's put that part of our fear aside and recognize that because remote desktop is popular and useful, it is unlikely we'll be left out in the cold like that. That being said, the problems with remote desktop are sufficiently surfaced as a blocker for "everyone move to Wayland" which is good, but it doesn't guarantee that at some point the powers-that-be will decide "Everything works well EXCEPT remote desktop, and the pros of moving outweigh the cons, we can't support everyone." I've seen big organizations make decisions like that, so we need to be prepared. Note that the comments on some of these merges have been silenced because it was so noisy, so there is sufficient reason to believe that XRDP and Gnome and X11 will be around for many years to come.
One suggestion I have is to work on helping https://gitlab.gnome.org/pnowack and https://gitlab.gnome.org/jadahl with the technologies behind gnome-remote-desktop, and then we can share each other's code. My AVC444 and YAMI work is along this path (and is generically sharable between XRDP and GRD), but it's a tiny tiny piece of that puzzle.
The big action-item to try to see if we can throw out weight behind is this one: https://gitlab.gnome.org/GNOME/gnome-remote-desktop/-/issues/90, if anyone reading this has free cycles and/or is looking for a good and hard project to get into open source, this is definitely one! That is how I myself got into this. I picked something I wanted, and banged my head against the wall until I made a useful contribution.
However, that will only "fix" gnome, and there are many others. Having each window manager have it's own RDP compositor would be a maintenance nightmare, and leave lots of lesser-known window managers like i3 or Cinnamon in the dust. The hope would either be that getting this working on Gnome provides a footprint/feedback-loop for other window managers to do this or it creates pressure for an all-Wayland solution.
At this point I generally agree with Matt that provoking a discussion and a paper trail is critical here.

I'd have to agree with Tiger VNC guys.  Wayland is not designed for remove desktop, multi session, or non GPU use cases.  It's a composite only display system.  It's designed by the xorg guys to simplify.
I think we can support this use case but you will have to use a GPU or more CPU power it use it with the same experience quality.  MS even turns of composite desktop with the multiple session terminal servers but Wayland has no non composite options.
Nexarian, me, and others have been working on GPU support in xrdp which can be used here.
todo, unknowns here

clipboard in chansrv would need to change.
RAIL in chansrv, how would that even work?  Since wayland is build into the window manager, is this possible?
sesman should only start KDE or Gnome, or whatever window manger that has wayland support.  no xorg or waitforx.
wup would be used instead of xup.  I think wup would just use pipewire to get a desktop stream.

Core xrdp is not dependent on X11 even though the x in the name.  The x was meant to mean whatever.  The backend, Xorg with xorgxrdp and chansrv are display dependent so they would need to change.
If Wayland ever gets there, lets support it.  Can we even run native Firefox, Chrome and OpenOffice on Wayland without XWayland?  It is taking forever....
I think the Xorg use case will remain for a very long time.  The 50+ users on one server, traditional terminal server, legacy apps.

Thanks very much for adding that @nielsdg.  It's very interesting, particularly as it gives us a way to proceed which is compositor/DE-agnostic.

I've been chatting with @pnowack in the FreeRDP gitter and he had a few tips for us that I'll capture here for future reference:

Add Headless service for GRD
Add graphical remote login for GRD

The Remote Desktop Portal API exists since half a decade. You just need to use it. Several parts from it were inspired or copied from GNOMEs private API, that g-r-d uses. This for example applies to the whole clipboard part, virtual monitors, and the lock keys. So, it is kinda true, that GNOME defines the direction here.
However, there is some effort to standardize the efforts eventually:

https://gitlab.freedesktop.org/jadahl/xdg-specs/-/merge_requests/1

I believe Plasma and wlroots are also working on RDP support.

Да, в КДЕ делают свой сервер
https://planet.kde.org/arjen-hiemstra-2023-08-08-remote-desktop-using-the-rdp-protocol-for-plasma-wayland/

@matt335672

Thanks very much for adding that @nielsdg. It's very interesting, particularly as it gives us a way to proceed which is
compositor/DE-agnostic.

Just curious how this is progressing ?
I've read most of the links above.   Looks like Gnome-Remote-Desktop has added headless RDP support which will be available with Gnome 46.
I use KDE Plasma which as we know is defaulting to Wayland with Plasma 6.
Currently I use xrdp for my terminal server and it works great !
Is there an ETA as to when we might see a test version ?
Thanks to all the contributors working on this

Да, xrdp великолепен!
И я конечно же, хочу использовать wrdp!!!
))) помогу с тестами, если будет версия wayland

No, we don't have an ETA for this yet.
We've not yet done the gap analysis of what xrdp currently provides over X, and what will be initially possible with Wayland. Bear in mind also that GNOME now only supports one session per user, and if GRD does provide a headless session and remote login support, there's not a lot of extra value that xrdp could provide anyway.

Ценность xrdp, в том, что мы ставим сервер, виндовс подобный. Например kde.
И даем доступ на сервер многим пользователям, с уникальными учетными записями. Обычно, не нужен доступ двух или трех сеансов (людей) под одной учетной записью. Но, иногда, актуальна трансляция экрана другому человеку. А иногда актуален и одновременный сеанс двух человек сразу.
Если wrdp, будет обеспечивать  уникальный сеанс, буфер обмена, и обмен файлами через буфер обмена, это уже 90% всех желаний.
Линуксов много. Я привык к убунте, но посматриваю и на федору.
Отказываться от xrdp не могу. Альтернативы для меня не существует.
Wrdp актуален, с учетом массового перехода всех на wayland

Thanks @nikimagic
You make a good point, so I've taken the liberty of pasting a Google translation of your post into English for non-Russian speakers.
The implementation of the clipboard is provided via chansrv and is currently one of those things that depends heavily on X11. I haven't yet looked to see how the Wayland interfaces which would be available to us would let us access that.

https://wayland-book.com/
https://github.com/bugaevc/wl-clipboard

@matt335672
Thank you for the update.     From my reading Gnome 46 is supposed to have the headless support and remote login and looking at links and checkin's it appears that is the case.
I use KDE, so while that solution would work for Gnome users, I suspect that it will not work for KDE users or other desktop environments ( but I could be wrong ).
Assuming that GRD requires GNome then it would seem that everyone else that doesn't want to switch to Gnome will be looking for a solution too.
Any thoughts on that ?
For my use cases, I have multiple simultaneous remote desktop sessions each with a different user logged in ( like xrdp provides and like Windows Terminal services provide ) at the same time that I am often also logged in on the server console.
Many websites seem to intermix Remote Desktop with Remote Screen sharing which may have overlap in technology but provide very different function ( as you are well aware ).    I have read numerous articles which present Remote Screen Sharing as if it is Remote desktop which is extremely frustrating when you are trying to find information on the topic.
I use openSUSE Tumbleweed which appears is going to push out plasma 6 this week.
2 of my test machines ( one arch, the other EndeavourOS ) both now have plasma 6 and default to Wayland on login but after accepting the login credentials the screen just goes black ( with the cursor ) and no indication of any issues.
Fortunately the login screen still allows you to switch to x11 which works fine.
A 3rd test machine has plasma 6  and is running the latest Neon build and there Wayland login works fine so clearly something is up with the arch based distros which is causing the Wayland login issue but it certainly does not instill confidence in Wayland.
Sure hope that X11 is not completely killed off / dropped before we have full RDP functionality with Wayland.

@nikimagic also made the point that a valid use case for xrdp is multiple users on a single server. This isn't supported by GRD directly.
Taking a wider view, here's a summary of the current industry situation as I see it:-

There's no doubt that Xorg is going away. In theory there's a possibility that some or all of it could be maintained by another project, but there's no evidence that this will happen. There's plenty of grumbling about this, but no-one's prepared to step in with actual money to support any of Xorg, at least as far as I can see.
The interfaces proposed by @nielsdg in this comment are the way we probably need to go for a desktop-agnostic solution. That's fine provided they gain widescale adoption. At the moment, there's no real evidence this will happen any time soon e.g. searching for "org.freedesktop.portal.ScreenCast" and "KDE" doesn't produce any useful links.
KDE are going their own way with KRdp. This doesn't seem to be using the interfaces in 1. above, possibly for reasons of performance - they're H.264 only. Also the set of use-cases supported look more like GRD user-cases than a terminal server use-case.
XFCE haven't even considered Wayland remote desktop use-cases yet, let alone Wayland terminal server use-cases.

It's hard to see a sensible way forward at the moment. Currently we seem to be moving towards a world where we would need to provide desktop-specific back-ends for this project, or pick one and stick with it.
This is all just my opinion and doesn't necessarily reflect the view of any other project members. If anyone wants to refute or challenge any of the above, please do!

KDE are going their own way with KRdp. This doesn't seem to be using the interfaces in 1. above, possibly for reasons of performance - they're H.264 only.

I don't think that is correct. The blog post you link to specifically mentions that Krdp uses the RemoteDesktop portal. The H264 encoding is not something that is done by that portal, so it's somewhat irrelevant: what you get from the portal is a Pipewire FD which allows you to get the video stream of your desktop. After that it's up to the service whether to encode that to H.264, VP9 or whatever codec or not encoded at all.

Currently we seem to be moving towards a world where we would need to provide desktop-specific back-ends for this project, or pick one and stick with it.

There's some very early work ongoing to make a cross-DE spec for the actual remote login itself (see https://gitlab.freedesktop.org/jadahl/xdg-specs/-/merge_requests/1) but that will still take a while to materialize probably.

@nielsdg - thanks for the correction and clarification. That's useful.

@nikimagic also made the point that a valid use case for xrdp is multiple users on a single server.
This isn't supported by GRD directly.

I made the point about multi-user Remote desktop on a single server.
It is critical for my environment.
I am a little surprised by the lack of thought in Wayland regarding this.
Linux is a great multi-user environment, whether someone wants to use RDP or VNC or X11 forwarding and yet the need seems to have fallen by the wayside.
I just built a massive new server specifically for terminal services.
Regarding your GRD comment, one of the links about GRD in this thread talked about having a user session service which in my understanding would allow multiple users at the same time to use remote desktop like we have with xrdp today.
Here's the link
https://gitlab.gnome.org/GNOME/gnome-remote-desktop/-/merge_requests/215
The headless support seems to be what will make it possible unless I have misunderstood.

The headless support is a start.
Underneath everything, it's providing what Xvnc and other variants have provided for years - a virtual canvas on which the user can run applications / a desktop / whatever. The link you provide gives a way to start a GNOME session and the canvas in one go.

@matt335672
I don't understand why you said the headless support is a start.
From what I've read it seems that once the headless support was added a remote user could initiate an RDP session and get the GUI login and login and that it was not limited to a single user since the service would spawn for each connection.
Are you saying that is not correct ?    I'm not doubting you, just trying to figure out if I have misinterpreted what I read...

Of course, it should be understood that our scenario is 80 users on a remote server. Each user is completely independent of the others. Every user should be safe.
Everyone has a personal computer, completely different equipment, screen resolution, mostly laptops with Windows, but there are also home dual-monitor computers.
And all this diverse bunch of hardware, via rdp, connects to the linux server. This is the most important use case, with a copy paste between Linux and Windows, with file exchange between Linux and Windows - copy paste, in both directions.
In such a scenario, you can neglect the transfer of sound from Linux to Windows. But, screen control, and copy-paste buffers and files in both directions, this is a mandatory feature.
Yes, there are other scenarios. When, for example, a home LAN, and a user, he is also an administrator, connects via rdp to his own computer. But even here, there may be such users by the number of family members. Or there is only one person, but he runs several accounts at the same time, and uses different software there, and rdp control.
The world has changed. Remote work has come to the fore. And the appearance of such family servers is becoming commonplace. If we talk about small businesses, then there is either one server for all, or several servers for several teams.
Of course, IT specialists are at the forefront. But, even ordinary users, far from it, go this way. Linux as a whole has changed fantastically over the past 5 years. For the first time in its history, Linux has become simple and usable for ordinary people. Classic user case, chrome browser, telegram chatbox, vlc video, analog word excel, steam games. All this, just 10 years ago, was hard to imagine without Windows.
And now, remote use is becoming a necessity.  I am sure that remote use, and even the transfer of remote control, such as a phone, will become a standard feature for all gadgets. Of course, there are very serious security issues here. But whether we like it or not, the world is moving in this direction very, very fast.

I am a little surprised by the lack of thought in Wayland regarding this.

Just a quick comment on this: in Wayland, like any other open source project, somebody still needs to do the work.  So this "lack of thought" is more of a "people didn't get to it yet" as they either weren't interested or had other work on their places.
In the end, the best way to move things forward, is to help by contributing to the project. Especially if people here mention that they're building a business on top of it ;-)
In any case, I agree with the fact that headless support is a start. Even if multi-user wouldn't be supported, having the code path for an RDP session that can handle a Pipewire stream is already half of the work being done, so it would be a good first step that shouldn't be blocked on anything (and should work on anything that supports the RemoteDesktop potal).

@JoeSalmeri - my apologies. I'm not being clear. I think you're (sensibly) coming at this from the top-down and because I've just been involved with the GFX implementation I'm thinking about this more from the bottom-up.

From what I've read it seems that once the headless support was added a remote user could initiate an RDP session and get the GUI login and login and that it was not limited to a single user since the service would spawn for each connection.

I absolutely agree with your statement above. I was thinking more about what happens next.
With xrdp, when we start (or reconnect to) a session, we're able to size it (or resize it) fairly easily. A common use-case is a user using a particular monitor configuration in the office, and then coming home and reconnecting to the session over a VPN using a totally different monitor configuration. On the whole this just works. The interfaces we use to accomplish this are well-defined and pretty stable.
Our users are used to this functionality, and (to my mind at least) it's something we would need to provide as part of an initial implementation.
I currently have no idea how we will accomplish this with Wayland. I'll be the first to admit I need to do more research into this area, but I've failed to find a desktop-agnostic interface which would allow us to accomplish this.
That's the bad news, The good news is this is the only major piece of the puzzle which appears to be missing. The clipboard will require reimplementing, but this is well documented. Other features like drive redirection should work with no changes.
The outline design I have in my head at the moment is as follows:-

User connects to xrdp as usual and authenticates
xrdp asks sesman to start a session
For Wayland, sesman runs a single (configurable) command to start the session. So, for GNOME we can just activate a systemd unit. I can see this being a common option. Later, there may be a D-Bus API to do this.
chansrv is started, either by sesman or as part of the systemd unit (TBD)
xrdp connects to session (using RemoteDesktop/ScreenCast portal(s)) and chansrv. There are questions here around security and permissions. Currently xrdp runs as either root or a captive user, but it may need to run as the target user instead.
xrdp asks session (via chansrv?) to adopt the monitor config

So it's not vastly different from what we do at present. I'm omitting a lot of detail, but I don't think a brain-dump from me would be that useful at this point.
As always, feel free to ask questions or criticise any of the above.

FWIW, I think that matches from my (limited) knowledge on how gnome-remote-desktop is implemented and how some other third-party service was doing it

@matt335672

@JoeSalmeri - my apologies. I'm not being clear. I think you're (sensibly) coming at this from the top-down and
because I've just been involved with the GFX implementation I'm thinking about this more from the bottom-up.

No worries, you are right I am definitely coming at from the top down and the end user perspective.

I absolutely agree with your statement above. I was thinking more about what happens next.
With xrdp, when we start (or reconnect to) a session, we're able to size it (or resize it) fairly easily. A common use-case > is a user using a particular monitor configuration in the office, and then coming home and reconnecting to the
session over a VPN using a totally different monitor configuration. On the whole this just works. The interfaces we use > to accomplish this are well-defined and pretty stable.

Yes, that would apply to some of my RDP users.   For myself, most of my RDP sessions are from the same computer where I have dual monitors setup.

I currently have no idea how we will accomplish this with Wayland. I'll be the first to admit I need to do more research > into this area, but I've failed to find a desktop-agnostic interface which would allow us to accomplish this.

While I have lots of development experience ( 30+ years ), I don't have any experience in this area otherwise I would consider jumping in to help.

That's the bad news, The good news is this is the only major piece of the puzzle which appears to be missing. The
clipboard will require reimplementing, but this is well documented. Other features like drive redirection should work
with no changes.

Well that is definitely good news.   Clipboard sharing is definitely nice but not a show stopper for me.    We don't use drive redirection.   Instead the login scripts on Windows or Linux clients map or mount the network shares that are needed.

The outline design I have in my head at the moment is as follows:-

Thank you for sharing your detailed thoughts I appreciate it !
openSUSE Tumbleweed switched to plasma 6 on 03/11/2024 but X11 is still available so for now I'll just use X11.
Also, VMWare player vm's seem to have a problem logging in via Wayland.   Login screen displays but if you select Wayland then all you get is the cursor and blank/black screen after that.   Happens on VMs I have for Tumbleweed, Arch, and EndeavourOS so far.   Have not updated other test systems to plasma 6 yet.

@nielsdg

Just a quick comment on this: in Wayland, like any other open source project, somebody still needs to do the work. >There's always a massive backlog and so few contributors though. So this "lack of thought" is more of a "people didn't >get to it yet" as they either weren't interested or had other work on their places.

Understood, just seems like an area that many would consider one of the more critical things to have working, especially when you consider how much remote work has picked up since COVID.

In the end, the best way to move things forward, is to help by contributing to the project. Especially if people here > >mention that they're building a business on top of it ;-)

Understood.    FYI, I have 30+ years of development experience but not in any areas that would be helpful here, otherwise I would gladly jump in.

In any case, I agree with the fact that headless support is a start. Even if multi-user wouldn't be supported, having the >code path for an RDP session that can handle a Pipewire stream is already half of the work being done, so it would be a >good first step that shouldn't be blocked on anything (and should work on anything that supports the RemoteDesktop >potal).

For me the multi-user support is a requirement, otherwise a single server machine could only be used by one person.
It sounds like the GNome people have this working on Gnome 46 but I haven't tested it yet and I would prefer to stay with KDE plasma.

@nikimagic

In such a scenario, you can neglect the transfer of sound from Linux
to Windows. But, screen control, and copy-paste buffers and files in
both directions, this is a mandatory feature.

You can easily get around the transferring files need by simply mapping
drives between the 2 or mapping a shared drive they both have access too.
I prefer doing that I believe it performs much faster too.

Yes, there are other scenarios. When, for example, a home LAN, and a
user, he is also an administrator, connects via rdp to his own
computer. But even here, there may be such users by the number of
family members. Or there is only one person, but he runs several
accounts at the same time, and uses different software there, and rdp
control.

Yes, I use RDP to manage computers in the household and those same
computers RDP into the Linux server for many of their tasks.

And now, remote use is becoming a necessity.
Message ID: @.***>

I completely agree.
--
Regards,
Joe

5. xrdp connects to session (using RemoteDesktop/ScreenCast portal(s)) and chansrv. There are questions here around security and permissions. Currently xrdp runs as either root or a captive user, but it may need to run as the target user instead.

Maybe xrdp could do something like what OpenSSH does where the main daemon runs as root but each user's session sshd processes run as themself?

@tidux - we're not quite where OpenSSH is.
The model we're moving to is the main xrdp listening process is non-privileged and runs in a captive user account (see #2974). sesman starts new user sessions and so needs to run as root.
For OpenSSH, both of these functions are combined in a single process running as root.
The workflow for us to run xrdp as the target user rather than the captive user would be:-

Client connects to xrdp
xrdp forks and runs the login process to gather user details. This uses the RDP connection.
Following a successful login, the client socket connection would need to be passed to sesman. This would start the session, and also re-run xrdp as the target user, passing the client socket to the new xrdp. Crucially the new process would be missing some information about the connection which the original login process had discovered. We can probably work around that somehow.

So it's quite a bit more complicated. Is it more secure?
Arguments in favour:-

Each xrdp user process does not have access to user processes held by other users

Arguments against:-

It's more complex
Attacks not possible in the existing model are possible in the new. As an example, in the old model the user can't send signals to the xrdp process. This should be safe enough, but we haven't tested it.

Thoughts or arguments are welcome.


file_size option to display bytes as int when size < 1000

Right now file_size(10) spits back 10.0 Bytes by default. Users can adjust formatting, however, there is no option to differentiate between when the number of bytes is small enough that the Byte or Bytes suffix is used. An option for this should be added.
With this option enabled (ideally by default):
Ex:
file_size(1) could print 1 Byte
file_size(10) could print 10 Bytes
file_size(1000) could print 1.0 kB

This makes logical sense since you cannot have a decimal number of bytes in a file (which the function currently accepts given that value is defined as an int).


Org Unique Name missing in call to Microsoft.Crm.SE.OrgDBOrgSettingsTool (Prerequisite step 6)

Correct syntax of above command is:
Microsoft.Crm.SE.OrgDBOrgSettingsTool Update /u <ORG_UNIQUE_NAME> EnableTDSEndpoint true
where ORG_UNIQUE_NAME can be obtained in Dynamics 365 Advanced Settings (or PPAC legacy settings), Settings --> Customizations --> Developer resources, field Unique Name.

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

ID: 1c3d27f9-66bc-5cd2-d8b5-9defc8eddfb0
Version Independent ID: c45841f0-1488-8c30-8a7c-3a522ec63266
Content: View entity data in Power BI Desktop (Preview) - Power Apps
Content Source: powerapps-docs/maker/common-data-service/view-entity-data-power-bi.md
Service: powerapps
GitHub Login: @Mattp123
Microsoft Alias: matp

Thank you! we will update the doc soon.

@mjfjesus The change has been published. Thanks for the feedback.


Cancel old image source requests

Hello,
I noticed that in the recent ol versions wms requests are managed differently. In the 2.10 version, if i zoom in and out, the previous wms requests are canceled.

Nowadays, every single request is processed.

This leads to a very low performance.
Is it possible to cancel a wms request when we already ask for another one?
Many Thanks!

OpenLayers now uses a TileQueue, which continues to load tiles until its tile cache is saturated. You can enforce that images are dropped when you configure the source/TileWMS with a small cacheSize, e.g.
new TileWMSSource({
  cacheSize: 16,
  // ...
});

This is true for ImageWMS, too?

No, that's only the case for tiles. For ImageWMS, you could achieve that with a custom imageLoadFunction on the source, e.g.
const blankSrc = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII=';
let oldImg;
new ImageWMSSource({
  imageLoadFunction: function(image, src) {
    if (oldImg) {
      oldImg.src = blankSrc;
    }
    const img = image.getImage();
    img.addEventListener('load', function() {
      oldImg = undefined;
    });
    img.src = src;
  }
});

@ahocevar , i tested that solution, but the performance is still very bad, taking some times more than 5 seconds to completely load all the requests. This is because the browser will process all the "ok" status requests. Is there no way to abort requests like in ol2? Thanks for your time!

I tested the abort state, but for the browser is still a 200 status. It seems that there isn't anything that really cancels the request, right?

Can you tell me where is the request made? Did not found any xhr doing the request. Thanks.

It‘s just setting the src on the Image, no XHR. You‘d have to combine setting the ABORT state with the snippet I posted above.

My solution is this:
ol/source/image.js
/**
* @private
* @type {HTMLImageElement}
*/
this.previousImageElement = new Image();

/////////////////////////////////////////////////////////////////////////////////

_ol_source_Image_.defaultImageLoadFunction = function(image, src) {
  this.previousImageElement.onload = () => {
    image.getImage().src = this.previousImageElement.src;
  };
  this.previousImageElement.src = src;
};

ol/source/imagewms.js
this.image_ = new _ol_Image_(requestExtent, resolution, pixelRatio,
      url, this.crossOrigin_, this.getImageLoadFunction());

/////////////////////////////////////////////////////////////////////////////////

_ol_source_ImageWMS_.prototype.getImageLoadFunction = function() {
  return this.imageLoadFunction_.bind(this);
};

https://github.com/openlayers/openlayers/pull/8430

It looks like you need a combination of debouncing and aborting pending requests. You could try a custom imageLoadFunction like this:
      imageLoadFunction: function(image, src) {
        if (timeout) {
          clearTimeout(timeout);
        }
        // debounces loading
        timeout = setTimeout(function() {
          if (previousImage && previousImage.state == 1) {
            // aborts previous image loading
            previousImage.getImage().src = 'data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22/%3E';
          }
          previousImage = image;
          image.getImage().src = src;
        }, 50);
      },

Like i said, i will try to understand why this works.

Look here:
https://github.com/openlayers/openlayers/pull/8430#pullrequestreview-140631871. The performance gain you're seeing is because of the debouncing, which is a result of your double loading. This should have the same effect:
imageLoadFunction: function(image, src) {
    this.timeout && clearTimeout(this.timeout);
    this.timeout = setTimeout(() => {
      image.getImage().src = src;
    });
}

I tested that solution, as you can see it doesn't cancel any request.

This is my code's result.

You're cancelling only requests that are made by what you call this.previousImageElement, which is not used to display an image anywhere. You're loading every image into that element, and in addition into the image wrapper's image element.

Ok, I see now: your code does what you want it to do because the cache headers of your WMS allow the browser to cache the requests that were made by this.previousImageElement, so when they are loaded again by the image wrapper's image element, they are not refetched.
That said, your solution also works without your pull request (#8430), with this imageLoadFunction:
imageLoadFunction: function(image, src) {
  this.previousImageElement = this.previousImageElement || new Image();
  this.previousImageElement.onload = () => {
    image.getImage().src = src;
  };
  this.previousImageElement.src = src;
},

So can we close this?

Yes, all fine by me.

Thanks @josepgomes, and sorry for the back and forth on this.


python312Packages.aiosql: 12.2 -> 13.0

Diff: https://github.com/nackjicholson/aiosql/compare/refs/tags/12.2...13.0
Changelog: https://github.com/nackjicholson/aiosql/releases/tag/13.0

Things done

Built on platform(s)

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

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
25.05 Release Notes (or backporting 24.11 and 25.05 Release notes)

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

[ ] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

nixpkgs-review result
Generated using nixpkgs-review.
Command: nixpkgs-review pr 356439

x86_64-linux

:white_check_mark: 8 packages built:

oterm
oterm.dist
python311Packages.aiosql
python311Packages.aiosql.dist
python311Packages.aiosql.doc
python312Packages.aiosql
python312Packages.aiosql.dist
python312Packages.aiosql.doc


No scrollbar in settings

Similar to #791; there is no scrollbar in settings and I cannot scroll with the mouse wheel.
--
Terminus: Alpha 90
OS: Windows 10 1903 Build 18362.295

This is fixed in the nightly builds

Okay, cool! 👍


New step API with terminated, truncated bools instead of done

Refer to https://github.com/openai/gym/pull/2752 for more details

Can you do a corresponding PR in gym-examples once everything is ready?

Please resolve conflicts

@trigaten  so there are some things that need to be resolved before this PR, I might need to edit again depending on other reviews. I'll update soon.

@arjun-kg Would you be able to fix the merge conflicts.
From quickly looking through the PR, the backwrad compatibility section needs to be updated, step compatibility wrapper,


Suggestion : ad-notimelt

Hi,
just an idea: why don't you create the opposite component? An appdaemon that notifies you when outside temperature is higher than the one inside a room. I think it would be useful for spring or autumn.
:)

this works already :) notifreeze checks the absolute difference of the temperature values. See
https://github.com/benleb/ad-notifreeze/blob/1af1e1ac7d696b6bb8842c87d5c6310f46c7f11d/apps/notifreeze/notifreeze.py#L85
& https://github.com/benleb/ad-notifreeze/blob/1af1e1ac7d696b6bb8842c87d5c6310f46c7f11d/apps/notifreeze/notifreeze.py#L123

Great! Thank you!


Right clicking when custom context menu is open will open the default menu

Describe the bug
When the custom context menu is open, right clicking again should close the menu, but it doesn't - it opens the default menu.
To Reproduce
Steps to reproduce the behavior:

Right click on a node
Right click again, anywhere
Observe that the browser's default context menu is opened

Expected behavior
Closes the custom context menu (and does not open the browser's default context menu)
Screenshots

Additional context
Technical ideas

MUI's example properly closes the custom context menu. Seems like a backdrop is rendered when the context menu is open, and any right-click on the backdrop should trigger closure of the context menu, but for some reason, right-clicking on the backdrop is triggering the default browser's context menu.

I'm leaning towards removing the custom context menu altogether, and putting buttons in the toolbar to replace the menu items.

Disabled browser context menu within diagram.

I think it's fine enough to just disable the context menu. In the future, maybe we could add default context menu options so that right click never does nothing


The problem in reproducing the results of image captioning

Hi,
Thank you for your great work.
I'm trying to reproduce the results of image captioning by following steps:

Download Karpathy splits of COCO, and run the code of "scripts/prepro_labels.py" to prepare the data.
Download the Bottom-up and VC features with your link.
Train the model with the cross entropy loss:
"python train.py --id topdown --caption_model topdown --input_json data/cocotalk.json --input_label_h5 data/cocotalk_label.h5 --input_att_dir_vc [the/path/to/VC_Feature/trainval] --input_att_dir [the/path/to/Updown_Feature] --batch_size 50 --learning_rate 3e-4 --checkpoint_path log_topdown --save_checkpoint_every 2200 --val_images_use 5000 --rnn_size 2048 --input_encoding_size 1024 --max_epochs 30 --language_eval 1"
Evaluate the model with the code:
python eval.py --model log_topdown/model-best.pth --infos_path log_topdown/infos_topdown-best.pkl  --dump_images 0 --num_images -1 --language_eval 1 --beam_size 2 --batch_size 50 --split test
The results are:
{'Bleu_1': 0.7625701835246635, 'Bleu_2': 0.6021042790224688, 'Bleu_3': 0.46398074453035226, 'Bleu_4': 0.35592428819070027, 'METEOR': 0.27917788348120276, 'ROUGE_L': 0.566515050577319, 'CIDEr': 1.136820918673527, 'bad_count_rate': 0.0014}
which are much lower than the reported.

So, my question is that are there any important settings when reproducing the reported results?

My bad. It seems that self-critical training is important. I'm running the code with CIDEr-D Score Optimization, and will report my running results later.

Hi, sorry for the delayed reply. Yeah, we follow the previous methods with self-critical training.
I haven't tried the CIDEr-D optimization actually, but your results is too lower as you said. For the reference, you can just check the original up-down model's performance. Using VC feature can definitely get better performance in both two periods (supervised and self-critical) .
To reproduce our results, it may be better to run the code follow the default flow firstly.
If you have any other problems, pls feel free to contact me.
Best
Tan

Finally, I got the results after self-critical training:
{'Bleu_1': 0.8092960250603055, 'Bleu_2': 0.6543049978813428, 'Bleu_3': 0.5084688113516954, 'Bleu_4': 0.38850210505433325, 'METEOR': 0.2887807245138986, 'ROUGE_L': 0.5896889033565031, 'CIDEr': 1.2924082453621994, 'bad_count_rate': 0.0004}
after running the code:
python train.py --id topdown --caption_model topdown --input_json data/cocotalk.json --input_label_h5 data/cocotalk_label.h5 --input_att_dir_vc ../../../Seq2Seq_Transformer/data/mscoco_vc_features/vc_coco_trainval_2014 --input_att_dir ../../../Seq2Seq_Transformer/data/mscoco_bottom_up_features_version2 --batch_size 50 --learning_rate 3e-4 --checkpoint_path log_topdown_lr_3 --save_checkpoint_every 2200 --val_images_use 5000 --max_epochs 80 --rnn_size 2048 --input_encoding_size 1024 --self_critical_after 30 --language_eval 1 --learning_rate_decay_start 0 --scheduled_sampling_start 0 >log_train_mix.out

Hi, thanks for your experiment and feedback.
Firstly I have checked my results again and the final CIDEr score on Karpathy test split is indeed about 130.5 and the best epoch is 77. The best val score is about 128.4.
So I am trying to find that if something goes wrong?
Do you run the test command to get the results on test split? And do you totally follow the command in repo?

Hi. Sincerely thanks for your time and detailed reply.
Yes. I followed the command in the downstream page, and tested the model by running the code:
python eval.py --model log_topdown/model-best.pth --infos_path log_topdown/infos_topdown-best.pkl --dump_images 0 --num_images -1 --language_eval 1 --beam_size 2 --batch_size 50 --split test
Is it possible that the config --self_critical_after 30 need to be larger? Because training 30 epochs with cross-entropy loss does not yield a considerable results, and may affect the second training stage.


Add OWNERS file for incubator/logstash

What this PR does / why we need it:
Which issue this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close that issue when PR gets merged): fixes #
Special notes for your reviewer:

/lgtm

/lgtm


Please update the following components: withAvatarConfig

I'm getting the following warning while using react-avatar
Warning: Legacy context API has been detected within a strict-mode tree.

The old API will be supported in all 16.x releases, but applications using it should migrate to the new version.

Please update the following components: withAvatarConfig

Learn more about this warning here: https://fb.me/react-legacy-context
    in withAvatarConfig (at Home.js:49)

Does anybody know what's causing the issue?

Hi @shaheemMPM,
We provide a fallback for older versiins of React. It is this fallback that is causing this warning.
It is safe to ignore, see https://github.com/Sitebase/react-avatar/issues/186 for more info.

Hi @shaheemMPM,
I've just released version v3.9.4 which only applies the legacy API after detecting whether the new context is available. The React warnings you've reported should no longer be shown after upgrading react-avatar.


Keep main script to be executed before custom scripts.

Fix to keep scripts execution order same as in CLEO4. Changed due to fact the multiple scripts initialization behavior was fixed.
Tested with few custom scripts, main, mission and thread from main running at once.
Fixes #60

my gut feeling is that this is going to blow up, hoping that I'm wrong

This reflects exactly how script queue looks on startup in CLEO4.
Also this is done before any script is processed yet, so queue contains just main script. No mission or script thread had chance to be spawned yet.
Hm after more thinking I'm not sure how and when scripts attached to map objects are spawned (like vending machines). This still needs to be checked.

they load when the object is spawned on the map

Ok in case of loading save game with original main scm it starts with multiple scripts already on list.
Updated code to idea I had in first place, just append custom scripts queue at end of original queue.


bugfix:find_datafiles

Fix  lack of export with fmudataio when running Drogon.
When creating this branch the following stderror could be observed when running drogon in bleeding:
Error reading summary instance, returning empty dataframe Trace: [Errno 2] No such file or directory: 'ix/model/.RFT', No results produced Error reading summary instance, returning empty dataframe Trace: [Errno 2] No such file or directory: 'opm/model/.RFT', No results produced Error reading summary instance, returning empty dataframe Trace: [Errno 2] No such file or directory: 'pflotran/model.RFT', No results produced WARNING:fmu.sumo.uploader.scripts.sumo_upload:Problem related to Sumo upload: case metadata not found: share/metadata/fmu_case.yml <class 'OSError'> WARNING:fmu.sumo.uploader.scripts.sumo_upload:Problem related to Sumo upload: case metadata not found: share/metadata/fmu_case.yml <class 'OSError'>
This could be reproduced in tests.
See test: test_find_datafiles_reek in file test_functions.py
The PR fixes these tests.
Manually running this code on a drogon case:

Log into RGS node
cd to /scratch/sumo/rowh/oldDrogon_komodoBleeding/realization-0/iter-0/share/results/tables (EDIT peesv: Should be on realization root, not in share/results/tables)
run sim2sumo execute --config_path fmuconfig/output/global_variables.yml (EDIT peesv: Should have --env dev appended since case is in dev)

So far export of results are being done (which they weren't before), but fmu dataio fails.
Merging this pull request will remove most of the errors, but Not what is related to the uploading.
The theory goes that this is because something is fishy with fmu-dataio in bleeding
Trying manual upload of files exported with no relation to sim2sumo also fails
e.g sumo_upload /scratch/sumo/rowh/oldDrogon_komodoBleeding /scratch/sumo/rowh/oldDrogon_komodoBleeding/realization-0/iter-0/share/results/tables/model--summary.arrow dev

fmu-dataio==2.0.0 (current Komodo stable) is OK ✅
fmu-dataio==2.1.0 produces metadata where the entire fmu block is missing ❌
fmu-dataio==main same error, fmu block is missing. ❌
Hence data are not valid, and will not be uploaded.
Needs more digging as to why this is happening. I cannot immediately see any issues with the call sim2sumo is making to fmu-dataio.ExportData (https://github.com/equinor/fmu-sumo-sim2sumo/blob/b8f4de0c323a84357813e188a1abfb8be13c67e5/src/fmu/sumo/sim2sumo/sim2sumo.py#L178)

A possible fix suggested here: https://github.com/equinor/fmu-sumo-sim2sumo/pull/42


returning norm_coords instead of px_coords in pixelToNormalizedCoordi…

…natesMany
Attempting to fix issue create here: https://github.com/mapillary/OpenSfM/issues/1030#issue-2046628484

Hey @fabianschenk, can you take a look at this? That looks like an important bug fix to me.

Hi @oaa3wf,
Thanks for the fix. This indeed was a bug.
I'll try to land the fix asap


Add ROTATE inline RISC-V zbb/zbkb asm for chacha

This PR provides RISC-V Zbb support for chacha by adding inline asm
Mainly ref to https://github.com/openssl/openssl/pull/18287#issuecomment-1123460382
Benchmark (setup see #18287):
# pure C
ChaCha20          1657.84k     2520.79k     2776.66k     2843.23k     2801.66k     2768.90k
# with rorwi asm
ChaCha20          2215.63k     4080.44k     4730.61k     4912.81k     4857.86k     4734.98k

Enabled with -march="rv64gc_zbb" or -march="rv64gc_zbkb"
Checklist

[ ] documentation is added or updated
[ ] tests are added or updated

This PR is in a state where it requires action by @openssl/committers but the last update was 30 days ago

This PR is in a state where it requires action by @openssl/committers but the last update was 61 days ago

Ping @openssl/committers for 2nd review.


doc for user specified datadir

Proposed changes for issue #132

Thanks @ronarbo for the PR!
I like the documentation changes, however I do not think we should change the actual code to introduce those configuration variables and use them on our own test suite. Did you do it as a means to test that what the documentation says is accurate?

Thanks @nicoddemus for your feedback.  Yes, the additional tests are for testing the documentation and ensuring that it stays compatible with new pytest releases.  Those new tests and the new variables in pytest.ini should not have any impact on the existing tests.  Would you like me to remove those changes?

I would, thanks. :+1:

FYI I also updated the text a bit, focusing on the technique of overwriting the fixtures more.

Thanks @ronarbo for the contribution, appreciate it!


[SPARK-29597][DOCS] Deprecate old Java 8 versions prior to 8u92

What changes were proposed in this pull request?
This PR aims to deprecate old Java 8 versions prior to 8u92.
Why are the changes needed?
This is a preparation to use JVM Option ExitOnOutOfMemoryError.

https://www.oracle.com/technetwork/java/javase/8u92-relnotes-2949471.html

Does this PR introduce any user-facing change?
Yes. It's highly recommended for users to use the latest JDK versions of Java 8/11.
How was this patch tested?
NA (This is a doc change).

Test build #112644 has started for PR 26249 at commit 1b666b0.

Although this is very minor change, I made a JIRA issue for this for future reference pointer.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/17605/
Test PASSed.

Test build #112644 has finished for PR 26249 at commit 1b666b0.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/112644/
Test PASSed.

Thank you so much, @srowen ! Merge to master.

Late LGTM.

Thank you, @maropu !


Add InstanceStruct  test data generation helper and unit test

[x] Taken over work from https://github.com/BlueBrain/nmodl/tree/pramodk/test-helper
[x] Added mechanism to instantiate the InstanceStruct with deterministic data
[x] Compare those in a unit test
[x] Check if typecasting works in the unit test
[ ] Review and cleanup by Pramod

@georgemitenkov : going to do some cleanup but this overall gives an idea of what creating data data. See test/unit/codegen/codegen_llvm_instance_struct.cpp.

@pramodk @iomaganaris looks great! On LLVM/JIT side, I am working on the following:

Generating a wrapper LLVM function that takes a void pointer and casts it to the struct LLVM pointer type.
Calling a kernel.

Additionally I am thinking of creating functions that can be lowered to LLVM that use CodegenInstanceData to print/compare the results.

Additionally I am thinking of creating functions that can be lowered to LLVM that use CodegenInstanceData to print/compare the results.

I am curious what you meant by lowered to LLVM here. If we add such functions in CodegenInstanceData, would that fit the purpose?

@pramodk actually you are right, and we do not strictly need it I think. We can always define these on the higher level in CodegenInstanceData. I will make changes to the JIT first, and then we will see if we really need something like this:)

@iomaganaris : could you look at CI fixes?

@iomaganaris : could you look at CI fixes?

Yy. I am looking at that atm :+1:


.recur(string) and toISOString

ISO 8601 defines the string representation for Repeating Intervals.
See https://en.wikipedia.org/wiki/ISO_8601
It would be super useful to be able to create a recurrence using:
moment.recur(isoString)
and to serialize it back as
moment.recur(...).toISOString()
e.g.,
moment().recur().every(1).days().toISOString() => "R/2016-08-21/P1D"

I don't have a use for this, but feel free to implement it and create a PR.


Text Alignment in Footer

Description
Hello PA,
The text is not aligned properly in the footer .
Screenshots

Checklist

[X] I have checked the existing issues.
[X] I follow Contributing Guidelines of this project.
[X] I am a GSSOC'24 contributor.
[ ] I am a IWOC'24 contributor.
[ ] I am a JWOC'24 contributor.
[ ] I am a SWOC'24 contributor.

Code of Conduct

[X] I agree to follow this project's "Code of Conduct".

@Rakesh9100
Please Assign me the work to enhance footer.

Which text particularly are you talking about that is not aligned @Vaishnavigunti2801


Fully terraform the registry application

💡 Description

For deployment on NGAP now.
Components to terraform:

[ ] AWS managed OpenSearch (includes Kibana), with registry-manager creation of the schema
[ ] registry-api
[ ] registry-sweeper
[ ] scalable harvest (optional)

Story created. Going well so far, no blockers! 👍


Clean up OS X Dock right-click menu

this looks messy

Thanks for the feedback. Do you have any suggestions for rules to follow to make it look clean?

More like this, a little bit more organized, maybe have the recent projects in a pop out menu like the options.

Hey!
Is there a way to remove all the recent files from the list?

@valtlait
For Mac, recent files list is located at ~/Library/Application Support/com.apple.sharedfilelist/com.apple.LSSharedFileList.ApplicationRecentDocuments/com.github.atom.sfl

Thanks, @glennleekg!

It looks like this is fixed in the latest development version at least:

Let me know if you think this is still a problem on the current Stable version, v1.8.0. For now, I'm going to close the Issue unless there's more feedback.


Update deploy.ps1

We've been trying to deploy the ARM template for a few days with no success.  We were finally able to get it to deploy by switching line 25 to the code included below.  After this change the deployment is working for us.  The issue appears to be related to the GetFileName .NET call.  Thanks for all that you do to supply REDCap to the community.
$filename = Split-Path $zipUri -leaf

@bretthackermsft Hi Brett! Do you have a quick moment? If so, does this recommend change look correct to you?

So, the challenge here is, there are a lot of different ways to deliver the ZIP file, and they don't all involve the file name itself being part of the URI to retrieve it. The routine that was replaced (GetFileName) attempts to make a HEAD call to retrieve the file name. I'll be honest, it's been a while since I thought through that, but I'm loathe to just remove that call because IIRC, it was necessary to make it work with some of the ZIP sources I was calling while testing. I appreciate the simplicity of this approach but would prefer to see it implemented within the call to GetFileName, such that maybe the logic could detect that the path leaf ended with ".zip" or something, and then take the easy way out if so. Barring that, a lot of folks have implemented this successfully as-is, so I don't think we want to bake it in like this.

@taylorr4 and @SelectDBA - some additional cases where the name discovery algorithm was failing came up this week so I updated the GetFileName routine as per the note above, and incorporated the Split-Path method as one of the switch options. Rob, I made these changes in my base repo, you'll need to pull them over here. Thanks all!

@bretthackermsft Okay, thanks!


Changed GetSigningCommand()

Changed GetSigningCommand() to GetSigningConfig(), along with removing the program data while keeping the keyinfo

Hi @vamsikoneti, I'm not sure what editor you're using, but Go has an opinionated formatting tool that basically all projects use. I suggest configuring your editor to go fmt your file when you save, usually the Go language plugin for the editor in question takes care of that.


[PORT] remove duplicate SourceContext

Port this change from botbuilder-dotnet/master branch:
https://github.com/microsoft/botbuilder-dotnet/pull/3896

Changed projects

Microsoft.Bot.Builder.Dialogs.Debugging
Microsoft.Bot.Builder.Dialogs

Closing this item. Analyzed by Southworks: There is no SourceContext class in JS. Nothing to remove.


SPIKE: Batch Edit Forms Technical Planning

Technical Planning Doc

specifics now exist. closing

specifics now exist. closing


GDPR Meta Issue

The GDPR comes into effect on May 25, 2018 and Read the Docs is going to use this to get our house in order. Read the Docs currently does not plan to do anything different for EU citizens than for anybody else. We want to respect user privacy as much as possible and so we're going to apply the stricter protections mandated by the GDPR to everybody.
It is unclear precisely what it means to be in compliance with the GDPR (if you are a lawyer with expertise in this subject, let us know!) but we are not going to use that as an excuse to throw up our hands and do nothing. Some of its provisions are clear enough.
The goal of this issue is to frame the discussion around the GDPR and how it applies to Read the Docs and to communicate what we are doing around data protections and privacy. This issue will be edited as more things are identified.
PERSONAL DATA
While Read the Docs tries not to collect very much personal information on users, we do collect some. Specifically, we collect at least:

Names and emails when somebody creates an account
Logged-in users can tie their account to 3rd party code hosting services like GitHub and Bitbucket
Names and emails exist in code repositories we have synced in order to build the docs. These code repositories are public. Does that affect things?
IPs in our web server log files
IPs are collected when users click on ads to combat ad fraud

VARIOUS TASKS
These are things that I'm committing to by the May 25 deadline. This is a living list and should link to other issues where possible.

[ ] Get a privacy policy in place (#2602). This means mentioning all personal data we collect, when they are collected, the reasons for collection, and how long they are stored.
[ ] Ensure all user data is deleted when a user deletes their account
[ ] Remove/anonymize IPs from web server logs
[ ] Remove/anonymize/pseudo-anonymize IPs collected for advertising
[ ] Enumerate our list of partners with whom we share any data, verify we are sharing only as much as necessary, and verify their compliance
[ ] Update internal data policies

QUESTIONS

Do we have the appropriate level of consent for the data we collect?
What do we need to do to make sure we aren't inadvertently collecting data on minors?
Is our cookie policy defensible (which cookies for which reasons and for how long)? Do we need an explicit "cookie agreement" (this obviously depends on the first question here)?
Do we need a "Data Privacy Officer" or is just having an open line of communication through this public issue tracker sufficient?
Can users edit and see all their personal data? Do we need a way to extract it? For example, if it is just a name and email, we probably don't need to do anything additional here.

LINKS

Text of the GDPR
https://github.com/EFForg/dnt-guide#regulatory-regimes
https://www.hubspot.com/data-privacy/gdpr-checklist
https://blog.varonis.com/gdpr-requirements-list-in-plain-english/
https://www.smashingmagazine.com/2018/02/gdpr-for-web-developers/
https://techblog.bozho.net/gdpr-practical-guide-developers/

EDIT HISTORY

2018-04-18: added EFF DNT guide
2018-04-16: fix typos

Our current plan with respect to logs is to:

Retain only 10 days of logs which will be encrypted on rotation (days 2-10 will be encrypted). This will apply to .org as well as documentation sites. IPs and user agents will be present in the logs. 10 days is the limit of EFF's DNT policy which we are working toward from a compliance perspective.
Have a separate log for POST/PUT/DELETE/PATCH requests for .org only which will not have personally identifiable data in it (no IPs) but is retained for 90 days.

As of today, we are only keeping 10 days of logs.

Our privacy policy PR is here: https://github.com/rtfd/readthedocs.org/pull/3978

Here's the code that governs when a user deletes their account: https://github.com/rtfd/readthedocs.org/blob/dc96c6d/readthedocs/profiles/views.py#L197-L213
It looks like this does in fact delete the user model (where the name and email is) and it does cascade to their social account connections (github/bitbucket) as well as their user profile (which doesn't have anything personal).
This does not immediately delete documentation build artifacts or version control checkouts. These are public code repositories so they are probably not very sensitive but ideally they eventually get deleted.

In our WIP privacy policy (#3978), I have detailed all the 3rd parties with whom we share data and what is shared.

Do we need to obtain consent from users for each individual project in case that the project uses a Google Analytics Tracking ID?

@csadorf Docs authors will not need to do anything. I'm aiming to avoid a specific cookie/consent notice on docs sites and that will probably involve some changes. Any necessary changes though will be made in the Read the Docs codebase and rolled out to all docs sites automatically.
From a cookie standpoint, GA sets 1st party cookies which are not compliant currently but with some changes they may be. By default, the longest cookie lasts 2 years which is definitely unacceptable without consent. However, all of this is configurable and I should have this dialed in in the next couple weeks. GA can be run with a session cookie or even with no cookies whatsoever. In the last form, you'll lose things like the ability to differentiate new vs. returning visitors but all the rest of the data is there.
From a sharing personally identifiable data standpoint, I don't believe anything is required since Read the Docs is already instructing GA to anonymize IPs (the only personally identifiable data under GDPR shared). I do think we can do better, but from a legal standpoint, I don't believe anything is required.
Ideally, I think the solution is to proxy GA requests on Read the Docs' servers before sending to GA to anonymize data and generate a non-personal client ID in order to differentiate new vs. returning users. I think this solves the problem of sharing personal data and of the privacy complaints of visiting a docs site resulting in a request to google-analytics.com. It will result in tens of millions of extra requests though so it needs to be worked out.
We are also in the process of making people who have Do Not Track enabled not load GA whatsoever (https://github.com/rtfd/readthedocs.org/pull/4046) so that might affect things as well.

@davidfischer Thank you very much for clarifying.

With respect to a data protection officer, we have created a small team internally to handle privacy related things. The email is<EMAIL_ADDRESS>

With respect to advertising, when somebody clicks an ad, we store some data to prevent fraud, handle billing, and to report aggregated statistics to advertisers (more on that below). We store a user agent, an anonymized version of a user's IP address, and a client ID which will change periodically per user but will be unique for a limited period of time. We believe this is in line with the GDPR and it is acceptable from a Do Not Track perspective.
We do not share personally identifiable information with advertisers such as users' IP addresses or possibly identifying info like user agents. We do not share even the anonymized IP address. We may share aggregated data (eg. a pie chart of countries where users clicked on the ad, % mobile vs. desktop, etc.).

The privacy policy went live today: https://docs.readthedocs.io/en/latest/privacy-policy.html

Moz had a pretty good blog yesterday regarding the GDPR and online marketing. Here's a brief summary:

They believe Google Analytics is good to go as long as IP anonymization is on (RTD has it on)
Email newsletters must be opt-in. No list buying/sharing. (our newsletter is double opt-in)
The privacy policy must be in plain language (ours is pretty plain)
No vague cookie statements like "We use cookies to give you a better experience and by using this site".

We published our blog post on the GDPR and merged the somewhat related Do Not Track PR. As a result, I think we can close this.
If issues related to compliance arise, we are committed to addressing them as separate action items.


[Feature Request] Edit circles as circles, rectangles as rectangles

Currently, it seems that while circles and rectangles can be created, they cannot be edited without misshaping them. That is, when you drag a point that is part of a circle, the shape is no longer a circle. When you drag a point that is part of a rectangle, the shape is no longer a rectangle.
I think that shapes created as circles should have four drag points, as suggested in #208 , but beyond that, dragging one of those drag points should resize the circle. The same should happen for a rectangle or angled rectangle: dragging one of a rectangle's corner drag points should resize the rectangle. Additionally, maybe a an angled rectangle could be rotated somehow while editing?
For some additional context, this is how this third-party mapbox draw set of modes for creating and editing circles works:  https://github.com/iamanvesh/mapbox-gl-draw-circle
We are currently using mapbox draw in our application, we have adopted the above circle mode, as well as a rectangle mode, and have gotten editing for both to work as I described above. I would love to replace it with terra-draw, but we will be unable to do that until terra-draw can support editing circles and rectangles similarly. Do you think this is something that could be added?

Scratch this... I think it must be an issue with the maplibre-gl-terradraw library? At least resizing of rectangles appears to work on the terra-draw site.

@neodescis thanks for raising - I think perhaps this is just a case of changing the default select mode settings in maplibre-gl-terradraw to the more 'natural' settings. For rectangle you may want 'resizeable: 'opposite'andresizable: 'center'` for circle to match the drawing behaviours.
That might look a little something like this:
 new TerraDrawSelectMode({
   flags: {
    circle: {
      feature: {
        draggable: true,
        coordinates: {
          resizable: 'center'
        }
      },
    },
    rectangle: {
      feature: {
        draggable: true,
        coordinates: {
          resizable: 'opposite'
        }
      }
    },
  },
})

I can speak to Jin about maybe making that the default upstream, but you could also use Terra Draw directly to achieve this. Let me know if you have any additional questions!

Yep, I kept digging and discovered the options you posted. It does seem like they should be the defaults to me, but that's certainly less of an issue. Thank you!


Analytics - Bad use of transactions

[profiling].[usp_Upsert*] stored procedures don't use SQL transactions properly. They BEGIN and COMMIT but no ROLLBACK if something goes wrong. If something goes wrong, there will be a recursive transaction chain and the execution will end up failing.
Also, these transaction are now used over a temp table, so we can just not use them at all.

For upgraded instances, these errors are displaying:
Msg 266, Level 16, State 2, Procedure profiling.usp_CompileWeekly, Line 22 [Batch Start Line 0]
Transaction count after EXECUTE indicates a mismatching number of BEGIN and COMMIT statements. Previous count = 0, current count = 28.

Catch [usp_CompileUsageWeek]: Cannot insert the value NULL into column 'used_linux', table '@ut_staging'; column does not allow nulls. INSERT fails.

Error #1 is caused by not rolling back transactions in the upsert stored procedures.
Error #2 is caused by a recent migration in the analytics engine. Two new columns where added to [dbo].[teams_user_device_usage_log]: [used_linux], [used_chrome_os]. These columns are nullable in the database, but are not in the user defined table type used in the upsert SPs. For upgraded instances, these values are null and that breaks the upsert SP.

A workaround is to update those nulls to 0:
UPDATE [dbo].[teams_user_device_usage_log]
SET
[used_linux] = 0,
[used_chrome_os] = 0
WHERE [used_linux] IS NULL;


KIE forms jBPM integration:

Cleaned up unnecessary dependency

+1 (this should also fix the build failure on master.)


SELECT "tag" not working properly

The 'SELECT "tag" FROM "measurement"' query is no longer working.  The query is simply blank when run.  I can get results if I perform a 'SELECT "value","tag" FROM "measurement"'.  That returns a column of values and tag values (as expected).  'SELECT "value","tag"::tag FROM "measurement" works as well.
Bug report
System info: I am running InfluxDB v1.2.0 on OS X
Expected behavior: I would expect to get a column of only tag values.
Actual behavior: Nothing
Additional info: This affects things like Grafana, where templating is used.  If I want to create a template for a tag value, I cannot do it now.

I don't believe this has ever worked. The select mechanism is only able to query data by time so there must be at least one field available.
@pauldix enough people run into this issue, should we consider having the query engine throw an error when only tags are requested? It might be considered a breaking change, but the current behavior never performs the expected behavior while the error would at least steer people in the correct direction.

I now see that on the documentation, it does show a required field value as well.  Apologize for the filed issue.
I can say that there is a definite desire for this.  In my instance, I want to use templating in Grafana.  I want to find all of the possible available TAG values for a particular DB.  I can then prepopulate the drop down.  I know I can get field values via the SHOW TAG VALUES function, but it prepends the key name, and I don't want the key name (would be nice if I could "SELECT 'value' FROM SHOW TAG VALUES...).
I'll close the issue.

How does one find all the tag values on a measurement? Parsing "show series" ?

@brianm I think you could do show tag values from cpu with key =~ /.*/


Suggested reversion to 0.2 for specific data processing call in datasets.py

Hey yall,
In robomimic release 0.2 (and all patches before 0.3), in the SequenceDataset get_item method, observations used to be automatically processed, most notably channel-swapped, in the return of get_obs_sequence_from_demo :
        # prepare image observations from dataset
        return ObsUtils.process_obs_dict(obs)

In Release 0.3 (and subsequent updates) the processing has been change to simply return obs . Do we know why this happened?
I propose that this change is reverted back. In the demos in the release 0.3, the way around this has been to call
            # process batch for training
            input_batch = model.process_batch_for_training(batch)
            input_batch = model.postprocess_batch_for_training(input_batch, obs_normalization_stats=None)

In the training loop explicitly.
The problem is (Besides seeming a bit out of place as processing seems like something the DataLoader should do when/after sampling) also means that if anyone wants to use Robomimic's data infrastructure but not their algofactory/modeling classes, there is no convention of how to process the data (as those two methods are object methods).
This has come up for me when using LIBERO, which is based on the Robomimic data format, with a newer version of robomimic. Fundamentally, it may not be necessary for me to use the latest version of robomimic, but it seems best to.
Would it be possible to revert this change so that projects using Robomimic's data format but not its algo class can process data automatically? Or could you suggest how to best replicate the behavior of the new batch processing without an Algo object?

Excellent question! We added a new API call here to ensure such operations take place on the GPU. This helps with things like image-based training, since we can transfer uint8 images to the GPU, and then convert to float, instead of the other way around (4x data transfer).
I would suggest to use this API call going forward. You could also explicitly check the robomimic version in an if statement for downstream code, to toggle behavior appropriately.

when you say "this API call," do you just mean only using Algo objects for interacting with the data?


Add extensions property to CupertinoThemeData

Use case
The MaterialApp has a property theme that accepts ThemeData which has a property extensions, the CupertinoApp has also a property theme but it accepts CupertinoThemeData and it doesn't have the property extensions. I would like a solution to extend my theme the same way I can do it using Material.
Proposal
Add the extensions property to CupertinoThemeData as well in order to use code like
Theme.of(context).extension<MyTheme>()?.myPropertyName

FRT: the Material Theme extension feature was added in https://github.com/flutter/flutter/pull/98033

I'm unassigning this issue from myself as I'm not actively working on it, but it is on my shortlist. If somebody wants to pick it up before I get to it, please feel free to tag me here or on Discord for help.
As this has already been done in Material, I think this will be a somewhat straightforward addition that will be really useful, if someone is looking for something to do.


flutter_tool: DeferredComponent and LoadingUnit classes, Manifest deferred-components parsing

Adds DeferredComponent and LoadingUnit. Also adds parsing for deferred components configuration in flutter_manifest (pubspec.yaml).
Split off from https://github.com/flutter/flutter/pull/63773
Part of a series of work for https://github.com/flutter/flutter/issues/57617

@GaryQian is this ready for review?

Alllllmost. Adding one more set of tests regarding pubspec.yaml validation. You can begin review if you would like, most of the code is ready.

@jonahwilliams Turns out i was closer to done than I thought. It is ready to review now!


C#/DevKit code under Compiler Symbol don't get ignored (go gray) if not used

Compiler symbols that are not in use don't have the code under them gray.
Intellisense also continues to work to work in these disabled code blocks when it shouldn't.
Also maybe this is due to no UI options allowing us to toggle between difference build configurations?

I was testing this with a Unity3D project. These are called "Scripting Define Symbols" in Unity.
In short this can make parsing code a little annoying.

If this is going to be implemented, please make it optional.
F.i. I do use combinations of all kinds of build symbols from within a coded build script to create different versions of my game.
Even though I see the benefits of this feature request, in my case it would be pretty bad, having code greyed out, or intellisense not working until I manually update the project build settings in the Unity IDE to include the mix of defines required to make the code available to intellisense/the colorizer.


Respond when PR opened against the wrong branch

If a user opens a PR against the wrong branch, the app currently doesn't respond. We should probably respond with some guidance.

I just went through this course about 3 times. I think that we can close this issue without implementing this, because:

The links to prompt users to open pull requests with the pre-populated branches are very effective
We haven't had any reports of this confusing users in the forum

@hectorsector I'm going to go ahead and close this issue as a part of comms duty. If I'm missing something, or we should return to this for some reason, please reopen 😊


Randomized id for svg filters

Resolves
Resolves #1549
Resolves #889
Proposed Changes
Randomly generate the id for the stack glow filter and replacement glow filter
Reason for Changes
When inject is called for an embedded workspace (ie. when displaying the custom procedures modal), the stack and replacement glow filters are generated again with the same ID as the original instances.  This is an issue in Safari and iOS browsers which then stop displaying the filters when the embedded workspace is destroyed.  By randomly generating the filter IDs, we prevent collisions.
Test Coverage
Tested by instantiating an embedded workspace and verifying the fix.

You're right, it would resolve #889. I updated the description.

Wonderful! Thanks!


Path is a directory but has no mix.exs

childchain-0 childchain warning: path "apps/omg_child_chain" is a directory but it has no mix.exs. Mix won't consider this directory as part of your umbrella application. Please add a "mix.exs" or set the ":apps" key in your umbrella configuration with all relevant apps names as atoms

Could you please provide the environment you encountered this and what did you do/context?

Could you please provide the environment you encountered this and what did you do/context?

I second this question. If this appears when running v0.1, it seems that the directory structure is tainted with master directories and mix is complaining. The tainting possibly caused by some git operations preceding the mix run? This would be strange however, I regularly bounce between v0.1 and master and I'm getting various weirdness, but never this specific warning.
What path is the source code exactly taking, starting from git clone or equiv?

Please reopen if it’s still an issue.


Login error

When trying to login using a third party(Google), the server responds with 500 error.

Try refreshing/reloading the error page via "F5" browser refresh.  Looks like some timeout issue to me.
By the way, this repo is about the iD editor, you're reporting an error with the OSM website, i.e. this should be reported here: https://github.com/openstreetmap/openstreetmap-website

got it


TSBM-88-ha-fix Added extra logging and tweaked error conversion

Closed because this is superseded by TSBM-113


Fix the upstream project URL

As a upstream developer, I just wanted to tell you that our URL changed recently.
This change seems trivial enough to not mandate the full check-list of your usual contributing guidelines.
Kudos for this process, and for the rest.
Mt

Commit message needs to have a "simgrid: " prefix as required by the contribution guidelines https://github.com/NixOS/nixpkgs/blob/master/.github/CONTRIBUTING.md

Have fun doing so ;)
----- Le 4 Mar 19, à 22:31, Dmitry Kalinkin<EMAIL_ADDRESS>a écrit :

Commit message needs to have a "simgrid: " prefix as required by the
contribution guidelines [
https://github.com/NixOS/nixpkgs/blob/master/.github/CONTRIBUTING.md |
https://github.com/NixOS/nixpkgs/blob/master/.github/CONTRIBUTING.md ]

—
You are receiving this because you authored the thread.
Reply to this email directly, [
https://github.com/NixOS/nixpkgs/pull/56849#issuecomment-469429633 | view it on
GitHub ] , or [
https://github.com/notifications/unsubscribe-auth/AAmIz8eJF3qsWrxlGF8sWTyCGHWm1zP_ks5vTZC9gaJpZM4bdPW3
| mute the thread ] .

Thank you!

thank YOU ;)


benchmarks?

Hi
Is there a benchmark that could lead us to test the speed of the crawler. I see that i can only crawl 2 pages per second (which i have disabled delay) and the connection/ram/cpu is too fast in my server. Also the server I am scraping .
I am asking if the scrapely library makes the crawling slower than usual? I really wonder the speed tests of scapely (the learner crawler) than normal xpath using scrapy's itself.

There are some benchmarks in slybot that compare parsel extraction speed to scrapely extraction speed:
test_extraction_speed.TestExtractionSpeed.test_slybot_parse_and_extract: 20.4085s
test_extraction_speed.TestExtractionSpeed.test_parsel_parse_and_extract: 16.3027s
test_extraction_speed.TestExtractionSpeed.test_parsel_extract: 12.9132s
test_extraction_speed.TestExtractionSpeed.test_slybot_extract: 10.6147s

These tests are extracting from 300 pages extracting 10-15 items from each page. As you can see the part that slows down scrapely compared to parsel is the parsing which is written in python compared to lxml which is written in C. There was an attempt made to convert the scrapely parser from python to cython but unfortunately this didn't work on all pages so it was disabled. With the cython parser scrapely was faster than parsel so we need to look at fixing the bugs in cython parser and re-enabling it.


waiting until named pipe shall have a timeout

For some reason sometimes a service is suppose to have a named piped created but it does not work.
exemple:
waiting until named pipe /etc/service/nginx/supervise/ok exists.
This should fail after a certain amount of time as now it hangs forever.

I'm closing this issue as I believe our documentation change in #193 indicates the requirements for running this cookbook in a docker container.


Issue - could not be resolved – treating it as an external dependency

@Permutatrix ; the initial issue was set with gulp-rollup and you said I should use rollup-stream but the issue remain
It is an ES6 import of a file that is in the same folder.
gulp.task('rollup', function () {
    return rollup({
        entry: '_01_src/js/form/controller.js'
    })
        .pipe(source('app.js'))
        // and output to ./dist/app.js as normal.
        .pipe(gulp.dest('_02_build/js'));
});

This is what I want to achieve . I chose rollup because I want to have IIFE and less bloat compared to webpack.

If it's in the same folder, you have to put a ./ at the start.
import './xyz.js'; // relative import
import 'xyz.js'; // external import

Since this isn't actually an issue with rollup-stream, I'm going to close it, but you can keep talking about it here if you want.


disabling email, accessing student guides

Added instructions on disabling email when using generic student accounts

Added section on how to access student guide

Thanks @bhirsch70. I had to fix some merge conflicts and think I got that right in the process. Take a quick look as see if it looks right if you can.

Looks good @tima , cheers.


[FLINK-7202] Split supressions for flink-core, flink-java, flink-opti…

…mizer per package
Thanks for contributing to Apache Flink. Before you open your pull request, please take the following check list into consideration.
If your changes take all of the items into account, feel free to open your pull request. For more information and/or questions please refer to the How To Contribute guide.
In addition to going through the list, please provide a meaningful description of your changes.

[ ] General

The pull request references the related JIRA issue ("[FLINK-XXX] Jira title text")
The pull request addresses only one issue
Each commit in the PR has a meaningful commit message (including the JIRA id)

[ ] Documentation

Documentation has been added for new functionality
Old documentation affected by the pull request has been updated
JavaDoc for public methods has been added

[ ] Tests & Build

Functionality added by the pull request is covered by tests
mvn clean verify has been executed successfully locally or a Travis build has passed

@zentol @greghogan Would be nice if you could have a look at it. If we merge it, I could rebase the remaining PRs for flink-java checkstyle changes and remove appropriate suppressions in them.

Its on my list for today ;)

It appears you're missing suppressions for a number of test packages.

hmm...but the build is still passing...

Yes, unfortunately in the poms for those modules, the checkstyle was disabled for test sources. That is why I forgot about tests. I enabled them and will prepared fixed version of suppression files.

Looks good to me, +1 once travis gives green light.


Use HTML5 type="url" for URL field

Makes page compatible with iPad, now it doesn't try to correct URLs to "Https://Blah.com", now they are "https://blah.com" like they should be.

Thanks!


Rendering issue in URP VR with Depth Texture enabled

Hi, I found a rendering issue when I enabled Depth Texture on the Camera or on the URP Settings Asset. I think the issue is only in VR. I'm using OpenVR and Single Pass, and I tried both Unity 2019.4.3 with URP 7.3.1 and Unity 2019.4.12 with URP 7.5.1.
I would greatly appreciate if you can take a look and suggest or push a fix! Great project! : )

Thanks for reporting the issue! I'll check the bug.


Sage 413 units in preview

Waiting for Alex to approve/request change: https://purajuniper.myjetbrains.com/issue/SAGE-413#focus=Comments-4-799.0-0


Multi-monitor support

I remember one game called Supreme Commander, which has an amazing (or interesting) usage of dual-monitor. That game uses one screen to display the game itself, and another shows a tactical map. I found one image of that in action:

It was a big surprise first time that I played this game, since no other game makes usage of my second monitor. That game doesn't require any additional setup, and it works out of the box with that behaviour.
Many other games take another approach, which renders the "same content" over multiple monitors. One of them is Software Inc, which has more simple support for multi-monitor (up to 8 monitors). They require some setup, which you can set the resolution, the offset (so the UI will have that offset) and render the game at multiple monitors.

Currently, it doesn't seem that Engo supports that kind of feature. The CreateWindow() uses glfw.GetPrimaryMonitor() , so:

It doesn't expose a way to set each monitor manually. Because of that limitation, we can't spam multiple windows across all monitors (which may capable to work like Supreme Commander).

It doesn't have a way to set support for "all monitors", which can act as a single monitor (so, a single Engo application handle all monitors as if it's a single monitor, like the Software Inc or racing games).

I'm not sure if GLFW has native support for that. I found very little information about cross-monitor screen/window. Some topics may suggest using AMD/NVidia specific API to make it happen, which might require more work than expected.

This would be a very cool feature. I believe GLFW supports it naively, but I’m not sure how off the top of my head.


feat: add nodeSelector/affinity/tolerations and podLabels for zeebe operate and tasklist

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.0 out of 2 committers have signed the CLA.:x: MihneaStaub:x: mihstaubMihneaStaub seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.

I will open a new pull request, with the right Github account.


Documentation for nested methods

I've added in a file of plotting functions, PSS_plot.py, that I've been populating with common pots the user might want as they play with the signal. I've added the methods to the Signal class so that all ones needs to do is call the plot type and the function uses the dictionary to build a nice looking plot with the correct parameters. However, the normal docstring that appears, and more importantly the nice help one gets when in a jupyter noteboook (shift+tab, where the full signature appears with all of the needed variables) does not appear. The command sitting in signal.py appears instead. Since these plotting functions have a number of options it would be nice for this to appear. Any thoughts?

@Hazboun6 is this still relevant or should we close it?

It's sort of relevant, but maybe should have been a question posed to StackExchange rather than as an issue? I think we can get around this by making the plotting scripts be classes rather than methods, so that the docstrings will just get inherited. I will close the issue.


Custom Data Provider support for BDD Scenarios

Currently to make bdd scenarios data driven, user has to use one of the following formats

CSV Data Provider
Excel Data Provider
JSON Data Provider
XML Data Provider
DATABASE Data Provider
Text Data Provider

Custom data provider can be helpful in

For NoSQL database
File formats which QAF data provider does not support
To provide a structured data after processing  on raw data
Or any ther custom logic for testdata

Feature available with 2.1.12-RC2

👍

Here is an example for custom data provider for reference. CustomDataProviderExample.zip


Support for web?

I see most of the examples here support web.
in pub.dev it does not have web support

Web works fine. I don't know it shows as unsupported.

That would be the culprit: https://github.com/roipeker/graphx/blob/master/lib/src/utils/http/_http_io.dart#L1

So to fix this, it seems we need to leverage https://pub.dev/packages/http at the price of adding one more dependency.
If we are ok with this @roipeker , I can open a PR.

Yep, go for it, cant remember why i avoided the dependency


Top 10 Table on Minigo page

Could you add a top 10 models rating table on the minigo page?

I'm working on a sorted option now, but I can expand the "best"/"worst" list in the short term

http://cloudygo.com/v7-19x19/eval-graphs?sorted
You have to manually add "?sorted" but this sorts the eval table, more work to come tonight

Top ten now appear by default in the list
http://cloudygo.com/v3-9x9/eval-graphs


Human error in the process of linking GitHub Sponsors?

Describe the bug
I recently established a GitHub Sponsors page (for a very popular Leaflet project), along with an OpenCollective one as its fiscal host. Yesterday I discovered that its first donated funds ($1000) got sent to the wrong account with a similar name. I reached out to GitHub support and got confirmation that they have the correctly set OpenCollective account name on their end, and the mistake with the funds happened on OpenCollective side.
I reached out to OpenCollective support (didn't get an answer yet), but generally it appears that the process of linking a GitHub Sponsors account to an OpenCollective one is a manual process on your side and prone to errors, which is very surprising. I think OpenCollective needs to have systems in place to prevent this kind of mistakes on your end.

I've cross checked and the Sponsors profile for leaflet is indeed aligned with https://opencollective.com/leafletjs from our perspective. All funds received are thereby transferred to Open Source Collective (OSC) for them to redirect accordingly.
I'd suggest contacting OSC about your expected payout directly, as it looks like the error occurred on their side and I'm hopeful they can correct it:

Expected behavior
GitHub Sponsors should link to the configured OpenCollective url automatically, without any manual human input prone to errors. If this is not possible, at least there should be an assertion that the linked account matches the one GitHub Sponsors provides.
Screenshots

Additional context
I only noticed that the money went to the wrong account because that account owner reached out to me, describing that he probably got the funds by mistake and wants to assist in fixing this. It's a very dangerous situation if OpenCollective can allow this to happen despite both GitHub Sponsors and OpenCollective being configured correctly by the project.

Triage Template (core team only)
This template is for members of the team to triage for prioritisation. For more guidance see https://www.loom.com/share/369ab467fbc64dec848085d38ff57ca0:
P1 high frequency, high impact
P2 low frequency, high impact
P3 high frequency, low impact
P4 low frequency, low impact
Examples of high impact - a problem affects users during an essential process (expenses and payments > onboarding and registration > contributing) with no workaround.
High frequency - >10% of users affected (measured as a proportion of total potential users for this case).

Hey @mourner thanks for the issue.
We do have a manual process for verifying GitHub Sponsors participants for the moment because we don't receive those links back from GitHub on our payout. We'll get that sorted.
FYI the scripts and mappings are all maintained over at https://github.com/opencollective/opencollective-tools/blob/main/github-sponsors/csv-import-mapping.json

The semi-automated tool is looking first at mapping, then at GitHub handle (which it missed), then at Collective slug (which was wrong).
Seems the tool was searching for a Collective with Github organization handle https://github.com/Leaflet when yours was linked to repository https://github.com/Leaflet/Leaflet, that explains the miss. There might be something to improve there.
Then it was on the human operator to review and notice that the suggested new mapping leaflet -> leaflet was wrong, understandable error.

@znarf during GitHub Sponsors application, you have to specify the OpenCollective account url when choosing it as the fiscal host, and it's surprising to hear that this handle isn't being shared with OpenCollective as the main source of truth for mapping.


Support CentOS as base OS

Fixes #90

[x] preconf role

[x] packages ( 092627a )
[X] chrony ( 909b507 )

[x] node role ( 7a42f4f )
[x] nginx role ( 5ee0f80 )
[x] ufw (all node roles) ( 087df6c  )
[x] specify the interpreter ( f80b6a6 )
[x] add platform-dependent host groups to the Vagrantfile
[x] verify changes

[x] bootnode
[x] validator
[x] moc
[x] explorer
[x] netstat

Two problems while deploying a bootnode to aws:

by default aws does not allow connection as root, default username is centos. This should probably be refactored as part of https://github.com/poanetwork/deployment-playbooks/issues/101
Playbook also does not create a user named ubuntu.

it seems like bootnode-access role tries to connect to localhost and check connection status by running a python command (standard procedure), however it fails because sudo (on localhost) is not allowed

TASK [bootnode-access : Create bootnode security group] *****************************************************************************************************************
task path: /home/me/Work/deployment-playbooks/roles/bootnode-access/tasks/ec2.yml:2
Using module file /home/me/.local/lib/python2.7/site-packages/ansible/modules/cloud/amazon/ec2_group.py
<localhost> ESTABLISH LOCAL CONNECTION FOR USER: me
<localhost> EXEC /bin/sh -c 'sudo -H -S -n -u root /bin/sh -c '"'"'echo BECOME-SUCCESS-fslxogtytmtpoliybzawdfllxfmyuvdb; /usr/bin/python'"'"' && sleep 0'
fatal: [<IP_ADDRESS> -> localhost]: FAILED! => {
    "changed": false,
    "module_stderr": "sudo: a password is required\n",
    "module_stdout": "",
    "msg": "MODULE FAILURE",
    "rc": 1
}

Also, when deploying ubuntu some pip dependencies are not installed:
fatal error: openssl/opensslv.h: No such file or directory

@Ykisialiou do you think this PR can be closed now in favor of #144 ?

@phahulin  I suppose yes, #144 is doing the same and some commits from here are there now.


Oracle Integration 3 - ERP Cloud Real Time Synchronization

Add here your WMS ID
General requirements

Information in the workshop is adequate and updated
Code is correct and working
Links are correct
Make sure you enter the help email link in your manifest.json
Please make sure WMS URLs are updated as needed after your PR is approved

Checklist - Refer to the QA document for the complete list
Please confirm that the following is completed before submitting your PR

[ ] All filenames are lower case (including folders, images, files, etc.)
[ ] Filenames are descriptive
[ ] Your workshop folder structure should be similar to the one used in the sample workshop (https://github.com/oracle-livelabs/common/tree/main/sample-livelabs-templates/sample-workshop)
[ ] Are you using multiple versions (desktop/, sandbox/, tenancy/)? Make sure that each of them contains a manifest.json and an index.html
[ ] Image references in markdown contain an alternate text

Hi,
Where is WMS ID: 11270
And common folder is referred in some of other live labs which we are under development.
Regards,
Subhani
From: Madhusudhan Rao @.>
Date: Tuesday, 20 September 2022 at 15:38
To: oracle-livelabs/oic @.>
Cc: Subhani Sahib Italapuram @.>, Author @.>
Subject: [External] : Re: [oracle-livelabs/oic] Oracle Integration 3 - ERP Cloud Real Time Synchronization (PR #8)
please provide WMS ID and review the file structure, why is the common folder outside the project folder realtimesync
[image]https://urldefense.com/v3/__https:/user-images.githubusercontent.com/70625227/191230589-e03d78c5-a346-48e8-b2ae-fbb54389b2ce.png__;!!ACWV5N9M2RV99hQ!Nh-0OSn5sINTOtZy0fv9ImvpNk9csKd4o--UHJlvk4mQak4E3VjpFnRTGI8SJfudDUjZDw_eSQS2XswsRkVflM5vYjG2Wos$
—
Reply to this email directly, view it on GitHubhttps://urldefense.com/v3/__https:/github.com/oracle-livelabs/oic/pull/8*issuecomment-1252132151__;Iw!!ACWV5N9M2RV99hQ!Nh-0OSn5sINTOtZy0fv9ImvpNk9csKd4o--UHJlvk4mQak4E3VjpFnRTGI8SJfudDUjZDw_eSQS2XswsRkVflM5vR9vh71w$, or unsubscribehttps://urldefense.com/v3/__https:/github.com/notifications/unsubscribe-auth/ATMZ32TQGT6OZIYTZSHMGY3V7GELPANCNFSM6AAAAAAQQZVRLQ__;!!ACWV5N9M2RV99hQ!Nh-0OSn5sINTOtZy0fv9ImvpNk9csKd4o--UHJlvk4mQak4E3VjpFnRTGI8SJfudDUjZDw_eSQS2XswsRkVflM5vTQjXY9I$.
You are receiving this because you authored the thread.Message ID: @.***>


Error in registering a new user in pump.io using "disk"

Error: ENOENT, readdir '/var/local/databank/social.localhost/collection'
Other directories are created; not sure why this one isn't.

Moved this to e14n/databank-disk#2


Update data models docs

Update data models docs
(ideally useful)

@joy-ade speak with Warren and Lee

@warren.searle  as per our conversation