text:
Disable GPG check for all sle15 repos

What does this PR change?
Disable GPG check for all sle15 repos as workaround to have a QAM deployment until build service updates the GPG keys

This workaround defeats the security brought by GPG keys. ￼
For an "enterprise" product, it is a very serious problem IMHO...

This workaround defeats the security brought by GPG keys. ￼
For an "enterprise" product, it is a very serious problem IMHO...

Superseded by https://github.com/uyuni-project/sumaform/pull/841 closing

Superseded by https://github.com/uyuni-project/sumaform/pull/841 closing

authors: Bischoff ktsamis

repo: uyuni-project/sumaform


text:
🛑 Third Party IMG is down

In 7614f9b, Third Party IMG ($THIRD_PARTY_IMG) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Third Party IMG is back up in 2cefde8 after 132 days, 7 hours, 47 minutes.

source: gharchive/issue

license: MIT

license_type: permissive

license_source: github-api


text:
Delete , Mark read and Mark unread not working

hi iam using notify-x to send notifications to a list of users this is how iam sending them
user = User.objects.get(username = item['users'])
notify.send(request.user, recipient=user, actor=request.user, verb='added', target=auctionitem, nf_type='default')
when i open the notifications/all url i can see the notifications but the mark all  , delete and the other buttons for mark read unread isnt working.
i have included the notifyx.js in  my base.html like this

do i have to include something in my settings.py? please help

Are the requests for mark/delete notifications being sent when you click on the buttons? If not, then your html layout isn't set properly to work with the app.
The default templates are only supposed to be an example layout.
You have to use certain classes specified in the Javascript file to bind them with AJAX callbacks to make sure it sends an AJAX request as soon as the button gets clicked.

No requests are being sent.  Where do i find these classes?  and how to bind them? . Iam new to django if you could give me one small example it would be great. thank you.

The default setup should work.
The default config is listed on this page of documentation. The parent element which stores individual notification will use notifications class and the individual notification objects will have notification in their css class name. The same setup works on my project.
Make sure you have added {% include_notify_js_variables %} in your base template/ wherever you wish to use notifications.
If the buttons still don't work, please see if you get any errors in your browser console and post it here, then I'll be able to help you.

Notity improperly configured. No data-nf-id was found.
Make sure you have a container element with 'undefined' as css class.
Iam getting this error in my browser console

and when i do <{% include_notify_js_variables  %}>
i get this error
IOError at /inbox/all/
[Errno 13] Permission denied: u'C:\Users\asd\Desktop\dashbaord\git deployment\templates'

Sorry, I didn't test the library with windows. Can you check if your user has appropriate permission? Also, A full debug traceback will help too.

this is the full  traceback.   What about the error in the  browser console?
all.html already has {% include_notify_js_variables %} .  when include this on default.html it gives   the permission denied error and which users permission are you talking about?

What about the error in the browser console?
That error occurs when the script is not able to find css class names to work on. This classes are provided by the include_notify_js_variables templatetag.

all.html already has {% include_notify_js_variables %} .
No, it doesn't.

which users permission are you talking about?
The user you are using to run your django development server. Maybe try as administrator?

...
I'll give you the default output of that template tag so that you can try so that we can see if it works and if the PermissionDenied issue is caused by the templatetag.

@iostreanhs here is the default output by include_js_variables tempaltetag.
Make sure this in your base template.
    <script type="text/javascript">
        // Ajax-Notification related callback urls.
        var updateNotificationUrl = "/notifications/api/update/";
        var markNotificationUrl = "/notifications/mark/";
        var markAllNotificationUrl = "/notifications/mark-all/";
        var deleteNotificationUrl = "/notifications/delete/";

        // Jquery class selectors.
        var nfListClassSelector = ".notifications";
        var nfClassSelector = ".notification";
        var nfBoxListClassSelector = ".notification-container";
        var nfBoxClassSelector = ".notification-box";

        var markNotificationSelector = ".mark-notification";
        var markAllNotificationSelector = ".mark-all-notifications";
        var deleteNotificationSelector = ".delete-notification";

        var readNotificationClass = "read";
        var unreadNotificationClass = "unread";

        var notificationUpdateTimeInterval = "15000";

        //functions to handle ajax success.
        var updateSuccess = function (response) {
    var notification_box = $(nfBoxListClassSelector);
    var notifications = response.notifications;
    $.each(notifications, function (i, notification) {
        notification_box.prepend(notification.html);
    });
};

        var markSuccess = function (response, notification) {
    //console.log(response);
    if (response.action == 'read') {
        var mkClass = readNotificationClass;
        var rmClass = unreadNotificationClass;
        var action = 'unread';
    } else {
        mkClass = unreadNotificationClass;
        rmClass = readNotificationClass;
        action = 'read';
    }
    // console.log(notification.closest(nfClassSelector));
    notification.closest(nfSelector).removeClass(rmClass).addClass(mkClass);
    notification.attr('data-mark-action', action);

    toggle_text = notification.attr('data-toggle-text') || 'Mark as ' + action;
    notification.attr('data-toggle-text', notification.html());
    notification.html(toggle_text);
};

        var markAllSuccess = function (response) {
    //console.log(response);
    // console.log(response.action);
    if (response.action == 'read') {
        var mkClass = readNotificationClass;
        var rmClass = unreadNotificationClass;
    } else {
        mkClass = unreadNotificationClass;
        rmClass = readNotificationClass;
    }
    // console.log(mkClass);
    // console.log(rmClass);
    $(nfSelector).removeClass(rmClass).addClass(mkClass);
};

        var deleteSuccess = function (response, notification) {
    //console.log(response);
    var $selected_notification = notification.closest(nfClassSelector);
    $selected_notification.fadeOut(300, function () {
        $(this).remove()
    });
};
    </script>

let me know it works or you still see the error in the browser console.

I included this script in my base.html and  tried its still on working then i included this in default.html its still not working. its the same as it was before , do i have to do some changes in the settings.py or iam missing something? everything else is working the notifications are  sent properly  only the buttons are giving a problem. Iam able to perform the delete , unread, read, fuctions from the admin.
The console is still giving me the error
notifyX.js:165    Notity improperly configured. No data-nf-id was found.
notifyX.js:166   Make sure you have a container element with '.notification-container' as css class.

extremely Sorry my bad i dint load the script properly  now the console is giving me this error after i included the script in base.html in the console I am getting this error
jquery.min.js:4 GET http://localhost:8000/notifications/api/update/?flag=24 404 (Not Found)send @ jquery.min.js:4ajax @ jquery.min.js:4updateNotifications @ notifyX.js:170

The page not found error was there because my url  is inbox/ , and the url mentioned in the script is notifcations/. i changed it now my console is not giving any error  but the buttons  are not working.

i changed it now my console is not giving any error but the buttons are not working.

Can you see the requests in your browser's network tab? If you can see network calls to mark or delete urls, that means the buttons are working properly and the notifications are being marked as read successfully. But the js callbacks which are supposed to be ran after the request is completed didn't work properly.

i opend the network tab and the network call is to http://localhost:8000/notifications/api/update/?flag=27
only. i cannot see mark or delete.
The notification thing is kinda import part of my project and its urgent for me , can i have your phone number  so that i can understand better and you could help me solve the problem?
here is my email id
ashutosh@monimo.in

Thank you for solving the issue. It  was solved by placing the <script src="{% static 'notify/notifyX.js' %}"></script> at the bottom of my base.html.
also removed the <div class="notifications-container">  from my nf type html

Cool. Does the PermissionDenied error still persists?

No it doesnt the problem was that i was writing it in a wrong way instead of {% include_notify_js_varibales %}  i was writing {% include notifiy_js_varibales %} . I also forgot to include {% load notification_tags %}.
So the write  way of including it was
`{% load notification_tags %}
{% include_notify_js_varibales %}

`

Okay. I am closing this issue because this was not a project issue. Feel free to reopen it.

license: mit

license_source: bigquery


text:
最近经常遇到 rejected  Proxy|Socks: insufficient header 类的提示

Please skip to the English section below if you don't write Chinese.
中文：
提交 Issue 之前请先阅读 Issue 指引，然后回答下面的问题，谢谢。
除非特殊情况，请完整填写所有问题。不按模板发的 issue 将直接被关闭。
1)  你正在使用哪个版本的 V2Ray？（如果服务器和客户端使用了不同版本，请注明）
都是 v3.35
2)  你的使用场景是什么？比如使用 Chrome 通过 Socks/VMess 代理观看 YouTube 视频。
Chrome 网页 与视频，Google Drive 同步
3)  你看到的不正常的现象是什么？（请描述具体现象，比如访问超时，TLS 证书错误等）
Windows环境，用v2rayN客户端，间歇性遇到以下几种输出，且这几种输出的出现频率越来越高：
2018/08/23 14:42:59 tcp:127.0.0.1:11687 rejected  Proxy|Socks: insufficient header > read tcp 127.0.0.1:1080->127.0.0.1:11687: i/o timeout
2018/08/23 14:42:59 tcp:127.0.0.1:11688 rejected  Proxy|Socks: insufficient header > read tcp 127.0.0.1:1080->127.0.0.1:11688: i/o timeout

2018/08/23 14:37:56 tcp:127.0.0.1:11559 rejected  Proxy|Socks: insufficient header > EOF
2018/08/23 14:37:56 tcp:127.0.0.1:11561 rejected  Proxy|Socks: insufficient header > EOF
2018/08/23 14:37:56 tcp:127.0.0.1:11541 rejected  Proxy|Socks: insufficient header > EOF

2018/08/22 15:34:37 [Warning] [3396626085] App|Proxyman|Outbound: failed to process outbound traffic > Proxy|VMess|Outbound: failed to find an available destination > Retry: [Transport|Internet|WebSocket: failed to dial WebSocket > Transport|Internet|WebSocket: failed to dial to (wss://服务器域名/隐藏的ws路径/): > malformed HTTP response "\x15\x03\x01\x00\x02\x02"] > Retry: all retry attempts failed

4)  你期待看到的正确表现是怎样的？
不出现 rejected  Proxy|Socks: insufficient header 和  failed to dial WebSocket 之类的输出
5)  请附上你的配置（提交 Issue 前请隐藏服务器端IP地址）。
服务器端配置:

{
  "log" : {
    "access": "/var/log/v2ray/access.log",
    "error": "/var/log/v2ray/error.log",
    "loglevel": "warning"
  },
  "inbound": {
    "port": 隐藏的for ws端口号,
    "protocol": "vmess",
    "settings": {
      "clients": [
        {
          "id": "隐藏的UUID",
          "level": 1,
          "alterId": 64
        }
      ]
    },
    "streamSettings": {
        "network": "ws",
        "wsSettings": {
            "path": "隐藏的ws路径"
        }
    }
  },
    "inboundDetour": [{
            "port": 隐藏的for kcp端口号,
            "protocol": "vmess",
            "settings": {
                "clients": [{
                    "id": "隐藏的UUID",
                    "level": 1,
                    "alterId": 64
                }]
            },
            "streamSettings": {
                "network": "mkcp",
                "kcpSettings": {
                    "mtu": 1350,
                    "tti": 20,
                    "uplinkCapacity": 5,
                    "downlinkCapacity": 100,
                    "congestion": false,
                    "readBufferSize": 1,
                    "writeBufferSize": 1,
                    "header": {
                        "type": "none"
                    }
                }
            }
        },
        {
            "port": 隐藏的for h2端口号,
            "protocol": "vmess",
            "settings": {
                "udp": true,
                "clients": [
                    {
                        "id": "隐藏的UUID",
                        "level": 1,
                        "alterId": 64
                    }
                ]
            },
            "streamSettings": {
                "network": "h2",
                "httpSettings": {
                    "host": [
                        "隐藏的域名"
                    ],
                    "path": "隐藏的h2路径"
                },
                "security": "tls",
                "tlsSettings": {
                    "certificates": [
                        {
                             "certificateFile": "隐藏的crt路径",
                             "keyFile": "隐藏的key路径"
                        }
                    ]
                }
            }
        }
    ],
  "outbound": {
    "protocol": "freedom",
    "settings": {}
  },
  "outboundDetour": [
    {
      "protocol": "blackhole",
      "settings": {},
      "tag": "blocked"
    }
  ],
  "routing": {
    "strategy": "rules",
    "settings": {
      "rules": [
        {
          "type": "field",
          "ip": ["geoip:private"],
          "outboundTag": "blocked"
        }
      ]
    }
  }
}

客户端配置:
服务器端启用了 ws 和 h2 转发，并启用了 kcp 。因为客户端这三种配置都存在上述的问题，这里暂时只贴 ws 的配置。

