Both outputs have the same ID, only one works

Hi,
I have a laptop with two external monitors; one HDMI and one VGA. The HDMI sits to the left of the VGA. I have the following in ~/.config/sway/config:
output HDMI-A-1 res 1920x1080 pos 0,0
output VGA-1 res 1920x1080 pos 1920,0
output LVDS-1 disable

I also have workspaces 1 and 2 configured to open on the left/HDMI monitor, and 3 and above to open on the right/VGA.
When I start sway, only the HDMI monitor shows anything, and it shows what the VGA monitor should be showing (workspace 3). I can move my mouse off it towards the left as if there's another output there, but I can't move my mouse off it to the right. It seems as if Sway is misidentifying my monitors and writing the VGA output to the HDMI.
I ran swaymsg -t get_outputs:
[ { "id":<PHONE_NUMBER>, "name": "VGA-1", "rect": { "x": 1920, "y": 0, "width": 1920, "height": 1080 }, "visible": true, "active": true, "primary": false, "layout": "output", "type": "output", "current_workspace": "3: terms", "scale": 1 }, { "id":<PHONE_NUMBER>, "name": "HDMI-A-1", "rect": { "x": 0, "y": 0, "width": 1920, "height": 1080 }, "visible": true, "active": true, "primary": false, "layout": "output", "type": "output", "current_workspace": "1: web", "scale": 1 } ]

This all looks correct according to the config, but surely they aren't meant to have the same ID? The IDs change each time I start Sway but they're always identical. Both monitors are the same make and model by the way.
I tried disabling VGA-1 and enabling LVDS-1 (laptop's built-in display) but they get the same ID too and only HDMI works.
I'm using the versions that are in Arch's repos:
$ sway -v
sway version  (2016-08-02, branch "")
$ pacsearch sway
community/sway 0.9-1 [installed]
$ pacsearch wlc
community/wlc 0.0.5-1 [installed]

That's weird.

In sway/ipc-json.c, in ipc_json_describe_container() I can see it's writing &c to the "id" object:
json_object_object_add(object, "id", json_object_new_int((uintptr_t)&c));

Surely this is setting the "id" to the address of the variable that's being used to iterate the outputs? If I remove the & and recompile I get different IDs for each output.
Still doesn't explain why I can't get two outputs working though :-\

Can you get two outputs working on X?

FWIW the id in the JSON response is not used anywhere, it's just included for compatibility with i3.

Yes, I can get two outputs working on X. It's an Intel HD 4000 (integrated).

sway.log
~/.config/sway/config

Paging @Cloudef

What happens if all outputs are enabled?

As before, only the HDMI displays a picture. The VGA goes into sleep mode (it also does this when trying with two). I believe my integrated graphics can't handle all three displays at once - it's not something I've ever been able to do under X.
sway.log
~/.config/sway/config
I note this in the log file - don't know if it's important:
08/11/16 21:19:43 - [wlc] Failed to page flip: Device or resource busy

If I disable HDMI and enable VGA and LVDS then I get an image on VGA only.

Failing page flip means the image will not ever land to screen, so it's very important. What devices do you have in /dev/dri/ ?

My /dev/dri devices are:
/dev/dri/card0
/dev/dri/controlD64
/dev/dri/renderD128

The page flip error isn't in the earlier log BTW. Maybe it's only there because the card can't output to three displays at once.

I started WLC with WLC_DEBUG=handle,render and with LVDS-1 disabled and found some more information. I think the LVDS output isn't being terminated properly. It tries to re-use the handle for LVDS-1 but doesn't call the constructor when that handle is replaced by VGA-1.
sway.log
Here WLC is setting up LVDS with handle 1:
08/13/16 08:17:25 - [wlc] => Calling constructor for (output) 1
08/13/16 08:17:25 - [wlc] => Called constructor for (output) 1
08/13/16 08:17:25 - [wlc] New handle (output) 1
08/13/16 08:17:25 - [wlc] LVDS-1 Chose mode (0) 1920x1080
08/13/16 08:17:25 - Output 1 resolution changed to 1920 x 1080

Sway terminates the LVDS output:
08/13/16 08:17:25 - [wlc] Set new bsurface to output (1)
08/13/16 08:17:25 - New output 1:LVDS-1
08/13/16 08:17:25 - Matched output config for LVDS-1
08/13/16 08:17:25 - [wlc] Output (1) terminated...
08/13/16 08:17:25 - [wlc] Released drm surface (0x157df38)
08/13/16 08:17:25 - [wlc] Removed bsurface from output (1)
08/13/16 08:17:25 - [wlc] Removed output (1)

VGA-1 appears without the constructor being called - handle is 1:
08/13/16 08:17:26 - [wlc] Set new bsurface to output (1)
08/13/16 08:17:26 - New output 1:VGA-1
08/13/16 08:17:26 - Matched output config for VGA-1
08/13/16 08:17:26 - Set VGA-1 size to 1920x1080 (1)
08/13/16 08:17:26 - Set VGA-1 position to 1920, 0

WLC sets up the HDMI output with handle 2:
08/13/16 08:17:26 - [wlc] Added output (1)
08/13/16 08:17:26 - [wlc] => Calling constructor for (output) 2
08/13/16 08:17:26 - [wlc] => Called constructor for (output) 2
08/13/16 08:17:26 - [wlc] New handle (output) 2
08/13/16 08:17:26 - [wlc] HDMI-A-1 Chose mode (0) 1920x1080
08/13/16 08:17:26 - Output 2 resolution changed to 1920 x 1080
...
08/13/16 08:17:26 - New output 2:HDMI-A-1
08/13/16 08:17:26 - Matched output config for HDMI-A-1
08/13/16 08:17:26 - Set HDMI-A-1 size to 1920x1080 (1)
08/13/16 08:17:26 - Set HDMI-A-1 position to 0, 0

Maybe WLC thinks handle 1 is still terminated?

Did you try to run with all three monitors without disabling LVDS?

Yes. I believe my graphics card doesn't support three outputs at the same time (not even under X), hence the page flip error posted previously. When I tried all three only the HDMI displayed an image.
It seems like WLC always finds my LVDS output first. For me to use VGA and HDMI at the same time I must disable LVDS, but when I disable LVDS it re-uses the handle for one of the others and incorrectly thinks it's disabled.
If someone wants to try and replicate my problem, you could try:

Have two or more displays.
Start Sway normally, then examine your Sway log to determine which display is found first.
Disable that output in your Sway config then restart Sway.

The handle reuse should not matter. When sway terminates the output (by returning false in output.created callback) the whole output, including handle gets destroyed.

I don't believe this is a Sway or WLC problem any more.
If you recall, Sway works fine if I physically unplug either my HDMI or VGA and run with the other two. Well, if I try to launch X using xf86-video-modesetting (by uninstalling xf86-video-intel) then X crashes, unless I unplug one either my HDMI or VGA monitor in which case xf86-video-modesetting works fine. So it seems like the issue is something higher in the graphics chain, and xf86-video-intel happens to work around it maybe. I tried running the Arch LTS kernel (4.4) to see if that makes a different but it doesn't.
I'm happy for someone to close this issue as it's not an issue with Sway or WLC, but if you have any suggestions on where I should look it would be appreciated.

I'm guessing that making the initial mode setting happen after the output.created handler has returned should fix my problem.

Yeah by default wlc wakes up all outputs, and it calls create callback after it's confirmed to be OK, instead of doing the creation after the callback and then have the output fail. Not sure if this is driver bug really.

I would say it's not a driver bug. When the modesetting DDX tries to set the mode on all three, this appears in the Xorg log:
(EE) modeset(0): failed to set mode: Invalid argument

So it seems like the driver is returning EINVAL for whatever the modesetting call is. From the driver's perspective this is correct behaviour. The DDX/compositor shouldn't be trying to activate more outputs than the hardware can support.
Could it be that WLC isn't deactivating the mode when the output is terminated? If the driver has allocated resources for it then that would cause the third one to fail in my case.
Some error checking and logging in output_push_to_resource() would be useful BTW.

The push to resource is simply wayland communication which you can see with WAYLAND_DEBUG=1, I'm not sure how to know how many outputs hardware can support, but if you can make PR to improve this that would be good.

That commit doesn't have any noticeable effect for me (still shows VGA's image on HDMI when I start Sway with LVDS disabled).
I'm currently learning a lot about the Linux graphics stack. I'll experiment more with WLC when I can. Given enough time, I'll send a PR eventually.

@RyanDwyer Thanks, I'll hope you manage to fix your issue.

I've figured out exactly what's going on. To put it shortly, it's using the same CRTC for both HDMI and VGA. That's what causes the "Device or resource busy" when page flipping. Now for the long answer...
My video card has 3 CRTCs (26, 30 and something else) and 4 encoders (LVDS, VGA, HDMI and DisplayPort). When I first boot my computer and I'm at the console, it's showing the console on LVDS and VGA. The LVDS and VGA encoders are both using CRTC 26. CRTC 30 and the other are unused.
When WLC starts, query_drm() iterates the connectors and calls find_encoder_for_connector() on each.

For LVDS, it returns the LVDS encoder and sets out_crtc_id to 26.
For VGA, it returns the VGA encoder and sets out_crtc_id to 26 (!).
For HDMI, the connector is not using an encoder so it enters the for() loops further down. encoder->possible_crtcs is 7 (binary 00000111), meaning all 3 CRTCs may be used. It uses the first CRTC in the array, which is ID 26 (!).

As you can see, this has no checks to see if the CRTC is already in use. One option is to keep track of which CRTCs have been assigned and don't re-assign them. However, I think the ideal option is to configure the CRTCs after the output.created callbacks. For example, Sway might return false from the output.created callback in which case a CRTC shouldn't be configured for it. Or Sway might want to position two outputs at the same position, using the same resolution and refresh rate in which case it makes complete sense to use the same CRTC. This depends on WLC having a way for Sway to relay position information, disable and enable outputs on the fly and request mode setting.
What do you think about all of this @Cloudef?

I've managed to work around my issue by setting the console's outputs and resolution via kernel parameters:
video=HDMI-A-1:1920x1080 video=VGA-1:1920x1080 video=LVDS-1:d

I see from some of your other open issues that there's still work to be done in WLC on the DRM/modesetting side of things. There's little point in me submitting a fix because it might create more issues and it'll get superseded by the new DRM/modesetting code.

As you can see, this has no checks to see if the CRTC is already in use. One option is to keep track of which CRTCs have been assigned and don't re-assign them. However, I think the ideal option is to configure the CRTCs after the output.created callbacks. For example, Sway might return false from the output.created callback in which case a CRTC shouldn't be configured for it. Or Sway might want to position two outputs at the same position, using the same resolution and refresh rate in which case it makes complete sense to use the same CRTC. This depends on WLC having a way for Sway to relay position information, disable and enable outputs on the fly and request mode setting.

I really don't have much more to say to this. This is not something I would like to expose outside of wlc though, wlc should be able to figure out how to enable outputs and display the image. I would perhaps suggest to look at how weston does the detection.


Performance issues after upgrading from Prisma 2.14.0 to 2.15.0 (or 2.16.0)

Bug description
Overall performance has been dramatically reduced since upgrading to Prisma 2.15.0 (or 2.16.0) from 2.14.0. More details and specific examples in the sections to follow.
How to reproduce
This is unfortunately something I can't share for you to reproduce yourself.
Steps (that I took) to reproduce the behaviour:

