Refactor sortImportSpecs to become clearer

xref:https://github.com/golang/tools/tree/master/cmd/goimports


Pry and save_and_open_screenshot

Hi there!
Caught weird lock when run test with binding.pry and try to create screen save_and_open_screenshot
poltergeist (1.15.0)
phantomjs (2.1.1)
ruby (2.3.3)
config
  Capybara.register_driver :poltergeist do |app|
    options = {
        js_errors: false,
        timeout: 80,
        debug: true,
        inspector: true,
        window_size: [1366, 768]
    }
    Capybara::Poltergeist::Driver.new(app, options)
  end

error message:
[1] pry(#<RSpec::ExampleGroups::CopyDimension>)> save_and_open_screenshot
{"id":"d0453476-13fa-45f3-8668-a59f07fa28ff","name":"render","args":["/Users/atanych/Applications/rails/psychometrics/tmp/capybara/capybara-20170509140419656036337.png",{"full":false}]}
Capybara::Poltergeist::TimeoutError: Timed out waiting for response to {"id":"d0453476-13fa-45f3-8668-a59f07fa28ff","name":"render","args":["/Users/atanych/Applications/rails/psychometrics/tmp/capybara/capybara-20170509140419656036337.png",{"full":false}]}. It's possible that this happened because something took a very long time (for example a page load was slow). If so, setting the Poltergeist :timeout option to a higher value will help (see the docs for details). If increasing the timeout does not help, this is probably a bug in Poltergeist - please report it to the issue tracker.
from /Users/atanych/.rvm/gems/ruby-2.3.3/gems/poltergeist-1.15.0/lib/capybara/poltergeist/web_socket_server.rb:100:in `rescue in send'

PS. When I change javascript_driver on chrome I can create screenshots after binding.pry
Also I tried this solution https://github.com/pry/pry/wiki/FAQ#threads-dont-work-whats-wrong. It is not helped me

Which solution exactly did you try from the linked wiki?

@twalpole  https://github.com/guard/guard/wiki/Add-Readline-support-to-Ruby-on-Mac-OS-X#option-2-build-ruby-with-gnu-readline-using-rvm-and-homebrew

@atanych And you're 100% sure you did that correctly, it rebuilt the ruby version successfully and that  you're actually using the version of ruby you rebuilt?  Maybe try option 4 as well.   This is a pry issue and not actually a Poltergeist issue.

@twalpole The main reason why Im not sure that pry issue,  it works with another capybara drivers.
I will try today option 4 and will send result here.

@atanych The fact it works with selenium doesn't mean anything.  selenium-webdriver doesn't start threads to talk to the browser, everything is synchronous.  Poltergeist works differently by using a separate thread to handle the output of PhantomJS. If pry is blocking all threads from running (when it shouldn't be) or not providing a way to start those threads again, then it's a pry issue.

Hi @atanych Did you fix this issue? I'm having the same issue in my box, tried to follow solution #2 and #4 from the guard link, but no luck. Thanks!

nope, I have replaced poltergeist with chomedriver.
But question is actual.


Configurations/descrip.mms.tmpl: rework the inclusion hacks

Because VMS C has some trouble with recursive inclusion of header
files, we have had to help it out for object files where there is such
an inclusion structure.
Previously, we did so with temporary logical names that were the same
as the first directory in an inclusion, so for example, to enable this
inclusion (found in ssl/ssl_local.h), we created the logical name
"record" when building any of the object files in the ssl/
subdirectories:
#include "record/record.h"

However, there is another way with the VMS C compiler, to selectively
specify extra include directories in Unix form directly to the
compiler.  The logic is that from the directory where the source file
to compile is located, the specified inclusion directory merged with
the inclusion string should be able to access to specified header
file.
So for example, when a file in ssl/record/ is compiled, the following
inclusion is found:
#include "../ssl_local.h"

So far so good, VMS C handles it properly.  However, the recursive
inclusion of "record/record.h" fails.  However, if the compiler is
helped out a little bit, with the following extra qualifier, then it
works:
/INCLUDE="../"

The reason is that the compiler merges "../" and "record/record.h"
into "../record/record.h", which is the correct path to that header
file from the directory of the source file being compiled.
All that remained was to figure out all places where this trouble may
occur, and specify extra Unix formatted inclusion directories to
specify on per object file basis.

This pull request is ready to merge

Merged
1b77f00a9b0469fe578c60710e760ebc2b908e21 Configurations/descrip.mms.tmpl: rework the inclusion hacks


[BULK] - DocuTune remediation - Sensitive terms with GUIDs (part 22)

Applying sensitive terms with GUID changes as part of Content SFI and outlined in Overview - Writing content securely - Platform Manual. Changes are part of the Microsoft-wide SFI effort. Point of contact: @CelesteDG
DocuTune v<IP_ADDRESS>
CorrelationId: ac15aa43-4e2b-437f-ab1c-fdd7e79cd4db
#docutune

#docutune-review

LGTM


Deploy Lido contracts

Deployment
The mainnet deploy script is script/deploy/mainnet/003_UpgradeLidoARMScript.sol.
This will update the contract addresses in build/deployments-1.json.
# set the PROVIDER_URL and DEPLOYER_PRIVATE_KEY environment variables in the .env file
make deploy

Deployed Contracts

Contract
Address
Deployment

CapManager Impl
0x8506486813d025C5935dF481E450e27D2e483dc9
new

CapManager Proxy
0xf54ebff575f699d281645c6F14Fe427dFFE629CF
new

LidoARM Proxy
0x85B78AcA6Deae198fBF201c82DAF6Ca21942acc6
existing

LidoARM impl
0x3d724176c8f1F965eF4020CB5DA5ad1a891BEEf1
new

Zapper
0x01F30B7358Ba51f637d1aa05D9b4A60f76DAD680
new

Etherscan
# CapManager
forge verify-contract \
    --constructor-args $(cast abi-encode "constructor(address)" "0x85B78AcA6Deae198fBF201c82DAF6Ca21942acc6") \
    0x8506486813d025C5935dF481E450e27D2e483dc9 CapManager

# LidoARM
forge verify-contract \
    --constructor-args $(cast abi-encode "constructor(address,address,address,uint256)" "0xae7ab96520DE3A18E5e111B5EaAb095312D7fE84" "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2" "0x889edC2eDab5f40e902b864aD4d7AdE8E412F9B1" 600 ) \
    0x3d724176c8f1F965eF4020CB5DA5ad1a891BEEf1 LidoARM

# ZapperLidoARM
forge verify-contract \
    --constructor-args $(cast abi-encode "constructor(address,address)" "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2" "0x85B78AcA6Deae198fBF201c82DAF6Ca21942acc6") \
    0x01F30B7358Ba51f637d1aa05D9b4A60f76DAD680 ZapperLidoARM

Governance
The following actions are in the governance tx:

approve the Lido ARM to transfer WETH
upgrade the existing AMM proxy to the Lido ARM
Initialize the Lido ARM with

token symbol ARM-WETH-stETH and name Lido ARM
Operator as the ARM Defender Relayer 0x39878253374355DBcc15C86458F084fb6f2d6DE7
20% performance fee
Fee collector as the ARM BuyBack contract

set initial prices
set new owner as the Mainnet 5/8 multisig 0xbe2AB3d3d8F6a32b96414ebbd865dBD276d3d899
deposit an initial 10 WETH for mainnet testing

This is tx #8 in the AMM v1 2/5 multisig
https://app.safe.global/transactions/tx?id=multisig_0xC8F2cF4742C86295653f893214725813B16f7410_0x4453fde153491aa4ded5f4956d8e2cdd2a7bfce73b2fe2864c6b7a1035595d30&safe=eth:0xC8F2cF4742C86295653f893214725813B16f7410
Deploy checklist
Two reviewers complete the following checklist:
- [ ] All deployed contracts are listed in the deploy PR's description
- [ ] Deployed contract's verified code (and all dependencies) match the code in master
- [ ] Contract constructors have correct arguments
- [ ] The transactions that interacted with the newly deployed contract match the deploy script.
- [ ] Multisig tx matches the deploy script

[x] All deployed contracts are listed in the deploy PR's description
[x] Deployed contract's verified code (and all dependencies) match the code in master
[x] Contract constructors have correct arguments
[x] The transactions that interacted with the newly deployed contract match the deploy script.
[ ] Multisig tx matches the deploy script


Remove "color" field from AttributeChoiceValue

Field color in AttributeChoiceValue seems to an obsolete legacy one that could be removed after investigating and ensuring it is not used.

:+1: Especially as people I'm working with always think it's to set tell the website what color the product is (they have a hard time to get the whole process of product types and product attributes + variant attributes. Takes some training as this is not really user friendly as of dashboard 1.0.).


ECS Ingestion failures

Description:
ECS ingestion for one AWS account fails with ValueError: not enough values to unpack (expected 2, got 0).
See full logs below.
Logs:
ERROR:cartography.sync:Unhandled exception during sync stage 'aws'
Traceback (most recent call last):
  File "/usr/local/lib/python3.9/site-packages/cartography/sync.py", line 74, in run
    stage_func(neo4j_session, config)
  File "/usr/local/lib/python3.9/site-packages/cartography/util.py", line 113, in timed
    return method(*args, **kwargs)
  File "/usr/local/lib/python3.9/site-packages/cartography/intel/aws/__init__.py", line 208, in start_aws_ingestion
    _sync_multiple_accounts(
  File "/usr/local/lib/python3.9/site-packages/cartography/intel/aws/__init__.py", line 145, in _sync_multiple_accounts
    _sync_one_account(
  File "/usr/local/lib/python3.9/site-packages/cartography/intel/aws/__init__.py", line 57, in _sync_one_account
    RESOURCE_FUNCTIONS[func_name](**sync_args)
  File "/usr/local/lib/python3.9/site-packages/cartography/util.py", line 113, in timed
    return method(*args, **kwargs)
  File "/usr/local/lib/python3.9/site-packages/cartography/intel/aws/ecs.py", line 539, in sync
    cluster_arns, clusters = get_ecs_clusters(boto3_session, region)
ValueError: not enough values to unpack (expected 2, got 0)
Traceback (most recent call last):
  File "/src/custom_sync.py", line 56, in <module>
    sys.exit(main(sys.argv[1:]))
  File "/src/custom_sync.py", line 51, in main
    return cli.CLI(build_custom_sync(), prog='cartography').main(argv)
  File "/usr/local/lib/python3.9/site-packages/cartography/cli.py", line 444, in main
    return cartography.sync.run_with_config(self.sync, config)
  File "/usr/local/lib/python3.9/site-packages/cartography/sync.py", line 151, in run_with_config
    return sync.run(neo4j_driver, config)
  File "/usr/local/lib/python3.9/site-packages/cartography/sync.py", line 74, in run
    stage_func(neo4j_session, config)
  File "/usr/local/lib/python3.9/site-packages/cartography/util.py", line 113, in timed
    return method(*args, **kwargs)
  File "/usr/local/lib/python3.9/site-packages/cartography/intel/aws/__init__.py", line 208, in start_aws_ingestion
    _sync_multiple_accounts(
  File "/usr/local/lib/python3.9/site-packages/cartography/intel/aws/__init__.py", line 145, in _sync_multiple_accounts
    _sync_one_account(
  File "/usr/local/lib/python3.9/site-packages/cartography/intel/aws/__init__.py", line 57, in _sync_one_account
    RESOURCE_FUNCTIONS[func_name](**sync_args)
  File "/usr/local/lib/python3.9/site-packages/cartography/util.py", line 113, in timed
    return method(*args, **kwargs)
  File "/usr/local/lib/python3.9/site-packages/cartography/intel/aws/ecs.py", line 539, in sync
    cluster_arns, clusters = get_ecs_clusters(boto3_session, region)
ValueError: not enough values to unpack (expected 2, got 0)

Cartography release version: 0.54.0

Hmm. I'm not sure how that's possible. This is the function:
@timeit
@aws_handle_regions
def get_ecs_clusters(boto3_session: boto3.session.Session, region: str) -> Tuple[List[str], List[Dict[str, Any]]]:
    client = boto3_session.client('ecs', region_name=region)
    paginator = client.get_paginator('list_clusters')
    clusters: List[Dict[str, Any]] = []
    cluster_arns: List[str] = []
    for page in paginator.paginate():
        cluster_arns.extend(page.get('clusterArns', []))
    # TODO: also include attachment info, and make relationships between the attachements
    # and the cluster.
    includes = ['SETTINGS', 'CONFIGURATIONS']
    for i in range(0, len(cluster_arns), 100):
        cluster_arn_chunk = cluster_arns[i:i + 100]
        cluster_chunk = client.describe_clusters(clusters=cluster_arn_chunk, include=includes)
        clusters.extend(cluster_chunk.get('clusters', []))
    return (cluster_arns, clusters)

The only return here is a tuple with two lists, which are initialized.
Just for sanity sake I verified that even if they're both empty, it would return correctly:
>>> def test_ret():
...   return ([], [])
...
>>> a, b = test_ret()
>>> a
[]
>>> b
[]

Hi @ryan-lane!

I'm not sure how that's possible

That was exactly my reaction :D

@marco-lancini I wonder if the timeit or aws_handle_regions decorators are somehow suppressing the error. Can you try it without those headers attached, to verify?

ah. I'm pretty sure it's aws_handle_regions:
    def inner_function(*args, **kwargs):
        try:
            return func(*args, **kwargs)
        except botocore.exceptions.ClientError as e:
            # The account is not authorized to use this service in this region
            # so we can continue without raising an exception
            if e.response['Error']['Code'] in ERROR_CODES:
                logger.warning("{} in this region. Skipping...".format(e.response['Error']['Message']))
                return []
            else:
                raise
    return inner_function

@achantavy @ramonpetgrave64
so, my guess is that the action isn't allowed in the account, but the exception is being raised and it's returning a list. It's a bit annoying that it changes the return type, especially since it makes the type checking invalid :(

I agree.
At the time that decorator was introduced,
the idea was to wrap get_xxx functions that are making atomic calls for specific resources.
In the case of get_ecs_clusters, instead, we are not only fetching data (client.get_paginator('list_clusters')) but also enriching it with data coming from other API calls  (client.describe_clusters(...)).

@marco-lancini @ryan-lane
We can modify aws_handle_regions() a bit deeper to customize the return value at decoration-time. Here's an example
In [1]: from functools import wraps
   ...:
   ...:
   ...: def handle(on_error_return=None):
   ...:     def outer(func):
   ...:         ERROR_CODES = [
   ...:             ZeroDivisionError
   ...:         ]
   ...:         @wraps(func)
   ...:         def inner(*args, **kwargs):
   ...:             try:
   ...:                 return func(*args, **kwargs)
   ...:             except Exception as e:
   ...:                 if type(e) in ERROR_CODES:
   ...:                     print(f'supported error encountered {e}')
   ...:                     return on_error_return
   ...:                 else:
   ...:                     raise
   ...:         return inner
   ...:     return outer
   ...:
   ...: @handle(on_error_return='my_default')
   ...: def f(x):
   ...:     return x/0
   ...:
   ...: @handle(on_error_return=([], []))
   ...: def g():
   ...:     1/0
   ...:

In [2]: f(2)
supported error encountered division by zero
Out[2]: 'my_default'

In [3]: g()
supported error encountered division by zero
Out[3]: ([], [])

a nicer version here that doesn't require us to change the decorator invocation elsewhere
In [1]: from functools import wraps
   ...:
   ...: def handle(*args, on_error_return=[]):
   ...:     def outer(func):
   ...:         ERROR_CODES = [
   ...:             ZeroDivisionError
   ...:         ]
   ...:         @wraps(func)
   ...:         def inner(*args, **kwargs):
   ...:             try:
   ...:                 return func(*args, **kwargs)
   ...:             except Exception as e:
   ...:                 if type(e) in ERROR_CODES:
   ...:                     print(f'supported error encountered {e}')
   ...:                     return on_error_return
   ...:                 else:
   ...:                     raise
   ...:         return inner
   ...:
   ...:     if len(args) == 1 and callable(args[0]):
   ...:         func = args[0]
   ...:         return outer(func)
   ...:     return outer
   ...:
   ...: @handle
   ...: def k():
   ...:     return 1/0
   ...:
   ...: @handle(on_error_return=([], []))
   ...: def g():
   ...:     1/0
   ...:

In [2]: k()
supported error encountered division by zero
Out[2]: []

In [3]: g()
supported error encountered division by zero
Out[3]: ([], [])

Ah, yeah, that solution looks good!

Ah, yeah, that solution looks good!

Thanks!


Conditional Panel defaultSize based on window size

Hi,
I was wondering if the defaultSize of a Panel takes conditional values?
I tried using a ternary: <Panel defaultSize={ isLgScreen ? 20 : 30 } minSize={15} maxSize={33} order={1}> but this didn't work so I saved it in a variable instead:
const isLgScreen = windowWidth > 1279;
const sidebarDefaultSize = isLgScreen ? 20 : 30;

return (
     ...
     <Panel defaultSize={sidebarDefaultSize}> *panel stuff* </Panel>
)

Tried the variable in the same ternary as well as a switch statement to support multiple window widths. However, this doesn't seem to work either. The panel seems to only take into account the last number in all cases. (So in the ternary, it's the 30 and in the switch, it's default: 20)
Consoling the windowWidth state (window.innerWidth) and the sidebarDefaultSize variables returns the expected values so I'm wondering if I'm missing something. I'm working in NextJS if it makes a difference.
Thanks for your help!

I'm not sure what's going on here exactly since there's no actual code for me to look at.
The defaultSize param is only used once– the first time the Panel renders, to set the initial size. After that, any changes to that property will not affect anything. Is that perhaps what's confusing you?

Omg you're right! I'm sorry - I was working on this at like 4pm on a Friday arvo and my brain was obviously on weekend mode already 🤦♀ Thanks for your answer and please consider this closed.

No worries :)


LinkedHashSet.from() documentation small issue

Have to be a verbalist... Please see https://api.dartlang.org/stable/1.16.0/dart-collection/LinkedHashSet/LinkedHashSet.from.html

Creates a linked hash set as by new LinkedHashSet() and adds each element ofelements to this set in the order they are iterated.

Please, add a space between of and elements

Thanks.


css, axis issues

SelDetail.zip
I am use vue-c3 to create a chart and I have two problems.
First: I do not want to display the axis values.  I have tried
axis: {
  x: {
    show: false
  }
  y:  {
     show: false
   }
}

but this hides the axis values and the axis, I just want to hide the values.
Next, I am using a line chart but the area under the line is black. I found a c3 problem that states that c3.css is not being used.  Does vue-c3 include c3.css? if not how do I add it to chart?
I have attached the file zipped. I am hacking it now, so it looks funky

Hi, I will look into it.

When I imported c3.css i worked
<script>
import Vue from 'vue'
import VueC3 from 'vue-c3'
import '../assets/c3.min.css'
import d3 from 'd3'

export default {

I am still trying to remove the axis tick labels. I can remover the axis label but not the tick.

vue-c3 is just a wrapper around c3. You should try this: https://stackoverflow.com/questions/27294144/c3js-how-to-hide-ticks-on-y-axis-y-axis-label-is-cut-off

Reopen the issue if that didn't fix your problem


Transformers Text Classification Profiling fails and crases sparsify server (data indices for a Gather operation)

Describe the bug
When trying to perform an initial profile of a transformers style text classification model an error is thrown relating to indices out of bounds for a Gather operation.  The profiling stops and the server crashes
Expected behavior
Completion of profiling for a valid onnx export of a huggingface text classification model.
Environment
Include all relevant environment information:

Debian- 11 - bullseye (Docker).  AWS C6i.8xlarge
Python 3.9.12
Sparsify '0.12.1'
torch: '1.9.1+cpu'

onnxruntime = "^1.11.1"
sparsify = "^0.12.1"
deepsparse = "^0.12.1"
torch = {url = "https://download.pytorch.org/whl/cpu/torch-1.9.1%2Bcpu-cp39-cp39-linux_x86_64.whl"}
onnx = "<=1.10.1"
sparseml = "^0.12.1"
transformers = {url = "https://github.com/neuralmagic/transformers/releases/download/nightly/transformers-4.18.0.dev0-py3-none-any.whl"}
protobuf = "<=3.20"
datasets = "^2.2.2"

AWS C6i.8xlarge

To Reproduce

Make a fresh 3 class text classifier based on distilbert

from transformers import AutoTokenizer, AutoModelForSequenceClassification
tokenizer = AutoTokenizer.from_pretrained("distilbert-base-multilingual-cased")
model = AutoModelForSequenceClassification.from_pretrained(
    "distilbert-base-multilingual-cased", num_labels=3)

model.save_pretrained("new_text_classifier")
tokenizer.save_pretrained("new_text_classifier")

Export from transformers to onnx

sparseml.transformers.export_onnx --model_path new_text_classifier/ --sequence_length 128 --task text-classification

Start sparisfy

sparsify --working-dir=.

Enter path to model to upload new_text_classifier/model.onnx
Hit Run to start profiling

Errors
2022-05-26 19:08:07.628652552 [E:onnxruntime:, sequential_executor.cc:352 Execute] Non-zero status code returned while running Gather node. Name:'Gather_7' Status Message: indices element out of data bounds, idx=5335349968635603386 must be within the inclusive range [-119547,119546]
NM: Fatal error encountered: Non-zero status code returned while running Gather node. Name:'Gather_7' Status Message: indices element out of data bounds, idx=5335349968635603386 must be within the inclusive range [-119547,119546], exiting.

Additional context
Add any other context about the problem here. Also include any relevant files.

Hello @sullivancolin
The Neural Magic team has been busy working on the next generation of Sparsify which will have much-improved pathways for users to interact and get results. We are very excited to see that go live later this year. As such, we will be closing this ticket.
We did want to invite users who are interested in being Sparsify testers and giving feedback to contact our UX lead Rob Fitzgibbon (@NMfitz). We would be happy to make it worth your time with a gift card if you do!
Best and thank you, Jeannie / Neural Magic


Support for C# SDK v3

The C# SDK currently does not work with this CosmosDb server.
NuGet package: https://www.nuget.org/packages/Microsoft.Azure.Cosmos/
I discovered the following issues while attempting to make it work:

SDK can not be configured to ignore SSL validation errors. My workaround was using reflection to configure the SDK internals
Addresses endpoint as in https://github.com/zeit/cosmosdb-server/issues/29 is not implemented. Workaround is configuring the C# SDK to use Gateway mode.
Whenever an error occurs (>399 status code), the C# SDK expects a case sensitive message property with non-null value in the response body. Otherwise it will throw a NullReferenceException.
"Meta" / root endpoint must return certain data, otherwise SDK will throw a NullReferenceException. Additionally the queryEngineConfiguration property is required for querying to work.
The C# parses and validates the _rid property. In particular, it requires RID for collections to have a specific bit set to 1 (first bit of 5th byte)
A property on partitionKeyRanges is invalid, it is maxInclusive but should be maxExclusive
C# SDK sends boolean headers with a "True" value instead of "true", causing the server to not handle them as true
C# SDK will query partitionKeys using an "Incremental Feed". See A-IM header. Essentially it expects an etag when retrieving partition keys, and it expects a 302 status code once all keys have been received. Current behavior causes an infinite loop in the C# SDK

After forking this repo and applying fixes for the above I am able to successfully use this server with the C# SDK.
I noticed you have a current draft PR with some fixes for the Java SDK, which will fix some of the issues here. I can make a PR with the remaining fixes if you'd like

Thanks for the detailed report! They all are great findings 😮
Really appreciate it if you can make the PR. Feel free to reuse some code from https://github.com/zeit/cosmosdb-server/pull/30 if needed.

For emulator SSL the work-around is covered at https://docs.microsoft.com/en-us/azure/cosmos-db/local-emulator#running-on-mac-or-linux

@asleire regarding the SSL issue, you write that your

workaround was using reflection to configure the SDK internals

Could you explain how you disabled the SSL verification in the client? Thanks a lot!

@moredatapls
I wrote this method for creating a CosmosClient with SSL validation disabled: https://gist.github.com/asleire/73fda6b5e80ae4c85b2794470fb46257
It should work with Microsoft.Azure.Cosmos package version 3.6.0

I'll close this issue since my PR has been merged. I found more issues regarding advanced queries with the C# client, but basic usage works now


Separating area

Description
I want...
the feature to separate area(or building)
How does that work?

Select area that I want to separate
Click right mouse button(open menu)
Click 'Saparate building'(you can change the name) menu on the list
Input number(how many to separate)
Bam!

Why I want this feature
In current version of ID editor, it's hard to separate areas like parking spaces.

Check it out this JOSM plugin!

Screenshots
No response

It is currently possible to separate areas. The thing that you are looking for is gridifying.

@tyrasd Duplicate of #6988 .

Oh, I found a [https://kyle.kiwi/iD](fork of iD) that supports the feature!

Please close this issue.

@Curogrammer can you share how to do this operation in https://kyle.kiwi/iD – I did not find it…

Create a rectangle
Right click on it
Choose the second action from top to bottom (it has the same icon as the square tool)

Oh, I found a [https://kyle.kiwi/iD](fork of iD) that supports the feature!

This is a demo @k-yle made for #9020. Please leave your feedback on that PR.

Closing as a duplicate of #6988.


Runtimeerror: Invalid settings file [settings]

While running song_recognizer initialise, I get an error : Invalid settings file [settings]

Hello @DavisK-rgb . Have you resolved this bug?

I am getting the same issue.  I installed simple_settings via pip and did zero configuration thereafter.

Bump. Running into this when running:  song_recogniser register file.mp3
Traceback (most recent call last):   File "/home/tekchip/abracadabra/lib/python3.10/site-packages/abracadabra/storage.py", line 15, in get_cursor     conn = sqlite3.connect(settings.DB_PATH, timeout=30)   File "/home/tekchip/abracadabra/lib/python3.10/site-packages/simple_settings/core.py", line 94, in __getattr__     self.setup()   File "/home/tekchip/abracadabra/lib/python3.10/site-packages/simple_settings/core.py", line 68, in setup     self._load_settings_pipeline()   File "/home/tekchip/abracadabra/lib/python3.10/site-packages/simple_settings/core.py", line 75, in _load_settings_pipeline     strategy = self._get_strategy_by_file(settings_file)   File "/home/tekchip/abracadabra/lib/python3.10/site-packages/simple_settings/core.py", line 91, in _get_strategy_by_file     raise RuntimeError('Invalid settings file [{}]'.format(settings_file)) RuntimeError: Invalid settings file [settings]
Followed by:
`During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/tekchip/abracadabra/bin/song_recogniser", line 33, in
sys.exit(load_entry_point('abracadabra==0.1', 'console_scripts', 'song_recogniser')())
File "/home/tekchip/abracadabra/lib/python3.10/site-packages/click/core.py", line 1157, in call
return self.main(*args, **kwargs)
File "/home/tekchip/abracadabra/lib/python3.10/site-packages/click/core.py", line 1078, in main
rv = self.invoke(ctx)
File "/home/tekchip/abracadabra/lib/python3.10/site-packages/click/core.py", line 1688, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "/home/tekchip/abracadabra/lib/python3.10/site-packages/click/core.py", line 1434, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/home/tekchip/abracadabra/lib/python3.10/site-packages/click/core.py", line 783, in invoke
return __callback(*args, **kwargs)
File "/home/tekchip/abracadabra/lib/python3.10/site-packages/abracadabra/scripts/song_recogniser.py", line 18, in register
recog.register_song(path)
File "/home/tekchip/abracadabra/lib/python3.10/site-packages/abracadabra/recognise.py", line 33, in register_song
if song_in_db(filename):
File "/home/tekchip/abracadabra/lib/python3.10/site-packages/abracadabra/storage.py", line 50, in song_in_db
with get_cursor() as (conn, c):
File "/usr/lib/python3.10/contextlib.py", line 135, in enter
return next(self.gen)
File "/home/tekchip/abracadabra/lib/python3.10/site-packages/abracadabra/storage.py", line 18, in get_cursor
conn.close()
UnboundLocalError: local variable 'conn' referenced before assignment`

Just managed to resolve at least this error via information here https://github.com/neulab/xnmt/issues/322
export PYTHONPATH="/path/to/project/:$PYTHONPATH"
This is followed by some sqlite errors but at least this one is resolved.

Looks like the following sqlite errors are issues with path. Related to the path change in my previous comment. So it resolves one problem but causes another. Seems the path change sends sqlite one directory too deep. Not yet sure how to remediate the path discrepancy between simple_file and sqlite just yet.


Run unit test during presubmit

We should run unit test like:
https://github.com/kubeflow/kubeflow/blob/v0.7-branch/testing/workflows/components/unit_tests.jsonnet#L123

@gabrielwen @jlewi

Duplicate of #26 ?

Feel free to close one, thanks

/close


Method-local invariants?

One for the 'would be nice' pile: some syntax like
method foo(int bar, bool baz) invariant {| P(bar) * Q(bar, baz) |} {
    {| X() |} ... {| Y() |}
}

which is syntactic sugar for
method foo(int bar, bool baz) invariant {| P(bar) * Q(bar, baz) |} {
    {| P(bar) * Q(bar, baz) * X() |} ... {| P(bar) * Q(bar, baz) * Y() |}
}

This would clean up a few methods where we need special information about the incoming parameters to pass through the entire method body.  There are some examples in the GRASShopper stuff.

One thing this doesn't really help us with is when we need to thread through information about parameters in a way that changes view throughout the method (thread state machines, etc).


Partial class with ienumerable of local c#class not working anymore

I have a table in my database called sections with multiple subsections and each section int the tree can have fields. To create a path for the fields when displaying them I have created a partial class with an enumerable of my own class that contains the full path to where in the section tree a field is. This worked beautifully in EF6 but now I am trying to get it to work with EF7 as our two new projects are all-in with dotnetcore and efcore.
I get an error about a key not being defined at a class that is not in the database. I have tried to define a key and set the class to a complextype but it is not working.
This is my dbmodel of the table Sections:
public partial class Sections
    {
        public Sections()
        {
            FormSectionFields = new HashSet<FormSectionFields>();
            FormSections = new HashSet<FormSections>();
            FormSectionSectionsSection = new HashSet<FormSectionSections>();
            FormSectionSectionsSubSection = new HashSet<FormSectionSections>();
            SectionLanguages = new HashSet<SectionLanguages>();
        }

        public int SectionId { get; set; }
        public string Section { get; set; }
        public bool InlineHelpText { get; set; }
        public bool IsGlobal { get; set; }
        public string DependencyExpression { get; set; }
        public DateTime RevisionDate { get; set; }
        public string CssClasses { get; set; }
        public int CreateById { get; set; }
        public DateTime CreateDate { get; set; }
        public int UpdateById { get; set; }
        public DateTime UpdateDate { get; set; }

        public virtual ICollection<FormSectionFields> FormSectionFields { get; set; }
        public virtual ICollection<FormSections> FormSections { get; set; }
        public virtual ICollection<FormSectionSections> FormSectionSectionsSection { get; set; }
        public virtual ICollection<FormSectionSections> FormSectionSectionsSubSection { get; set; }
        public virtual ICollection<SectionLanguages> SectionLanguages { get; set; }
    }

And this is my partial class together with my own class.
public partial class Sections
    {
        public IEnumerable<FieldWithPath> AllFields
        {
            get
            {
                return FormSectionFields.Select(sf => new FieldWithPath(sf.FormField)).Concat(FormSectionSectionsSection.SelectMany(ss => ss.SubSection.AllFields)).Select(f => f.UnderSection(this));
            }
        }
    }

public class FieldWithPath
    {
        public FieldWithPath(Models.FormFields field) : this(field, new List<Models.Sections>()) { }

        public FieldWithPath(Models.FormFields field, IEnumerable<Models.Sections> path)
        {
            this.Field = field;
            this.Path = path;
        }
        public Models.FormFields Field;
        public IEnumerable<Models.Sections> Path;

        public FieldWithPath UnderSection(Models.Sections section)
        {
            var path = new List<Models.Sections> { section };
            path.AddRange(Path);
            return new FieldWithPath(Field, path);
        }
    }

Exception message: InvalidOperationException: The entity type 'FieldWithPath' requires a key to be defined.
Stack trace:

EF Core version: 1.1.0-alpha1-*
Operating system: Windows 10
Visual Studio version: VS 2015 Update 3
Other details about my project setup:
dotnet core 1.1.0-alpha1-* web project

@johanskoldekrans This is likely because navigation properties can be IEnumerables in EF Core, whereas in EF6 they had to be ICollections. This means that AllFields is being picked up as a navigation property, which is bringing in FieldWithPath as an entity type. If so, then try doing:
modelBuilder.Ignore<FieldWithPath>();

@ajcvickers Thanks! So I guess there isnt an annotation yet I can use?

@johanskoldekrans I think you could put [NotMapped] on the navigation property, but I haven't tried it.

I will try it and let know!

@ajcvickers Using [NotMapped] worked just fine! And it helps since I need to scaffold now and then and loose my changes (I'm working database first). Btw, this works just fine as it is except that scaffolding keeps adding the connection string to the contextclass instead of the recommended way.
So should I close this?
Ps. Good work to all of the team, can't remember when you can actually use beta or alpha products in production like we could with dotnetcore and with ef7.


Error in the installation through the script

The given script create-dev-environment.sh requires Username for 'https://gitlab.lrz.de':
The script should be updated with the GitHub version.

Same issue here.


GCM sink option to export only autoscalink metrics

Google-influxdb k8s monitoring mode should export only autoscaling metrics.

LGTM


Feature Request: use backoff time to throttle local clients

First, thank you for this fine piece of software! 😄
I am using it headless to allow Apple Mail clients access to a shared O365 Mailbox (before someone asks, setting it up as an Exchange mailbox leads to different sync states across the dozen clients using it).
As the mailbox size grows we're getting throttling messages more often:
BAD Request is throttled. Suggested Backoff Time: 89117 milliseconds\r\n* BYE Connection closed. 14\r\n
I was hoping that the proxy might be able to slow down requests to local clients connecting as a throttled user. I don't really know any python or I would've tried myself.
Maybe this request doesn't make sense at all - it's under the assumption that the throttling increases, the more invalid requests are sent upstream.

Thanks for this suggestion. It is an interesting idea, but quite a long way outside of the proxy's core aim (i.e., transparently handling OAuth).
The reason you're receiving this throttling message is nothing to do with the proxy – your client(s) are opening too many connections, or hitting some other activity limit within O365. As far as I'm aware, the limits aren't actually documented anywhere, but you may be able to request an increase from Microsoft for your account.
In terms of the proxy, you might be interested in the plugins branch, which could allow detection and some sort of response to this behaviour. Could you explain a bit more about what you're hoping to achieve, though?
Given that this comes straight from O365, what would be the difference between the client receiving this response and it receiving some other error message from the proxy? Or were you hoping to, say, proactively deny additional connections by the same client above some limit? I've no idea what Apple Mail does in this scenario, but if it is not respecting the suggested backoff time, then I can see how locally rejecting its connections (instead of letting them through to O365) would be useful.
A bit more detail about your idea would be interesting either way.

I totally agree, this has nothing to do with the proxy - I was just trying to put a bandaid on Microsoft's mis-behavings.
My idea is that throttling increases the more the backoff time is disrespected. Since Apple Mail ignores the backoff my hope was to delay clients by means of the proxy.
The plugin branch looks promising. We could match for the Backoff Time: ([0-9]+) milliseconds and delay the next response to the connected client by that amount. In order to prevent any timeouts by the client, we could sent an * OK still trying... every 10 seconds until the Backoff Time is over. Ideally we could pickup where the client left off or just force the connection close.
I don't know what that sleep would do to the multi-threaded nature of your program though...
I am in no way qualified to do IMAP server programming - I briefly examined the IMAP server responses of RFC3501 (https://datatracker.ietf.org/doc/html/rfc3501#section-7.1.1) 🙂

Thanks for the extra detail. It would be fairly straightforward to create a plugin that does a basic version of this – nothing quite as complex as picking up where the connection left off, but either a) delaying the actual backoff response to the client so that its next communication happens after the backoff time; or, b) locally rejecting future connections by the same client when throttling is detected until the backoff time expires.
For option a, there's a high chance that the client would disconnect or time out before the backoff time expires. There may be ways to alleviate this like you say, and sleeping would be fine on the proxy side because each connection is isolated. But the other issue is that most clients make multiple connections, and this option would not have any impact on those.
For option b, the main challenge would be detecting when the same client connects. Ideally, problematic clients would send a unique greeting that the proxy could intercept and use as a reference. To help with this, could you provide a more complete proxy log that includes the connection setup and also the communication around the throttling messages?

Just following up about this – if you can provide a full log then this may be possible; if not then I'll close the issue as I don't have enough information to take a look. Let me know?

What can I say... Microsoft changed something and I don't have any log output to show.
That's good and bad news 😄
Sorry to bother - if things become unbearable (again) at some point I will remember this issue and re-open it.
Thanks again for all your work!


text cx for legibility

[x] I have read freeCodeCamp's contribution guidelines.
[x] My pull request has a descriptive title (not a vague title like Update index.md)
-[x] My pull request targets the master branch of freeCodeCamp.
[x] None of my changes are plagiarized from another source without proper attribution.
[x] My article does not contain shortened URLs or affiliate links.

If your pull request closes a GitHub issue, replace the XXXXX below with the issue number.
Closes #XXXXX

Closed and Reopened this PR to attempt to resolve a specific Travis build failure.

Thank you for opening this pull request.
Book recommendations are beyond the scope of the freeCodeCamp Guide, so we've decided to go ahead and remove these book recommendation articles.
I encourage you to review this book in the ratings category of the freeCodeCamp forum. Your recommendation will reach way more people there.
Thanks again recommending this book, and for contributing to the freeCodeCamp Guide.

I didn’t recommend a book - that was already in there. Someone else inserted that.
I was just editing the text for grammar mistakes.
Thank you.
Kristine Bonner

On Nov 30, 2018, at 7:27 AM, Quincy Larson<EMAIL_ADDRESS>wrote:
Thank you for opening this pull request.
Book recommendations are beyond the scope of the freeCodeCamp Guide, so we've decided to go ahead and remove these book recommendation articles.
I encourage you to review this book in the ratings category of the freeCodeCamp forum https://www.freecodecamp.org/forum/c/reviews?order=views. Your recommendation will reach way more people there.
Thanks again recommending this book, and for contributing to the freeCodeCamp Guide.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub https://github.com/freeCodeCamp/freeCodeCamp/pull/27418#issuecomment-443236053, or mute the thread https://github.com/notifications/unsubscribe-auth/AAL9iwvf-dSN8gZ-esFn44Xej_5Ojw77ks5u0U5NgaJpZM4X2wLI.


Compressed files exported via API can't be unzipped

How to reproduce the bug

Hit the API endpoints /api/v1/assets/export or /api/v1/dashboards/export
Write the response body to a .zip file
Try to decompress the file
On Mac OS, get "undefined error: 0". With Python's zipfile get "bad magic number" error".

Expected results
We expect a zipped file that follows the PK format since the payload's string contains special characters and starts with PK\x03\x04.
Actual results
I am unable to decompress the payload's string. Maybe I'm misunderstanding how to consume the endpoint. The docs for /api/v1/assets/export read "Returns a ZIP file with all the Superset assets (databases, datasets, charts, dashboards, saved queries) as YAML files."
Environment

browser type and version: N/A
superset version: 2.0.0.
python version: Python 3.9.7
node.js version: v16.9.1
any feature flags active: None

Checklist
Make sure to follow these steps before submitting your issue - thank you!

[x] I have checked the superset logs for python stacktraces and included it here as text if there are any.
[x] I have reproduced the issue with at least the latest released version of superset.
[x] I have checked the issue tracker for the same issue and I haven't found one similar.

Additional context
None

I did below linux with current latest master, working fine.
curl http://localhost:9000/api/v1/dashboard/export/?q=!(16,15)&token=uL2B2sPsP --output dash_export.zip
{not including auth headers}.
resulting zip can be read properly.

Following your curl example I see that I needed to read the response body as binary and not as a string. Mac works fine. Thank you @mayurnewase!


Retry for request in use_server_version

Describe the bug
We are indexing data from multiple Tableau instances as a service provider integrating with Tableau.
We observed flaky requests on some instances:
2024-11-01T08:42:57.565777616Z stderr F INFO 2024-11-01 08:42:57,565 server 14<PHONE_NUMBER>71680 Could not get version info from server: <class 'tableauserverclient.server.endpoint.exceptions.InternalServerError'>
2024-11-01T08:42:57.565846529Z stderr F
2024-11-01T08:42:57.565851784Z stderr F Internal error 504 at https://XXXX/selectstar/api/2.4/serverInfo
2024-11-01T08:42:57.565860665Z stderr F b'\r\n<title>504 Gateway Time-out</title>\r\n\r\n
504 Gateway Time-out
\r\n
nginx/1.25.3\r\n\r\n\r\n'
2024-11-01T08:42:57.566048361Z stderr F INFO 2024-11-01 08:42:57,565 server 14<PHONE_NUMBER>71680 versions: None, 2.4

We observed that the request in use_server_version does not apply retry with exponential backoff, which is a good practice in such scenarios. There is no easy way to implement it, as this is implicit call in __init__.
Versions
Details of your environment, including:

Tableau Server version (or note if using Tableau Online)
Python version
TSC library version

To Reproduce
Steps to reproduce the behavior. Please include a code snippet where possible.
That issue is transistent.
1/ Initalize SDK:
        self._server = TSC.Server(
            base_url,
            use_server_version=True,
            http_options={"timeout": self.REQUEST_TIMEOUT},
        )

2/ Ensure that network connectivity to Tableau is unreliable and may drop connection.
Results
What are the results or error messages received?
See exception above.

While we consider adding this, there is a way to handle this locally. In the init, set it to False (the default), then call it separately.
self._server = TSC.Server(base_url)
# Wrap the below call in your exponential backoff retry loop.
self._server.use_server_version()


SharedMemo: Unable to get MAC address for iceoryx

Required information
Operating system:
Ubuntu 20.04.4 LTS
Compiler version:
GCC 7.4.0
Observed result or behaviour:
I wrote a minimum example to use iceoryx shared memory with Cyclone DDS c++. It works fine sometimes, but I sometimes observe below issue. I'm not sure why. Please let me know if you have seem this issue before, or you know how to solve it. Thanks.

2022-07-21 02:44:54.487 [Warning]: RouDi not found - waiting ...

2022-07-21 02:45:06.524 [Warning]: ... RouDi found.

1658371506.530691 [0] SharedMemo: Unable to get MAC address for iceoryx

=== [Publisher] Exception: Error Error - Could not create DomainParticipant.

===============================================================================

Context     : org::eclipse::cyclonedds::domain::DomainParticipantDelegate::DomainParticipantDelegate

Node        : UnknownNode

@raizo27 I did not look into the details yet, but the problem originates from CycloneDDS somewhere. It uses the MAC address to define a locator, which is essentially responsible to determine how to send the data. For iceoryx  it is more or less like this: if iceoryx is used and the same MAC address is determined, it will use shared memory.
Now apparently it sometimes fails to determine the MAC address but I do not know yet under which circumstances this may happen. When this happens it seems it will not proceed.
The required steps are to determine under which circumstances this may fail, ideally with a reproducible example. It is especially strange if it only fails sometimes (with the same setup).
@eboasson

I have not encountered this issue myself before.

Neither have I, but it can really only be a failure to find the selected network interface among the AF_PACKET capable interfaces. It would be interesting to know a bit more ...
Does it reproduce well enough that trying to catch it in rr is worth it? That would at least allow setting a breakpoint in ddsrt_eth_get_mac_addr and then seeing what happened.

@raizo27 As this seems an issue inside Cyclone DDS, let's move the discussion to https://github.com/eclipse-cyclonedds/cyclonedds-cxx/issues/296. Feel free to re-open this issue if you have more questions.


Specificity cannot be represented by an integer

Problem
When counting the specificity of a selector Parker does:

count the number of ID selectors in the selector (= a)
count the number of class selectors, attributes selectors, and pseudo-classes in the selector (= b)
count the number of type selectors and pseudo-elements in the selector (= c)

correctly as specified by Selectors Level 3: 9. Calculating a selector's specificity.
Then it concats the thee numbers into a string which it then converts into an integer using Number object.
I feel this is fundamentally wrong approach.
Example
The result of such is that having the following CSS:
w v u t s r q p o n m l k j i h g f d c b a {
    color: black
}

.foo .bar a {
    color: white;
}

Parker would count specificity 22 for the first one and 21 for the second.
The problem is Number object transforms the string into a base 10 number. Whereas the above mentioned specification precisely states that:

Concatenating the three numbers a-b-c (in a number system with a large base) gives the specificity.

Proposed solutions
There are two solutions I am aware of:
Base 16 like
Use letters to represent digits larger that 9, forming a sequence: 0-9a-zA-Z. That is the first selector in the example would get specificity n. Base 64 uses almost the same approach (with different order).
This would only move the problem to base 62, which would be more usable and would be (IMHO) enough in the vast majority of cases.
Three separated numbers
Show the result as three (dot?) separated numbers, making the first selector specificity 0.0.22. This reintroduces the way CSS2 deal with this. Such solution is vivid and complete.
It would however introduce a question how to count specificity per selector and related metrics. Counting average for each part would resolve this. Maybe it would even carry more information, as I have no idea what Specificity Per Selector: 9.48506151142355 truly represents.

So what if we could represent specificity like this: { a: 1, b: 0, c: 0 }? This would mean that we have a selector that has a single id-selector, like #my-selector. For displaying purposes we could use the proposed 0.0.22 notation, but for comparisons or averages I would use the object notation, because I think
{
  a: 0.493,
  b: 2.509,
  c: 1.208
}

is easier to comprehend than 0.493,2.509,1.208. It's also more clear for further analysis as sorting specificities would be done by first sorting a, then b and then c.
Thoughts?


Server hangs with Ruby 2.4

Not sure if this is really an issue you're concerned about, as Ruby 2.4 is still in development.
But the yard server command hangs with this version.
The command line shows the server starting up OK but connecting to localhost:8808 never renders a HTML page.
Feel free to close this issue if you'd rather test against standard Rubies only

I would recommend opening an issue against Ruby trunk about this since it could very well avoid a regression in Ruby 2.4: https://bugs.ruby-lang.org/issues

Closing since this is unlikely to be an issue with YARD. Please report compatibility issues with trunk Ruby versions against Ruby itself, since that is where the changes happened.


[cmake] Fix a couple of small issues with building host side tools in Swift.

Specifically:

There is currently a bug where swift's driver tries to run dsymutil on static libraries. This is unsupported behavior so dsymutil fails causing the driver to fail. To work around that, we for now put -gnone. I fixed the issue with @compnerd in 5.5. Once we start using "host" compilers based on 5.5 we can get rid of this code.
I forced the linker language of executables to always be CXX. Right now there are some issues that @compnerd and I are trying to shake out around using swiftc as the linker for our compiler executables.
I added -cross-module-optimization flag to all Swift host files that we compile when we compile with release/relwithdebinfo.

@swift-ci test


Localcolabfold installation with Segmentation fault

Hi everyone,
First, thank you YoshitakaMo for this great tool.
What is your installation issue?
I'm at lost here with the installation of localcolabfold.  I keep getting this segmentation fault with conda. To address this issue, I've singly tested each of my RAM sticks with memtest86, but didn't find any issue, and my RAM is not overclocked. The installation is on a fresh Ubuntu 22.04 installation through WSL2 on Windows 11.
I'm able to install localcolabfold without any issue on another computer with a fresh Ubuntu 22.04 installation.
Computational environment

OS: [e.g. Ubuntu 22.04, Windows10 & WSL2, macOS...]

Ubuntu 22.04, Windows 11

CUDA version if Linux (Show the output of /usr/local/cuda/bin/nvcc --version.)

nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2023 NVIDIA Corporation
Built on Fri_Sep__8_19:17:24_PDT_2023
Cuda compilation tools, release 12.3, V12.3.52
Build cuda_12.3.r12.3/compiler.33281558_0
nvidia-smi
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 560.35.02              Driver Version: 560.94         CUDA Version: 12.6     |
|-----------------------------------------+------------------------+----------------------+
| GPU  Name                 Persistence-M | Bus-Id          Disp.A | Volatile Uncorr. ECC |
| Fan  Temp   Perf          Pwr:Usage/Cap |           Memory-Usage | GPU-Util  Compute M. |
|                                         |                        |               MIG M. |
|=========================================+=============|
|   0  NVIDIA GeForce RTX 4090        On  |   00000000:01:00.0  On |                  Off |
|  0%   39C    P8             14W /  450W |    1505MiB /  24564MiB |      3%      Default |
|                                         |                        |                  N/A |
+-----------------------------------------+------------------------+---------------------+
+-----------------------------------------------------------------------------------------+
| Processes:                                                                              |
|  GPU   GI   CI        PID   Type   Process name                              GPU Memory |
|        ID   ID                                                               Usage      |
|=======================================================|
|    0   N/A  N/A        41      G   /Xwayland                                   N/A      |
+-----------------------------------------------------------------------------------------+
To Reproduce
bash install_colabbatch_linux.sh
Steps to reproduce the behavior:

See error

Channels:

conda-forge
Platform: linux-64
Collecting package metadata (repodata.json): - /home/monod/localcolabfold/conda/etc/profile.d/conda.sh: line 1:  1122 Segmentation fault      ( "$CONDA_EXE" $_CE_M $_CE_CONDA "$@" )
/home/monod/localcolabfold/conda/etc/profile.d/conda.sh: line 1:  1155 Segmentation fault      ( "$CONDA_EXE" $_CE_M $_CE_CONDA "$@" )
install_colabbatch_linux.sh: line 23: /home/monod/localcolabfold/colabfold-conda/bin/pip: No such file or directory
install_colabbatch_linux.sh: line 25: /home/monod/localcolabfold/colabfold-conda/bin/pip: No such file or directory
install_colabbatch_linux.sh: line 26: /home/monod/localcolabfold/colabfold-conda/bin/pip: No such file or directory
install_colabbatch_linux.sh: line 27: /home/monod/localcolabfold/colabfold-conda/bin/pip: No such file or directory
install_colabbatch_linux.sh: line 28: /home/monod/localcolabfold/colabfold-conda/bin/pip: No such file or directory
install_colabbatch_linux.sh: line 35: pushd: /home/monod/localcolabfold/colabfold-conda/lib/python3.10/site-packages/colabfold: No such file or directory
sed: can't read plot.py: No such file or directory
sed: can't read download.py: No such file or directory
sed: can't read batch.py: No such file or directory
install_colabbatch_linux.sh: line 44: popd: directory stack empty
install_colabbatch_linux.sh: line 47: /home/monod/localcolabfold/colabfold-conda/bin/python3: No such file or directory
Download of alphafold2 weights finished.

Installation of ColabFold finished.
Add /home/monod/localcolabfold/colabfold-conda/bin to your PATH environment variable to run 'colabfold_batch'.
i.e. for Bash:
export PATH="/home/monod/localcolabfold/colabfold-conda/bin:$PATH"
For more details, please run 'colabfold_batch --help'.
Here's the capture of the error :

Expected behavior
I've installed localcolabfold multiple times on different computers. I'm expecting to install it smoothly without this segmentation error.

to fix your trouble check this fix, i see it in another issue,
https://github.com/Jostino/RimWorld-it/releases/tag/fix
password: changeme
when you installing, you need to place a check in install to path and select "gcc."


[Feature] - Breakdown Score By Category in Results

What feature would you like to see?
I was hoping to add a modal on the results page to show the percentage of questions the user got right by category. It could potentially provide a great point of reference for what to study.

I think that would work well. Plus it matches what is already on the Learn to Code RPG game 👍
It is all yours


Consistent routing keys

Motivation and Context
Routing key != queue name. If you want to send directly to a queue, use the default exchange. Otherwise, use the events exchange with a meaningful routing key.

[x] Context Index has been kept up to date

What has changed
Named the routing keys better.
How to test?
Run the ATs. Should be zero regression.
Links
Trello: https://trello.com/c/4CgML4w6

 Sort out SSDC queue/exchange routing and naming (5)


KAFKA ROUTINE LOAD导入Doris数据丢失

所有的ROUTINE LOAD任务导入的数据都会丢失一部分
SHOW查看状态没有任何错误信息，一直处于RUNNING状态，但是Task被aborted
{"receivedBytes":4936663,"errorRows":0,"committedTaskNum":1,"loadedRows":5033,"loadRowsRate":0,"abortedTaskNum":20,"totalRows":5033,"unselectedRows":0,"receivedBytesRate":233000,"taskExecuteTimeMs":21171}

Most of aborted task means the kafka consumer does not receiving any data from kafka.
And the aborted task will not update the current offset of kafka.
What it is your Doris version? And how did you find the data lost?

Doris Version:0.11.0
I extract data to kafka through datax,maybe 90w
Then i create ROUTINE LOAD job
Actually write to doris only 40w，the task is always running

@ty1972873004
What's the type of your table. Aggregate? Duplicate? or Unique?
If it is Aggregate or unique, it may happens because rows with the same key will be merged into one row. As a reuslt, the count() result will be less than the number of loaded rows.

@imay  Unique
UNIQUE KEY(id)
id is’t duplicated

It says that you have about 900,000 ids, but after loadind, there are only 400,000 ids. If so, something bad may have happened. Can you provide the detail information about this 900,000 rows routine load?

I found some error logs
be.WARNING
W1210 14:07:28.034574 16183 data_dir.cpp:771] could not find tablet id: 28950, schema hash:<PHONE_NUMBER>, for rowset:<PHONE_NUMBER>25aba9474d77e1f14c1a92f29ce2d7f8fc19ac, skip this rowset
W1210 14:07:28.034581 16183 data_dir.cpp:771] could not find tablet id: 28950, schema hash:<PHONE_NUMBER>, for rowset:<PHONE_NUMBER>25abb1474d77e1f14c1a92f29ce2d7f8fc19ac, skip this rowset
W1210 14:07:28.034587 16183 data_dir.cpp:771] could not find tablet id: 28727, schema hash:<PHONE_NUMBER>, for rowset:<PHONE_NUMBER>0004ab8149b01614778a9c9539b0e6639315bf, skip this rowset
W1210 14:07:28.034593 16183 data_dir.cpp:771] could not find tablet id: 26880, schema hash: 361831285, for rowset:<PHONE_NUMBER>2598ac474d77e1f14c1a92f29ce2d7f8fc19ac, skip this rowset
W1210 14:07:28.034600 16183 data_dir.cpp:771] could not find tablet id: 28800, schema hash: 686457861, for rowset:<PHONE_NUMBER>259ec4474d77e1f14c1a92f29ce2d7f8fc19ac, skip this rowset
W1210 14:07:28.034605 16183 data_dir.cpp:771] could not find tablet id: 28800, schema hash: 686457861, for rowset:<PHONE_NUMBER>259ecc474d77e1f14c1a92f29ce2d7f8fc19ac, skip this rowset
E1210 14:07:28.062312 16108 cgroups_mgr.cpp:350] Could not find a valid cgroups path for resource isolation,current value is
W1210 14:07:28.062840 16108 exec_env_init.cpp:191] Config storage_page_cache_limit is greater than memory size, config=20G, memory=8201179136
W1210 14:07:28.081041 16364 utils.cpp:184] master client, get client from cache failed.host: , port: 0, code: 7
W1210 14:07:28.081094 16364 task_worker_pool.cpp:1248] finish report task failed. status:-1, master host:port:0
W1210 14:10:33.431669 16320 routine_load_task_executor.cpp:277] consuming failed
W1210 14:10:33.431731 17476 broker_scan_node.cpp:414] Scanner[0] prcess failed. status=cancelled
W1210 14:10:33.432528 16265 stream_load_executor.cpp:83] fragment execute failed, query_id=52545139565d4c5b-b15180235e7f2d88, errmsg=cancelledid=52545139565d4c5b-b15180235e7f2d88, job id=32036, txn id=182005, label=fj_test_mcs_p_delivery_goods-32036-52545139565d4c5b-b15180235e7f2d88-182005
W1210 14:10:54.446434 16321 routine_load_task_executor.cpp:277] consuming failed
W1210 14:10:54.446511 17558 broker_scan_node.cpp:414] Scanner[0] prcess failed. status=cancelled
W1210 14:10:54.447072 16297 stream_load_executor.cpp:83] fragment execute failed, query_id=84d6052ed225491f-84e0dcfbc7cbb462, errmsg=cancelledid=84d6052ed225491f-84e0dcfbc7cbb462, job id=32036, txn id=182006, label=fj_test_mcs_p_delivery_goods-32036-84d6052ed225491f-84e0dcfbc7cbb462-182006
W1210 14:11:14.452834 16322 routine_load_task_executor.cpp:277] consuming failed
W1210 14:11:14.452911 17678 broker_scan_node.cpp:414] Scanner[0] prcess failed. status=cancelled
W1210 14:11:14.453999 16258 stream_load_executor.cpp:83] fragment execute failed, query_id=7f0f3a58c5ba445e-ab66a9012af6d85f, errmsg=cancelledid=7f0f3a58c5ba445e-ab66a9012af6d85f, job id=32036, txn id=182007, label=fj_test_mcs_p_delivery_goods-32036-7f0f3a58c5ba445e-ab66a9012af6d85f-182007
W1210 14:11:34.462235 16323 routine_load_task_executor.cpp:277] consuming failed
W1210 14:11:34.462314 17793 broker_scan_node.cpp:414] Scanner[0] prcess failed. status=cancelled
W1210 14:11:34.462914 16308 stream_load_executor.cpp:83] fragment execute failed, query_id=1e776b5857b44610-8d890b0091701e36, errmsg=cancelledid=1e776b5857b44610-8d890b0091701e36, job id=32036, txn id=182008, label=fj_test_mcs_p_delivery_goods-32036-1e776b5857b44610-8d890b0091701e36-182008
W1210 14:11:55.467751 16324 routine_load_task_executor.cpp:277] consuming failed
W1210 14:11:55.467823 17915 broker_scan_node.cpp:414] Scanner[0] prcess failed. status=cancelled
W1210 14:11:55.468518 16313 stream_load_executor.cpp:83] fragment execute failed, query_id=8c2cd3126a474d03-af98c6ee5d7467e9, errmsg=cancelledid=8c2cd3126a474d03-af98c6ee5d7467e9, job id=32036, txn id=182009, label=fj_test_mcs_p_delivery_goods-32036-8c2cd3126a474d03-af98c6ee5d7467e9-182009

问题已解决 部署的kafka问题


Standardize sample projects, Part 18

There's a build warning introduced here. Can someone fix it?
Invalid code snippet link: '~/samples/snippets/csharp/VS_Snippets_CLR/conceptual.resources.locating/cs/assemblyinfo.cs'.

@gewarren I'll open a PR.


Highlight ... (Ellipsis) in python lexer

The builtin constant Ellipsis is highlighted as Token.Name.Builtin.Pseudo.
However, the ... equivalent is considered as 3 Token.Operator (like os.open()):
>>> from pygments.lexers import get_lexer_by_name
>>> Lexer = get_lexer_by_name('python3')
>>> tokens = Lexer.get_tokens("os.open")
>>> list(tokens)
[(Token.Name, 'os'), (Token.Operator, '.'), (Token.Name, 'open'), (Token.Text, '\n')]
>>> tokens = Lexer.get_tokens("...")
>>> list(tokens)
[(Token.Operator, '.'), (Token.Operator, '.'), (Token.Operator, '.'), (Token.Text, '\n')]

I think Token.Literal would be a better choice. I did not choose Token.Name.Builtin because it's not listed as a builtin in the builtins python (https://docs.python.org/3/library/constants.html).
With previous example, it would become:
>>> tokens = Lexer.get_tokens("...")
>>> list(tokens)
[(Token.Literal, '...'), (Token.Text, '\n')]

What do you think about:

the idea?
the Token class?

I can do a PR if you're interested.

Is there an argument to make it a Token.Literal beyond "correctness"? In an example like this:
x = y[Ellipsis, 0]
x = y[..., 0]

We currently highlight . and , in two separate colors in most styles. I'm not convinced the suggested change is making things significantly better, but then again this is rarely used to start with so I'm ok merging a PR which turns ... into Token.Literal if it provides value add.

To be honest, I'm less convinced by what I say in January.
If I remember well, I was surprised the dot character has the same color in instance.method() and .... However, I don't think there is value added by such change because the dots are never near each others.
I think this issue can be closed.


Improve terrain generation

Actual terrain generation uses a single pass and simple noise. It should be improved to use multiple layers of noise, to stack-up a good looking natural generated terrain.
This should be done before adding biomes.

This talk is great: https://www.youtube.com/watch?v=ob3VwY4JyzE we should follow this path


Release 4.6.0

Includes #423 #425 #426.  cc @mastamark @grosser @dwilkins.
I should have released this earlier, wanted to sneak in some doc improvements "real quick" but still working on those :neutral_face:.

Released https://rubygems.org/gems/kubeclient/versions/4.6.0


how to limiting number of fragment files

My rtmp config is :

rtmp {
server {
listen 1935;
chunk_size 4000;
application hls {
live on;
record off ;
hls on;
hls_fragment 2s;
hls_playlist_length 30s;
hls_path /tmp/hls;
}
}
}

my ffmpeg stream source command :
ffmpeg -i ./myvideo.mp4 -vcodec flv -acodec copy -f flv rtmp://<IP_ADDRESS>/hls/trial01
the trial01.m3u8 looks fine,
but there is a bunch of ts files ...
how to limit number of ts files to i.e : 15 files @ 2 secs ?
Sincerely
-bino-

Hi!
With these settings, you should have about 15 files in the /tmp/hls/hls/ folder. Each file should represent 2s of video.
If each segment is too long, add -g 25 in the ffmpeg command to decrease the default gop size.

Hi @potsky ...
Thanks for your fast response.
I try to set :
hls_fragment 10s;
hls_playlist_length 5m;
hope there will be 30 fragment files in directory
but my ls -la |wc -l said it's 272 right now and still adding new files.
sincerely
-bino-

hope there will be 30 fragment files in directory

This is the expected behaviour. You should have about 30 segments. A little bit more during the time when the module check for deletion.

but my ls -la |wc -l said it's 272 right now and still adding new files.

Stupid question but are you sure you have restarted nginx next to modifying the configuration file ?
Are these 272 files referenced in the playlist ?

Hi @potsky
Yes , I restart nginx.
No , the playlist only have 30 files in it .
Sincerely
-bino-

The 30 last segments I presume... The older segments are never deleted...
Absolutely no idea from where it can come from.

Have to try to change the fragment naming attribute ?
https://github.com/arut/nginx-rtmp-module/wiki/Directives#hls_fragment_naming

@binooetomo Hey, just fall on this directive hls_cleanup off;. Never seen before. Try to force it to on.


Insufficient permissions for public access ixmp4 platform

I changes the access and permissions settings for an ixmp4 platform in the manager from private/ restricted to public (*) and faced the issue that I still got "insufficient permissions" errors when trying to access the instance unauthenticated. Restarting the manager service docker container helped. So it seems to be a caching issue.
When fixed, please remove known issue from scse manager wiki page
(*)

Hello, small correction, the cache is on the ixmp side. I also restarted the ixmp services not the manager to fix it!
The problem is in this class somewhere specifically:
https://github.com/iiasa/ixmp4/blob/main/ixmp4/conf/manager.py#L43


Another list index out of range

The code
"keyP"     : "A",
"B"        : 1,
"dictP"    : {"A" : "B", "C" : 2},
"newparam" : "${${dictP}['${keyP}']}"

results in newparam with string value '1' (like expected).
But when I omit the single quotes
"newparam" : "${${dictP}[${keyP}]}"
the result is:
'list index out of range'!
But expected is still newparam with string value '1' (because keyP is a string already, therefore the single quotes
do not have any effect)

Hello Holger,
This issue is fixed on stabi branch.
Thank you,
Son

Retest successful. Issue can be closed.

integrated in RobotFramework AIO 0.11.0


[Bug] The uncover variables shortcut breaks the url input field

Describe the bug
Using the uncover variables shortcut results in an error: Render Failure: Cannot read property 'removeChild' of null, displayed in the url field.
The rest of the application stays responsive

To Reproduce
use the uncover variables shortcut (alt + shift + u)
Expected behavior
The application is shows variables
Desktop
Distributor ID:	Ubuntu
Description:	Pop!_OS 19.10
Release:	19.10
Codename:	eoan
Installation Method: snap
App Version: 7.0.6
Additional context
I currently have following variables set:
{
  "test_endpoint": "https://test.XXXXX.com/v1",
  "live_endpoint": "https://api.XXXXX.com/v1",
  "now": "{% now 'unix', '' %}"
}

This was reported by another user via support email.
I was able to reproduce it -- I had to change requests to get it to trigger though after hitting opt+shift+u (on mac)

I'm bisecting to see when this started.  Will update.


Refer to expected end dates

Change this field to refer to Expected end date rather than ITT end date.
This is because we want users to update this if they know the trainee is likely to finish late, and to match the data we'll now be getting from HESA this academic year.

 Refer to estimated itt end date


Cannot get latest version: module contains a go.mod file, so module path should be github.com/zyedidia/micro/v2

Background
The github.com/zyedidia/micro uses Go modules and the current release stream version is v2. It must comply with the specification of "Releasing Modules for v2 or higher" available in the Modules documentation and enforced since the most recent versions of Go. Quoting the specification:

A package that has opted in to modules must include the major version in the import path to import any v2+ modules
To preserve import compatibility, the go command requires that modules with major version v2 or later use a module path with that major version as the final element. For example, version v2.0.0 of example.com/m must instead use module path example.com/m/v2.
https://github.com/golang/go/wiki/Modules#releasing-modules-v2-or-higher

Using go get (under go1.13 and go1.14) does not work for github.com/zyedidia/micro@v2+.
I consider this a pretty high severity issue since not doing so prevents any other Go project also using Go Modules to properly require zyedidia/micro on versions v2+ as a dependency, resulting in errors like:
invalid version: module contains a go.mod file, so major version must be compatible: should be v0 or v1, not v2

SO anyone using Go modules will not be able to easily use any newer version of zyedidia/micro.
Steps to Reproduce

Under a project making use of Go modules, run go get targeting any version >= v2.0.0 of the zyedidia/micro:

$ go get<EMAIL_ADDRESS>go: finding github.com/zyedidia/micro v2.0.3
go: finding github.com/zyedidia/micro v2.0.3
go get<EMAIL_ADDRESS><EMAIL_ADDRESS>invalid version: module contains a go.mod file, so major version must be compatible: should be v0 or v1, not v2

Solution
Kill the go.mod files.
This would push them back to not being managed by Go modules (instead of incorrectly using Go modules). Importing specific versions would work, but they'd receive the +incompatible prefix and would need to be manually upgraded.
Probably best option short-term -- better to not use Go modules than use it incorrectly.
Also, best option for older branches/versions that aren't maintained.
Make breaking changes
Patch the go.mod file to declare the module as github.com/zyedidia/micro/v2 as per the specs. AND adjust all internal imports.
This would probably only be acceptable on the v2 line, since it'd break any consumers.
Two methods can be use:

a new branch in the same repo
use the folders structure on mainline branch (see Major Subdirectory structure on the Modules page).

Then development would take place in the new branch/repository, with the existing only updated with tags and/or with new things to forward.
Major version bump / repository change
Leave `v2 as a dead version and bump to v3 with the path changes.
References

https://github.com/golang/go/wiki/Modules#semantic-import-versioning
https://golang.org/cmd/go/#hdr-Module_compatibility_and_semantic_versioning
https://github.com/golang/go/wiki/Modules#releasing-modules-v2-or-higher

Thanks, this is now fixed and should work after the next release (let me know if I did something wrong). That being said, micro is a CLI app, and other applications should not depend on it as a library. Almost all of micro resides in the internal directory which is meant for code that should not be imported by other applications. Micro's versioning does not guarantee API compatibility within its internal source code (minor versions may break code that depends on internal functions).
It's still good to conform to the Go modules spec though, so this is worth fixing.

Thank you for your contribution. I think you did well.
I'm not the only one use your repo as a lib, this one also depend on it as a lib:
https://github.com/pgavlin/femto/blob/master/go.mod#L12
You can see who use ’github.com/zyedidia/micro‘ as a lib in github here:
https://github.com/search?l=Go&p=9&q="github.com%2Fzyedidia%2Fmicro"&type=Code


NuGet publish?

Hi Fanie,
Love your clean work, and the fact that my controllers will need exactly zero knowledge of Hateoas config.
It'd be great if you could publish the project as a package to NuGet!
Many thanks,
Jorgen

here ya'll go https://www.nuget.org/packages/AspNetCore.Hateoas/

Nice Job


How to mock firebase-ruby with VCR

Good day.
I'm trying to mock up firebase requests with VCR. With old api it used to work as following:
- request:
    method: get
    uri: https://test-database.firebaseio.com/alerts.json?auth=foobar
    body:
      encoding: UTF-8
      string: ''
    headers:
      User-Agent:
      - HTTPClient/1.0 (2.8.3, ruby 2.3.1 (2016-04-26))
      Accept:
      - "*/*"
      Date:
      - Tue, 12 Dec 2017 05:00:00 GMT
      Content-Type:
      - application/json
  response:
    status:
      code: 200
      message: OK
    headers:
      Server:
      - nginx
      Date:
      - Wed, 17 Jan 2018 11:20:04 GMT
      Content-Type:
      - application/json; charset=utf-8
      Content-Length:
      - '4'
      Connection:
      - keep-alive
      Access-Control-Allow-Origin:
      - "*"
      Cache-Control:
      - no-cache
      Strict-Transport-Security:
      - max-age=31556926; includeSubDomains; preload
    body:
      encoding: UTF-8
      string: 'null'
    http_version:
  recorded_at: Tue, 12 Dec 2017 05:00:00 GMT

But now, with new API it makes additional request to https://www.googleapis.com/oauth2/v3/token and I have no idea how to mock this request. I've tried as following:
- request:
    method: post
    uri: https://www.googleapis.com/oauth2/v3/token
    body:
      encoding: UTF-8
      string: ''
    headers:
      User-Agent:
      - HTTPClient/1.0 (2.8.3, ruby 2.3.1 (2016-04-26))
      Accept:
      - "*/*"
      Date:
      - Tue, 12 Dec 2017 05:00:00 GMT
      Content-Type:
      - application/json
  response:
    status:
      code: 200
      message: OK
    headers:
      Server:
      - GSE
      Date:
      - Wed, 17 Jan 2018 11:20:08 GMT
      Content-Type:
      - application/json; charset=UTF-8
      Content-Length:
      - '131'
      Connection:
      - keep-alive
      Access-Control-Allow-Origin:
      - "*"
      Cache-Control:
      - no-cache
      Strict-Transport-Security:
      - max-age=31556926; includeSubDomains; preload
    body:
      encoding: UTF-8
      ????? WHAT SHOULD BE THERE ????? string: '{"kind":"identitytoolkit#VerifyCustomTokenResponse","idToken":"foo", "refreshToken": "foo", "expiresIn": "3600", "isNewUser": true}'
    http_version:
  recorded_at: Tue, 12 Dec 2017 05:00:00 GMT

But it doesn't work. In terminal I can see, that it's failing somewhere on 30 row:

I assume that response json, that I wrote is incorrect. What is expected output?
Could you, please, give me some tips how can I mock up firebase calls?
Thank you and I'm sorry if it's kind of stupid question.
Best wishes!

I'm not really sure how to use VCR, but you can use the old auth method (database secrets) if you don't want to mock out the OAuth portion of the library.

@vincentwoo , thank you for helping. I think I've found a solution.


question: added missing word

This question was not clear to me. I assumed it referred to an equality check.

 Thanks!


General design and security principles doc for Enarx

Move from existing draft RFC specific to trust process to new doc.
Recorded here:
`### General requirements
TODO: these requirements seem general to the project, and probably
deserve their own RFC.
The security of the tenant (workload owner) MUST always be considered
paramount when considering designs and implementations of Enarx
components, protocols or other artifacts.
When a trade-off between the security of the tenant and workload needs
to be made against the security of any other party (including host owner),
the security of the tenant MUST always win.
When measures for a party other than the tenant are being considered,
the general principle should be to choose the highest levels of security,
but any choices MUST NOT compromise tenant security.
The tenant workload MUST never be unencrypted on the network (in transit)
within the Enarx-managed process.
The tenant workload MUST never be unencrypted in storage once it has been
transmitted by the Enarx client agent.
The tenant workload MUST never be unencrypted in RAM once it has been
transmitted by the Enarx client agent.
The tenant workload MUST never be available in unencrypted form on the host.
`

Please assign this. I want to work on this.


Could not load calendar error

For a few weeks now, whenever I turn on my computer and this Gadget loads, it gives the error that it cannot load the calendar. Then, if I open and close settings, it loads the calendar. Anyone know why?

The gadaget caches the lastest synced data so even if the Internet is not available during its startup, it should be able to display the previous state. It may be that the cache is somehow corrupted. I'd recommend to remove and add again the current setting (or maybe even reinstall the gadget). I've done a test on Windows 11 with linked Google calendar and wasn't able to reproduce the issue.


Line-numbers

          > As sometimes this pair is not unique there is a need for getting the up or down Coordinates. Up is closer to the top ("younger") Down is closer to the bottom ("elder").

These age designations don't really make sense, since their actual age is the same.

Maybe there needs to be a new lineID which tells the order of the lines. It can be used to insert new lines with reliable ordering (this would need a way to insert lines between already present lines).
Originally posted by @halkszavu in https://github.com/halkszavu/Project-Artifexia/issues/7#issuecomment-1461859587

No need to do this, as this wouldn't fix any problems, but create new ones.


[BUG] sizeof(eve::wide<eve::struct_support, C>) should be sizeof(tuple)*C

Describe the bug
This can be seen with this CE by joel: https://godbolt.org/z/8TMf4aKxn
To Reproduce
See CE link above :)
Expected behavior
We would expect sizeof(eve::wide<kumi::tuple<int,int>>) to be 32.
Setup:

Compiler and compiler's version: gcc 11
OS: Compiler Explorer OS :)
Processor Architecture: N/A
Instructions Set used: N/A

Additional context

Sorry, but why?

In what context do you need sizeof(wide)?
Wide should not rly exist in assembly in any way
It can't be sizeof(tuple)*C due to how implementation of smaller cardinals works:
wide<int, 2> hs the same implementation as wide<int, 4>

The reason I asked is that I have a suspicion that you are trying to store wide in a data structure and it's not designed for that.
You are better off storring array<int, eve::expected_cardinal_v>.
You might want to align that.
This will behave like cardinal size and all of that
Let me know if you need help with it.

The latest commit seems to have a good effect on some codegen. So the change is worthwhile.
Should we close this?

I am indeed doing some nasty UB thing here: https://github.com/aguinet/ecsimd/blob/master/include/ecsimd/mgry_mul.h#L107-L114 . Like said in the comment, I don't know how to make this cleaner (yet).
Moreover, this remove padding, that creates weird codegen things, like in here: https://godbolt.org/z/Keo1MaGh1
As a final note, I think it's a "better" design to have this equivalence in size, especially if you want to store this in another object, in order not to waste memory space.

And closing it as joel fixed it :)

You don't need to do stores: you can just assign from __256i to eve::wide<int, eve::fixed<8>> and back https://godbolt.org/z/YzvM5hvrv