{
  "log": {
    "access": "",
    "error": "",
    "loglevel": "warning"
  },
  "inbound": {
    "port": 1080,
    "listen": "127.0.0.1",
    "protocol": "socks",
    "settings": {
      "auth": "noauth",
      "udp": true,
      "ip": "127.0.0.1",
      "clients": null
    },
    "streamSettings": null
  },
  "outbound": {
    "tag": "agentout",
    "protocol": "vmess",
    "settings": {
      "vnext": [
        {
          "address": "隐藏的域名",
          "port": 443,
          "users": [
            {
              "id": "隐藏的UUID",
              "alterId": 64,
              "email": "t@t.tt",
              "security": "aes-128-gcm"
            }
          ]
        }
      ],
      "servers": null
    },
    "streamSettings": {
      "network": "ws",
      "security": "tls",
      "tlsSettings": {
        "allowInsecure": false,
        "serverName": null
      },
      "tcpSettings": null,
      "kcpSettings": null,
      "wsSettings": {
        "connectionReuse": true,
        "path": "隐藏的ws路径",
        "headers": null
      },
      "httpSettings": null
    },
    "mux": {
      "enabled": true
    }
  },
  "inboundDetour": null,
  "outboundDetour": [
    {
      "protocol": "freedom",
      "settings": {
        "response": null
      },
      "tag": "direct"
    },
    {
      "protocol": "blackhole",
      "settings": {
        "response": {
          "type": "http"
        }
      },
      "tag": "blockout"
    }
  ],
  "dns": {
    "servers": [
      "8.8.8.8",
      "8.8.4.4",
      "localhost"
    ]
  },
  "routing": {
    "strategy": "rules",
    "settings": {
      "domainStrategy": "IPIfNonMatch",
      "rules": [
        {
          "type": "field",
          "port": null,
          "outboundTag": "direct",
          "ip": [
            "0.0.0.0/8",
            "10.0.0.0/8",
            "100.64.0.0/10",
            "127.0.0.0/8",
            "169.254.0.0/16",
            "172.16.0.0/12",
            "192.0.0.0/24",
            "192.0.2.0/24",
            "192.168.0.0/16",
            "198.18.0.0/15",
            "198.51.100.0/24",
            "203.0.113.0/24",
            "::1/128",
            "fc00::/7",
            "fe80::/10"
          ],
          "domain": null
        }
      ]
    }
  }
}

6)  请附上出错时软件输出的错误日志。在 Linux 中，日志通常在 /var/log/v2ray/error.log 文件中。
服务器端错误日志:在出现第3）提示的时间段没有错误记录

客户端错误日志: 记录如上面第3）点

7) 请附上访问日志。在 Linux 中，日志通常在 /var/log/v2ray/access.log 文件中。
    在出现第3）提示的时间段没有错误记录

8) 其它相关的配置文件（如 Nginx）和相关日志。
使用了 caddy ，配置文件如下：
隐藏的域名 {
    ## 记录
    log    /var/log/caddy/access.log
    errors /var/log/caddy/errors.log

    root   /var/www/example.com
    gzip
    timeouts none

    ## websocket
    proxy  /隐藏的ws路径   localhost:隐藏的ws端口 {
        websocket
        header_upstream Host {Host}
    }

    ## h2
    proxy /隐藏的h2路径 https://127.0.0.1:隐藏的h2端口 {
        header_upstream Host {host}
        header_upstream X-Forwarded-Proto {scheme}
        insecure_skip_verify
    }

    ## https
    forwardproxy {
        basicauth 隐藏的用户名与密码
        hide_ip
        hide_via
    }
}

经过测试，在客户端的inbound里面增加sniffing能改善。
    "domainOverride": ["http", "tls"],
    "sniffing": {
      "enabled": false,
      "destOverride": ["http", "tls"]
      },

windows 用的客户端是 v2rayN ，v2rayN 生成的配置文件没有sniffing

    "domainOverride": ["http", "tls"],
    "sniffing": {
      "enabled": false,
      "destOverride": ["http", "tls"]
      },

改成
    "sniffing": {
      "enabled": true,
      "destOverride": ["http", "tls"]
      },

就可以了，"domainOverride" 后续可能会取消的。
实际上我一直没明白 destOverride 作用在哪里，重置连接的流程是什么样的。

@l-we 多谢。

@l-we 你好，想请教一下，我也是出现insufficient header的超时提示，按照你的建议后添加进去了问题依旧，没效果。客户端是v2rayN。

@caicy1991 我这边，v2rayN 添加自定义配置服务器 能减少或避免你遇到的问题；如果是从添加[vmess]服务器入口添加，就会遇到你说的问题，因为 v2rayN 无法自定义那段参数。

@choicky 我就是自定义的，下面贴上客户端的配置
{
"log": {
"access": "",
"error": ""
},
"inbound": {
"port": 1080,
"listen": "127.0.0.1",
"protocol": "socks",
"settings": {
"auth": "noauth",
"udp": true,
"ip": "127.0.0.1"
},
"sniffing": {                                 #本来没有，会出现问题，按照你们的提示添加后，依然存在问题
"enabled": true,
"destOverride": ["http", "tls"]
}
},
"outbound": {
"protocol": "vmess",
"settings": {
"vnext": [
{
"address": "服务器地址",
"port": 服务器端口,
"users": [
{
"id": "用户识别码",
"alterId": 额外识别码,
"security": "auto"
}
]
}
]
},
"streamSettings": {
"network": "kcp",
"kcpSettings": {
"mtu": 1460,
"tti": 20,
"uplinkCapacity": 5,
"downlinkCapacity": 10,
"congestion": true,
"readBufferSize": 1,
"writeBufferSize": 1,
"header": {
"type": "none"
}
}
}
}
}

@caicy1991 配置跟我的一样。我不知道出错原因是啥。
你是移动的宽带吗？移动是墙中墙...

如果可以正常使用，这个错误不用管。

authors: VictoriaRaymond caicy1991 choicky l-we


text:
UDP转发死循环

提交 Issue 之前请先阅读 Issue 指引，然后回答下面的问题，谢谢。
除非特殊情况，请完整填写所有问题。不按模板发的 issue 将直接被关闭。
如果你遇到的问题不是 V2Ray 的 bug，比如你不清楚要如何配置，请使用Discussion进行讨论。

你正在使用哪个版本的 V2Ray？（如果服务器和客户端使用了不同版本，请注明）
4.18

你的使用场景是什么？比如使用 Chrome 通过 Socks/VMess 代理观看 YouTube 视频。
路由器透明代理

你看到的不正常的现象是什么？（请描述具体现象，比如访问超时，TLS 证书错误等）
UDP转发死循环

你期待看到的正确表现是怎样的？
UDP转发正常

请附上你的配置（提交 Issue 前请隐藏服务器端IP地址）。

服务器端配置:
{
    "inbounds": [
        {
            "port": -----,
            "protocol": "shadowsocks",
            "settings": {
                "method": "-----",
                "password": "-----",
                "network": "tcp,udp"
            }
        }
    ],

    "outbounds": [{
        "protocol": "freedom",
        "settings": {}
    }]
}

客户端配置:
{
    "log": {
        "loglevel": "debug"
    },
    "routing": {
        "rules": [
            {
                "type": "field",
                "outboundTag": "dns-out",
                "inboundTag": "dns-in"
            },
            {
                "type": "field",
                "outboundTag": "proxy",
                "domain": [
                    "ext:h2y.dat:gfw" //gfwlist域名文件
                ]
            }
        ]
    },
    "inbounds": [
        {
            "port": 12345,
            "protocol": "dokodemo-door",
            "settings": {
                "network": "tcp,udp",
                "followRedirect": true
            },
            "_sniffing": { //为了调试，临时注释掉
                "enabled": true,
                "destOverride": [
                    "http",
                    "tls"
                ]
            }
        },
        {
            "port": 5300,
            "tag": "dns-in",
            "protocol": "dokodemo-door",
            "settings": {
                "address": "8.8.8.8",
                "port": 53,
                "network": "tcp,udp"
            }
        }
    ],
    "outbounds": [
        {
            "protocol": "freedom",
            "tag": "direct"
        },
        {
            "protocol": "dns",
            "tag": "dns-out"
        },
        {
            "protocol": "shadowsocks",
            "tag": "proxy",
            "settings": {
                "servers": [
                    {
                        "address": "-----",
                        "method": "-----",
                        "password": "-----",
                        "port": -----
                    }
                ]
            }
        }
    ],
    "dns": {
        "hosts": {
                //被墙域名解析到12.34.56.78
        },
        "servers": [
            "114.114.114.114",
            "localhost"
        ]
    }
}

请附上出错时软件输出的错误日志。在 Linux 中，日志通常在 /var/log/v2ray/error.log 文件中。

服务器端错误日志:
    // 在这里附上服务器端日志

