Failed Sell Order Submission on Kucoin: KeyError in Exchange API Handling

Describe the bug
I'm doing liquidity mining on XDC-USDT / Kucoin, and after some minutes I start getting from telegram an API warning:

After doing some log research, I got this traceback:
2024-01-09 21:00:33,680 - 16 - hummingbot.connector.exchange.kucoin.kucoin_exchange.KucoinExchange - WARNING - Failed to submit SELL order to Kucoin. Check API key and network connection.
2024-01-09 21:00:33,681 - 16 - hummingbot.strategy.script_strategy_base - INFO - Creating XDC-USDT sell order: price: NaN amount: 4067.3520.
2024-01-09 21:00:33,682 - 16 - hummingbot.smart_components.executors.position_executor.position_executor - INFO - Placing close order --> Filled amount: 4067.3520 | TP Partial execution: 0
2024-01-09 21:00:33,684 - 16 - hummingbot.core.event.event_reporter - EVENT_LOG - {"timestamp":<PHONE_NUMBER>.0, "order_id": "SXCUT60e899af96e2bf66f1ba71b694d55764a96", "order_type": "OrderType.MARKET", "event_name": "MarketOrderFailureEvent", "event_source": "kucoin"}
2024-01-09 21:00:33,684 - 16 - hummingbot.connector.client_order_tracker - INFO - Order SXCUT60e899af96e2bf66f1ba71b694d55764a96 has failed. Order Update: OrderUpdate(trading_pair='XDC-USDT', update_timestamp=1704834033.0, new_state=<OrderState.FAILED: 6>, client_order_id='SXCUT60e899af96e2bf66f1ba71b694d55764a96', exchange_order_id=None, misc_updates=None)
2024-01-09 21:00:33,962 - 16 - hummingbot.connector.exchange.kucoin.kucoin_exchange.KucoinExchange - NETWORK - Error submitting sell MARKET order to Kucoin for 4067.3520 XDC-USDT NaN.
Traceback (most recent call last):
  File "/home/hummingbot/hummingbot/connector/exchange_py_base.py", line 452, in _create_order
    await self._place_order_and_process_update(order=order, **kwargs,)
  File "/home/hummingbot/hummingbot/connector/exchange_py_base.py", line 469, in _place_order_and_process_update
    exchange_order_id, update_timestamp = await self._place_order(
  File "/home/hummingbot/hummingbot/connector/exchange/kucoin/kucoin_exchange.py", line 217, in _place_order
    return str(exchange_order_id["data"]["orderId"]), self.current_timestamp
KeyError: 'data'

Steps to reproduce

Build Hummingbot dev-1.24.0 image locally
Load the following script: https://gist.github.com/tomasgaudino/44a9ad5d57fe4ca0f56556396d4d9bae
Dman v4 controller has no changes from actual source code
Run Hummingbot with Docker
Start provided script on XDC-USDT and SWASH-USDT / Kucoin Spot (optional: sync a miner account)
Wait until API crashes

Release version
dev-1.24.0
Type of installation
Docker
Attach required files

Logs file: logs_dman_v4_spot_2024_q1.log

Able to reproduce the error and stuck on submitting orders to Kucoin spot connector2024-01-11 20:35:21,391 - 1 - hummingbot.connector.exchange.kucoin.kucoin_exchange.KucoinExchange - NETWORK - Error submitting sell LIMIT order to Kucoin for 352.1389 XDC-USDT 0.05141.
Traceback (most recent call last):
  File "/home/hummingbot/hummingbot/connector/exchange_py_base.py", line 452, in _create_order
    await self._place_order_and_process_update(order=order, **kwargs,)
  File "/home/hummingbot/hummingbot/connector/exchange_py_base.py", line 469, in _place_order_and_process_update
    exchange_order_id, update_timestamp = await self._place_order(
  File "/home/hummingbot/hummingbot/connector/exchange/kucoin/kucoin_exchange.py", line 217, in _place_order
    return str(exchange_order_id["data"]["orderId"]), self.current_timestamp
KeyError: 'data'

We used the user’s attached script but only able to run single market and able to reproduce
The connector has been stuck trying to submit an error and returning KeyError: 'data' all the time
See log files here

Description
Research of cause of the issue and possible fix Kucoin spot on Dman-v4 - Failed Sell Order Submission
the main issue: https://github.com/hummingbot/hummingbot/issues/6764
Expected Outcome:
The issue causing the API warning should be identified and resolved. The script should execute without triggering the API warning.
Deliverables:

Clear explanation of the root cause of the API warning.
Modified code to fix the issue.
Confirmation that the provided script executes without warnings.

Submission Guidelines:
Provide a pull request with the fix on the official Hummingbot repository. Include a detailed explanation of the changes made and any relevant testing results.
Bounty

Sponsor: Hummingbot Foundation
Bounty amount: 50K HBOT
Developer portion: 50K HBOT

Issue could be related to not enough budget to OPEN position for Spot connectors
Pre-conditions for your script:

use SPOT connector
set up config or modify default d-man-v4 to use TOKEN that you have 0 / low balance

logs_dmanv4_kucoinspotrebalance.log
dmanv4_kucoinspotrebalance - Copy.txt
2024-02-21 19:40:11,793 - 2405784 - hummingbot.core.rate_oracle.rate_oracle - INFO - Network status has changed to NetworkStatus.CONNECTED. Starting networking...
2024-02-21 19:40:12,031 - 2405784 - hummingbot.data_feed.candles_feed.kucoin_spot_candles.kucoin_spot_candles - INFO - Network status has changed to NetworkStatus.CONNECTED. Starting networking...
2024-02-21 19:40:12,132 - 2405784 - hummingbot.data_feed.candles_feed.kucoin_spot_candles.kucoin_spot_candles - INFO - Subscribed to public klines...
2024-02-21 19:40:30,298 - 2405784 - hummingbot.strategy.script_strategy_base - INFO - Creating STRK-USDT buy order: price: 1.860527819999999998579198746 amount: 3.762373195795588805194853015.
2024-02-21 19:40:30,300 - 2405784 - hummingbot.smart_components.executors.position_executor.position_executor - INFO - Placing open order
2024-02-21 19:40:30,300 - 2405784 - hummingbot.smart_components.executors.position_executor.position_executor - ERROR - Not enough budget to open position.
2024-02-21 19:40:30,301 - 2405784 - hummingbot.strategy.script_strategy_base - INFO - Creating STRK-USDT buy order: price: 1.805073000000000000687561119 amount: 5.816939259520252087311980587.
2024-02-21 19:40:30,301 - 2405784 - hummingbot.smart_components.executors.position_executor.position_executor - INFO - Placing open order
2024-02-21 19:40:30,301 - 2405784 - hummingbot.smart_components.executors.position_executor.position_executor - ERROR - Not enough budget to open position.
2024-02-21 19:40:30,496 - 2405784 - hummingbot.connector.client_order_tracker - INFO - Created LIMIT BUY order BSKUT611e97fd9d9487834b4ab7a0e87cd6f0557 for 3.7623 STRK-USDT.
2024-02-21 19:40:30,496 - 2405784 - hummingbot.smart_components.executors.position_executor.position_executor - INFO - Open Order Created
2024-02-21 19:40:30,509 - 2405784 - hummingbot.core.event.event_reporter - EVENT_LOG - {"timestamp":<PHONE_NUMBER>.0, "type": "OrderType.LIMIT", "trading_pair": "STRK-USDT", "amount": "3.7623", "price": "1.8605", "order_id": "BSKUT611e97fd9d9487834b4ab7a0e87cd6f0557", "creation_timestamp":<PHONE_NUMBER>.0, "exchange_order_id": "None", "leverage": 1, "position": "NIL", "event_name": "BuyOrderCreatedEvent", "event_source": "kucoin"}
2024-02-21 19:40:30,705 - 2405784 - hummingbot.connector.client_order_tracker - INFO - Created LIMIT BUY order BSKUT611e97fd9e04d7834b4ab7a0e87cd6f0557 for 5.8169 STRK-USDT.
2024-02-21 19:40:30,705 - 2405784 - hummingbot.smart_components.executors.position_executor.position_executor - INFO - Open Order Created
2024-02-21 19:40:30,715 - 2405784 - hummingbot.core.event.event_reporter - EVENT_LOG - {"timestamp":<PHONE_NUMBER>.0, "type": "OrderType.LIMIT", "trading_pair": "STRK-USDT", "amount": "5.8169", "price": "1.8050", "order_id": "BSKUT611e97fd9e04d7834b4ab7a0e87cd6f0557", "creation_timestamp":<PHONE_NUMBER>.0, "exchange_order_id": "None", "leverage": 1, "position": "NIL", "event_name": "BuyOrderCreatedEvent", "event_source": "kucoin"}
2024-02-21 19:40:32,339 - 2405784 - hummingbot.smart_components.executors.position_executor.position_executor - ERROR - Not enough budget to open position.
2024-02-21 19:40:32,340 - 2405784 - hummingbot.smart_components.executors.position_executor.position_executor - ERROR - Not enough budget to open position.
2024-02-21 19:40:34,404 - 2405784 - hummingbot.smart_components.executors.position_executor.position_executor - ERROR ----------------------------------------------
2024-02-21 19:41:25,912 - 2405784 - hummingbot.smart_components.executors.position_executor.position_executor - ERROR - Not enough budget to open position.
2024-02-21 19:41:27,982 - 2405784 - hummingbot.smart_components.executors.position_executor.position_executor - ERROR - Not enough budget to open position.
2024-02-21 19:41:27,983 - 2405784 - hummingbot.smart_components.executors.position_executor.position_executor - ERROR - Not enough budget to open position.
2024-02-21 19:41:30,074 - 2405784 - hummingbot.smart_components.executors.position_executor.position_executor - ERROR - Not enough budget to open position.
2024-02-21 19:41:30,074 - 2405784 - hummingbot.smart_components.executors.position_executor.position_executor - ERROR - Not enough budget to open position.
2024-02-21 19:41:31,076 - 2405784 - hummingbot.strategy.script_strategy_base - INFO - (STRK-USDT) Canceling the limit order BSKUT611e97fd9d9487834b4ab7a0e87cd6f0557. [clock=2024-02-21 19:41:31+00:00]
2024-02-21 19:41:31,175 - 2405784 - hummingbot.connector.exchange.kucoin.kucoin_exchange.KucoinExchange - ERROR - Failed to cancel order BSKUT611e97fd9d9487834b4ab7a0e87cd6f0557
Traceback (most recent call last):
  File "/home/nikita/sta2/hummingbot/connector/exchange_py_base.py", line 520, in _execute_order_cancel
    cancelled = await self._execute_order_cancel_and_process_update(order=order)
  File "/home/nikita/sta2/hummingbot/connector/exchange_py_base.py", line 540, in _execute_order_cancel_and_process_update
    cancelled = await self._place_cancel(order.client_order_id, order)
  File "/home/nikita/sta2/hummingbot/connector/exchange/kucoin/kucoin_exchange.py", line 231, in _place_cancel
    if tracked_order.exchange_order_id in cancel_result["data"].get("cancelledOrderIds", []):
KeyError: 'data'

Bot flooded with not enough budget to OPEN position, only could solve with forced exit (exit -f)

@nikspz I already submit this fix

Closing ticket, not able to reproduce issue of failed to submit order due to KeyError


Changing service port updates ingress in UI but not in nginx.conf

What kind of request is this (question/bug/enhancement/feature request):
Bug
Steps to reproduce (least amount of steps as possible):

Create workload that listens on 80 (like a webserver) but expose port 8080 as an error
Create ingress pointing to service on 8080. This will fail.
Edit workload and change port to 80

Result:

Ingress shows in the UI that it updated to port 80, but nginx.conf still shows that it's sending traffic to 8080.
Connections to ingress return a 503.

Other details that may be helpful:
The destination app is running on Windows.
Environment information

Rancher version (rancher/rancher/rancher/server image tag or shown bottom left in the UI): 2.3.0
Installation option (single install/HA): standalone

Cluster information

Cluster type (Hosted/Infrastructure Provider/Custom/Imported): Azure
Machine type (cloud/VM/metal) and specifications (CPU/memory): VM
Kubernetes version (use kubectl version):

Client Version: version.Info{Major:"1", Minor:"16", GitVersion:"v1.16.1", GitCommit:"d647ddbd755faf07169599a625faf302ffc34458", GitTreeState:"clean", BuildDate:"2019-10-02T17:01:15Z", GoVersion:"go1.12.10", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"15", GitVersion:"v1.15.4", GitCommit:"67d2fcf276fcd9cf743ad4be9a9ef5828adc082f", GitTreeState:"clean", BuildDate:"2019-09-18T14:41:55Z", GoVersion:"go1.12.9", Compiler:"gc", Platform:"linux/amd64"}

Ingress UI shows 80. But it is still 8080 if you check via yaml. the workaround is re-selecting the port in edit ingress page


How to set sensor depth topics independently ?

Sensor depth outputs two topics: an depth image and a point cloud, however there is only one <topic> attribute under <sensor>.
Right now the depth image is outputted on  /topic and the pointcloud on /topic/points
I looked quickly at the code, independently setting the 2 topics is not implemented. I could PR however, I am not sure what would be the best approach. Adding a <topic_points> attribute would imply modifying also the sdf format, right ? Or maybe implementing a remap feature ? But at which level ?

Ideally providing the equivalent of the gazebo libgazebo_ros_openni_kinect.so plugin attributes:
<depthImageTopicName>
<depthImageCameraInfoTopicName>
<pointCloudTopicName>

Adding a <topic_points> attribute would imply modifying also the sdf format, right ?

Correct

Or maybe implementing a remap feature ? But at which level ?

If you want it to be very generic, I think it would go at the ign-transport level.

I don't have a good idea of how to solve this without touching SDF. This feels a bit hacky, but we could support multiple topics within the <topic> tag and put a separator between them?


Add generic argument of TDescribed for ActionDescribedAsset

Linked Issue: #4.

Linked Issue: #4.


WIP: Add ResourceRecordSet (DNS Records)

Description of your changes

Fixes #
I have:

[ ] Read and followed Crossplane's contribution process.
[ ] Run make reviewable test to ensure this PR is ready for review.

How has this code been tested

Going to close this one out for now, though the effort should be unblocked with #308


Crashes are not caught by winafl

I'm using winafl to fuzz an xml library, every couple of minutes windbg pops up.

WinDbg catches crashes that are supposed to be caught by winafl, see below:

Microsoft (R) Windows Debugger Version 10.0.14321.1024 X86
Copyright (c) Microsoft Corporation. All rights reserved.

*** wait with pending attach
Symbol search path is: srv*
Executable search path is:
ModLoad: 00100000 00107000   c:\work\fuzzing\libxml_test\Release\libxml_test.exe
ModLoad: 76f50000 770d9000   C:\WINDOWS\SYSTEM32\ntdll.dll
ModLoad: 75f20000 75ff0000   C:\WINDOWS\System32\KERNEL32.DLL
ModLoad: 76650000 7682b000   C:\WINDOWS\System32\KERNELBASE.dll
ModLoad: 75d80000 75e9e000   C:\WINDOWS\System32\ucrtbase.dll
ModLoad: 63b00000 63b14000   C:\WINDOWS\SYSTEM32\VCRUNTIME140.dll
ModLoad: 675c0000 67613000   c:\work\fuzzing\libxml_test\Release\MdXml.dll
ModLoad: 75b80000 75bc5000   C:\WINDOWS\System32\SHLWAPI.dll
ModLoad: 033d0000 0348d000   C:\WINDOWS\System32\msvcrt.dll
ModLoad: 76cf0000 76f41000   C:\WINDOWS\System32\combase.dll
ModLoad: 73c80000 73d3f000   C:\WINDOWS\System32\RPCRT4.dll
ModLoad: 73970000 73990000   C:\WINDOWS\System32\SspiCli.dll
ModLoad: 73960000 7396a000   C:\WINDOWS\System32\CRYPTBASE.dll
ModLoad: 747d0000 74827000   C:\WINDOWS\System32\bcryptPrimitives.dll
ModLoad: 75d20000 75d63000   C:\WINDOWS\System32\sechost.dll
ModLoad: 74170000 74192000   C:\WINDOWS\System32\GDI32.dll
ModLoad: 74670000 747d0000   C:\WINDOWS\System32\gdi32full.dll
ModLoad: 75ea0000 75f1c000   C:\WINDOWS\System32\msvcp_win.dll
ModLoad: 76930000 76aad000   C:\WINDOWS\System32\USER32.dll
ModLoad: 76850000 76867000   C:\WINDOWS\System32\win32u.dll
ModLoad: 73ae0000 73b05000   C:\WINDOWS\System32\IMM32.DLL
(2538.3ee4): Security check failure or stack buffer overrun - code c0000409 (!!! second chance !!!)
eax=00000001 ebx=009ead88 ecx=00000007 edx=000001de esi=00000003 edi=00101937
eip=19886857 esp=009eac70 ebp=009eac80 iopl=0         nv up ei pl nz na po nc
cs=0023  ss=002b  ds=002b  es=002b  fs=0053  gs=002b             efl=00000202
19886857 cd29            int     29h
0:000> kb
 # ChildEBP RetAddr  Args to Child
WARNING: Frame IP not in any known module. Following frames may be wrong.
00 009eac80 75e2010b 8783d773 00101937 00000000 0x19886857
*** WARNING: Unable to verify checksum for c:\work\fuzzing\libxml_test\Release\libxml_test.exe
01 009eacb4 00101977 009ead58 767df230 009ead88 ucrtbase!terminate+0x3b
02 009eacbc 767df230 009ead88 ab465cc1 00000000 libxml_test!__scrt_unhandled_exception_filter+0x40 [f:\dd\vctools\crt\vcstartup\src\utility\utility_desktop.cpp @ 75]
03 009ead58 76fef90a 009ead88 76fc16f2 009efce8 KERNELBASE!UnhandledExceptionFilter+0x1a0
04 009efcf8 76fb2ab9 ffffffff 76fd3d49 00000000 ntdll!__RtlUserThreadStart+0x3ce50
05 009efd08 00000000 00101325 00bac000 00000000 ntdll!_RtlUserThreadStart+0x1b

I'm using DynamoRio 6.20 & lastest WinAfl.

The issue here is that certain exception types have been made in a way that you can't catch it from user-mode without debugging, which means what DynamoRIO / WinAFL won't be able to see them. You can see the exceptions WinAFL currently treats as crashes in https://github.com/ivanfratric/winafl/blob/master/winafl.c#L181
A workaround is to unregister WinDbg as JIT debugger, which is going to prevent it from automatically popping up and afl-fuzz is going to be able to kill the target process. In this case, WinAFL is going to treat exceptions of these types as hangs (so be sure to check out your hangs output folder in addition to crashes).
@0vercl0k started working on another solution to this problem a while ago and you can see his patch in https://github.com/0vercl0k/winafl/commit/c9b6bc7c056643cfc8fd525c8f0ef920023f82fd. Note that it will only work on Windows 8 and up.

@ivanfratric What 's preventing us from introducing this @0vercl0k work to winafl? I think it would benefit many users

Hmm good question, I guess it was never submitted (not sure if Axel wanted to do some more work on it).
@0vercl0k want to submit it? :-)

Go for it if you're on a hurry man :). Especially if you have repros of
this issue, it'd be better for you to validate your fix against those etc.
Let me know if you guys want me to take a look to the PRs!
Cheers
2018-03-20 7:44 GMT-07:00 yoava333<EMAIL_ADDRESS>
@0vercl0k https://github.com/0vercl0k If you don't want to prepare the
commit I'm willing to do that, just let us know.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/ivanfratric/winafl/issues/82#issuecomment-374623841,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABaHRRZkI3dbD7pogbT4FgCjxS7Q3CHKks5tgRXNgaJpZM4RF7IL
.

@0vercl0k I'm not in a hurry and I don't have any new patches, I used your patches and they worked perfectly. I would love them to be in the main tree, so submit a patch when you have time :-)


