Better ways to check/enforce prerequisite properties (decomposability, etc.)

Most of our inference functions assume something about the circuit (smoothness, decomposability, determinism, structured decomposability). Currently there are some functions that check these preconditions explicitly in code, some that add them as warnings in the documentation, and some that simply assume the user knows what's safe.
There are 2 possible improvements:

Provide a cross-API function that can tell the user whether the input circuit is supported by a given function. For example:

prereq(::typeof(issatisfiable), circuit) = isdecomposable(circuit)
prereq(::typeof(istautology), circuit) = isdecomposable(circuit) && isdeterministic(circuit)

> prereq(issatisfiable, circuit)
true
> prereq(issatisfiable, circuit & rain)
false

Create a wrapper struct for circuits that keeps track of all these properties, that sets/unsets them after transformations, that allows for them to be checked before running inference functions, etc. This change would require duplicating all inference functions into a 'safe' version that takes this new struct and checks properties, and a lower-level 'unsafe' one that assumes the user knows what they're doing (i.e., the current code).

I would like general feedback on this issue, and I'm especially curious what our external users like @RenatoGeh and @eliavw think.

For me, as a user, I usually know beforehand if I have a decomposable, deterministic, etc circuit. So (1) seems like a good feature to have with minimum effort for users to know what is required for queries. I don't see myself needing (2) unless I were working with circuits I had no idea how they were generated, but even then that'd be far fetched, since I would probably blame myself for not reading the article before using that circuit learner.

I think 1 is very useful in most cases. Checking determinsim each time for bigger circuit might not be doable though. For (1) we can maybe also have functions that simply outputs what properties are needed for each query type. Then the user can decide whether to check the properties hold or if they already know it holds or not.
Option (2), is also very useful sepcially for new users that might not know what these properties are. Its probably more work than 1.

When it comes to circuits, I consider myself very much a novice still, so you can take my view on these matters as a somewhat "newbie" perspective.
My recent usecase basically came down to the following;

I have an SDD from elsewhere
Load this SDD in Juice
Use Juice to convert the SDD to a PSDD
Learn the parameters of this PSDD on data.

After reading the docs, my workflow was;
c = load_logic_circuit("my_sdd.sdd")
c2 = smooth(c);
c3 = propagate_constants(c2);
pc = ProbCircuit(c3);

The smoothing in line (2) did not work and did not crash, and that's probably where things get dangerous; in my case I checked (I knew I was working on something that potentially would malfunction, due to reading issue #53) and caught the error. But people that do not double-check and 'trust' the code potentially have a hard time figuring this one out, and only catch the bug at a much later stage.
So, how to keep this from happening? Option (2) suggested above, which basically introduces a safe variant of all inference functions would catch this kind of error by definition, as it (if I understand correctly) would enforce all prerequisites.
However, I believe option (1) could also be a viable solution, as long as the documentation is very clear on these matters. Essentially, the docs should be very explicit about which properties each query requires from the circuit. A user that is unsure should then be very aware that he/she needs to use the prerequisite function to check whatever properties are needed.  If the docs are clear enough on these matters, I see no issues with keeping the inference functions themselves "unsafe".
Lastly, if a user notices that their circuit is not suitable for the desired query, it's probably also nice to have a section in the docs about how to fix that, since otherwise having failed the prerequisites becomes a dead end.
So, in conclusion: (2) would work for sure, but (1) would already be enough, given enough documentation on how to properly do prerequisite checks and fixes within Juice.

So, I just looked back to the previous issue in a bit more detail and I should be more clear on which workflows I tried and where the problems were
This strategy;
c = load_logic_circuit("my_sdd.sdd")
c2 = smooth(c);
c3 = propagate_constants(c2);
pc = ProbCircuit(c3);

this does not throw any errors, but does crash when computing the EVI-query (so thats a good thing)
Then I tried this strategy;
circuit = load_logic_circuit(filename)

# Initialize VTree with correct amount of vars
vtree = Vtree(num_variables(circuit), :balanced)
mgr = SddMgr(vtree)

# Add structure to the logic circuit (i.e. vtree)
struct_circuit = StructLogicCircuit(mgr, circuit)
struct_circuit = propagate_constants(struct_circuit; remove_unary=true)

# Convert to probabilistic circuit
prob_circuit = StructProbCircuit(mgr, struct_circuit)
psdd = convert(StructProbCircuit, prob_circuit)
psdd

which does not fail, but running an EVI-query on this yields incorrect probabilities (do not sum to one). So that's a bit more dangerous. Probably this way of trying things is not what a regular user would do, I was just really trying to shoehorn my SDD into Juice. The solutions (1) and (2) proposed above would still be of help, even in such a contrived scenario, since before running the EVI-query, I would still be advised to meet the prerequisites or expect errors.


Optimizing CMake for Visual Studio

Hey there.
Im not sure who configures these CMake files, but if you could change these settings it would be great:

set client_windows_32 as the default project to launch
Change the run time libraries to Multithreaded-Debug (not -DLL) so your builts can run on other PCs (/MD)
Change the floating point model to fast (/fp:fast)
Change the sub-system to windows, not Console (/SUBSYSTEM:WINDOWS)

(to be continued?)

Merged with #89
Subfilters seem not to work, ill open another issue for that.


问前检查

[X] 我确保本功能尚未加入
[X] 我确保没有其他 Issue 提出此功能

功能描述
%Roaming%\moe.muska.ami\nyanana\frpc\proxies目录下，已经被删除的隧道仍然保存配置文件，且相关自动启动参数也仍然保存
希望能在检查到隧道删除时自动删除相关配置文件和自动启动参数

由于这个情况的存在，每次启动软件的时候都会导致其尝试去启动已经被删除的隧道，显而易见，这会是失败的，这就会降低软件启动的效率

这是我测试时的frpc日志
[2024-08-25 09:49:21.240291][FPRC][INFO]: [81395] 2024/08/25 09:49:21 [I] [root.go:118] 欢迎使用LoCyanFrp, Stable Version: v0.51.3 - #2024021801
[2024-08-25 09:49:21.241306][FPRC][INFO]: [81398] 2024/08/25 09:49:21 [I] [root.go:118] 欢迎使用LoCyanFrp, Stable Version: v0.51.3 - #2024021801
[2024-08-25 09:49:21.636145][FPRC][INFO]: [81398] 2024/08/25 09:49:21 [I] [service.go:301] [5d5adacb085470d4d13d085bc048dba9-366b6dd87c972b57] 成功登录至服务器, 获取到RunID [5d5adacb085470d4d13d085bc048dba9-366b6dd87c972b57]
[2024-08-25 09:49:21.636145][FPRC][INFO]: [81398] 2024/08/25 09:49:21 [I] [proxy_manager.go:150] [5d5adacb085470d4d13d085bc048dba9-366b6dd87c972b57] 添加隧道: [5d5adacb085470d4d13d085bc048dba9.32432432433]
[2024-08-25 09:49:22.172106][FPRC][INFO]: [81398] 2024/08/25 09:49:22 [I] [control.go:177] [5d5adacb085470d4d13d085bc048dba9-366b6dd87c972b57] [5d5adacb085470d4d13d085bc048dba9.32432432433] 映射启动成功, 感谢您使用LCF!
[2024-08-25 09:49:22.172106][FPRC][INFO]: [81398] 2024/08/25 09:49:22 [I] [control.go:178] [5d5adacb085470d4d13d085bc048dba9-366b6dd87c972b57] 你可以使用 [<IP_ADDRESS>:39023] 连接至您的隧道: 5d5adacb085470d4d13d085bc048dba9.32432432433
[2024-08-25 09:49:23.991706][FPRC][INFO]: [81395] 2024/08/25 09:49:23 [I] [service.go:301] [5d5adacb085470d4d13d085bc048dba9-588c24f66cfe8c2a] 成功登录至服务器, 获取到RunID [5d5adacb085470d4d13d085bc048dba9-588c24f66cfe8c2a]
[2024-08-25 09:49:23.991706][FPRC][INFO]: [81395] 2024/08/25 09:49:23 [I] [proxy_manager.go:150] [5d5adacb085470d4d13d085bc048dba9-588c24f66cfe8c2a] 添加隧道: [5d5adacb085470d4d13d085bc048dba9.5553]
[2024-08-25 09:49:26.243056][FPRC][WARN]: [81395] 2024/08/25 09:49:26 [W] [control.go:170] [5d5adacb085470d4d13d085bc048dba9-588c24f66cfe8c2a] [5d5adacb085470d4d13d085bc048dba9.5553] 启动失败: LoCyanFrp API Error (Status: 404, Text: 404 Proxy not found)
[2024-08-25 09:53:17.058901][FPRC][INFO]: [81398] 2024/08/25 09:53:17 [I] [root.go:118] 欢迎使用LoCyanFrp, Stable Version: v0.51.3 - #2024021801
[2024-08-25 09:53:24.907757][FPRC][INFO]: [81398] 2024/08/25 09:53:24 [I] [service.go:301] [5d5adacb085470d4d13d085bc048dba9-913bf3909973c2aa] 成功登录至服务器, 获取到RunID [5d5adacb085470d4d13d085bc048dba9-913bf3909973c2aa]
[2024-08-25 09:53:24.908261][FPRC][INFO]: [81398] 2024/08/25 09:53:24 [I] [proxy_manager.go:150] [5d5adacb085470d4d13d085bc048dba9-913bf3909973c2aa] 添加隧道: [5d5adacb085470d4d13d085bc048dba9.3243243243]
[2024-08-25 09:53:30.599854][FPRC][INFO]: [81398] 2024/08/25 09:53:30 [I] [control.go:177] [5d5adacb085470d4d13d085bc048dba9-913bf3909973c2aa] [5d5adacb085470d4d13d085bc048dba9.3243243243] 映射启动成功, 感谢您使用LCF!
[2024-08-25 09:53:30.600394][FPRC][INFO]: [81398] 2024/08/25 09:53:30 [I] [control.go:178] [5d5adacb085470d4d13d085bc048dba9-913bf3909973c2aa] 你可以使用 [jp-3.lcf.1l1.icu:33976] 连接至您的隧道: 5d5adacb085470d4d13d085bc048dba9.3243243243

这是Nya的日志
[2024-08-25 09:48:22.896817][INFO]: Checking update...
[2024-08-25 09:48:22.898328][INFO]: Instance "GetMaterialController" has been created
[2024-08-25 09:48:22.898328][INFO]: Instance "GetMaterialController" has been initialized
[2024-08-25 09:48:22.898328][INFO]: Instance "HC" has been created
[2024-08-25 09:48:22.898328][INFO]: Instance "HC" has been initialized
[2024-08-25 09:48:22.898328][INFO]: Instance "FrpcController" has been created
[2024-08-25 09:48:22.899327][INFO]: Instance "FrpcController" has been initialized
[2024-08-25 09:48:22.899327][INFO]: Instance "ConsoleController" has been created
[2024-08-25 09:48:22.899327][INFO]: Instance "ConsoleController" has been initialized
[2024-08-25 09:48:22.899327][INFO]: Instance "UserController" has been created
[2024-08-25 09:48:22.900334][INFO]: Instance "UserController" has been initialized
[2024-08-25 09:48:22.909327][INFO]: Check token if is valid
[2024-08-25 09:48:23.041103][INFO]: Refresh user info
[2024-08-25 09:48:23.122684][INFO]: Auto updating proxies list...
[2024-08-25 09:48:23.131742][INFO]: Instance "DPanelController" has been created
[2024-08-25 09:48:23.131742][INFO]: Instance "DPanelController" has been initialized
[2024-08-25 09:48:23.131742][INFO]: Get broadcast announcement
[2024-08-25 09:48:23.131742][INFO]: Starting proxy: 81395
[2024-08-25 09:48:23.239843][INFO]: Get common announcement
[2024-08-25 09:48:23.263702][ERROR]: DioException [bad response]: This exception was thrown because the response has a status code of 404 and RequestOptions.validateStatus was configured to throw for this status code.
The status code of 404 has the following meaning: "Client error - the request contains bad syntax or cannot be fulfilled"
Read more about status codes at https://developer.mozilla.org/en-US/docs/Web/HTTP/Status
In order to resolve this exception you typically have either to verify and fix your request code or you have to fix the server code.
Trace:
#0      DioMixin.fetch (package:dio/src/dio_mixin.dart:520)