跟服务端没关系吧，我只是让udp包进来，没有做任何分流（DNS请求除外）。
客户端错误日志:
2019/05/03 03:46:55 [Debug] v2ray.com/core/app/log: Logger started
2019/05/03 03:46:55 [Warning] v2ray.com/core: V2Ray 4.18.0 started
2019/05/03 03:46:57 [Debug] [1977526097] v2ray.com/core/proxy/dokodemo: processing connection from: 192.168.123.196:63592
2019/05/03 03:46:57 [Info] [1977526097] v2ray.com/core/app/dispatcher: default route for tcp:14.215.177.39:443
2019/05/03 03:46:57 [Info] [1977526097] v2ray.com/core/proxy/freedom: opening connection to tcp:14.215.177.39:443
2019/05/03 03:46:57 [Info] [1977526097] v2ray.com/core/transport/internet/tcp: dialing TCP to tcp:14.215.177.39:443
2019/05/03 03:46:58 [Debug] [1707016722] v2ray.com/core/proxy/dokodemo: processing connection from: 192.168.123.196:63593
2019/05/03 03:46:58 [Info] [1707016722] v2ray.com/core/app/dispatcher: default route for tcp:14.215.177.38:443
2019/05/03 03:46:58 [Info] [1707016722] v2ray.com/core/proxy/freedom: opening connection to tcp:14.215.177.38:443
2019/05/03 03:46:58 [Info] [1707016722] v2ray.com/core/transport/internet/tcp: dialing TCP to tcp:14.215.177.38:443
2019/05/03 03:46:58 [Debug] [3405258088] v2ray.com/core/proxy/dokodemo: processing connection from: 192.168.123.196:63594
2019/05/03 03:46:58 [Info] [3405258088] v2ray.com/core/app/dispatcher: default route for tcp:14.215.177.38:443
2019/05/03 03:46:58 [Info] [3405258088] v2ray.com/core/proxy/freedom: opening connection to tcp:14.215.177.38:443
2019/05/03 03:46:58 [Info] [3405258088] v2ray.com/core/transport/internet/tcp: dialing TCP to tcp:14.215.177.38:443
2019/05/03 03:46:58 [Debug] [3327482823] v2ray.com/core/proxy/dokodemo: processing connection from: 192.168.123.196:63595
2019/05/03 03:46:58 [Info] [3327482823] v2ray.com/core/app/dispatcher: default route for tcp:14.215.177.39:443
2019/05/03 03:46:58 [Info] [3327482823] v2ray.com/core/proxy/freedom: opening connection to tcp:14.215.177.39:443
2019/05/03 03:46:58 [Info] [3327482823] v2ray.com/core/transport/internet/tcp: dialing TCP to tcp:14.215.177.39:443
2019/05/03 03:46:58 [Debug] [579594451] v2ray.com/core/proxy/dokodemo: processing connection from: 192.168.123.196:63596
2019/05/03 03:46:58 [Info] [579594451] v2ray.com/core/app/dispatcher: default route for tcp:14.215.177.39:443
2019/05/03 03:46:58 [Info] [579594451] v2ray.com/core/proxy/freedom: opening connection to tcp:14.215.177.39:443
2019/05/03 03:46:58 [Info] [579594451] v2ray.com/core/transport/internet/tcp: dialing TCP to tcp:14.215.177.39:443
2019/05/03 03:46:58 [Debug] v2ray.com/core/transport/internet/udp: UDP original destination: udp:192.168.123.1:12345
2019/05/03 03:46:58 [Debug] [242619725] v2ray.com/core/proxy/dokodemo: processing connection from: 192.168.123.5:5353
2019/05/03 03:46:58 [Info] [242619725] v2ray.com/core/app/dispatcher: default route for udp:192.168.123.1:12345
2019/05/03 03:46:58 [Info] [242619725] v2ray.com/core/proxy/freedom: opening connection to udp:192.168.123.1:12345
2019/05/03 03:46:58 [Info] [242619725] v2ray.com/core/transport/internet: failed to bind source address to [192 168 123 1] > address already in use
2019/05/03 03:46:58 [Debug] [1230205144] v2ray.com/core/proxy/dokodemo: processing connection from: 192.168.123.196:63597
2019/05/03 03:46:58 [Info] [1230205144] v2ray.com/core/app/dispatcher: default route for tcp:14.215.177.39:443
2019/05/03 03:46:58 [Info] [1230205144] v2ray.com/core/proxy/freedom: opening connection to tcp:14.215.177.39:443
2019/05/03 03:46:58 [Info] [1230205144] v2ray.com/core/transport/internet/tcp: dialing TCP to tcp:14.215.177.39:443
2019/05/03 03:46:58 [Debug] v2ray.com/core/transport/internet/udp: UDP original destination: udp:192.168.123.1:12345
2019/05/03 03:46:58 [Debug] [2645740975] v2ray.com/core/proxy/dokodemo: processing connection from: 192.168.123.1:28866
2019/05/03 03:46:58 [Info] [2645740975] v2ray.com/core/app/dispatcher: default route for udp:192.168.123.1:12345
2019/05/03 03:46:58 [Info] [2645740975] v2ray.com/core/proxy/freedom: opening connection to udp:192.168.123.1:12345
2019/05/03 03:46:58 [Info] [2645740975] v2ray.com/core/transport/internet: failed to bind source address to [192 168 123 1] > address already in use
2019/05/03 03:46:58 [Debug] v2ray.com/core/transport/internet/udp: UDP original destination: udp:192.168.123.1:12345
2019/05/03 03:46:58 [Debug] [468779936] v2ray.com/core/proxy/dokodemo: processing connection from: 192.168.123.1:17035
2019/05/03 03:46:58 [Info] [468779936] v2ray.com/core/app/dispatcher: default route for udp:192.168.123.1:12345
2019/05/03 03:46:58 [Info] [468779936] v2ray.com/core/proxy/freedom: opening connection to udp:192.168.123.1:12345
2019/05/03 03:46:58 [Info] [468779936] v2ray.com/core/transport/internet: failed to bind source address to [192 168 123 1] > address already in use
2019/05/03 03:46:58 [Debug] v2ray.com/core/transport/internet/udp: UDP original destination: udp:192.168.123.1:12345
2019/05/03 03:46:58 [Debug] [3646052763] v2ray.com/core/proxy/dokodemo: processing connection from: 192.168.123.1:15469
2019/05/03 03:46:58 [Info] [3646052763] v2ray.com/core/app/dispatcher: default route for udp:192.168.123.1:12345
2019/05/03 03:46:58 [Info] [3646052763] v2ray.com/core/proxy/freedom: opening connection to udp:192.168.123.1:12345
2019/05/03 03:46:58 [Info] [3646052763] v2ray.com/core/transport/internet: failed to bind source address to [192 168 123 1] > address already in use
2019/05/03 03:46:58 [Debug] v2ray.com/core/transport/internet/udp: UDP original destination: udp:192.168.123.1:12345
2019/05/03 03:46:58 [Debug] [2317648851] v2ray.com/core/proxy/dokodemo: processing connection from: 192.168.123.1:31637
2019/05/03 03:46:58 [Info] [2317648851] v2ray.com/core/app/dispatcher: default route for udp:192.168.123.1:12345
2019/05/03 03:46:58 [Info] [2317648851] v2ray.com/core/proxy/freedom: opening connection to udp:192.168.123.1:12345
2019/05/03 03:46:58 [Info] [2317648851] v2ray.com/core/transport/internet: failed to bind source address to [192 168 123 1] > address already in use
2019/05/03 03:46:58 [Debug] v2ray.com/core/transport/internet/udp: UDP original destination: udp:192.168.123.1:12345
2019/05/03 03:46:58 [Debug] [2737402659] v2ray.com/core/proxy/dokodemo: processing connection from: 192.168.123.1:60216
2019/05/03 03:46:58 [Info] [2737402659] v2ray.com/core/app/dispatcher: default route for udp:192.168.123.1:12345
2019/05/03 03:46:58 [Info] [2737402659] v2ray.com/core/proxy/freedom: opening connection to udp:192.168.123.1:12345
2019/05/03 03:46:58 [Info] [2737402659] v2ray.com/core/transport/internet: failed to bind source address to [192 168 123 1] > address already in use
2019/05/03 03:46:58 [Debug] v2ray.com/core/transport/internet/udp: UDP original destination: udp:192.168.123.1:12345
2019/05/03 03:46:58 [Debug] [2918387215] v2ray.com/core/proxy/dokodemo: processing connection from: 192.168.123.1:49879
2019/05/03 03:46:58 [Info] [2918387215] v2ray.com/core/app/dispatcher: default route for udp:192.168.123.1:12345
2019/05/03 03:46:58 [Info] [2918387215] v2ray.com/core/proxy/freedom: opening connection to udp:192.168.123.1:12345
2019/05/03 03:46:58 [Info] [2918387215] v2ray.com/core/transport/internet: failed to bind source address to [192 168 123 1] > address already in use
2019/05/03 03:46:58 [Debug] v2ray.com/core/transport/internet/udp: UDP original destination: udp:192.168.123.1:12345
2019/05/03 03:46:58 [Debug] [3648652413] v2ray.com/core/proxy/dokodemo: processing connection from: 192.168.123.1:12959
2019/05/03 03:46:58 [Info] [3648652413] v2ray.com/core/app/dispatcher: default route for udp:192.168.123.1:12345
2019/05/03 03:46:58 [Info] [3648652413] v2ray.com/core/proxy/freedom: opening connection to udp:192.168.123.1:12345
2019/05/03 03:46:58 [Info] [3648652413] v2ray.com/core/transport/internet: failed to bind source address to [192 168 123 1] > address already in use
2019/05/03 03:46:58 [Debug] v2ray.com/core/transport/internet/udp: UDP original destination: udp:192.168.123.1:12345
2019/05/03 03:46:58 [Debug] [3585407483] v2ray.com/core/proxy/dokodemo: processing connection from: 192.168.123.1:47964
2019/05/03 03:46:58 [Info] [3585407483] v2ray.com/core/app/dispatcher: default route for udp:192.168.123.1:12345
2019/05/03 03:46:58 [Info] [3585407483] v2ray.com/core/proxy/freedom: opening connection to udp:192.168.123.1:12345
2019/05/03 03:46:58 [Info] [3585407483] v2ray.com/core/transport/internet: failed to bind source address to [192 168 123 1] > address already in use
2019/05/03 03:46:58 [Debug] v2ray.com/core/transport/internet/udp: UDP original destination: udp:192.168.123.1:12345
2019/05/03 03:46:58 [Debug] [1658538315] v2ray.com/core/proxy/dokodemo: processing connection from: 192.168.123.1:1385
2019/05/03 03:46:58 [Info] [1658538315] v2ray.com/core/app/dispatcher: default route for udp:192.168.123.1:12345
2019/05/03 03:46:58 [Info] [1658538315] v2ray.com/core/proxy/freedom: opening connection to udp:192.168.123.1:12345
2019/05/03 03:46:58 [Info] [1658538315] v2ray.com/core/transport/internet: failed to bind source address to [192 168 123 1] > address already in use
2019/05/03 03:46:58 [Debug] v2ray.com/core/transport/internet/udp: UDP original destination: udp:192.168.123.1:12345
2019/05/03 03:46:58 [Debug] [214716964] v2ray.com/core/proxy/dokodemo: processing connection from: 192.168.123.1:23493
2019/05/03 03:46:58 [Info] [214716964] v2ray.com/core/app/dispatcher: default route for udp:192.168.123.1:12345
2019/05/03 03:46:58 [Info] [214716964] v2ray.com/core/proxy/freedom: opening connection to udp:192.168.123.1:12345
2019/05/03 03:46:58 [Info] [214716964] v2ray.com/core/transport/internet: failed to bind source address to [192 168 123 1] > address already in use
2019/05/03 03:46:58 [Debug] v2ray.com/core/transport/internet/udp: UDP original destination: udp:192.168.123.1:12345
2019/05/03 03:46:58 [Debug] [359511599] v2ray.com/core/proxy/dokodemo: processing connection from: 192.168.123.1:56210
2019/05/03 03:46:58 [Info] [359511599] v2ray.com/core/app/dispatcher: default route for udp:192.168.123.1:12345
2019/05/03 03:46:58 [Info] [359511599] v2ray.com/core/proxy/freedom: opening connection to udp:192.168.123.1:12345
2019/05/03 03:46:58 [Info] [359511599] v2ray.com/core/transport/internet: failed to bind source address to [192 168 123 1] > address already in use
2019/05/03 03:46:58 [Debug] v2ray.com/core/transport/internet/udp: UDP original destination: udp:192.168.123.1:12345
2019/05/03 03:46:58 [Debug] [571484632] v2ray.com/core/proxy/dokodemo: processing connection from: 192.168.123.1:47431
2019/05/03 03:46:58 [Info] [571484632] v2ray.com/core/app/dispatcher: default route for udp:192.168.123.1:12345
2019/05/03 03:46:58 [Info] [571484632] v2ray.com/core/proxy/freedom: opening connection to udp:192.168.123.1:12345
2019/05/03 03:46:58 [Info] [571484632] v2ray.com/core/transport/internet: failed to bind source address to [192 168 123 1] > address already in use
2019/05/03 03:46:58 [Debug] v2ray.com/core/transport/internet/udp: UDP original destination: udp:192.168.123.1:12345
2019/05/03 03:46:58 [Debug] [1737738924] v2ray.com/core/proxy/dokodemo: processing connection from: 192.168.123.1:52194
2019/05/03 03:46:58 [Debug] [2172242591] v2ray.com/core/proxy/dokodemo: processing connection from: 192.168.123.196:63598
2019/05/03 03:46:58 [Info] [2172242591] v2ray.com/core/app/dispatcher: default route for tcp:14.215.177.39:443
2019/05/03 03:46:58 [Info] [2172242591] v2ray.com/core/proxy/freedom: opening connection to tcp:14.215.177.39:443
2019/05/03 03:46:58 [Info] [2172242591] v2ray.com/core/transport/internet/tcp: dialing TCP to tcp:14.215.177.39:443
2019/05/03 03:46:58 [Info] [1737738924] v2ray.com/core/transport/internet: failed to bind source address to [192 168 123 1] > address already in use
2019/05/03 03:46:58 [Info] [1737738924] v2ray.com/core/app/dispatcher: default route for udp:192.168.123.1:12345
2019/05/03 03:46:58 [Info] [1737738924] v2ray.com/core/proxy/freedom: opening connection to udp:192.168.123.1:12345
2019/05/03 03:46:58 [Debug] v2ray.com/core/transport/internet/udp: UDP original destination: udp:192.168.123.1:12345
2019/05/03 03:46:58 [Debug] [4187887658] v2ray.com/core/proxy/dokodemo: processing connection from: 192.168.123.1:64337
2019/05/03 03:46:58 [Info] [4187887658] v2ray.com/core/transport/internet: failed to bind source address to [192 168 123 1] > address already in use

这段无限循环下去
2019/05/03 03:46:58 [Info] [1737738924] v2ray.com/core/app/dispatcher: default route for udp:192.168.123.1:12345
2019/05/03 03:46:58 [Info] [1737738924] v2ray.com/core/proxy/freedom: opening connection to udp:192.168.123.1:12345
2019/05/03 03:46:58 [Debug] v2ray.com/core/transport/internet/udp: UDP original destination: udp:192.168.123.1:12345
2019/05/03 03:46:58 [Debug] [4187887658] v2ray.com/core/proxy/dokodemo: processing connection from: 192.168.123.1:64337
2019/05/03 03:46:58 [Info] [4187887658] v2ray.com/core/transport/internet: failed to bind source address to [192 168 123 1] > address already in use

请附上访问日志。在 Linux 中，日志通常在 /var/log/v2ray/access.log 文件中。

    // 在这里附上服务器端日志

其它相关的配置文件（如 Nginx）和相关日志。
iptables配置

iptables -t nat -N V2RAY
iptables -t nat -A V2RAY -p udp --dport 53 -j REDIRECT --to-ports 5300
iptables -t nat -A V2RAY -d 192.168.0.0/16 -j RETURN
iptables -t nat -A V2RAY -p tcp -j REDIRECT --to-ports 12345
iptables -t nat -A V2RAY -p udp -j REDIRECT --to-ports 12345 # 去掉这条就正常

