respond_decision_task_completed API call not functionally complete, despite implementation_coverage claim

I believe I have stumbled across an issue with the SWF implementation you provide -- at least, in terms of the documented support.
The implementation docs suggest that the 'respond_decision_task_completed' API call is supported. However, if you call it with a decision that is not implemented (see https://github.com/spulec/moto/blob/master/moto/swf/models/workflow_execution.py#L410-L419), then that call will fail and it will raise a NotImplementedError.
Sample code to reproduce:
import boto3
from moto import mock_swf

@mock_swf
def test_moto_directly():
    client = boto3.client("swf")
    client.register_domain(name="testdomain", workflowExecutionRetentionPeriodInDays="1")
    client.register_workflow_type(domain="testdomain", name="test", version="1", defaultTaskStartToCloseTimeout="60", defaultExecutionStartToCloseTimeout="60")
    client.start_workflow_execution(domain="testdomain", workflowId="foobar", workflowType={"name": "test", "version": "1"}, taskList={"name": "testtasklist"}, childPolicy="TERMINATE")
    task_token = client.poll_for_decision_task(domain="testdomain", taskList={"name": "testtasklist"})["taskToken"]
    decisions = [{'decisionType': 'RecordMarker', 'recordMarkerDecisionAttributes': {'details': '{"timestamp":sometime}', 'markerName': '_workflow_event_workflowExecutionStarted'}}]
    client.respond_decision_task_completed(taskToken=task_token, decisions=decisions)

Produces a stack trace like:
Traceback (most recent call last):
  File "recreate_swf_issue.py", line 30, in <module>
    test_moto_directly()
  File "/Users/jimcockburn/<redacted>/<redacted>/.venv/lib/python3.5/site-packages/moto/core/models.py", line 100, in wrapper
    result = func(*args, **kwargs)
  File "recreate_swf_issue.py", line 27, in test_moto_directly
    client.respond_decision_task_completed(taskToken=task_token, decisions=decisions)
  File "/Users/jimcockburn/<redacted>/<redacted>/.venv/lib/python3.5/site-packages/botocore/client.py", line 357, in _api_call
    return self._make_api_call(operation_name, kwargs)
  File "/Users/jimcockburn/<redacted>/<redacted>/.venv/lib/python3.5/site-packages/botocore/client.py", line 648, in _make_api_call
    operation_model, request_dict, request_context)
  File "/Users/jimcockburn/<redacted>/<redacted>/.venv/lib/python3.5/site-packages/botocore/client.py", line 667, in _make_request
    return self._endpoint.make_request(operation_model, request_dict)
  File "/Users/jimcockburn/<redacted>/<redacted>/.venv/lib/python3.5/site-packages/botocore/endpoint.py", line 102, in make_request
    return self._send_request(request_dict, operation_model)
  File "/Users/jimcockburn/<redacted>/<redacted>/.venv/lib/python3.5/site-packages/botocore/endpoint.py", line 137, in _send_request
    success_response, exception):
  File "/Users/jimcockburn/<redacted>/<redacted>/.venv/lib/python3.5/site-packages/botocore/endpoint.py", line 231, in _needs_retry
    caught_exception=caught_exception, request_dict=request_dict)
  File "/Users/jimcockburn/<redacted>/<redacted>/.venv/lib/python3.5/site-packages/botocore/hooks.py", line 356, in emit
    return self._emitter.emit(aliased_event_name, **kwargs)
  File "/Users/jimcockburn/<redacted>/<redacted>/.venv/lib/python3.5/site-packages/botocore/hooks.py", line 228, in emit
    return self._emit(event_name, kwargs)
  File "/Users/jimcockburn/<redacted>/<redacted>/.venv/lib/python3.5/site-packages/botocore/hooks.py", line 211, in _emit
    response = handler(**kwargs)
  File "/Users/jimcockburn/<redacted>/<redacted>/.venv/lib/python3.5/site-packages/botocore/retryhandler.py", line 183, in __call__
    if self._checker(attempts, response, caught_exception):
  File "/Users/jimcockburn/<redacted>/<redacted>/.venv/lib/python3.5/site-packages/botocore/retryhandler.py", line 251, in __call__
    caught_exception)
  File "/Users/jimcockburn/<redacted>/<redacted>/.venv/lib/python3.5/site-packages/botocore/retryhandler.py", line 269, in _should_retry
    return self._checker(attempt_number, response, caught_exception)
  File "/Users/jimcockburn/<redacted>/<redacted>/.venv/lib/python3.5/site-packages/botocore/retryhandler.py", line 317, in __call__
    caught_exception)
  File "/Users/jimcockburn/<redacted>/<redacted>/.venv/lib/python3.5/site-packages/botocore/retryhandler.py", line 223, in __call__
    attempt_number, caught_exception)
  File "/Users/jimcockburn/<redacted>/<redacted>/.venv/lib/python3.5/site-packages/botocore/retryhandler.py", line 359, in _check_caught_exception
    raise caught_exception
  File "/Users/jimcockburn/<redacted>/<redacted>/.venv/lib/python3.5/site-packages/botocore/endpoint.py", line 197, in _do_get_response
    responses = self._event_emitter.emit(event_name, request=request)
  File "/Users/jimcockburn/<redacted>/<redacted>/.venv/lib/python3.5/site-packages/botocore/hooks.py", line 356, in emit
    return self._emitter.emit(aliased_event_name, **kwargs)
  File "/Users/jimcockburn/<redacted>/<redacted>/.venv/lib/python3.5/site-packages/botocore/hooks.py", line 228, in emit
    return self._emit(event_name, kwargs)
  File "/Users/jimcockburn/<redacted>/<redacted>/.venv/lib/python3.5/site-packages/botocore/hooks.py", line 211, in _emit
    response = handler(**kwargs)
  File "/Users/jimcockburn/<redacted>/<redacted>/.venv/lib/python3.5/site-packages/moto/core/models.py", line 323, in __call__
    request, request.url, request.headers
  File "/Users/jimcockburn/<redacted>/<redacted>/.venv/lib/python3.5/site-packages/moto/core/responses.py", line 202, in dispatch
    return cls()._dispatch(*args, **kwargs)
  File "/Users/jimcockburn/<redacted>/<redacted>/.venv/lib/python3.5/site-packages/moto/core/responses.py", line 312, in _dispatch
    return self.call_action()
  File "/Users/jimcockburn/<redacted>/<redacted>/.venv/lib/python3.5/site-packages/moto/core/responses.py", line 397, in call_action
    response = method()
  File "/Users/jimcockburn/<redacted>/<redacted>/.venv/lib/python3.5/site-packages/moto/swf/responses.py", line 468, in respond_decision_task_completed
    task_token, decisions=decisions, execution_context=execution_context
  File "/Users/jimcockburn/<redacted>/<redacted>/.venv/lib/python3.5/site-packages/moto/swf/models/__init__.py", line 294, in respond_decision_task_completed
    execution_context=execution_context,
  File "/Users/jimcockburn/<redacted>/<redacted>/.venv/lib/python3.5/site-packages/moto/swf/models/workflow_execution.py", line 320, in complete_decision_task
    self.handle_decisions(evt.event_id, decisions)
  File "/Users/jimcockburn/<redacted>/<redacted>/.venv/lib/python3.5/site-packages/moto/swf/models/workflow_execution.py", line 422, in handle_decisions
    "Cannot handle decision: {0}".format(decision_type)
NotImplementedError: Cannot handle decision: RecordMarker

I am interested in the implementation of these decision tasks. Do you have a timeline on completing them? In the meantime, would it be prudent to re-evaluate your implementation completion checklist so that others don't fall into the same problem?
Cheers!

Hi @JimNero009, thanks for raising this. As far as I know, this is not on anyone's radar, so if you want to help out, a PR would be very welcome!
The coverage document indicates that the feature is supported, but there is no guarantee that it supports every possible parameter combination. Will mark it as an enhancement to also add docstrings to give some indication of what is/is not supported.

Hi Bert, thanks for the response and the info. I may be able to have a go at implementing at least a part of the functionality over the next few weeks. If you have any general documentation on how to get started with a contribution, I'd be more than happy to read it!

There is some general documentation/development tips here: http://docs.getmoto.org/en/latest/docs/contributing/index.html
The only hard and fast rule is that there should be a separation between model (in models.py) and view (responses.py), but other than that, the various services are so different that it's difficult to have strict rules on what the implementation should look like.
SWF has already quite an in-depth implementation, though, so as long as you don't deviate too much from that 'style' it should be OK.


Integrate new resin-cli-visuals functionality

Where is CLI Visuals updated in package.json?

Why is there a weird Merge branch 'modify-function-description' commit?