When use_paramiko_ssh_runner = True, remote-shell-cmd incorrectly handling user permissions

While debugging some remote scripts I ran into a strange user permission error when running a remote-shell-cmd.
This was shortly after updating to version 0.13, so in order to check if the paramiko runner was causing the issue, I disabled it in st2.conf and restarted st2.
After restarting, the remote-shell-cmd worked again, as it had done before the update.
This first screenshot is of the failing action when using use_paramiko_ssh_runner = True

This second screenshot is of the 'passing' action when using use_paramiko_ssh_runner = False

:cry:

@Heshuge: Bug fix PR is out https://github.com/StackStorm/st2/pull/1903. I also wrote some documentation to clear things up https://github.com/StackStorm/st2/pull/1903/files#diff-2fc5c0de2b7bedc6d17e213779785a79R1. Feel free to comment.

Thanks!


Fix #20980

Please amend the commit and add a proper description. We should be able to understand what the commit does only by looking the log without referencing to GitHub.
You're also adding trailing spaces on the empty line, they should be removed. See http://docs.godotengine.org/en/3.0/community/contributing/code_style_guidelines.html for more info about code style.

This works for the "Find" entry, but not for "Replace". Yet, I'm not convinced that it's the proper way to fix this, no other options require to manually hide the popup, which should happen automatically anyway.
FindReplaceBar::_show_search() does grab focus, so there seems to be a conflict with the two widgets trying to grab the focus. I'm not sure why search_menu takes over focus if it's not hidden manually.

Supeseded by #22200, but thanks for the contribution!


support for env variable based metadata

Hey all, just stumbled on this project and I LOVE it so far.
I use a the docker based amazon/dynamodb-local:latest image for local testing and deploy tables into AWS with cdk, which makes the tables names variable based on the deployment.
When testing locally, I have to change the model to set __table_host__ and __table_region__ to the local ddb instance, and remember to remove that before commit/deploy.
And for the __table_name__,  I currently have to hard code the table name in cdk so that it matches the model definition. I'd rather use the dynamically generated table names and then set that as an ENV Variable on my lambdas/containers.
I think it would be great if these props be set natively using environment variables, rather than hard coded in the models. That way they would be easy to over-ride for local testing/unit tests and could be dynamically set when deployed to AWS.
If you are in support of this idea, I'll create a PR to implement.

Hey! For table name it supports being set to a callable (e.g. __table_name__ = lambda: os.getenv(...)), is that sufficient for your use case? For the local testing case, great idea to allow setting the host/region configuration without needing any code changes.
Probably safe to use what's provided in the table definition, and then just default to DYNTASTIC_HOST and DYNTASTIC_REGION if not defined (we should do it at first use rather than at import time to enable other code dynamically changing environment variables, like python-dotenv).
If you're feeling ambitious, feel free to add support for those two fields to be callable similar to table name as well (see _resolve_table_name function in main.py).