iptables -t nat -A PREROUTING -p tcp -j V2RAY
iptables -t nat -A PREROUTING -p udp -j V2RAY

如果 V2Ray 无法启动，请附上 --test 输出。

通常的命令为 /usr/bin/v2ray/v2ray --test --config /etc/v2ray/config.json。请按实际情况修改。

如果 V2Ray 服务运行不正常，请附上 journal 日志。

通常的命令为 journalctl -u v2ray。
请预览一下你填的内容再提交。

有人知道吗？？

https://github.com/v2ray/v2ray-core/issues/1432

#1432

什么意思？这个issue没有死循环。

Can confirm on router running luci-app-v2ray. My hypothesis is that the packet still triggers the tproxy rule
-p udp -j TPROXY --on-port $port --tproxy-mark 1/1

even after being "routed" by v2ray which creates an endless loop

I believe that this issue is a dupe of #1432 and we should close this in favor of that one.

这是iptables配置问题。


text:
Adds new commands and arguments to vineyard-ctl

Signed-off-by: rohangupta rohaninjmu@gmail.com

What do these changes do?

Added put option to put a python value to the vineyard server.

Added config option to edit the vineyard configuration file.

Updated connect to vineyard server function to connect via IPC or RPC values from the vineyard config file if not provided via command line.

Added more options to the query command.

Merged. Thank you @Rohan-cod.

source: gharchive/pull-request

authors: Rohan-cod sighingnow


text:
[Error report] java.lang.IllegalStateException: vaadin-hotswapagent-runner needs a module

Plugin version: 1.3.0
IDE version: IntelliJ IDEA 2024.1
OS: Mac OS X
Stacktrace:
java.lang.IllegalStateException: vaadin-hotswapagent-runner needs a module
	at com.vaadin.plugin.hotswapagent.HotswapAgentRunner.execute(HotswapAgentRunner.kt:25)
	at com.intellij.execution.impl.ExecutionManagerImpl.executeConfiguration(ExecutionManagerImpl.kt:809)
	at com.intellij.execution.impl.ExecutionManagerImpl.executeConfiguration(ExecutionManagerImpl.kt:761)
	at com.intellij.execution.impl.ExecutionManagerImpl.executeConfiguration$default(ExecutionManagerImpl.kt:713)
	at com.intellij.execution.impl.ExecutionManagerImpl$restartRunProfile$1.run(ExecutionManagerImpl.kt:611)
	at com.intellij.util.concurrency.ChildContext$runAsCoroutine$1.invoke(propagation.kt:81)
	at com.intellij.util.concurrency.ChildContext$runAsCoroutine$1.invoke(propagation.kt:81)
	at com.intellij.util.concurrency.ChildContext.runAsCoroutine(propagation.kt:86)
	at com.intellij.util.concurrency.ChildContext.runAsCoroutine(propagation.kt:81)
	at com.intellij.util.Alarm$Request.lambda$runSafely$0(Alarm.java:369)
	at com.intellij.util.concurrency.QueueProcessor.runSafely(QueueProcessor.java:253)
	at com.intellij.util.Alarm$Request.runSafely(Alarm.java:369)
	at com.intellij.util.Alarm$Request.run(Alarm.java:356)
	at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
	at com.intellij.util.concurrency.SchedulingWrapper$MyScheduledFutureTask.run(SchedulingWrapper.java:272)
	at com.intellij.openapi.application.TransactionGuardImpl.runWithWritingAllowed(TransactionGuardImpl.java:209)
	at com.intellij.openapi.application.TransactionGuardImpl.access$100(TransactionGuardImpl.java:22)
	at com.intellij.openapi.application.TransactionGuardImpl$1.run(TransactionGuardImpl.java:191)
	at com.intellij.openapi.application.impl.RwLockHolder.runIntendedWriteActionOnCurrentThread(RwLockHolder.kt:204)
	at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:830)
	at com.intellij.openapi.application.impl.ApplicationImpl$2.run(ApplicationImpl.java:419)
	at com.intellij.openapi.application.impl.RwLockHolder.runWithEnabledImplicitRead(RwLockHolder.kt:138)
	at com.intellij.openapi.application.impl.RwLockHolder.runWithImplicitRead(RwLockHolder.kt:129)
	at com.intellij.openapi.application.impl.ApplicationImpl.runWithImplicitRead(ApplicationImpl.java:1152)
	at com.intellij.openapi.application.impl.FlushQueue.doRun(FlushQueue.java:81)
	at com.intellij.openapi.application.impl.FlushQueue.runNextEvent(FlushQueue.java:123)
	at com.intellij.openapi.application.impl.FlushQueue.flushNow(FlushQueue.java:43)
	at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:318)
	at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:792)
	at java.desktop/java.awt.EventQueue$3.run(EventQueue.java:739)
	at java.desktop/java.awt.EventQueue$3.run(EventQueue.java:733)
	at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
	at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:761)
	at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.kt:698)
	at com.intellij.ide.IdeEventQueue._dispatchEvent$lambda$12(IdeEventQueue.kt:593)
	at com.intellij.openapi.application.impl.RwLockHolder.runWithoutImplicitRead(RwLockHolder.kt:105)
	at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.kt:593)
	at com.intellij.ide.IdeEventQueue.access$_dispatchEvent(IdeEventQueue.kt:77)
	at com.intellij.ide.IdeEventQueue$dispatchEvent$processEventRunnable$1$1$1.compute(IdeEventQueue.kt:362)
	at com.intellij.ide.IdeEventQueue$dispatchEvent$processEventRunnable$1$1$1.compute(IdeEventQueue.kt:361)
	at com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:843)
	at com.intellij.ide.IdeEventQueue$dispatchEvent$processEventRunnable$1$1.invoke(IdeEventQueue.kt:361)
	at com.intellij.ide.IdeEventQueue$dispatchEvent$processEventRunnable$1$1.invoke(IdeEventQueue.kt:356)
	at com.intellij.ide.IdeEventQueueKt.performActivity$lambda$1(IdeEventQueue.kt:1021)
	at com.intellij.openapi.application.TransactionGuardImpl.performActivity(TransactionGuardImpl.java:106)
	at com.intellij.ide.IdeEventQueueKt.performActivity(IdeEventQueue.kt:1021)
	at com.intellij.ide.IdeEventQueue.dispatchEvent$lambda$7(IdeEventQueue.kt:356)
	at com.intellij.openapi.application.impl.RwLockHolder.runIntendedWriteActionOnCurrentThread(RwLockHolder.kt:209)
	at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:830)
	at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.kt:398)
	at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:207)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:128)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:117)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:113)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:105)
	at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:92)

Logs before the stack trace:
2024-09-12 10:54:49,268 [79767892]   INFO - #c.i.u.i.UnindexedFilesScanner - Scanning completed for copilot. Number of scanned files: 4098; number of files for indexing: 117 took 91ms; general responsiveness: ok; EDT responsiveness: ok
2024-09-12 10:54:49,270 [79767894]   INFO - #c.i.o.p.MergingQueueGuiExecutor - Task finished: UnindexedFilesScanner[copilot, 39 iterators]
2024-09-12 10:54:49,270 [79767894]   INFO - #c.i.o.p.MergingQueueGuiExecutor - Task finished: (dumb mode task) com.intellij.util.indexing.DumbModeWhileScanningTrigger$DumbModeWhileScanning@14b76d32
2024-09-12 10:54:49,271 [79767895]   INFO - #c.i.o.p.MergingQueueGuiExecutor - Running task: (dumb mode task) UnindexedFilesIndexer[copilot, 3 iterators, reason: changes in: "Module 'copilot-client-test-flow-nohilla-noreact' (all roots)", "Module 'copilot' (annotations, java, java, resources, resources, test-annotations)", "Module 'copilot-project' (dist, generated, generated, generated)", "Library Maven: com.github.javaparser:javaparser-symbol-solver-core:3.26.2 (#1 class roots, #0 source roots)", "Library Maven: com.vaadin:flow-html-components:24.5.0.alpha18 (#1 class roots, #0 source roots)", "Library Maven: com.vaadin:flow-test-generic:24.5.0.alpha18 (#1 class roots, #0 source roots)", "Library Maven: com.vaadin:hilla-endpoint:24.5.0.alpha14 (#1 class roots, #0 source roots)", "Library Maven: com.vaadin:ui-tests:1.0.0.alpha5 (#1 class roots, #0 source roots)", "Library Maven: com.vaadin:vaadin-accordion-flow:24.5.0.alpha16 (#1 class roots, #0 source roots)", "Library Maven: com.vaadin:vaadin-avatar-flow:24.5.0.alpha16 (#1 class roots, #0 source roots)" and 29 iterators more]
2024-09-12 10:54:49,271 [79767895]   INFO - #c.i.u.i.c.IndexUpdateRunner - Using 7 indexing and 4 writing threads for indexing
2024-09-12 10:54:51,280 [79769904] SEVERE - #c.i.u.c.QueueProcessor - vaadin-hotswapagent-runner needs a module
java.lang.IllegalStateException: vaadin-hotswapagent-runner needs a module

Is there something like ”indexing complete” afterwards?

authors: Artur- abdullahtellioglu

repo: vaadin/intellij-plugin


text:
Router inserts into outlet second instance of main-menu