Test a query 3 times against the API on 2.14.0, calculate average response time.
Update to 2.15.0 or 2.16.0.
Test the same query 3 times against the API, calculate average response time.
Note, for a specific query, an average response time of 1.76s vs. 28.59s.

Note that I'm testing with a free Heroku hobby dev database so a certain level of performance/latency is to be expected but I've had this setup for a few months now and it's been fine the the whole time until upgrading from 2.14.0. Nothing on the server has changed.
Expected behavior
Average performance should remain the same or improve between Prisma versions.
Prisma information
I'd rather not share my schema and queries/mutations publicly but I'm happy to share this directly to somebody at Prisma (as I have done already).
Environment & setup

OS: Ubuntu 20.04 (LTS) x64 ($5 Digital Ocean Droplet)
Database: PostgreSQL (Heroku free hobby dev)
Node.js version: v14.15.4
Prisma version: 2.16.0
Other:  I'm using nexus-plugin-prisma

Dependencies:
"dependencies": {
  "@prisma/client": "^2.16.0",
  "@sentry/node": "^6.1.0",
  "@sentry/tracing": "^6.1.0",
  "apollo-errors": "^1.9.0",
  "apollo-server": "^2.19.2",
  "bcryptjs": "^2.4.3",
  "dotenv": "^8.2.0",
  "fs-extra": "^9.1.0",
  "google-auth-library": "^6.1.6",
  "graphql": "^15.5.0",
  "graphql-middleware": "^6.0.3",
  "graphql-shield": "^7.5.0",
  "jsonwebtoken": "^8.5.1",
  "mailgun-js": "^0.22.0",
  "nexus": "^1.0.0",
  "nexus-plugin-prisma": "^0.30.0",
  "node-fetch": "^2.6.1"
},
"devDependencies": {
  "@types/bcryptjs": "^2.4.2",
  "@types/fs-extra": "^9.0.6",
  "@types/jsonwebtoken": "^8.5.0",
  "@types/mailgun-js": "^0.22.11",
  "@types/node": "^14.14.25",
  "@types/node-fetch": "^2.5.8",
  "prisma": "^2.16.0",
  "ts-node": "^9.1.1",
  "ts-node-dev": "^1.1.1",
  "typescript": "^4.1.3"
}

Misc
I isolated all changes to my codebase for the time between being on 2.14.0 and now, on 2.16.0, and you can see that I've not really done that much. I can give more details on the diffs in these few commits if you want but the messages should be clear enough, I imagine.

I added &pool_timeout=0 as suggested on Slack when on 2.15.0 and it made no difference. I'm still using it on 2.16.0.
I've been back and forth between my latest state (on 2.16.0) and the last commit on 2.14.0 a few times today and I can reproduce the issue every time, i.e. it feels much slower/worse on 2.16.0.

Finally, I sent the same 3 requests 3 times each on both 2.14.0 and 2.16.0 and here are the average response times:
2.14.0 vs. 2.16.0
Get X (query): 1.76s vs. 28.59s
Get Y (query): 365.66ms vs. 422ms
Sign in (mutation): 438.66ms vs. 625.33ms

Hey @darrylyoung, very eager to look into that. Can you tell me who you shared the code, schema or query with before?
I am especially interested in "Get X" of course as it seems the best candidate for an isolated reproduction. An app that just runs that query, deployed twice against the same database - once with 2.14 and 2.16 would be the dream reproduction I am hoping to get to.

I'm experiencing the same issues
Mocha reports tests that usually took less than 50ms to now be taking more than 100ms, sometimes more than 200ms to complete
If I update prisma to 2.15 ow over, the problem starts to happening, so I assume there is nothing wrong with the DB schema or something else with the system
Environment & setup

OS: Debian 10 buster x64
Database: PostgreSQL (localhost)
Node.js version: v14.15.4
Prisma version: >=2.15.0

Thanks @darrylyoung for providing a reproduction in another channel, I could pinpoint this to another existing issue: https://github.com/prisma/prisma/issues/5274 So your app is experiencing a problem where queries unfortunately are not optimized, that should be optimized. As this query already creates quite a few Prisma Client queries in Nexus under the hood, this sums up to quite a lot of queries to be sent to the database server.
I suggest you follow #5274 and stay on 2.14 until this problem is fixed. Sorry.
@GCastilho I would assume you are experiencing the same problem. You can check by logging the database queries with https://www.prisma.io/docs/concepts/components/prisma-client/logging#log-to-stdout and comparing the output of 2.14 with a more recent version - expect the log file to be much longer.

@janpio I've analyzed the logs, and they are not that big from 2.14
But what I've noticed is, that right before every "prisma:query" there is an "prisma:info  Fetched a connection from the pool", where in 2.14 that message is not displayed even once
Apart from that the queries themselves are not different from one version to another, so I don't think it's related to #5274
Should I open another issue?

Yes please, that indeed looks different then. Thanks for checking!

But what I've noticed is, that right before every "prisma:query" there is an "prisma:info Fetched a connection from the pool", where in 2.14 that message is not displayed even once

That is expected as that message was only added after 2.14 I think.


Storybook better native components coverage

We want to create more stories for native components to demonstrate how to use storybook across different platform.

Addressed by https://github.com/nearform/polaris/pull/78 (Waiting to be merged)


No OpenGL Support?

I've been having issues when attempting to use OpenGL and their respective shaders. DirectX works fine. Is this something which is viable to support?

I'm unsure howto. DirectX is built in, since the driver is based on a DirectX framework. To get OpenGL support, we would need to add a OGL framework to the driver, which is above my pay grade (and since it is, i might be terrible wrong too). Hope this explains a abit for you, and give you an rough estimate on how far off such addition would be.

WDDM and directx are two different things, to be honest.
Though it's true that just about everything happens inside dxgkrnl.
Then.. Even opengl should eventually go through it? If it doesn't, it's probably because gpu vendors may be rolling out their own backend for certain operations, perhaps to maintain whatever 30 years old conventions (though I believe it's pretty much granted to work in WSL).
Does it work with Vulkan programs? And does it change anything if you enable DXGI swapchain presentation?


Change the category of humidity sensor from GenericSensor to HumiditySensor.

Currently, it's displayed as a default image because the category of the humidity sensor is a GenericSensor.
To support the humidity Image, change the category of humidity sensor from GenericSensor to HumiditySensor.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

@HunsupJung have you verified this looks correct?

@greens Thank you for your reviewing :)
Yes, I verified this looks correct.
Please refer to the next wiki page: link

The ocfDeviceType and device icon mapping seem to be wrong.
I will ask the person in charge for modification.


Removed package-lock.json and standardize to Yarn. Fixes #29

Removed package-lock.json and added it to .gitignore.

The package-lock.json file should be committed to ensure consistent installs across all environments. This file locks dependency versions, improving reproducibility and build stability for Source Academy.

Thankyou for the comment @martin-henz .
The issue #29 suggests to remove the NPM lockfile (package-lock.json) and standardize to Yarn, hence i did that.
If that seems incorrect, what could be the solution to this issue?

Oh, yes. This is good. Sorry for misunderstanding.

Oh, yes. This is good. Sorry for misunderstanding.


Crypto error when encoding password: TypeError: Object type <class 'str'> cannot be passed to C code

Hello,
On my Mac development machine, I'm receiving a crypto error encoding the password when I try to create a DynectSession. This works fine on our production Linux boxes.
Here's how I'm creating a DynectSession with customer name, username, and password (all strings),
dynect_session = DynectSession(
        "customer_name",
        "username",
        "password",
    )

Here's the traceback:
  File "env/lib/python3.6/site-packages/dyn/core.py", line 51, in __call__
    cur_thread: super(_Singleton, cls).__call__(*args, **kwargs)
  File "env/lib/python3.6/site-packages/dyn/tm/session.py", line 54, in __init__
    self.password = self.__cipher.encrypt(password)
  File "env/lib/python3.6/site-packages/dyn/encrypt.py", line 63, in encrypt
    return base64.b64encode(iv + cipher.encrypt(raw))
  File "env/lib/python3.6/site-packages/Crypto/Cipher/_mode_cbc.py", line 177, in encrypt
    c_uint8_ptr(plaintext),
  File "env/lib/python3.6/site-packages/Crypto/Util/_raw_api.py", line 134, in c_uint8_ptr
    raise TypeError("Object type %s cannot be passed to C code" % type(data))
TypeError: Object type <class 'str'> cannot be passed to C code

Library versions
dyn==1.8.1
cryptography==2.4.2
cffi==1.11.5

I replaced the package python-pycryptodome with python-pycrypto, and it solved the issue.

Using pycrypto also worked for me.


Add scalafix migration for scalatest 3.1.0

Closes #771
Unfortunately, github: scheme is not available for scalatest/autofix, since the repository has their arbitrary project structure (multiple scala projects in sub directories), IIUC.
So used https: schema to support arbitrary project structure.
Also, used a SHA1-marked immutable reference as stated in https://github.com/fthomas/scala-steward/issues/626 for security consideration.

Ah, I have no idea how to test before scalatest 3.1.0 is published.
Once published, it is too late to test...

To test this, I think you could set the version of the migration to 3.1.0-SNAP13 and try it on a project which uses ScalaTest 3.1.0-SNAP12 but with the old names.

It worked when testing updates from 3.1.0-SNAP12 to 3.1.0-SNAP13: https://github.com/exoego/scala-steward-test-project/pull/2
And I believe migration for 3.0.6 should be performed same time, as mentioned in https://github.com/fthomas/scala-steward/pull/777#discussion_r309418536


Document max length of message array in rangeproof_sign()

https://github.com/ElementsProject/secp256k1-zkp/blob/43dd1f4fe732268734f0b4efd8e99ea4ff1e49a1/include/secp256k1_rangeproof.h#L240
In particular, size values > 4096 are undefined behavior but also shorter array won't work properly.

Whatever I mean by this, I was probably wrong. https://github.com/ElementsProject/elements/pull/673

It appears to me that values < 4096 are fine as long as msg_len is at or under that value.

Right... I don't know what made me think that this is a problem.
Well, I mean, the length is not documented but you can't get UB if you pass the right msg_len... And the actual formula is 128 * rings where rings depends on a lot of stuff, so I understand now why this has not been documented:
https://github.com/ElementsProject/secp256k1-zkp/blob/43dd1f4fe732268734f0b4efd8e99ea4ff1e49a1/src/modules/rangeproof/rangeproof_impl.h#L169
I guess it's good enough to document that

msg_len == 4096 is always enough
if the call succeeds with a certain value and value is a b-bit number, then any call with the same proof parameters and a b-bit value  will also succeed


Corrected model name plural in empty index view.

Currently it says 'No have been created yet.' This patch fixes that so it includes the pluralised name of the model.
This replaces https://github.com/ababic/wagtailmodeladmin/pull/20#issuecomment-150204334

Thanks for your help! I've copied these changes to my pull request to get wagtailmodeladmin into wagtail as a contrib app, so that it'll be correct there too.


Support deactivation boolean to save time during review builds

Documentation writers should be able to omit the additional text build this extension triggers.
Support a Sphinx configuration variable for example: should_prettify_searchresults.
If the variable is True or not defined, the additional text build should be triggered, otherwise not.