@mkorakakis Why was CLI Visuals updated in a previous PR (https://github.com/resin-io/resin-cli/commit/5b5d1be52fd0c4cf5b6c828ea7354c02c9a4b924#diff-b9cfc7f2cdf78a7f4b91a753d10865a2R63)? That means the CLI was broken since that last PR since he CLI Visuals dependency was updated but the code was still using the old interface.

Yeah, i know that was entirely my fault.


Where to submit bug report?

I know this is not the right place, but where do I report a bug with the Android app? The new update makes it impossible with certain keyboards, e.g. GBoard, to send an amount of money containing a decimal, like 7.85€ or similar.

@Regenhardt you could report it @ https://github.com/braintree/braintree_android.


Removed unnecessary DatabaseOperation.savepoint_rollback_sql() on Oracle.

As far as I can tell it's equivalent to the base method:
    def savepoint_rollback_sql(self, sid):
        """
        Return the SQL for rolling back the given savepoint.
        """
        return "ROLLBACK TO SAVEPOINT %s" % self.quote_name(sid)

buildbot, test on oracle.

@orf Thanks for this PR :+1: . It seems that DatabaseOperation.savepoint_create_sql() is also unnecessary. Both are unnecessary since 918f44e3ae650ff124067425d31c9d3deeba2224.

Good catch, I've removed that as well.

buildbot, test on oracle.

buildbot, test on oracle.


Add Trend and Direction to Loop Graphic

Add the Current Glucose Reading Value and Trend Direction to the Loop open/closed Graphic. I know it's on the watch app but it would be great to have it at the top of the main app as well.

Thanks for drawing this up, but this is the sort of thing that's better for you to track/implement in your own fork, and propose back in a pull request when you feel like it's a necessary baseline contribution.
Loop won't ever be the single UX for everybody's needs, rather, it's an example template that can be used for finer customization. YDMV, and I hope this project makes it easy to focus on the Vary part, and not have to worry about the lowest-common denominator boilerplate.

Will do. Thanks Nate


Fix tests on master

Removes those InsecurePlatformWarning warnings discussed in #214.
Runs the permissions tests again (removed during test overhaul)

@chriddyp and @etpinard , gonna merge this one in, i want to make changes ontop of it. I'll wait to push to PyPI though.


update CxG converter to support test mode - converting single file

Needed to make testing more tractable

It's already possible to do it, just need to pass the full experiment name, for instance, "E-CURD-2"

OK.  Can you write some doc?

I updated the README


Added simple-and-inefficient QuickSort example

... just to show off
Using the Advanced Java Folding plugin and Fira Code font with ligatures:

Current coverage is 97.09% (diff: 100%)

Merging #1830 into master will not change coverage

@@             master      #1830   diff @@
==========================================
  Files            87         87
  Lines         11308      11308
  Methods           0          0
  Messages          0          0
  Branches       1875       1875
==========================================
  Hits          10979      10979
  Misses          207        207
  Partials        122        122

Powered by Codecov. Last update 84a4c69...03222e4

Thank you!


Alias not being respected with filters on relations

Don't have a real public example at the moment, but the recent changes to the alias has caused issues with filtering by relation fields.
psuedo-example (will get a real one soonish):
post?$expand(author)&$filter=author/id eq 3
This fails with an alias error. The alias used to join the database is something like author12, but the where clause is simply author.id = 3 and author doesn't exist as an alias.

I have a branch issue/4
2682e8c299c5789c2b0aab1427071d64f30fe05e is a first pass fix, but there's other issues. If the filter looks like $filter=author/id eq 3 and id > 1, the id filter (which is relative to the post entity) is given the alias of the author. So it looks like we're keeping the alias caches while traversing the different parts.
Quick customer fix would be to move all zero-degree filters to the front.


Regression: OpenSSL 3.4 section alignment is broken for WIN64A

Hi all,
This is to report a regression when building OpenSSL 3.4.0. In https://github.com/openssl/openssl/commit/25391acc140e215774242bf3b0a51d59754a23f4 you fixed section alignment for OpenBSD, but this broke building with MSVC and NASM.
The following appeared with a build configured through perl ./Configure --prefix=E:/cerbero-sources/dist/msvc_x86_64 --libdir=lib  no-makedepend no-unit-test no-tests no-fuzz-afl no-fuzz-libfuzzer no-h3demo shared  --release  no-tests VC-WIN64A:
        cmd /C "set "ASM="nasm"" & "perl" "crypto\ec\asm\ecp_nistz256-x86_64.pl" "nasm" -I"." -I"include" -I"providers\common\include" -I"providers\implementations\include" /Zi /Fdossl_static.pdb /Gs0 /GF /Gy /MD /W3 /wd4090 /nologo /O2 -D"L_ENDIAN" -D"OPENSSL_PIC" -D"OPENSSLDIR=\"C:\\Program Files\\Common Files\\SSL\"" -D"ENGINESDIR=\"E:\\cerbero-sources\\dist\\msvc_x86_64\\lib\\engines-3\"" -D"MODULESDIR=\"E:\\cerbero-sources\\dist\\msvc_x86_64\\lib\\ossl-modules\"" -D"OPENSSL_BUILDING_OPENSSL" -D"OPENSSL_SYS_WIN32" -D"WIN32_LEAN_AND_MEAN" -D"UNICODE" -D"_UNICODE" -D"_CRT_SECURE_NO_DEPRECATE" -D"_WINSOCK_DEPRECATED_NO_WARNINGS" -D"NDEBUG"  -DAES_ASM -DBSAES_ASM -DCMLL_ASM -DECP_NISTZ256_ASM -DGHASH_ASM -DKECCAK1600_ASM -DMD5_ASM -DOPENSSL_BN_ASM_GF2m -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_USE_APPLINK -DPOLY1305_ASM -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DX25519_ASM  crypto\ec\ecp_nistz256-x86_64.asm"
        "nasm"  -Ox -f win64 -DNEAR -g -o crypto\ec\libcrypto-shlib-ecp_nistz256-x86_64.obj "crypto\ec\ecp_nistz256-x86_64.asm"
crypto\ec\ecp_nistz256-x86_64.asm:5: error: Win32 cannot align sections to better than 64-byte boundaries
crypto\ec\ecp_nistz256-x86_64.asm:2384: error: Win32 cannot align sections to better than 64-byte boundaries

Compilers version:
Microsoft (R) C/C++ Optimizing Compiler Version 19.42.34321.1 for x64
Copyright (C) Microsoft Corporation.  All rights reserved.

Compiler Passes:
 C:\Program Files\Microsoft Visual Studio\2022\Preview\VC\Tools\MSVC\14.42.34321\bin\HostX64\x64\cl.exe:        Version 19.42.34321.1
 C:\Program Files\Microsoft Visual Studio\2022\Preview\VC\Tools\MSVC\14.42.34321\bin\HostX64\x64\c1.dll:        Version 19.42.34321.1
 C:\Program Files\Microsoft Visual Studio\2022\Preview\VC\Tools\MSVC\14.42.34321\bin\HostX64\x64\c1xx.dll:      Version 19.42.34321.1
 C:\Program Files\Microsoft Visual Studio\2022\Preview\VC\Tools\MSVC\14.42.34321\bin\HostX64\x64\c2.dll:        Version 19.42.34321.1
 C:\Program Files\Microsoft Visual Studio\2022\Preview\VC\Tools\MSVC\14.42.34321\bin\HostX64\x64\c2.dll:        Version 19.42.34321.1
 C:\Program Files\Microsoft Visual Studio\2022\Preview\VC\Tools\MSVC\14.42.34321\bin\HostX64\x64\c1xx.dll:      Version 19.42.34321.1
 C:\Program Files\Microsoft Visual Studio\2022\Preview\VC\Tools\MSVC\14.42.34321\bin\HostX64\x64\link.exe:      Version 14.42.34321.1
 C:\Program Files\Microsoft Visual Studio\2022\Preview\VC\Tools\MSVC\14.42.34321\bin\HostX64\x64\mspdb140.dll:  Version 14.42.34321.1
 C:\Program Files\Microsoft Visual Studio\2022\Preview\VC\Tools\MSVC\14.42.34321\bin\HostX64\x64\1033\clui.dll: Version 19.42.34321.1

NASM version 2.14.02 compiled on Oct 12 2024

Hm... why do not we see any CI failures??

I checked the CI logs e.g. https://github.com/openssl/openssl/actions/runs/11481315573/job/31951709153 and it seems there are no steps mentioning AS="nasm" nor files ending in .asm.

I checked the CI logs e.g. https://github.com/openssl/openssl/actions/runs/11481315573/job/31951709153 and it seems there are no steps mentioning AS="nasm" nor files ending in .asm.

That's because nmake is run with /S option. Please see the logs here: https://github.com/openssl/openssl/actions/runs/11484198569/job/31961395158?pr=25779

Found the regression (if it can be labeled as such): https://github.com/netwide-assembler/nasm/commit/cd8743142496c29cffbec84501f34416d00a6b33
I'm not sure if this hidden alignment capping would fulfill your intended target, but it's happening with the version that you're running on CI (2.16 vs ours 2.14).

@Sashan could you please look at this?

I assume we could just skip any alignment settings on Windows.

@t8m Another alternative would be to explicitly require NASM >= 2.15.03.

The Windows 64 bit NASM version 2.16.03 compiled on Apr 17 2024 solved the problem for me.


Issue credits to Aki

Issue 5000 credits to @akinorioyama.

 Follow up
On Saturday, 23-Mar-24 18:20:04 UTC by Gov4Git dev
Issued 5000 credits to member @akinorioyama.


[Q] Error: inject: input bitrate unknown or too low, specify --inter-packet

TSP version: 3.32-2973 (over x86_64 GNU/Linux 5.10.136-1)
I have a UDP multicast MPTS input with 2 services.
I can send it to a Vatek modulator:
tsp -I ip -b 26214400 <IP_ADDRESS>:5000 -O vatek --constellation 64-QAM -r 2/3 -f 474000000 -g 1/4
and no issue. However when I try to insert new tables (i have enough room):
tsp -I ip -b 26214400 <IP_ADDRESS>:5000 -P sdt --service-id 0x0001 --eit-pf 1 --eit-schedule 1 -P sdt --service-id 0x0002 --eit-pf 1 --eit-schedule 1 -P inject -p 20 -b 3008 --stuffing tdt.xml -P timeref --system-synchronous -P eitinject --terrestrial -f eit.xml -O vatek --constellation 64-QAM -r 2/3 -f 474000000 -g 1/4
And I get the message:
Error: inject: input bitrate unknown or too low, specify --inter-packet
I could also capture the UDP in a dump.ts file: tsp -I ip -b 26214400 <IP_ADDRESS>:5000 -O file dump.ts
And also could send it to the Vatek inserting the tables with no issue:
tsp -I file dump.ts -P regulate --pcr-synchronous -P sdt --service-id 0x0001 --eit-pf 1 --eit-schedule 1 -P sdt --service-id 0x0002 --eit-pf 1 --eit-schedule 1 -P inject -p 20 -b 3008 --stuffing tdt.xml -P timeref --system-synchronous -P eitinject --terrestrial -f eit.xml -O vatek --constellation 64-QAM -r 2/3 -f 474000000 -g 1/4
Only when I try to send the UDP MPTS directly to the -P inject seems to not being able to find the bitrate, that in fact it is:
Estimated based on PCR's: ............... 19,906,000 b/s   21,600,128 b/s (tsanalyze dump)
Thanks in advance.

Hi @Litrona
The reason is the ip input reading very few packets at the beginning of the stream. This is the same problem, in principle, as #1070. See my explanations here about why the bitrate is not initially known with the ip input plugin.
In your case, the plugin inject, when starting, wants to evaluates the bitrate of the TS in order to know every which number of packets it should insert a packet from the tables to inject. With the ip input plugin, there is not enough packets at the beginning to evaluate the bitrate. That's why inject complains.
Soon after the beginning, the bitrate becomes known, when there are enough packets with PCR to evaluate it. That's why you see it in the analysis. But the inject plugin wants this at the very beginning. Other input plugins read more initial packets and the bitrate is known from the beginning.
I will try to find a general solution for this. In the meantime, you may specify the option --inter-packet as suggested in the error message. With this option, inject does not need to know the TS bitrate. Since you inject a TDT template, there is no need to be very precise. You just need to know an approximate value of the expected bitrate.
Let's say BR = approximate bitrate in b/s (e.g. 5,000,000 b/s) and D = cycle duration of your table in seconds (e.g. 20 s. for a TDT):

inter-packet = (D * BR) / (8 * 188)

OK, done thx


Setup

Hi there,
I used your Multiplayer Hack Patch for Mario Kart 64.
Now I have a menu on the start screen. The scaling says "default", but I would like to change this setting.
How am I doing this?
Do I need to change the "mk64_multiplayer_hack.asm" and patch again?
Or: Can I change the menu on the startscreen via keyboard or mouse?
Sorry, but I'm really not into programming and such stuff :-)

Finally, I made it work! :-)
I always thought I can only change the settings via keyboard or there is a need to patch the rom with different settings.
BUT: I just needed to use the "digital pad" for adjusting the settings in the start menu :-/
Thanks anyway ;-)


feat(mlu): Support PyTorch backend on MLU.

Mmdet support PyTorch backend on MLU (with Cambricon PyTorch).

Motivation
Support Cambricon MLU device for PyTorch backend.
Modification
mmdet/apis/train.py : model copy and get current device before MMDataParallel and MMDistributedDataParallel
tool/train.py : moifyed to support mlu init_random_seed;
mmdet/core/data_structures/general_data.py: add Tensor-like methods.
BC-breaking (Optional)
No BC-breaking

 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.

LGTM

LGTM

Test report：

Pass all unit tests of mmdetection.
The following networks can run successfully：
retinanet_r50_fpn_1x_coco/mask_rcnn_r101_fpn_1x/faster_rcnn_r101_fpn_1x/yolov3_d53_mstrain-416_273e_coco/ssd512_coco

Dear zhangsanfeng2022,
First of all, we want to express our gratitude for your significant PR in the MMDetection project. Your contribution is highly appreciated, and we are grateful for your efforts in helping improve this open-source project during your personal time. We believe that many developers will benefit from your PR.
If you are Chinese or have WeChat，welcome to join our community on WeChat. You can add our assistant ：openmmlabwx. Please add "mmsig + Github ID" as a remark when adding friends：）
We would also like to invite you to join our Special Interest Group (SIG) private channel on Discord, where you can share your experiences, ideas, and build connections with like-minded peers. To join the SIG channel, simply message moderator— OpenMMLab on Discord or briefly share your open-source contributions in the #introductions channel and we will assist you. We look forward to seeing you there! Join us ：https://discord.gg/raweFPmdzG
Thank you again for your contribution❤
Best regards！ @zhangsanfeng2022