[original by @DemiusAcademius, copied from https://github.com/vaadin/flow/issues/8989#issuecomment-693193337]
I use client-side Vaadin router and found small issue.
I use path
{ path: '/(.*)', component: 'main-menu' } for fullscreen menu.
If router show menu for path /ui/billing/production/indications (There is no component for this path yet ) and I use
Router.go("/ui/billing")
for update path in chrome
Router inserts into outlet second instance of main-menu

My client-side code example in https://github.com/sia-interface/common-frontend;
routes in src/app/routes.ts
RouterListenerService in src/app/core/internal/services/router-listener-service.ts
router outlet in component src/app/core/internal/components/main-component/advanced-router.ts
main layout in component src/app/core/internal/components/main-component/main-layout.ts

authors: DemiusAcademius bogdanudrescu

repo: vaadin/vaadin-router


text:
Add Docker image

Context

Add Dockerfile and docker-compose.yml files for local development via Docker using multistage builds.
Update README with instructions for Docker Compose.
Expose required ports:

to allow use of local database clients (DataGrip, Postico, etc.) to connect to the Postgres database running within the container
to be able to access localhost:8080 (0.0.0.0 can also be used in-place of localhost)

For usage...
echo "test test test" | curl -F "file=@-" localhost:8080

Hey @vaaleyard - could you take a look at this please? It would be great to get this merged sooner than later.

I'm sorry for the late response @yusufsheiqh, i will approve it. And I really appreciate you by taking a time to develop this PR. Thanks.

No worries at all! Thank you in advance, @vaaleyard. 🚀

Hey @vaaleyard, gentle reminder to get this approved and merged - it has been over a month since our previous comments.

Could you make the changes I suggested? Then, I can merge it.

Hey @vaaleyard - I cannot see your suggestions anywhere... could you point me in the right direction please?

Thanks for the contrib, @yusufsheiqh
Really appreciate it.

authors: vaaleyard yusufsheiqh

repo: vaaleyard/gocatgo


text:
Parser accepts generic parameter defaults but compiler rejects depending on them

type X<T, U = Int> {}

fun f(_ x: X<Int>) {} // error: too many generic arguments to entity 'X' (found 1, expected 2

Note: I already fixed the diagnostic wording.

repo: val-lang/val


text:
FBP-132. Fixed problem with not applied z-index on rendering

Fixes #132

Codecov Report

Merging #144 into master will increase coverage by 0.26%.
The diff coverage is 100.00%.

@@             Coverage Diff              @@
##             master     #144      +/-   ##
============================================
+ Coverage     60.91%   61.18%   +0.26%
- Complexity      775      778       +3
============================================
  Files            84       84
  Lines          3416     3416
  Branches        642      642
============================================
+ Hits           2081     2090       +9
+ Misses         1122     1112      -10
- Partials        213      214       +1

Flag
Coverage Δ
Complexity Δ

#unittests
61.18% <100.00%> (+0.26%)
778.00 <3.00> (+3.00)

Impacted Files
Coverage Δ
Complexity Δ

...tellij/plugin/render/DefaultBpmnProcessRenderer.kt
57.71% <100.00%> (ø)
25.00 <0.00> (ø)

...plugin/render/elements/BaseDiagramRenderElement.kt
83.58% <100.00%> (ø)
37.00 <3.00> (+1.00)

...lugin/render/elements/shapes/ShapeRenderElement.kt
76.70% <0.00%> (+1.13%)
46.00% <0.00%> (+1.00%)

.../valb3r/bpmn/intellij/plugin/state/CurrentState.kt
70.40% <0.00%> (+4.00%)
7.00% <0.00%> (ø%)

...ginjection/FlowableDelegateExpressionUiInjector.kt
55.55% <0.00%> (+5.55%)
7.00% <0.00%> (+1.00%)

...n/com/valb3r/bpmn/intellij/plugin/events/Events.kt
70.00% <0.00%> (+10.00%)
0.00% <0.00%> (ø%)

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 32e2cbe...6598feb. Read the comment docs.


text:
copy / paste error in QAVPlayerPrivate: audioPlayFuture -> subtitlePlayFuture

QAVPlayerPrivate Line 512:
#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
    demuxerFuture = QtConcurrent::run(&threadPool, this, &QAVPlayerPrivate::doDemux);
    if (!q_ptr->availableVideoStreams().isEmpty())
        videoPlayFuture = QtConcurrent::run(&threadPool, this, &QAVPlayerPrivate::doPlayVideo);
    if (!q_ptr->availableAudioStreams().isEmpty())
        audioPlayFuture = QtConcurrent::run(&threadPool, this, &QAVPlayerPrivate::doPlayAudio);
    if (!q_ptr->availableSubtitleStreams().isEmpty())
        audioPlayFuture = QtConcurrent::run(&threadPool, this, &QAVPlayerPrivate::doPlaySubtitle);
#else
    demuxerFuture = QtConcurrent::run(&threadPool, &QAVPlayerPrivate::doDemux, this);
    if (!q_ptr->availableVideoStreams().isEmpty())
        videoPlayFuture = QtConcurrent::run(&threadPool, &QAVPlayerPrivate::doPlayVideo, this);
    if (!q_ptr->availableAudioStreams().isEmpty())
        audioPlayFuture = QtConcurrent::run(&threadPool, &QAVPlayerPrivate::doPlayAudio, this);
    if (!q_ptr->availableSubtitleStreams().isEmpty())
        audioPlayFuture = QtConcurrent::run(&threadPool, &QAVPlayerPrivate::doPlaySubtitle, this);
#endif

I think this is supposed to be subtitlePlayFuture and not a second time audioPlayFuture :
#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
    demuxerFuture = QtConcurrent::run(&threadPool, this, &QAVPlayerPrivate::doDemux);
    if (!q_ptr->availableVideoStreams().isEmpty())
        videoPlayFuture = QtConcurrent::run(&threadPool, this, &QAVPlayerPrivate::doPlayVideo);
    if (!q_ptr->availableAudioStreams().isEmpty())
        audioPlayFuture = QtConcurrent::run(&threadPool, this, &QAVPlayerPrivate::doPlayAudio);
    if (!q_ptr->availableSubtitleStreams().isEmpty())
        subtitlePlayFuture = QtConcurrent::run(&threadPool, this, &QAVPlayerPrivate::doPlaySubtitle);
#else
    demuxerFuture = QtConcurrent::run(&threadPool, &QAVPlayerPrivate::doDemux, this);
    if (!q_ptr->availableVideoStreams().isEmpty())
        videoPlayFuture = QtConcurrent::run(&threadPool, &QAVPlayerPrivate::doPlayVideo, this);
    if (!q_ptr->availableAudioStreams().isEmpty())
        audioPlayFuture = QtConcurrent::run(&threadPool, &QAVPlayerPrivate::doPlayAudio, this);
    if (!q_ptr->availableSubtitleStreams().isEmpty())
        subtitlePlayFuture = QtConcurrent::run(&threadPool, &QAVPlayerPrivate::doPlaySubtitle, this);
#endif

OMG, https://github.com/valbok/QtAVPlayer/pull/311 Thanks, classic copypast issue, thought it is not possible these days =)

authors: geminixdev valbok

repo: valbok/QtAVPlayer


text:
Crash on terminate when switching sources and calling play

Hi, valbok. I experienced some crashes when switching network sources and calling play. This crash might happen after multiple attempts.
Here is small demo:
#include <QApplication>
#include <QtAVPlayer/qavaudiooutput.h>
#include <QtAVPlayer/qavplayer.h>

#include <QComboBox>
#include <QLoggingCategory>
#include <QPushButton>
#include <QVBoxLayout>
#include <QWidget>

using namespace std::chrono_literals;

int main(int argc, char *argv[]) {
  QLoggingCategory::setFilterRules("qt.QtAVPlayer.debug=true");

  QApplication app(argc, argv);

  QAVPlayer p;

  QComboBox *combo = new QComboBox;
  combo->setMaximumWidth(300);

  combo->addItem("https://s7-webradio.rockantenne.de/alternative/stream/mp3");
  combo->addItem("http://79.120.77.11:8000/punkru");
  combo->addItem("https://live.hunter.fm/rock_high");

  QWidget window;

  QPushButton *playButton = new QPushButton("Play");
  QPushButton *stopButton = new QPushButton("Stop");

  QVBoxLayout layout(&window);
  layout.addWidget(combo);
  layout.addWidget(playButton);
  layout.addWidget(stopButton);

  QAVAudioOutput *audioOutput = nullptr;

  QObject::connect(combo, &QComboBox::currentIndexChanged, &p, [&]() {
    p.stop();

    if (audioOutput) {
      audioOutput->stop();
      audioOutput->deleteLater();
    }

    audioOutput = new QAVAudioOutput(&p);
    audioOutput->setVolume(0.5);

    p.setSource(combo->currentText());
    p.play();

    // audioOutput.setBufferSize(128 * 1024);
    QObject::connect(
        &p, &QAVPlayer::audioFrame, audioOutput,
        [audioOutput](const QAVAudioFrame &frame) { audioOutput->play(frame); },
        Qt::DirectConnection);
  });

  QObject::connect(playButton, &QPushButton::clicked, &p, [&]() { p.play(); });
  QObject::connect(stopButton, &QPushButton::clicked, &p, [&]() { p.stop(); });

  window.show();

  return app.exec();
}

Reproduce:

Switch source and call play()
Repeat first step multiple times

Possible reason:
Functions executing in wrong order. We waiting for futures when we already deallocated some resources that futures might depend on.
If I'm wrong please correct me.

thanks, got this BT:
QAVPacket::duration (this=0x7fffddbfeef0) at ../../src/QtAVPlayer/qavpacket.cpp:76
76	    auto tb = d->stream.stream()->time_base;
(gdb) bt
#0  QAVPacket::duration() const (this=0x7fffddbfeef0) at ../../src/QtAVPlayer/qavpacket.cpp:76
#1  0x0000555555570dc5 in QAVPacketQueue<QAVFrame>::dequeue() (this=0x5555558b7648) at ../../src/QtAVPlayer/qavpacketqueue_p.h:241
#2  0x000055555556e100 in QAVPacketQueue<QAVFrame>::frontFrame(QAVFrame&) (this=0x5555558b7648, frame=...) at ../../src/QtAVPlayer/qavpacketqueue_p.h:161
#3  0x00005555555636ee in QAVPlayerPrivate::doPlayStep(bool&, double, QAVQueueClock&, QAVPacketQueue<QAVFrame>&, bool&, std::function<void (QAVFrame const&)> const&)
    (this=0x5555558b74d0, master=@0x7fffddbff02d: false, refPts=-1, clock=..., queue=..., sync=@0x7fffddbff02e: true, cb=...) at ../../src/QtAVPlayer/qavplayer.cpp:707
#4  0x0000555555563f42 in QAVPlayerPrivate::doPlayAudio() (this=0x5555558b74d0) at ../../src/QtAVPlayer/qavplayer.cpp:793
#5  0x00005555555766a8 in QtConcurrent::VoidStoredMemberFunctionPointerCall0<void, QAVPlayerPrivate>::runFunctor() (this=0x7fffb825a8c0) at /usr/include/x86_64-linux-gnu/qt5/QtConcurrent/qtconcurrentstoredfunctioncall.h:205
#6  0x000055555556b835 in QtConcurrent::RunFunctionTask<void>::run() (this=0x7fffb825a8c0) at /usr/include/x86_64-linux-gnu/qt5/QtConcurrent/qtconcurrentrunbase.h:136
#7  0x00007ffff46cff92 in  () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#8  0x00007ffff46ccca1 in  () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#9  0x00007ffff3e94ac3 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:442
#10 0x00007ffff3f26850 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81

could you check https://github.com/valbok/QtAVPlayer/pull/503 ?

I confirm. Everything is working now!

I confirm. Everything is working now!

thanks, just need to understand why tests failed, maybe would require another fix

authors: valbok yunag


text:
Unable to install libvalhalla in Xenial

Step 5 : RUN apt-cache search valhalla && apt-get install -y libvalhalla0 libvalhalla-dev
 ---> Running in cc12eaf56bcd
libvalhalla-dev - OpenStreetMap Routing API
libvalhalla0 - OpenStreetMap Routing API
valhalla-bin - OpenStreetMap Routing Executables
valhalla-server - Open Source Routing Engine and Libraries sponsored by Mapzen.
Reading package lists...
Building dependency tree...
Reading state information...
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 libvalhalla0 : Depends: libspatialite5 but it is not installable
                Depends: libprotobuf8 but it is not installable
                Depends: libgeos-3.4.2 but it is not installable
                Depends: libgeos-c1 but it is not installable
E: Unable to correct problems, you have held broken packages.
The command '/bin/sh -c apt-cache search valhalla && apt-get install -y libvalhalla0 libvalhalla-dev' returned a non-zero code: 100
make: *** [/home/pt/Sites/mapillary/cluster/build/app/Makefile:47：build] 错误 100

yes we currently have a new version that is only built for trusty because something with our packaging scripts is messed up. see this issue #9

this is fixed a while ago and i forgot to close it

authors: kevinkreiser ptpt

repo: valhalla/packaging


text:
“Identity verification is not currently available…” error appears in red banner  when user navigates to “Start supercharging” screen by tapping on Rewards from hamburger menu.

Frequency: 100%
Repro on build version: Android Internal release build V1.27.0, Test flight release build V1.27.0
Repro on devices: Google Pixel XL (10.0), Google Pixel 2 XL (11.0), iPhone 12 (14.7.1), iPhone 13 mini (15.1.1)
Pre-condition:

User must have installed the app
User must have completed the onboarding flow by skipping phone number confirmation.

Repro Steps:

Tap & open Hamburger menu.
Tap on “Rewards” pill on top RHS in hamburger menu & observe.

Bug: “Identity verification is not currently available…” error appears in red banner  when user navigates to “Start supercharging” screen
Expected Behavior:  “Identity verification is not currently available…” error must not appears in red banner  when user navigates to “Start supercharging” screen
Investigation: Same red banner error appears when user navigates to “Start supercharging” screen on tapping “Rewards” from hamburger menu after user confirms phone number and adds valid balance.
Impact: Bad user impact as unnecessary error appears in red banner.
Attachment: Red Banner issue.mp4

@ValoraQA this could be an issue with ODIS or related to the linked PR. Please retest in 1.27.2.

Hey @MuckT,  We have verified this issue on latest Android internal release build V1.27.2, Test flight release build V1.27.2 & observed that the issue is fixed now.  Hence we are closing this issue.

No error appears when phone number is not verified & user is navigating to "Start supercharging" screen by tapping on rewards from hamburger menu.
No error appears when phone number is verified & user redirects to "Start supercharging" screen by tapping on rewards from hamburger menu.

Devices:  Google Pixel 4a (12.0), iPhone SE 2020 (14.8.1), iPhone 12 (14.7.1), Redmi Note 7 Pro (10.0), Google Pixel 2XL (11.0)
Attachment: No error appear.mp4
Thanks..!!

authors: MuckT ValoraQA

repo: valora-inc/wallet


text:
Replace background image at nfts.valorapp.com

According to updated design specs

@nityarao what design do we want to go with form the figma specs I see several options.

This work is currently paused.

authors: MuckT aleksey-nov


text:
Add warning if the termination skill is missing as a dependency

Proposed changes
This PR updates the service analyser to warn if the termination skill is not defined as a dependency in the agent and the ABCI skill
Fixes
If it fixes a bug or resolves a feature request, be sure to link to that issue.
Types of changes
What types of changes does your code introduce? (A breaking change is a fix or feature that would cause existing functionality and APIs to not work as expected.)
Put an x in the box that applies

[ ] Non-breaking fix (non-breaking change which fixes an issue)
[ ] Breaking fix (breaking change which fixes an issue)
[ ] Non-breaking feature (non-breaking change which adds functionality)
[ ] Breaking feature (breaking change which adds functionality)
[ ] Refactor (non-breaking change which changes implementation)
[ ] Messy (mixture of the above - requires explanation!)

Checklist
Put an x in the boxes that apply.

[ ] I have read the CONTRIBUTING doc
[ ] I am making a pull request against the main branch (left side). Also you should start your branch off our main.
[ ] Lint and unit tests pass locally with my changes
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] I have locally run services that could be impacted and they do not present failures derived from my changes
[ ] Public-facing documentation has been updated with the changes affected by this PR. Even if the provided contents are not in their final form, all significant information must be included.
[ ] Any backwards-incompatible/breaking change has been clearly documented in the upgrading document.