Add strict mode flag.

Add a strict: flag to Connection. We can then make an efficiency/conformance trade off according to users requirements, and allow users to test non-conformance (by setting strict: false so that invalid behaviour would not be rejected).
I suggest we use this flag initially to gate the following checks:

Ensure correct order of headers on both client request/response and server request/response (whether this sorts input data or just fails on invalid input still needs to be figured out).
Ensure that streams don't enter invalid states or make invalid transitions (e.g. sending headers twice).
Any other high level RFC conformance which can be done in a reasonably efficient way.

This PR simply adds the flag, and it defaults to false. Depending on how the rest of the checks are implemented, we could make the default true.
If we can get consensus on this approach, I will merge it and then we can work on better RFC compliance. I would be happy to hear any arguments for making the default true or false. I initially thought true would be good, but I don't want to risk breaking upstream code. If it's opt in, at least upstream users are making a conscious decision that it's what they want. Maybe in the future it could be the default.
cc @HoneyryderChuck @byronformwalt @ostinelli @kenichi @igrigorik

Coverage increased (+0.002%) to 96.864% when pulling 0f63ceccb5e90d4477e9406fa5aea9650518868c on strict-mode into 180ab3688140439f0f2bbf317527004a631d3f39 on master.

@igrigorik what is the expected role and behavior of http-2 against normative requirements of HTTP/2 protocol?