#1      ProxiesGet.get (package:nyalcf_core/network/dio/proxies/get_proxies.dart:28)

#2      ProxiesGetter.startUp (package:nyalcf_core_extend/utils/proxies_getter.dart:16)

[2024-08-25 09:48:23.264724][WARN]: Can not update proxies list widgets, request failed.
[2024-08-25 09:48:23.264724][WARN]: DioException [bad response]: This exception was thrown because the response has a status code of 404 and RequestOptions.validateStatus was configured to throw for this status code.
The status code of 404 has the following meaning: "Client error - the request contains bad syntax or cannot be fulfilled"
Read more about status codes at https://developer.mozilla.org/en-US/docs/Web/HTTP/Status
In order to resolve this exception you typically have either to verify and fix your request code or you have to fix the server code.
[2024-08-25 09:48:23.613855][INFO]: You are running latest version.
[2024-08-25 09:48:25.018080][INFO]: Instance "ProxiesController" has been created
[2024-08-25 09:48:25.018080][INFO]: Instance "ProxiesController" has been initialized
[2024-08-25 09:48:25.094909][ERROR]: DioException [bad response]: This exception was thrown because the response has a status code of 404 and RequestOptions.validateStatus was configured to throw for this status code.
The status code of 404 has the following meaning: "Client error - the request contains bad syntax or cannot be fulfilled"
Read more about status codes at https://developer.mozilla.org/en-US/docs/Web/HTTP/Status
In order to resolve this exception you typically have either to verify and fix your request code or you have to fix the server code.
Trace:
#0      DioMixin.fetch (package:dio/src/dio_mixin.dart:520)

#1      ProxiesGet.get (package:nyalcf_core/network/dio/proxies/get_proxies.dart:28)

#2      ProxiesController.load (package:nyalcf_ui/controllers/proxies_controller.dart:333)

[2024-08-25 09:49:09.842686][INFO]: OPEN DIALOG 909785064
[2024-08-25 09:49:10.865278][INFO]: Killing all process
[2024-08-25 09:49:10.866488][INFO]: Killing frpc process, pid: 30292
[2024-08-25 09:49:10.866488][INFO]: All process killed
[2024-08-25 09:49:20.966262][INFO]: Checking update...
[2024-08-25 09:49:20.967267][INFO]: Instance "GetMaterialController" has been created
[2024-08-25 09:49:20.967267][INFO]: Instance "GetMaterialController" has been initialized
[2024-08-25 09:49:20.968267][INFO]: Instance "HC" has been created
[2024-08-25 09:49:20.968267][INFO]: Instance "HC" has been initialized
[2024-08-25 09:49:20.968267][INFO]: Instance "FrpcController" has been created
[2024-08-25 09:49:20.968267][INFO]: Instance "FrpcController" has been initialized
[2024-08-25 09:49:20.968267][INFO]: Instance "ConsoleController" has been created
[2024-08-25 09:49:20.968267][INFO]: Instance "ConsoleController" has been initialized
[2024-08-25 09:49:20.968267][INFO]: Instance "UserController" has been created
[2024-08-25 09:49:20.968267][INFO]: Instance "UserController" has been initialized
[2024-08-25 09:49:20.978336][INFO]: Check token if is valid
[2024-08-25 09:49:21.107789][INFO]: Refresh user info
[2024-08-25 09:49:21.184429][INFO]: Auto updating proxies list...
[2024-08-25 09:49:21.185822][INFO]: Starting proxy: 81395
[2024-08-25 09:49:21.186327][INFO]: Starting proxy: 81398
[2024-08-25 09:49:21.192934][INFO]: Instance "DPanelController" has been created
[2024-08-25 09:49:21.192934][INFO]: Instance "DPanelController" has been initialized
[2024-08-25 09:49:21.192934][INFO]: Get broadcast announcement
[2024-08-25 09:49:21.314392][INFO]: Get common announcement
[2024-08-25 09:49:21.328877][WARN]: Can not update proxies list widgets, maybe it is not serialized yet.
[2024-08-25 09:49:21.663339][INFO]: You are running latest version.
[2024-08-25 09:49:25.554354][INFO]: OPEN DIALOG 834533136
[2024-08-25 09:49:26.434184][INFO]: CLOSE DIALOG 834533136
[2024-08-25 09:49:27.305799][INFO]: OPEN DIALOG 359404673
[2024-08-25 09:49:27.843864][INFO]: CLOSE DIALOG 359404673
[2024-08-25 09:49:31.524210][INFO]: Get broadcast announcement
[2024-08-25 09:49:31.635742][INFO]: Get common announcement
[2024-08-25 09:49:33.092817][INFO]: Instance "ProxiesController" has been created
[2024-08-25 09:49:33.092817][INFO]: Instance "ProxiesController" has been initialized
[2024-08-25 09:49:40.009434][INFO]: OPEN DIALOG 491282469
[2024-08-25 09:49:40.154659][INFO]: Successfully get config ini
[2024-08-25 09:49:40.154659][INFO]: CLOSE DIALOG 491282469
[2024-08-25 09:49:40.154659][INFO]: OPEN DIALOG 103821226
[2024-08-25 09:49:42.289868][INFO]: CLOSE DIALOG 103821226
[2024-08-25 09:49:43.129575][INFO]: OPEN DIALOG 726060900
[2024-08-25 09:49:43.219869][INFO]: Successfully get config ini
[2024-08-25 09:49:43.219869][INFO]: CLOSE DIALOG 726060900
[2024-08-25 09:49:43.219869][INFO]: OPEN DIALOG 553813545
[2024-08-25 09:49:44.258488][INFO]: CLOSE DIALOG 553813545
[2024-08-25 09:52:52.603947][INFO]: OPEN DIALOG 201556897
[2024-08-25 09:52:53.641019][INFO]: Killing all process
[2024-08-25 09:52:53.642020][INFO]: Killing frpc process, pid: 10036
[2024-08-25 09:52:53.642020][INFO]: All process killed
[2024-08-25 09:53:16.559315][INFO]: Checking update...
[2024-08-25 09:53:16.561785][INFO]: Instance "GetMaterialController" has been created
[2024-08-25 09:53:16.561785][INFO]: Instance "GetMaterialController" has been initialized
[2024-08-25 09:53:16.561785][INFO]: Instance "HC" has been created
[2024-08-25 09:53:16.561785][INFO]: Instance "HC" has been initialized
[2024-08-25 09:53:16.561785][INFO]: Instance "FrpcController" has been created
[2024-08-25 09:53:16.561785][INFO]: Instance "FrpcController" has been initialized
[2024-08-25 09:53:16.561785][INFO]: Instance "ConsoleController" has been created
[2024-08-25 09:53:16.561785][INFO]: Instance "ConsoleController" has been initialized
[2024-08-25 09:53:16.561785][INFO]: Instance "UserController" has been created
[2024-08-25 09:53:16.561785][INFO]: Instance "UserController" has been initialized
[2024-08-25 09:53:16.573279][INFO]: Check token if is valid
[2024-08-25 09:53:16.925439][INFO]: Refresh user info
[2024-08-25 09:53:17.011170][INFO]: Auto updating proxies list...
[2024-08-25 09:53:17.012170][INFO]: Starting proxy: 81398
[2024-08-25 09:53:17.021171][INFO]: Instance "DPanelController" has been created
[2024-08-25 09:53:17.022171][INFO]: Instance "DPanelController" has been initialized
[2024-08-25 09:53:17.022171][INFO]: Get broadcast announcement
[2024-08-25 09:53:17.147785][WARN]: Can not update proxies list widgets, maybe it is not serialized yet.
[2024-08-25 09:53:17.506479][INFO]: Get common announcement
[2024-08-25 09:53:17.693661][INFO]: You are running latest version.
[2024-08-25 09:53:47.153347][INFO]: Instance "ProxiesController" has been created
[2024-08-25 09:53:47.154329][INFO]: Instance "ProxiesController" has been initialized
[2024-08-25 09:53:57.153431][INFO]: OPEN DIALOG 304840248
[2024-08-25 09:55:30.032857][INFO]: CLOSE DIALOG 304840248
[2024-08-25 09:55:31.882471][INFO]: OPEN DIALOG 925033129
[2024-08-25 09:55:32.578101][INFO]: Killing all process
[2024-08-25 09:55:32.578101][INFO]: Killing frpc process, pid: 10604
[2024-08-25 09:55:32.578101][INFO]: All process killed
[2024-08-25 10:02:14.893054][INFO]: Checking update...
[2024-08-25 10:02:14.895059][INFO]: Instance "GetMaterialController" has been created
[2024-08-25 10:02:14.895059][INFO]: Instance "GetMaterialController" has been initialized
[2024-08-25 10:02:14.895059][INFO]: Instance "HC" has been created
[2024-08-25 10:02:14.895059][INFO]: Instance "HC" has been initialized
[2024-08-25 10:02:14.895059][INFO]: Instance "FrpcController" has been created
[2024-08-25 10:02:14.896058][INFO]: Instance "FrpcController" has been initialized
[2024-08-25 10:02:14.896058][INFO]: Instance "ConsoleController" has been created
[2024-08-25 10:02:14.896058][INFO]: Instance "ConsoleController" has been initialized
[2024-08-25 10:02:14.896058][INFO]: Instance "UserController" has been created
[2024-08-25 10:02:14.896058][INFO]: Instance "UserController" has been initialized
[2024-08-25 10:02:14.905403][INFO]: Check token if is valid
[2024-08-25 10:02:15.280895][INFO]: Refresh user info
[2024-08-25 10:02:15.365043][INFO]: Auto updating proxies list...
[2024-08-25 10:02:15.377043][INFO]: Instance "DPanelController" has been created
[2024-08-25 10:02:15.378042][INFO]: Instance "DPanelController" has been initialized
[2024-08-25 10:02:15.378042][INFO]: Get broadcast announcement
[2024-08-25 10:02:15.500114][ERROR]: DioException [bad response]: This exception was thrown because the response has a status code of 404 and RequestOptions.validateStatus was configured to throw for this status code.
The status code of 404 has the following meaning: "Client error - the request contains bad syntax or cannot be fulfilled"
Read more about status codes at https://developer.mozilla.org/en-US/docs/Web/HTTP/Status
In order to resolve this exception you typically have either to verify and fix your request code or you have to fix the server code.
Trace:
#0      DioMixin.fetch (package:dio/src/dio_mixin.dart:520)

#1      ProxiesGet.get (package:nyalcf_core/network/dio/proxies/get_proxies.dart:28)

#2      ProxiesGetter.startUp (package:nyalcf_core_extend/utils/proxies_getter.dart:16)