Non-integer is accepted as instance count

0.1 is a valid number of instances (bad):
λ curl -X PUT -H "Content-type: application/json" http://<IP_ADDRESS>:8080/v2/apps/hey/ho -d '{"id":"/hey/ho","cmd":"sleep 60","cpus":0.1,"mem":16,"instances":0.1}'
{"version":"2015-04-24T18:20:17.204Z","deploymentId":"4da1ad5a-a3a2-44cc-ac69-5ac9c6ec8a03"}

While -8 is not (good):
~ λ curl -X PUT -H "Content-type: application/json" http://<IP_ADDRESS>:8080/v2/apps/hey/ho -d '{"id":"/hey/ho","cmd":"sleep 60","cpus":0.1,"mem":16,"instances":-8}'
{"message":"Invalid JSON: JsResultException(errors:List((/instances,List(ValidationError(value must not be less than 0,WrappedArray())))))"}

Not sure if it's doable to reject non-integer numbers since it's probably all float64 for json, but it would be nice.

I just checked it in play-json and in 2.4.x it will fail when it's not a valid int. We will upgrade to that once it has been released.

:+1:


SD - Add repeatable (batch) seeds option

Partially addresses https://github.com/nod-ai/SHARK/issues/1351
Motivation
When dialing in prompts I often want to see multiple images with my prompt changes, but also compare them to images generated with a previous prompt, currently this requires you to generate an single image at a time, entering each seed one by one.
These changes allow you to set batches to use the same set of seeds as a previous set of batches when the first batch has the same starting seed. You can then re-run those batches with each batch getting the same seed as before.
Changes

Generates the seeds for all batch_count batches being run up front rather than generating the seed for a batch just before it is run.
Adds a --repeatable_seeds argument defaulting to False
When repeatable_seeds=True, the first seed for a set of batches will also be used as the rng seed to generate the subsequent batch seeds in the run. The rng seed is reset once all seeds are generated.
When repeatable_seeds=False, batch seeding works as currently.
Updates scripts under apps/scripts that support the batch_count argument to also support the repeatable_seeds argument.
UI/Web: Adds a checkbox element on each SD tab after batch count/size for toggling repeatable seeds, and update _inf functions to take this into account.
UI/Web: Moves the Stop buttons out of the Advanced sections and next to Generate to make things not fit quite so badly with the extra UI elements.
UI/Web: Fixes logging to the upscaler output text box not working correctly when running multiple batches.

Possible Problems/Concerns

It would be unsurprising if I missed somewhere where batches are used.
I haven't tested the changes to the scripts, though I have updated them.
I haven't tested the API in light of the changes, though I have updated the functions.
If batch_size > 1 this probably won't have the desired effect regardless of batch_count.

Only comment is about UI/Web: Moves the Stop buttons out of the Advanced sections and next to Generate to make things not fit quite so badly with the extra UI elements.
I don't think the Stop button works when you start generating the first image, or maybe it is fixed. Anyway we want to move the compile steps into the model manager so hopefully it is easy to fixup stop.

I would be surprised if the stop batch button worked anywhere but between images in a batch (or between tiles for upscaler), as I don't think the object that holds the cancel flag gets passed down far enough into the pipeline for it even known that you've pressed it until you get back into the UI code.

Yeah that is why we hid it under advanced for now


feat: Add default detekt rule for composables

Problem
The default detekt configuration does not allow function names to start with a capital letter meaning that Composable functions are flagged as errors.
Solution

Add default detekt configuration
Add default detekt rule to allow functions to start with a capital letter (as per detekt docs)

Also

Update detekt
Add a composable to the test project
Add a compose test to the test project

DCMAW-10478

Is it not worth adding the other detekt compose suggestions in this PR?


uif-contextual-menu - add support for advanced text option for menu item

As per #117 discussion, it would better if contextual menu will have an option to provide different options for item text.
What I'm thinking about is to provide two options - one is leave it as it now - through the attribute, and the other option is an additional directive - <uif-menu-item-text />.
#1:
<uif-contextual-menu uif-is-open="isOpen">
  <uif-contextual-menu-item uif-text="'Delete'"></uif-contextual-menu-item>
</uif-contextual-menu>

#2:
<uif-contextual-menu uif-is-open="isOpen">
  <uif-contextual-menu-item>
    <uif-menu-item-text>
       Icon
    </uif-menu-item-text>
  </uif-contextual-menu-item>
</uif-contextual-menu>

Comments are very appreciated.
I'm going to shift implementation on a later time and focus on other directive (navbar is waiting for me so long! :) ).

I like the two options... no breaking change!
For option 2, do you need a nested container under the menu? If so, to stay in line with what we're talking about with uif-command-bar in #17 (see this comment)... specifically  instead of using <uif-menu-item-text> use <uif-menu-item-content>... so your option-2 above would be:
<uif-contextual-menu uif-is-open="isOpen">
  <uif-contextual-menu-item>
    <uif-menu-item-content>
      <uif-icon uif-type="mail" /> Hello World
    </uif-menu-item-content>
  </uif-contextual-menu-item>
</uif-contextual-menu>

Good point, agreed.
I need nested container, because menu may has sub-menu, in that case I need to distinguish sub menu from menu item text somehow. If text will have its own directive (uif-menu-item-content) that will be good.

Gotcha... LGTM then

Can be closed because of #198


Fix challenge assessment for redirects

Challenge is marked as solved on URL changes that do not actually result in a redirect to a different page, e.g. by just adding ? to an original redirect URL.