I guess we could do the same for slashing_abci in this PR.

authors: Adamantios angrybayblade

repo: valory-xyz/open-autonomy


text:
Tcat/new active tasks

This fork contains two new active tasks: ActiveAudioCaptureStep and ActiveSelfieCaptureStep:

The audio capture step can be configured to record user audio for a maximum time limit, then store the data in the app's local storage as an AAC file.  Currently, the audio is using a 96K sampling rate (the highest value allowed for AAC), 256 bit encoding rate, and mono sound.
The selfie capture step will allow users to take a picture and review it before storing it as a JPG file in the app's local storage.  This step also has some basic capability to draw custom images on the camera preview overlay (although there is no current example provided yet).
For both tasks, the result will contain a path to the file location inside internal storage.

Additionally, both tasks have corresponding builders and factories for easy task creation, found in the org.researchstack.backbone.task.factory and org.researchstack.backbone.task.builder packages.

I've added a new commit that includes the following changes to the selfie task:

Provides an overlay on the preview to assist users in guiding the camera to capture a good image.
Once a face is detected, the step will countdown to automatically capture.
Replaced the capture button with the countdown timer.

Updates for both the audio and selfie tasks:

Removed the request for external storage write in both task builders.  This was unnecessary because the raw files are saved in the internal app storage.

Is it possible to have a text area in redcap for the instructions?  This would be useful in cases where the task may have a longer list of instructions containing several newlines.

Yes, I will ensure that redcap uses a text area to allow for paragraphs

repo: vanderbilt/mycap-researchstack


text:
Compiler errors on OSX 10.10/ OF 0.8.4 release

Hello,
I'm trying to help a student with her Box2D code but seem to be getting a bunch of compile errors when running either the examples or a new test app with OSX 10.10 and OF v 0.8.4 release.  I initially thought the errors had something to do with compiler language Dialect ("use of undeclared static_assert") but I now think it might have more to do with my version of OF.  Do I need to pull a specific 084 tag, or is there a preferred OSX setup for using this addon?  Thanks in advance!

After tweaking the deployment target settings to OSX 10.8 it solved a lot of the errors, but I am now getting <tr1/unordered_map> file not found.

I am having the same issues: /of_v0.8.4_osx_release/addons/ofxBox2d/libs/Box2D/Common/b2Math.h:30:2: Use of undeclared identifier 'static_assert'; did you mean 'static_cast'?
Using OSX 10.9.5 with Xcode 6.2 and OF v 0.8.4 Release. Also setting the deployment target does not help solve the error.

please grab the ofxBox2d repo again and try again.
the project files that come with the repo are working for me under 0.8.4 and 10.10.
there were some bugs with ofDrawLine/ofDrawCircle which are new to 0.9.0 accidentally being included in master, but now the 0.9.0 version is in develop.

I grabbed a new version from the ofxBox2d and tried to build the example-Simple I get one error:
"of_v0.8.4_osx_release/addons/ofxBox2d/src/ofxBox2dJoint.cpp:113:2: Use of undeclared identifier 'ofDrawLine'; did you mean 'ofDrawCone'?"
This actually seems to point to the bugs you mentioned with ofDrawLine/ofDrawCirlce. Kyle because of your comment I am slightly confused.. which repo is the last stable version of box2d yours? or  vanderlin?

sorry, i thought i had pushed to this repo, but i pushed to my own.
please use this repo. i just checked and there should not be any instance of ofDrawLine in master.

authors: ikbenmacje indefinit kylemcdonald

license: Zlib


text:
Trying to train model to understand enums in DB

Describe the bug
A clear and concise description of what the bug is.
To Reproduce
Steps to reproduce the behavior:

Go to '...'
Click on '....'
Scroll down to '....'
See error

Expected behavior
A clear and concise description of what you expected to happen.
Error logs/Screenshots
If applicable, add logs/screenshots to give more information about the issue.
Desktop (please complete the following information where):

OS: [e.g. Ubuntu]
Version: [e.g. 20.04]
Python: [3.9]
Vanna: [2.8.0]

Additional context
Add any other context about the problem here.

Hmm, it seems like you just submitted the bug template instead of adding context under each header.
Without any context, I am unable to assist you any further, but this sounds like a discussion topic instead of a bug request. Am I correct?
If so, could you close this issue and open a Q/A Discussion in the Discussions tab instead?
https://github.com/vanna-ai/vanna/discussions/new?category=q-a
Then I or someone else could assist you further there :]

repo: vanna-ai/vanna


text:
Light mode: Code inside code-blocks in invisible.

When using Light Mode on website, the code/text inside code blocks becomes invisible. See screenshots!
Reference Page: https://vanntile.com/blog/composited-typing-animation
Dark Mode

Light Mode

Thank you for checking my website and letting me know of this behavior. It must have been a result of bad maintenance and I will revamp it as soon as possible early next year.


text:
Build a Contact Channel in readme

Describe the Documentation Update
To enhance communication and provide direct access to project guidance, I plan to include a dedicated Contact section. This section will feature the LinkedIn and GitHub profiles of each mentors and Admin enabling contributors to readily connect with them and address any project-related queries.
Finally, to foster a welcoming and inclusive environment, we will incorporate personalized welcome messages for new contributors.
Kindly Assign me this Issue under labels:

Gssoc-ext 🌸
hacktoberfest ☘
Level ✨

Add Screenshots (if applicable)
No response
Confirm

[X] I agree to follow this project's Code of Conduct
[X] I'm GSSOC'24 Extd registered Contributor
[X] I want to work on this documentation issue