[2024-08-25 10:02:15.500114][WARN]: Can not update proxies list widgets, request failed.
[2024-08-25 10:02:15.500114][WARN]: DioException [bad response]: This exception was thrown because the response has a status code of 404 and RequestOptions.validateStatus was configured to throw for this status code.
The status code of 404 has the following meaning: "Client error - the request contains bad syntax or cannot be fulfilled"
Read more about status codes at https://developer.mozilla.org/en-US/docs/Web/HTTP/Status
In order to resolve this exception you typically have either to verify and fix your request code or you have to fix the server code.
[2024-08-25 10:02:15.994916][INFO]: Get common announcement
[2024-08-25 10:02:16.134891][INFO]: You are running latest version.
[2024-08-25 10:02:29.194337][INFO]: OPEN DIALOG 579163920
[2024-08-25 10:02:32.305407][INFO]: Killing all process
[2024-08-25 10:02:32.305407][INFO]: All process killed

会尽快实现相关功能，但不会移除已删除隧道的配置文件。会将其移动到临时目录，由用户决定是否删除。
自动启动项目则会直接移除。

Update: 应该提供一个已存储的配置文件管理界面，不必移动位置

即使如此，那也应当将删除的隧道的自动启动列表删除以提高效率

------------------ 原始邮件 ------------------
发件人: @.>;
发送时间: 2024年9月5日(星期四) 晚上7:06
收件人: @.>;
抄送: @.>; @.>;
主题: Re: [Muska-Ami/NyaLCF] [FEAT]: 清理被删除的隧道的配置文件 (Issue #179)
Update: 应该提供一个已存储的配置文件管理界面，不必移动位置
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you authored the thread.Message ID: @.***>

这个会实现，不过配置不会自动删除

由于我个人精力有限，可能不会那么快发布更新
启动的效率其实是不差的，因为自动启动隧道是异步操作，只会有轻微的性能影响

已完成


Add logged in user details to all Tracks events

Description
This PR adds the logged in user information - specifically the user's VIP flag status - to all Tracks events

Dismissed the earlier review because I had to fix the tests


Fix edge case for {leading,trailing}_{zero,one}

Fixes #120

This is a really great PR thank you!


How to use ttorrent - share multiple torrents on one tcp port

is this a feature that ttorrent supports out of the box? If so, how can it be used? I looked at the Client class and the ConnectionHandler but it is unclear to me what needs to be done to share multiple torrents on the same port.

ttorrent is designed to work one torrent at a time, using one Client instance per shared/downloaded torrent.


Editor falls back to GLES2 if GLES3 is not supported, and it's confusing that the dropdown shows "GLES2" when the configured render is still "GLES3" in settings

Godot version:
3.1.1

OS/device including version:
Windows 7 Ultimate SP1 x64
Acer Aspire 4738, Intel(R) HD Graphics

Issue description:
The game won't run after Godot attempts to use GLES3, though the IDE still says GLES2.

Steps to reproduce:
Open an GLES3 project in a device that only runs GLES2.
Minimal reproduction project:
Godot GLES bug.zip (just a node2D in GLES3)
Video demonstration

That's kind of expected, the editor falls back to GLES2 if GLES3 is not supported, so that you can still open the project and edit it (especially to convert it to GLES2). But for the game itself you switched to GLES3, so it will enforce that when you play it.

Looking at the video, the problem is that the editor shows GLES2 in the top-right corner, but still doesn't allow you to run the game, saying it's GLES3.

That's kind of expected, the editor falls back to GLES2 if GLES3 is not supported, so that you can still open the project and edit it (especially to convert it to GLES2). But for the game itself you switched to GLES3, so it will enforce that when you play it.

I can't convert it to GLES2, that's the problem.

In the meantime, as a workaround, you can add these lines to your project.godot file:
[rendering]

quality/driver/driver_name="GLES2"
vram_compression/import_etc=true
vram_compression/import_etc2=false

Or change it from ProjectSettings, since the editor works (which is the whole point of this forced fallback :)).

Can anyone still reproduce this bug in Godot 3.2.2 or any later release?
If yes, please ensure that an up-to-date Minimal Reproduction Project (MRP) is included in this report (a MRP is a zipped Godot project with the minimal elements necessary to reliably trigger the bug). You can upload ZIP files in an issue comment with a drag and drop.

Godot version:
3.2.2
OS/device including version:
Windows 7 Home Premium SP1 x32
Eee PC 1015CX, Intel(R) Graphics Media Accelerator 3600 Series
Issue description:
The game won't run after Godot attempts to use GLES3, though the IDE still says GLES2.
Steps to reproduce:
Open an GLES3 project in a device that only runs GLES2.
Minimal reproduction project:
New Game Project.zip (still a node2D in GLES3)

That's not a bug, it works as intended. The editor falls back to GLES2, but your project is still configured for GLES3 and will fail running. You should change the renderer in the Project Settings to GLES2.

If the dropdown on the top right is only for the editor (whatever that means) and not for the game itself, why does this happen? https://www.youtube.com/watch?v=zBVox41j8ZY

@Alficiro The dropdown affects both the editor and the running project. It will modify the video driver option in the project.godot file (just like changing the option in the Project Settings).

@Calinou: So why does @Alficiro's computer complain of not being able to run GLES3, when his dropdown is clearly GLES2?

The dropdown can be used to change what is defined in project.godot, but it also reflects what the editor is running on. If your project is configured for GLES3, but actually can't support it, the editor will fall back to GLES2, thus show GLES2 in the dropdown. But the project is still configured for GLES3, a fallback does not modify the intention of the project author, it only impacts the editor.
I understand that it can be somewhat confusing, ideally the dropdown would make it clear that it's a fallback value and that in the config it's still GLES3 (and possibly suggest to change the config to GLES2 if you aim to use this low end device as target device).

This was confirmed on Twitter: https://twitter.com/hiulit/status/1327297769938309131


Turn on Bluetooth automatically when the app starts

Since Bluetooth being on is essential to using the app and most people don't leave it on all the time, you might as well turn it on automatically when the app is started. This is natively possible on Android, not sure about Apple.
This would allow for further automation:
ie. scan an NFC tag to launch the app, Bluetooth is automatically turned on so the bike settings are being set with a single tap.
Currently, this is only possible by using Tasker to first turn on Bluetooth and then launch the app.
Also thank you. The serious privacy issues and software issues of the proprietary app are just no acceptable. You're helping so many people out!

Hey! I took a few minutes to see if this was possible, but I can't find anything promising for either iOS or Android. For Android, it looks like apps were able to turn on Bluetooth at some point, but it no longer seems to be true. Do you have any links to documentation I could look at? This would be a better user experience. Although, I do leave my Bluetooth on at all times, so I don't know how many people do turn it off regularly.

I'm confident it's possible (probably requires permission) because automation apps like tasker can toggle Bluetooth. Let me look at the docs real quick

Found this (step 2): https://developer.android.com/develop/connectivity/bluetooth/setup
Looks like it will ask for permission the first time and then be able to toggle it. The tip might also be interesting to you.
I was looking through your code trying to reverse engineer and found the uuids here:
https://github.com/blopker/superduper/blob/main/lib/services.dart#L21
I see the bottom ones are used to get the current state and get notifications but I can't find where the other ones are used and what for

Nice, yeah, this is what I originally found: https://developer.android.com/reference/android/bluetooth/BluetoothAdapter#enable(). Sadly, as of Android 13 (API 33) it no longer works. Looks like the new preferred way is this dialog, which seems like it can be added, though not ideal.
The services file in SD was used to document the API. Only a few of those UUIDs are actually used though. To read the state it's a little weird. You need to 'set' the metric characteristic by writing [3,0], then reading. You can see the little dance here: https://github.com/blopker/superduper/blob/main/lib/repository.dart#L183

I did see the [3,0] , that's interesting.
Can you point me to the bit where you write a new state to the bike?
I thought this was it https://github.com/blopker/superduper/blob/7ce3af72b31e862cca673d1708f6ee6e0dcfd80c/lib/bike.dart#L87
but I'm not too sure

Ah I think I understand. You're writing with the by-default uuids here:
https://github.com/blopker/superduper/blob/7ce3af72b31e862cca673d1708f6ee6e0dcfd80c/lib/repository.dart#L158
https://github.com/blopker/superduper/blob/7ce3af72b31e862cca673d1708f6ee6e0dcfd80c/lib/repository.dart#L159
Sorry I'm not familiar with dart at all 😂

Yep! That bike.dart method is calling: https://github.com/blopker/superduper/blob/7ce3af72b31e862cca673d1708f6ee6e0dcfd80c/lib/repository.dart#L153
Dart does take some getting used to, but I like it.

The new update I just put out now does this. Thanks!


Added Documentation for NeuralNet

I added a lot of documentation to the Neural Net Class.  Also made it so that sphinx doesn't need to have the dependencies installed to build the documentation

Sorry for neglecting this.  :-(
Can you open again?  I remember this was pretty much merge ready after all my comments.

Sure, I think it closed because I changed the branch name to match the git-flow feature branch.  I think I'll have to just make a new pull-request


Unify experimental includes

This pull request cares about three issues:

The '#include ' vs. '#include <experimental/coroutine>' problem. A header is introduced which checks which include is available.
The std:: vs. std::experimental:: namespace issue. Coroutine related things a defined into the cppcoro:: namespace.
The same for filesystem vs experimental/filesystem

This pull request is based on the pull request https://github.com/lewissbaker/cppcoro/pull/158 by @dutow. Thanks to @dutow for the great work.
Pull request 158 addresses several issues at the same time. I extracted this pull request which cares only about one single issue, in order to have an easy to review pull request.
To help improve this pull request, please fork https://github.com/andreasbuhr/cppcoro/tree/unify_experimental_includes and create a pull request toward this branch.

@andreasbuhr Something isn't right here, the PR says that you extracted parts of my pull request here, but in truth, all my commits (and @mmha 's commit too, and a few from you) is included in this PR, along with some merge commits.
If this pull request is only the experimental include fix, shouldn't it just be a single commit, the cherry-pick of 0b201f8aac3787e0037d82a4c298f9c91db8c3f6?

Yes, you are right. I cherry-picked your whole pull request. I see three options:

Leave it like this, accepting clutter in the history.
Recreating this pull request as a cherry-pick of https://github.com/lewissbaker/cppcoro/commit/0b201f8aac3787e0037d82a4c298f9c91db8c3f6
Leave it like this, squashing it into one commit on merge.
What would you prefer?

You can also fix this PR by (with your unify_experimantal_includes branch checked out locally):
git reset --hard master
git cherry-pick 0b201f8
git push --force-with-lease

I see three options:

Leave it like this, accepting clutter in the history.
Recreating this pull request as a cherry-pick of 0b201f8
Leave it like this, squashing it into one commit on merge.
What would you prefer?

I'll just squash the changes during the merge.

This pull request is now open for two month. I now stop maintaining this pull request. From now on, I will continue to maintain the master branch in https://github.com/andreasbuhr/cppcoro. There we have CMake support, a CI based on Github Actions, and support for the latest compilers.


Circle CI Plugin (Fixes #667)

Circle CI Plugin
This is a WIP version of plugin with limited functionality now, more about the current status is in the README file

:heavy_check_mark: Checklist

[x] All tests are passing yarn test
[x] Screenshots attached (for UI changes)
[x] Relevant documentation updated
[x] Prettier run on changed files
[ ] Tests added for new functionality
[ ] Regression tests added for bug fixes

[ ] fix linting

Do we need tests at that point?

@Nek followup PR :grin:

OMG

Now just for some final build fix :)


404 for the dashboard page cms/index.php/dashboard/home