This is actually simpler to manage with an if condition: if true, add sphinxprettysearchresults to the list of extensions.


[hotfix][influxdb][docs] Corrected database attribute

Purpose of this pull request
The fourth influxdb attribute in table shows database but the description name is datasource.  Corrected attribute name to match the table and code.
Check list

[x] Code changed are covered with tests, or it does not need tests for reason:
[ ] If any new Jar binary package adding in you PR, please add License Notice according
New License Guide
[ ] If necessary, please update the documentation to describe the new feature. https://github.com/apache/incubator-seatunnel/tree/dev/docs

Thanks @wuchunfu .


Reorganized FAQ

The H4 headings looked awful rendered

@neilpeterson If the content changes make sense, I'll merge and make sure it all builds :)

Confirmed offline with @neilpeterson


No module named 'projects'

I have clone mmdetection3d and BEVFormer repository, and follow the installtion step as this. My files tree is as follows.
├── BEVFormer
  │   ├── docs
  │   ├── figs
  │   ├── LICENSE
  │   ├── projects
  │   ├── README.md
  │   ├── tools
  │   └── work_dirs
  ├── build
  ├── CITATION.cff
  ├── configs
  ├── data
  │   ├── lyft
  │   ├── nuscenes
  │   ├── s3dis
  │   ├── scannet
  │   └── sunrgbd
  ├── demo
  ├── dist
  ├── docker
  ├── docs
  ├── LICENSE
  ├── MANIFEST.in
  ├── mmdet3d
  ├── mmdet3d.egg-info
  ├── model-index.yml
  ├── README.md
  ├── README_zh-CN.md
  ├── requirements
  ├── requirements.txt
  ├── resources
  ├── setup.cfg
  ├── setup.py
  ├── tests
  ├── tools
  └── work_dirs

When I run python3 ./tools/train.py ./projects/configs/bevformer/bevformer_tiny.py in the BEVFormer dir, it tells me that
projects.mmdet3d_plugin
Traceback (most recent call last):
  File "./tools/train.py", line 259, in <module>
    main()
  File "./tools/train.py", line 137, in main
    from projects.mmdet3d_plugin.bevformer.apis.train import custom_train_model
ModuleNotFoundError: No module named 'projects'

Is any error here.  My mmcv-full version is 1.6.2, mmdet is 2.25.3, mmdetection3d is the master branch(r1.0.0.rc5). Maybe this will cause the problem? But I have tried to put the 'projects' folders into the root dir, and everything goes on.

do you solve it? i have the same question

do you solve it? i have the same question

I got it!  You should change the version of panda, such as pip install pandas=1.4.4. Then you can run python install setup

Hi, please follow this doc https://github.com/fundamentalvision/BEVFormer/blob/master/docs/install.md.
mmdet3d>=1.0 can not be used.

The version of mmdet3d in my conda environment is 0.17.1, but still has the same issue

in tools/train.py
add:

sys.path.insert(0, 'PATH/BEVFormer')
issue solve

in tools/train.py add:

sys.path.insert(0, 'PATH/BEVFormer')

issue solve

I have the same problem ,can I please ask : where is this code added to the train.py code?

add this code in train.py above发自我的 iPhone在 2024年1月16日，15:28，xiaoma-zds @.***> 写道：
in tools/train.py add:
sys.path.insert(0, 'PATH/BEVFormer')
issue solve
I have the same problem ,can I please ask : where is this code added to the train.py code?
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you commented.Message ID: @.***>

 there

add this code in train.py above发自我的 iPhone在 2024年1月16日，15:28，xiaoma-zds @.> 写道： in tools/train.py add: sys.path.insert(0, 'PATH/BEVFormer') issue solve I have the same problem ,can I please ask : where is this code added to the train.py code? —Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you commented.Message ID: @.>


[WIP] Dataset: don't pull records before save if no records were changed.

Description
This PR allows for updating dataset metadata without pulling and re-writing records. This is especially helpful for large datasets like QM9.
Changelog description
Improved the performance of Dataset.save() if no new records have been added.
Status

[x] Code base linted
[ ] Ready to go

Looks like tests are failing due to the first changes.

No work is done on this anymore, so closing it.


feat: add dollar as valid identifier char

This PR will allow the use of the dollar in identifiers, such as JavaScript.
My intention is to create a template language with UGO, and define the dollar prefixed variables will make it more intuitive.

Hi @moisespsena, thank you for the PR.
I haven't considered anything about using uGO as a template language.
I can give it a try under the following conditions and questions.

As this will be an experimental feature, this should be an optional feature and enabled with a build tag.
I cannot maintain a template library (this is not addressed in this PR), so you should be responsible for the maintenance.
$ sign was abused by some JS libraries. Is that what we really want? I think Go's template library preferred to use $ for template variables to reduce parser complexity.
Do you have a plan to create a template parser?

uGO is used in production a lot, and we cannot introduce anything easily, especially syntax changes.
So making it optional until it is fully implemented and production-ready is the only choice for now.
If you want to go ahead, please create an "exp" package in the project workspace and define a constant like const ExperimentalDollar bool which should be true with tag ugo_exp_dollar. Then you should use if statements in scanner and parser to handle $ conditionally using this constant. It is important to make it constant to let the Go compiler trim unused code if tag is not provided.
Additional requirements about the PR:

Please remove the code added in docs/tutorial. You don't need to show the implementation detail when we can write it as a readable sentence.
$ sign is supposed to be used less, so while checking each character it should be the last condition.

Please open a new PR if you'd like to continue.


Feature HMPNN (Heydari et Livi) implementation