Theres no active mentor for this repo and my(admin's) details are already present in the readme
Thanks for the issue but its invalid for now so I am closing your issue

authors: Varunshiyam vansh-codes

repo: vansh-codes/Gityzer


text:
Have to name all params the same

The routing engine is too restrictive on what the parameter fields can be.  For example, I tried to create these two routes for a DELETE
orders/:id
orders/:orderID/work/:workID
That fails because the router wants the ':orderID' in the second line to also be called ':id'.
Yes, I can do that of course, but it makes the names not as clear when working with multiple fields.

This is a duplicate of #92

repo: vapor/routing-kit


text:
Add support for Codable types with URL properties.

Add support for encoding and decode URLs. Fixes #24

These changes are now available in 1.1.0

repo: vapor/url-encoded-form


text:
Server occasionally won't shut down?

Not sure what's going on, but when you press Q to quit in the console, occasionally it just waits forever. You have to kill the process manually and CTRL-C kobweb. This is a horrible experience.
It's possible it has something to do with a server freaking out after a bunch of live reloads. I mean, maybe it's just a guess, but I should look into my /api/kobweb-status event stream logic in Routing.kt, but no guarantees it isn't some other issue.
It's probably easy to fix if I can find a way to regularly reproduce but I don't have any steps at the moment.

server-death.txt
Caught some output on a dying server

Frustratingly, it seems like this is still happening. However, what's weird is if I listen to the process's output, it "unblocks" the hang.
In other words, if the server is running with PID=12345, then sudo cat /proc/12345/fd/1 unblocks it.... I'll have to research why this might happen.

This seems to be better so far with 0.9.2 :crossed_fingers:
Keeping an eye on it. If I don't see it again while working on 0.9.3 I'll close it when that goes out.

I am overjoyed (and hopefully not premature) in saying that I haven't seen this all week. So I'm going to close this bug - things should work as long as you depend on kobweb v0.9.2 or later in your codebase

repo: varabyte/kobweb


text:
Support for concurrent recursive function memoization

Vavr already supports non-concurrent function memoization. As I happen to have written a concurrent recursive function memoizer some time ago, I will attach it as a patch for you to decide if it's worth including something like this in Vavr. I have ported the code from ordinary Java (CompletableFuture) to (I hope idiomatic) use of Vavr constructs (Promise, Future):
concurrent-recursive-function-memoization-patch.zip
Usage example with good old Fibonacci sequence (doesn't actually show concurrent calls, but should be enough to illustrate the use):
import io.vavr.Function1;
import java.math.BigInteger;

import static io.vavr.concurrent.Future.successful;

public class Fibonacci {
    private static final Future<BigInteger> ONE = successful(BigInteger.ONE); // some shorthand
    private final Function1<Integer, Future<BigInteger>> fibMem;  // a thread-safe, concurrently memoized recursive function

    public Fibonacci() {
        fibMem = MemoizedConcurrently.of(this::fib);
        assert fibMem instanceof MemoizedConcurrently;
    }

    // fib delegates recursive calls to its memoizing version
    // in good functional style we use the monadic operations flatMap and map on the Future
    public Future<BigInteger> fib(int n) {
        if (n <= 2) return ONE;
        return fibMem.apply(n - 1).flatMap(x ->  // x = fib(n-1)
                fibMem.apply(n - 2).map(y ->     // y = fib(n-2)
                        x.add(y)));              // return x + y
    }

    public static void main(String[] args) {
        Fibonacci fibonacci = new Fibonacci(); // shared instance that supports concurrent calls to fib(int)
        Future<BigInteger> fibonacciNumber = fibonacci.fib(200_000); // Look Ma: linear runtime without StackOverflowError!
        System.out.println(fibonacciNumber.get()); // block here
    }
}

My original blog post about this topic is here.

If you would like to take credit for it (and we would like you to), then it should be in the form of a pull-request which is pretty trivial in GH.

Mmmh, that is pretty cool. I have some questions.

I would love to see all additional types hidden and instead static factory methods

interface Function0<R> {
    static <R> Function0<Future<R>> memoized(Supplier<? extends Future<? extends R>> f) { ... }
}

interface Function1<T1, R> {
    static <T1, R> Function1<T1, Future<R>> memoized(Function<? super T1, ? extends Future<? extends R>> f) { ... }
}

interface Function2<T1, T2, R> {
    static <T1, T2, R> Function2<T1, T2, Future<R>> memoized(BiFunction<? super T1, ? super T2, ? extends Future<? extends R>> f) { ... }
}

interface Function3<T1, T2, T3, R> {
    static <T1, T2, T3, R> Function3<T1, T2, T3, Future<R>> memoized(Function3<? super T1, ? super T2, ? super T3, ? extends Future<? extends R>> f) { ... }
}

...

That should still work, especially trampolining.
@chb0github you are right but in this case it is not trivial to create a PR. There is a code generator written in Scala that has to be modified (Generator.scala). Also we need to do this for Function* and CheckedFunction*...

One more thing: It is not clear where to put it. We plan for 1.0.0 to modularize Vavr (see this blog post). If we modify io.vavr.Function*, we have to pull the concurrent package into the upcoming vavr-core module. I planned to create a separate module for the concurrency stuff.
Another solution would be to add this functionality to Future itself, e.g.
interface Future<T> {
    // static factory methods for Function0..n
    static <T1, R> Function1<T1, Future<R>> memoized(Function<? super T1, ? extends Future<? extends R>> f) { ... }
    // ...
}

I think Future is the right location. Also we need variants that take an ExecutorService in order to control the Thread creation etc.
This leads to (Function0..8 + CheckedFunction0..8) * 2 = 36 new static factory methods in Future (compared to (Checked)FunctionX * 2 = 2 new static factory methods in every (CheckedFunctionX).

@smillies I see that you already got your hands on Kotlin coroutines. I've read that they use no native Threads. Do you think that it is possible to achieve the same in Java while preserving the functionality of Future/Promise?

relaxing the type signatures to Function1<T1, ? extends Future<? extends R>> -> Function<T1,Future<R>> seems a good idea, although that will require a cast in the short-circuiting clause of MemoizedConcurrently.
But I do not see what you gain by introducing all those factory methods. In what way is writing fibMem = Function1.memoized(this::fib) ny prettier than fibMem = MemoizedConcurrently.of(this::fib) ?
    ;

@danieldietrich (Off-topic) I haven't looked at Kotlin coroutines in-depth. However, as Kotlin coroutines require a new keyword (suspend) that makes the Kotlin compiler issue special bytecode (see here), I don't think you can pull this in easily without pulling in a compile-time dependency on Kotlin. As a library user, I wouldn't like that.
Apart from suspend, the rest seems to be Kotlin library code, not language constructs. The context switching seems to be done by the Kotlin CoroutineDispatcher. Something of how concurrency and threads work is explained in the Coroutines Guide and Informal Description document. These links may be outdated.

@smillies Thanks!

I do not see what you gain by introducing all those factory methods

I think having not too many entry points (= kind of different words of the 'language' Vavr) makes it easier to find functionality. But maybe you are right. I will think about it...

relaxing the type signatures to (...)

I think you are right, it can be simplified in this case - it is similar to this one

(Off-topic)

Apart from suspend, the rest seems to be Kotlin library code, not language constructs (...)

Thank you for your thoroughly investigation. The idea of having 'lightweight' concurrency in Java without native threads is tempting but I will not dig deeper for now...

Oh yes, and I believe you do not want a varant of MemoizedConcurrentlly.of() that accepts an ExecutorService. The async call in the memoizer is only for trampolining, it it weren't for that, you might just as well call the underlying function directly. For trampolining, I think you'll be fine with Future's default ForkJoinPool. A sensible alternative would be to create a dedicated newSingleThreadExecutor for each instance of ConcurrentTrampoliningMemoizer, although that might become wasteful when there are very many memoized functions. I think the opportunity to pass in a trampoline might potentially create more harm than good. Perhaps experience will show otherwise later, but I wouldn't do it now.

What you do want is a variant of MemoizedConcurrentlly.of() that accepts a cache implementation: that's why  the constructor of ConcurrentTrampoliningMemoizer has a ConcurrentMap argument in the first place. The memo might take up a lot of memory for intermediate results that might become unneeded. I'd like people to be able to pass in a real cache that has some sort of expiry policy, as a replacement for the ConcurrentHashMap in the default implementation.

Thanks. Oh yeah, caching... Nice topic 🤔

Hi there, I've gone and created a pull request. Changes compared to the original proposal: MemoizedConcurrently has an additional method that accepts a cache implementation, and ConcurrentTrampoliningMemoizer is hidden (package private).
Regards,
Sebastian

I have closed the pull request, because the code used Promise, which has been removed meanwhile.
Without Promise, I currently see no good way to implement this functionality. It could be implemented in terms of CompletableFuture, as in the original version on my blog, but then there's no good way to gro from a Function1 that produces a vavr.io.concurrent.Future to a Function that produces a CompletableFuture.
(And Future.fromCompletableFuture() cannot be used, because it blocks.)

(And Future.fromCompletableFuture() cannot be used, because it blocks.)

This could be considered as bug. We need a version that asynchronously completes the wrapping future. I will create an issue.

authors: chb0github danieldietrich smillies

repo: vavr-io/vavr


text:
fix: NaiveUI的NRadioGroup组件支持options写法

问题

想通过类似ant的写法去写naive的功能，发现NaiveUI的NRadioGroup组件支持options写法

export const addRoleFormSchema: any = [
  {
    component: 'RadioGroup',
    componentProps: {
      options: [
        {
          label: $t('common.yes'),
          value: 1,
        },
        {
          label: $t('common.no'),
          value: 0,
        },
      ],
    },
    defaultValue: 0,
    fieldName: 'isDefault',
    label: $t('abp.role.isDefault'),
    rules: 'required',
  },
];

解决
在适配器适配该组件。customNRadioGroupRender
未修复之前效果

修复之后的效果

Summary by CodeRabbit

New Features

Enhanced rendering of radio group components with a customizable function for improved user experience.
Updated radio group integration to utilize the new rendering logic for better flexibility.

已重新包装了checkboxGroup和radioGroup。

authors: WangJunZzz mynetfan

repo: vbenjs/vue-vben-admin


text:
goroutine / connection leak?

Hi, Contributors!
Thank you for excellent library.
I use goautomotive/iothub.
This library using pack.ag/amqp as backend.
But, I found goroutine / connection leak. maybe, It cause by amqp library.
Problem

We call conn.close().
As far as I can see, conn.close() is done correctly.

c.done , rxDone, txDone is closed.

But, goroutine and network connection is Remaining.

goroutine: using leaktest
network connection: using netstat -antp command

Do you have any idea?

Can you provide any details about the leaking goroutines? The integration tests for this library use leaktest to try to catch any leaks.
It looks like the iothub lib is using version 0.5.0, it may be worth trying the latest version. Though that could require updates to iothub since there have been breaking changes since then.

Sample code would be best, but in the absence of that the leaktest output and/or pprof goroutines should point to to what the goroutines are doing and what started them. Thanks

ok!
This is pprof goroutine.
8 @ 0x42ce5a 0x42817a 0x4277f7 0x4813eb 0x48146d 0x4822cd 0x5c162f 0x5d246a 0x6185c6 0x618ad0 0x61c070 0x6fad29 0x704fab 0x459db1
#	0x4277f6	internal/poll.runtime_pollWait+0x56						/usr/local/Cellar/go/1.10/libexec/src/runtime/netpoll.go:173
#	0x4813ea	internal/poll.(*pollDesc).wait+0x9a						/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_poll_runtime.go:85
#	0x48146c	internal/poll.(*pollDesc).waitRead+0x3c						/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_poll_runtime.go:90
#	0x4822cc	internal/poll.(*FD).Read+0x17c							/usr/local/Cellar/go/1.10/libexec/src/internal/poll/fd_unix.go:157
#	0x5c162e	net.(*netFD).Read+0x4e								/usr/local/Cellar/go/1.10/libexec/src/net/fd_unix.go:202
#	0x5d2469	net.(*conn).Read+0x69								/usr/local/Cellar/go/1.10/libexec/src/net/net.go:176
#	0x6185c5	crypto/tls.(*block).readFromUntil+0x95						/usr/local/Cellar/go/1.10/libexec/src/crypto/tls/conn.go:493
#	0x618acf	crypto/tls.(*Conn).readRecord+0xdf						/usr/local/Cellar/go/1.10/libexec/src/crypto/tls/conn.go:595
#	0x61c06f	crypto/tls.(*Conn).Read+0xff							/usr/local/Cellar/go/1.10/libexec/src/crypto/tls/conn.go:1156
#	0x6fad28	github.com/goautomotive/iothub/vendor/pack.ag/amqp.(*buffer).readFromOnce+0x88	/Users/whywaita/go/src/github.com/goautomotive/iothub/vendor/pack.ag/amqp/buffer.go:102
#	0x704faa	github.com/goautomotive/iothub/vendor/pack.ag/amqp.(*conn).connReader+0x81a	/Users/whywaita/go/src/github.com/goautomotive/iothub/vendor/pack.ag/amqp/conn.go:435

8 @ 0x42ce5a 0x43c9f0 0x703d96 0x459db1
#	0x703d95	github.com/goautomotive/iothub/vendor/pack.ag/amqp.(*conn).mux+0x5c5	/Users/whywaita/go/src/github.com/goautomotive/iothub/vendor/pack.ag/amqp/conn.go:337

8 @ 0x42ce5a 0x43c9f0 0x70539c 0x459db1
#	0x70539b	github.com/goautomotive/iothub/vendor/pack.ag/amqp.(*conn).connWriter+0x1cb	/Users/whywaita/go/src/github.com/goautomotive/iothub/vendor/pack.ag/amqp/conn.go:560

This result says "There are 8 goroutine". at this time, netstat says also 8 connection to Azure.

From that output it seems that the conn.mux is still running, blocked on the select statement (conn.go:337). If conn.Close() were called it should have closed conn.closeMux and conn.mux would exit.
I wonder if the session is returning an error and the conn isn't being closed here: https://github.com/goautomotive/iothub/blob/5a80cb9a250d0ea0b6102bbc4878560ec307c65e/eventhub/client.go#L184-L187

I closed SubscribeEvent using cancel() (context) .
This function set defer conn.Close(), conn is amqp.Client .
amqp.Client.Close() is the right way?

Provided that SubscribeEvent is returning, that seems like it should work.
Looks like iothub opens two AMQP connections:
https://github.com/goautomotive/iothub/blob/5a80cb9a250d0ea0b6102bbc4878560ec307c65e/iotservice/client.go#L159
https://github.com/goautomotive/iothub/blob/5a80cb9a250d0ea0b6102bbc4878560ec307c65e/iotservice/client.go#L197
It doesn't look like the first one gets closed on the success path.

Oh! I also think the first one not to be closed.
I will try to check!

authors: vcabbage whywaita

repo: vcabbage/amqp


text:
Implement room members lazy-loading

vector-im/riot-meta#209.
Synapse branch: matthew/lazy_load_messages_api
Tasks below represent the cookbook used on iOS (https://github.com/vector-im/riot-ios/issues/1931). It may need some adaptation for Android:

[ ] Local lazy loading (@bmarty)

[ ] SDK: Make [MXRoom liveTimeline:] async

[ ] MXStore: Load MXRoomState asynchronously
[ ] MXStore: no more preload room states at startup

[ ] Use MXRoomSummary instead of MXRoom.state as much as possible
[ ] Riot: Make it build and run

[ ] SDK: Decouple room members from MXRoomState:

[x] MXRoomState.displayName is obsolete now and make an heavy requirements on room members. Use MXRoomSummary.name everywhere.
[x] Create a MXRoomMembers object, property of MXRoomState, it will contain already lazy-loaded room members. This is list is enough to render the current timelime
[x] Get the full list of room members from a separate API ( -(MXRoomMembers*)[MXRoom members:])

[x] Make its access async (its methods could be async later)
[x] Make its access trigger a /members request if needed

[ ] (Have a separate storage for them)

[ ] SDK: Have a MXSession.syncFilterId property

[ ] implement filters

[x] Create class models for filters
[x] create a factory to build a lazy-load filter
[x] Implement CS API to create filter
[x] Store them locally
[ ] write tests

[ ] Use them

[ ] [MXSession start:] -> [MXSession startWithSyncFilter:] and [MXSession startWithSyncFilteId:]
[x] store the MXSession.syncFilterId
[ ] have MXSession.syncWithLazyLoadOfRoomMembers
[x] manage fallback if the server does not support lazy-loading

[ ] SDK: Manage new summary API (https://docs.google.com/document/d/11i14UI1cUz-OJ0knD5BFu7fmT6Fo327zvMYqfSAR7xs/edit#heading=h.qif6pkqyjgzn)

[x] members count
[x] compute fallback i18ned display name

[x] SDK: Use a LL filter in /messages

[x] pass the filter according to MXSession.syncWithLazyLoadOfRoomMembers value
[x] process new state field in the response

[x] SDK: Use a LL filter in /context
[ ] SDK: Use new at params in /members

[ ] Update the CS API
[ ] Manage race contions with /members: js does that, ios that as discussed here

[x] /versions

[x] expose it in the SDK
[x] with "unstable_features": {"m.lazy_load_members": true}

[ ] Riot: Check search display. The code must use profile_info
[x] Riot: Add a setting in LABS to enable the feature

[x] Riot: Fallback to no LL if the user HS does not support it (/versions unstable_features above)
[ ]  Enable it by default. Reset it to enabled for new login/registration

[ ] Riot: Make sure read-receipts are correctly displayed
[ ] Room status: joined/invited

[x] Store this information regarding the room position in sync return, instead of looking for user membership value (RoomMember of current user is not always known with LL).
[ ] Force a clear cache for next installation

[ ] Tests

[ ] Write lazy-loading tests and regression tests
[ ] Make them pass

New point:

[x] reset the boolean to fetch again a /members request in case of a room gap detection during sync
[ ] use a limit of 30 in the LL filter

Done, will treat potential pb in dedicated issues

authors: bmarty manuroe

repo: vector-im/riot-android


text:
Notification breaks Screensaver

What happens: Every Notification (set to "loud" or normal) does deactivate an active Screensaver.
What should happen: Notification should make Noise (beep, vibrate, illuminate LED), but not deactivate Screensaver.
Versions: Riot 0.8.13, LineageOS 14.1, Android 7.1.2

Indeed this was the Case.  Sorry for the Noise, and Thanks to everyone for the good Work.


text:
Misleading certificate warning on expired cert

When the server cert expires, the warning shown on the android client is misleading, suggesting that the certificate has changed, which it has not.

This is still an issue as of today. The warning message has changed somewhat since February, but still gives the impression that the certificate was exchanged.

I am confused as it seems that I am getting the same message with a certificate that is certainly not expired:
~ $ openssl s_client -connect matrix.bp99.eu:443 2>/dev/null | openssl x509 -noout -dates 2>&1 | grep not[BA]
notBefore=May 22 22:48:48 2021 GMT
notAfter=Aug 20 22:48:48 2021 GMT

authors: bzp99 madduck tanius


text:
Add internal recording of voice messages

Pull Request Checklist

[x] Changes has been tested on an Android device or Android emulator with API 16
[x] UI change has been tested on both light and dark themes
[x] Pull request is based on the develop branch
[x] Pull request updates CHANGES.rst
[ ] Pull request includes screenshots or videos if containing UI changes
[x] Pull request includes a sign off

I recommend to add 4 improving quality of Records...
mRecorder.setAudioChannels(2);
mRecorder.setAudioSamplingRate(44100);
mRecorder.setAudioEncodingBitRate(64000);

I merge this on my Fork without any Problems :) THX anyway

Could you add Ear hearing Mode like simulated Phone Call ?

@awesome-manuel Could you add Ear hearing Mode like simulated Phone Call ?

For sure not in this PR, could be added later. We don't need it, so probably someone else has to contribute that code.

@awesome-manuel Could you add Ear hearing Mode like simulated Phone Call ?

For sure not in this PR, could be added later. We don't need it, so probably someone else has to contribute that code.

I use a own Fork of this & want's to make it more friendly 4 my Community like alternative to WhatsApp and so on....

Is there anything to take here for RiotX? At least the design principles?

RiotX issue: https://github.com/vector-im/riotX-android/issues/29

authors: DoM1niC awesome-manuel tuxayo


text:
fix(wpa-pkgs): brianlima.uwphook - package version

WinGet PR: https://github.com/microsoft/winget-pkgs/pull/78499/files

/approve-and-merge


text:
Performance & Accuracy issues w/ channel drop zones

###Expected Behavior
I would expect the drop areas to follow the mouse closely when dragging a value onto a channel, and to have the selected channel predictably mirror the position of the mouse.
###Actual Behavior
Channel selection is inconsistent, drop target lags behind mouse, and chart takes a time to update after dropping.

###Steps to reproduce behavior

Select "Symbol" mark
Drop Jobs "count" property onto Y axis
Drag "year" property over X axis
Move property around; see that the triggered drop zone is inconsistent & laggy

Forgot to note, I am seeing this problem in the lyra2 branch

repo: vega/lyra


text:
Request: Extend VE Genetics support

To be more specific:

Allow animal hybridization as well. Currently support is only for animal/human hybrids, but what about "bearwolf" for example?
Add spectrums to hybridization. Currently if VE Genetics is enabled for genes, children will always be a hybrid. But maybe you can make it so that there is a spectrum between "vanilla" births and "hybrid" births so it's not an either/or.

Probably a side note but:
I took a look at the defs for the compatibility patch. I'm still new to modding, but currently it is hard coded for each individual breeding pair for what it should result in. Which is fine. But couldn't it be possible to first categorize animals based on their "core"? I.e. wolf, timber wolf, and warg could be fit into a master group called "canine" and then use "canine" to determine what resulting children will be for all three. Sort of like how rjw handles animal genatalia. Would be a lot easier for me to make a patch myself for modded creatures not supported such as Medieval Overhaul.

I will close this for now but I have not forgotten.
The thing is I believe this would be best as a separate mod.

authors: SirPlebeian vegapnk

repo: vegapnk/RJW-Genes


text:
Update Market Proposal tutorial to include Successor Markets

Chore
With the introduction of Successor markets feature, we need to update our documentation explainer content and tutorial:

concepts/governance
proposals/new-market-proposal

Acceptance Criteria

[x] There is a description of what a successor market is and how it behaves
[x] There is a tutorial on how to create a successor market proposal

Background
Specs: https://github.com/vegaprotocol/specs/blob/sucessor-market/protocol/0028-GOVE-governance.md#1-create-market
Tasks

[ ] Draft documentation
[ ] Team and stakeholder review
[ ] Specs reviewed and created or adjusted
[ ] Implementation
[ ] Testing (unit and/or e2e)
[ ] Code review
[ ] QA review

Sketch
Additional details / background info

Lets get someone to run through the process once on fairground to make sure it works, then we close.

repo: vegaprotocol/frontend-monorepo


text:
Placeholder favicon + key imagery

Chore
This chore is to implement designs for placeholder for a connection request as it looks like an error with the question mark:

A dapp connection that doesn't have a favicon / image assigned (replacing the current question mark)

And for transactions so that you can quickly, visually recognise what which type of transaction you are responding to.

A transaction with a vega key that is not in this wallet
A transaction with an Ethereum key (e.g. withdrawal)

Tasks

[x] Update visual placeholder for connection requests
[ ] Add warning text for when user is transferring to a key not controlled by this wallet
[x] Update visual for Ethereum keys

Notes

function toHex(str) {
    var result = '';
    for (var i=0; i<str.length; i++) {
      result += str.charCodeAt(i).toString(16);
    }
    return result;
  }

const getRemainder = (str) => {
   const h = toHex(str)
   return BigInt('0x' + h) % 6n
}

getRemainder('larvalabs.com') // => 3 so we pick the third colour

Design
Figma link ↳

I think this is already done, no?

We said on this ticket we need to show a warning notification if the key is external

authors: ckpringle dexturr pennyandrews

repo: vegaprotocol/vegawallet-browser


text:
peptides removed even if value is set to "0" or "1" (all in or all out)

When I set PercDetectability to 1, no peptide should be removed at this stage. Here, it seems that one peptide is removed.
Something similar happens at the FDR step (in the example pasted below). I suspect that it has to do with WrongIDs.
I have not properly checked other steps.
#MS RUN SIMULATION - Start

 + Noise addition:
  - The MS noise standard deviation is 0 .
  - Noise added to all samples!

 + Detection limits:
  - Keeping  100 % peptides with high detectability score (PeptideRanger).
  - A total of 1 peptides is removed with predicted detectability lower than 0.01485572 .

 + Removing peptide intensities:
  - The percentage of remaining intensities is 100 % and the probabilities of selection depends on intensity values by 0.1 .
  - A total of 1 intensities is removed.

 + Addition of false identification:
  - FDR selected is 0 % and corresponds to 1 peptides.
  - FDR addition finished.

  - PTM re-location finished.

#MS RUN SIMULATION - Finish

Should be solved now

authors: mlocardpaulet veitveit

repo: veitveit/PhosFake


text:
Support of TFS repositories on self-hosted Azure Devops

Hello everyone 👋
Your VS extension seems to be exactly what I've been looking for... so cool to get an url pointing to a file of your code when you need to share something with a colleague! 👍
I've installed the extension, but I get no additional entry in my Windows context menu to copy the link. We have no Git but TFS repositories. Self-hosted Azure Devops. Maybe that's because (self hosted) TFS repositories are not supported?
Thank you in advance 😀
Bruno

Hi,
Thanks for your feedback. TFS isn't supported at all. Self-hosted Azure DevOps Git server should be supported, that said, I haven't been able to test it otherwise than unit tests because I don't have any under the hand.
I'll try to look for the TFS support. Meanwhile, can you please share an anonymous TFS repository URL that look like the one of your repository? That would help me to verify that the URL is parsed correctly.
Thank you in advance 😊

For self-hosted Azure, the remote URL of a Git repository is :
http://yourserver:8080/tfs/YourCollection/YourProject/_git/YourProject
For a TFS repository, I'm not sure as my knowledge of the CLI is very poor. The Git URL above show the files of the codebase. So with the same logic, for a TFS repo, the URL might be :
http://yourserver:8080/tfs/YourCollection/YourProject/_versionControl
Good luck if you keep digging into TFS support, especially with the branch system being a total mess in my opinion 😫
Thanks!

Thanks :) I'll try to look at this.

Hi! We are using self-hosted Azure DevOps Server 2020 Update 1.
Currently the extension (in VS2022) generates URL in form of:
http://my.domain:8080/tfs/CollectionName/_git/_git/?path=valid/path/and/other/params

But the working one is:
http://my.domain:8080/tfs/CollectionName/ProjectName/_git/RepositoryName?path=valid/path/and/other/params

I think, the problem is here. Apparently it does not consider CollectionName.
As I understand, the raw URL of the repository is taken from the .git/config file. In my .git/config file origin remote URL is exactly:
http://my.domain:8080/tfs/CollectionName/ProjectName/_git/RepositoryName

So the valid code would be:
properties[Organization] = repositoryUri.Host;
properties[Collection] = repositoryUri.Segments[2].TrimEnd('/');
properties[Project] = repositoryUri.Segments[3].TrimEnd('/');
properties[Repository] = repositoryUri.Segments[5].TrimEnd('/');
properties[OrganizationUrl] = $"{repositoryUri.Scheme}://{repositoryUri.Authority}/tfs/";
properties[RepositoryUrl] = $"{properties[OrganizationUrl]}{properties[Collection]}/{properties[Project]}/_git/{properties[Repository]}/";
// or even simpler and universal
properties[RepositoryUrl] = repositoryUri.ToString() + "/";

Hi @dlyz ,
Thank you for sharing this. I still don't have a self-hosted AzDO Server and still can't verify it by myself.
I built a new extension package that includes your suggested changes here : https://1drv.ms/u/s!AtZ0bJ-3VAYrga-TNYscev_5AFsFI9s?e=4wOSu9
Would you please be able to give it a try on VS 2022?
To do it, you will need to:

Uninstall the existing extension from VS 2022 (note that the package I shared isn't compatible with VS 2019).
Install the new one by downloading and double-clicking the .vsix file I shared above.

@brumartins , Hi :) Would you be able to test it too by any chance?

Thank you for quick response! I checked it and it works for me just fine.
There is one minor remark though. Currently the file opens, but the tree view does not show current file. If I add to the path parameter prefix / (%2F), tree view works as expected. So it will be perfect if you add this prefix probably here like this:
string url = $"{repositoryUrl}?path=/{relativePath.TrimStart('/')}&version=GC{commitId}&lineStyle=plain";

Thank you @dlyz ! I pushed my changes with your latest proposal and I'm currently publishing the newest extension package on the VS Marketplace :) https://marketplace.visualstudio.com/items?itemName=EtienneBAUDOUX.CopyGitLink2022
You might need to uninstall the package I sent earlier and install it again from the Extensions menu in Visual Studio to make sure you get future updates.
Thank you again for your help with this ! I will keep this issue opened since it still doesn't cover TFS version control.

Hi @veler, I've changed job and I'm no more working with a self-hosted Azure DevOps so I can't help anymore. But I can see things worked out, big thanks to both of you! 👍

authors: brumartins dlyz veler

repo: veler/CopyGitLink


text:
Can hash function support base64-url-encoding?

What's the Problem?
Currently, the hash function only support two output format, one is hex string, another is base64 string.
I need to get base64-url-encoded format to use with HTTP URL.
Solution/Idea
I hope the output format can add base64-url-encoding.
Alternatives
Manual or run another tool to make base64-encoded string URL-safe.
Priorities

Capability
Priority

This proposal will allow developers to accomplish W
Must

DevToys Version
Version 1.0.3.0 | X64 | RELEASE | 7c7c02a | 7c7c02a
Comments
No response

We are currently discussing changes to the number base converter tool in #384 that would allow you to convert the hash output from hex to base64 using that tool. 😊

@jwfxpr I am not sure if that's correct... That tool will allow you to convert numbers, but not any hex data.

@youkai95 all data is a number, if you allow numbers to be big enough. 😊

@jwfxpr I agree, but the tool doesnt support that feature and I am not sure if it could due to everything implied on converting through different bases... I see this more as an encoder/decoder tool

authors: innocentliny jwfxpr youkai95

repo: veler/DevToys


text:
Add cargo deny support and integrate with CI

This PR adds cargo deny support for license, security advisory and bans checking of the rust client API.
It further integrates the cargo deny processing with the CI push/pull workflow with the important caveat that newly flagged advisories in dependencies will not fail the CI, in order to prevent insta-breakage and permit continued development.
The initial commit is cargo deny clean, with some blanket ignores for currently unresolvable duplicate dependencies, a workaround for an advisory/bug in chrono, and permitted licenses set as per team advice.
It is intended that from this point forward, the build can be kept 'deny clean':
To that end, it is intended that no further blanket exceptions should be added to the deny.toml file without significant justification, and the file should (in theory) be revisited on a release by release basis to address any "TEMPORARY" flagged items.

Failed on unsigned commits, updated git and rebased with signed commits :-)

repo: veraison/rust-apiclient