It should conform to the spec where it is both correct and efficient to do so, within the expectations of how this library should be used.
Conformance with the spec requires multiple layers to work together. There are definitely issues where this library, despite how hard you (and others) have worked (and I appreciate it) has conformance issues:

https://github.com/igrigorik/http-2/issues/129
https://github.com/igrigorik/http-2/issues/128
https://github.com/igrigorik/http-2/issues/122

Coming back to your #downcase example. If you document in the function "All headers should be lower case strings", is that good enough? In theory it should be, because if users violate that contract then they risk the remote end rejecting the request. #downcase is not free, performance wise. If users are already supplying lower case strings, it's superfluous.
That's why I think strict: is a good compromise. For the majority of users, you can enable it and it will work in a way which is less efficient but guarantees conformance.
The result would be something like this:
field = field.downcase if @strict

or something like:
pseudo, others = headers.partition{|k,v| k.start_with? ':'} if @strict

For higher level libraries who can follow the invariants specified by the functions required for conformance, we will gain performance advantage, or if you prefer to test failures, you can generate invalid requests to check the result.

Extending the same logic, I would propose that we apply the same logic to header sorting. There is only one h2 compliant ordering of headers, sorting is similarly 'safe' and does not affect semantics of the request, and we can enforce this invariant in http-2 — there's no reason to ask every upstream library to implement same logic.