Hi @sadra-barikbin ! Thank you for your submission! Could you email me at<EMAIL_ADDRESS>with your (or your team's) full name and contact email for voting purposes? Thank you!


[WIP] MAISTRA-2640 Add federation integration test

This is a first servicemesh integration test. It covers setting up a federation that spans two clusters, exporting a service in one with an alias (ratings service), importing it in the second cluster, and then calling it from a sleep pod that lives in that second, importing cluster.
Depends on https://github.com/maistra/api/pull/26 which provides the CRD manifests through the go module system. That'll allow us to write more tests that require any of our CRDs (e.g. ServiceMeshExtension).

/test integration-maistra-mc

/test unit

/test integration-maistra-mc

/test integration-maistra-mc

/retest

I'm also updating istio.deps with the current proxy SHA in here now, because the old SHA that we shipped with 2.1.0 has since been deleted from our GCS bucket :/

We should be able to manually upload it. Do you know why it got deleted?

I'm also updating istio.deps with the current proxy SHA in here now, because the old SHA that we shipped with 2.1.0 has since been deleted from our GCS bucket :/

We should be able to manually upload it. Do you know why it got deleted?

everything's deleted after 60 days I believe

Removing WIP but adding hold until https://github.com/maistra/api/pull/26 has been merged

/test integration

/retest

/test integration-maistra-mc

/test unit


[Bug]: lease may not synced in lease server

Description about the bug
Currently the lease_grant method is using fast path of the CURP protocol
https://github.com/datenlord/Xline/blob/71249bda1ba141b07030d45fa059b96278aba068/xline/src/server/lease_server.rs#L236-L237
However in lease_keep_alive, lease_time_to_live, lease_leases methods, they will attempt to read from local storage, which may not flushed or synced yet and lead to inconsistency.
for instance in lease_keep_alive
https://github.com/datenlord/Xline/blob/71249bda1ba141b07030d45fa059b96278aba068/xline/src/server/lease_server.rs#L175
and in lease_leases
https://github.com/datenlord/Xline/blob/71249bda1ba141b07030d45fa059b96278aba068/xline/src/server/lease_server.rs#L291-L293
To resolve this issue, we must ensure these methods wait for the synced event to occur after lease_grant or lease_revoke are called. This synchronization process ensures that the client receives the most up-to-date view of the lease storage.
Version
0.1.0
Relevant log output
No response
Code of Conduct

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

I plan to refactor lease_leases and lease_grant/revoke by two seperate strategy.
For lease_leases:
We can treat lease_leases a kind of lease read request, and set it to conflict with lease_grant and lease_revoke request.
    pub fn is_lease_read_request(&self) -> bool {
        matches!(*self, RequestWrapper::LeaseLeasesRequest(_))
    }

    pub fn is_lease_write_request(&self) -> bool {
        matches!(
            *self,
            RequestWrapper::LeaseGrantRequest(_) | RequestWrapper::LeaseRevokeRequest(_)
        )
    }

in ConflictCheck
        if (this_req.is_lease_read_request() && other_req.is_lease_write_request())
            || (this_req.is_lease_write_request() && other_req.is_lease_read_request())
        {
            return true;
        }

then can we add the lease_leases handler to lease store.
For lease_grant/revoke:
We maintain an unsynced_cache to track leases that is not flushed to db yet.
#[derive(Debug)]
pub(crate) struct LeaseStore<DB>
where
    DB: StorageApi,
{
    ...
    /// cache unsynced lease id
    unsynced_cache: Arc<RwLock<HashSet<i64>>>,
    /// notify sync event
    sync_event: Notify,
}

In handle_lease_requests we insert the id into the cache.  Then after the lease is flushed to disk in after_sync, call mark_lease_synced to remove the lease id from the cache.
    /// Make lease synced, remove it from `unsynced_cache`
    pub(crate) async fn mark_lease_synced(&self, wrapper: &RequestWrapper) {
        #[allow(clippy::wildcard_enum_match_arm)] // only the following two type are allowed
        let lease_id = match *wrapper {
            RequestWrapper::LeaseGrantRequest(ref req) => req.id,
            RequestWrapper::LeaseRevokeRequest(ref req) => req.id,
            _ => {
                return;
            }
        };

        _ = self.unsynced_cache.write().await.remove(&lease_id);
        self.sync_event.notify_waiters();
    }

Finally, we can wait an specific lease to be synced by calling wait_synced
    /// Wait for the lease id to be removed from the cache
    pub(crate) async fn wait_synced(&self, lease_id: i64) {
        loop {
            let contains_id = self.unsynced_cache.read().await.contains(&lease_id);
            if contains_id {
                self.sync_event.notified().await;
            } else {
                break;
            }
        }
    }


EndFrameCapture crashes after vkDestroyDevice

Description
The issue happens for some of dEQP (https://github.com/KhronosGroup/VK-GL-CTS) Vulkan tests, when run under RenderDoc.
Note: for me, RenderDoc proved extremely helpful when debugging these tests, both in terms of getting the idea of what the test is submitting, so as narrowing the actual problems.
As dEQP is (mostly and especially Vulkan CTS) a faceless application, it uses in-app RenderDoc API to start and end 'frame' capture between the tests.
The problem is:

some of tests require more VK extensions or features in the VkDevice than provided by the framework, so they create own VkDevice.
this causes the tests to end with vkDestroyDevice, where the WrappedVulkan::m_Device gets zeroed.
however, m_Device is later used in EndFrameCapture(), leading to a crash.

After skimming through the code, it looks like currently RenderDoc does not have support for having multiple devices.
Still, would it be possible for either:

modify EndFrameCapture(), so it does not touch the VkDevice if it is deleted?
Making m_Device a kind of set, so vkDestroyDevice() would just pop one device and some other device would take place?
?

Steps to reproduce
Download VK-GL-CTS from https://github.com/KhronosGroup/VK-GL-CTS,  build Vulkan CTS according to bundled instructions.
Run:
deqp-vk.exe -n dEQP-VK.multiview.masks.1_2_4_8 --deqp-renderdoc=enable
Environment

RenderDoc version: 1.15

Operating System: Windows 10

Graphics API: Vulkan

Drivers: tried Intel or Nvidia (should not matter)

As you've seen RenderDoc does not support multiple devices (in particular it doesn't support multiple simultaneous devices, it should function correctly if you create and destroy such that only one device is alive at any given time) but I think that's tangential to what you're describing.
If I understand right you are destroying the vulkan device before calling EndFrameCapture? That is not supported and I don't plan to change that, RenderDoc needs to do a significant amount of device work to finish the capture and that can't happen if the device has been destroyed. Deferring destruction is also not generally safe or possible in this case.
I'll leave this open for now in case you want to clarify - if I haven't understood correctly let me know. But if I've got the right idea then at most this is something that should be more explicitly documented in the API, I hadn't considered someone doing this before. You will need to either call EndFrameCapture before destroying the device, or else avoid calling EndFrameCapture entirely - that will probably leak but if you're about to destroy the instance and shut down the process it should be fine.

Thank you for your answer!  You understood correctly.
To be more specific,  there are two VkDevices involved, created (but not 'used') simultaneously, both from the same instance and physical device:
pseudocode:
dev1 = vkCreateDevice(instance, ...)

StartFrameCapture(instance, ...)

dev2 = vkCreateDevice(instance, ...{more features / extensions}.. )
// .. a workload to be debugged submitted to dev2 ..
vkDestroyDevice(dev2, ...)

EndFrameCapture(instance,  ...)  // crashes here

vkDestroyDevice(dev1, ...)

Nothing is submitted to dev1 between StartFrameCapture / EndFrameCapture.
I think my question would be: understanding that EndFrameCapture needs to have a device, does it need the exactly same device the workload was submitted on?

Yes there must only be one VkDevice alive at any time, and the same device must be used for everything - starting capture, all work being captured, and ending the capture.
As soon as you call the second vkCreateDevice without vkDestroyDevice(dev1) first that's not supported, and I can't guarantee anything will work after that. I know this is illegal vulkan but there's no way to sensibly express this limitation (I guess I could make the second vkCreateDevice return VK_ERROR_INITIALIZATION_FAILED but that's not particularly useful or intuitive either so I don't think that would help anyone) and it's not something I plan to change so is unlikely to be supported in future.
If you skipped the create and destroy of dev1 this would be fine, or if you destroyed dev1 before creating dev2 that would also work, but the pseudocode you outline is not something I intend to support.


[feature request] three minimal tweaks to make keyboard-only navigation possible for the "Choose your layout"-window

Three tiny tweaks to make usage of Fancyzones very fast and convenient with an accompanying video explanation.
video demonstration for 1, 2 and 3:
https://www.loom.com/share/81d6dac1b52b4ce0a0497feb97411c46
tweak one: Custom-start
Choose your layout should open in the Custom-tab, not the Templates-tab. This should at least be a setting.
At the moment, it always starts in the "Templates"-tab, wasting the time of the user.
tweak two: fixed ctrl+tab
Changing between tabs should be doable immediately pressing ctrl+tab.
I should not have to press control-tab twice to get from Custom to Templates.
At the moment pressing ctrl+tab the first time focusses on "-" in the Templates-tab.
tweak three: arrow selection for applying not deleting layout
In the "Custom"-tab it should be possible to select the layouts via arrow keys. With each arrow-key pressed the blue frame should move to a different layout, like it does now, when clicking on one with the mouse.
One should be able to hit enter to apply a layout and close the "Choose your layout"-window.
At the moment, the arrow keys focus on the trashcan-synbol for each layout. Hitting enter deletes the layout.
This is not helpful. People would like to switch between layouts far more often than they would like to delete their layouts.

Hi @DavidGretzschel
thanks for all the great feedback.
Just a quick note: Custom-start has been fixed and it will be available in the next release.

a forth tweak, I think would be to make the "choose your layout"-window appear instantly when called. [or at least within 100ms]
At the moment it takes about a second. That's not good enough for human-friendly navigation (well, not if the humans in question are very impatient, anyway).
The "choose your layout"-window appears at the same time as the editor-preview in the background. It would be great if I could toggle off the preview in Settings or if it could load in after the window.

1 - was fixed
2 & 3 - will be address as part of the new FZ editor redesign https://github.com/microsoft/PowerToys/issues/1032 and it's also covered by the accessibility review https://github.com/microsoft/PowerToys/issues/5776
4 - is tracked by https://github.com/microsoft/PowerToys/issues/186


Supporting a transformation matrix for the volume renderer

I did not find a discussion forum, so I write this as an issue instead.
The volume renderer seems to only support a world origin and voxel size, but not a complete
transformation matrix. When dealing with medical data, there is typically a DICOM world coordinate system, into which the volume should be transformed. This includes a translation, rotation and scale.
Does OSPRay support adding such a transformation matrix?
If not, it would be a great feature.
I am not sure if OSPRay already supports multiple volumes. If it does, the transformation matrix would
also be useful for correct rendering of multiple volumes.

What should already work is to add the volume to a model and then instance that model with a transformation matrix via ospNewInstance.

Ok, I will give that a try! So you already support multiple volumes?

Yes, you can have multiple volumes in one model and also multiple models instantiated.

I tried the following, but I don't see my volume (I also tried getWorldToVoxelMatrix and the transposed matrix). If I don't use the instancing and add the volume to the world, it works fine.
Did I miss something that I need to do?
...
ospCommit(_volume);
_volumeModel = ospNewModel();
ospAddVolume(_volumeModel, _volume);
ospCommit(_volumeModel);
float mat[16];
osp::affine3f xfm;
inVolume.getVoxelToWorldMatrix(mat);
xfm.l.vx = { mat[0],mat[4],mat[8] };
xfm.l.vy = { mat[1], mat[5], mat[9] };
xfm.l.vz = { mat[2], mat[6], mat[10] };
xfm.p = { mat[3], mat[7], mat[11] };
_instance = ospNewInstance(_volumeModel, xfm);
ospCommit(_instance);
ospAddGeometry(_world, _instance);
ospCommit(_world);

But I don't think you can currently have volumes -in- instances.
Sent from my iPhone

On Mar 16, 2016, at 10:16 AM, Johannes Günther<EMAIL_ADDRESS>wrote:
Yes, you can have multiple volumes in one model and also multiple models instantiated.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub

I don't really need the instancing, only the transformation of the volume.
How about supporting a affine3f transformation property on volumes, instead of "gridSpacing" and "gridOrigin"?
The origin would then be affine3f.p and the grid spacing would be the length(xfm.vx), ...
This would add the missing rotation, at the extra cost of the matrix multiplication.
But maybe you can pre-transform the rays, so that this would not come at an extra cost?

The affine transform on volume would be a nice feature.
Currently I modify the volume size, origin and spacing as well as the camera to take the affine transform into account but it is not a nice code and it forces me to mix data parameters (size, origin and spacing) with view parameters.

Yes, I thought of such workarounds as well, but it will not work for
multiple volumes
and it would force me to pre-transform meshes or other geometry to the
volume voxel coordinates as well.
So affine transform would really make sense!
Am 5/19/2016 um 10:44 AM schrieb laurent-renard-int:

The affine transform on volume would be a nice feature.
Currently I modify the volume size, origin and spacing as well as the
camera to take the affine transform into account but it is not a nice
code and it forces me to mix data parameters (size, origin and
spacing) with view parameters.
—
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub
https://github.com/ospray/OSPRay/issues/48#issuecomment-220263432

My use case is simpler since I have only one volume. But I would totally appreciate an affine transform to clean my code.

We will indeed be adding affine transforms for the volume and this is also a requirement for the VTK implementation.  This may not make it in until after our 1.0 release however.

Any news on affine transformations for volumes?

A fix for this was implemented by @wilsonCernWq in #165.
Currently the transform is done manually as vec3f parameters on the volume, but paves the way to do this generically through ospNewInstance. Converting from the current solution to use instances should be trivial for client apps wanting to transform volumes.

Now supported via Groups containing Volumes and Instances (for the transformation).


Installation method mentioned in README.md file Isn't working

I am trying to install this in my Ubuntu 20.04 but the steps mentioned in the README.md file isn't working
Even I tried invoking cloud-nuke directly before moving it to the path but can't able to run this application

Able to execute this program by building 0.1.20v

go build main,go
./main --help


Fix bizarre StayRTR behavior

Previously StayRTR would copy the client's Session ID back into the Cache Response to the client, even though the server's internal Session ID was something different.
The purpose of the Session ID is to help both client and server understand whether they are synchronized or not. There are two opportunities to fix desyncs: if the server recognises the client is desynced, the server informs the client (through an Error Report) to reconnect and and send a Reset Query. If the client recognises it is out of sync with the server, the client can send a Reset Query.
Related #82

Looks good. Strict local improvement. This is also a hard class of bug to catch.

Thanks

Does it fix #82?

#82 appears to be a different unrelated issue. @lamehost and myself are still working to collect sufficient data.


Editor system

Similar to LuckPerms' editor, it would be nice to allow plugins/etc to utilise some form of "editor" system to change config values/etc.

781f6c161c9902391c7d36bbda513cef987e1fc0


Update Message.java

@M0odi, why did you open two PRs https://github.com/yvasyliev/java-vk-bots-long-poll-api/pull/167 and https://github.com/yvasyliev/java-vk-bots-long-poll-api/pull/168? Please leave one PR


ERROR: Service principal 'http://bie3i8adx-reader' doesn't exist

Streaming at Scale with Azure Data Explorer
Steps to be executed: CIDTM
Configuration:
. Resource Group  => bie3i8
. Region          => eastus
. EventHubs       => TU: 2, Partitions: 2
. Data Explorer   => SKU: Standard_D11_v2
. Simulators      => 1
Deployment started...
***** [C] Setting up COMMON resources
creating resource group
. name: bie3i8
. location: eastus
creating storage account
. name: bie3i8storage
***** [I] Setting up INGESTION
creating eventhubs namespace
. name: bie3i8eventhubs
. capacity: 2
. capture: False
. auto-inflate: false
creating eventhub instance
. name: bie3i8in-2
. partitions: 2
creating consumer group
. name: dataexplorer
***** [D] Setting up DATABASE
checking Key Vault exists
creating KeyVault bie3i8spkv
checking service principal exists
creating service principal
WARNING: The output includes credentials that you must protect. Be sure that you do not include these credentials in your code or check the credentials into your source control. For more information, see https://aka.ms/azadsp-cli
WARNING: 'name' property in the output is deprecated and will be removed in the future. Use 'appId' instead.
getting service principal
ERROR: Service principal 'http://bie3i8adx-reader' doesn't exist
What does that mean "Service principal 'http://bie3i8adx-reader' doesn't exist "?

I am using https://github.com/Azure-Samples/streaming-at-scale/blob/main/eventhubs-dataexplorer/create-solution.sh get above error message.

Anybody can give me a suggestion on this?

I found that some mistake in create-service-principal.sh
should change below
appId=$(az ad sp list --display-name http://$SERVICE_PRINCIPAL_KV_NAME --query appId --output tsv)
to
appId=$(az ad sp list --display-name http://$SERVICE_PRINCIPAL_KV_NAME --query  "[].appId" --output tsv)
otherwise appId is blank.


Example returns invalid_client

I use the snippet 'Get OAuth2 access token from AAD and forward it to the backend.policy.xml' in my API Management. This returns invalid_client, i.e. wrong secret. But I have verified that the secret in fact is correct. What I have done

Set up the correct named values
Created an oAuth query with Postman with the same named values. This returns a bearer_token
When I use the example above in the API Management it returns the error 'invalid_client', but the value in the named value clientsecret is correct.
This means that it most likely is a issue with the query.

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

ID: 03076d2c-a751-f8f7-e96d-769b3f4084b7
Version Independent ID: 602893c4-c031-4478-25b7-182ae0f517b3
Content: Azure API management policy sample - Use OAuth2 for authorization between the gateway and a backend
Content Source: articles/api-management/policies/use-oauth2-for-authorization.md
Service: api-management
GitHub Login: @vladvino
Microsoft Alias: apimpm

@ystrte Thank you for the feedback. We will review and provide and update as appropriate.

I resolved the issue.
The policy expression can not parse all characters in client_secret. Not sure which ones, probably +, /, .
I resolved it by generating a new secrets.

@ystrte Glad you were able to solve your issue! I'm unsure about any character restrictions when working with policy expressions and named values.
@vladvino @miaojiang Could you share insights here?

@ystrte On second thought, I believe the problem was that such characters were not URI encoded. The sample is correct in a way since the following comment does mention this -
<!-- Parameters: clientSecret - a URL encoded secret, obtained during app registration -->

I believe you should be able to use Uri.EscapeDataString() in the expression if the secret is not URI encoded before setting it in a property.
Since there is no doc update required at the moment, we will now proceed to close this thread. If there are further questions regarding this matter, please tag me in your reply. We will gladly continue the discussion and we will reopen the issue.

This is not only in inbound policies, if the client secret has those above mentioned special characters it doesn’t work from anywhere other than postman or similar tools. To troubleshoot the problem I tried to POST from an logic app too to get the token but it says unauthorised all the time, whereas same secret works in postman. Either the client secret shouldn’t have those special characters or we should see proper error message. This killed hours of mine to find this out. Please get us a permanent resolution.

@PramodValavala-MSFT
Is the only way to resolve this to regenerate secrets until they don't contain characters? I'm currently facing this issue when trying to create a client. I've generated so many secrets I have to wait for five minutes to cool down. I had it working fine before but now I have a string of failures.
Are there any specific encoding formats that Microsoft recommends that we can use to alleviate this issue?
This information isn't present in the Python documentation if this is the case (https://docs.microsoft.com/en-us/azure/data-factory/quickstart-create-data-factory-python)

"error":"invalid_client","error_description":"AADSTS7000215: Invalid client secret is provided.

I'm facing this same issue, where generated client_secret values, that have some special characters, will give invalid_client errors. Despite the docs saying to URI encode them, even working keys will not work when encoded.


Try to use OTG mode in linux Ubuntu but throw  Access denied  error

[ V ] Did you search the similar issue yet

I'm trying to recovery my broken Samsung A40 by using OTG mode (can't use touch pad and display screen is broken)
and I search the FAQ seems like using Linux system makes less issues. But when I use --otg command it shows the issue log as following with a tiny scrcpy default icon window. Could you plz give me some hints to solve it? Thank you so much!!
Had been turned on developer mode before
Yes
Environment
Android Version
Android 10
Linux Version
steven@LinuxUbuntu:~$ lsb_release -a
No LSB modules are available.
Distributor ID:	Ubuntu
Description:	Ubuntu 22.04.4 LTS
Release:	22.04
Codename:	jammy

Scrcpy Version
steven@LinuxUbuntu:~$ scrcpy --version
scrcpy 2.6.1 <[https://github.com/Genymobile/scrcpy](https://github.com/Genymobile/scrcpy?fbclid=IwZXh0bgNhZW0CMTAAAR3yxpjKQgKpsm2auPB-kyuwL6-hlMARJEC-_ZjBZXmttKcEuxX1Byx_YNQ_aem_rRL26zCzAb5-j4Ws-HQ42g)>

Dependencies (compiled / linked):
 - SDL: 2.0.20 / 2.0.20
 - libavcodec: 58.134.100 / 58.134.100
 - libavformat: 58.76.100 / 58.76.100
 - libavutil: 56.70.100 / 56.70.100
 - libavdevice: 58.13.100 / 58.13.100
 - libusb: - / 1.0.25

Issue Log
steven@LinuxUbuntu:~$ scrcpy --otg -Vdebug
scrcpy 2.6.1 <[https://github.com/Genymobile/scrcpy](https://github.com/Genymobile/scrcpy?fbclid=IwZXh0bgNhZW0CMTAAAR3NNWnJs9tZGwSDdiT-0XaD_ddteqmvaCyr451-fRhHQWGWMpzGeVvBsic_aem_S34IptteR0iElGdTn0UpMg)>
DEBUG: Open USB device 1d6b:0003: libusb error: Access denied (insufficient permissions)
DEBUG: Open USB device 0bda:4852: libusb error: Access denied (insufficient permissions)
DEBUG: Open USB device 1d6b:0002: libusb error: Access denied (insufficient permissions)
DEBUG: Open USB device 0bda:8153: libusb error: Access denied (insufficient permissions)
DEBUG: Open USB device 1d6b:0003: libusb error: Access denied (insufficient permissions)
DEBUG: Open USB device 13d3:5419: libusb error: Access denied (insufficient permissions)
DEBUG: Open USB device 2109:8817: libusb error: Access denied (insufficient permissions)
DEBUG: Open USB device 1d6b:0002: libusb error: Access denied (insufficient permissions)
INFO: USB device found:
INFO:     --> RF8MA2T5KWJ        (04e8:6860)  SAMSUNG SAMSUNG_Android
DEBUG: Starting AOA thread
DEBUG: Using icon: /usr/local/share/icons/hicolor/256x256/apps/scrcpy.png
DEBUG: User requested to quit
DEBUG: quit...

But when I use --otg command it shows the issue log as following with a tiny scrcpy default icon window

So this works: the tiny scrcpy window is to capture mouse and keyboard events, they are injected to your Android device. Try with a non-broken phone to understand the behavior.
You enabled the debug mode, the "permission denied" are related to listing your USB devices on your computer (as listed by lsusb).

Thanks for your reply! I play the OTG mode a little bit on a normal phone.
So it seems that I have to pass the screen code and the permission without watching the screen right?
I even cannot use adb logcat to check the system log lol

So it seems that I have to pass the screen code and the permission without watching the screen right?

https://github.com/Genymobile/scrcpy/issues/4914#issuecomment-2105635639

Although the command of comment is not for Samsung One UI, after practicing on my new phone for several days and try-and-error on my broken phone, I finally succeeded !!! Thank you so much, sir.


Add the ability to use props 'viewBox'

Allow user to modify viewBox properties. Extremely useful when user wants to scale the .

Thank you!


[BUG]I report exec./run_marqo.sh: exec format error at startup

When I execute docker run --name marqo-it -p 38882:8882 marqoai/marqo:latest

exec ./run_marqo.sh: exec format error

Hello @xzlinux , thanks for reporting this issue. Could you provide some more information about the environment you run the docker command? Is it on a mac book or a PC, or an instance in the cloud? What is the operating system?
Also could you post the result of this command as well? docker image inspect marqoai/marqo:latest Thanks.

Hello @xzlinux, just want to follow up to see if you managed to solve this issue. Thanks.


Building against ArborX (and Kokkos) in source tree

Hi, I'm planning to build both ArborX and Kokkos in source tree. The build instructions seem to assume Kokkos is "installed".
Right now, I have a project structure like below:
project
    - dep
        -- ArborX
        -- Kokkos
    - src
        -- main.cpp
    - CMakeLists.txt

Can you please tell me what to put in root CMakeLists.txt to get this to work?

cmake_minimum_required(VERSION 3.16)
project(MyProject CXX)

include(FetchContent)
FetchContent_Declare(
  Kokkos
  SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/dep/kokkos
  OVERRIDE_FIND_PACKAGE
)
FetchContent_MakeAvailable(Kokkos)
FetchContent_Declare(
  ArborX
  SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/dep/ArborX
)
FetchContent_MakeAvailable(ArborX)

add_executable(MyExe src/main.cpp)
target_link_libraries(MyExe ArborX::ArborX)

@dalg24 Does that mean that you can provide Kokkos and ArborX options during configuration, like -D Kokkos_ENABLE_SERIAL=ON and -D ArborX_ENABLE_MPI=ON?

@dalg24 Does that mean that you can provide Kokkos and ArborX options during configuration, like -D Kokkos_ENABLE_SERIAL=ON and -D ArborX_ENABLE_MPI=ON?

Yes

@dalg24 , thanks, it worked. Please note that I had to comment this out in ArborX/CMakeLists.txt to get this working:
if(Kokkos_ENABLE_CUDA)
   kokkos_check(OPTIONS CUDA_LAMBDA)
endif()

According to this reddit post, FetchContent does not seem to include *Config.cmake, leading to the issue. Not sure why that is.

With #863, the patch to comment out the check is no longer necessary when using Kokkos 4.1+.


Add registration end to end test

JIRA: https://openedx.atlassian.net/browse/MA-2109

PR Cover Letter

[ ] A detailed description of the changes in the body of the PR
[ ] If available, a link to the relevant JIRA ticket in the body of the PR

[PROJ-XXXX](https://openedx.atlassian.net/browse/PROJ-XXXX)

Sandbox

[ ] Build a sandbox for your branch and add a link here

Testing

[ ] i18n
[ ] RTL
[ ] Unit, integration, acceptance tests as appropriate
[ ] Analytics
[ ] Performance
[ ] Database migrations are backwards-compatible

Reviewers
If you've been tagged for review, please check your corresponding box once you've given the :+1:.

[ ] Code review #1
[ ] Code review #2
[ ] Docs review (required for UI strings/error messages)
[ ] UX review
[ ] Accessibility review
[ ] Product review

Documentation considerations

[ ] Are there user visible changes? If so, list who is affected, and include a pointer to the relevant code.
[ ] Should this be mentioned in the release notes? If so, make sure that you included a description.

DevOps assistance
If it's needed, or even if you suspect it might be needed, do any/all these things as early as possible. Don't surprise devops right before merging! For example, touching envs/aws.py or or envs/common.py are dead giveaways that you'll need assistance when pushing your changes out. Things that require devops attention include, but are not limited to:

configuration changes
feature flags
migrations
Ways to get devops attention, pick-and-choose whichever is most appropriate for your specific PR:
[ ] Tag devops on your PR (@edx/devops), either for review (more specific to devops = better) or just a general FYI
[ ] File a support ticket

FYI: Tag anyone who might be interested in this PR here.
Post-review

[ ] Squash commits

Current coverage is 48.70%

Merging #697 into master will increase coverage by +0.01% as of da16508

@@            master    #697   diff @@
======================================
  Files          435     435
  Stmts        28395   28402     +7
  Branches         0       0
  Methods          0       0
======================================
+ Hit          13828   13834     +6
  Partial          0       0
- Missed       14567   14568     +1

Review entire Coverage Diff as of da16508

Powered by Codecov. Updated on successful CI builds.

@mikekatz please review

:+1:


Close #44.

Complete the rectification program.

Now I remember that @favonia must be the person who fixed redtt's parser after I wrote a crappy one LOL!!


Design memeber page

@saadzaidi
Design member page and update profile page with new design that we discussed and finalized in class.
Due Date: 24 June 2016

ok

member page and update profile page design set according to the given tempelate


Dataset inspection functionality

Add dataset inspection capabilities, including:

Get a list of metadata field names
Get the type of a metadata field
Get a list of tensor names
Get the type of a tensor

Support added for C++, Python, C, and Fortran, though Fortran support the two list functions is deferred to a future PR due to the inherent difficulty in Fortran of working with arrays of C style strings

Codecov Report

Merging #291 (63a0aae) into develop (c414de8) will decrease coverage by 60.49%.
The diff coverage is 28.39%.

:exclamation: Current head 63a0aae differs from pull request most recent head d83c37d. Consider uploading reports for the commit d83c37d to get more accurate results

Additional details and impacted files

@@             Coverage Diff              @@
##           develop     #291       +/-   ##
============================================
- Coverage    77.61%   17.13%   -60.49%
============================================
  Files           66       66
  Lines         4065     4127       +62
============================================
- Hits          3155      707     -2448
- Misses         910     3420     +2510

Impacted Files
Coverage Δ

include/dataset.h
0.00% <0.00%> (-100.00%)
:arrow_down:

include/metadata.h
0.00% <ø> (-100.00%)
:arrow_down:

src/cpp/dataset.cpp
0.00% <0.00%> (-86.74%)
:arrow_down:

src/cpp/metadata.cpp
0.00% <0.00%> (-88.66%)
:arrow_down:

src/python/module/smartredis/util.py
91.83% <85.71%> (-1.03%)
:arrow_down:

src/python/module/smartredis/dataset.py
100.00% <100.00%> (ø)

include/client.h
0.00% <0.00%> (-100.00%)
:arrow_down:

include/logger.h
0.00% <0.00%> (-100.00%)
:arrow_down:

include/tensor.h
0.00% <0.00%> (-100.00%)
:arrow_down:

include/address.h
0.00% <0.00%> (-100.00%)
:arrow_down:

... and 51 more


Risk of Rain 2 | Can't exit drop pod

When installed on Risk of Rain 2 it does not allow players to exit the Drop pod upon starting. I have not tried with Mul-t or Acrid yet but every survivor I have tried so far who have a drop pod seem to be unable to exit the drop pod. Main visual imagery of issue is that the "Press E to exit drop pod" text is not there and pressing E does not allow exiting the pod. I have tried running with just Bepinex and HookGenPatcher and the issue is seen with only HookGenPatcher. Issue is also seen with controller.

If the issue is seen without bepinex but hookgenpatcher, then your pc is haunted as hookgenpatcher can't run without bepinex

May wanna reread my issue because I meant I only had bepinex and hookgenpatcher installed and the issue occured

You may want to consider this is a general bepinex unity patcher. Risk of Rain 2 has their own separate distributions for bepinex and hookgen. Please raise issues in the risk of rain 2 modding discord

Ok. Ill try that soon.


Allow either web only or all purpose search to be used

This PR https://github.com/tristantao/py-bing-search/pull/6 changed from the web only to the general purpose endpoint. I think either should be possible (it actually looks like this might be a good way to double your free quota if you're so inclined).

Great idea.


Detect when included into AppImage; root CA and engines path

This is a proposal to discuss a new feature.
OpenSSL should detect whether it is run from AppImage (Linux app bundle, http://appimage.org/)  to use an appropriate location for root CA certificates and crypto engines.
When a user downloads some AppImage, for example, Moolticute:
https://github.com/mooltipass/moolticute/releases/download/v0.21.0/Moolticute-x86_64.AppImage
they run it as follow:
~/Downloads $ chmod +x Moolticute-x86_64.AppImage
~/Downloads $ ./Moolticute-x86_64.AppImage

AppImage format is an executable header and compressed filesystem image which will be mounted to a temporary dir. If run with strace you may see following (strace if embedded info launcher script in my case):
$ grep ssl moolticute.strace.log
13524 open("/tmp/.mount_MooltiH7uOfu/usr/bin/../lib/libssl.so.1.0.2k", O_RDONLY|O_CLOEXEC) = 16
13524 open("/usr/lib/ssl/openssl.cnf", O_RDONLY) = 16
13524 open("/etc/ssl/certs/", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = 16
13524 stat("/etc/ssl/certs/f060240e.0", {st_mode=S_IFREG|0644, st_size=1298, ...}) = 0
13565 open("/tmp/.mount_MooltiH7uOfu/usr/bin/../lib/libssl.so.1.0.2k", O_RDONLY|O_CLOEXEC) = 13
13565 open("/usr/lib/ssl/openssl.cnf", O_RDONLY) = 13
13565 open("/etc/ssl/certs/", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = 13
13565 stat("/etc/ssl/certs/f060240e.0", {st_mode=S_IFREG|0644, st_size=1298, ...}) = 0
14334 stat("/etc/ssl/certs//244b5494.0",  <unfinished ...>
14334 open("/etc/ssl/certs//244b5494.0", O_RDONLY) = 33
14334 stat("/etc/ssl/certs//244b5494.1", 0x7fa97a144010) = -1 ENOENT (No such file or directory)

Luckily enough that libssl.so.1.0.2k was borowed from Ubuntu 16.04 and was run on the same distribution, it was able to find root CA certificates. But the location is different across distributions. The similar problem was attemted to be solved for GNU TLS by patch:
https://github.com/darealshinji/vlc-AppImage/issues/1#issuecomment-321041496
So I'm going to fork stable version of OpenSSL 1_0 (branch OpenSSL_1_0_2-stable) and try to create a similar patch.
I little worried about the config is still looked into /usr/lib/ssl/openssl.cnf
And patch to crypto engines is also hardcoded (seems they are not used for SSL connection, but still):
/tmp/.mount_MooltiH7uOfu/usr/lib$ strings libcrypto.so.1.0.2k | grep /engines
/usr/lib/x86_64-linux-gnu/openssl-1.0.0/engines

So as tier-1 I will create a searching for root CA in different locations.
Tier-2 will use APPDIR env var to search related to mount point
(APPDIR=/tmp/.mount_MooltiH7uOfu)
I understand this goes against security considerations but if it can be at least a compile-time option in the upstream that would be great.

While there is definitely an issue or two to be solved, I don't think that this is really something AppImage specific, and hence the solution should be a general solution and not AppImage specific either.
References:

https://media.ccc.de/v/ASG2018-174-2018_desktop_linux_platform_issues
https://gitlab.com/probono/platformissues#openssl
https://gitlab.com/probono/platformissues#certificates

This issue is not AppImage specific. It occurs whenever an application needs to ship a private copy of OpenSSL because the application cannot assume that the version of OpenSSL works with the application. For example, if the application is built against OpenSSL 1.0 then it will fail on distributions that ship OpenSSL 1.1, and vice versa, effectively forcing the application to bundle a private copy of OpenSSL.
Now, the private copy of OpenSSL must either ship its own set of certificates (which would be very cumbersome to maintain), or load the certificates from the system. Unfortunately, the different distributions happen to put them in apparently "random" locations (for no apparent good reason other than "distribution policy"):
"/etc/ssl/certs/ca-certificates.crt",     // Debian/Ubuntu/Gentoo etc.
"/etc/pki/tls/certs/ca-bundle.crt",       // Fedora/RHEL
"/etc/ssl/ca-bundle.pem",                 // OpenSUSE
"/etc/pki/tls/cacert.pem",                // OpenELEC
"/etc/ssl/certs",                         // SLES10/SLES11, https://golang.org/issue/12139
"/usr/share/ca-certs/.prebuilt-store/"    // Clear Linux OS; https://github.com/knapsu/plex-media-player-appimage/issues/17#issuecomment-437710032
"/system/etc/security/cacerts"            // Android

Hence, OpenSSL should fall back to loading certificates from all those known locations, and issue a clear recommendation for distributions where to put certificates going forward.

No, OpenSSL should not load all certs from all locations. That would be a very poor security practice -- anyone who can install things in one of the locations makes all programs that use OpenSSL trust all of the CA's.
Instead, each application should have its own trust store, or path to CA's. Yes it is a bit harder on everyone, and it would be nice if the various distro's and platforms could unify, but oh well.
I think this should be closed.

Thanks for joining the discussion @richsalz. What if all locations are within /etc, /usr, and /system - in other words, locations that are only writable by root?
How would you make an end-user desktop application that runs on all distributions, if you don't want to have to care for the certificates yourself?
Or maybe we could make it respect a certain environment variable to set a path to the certificates?

It's a tough problem, and one I do not think OpenSSL should solve, even if it could solve it.
If I were writing such an application, I would have an ordered list of directories to try, and I'd use the first one that existed as a directory, and had the right ownership and permissions.  Yes, ugh.

It may be worth noting that Go ships a hard-coded list of only /etc/ paths:
https://github.com/golang/go/blob/master/src/crypto/x509/root_linux.go
As far as I can tell, there's no permission verification, they just try each path until success: 1, 2.
I can understand the disinterest in hard-coding such paths in OpenSSL, but from a systemic perspective it might be useful to do so at the heart of the stack, so to speak, as this could reduce the number of applications shipping their own cert bundles. Perhaps as a default-off build option. Many small, infrequently-updated applications end up shipping certs as a path of least resistance to multi-distro support. (even Python and the JVM both ship their own).

I think one default location should be defined "at the heart of the stack", to increase standardization. The others should be searched as fallback locations.

There ought to be a distribution agnostic way to fetch the CTL location. My view is that this could be made part of the XDG specification.

Can SSL_CERT_FILE be used to point to the location of the certificates?
According to the documentation,

Alternatively the SSL_CERT_DIR environment variable can be defined to override this location. The default CA certificates file is called cert.pem in the default OpenSSL directory. Alternatively the SSL_CERT_FILE environment variable can be defined to override this location.

Please see https://github.com/FreeCAD/FreeCAD-AppImage/pull/34#issuecomment-583721701.

A possibility would be to be able to specify paths in the config file. Openssl would then only need to know one location, that of the config file.

Is there a way to find out, at runtime, from the OpenSSL that is on the system, the path to the certs?

Yes
const char *X509_get_default_private_dir(void);
const char *X509_get_default_cert_area(void);
const char *X509_get_default_cert_dir(void);
const char *X509_get_default_cert_file(void);

If the directory configured with --openssldir is /PATH/TO/OPENSSL, the three functions above will return the strings "/PATH/TO/OPENSSL/private", "/PATH/TO/OPENSSL", "/PATH/TO/OPENSSL/certs" and "/PATH/TO/OPENSSL/cert.pem", respectively.
Furthermore, the following three functions will return the names of the corresponding environment variables that libcrypto try to look at first, before using the above functions:
const char *X509_get_default_cert_dir_env(void);
const char *X509_get_default_cert_file_env(void):

Unfortunately, this is among the lot of under-documented libcrypto functions.

Thanks @levitte. Do you happen to know a way to find this out without needing a C/C++ program (e.g., from a shell script)?

At least for C / C++ applications, it sounds like it may make sense to create an auxiliary library for distro independent binaries, which would

Detect the distro
Mapped the distro name and version to the path of the certificates.

I suppose such an auxiliary library could fulfill many purposes, I bet many candidates are already mentioned here https://gitlab.com/probono/platformissues/blob/master/README.md

Marking as inactive, to be closed at the end of 3.4 dev, barring further input


Exposes Typescript errors

In order to get all the packages to build together, I had to ignore some Typescript errors
There are a few that are a bit confusing, I think some time needs to be spent on improving the current Livepeer implementation and getting Types straight across the different packages.
Working via the monorepo should make things a lot easier for you!

Merged the PR without types comments as they are fixed now


GH-16604: [C++][FlightRPC] Add async Flight client

Rationale for this change
Draft an async client API for Flight in C++.
What changes are included in this PR?
An implementation of DoAction, GetFlightInfo, and DoGet.
The next challenge will be to figure out how to handle writes.
Are these changes tested?
Sort of.
Are there any user-facing changes?
Adds new APIs.

Closes: #16604

CC @pitrou @zeroshade @wjones127 if you were interested in async APIs.
I had to add a small hook to ipc::StreamDecoder. I think it would be preferable to extract a formal "IPC state machine" from ipc/reader.cc and make sure that it's consistent with/used by both StreamDecoder and RecordBatchStreamReader.
TODOs:

[ ] Figure out how to handle writes (DoPut, DoExchange)
[ ] Switch to using TransportStatus to report errors (and maybe provide an arrow::Status on the side, or convert it to an error detail; see below)
[ ] Add RPC error details to TransportStatus (this is part of Flight RPC already, but adding it to TransportStatus will help formalize it)
[ ] Add tests

Things not handled here:

[ ] Server APIs
[ ] Python bindings (though I do want to sketch out how this works with asyncio or AnyIO; it seems community may prefer AnyIO: https://github.com/apache/arrow-adbc/issues/224)
[ ] Enabling this to work with StopToken (we need StopToken to be able to call a callback, I think)
[ ] Per-read timeouts (i.e. allow a long/unlimited timeout for a streaming RPC, but stop the RPC if the server does not send a message for a long time)
[ ] Making the sync API wrap the async API

Async DoPut is implemented, though there is a case not yet handled (and I haven't exposed backpressure yet/and we probably need some mutexes)

For the record, if you added support for a single method (for example DoGet?), it might make reviewing a bit easier?

It turns out queueing writes is quite complicated since gRPC apparently does not wait for your callback to finish before invoking it again, so we are going to have to take some locks...

Rebased/squashed and converted GetFlightInfo to take shared_ptr. If that looks roughly reasonable I'll split out all other changes and add tests for async GetFlightInfo.

@lidavidm Sounds good to me!

Split out here: https://github.com/apache/arrow/pull/36517


Update AutoRest C# version to 3.0.0-beta.20231016.1

Update AutoRest C# version to 3.0.0-beta.20231016.1

close since it's covered by newer pr


Problems with pyQt4

I have installed artview through Anaconda on Debian, but when I try to run it, I get the following error:
Traceback (most recent call last):
  File "/home/fmhahne/.anaconda2/bin/artview", line 4, in <module>
    import artview.__main__
  File "/home/fmhahne/.anaconda2/lib/python2.7/site-packages/artview/__init__.py", line 54, in <module>
    from . import core
  File "/home/fmhahne/.anaconda2/lib/python2.7/site-packages/artview/core/__init__.py", line 21, in <module>
    from . import common
  File "/home/fmhahne/.anaconda2/lib/python2.7/site-packages/artview/core/common.py", line 8, in <module>
    from .core import QtGui, QtCore
  File "/home/fmhahne/.anaconda2/lib/python2.7/site-packages/artview/core/core.py", line 10, in <module>
    from PyQt4 import QtGui, QtCore
ImportError: No module named PyQt4

I tried to install pyqt4 (pyqt5 is already installed) with:
conda install pyqt=4

but I get:
Fetching package metadata ...........
Solving package specifications: .

UnsatisfiableError: The following specifications were found to be in conflict:
  - arm_pyart
  - pyqt 4*
Use "conda info <package>" to see the dependencies for each package.

When I run the test tests/qt.py I get the following error:
testing matplotlib qt backend ...
Traceback (most recent call last):
  File "qt.py", line 18, in test_matplotlib_qt_backend
    from PyQt4 import QtCore as QtCore4
ImportError: No module named PyQt4

... If you experience this test failure, it may be an expected! We would like to know why, please report in 'https://github.com/nguy/artview/issues'

Someone knows how to fix it?

I would suggest using the newest version (1.3) which is PyQt5 compatible. There is no conda package for it, so you will have to download from here and install manually (it should be really simple).

It worked. Thanks!


Telemetry: Record DB creation time

Now that we've established that TRAP caching seems to be working as expected, I'd like to move on to measuring what performance gains it's giving us. In order to do that, we actually need some telemetry covering the extraction time, which we do not have at the moment. For scanned languages, this happens as part of the DB creation (alongside finalization). We could try and record a more granular time for just the extraction time of individual languages, and separately recording the time for TRAP import. However, I'm hesitant to add more language-specific fields to our telemetry so I think for now just recording the total DB creation time will be enough and is certainly an improvement on what we have now (nothing).
Merge / deployment checklist

[x] Confirm this change is backwards compatible with existing workflows.
[x] Confirm the readme has been updated if necessary.
[x] Confirm the changelog has been updated if necessary.

This looks mostly sensible, but I wonder whether the term "database creation time" could be misleading, as it's not clear to me whether it includes tracing or not. "Extraction time" is another option, however this also seems unclear. If it's sufficient to just look at scanned languages, we could go for something like "scanned_languages_database_creation_time"?

Hmm, indeed this is why opened this for review before doing the backend changes so we can decide on precisely what we want to measure and how to call it. As it's set up at the moment, this records (extraction of scanned languages + TRAP import time for all languages). I'd be keen to not add extaction_time_$lang fields for each scanned language since then we have to add DB columns whenever we add a language. We can't easily separate out the TRAP import times by language either because it's all done by one CLI command on the cluster. We could separate out scanned_languages_extraction_time from trap_import_time if we wanted to, by plumbing this down a bit deeper.

@henrymercer How about the slightly finer-grained version I've just pushed that splits up extraction of scanned languages from TRAP import? That's as fine-grained as we can go without adding per-language fields.


How can I build it on windows?

Hello!
I want to use it on windows,but I can‘t build it.Because it use a linux lib.What should I do?
Thanks!

it's explained under the "building" heading in the readme.

Hi,@arvidn
I see that the library calls the Linux system API.Can I compile it on windows?I compile it according to readme.But there was an error saying I was missing the header file.Such as alloca.h and sys/mman.h.


[Tabs] Unable to open a Popover using Tab's onActive handler on mobile browser

Problem description
Unable to open a Popover using onActive handler on a Tab on mobile browsers. The popover automatically disappears after being momentarily shown.
Steps to reproduce
Important: You must use "device mode" in Chrome developer tools, or use Chrome on Android device to reproduce this issue. It is NOT reproducible on desktop.

Have a Tab with onActive callback.
Let the callback set the open state of a Popover

Note: react-tap-event-plugin is injected. Not sure if that matters in this case.
Possible Fix
I'm able to fix this issue by calling event.preventDefault(); just before invoking tab.props.onActive(tab); in this line in Tabs.js.
Another possibility is If the event object is passed to the onActive callback, the application code can call preventDefault() itself if needed.
Versions

Material-UI: 0.15.0
React: 15.0.2
Browser: Chrome 50 on Android 6.0.1, Google Chrome 50 on Mac OS X (Device Mode only)

The popover automatically disappears after being momentarily shown.

I have already seen this issue, I think that it's linked to some events being triggered on the new element being displayed. Adding a delay should solve the issue.


[BUG] Click on a workflow node that has multiple SQL type nodes, and the SQL edit box displays the contents of the SQL statement that is not the current click node

When A workflow has multiple SQL type nodes, such as node A, node B, and node C. When nodes A, B and C are clicked respectively, then A or B or C is clicked. The Sql statement displayed in the node Sql edit box is not the Sql content of the currently clicked node, for example, the Sql content of node B or node C is displayed when node A is clicked.

Using DS-1.2.1-release

@break60  +1

ok
------------------ 原始邮件 ------------------
发件人<EMAIL_ADDRESS>发送时间: 2020年4月2日(星期四) 下午2:36
收件人<EMAIL_ADDRESS>抄送: "数码港"<790061044<EMAIL_ADDRESS>主题: Re: [apache/incubator-dolphinscheduler] [BUG] Click on a workflow node that has multiple SQL type nodes, and the SQL edit box displays the contents of the SQL statement that is not the current click node (#2364)
@break60  +1
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or unsubscribe.

Is this issue sloved?

#2366

Problems still exist in version 1.2.1

Any progress of this issue?  Kind of easy to overwrite the sql content by mistake

Close by ##2366, pls check new version


Make mysql storage backend a configurable option rather than the default

To prevent compilation failures for users who do not require mysql.

CC @WorldWay

Why it will fail if mysql support is compiled by default?

Why it will fail if mysql support is compiled by default?

Because it depends on the MySQL library, compilation will fail if it is absent.

ping @InfoHunter  @WorldWay


TI API: user mobility problem

Problem description
The TI API can be invoked for any user or for specific users. Currently if the API is invoked for any user and than it is invoked for a specific user, the "any user intent" is automatically deleted and the network is optimized only for the specifically requested users. This doesn't work with user mobility when I invoke the API for any user but then I detect that a user is moving among geographical areas. To optimize the network for that user I invoke the TI API for that user specifically and the system automatically delete the "any user intent". This behavior is not correct.
Expected behavior
The "any user intent" must be manually deleted by the API Consumer.
Use Case 1: optimization for any user while supporting user mobility

TI API invoked for any user
TI API invoked for the user that is moving
The network is anyway optimized for any user
Use Case 2: after a trial phase where every user is optimized, just some selected user are optimized
TI API invoked for any user (trial phase)
TI API invoked to delete the "any user" intent
TI API invoked for the selected users
The network is optimized only for the selected users

Required Action
Modification of the TI API documentation

Fixed with: https://github.com/camaraproject/EdgeCloud/pull/315


draft: quark builder with cli

Hey @sameo ! My pull request is ready now. Take a look !

Hey @sameo , my PR is ready for review !


⚠ SceneTime has degraded performance

In a5720a2, SceneTime ($ST) experienced degraded performance:

HTTP code: 200
Response time: 1512 ms

Resolved: SceneTime performance has improved in 51f9dac after 14 minutes.


fix: Set cte_follows_insert to True

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

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

Fixes #<issue_number_goes_here> 🦕
cte_follows_insert is a dialect flag which dictates where the CTE appears relative to an insert-from-select statement.
For example, when cte_follows_insert=True, then SA will generate
INSERT INTO table
WITH cte_name AS (
  ...
)
SELECT * FROM cte_name

and when cte_follows_insert=False, then SA will generate
WITH cte_name AS (
  ...
)
INSERT INTO table
SELECT * FROM cte_name

If we unskip the compliance test test_insert_from_select_round_trip, the test will fail with
FAILED tests/sqlalchemy_dialect_compliance/test_dialect_compliance.py::CTETest_bigquery+bigquery::test_insert_from_select_round_trip - sqlalchemy.exc.DatabaseError: (google.cloud.bigquery.dbapi.exceptions.DatabaseError) 400 POST https://bigquery.googleapis.com/bigquery/v2/projects/flywheel-dev-328120/queries?prettyPrint=false: Syntax error: Unexpected keyword INSERT at [5:2]
[SQL: WITH `some_cte` AS
(SELECT `some_table`.`id` AS `id`, `some_table`.`data` AS `data`, `some_table`.`parent_id` AS `parent_id`
FROM `some_table`
WHERE `some_table`.`data` IN UNNEST(%(data_1:STRING)s))
 INSERT INTO `some_other_table` (`id`, `data`, `parent_id`) SELECT `some_cte`.`id`, `some_cte`.`data`, `some_cte`.`parent_id`
FROM `some_cte`]
[parameters: {'data_1': ['d2', 'd3', 'd4']}]

This is because by default SA uses cte_follows_insert=False, but BQ syntax expects CTEs to follow inserts.
Here's a snippet that can reproduce the issue:
import sqlalchemy as sa

engine = sa.create_engine("bigquery://")
conn = engine.connect()

meta = sa.MetaData()
source_table = sa.Table(
    "source_table",
    meta,
    sa.Column("id", sa.Integer()),
    sa.Column("value", sa.Integer()),
    schema=DATASET_NAME,
)
dest_table = sa.Table(
    "dest_table",
    meta,
    sa.Column("id", sa.Integer()),
    sa.Column("value", sa.Integer()),
    schema=DATASET_NAME,
)
meta.create_all(bind=conn)

conn.execute(source_table.insert().values([
    {"id": 1, "value": 5},
    {"id": 2, "value": 2},
    {"id": 3, "value": 4},
    {"id": 4, "value": 9},
    {"id": 5, "value": 7},
    {"id": 6, "value": 1},
]))

cte_expr = sa.select(source_table.columns).where(source_table.c.value >= 5).cte("cte")
insert_stmt = dest_table.insert().from_select(cte_expr.columns, cte_expr)

conn.execute(insert_stmt)

Previously, the insert statement would fail with:
[SQL: WITH `cte` AS
(SELECT `source_table`.`id` AS `id`, `source_table`.`value` AS `value`
FROM `holyoke_test`.`source_table`
WHERE `source_table`.`value` >= %(value_1:INT64)s)
 INSERT INTO `holyoke_test`.`dest_table` (`id`, `value`) SELECT `cte`.`id`, `cte`.`value`
FROM `cte`]
[parameters: {'value_1': 5}]
(Background on this error at: https://sqlalche.me/e/20/4xp6)

But now it succeeds. We can see the query that it generates now correctly writes the cte after the insert statement.
In [5]: from sqlalchemy_bigquery import BigQueryDialect; print(str(insert_stmt.compile(dialect=BigQueryDialect())))
INSERT INTO `holyoke_test`.`dest_table` (`id`, `value`) WITH `cte` AS
(SELECT `source_table`.`id` AS `id`, `source_table`.`value` AS `value`
FROM `holyoke_test`.`source_table`
WHERE `source_table`.`value` >= :value_1)
 SELECT `cte`.`id`, `cte`.`value`
FROM `cte`

@Linchin please take a look

@tswast Thanks for the heads up! Sorry for the delay, I got pulled into other projects.
@aholyoke Thanks a lot for helping fix this bug! Also the description is very thorough, which really helps with reviewing.


Interact with Wayland clipboard via cli

As long as there's no clarification on #913 (how to manage interaction between X and Wayland clipboard) I'd love to interact with sway's clipboard via a cli application such as swaymsg. I'm using pass which is using xclip by default. It would be lovely to pipe passwords from pass (or any other cli application) into the Wayland clipboard.

Keeping it open until we can read from the clipboard too.

Thinking about this I'm not sure if reading from the clipboard is a feature you want to implement? As the copy to clipboard functionality works over swaymsg, wouldn't it be possible for malicious processes to read the clipboard if there was a swaymsg get-clipboard?

You can also do things like run swaygrab to capture the screen or swaymsg to use swaymsg's IPC permissions. Part of a secure system is sandboxing things you want to keep under control, which includes removing access to swaymsg -t get_clipboard from the equation.

So i will probably try to implement it the next days (will require to expose more of wlc's internals). A few questions:

should it be get_clipboard and set_clipboard or rather clipboard set and clipboard get?
is it enough to handle text support (i.e. text/plain targets, simply fail if the cilpboard cannot provide this) or is anything else required? (it might be possible to dump other clipboard targets but it is probably not worth it IMO, would require a rather huge wlc interface addition)
(sorry, still not too familiar with the codebase) where is security handled? is there an example of an command dealing with security (or isn't it handled by the command implementation directly?

should it be get_clipboard and set_clipboard or rather clipboard set and clipboard get?

Well, sway commands cannot output information, similar to i3 commands (I want to change this in the future - but not now). For the time being you should add a new IPC message type and we can use swaymsg -t get_clipboard.

is it enough to handle text support (i.e. text/plain targets, simply fail if the cilpboard cannot provide this) or is anything else required? (it might be possible to dump other clipboard targets but it is probably not worth it IMO, would require a rather huge wlc interface addition)

Sure, that's fine for now, but don't paint us into a corner such that we can't change that later.

(sorry, still not too familiar with the codebase) where is security handled? is there an example of an command dealing with security (or isn't it handled by the command implementation directly?

You get security for new commands for free, you should just set their permissions appropriately in /etc/sway/security.d/00-defaults if the defaults aren't sufficient. For the new IPC message, however, you will have to do a bit more. Add a new feature type:
https://github.com/SirCmpwn/sway/blob/master/include/sway/config.h#L223
Then, when you implement it in ipc-server.c, check it with something similar to this:
https://github.com/SirCmpwn/sway/blob/master/sway/ipc-server.c#L353
And add an IPC subcommand so that this can be configured:
https://github.com/SirCmpwn/sway/blob/master/sway/commands/ipc.c

Thanks for the pointers, am on it.

I don't think that this was actually resolved by Cloudef/wlc#273, although GitHub automatically closed this.

How can the clipboard be set on Sway 1.0? Above command does not work.

https://github.com/swaywm/wlr-protocols/issues/20

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

Note that @bugaevc's solution uses a hack to get keyboard focus (which spawns a transparent window, probably resulting in flickers in Sway because it shows up as tiling). This should be fixed by the clipboard manager protocol we're working on.

Yes — and the plan is, when new protocol materializes, make wl-clipboard automatically use it instead of the transparent surface hack when running under wlroots-based compositors.

@bugaevc @emersion Do either of you happen to know if there is anyway the window might be configured to spawn in the background? For example, I'm not sure if for_window rules take effect before the window is drawn, or after, but if they are applied before, and the transparent window is given a known instance id or class, one might be able to add something like for_window [app_id="wl-clipboard"] move scratchpad to their config to avoid triggering window tiling.
Right now the flickering is quite bad with Neovim / Sway - every time text is yanked, the window temporarily resizes / flickers.

@khughitt I found the following to work: for_window [title="wl-clipboard"] floating enable

@YaLTeR That did the trick! Thanks for the suggestion!

Right now the flickering is quite bad with Neovim / Sway - every time text is yanked, the window temporarily resizes / flickers.

This is now fixed in wl-clipboard master by using another hack — using the layer-surface protocol instead of xdg-shell, the popup surface can be made to float automatically; there no need for the user to configure anything.
As far as implementing a proper solution instead of a bunch of hacks goes,

Yes — and the plan is, when new protocol materializes, make wl-clipboard automatically use it instead of the transparent surface hack when running under wlroots-based compositors.

The new protocol is now implemented both from the Sway/wlroots side and from the wl-clipboard side, though neither implementation is yet merged into the respective master branches.

This is now fixed in wl-clipboard master by using another hack — using the layer-shell protocol instead of xdg-shell, the popup surface can be made to float automatically; there no need for the user to configure anything.

Note that when security rules will be implemented, layer-shell will be locked down.

As mentioned in swaywm/sway#1919 (a duplicate of this request) and swaywm/wlr-protocols#20: https://github.com/bugaevc/wl-clipboard is the current way of setting the Wayland clipboard from the command line. The issues regarding the transparent window appear to be resolved and the for_window config file adjustment mentioned above is no longer necessary.


Blink

About the PR

blinks
Why / Balance

blinks
Technical details

Media

https://github.com/user-attachments/assets/d630e135-88c5-4f1e-8245-6a54e1ecee67
Requirements

[X] I have read and I am following the Pull Request Guidelines. I understand that not doing so may get my pr closed at maintainer’s discretion
[X] I have added screenshots/videos to this PR showcasing its changes ingame, or this PR does not require an ingame showcase

Breaking changes

Changelog

no cl, let people find out :trollface:

Like the emote, not so much the sound

The hell is that cartoony ass sound effect

Type of sound you could hear from Drake while blinking

Maybe add this sound only for mime?

peak

new emote sprite

Should be saved for mime, there's no reason there should be a sound effect for rest of crew.

it's funny but there needs to be a cooldown on the sound effect or else it's just going to be spammed like screams and yawns

it's funny but there needs to be a cooldown on the sound effect or else it's just going to be spammed like screams and yawns

this is general thing and out of scope for this pr

weh, that's not what i wanted to do, so if anyone other want to continue it, you are welcome


custom error msgs for built-in validators

Hi Aaron,
Thanks for this (I asked for this on stackoverflow and google group thread).
Yesterday I forked mongoose in order to fix this. Look at my fork and tell me your opinions please.
Thanks

An example would be great..

I've actually resorted to using a really hacky check against each of the errors in the error object and just setting a binary flag in my template for final output.  so a Big +1 from me on some examples.

There's a basic example in the validation docs but could be improved. Open to PR :) See #2778 to track that issue.


Overlapping credential timelines

Found in:

87c6bd423f537231d36ffa8ae8c26f91247f3b9f

Example Data:

https://orgbook-test.pathfinder.gov.bc.ca/en/organization/registration.registries.ca/BC0337062

Observed:
In this example case the credential timeline for the first expired credential overlap the timeline for the second expired credential.  When you hover over the first, it hides the second; refer to the screen shots below.
Expected:
The credential timelines don't overlap.

Other example(s):

https://orgbook-test.pathfinder.gov.bc.ca/en/organization/registration.registries.ca/BC0496513

BC0337062

Not able to duplicate this issue.  I tested loading this company on my local and the credentials loaded correctly, with the expected issue and expiry dates.
There are 3 possibilities:

Concurrency issue - two separate pods adding credentials to the same company at the same time (I think this is the most likely, although the issuer script tries to "batch" credentials for the same company together, so that they are processed serially, so this shouldn't happen)

These credentials were created around Nov 26, 2019 - there may have been a bug in the code at that time which has since been fixed (although I did a quick scan of the git commits and there was nothing obvious for this particular issue)

There is a bug in the existing code which happens sporadically and I just haven't tested enough, or I have too small a sample dataset on my local to get the issue to recur.

Putting this one back in the backlog for now ...

I was referring more to the display of the credentials.  If you look at the second screenshot you can see the second credential in the timeline is hidden when you hover over the first.

Yes that's because the expiry date isn't getting set properly, so the credentials have overlapping effective periods.
The expiry date is set by OrgBook when it receives the credential; the effective date is set by the issuer.

The expiry date is displayed in the red "Expired" box on the credential screen, if the credential is expired