facebook / facebook/pyrefly

the diagnosis of typing error of decorator is very hard to read.

Open
#1,115 2 comments 0 reactions 1 assignee Claimed by @asukaminato0721 View on GitHub
help wanted readability typechecking
Dominant language
Rust
Stars
7k
Forks
519
PR merge metrics
No merged PRs in 30d

Description

### Describe the Bug

this is the error log [here](https://github.com/langgenius/dify/actions/runs/17849473221/job/50758122410?pr=25957)

```py
--> controllers/console/app/app.py:185:13
|
185 | app_model.access_mode = app_setting.access_mode
| ^^^^^^^^^^^^^^^^^^^^^
|
ERROR Argument `((view_func: (*args: Unknown, **kwargs: Unknown) -> OrderedDict[Unknown, OrderedDict[Unknown, Unknown | None] | dict[Unknown, Unknown | None]] | OrderedDict[Unknown, OrderedDict[Unknown, Unknown] | dict[Unknown, Unknown]] | OrderedDict[Unknown, Unknown | None] | OrderedDict[Unknown, list[Unknown]] | OrderedDict[Unknown, Unknown] | dict[Unknown, OrderedDict[Unknown, Unknown | None] | dict[Unknown, Unknown | None]] | dict[Unknown, OrderedDict[Unknown, Unknown] | dict[Unknown, Unknown]] | dict[Unknown, Unknown | None] | dict[Unknown, list[Unknown]] | dict[Unknown, Unknown] | list[Unknown] | tuple[OrderedDict[Unknown, OrderedDict[Unknown, Unknown | None] | dict[Unknown, Unknown | None]] | OrderedDict[Unknown, OrderedDict[Unknown, Unknown] | dict[Unknown, Unknown]] | OrderedDict[Unknown, Unknown | None] | OrderedDict[Unknown, list[Unknown]] | OrderedDict[Unknown, Unknown] | dict[Unknown, OrderedDict[Unknown, Unknown | None] | dict[Unknown, Unknown | None]] | dict[Unknown, OrderedDict[Unknown, Unknown] | dict[Unknown, Unknown]] | dict[Unknown, Unknown | None] | dict[Unknown, list[Unknown]] | dict[Unknown, Unknown] | list[Unknown], HTTPStatus | Unknown, dict[Unknown, Unknown] | Unknown]) -> _Wrapped[[*args: Unknown, **kwargs: Unknown], OrderedDict[Unknown, OrderedDict[Unknown, Unknown | None] | dict[Unknown, Unknown | None]] | OrderedDict[Unknown, OrderedDict[Unknown, Unknown] | dict[Unknown, Unknown]] | OrderedDict[Unknown, Unknown | None] | OrderedDict[Unknown, list[Unknown]] | OrderedDict[Unknown, Unknown] | dict[Unknown, OrderedDict[Unknown, Unknown | None] | dict[Unknown, Unknown | None]] | dict[Unknown, OrderedDict[Unknown, Unknown] | dict[Unknown, Unknown]] | dict[Unknown, Unknown | None] | dict[Unknown, list[Unknown]] | dict[Unknown, Unknown] | list[Unknown] | tuple[OrderedDict[Unknown, OrderedDict[Unknown, Unknown | None] | dict[Unknown, Unknown | None]] | OrderedDict[Unknown, OrderedDict[Unknown, Unknown] | dict[Unknown, Unknown]] | OrderedDict[Unknown, Unknown | None] | OrderedDict[Unknown, list[Unknown]] | OrderedDict[Unknown, Unknown] | dict[Unknown, OrderedDict[Unknown, Unknown | None] | dict[Unknown, Unknown | None]] | dict[Unknown, OrderedDict[Unknown, Unknown] | dict[Unknown, Unknown]] | dict[Unknown, Unknown | None] | dict[Unknown, list[Unknown]] | dict[Unknown, Unknown] | list[Unknown], HTTPStatus | Unknown, dict[Unknown, Unknown] | Unknown], [*args: Unknown, **kwargs: Unknown], OrderedDict[Unknown, OrderedDict[Unknown, Unknown | None] | dict[Unknown, Unknown | None]] | OrderedDict[Unknown, OrderedDict[Unknown, Unknown] | dict[Unknown, Unknown]] | OrderedDict[Unknown, Unknown | None] | OrderedDict[Unknown, list[Unknown]] | OrderedDict[Unknown, Unknown] | dict[Unknown, OrderedDict[Unknown, Unknown | None] | dict[Unknown, Unknown | None]] | dict[Unknown, OrderedDict[Unknown, Unknown] | dict[Unknown, Unknown]] | dict[Unknown, Unknown | None] | dict[Unknown, list[Unknown]] | dict[Unknown, Unknown] | list[Unknown] | tuple[OrderedDict[Unknown, OrderedDict[Unknown, Unknown | None] | dict[Unknown, Unknown | None]] | OrderedDict[Unknown, OrderedDict[Unknown, Unknown] | dict[Unknown, Unknown]] | OrderedDict[Unknown, Unknown | None] | OrderedDict[Unknown, list[Unknown]] | OrderedDict[Unknown, Unknown] | dict[Unknown, OrderedDict[Unknown, Unknown | None] | dict[Unknown, Unknown | None]] | dict[Unknown, OrderedDict[Unknown, Unknown] | dict[Unknown, Unknown]] | dict[Unknown, Unknown | None] | dict[Unknown, list[Unknown]] | dict[Unknown, Unknown] | list[Unknown], HTTPStatus | Unknown, dict[Unknown, Unknown] | Unknown]]) | _Wrapped[[*args: Unknown, **kwargs: Unknown], OrderedDict[Unknown, OrderedDict[Unknown, Unknown | None] | dict[Unknown, Unknown | None]] | OrderedDict[Unknown, OrderedDict[Unknown, Unknown] | dict[Unknown, Unknown]] | OrderedDict[Unknown, Unknown | None] | OrderedDict[Unknown, list[Unknown]] | OrderedDict[Unknown, Unknown] | dict[Unknown, OrderedDict[Unknown, Unknown | None] | dict[Unknown, Unknown | None]] | dict[Unknown, OrderedDict[Unknown, Unknown] | dict[Unknown, Unknown]] | dict[Unknown, Unknown | None] | dict[Unknown, list[Unknown]] | dict[Unknown, Unknown] | list[Unknown] | tuple[OrderedDict[Unknown, OrderedDict[Unknown, Unknown | None] | dict[Unknown, Unknown | None]] | OrderedDict[Unknown, OrderedDict[Unknown, Unknown] | dict[Unknown, Unknown]] | OrderedDict[Unknown, Unknown | None] | OrderedDict[Unknown, list[Unknown]] | OrderedDict[Unknown, Unknown] | dict[Unknown, OrderedDict[Unknown, Unknown | None] | dict[Unknown, Unknown | None]] | dict[Unknown, OrderedDict[Unknown, Unknown] | dict[Unknown, Unknown]] | dict[Unknown, Unknown | None] | dict[Unknown, list[Unknown]] | dict[Unknown, Unknown] | list[Unknown], HTTPStatus | Unknown, dict[Unknown, Unknown] | Unknown], [*args: Unknown, **kwargs: Unknown], OrderedDict[Unknown, OrderedDict[Unknown, Unknown | None] | dict[Unknown, Unknown | None]] | OrderedDict[Unknown, OrderedDict[Unknown, Unknown] | dict[Unknown, Unknown]] | OrderedDict[Unknown, Unknown | None] | OrderedDict[Unknown, list[Unknown]] | OrderedDict[Unknown, Unknown] | dict[Unknown, OrderedDict[Unknown, Unknown | None] | dict[Unknown, Unknown | None]] | dict[Unknown, OrderedDict[Unknown, Unknown] | dict[Unknown, Unknown]] | dict[Unknown, Unknown | None] | dict[Unknown, list[Unknown]] | dict[Unknown, Unknown] | list[Unknown] | tuple[OrderedDict[Unknown, OrderedDict[Unknown, Unknown | None] | dict[Unknown, Unknown | None]] | OrderedDict[Unknown, OrderedDict[Unknown, Unknown] | dict[Unknown, Unknown]] | OrderedDict[Unknown, Unknown | None] | OrderedDict[Unknown, list[Unknown]] | OrderedDict[Unknown, Unknown] | dict[Unknown, OrderedDict[Unknown, Unknown | None] | dict[Unknown, Unknown | None]] | dict[Unknown, OrderedDict[Unknown, Unknown] | dict[Unknown, Unknown]] | dict[Unknown, Unknown | None] | dict[Unknown, list[Unknown]] | dict[Unknown, Unknown] | list[Unknown], HTTPStatus | Unknown, dict[Unknown, Unknown] | Unknown]]` is not assignable to parameter `view` with type `(view_func: (*args: Unknown, **kwargs: Unknown) -> OrderedDict[Unknown, OrderedDict[Unknown, Unknown | None] | dict[Unknown, Unknown | None]] | OrderedDict[Unknown, OrderedDict[Unknown, Unknown] | dict[Unknown, Unknown]] | OrderedDict[Unknown, Unknown | None] | OrderedDict[Unknown, list[Unknown]] | OrderedDict[Unknown, Unknown] | dict[Unknown, OrderedDict[Unknown, Unknown | None] | dict[Unknown, Unknown | None]] | dict[Unknown, OrderedDict[Unknown, Unknown] | dict[Unknown, Unknown]] | dict[Unknown, Unknown | None] | dict[Unknown, list[Unknown]] | dict[Unknown, Unknown] | list[Unknown] | tuple[OrderedDict[Unknown, OrderedDict[Unknown, Unknown | None] | dict[Unknown, Unknown | None]] | OrderedDict[Unknown, OrderedDict[Unknown, Unknown] | dict[Unknown, Unknown]] | OrderedDict[Unknown, Unknown | None] | OrderedDict[Unknown, list[Unknown]] | OrderedDict[Unknown, Unknown] | dict[Unknown, OrderedDict[Unknown, Unknown | None] | dict[Unknown, Unknown | None]] | dict[Unknown, OrderedDict[Unknown, Unknown] | dict[Unknown, Unknown]] | dict[Unknown, Unknown | None] | dict[Unknown, list[Unknown]] | dict[Unknown, Unknown] | list[Unknown], HTTPStatus | Unknown, dict[Unknown, Unknown] | Unknown]) -> _Wrapped[[*args: Unknown, **kwargs: Unknown], OrderedDict[Unknown, OrderedDict[Unknown, Unknown | None] | dict[Unknown, Unknown | None]] | OrderedDict[Unknown, OrderedDict[Unknown, Unknown] | dict[Unknown, Unknown]] | OrderedDict[Unknown, Unknown | None] | OrderedDict[Unknown, list[Unknown]] | OrderedDict[Unknown, Unknown] | dict[Unknown, OrderedDict[Unknown, Unknown | None] | dict[Unknown, Unknown | None]] | dict[Unknown, OrderedDict[Unknown, Unknown] | dict[Unknown, Unknown]] | dict[Unknown, Unknown | None] | dict[Unknown, list[Unknown]] | dict[Unknown, Unknown] | list[Unknown] | tuple[OrderedDict[Unknown, OrderedDict[Unknown, Unknown | None] | dict[Unknown, Unknown | None]] | OrderedDict[Unknown, OrderedDict[Unknown, Unknown] | dict[Unknown, Unknown]] | OrderedDict[Unknown, Unknown | None] | OrderedDict[Unknown, list[Unknown]] | OrderedDict[Unknown, Unknown] | dict[Unknown, OrderedDict[Unknown, Unknown | None] | dict[Unknown, Unknown | None]] | dict[Unknown, OrderedDict[Unknown, Unknown] | dict[Unknown, Unknown]] | dict[Unknown, Unknown | None] | dict[Unknown, list[Unknown]] | dict[Unknown, Unknown] | list[Unknown], HTTPStatus | Unknown, dict[Unknown, Unknown] | Unknown], [*args: Unknown, **kwargs: Unknown], OrderedDict[Unknown, OrderedDict[Unknown, Unknown | None] | dict[Unknown, Unknown | None]] | OrderedDict[Unknown, OrderedDict[Unknown, Unknown] | dict[Unknown, Unknown]] | OrderedDict[Unknown, Unknown | None] | OrderedDict[Unknown, list[Unknown]] | OrderedDict[Unknown, Unknown] | dict[Unknown, OrderedDict[Unknown, Unknown | None] | dict[Unknown, Unknown | None]] | dict[Unknown, OrderedDict[Unknown, Unknown] | dict[Unknown, Unknown]] | dict[Unknown, Unknown | None] | dict[Unknown, list[Unknown]] | dict[Unknown, Unknown] | list[Unknown] | tuple[OrderedDict[Unknown, OrderedDict[Unknown, Unknown | None] | dict[Unknown, Unknown | None]] | OrderedDict[Unknown, OrderedDict[Unknown, Unknown] | dict[Unknown, Unknown]] | OrderedDict[Unknown, Unknown | None] | OrderedDict[Unknown, list[Unknown]] | OrderedDict[Unknown, Unknown] | dict[Unknown, OrderedDict[Unknown, Unknown | None] | dict[Unknown, Unknown | None]] | dict[Unknown, OrderedDict[Unknown, Unknown] | dict[Unknown, Unknown]] | dict[Unknown, Unknown | None] | dict[Unknown, list[Unknown]] | dict[Unknown, Unknown] | list[Unknown], HTTPStatus | Unknown, dict[Unknown, Unknown] | Unknown]]` in function `controllers.console.wraps.account_initialization_required` [bad-argument-type]
```

https://github.com/langgenius/dify/blob/1550316b8d755b1a32ad64e169129b7d7a809bf5/api/controllers/console/app/app.py#L185

### Sandbox Link

_No response_

### (Only applicable for extension issues) IDE Information

_No response_

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.