Just created a PR - https://github.com/nayaverdier/dyntastic/pull/16 see what you think. Note that the environment variables have precedence over the hard set meta attributes. I think that works best so that hard set production values can be easily overridden in local testing.

Release in 0.14.0!


Gradio demo

Hi, awesome work, would be great to support a gradio demo for this as well, check out this guide to get started: https://huggingface.co/docs/hub/spaces-sdks-gradio, cc: @yvrjsharma

Hi, awesome work, would be great to support a gradio demo for this as well, check out this guide to get started: https://huggingface.co/docs/hub/spaces-sdks-gradio, cc: @yvrjsharma

Can you make a summary?


Privacy Policy (proposal)

Hi;
Proposal for a "basic" privacy policy

Normally this covers local and external usage.

I hope you like it

It's very detailed and  covers everything, I'll add it to the readme, thank you :+1:


Add UI component "vue-tristate-checkbox" to switches

General

[ ] Pull request template structure not broken — ???

Type

[ ] Fix
[x] Feature — addition of a new component

Checklist

[ ] Title as described — ???
[x] Make sure you put things in the right category!
[x] Always add your items to the end of a list

Open Source

[x] The documentation (README) contains a description of the project, illustration of the project with a demo or screenshots and a CONTRIBUTING section
[x] The documentation is in English.
[x] The project is active and maintained.
[x] The project accepts contributions.
[x] Not a commercial product

Thank you!


Fix TypeError: guild.shard.send is not a function for eris

Fixes some issues with shard Websockets while using poru with eris

Ignore 3a33ff3 and  91025a3


Update README.md

I added in my updates to this file.  My auto-formatter made the new commit seem like more changed than actually did change.

re-reviewed - need someone else to approve this pls


Update parse to match RFC 6265 Grammar

RFC 6265 section 4.1.1 defines the cookie-value as an octet that can be
surrounded by double quotes. Thus surrounding double quotes are not part
of the cookie-value and should be stripped during parsing.

https://tools.ietf.org/html/rfc6265#section-4.1.1

https://github.com/SergioBenitez/cookie-rs/pull/141


DO WHILE loop is not working

Hi @Bogdan-Lyashenko
I have simple do while loop. i am trying to generate the chart,that chart i am not able see the 'do'.
function Recorder() {
var i = 1;
do
{
i++;
console.log(i);
}
while(i<=10);
{
}
}
Please help me solve this.
Thanks.

Hi, I think it’s a feature, not a bug :) it displays loop body correctly  - repeat until condition applies. How would you like “do” to be displayed on flow chart? Thanks.

Hi @Bogdan-Lyashenko
Thanks for quick update.whatever you give perfectly fine for while loop.Do while before checking the condition we have to show do statement.

DO-WHILE loop should be distinguished from WHILE loop. Hope this can be fixed in next version.

DO-WHILE loop should be distinguished from WHILE loop. Hope this can be fixed in next version.

@lhttjdr
Thanks for your update

I think I can fix this issue, can u assign it for me? @Bogdan-Lyashenko

Yeah, go ahead! Thx


Center the SVG path between baseline and capline

As described (center the path) this sounds like it's overriding how the icon designer positioned things. For example, an icon that's just a bar right on the capline would end up moving down. Is the description possibly wrong?

As described (center the path) this sounds like it's overriding how the icon designer positioned things. For example, an icon that's just a bar right on the capline would end up moving down. Is the description possibly wrong?
I updated the description, the center of the SVG will be at the center of baseline/capline, so if an icon is at the top, it will touch the capline

Still doesn't seem right. Are you positioning the path - sounds unlikely to be correct; moving the path vertically in font space would become ignored - or the entire box the font is drawing into?

the entire box is being shifted so the icon is not losing the original alignment

OK cool, that sounds safer. Ty for clarifying.


Scrolling

Long circuits go off the edge of the screen. Being able to scroll would let them get much longer.
Might cause performance issues.

The canvas now auto-stretches to cover the width of the screen. I think scrolling would go against the "should be super simple" vibe. Plus you can emulate it by zooming out.


Examples and tutorial missing from pip tensorflow package

