sharjeelyunus/github-issues-dataset huggingface dataset:
Repository: material-ui
Issue: Improve Remix support
Labels: umbrella,dx

I've started experimenting with using Material UI and Joy UI components with Remix and I've run into a few bugs and blockers along the way. Browsing the issues here, I see several open threads where folks are discussing the same problems I've bumped into, so I thought it might be helpful to create an umbrella issue to bring all those discussions to one centralized, up-to-date location where folks can track the progress.

Here are all of the open issues I could find—some are overlapping, others are probably pretty outdated and possibly no longer relevant but I haven't dug too deeply into each one:

## Open

- [ ] #34170
- [ ] #31957
- [ ] #30359
- [ ] #31233
- [ ] #31140
- [x] #31835
- [ ] #30922
- [ ] #38965

## Problems

Here are the biggest things I see after reviewing these issues:
- Emotion doesn't play well with Remix / React 18
  - `renderToPipeableStream()` function doesn't work with Emotion, causing hydration issues
    - supposedly [this workaround](https://github.com/kiliman/remix-hydration-fix) can resolve the hydration stuff but I haven't tried it yet myself, and it looks like it came before Remix v2 so I don't know if that changes things
- MUI doesn't support ES modules - https://github.com/remix-run/remix/issues/7314#issuecomment-1706998472
  - Remix uses esbuild under the hood - #31835 
- as mentioned in #39641, it's not ideal to have to customize `entry.client.tsx` and `entry.server.tsx` if it can be avoided/minimized

## Potential solutions
- migrate away from Emotion - WIP - #38137 
- publish packages as ES modules -  #30671 
  - I've read that you can add `serverModuleFormat: 'cjs',` to `remix.config.js` to get around this problem, but it didn't work for me when I tried it—maybe I'm missing something

## Examples and docs

There are several things we could do to improve the documentation around Remix + MUI!

- We have a nice example of Remix v2 + Material UI: #39229
- We could use a similar example for Joy UI: #39641
- Base UI + Remix example too: #36193 
- It would also be really nice to have Integration guides for Remix like we do with the Next.js App Router
  - but maybe it's better to wait on "official" integration guides until we've resolved the bigger problems?

If there are any other known issues or requests to improve the DX, please share them here!
Repository: rust
Issue: Hint for E0790 does not result in valid code (missing path to implementation)
Labels: A-diagnostics,T-compiler,A-suggestion-diagnostics,D-invalid-suggestion

### Code

```Rust
mod base {
    pub trait T {
        fn f();
    }

    pub struct S;

    impl T for S {
        fn f() {}
    }
}

pub fn foo() {
    base::T::f();
}

fn main() { }
```


### Current output

```text
error[E0790]: cannot call associated function on trait without specifying the corresponding `impl` type
  --> awex.rs:14:5
   |
3  |         fn f();
   |         ------- `T::f` defined here
...
14 |     base::T::f();
   |     ^^^^^^^^^^ cannot call associated function of trait
   |
help: use the fully-qualified path to the only available implementation
   |
14 |     <S as base::T>::f();
   |     +++++        +
```

### Desired output

```text
help: use the fully-qualified path to the only available implementation
   |
14 |     <base::S as base::T>::f();
   |     +++++++++++        +
```

### Rationale and extra context

Since `base::S` has not been imported, the hint code should use `base::S` rather than `S`

### Other cases

_No response_

### Anything else?

I noticed this in `tests/ui/traits/static-method-generic-inference.rs`. Reduced to isolate the issue.
Repository: rust
Issue: Exponential compile time with nested `&dyn Fn` type and lifetime
Labels: I-compiletime,C-bug,T-types

Found with a [modified fuzz-rustc](https://github.com/jruderman/fuzz-rustc) (variant of #104583 that is still slow)

### Code

```rust
fn main() {}

fn q<'b>(_a: &'b u32) 
-> &dyn Fn(&dyn Fn(&dyn Fn(&dyn Fn(&dyn Fn(&dyn Fn(&dyn Fn(&dyn Fn(&dyn Fn(&dyn Fn(&dyn Fn(&dyn Fn(&dyn Fn(&'b u16)))))))))))))
{
    3_u8
}
```

### Time complexity

Seems exponential:

| Nesting level | Time |
|---------------|------|
| 9  |  0.4 sec |
| 10 |  1.6 sec |
| 11 |  6.7 sec |
| 12 |  33 sec |

### Where it's slow

* From `-Z time-passes`: `type_check_crate` ([full output](https://github.com/rust-lang/rust/files/13262191/n-ztp.txt))
* From sampling: seems like recursion involving type comparison ([head of sample tree](https://github.com/rust-lang/rust/files/13262193/n-sample-head.txt))

### Version

```
rustc 1.75.0-nightly (a2f5f9691 2023-11-02)
binary: rustc
commit-hash: a2f5f9691b6ce64c1703feaf9363710dfd7a56cf
commit-date: 2023-11-02
host: x86_64-apple-darwin
release: 1.75.0-nightly
LLVM version: 17.0.4
```

@rustbot label +I-compiletime
Repository: ollama
Issue: Unexplained permissions on macos binary.
Labels: bug

Hi @jmorganca, why does this app need **Bluetooth,** **Camera**, and **Mic** permission? All of this permission is listed on the info. list of the app. This app has quite minimalistic functions and runs in a CLI, I couldn't think of any necessary requirements for these permissions, please explain or if possible remove these permissions.
[
![infoplist](https://github.com/jmorganca/ollama/assets/37038989/6de22011-6f27-44d3-91a5-d498e348f387)
](url)
Repository: godot
Issue: force_drag causing segfault
Labels: bug,topic:plugin,crash,topic:gui

### Godot version

v4.2.beta.custom_build [5ee983188]

### System information

Godot v4.2.beta (5ee983188) - Ubuntu 22.04.3 LTS 22.04 - X11 - Vulkan (Forward+) - dedicated NVIDIA GeForce RTX 2060 (nvidia; 535.129.03) - Intel(R) Core(TM) i5-9400F CPU @ 2.90GHz (6 Threads)

### Issue description

Trying to get dag/drop working from within a GraphNode. When you drag, all is fine, but dropping anywhere crashes Godot.

This is happening on Godot 4.2.beta 4. I also compiled the source and did a bit of gdb. HTH.

### Steps to reproduce

1. Run my sample project. 
2. Enable the "Issue" plugin. 
3. Start it (bottom panel).
4. Drag from the red box and drop anywhere.

### Minimal reproduction project

Repo here:
https://gitlab.com/dbat/godot-force-drag-issue
Repository: material-ui
Issue: [test] Opt out of screenshot for flaky tests
Labels: test,enhancement,scope: code-infra

Suggested in https://github.com/mui/material-ui/pull/39711#issue-1973332553

- [ ] 1. Implement the `NoSnap` convention like MUI X https://github.com/mui/mui-x/blob/612fb24d6686565dd1adac613c2d42aadf3047d6/test/regressions/index.js#L19

```js
const blacklist = [
  /^docs-(.*)(?<=NoSnap)\.png$/, // Excludes demos that we don't want
  // 'docs-system-typography',
];
```

- [ ] 2. Update the `blacklist` to use the prefix for demos.
Repository: godot
Issue: When in VR, Submit Depth Buffer with MSAA enabled throws multiple Vulkan errors every frame
Labels: needs testing,topic:xr

### Godot version

4.1.stable.mono

### System information

Godot v4.1.1.stable.mono - Windows 10.0.22621 - Vulkan (Forward+) - dedicated NVIDIA GeForce RTX 2080 SUPER (NVIDIA; 31.0.15.4601) - AMD Ryzen 9 5950X 16-Core Processor (32 Threads)

### Issue description

When UseXR is enabled and actually drawing to an OpenXR runtime, having Submit Depth Buffer enabled alongside any non-zero level of MSAA 3D results in the following four errors being sent to console every single frame:

> E 0:00:01:0461   uniform_set_create: Image (binding: 0, index 0) needs the TEXTURE_USAGE_STORAGE_BIT usage flag set in order to be used as uniform.
>   <C++ Error>    Condition "!(texture->usage_flags & TEXTURE_USAGE_STORAGE_BIT)" is true. Returning: RID()
>   <C++ Source>   drivers/vulkan/rendering_device_vulkan.cpp:5572 @ uniform_set_create()
> E 0:00:01:0461   _allocate_from_uniforms: Condition "rid.is_null()" is true. Returning: rid
>   <C++ Source>   ./servers/rendering/renderer_rd/uniform_set_cache_rd.h:129 @ _allocate_from_uniforms()
> E 0:00:01:0461   compute_list_bind_uniform_set: Condition "!uniform_set" is true.
>   <C++ Source>   drivers/vulkan/rendering_device_vulkan.cpp:7827 @ compute_list_bind_uniform_set()
> E 0:00:01:0461   compute_list_dispatch: Uniforms were never supplied for set (1) at the time of drawing, which are required by the pipeline
>   <C++ Error>    Method/function failed.
>   <C++ Source>   drivers/vulkan/rendering_device_vulkan.cpp:8026 @ compute_list_dispatch()


### Steps to reproduce

1. Connect a VR headset
2. Launch attached project
3. Watch the error count in the debugger tab skyrocket

### Minimal reproduction project

[DepthBufferSubmitErrorRepro.zip](https://github.com/godotengine/godot/files/13263208/DepthBufferSubmitErrorRepro.zip)
Repository: transformers
Issue: KV cache optimization with paged attention 
Labels: WIP

### Feature request

Paged attention has been enabled by a lot of  server engine, e.g., [vllm](https://github.com/vllm-project/vllm), [tensorrt-llm](https://github.com/NVIDIA/TensorRT-LLM/blob/release/0.5.0/tensorrt_llm/runtime/kv_cache_manager.py)

### Motivation

KV cache is used to reduce computation for Decoder layer but it also bring memory overheads, for example, when we use beam search, the kv_cache should be reordered according to latest beam idx and the current key/value should also be concat with kv_cache in the attention layer to get entire context to do scale dot product. When the sequence is very long, the memory overhead will be performance bottleneck.

### Your contribution

No PR yet
Repository: tauri
Issue: [bug] Event emit crashes app with high call rate
Labels: type: bug,priority: 1 high,status: needs triage

### Describe the bug

Too many calls to [`tauri::Window::emit`](<https://docs.rs/tauri/latest/tauri/window/struct.Window.html#method.emit>) in a short amount of time causes the app to crash.

### Reproduction

Initial testing was conducted using a [minimal reproduction](<https://github.com/i-c-b/tauri-download-test>) with the `upload` plugin and downloading the latest [daily Blender build](<https://builder.blender.org/download/daily/archive/>). It was later narrowed down to be related to the event system and an [event flooder](<https://github.com/i-c-b/tauri-event-flood>) was created which exhibits the same behaviour on a more consistent basis with 100,000 or more calls.

### Expected behavior

_No response_

### Platform and versions

```text
[✔] Environment
    - OS: Windows 10.0.22000 X64
    ✔ WebView2: 119.0.2151.44
    ✔ MSVC: Visual Studio Community 2022
    ✔ rustc: 1.72.0 (5680fa18f 2023-08-23)
    ✔ cargo: 1.72.0 (103a7ff2e 2023-08-15)
    ✔ rustup: 1.26.0 (5af9b9484 2023-04-05)
    ✔ Rust toolchain: stable-x86_64-pc-windows-msvc (default)
    - node: 20.9.0
    - pnpm: 8.10.2
    - yarn: 1.22.19
    - npm: 10.1.0

[-] Packages
    - tauri [RUST]: 1.5.2
    - tauri-build [RUST]: 1.5.0
    - wry [RUST]: 0.24.4
    - tao [RUST]: 0.16.5
    - @tauri-apps/api [NPM]: 1.5.1
    - @tauri-apps/cli [NPM]: 1.5.6

[-] App
    - build-type: bundle
    - CSP: unset
    - distDir: ../dist
    - devPath: http://localhost:1420/
    - bundler: Vite
```


### Stack trace

_No response_

### Additional context

This issue was previously discussed on [Discord](<https://discord.com/channels/616186924390023171/1166423822061285419>). @FabianLars demonstrated a mitigation for the `upload` plugin by reducing the frequency of calls to `emit` on the [`download-throttled-events` branch](<https://github.com/tauri-apps/plugins-workspace/tree/download-throttled-events/plugins/upload>) which led to reduced crashing but didn't eliminate it entirely. The impact this issue has on the `upload` plugin would be reduced in environments with slow drives and fast networks as there is more time between messages and fewer overall messages.
Repository: material-ui
Issue: [material-ui][Card] Components get highlighted and retain highlight after swipe gesture on Android 13+ devices
Labels: component: card,package: material-ui

### Duplicates

- [X] I have searched the existing issues

### Latest version

- [X] I have tested the latest version

### Steps to reproduce 🕹

Link to live example:
you can find minimal code example to reproduce the issue [here](https://github.com/Swapnil-pratiti/react-mui-cap-poc/tree/master)

video:

https://github.com/mui/material-ui/assets/105718689/52cdc475-d6ce-43e1-be6b-58ca9a554d37


https://github.com/mui/material-ui/assets/105718689/a0086279-2e02-468e-a693-33cd59b89c44

Steps:

1. I am using react js + material ui, we are using Capacitor to build the native applications
2. My home page consists of the grid of cards, when I try to swipe back the cards get highlighted and retain the highlight even after the swipe gesture.


### Current behavior 😯

cards get highlighted when the user is performing a gesture.

### Expected behavior 🤔

cards should show the ripple animation only on the onClick event. It is working as expected on Android <=12 & iPhone.

### Context 🔦

_No response_

### Your environment 🌎

<details>
  <summary><code>npx @mui/envinfo</code></summary>

```

  System:
    OS: Linux 5.15 Ubuntu 20.04.6 LTS (Focal Fossa)
  Binaries:
    Node: 18.17.0 - /usr/bin/node
    Yarn: Not Found
    npm: 10.2.0 - /usr/bin/npm
  Browsers:
    Chrome: 115.0.5790.170
  npmPackages:
    @emotion/react: ^11.11.1 => 11.11.1 
    @emotion/styled: ^11.11.0 => 11.11.0 
    @mui/base:  5.0.0-beta.21 
    @mui/core-downloads-tracker:  5.14.15 
    @mui/icons-material: ^5.14.16 => 5.14.15 
    @mui/lab: ^5.0.0-alpha.151 => 5.0.0-alpha.150 
    @mui/material: ^5.14.16 => 5.14.15 
    @mui/private-theming:  5.14.15 
    @mui/styled-engine:  5.14.15 
    @mui/system:  5.14.15 
    @mui/types:  7.2.7 
    @mui/utils:  5.14.15 
    @mui/x-date-pickers: ^6.17.0 => 6.17.0 
    @mui/x-tree-view:  6.0.0-alpha.1 
    @types/react: ^18.2.34 => 18.2.33 
    react: ^18.2.0 => 18.2.0 
    react-dom: ^18.2.0 => 18.2.0 
    typescript: ^5.2.2 => 5.2.2 
```
</details>
Repository: PowerToys
Issue: Mouse Without Borders - Moving mouse leaves trail/artifacts/leftovers of cursors
Labels: Issue-Bug,Priority-2,Needs-Triage,Needs-Team-Response,Product-Mouse Without Borders

### Microsoft PowerToys version

0.75.1

### Installation method

Chocolatey

### Running as admin

Yes

### Area(s) with issue?

Mouse Without Borders

### Steps to reproduce

- **Computer 1:** Windows 11 Pro 22H2 (OS Build 22621.2428), NVIDIA GeForce GTX 1050 Ti
- **Computer 2:** Windows Server 2022 Datacenter 21H2 (OS Build 20348.2031), NVIDIA GeForce GTX 1660
- PowerToys 0.75.1 on both

**Symptoms:**
- Dragging mouse from Computer 1 to Computer 2 results in mouse trail/artifacts (USB mouse in Computer 1)
- Dragging mouse from Computer 2 to Computer 1 works as expected without mouse trail/artifacts (USB mouse in Computer 2)

### ✔️ Expected Behavior

No mouse trail

### ❌ Actual Behavior

![image](https://github.com/microsoft/PowerToys/assets/49938263/8a8d913b-4b35-49c1-aefb-81a0487a25b0)

![2023-11-06_01-59-22_137](https://github.com/microsoft/PowerToys/assets/49938263/fb6606bd-f345-4c3e-a724-471ca6789dc3)

Standard mouse settings:
![image](https://github.com/microsoft/PowerToys/assets/49938263/c9439595-b26d-4173-b804-a407413d67fc)

### Other Software

Settings...

![image](https://github.com/microsoft/PowerToys/assets/49938263/ee44ee89-93d9-4152-9c5a-0de9bbd7f844)
Repository: stable-diffusion-webui
Issue: [Bug]: GPU memory leak when generation fails in api
Labels: bug-report

### Is there an existing issue for this?

- [X] I have searched the existing issues and checked the recent builds/commits

### What happened?

Before version 1.5.2, if image generation failed for some reason, the GPU memory used would not be released. In version 1.5.2, there is a memory fix commit(https://github.com/AUTOMATIC1111/stable-diffusion-webui/commit/12171ca9612cb36024b7f524c08750fdc57b3a96), but it only fixes a GPU memory leak bug in webui. If image generation fails when using API, GPU memory usage is still not released. This issue still exists in the current version 1.6.0.

### Steps to reproduce the problem

1. Start the service with "--api"
2. Enter the swagger page of Fastapi
3. Based on the your GPU memory size, configure parameters that can max out the GPU. A quick method is to set larger values for width and height and enable HiRes.Fix
4. Request "/sdapi/v1/img2img"
5. If your parameters result in a large VRAM requirement, it may lead to an OOM. After the OOM error occurs, the occupied GPU memory will not be released.

### What should have happened?

The system should release the occupied GPU memory after reporting an OOM error

### Sysinfo

None

### What browsers do you use to access the UI ?

Microsoft Edge

### Console logs

```Shell
None
```


### Additional information

The following screenshots illustrate the GPU memory usage for both webui and api methods before and after encountering an oom error.The service is running on Card 2 with 24GB of GPU memory and using the "sd_xl_base_1.0.safetensors" model. The GPU memory usage at the moment when the service is just started is as shown in the following image.

![image](https://github.com/AUTOMATIC1111/stable-diffusion-webui/assets/57706634/56305b72-5ff2-43b8-ba9e-932f6c212209)

The tests were performed in version 1.6.0. In order to trigger an OOM error, HR was used use, main parameters:
- width-->1024
- height-->1024
- hr_scale-->3

# webui
## before
The following screenshots show GPU usage during the sampling process in HR
![image](https://github.com/AUTOMATIC1111/stable-diffusion-webui/assets/57706634/649fc2bf-569b-4030-b1e7-77e523008aff)

## after
Because the GPU memory leak issue in the webui has been fixed, after an OOM error, the GPU memory is released and restored to the level it was at when the service started
![image](https://github.com/AUTOMATIC1111/stable-diffusion-webui/assets/57706634/a960ef88-a970-4469-8f0a-ba390602f21a)


# api
# before
The following screenshots show GPU usage during the sampling process in HR
![image](https://github.com/AUTOMATIC1111/stable-diffusion-webui/assets/57706634/4067d20f-3f21-468c-9d31-d46ed6295fab)

## after
When requested via the API, after an OOM error, the GPU memory is not released, and only closing the service can release it
![image](https://github.com/AUTOMATIC1111/stable-diffusion-webui/assets/57706634/32d841d7-0950-4768-a320-ee2734bab8f0)
Repository: PowerToys
Issue: Backslash "\" character is not available in keyboard manager.
Labels: Issue-Bug,Product-Keyboard Shortcut Manager,Needs-Triage

### Description of the new feature / enhancement

There are programs that require it and I can't access this character in the character selection list.



### Scenario when this would be used?

keyboard manager

### Supporting information

_No response_
Repository: flutter
Issue: iOS Video playback adaptation problem
Labels: platform-ios,p: video_player,package,team-ecosystem,has reproducible steps,P2,triaged-ecosystem,found in release: 3.13,found in release: 3.17

### Is there an existing issue for this?

- [X] I have searched the [existing issues](https://github.com/flutter/flutter/issues)
- [X] I have read the [guide to filing a bug](https://flutter.dev/docs/resources/bug-reports)

### Steps to reproduce

There will also be problems when playing this video using the official demo
Video address：https://8.217.99.129/%E5%B0%91%E5%B8%85%E5%BC%BA%E5%AE%A0-%E5%80%92%E8%B4%B4%E4%B8%8A%E9%97%A8%E5%A6%BB%EF%BC%88113%E9%9B%86%EF%BC%89/1.mp4

### Expected results

Hope it plays correctly

### Actual results

Video does not adapt to width

### Code sample

AspectRatio(
                aspectRatio: _videoPlayerController.value.aspectRatio,
                child: VideoPlayer(_videoPlayerController),
              )

### Screenshots or Video

![WechatIMG613](https://github.com/flutter/flutter/assets/26563271/94b99fdb-284e-4105-addd-0c1884eeb4a9)


### Logs

_No response_

### Flutter Doctor output

none
Repository: godot
Issue: Shadows dancing in VR
Labels: bug,topic:rendering,topic:xr,topic:3d

### Godot version

4.2.dev 5ee983188de97ae027f9b9c1443438063f708a7e

### System information

Windows 10 - Vulkan Mobile/Forward+

### Issue description

As far as I can tell this issue is unique to stereoscopic rendering but present on both Vulkan Mobile and Forward+ renderers. It may be a precision issue as the issue becomes worse the further away from the center of the world we go, but the issue appears very quickly.

Note that it is related to player movement, if the player is absolutely still (impossible in VR) the problem isn't noticeable. In the reproduction project I'm using the mobile VR interface so the issue can be reproduced without a headset, to simulate movement I'm vibrating the players position by a millimetre or two.

![vibrate](https://github.com/godotengine/godot/assets/1945449/4e5ddf92-cb1c-4d5b-a7b9-1800de46ecee)

Note in the capture above that none of the objects move, just the shadows are vibrating. The low framerate of the gif does not do justice to how nauseating this is :)

### Steps to reproduce

- Create a new project,
- add a ground plane,
- add a directional light shining on the ground plane,
- add an object that casts a shadow,
- add an XROrigin3D node, and an XRCamera3D child node
- add the following root script:
```
extends Node3D

var time_passed : float = 0

# Called when the node enters the scene tree for the first time.
func _ready():
	var interface : MobileVRInterface = XRServer.find_interface("Native mobile")
	if interface and interface.initialize():
		var vp = get_viewport()
		vp.use_xr = true

		# Undo lens distortion
		interface.k1 = 0.0
		interface.k2 = 0.0

func _process(delta):
	# Simulate tiny movement of user
	time_passed += delta
	$XROrigin3D.position.x = sin(time_passed) * 0.001
```

Now change the location of the root node around to move the entire scene, the further away from 0,0,0 we are, the more pronounced the issue

### Minimal reproduction project

This is a Godot 4.2 MRP that shows the issue (does not require VR hardware to test):
[test_shadow_shake.zip](https://github.com/godotengine/godot/files/13264938/test_shadow_shake.zip)
Repository: transformers
Issue: Add ReCag model
Labels: New model

### Model description

Want to add a new model ReCag in Transformers.

### Open source status

- [X] The model implementation is available
- [ ] The model weights are available

### Provide useful links for the implementation

_No response_
Repository: go
Issue: proposal: crypto/ecdsa: add UnmarshalPublicKey
Labels: Proposal,Proposal-Crypto

I'm working with the JS Web Push API to send push messages, which uses an ECDH Key in base64-encoded X9.62 uncompressed form, like `BJ932huv68tUDxifpf6qlzuRa_JBF-2E9J47alSQRuxpmt3QFtiCnhqXlPgZuGWKZzcp5jAzQYeHpMUB990JiHM`. I can easily parse that using `ecdh.P256().NewPublicKey(base64DecodedBytes)`, but that yields an `*ecdh.PublicKey`, while all the cryptography functions need an `*ecdsa.PublicKey`.

There appears to be no straightforward conversion from `*ecdh.PublicKey` to `*ecdsa.PublicKey`, the best thing I've found is an x509 PKIX roundtrip:

```go
func ecdhPublicKeyToECDSA(key *ecdh.PublicKey) (*ecdsa.PublicKey, error) {
	b, err := x509.MarshalPKIXPublicKey(key)
	if err != nil {
		return nil, fmt.Errorf("marshaling ecdh public key: %w", err)
	}
	parsedKey, err := x509.ParsePKIXPublicKey(b)
	if err != nil {
		return nil, fmt.Errorf("parsing marshaled ecdh public key: %w", err)
	}
	res, ok := parsedKey.(*ecdsa.PublicKey)
	if !ok {
		return nil, fmt.Errorf("x509.ParsePKIXPublicKey returned %T instead of *ecdsa.PublicKey", parsedKey)
	}
	return res, nil
}
```

That feels clunky, inefficient, and I lose type safety / need a type assertion. For the inverse conversion, there's already an `ecdsa.PublicKey.ECDH()` function. I propose adding something similar for ecdh to ecdsa conversion, both for public and private keys. I imagine it will have to be added to the ecdsa package to avoid cyclic imports.