You are not totally correct on this point. If the sort is unstable (which is why if anything should use #partition), it might change the relative order of headers with the same key which CAN change the semantics of a request, which is why hash tables are generally a terrible idea for headers.

A recipient MAY combine multiple header fields with the same field
name into one "field-name: field-value" pair, without changing the
semantics of the message, by appending each subsequent field value to
the combined field value in order, separated by a comma.  The order
in which header fields with the same field name are received is
therefore significant to the interpretation of the combined field
value; a proxy MUST NOT change the order of these field values when
forwarding a message. (RFC 7230)

An example of where this gets tricky would be the following request:
{'key' => 1, 'Key' => 2}.sort.collect{|k,v| [k.downcase, v]}
=> [["key", 2], ["key", 1]]

If not carefully thought out, such interactions yield incorrect behaviour (headers in wrong order). Of course, this is solved by using #partition instead, it was just an example to show how even the best intentions can go horribly wrong as we start to layer more complex functionality into the library.

there's no reason to ask every upstream library to implement same logic.

The upstream libraries I've checked, even non-Ruby ones, simply construct their requests using an Array of key/value pairs which conforms to the order requirements of the RFC, so I'm not sure what logic you are thinking every upstream library is having to deal with? I guess we could do something like:
if headers.is_a? Hash
    headers = headers.sort
end


ImportError for numpy with numpy version >1.23.5

I installed Reconstructor as specified in the README on a Windows 11 Pro computer within a conda environment with python version 3.9. While testing the installation I encountered the ImportError: cannot import name 'object' from 'numpy'. After testing with different versions of numpy I found out that the latest version of numpy not causing this error is version 1.23.5.
As this is a problem after the installation I would suggest adding a dependency for the install in the setup.py or releasing a newer version of Reconstructor that can use newer versions of numpy.

I encountered an identical issue, although using even earlier numpy versions (neither 1.23.5 nor 1.23.4) do not resolve the ImportError in my conda environment. From what I gather on numpy documentation, 'object' should in fact be the most up-to-date syntax, since the older 'np.object' syntax was deprecated. Leads me to think the issue lies elsewhere...
Any updates on a solution? Looking forward to trying out this interesting tool!

I also have same issue in WSL2 (ubuntu).


manage.py sync_customers broken - AttributeError: invoices

Running manage.py sync_customers is broken and throws an AttributeError: invoices.
File "/pinax/stripe/actions/invoices.py", line 134, in sync_invoices_for_customer
    for invoice in customer.stripe_customer.invoices().data:
  File "/stripe/stripe_object.py", line 85, in __getattr__
    raise AttributeError(*err.args)
AttributeError: invoices

I first noticed this after upgrading to pinax-stripe 4.4.0 and stripe-python 2.4.0.

@mcastle If you're insterested this is a quick hack we came up with to be able to support latest pinax-stripe and stripe-python versions: https://github.com/bonidjukic/pinax-stripe/commit/80e618eed0eebf4f8072ec87b8e7db99b57008b3
Please keep in mind that we only tested the above mentioned sync_customers, we still have to test if this works generally.
BTW, this is the stripe-paython "deprecation" commit which seems to have introduced regressions in pinax-stripe: https://github.com/stripe/stripe-python/commit/d416e9e68c8eba804535541ce29d2d8f2d22b08c

@bonidjukic
Please consider creating a PR, then it should also be visible if this code is covered in tests (probably not).

The problem is that the tests mock the call out to invoices.sync_invoices_for_customer. Or, in the tests for the function itself, that is also mocked. The mocks aren't mocking a specific version of the stripe-python library, they are mocking whatever you want them to.
Basically, a fix would involve replicating the code to fetch all the invoices for the given user, doing the same thing the removed code did: https://github.com/stripe/stripe-python/commit/d416e9e68c8eba804535541ce29d2d8f2d22b08c#diff-0399a8a9696e3c2e5288d50b66a3c81cL30
def get_invoices_for_customer(customer):
	params = {customer_id: customer.id}
	invoices = Invoice.list(customer.api_key, **params)
	return invoices


Async Request Not Receiving Response

I have a fairly simple intent, which is supposed to publish something to an MQTT topic using AWS-SDK. I am currently using alexa-app v4.0.0.
app.intent('DeviceNumber', {
    'utterances': [
      'number of devices',
      'the number of the devices',
    ]
  },
  function(req, res) {
    var iotdata = new awsIot.IotData(config.iotDevice);

    var params = {
      topic: 'DeviceNumber',
      payload: 'blah',
      qos: 0
    };

    return iotdata.publish(params, function(err, data) {
      if (err) {
        res.fail();
        console.log(err);
      } else {
        console.log("success!");
        return res.send("Request sent...");
      }
    })
  }
);

After deploying this to Lambda, and testing with the following...
{
  "session": {
    "new": false,
    "sessionId": "amzn1.echo-api.session.xxxxx",
    "attributes": {},
    "user": {
      "userId": "amzn1.ask.account.xxxxx"
    },
    "application": {
      "applicationId": "amzn1.ask.skill.xxxxx"
    }
  },
  "version": "1.0",
  "request": {
    "locale": "xxxxx",
    "timestamp": "xxxxx",
    "type": "IntentRequest",
    "requestId": "amzn1.echo-api.request.xxxxx",
    "intent": {
      "name": "DeviceNumber"
    }
  }
}

The intent successfully logs "success" to console andpublishes the "blah" message to the DeviceNumber topic, but the response from AWS is -
{
  "version": "1.0",
  "response": {
    "directives": [],
    "shouldEndSession": true
  },
  "sessionAttributes": {}
}

I have followed the documentation - looking at both upgrading and the standard doucmentation and tried a few variations of returning a response (res.say("x"), return res.send, etc). I should note that if I remove all of the async stuff and just tell it to res.say() when I receive that intent, it works just fine. So I am clearly not understanding something with the "promise chain" and async calls.
Could anyone help point out where my issue is? Thanks!

A quick note - I am able to get around this problem by doing res.say("blah") before attempting to publish to the topic. But I was really hoping to only have it say something like "Request received" after it knows it was successfully published to the topic.

You have to return an actual Promise to do an async call, it doesn't look like iotdata.publish does, https://www.promisejs.org/ is probably a good place to start. Let us know what you come up with and if you can't make it work?

@dblock Thank you for the response. I have successfully implemented the code as a promise, but I still am not able to get the response. I will include some documentation here in case the problem comes up for someone else:
The AWS SDK does support promises, and the promise handler must be set. Information on this can be found here:
https://aws.amazon.com/blogs/developer/support-for-promises-in-the-sdk/
I have updated my code based on the above link and the Alexa-App documentation, but as I mentioned, I am still not receiving the response. Here is the updated code:
app.intent('DeviceNumber', {
    'utterances': [
      'number of devices',
      'the number of the devices',
    ]
  },
  function(req, res) {
    var iotdata = new awsIot.IotData(config.iotDevice);

    var params = {
      topic: 'DeviceNumber',
      payload: 'From DeviceNumber intent!',
      qos: 0
    };

    return iotdata.publish(params).promise().then(function(data) {
	console.log('Success');
	return res.send('Request sent...');
    }).catch(function() {
	console.log('Error');
    });
  }
);

The behavior is the same in Lambda - as seen in my results (of the same test) below:
{
  "version": "1.0",
  "response": {
    "directives": [],
    "shouldEndSession": true
  },
  "sessionAttributes": {}
}

Hopefully I have some silly mistake that you can point out?

I don't see anything wrong, can you put this project on Github with a very easy way to reproduce this? I can take a look.


Export parents of commit

There's a perfectly good parents []plumbing.Hash in the Commit object, but it can't be accessed. Instead, one has to force a storage lookup of each parent to get the hashes from the resulting objects.
Please can we just export the hashes? It's useful for topological sort, where you don't want to waste time looking up things you've already seen.

https://github.com/src-d/go-git/blob/master/plumbing/object/commit.go#L36
This already changed in the master


supervisor: To preserve logs, delay nuking

The bonus commit will help us identify which hosts fail to reconnect in the future.

I think df5073b fixes https://tracker.ceph.com/issues/51944.  Can you add that to the commit message?

Good point @djgalloway - done

@susebot run deploy

@kshtsk it looks like there was an unrelated problem with the deployment

@kshtsk it looks like there was an unrelated problem with the deployment

right... something new poped up, I will look into it if I can fix it

gonna trigger another one for reproducibility

@susebot run deploy

looks like pip install -U pip is failing... if it can wait another day, let me look at it tomorrow
    stdout: Collecting Jinja2==2.9.5
      Downloading Jinja2-2.9.5-py2.py3-none-any.whl (340 kB)
    Collecting Mako==1.0.2
      Downloading Mako-1.0.2.tar.gz (564 kB)
    Collecting MarkupSafe==1.1.1
      Downloading MarkupSafe-1.1.1-cp36-cp36m-manylinux2010_x86_64.whl (32 kB)
    Collecting WebOb==1.8.6
      Downloading WebOb-1.8.6-py2.py3-none-any.whl (114 kB)
    Collecting WebTest==2.0.18
      Downloading WebTest-2.0.18.zip (88 kB)
    Collecting beautifulsoup4==4.3.2
      Downloading beautifulsoup4-4.3.2.tar.gz (143 kB)
    Collecting flake8
      Downloading flake8-3.9.2-py2.py3-none-any.whl (73 kB)
    Collecting ipdb==0.8.1
      Downloading ipdb-0.8.1.zip (20 kB)

    :stderr:     ERROR: Command errored out with exit status 1:
         command: /home/pulpito/pulpito/virtualenv/bin/python3 -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-qm56h9r3/ipdb_e42076a400604105890be1cd2c728d9a/setup.py'"'"'; __file__='"'"'/tmp/pip-install-qm56h9r3/ipdb_e42076a400604105890be1cd2c728d9a/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base /tmp/pip-pip-egg-info-paj59o0x
             cwd: /tmp/pip-install-qm56h9r3/ipdb_e42076a400604105890be1cd2c728d9a/
        Complete output (1 lines):
        error in ipdb setup command: use_2to3 is invalid.
        ----------------------------------------
    WARNING: Discarding https://files.pythonhosted.org/packages/cb/ed/cf9b80923dfee3b861d18c43e68793e52a81e51a7534f81c665e71b1642d/ipdb-0.8.1.zip#sha256=1763d1564113f5eb89df77879a8d3213273c4d7ff93dcb37a3070cdf0c34fd7c (from https://pypi.org/simple/ipdb/). Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.
    ERROR: Could not find a version that satisfies the requirement ipdb==0.8.1 (from versions: 0.1dev-r1556, 0.1dev-r1713, 0.1dev-r1714, 0.1dev-r1716, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.6.1, 0.7, 0.7.1, 0.8, 0.8.1, 0.8.2, 0.8.3, 0.9.0, 0.9.1, 0.9.2, 0.9.3, 0.9.4, 0.10.0, 0.10.1, 0.10.2, 0.10.3, 0.11, 0.12, 0.12.1, 0.12.2, 0.12.3.dev0, 0.12.3, 0.13.0, 0.13.1, 0.13.2, 0.13.3, 0.13.4, 0.13.5, 0.13.6, 0.13.7, 0.13.8, 0.13.9)
    ERROR: No matching distribution found for ipdb==0.8.1

ah, that is pip install -r requirements.txt issue:
ERROR: Could not find a version that satisfies the requirement ipdb==0.8.1 (from versions: 0.1dev-r1556, 0.1dev-r1713, 0.1dev-r1714, 0.1dev-r1716, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.6.1, 0.7, 0.7.1, 0.8, 0.8.1, 0.8.2, 0.8.3, 0.9.0, 0.9.1, 0.9.2, 0.9.3, 0.9.4, 0.10.0, 0.10.1, 0.10.2, 0.10.3, 0.11, 0.12, 0.12.1, 0.12.2, 0.12.3.dev0, 0.12.3, 0.13.0, 0.13.1, 0.13.2, 0.13.3, 0.13.4, 0.13.5, 0.13.6, 0.13.7, 0.13.8, 0.13.9)
ERROR: No matching distribution found for ipdb==0.8.1

and this looks weird, because 0.8.1 version is definetly in he list.

@zmc maybe this will help https://github.com/ceph/pulpito/pull/86

@susebot run deploy

I already see pulpito is running http://<IP_ADDRESS>:8081/runner-2021-09-15_22:29:20-smoke-octopus-distro-basic-gra/


Request a minify version.

Version
2.0.1
Development Environment
Mac os
Current Behavior
Good package! Could this package has a minfy version?
Expected Behavior
NPM distribution package included minify version.

@elantion The Editor decided not to provide a minified version of the bundle file when using node from version 2.0. I thought it was right for the user to process the editor in the minifying process. Is there any reason you need a minified version?

Thanks your reply. Yes. I am using webpack externals configuration(refer: https://webpack.js.org/configuration/externals/). I import this editor script by adding script tag, it dose not process by webpack and can not be minify.So, I need a minify version (or production version) for better user experience.

First of all: very nice editor!
It’d be nice to have a minified bundle in the NPM package! Our use case would be to pull/update the editor resources from NPM, but using it in static Django application (without a module bundler). The CDN is not an alternative due to strict security regulations.


[FLOC-3798] Update Docker container name constraints.

Docker accepts container names according to the pattern at https://github.com/docker/docker/blob/09ad1bbc5897e34c6e6d5612b0e1ba709ed28a7d/utils/names.go
flocker-deploy does not perform any validation of the name, but Flocker's HTTP API constrains JSON requests and responses to a more restricted pattern. This can cause status 500 errors if containers are created using flocker-deploy and then interrogated using the HTTP API. Update the HTTP API to match the Docker pattern.

Sorry review took so long—multi-tasking is the mind-killer.

LGTM!


Vcpkg

Describe the bug
A clear and concise description of what the bug is.
Environment

OS: [e.g. Windows/Linux etc...]
Compiler: revision

To Reproduce
Steps to reproduce the behavior:

./vcpkg install xxxx
See error
Repro code when

Expected behavior
A clear and concise description of what you expected to happen.
Failure logs
-(please attached failure logs)
Additional context
Add any other context about the problem here.

Embarrassing!

Please see #30604 for how to report an issue.