After searching for and eventually posting a question on StackOverflow (https://stackoverflow.com/questions/49007742/tensorflow-examples-and-tutorials-missing-from-the-pip-package) I was recommended to report this as a bug:
When installing Tensorflow (e.g. tensorflow-1.5.0-cp36-cp36m-manylinux1_x86_64.whl from https://pypi.python.org/pypi/tensorflow/1.5.0) from pip, there is only the tutorials/mnist example in tensorflow/examples. It would be nice to have the examples available without having to get them separately from GitHub. Is there a reason why the rest of the examples are not included? Can they be included in future releases?

@yifeif any comments on this?

We want to keep our distribution as small as possible. As tutorials are not part of the APIs, we don't plan to include them in the standard package. git clone the repo would be the recommended way to get them. Hope this answer your question @spiiph.

Thanks for the response.

I have had a similar issue with that. To overcome this issue without downloading the whole repository, since I already installed the newest version through pip, I used SVN to download the specific part related to the examples,
For example https://github.com/tensorflow/tensorflow/tree/master/tensorflow/examples is the path to the examples folder on the github repository.
To use it with SVN, one simply replace the tree/master with trunk in the repo URL, resulting in the following command:
svn checkout https://github.com/tensorflow/tensorflow/trunk/tensorflow/examples


show avatar dialog instead of default

show avatar dialog instead of default

[ x] New Feature (non-breaking change which adds functionality)

I want to show pot avatar according to avatar in settings, if not. it will default. in chat, agent and share iframe sections


Indicate Domains that are cheap vs. expensive to vary, and vary the cheap ones first

Is there some way we can indicate that some Domains are expensive to change, while others are cheap and should be varied first? For example, imagine a situation where the code under test can execute much faster if the expensive Domains are unchanged while the cheap Domains are varied arbitrarily. Once the cheap Domains have been 'exhausted' of interesting things by varying them, the expensive Domains are allowed to arbitrarily change exactly once. Then we go back to varying the cheap Domains, rinse and repeat.
A prime example of this would be testing a compiler and the generated program. Assume compilation is expensive while executing the generated program on a specific program input is cheap. The Domains that change the compiler's behavior should be varied less frequently, and only when the generated program has been thoroughly tested by varying all the Domains that are inputs to the generated program. The code under test would, of course, only recompile the program when needed (i.e. when the inputs defining the program to compile have changed), effectively caching the compiled program.

No such thing is implemented, although I can see why this could be useful.
For now, I would suggest:

Fuzz with expensive domains disabled until fuzzing converges
Fuzz with expensive domains enabled for some period, go back to 1)


RI - Test HL7 message structure and content

Problem statement
The HL7 structure needs to be tested with RI. They will need messages sent through the test feed first as fake data. When that passes validation, then LIVE messages should be sent
Acceptance criteria

[ ] Fake messages sent to RI
[ ] RI accepts HL7 structure of fake messages
[ ] Live messages sent to RI
[ ] RI accepts HL7 structure of live messages

To do

[ ] Create HL7 files from CLI with fake data
[ ] received feedback on fake messages
[ ] implement settings changes as needed
[ ] Send live HL7 files from CLI
[ ] received feedback receive feedback on fake data

2022-09-06: Fake HL7 RI generated and uploaded to their SFTP test directory.

2022-09-13.  Got response from Jason to correct MSH-3-2 and MSH-3-3.
I corrected and ran through RS to product output for validation.  Email back to him:
Jason,
ReportStream is adding MSH-3-2 and MSH-3-3 to RI message as following:
MSH-3:  Sending Application:
MSH-3-1:                                      CDC PRIME - Atlanta, Georgia (Dekalb)
MSH-3-2:                                      2.16.840.1.114<IP_ADDRESS>821
MSH-3-3:                                      ISO
I uploaded the latest message (covid-19-sample-20220913160031.hl7) to your SFTP staging folder.
Please validate and let me know.  If it is all good, I will route production message to your site.
Best regards,
-Ott Sathngam
CDC SWE.

Prod and Staging database setting are updated.

2022-09-15. Jason (RI) responded that both sample and production messages are good.  He then as for couple more production data to run more test.
"--- email --
Good Morning Ott,
I did see those come through and they both looked fine from my review so far. Could you send a couple more both positive and negative results through to our test region that are production specific messages so we can review those and get some state feedback specifically about those and let me know when they are submitted?
Thank you,
Jason Suchon
" =========
I got 3 messages with negative and positive result for him.

2022-09-19: Got response from Jason requested for more prod messages that contain "detected" and "not detected" results.  I got 6 messages that contains detected and not-detected result back to him.
"==== email ====
Good after noon, Jason,
I just submitted to your SFTP/Stagging a production data file (covid-19-production-data-with-dectected-and-notDetected-20220919144141.hl7).  It contains 6 messages with not detected and detected results (Observation Values) per your requested.
Please let me know the result as soon as you can.
If anything else that I can do please let me know.
Grateful, indeed.
-Ott Sathngam
CDC SWE.

2022-09-21: RI, Jason, requested one of the last message to fix PID-11-3.  He also requested another set of production data for further testing.
"=== Email to Jason ===
Good after noon, Jason,
I just submitted to your SFTP/Staging another production data file (covid-19-production-data-with-detected-and-notDetected-2022-09-21-175453.hl7).
It contains 6 messages with not-detected and detected results (Observation Values) per your requested.
Please let me know the result as soon as you can.
If anything else that I can do please let me know.
Grateful, indeed.
-Ott Sathngam
CDC SWE.

Email from Jason:
Good Afternoon Ott,
A couple of questions in regards to this.

Is this the schema that would be being used then from me looking at Appendix C?
https://github.com/CDCgov/prime-reportstream/blob/master/prime-router/docs/schema_documentation/primedatainput-pdi-covid-19.md

prime-reportstream/primedatainput-pdi-covid-19.md at master · CDCgov/prime-reportstream
Contribute to CDCgov/prime-reportstream development by creating an account on GitHub.
github.com

How do we identify which ones in the schema you flag already and would already go back to the facility on if the information is not sent across?

Just trying to work on getting some documentation around this on our end for the future and how to resolve issues perhaps that may crop up.
Thank you for any additional information,

Email from Jason:
Good Afternoon Ott,
I just wanted to get some clarification in regards to what you have stated in regards to this to start with as we are working with the state on getting some clarification on some of this prior to approving a go-live.

When you conduct onboarding with a sender you advise them to include all required fields as given in your schema.
I understand there is no flagging whatsoever to route anything back to the facility if they are not sending you a required field in your schema is that correct?
From step one the message would get processed through your system and filter out what we mentioned we would want filtered out as well as modifications for table differences and then it would get sent over to RI.
If there is an issue with the messaging in RI then you would expect to be notified to have the message corrected and go back to the initial sender to correct the initial message?

Jason Garrett and Michael Gosciminski if you have additional questions regarding this specifically please feel free to chime in as well.
Thank you,
Jason Suchon

2022-09-26: RI is ready for production.  I will start working on moving them to production.
Email from Jason Suchon,
Thank you for the clarification, @Sathngam, Ott (CDC/DDPHSS/OD/HITSSU).
@Jason Suchon – RI is good to go for moving to production with this onboarding.  Please coordinate with Ott and the Report Stream team to move forward.
Best
Jay
Best,
Jay

Email from Michael:
Hi All,
Jason Garrett is out of the office this week and will be returning next Tuesday.  If possible, could this wait until he is able to formally approve it sometime early next week?
Thanks for your consideration.

2022-10-05.  Confirmed from RI.  They are good to go for prod.  I activated them and close this ticket.


Msbuild Locator problem

Environment data
dotnet --info output:
PS C:\Users\82316> dotnet --info
.NET SDK (反映任何 global.json):
Version:   6.0.301
Commit:    43f9b18481
运行时环境:
OS Name:     Windows
OS Version:  10.0.22000
OS Platform: Windows
RID:         win10-x64
Base Path:   C:\Program Files\dotnet\sdk\6.0.301\
Host (useful for support):
Version: 6.0.6
Commit:  7cca709db2
.NET SDKs installed:
6.0.100 [C:\Program Files\dotnet\sdk]
6.0.301 [C:\Program Files\dotnet\sdk]
.NET runtimes installed:
Microsoft.AspNetCore.App 6.0.0-sdk [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 6.0.0 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 6.0.6 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.NETCore.App 6.0.0 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 6.0.6 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.WindowsDesktop.App 6.0.0 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
Microsoft.WindowsDesktop.App 6.0.6 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
To install additional .NET runtimes or SDKs:
https://aka.ms/dotnet-download
VS Code version:1.68.1
C# Extension version:v1.25.0
OmniSharp log
Starting OmniSharp server at 2022/7/2 19:30:24
Target: c:\Users\82316\Desktop\test\sln.sln
OmniSharp server started with .NET 6.0.301
.
Path: c:\Users\82316.vscode\extensions\ms-dotnettools.csharp-1.25.0-win32-x64.omnisharp\1.39.0-net6.0\OmniSharp.dll
PID: 6184
    Starting OmniSharp on Windows 10.0.22000.0 (x64)

    Checking the 'DOTNET_ROOT' environment variable to find a .NET SDK

    Using the 'dotnet' on the PATH.

    DotNetPath set to dotnet

    Located 2 MSBuild instance(s)
        1: .NET Core SDK 6.0.301 17.2.0 - "C:\Program Files\dotnet\sdk\6.0.301\"
        2: .NET Core SDK 6.0.100 17.0.0 - "C:\Program Files\dotnet\sdk\6.0.100\"

    Registered MSBuild instance: .NET Core SDK 6.0.301 17.2.0 - "C:\Program Files\dotnet\sdk\6.0.301\"

    Invoking Workspace Options Provider: OmniSharp.Roslyn.CSharp.Services.CSharpFormattingWorkspaceOptionsProvider, Order: 0

    Detecting projects in 'c:\Users\82316\Desktop\test\sln.sln'.

    Queue project update for 'c:\Users\82316\Desktop\test\testapi\testapi.csproj'

    Detecting CSX files in 'c:\Users\82316\Desktop\test'.

    Did not find any CSX files

    Configuration finished.

    Omnisharp server running using Stdio at location 'c:\Users\82316\Desktop\test' on host 3776.

    Loading project: c:\Users\82316\Desktop\test\testapi\testapi.csproj

    Successfully loaded project file 'c:\Users\82316\Desktop\test\testapi\testapi.csproj'.

    Adding project 'c:\Users\82316\Desktop\test\testapi\testapi.csproj'

    Update project: testapi

    Solution initialized -> queue all documents for code analysis. Initial document count: 6.

Steps to reproduce
Located 2 MSBuild instance(s)
1: .NET Core SDK 6.0.301 17.2.0 - "C:\Program Files\dotnet\sdk\6.0.301"
2: .NET Core SDK 6.0.100 17.0.0 - "C:\Program Files\dotnet\sdk\6.0.100"
I want to choice  the second instance ( version .NET Core SDK 6.0.100)  but the old way  configure in omnishap.json override msbuild is not work .and I found MSBuildLocator from  the  dotnet SDK path . this is not same to the old c# extension version.i guess something changed with the extension updated. Now How to selected msbuild whatever I want use.
Expected  behavior
Actual behavior
Additional context

@1w1f You can configure the omnisharp.sdkVersion to be 6.0.100 in VSCode or you can update your omnisharp.json like so (see SDKOptions.cs).
{
 "SDK": {
   "Version": "6.0.100"
 }
}

Oh!Thank you .It work By update Omnisharp.json.


Service Account Configuration for Heroku

I have Node-RED hosted on Heroku and when Heroku cycles on a daily basis the serviceAccountJson is getting removed. Is there anyway to configure this to be persistent in the Node Flow?

Hi @Coedcoe,
At the moment this is not possible,
though after looking around a possible fix to this might be for the admin node to use the Context API to store and retrieve the serviceAccount contents on load.

Do you know how I can get that context api to pass into the serviceAccountJson field? I tried environment variables and saving it directly in the flow Json with no luck.

From your end as a consumer of the node, maybe not,
but if you're willing to make a PR for this, that'd be great 😄


[Feature] Tensorflow Implementation of FedAdam,FedAdaGrad and FedYogi

Is your feature request related to a problem? Please describe.
FedAdam,FedAdaGrad and FedYogi are implemented in PyTorch in the Flame system, but not in Tensorflow yet.
Describe the solution you'd like
Finish implementation in lib/python/flame/optimizer/fedadagrad.py, lib/python/flame/optimizer/fedadam.py, lib/python/flame/optimizer/fedyogi.py and lib/python/flame/optimizer/fedopt.py.

PR #320 addresses the issue.


Distributed multi-region

Hi i want to setup livekit server in 3 different location (VPS Servers) and i could install them separately  but  document has not more detail information for this ability .
https://docs.livekit.io/home/self-hosting/distributed/
Could you please write more information ? and also i ready to pay for this ability i sent several emails but no one answer at all .
hope can get answer ! Thank you .

Do you have redis configured in your config?

HI , I did but could not manage it i am ready for pay to manage it . if possible send me your email my email is<EMAIL_ADDRESS>Thank you .

If you are ready to pay for it then I would suggest you try the livekit-cloud service since operating a multi-region service is hard if you don't have expertise in the domain.

Hi , the subject is i need to use in our own server we have 3 location and cannnot use outside of our datacenter . we could install standalone but need use multi-region . if you can help me .

Hi , the subject is i need to use in our own server we have 3 location and cannnot use outside of our datacenter . we could install standalone but need use multi-region . if you can help me . we already use with domain and also cloudflare . if you can help please do ,

Hi , the subject is i need to use in our own server we have 3 location and cannnot use outside of our datacenter . we could install standalone but need use multi-region . if you can help me . we already use with domain and also cloudflare . if you can help please do ,

I'm facing the same problem

Hi , the subject is i need to use in our own server we have 3 location and cannnot use outside of our datacenter . we could install standalone but need use multi-region . if you can help me . we already use with domain and also cloudflare . if you can help please do ,

I'm facing the same problem

You need to make all sfu servers connect to same redis server/cluster and uncomment the node_selector setting in the config sample then use dns to resolve the domain to your sfu node's ip.

@cnderrauber Please share your personal email or ... send me an email to<EMAIL_ADDRESS>.

Please follow the instructions cnderrauber has provided. We cannot provide hands-on assistance for deployments


None of samples compile on Mac

I tried to compile samples but none of them work on my MacOS, e.g. regarding ch2 Hello_Qt_OpenCV I get like 20 Qt related errors. First error I think is related to Q_OBJECT macro (unknown type name 'QT_WARNING_PUSH') and then cascade of other Qt errors. It might be something related to mainwindow.ui or QMainWindow but I have no clue.
I tested my Qt 5.11 and Qt 5.12rc2 environment and both work with official samples. My OpenCV 3.4.3 setup also works (tested both C++ using Xcode and python bindings).
I'm using
MacOS 10.13.6 High Sierra
Xcode 10.1
Qt 5.11 and Qt 5.12rc2

Solution is in the discussion. Reopen if you want to continue discussion.


Uniprot XML parser

Initial uniprot XML parser. This basically parses Uniprot XML into each entry. This parser streams in XML rather than processing it all at once, and so its output is a channel. Even Uniprot Sprot's XML is ~6.5gb uncompressed, so you really do need this streaming ability.
The structs in xml.go were actually automatically generated with xsdgen and the uniprot.xsd file.
TODO:

Test all of xml.go (even though it was automatically generated)
Make docs for Entry and perhaps higher level structs for it

Documented the files, but did not fully test xml.go. Kinda hard to, since it can change.

Added the check_uniprot script for @TimothyStiles


refactor: Moved hasActiveReply ternary condition outside of the class

Fixes Issue
My PR closes #665
👨💻 Changes proposed(What did you do ?)
Moved the ternary condition outside of the className
✔ Check List (Check all the applicable boxes)

[x] My code follows the code style of this project.
[x] This PR does not contain plagiarized content.
[x] The title and description of the PR is clear and explains the approach.

@Dun-sin I have opened a new PR cause I needed to change the branch name


Assumption of Bootstrap and Jquery

The included templates assume bootstrap and jquery are loaded from the projects base templates.
These should probably be either included in the projects static files, or mentioned in the documentation.

Great point. I'll work on adding them to the library but the templates can be override by the user.

i just also stumbled over this issue and i agree: bootstrap and jquery should be loaded in the passkey template.
But even loading jQuery myself i get "Uncaught TypeError: $(...).modal is not a function" .. not sure if i have the right jquery version either (i used this one https://code.jquery.com/jquery-3.7.0.min.js)


Sketches could be drawn outside of the scribble widget

The cyan outlined box at right top of the image is the constraint of the scribble widget. But the drawings could be drawn on other widgets when I draw the lines from the box to out of the box. This happens UNEXPECTEDly. It seems that the position of drawing layers gets differ when the size of the widget changes.
So that I tried to delete every dots with listener, but it invokes setState unlimitedly when I try to remove the dots outside of the box via setSketch().

+1

Hey, thanks for opening an issue!
I'm sorry it is UNEXPECTED for you, but the way scribble is designed, you are responsible for making sure the size of the sketch is handled, since there is no real way to handle sketch resizing gracefully based on widget sizes (different users might want very different things).
If you don't care about the lines still being in the sketch data model, you can always wrap Scribble in a ClipRect or ClipRRect which is not done by default since it might not be necessary depending on usecase and has (slight) performance implications
That being said, the infinite setState() calls sound like a potential issue though, could you provide me with more details on how you tried to delete points from the sketch?

ClipRect works for me. Thanks.
I tried this to stop drawing on negative x, y position. But it seems that ClipRect is more appropriate way to solve it.


Focal Plane Temperature Setting?

This one might be more complicated because the agents will be different for the different telescopes. But I would currently love a single function that goes something like set_fpa_pid(temperature)
This is what I currently have for SATp1 (and I'm not totally sure data acquisition turns back on once this has run?)
setpoint=0.087 #Kelvin

LS = OCSClient('cryo-ls372-lsa21yc')

heater='sample'
ch=2
P_val=1000 #watts/Kelvin Started with 2500
I_val=1/40 #Hz Started with 1/20
update_time=1 #seconds
sample_heater_range=3.16e-3 #amps

# Stop data acq
LS.acq.stop()
LS.acq.wait()

#Stop the pid if it is already running
LS.custom_pid.stop()
LS.custom_pid.wait()

status, msg, session = LS.custom_pid.start(
    setpoint=setpoint,
    heater=heater,
    channel=ch,
    P=P_val,
    I=I_val,
    update_time=update_time,
    sample_heater_range=sample_heater_range,
    test_mode=False
)

This doesn't sound so bad, but will be easier once I merge in the work on an sorunlib configuration file I'm developing for interfacing with the wiregrid.
As for the ocs commanding here, I believe both acq and custom_pid are using a timeout lock that releases the lock each loop, so you shouldn't have to actually stop the acq process. This otherwise doesn't look like acq is starting back up.

Another ping for this desired feature as I don't like pointing ROCs-in-training to random jupyter notebooks on the site system.

Another ping for this desired feature as I don't like pointing ROCs-in-training to random jupyter notebooks on the site system.

Thanks for the ping, will try to get to this before end of day tomorrow. (Side note, trying to prioritize features, tracking in this project: https://github.com/orgs/simonsobs/projects/45/views/1)


feat(bounds): Set bounds for map

Using the leaflet setMaxBounds() in order to ensure that users can only select a point within the bounds. Also a convenience function for that the bounds to be the British Isles.
Works with code like this:
    public function form(Form $form): Form
    {
        return $form->schema([
            Select::make('membership_distance')
                ->enum(ClubDistance::class)
                ->options(ClubDistance::class)
                ->default(ClubDistance::M5)
                ->required(),

            Map::make('location')
                ->extraStyles([
                    'min-height: 20vh',
                    'max-width:10vw',
                ])
                ->setBoundsToBritishIsles()
                ->showMarker(true)
                ->showFullscreenControl(false)
                ->showZoomControl()
                ->tilesUrl("https://tile.openstreetmap.de/{z}/{x}/{y}.png")
                ->zoom(5)
                ->minZoom(5)
                ->detectRetina()
                ->showMyLocationButton(false)
                ->drawCircleMarker()
                ->dragMode(false)
                ->setFilledColor('#cad9ec'),
        ])->statePath('data');
    }

Hello @artumi-richard
Thank you for adding the setBounds feature to the map and for your contribution!
Please keep in mind, when adding any method to Map.php, we should also update the MapOptions.php contract to maintain consistency and enhance IDE readability with autocomplete.
Thanks again !

Dear @artumi-richard
Could you please update the README file to include instructions and an example for this new feature?
Thank you!


G lexers

This PR adds missing g package lexers.

Gettext Catalog
Golo
GoodData-CL
Groff

Fixes https://github.com/wakatime/wakatime-cli/issues/206

@dron22 fixes applied.

@dron22 fixes applied.


Adding CORS filter for production domain and localhost.

Tried to use amp-toolbox-cors, but, in order to allow only certain origins you need to use something like:
app.use(ampCors({
sourceOriginPattern: /https://camp.samples.amp.dev$/
}));
Which doesn't allow requests coming from localhost.
This would be solved if we have a "dev" parameter for our build process, when we can use a regrexp for production and another for development.
I ended up adding a filter, to only add CORS headers for requests with __amp_source_origin being: /https://camp.samples.amp.dev$/ or /(localhost)./.
Maybe we need to add some regrexp for different caches as well (Google, Bing, etc).

@morsssss: Note: In this implementation, since I'm using "__amp_source_origin" to check if the request comes from a known domain, it should always be either:

camp.samples.amp.dev
localhost

We don't need to check for all the cached origins, as long as this param is being sent, because we are not checking the origin of the request, but the __amp_source_origin.
Let me know if this makes sense!

I don't quite understand why you're not using amp-toolbox-cors. The localhost issue is easy to solve via:
let sourceOriginPattern = null;
if (app.get('env') === 'production') {  // app engine sets this
   sourceOriginPattern = /https://camp.samples.amp.dev$/
}
app.use(ampCors({
   sourceOriginPattern,
}));

Sidenote,  amp-toolbox-cors should provide an option to always allow localhost.

This is great! I didn't know appengine would set that.
I think the best for me will be to create a new PR using amp-toolbox-cors, and close this one.

Closed, as it was replaced by #218.


Contactor pwm

Quality Assurance Checklist
To make reviews more efficient, please make sure the software feature meets the following standards and check everything off that meets the quality check. Once everything has been checked, the assigned reviewers will begin the review process. Edit this description to check off the list.
There are exceptions with all guidelines. As long as your decisions are justified, then you are good! Contact the reviewers or the leads about any exceptions.
Requirements

[ ] Followed Coding Style Guide
[x] Code Build checks pass
[x] No merge conflicts
[ ] Software feature has test associated with it.
[ ] Software feature has documentation for it updated.
[ ] Test provides useful information and uses relevant data to accurately represent BPS

NOTE: If test file already exists, use that one

[ ] 2 Members of the team have already reviewed my PR

NOTE: Approver will not look at PR if 2 other members haven't reviewed first

[x] Did you Have Fun?

Things to Consider

[ ] Even if the above are checked, is this the best way of writing my code?

It's possible to write code that works, but are there ways to make code more efficient?

Also I'm not sure if RTOS_Porting is the correct branch to merge Contactor-PWM into. Shouldn't it be master

Also fix merge conflicts.


Add Lua5.3 to tree and tweak the build script.

now support:

PUC lua can be built with luv.
now can build dll library against lua/luajit (lua53.dll/lua51.dll)

so we support all combines below:

static/dynamic luv library
static/dynamic/system Lua library
PUC Lua/LuaJIT implement

@joerg-krause could you look over this PR and make sure it doesn't break any of your stuff?

Some notes: I noticed that all projects used luv all generate "luajit.sln" for Visual Studio Solution name. That's because one line "project(luajit C ASM)" in deps/luajit.cmake, because *.cmake is use include() to load, not add_subdirectory(). So I removed this line, and add ASM to CMakeLists.txt. Now the solution name is "luv", as expected.

@starwing good catch, I was wondering how to fix that for windows.

@creationix Now rebased above to @joerg-krause 's commit. test on Windows with: Lua Static/ LuaJIT Static/Lua Dynamic/LuaJIT Dynamic. I don't have *nix environment so I can't test on that :( Maybe someone can help with it...

@creationix Sorry, I did not noticed your comment. I will have a look at it.

@joerg-krause Thank you! but it fails on Linux, and I don't have Linux environment, So I need help :)

@starwing The Travis CI build error is caused by a bug in libuv. The issue is fixed in libuv 1.5.0. So please fix the error mentioned in my previous comment rebase to the latest commit with libuv 1.5.0 and try again.

I am not so sure about the build error. It seems to happen randomly and even happened with the latest commit.

@joerg-krause Thank you for reply, I will fix that :)
I will look into the build error if I have time.

@joerg-krause Thank you for reply, I will fix that :)
I will look into the build error if I have time.


Release 0.17.1

Fixed

DeterministicIntentParser now relies on the custom entity parser

Changed

Bump snips-nlu-ontology to 0.60

Codecov Report

Merging #673 into master will decrease coverage by 0.08%.
The diff coverage is 88.46%.

@@            Coverage Diff             @@
##           master     #673      +/-   ##
==========================================
- Coverage   88.95%   88.87%   -0.09%
==========================================
  Files          64       64
  Lines        3648     3639       -9
  Branches      672      667       -5
==========================================
- Hits         3245     3234      -11
- Misses        307      309       +2
  Partials       96       96


Compile with PARI

I'm trying to package PARI and others for sagemath. This requires cysignals be compiled with PARI.
This introduces a dependency on PARI though. What do you think?

Thanks @isuruf for opening this issue, I was not aware that cysignals can be compiled with PARI. I think we should do it, and have cysignals package depends on PARI.
I see that pari recipe has been merged, so feedstock shoud be ready soon.
So we will just have to add PARI as build and install requirements, and configure will define HAVE_PARI?

So we will just have to add PARI as build and install requirements, and configure will define HAVE_PARI?

Yes, I've sent PR #2


Proposal ref(controller): add additional restriction for application name

The objective of this change is to avoid issues with long names in kubernetes.
There is a restriction to use (rfc952)[https://tools.ietf.org/html/rfc952] in labels (and the application name is one)
Regex: "[a-z]([-a-z0-9]*[a-z0-9])?"
Maximum length: 24

We have a max length of 64 characters to sync up with docker's restrictions on image names. Changing it to 24 would be a breaking change for older clusters that utilize fleet. Maybe we can configure the app name length based on what the value of settings.SCHEDULER_MODULE is?

Closing because is possible to bypass this restriction using labels (at least in kubernetes).
https://github.com/deis/deis/pull/3975/files#diff-0846f028c19323121b40cee6ead7c3c3R314


Replace EasyMock and PowerMock with Mockito - TimeOrderedWindowStoreTest

Related to KAFKA-14059 and KAFKA-14132
This is similar to the Open PR: https://github.com/apache/kafka/pull/12739
Committer Checklist (excluded from commit message)

[x] Verify design and implementation
[x] Verify test coverage and CI build status
[x] Verify documentation (including upgrade notes)

@divijvaidya  Please have a look now.

Hello @bbejeck! I have seen you collaborate with Divij Vaidya on a few pull requests and I was hoping you would lend us a hand in reviewing this pull request to get https://issues.apache.org/jira/browse/KAFKA-14133 over the line 😊

@cadonna is it possible get a review here as well? @shekhar-rajak, if there are any comments is it possible for you to address them. I will circle back in a week's time and if there are still outstanding comments I will takeover this pull request to get it to completion.

Hi,
This PR already have one approval and ready to merge.

Great, thank you very much @guozhangwang!


GitHub Token Scanning Partnership

What's the problem this feature will solve?
GitHub has a "Token Scanning" feature, which enables them to detect API keys/tokens, and notify the service provider who issued the token. The service providers can then act on this information according to their own policies (revoke, contact owner etc).
This helps avoid situations where an active API key is available publicly on the project's repository. GitHub has a Partnership program for this, with various service providers (incl. npm and more).
What's the problem this feature will solve?
It would be worthwhile to explore partnering with GitHub for Token Scanning, when the support for API Keys has been completed.
Additional context
https://developer.github.com/partnerships/token-scanning/ contains details about how to contact GitHub for this partnership, and details on how the integration works.

Thanks @pradyunsg! (blocked on #994)

This reminds me of https://python-security.readthedocs.io/pypi-vuln/index-2017-11-08-pypirc_exposure_on_github.html .

The next steps necessary here are to implement the endpoints on PyPI for the token alert service including signature verification and optionally revocation and notification.

I might be interested, as a first contribution. I don't want to block it though, so if anyone passes by and sees this, don't consider it's already taken before I post a PR.

Documentation is missing a few elements, especially regarding cryptographic signature (I'd like to get a working example of key cert, signature and payload to make sure we're doing things right).
I'm thinking about contacting the<EMAIL_ADDRESS>email. Who should I Cc ? @ewdurbin and @pradyunsg ? (Ideally, GitHub being GitHub, they may agree to hold the discussion in this ticket.)

@ewdurbin might know if there's already been contact with GitHub on this front.
Happy to be cc'ed in whatever contact we're having with GitHub on this, if folks reckon that's a good idea. 😁

@ewjoachim you're welcome to CC me<EMAIL_ADDRESS>

Ok, mail sent. Here are the questions I've asked in it.

The documentation doesn't really specify how the signature is made. The code examples mention the different technologies used, but even if I do some research on the default parameters of the functions used in the samples, I'm afraid I will not be able to verify my assertions without a working example. It would be much easier if we could have access to a sample x509 key, a payload and its signature generated and encoded the same way the real ones will be, so that we could make sure our decryption functions really work in the integration tests. If you already have a working example using Python, of course, that would be best, but once we have an example payload, I'm confident we'll be able to do the rest.

The 2 code samples have a 64-character-long key id, but the payload sample has a 42-character-long key id (that is the 42 first characters of the 64 chars key), and if I understand correctly, they're expected to match precisely. Is there something I haven't understood in the sample (I'm not very familiar with either Go or Ruby) ?

On this subject, the documentation is a bit unclear regarding how keys should be handled:

Should we keep a copy of the key id in the code, make a 3 way comparison that "key id in the code == key id in the payload == key id fetched in the meta api" ? If yes, should we also keep the key (and not just the key id) in the code, or should we trust the one in the API and check that its fingerprint corresponds to our key id ?
Or should we just compare "key in the payload == key fetched in the meta api" ?
Or should we do that but also store the key in a trusted cache of ours or in memory (persisting between request/response cycles) ? If so, how long would be a reasonable cache time ?

And in both cases, how should we handle "is_current" ? I understand it as a way to gracefully rotate keys on your side, the most recent one being the "current" one, with the idea being that when a new key is added (how often should we expect that ?), the old key will still be available (for how long ?) if we need to validate old payloads. In this case, if the key is stored in the code the "is_current" attribute tells us to warn loudly because it's about to break.
If the key is not stored in the code but either cached or not stored at all, can you confirm that the "is_current" attribute will not be of any use to us?

I understand that how often the endpoint will be called on our side depends on how often people will commit strings matching the regex we'll register, but the payload seems to support batch calls, and I'm interested in the batch factors. Is it one call per file ? Per commit ? Per push ? Per time amount (minute ? Hour ? Day ?)

Github folks, if you read this and it's ok with you, please feel free to answer here rather than by email, this way the discussion stays public and the details we share may be useful to the whole community :)

Here are the answers from GitHub. The following is a quote.

The documentation doesn't really specify how the signature is made.

The signature is a ECDSA-NIST-P256V1-SHA256 signature. I’m not super familiar with python’s elliptic curve libraries. But, googling, turns up https://pypi.org/project/ecdsa/ as a seemingly popular one. I think you would do something like:
vk = VerifyingKey.from_pem(key_from_meta_api)
vk.verify(signature_from_webhook, message_signed_from_webhook)
I agree that a working example in the docs would be useful. Very early on this was a working example (i.e. before this API was public). It should be updated to work with the current keys used in production. For now, I pulled sample payload/signature/validation I had lying around. I’m on mobile right now, so haven’t double checked it, but this should be useful. It is in Ruby, but hopefully it provides reasonable guidance/let’s you double-check your python implementation:
See implementation Gist: https://gist.github.com/ewjoachim/7dde11c31d9686ed6b4431c3ca166da2

The 2 code samples have a 64-character-long key id, but the payload sample has a 42-character-long key id (that is the 42 first characters of the 64 chars key), and if

That looks like a typo..something go truncated somewhere.

On this subject, the documentation is a bit unclear regarding how keys should be handled

There isn’t a singular “correct” answer to this, but will go through your questions below:

Should we keep a copy of the key id in the code, make a 3 way comparison that "key id in the code == key id in the payload == key id fetched in the meta api" ? If yes, should we also keep the key (and not just the key id) in the code, or should we trust the one in the API and check that its fingerprint corresponds to our key id ?

It is expected you would trust the one from the API. . As such, you aren’t expected to keep a key in code.

Or should we just compare "key in the payload == key fetched in the meta api" ?

Yes, you would use the key ID from the payload to look for the associated public key from the meta API.

Or should we do that but also store the key in a trusted cache of ours or in memory (persisting between request/response cycles) ? If so, how long would be a reasonable cache time ?

yes, a cache would be advisable to prevent having to fetch the key to validate every webhook. The cache lifetime is ultimately a trade off on performance and security, but there isn’t a singular correct answer. We will return the set of public keys that are valid and can/should be used for signature validation. If a key is removed from this endpoint it shouldn’t be used for validation going forward. For token scanning, the performance vs. security tradeoff isn’t (likely) that consequential. We added signatures to the webhook payloads to allow folks like yourselves to be able to differentiate hooks sent from GitHub from random noise on the Internet. But, generally speaking, there isn’t much risk associated with these payloads. From this perspective, for most folks, it is fine to give cache longer than not (tens of minutes, an hour, etc).

And in both cases, how should we handle "is_current" ? I understand it as a way to gracefully rotate keys on your side, the most recent one being the "current" one, with the idea being that when a new key is added (how often should we expect that ?), the old key will still be available (for how long ?) if we need to validate old payloads.

As implemented at the moment, this endpoint will return up to 10 keys (current plus nine prior). However, that is not an implementation detail to rely on, as we will likely change this as we look to eventually rotate keys as a matter of operational practice. Generally speaking we only really intend for webhooks to be validated when they are sent. As such, the meta API endpoint will likely eventually return the current key and one prior key (to cleanly handle rotation).

In this case, if the key is stored in the code the "is_current" attribute tells us to warn loudly because it's about to break.

Yes, this is definitely a reason for not storing the key in code

If the key is not stored in the code but either cached or not stored at all, can you confirm that the "is_current" attribute will not be of any use to us?

Generally I would say this is the case. This “is_current” attribute was added relatively early on and should probably be revisited going forward.

I understand that how often the endpoint will be called on our side depends on how often people will commit strings matching the regex we'll register, but the payload seems to support batch calls, and I'm interested in the batch factors. Is it one call per file ? Per commit ? Per push ? Per time amount (minute ? Hour ? Day ?)

The hooks are sent once per “repository event” (not an official term). Generally speaking these events  include:

A push (can include one commit from one branch, or 100 commits across 10 branches)
A web edit (i.e. a singular commit to a single branch)
When a private repository is turned public (triggers a full repository history scan)

I can work on this issue

I already have a working PR, but you’re welcome to review it. It’s been sitting there for 6 months and I’m not sure what it needs to go forward.
https://github.com/pypa/warehouse/pull/7124
That being said, if you want to make your own version, you can, but... it might be more interesting to put hours into work that hasn’t already been done :)

Thanks @ewjoachim, I had missed that entirely. I'll give it a review and see if we can move it forward.

FYI @ewjoachim, #7124 was reverted in #8555 due to #8554.

Ok. Is there any material to help understand where the bug was ?

Got it.

https://github.com/pypa/warehouse/pull/8562 < fixes the code that caused the revert
https://github.com/pypa/warehouse/pull/8563 < reintroduces the rest of the code (is there anything I should be doing to avoid another revert ? I thought I had done everything right and it seems I didn't)
https://github.com/pypa/warehouse/pull/8561 < related small problem but orthogonal to the changes

Sorry, was sleeping 🙂 That looks right, once the comments on #8562 are resolved I think both can be re-merged.

Don’t be sorry, still being able to sleep in 2020 is an achievement of its own ;)

@ewjoachim

is there anything I should be doing to avoid another revert ?

The generic answer would be to use feature-flags + distill atomic parts of changes into separate PRs (as many as possible) so that they'd be accepted gradually (it also makes the main PR smaller and easier to spot problems...)

👋 Hey team, hope everyone's keeping well. I run the secret scanning team at GitHub now - do you have everything you need from our side?
I've just opened a PR on our scanning engine to evaluate the number of matches we see for strings of the format pypi-AgEIcHlwaS5vcmc[A-Za-z0-9-_]{130,}, which I think will match the tokens being minted by pypi.org. (I feel somewhat lazy not deserialising the macaroon, but a regex prefix like the above should be more than good enough to keep volume low.) I can report back on the volume in a week's time, if helpful. At that point we'd be ready to start sending pypi.org the matches as soon as you're ready to receive them.

I can make myself available to re-work on https://github.com/pypa/warehouse/pull/8563 if anything needs to be done. I'll be glad to get this merged for good :)
Regarding the regex, that seems to check out with my experiments:
In [5]: pypitoken.Token.create(domain="pypi.org", identifier="a", key="a").dump()
Out[5]: 'pypi-AgEIcHlwaS5vcmcCAWEAAAYgNh9pJUqVF-EtMCwGaZYcStFR07RbE8hyb9h2vYxifO8'

In [6]: pypitoken.Token.create(domain="pypi.org", identifier="b", key="a").dump()
Out[6]: 'pypi-AgEIcHlwaS5vcmcCAWIAAAYgxbyLvb9egSCECeOdB3qW3h4oXEoNC6kJI0NtaFOQlUY'

In [7]: pypitoken.Token.create(domain="pypi.org", identifier="b", key="c").dump()
Out[7]: 'pypi-AgEIcHlwaS5vcmcCAWIAAAYgf_d_XvJfqkOhrkqbEBo-eW9UID46ABNJIdGfaO3n3_k'

In [8]: pypitoken.Token.create(domain="pypi.org", identifier="b", key="c").restrict().dump()
Out[8]: 'pypi-AgEIcHlwaS5vcmcCAWIAAiV7InZlcnNpb24iOiAxLCAicGVybWlzc2lvbnMiOiAidXNlciJ9AAAGIBeIJGhXk8kPPref7vLuwlKbnSWusZKZivIh92GRUUX4'

In [9]: pypitoken.Token.create(domain="pypi.org", identifier="b", key="c").restrict(projects=[]).dump()
Out[9]: 'pypi-AgEIcHlwaS5vcmcCAWIAAi97InZlcnNpb24iOiAxLCAicGVybWlzc2lvbnMiOiB7InByb2plY3RzIjogW119fQAABiBWHBa1jsbY-iN-Swf3JCrxy8Q8eRCxMrc_1KkkDuB6KQ'

In [10]: pypitoken.Token.create(domain="test.pypi.org", identifier="b", key="c").restrict(projects=[]).dump()
Out[10]: 'pypi-AgENdGVzdC5weXBpLm9yZwIBYgACL3sidmVyc2lvbiI6IDEsICJwZXJtaXNzaW9ucyI6IHsicHJvamVjdHMiOiBbXX19AAAGIFYcFrWOxtj6I35LB_ckKvHLxDx5ELEytz_UqSQO4Hop'

Also, binary format of the underlying macaroons confirms that the first bytes are the version (2) and the location (pypi.org), so the theory confirms the experience.

Thanks for reaching out @greysteil!
@ewjoachim, was your intent to have GitHub include a Base64 regex as well? Per:
https://github.com/pypa/warehouse/pull/8563/files#diff-3a882abede40aa44bb2a7d9c5e20443bf8476ce199258e6ff7cb53f66c98386fR66-R72

Yes, I did mention/code that based on the idea that people might have hardcoded BasicAuth values in the wild but on second thought, I do wonder whether this really happens in real life.
I think I might remove it...

I agree w/ removing it, I don't think this is very common.

I'll do it.
On the PR I've applied your suggestion, I'll rebase and do a (last ? :crossed_fingers: ) round of self-review and then :shipit: :rocket:

Great! On my side, I've shipped the pattern for observation, and can confirm that it found the (revoked) token I deliberately leaked yesterday and did not return any false positives. Volume is very low - a single digit number of matches yesterday.
That means the GitHub side is good to go whenever you give me a URL to send results to. :octocat:

@greysteil Great! On our end, I think #8563 is almost good to go. Do y'all have a mechanism to test sending us a few tokens via the integration, or will we just get them all at once?

You'll get them as we find them in new commits. (We plan to rescan the git history of all OSS at some point in the not too distant future, but the initial experience here won't be that stock of past leaks.)
Given the above, and because the pattern here is so specific, testing in production by deliberately leaking revoked tokens is probably the easiest way to go. GitHub will detect and send them to you within a few seconds.

It's not merged yet, but when it is, the url will be https://pypi.org/_/github/disclose-token.
(I have no idea whether it's a good idea to configure it already and just let it 404 until we deploy)
Regarding performance, especially when you'll perform the full scan, when we receive matches, we check the signature sychronously, and then register each match individually to be processed asynchronously and return a 204. When it's merged, we'll check how long the whole mechanism takes, but I believe it should scale reasonably well.
Regarding testing, posting revoked tokens won't let us know if it works, but's it's easy enough to post real tokens restricted to a fake project or even a fake account.

Great - I've just deployed on my side, so we should be sending results to that URL now. (No problem that they 404 for now.)

@greysteil Hello again :) Can you give us the string you use as type for the pypi token disclosures ? From our infra we can see that it's not the one we expected, but it's a little harder to see what it actually is.

I believe it should be PYPI_API_TOKEN

Also, since it looks like we're in the home straight here, we normally go out with a post on the GitHub changelog for new secret scanning programme partners - here's an example.
Once everything's wired up I was planning to go out with the below. Please shout if you have any concerns (especially @ewjoachim, since I've put a callout thanking you in there):

GitHub and PyPI have partnered to help protect you from leaked PyPI API tokens.
From today, GitHub will scan every commit to a public repository for exposed PyPI API tokens. We will forward any tokens we find to PyPI, who will automatically disable them and notify their owners. The end-to-end process takes just a few seconds.
PyPI is just the latest GitHub secret scanning partner - since 2018 GitHub has partnered with 35 token issuers to help keep their customers safe. We continue to welcome new partners for public repo secret scanning. In addition, GitHub Advanced Security customers can now also scan their private repositories for leaked secrets.
We'd like to thank Joachim Jablon for his work on PyPI that made this partnership possible.

Thank you very much for that note :)

@greysteil With my PSF board member hat on, the one thing I'd ask is that we could say "coordinated" or "collaborated" or something similar instead of "partnered" as that has stronger connotations.
Also, I generally like to spell out the PyPI initialism the first time we write it, so maybe the first  line could be something like:

GitHub and the Python Package Index (PyPI) have collaborated to help protect you from leaked PyPI API tokens.

The one thing I'd ask is that we could say "coordinated" or "collaborated" or something similar instead of "partnered"

Sure thing! Are you OK with still being described as a "secret scanning partner"? (I can't think of anything to replace that text with, especially when referring to the 30+ other folks.)
Updated text would be:

GitHub and PyPI are collaborating to help protect you from leaked PyPI API tokens.
From today, GitHub will scan every commit to a public repository for exposed PyPI API tokens. We will forward any tokens we find to PyPI, who will automatically disable them and notify their owners. The end-to-end process takes just a few seconds.
PyPI is just the latest GitHub secret scanning partner - since 2018 GitHub has partnered with 35 token issuers to help keep their customers safe. We continue to welcome new partners for public repo secret scanning. In addition, GitHub Advanced Security customers can now also scan their private repositories for leaked secrets.
We'd like to thank Joachim Jablon for his work on PyPI that made this collaboration possible.

Sure thing! Are you OK with still being described as a "secret scanning partner"? (I can't think of anything to replace that text with, especially when referring to the 30+ other folks.)

Maybe "collaborator"? "Integrator"? "Secret scanning notification recipient"?
Also, can we make sure to expand "PyPI" the first time it's used here? Thanks!

Integrator works 😎

GitHub and the Python Packaging Index (PyPI) are collaborating to help protect you from leaked PyPI API tokens.
From today, GitHub will scan every commit to a public repository for exposed PyPI API tokens. We will forward any tokens we find to PyPI, who will automatically disable them and notify their owners. The end-to-end process takes just a few seconds.
PyPI is just the latest GitHub secret scanning integrator - since 2018 GitHub has collaborated with 35 token issuers to help keep their customers safe. We continue to welcome new integrators for public repo secret scanning. In addition, GitHub Advanced Security customers can now also scan their private repositories for leaked secrets.
We'd like to thank Joachim Jablon for his work on PyPI that made this collaboration possible.

LGTM! Also we just confirmed this is working as expected, so we should be good to go here.

Fantastic - I tested too and it looks great. Blog post is shipped. Huge thanks for all your work on this @ewjoachim, @di and everyone else!


Use enums for roles and scopes

This is an API breaking change, but leverages proto enums instead of having constants in go code. This has the advantage that the API doesn't accept arbitrary strings but having enums instead.

@jastBytes is it planned to make aggregate type enum as well? or maybe we could consider this here as well?

Good point. Would make things easier. Can't remember why I was not going with that approach straight from the start. 🤷


BH2024 paper

Initial content for BH2024 paper

Can we add write this up in HackMD ? https://hackmd.io/@aw3pyIvxSYWhxcDjLfkJww/B19Dhoi-yg

Thanks for starting @supernord ; can we write it up in HackMD: https://hackmd.io/@aw3pyIvxSYWhxcDjLfkJww/B19Dhoi-yg ?

Thanks for starting @supernord ; can we write it up in HackMD: https://hackmd.io/@aw3pyIvxSYWhxcDjLfkJww/B19Dhoi-yg ?

The link gives a 404 for me

Strange, can you try this:
https://hackmd.io/@aw3pyIvxSYWhxcDjLfkJww/B19Dhoi-yg/edit

@paulzierep - I get a 403 error

Should we use GoogleDocs instead?
@bebatut @paulzierep


No control about overflow

I faced this problem in production and I tried it with the online demo provided in the readme and I'm certain this is the theme's problem. (as the problem wasn't there when I disabled the theme).
Unlike the select2 default theme itself, this theme does not control overflow, try increasing number of your options in the example to over 20.
This will even override the page size and cause the whole page to overflow.

When comparing the original css for select2 and the one for this theme I found the following missing:
.select2-results__options {   max-height: 200px;   overflow-y: auto; }
Add it back and the behavior will be the same.


not work when transfer 1G file

it is working well when I request a file of 100M. But I get 500 error code when I request a file of 1G. It stop at the setbody function

Hey @lshappylife, with file sizes this large you would ideally want to flush the data in increments, Served doesn't support this right now. I'm closing this issue because it's old but feel free to open a feature request for chunked encoding support.


Uniwill support keyboard release.

OEM support list , XMG , MAINGEAR , MECHREVO.
OEM support keyboard type name.
Keyboard conflict solution.

Can you make a PR to the dev and not the master and can you revert the changes to the EnumUtils and make descriptions more descriptive instead? Also last thing, why did you obfuscate the DLL?

Closing due to #1940


Booleans confused as integers using PGSQL

Describe the bug
Boolean handling in Medoo is broken. Medoo is mutating boolean $x = true into integer $x = 1, causing PGSQL to throw mismatched type errors.
Information

Version of Medoo: 1.7.2
Type of Database (MySQL, MSSQL, SQLite...): psql (PostgreSQL) 9.2.24
System (Linux\Windows\Mac): CentOS 7

Detail Code
Medoo turns this command:
$users = $db->select(
    'users',
    ['user_id', 'user_google_id', 'user_access_token', 'user_calendar_id'],
    ['user_sync_events' => true]
);

Into this SQL query:
SELECT "user_id","user_google_id","user_access_token","user_calendar_id" FROM "warmap_users" WHERE "user_sync_events" = 1
Which results in this error:

ERROR:  operator does not exist: boolean = integer
LINE 2: "user_sync_events" = 1
^
HINT:  No operator matches the given name and argument type(s). You might need to add explicit type casts.
SQL state: 42883
Character: 119

Expected output
Results from SELECT query. Medoo not mutating booleans into integers.

This should be fixed with my patch.  Just waiting on repo maintainers to pick it up and merge the pull request.  🤞

@CydeSwype @Invincibear Sorry for the delay response. I'm extremely busy for other things in those days, and back to this project now.
I tested the problem again from PostgresSQL 9.4 (this is the version that Docker can support) to latest 12.1. The boolean query is still success.
Here is my test config:
For 9.4:
  postgres94:
    image: postgres:9.4
    restart: always
    user: root
    ports:
      - "5432:5432"
    environment:
      POSTGRES_USER: root
      POSTGRES_PASSWORD: password

$database->create("account", [
    "user_id serial PRIMARY KEY",
    "user_name text",
    "is_active boolean"
]);

$database->insert("account", [
    "user_name" => "apple",
    "is_active" => true
]);

$database->insert("account", [
    "user_name" => "foo",
    "is_active" => true
]);

$database->insert("account", [
    "user_name" => "bar",
    "is_active" => false
]);

$data = $database->select("account", [
    "user_id",
    "user_name",
    "is_active"
], [
    "is_active" => true
]);

var_dump($data);

For latest 12.1
  postgres:
    image: postgres
    restart: always
    user: root
    ports:
      - "5432:5432"
    environment:
      POSTGRES_USER: root
      POSTGRES_PASSWORD: password

$database->create("account", [
   // Primary auto increase key for PostgresSQL 10.0+
    "user_id integer GENERATED BY DEFAULT AS IDENTITY PRIMARY KEY",
    "user_name text",
    "is_active boolean"
]);

$database->insert("account", [
    "user_name" => "apple",
    "is_active" => true
]);

$database->insert("account", [
    "user_name" => "foo",
    "is_active" => true
]);

$database->insert("account", [
    "user_name" => "bar",
    "is_active" => false
]);

$data = $database->select("account", [
    "user_id",
    "user_name",
    "is_active"
], [
    "is_active" => true
]);

var_dump($data);

Maybe you can upgrade PostgresSQL 9.4+ or latest that recommended. The version 9.2 is not officially supported anymore by PostgresSQL.
https://www.postgresql.org/docs/9.4/datatype-boolean.html


Merged deferred branch again with error handling.

Sorry, Philipp did another PR on the deferred branch which was not included last time :)

Merging, will write a short description and publish now

Thanks!

I just noticed that the master branch is now failing: https://travis-ci.org/Youshido/GraphQL/jobs/259325601

You have added some tests for querying multiple root fields which I reported here https://github.com/Youshido/GraphQL/pull/160 with a few additional tests


[Users/Products/Categories page] Error when clicking on table header

Steps to reproduce:

Open Users/Products/Categories page.
Click on sortable table header.

Expected Result:
The items on the page are sorted.
Actual Result:
An error occurs.


Regression in raster time in opacity_peephole_grid_of_opacity_perf__e2e_summary

On the Engine roll here https://github.com/flutter/flutter/commit/9be162402f3686c079d4436b4742f5e1b560881d
SkiaPerf is reporting a regression in 90% raster time
https://flutter-flutter-perf.skia.org/e/?begin=1648245261&end=1648737011&keys=X18d651edad4005b6fb479a01d3433a64&requestType=0&xbaroffset=28147
I'm guessing something about https://github.com/flutter/engine/pull/32268 is confusing the opacity peephole optimization.
@flar @chinmaygarde

After talking with @flar, it turns out that there are no images in the benchmark. Also, the size of the regression is pretty small especially relative to the performance improvement from the optimization he landed, so I don't think the DL image change is defeating it. Therefore, I am dropping the priority of this to P4, and unassigning folks.

It's worth noting that the animation does not contain any images. The only image that I think might be present would be the back-button on the header to go back a page.
With the ContextDiff stuff limiting our rendering to just the animated parts the back button shouldn't re-rasterize on every frame, but maybe something is happening during preroll?

I'm not sure if Skia reported it, but if you add "average frame raster" time to the plot you see a similar bump in timings, so this isn't just a 90% case, it is happening on every frame.

I dont think this is actionable anymore


Fix dropped tags in Diagnostic -> IMarkerData

When converting diagnostics from the language client DIagnostic from into IMarkerData, the tag field was dropped.
This keeps that field present in the diagnostic.
Here's confirmation of this locally with the Unnecessary tag on all false values, and no diagnostics on true:

Thank you :+1:
Can you just squash your 2 commits please?


pagination scroll to top is no working on mobile

Can you specify the tested platforms?

Yes it works with safari ios, but not with chrome ios. os and apps up to date.

I can confirm it works on Chrome Beta for Android version 49.0.2623.34. Android version 6.0.1.

Tested and worked on mobile safari. open a new issue with more details if still buggy


Improve error message when input sections are accidentally orphaned

When an input section is orphaned[0] today the linker will place it at the end of the last memory region. This could trigger an error message like this:

/home/sebo/zephyr-sdk-0.9.2-rc5/sysroots/x86_64-pokysdk-linux/usr/libexec/i586-zephyr-elf/gcc/i586-zephyr-elf/6.2.0/real-ld: region `MMU_LIST' overflowed by 8264 bytes

if MMU_LIST is the last region. Instead, it would be better to detect orphaned sections and give a more appropriate error message as this has nothing to do with MMU_LIST really.
[0] An orphaned input section is an input section that the linker script did not find any output section for. Meaning that none of the output sections had a fileglob + sectionglob (output command) that matched the input section.

This was fixed by #10368


Add  directive to

This directive controls fluentd's log behaviour
Now, support two parameters:
<system>
  <log>
    format json
    time_format %F
  </log>
</system>

format: Change fluentd log format. text and json

text:
2017-07-27 07:37:02 +0900 [info]: #0 fluentd worker is now running worker=0

json:
{"time":"2017-07-27 06:44:54 +0900","level":"info","message":"fluentd worker is now running worker=0","worker_id":0}

time_format: Change time format of log

time_format %Y
2017 [info]: #0 fluentd worker is now running worker=0

I have a plan to move some logging related parameters to under <log> like log_level.

I added a very small comment. Other than that LGTM.

Will there be any documentation updates? Unfortunately, I'm not deeply familiar with the repository's structure, but I didn't where the docs are stored.

Visit fluentd-docs repository.


[F2F-329] CMA -> ID selection same ID -> CMA

Proposed changes

What changed

Why did it change

Issue tracking

F2F-329

Checklists
Environment variables or secrets

[ ] Documented in the README
[ ] Added screenshots to show the implementation is working
[ ] Ran cfn-lint on any SAM templates

Other considerations

Descoped

Descoped


3d party IMODEL import/export file converter

Hi. We are looking in to possibilitys of creating a 3d party IMODEL import/export file converter ( import and export IMODEL files to/from a third party software ). For a simple import/export fileconverter, is it corect that you will have to have a full itwin suscription to be able to use/run the converter? Or is there any way to use the converter without a suscription ( Forexample if you are not interested in using the Imodelhub, but just want to convert in to local IMODEL file )

Hi @helgehes
Thanks for the question. We are currently working with our team to best assist you.

Hi Roopsaini. Okay, thank you !

I agree with @helgehes this scenario / workflow is important. Now a situation how i-model format is supported is quite unclear:

There is i-model SDK available, but it supports version 1.5 only.
MicroStation and other applications allow to publish (and Navigator to consume) i-model 1.6, but as far as I know there is no SDK (publicly) available that support this version, so no 3rd party application is able to consume it.
iModelJs is now promoted as a client for iModelHub.

So it would be nice to share plans and add some info to FAQ, whether iModelJs is / will be able to work with i-model files offline completely (with e.g. a user required login as required by current SDK), so it will replace i-model SDK, or there will be separate SDK, based on the same dll, to read/write i-model files in 3rd party desktop applications.
Regards,
Jan

iModel.js supports the iModel 2.0 format. A primary difference between iModel 2.0 and i-model 1.0 is the concept of accountability - tracking and recording change to form a "timeline of change" for your digital twin. In this manner the iModel is synchronized rather than recreated as the source files change (think "Git" for your project data.) The timeline is provided by iModelHub, and is a part of an iTwin subscription.
However, there are cases where it may be desirable to "disconnect a snapshot" of your iModel from the timeline; e.g. for archival or for filtering for distribution, or to create an offline iModel before connecting it to a timeline. For both of those cases, there is concept of a shapshot iModel. A snapshot iModel works much like generation 1.0 iModels in that they're immutable (cannot be modified) once created.
Snapshot iModels do not require an iTwin subscription. The iModel.js library supports creating, querying, and visualizing offline snapshot iModels without any fee and without any login requirements.
Of course much of the library's value derives from processing and interpreting changesets, which are obviously not applicable if there's no timeline. So, to answer your direct question, yes you can write an iModel import/exporter with the iModel.js library to create and display "local" snapshot iModels without any subscription from Bentley. We expect many people will. We think you'll be doing yourself and your users a disservice if you don't also create a Bridge (our term for the program that generates changesets from source files) for your application for your users who do have an iTwin subscription. Obviously we're banking on the value it will add to you and your users.

Note that there are numerous features in iModel.js that are not applicable without an iTwin subscription - e.g. Reality Model display, map backgrounds, Bentley-hosted web display, etc. Each of these depend on Bentley-supplied cloud services enabled through your iTwin account.

Note also that the current pre-release version of the library doesn't enforce any of these restrictions, but you should presume that it will before it is released.

HTH,
Keith

Thank you Keith, i have to say that is really good news! Hopfully many people will see the benefits of the timeline and itwin, it does sound like a very interesting consept. I dont know if this is the right place to ask, but where can we find more information about pricing for iTwin subscription?


Fix several highlighting issues

The first is for home page by security role, highlighting shows entry in red, example:
home (signInPage, todosPage (ADMIN, MEMBER))
The second is developer name with dot or hyphen, example:
developer (profesor, i.vasiliu, vanja-test)
The third is for replaced 'with' and 'on' in find or paged endpoint inline query join, example:
getFavourites paged[from DeviceFavourite
join Content on DeviceFavourite.content
join ContentLocalization with Content on ContentLocalization.content
where DeviceFavourite.isDeleted == false
and Content.isDeleted == false
and ContentLocalization.isDeleted == false
response(DeviceFavourite.id, Content.category, ContentLocalization.name),
rest /device/favourites/all]

Please use atom in develop mode so you can check this without me building official version.
hint: use apm link

Ok, I did it like this:
First, run apm develop  to download package in develop mode,
then run atom -d . from any directory.
and it works fine.


Implement basic storage deal creation contract

Can pick this one

This can be done via. the deal client + RaaS

Accounted in #16


No logs are printed for Firefox

Open a new tab and open the javascript console.
Enter https://test.webrtc.org and check the console output.
This appears to be Chrome
(index):20 spec:   {"audio":{"optional":[{"sourceId":""}]},"video":{"optional":[{"sourceId":""}]}}
(index):20 chrome: {"audio":{"optional":[{"sourceId":""}]},"video":{"optional":[{"sourceId":""}]}}
While Firefox (38) prints
"This appears to be Firefox"
mutating the [[Prototype]] of an object will cause your code to run very slowly; instead create the object with the correct initial [[Prototype]] value using Object.create
@jan-ivar any ideas? I've not had a chance to dig into why yet.
Note I noticed the SHA1 ssl certificate warnings FF also prints, will follow that up separately (create a new certificate perhaps using SHA-256).

The "spec"/"chrome" thing in the log is from the constraints conversion code, so you need to run FF37 or older to see it (FF 38 implements the spec so there's no conversion happening and nothing to log).
Is "mutating the prototype" warning new? Is there a better way to do that?

Aha that explains it, I find the logging useful regardless but I guess it's up to each web app to add their logging.
I've seen the mutating prototype warning for a while I believe.

Also Firefox is awfully slow loading test.webrtc.org when running locally on localhost (GAE python), 15 seconds compared to 1.5 seconds on Chrome. Not sure if that has anything to do with the prototype error though.

Hmm that doesn't sound good. When you say "loading" do you mean running the test to completion or something else? @fippo  are you seeing this?

By loading I mean the initial loading of the webpage. But now I cannot repro, seems to be an intermittent issue. I will file a separate issue regarding that if it appears again with logs, network traces from the developer console etc.
I guess we can close this then as you answered why FF < 38 does not produce any logs.

FF >= 38 does not produce logs, you mean.

Yes sorry, I was not thinking clearly there :(.


Completion scheduler of split and ensure_started

<IP_ADDRESS>.4 has the catch-all Unless otherwise specified, all sender adaptors that accept a single sender argument return sender objects that propagate forwarding sender queries to that single sender argument., and split and ensure_started do not specify otherwise, indicating that the get_completion_scheduler query should be forwarded (given that #419 is valid...).
The way split and ensure_started are currently specified means that the completion scheduler is not guaranteed to be the same as that of the input sender s. The following says that one of the completion signals may be called in whatever context start is called on the operation state returned from connecting s2 (the sender returned from split/ensure_started) and out_r.

When execution::start(op_state) is called:
If r's receiver contract has already been satisfied, then let Signal be whichever receiver completion-signal was used to complete r’s receiver contract ([exec.recv]). Calls Signal(out_r', args2...), where args2... is a pack of lvalues referencing the subobjects of sh_state that have been saved by the original call to Signal(r, args...) and returns.

The specification should probably either:

Not forward get_completion_scheduler for split and ensure_started, or
Make sure schedule(get_completion_scheduler(s)) is used in an appropriate place inside split and ensure_started.

get_completion_scheduler is not a forwarding scheduler query, so split and ensure_started do not have completion schedulers. I don't think there's a problem here. Please reopen if you disagree.


Add RGB ISAE opcode to check pedersen sum against fixed number

Required for validation of issued assed amount

Closed in #181


Instant crash upon world initialization with Ender IO

Industrial Foregoing Version: 1.12.5-229
TeslaCoreLib Version: 1.0.15
Crashlog: https://pastebin.com/u3MYgnuB
Seems like an issue between industrial foregoing and Ender IO conduits trying to connect to the latex processing unit. Upon loading the world again using removeErroringTileEntities=true conduits are removed but not the processing unit.

Nothing I can so try redownloading the mods


source_id -- add RFMIP to UKESM1-0-LL

Our AerChemMIP team would like to submit data for some RFMIP experiments from our UKESM1 model. Could you please add RFMIP to the activity_participation list for UKESM1-0-LL? The following code should make this change;
source_id = json.load(open('CMIP6_source_id.json'))
source_id['source_id']['UKESM1-0-LL']['activity_participation'].append('RFMIP')

@matthew-mizielinski thanks that change is now implemented. Take a peek at CMIP6_source_id.html which should reflect the recent update