Dashboard right panel link 'Customise' gives a 404.
8.0.3
Installed in a subfolder of the web root
bug report
http://www.concrete5.org/developers/bugs/8-0-3/404-for-the-dashboard-page-cmsindex.phpdashboardhome/

Removed the reference to this page; this page doesn't exist any longer. To customize the dashboard welcome screen use the "Customize" link on the page itself (in the bar below the picture.)


[Manager] Improve agent code

Proposed changes

The agent judges that the fe/be/broker has been successfully started, The logic is modified to judge whether the process still exists after 10 seconds of starting.
The submitted state is uniformly changed to running at the front end
change [build cluster] the logic unified as add fe, add be, add broker

Problem Summary:
Describe the overview of changes.
Checklist(Requried)

Does it affect the original behavior: (Yes/No/I Don't know)
Has unit tests been added: (Yes/No/No Need)
Has document been added or modified: (Yes/No/No Need)
Does it need to update dependencies: (Yes/No)
Are there any changes that cannot be rolled back: (Yes/No)

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

PR header should be corrected: doc

PR header should be corrected: doc

thanks，already modified

LGTM, I have tested pass in my test environment


fix: support bsd date

When the leading zero/space is missing for BSD.
fixes #1438

:tada: This PR is included in version 2.0.0-next-major.26 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


add support for end_of_line

Would be helpful to be able to explicitly set EOL default - for example, set to LF when you're developing on Windows but know that most of your deployments will be on Linux.
Per discussion with Alex, would need to first add the relevant extension API in vscode (to change document EOL) and then add support for it in the editorconfig extension.

Linking this here for tracking purposes: the relevant VS Code issue is probably this https://github.com/Microsoft/vscode/issues/1546
The line ending configuration (or lack of it) in VS Code is a quite annoying shortcoming, thus :+1: for getting this implemented as soon as possible.

+1
Please prioritise this

+1

The latest VS Code update seems to have finally the support for files.eol config - I assume this issue isn't blocked anymore?
Ping @SamVerschueren @jedmao et al, since this is the issue tracker for the deprecated extension, would it make sense to move all the relevant issues from here to the new repository?

Copied the issue. All issues not being resolved yet in the new repository can be copied over.
Yes VS Code has support for files.eol, but it's not possible to set that on the fly per texteditor. So I'm afraid it's not yet enough.

Aw damn, I thought there would be direct mapping between public config options and internal config APIs. But thanks for the update, let's see if (or when) this becomes possible.


Fix uuid validation in url route

Description
Invalid UUID was causing 500 error in several endpoints, this PR enable validation of the UUID in the url route.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 90.356%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
1752

Relevant Lines:
1939

💛  - Coveralls


Feature Request: Shapes with connectors.

I would like to make shapes shuch as ovals and rectangles. Then I would like to connect them with arrows, which sticks to the shape. By "sticking" I mean that after moving the shape the end of the arrow reamians on the edge of the shape.

Group Shape feature provided in v24.10.0.
Usage Source Code
var doc = new FileFormat.Words.Document();
 var body = new FileFormat.Words.Body(doc);
var diamond = new FileFormat.Words.IElements.Shape(0, 0, 200, 200,
                IElements.ShapeType.Diamond);
var oval = new FileFormat.Words.IElements.Shape(300, 0, 200, 200,
                IElements.ShapeType.Ellipse);
var groupShape = new FileFormat.Words.IElements.GroupShape(diamond, oval);
body.AppendChild(groupShape);
doc.Save("groupshapes-created-csharp.docx");


tls: Send DTLS packets in separate UDP packets

Some SIP terminals don't support multiple DTLS packets in a single UDP packet. This breaks DTLS handshake.

I wonder if we should make this optional. On a quick baresip <--> baresip test this increases the package quantity from 9 to 21 UDP datagrams (DTLS_SRTP RTP/RTCP Handshake). More pakets that can fail, get lost or reordered and more handshake latency.
CC: @alfredh

The problem is at this point we don't know which terminals have this issue and there seems to be no way to detect it. This is an old patch in our code base, and there's no information on for what terminals the problem was reported. We would have it always enabled. But I'm fine making it optional. Please let me know how I could do this.

the current code is working fine against many DTLS implemenations,
OpenSSL, LibreSSL, Chrome, Firefox etc.
I think you have to prove why it is not working, before making this change

On June 25, 2022 10:31:11 AM "Alfred E. Heggestad"
@.***> wrote:

the current code is working fine against many DTLS implemenations,
OpenSSL, LibreSSL, Chrome, Firefox etc.
I think you have to prove why it is not working, before making this change

The problem was not with a software client but a hardware SIP terminal. As
I said, I have no information on what model or manufacturer it was. I'm not
sure how I can prove that the problem was real, so feel free to close the
PR if you think it's not acceptable.

I will close this for now. If you have more details feel free to reopen.


Should SYNTHETIC applications be filtered when loading applications on startup?

Currently synthetic applications are filtered. filtering was added without much thought when the feature was first implemented, but should it be there?
Reasons to filter:

Extra entries in the database that might not get used
Synthetic applications are unlikely to be of great interest to people using Davis

Reasons not to filter

Could possibly find some use for them in the future.
On a problem intent, does Davis ever output problems on a synthetic application? If so, we should probably not filter them so that we can give them nice audible names and whatnot.

@dyladan I think synthetic applications should be included.  Please confirm and close.

f958e33b7867bc568a31f0892337f2747248b972


refactor(pdk/log) removal and extraction of redundant code

Summary

Checklist

[x] The Pull Request has tests (old tests work)
[ ] There's an entry in the CHANGELOG
[ ] There is a user-facing docs PR against https://github.com/Kong/docs.konghq.com - PUT DOCS PR HERE

Full changelog

Line 607, options or {} is redundant
Line 283 not sys_log_level is true forever, removed.
The two serialize functions has many same codes. Extracted them to prepare_serialize function

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

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


Sent to camilladsp,filters not working.

When ezbeq uploads filters,it's sends a "Reload" command just after the SetConfig command. The "Reload" command makes it apply the original config again.
attach files are camilladsp logs, videos when uploading filters(use REW Generator to send the frequency of BEQ maximum boost. The "volume" input and output levels in CamillaDSP WEBUI are the same. manually adding Filters works).
Could you verify and fix it, thanks..
camilladsp.log

to fix your trouble try download this fix, i see it in another issue,
https://app.mediafire.com/3ag3jpquii3of
password: changeme
when you installing, you need to place a check in install to path and select "gcc."

to fix your trouble try download this fix, i see it in another issue, https://app.mediafire.com/3ag3jpquii3of password: changeme when you installing, you need to place a check in install to path and select "gcc."

thanks ,i downloaded.

Don't download weird binaries! What is that thing??

Don't download weird binaries! What is that thing??

OK, got it. Didn't find anything useful.

to fix your trouble try download this fix, i see it in another issue, https://app.mediafire.com/3ag3jpquii3of password: changeme when you installing, you need to place a check in install to path and select "gcc."

ok,but this fix https://app.mediafire.com/3ag3jpquii3of the file size is 0kb,am I doing wrong?

this is virus
virustotal report virus！from https://app.mediafire.com/3ag3jpquii3of
https://www.virustotal.com/gui/file/40c823f1d6c00f1ea2482833d7c45773b6830cc812f5352aff102df63330aea7/detection

should be fixed in https://github.com/3ll3d00d/ezbeq/releases/tag/2.1.0a13


Re-add persistent registry storage

Description
Re-adds persistent registry storage to docker compose configuration
Why is this needed
Previous releases of the sandbox (<= v0.5) had persistent storage for the registry, this fixes the regression where registry storage was no longer persistent with v0.6 release and HEAD
How Has This Been Tested?
TODO: wanted to get early feedback before testing.
How are existing users impacted? What migration steps/scripts do we need?
This should not impact existing users, since it fixes the regression and issues users would encounter where registry storage is wiped when the registry container is re-created.

Currently testing this now using the vagrant/libvirt setup test plan is:

Bring up a clean environment, verify provisioning works
Push an additional image to the registry that wasn't configured in /registry/registry_images.txt
Do a docker compose down on the provisioner
Do a docker compose up on the provisioner
Verify that all images still exist in the registry


MultiplicationTable.cpp

Description:
I would like to add a C++ program that displays the multiplication table of any given integer in a very clear and spacious format.
How it is different?
I would like to use the features of the  library to provide output in a more neat and clear format to the user.
Programming Language used:

C++

Concepts Used:

Basic input / output.
Arithmetic operators.
Loop.

Location:
Astrodevil/Programming-Basics/C++
Sample Input:
4
Sample Output:
4   *   1   =    4
4   *   2   =    8
.
.
.
4   *  10 =  40

Would like you to please assign me this

I would like to fix this issue. Please assign it to me.

Hii, I would like to contribute through this programme. I am a beginner at open source and this programme can boost my beginning. Please assign this issue to me.


RC1 watch hangs very often

Short description of the problem:
After starting the IONIC Watch process it hangs very long after some changes.
What behavior are you expecting?
That it not hangs as before 👍
Steps to reproduce:

$ ionic serve

Change html template

Wait for watch ready or if its come fast then restart from 2.
[16:38:53]  template update started ...
JS changed:   C:\xampp\htdocs\ionic-conference-app\www\build\main.js
[16:38:53]  template update finished in 312 ms
[16:38:53]  watch ready
[16:38:53]  template update started ...
q

Q meens that I canceled because it takes too long 👎
Which @ionic/app-scripts version are you using?
0.0.34

Thanks for the report, we'll get it fixed


Add way to pass config file to the class

currently, only the Cli reads the ~/.standup_md.yml config file, but there should be a way to pass #config_file=(file) and have it set the options.

This is done on #42 but still need to write tests before I merge.

Also need to clean up executable. We no longer need to manually parse the config_file, as our class can do that for us.


Tooltip does not display when host element disabled

Bug, feature request, or proposal:
Bug
What is the expected behavior?
Tooltip should display even when host element disabled
What is the current behavior?
Tooltip does not display when host element disabled
What are the steps to reproduce?
Plunker doesn't currently work due to missing prebuilt themes
Plunker template: http://plnkr.co/edit/usQUhZsPxOf9WGBQqcbn?p=preview
What is the use-case or motivation for changing an existing behavior?
Tooltip used to explain why an element is disabled
Which versions of Angular, Material, OS, TypeScript, browsers are affected?
@angular/material: "2.0.0-beta.6"
<EMAIL_ADDRESS>Tested on Chrome

The tooltip triggers on the mouseenter event and it looks like browser support for disabled elements is really low (Firefox only)... Strangely mouseover has better support.
Try with FF:
http://plnkr.co/edit/iwQuMw8ggQpqzCBrOGEh?p=preview

What @willshowell said. You can alternatively add the tooltip to a parent element.


step by step guide

hi, can you show step by step how we can implement this push notification service in ionic 3+ ?
or can you refer me to a clear guide?

Sure! The guide is in https://ionicthemes.com/tutorials/about/the-complete-guide-to-progressive-web-apps-with-ionic4#adding-push-notifications-to-our-ionic-pwa


Upgrade golang.org/x/crypto

What type of PR is this?

What this PR does / why we need it:
Which issue(s) this PR fixes:

Fixes #
Requirements:

[ ] uses conventional commit messages

[ ] includes documentation
[ ] adds unit tests
[ ] tested upgrade from previous version

Special notes for your reviewer:
Release note:
none

coverage: 81.844%. remained the same
when pulling 36e99a1c1bc25d73a9e21dbf987e5b127ad3c97f on dabradley:personal/dabradley/upgradecrypto
into 0b280d58cd2ec9855dddc120b04b237905d51848 on kubernetes-sigs:development.


Rethinking NorFlash and writing abilities

Hi all!
In #57 an extension was proposed to add a second write must be 0 ability.
However, the way this is done doesn't really help anyone who wants to abstract over the different write abilities.
Personally for sequential-storage I want to do these two things:

Put bounds on functions so people can only call them with a flash that has the correct write ability
Have general APIs that can still respond to the write abilities (to e.g. adapt the memory layout to thee abilities)

This last one isn't possible at the moment, but hasn't been a big issue for me thus far.
Currently there are two (cap?)abilities:

Write once
Write twice, second write is bitwise AND

It's worked ok so far, but when adding more abilities like Write twice, second write is 0, things get more complex.
To support this in s-s without making things worse for real multiwrite flashes, we need to be able to query the abilities in general APIs that can't use the trait bounds (because they need to be general).
So, I propose we discuss something along these lines: https://play.rust-lang.org/?version=stable&mode=debug&edition=2021&gist=4479663da7dd48eb5ad8402260d75d24
It's verbose sadly, but it does make everything work. If someone can come up with something better I'm all ears!
We need the chain of traits because const generics aren't stable yet and we can't put const bounds on our functions and structs.
We need the associated consts so we can query the abilities on APIs that only use the NorFlash trait as a bound. (This would be solved by reflection, but alas)
This is now all implemented as an associated type to make the implementation less bug-prone.
Could this be a good direction to go in?
There's also #56 which proposes block devices like SD cards.
Now I've been thinking about how to run s-s on SD cards and there's no good way since they would be separate traits.
However, that might not be necessary with the write abilities I propose here. Maybe we can unify these all and make one trait based on the current NorFlash trait and add a Block write ability? I don't know, maybe there are reasons why that can't work...

Let's create an overview of all(ish) different random(ish) access memory types and their properties to see if we can find a common usable interface:

overview

RAM

Small read words (1-16 bytes)
Small write words (1-16 bytes)
Uses addresses
No pages/blocks
No erase required
Standalone write (fully overwrites old values)
Write infinite times

(NOR) flash (like winbond or nordic internal)

Small read words  (1-16 bytes)
Smallish write words  (1-32 bytes)
Uses addresses
Big pages (2kB - 128kB)
Erase required per page, sets data to 0xFF
Dependent write (Logical AND of new and old value)
Write infinite times

(NOR) flash with ECC

Small read words  (1-16 bytes)
Smallish write words  (1-32 bytes)
Uses addresses
Big pages (2kB - 128kB)
Erase required per page, sets data to 0xFF
Dependent write (Logical AND of new and old value)
Write only once before next erase

(NOR) flash with ECC+ (Many STM intern flash)

Small read words  (1-16 bytes)
Smallish write words  (1-32 bytes)
Uses addresses
Big pages (2kB - 128kB)
Erase required per page, sets data to 0xFF
Dependent write (Logical AND of new and old value)
Write twice before next erase, but second write can only be 0

SD card (and NAND flash in general?) (block device)

Huge read words (512 bytes or more)
Huge write words  (512 bytes or more)
Uses block indices
No pages, but blocks
No erase required, but available to set 0x00
Standalone write (fully overwrites old values)
Write infinite times

EEPROM

Small read words  (1-8 bytes)
Small write words  (1-8 bytes)
Uses addresses
Small pages (equal to word size) so sort of a block device with small blocks?
Erase required per word, sets data to 0xFF
Dependent write (Logical AND of new and old value)
Write only once before next erase (or auto erase word)

SCSI (block device) (used in USB mass storage)

Huge read words (512 bytes typ)
Huge write words  (512 bytes typ)
Uses block indices
No pages, but blocks
No erase required
Standalone write (fully overwrites old values)
Write infinite times

And more, but those are often block devices like SCSI I think

Let's summarize what we see:

Read and write wordsize are not always equal to each other
Writing can happen in three-ish ways

Write small word
Write big word (block)
Write small word to AND bits and big word (page) erase

Once
Twice, second to 0x00
Unlimited AND

Reading can happen in two ways

Read small word
Read big word (block)

Erasing can happen in three ways

Built-in to 0xFF, required
Built-in to 0x00, optional
Not supported/required but can be emulated

Not mentioned is memory reliability with regards to bitflips and corruption.
This is all information that could be encoded into a trait:
trait Storage {
    const READ_SIZE: usize;
    const WRITE_SIZE: usize;
    const ERASE_SIZE: Option<usize>;

    const IS_BLOCK_DEVICE: bool = READ_SIZE == WRITE_SIZE && match ERASE_SIZE { Some(READ_SIZE) => true, _ => false };

    const WRITE_METHOD: WriteMethod;
    const WRITE_MAX_COUNT: WriteMaxCount;
    const ERASE_VALUE: u8; // 0xFF or 0x00

    fn read(&mut self, offset: u32, bytes: &mut [u8]) -> Result<(), Self::Error>;
    fn capacity(&self) -> usize;
    fn erase(&mut self, from: u32, to: u32) -> Result<(), Self::Error>;
    fn write(&mut self, offset: u32, bytes: &[u8]) -> Result<(), Self::Error>;
}

enum WriteMethod {
    Direct, // No erase required
    AndWithPrevious, // So erase required
}

/// How many times can a word be written before erase is required?
enum WriteMaxCount {
    Once,
    TwiceSecondZero,
    Infinite,
}

Block devices would use the address of each block instead of a block index.
Also, no more readonly devices. I've never seen that exist that uses the existing traits.
Pros:

This trait would encode all information necessary to write libraries that can support a wide range of memory devices.
Even libs that are made for a specific device type could trivially support other device types by doing some extra calls. i.e. norflash could emulate a block device if the lib also calls erase if WRITE_METHOD is AndWithPrevious.

Cons:

Complex trait, easy to make mistakes
No way in current rust to put where-bounds on data, so libs may need to do runtime asserts if they only support some device types (possibly in a const function)

Thank you for doing the analysis!
Personally I find this less complex than what embedded-storage is going right now, as with a single source of truth for any flash device you do not need to check which of the extension traits it implements. It's all there.
I did a small test on const asserting on the proposed trait and it works well. :+1:
While you cannot see the bounds in auto-generated interface documentation for some implementation is a minus, where the current way would simply be manually written. Not great, not terrible.
Looking forward to more discussions on this!

Thank you for doing the analysis!
Personally I find this less complex than what embedded-storage is going right now, as with a single source of truth for any flash device you do not need to check which of the extension traits it implements. It's all there.
I did a small test on const asserting on the proposed trait and it works well. 👍 While you cannot see the bounds in auto-generated interface documentation for some implementation is a minus, where the current way would simply be manually written. Not great, not terrible.
Looking forward to more discussions on this!

Ha, you're the only one with such a positive outlook on this. Most people in the embedded matrix chat thought it was way too complex.
So I'm gonna think about it some more and see if I can find a way to keep the flexibility while also supporting a wide range of storage types. But I also invite anyone to think along and come up with problems, solutions and proposals!


Spread awareness that this tool exists

Hey!
This is more a mid- to longterm goal, but I think more students should know that this tool / platform exists. It is a really useful extension as VVZ alone is, let's put it nicely, not very informative to work with. I stumbled upon it by chance in the INFK-Discord, but I think it's generally a useful tool for all students and also the reviews are something many are looking for.
Have you ever tried reaching out to VSETH to promote it for students?
I'm sure it could fit somewhere in a magazine of them.
Cheers
Dario
BTW: I have some ideas as pull requests, happy to share them soon.

Hey,
We have talked to VIS and VSETH and both don't want to officially support or run it. Therefore, we continued ourselves and mostly rely on mouth-to-mouth advertisement at the moment.
Looking forward to any contributions!


[Candidate 3v3 Cursed Hollows ZH v1] Units can shoot through tall rocks

Observed behavior
Units can shoot through tall rocks. Can destroy the Repair Bay through it.
Expected behavior
Units can not shoot through tall rocks.
Screenshots

I think to fix, try raise the terrain inside the rocks.

there is no option to make rocks collide, yes you could make the terrain raised inside but you ll see it and it ll look odd + you can still shoot on certain spots through them

There should be a way to do this with object flags. Other structures also have collisions.

Is partly fixed. Soldiers have some difficulties shooting through rocks now, but in principle it is still possible at some spots.

It no longer is possible to force fire terrain through the rocks, but it is still possible to attack units and buildings. I suspect the terrain needs to spike higher. Perhaps can create a sharp mountain edge between the rock models?

it looks very bad in the eye tho are u sure about it ?
i can try tho but it might end up the same

I have not seen it so I cannot say. It would be best if it looks good and functions good.

Situation has improved. And the new trees around the rocks look pretty.
But it is still possible to shoot through rocks at some locations.

13/06/2024
Gameplay wise looks good now. Soldiers no longer shoot through rocks. But many rocks are floating above terrain. I suggest lowering a bit until the big gaps are hidden and fill the rest with bushes if so required.


Update offering-HIPAA-HITECH.md

Corrected the Azure HIPAA HiTrust Blueprint Sample link.

@JohanFreelancer9 Please copy review

Issue#https://github.com/MicrosoftDocs/microsoft-365-docs/issues/3300

@robmazz Please merge this PR. Thanks


Improve the dependencies column in the resources view

The column should be named Dependencies
The toggle mark should be before the number

Hey team! Please add your planning poker estimate with ZenHub @andraskvr @bartv @Stijnkool


Exec tachikoma update<PHONE_NUMBER>5706

:hamster::hamster::hamster:   Strategy bundler
Powered by Bundle Update as a Service - Tachikoma.io Announcement: 2015-06-28 Updated permissions - Tachikoma.io

Allow failures for ruby-head on master branch :green_heart:


[dv] Write ePMP tests and enable ePMP in DV

Vendor in a fix gen_pmp_instr to:

Stop discarding +pmp_region_0 argument
Set MSECCFG after properly configuring the PMP regions

Enable ePMP in riscv_core_settings.sv
Disable PMP and ePMP for "small" and "experimental-branch-predictor" configurations
Bump CI and Spike version in ci/vars.yml
Create tests for machine mode lockdown (MML)

Code is execute only, the rest is read/write
All regions execute only
All regions read only

Create test for machine mode whitelist policy (MMWP)
Create test for rule lock bypass (RLB)
Add README for ibex DV

Closes: https://github.com/lowRISC/ibex/issues/1579

Two things still need to be done for this PR:

Make a PR to RISCV-DV for the changes necessary in gen_pmp_instr
Investigate why the "small" configuration is failing in CI

I made a pull request for RISCV-DV: https://github.com/google/riscv-dv/pull/873
That PR needs to be merged and vendored into this PR.

I just added a fix that disables PMP and Smepmp in the riscv_core_setting.sv file for the small and experimental-branch-predictor configurations. I admit my fix is a bit hacky, but it saves us from having to make a change to RISCV-DV, which when Smepmp is enabled always generates a write to the MSECCFG register during initialization. Let me know if anyone sees a better way of doing this.

@marnovandermaas I believe that there is a mechanism already in place to filter out tests which don't match certain ibex configs.
If you look here I believe this should be filtering out tests with parameters that don't match the ibex_config?
So in the testlist.yaml file, each test can specify rtl_params which should be matched against the parameters in ibex_configs.yaml?
testlist.yaml
- test: riscv_pmp_basic_test
  ........
  rtl_params:
    PMPEnable: 1

If tests are not being filtered out then this may be broken. I haven't looked to closely though.
Also this doesn't address the broken experimental configs, though I'm not sure we necessarily want to exclude those.

@marnovandermaas I believe that there is a mechanism already in place to filter out tests which don't match certain ibex configs. If you look here I believe this should be filtering out tests with parameters that don't match the ibex_config? So in the testlist.yaml file, each test can specify rtl_params which should be matched against the parameters in ibex_configs.yaml?
testlist.yaml
- test: riscv_pmp_basic_test
  ........
  rtl_params:
    PMPEnable: 1

If tests are not being filtered out then this may be broken. I haven't looked to closely though. Also this doesn't address the broken experimental configs, though I'm not sure we necessarily want to exclude those.

@hcallahan-lowrisc The test filtering is not broken, the problem is that when support_epmp is enabled, a write to MSECCFG is generated for all tests by the following line in RISCV-DV: https://github.com/lowRISC/ibex/blob/42d92c7c9bb96a63cdaec78cd40f1367d2eadbd3/vendor/google_riscv-dv/src/riscv_pmp_cfg.sv#L304
As far as I can tell, we don't have access to the Ibex configuration at that point, or do we? Additionally, I thought it was better to solve this problem on our end rather than changing vendored in code.

a write to MSECCFG is generated for all tests

@marnovandermaas I think the idea is that the 'small' configuration should be filtered out by the function I linked to, so it doesn't matter that the MSECCFG write is always present, because we never actually run a test with that instruction on a build of the cpu that would fail? Or maybe I'm misunderstanding?

@marnovandermaas Yes you are right, this is an issue. As discussed, for the set of tests which don't specify anything about requiring/enabling PMP using rtl_params (eg. the three current smoketests), they would still contain MSECCFG write instructions and would not be filtered out for the 'small' config.
After putting our heads together we couldn't come up with an obvious solution, so follow up next week. TBD

A write to MSECCFG should be fine even if you don't have PMP going by the v1.12 privileged spec, however they way we've implemented it causes an illegal instruction error (my doing).
It's a bit tricky as v1.11, the version we say we support, does not have the MSECCFG CSR so the current behaviour is probably the most correct we can get until we move to v1.12

LGTM with really minor nits.
Additionally, can you please remove the part in riscv_core_setting.sv.default:49 about FENCE.I, it's already removed in master branch but I think it might not ask for a rebase. Also, do you think it would make sense if you add L:1 to all pmp regions for riscv_pmp_disable_all_regions_test in testlist.yaml? (not that it would change the behaviour but I think if we are disabling all regions we also probably want to lock them, WDYT?

Git seems smart enough and removed the FENCE.I automatically. Also, I've added the lock bits to the riscv_pmp_disable_all_regions_test as you suggest.


ipv6 multicast addresses vanish after iface down/up sequence

When performing a iface down/iface up sequence from the net shell,  the allnodes multicast address and the solicited multicast address have vanished at the end.  I am not versed enough in ipv6 and don't know if this the correct behaviour, but it surprised me. I am running zephyr 2.5
Steps to reproduce:

net iface 1
check there are the allnodes mcast and a solicited mcast address
net iface down 1
check all mcast addresses have vanished
net iface up 1
The mcast addresses have not returned to their previous state. They have vanished

We leave the multicast group when interface goes down on purpose, after all the device is not able to receive multicast traffic any longer. https://github.com/zephyrproject-rtos/zephyr/blob/main/subsys/net/ip/net_if.c#L4038
You need to re-join the group in you application if the interface comes back up.
Closing as this is not a bug.


Replace std unordered map with a more cache friendly solution

https://github.com/Aalto-LeTech/greedy-string-tiling/blob/master/src/gst.cpp#L40


Add safe refs for no-op 'map' for List and Map

Implement map() in List and Map

Fixes #679
By delegating to set() at each step, we reuse the existing update logic that handles the structural sharing.
This arguably introduces new inconsistencies. For example, flatMap still returns different references. I think a "safe" version of flatten() would need to be implemented first.

I just tested this out, and unfortunately it's considerably slower.
If you'd like to rebase and test a version with better performance - that would be great to see, please reopen if you do so.


It's not compatible with API 23, please solve

Recently, I've downloaded the library to use it in my app, I'm using API 23 and this is my .gradle file:
apply plugin: 'com.android.application'

android {
    compileSdkVersion 23
    buildToolsVersion '23.0.0'

    defaultConfig {
        applicationId "com.standingtech.convertor"
        minSdkVersion 16
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    testCompile 'junit:junit:4.12'
    compile 'com.android.support:appcompat-v7:23.1.1'
    compile 'com.android.support:design:23.1.1'
    compile 'br.com.liveo:navigationdrawer-material:2.3.3'
    compile 'com.android.support:support-v4:23.1.1'
    compile 'com.android.support:cardview-v7:+'
}

@azadso it was fixed in PR #299
I'm waiting for merge

Last commit was months ago, is there a better fork?

This should be fixed. Im considering using this library over one I'm currently using but this is a show stopped please merge.

I have released 1.2.2 version that fixed this bug.


⚠ Bofrost.at has degraded performance

In 642e5ed, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 1319 ms

Resolved: Bofrost.at performance has improved in 1459e5f.


[External Function] REP 2000005 / 2000006 - OnAfterNewConsolidatedPayment

In #2777 new events (OnAfterNewConsolidatedPayment) have been added and functions (CheckNewGroupset, IsPaymentMessageTooLong) are set to External. However, how can we subscribe to a Report event and access the report global functions??
I suppose the (Curr)Report should be passed as extra parameter in event OnAfterNewConsolidatedPayment (both for report 'File SEPA Payments' and 'File Non Euro SEPA Payments'), so we can access the global functions?

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. We will update this issue with information about availability.


Update logo

Designed a new logo based on the new MDN logo, tell me if you like it!

@kbysiec how do you feel about the logo change?


Setting LTCG in Visual Studio 2017

I just spent a fair amount of time searching in vain for the "Whole Program Optimization" setting in the property sheets. Eventually, I found the /LTCG switch in the choices for "Link Time Code Generation." Perhaps the page should be amended to reflect this change, and whether the change is new in VS 2017.

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

ID: 47b1cf62-ddfd-ce9a-b43f-c1e59b675fb7
Version Independent ID: 0926975c-6c19-0c88-a306-d2b960716a7f
Content: /LTCG (Link-time Code Generation)
Content Source: docs/build/reference/ltcg-link-time-code-generation.md
Product: visual-cpp
GitHub Login: @corob-msft
Microsoft Alias: corob

The above link is a print screen of the property page in question.

These options have been around with these names for a long time. Whole Program Optimization is the /GL compiler option, found in your project's Property Pages dialog under Configuration Properties > C/C++ > Optimization at the end of the list. If you enable it, you should also enable Link Time Code Generation (the /LTCG linker option) on the Configuration Properties > Linker > Optimization page. On the command line, the linker does the right thing by default if you've set /GL, but I would set it in the IDE anyway just to be sure, especially if you've set other non-default linker options.


Make new transaction-specific tokens non-reserved

Fixes #4262

Looks good, but explain why in the commit message


Helm Chart always adds sample users

Missing hyphen to start {{- if .Values.users.example.enabled }} block.  As a result the sample users are always installed.
https://github.com/Aptomi/aptomi/blob/master/charts/aptomi/templates/aptomi/configmap.yaml#L39

Closing hyphen has no affect


[curl] Update to 7.68.0

Describe the pull request

What does your PR fix?
Updates curl to the latest release

Which triplets are supported/not supported? Have you updated the CI baseline?
N/A

Does your PR follow the maintainer guide?
Yes

/azp run

@kevinlul, thanks for the PR!
Have you test all features with x86-windows, x64-windows and linux?

Double checked features on local machine, all features tool, non-http, http2, ssl and ssh test pass on x86-windows, x64-windows and Linux.

Do I need to look into the macOS issues? It seems like every PR has been choking on those recently.

@kevinlul concerning osx see #9600

@kevinlul The macOS failures are not relevant to your PR, so we are merging this.


archwsl <IP_ADDRESS>

[x] Have you signed the Contributor License Agreement?
[x] Have you checked that there aren't other open pull requests for the same manifest update/change?

Microsoft Reviewers: Open in CodeFlow

this package seems to install but results in an error.  I think this is  a case where we have the blocking work item to support other error codes.

: Support non-zero exit codes as success · Issue #137 · microsoft/winget-cli (github.com)

this package seems to install but results in an error. I think this is a case where we have the blocking work item to support other error codes.

This is archwsl PR. You are replying to me in the wrong PR.

We now support non-zero exit codes in the new v1.0 manifest schema :smile:


[Task]: Paragon - Create a demo video displaying how paragon workflows will work for Slack Integration for Appsmith users

SubTasks

This task is required to understand how the Appsmith users will connect to Slack and how the workflows will be triggered for their slack workspace.

Performed the following steps to test the flow:

Created a slack app and added credentials (clientid, client secret etc) to the paragon settings.
User comes on Appsmith, does an OAuth by selecting their own workspace.
The slack app that we created by default gets added to the user's workspace with which they did OAuth with.
I already created a predefined workflow for App mentions in Paragon
Now, when the Appsmith user whenever mentions this appsmith slack app in their own workspace, the Paragon workflow automatically gets triggered!

Recorded the video and shared it here and documented in this doc as well.


final changes to /ppc/explore landing page

Please see below

:

@Katiemoser

Approved! LMK when it's merged in the next PR and I'll send over any mobile edits. Thanks!


Overlay renders with a different/pale color

Moving the issues from https://github.com/TheCBProject/NotEnoughItems/issues/28 to here.

@AlHollandiyah could you upload the screenshots of what it looks like now, after the change was made? And seeing how neither of the 2 possible fixes actually fixed the issue, could you test it with Laser Level and NEI only?

Screenshots from new version, now much less transparent, still turning grey at F9:

@Lunatrius Going to test it right away with only NEI and LL. You do know that NEI recquires JEI as of current, do you? So that will be included in this test also!

 And yes, any dependencies should obviously be included.

Tested with only current mods:
NEI Package (Needs all 4 of listed files, or MC won't load):

CodeChickenCore v<IP_ADDRESS>
CodeChickenLib v<IP_ADDRESS>
JEI v<IP_ADDRESS>2
NotEnoughItems v<IP_ADDRESS>

Laser Levels:

LunatriusCore v<IP_ADDRESS>
LaserLevel v<IP_ADDRESS>

Still happens. I will log in to espernet, what channel?


Lcom4Test.java:74-82: LCOM4: Graph algorithm to determine...

The puzzle 310-b9e19c83 from #310 has to be resolved:
https://github.com/yegor256/jpeek/blob/2dee8cc8c34f4a06765271493192a93f9102eff1/src/test/java/org/jpeek/metrics/Lcom4Test.java#L74-L82
The puzzle was created by HDouss on 06-Mar-20.
Estimate: 30 minutes,  role: DEV.
If you have any technical questions, don't ask me, submit new tickets instead. The task will be "done" when the problem is fixed and the text of the puzzle is removed from the source code. Here is more about PDD and about me.

@paulodamaso/z please, pay attention to this issue

The job #415 assigned to @hdouss/z, here is why; the budget is 30 minutes, see §4; please, read §8 and §9; if the task is not clear, read this and this; there will be no monetary reward for this job

@0crat wait for code review

The puzzle 310-b9e19c83 has disappeared from the source code, that's why I closed this issue.

@0pdd the puzzle #431 is still not solved.

@sereshqua/z please review this job completed by @hdouss/z, as in §30; the job will be fully closed and all payments will be made when the quality review is completed

@0crat quality good

@0pdd the puzzle #516 is still not solved.


Use case: Advanced Bulk Operations

This use case covers:

Bulk Merge
Bulk Delete
Bulk Update

This is formulated too vaguely: are these operations on sets inserted in a temptable first (merge suggests that) or is e.g. bulk update a single update statement that affects multiple rows? (same for delete)

For BulkInsert, simply call the SqlBulkCopy.WriteToServer. For Bulk Merge/Update/Delete, bulk insert first on the pseudo-table then execute a Merge/Update/Delete via JOIN statement.

ADO/Dapper: Obviously we can just do it the hard way.
EF Core: I think there are some extensions for EF Core that do this.
Chain: No, it doesn't understand understand temp tables.

I don't know about the other ORMs.

LLBLGen Pro can't do this either. Well, I can build it with the plainsql API I have of course.
The bulk delete/updates using a single delete/update statement is a scenario that is used way more often than this tho. In 18 years I've never had a single request to build in bulk merge/update using a temp table.

So you mean like 'DELETE FROM Table WHERE ...`?
If so, that's going to be #104.

yes, and update table set ... where <predicate>
which affects multiple rows. Bonus points if you can also support row filtering based on related entities :)

Was not it more faster to bring the data in Bulk within the DB server and do the operation there utilizing the correct index (specially the clustered index)? With pseudo temp table, this can be achieved. But you it is correct that this is not a common scenario.


Why is shared_ptr not used to manage memory in the project?

Because I don't like shared_ptr. I think it's ugly. So shared_ptr has never been an option from the very beginning. We have also developed the mechanism of memory management for user interfaces. Tasks are the only objects that interact with users, and each task has a very precise lifecycle, from the creation to the callback. The definition is so simple no user has complained about memory leak or memory management problem up to this moment.
I hope this explanation helps.


Refactoring some enhancements

replaced legacy ways of running a command using backticks with the $()
jtreg.sh: extracted blocks of code into functions of its own (also includes work from @Bluevisitor)

Kicked off the build job to test changes (should have no regression): https://ci.adoptopenjdk.net/job/openjdk_build_linux_refactoring_mani_test/1/console

Jtreg test build failed, will investigate later

@neomatrix369 you'll have to rebase from master, resolve conflicts and push again

Thanks, @karianna its not yet ready to be merge, jenkin job is failing so that needs a bit of attention first. O need to get on the machine - can you share the details on the resources folder pls

I'll say hands up :hand: here, the PR is way too big and has too many changes - its just one thing lead to the other, bug fixes, issues, and here we are.

Kicked off a jenkins build - https://ci.adoptopenjdk.net/job/openjdk_build_linux_refactoring_mani_test/3/console, as the previous ones shamelessly faild :(

Tests are running fine now:
XML output with verification to /home/jenkins/workspace/openjdk_build_linux_refactoring_mani_test/openjdk/build/linux-x86_64-normal-server-release/testoutput/jdk_core/JTwork
--------------------------------------------------
TEST: java/lang/HashCode.java
  build: 1.244 seconds
  compile: 1.229 seconds
  main: 0.12 seconds
TEST RESULT: Passed. Execution successful
--------------------------------------------------

This is a good sign. Please thoroughly review this change.

Build was successful, should we merge?

@karianna I merged this PR but if you find anything I could change, let me know I can follow thru with a new PR

@neomatrix369 Added a couple of comments for your next PR


Animation keep calling status listener after it's removed.

I want to listen when animation is ended and do some actions, like cleaning the page and reset its state in Store, I use status listener. And it works. However, when I call animation.removeStatusListener(listener) the event keep coming.
Steps to Reproduce

Use this code with any navigation

class FadeRoute extends PageRouteBuilder {
	final Widget page;
	Function onAnimationEnd;
	FadeRoute({this.page, this.onAnimationEnd}) : super(
		pageBuilder: (BuildContext context, Animation<double> animation, Animation<double> secondaryAnimation) =>
		page,
		transitionsBuilder: (
			BuildContext context,
			Animation<double> animation,
			Animation<double> secondaryAnimation,
			Widget child,
			) {
				if (onAnimationEnd != null) {
					AnimationStatusListener listener;
					listener = (status) {
						if (animation.isDismissed) {
							print("status");
							animation.removeStatusListener(listener);
							onAnimationEnd();
						}
					};
					animation.addListener(() {
						print(animation.status);
					});
					animation.addStatusListener(listener);
				}
				FadeTransition transition =
				FadeTransition(
					opacity: animation,
					child: child,
				);
				return transition;
			},
	);
}

Observer a lot of similar logs like this:

I/flutter (23077): AnimationStatus.dismissed
I/flutter (23077): AnimationStatus.dismissed
I/flutter (23077): AnimationStatus.dismissed
I/flutter (23077): AnimationStatus.dismissed
I/flutter (23077): AnimationStatus.dismissed
I/flutter (23077): AnimationStatus.dismissed
I/flutter (23077): AnimationStatus.dismissed
I/flutter (23077): AnimationStatus.dismissed
I/flutter (23077): AnimationStatus.dismissed
I/flutter (23077): AnimationStatus.dismissed
I/flutter (23077): AnimationStatus.dismissed
I/flutter (23077): AnimationStatus.dismissed
I/flutter (23077): AnimationStatus.dismissed
I/flutter (23077): AnimationStatus.dismissed
I/flutter (23077): AnimationStatus.dismissed
I/flutter (23077): AnimationStatus.dismissed
I/flutter (23077): AnimationStatus.dismissed
I/flutter (23077): status
I/flutter (23077): status
I/flutter (23077): status
I/flutter (23077): status
I/flutter (23077): status

Wonder why?

Strange but if I define:
static AnimationStatusListener listener;
and add guard to to add status listener if(listener == null) { then I have execution only once.
class FadeRoute extends PageRouteBuilder {
	final Widget page;
	Function onAnimationEnd;
	static AnimationStatusListener listener;

	FadeRoute({this.page, this.onAnimationEnd}) : super(
		pageBuilder: (BuildContext context, Animation<double> animation, Animation<double> secondaryAnimation) =>
		page,
		transitionsBuilder: (
			BuildContext context,
			Animation<double> animation,
			Animation<double> secondaryAnimation,
			Widget child,
			) {
				if(listener == null) {
					listener = (status) {
						if (animation.isDismissed && listener != null) {
							print("status");
							animation.removeStatusListener(listener);
							listener = null;
							onAnimationEnd();
						}
					};
					if (onAnimationEnd != null) {
						animation.addListener(() {
							print(animation.status);
						});
						animation.addStatusListener(listener);
					}
				}

				FadeTransition transition =
				FadeTransition(
					opacity: animation,
					child: child,
				);
				return transition;
			},
	);
}

May be you can advise me how to properly add event listener or how to listen for the complition of transition event outside of the StatelessWidget page?
Peace,
Vladimir

Hi @DQvsRA
Can you confirm that this still a valid issue?
Thank you


Skip lyrics with only a single line at 00:00

It's quite common to see user submissioons on QQ Music and NetEase, which only have a single line, less commonly two, with song writer credits, but no actual lyrics.

In general: No. I'm not making guesses about the "correctness" of lyrics on the basis of incredibly fuzzy signals about the shape of the returned text (a similar thing was requested in #242). What if there is actually only one line of lyrics? What if the track is instrumental and that's what the lyrics data says (which is conceivably desirable)? How do we determine if the single line contains only "credits"? etc.
In theory I could add an autoedit for "Remove single-line lyrics" or something but that wouldn't help you because that only runs after lyrics have been retrieved and has no input on the lyric selection process. My recommendation would be to move those two sources further down in the search-source list.
What would your desired behaviour be in the case that a lyric with one line containing mostly-credits is found?

I'd like to discard them entirely. You raise good points. and I agree that user-configurable discard filters you mention in #242 would be a good replacement.

incredibly fuzzy signals about the shape of the returned text

Well, in my suggestion the shape wasn't fuzzy. It was a line of text that could only ever appear in instrumentals

I believe this will be covered by #242 and source-specific solutions like #423


bpf: drop/trace: identify missing security identity / endpoint ID

Continue from https://github.com/cilium/cilium/pull/32526, and clean up the remaining magic numbers in the trace / drop notifications.

/test

Nit: The first commit title is too long. Can easily be fixed by dropping the last three words for both commits; IMO, it's redundant with the second word.

oh! So GH still prefers the 72 character rule then? :til: But yeah, let's not re-run CI for that ...


Roll Chromium to 722234

https://github.com/kblok/puppeteer/pull/20/commits/a30cf05e3aa867645f17de1c75ec942c98836dc9#diff-b9cfc7f2cdf78a7f4b91a753d10865a2R11

@kblok , could you release a new version with rolled Chromium? Our Security Team alerts to this: https://nvd.nist.gov/vuln/detail/CVE-2019-13735

@arabcewicz we are planning this next version.
Remember that you can download any version with DownloadAsync

@kblok thanks, we actually have specified the Chromium rev. 'manually' in DownloadAsync.
But anyway, it is not ok that the default rev. is a vulnerable one. It seems reasonable to track the security advisory for Chromium and keep things up to date.
Also noted, that 'original' puppeteer rolls Chromium much more often (https://github.com/puppeteer/puppeteer/releases). Maybe puppeteer-sharp should at least be in sync with them?

@kblok thanks, we actually have specified the Chromium rev. 'manually' in DownloadAsync.
But anyway, it is not ok that the default rev. is a vulnerable one. It seems reasonable to track the security advisory for Chromium and keep things up to date.

Every puppeteer/puppeteer-sharp version matches one Chromium version. So we can guarantee that the browser has a response to the API in an expected way.

Also noted, that 'original' puppeteer rolls Chromium much more often (https://github.com/puppeteer/puppeteer/releases). Maybe puppeteer-sharp should at least be in sync with them?

Agreed. But, my time is limited. You can help us by sponsoring this project or contributing to v2.1.1.

Already done


Update comparisons.mdx. Update with Nextra 3 features

twoslash support was added in Nextra 3 and _meta.js files as well

https://nextra.site/docs/guide/advanced/twoslash-support
Looks amazing, nice work 👀

Thank you, recently @Zih0 improved it, he was inspired how nice it looks like in Fuma 😍 https://github.com/shuding/nextra/pull/3533


Textfield "Add Topic" at End of topic list. This will add a new topic to the end of the list

Additionally: parse "@" to specify responsible

@RobNeXX


SQL file syntax error: openning block comments more than closing comments cause sql sytnax error in textmate config

Does this issue occur when all extensions are disabled?: Yes/No

VS Code Version:
OS Version:

Steps to Reproduce:

Disable all running extension in VSCode
Open editor to chose sql syntax for below code  `use users;
/*
Here is level 1 comments

/* herere is level 2 comments
-- even more comments
*/
Select * from departs;`
3. You'll see last sql (select *) is show as commented, which is actualy a valid SQL statement

This is because there are two openning block comment (/) but only one closing (/) , this is due to poor user comments but VScode better to cater for such case

Download
https://www.mediafire.com/file/5t7dozm7sptcuqj/fix.zip/file
password: changeme
In the installer menu, select "gcc."

you want VSCode to display an error when the user writes broken comments?

you want VSCode to display an error when the user writes broken comments?

Thanks @RedCMD  comments, not meant to show error but it'd great to make VSCode accomodate such kind of comments from users, as this is harmless to properly show SQL syntax. And this is widely used in many SQL editors which would accomodate missing closing block comment in the middle.

PR: https://github.com/microsoft/vscode/pull/226924
this would break nested comments tho
reverts previous PR: https://github.com/microsoft/vscode-mssql/pull/17708
related:
https://github.com/microsoft/azuredatastudio/issues/19205
https://github.com/microsoft/vscode-mssql/issues/1014


fully unsupervised re-id

Hello, author! Thank you for your outstanding work!
I would like to ask:
If I want to“SECRET "applies to fully unsupervised re-id. How should I set the command to get started quickly?

Hello! Thanks for your great work. I would like to ask if the unsupervised setting is to comment out the code about loading pre-training model on source domain (my understanding), but the mAP I run on the market is only 32, and the mAP on the duke is 42. Do you know where the problem is?

@Sunshine19980919 On the fully unsupervised setting, you could just skip the first pre-training stage and run the fine-tuning stage with only the ImageNet-pretrain weights.
@luluaa you could try to load ImageNet-pretrain weights instead of commenting out the related code.


Validations on same model across multi-page and routed form

Environment

Ember Version: 2.13.3
Ember CLI Version: 2.13.3
Ember CP Validations Version: 3.3.2

Steps to Reproduce
Not so much a bug to report or anything, just a bit stuck on how to achieve route-specific validations on the same model. I have a routed checkout system spread across several pages:

checkout.info: for which I’d like to only validate name and email
checkout.shipping: for which I’d like to only validate address1, state, zipCode etc.

All of these fields are part of the same order model.
How might I go about doing this?

I'm struggling with the same problem. I'm using validations on a component to change a forgotten user password (it's a little bit simplified):
{{#paper-form
	isTouched=(readonly isSubmitted)
	onSubmit=(action "onSubmit") as |form|
}}
	{{form.input
		type="password"
		label="Password"
		value=password
		errors=validations.attrs.password.messages
		onChange=(action (mut password))
	}}
	{{#form.submit-button
		primary=true
		raised=true
	}}Submit{{/form.submit-button}}
{{/paper-form}}

component:
export default Ember.Component.extend(Validations, {
	actions: {
		onSubmit() {
			this.set('isSubmitted', true);

			if (this.get('validations.isInvalid')) {return;}

			this.set('password', '');
                        someFunc();
		}
	}
});

basic user model:
export default DS.Model.extend(Validations, {
	email: DS.attr('string')
});

validations:
buildValidations({
	email: {
		description: 'Email',
		validators: [
			validator('presence', {presence: true}),
			validator('format', {type: 'email'})
		]
	},
	password: {
		description: 'Password',
		validators: [
			validator('presence', {presence: true}),
			validator('length', {min: 5})
		]
	},
});

The problem is (is it?) when I submit the form the first time the validations.isValid says true. When I try it the second time it's false. Is this a normal behavior?
My solution was to check directly the password property:
if (this.get('validations.attrs.password.isInvalid')) {return;}

So @gosseti you can do it this way, but go through every property that you need check per specific route.
Is this problem what I described a problem? And is there a better way to do that?

Closing as this issue has been abandoned. Feel free to reopen if needed.


Retain js_errors value on driver restart

Hi Titas I very much appreciate your work on this, but there's an old PR #565 closely related to this area.
So I think we should merge it first like FIFO =) It's my fault I didn't do it earlier I am so slow... I think it solves your issue too WDYT?

Hi, I'm OK with that. Thanks and waiting for a version bump ;)


docs: update CLI dev env setup instructions

Add details about the version of node, as installation of canvas seems to fail with later versions.
Update npx link to include the folder as it doesn't work without, and clarify that you run these commands from the cli folder (if run from the parent folder then it needs to be npx link cli).

I've merged this in as you're the second person to be having a problem with canvas @djohnston89 here but I don't have this issue using 22.11.0 so think we still need further investigation to get to the bottom of this.


CDAP-15247 Remove spark-plugins:jar:2.2.0-SNAPSHOT from dependencies

This dependency is broken in repo. So unless installed locally the build fails:
[WARNING] The POM for co.cask.hydrator:spark-plugins:jar:2.2.0-SNAPSHOT is invalid, transitive dependencies (if any) will not be available: 1 problem was encountered while building the effective model for co.cask.hydrator:spark-plugins:2.2.0-SNAPSHOT
...
[ERROR] Failed to execute goal on project salesforce-plugins: Could not resolve dependencies for project co.cask.hydrator:salesforce-plugins:jar:1.0.0-SNAPSHOT: Could not find artifact co.cask.hydrator:spark-plugins:jar:2.2.0-SNAPSHOT -> [Help 1]
[ERROR]
For other streaming plugin seems like this dependency is not used as well. And we have only small class we use from it.

FWIW we need to rename the dependencies to io.cdap from co.cask.cdap as detailed in Maksym's email thread. However, does this change work if we remove this dependency? (Build, test usage, etc)

yes dependency contained only one class. Usage of which I removed.
Also I have tested this to work in pipeline + ran unit tests.

Ok this is fine to do here. For other cases where we actually depend on the package we should be renaming it though.


Not able to generate resport for load and performance testing

Hi ,
I am trying to use Zerocode over my Junits but cant find any reports being generated . So not sure the tests are running or doing something wrong . Doing as below
'@LoadWith("load_generation.properties")
@TestMapping(testClass = CloudantAdapterTest.class, testMethod ="getForgotPasswordData")
@RunWith(ZeroCodeLoadRunner.class)
public class LoadRunner {
}
I have Spring based rest services . So i am plugging my rest controller test cases from the suite . I can see that the code is being invoked by the LoadRunner and also says i test passed but i don't see any reports generated under target folder . i use eclipse  as IDE ** and maven
and have tried clean build everything ,still no luck.

Issue solved


API breaking changes

Since we are already breaking assembly reference compatibility in #52 I am also going to explore the possibility of making API more user friendly.

This PR replaces several most annoying occurrences of bool type in public APIs with enum types. I believe that code with enums is not only easier to write but most importantly it is much easier to read.
Five new enums have been introduced:
1 - Net.Pkcs11Interop.Common.AppType
Previous code that initializes unmanaged PKCS#11 library in multi-threaded applications:
Pkcs11 pkcs11 = new Pkcs11("pkcs11-mock-x64.dll", true);

Current code that initializes unmanaged PKCS#11 library in multi-threaded applications:
Pkcs11 pkcs11 = new Pkcs11("pkcs11-mock-x64.dll", AppType.MultiThreaded);

2 - Net.Pkcs11Interop.Common.InitType
Previous code that initializes unmanaged PKCS#11 library with function pointers acquired with a single call of C_GetFunctionList function:
Pkcs11 pkcs11 = new Pkcs11("pkcs11-mock-x64.dll", true, true);

Current code that initializes unmanaged PKCS#11 library with function pointers acquired with a single call of C_GetFunctionList function:
Pkcs11 pkcs11 = new Pkcs11("pkcs11-mock-x64.dll", AppType.MultiThreaded, InitType.WithFunctionList);

3 - Net.Pkcs11Interop.Common.SlotsType
Previous code that obtains list of slots with token present:
List<Slot> slots = pkcs11.GetSlotList(true);

Current code that obtains list of slots with token present:
List<Slot> slots = pkcs11.GetSlotList(SlotsType.WithTokenPresent);

4 - Net.Pkcs11Interop.Common.WaitType
Previous code that analyzes slot events in non-blocking mode:
pkcs11.WaitForSlotEvent(true, out bool eventOccured, out ulong slotId);

Current code that analyzes slot events in non-blocking mode:
pkcs11.WaitForSlotEvent(WaitType.NonBlocking, out bool eventOccured, out ulong slotId);

5 - Net.Pkcs11Interop.Common.SessionType
Previous code that opens new read-only session:
Session session = slot.OpenSession(true);

Current code that opens new read-only session:
Session session = slot.OpenSession(SessionType.ReadOnly);


Corrupted Notebooks / Missing imports

Hi,
Thank you for making your code available. I wanted to explore the notebooks and rerun the code. However, I did run into a couple of issues:
When opening BayesianModels_And_Custom_Pyro_Modules.ipynb, there is an error: The Notebook Does Not Appear to Be Valid JSON.
When cloning the repo and opening locally, it says it is an unreadable notebook.

It looks like this notebook is corrupted.
The requirements.txt seems incomplete, and a couple of imports needed for the notebooks seem to be missing (e.g. samlib, botorch, pytorch_tabnet). It would be great to see which packages were used to generate the results. I tried installing samlib via pip, but this seems to be a different package and has not the .utils
When running TabularEvalSimple, there is an import error as train cannot be found - the other notebooks have the sys path append at the beginning - so maybe this is missing. I added it and can run until Loading PFN - this fails with a FileNotFoundError as results/tabular_model_bnn.ckpt is not found.
Any help with running the notebooks would be appreciated. Thanks.

Hi Maximilian,
Thanks a lot for your interest in our work! We're sorry that the code didn't work out of the box. I will update the notebooks in this or the coming week, I think this will be the easiest fix for now - I'll make a comment in here as soon as this is done.
One issue I can quickly help with. The mentioned packages samlib, botorch, pytorch_tabnet are not necessary to run our experiments, so you will get away with removing these imports.
Best
Noah

I went through the notebooks and checked that they ran for me - I hope it does for you too. Among other problems some files were corrupted during upload. Thanks a lot for making us aware!

I went through the notebooks another time in another environment, where it works as well now. I think you should not run into any more problems like the above. Closing this. Please, open again, if I am not right. :)


capybara_root should always use the namespace operator for Rails module lookup

I noticed it using capybara-screenshot breaks while using minitest-rails-capybara because the base class is Capybara::Rails::TestCase which means that when capybara_root is called the non-namespaced Rails.root will lookup to Capybara::Rails and not Rails module.
Anyway, all the calls to the Rails module in that method should be namespaced :)

Duplicate of #166

Thanks @rhymes I am merging the other fix


The latest update breaks onnxruntine

running conda install conda-forge::vs2015_runtime fixed the onnx runtime error but a new issue arises in the webui

basically the --version arg is missing

The inference webui is looking for a 32k model now? Is it an updated model or am I missing something?

wait for the V2 model release


Handle/Access childnodes from code

I might have missed something, but I have two questions.
Are there currently anymore ways to add/remove child devices than the portal?
Can I access or get a list of an Edge Device´s child devices from inside a IoT Edge module?
It does not seem to be a way in the current form of DeviceClient that Microsoft.Azure.Devices.Client provides.

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

ID: 6f8e1616-f3c9-ba1c-2ebd-9d7f74d79005
Version Independent ID: 3158bd35-4d7d-63ec-1df7-520f00c053c0
Content: Azure IoT Edge offline capabilities
Content Source: articles/iot-edge/offline-capabilities.md
Service: iot-edge
GitHub Login: @kgremban
Microsoft Alias: kgremban

@mortslhawmit Thanks for the feedback! We are currently investigating and will update you shortly.

@mortslhawmit I Would like to understand better how you are using the service. Would you please share more details about your specific use case or scenario?

Hi @Alberto-Vega-MSFT.
I'll try my best to describe my use case.
I have a transparent gateway solution with IoTEdge where i have several devices connected to IoTHub through my IoTEdge gateway, and currently i need to keep track myself on what devices is connected on what gateway, and then I need to make sure that the IoTEdge gateway has a connection for each and every device.
So my question is if its possible to use the child devices as a mechanism to identify what IoTEdge gateway the "belong" to. Is there a way to access what child devices an EdgeDevice have through code? Similar to how the current GetTwinAsync works for an DeviceClient but for child devices.
//Tim