---
Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/9761997-fix-challenge-assessment-for-redirects?utm_campaign=plugin&utm_content=tracker%2F6283055&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F6283055&utm_medium=issues&utm_source=github).

 if (insecurity.isRedirectAllowed(toUrl)) {
            if (utils.notSolved(challenges.redirectChallenge) && insecurity.redirectWhitelist.indexOf(toUrl) === -1) {
                utils.solve(challenges.redirectChallenge);
            }

Bug: Challenge triggers as soon as target URL is not exactly the same as one of the whitelisted ones.


⚠ VITALITY CKAN has degraded performance

In 01fa45b, VITALITY CKAN (https://catalogue.registry.cioosatlantic.ca/) experienced degraded performance:

HTTP code: 502
Response time: 11031 ms

Resolved: VITALITY CKAN performance has improved in fa6c133 after 7 minutes.


prevent _internal objects becoming public

Prevent accidental "public" (e.g. no underscore) access to objects from pydantic._internal.
selected reviewer: @dmontagu.

please review 🚀


Powershell ES - No completions

Description
I'm not getting any cmp completions using PowerShell ES. Originally raised issue on PowerShell ES here.
Example of missing IntelliSense

Output of :LspInfo

When looking for the LSP log, I came across a powershell_es.log in my temp/nvim directory that had the following lines repeated:
2023-08-05 21:35:20.494 +12:00 [WRN] Tried to send request or notification before initialization was completed and will be sent later {"Id":1,"Error":{"Code":-32800,"Data":null,"Message":"Request Cancelled","$type":"ErrorMessage"},"Method":"initialize","$type":"RequestCancelled"}

Neovim version
NVIM v0.9.1
Build type: RelWithDebInfo
LuaJIT 2.1.0-beta3
Compilation: C:/Program Files (x86)/Microsoft Visual Studio/2019/Enterprise/VC/Tools/MSVC/14.29.30133/bin/Hostx64/x64/cl.exe /MD /Zi /O2 /Ob1  -W3 -wd4311 -wd4146 -DUNIT_TESTING -D_CRT_SECURE_NO_WARNINGS -D_CRT_NONSTDC_NO_DEPRECATE -D_WIN32_WINNT=0x0602 -DMSWIN -DINCLUDE_GENERATED_DECLARATIONS -ID:/a/neovim/neovim/.deps/usr/include/luajit-2.1 -ID:/a/neovim/neovim/.deps/usr/include -ID:/a/neovim/neovim/.deps/usr/include -ID:/a/neovim/neovim/build/src/nvim/auto -ID:/a/neovim/neovim/build/include -ID:/a/neovim/neovim/build/cmake.config -ID:/a/neovim/neovim/src -ID:/a/neovim/neovim/.deps/usr/include -ID:/a/neovim/neovim/.deps/usr/include -ID:/a/neovim/neovim/.deps/usr/include -ID:/a/neovim/neovim/.deps/usr/include -ID:/a/neovim/neovim/.deps/usr/include -ID:/a/neovim/neovim/.deps/usr/include -ID:/a/neovim/neovim/.deps/usr/include
system vimrc file: "$VIM\sysinit.vim"
fall-back for $VIM: "C:/Program Files (x86)/nvim/share/nvim"
Run :checkhealth for more info
Nvim-lspconfig version
c0de180ddb3df36feef8ac3607670894d0e7497f
Operating system and version
Windows 11 22H2
Affected language servers
powershell-editor-services
Steps to reproduce

Open a .ps1 file
Type "Get-Ch"

Actual behavior
Only get Lua Snip in cmp panel
Expected behavior
Expecting to see "Get-ChildItem" in cmp panel.
Minimal config
local bundle_path = vim.fn.stdpath("data") .. "/mason/packages/powershell-editor-services"
local command_fmt =
[[& '%s/PowerShellEditorServices/Start-EditorServices.ps1' -BundledModulesPath '%s' -LogPath '%s/powershell_es.log' -SessionDetailsPath '%s/powershell_es.session.json' -FeatureFlags @() -AdditionalModules @() -HostName nvim -HostProfileId 0 -HostVersion 1.0.0 -Stdio -LogLevel Normal]]
local temp_path = vim.fn.stdpath("cache")
local command = command_fmt:format(bundle_path, bundle_path, temp_path, temp_path)

local M = {
  {
    "neovim/nvim-lspconfig",
    opts = {
      setup = {
        powershell_es = function()
          require("lspconfig").powershell_es.setup({
            filetypes = { "ps1" },
            bundle_path = vim.fn.stdpath("data") .. "/mason/packages/powershell-editor-services",
            cmd = { "pwsh", "-NoLogo", "-Command", command },
          })
        end,
      },
    },
  },
}

return M

LSP log
https://gist.github.com/scottmckendry/09c233ed114fa6318c1e4c2ef7a08e1c

Closing - will reopen with a more detailed description and repro


⚠ ClamAV has degraded performance

In 9bd6aa7, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 467 ms

Resolved: ClamAV performance has improved in 0add8a2 after 5 minutes.


Release 0.5.6

Including nilearn for plotting
Documentation style for Numpydocs
Update in the resources for 500 random parcelations
Normalisation functions
Tweaks here and there

Codecov Report

Merging #22 into master will increase coverage by 3.13%.
The diff coverage is 59.06%.

@@            Coverage Diff            @@
##           master     #22      +/-   ##
=========================================
+ Coverage   25.16%   28.3%   +3.13%
=========================================
  Files          19      20       +1
  Lines        1776    1862      +86
  Branches      475     503      +28
=========================================
+ Hits          447     527      +80
+ Misses       1300    1281      -19
- Partials       29      54      +25

Impacted Files
Coverage Δ

maybrain/plotting/matrices.py
83.95% <ø> (ø)
:arrow_up:

maybrain/utils/writers.py
20% <ø> (ø)
:arrow_up:

maybrain/utils/bct.py
100% <ø> (ø)
:arrow_up:

maybrain/utils/brain_utils.py
23.8% <ø> (ø)
:arrow_up:

maybrain/utils/highlights.py
80% <ø> (ø)
:arrow_up:

maybrain/algorithms/robustness.py
86.2% <ø> (ø)
:arrow_up:

maybrain/plotting/__init__.py
100% <ø> (ø)
:arrow_up:

maybrain/algorithms/normalisation.py
51.92% <50.98%> (+41.92%)
:arrow_up:

maybrain/plotting/histograms.py
60.86% <57.14%> (-4.14%)
:arrow_down:

maybrain/plotting/connectome.py
79.41% <79.41%> (ø)

... and 3 more

Continue to review full report at Codecov.

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


feat: eventing poc

A PoC for eventing, meant to be used with the experimental flagd-web provider.
Specifically:

adds an addHandler() method to the client which can be passed an event type (PROVIDER_READY, PROVIDER_ERROR,PROVIDER_CONFIGURATION_CHANGED, PROVIDER_SHUTDOWN and a function to run when that event is fired)
adds a new CACHED default reason
adds a new EventProvider interface, which providers can OPTIONALLY implement to fire events.

/publish

/publish

/publish

/publish

/publish

/publish

/publish

/publish

/publish

Codecov Report

Merging #316 (e490a9f) into main (2a68128) will decrease coverage by 0.59%.
The diff coverage is 89.65%.

@@            Coverage Diff             @@
##             main     #316      +/-   ##
==========================================
- Coverage   99.67%   99.08%   -0.60%
==========================================
  Files          15       15
  Lines        1236     1311      +75
  Branches       97      104       +7
==========================================
+ Hits         1232     1299      +67
- Misses          4       12       +8

Impacted Files
Coverage Δ

src/client.ts
96.99% <71.87%> (-3.01%)
:arrow_down:

src/open-feature.ts
100.00% <100.00%> (+1.41%)
:arrow_up:

src/types.ts
100.00% <100.00%> (ø)

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more

/publish

/publish

/publish

/publish

Using EventEmitter can be somewhat annoying if you are working on non-node platforms. I am not sure if EventTarget is any better in that regard. You can of course, but the more polyfills people need the more annoying things are. Sometimes it is better to just mirror some of that API.

Using EventEmitter can be somewhat annoying if you are working on non-node platforms. I am not sure if EventTarget is any better in that regard. You can of course, but the more polyfills people need the more annoying things are. Sometimes it is better to just mirror some of that API.

Yes, for web, we will probably have a completely separate SDK. To minimize dependencies, in my web SDK PoC, I've used window.dispatchEvent (see here). I've never really loved the ergonomics of that API, bit it works well-enough and I think reducing the need for polyfills is worth it.


[daef-57] add wallet deletion feature

This PR adds the wallet deletion feature to the settings page:

(note: i made the checkbox red after taking the screenshots)
Additionally this PR adds several re-usable improvements:

Introduced UiDialogsStore to manage active dialog visibility and data
The data handling of dialogs is greatly simplified with this change (no need to store properties on other stores)
Used a dedicated container component for the delete wallet dialog -> this means the other containers remain light-weight and we don't have to pass around so much data (please follow that in future PRs and let's refactor existing dialogs to this pattern.
Fixed the styling / proportions of dialogs in our app

Reviewing this now


Changed help message of --num-worker-threads flag

Description
Following #433 added a minor change in the help message of the flag.
Contribution checklist

[x] I have read the Contributing Guidelines.
[ ] The commits refer to an active issue in the repository.
[ ] I have added automated testing to cover this case.

 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.


Make Duration objects hashable

Duration objects are not currently hashable. I need them to be hashable because I'm using them in sets/dicts. This PR implements the __hash__() method and also adds the appropriate unit tests.

For reference, this is more or less how the official datetime module handles hashing (see here)

Thanks


Samsung note 10+ not recognised

Tried reconnecting but nothing happens, I opened the app and the window stays blank.

what laptop model is this?

MacBook pro-2019, it worked after an update (android & macos).

See if this version helps?
https://github.com/ganeshrvel/openmtp-testflight/blob/main/OpenMTP-3.2.0/OpenMTP-3.2.0-alpha.1-mac.zip

did the above version help you @Isumairuu ?


remove unused test fixtures and empty dirs

Gave this the 🟢 so you can work and auto merge when DCO passes =)


added cache for did-resolver

Wanted to use this new branch i created for the Pull request if thats ok

not to sure whether you meant for the test to be like this but is this what you meant?

im confused why integrity check failed as i just tested and they all passed

not to sure whether you meant for the test to be like this but is this what you meant?

Not quite, see PR https://github.com/TBD54566975/dwn-sdk-js/commit/4d5d983c23cb5f72459a98c3a84128b5af6913c6 for test example, basically you want to make sure resolution for the SAME DID doesn't call the resolver twice (i.e. once hitting the resolver, and once hitting the cache)

im confused why integrity check failed as i just tested and they all passed

Most likely because more code has been merged into main branch, and there is conflict with your PR (looks like just README.md for now). In case you didn't know, you can either run git commands and fix conflicts locally, or you can use the github UI to resole the conflicts.

this in reasonable shape now to merge?

@michaelneale need some amendments first ill do them now

@thehenrytsai sorry if i still dont understand but what i done was check cache to see if result is there and if not call resolver then store that result in cache

@Cxxshyy, I have gone ahead and made the changes I was thinking off to your PR: https://github.com/Cxxshyy/dwn-sdk-js/pull/1, please take a look and approve, then I can merge!

@thehenrytsai it is often possible to push directly to the @Cxxshyy#1 branch (yes - the remote branch! usually github allows it with forked PRs, which I know sounds weird but works the same as a branch based PR).

Wow, this is super weird (but also super cool) instead, would've have thought one would need explicit permission from the repo owner, I guess it's implied!! Merging it!


Added boolean option for parsing json arrays as clojure sets and support for clojure Ratio type

I often serialize clojure sets into json structures, and I'd find it very useful to have them parsed back as sets rather than arrays.
So I've added a boolean option to all parse functions (sets?, false by default), for parsing all json arrays as clojure sets: I've also added a test case, and everything seems to work fine.
Also, I've added support for Clojure Ratio type.
Hope you find it useful!

Hmm, I'm wondering if it might not be better to allow a rebindable generic function to perform on collections to allow people to coerce them into whatever they need to be returned. I'm not sure about adding an additional argument for sets?, then having someone else ask for one for list? or queue?. What do you think about this? I'd like to come up with a better way than continually adding arguments for supported return types.
I'm open to suggestions for how to go about this, lemme know what you think. In the meantime I'll cherry-pick the Ratio support, thanks!

That's a good point, the "sets?" boolean option was just a starting point and quick fix for my issue :)
I share your doubts, so following your thoughts about a generic function, what about providing such a function, accepting the key of the json array and returning the collection where array values will be coerced in, something like the following:
(defn array-coerce [array-key] (if (= "mySet" array-key) #{} []))
By the way, I'll send you a pull request later, so that yo can take a look ;)


[mainnet] processor crashes

dashboard.grid.tf
{"level":2,"time":1728447617618,"ns":"sqd:processor","msg":"14594904 / 14594904, rate: 0 blocks/sec, mapping: 1 blocks/sec, 11 items/sec, ingest: 62 blocks/sec, eta: 0s"}
{"level":2,"time":1728447622728,"ns":"sqd:processor","msg":"14594905 / 14594905, rate: 0 blocks/sec, mapping: 1 blocks/sec, 12 items/sec, ingest: 53 blocks/sec, eta: 0s"}
{"level":2,"time":1728447627257,"ns":"sqd:processor","msg":"14594906 / 14594906, rate: 0 blocks/sec, mapping: 1 blocks/sec, 12 items/sec, ingest: 54 blocks/sec, eta: 0s"}
{"level":2,"time":1728447637704,"ns":"sqd:processor","msg":"14594907 / 14594907, rate: 0 blocks/sec, mapping: 1 blocks/sec, 13 items/sec, ingest: 53 blocks/sec, eta: 0s"}
{"level":2,"time":1728447645523,"ns":"sqd:processor","msg":"14594908 / 14594908, rate: 0 blocks/sec, mapping: 1 blocks/sec, 11 items/sec, ingest: 54 blocks/sec, eta: 0s"}
{"level":2,"time":1728447650009,"ns":"sqd:processor","msg":"14594909 / 14594909, rate: 0 blocks/sec, mapping: 1 blocks/sec, 8 items/sec, ingest: 54 blocks/sec, eta: 0s"}
{"level":2,"time":1728447652335,"ns":"sqd:processor","msg":"14594910 / 14594910, rate: 0 blocks/sec, mapping: 1 blocks/sec, 9 items/sec, ingest: 69 blocks/sec, eta: 0s"}
{"level":2,"time":1728447657349,"ns":"sqd:processor","msg":"14594911 / 14594911, rate: 0 blocks/sec, mapping: 1 blocks/sec, 9 items/sec, ingest: 67 blocks/sec, eta: 0s"}
{"level":2,"time":1728447670716,"ns":"sqd:processor","msg":"14594912 / 14594912, rate: 0 blocks/sec, mapping: 0 blocks/sec, 8 items/sec, ingest: 68 blocks/sec, eta: 0s"}
{"level":2,"time":1728447672587,"ns":"sqd:processor","msg":"14594913 / 14594913, rate: 0 blocks/sec, mapping: 1 blocks/sec, 10 items/sec, ingest: 69 blocks/sec, eta: 0s"}
{"level":2,"time":1728447680099,"ns":"sqd:processor","msg":"14594914 / 14594914, rate: 0 blocks/sec, mapping: 1 blocks/sec, 10 items/sec, ingest: 67 blocks/sec, eta: 0s"}
{"level":2,"time":1728447682577,"ns":"sqd:processor","msg":"14594915 / 14594915, rate: 0 blocks/sec, mapping: 1 blocks/sec, 10 items/sec, ingest: 69 blocks/sec, eta: 0s"}
{"level":2,"time":1728447687438,"ns":"sqd:processor","msg":"14594916 / 14594916, rate: 0 blocks/sec, mapping: 1 blocks/sec, 10 items/sec, ingest: 70 blocks/sec, eta: 0s"}
{"level":2,"time":1728447757423,"ns":"sqd:processor","msg":"14594917 / 14594919, rate: 0 blocks/sec, mapping: 0 blocks/sec, 8 items/sec, ingest: 41 blocks/sec, eta: 14s"}
{"level":2,"time":1728447757832,"ns":"sqd:processor","msg":"14594918 / 14594927, rate: 0 blocks/sec, mapping: 0 blocks/sec, 8 items/sec, ingest: 42 blocks/sec, eta: 2m"}
{"level":2,"time":1728447758410,"ns":"sqd:processor","msg":"14594919 / 14594927, rate: 0 blocks/sec, mapping: 0 blocks/sec, 8 items/sec, ingest: 42 blocks/sec, eta: 56s"}
{"level":2,"time":1728447778220,"ns":"sqd:processor","msg":"14594927 / 14594929, rate: 0 blocks/sec, mapping: 0 blocks/sec, 8 items/sec, ingest: 80 blocks/sec, eta: 13s"}
{"level":2,"time":1728447794303,"ns":"sqd:processor","msg":"14594928 / 14594931, rate: 0 blocks/sec, mapping: 0 blocks/sec, 8 items/sec, ingest: 73 blocks/sec, eta: 20s"}
{"level":2,"time":1728447812762,"ns":"sqd:processor","msg":"14594929 / 14594934, rate: 0 blocks/sec, mapping: 0 blocks/sec, 7 items/sec, ingest: 92 blocks/sec, eta: 34s"}
{"level":2,"time":1728447849778,"ns":"sqd:processor","msg":"14594931 / 14594937, rate: 0 blocks/sec, mapping: 0 blocks/sec, 7 items/sec, ingest: 82 blocks/sec, eta: 43s"}
{"level":2,"time":1728447854505,"ns":"sqd:processor","msg":"14594934 / 14594943, rate: 0 blocks/sec, mapping: 0 blocks/sec, 7 items/sec, ingest: 92 blocks/sec, eta: 2m"}
{"level":2,"time":1728447856861,"ns":"sqd:processor","msg":"14594937 / 14594944, rate: 0 blocks/sec, mapping: 0 blocks/sec, 6 items/sec, ingest: 68 blocks/sec, eta: 46s"}
{"level":2,"time":1728447875187,"ns":"sqd:processor","msg":"14594943 / 14594945, rate: 0 blocks/sec, mapping: 0 blocks/sec, 7 items/sec, ingest: 93 blocks/sec, eta: 13s"}
{"level":2,"time":1728447875942,"ns":"sqd:processor","msg":"14594944 / 14594947, rate: 0 blocks/sec, mapping: 0 blocks/sec, 8 items/sec, ingest: 97 blocks/sec, eta: 19s"}
{"level":2,"time":1728447876528,"ns":"sqd:processor","msg":"14594945 / 14594947, rate: 0 blocks/sec, mapping: 1 blocks/sec, 10 items/sec, ingest: 107 blocks/sec, eta: 12s"}
{"level":2,"time":1728447877611,"ns":"sqd:processor","msg":"14594947 / 14594947, rate: 0 blocks/sec, mapping: 1 blocks/sec, 11 items/sec, ingest: 96 blocks/sec, eta: 0s"}
{"level":2,"time":1728447881686,"ns":"sqd:processor","msg":"14594948 / 14594948, rate: 0 blocks/sec, mapping: 1 blocks/sec, 11 items/sec, ingest: 84 blocks/sec, eta: 0s"}
{"level":2,"time":1728447886722,"ns":"sqd:processor","msg":"14594949 / 14594949, rate: 0 blocks/sec, mapping: 2 blocks/sec, 15 items/sec, ingest: 54 blocks/sec, eta: 0s"}
{"level":5,"time":1728447956571,"ns":"sqd:processor","err":{"query":"INSERT INTO \"node_contract\"(\"id\", \"grid_version\", \"contract_id\", \"twin_id\", \"node_id\", \"deployment_data\", \"deployment_hash\", \"number_of_public_i_ps\", \"state\", \"created_at\", \"solution_provider_id\", \"resources_used_id\") VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, DEFAULT) ON CONFLICT ( \"id\" ) DO UPDATE SET \"id\" = EXCLUDED.\"id\", \"grid_version\" = EXCLUDED.\"grid_version\", \"contract_id\" = EXCLUDED.\"contract_id\", \"twin_id\" = EXCLUDED.\"twin_id\", \"node_id\" = EXCLUDED.\"node_id\", \"deployment_data\" = EXCLUDED.\"deployment_data\", \"deployment_hash\" = EXCLUDED.\"deployment_hash\", \"number_of_public_i_ps\" = EXCLUDED.\"number_of_public_i_ps\", \"state\" = EXCLUDED.\"state\", \"created_at\" = EXCLUDED.\"created_at\", \"solution_provider_id\" = EXCLUDED.\"solution_provider_id\"","parameters":["0014594950-000837-077da",4,"686025",10972,730,"{\"version\":3,\"type\":\"vm\",\"name\":\"example_c1\",\"projectName\":\"vm/group_c\"}","1d188e89b23f4c17ab49c8eef7b68bca",0,"Created","1728447876",0],"driverError":{"length":180,"name":"error","severity":"ERROR","code":"P0001","where":"PL/pgSQL function reflect_node_contract_changes() line 42 at RAISE","file":"pl_exec.c","line":"3910","routine":"exec_stmt_raise","stack":"error: failed calc node_contracts_count deadlock detected\n    at /squid/node_modules/pg/lib/client.js:526:17\n    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n    at async PostgresQueryRunner.query (/squid/node_modules/typeorm/driver/postgres/PostgresQueryRunner.js:184:25)\n    at async InsertQueryBuilder.execute (/squid/node_modules/typeorm/query-builder/InsertQueryBuilder.js:106:33)\n    at async Store.upsert (/squid/node_modules/@subsquid/typeorm-store/lib/store.js:34:13)\n    at async contractCreated (/squid/lib/mappings/contracts.js:106:9)\n    at async /squid/lib/processor.js:138:13\n    at async TypeormDatabase.runTransaction (/squid/node_modules/@subsquid/typeorm-store/lib/database.js:110:13)\n    at async TypeormDatabase.transact (/squid/node_modules/@subsquid/typeorm-store/lib/database.js:64:24)\n    at async Runner.process (/squid/node_modules/@subsquid/substrate-processor/lib/processor/runner.js:117:17)"},"length":180,"severity":"ERROR","code":"P0001","where":"PL/pgSQL function reflect_node_contract_changes() line 42 at RAISE","file":"pl_exec.c","line":"3910","routine":"exec_stmt_raise","stack":"QueryFailedError: failed calc node_contracts_count deadlock detected\n    at PostgresQueryRunner.query (/squid/node_modules/typeorm/driver/postgres/PostgresQueryRunner.js:219:19)\n    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n    at async InsertQueryBuilder.execute (/squid/node_modules/typeorm/query-builder/InsertQueryBuilder.js:106:33)\n    at async Store.upsert (/squid/node_modules/@subsquid/typeorm-store/lib/store.js:34:13)\n    at async contractCreated (/squid/lib/mappings/contracts.js:106:9)\n    at async /squid/lib/processor.js:138:13\n    at async TypeormDatabase.runTransaction (/squid/node_modules/@subsquid/typeorm-store/lib/database.js:110:13)\n    at async TypeormDatabase.transact (/squid/node_modules/@subsquid/typeorm-store/lib/database.js:64:24)\n    at async Runner.process (/squid/node_modules/@subsquid/substrate-processor/lib/processor/runner.js:117:17)"}}
error Command failed with exit code 1.

https://dashboard.fin.grid.tf/
{"level":2,"time":1724901988152,"ns":"sqd:processor","msg":"14004551 / 14004551, rate: 0 blocks/sec, mapping: 3 blocks/sec, 31 items/sec, ingest: 51 blocks/sec, eta: 0s"}
{"level":2,"time":1724901993183,"ns":"sqd:processor","msg":"14004552 / 14004552, rate: 0 blocks/sec, mapping: 3 blocks/sec, 32 items/sec, ingest: 53 blocks/sec, eta: 0s"}
{"level":2,"time":1724902003199,"ns":"sqd:processor","msg":"14004553 / 14004553, rate: 0 blocks/sec, mapping: 3 blocks/sec, 24 items/sec, ingest: 54 blocks/sec, eta: 0s"}
{"level":2,"time":1724902008226,"ns":"sqd:processor","msg":"14004554 / 14004554, rate: 0 blocks/sec, mapping: 3 blocks/sec, 25 items/sec, ingest: 54 blocks/sec, eta: 0s"}
{"level":2,"time":1724902013252,"ns":"sqd:processor","msg":"14004555 / 14004555, rate: 0 blocks/sec, mapping: 3 blocks/sec, 25 items/sec, ingest: 55 blocks/sec, eta: 0s"}
{"level":2,"time":1724902018264,"ns":"sqd:processor","msg":"14004556 / 14004556, rate: 0 blocks/sec, mapping: 3 blocks/sec, 25 items/sec, ingest: 56 blocks/sec, eta: 0s"}
{"level":2,"time":1724902023717,"ns":"sqd:processor","msg":"14004557 / 14004557, rate: 0 blocks/sec, mapping: 2 blocks/sec, 25 items/sec, ingest: 53 blocks/sec, eta: 0s"}
{"level":2,"time":1724902033467,"ns":"sqd:processor","msg":"14004558 / 14004558, rate: 0 blocks/sec, mapping: 2 blocks/sec, 28 items/sec, ingest: 51 blocks/sec, eta: 0s"}
{"level":2,"time":1724902038496,"ns":"sqd:processor","msg":"14004559 / 14004559, rate: 0 blocks/sec, mapping: 2 blocks/sec, 24 items/sec, ingest: 53 blocks/sec, eta: 0s"}
{"level":2,"time":1724902043393,"ns":"sqd:processor","msg":"14004560 / 14004560, rate: 0 blocks/sec, mapping: 2 blocks/sec, 23 items/sec, ingest: 52 blocks/sec, eta: 0s"}
{"level":2,"time":1724902048518,"ns":"sqd:processor","msg":"14004561 / 14004561, rate: 0 blocks/sec, mapping: 2 blocks/sec, 23 items/sec, ingest: 51 blocks/sec, eta: 0s"}
{"level":2,"time":1724902053617,"ns":"sqd:processor","msg":"14004562 / 14004562, rate: 0 blocks/sec, mapping: 2 blocks/sec, 24 items/sec, ingest: 55 blocks/sec, eta: 0s"}
{"level":2,"time":1724902063461,"ns":"sqd:processor","msg":"14004563 / 14004563, rate: 0 blocks/sec, mapping: 2 blocks/sec, 22 items/sec, ingest: 57 blocks/sec, eta: 0s"}
{"level":2,"time":1724902068568,"ns":"sqd:processor","msg":"14004564 / 14004564, rate: 0 blocks/sec, mapping: 2 blocks/sec, 23 items/sec, ingest: 54 blocks/sec, eta: 0s"}
{"level":2,"time":1724902073531,"ns":"sqd:processor","msg":"14004565 / 14004565, rate: 0 blocks/sec, mapping: 2 blocks/sec, 26 items/sec, ingest: 53 blocks/sec, eta: 0s"}
{"level":2,"time":1724902078542,"ns":"sqd:processor","msg":"14004566 / 14004566, rate: 0 blocks/sec, mapping: 3 blocks/sec, 28 items/sec, ingest: 55 blocks/sec, eta: 0s"}
{"level":2,"time":1724902083584,"ns":"sqd:processor","msg":"14004567 / 14004567, rate: 0 blocks/sec, mapping: 3 blocks/sec, 34 items/sec, ingest: 51 blocks/sec, eta: 0s"}
{"level":2,"time":1724902093629,"ns":"sqd:processor","msg":"14004568 / 14004568, rate: 0 blocks/sec, mapping: 3 blocks/sec, 34 items/sec, ingest: 52 blocks/sec, eta: 0s"}
{"level":5,"time":1724902098908,"ns":"sqd:processor","err":{"query":"INSERT INTO \"node_contract\"(\"id\", \"grid_version\", \"contract_id\", \"twin_id\", \"node_id\", \"deployment_data\", \"deployment_hash\", \"number_of_public_i_ps\", \"state\", \"created_at\", \"solution_provider_id\", \"resources_used_id\") VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, DEFAULT) ON CONFLICT ( \"id\" ) DO UPDATE SET \"id\" = EXCLUDED.\"id\", \"grid_version\" = EXCLUDED.\"grid_version\", \"contract_id\" = EXCLUDED.\"contract_id\", \"twin_id\" = EXCLUDED.\"twin_id\", \"node_id\" = EXCLUDED.\"node_id\", \"deployment_data\" = EXCLUDED.\"deployment_data\", \"deployment_hash\" = EXCLUDED.\"deployment_hash\", \"number_of_public_i_ps\" = EXCLUDED.\"number_of_public_i_ps\", \"state\" = EXCLUDED.\"state\", \"created_at\" = EXCLUDED.\"created_at\", \"solution_provider_id\" = EXCLUDED.\"solution_provider_id\"","parameters":["0014004562-000074-6a173",4,"635087",10972,10,"{\"version\":3,\"type\":\"vm\",\"name\":\"dl_c9ptcij4x8\",\"projectName\":\"vm/dl_c9ptcij4x8\"}","8b935ee693f71ea5fbefab6ca19288f3",0,"Deleted","1724902038",0],"driverError":{"length":221,"name":"error","severity":"ERROR","code":"P0001","where":"PL/pgSQL function reflect_node_contract_changes() line 27 at RAISE","file":"pl_exec.c","line":"3909","routine":"exec_stmt_raise","stack":"error: failed reflecting node_contract updates could not serialize access due to concurrent update\n    at /squid/node_modules/pg/lib/client.js:526:17\n    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n    at async PostgresQueryRunner.query (/squid/node_modules/typeorm/driver/postgres/PostgresQueryRunner.js:184:25)\n    at async InsertQueryBuilder.execute (/squid/node_modules/typeorm/query-builder/InsertQueryBuilder.js:106:33)\n    at async Store.upsert (/squid/node_modules/@subsquid/typeorm-store/lib/store.js:34:13)\n    at async nodeContractCanceled (/squid/lib/mappings/contracts.js:239:5)\n    at async /squid/lib/processor.js:138:13\n    at async TypeormDatabase.runTransaction (/squid/node_modules/@subsquid/typeorm-store/lib/database.js:110:13)\n    at async TypeormDatabase.transact (/squid/node_modules/@subsquid/typeorm-store/lib/database.js:64:24)\n    at async Runner.process (/squid/node_modules/@subsquid/substrate-processor/lib/processor/runner.js:117:17)"},"length":221,"severity":"ERROR","code":"P0001","where":"PL/pgSQL function reflect_node_contract_changes() line 27 at RAISE","file":"pl_exec.c","line":"3909","routine":"exec_stmt_raise","stack":"QueryFailedError: failed reflecting node_contract updates could not serialize access due to concurrent update\n    at PostgresQueryRunner.query (/squid/node_modules/typeorm/driver/postgres/PostgresQueryRunner.js:219:19)\n    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n    at async InsertQueryBuilder.execute (/squid/node_modules/typeorm/query-builder/InsertQueryBuilder.js:106:33)\n    at async Store.upsert (/squid/node_modules/@subsquid/typeorm-store/lib/store.js:34:13)\n    at async nodeContractCanceled (/squid/lib/mappings/contracts.js:239:5)\n    at async /squid/lib/processor.js:138:13\n    at async TypeormDatabase.runTransaction (/squid/node_modules/@subsquid/typeorm-store/lib/database.js:110:13)\n    at async TypeormDatabase.transact (/squid/node_modules/@subsquid/typeorm-store/lib/database.js:64:24)\n    at async Runner.process (/squid/node_modules/@subsquid/substrate-processor/lib/processor/runner.js:117:17)"}}
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
error Command failed with exit code 1.

https://dashboard.be.grid.tf/
{"level":2,"time":1725078125098,"ns":"sqd:processor","msg":"14033895 / 14033895, rate: 0 blocks/sec, mapping: 1 blocks/sec, 11 items/sec, ingest: 79 blocks/sec, eta: 0s"}
{"level":2,"time":1725078130119,"ns":"sqd:processor","msg":"14033896 / 14033896, rate: 0 blocks/sec, mapping: 1 blocks/sec, 13 items/sec, ingest: 81 blocks/sec, eta: 0s"}
{"level":2,"time":1725078135075,"ns":"sqd:processor","msg":"14033897 / 14033897, rate: 0 blocks/sec, mapping: 1 blocks/sec, 13 items/sec, ingest: 79 blocks/sec, eta: 0s"}
{"level":2,"time":1725078140381,"ns":"sqd:processor","msg":"14033898 / 14033898, rate: 0 blocks/sec, mapping: 1 blocks/sec, 12 items/sec, ingest: 76 blocks/sec, eta: 0s"}
{"level":2,"time":1725078149895,"ns":"sqd:processor","msg":"14033899 / 14033899, rate: 0 blocks/sec, mapping: 1 blocks/sec, 15 items/sec, ingest: 51 blocks/sec, eta: 0s"}
{"level":2,"time":1725078155024,"ns":"sqd:processor","msg":"14033900 / 14033900, rate: 0 blocks/sec, mapping: 1 blocks/sec, 15 items/sec, ingest: 46 blocks/sec, eta: 0s"}
{"level":2,"time":1725078159888,"ns":"sqd:processor","msg":"14033901 / 14033901, rate: 0 blocks/sec, mapping: 2 blocks/sec, 15 items/sec, ingest: 40 blocks/sec, eta: 0s"}
{"level":2,"time":1725078229754,"ns":"sqd:processor","msg":"14033902 / 14033904, rate: 0 blocks/sec, mapping: 0 blocks/sec, 9 items/sec, ingest: 24 blocks/sec, eta: 14s"}
{"level":2,"time":1725078230352,"ns":"sqd:processor","msg":"14033903 / 14033912, rate: 0 blocks/sec, mapping: 0 blocks/sec, 9 items/sec, ingest: 23 blocks/sec, eta: 2m"}
{"level":2,"time":1725078230941,"ns":"sqd:processor","msg":"14033904 / 14033913, rate: 0 blocks/sec, mapping: 0 blocks/sec, 9 items/sec, ingest: 25 blocks/sec, eta: 2m"}
{"level":2,"time":1725078246397,"ns":"sqd:processor","msg":"14033912 / 14033914, rate: 0 blocks/sec, mapping: 0 blocks/sec, 9 items/sec, ingest: 56 blocks/sec, eta: 13s"}
{"level":2,"time":1725078259299,"ns":"sqd:processor","msg":"14033913 / 14033915, rate: 0 blocks/sec, mapping: 0 blocks/sec, 9 items/sec, ingest: 53 blocks/sec, eta: 13s"}
{"level":2,"time":1725078270849,"ns":"sqd:processor","msg":"14033914 / 14033917, rate: 0 blocks/sec, mapping: 0 blocks/sec, 10 items/sec, ingest: 78 blocks/sec, eta: 20s"}
{"level":2,"time":1725078280516,"ns":"sqd:processor","msg":"14033915 / 14033919, rate: 0 blocks/sec, mapping: 0 blocks/sec, 10 items/sec, ingest: 76 blocks/sec, eta: 26s"}
{"level":2,"time":1725078291325,"ns":"sqd:processor","msg":"14033917 / 14033921, rate: 0 blocks/sec, mapping: 0 blocks/sec, 10 items/sec, ingest: 88 blocks/sec, eta: 26s"}
{"level":2,"time":1725078292292,"ns":"sqd:processor","msg":"14033919 / 14033923, rate: 0 blocks/sec, mapping: 0 blocks/sec, 10 items/sec, ingest: 59 blocks/sec, eta: 26s"}
{"level":2,"time":1725078293118,"ns":"sqd:processor","msg":"14033921 / 14033923, rate: 0 blocks/sec, mapping: 0 blocks/sec, 11 items/sec, ingest: 84 blocks/sec, eta: 12s"}
{"level":2,"time":1725078294225,"ns":"sqd:processor","msg":"14033923 / 14033923, rate: 0 blocks/sec, mapping: 0 blocks/sec, 13 items/sec, ingest: 108 blocks/sec, eta: 0s"}
{"level":2,"time":1725078297646,"ns":"sqd:processor","msg":"14033924 / 14033924, rate: 0 blocks/sec, mapping: 1 blocks/sec, 15 items/sec, ingest: 139 blocks/sec, eta: 0s"}
{"level":2,"time":1725078302733,"ns":"sqd:processor","msg":"14033925 / 14033925, rate: 0 blocks/sec, mapping: 2 blocks/sec, 24 items/sec, ingest: 137 blocks/sec, eta: 0s"}
{"level":2,"time":1725078307837,"ns":"sqd:processor","msg":"14033926 / 14033926, rate: 0 blocks/sec, mapping: 2 blocks/sec, 27 items/sec, ingest: 99 blocks/sec, eta: 0s"}
{"level":2,"time":1725078317928,"ns":"sqd:processor","msg":"14033927 / 14033927, rate: 0 blocks/sec, mapping: 2 blocks/sec, 27 items/sec, ingest: 76 blocks/sec, eta: 0s"}
{"level":2,"time":1725078322943,"ns":"sqd:processor","msg":"14033928 / 14033928, rate: 0 blocks/sec, mapping: 3 blocks/sec, 21 items/sec, ingest: 59 blocks/sec, eta: 0s"}
{"level":2,"time":1725078328106,"ns":"sqd:processor","msg":"14033929 / 14033929, rate: 0 blocks/sec, mapping: 2 blocks/sec, 26 items/sec, ingest: 58 blocks/sec, eta: 0s"}
{"level":2,"time":1725078333048,"ns":"sqd:processor","msg":"14033930 / 14033930, rate: 0 blocks/sec, mapping: 2 blocks/sec, 25 items/sec, ingest: 57 blocks/sec, eta: 0s"}
{"level":2,"time":1725078343023,"ns":"sqd:processor","msg":"14033931 / 14033931, rate: 0 blocks/sec, mapping: 2 blocks/sec, 22 items/sec, ingest: 53 blocks/sec, eta: 0s"}
{"level":2,"time":1725078348164,"ns":"sqd:processor","msg":"14033932 / 14033932, rate: 0 blocks/sec, mapping: 2 blocks/sec, 25 items/sec, ingest: 57 blocks/sec, eta: 0s"}
{"level":5,"time":1725078368509,"ns":"sqd:processor","err":{"query":"INSERT INTO \"node_contract\"(\"id\", \"grid_version\", \"contract_id\", \"twin_id\", \"node_id\", \"deployment_data\", \"deployment_hash\", \"number_of_public_i_ps\", \"state\", \"created_at\", \"solution_provider_id\", \"resources_used_id\") VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, DEFAULT) ON CONFLICT ( \"id\" ) DO UPDATE SET \"id\" = EXCLUDED.\"id\", \"grid_version\" = EXCLUDED.\"grid_version\", \"contract_id\" = EXCLUDED.\"contract_id\", \"twin_id\" = EXCLUDED.\"twin_id\", \"node_id\" = EXCLUDED.\"node_id\", \"deployment_data\" = EXCLUDED.\"deployment_data\", \"deployment_hash\" = EXCLUDED.\"deployment_hash\", \"number_of_public_i_ps\" = EXCLUDED.\"number_of_public_i_ps\", \"state\" = EXCLUDED.\"state\", \"created_at\" = EXCLUDED.\"created_at\", \"solution_provider_id\" = EXCLUDED.\"solution_provider_id\"","parameters":["0014033933-000242-d071b",4,"638332",10972,1754,"{\"version\":3,\"type\":\"vm\",\"name\":\"example_c11\",\"projectName\":\"vm/group_c\"}","5fdcf2571a269cefd48a707552afc56a",0,"Created","1725078336",0],"driverError":{"length":214,"name":"error","severity":"ERROR","code":"P0001","where":"PL/pgSQL function reflect_node_contract_changes() line 42 at RAISE","file":"pl_exec.c","line":"3909","routine":"exec_stmt_raise","stack":"error: failed calc node_contracts_count could not serialize access due to concurrent update\n    at /squid/node_modules/pg/lib/client.js:526:17\n    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n    at async PostgresQueryRunner.query (/squid/node_modules/typeorm/driver/postgres/PostgresQueryRunner.js:184:25)\n    at async InsertQueryBuilder.execute (/squid/node_modules/typeorm/query-builder/InsertQueryBuilder.js:106:33)\n    at async Store.upsert (/squid/node_modules/@subsquid/typeorm-store/lib/store.js:34:13)\n    at async contractCreated (/squid/lib/mappings/contracts.js:106:9)\n    at async /squid/lib/processor.js:138:13\n    at async TypeormDatabase.runTransaction (/squid/node_modules/@subsquid/typeorm-store/lib/database.js:110:13)\n    at async TypeormDatabase.transact (/squid/node_modules/@subsquid/typeorm-store/lib/database.js:64:24)\n    at async Runner.process (/squid/node_modules/@subsquid/substrate-processor/lib/processor/runner.js:117:17)"},"length":214,"severity":"ERROR","code":"P0001","where":"PL/pgSQL function reflect_node_contract_changes() line 42 at RAISE","file":"pl_exec.c","line":"3909","routine":"exec_stmt_raise","stack":"QueryFailedError: failed calc node_contracts_count could not serialize access due to concurrent update\n    at PostgresQueryRunner.query (/squid/node_modules/typeorm/driver/postgres/PostgresQueryRunner.js:219:19)\n    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n    at async InsertQueryBuilder.execute (/squid/node_modules/typeorm/query-builder/InsertQueryBuilder.js:106:33)\n    at async Store.upsert (/squid/node_modules/@subsquid/typeorm-store/lib/store.js:34:13)\n    at async contractCreated (/squid/lib/mappings/contracts.js:106:9)\n    at async /squid/lib/processor.js:138:13\n    at async TypeormDatabase.runTransaction (/squid/node_modules/@subsquid/typeorm-store/lib/database.js:110:13)\n    at async TypeormDatabase.transact (/squid/node_modules/@subsquid/typeorm-store/lib/database.js:64:24)\n    at async Runner.process (/squid/node_modules/@subsquid/substrate-processor/lib/processor/runner.js:117:17)"}}
error Command failed with exit code 1.

..

it was related to gridproxy issue which is fixed in this version update here https://github.com/threefoldtech/tf_operations/issues/2824#


Feature Request

Skywar/Skyblock/Bedwars stats check.
I see this feature in some paid checkers,it can output the levels and coins of bedwars,skyblock and skywars if they reach the set vaule.
Your checker is really good.Thank you!

Another suggestion
If due to network reasons, such as a connection timeout or blocked proxy,some combos are not checked.
Please do not classify these combos as "Bad", but "Error".

Another suggestion
If due to network reasons, such as a connection timeout or blocked proxy,some combos are not checked.
Please do not classify these combos as "Bad", but "Error".

I already did

Skywar/Skyblock/Bedwars stats check.
I see this feature in some paid checkers,it can output the levels and coins of bedwars,skyblock and skywars if they reach the set vaule.
Your checker is really good.Thank you!

Maybe in the future

Added in 0.7


Update and rename landing-page.html to index.html

The webpage is working nicely and it was a better idea about renaming the file name . Nice work


GPD Win Max 2 2023: synchronize with upstream changes, initialize BMI260 driver

Description of changes

Synchronize with upstream changes

Remove udev rule disabling PCI wakeup. It's already fixed in linux kernel mainline and backported https://github.com/torvalds/linux/commit/805c74eac8cb306dc69b87b6b066ab4da77ceaf1

Initialize BMI260 driver

found in https://chromium.googlesource.com/chromiumos/platform/ec/+/master/driver/accelgyro_bmi260.h
repacked in https://github.com/hhd-dev/bmi260

I'm not sure where the BMI260 driver should be. I don't know if there's other device with NixOS users also use the BMI260. Seems it's too niche to package in nixpkgs. So I just put it here. I'm glad to discuss it.
Things done

[x] Tested the changes in your own NixOS Configuration
[x] Tested the changes end-to-end by using your fork of nixos-hardware and
importing it via <nixos-hardware> or Flake input

@mergify queue


Not DnD5e 4/DnDe24 compatible.

The module loads and give the ability to add 10 levels of exhaustion but is not overriding the 5e24 rules of -2x to abilities, attacks, etc and reduced walk speed.

I don't think maintaining this module is worth it with the '24 rules released. Those who want similar-ish rules can use the '24 rules, and otherwise there's a lot of added complexity to make this compatible with the newest version according to their various settings.
This was a small module intended to allow users to make use of the playtest exhaustion rules since those got scrapped, and since the system has plenty of support for similar rules now, I'm not gonna be able to justify the effort.
I will push an update to set the system maximum to v3.3.1.


Storage File Datalake test (test_list_paths_with_max_per_page) improvement

Test Link:

Reason:
For method test_list_paths_with_max_per_page  in azure-storage-file-datalake , there are two output cases about list the paths (directories name):
Case 1 : generator1 - dir10, dir11 ; generator2 -  dir10, dir11, dir12, dir13 (generator2 start from the begin again)
Case 2 : generator1 - dir10, dir11 ; generator2 -  dir12, dir13, dir14, dir15
Suggestion:
Both cases would pass. Case 2 are expected results. Suggest to verify the first element of generator2 too.
adding one more assert to the end:
self.assertEqual(paths2[0].name, "dir12")
@jameszliao-msft , @lmazuel, @kyle-patterson, @tg-msft, @amishra-dev for notification.

@jameszliao-msft , @lmazuel, @kyle-patterson, @tg-msft, @amishra-dev  Do you have any ideas about this issue?

@jameszliao-msft , @lmazuel, @kyle-patterson, @tg-msft, @amishra-dev Do you have any ideas about this issue?

@tasherif-msft  Do you have any thoughts or progress on this issue?

@tasherif-msft Do you have any progress on this issue?


你干嘛！！！

When the author attends the court hearing,  bring along his codes and paper as evidence.

哎呦～


Why ensure => 'stopped' is not available for the Postgres server?

Is there a reason why the ensure property for the postgresql::server class does not allow to force a Postgres server to be there but not running?
Maybe it is there and I am looking at the wrong options. In that case, I apologise in advance. Thank you.

Hello! We are doing some house keeping and noticed that this issue has been open for a long time.
We're going to close it but please do raise another issue if the issue still persists. 😄


Builtin.Log: logging html to parent keyword context

when creating screenshots i'd like to be able to embedd the html link into the log of a parent keyword,
or even the test suite context directly in order to avoid having to navigate the keyword log tree

Did you consider using  Suite Metadata for that purpose?
You could create a custom keyword that does both the screenshot and set the path of the screenshot in the suite metadata. Something along those lines:
*** Keywords ***
custom capture
    [Arguments]  ${path}
    Capture Page Screenshot  ${path}
    Set Suite Metadata  Screenshot Path  ${path}

when more than one test fails it startsto create trouble, i cant see a per test thing - ideal case would be adding custom per test html thats direcly put under the expandable keyword logs or something in that manner

Could you use test documentation or message for this purpose?

No comments since January. Closing.

managed to miss the question
test documentation cant dynamically generate output
im not sure how message would help,
right now i have to navigate down a tree of passed keywords to get at the screenshots i logged

You can set test's documentation and message dynamically with BuiltIn Set Test Documentation and Set Test Message keywords, respectively. Documentation supports Robot's own wiki-like syntax and messages can be defined as HTML.


Couldn’t resolve the DNS address for...

Operation System: Windows 10
Beaker version:  -
At a first glance, Beaker Browser looks great! I got it working with a site that I am developing although it has since stopped working and now says “Couldn’t resolve the DNS address for...”. I am able to load other sites though. I have looked at the settings, cleared the history/cache but to no avail. Any ideas?
Anyway, while i'm here, there's a few questions I'd like to ask....

Has anyone used GunDB (gun.eco)?  GunDB is an “eventually consistent” P2P graph database engine, which resolves merge conflicts using string comparison. It is lightweight (just one js file) and has a relatively simple syntax (similar to Firebase). Would there be any benefits of using (or possibly integrating) GunDB with Beaker?

I'm really interested in Tim Berners-lee's Solid project. Could something like this be done using Beaker? Has anyone looked into it? I read that some of the people using GunDB are already looking into this. Is it worth collaborating with them? I'm working on a social media application that is designed to give communities political independence. https://github.com/glensimister/givemecredit.  However, there's no point doing the social media stuff myself since other people have already done this, a thousand times before. I'd rather just aggregate data from multiple platforms using a REST API. What social media platforms have been developed on Beaker so far? I've seen Fritter. Anything else? What about Minds.com? It is open-source and has crypto built into it. It is currently hosted on Amazon Web Services (AWS) and is built using  MongoDB, NodeJS, Socket, OpenSSL, Ethereum, etc. Can we port Minds onto Beaker to make it truly decentralized?

One thing that I am surprised about is the lack of ratings/comments features on web browsers. I have designed a basic extension (screenshot at the link above) which allows people to like, dislike, flag, tip and comment on anything, anywhere. To me, these things seem like important features which could also serve as the back-bone of a search engine. I haven't done any of the back-end code yet because I'm not a back-end coder. Not only that but I still haven't decided which technologies/platforms to use yet. One obvious problem is that in order for it to be of any use, it would require a large percentage of users to participate, which would generate large volumes data unless users were able to store only their likes/dislikes/comments etc. Anyway, does anyone have any plans to do something like this?

I don't mean this as an insult, but there seems to be an overall lack of collaboration in the decentralised tech scene. Everybody is doing their own thing, which is great, and I appreciate their work, but would it not help to work together a bit more? One thing that I would suggest to start with is to get all of these projects on the same forum – each with their own category. Thanks!

I'd need more information to answer you question about the DNS issue. Any more you can share?
I don't have a lot of time to respond to your points, so I'll just give a quick rundown: we currently don't need any other tech and we collaborate whenever we think it'll benefit the Beaker community. Some things just take time.


Update maintainers list

Alpha sort, remove Gerrit pointer

why isn't there an approve button...? Why do I have to go into a review menu?

no idea, you should see one

I realize we link to the Fabric maintainers file and talk about a release manager, both of which don't apply for the EVM. I can remove it in a followup PR if you agree @MHBauer

I can update my PR if you like

Not terribly concerned with staying or going. I do not know why the wording was present initially.
Probably good to have some link to a project with more people involved.
At this point, I'd say take it out. We can modify it or an update can be pushed.

OK. I removed the CODEOWNERS change and kept the MAINTAINERS change, with the removal of the pointer to the other team


add table that maps nft token ID to URI

Can populate table via initial state download, and then update whenever new tokens are created

@ledhed2222 any ideas/progress around this?


Update installation.md

Homebrew -> Homebrew-Cask

Waiting for approval to test from a maintainer.

Would this make more sense as Homebrew and Homebrew-Cask? The caskroom homepage seems to assume you already have Homebrew installed.

The homepage is technically out of date - Homebrew now automatically taps Homebrew Cask, so a user with Homebrew doesn't need to do anything extra to get brew cask working - but we are still separate projects with (slightly) different goals, etc.
That being said, looking back at the wording, I actually agree that just saying Homebrew is probably more intuitive from a user's POV, so I'll go ahead and close out the PR.


Support some common alternative names for standard files.

This changes Stdext.Path.find_files to accept a list of alternative
names and adds the alternatives

COPYING and COPYING.LESSER for license, and
ChangeLog for changes.

My motivation for the former is the GNU conversion for naming the license file(s).  The second is a fairly common convention which I used previously, though I don't mind if we drop it from this PR.
Note that the change to find_files breaks backwards compatibility for the library. Should we do it differently?

Force-pushed a fix of the @fmt target.


1263 instructions for protobuf generation inadequate

Description
This removes some commenting made in network_protocol.proto which outline how to generate network protocols on a Mac. These instructions were translated to Linux and incorporated in common.sh, controller.sh, and gui.sh as user commands ("generate_network_protocols"). Additionally, the installation of relevant software for network protocol generation were added to the install function of each shell file to ensure the user has the proper, up-to-date version of the software installed.
Additionally, the output files generated are now kept local, rather than committed to the repository. The current output files that were in the repository have been removed, and the path has been added to the .gitignore, so they shouldn't be committed.
Self-review checklist:

[x] Self-review: looked through the Files changed tab, browsed repository in branch
[x] Documentation updated - reflects changes in code, electrical or mechanical design
[x] Documentation and graphics follow the documentation style guide
[x] New content is linked, easily discoverable, does not require too many clicks
[x] Follows other relevant parts of contributor wiki
[x] PR has a descriptive name
[x] Tagged relevant reviewers

Software only:

[x] Follows our code style
[x] Commented code, particularly in hard-to-understand areas
[ ] All tests pass - new and old, locally and on CI
[x] No new warnings or static check failures
[x] Tests that prove fix is effective or new feature works
[x] Manual tests are explained, with instructions for reproducing them

CAD / mechanical only:

[ ] Follows our mechanical engineering standards
[ ] Everything is metric and ISO where possible
[ ] All features and constraints are named
[ ] Imported parts are well-named, with source URL and iProperties
[ ] Screenshots and/or assembly photos updated

 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.

Superseded by #1299


support multiple header values

Signed-off-by: Tarun Sharma<EMAIL_ADDRESS>
Commit Message: support multiple header values
Additional Description: #13454
Risk Level: N/A
Testing: locally
Docs Changes: N/A
Release Notes: N/A
Platform Specific Features: N/A

/retest

/assign @lizan

/assign
/wait

/retest

Thanks, some minor comments are added. And we can fix the format error by the ci/do_ci.sh fix_format.
/wait

@wbpcode hey i did run this cmd before committing and also this ci/run_envoy_docker.sh 'ci/do_ci.sh format_pre  and its running without error locally !! ?

@wbpcode hey i did run this cmd before committing and also this ci/run_envoy_docker.sh 'ci/do_ci.sh format_pre and its running without error locally !! ?

Then do you push the latest commits? You can check the CI detail log to get more info about the format error:
##[error]: mixed tabs and spaces: source/extensions/access_loggers/grpc/http_grpc_access_log_impl.cc
##[error]: mixed tabs and spaces: test/extensions/access_loggers/grpc/http_grpc_access_log_impl_test.cc

made another commit with all these and ran all these cmds and no errors locally.

Hi, @ME-ON1 , can you check the lastest comments. 🤣

@wbpcode as a reminder if you /wait or tag as waiting (when PRs are waiting for author work) this won't nag you or us in tooling :-)
/wait

/assign-from @envoyproxy/envoy-maintainers

@lizan can you take a pass on this?

Seems like this one is waiting for a release note to be added?
/wait

You may need add one line note at the docs/root/version_history/current.rst#Minor Behavior Changes to record your changes.
For example:
* access_log: log all header values in the grpc access log.

Note: Pay attention to the order of the notes.

@wbpcode @lizan PTAL

Friendly ping @lizan PTAL for this PR, thanks. 😄


Allow highlightAll to be used with custom selectors

Properly resolves #945 for non-technical users (such as those using highlight.js via a WordPress plugin)
Changes

This pull request adds an optional parameter to highlightAll(), which can make it use a query selector other than pre code. It does not change any existing behavior of the software.
Checklist

[ ] I got Error: Cannot find module 'commander' when trying to run the tests; I believe the documentation on how to run these tests may be incomplete.
[ ] Updated the changelog at CHANGES.md

I could not identify which section of the changelog to file this under, either:
This wasn't a deprecation or removal; I'm unclear if it's big enough to bother listing as an API change high-level bullet; it doesn't belong under security, themes, language grammars, parser, grammars, new languages, theme improvements, new themes, or dev improvements (that last one looks like it's to do with changes to your in-house tooling system.)
It's a tiny, optional, backwards-compatible, mostly-user-facing enhancement. But it looks like that's not currently a header/category in the changelog. Should I create it?

This type of item would fall under parser, that's the catch all for overall improvements to the parser, it's API, config, etc...

While selector does seem a natural choice [as an argument] here one could also suggest that other items pertaining directly to how we perform "highlight all" (such as noHighlightRe, classPrefix) might be useful to pass as well, but that is not desirable. We'd prefer to keep this API clean and simple.  Configuration should happen via our configure API, ie:
hljs.configure({cssSelector: "code"});
hljs.highlightAll();

Are you willing to re-work your PR to instead add a cssSelector configuration option?

It's then also worth discussing if our default CSS may need to be changed to offer both the pre code and code variants of the top-level .hljs selector.

It's then also worth discussing if our default CSS may need to be changed to offer both the a pre code and code variant of the top-level .hljs selector.

Yes, I think that may also require a lot of refactoring.
I'm currently jury-rigging it with a :not selector, but this just screams "FIXME":
code.hljs:not(pre>code) {
  padding: initial;
  display: initial;
}

(This may be idiopathic to WordPress, which has a sort of "convention" — and by "sort of", I mean it's nearly immutably how the HTML is operated while using the software — that Block <code> elements are always designated by being wrapped in <pre>, and that their Inline counterparts are designated by nothing more than not being so wrapped.)

Configuration should happen via our existing configure API, ie:
hljs.configure({cssSelector: "code"});
hljs.highlightAll();

Are you willing to re-work your PR to instead add a cssSelector configuration option?

Certainly! Since I'm currently unfamiliar with your API, you've done 90% of the work for me just there by defining the implementation! :grin: (I've just pushed the changes; how do they look?)

that Block  elements are always designated by being wrapped in , and that their Inline counterparts are designated by nothing more than not being so wrapped.)

That sounds 100% semantically correct to me.  So why can't that just be accomplished with two rules?
pre code.hljs {
  display: block;
  overflow-x: auto;
  padding: 0.5em;
}

code.hljs {
  padding: ...;
}

The block level items then only apply to pre/code as they should... and we only add a small amount of padding to inline elements.

to remove display: block; from the bare .hljs rule

I don't think we need a separate PR for that, the scope of this one is small enough to finish this work I think.
This will merit a mention in breaking changes now since it would break anyone using div.hljs or something weird (they'll need to update their CSS)... but I can handle that if you don't know where to put it.

Yeah, I could use a hand with the documentation / I'm not qualified to tear down chesterton's fence in this case; thanks.


TestGetRemoteEntrypoint makes real HTTP requests

Expected Behavior
I can run Go tests without a connection to the internet.
Actual Behavior
TestGetRemoteEntrypoint panics because the registry can't be found, and the error doesn't result in a t.Fatal
Steps to Reproduce the Problem

Disconnect wifi
go test ./...

Additional Info
This test would also fail if the Kaniko image changed its entrypoint.
Unit tests shouldn't depend on external state. Instead, HTTP requests should be mocked out in the client, or even better, the image should be served from a local HTTP server that's spun up in the test, using net/http/httptest.

/assign

That was amazing turnaround time @vdemeester XD!!!


Column Count differs between tab and space characters

Working in a .jade template, the column position can be very important to keep track of. I had an indentation error come back from the compiler, so I had to go through the file line by line in order to compare the position of my line indents.
What I noticed, is that the column count can be different depending on if user uses a tab vs a space.
So for example,

you can see from this that line 9 begins at column 3
however if I backspace the tab character (which is the whitespace char leading line 9) -- and then replace this whitespace char with spaces (spacebar), then column position is 4, not three

so you can see i did the aforementioned on line 8, deleting tab character and replacing with spacebar spaces...
col position is 4 under this use case
please address this so that column count is found uniformly, it would make it much easier to troubleshoot
files where indentation and whitespace affect whether or not code is runnable

Or maybe there is some method to the madness here? Like maybe this is intentional to let user know when a tab vs spaces are used? Turning on invisible characters does help a lot my personal indent sorting issue, but i thought i would make an issue here anyway, as it seems counter-intuitive to have column position changes based on whitepsace char

Closing in favor of atom/status-bar#170.


fix: Component Governance: CVE-2021-31957

Fixes #minor
Description
Component Governance: CVE-2021-31957, severity high
https://dev.azure.com/FuseLabs/SDK_Public/_componentGovernance/143548/alert/5891813?typeId=2307558
"a vulnerability in .NET 5.0 and .NET Core 3.1...A denial of service vulnerability exists when ASP.NET Core improperly handles client disconnect."
"If you're using .NET 5.0, you should download and install Runtime 5.0.7 or SDK 5.0.204 (for Visual Studio 2019 v16.8) or SDK 5.0.301 (for Visual Studio 2019 16.10)
If you're using .NET Core 3.1, you should download and install Runtime 3.1.16 or SDK 3.1.116 (for Visual Studio 2019 v16.4) or 3.1.410 (for Visual Studio 2019 v16.5 or later)"
/s/tests/Adapters/Microsoft.Bot.Builder.Adapters.Twilio.TestBot/Microsoft.Bot.Builder.Adapters.Twilio.TestBot.csproj
..was showing: Include="Microsoft.AspNetCore.Mvc.NewtonsoftJson" Version="3.1.1"
I updated it to Version="3.1.20".
Specific Changes
Update reference "Microsoft.AspNetCore.Mvc.NewtonsoftJson" Version="3.1.1" to Version="3.1.20".

Pull Request Test Coverage Report for Build 272434

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.01%) to 78.209%

Totals

Change from base Build 271936:
0.01%

Covered Lines:
23925

Relevant Lines:
30591

💛  - Coveralls


Rename parameter "Exchange-current density for plating" to "Exchange-current density for lithium-metal electrode"

Description
Closes #3428, adds a check for the use of the "Exchange-current density for plating [A.m-2]" parameter because it is to be renamed to "Exchange-current density for lithium-metal electrode [A.m-2]"
Type of change
Please add a line in the relevant section of CHANGELOG.md to document the change (include PR #) - note reverse order of PR #s. If necessary, also add to the list of breaking changes.

[x] Bug fix (non-breaking change which fixes an issue)

Key checklist:

[x] No style issues: $ pre-commit run (or $ nox -s pre-commit) (see CONTRIBUTING.md for how to set this up to run automatically when committing locally, in just two lines of code)
[x] All tests pass: $ python run-tests.py --all (or $ nox -s tests)
[x] The documentation builds: $ python run-tests.py --doctest (or $ nox -s doctests)

You can run integration tests, unit tests, and doctests together at once, using $ python run-tests.py --quick (or $ nox -s quick).
Further checks:

[x] Code is commented, particularly in hard-to-understand areas
[x] Tests added that prove fix is effective or that feature works

Tagging @Saransh-cpp as this should be included in the release

There is a reference for "plating" here
https://github.com/pybamm-team/PyBaMM/blob/4f5d8051c2acfa18112a95fc554377605844f1d0/pybamm/input/parameters/lithium_ion/OKane2022_graphite_SiOx_halfcell.py#L402-L403
however, another reference for "lithium metal electrode" exists here
https://github.com/pybamm-team/PyBaMM/blob/4f5d8051c2acfa18112a95fc554377605844f1d0/pybamm/input/parameters/lithium_ion/OKane2022_graphite_SiOx_halfcell.py#L456-L457
which one should I keep or modify?

There is a reference for "plating" here
https://github.com/pybamm-team/PyBaMM/blob/4f5d8051c2acfa18112a95fc554377605844f1d0/pybamm/input/parameters/lithium_ion/OKane2022_graphite_SiOx_halfcell.py#L402-L403
however, another reference for "lithium metal electrode" already exists here
https://github.com/pybamm-team/PyBaMM/blob/4f5d8051c2acfa18112a95fc554377605844f1d0/pybamm/input/parameters/lithium_ion/OKane2022_graphite_SiOx_halfcell.py#L456-L457
which one should I keep or modify?

Both, one is for the plating on the lithium meta electrode and the other is for plating in a porous electrode
Tagging @DrSOKane to make sure the changes get made correctly

Makes sense, we would have to rename one of them to keep both of them though because we can't have duplicate keys

Sorry instructions weren't clear on how to fix this, I'll open a new PR with the fix