Develop: Bulk due checker

closes #11

Codecov Report

Merging #13 into master will not change coverage.
The diff coverage is 100%.

@@           Coverage Diff           @@
##             master    #13   +/-   ##
=======================================
  Coverage       100%   100%
- Complexity       60     71   +11
=======================================
  Files             3      3
  Lines           114    133   +19
=======================================
+ Hits            114    133   +19

Impacted Files
Coverage Δ
Complexity Δ

src/Validator.php
100% <ø> (ø)
31 <0> (ø)
:arrow_down:

src/SegmentChecker.php
100% <100%> (ø)
15 <15> (+1)
:arrow_up:

src/Expression.php
100% <100%> (ø)
25 <12> (+10)
:arrow_up:

Continue to review full report at Codecov.

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


updated the yaml env file again

updated the yaml file to resolve the issue raised by Sampson

looks good


docs: add minimal permission set for using layer

Issue #, if available: #203
Description of changes:
Added the necessary permission one need to add to he IAM policy in order to use the powertools layer.
Checklist

[x] Meet tenets criteria
[ ] Update tests
[x] Update docs
[x] PR title follows conventional commit semantics

Breaking change checklist

RFC issue #:

[ ] Migration process documented
[ ] Implement warnings (if it can live side by side)

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

We should also put credits to @mwarkentin ;)

LGTM - Merging it ;) Thanks again @am29d and @mwarkentin


Problem evaluating scene completion: what is groundTruthFile

Hello,
Thanks for making your methods public!
I was trying to run the evalSceneCompletion.py script in the kitti360scripts/evaluation/semantic3d branch and run into the following problem:
the getGroundTruth() function reads a groundTruthListFile (named 2013_05_28_drive_val_frame.txt by default). What exactly should this file be? Is it something that we should generate by ourselves or something readily provided in your download options?
Also, function generateCroppedGroundTruth() used a csWindow object several times to represent the sequence number and first and last frame number. Is it a self-defined class that should be imported somewhere?
Zhiheng Li

Hi, sorry for the late reply!
Here you can download the 2013_05_28_drive_val_frames.txt. We also provide indices of training frames here.
The csWindow is defined in csHelpers:
https://github.com/autonomousvision/kitti360Scripts/blob/00ebfff590dc7ac4d0fb32a3fe8604cb8952700d/kitti360scripts/helpers/csHelpers.py#L93
You may need to reinstall the package if it is cannot be imported.


ASP.NET Core tutorial

Docs Build status updates of commit 89022ad:
:x: Validation status: errors
Please follow instructions here which may help to resolve issue.

File
Status
Preview URL
Details

:x:Error

Details

Line 0: [Error] Failure to clone the repository `https://github.com/microsoftgraph/msgraph-training-aspnet-core#master`.This could be caused by an incorrect repository URL, please verify the URL on the Docs Portal (https://ops.microsoft.com).This could also be caused by not having the proper permission the repository, please confirm that the GitHub group/team that triggered the build has access to the repository.

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.

Docs Build status updates of commit 89022ad:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

.openpublishing.publish.config.json
:white_check_mark:Succeeded

docfx.json
:white_check_mark:Succeeded

retired/aspnet.yml
:white_check_mark:Succeeded

tutorials/aspnet-core.yml
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Is there some way to add templating support to Fay?

I have looked through fay examples and everywhere I see manual DOM construction/manipulation e.g. here - https://github.com/faylang/fay-server/blob/master/src/Client.hs#L103
For relatively small application it is OK, but for large UIs I think it would be very cumbersome. Using some kind of templating would be more convenient.
At the moment I find Ember.js appoach (except that it is in js) quite good - it is very easy (at least for me) to see where the data comes from into HTML and what handlers will be called for buttons etc.
In fay-server I see ReactiveMVC module (which could help in reproducing some functionality of Ember.js in Fay though not about templating) but I could not find any example of its usage.
BTW I'm filing this issue (mainly a question for discussion) because I did not find anything like mailing list or google group about Fay.

Spring cleaning. This is too vague to belong on the tracker.

FRP in Fay would be very nice -- something like https://github.com/Matt-Esch/virtual-dom


Update and expand contributing guide

Contributing guide in README (potentially should move to its own page) could use a few more details on individual steps, and currently does not include information on forking.

I don't doubt that this is true. @dsavransky would you mind providing some more specific suggestions that motivated this comment?

Primarily based on my earlier question about accepting pulls from people not explicitly added to the repo - this requires that they fork first, so we should describe that in the contributor guide.  I'm happy to provide text.

@dsavransky pinging you on this. Cleaning up old issues.

Thanks @dsavransky!


Streaming with query_row_block_stream crashes after few reads

Describe the bug
The streaming read is crashing after some time if there any processing in between reads.
Traceback (most recent call last):
  File "/usr/lib/python3.11/http/client.py", line 573, in _get_chunk_left
    chunk_left = self._read_next_chunk_size()
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/http/client.py", line 540, in _read_next_chunk_size
    return int(line, 16)
           ^^^^^^^^^^^^^
ValueError: invalid literal for int() with base 16: b'\xe9\xe9\x80\xe8\xf8\x8c\x05I"\xe7\x1bh\x9e\x0c\xa6\x06\xe3\x92\xa3?\x7f6:e\xec\x9d\xa8\x01d\xd3\x118{\xe1\xe9\xe60ta\x11T\xeb\xd0\x1d\x91\xed\xbf\x8aT5\xc8\x00\xceN\x1bA{\xe4\xf9\xeb\xd0\xc5\xba\xb
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
  File "/usr/lib/python3.11/http/client.py", line 590, in _read_chunked
    chunk_left = self._get_chunk_left()
                 ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/http/client.py", line 575, in _get_chunk_left
    raise IncompleteRead(b'')
http.client.IncompleteRead: IncompleteRead(0 bytes read)
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
  File "/progai/.venv/lib/python3.11/site-packages/urllib3/response.py", line 444, in _error_catcher
    yield
  File "/progai/.venv/lib/python3.11/site-packages/urllib3/response.py", line 567, in read
    data = self._fp_read(amt) if not fp_closed else b""
           ^^^^^^^^^^^^^^^^^^
  File "/progai/.venv/lib/python3.11/site-packages/urllib3/response.py", line 533, in _fp_read
    return self._fp.read(amt) if amt is not None else self._fp.read()
           ^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/http/client.py", line 467, in read
    return self._read_chunked(amt)
           ^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/http/client.py", line 605, in _read_chunked
    raise IncompleteRead(b''.join(value)) from exc
http.client.IncompleteRead: IncompleteRead(134 bytes read)
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
  File "/progai/pipeline/airflow/dags/shared/female_names_processing.py", line 76, in execute
    for i, block in enumerate(stream):
  File "/progai/.venv/lib/python3.11/site-packages/clickhouse_connect/driver/common.py", line 201, in __next__
    return next(self.gen)
           ^^^^^^^^^^^^^^
  File "/progai/.venv/lib/python3.11/site-packages/clickhouse_connect/driver/query.py", line 296, in _row_block_stream
    for block in self._column_block_stream():
  File "/progai/.venv/lib/python3.11/site-packages/clickhouse_connect/driver/transform.py", line 75, in gen
    next_block = get_block()
                 ^^^^^^^^^^^
  File "/progai/.venv/lib/python3.11/site-packages/clickhouse_connect/driver/transform.py", line 50, in get_block
    column = col_type.read_column(source, num_rows, context)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/progai/.venv/lib/python3.11/site-packages/clickhouse_connect/datatypes/base.py", line 143, in read_column
    return self.read_column_data(source, num_rows, ctx)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/progai/.venv/lib/python3.11/site-packages/clickhouse_connect/datatypes/base.py", line 158, in read_column_data
    column = self._read_column_binary(source, num_rows, ctx)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/progai/.venv/lib/python3.11/site-packages/clickhouse_connect/datatypes/string.py", line 34, in _read_column_binary
    return source.read_str_col(num_rows, self._active_encoding(ctx))
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "clickhouse_connect/driverc/buffer.pyx", line 248, in clickhouse_connect.driverc.buffer.ResponseBuffer.read_str_col
  File "clickhouse_connect/driverc/buffer.pyx", line 134, in clickhouse_connect.driverc.buffer.ResponseBuffer._read_str_col
  File "clickhouse_connect/driverc/buffer.pyx", line 74, in clickhouse_connect.driverc.buffer.ResponseBuffer.read_bytes_c
  File "/progai/.venv/lib/python3.11/site-packages/clickhouse_connect/driver/httputil.py", line 200, in decompress
    chunk = response.read(chunk_size, decode_content=False)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/progai/.venv/lib/python3.11/site-packages/urllib3/response.py", line 566, in read
    with self._error_catcher():
  File "/usr/lib/python3.11/contextlib.py", line 158, in __exit__
    self.gen.throw(typ, value, traceback)
  File "/progai/.venv/lib/python3.11/site-packages/urllib3/response.py", line 461, in _error_catcher
    raise ProtocolError("Connection broken: %r" % e, e)
urllib3.exceptions.ProtocolError: ('Connection broken: IncompleteRead(134 bytes read)', IncompleteRead(134 bytes read))

Steps to reproduce

start stream read
consume iterator with some work/sleep
soon it will crash with the error above

Expected behaviour
I expect it to read the whole dataset. If I disable processing, the dataset is read fine (40 mln records).
This leads me to think that it is not related to actual data and response but something inside the implementation.
Code example
import clickhouse_connect
read_client = clickhouse_connect.get_client(
            host=host, username=login, password=password, port=port,
            connect_timeout=60 * 30, send_receive_timeout=60 * 30, client_name="airflow-read",
            settings={
                "session_timeout": 60 * 20,
            }
        )
qry = 'SELECT id, name FROM dev.tbl WHERE NOT empty(name)'
with read_client.query_row_block_stream(qry) as stream:
    for block in stream:
        rows = list(process(block, dataset))

clickhouse-connect and/or ClickHouse server logs
Configuration
Environment

clickhouse-connect version: 0.7.19
Python version: 3.11.10
Operating system: Ubuntu 20.4

ClickHouse server

ClickHouse Server version: 24.7.2 revision 54468
ClickHouse Server non-default settings, if any:
CREATE TABLE statements for tables involved:
Sample data for these tables, use clickhouse-obfuscator if necessary

It's crashing because your connection is breaking:  'Connection broken: IncompleteRead(134 bytes read)'.  This could be caused by something like an idle timeout anywhere in your chain.  How much time is processing taking per chunk?

The average processing time for a single block is ~10 seconds

After digging into this I believe the problem is that ClickHouse server times out when pushing more data because the client has not read all of the data off the socket.  When trying to reproduce this I get the following error in the ClickHouse logs:
DynamicQueryHandler: Code: 209. DB::Exception: Timeout exceeded while writing to socket ([::1]:63309, 30000 ms): While executing Native. (SOCKET_TIMEOUT)

The socket is still busy/full when ClickHouse tries to send the error:
DynamicQueryHandler: Cannot send exception to client: Code: 209. DB::NetException: Timeout exceeded while writing to socket ([::1]:63309, 30000 ms). (SOCKET_TIMEOUT)

The end result is that if reading data falls more than 30 seconds behind ClickHouse sending the data, ClickHouse will close the connection, causing the error you see.
There's not an easy fix directly in clickhouse-connect because the point of streaming is to avoid reading all of the data at once into memory -- but if your processing is falling behind, the data sent from ClickHouse has no place to go.  So the short term answer to your problem is to only query as much data from ClickHouse as you can process without falling behind more than 30 seconds.  Unfortunately the HTTP interface in ClickHouse is not "smart" to keep the connection open and stream the data as it is being consumed.
However, in the next release I'm looking at adding an intermediate buffer with a configurable size to temporarily store the HTTP data until requested by the stream processing.  So if your total query size is something like 50MB, and the new intermediate buffer is configured at 100MB, you should not have this issue.  But there will definitely be a tradeoff between using the additional memory and ensuring that your connection isn't closed while processing.

@genzgd thank you for the investigation. I understand it more precisely now.
So, the short-term fix for me would be something like this
client = clickhouse_connect.get_client(
   ...
   settings={"max_block_size": 30 / seconds_per_row}
)

I see.
Unfortunately, I don't see an easy way to make processing faster without going into buffering and multithreading, which IMO probably will cause more troubles in future.
So the only option I see for now is to save data to disk and then read from it.
AFAIK Clickhouse doesn't have an analog to Postgres server-side cursor...

Unfortunately, no, there is no server side cursor.  If you can break your query up into chunks based on the primary key, you could read each chunk into memory (using just the client query method instead of streaming), then process each chunk, and then get the next one.  Some version of that is going to be necessary unless you do something to match your processing speed with the amount of data ClickHouse is sending.


WIP: Stuff with travis

[x] Adding node 7
[x] Using latest version of node instead of x.0.0
[ ] Remove redundant steps
[ ] Add cache

Haha love those commits:

"Is npm install redundant?"

A minute later

"Nope, it isn't"

Love this PR, looking forward to getting this finished and merged!

Replaced by https://github.com/styled-components/styled-components/pull/222


added the nfse issuance

Was added to the issuance of nota fiscal NFS-e

We need a format in "tests/FirstTest.php" please resend the PR


Implement the pytest --cov-context option in an "add-on" pytest plugin

This is a port of https://github.com/pytest-dev/pytest-cov/pull/342
Few notes about this:

if develop installs are used (they appear to be in the tox configuration) then you get these pesky Module already imported so cannot be rewritten: __main__ warnings. They are caused by an unfortunate combination of problems: there's a __main__.py file in the root of the repo (which shouldn't exist IMO) and the fact that pytest will enumerate all the installed files (importlib_metadata will wrongly enumerate files that aren't normally installed when install is a develop install).
the pytest-cov==2.7.1 dep should be replaced to something that is the pytest-cov master
I've fixed the xdist support (the correct activation point is pytest_sessionstart - otherwise we'd bind to the wrong cov_controller)
I've renamed --cov-contexts to --cov-context - I don't get why it was pluralized since there's no comma splitting or something like that in validate_context.

So my suggestion is to take this approach to get more alpha/beta releases of coveragepy out since this whole thing needs overall more work anyway (customization of context, showing something in the reporting about contexts and so on).

I understand your point about the alpha/betas of coverage.py, but I would rather not have this plugin here.  This code has far too much pytest knowledge in it: it should be part of pytest-cov.  This code even has details of the internals of the pytest-cov plugin.
The overall work remaining ("customization of context, showing something in the reporting about contexts and so on") is mostly on the coverage.py side of things, not in the pytest integration.
The code should live in the repo that makes the most sense as its forever home.  If there's a pytest-cov plugin, then this code should be part of it.  If somewhere down the line, we completely fold pytest-cov into coverage.py, then this code will be part of that folding.
Can we apply your fixes to pytest-dev/pytest-cov#342 ?

Codecov Report

Merging #850 into master will decrease coverage by 0.04%.
The diff coverage is 69.76%.

@@            Coverage Diff             @@
##           master     #850      +/-   ##
==========================================
- Coverage   92.19%   92.15%   -0.05%
==========================================
  Files          85       87       +2
  Lines       11326    11369      +43
  Branches     1146     1149       +3
==========================================
+ Hits        10442    10477      +35
- Misses        741      748       +7
- Partials      143      144       +1

Impacted Files
Coverage Δ

tests/test_pytest.py
100% <100%> (ø)

coverage/pytest_plugin.py
56.66% <56.66%> (ø)

coverage/control.py
88.25% <0%> (+0.28%)
:arrow_up:

coverage/inorout.py
55.55% <0%> (+0.82%)
:arrow_up:

tests/conftest.py
96% <0%> (+8%)
:arrow_up:

Continue to review full report at Codecov.

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

Oooof ... well what can I say.


proposal: cmd/go: add a way to query for non-defaults in the env

It's common to ask users to provide go version and go env when they report a bug. There is one problem with that, though - the output is getting huge, and most of it is generally useless. For example:
$ go version
go version devel +b38be35e4c Tue Sep 10 09:12:32 2019 +0000 linux/amd64
$ go env
GO111MODULE="on"
GOARCH="amd64"
GOBIN="/home/mvdan/go/bin"
GOCACHE="/home/mvdan/go/cache"
GOENV="/home/mvdan/.config/go/env"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GONOPROXY="brank.as/*"
GONOSUMDB="brank.as/*"
GOOS="linux"
GOPATH="/home/mvdan/go"
GOPRIVATE="brank.as/*"
GOPROXY="https://proxy.golang.org"
GOROOT="/home/mvdan/tip"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/home/mvdan/tip/pkg/tool/linux_amd64"
GCCGO="gccgo"
AR="ar"
CC="gcc"
CXX="g++"
CGO_ENABLED="1"
GOMOD="/dev/null"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build021884514=/tmp/go-build -gno-record-gcc-switches"

What's special about my environment? You can easily spot GO111MODULE or GOBIN as they are commonly set, and they are near the top. But what variables have I actually modified from the defaults on my system?
It would be useful to quickly see what Go env variables were specifically modified by a user. That is, what could be special about the user's environment, that could help in reproducing a bug they're running into.
I can kind of get that right now with a bit of shell hackery, showing the changes between my go env and the same go env with an empty environment:
$ diff <(env -i /usr/bin/go env) <(/usr/bin/go env) | grep '^>'
> GO111MODULE="on"
> GOBIN="/home/mvdan/go/bin"
> GOCACHE="/home/mvdan/go/cache"
> GOENV="/home/mvdan/.config/go/env"
> GONOPROXY="brank.as/*"
> GONOSUMDB="brank.as/*"
> GOPATH="/home/mvdan/go"
> GOPRIVATE="brank.as/*"
> GOPROXY="https://proxy.golang.org"
> GOMOD="/dev/null"
> GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build040980257=/tmp/go-build -gno-record-gcc-switches"

This is much better. It even has some surprises - I botched my GOPROXY by forgetting ,direct, for example. And I'm not sure why GOGCCFLAGS is different. GONOPROXY and GONOSUMDB are also a bit redundant as they simply follow GOPRIVATE here, but that's a minor thing.
It would be useful to be able to print a summary like the above, perhaps with go env -diff or go env -changed. Note that the idea is to show what's different from the defaults on that machine, so usually GOARCH and GOOS wouldn't be included.

We briefly discussed this in today's tools call. @jayconrod mentioned comments, but I'm still a bit worried about those in case anyone is expecting simple export word list syntax instead of the full source shell syntax supporting comments.
Another idea that came out during the call would be extending go env -json. In theory, that would allow us to add extra information without breaking any previous users. Unfortunately, the format of the output is just map[string]string with each key-value being each of the variable names and values, so we can't fit any more information there easily. Unless we go for something a bit funky like adding a second json object at the end of the output, like:
$ go env -json
{
    "FOO": "bar",
    [...]
}
{
    "nonDefaults": ["FOO"]
}

cc @bcmills

what about explaining where each value comes from?
$ go env -src
GO111MODULE="on"                   # default
GOARCH="amd64"                     # environment, default "arm64"
GOBIN="/home/mvdan/go/bin"         # GOENV, default ""
GOCACHE="/home/mvdan/go/cache"     # GOROOT/go.env, default ""
GOENV="/home/mvdan/.config/go/env" # default

I see why this could possibly be useful but it's also a giant pain. I am not sure the benefit is worth the effort.

This proposal has been added to the active column of the proposals project
and will now be reviewed at the weekly proposal review meetings.
— rsc for the proposal review group

Placed on hold.
— rsc for the proposal review group

Does someone want to prototype this to see if there is a simple implementation?

I have been working on one. The proposal has been placed on hold though. Are there any further details that can be shared about that?

We place proposals on hold if we think they may be valuable but want more information before committing to a decision. In this case we'd like to see an implementation and its effect on cmd/go.

I wrote a prototype for this proposal that will work well on my computer.
output:
go env -changed
set GO111MODULE=auto
set GOCACHE=D:\file\go-build
set GOPATH=D:\file\gofile
set GOPROXY=https://goproxy.cn,direct
set GOTOOLCHAIN=local
set GOAMD64=v3
set CGO_ENABLED=1

@seankhliao, I think a flag for the source of the setting would be useful (like git config --show-origin), but probably shouldn't be the default (it complicates the parsing).
An interesting related question, though, is: what should go env -changed do for positional arguments? (Probably print a blank line for each unchanged variable named on the command line?)

This proposal has been added to the active column of the proposals project
and will now be reviewed at the weekly proposal review meetings.
— rsc for the proposal review group

Probably print a blank line for each unchanged variable named on the command line?

I think go env -changed only prints the non-default values of the environment variables that go env will print.
For example:
$ set GOTOOLCHAIN=local
(Other environment variables are unchanged)
$ go env -changed
$ set GOTOOLCHAIN=local

See https://github.com/golang/go/issues/34208#issue-491707830

It's common to ask users to provide go version and go env when they report a bug. There is one problem with that, though - the output is getting huge, and most of it is generally useless.

If print blank line, Once the go env -changed is use in the future in https://github.com/golang/go/issues/new?assignees=&labels=&projects=&template=00-bug.yml&title=import%2Fpath%3A+issue+title
Empty lines take up space in the browser display, but do not help with handle bugs.

The question is what happens with 'go env -changed GOPATH GOROOT GOMODCACHE' for example.
Without -changed, this would print
% go env GOROOT GOPATH GOMODCACHE
/Users/rsc/go
/Users/rsc
/Users/rsc/pkg/mod
%

In this case, GOROOT is arguably unchanged, as is GOMODCACHE; but GOPATH is changed. So is this what it prints?
% go env -changed GOROOT GOPATH GOMODCACHE
/Users/rsc
%

If so, how do you know which of the three values got printed?
This is why @bcmills recommended the blank line, which makes sense to me:
% go env -changed GOROOT GOPATH GOMODCACHE

/Users/rsc

%

Only programs are likely to use this anyway, and they can read the blank lines well enough.
The usage of go env in issues would be unaffected: we all agree that plain go env -changed does not print blank lines, because it is printing name=value pairs, so there is no ambiguity about what the environment variable names are.

use https://go.dev/cl/563137
my machine
in windows
$ go env -changed GOPATH GOROOT GOMODCACHE
set GOPATH=D:\file\gofile

in wsl2
$ go env -changed GOPATH GOROOT GOMODCACHE
GOPATH='/mnt/d/file/gofile/'

Because the print format can always be name=value, so I don't think I need to print empty lines.

OK, this seems fine.

Have all remaining concerns about this proposal been addressed?
The proposal is to add a new flag to go env: ‘go env -changed’.
With no other flags or arguments, ‘go env -changed’ prints all non-default settings
in the form key=value, one per line, same as ‘go env’ does (just fewer lines).
When there are command-line arguments, as in ‘go env -changed X Y Z’, the command behaves exactly like ‘go env -changed’ except it limits the consideration to X, Y, and Z. It still omits default settings. This output has a different form from ‘go env X Y Z’ in that it includes the ‘key=’ prefixes (or ‘set key=’ on Windows).
When using ‘go env -json -changed’, the JSON only includes the changed values. ‘go env -json -changed X Y Z’, similarly limits the consideration to X, Y, and Z.

Based on the discussion above, this proposal seems like a likely accept.
— rsc for the proposal review group
The proposal is to add a new flag to go env: ‘go env -changed’.
With no other flags or arguments, ‘go env -changed’ prints all non-default settings
in the form key=value, one per line, same as ‘go env’ does (just fewer lines).
When there are command-line arguments, as in ‘go env -changed X Y Z’, the command behaves exactly like ‘go env -changed’ except it limits the consideration to X, Y, and Z. It still omits default settings. This output has a different form from ‘go env X Y Z’ in that it includes the ‘key=’ prefixes (or ‘set key=’ on Windows).
When using ‘go env -json -changed’, the JSON only includes the changed values. ‘go env -json -changed X Y Z’, similarly limits the consideration to X, Y, and Z.

I think this would solve the problem I was having here as well where I didn't realize i was setting an empty string which was different than the default.
https://github.com/golang/go/issues/62485

No change in consensus, so accepted. 🎉
This issue now tracks the work of implementing the proposal.
— rsc for the proposal review group
The proposal is to add a new flag to go env: ‘go env -changed’.
With no other flags or arguments, ‘go env -changed’ prints all non-default settings
in the form key=value, one per line, same as ‘go env’ does (just fewer lines).
When there are command-line arguments, as in ‘go env -changed X Y Z’, the command behaves exactly like ‘go env -changed’ except it limits the consideration to X, Y, and Z. It still omits default settings. This output has a different form from ‘go env X Y Z’ in that it includes the ‘key=’ prefixes (or ‘set key=’ on Windows).
When using ‘go env -json -changed’, the JSON only includes the changed values. ‘go env -json -changed X Y Z’, similarly limits the consideration to X, Y, and Z.


Scope validation failed

Scope validation failed  as  Singleton DocumentProvider accesses to Transient SwaggerGenerator:
Error while validating the service descriptor 'ServiceType: Microsoft.Extensions.ApiDescriptions.IDocumentProvider Lifetime: Singleton ImplementationType: Microsoft.Extensions.ApiDescriptions.DocumentProvider': No constructor for type 'Swashbuckle.AspNetCore.SwaggerGen.SwaggerGenerator' can be instantiated using services from the service container and default values.

SwaggerGenServiceCollectionExtensions.cs#L33
services.AddTransient<ISwaggerProvider, SwaggerGenerator>();
...
services.TryAddSingleton<IDocumentProvider, DocumentProvider>();

scope validation
https://docs.microsoft.com/en-us/aspnet/core/fundamentals/host/web-host?view=aspnetcore-3.0#scope-validation

Swashbuckle.AspNetCore.SwaggerGen: 5.0.0-rc4

netcoreapp3.0

Closing due to age - please open a new issue if you still have this issue in the latest version of Swashbuckle.


Incorrect IOPS limits in the table

The page shows incorrect IOSP limits for Lsv2-series VMs, for example 8000 for Standard_L8s_v2 whereas azure shows 10000 Max IOPS

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

ID: b7323e68-7415-ba43-47de-8d1738f7c52b
Version Independent ID: 1bce47f4-d516-dd38-3e54-8da7b9b7b416
Content: Azure Windows VM sizes - Storage
Content Source: articles/virtual-machines/windows/sizes-storage.md
Service: virtual-machines-windows
GitHub Login: @jonbeck7
Microsoft Alias: jonbeck

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

@turbozapekanka can you elaborate on what you mean by Azure shows 10000 Max IOPs? Do you mean it shows value via the portal when picking a size?

Yes. It shows that value in "Max IOPS" column when picking a VM size

Thanks for that. I will check and update the doc :)

@jonbeck7 can you take a look and get someone to validate and update the doc with the correct metrics?
CC @cynthn @Drewm3

@joelpelley

We will have the portal updated.  @joelpelley can you reach out?

Not sure how that got out of sync, but it is fixable.  That said, Lsv2 is all about the IOPs on the local disk and not really about the IOPs over to XIO.  These numbers are more about XIO.  Do we match by showing the XIO numbers, or do we update to be more specific about the local disks?  My assumption is we match XIO.

Great question.   Perhaps work with Jerry and explain the difference in disk types on this and get his suggestion on what can be done.   It would be great if we could do something like Temp/XIO 8,000/NVME 400,000

Reviewed and confirmed.  Our published specs are correct here:  https://docs.microsoft.com/en-us/azure/virtual-machines/linux/sizes-storage
We just need to go make the update in Portal.  I will ask the team to do so and we can close this thread.

#please-close


Add property to include permissive CORS response

References #142.

@auguster Can you test this and see if it suits your use case?

With pleasure, How can I configure it ? I guess "*" would be enough for my tests.

You need to add s3proxy.cors-allow-all to your properties file.  I can add more flexible configuration if you have feedback.

@auguster Good to merge?

I'm testing it but it doesn't seem like the server sets place a Access-Control-Allow-Origin: * in the response header.
I'll try rebuilding it and retesting it (in case I did something wrong) but so far it's a no go...

Nope, I can't find any mention of Access-Control-Allow-Origin in the response header.
I did use s3proxy.cors-allow-all=true in my properties file. I don't know if s3proxy took it into consideration, I don't see any mention of it in the starting logs:
I 07-19 10:59:50.585 main org.eclipse.jetty.util.log:186 |::] Logging initialized @1485ms
I 07-19 10:59:50.638 main o.eclipse.jetty.server.Server:327 |::] jetty-9.2.z-SNAPSHOT
I 07-19 10:59:50.676 main o.e.j.server.ServerConnector:266 |::] Started ServerConnector@6fecc906{HTTP/1.1}{<IP_ADDRESS>:8080}
I 07-19 10:59:50.677 main o.eclipse.jetty.server.Server:379 |::] Started @1580ms

@auguster Could you retest with the latest commits in this branch?  Previously it had the wrong behavior for anonymous requests.

Now I do see the Access-Control-Allow-Origin:*.
For some strange reason what I wanted to do still fails. I'm trying to grab a frame from a video (hosted on s3proxy) and display it using nothing but HTML5 and javascript. I can grab the frame but I cannot export the grabbed frame because "Tainted canvases may not be exported.". Normally having Access-Control-Allow-Origin:* on the video should have solved that but doesn't seem to be the case.
But it's not really related to this pull request anymore. So it's good to merge ;-)

Never minded, I forgot to set the attribute crossorigin="anonymous" on the video element. Now everything works great ;)

Thanks for your feedback @auguster!


Bug fix: Hue Smart plug with different product id

Thanks, will add this Product ID to the device coder with next update. (no PR needed)


Settable default swipeBackEnabled value.

Why?
The default value of swipeBackEnabled is YES now.
But, in my case, I have to set swipeBackEnabled enabled in just few navigation controllers.
So...
I wanted to set the default value of swipeBackEnabled.
I just added a SwipeBackDefaults class with a singleton method.
For example,
Just add a line below into your App delegate -application:didFinishLaunchingWithOptions:
[SwipeBackDefaults defaults].swipeBackEnabled = NO;

@KimDarren, Thank you for your work! It looks useful. But why not just creating an extension on UINavigationController?
Such as:
[UINavigationController setSwipeBackEnabled:NO];
[UINavigationController setDefaultSwipeBackEnabled:NO];


Environment and computational complexity

I wonder the details of the environment in which the experiment was conducted.
And what is the computational complexity for each round?

Please refer to Appendix A of our paper where we describe the environment and computational complexity of TCLP.


Users and repository owners as third-party beneficiaries of inbound contributor license

I am not an attorney, and none of this is legal advice.
Policies: Terms of Service ; and Corporate Terms of Service
Sections: https://github.com/github/site-policy/blob/master/Policies/github-corporate-terms-of-service.md#5-license-grant-to-other-users , https://github.com/github/site-policy/blob/master/Policies/github-corporate-terms-of-service.md#6-contributions-under-repository-license , https://github.com/github/site-policy/blob/master/Policies/github-terms-of-service.md#5-license-grant-to-other-users , https://github.com/github/site-policy/blob/master/Policies/github-terms-of-service.md#6-contributions-under-repository-license
Would GitHub consider making its users and repository owners explicit third-party beneficiaries of the license grants in sections 5 and 6, and allow them to enforce the 'inbound=outbound' conventional license independently of GitHub?  Why or why not?

5 and 6

https://github.com/github/site-policy/blob/master/Policies/github-corporate-terms-of-service.md#5-license-grant-to-other-users

Policies/github-terms-of-service.md

https://github.com/github/site-policy/blob/master/Policies/github-terms-of-service.md#5-license-grant-to-other-users

Hey GitHub any consideration of this?  Thanks!

Hi, apologies for overlooking this issue, thanks for the ping.
inbound=outbound is simply how most open source projects (those that don't use a CLA) work, and GitHub's terms affirm this. Our understanding is that the license grant provides an adequate defense if a contributor to a project argues that they did not intend to put the code under their license. GitHub does not enforce the license used by a project, rather the project's copyright holders (licensors) may.
I think that may answer your question, in which case it doesn't look like there is anything to add. If you're suggesting something novel, we'd like to see the concept demonstrated in open source practice before considering making it a default in our terms.


4.4

QUESTION 4
What are two characteristics of the public cloud? Each correct answer presents a complete
solution.
NOTE: Each correct selection is worth one point.
A. dedicated hardware
B. unsecured connections
C. limited storage
D. metered pricing
E. self-service management

DE


NativeModule syntax no longer valid?

I'm unable to build this in it's current state, with RN 0.14.0.  I get:
bundle: Created ReactPackager
uncaught error Error: UnableToResolveError: Unable to resolve module NativeModules from {MY_PROJECT_PATH}/node_modules/react-native-location/RNLocation.ios.js: Invalid directory /Users/node_modules/NativeModules

When changing this line:
var NativeRNLocation = require('NativeModules').RNLocation;

to this:
var NativeRNLocation = require('react-native').NativeModules.RNLocation;

Things start working again.  It seems vaguely related to this.

#9 should address this.

Works great now with 0.15.0.


Fix Amount.RoundTo concurrency issue

Bug description
decimalContext function returns globals which shouldn't be modified concurrently. Amount.RoundTo modifies the returned context's Rounding property which causes data race condition when Amount.RoundTo is called concurrently anywhere.
My proposition
Copy the context just in Amount.RoundTo method to make it safe for concurrent writes. In all other methods where the decimalContext is used it can be left as-is since no write operations are performed there.
I considered also an option with not using globals at all and returning a copy every time from the decimalContext func, but I'll leave it up to you to decide if this optimization is needed.

Thanks for the feedback. Yeah, I think it would make sense to optimize at least for the default case. I've just pushed changes with that approach along with a benchmark. The results are following on my machine. We've got ~40% better performance when using a preallocated context for RoundHalfUp.
go test -bench=BenchmarkAmount_RoundTo -benchtime 20s
goos: darwin
goarch: amd64
pkg: github.com/bojanz/currency
cpu: Intel(R) Core(TM) i7-8850H CPU @ 2.60GHz
BenchmarkAmount_RoundTo/rounding_mode_0-12              135998726              177.4 ns/op
BenchmarkAmount_RoundTo/rounding_mode_1-12              75741964               313.4 ns/op
BenchmarkAmount_RoundTo/rounding_mode_2-12              76531234               315.4 ns/op
BenchmarkAmount_RoundTo/rounding_mode_3-12              80649298               306.5 ns/op
PASS
ok      github.com/bojanz/currency      115.647s

Hi, I want ask for the progress, Is there anything what blocks this PR ?

@bojanz , @czeslavo , is there anything more to do here that I could help you guys with?

Thank you for everyone's work and patience! Now merged. I will be tagging a release shortly.


Verify Set IP Address source to unspecified address source via IPMI.

I have tried every bit according to the ipmi spec. Currently, only 0h = unspecified will cause problems.

@ishwaryamathim @Ganesan149 could help there.
and there are bunch of IPMI fixes in review as well
https://gerrit.openbmc.org/q/project:openbmc/openbmc-test-automation+status:open+IPMI

The source code expects case IPSrc::Unspecified: to return response(ccParamNotSupported); but the robot expects 0xcc, which one should be followed?
https://github.com/openbmc/phosphor-host-ipmid/blob/ea46f3ca61dd12b210a74cf78e464c78e0987a47/transporthandler.cpp#L821


Adds snapshot autodeploy scripts

Fixes #86

@felipecsl I can never get this part to work right in my repos. Could you paste a sample of what I should use with the secure key gem?  I always get an unauthorized  :-(

@digitalbuddha travis encrypt SONATYPE_NEXUS_PASSWORD=yourpassword and travis encrypt SONATYPE_NEXUS_USERNAME=yourusername

What did last commit do? I don't see a change.

@digitalbuddha chmod the script to make it executable 😄


Make various additions to style guide based on recent decisions for release 10.0.0

Review issues and PRs for 10.0.0 to find all cases; especially local names issue #188.
Be sure also to include guidelines on use (non-use) of RDF properties and RDFS classes; see end of comment thread on issue #389.

Moving to September to get the release out more quickly. Documentation can follow in the next release.


merge where alu when one branch is identity element const

this is another case that does not increase alu count

did not really hit, will keep this for later


docs: Add ADR for LogPipeline health status

Description
Changes proposed in this pull request (what was done and why):

Describe condition reasons for LogPipeline flow health

Changes refer to particular issues, PRs or documents:

#904

Traceability

[ ] The PR is linked to a GitHub issue.
[ ] New features have a milestone set.
[ ] New features have defined acceptance criteria in a corresponding GitHub Issue, and all criteria are satisfied with this PR.
[ ] The corresponding GitHub issue has a respective area and kind label.
[ ] The follow-up issues (if any) are linked in the Related Issues section.
[ ] Adjusted the documentation if the change is user-facing.
[ ] The feature is unit-tested
[ ] The feature is e2e-tested

/test pull-telemetry-manager-build


Helm based Kubernetes experimentation

Evolve Iter8's Kubernetes experimentation capability to achieve the following.

Successive experiment launches for the same app: suppose an experiment is launched for app 'hello' (e.g., load testing with notifications/triggers at the end)... suppose a next version of hello comes along, and another experiment is launched. We do not want these experiments to clobber each other.

The simple solution which Helm provides is to simply push the new experiment into the cluster as the next version of a Helm release. This option is available to us now (since experiments are Helm templated, and we can mixin K8s templates into it). It would be tedious to implement this feature without Helm, but Helm already provides this capability.

The above feature is crucial for AutoX, which is the Iter8 controller for A/B(/n) as well as other experiment types that auto launches experiments.

Cluster agnostic: Different K8s clusters may be different ways of running jobs. A case in point being the "standard K8s cluster" which we've been experimenting with  using kind/Minikube, and non-standard ones like IBM cloud code engine, where jobs are not even supported.

We need to effectively isolate the core experiment objects (secret for spec, secret for result) from the deployment mechanism (job vs ce-job vs cron-job in the future). This is again something that can be achieved easily through the concept of mixins (i.e., not hardcoding the K8s deployment logic into Iter8, but allowing them to be specified independently of the experiment, example,  through another chart).

The following is a potential route to achieve both of the above ...
iter8 hub --experiment-chart=load-test-http --runtime=k8s # can also be ce, or k8s-cron
cd load-test-http
iter8 k launch --app="hello" --set url="https://example.com" # this will create the next version of a Helm release

The current iter8 k get, iter8 k assert, iter8 k run, and iter8 k report functions are super good. We want their functionality to be retained as is (they all need testing; besides, if they can be simplified further in light of recent Helm based templating changes, then then need to be simplified).

Common flags supported by iter8 k needs to be retained. This is important functionality already supported by current iter8 k.

Revisit iter8 k delete in light of Helm based releases/templating.

@kalantar FYI.


Accessing Cloud Shadow (Light Cookie) via Shader Graph

Hi, I currently have a scene filled with foliage which greatly relies on SSS. It normally functions by multiplying the SSS with the directional lights' shadow map, except due to the cloud shadows using light cookies instead, it causes the foliage to glow while it's in shadow.
I have followed the instructions from this post, but I can't get it to work.
"Just defining a multicompile _LIGHT_COOKIES keyword will be enough. After that your light.color will automatically be multipled by the cookie if there is one, you dont need to do anything manually."
https://www.reddit.com/r/Unity3D/comments/yjsryp/soooo_how_are_light_cookies_supposed_to_work_with/
Example graph:

How would you go about fixing this?
Thanks

Hello, maybe you can try changing the keyword scope to "Global", because "_LIGHT_COOKIES" is a global shader keyword.
But I don't think the issue can be solved in this way because Lit shader graph should have already defined that keyword.
To find out a solution, let's check out how main light cookie is applied:
Light GetMainLight(float4 shadowCoord, float3 positionWS, half4 shadowMask)
{
    Light light = GetMainLight();
    // A 0-1 shadow value
    light.shadowAttenuation = MainLightShadow(shadowCoord, positionWS, shadowMask, _MainLightOcclusionProbes);

    // Note: the clouds shadow cookie is always a black & white (0-1) texture, so the 3 color channels are the same
    #if defined(_LIGHT_COOKIES)
        // Get the main light cookie color
        real3 cookieColor = SampleMainLightCookie(positionWS);
        // Modify main light color by multiplying with cookie color
        light.color *= cookieColor;
    #endif

    return light;
}

So, you can get the cookie color with SampleMainLightCookie(positionWS); and multiply with "Shadow" (or "Emission") in your shader graph.

Thankyou, it works perfectly now!


Better cover art

Giantbomb's database of images is subpar. I'm looking for some better sources.

It's good enough.


Unable to use InterfaceInterception with Covariant / Contravariant Interfaces

I have a pretty trivial example using latest on NuGet (Unity / Unity.Interception 4.0.1)
public interface IInterface<in TIn, out TOut>
{
  TOut DoSomething(TIn input);
}

public class Thing : IInterface<string, string>
{
  public string DoSomething(string input)
  {
    return input;
  }
}

public class TestInterceptor : IInterceptionBehavior
{
    public bool WillExecute => true;

    public IEnumerable<Type> GetRequiredInterfaces()
    {
        return Type.EmptyTypes;
    }

    public IMethodReturn Invoke(IMethodInvocation input, GetNextInterceptionBehaviorDelegate getNext)
    {
        return getNext()(input, null);
    }
}

public void Main(string[] args)
{
    var proxy = Intercept.ThroughProxy<IInterface<string, string>>(
      new Thing(),
      new InterfaceInterceptor(),
      new[] { new TestInterceptor() });

    proxy.DoSomething("hello world");
}

Results in the exception:
TypeLoadException: Could not load type 'DynamicModule.ns.Wrapped_IInterface`2_f77b7d7f16c54c3393a389eedeced496' from assembly 'Unity_ILEmit_InterfaceProxies, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=null' because it declares a covariant or contravariant type parameter and is not an interface or delegate.

I dug into the code a bit and found InterfaceInterceptorClassGenerator.cs.
Zeroing the *variant flags seems to make it work for me.
genericTypes[i].SetGenericParameterAttributes(
  genericArguments[i].GenericParameterAttributes & ~GenericParameterAttributes.VarianceMask
);

Is there any reason why they should be there?

I can confirm the issue. Tried to decorate RequestHandlers from MediatR which are covariant. Any workarounds without compiling Unity myself?

I'm also facing the same issue.

I'm having the same issue as well.  I don't suppose there is any plan to ever address this?

Moved to unitycontainer/interception#5


RPC calls access control

It would be nice to be able to have more granular access control to the rpc calls, which would allow:

a feed script to have access to an unlocked wallet but only be able to publish feeds
a proxy to access to blockchain info without having access to wallet functionality
some other scripts that deal with management of the client without being able to export private keys
etc...

Something like that would be nice in the config.json file
"rpc": {
    "enable": true,
    "users": [
        {
            "rpc_user": "web_client",
            "rpc_password": "password1",
            "rpc_methods_allowed": ["get_info", "about", "blockchain_get_blocks"],
        },
        {
            "rpc_user": "bts_tools",
            "rpc_password": "password2",
            "rpc_methods_allowed": ["get_info", "blockchain_get_delegate_slot_records", "wallet_publish_feeds"],
        }
    ],
    "httpd_endpoint": "<IP_ADDRESS>:5678",
}

maybe also having the rpc_methods_forbidden property would be nice, which would allow things like:
"rpc_methods_allowed": ["*"],
"rpc_methods_forbidden": ["wallet_dump_private_key"]

although it's generally better to always whitelist instead of blacklisting methods, so we could probably do with only rpc_methods_allowed at the beginning.

Closing, as I implemented a RPC proxy that provides this functionality, see: https://bitsharestalk.org/index.php?topic=13143 and https://github.com/wackou/bts_proxy


⚠ Bofrost.lu has degraded performance

In fa5edce, Bofrost.lu (https://www.bofrost.lu) experienced degraded performance:

HTTP code: 200
Response time: 1878 ms

Resolved: Bofrost.lu performance has improved in e7de920 after 13 minutes.


Auerswald compact 5500 CVE-2021-40859

Closing this PR since there is no way to enforce this policy on to the firmware used by Auerswald compact 5500
cc: @salman-accuknox / @raviknox


This task is to find a systematic way to figure out the cases for which a library in the automated benchmarking system performs badly

very slow (ranked last, or far from median)
very memory intensive
fails
the focus here is (obviously) on Shogun, but a script that does that should be general (and contributed back to their project)

Contact @zoq and @rcurtin who have ideas how to do that.

(18:15:51) rcurtin: hmm, you could do this by postprocessing the SQL results
(18:15:57) rcurtin: I think it would be a fairly easy query too
(18:16:21) Heiko: could I make an entrance task for that and send people to you?
(18:16:29) rcurtin: the system can run and output results into an SQL database or into SQLite too, so it's easy to just grab a database and go to town with the sqlite3 db
(18:16:49) rcurtin: that would be fine, but definitely we should talk with Marcus and see what he thinks the interface for that should be
(18:17:07) rcurtin: like right now we kind of have a command-line interface to actually run the benchmarks, and some HTML/JS to view the results
(18:17:18) rcurtin: but this seems like something separate, a simple script to analyze results
(18:17:39) rcurtin: my initial inclination is that maybe this would fit well into some kind of new results/scripts/ directory, which can contain simple scripts to work with the results
(18:18:51) rcurtin: but maybe Marcus has a better idea
(18:19:09) rcurtin: and how to test the code to be submitted will be a little bit of an issue, we might need to set up some infrastructure for that

Hi,
I've figured out a way to get the results through the mysql_wrapper.php.
curl -X POST \
  http://www.mlpack.org/php/mysql_wrapper.php \
  -H 'Cache-Control: no-cache' \
  -H 'Content-Type: application/x-www-form-urlencoded' \
  -H 'Postman-Token: 175a469b-31bd-4921-bd23-170d8b9e171a' \
  -d 'request=<QUERY>'

And  is
SELECT
    *
FROM (
    SELECT
        libraries.name as lib,
        methods.name as name,
        datasets.name as dataset,
        results.time as time,
        results.var as var,
        libraries.id,
        datasets.id as did,
        libraries.id as lid,
        results.build_id as bid,
        datasets.instances as di,
        datasets.attributes as da,
        datasets.size as ds
    FROM results, datasets, methods, libraries
    WHERE
        results.dataset_id = datasets.id AND
        results.method_id = methods.id AND
        methods.parameters = '' AND
        libraries.id = results.libary_id AND
        libraries.name = 'shogun' AND
        results.time <= 0 # this can be remove if we want to get all results.
    ORDER BY bid DESC
) tmp;

Actually, I was surprised you could send a query; only a specific IP should be able to do that. Do you think, that could be sufficient?

I was surprised too!
Can you elaborate a bit about your approach? If I understood correctly, you would allow only certain IPs to send the POST request to the server. If that's the case, the benchmark page will be functional on for those IPs, right?

Right, only the build/webserver would be able to send the POST, I think this is already the case, but since a user is able to run the php script the IP is correct, so I guess we could adapt the script.

Hi @zoq & @karlnapf,
Given the command I provided previously and current coverage in https://github.com/shogun-toolbox/shogun/issues/4046#issuecomment-461455849, I think we basically have everything we need for this issue.
What else should we do for this issue?

But some shogun algos are uncovered, so how can we know how it performs?

It would be interesting to see in which case shogun is leading or is behind. The second case, could be a good starting point for further analysis.

I've also created an issue at mlpack's benchmarks (https://github.com/mlpack/benchmarks/issues/133). It seems Shogun has an DTC algorithm but the   benchmark report doesn't have the the result.
@zoq  do you have any idea why that happens?


[962] Keys in a dictionary are returned in sorted order

Fixes #962 by compiling it from .NET.

Nice pull request. We will try to get this into Bridge 16.0.

Fixed in PR #2946
We will probably return back to this .Net implementation later.


There are websites that can't be downloaded.

DO NOT REMOVE OR SKIP THE ISSUE TEMPLATE

[X] I understand that I will be blocked if I intentionally remove or skip any mandatory* field

Checklist

[X] I'm asking a question and not reporting a bug or requesting a feature
[X] I've looked through the README
[X] I've verified that I have updated yt-dlp to nightly or master (update instructions)
[X] I've searched known issues and the bugtracker for similar questions including closed ones. DO NOT post duplicates
[X] I've read the guidelines for opening an issue

Please make sure the question is worded well enough to be understood
Hello, Xinpianchang: It seems that the website of the new film sto can't be downloaded.
Provide verbose output that clearly demonstrates the problem

[ ] Run your yt-dlp command with -vU flag added (yt-dlp -vU <your command line>)
[ ] If using API, add 'verbose': True to YoutubeDL params instead
[ ] Copy the WHOLE output (starting with [debug] Command-line config) and insert it below

Complete Verbose Output
No response

please share complete verbose output

请分享完整的详细输出

ok
C:\Users\n1289>yt-dlp -f -best "https://www.xinpianchang.com/a12294310?from=IndexPick&part=编辑精%E
9%80%89&index=4"
[Xinpianchang] Extracting URL: https://www.xinpianchang.com/a12294310?from=IndexPick&part=编辑精选&index=4
[Xinpianchang] a12294310: Downloading webpage
ERROR: [Xinpianchang] a12294310: Unable to download webpage: HTTP Error 406: Not Acceptable (caused by <HTTPError 406: Not Acceptable>)


feat(integrations): Add Autologging integration for Openai

Description
This PR adds an autologging integration for openai API using the new WandbTraceTree media type
Testing
We run functional tests with yea to test and verify the integration.
Checklist

[X] Ensure PR title compliance with the conventional commits standards

🤖 Generated by Copilot at d49a6e8

We're logging OpenAI with wandb today
We patch and parse and format all the way
We use the autolog function to make it easy
And trace_tree to show the API calls so breezy

closing in favor https://github.com/wandb/wandb/pull/5362


Initial progress to provide better answers

https://github.com/jabrena/spring-boot-user-beans/issues/137

https://github.com/jabrena/spring-boot-user-beans/issues/136

https://github.com/jabrena/spring-boot-user-beans/issues/126


2D offset fails if multiple faces would be created

There are two cases in which offsetting a single face could create multiple resulting faces:

A face with a "choke point" breaks apart due to a negative offset larger than the choke point:

cs = Circle(2) + Pos(3.9, 0) * Circle(2)
cso = offset(cs, -0.5)
# -> RuntimeError: Multiple Wires generated

A face with a hole is cut apart by the whole growing through some thin sections:

f = Rectangle(15, 10) - Circle(4.9)
fo = offset(f, -0.15)
# -> AttributeError: 'Compound' object has no attribute 'normal_at'

both of these currently fail (with different errors)

My current workaround is
def wireOffset(wire: Wire, dist: float):
    builder = BRepOffsetAPI_MakeOffset()
    builder.Init(GeomAbs_JoinType.GeomAbs_Arc)
    builder.AddWire(wire.wrapped)
    builder.Perform(dist)
    obj = downcast(builder.Shape())
    if isinstance(obj, TopoDS_Compound):
        return Compound(obj).wires()
    elif isinstance(obj, TopoDS_Wire):
        return ShapeList[Wire]([Wire(obj)])
    else:
        raise RuntimeError("Unexpected result type")

def safeOffset(face: Face, dist: float):
    outer = wireOffset(face.wire(), dist)
    inner = [x for i in face.inner_wires() for x in wireOffset(i, -dist) ]
    main = Sketch(Face(wire) for wire in outer)
    print("wat")
    if len(inner) > 0:
        return main.cut(*(Face(i) for i in inner))
    return main

which works for both cases (but is otherwise a lot less flexible than the offset part of build123d)


feat(image-fetch): call enpoint to fetch image

[!WARNING]
This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

#34  👈
#33
develop

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @libhide and the rest of your teammates on  Graphite


Error when running scholarly

When trying to run the simple example shown at README
from scholarly import scholarly
print(next(scholarly.search_author('Steven A. Cholewiak')))
an error is reported from line 122 in __navigator.py:
File "/.../Library/Python/3.7/lib/python/site-packages/scholarly/_navigator.py", line 122, in _close_session     if self._webdriver: AttributeError: 'Navigator' object has no attribute '_webdriver'

Just tried to replicate this after installing the latest version ( pip3 install -U pip scholarly). I could not replicate the problem.


Setting omit empty or pointer on nested structs

Is your feature request related to a problem? Please describe.
Hi guys, really like the project and intending to adopt it, one sticking point that would make life even better.
We're using GraphQL with App sync on the front and have a number of list queries that take a filter which is itself a nested struct (see additional context for details)
The struct at the bottom level has what are essentially mutually exclusive fields where a max 1 of them can be provided, if more than one are the requests will fail.
As they are themselves simple types setting use_struct_references doesn't help. The fields in TableStringFilterInput will not have omitempty set or be pointers.
As they are more than one layer down you can't set them to be omitted or pointers with decorators.
i.e. # @genqlient(for: "filter.name.eq", omitempty: true, pointer: true) gives genqlient.graphql:8: for must be of the form "MyType.myField"
Is there any way to get the fields on TableStringFilterInput to have omitempty set?
If not any suggestions about what would be the best way to achieve this? Open to having a go at making any changes required.
Describe the solution you'd like
A way to tell genqlient to set omitempty on all fields for a type via the yaml file.
Describe alternatives you've considered
Passing all the fields from the filter through individually and then setting them to be omit empty using the decorator, not great design as every caller will have to pass N structs with only 1 being set rather than 1 struct with the relevant field set.
i.e.
# @genqlient(for: "TableStringFilterInput.eq", omitempty: true, pointer: true)
# @genqlient(for: "TableStringFilterInput.ne", omitempty: true, pointer: true)
# @genqlient(for: "TableStringFilterInput.contains", omitempty: true, pointer: true)
# @genqlient(for: "TableStringFilterInput.notContains", omitempty: true, pointer: true)
# @genqlient(for: "TableStringFilterInput.beginsWith", omitempty: true, pointer: true)
# @genqlient(for: "TableStringFilterInput.in", omitempty: true, pointer: true)
query ListCats(
		$breed: TableStringFilterInput,
                $name: TableStringFilterInput,
		$limit: Int,
		$nextToken: String
) {
    listCats(filter: {name: $name, breed: $breed}, limit: $limit, nextToken: $nextToken) {
        items {
            ...CatFragment
        }
        nextToken
    }
}

The decorators would be required for every list query and would mean the caller has to pass in a filter for every field even when only trying to query by one of them.
Additional context
Example GraphQL schema:
scalar AWSTimestamp
directive @aws_subscribe(mutations: [String!]!) on FIELD_DEFINITION
directive @aws_api_key on OBJECT
directive @aws_cognito_user_pools on OBJECT

# Self-described.
type Query @aws_api_key @aws_cognito_user_pools {
	# Get list of cats query (DynamoDB).
	listCats(
		# DynamoDB filters for cats. Optional.
		filter: TableCatFilterInput,
		# Max count of items to scan. Optional.
		limit: Int,
		# Next batch pointer. Optional.
		nextToken: String
	): CatConnection
}

# Filter for DynamoDB String type field.
input TableStringFilterInput {
	# Begins with. Optional.
	beginsWith: String
	# Contains string. Optional.
	contains: String
	# Equal. Optional.
	eq: String
	# In defined list. Optional.
	in: [String]
	# Not Equal. Optional.
	ne: String
	# Not contains string. Optional.
	notContains: String
}

input TableCatFilterInput {
	name: TableStringFilterInput
	breed: TableStringFilterInput
}

type CatConnection @aws_api_key @aws_cognito_user_pools {
	items: [Cat]
	nextToken: String
}

type Cat @aws_api_key @aws_cognito_user_pools {
	name: String!
    breed: String
}

Example of generated code using said schema
cat_test.zip
Note: The TableStringFilterInput is an appsync + dynamo thing, for more see - https://docs.aws.amazon.com/appsync/latest/devguide/provision-from-schema.html

Interesting.  I think what you're really hoping for is a way to say "use pointers for optional fields" at the type level, similar to what #178 proposes globally.  Or maybe you'd be fine with a global option too?  Perhaps if someone has time to implement #178 you could see if that works for you, and if not we can use that logic to implement what you want; I'm guessing it won't be too complex to add thereafter.
In the meantime I want to point out a fix to the workaround you tried.  We do allow for to apply to nested types, you just have to specify it as TypeName.fieldName ignoring the nesting.  So it will look like:
# @genqlient(for: "TableStringFilterInput.eq", omitempty: true, pointer: true)

and that will apply even when that TableStringFilterInput is a field of an argument, not an argument in and of itself.  So you don't need the filter: {name: $name, breed: $breed} stuff, you can just use the same decorators you had there, but passing directly filter: $filter.
Another way we could solve this is to have a way to add a global for option in your genqlient.yaml.  Then you could put those 6 decorators in your genqlient.yaml once, and be done.  Not sure if that would be a better idea; I'll make a separate issue to consider it.

Oh, one more thing to add is: if you have control over the schema, you might want to consider using a union and/or enum type here!  I think the more canonical way to represent a filter like this in GraphQL would be
type TableStringEqFilterInput { val: String! }
type TableStringInFilterInput { val: [String!]! }
# (etc.)

union TableStringFilterInput =
  | TableStringEqFilterInput
  | TableStringInFilterInput
  # (etc.)

Obviously that adds some indirection, but it'll save you some validation work, and make tools better able to see what's going on.

Hey, thanks for the reply. Knowing how to set pointer and omitempty on subfields is super helpful thanks and will certainly solve our specific problem.
I'll put a PR in to expand on the FAQs with an example of how to set them on subfields.
It's a bit of a workaround solution though, the decorators only need to be specified once, but, it must be on the query with the first usage of the filter, decorators on later filters for the same type will be ignored, this would be easy to mess up with a refactor as all it would take is moving a query above whichever has the decorators to break things.
#178 may resolve the problem but we'd want to be able to set omitempty on the fields as well as making them pointers which might not make sense to do for all optional types.
I like the idea of being able to specify an equivalent to the decorators in the yaml file, this would resolve any issue of query ordering in the schema and allow more fine grained control than simply making all optional fields pointers and omitempty.
On the union types my understanding is GraphQL won't allow a union in an input type which the FilterInputs end up being part of. There's quite possibly a better way to express mutually exclusive fields though, will have to try some of the suggestions from https://github.com/graphql/graphql-spec/issues/488.

Thanks for the replies -- it seems like global decorators (#190) are probably the best route here. I may or may not have time to take a look at that next week, or if not then later in the month; feel free to take a stab at it as well if you'd like. (I would guess it won't be too hard to implement -- in theory all the parsing and option-precedence code exists and just needs new wiring -- but I'm not certain.)

the decorators only need to be specified once, but, it must be on the query with the first usage of the filter, decorators on later filters for the same type will be ignored, this would be easy to mess up with a refactor as all it would take is moving a query above whichever has the decorators to break things.

Ah, yes, the idea is that you should specify them on all queries that use the filter, but obviously it's easy to miss one.  (See also #123.)

#178 may resolve the problem but we'd want to be able to set omitempty on the fields as well as making them pointers which might not make sense to do for all optional types.

Ah, thanks for pointing that out, yeah.  This makes the "global decorators" idea (#190) seem more compelling.  Or, if we explicitly let you set it at the type level (and allow both pointers and omitempty) -- but then maybe global decorators are just a simpler way to do that.

On the union types my understanding is GraphQL won't allow a union in an input type

Ah, of course, I forgot we were talking about input types! My bad; I don't know of a better way then (at least in the current spec).

I'm going to close this, we've got a workable solution and #190 can explore cleaner options.


Improve retry policy for requests

Motivation
From February 1st, 2020 Delivery API will start enforcing rate limits to ensure fair usage by as many clients as possible. These rate limits should be high enough to work for most clients by default. However, in particular cases Delivery API might respond with 429 Too many requests. These responses will also contain the Retry-After header indicating how long the client should wait before making a follow-up request.
Proposed solution
Implement a retry policy that handles 429 Too many requests and retries the HTTP call using information from an optional Retry-After header. It can contain a date after which to retry or the seconds to delay after the response is received. We recommend a retry policy with exponential backoff and a jitter strategy to overcome peaks of similar retries coming from many clients. The retry policy should handle the following status codes:

408 Request Timeout
429 Too many requests
500 Internal Server Error
502 Bad Gateway
503 Service Unavailable
504 Gateway Timeout

Please note that both 429 Too many requests and 503 Service Unavailable responses might contain an optional Retry-After header.
Additional context

https://aws.amazon.com/blogs/architecture/exponential-backoff-and-jitter/
https://github.com/Kentico/kontent-delivery-sdk-net/blob/master/Kentico.Kontent.Delivery/RetryPolicy/DefaultRetryPolicy.cs

Improved retry policy and added 429 to the list of codes, but as rate limiting isn't implemented in Delivery yet, we'll have to wait

Woops, mentioned wrong issue in push.. ignore!


Update Rekordbox to 3.2.2

Thank you for the contribution. It was merged directly as cd89aad574b94683da67ab5dfeb8bcb1d78c340a to keep commit history cleaner. Your contribution is still credited to you.

Travis failure is unrelated. TRAVIS_COMMIT_RANGE doesn't appear to include only those commits being merged in. Will investigate further.


Some result is completely wrong, even though optimality reported

The problem is stated as follow:
def max_peak(power_signal,overall_ld):
    '''calculate peak if we use the power_signal profile  '''
    max_value = overall_ld[0] + power_signal[0]
    for i in range(1,time_slot):
        max_value= cp.maximum(max_value,\
                              overall_ld[i]+power_signal[i])
    return max_value

Basically, we return the peak of elementwise sum.
Here is the function call this part:
def peak_estimation(Z_t):
    '''
    Parameters
    ----------
    Z_t : numpy.array (variable length)
        The aggregate trace up to time t.
    Returns
    -------
    peak estimation of Z_t.
    '''
    t = Z_t.size # current time t
    remain_trace = cp.Variable(time_slot-t) # [Z_{t+1}, Z_T]
    power_signal = cp.Variable(time_slot)

    tmp = cp.Variable() # temporary variable

    prob = cp.Problem(cp.Minimize(tmp), constraints = [tmp>=max_peak(power_signal,\
           np.array(Z_t.tolist() + list(remain_trace))), \
           #power singal/battery constraints
           gen_LB(agg)<= gen_A()@power_signal,\
           gen_A()@power_signal<=gen_UB(agg),\
           # prediction set constraints, i.e., lower/upper limit of prediction
           lower_agg_prediction()[t:]<=remain_trace, \
           remain_trace<= upper_agg_prediction()[t:]])

    prob.solve(solver=cp.SCS, max_iters = 100000, eps=1e-8)

    return prob.value

Basically, the power_signal use the minimum allowed. The remain trace should always hit $lower_agg_prediction()[t:]$.
Reality is input of Z_t indeed get the exact optimal solution, while others have a substantial improvement space.
Zt=[ 84  84 101 101  84]
cumulative =  -40.0016137364416
power_singal =[ -0.3168788   -0.31684458 -17.31377696 -17.30950422  -0.30412928
  -0.2984144   -0.29059612  -0.2819718   -0.27275451  -0.26317459
  -0.25347457  -0.24390386  -0.23471344  -0.22615053  -0.21845351
  -0.21184718  -0.20653845  -0.20271263  -0.20053045  -0.20012583
  -0.20160456  -0.20504393  -0.21049338  -0.21797617]
 trace = [ 84.          84.         101.         101.          84.
  84.00018692  84.00000402  83.99979994  83.99957923  83.99934671
  83.99910742  83.99886645  83.99862883  83.99839941  83.99818268
  83.9979827   83.99780296  83.99764628  83.9975147   83.99740941
  83.99733066  83.99727773  83.99724891  83.99724139]
83.76777093543816
Zt=[101 101 101]
cumulative =  -39.592890096171935
power_singal =[-13.33399182 -13.33540032 -13.33704864   1.74861555   2.14752478
   3.03856096   2.45688448   2.02921268   2.54329345   0.64653744
   0.0631043   -2.47891124  -2.11587074   0.31417689   0.70740759
  -1.47373456  -4.34441679  -2.76958702  -1.69536949  -0.32654787
  -0.23999674   0.01766599   0.21377891  -0.06877791]
 trace = [101.         101.         101.          85.24978892  84.90422409
  84.23112206  84.54481147  84.90160855  84.36161117  84.93695698
  85.06165629  86.37050846  86.24397556  85.51490917  85.13856578
  86.03198182  87.41980173  86.84072578  85.85570531  85.36429766
  85.42021095  85.11234396  85.14970796  84.76394854]
87.65946928536609

The first input is correct for the element after 5th is all around 84 (i.e.lower_agg_prediction), while the second is suboptimal because by making the remain trace smaller, the objective could be minimized more.
I don't think that's anything to do with eps, max_iter because they are tuned.

Hi @siyuanpurdue. Unfortunately, we can't help you unless you provide a minimal example. One specific problem here is that gen_LB, gen_UB, and gen_A are all undefined.
Please post this question to StackOverflow with a CVXPY  tag (or the CVXPY Google Group) with that minimal information. We encourage you to come back and report an issue here if you believe that you have isolated a bug.

Result of genA:
[[1 0 0 ... 0 0 0]
 [0 1 0 ... 0 0 0]
 [0 0 1 ... 0 0 0]
 ...
 [1 1 1 ... 1 0 0]
 [1 1 1 ... 1 1 0]
 [1 1 1 ... 1 1 1]]

Result of genLB
[-80. -80. -80. -80. -80. -80. -80. -80. -80. -80. -80. -80. -80. -80.
 -80. -80. -80. -80. -80. -80. -80. -80. -80. -80. -40. -40. -40. -40.
 -40. -40. -40. -40. -40. -40. -40. -40. -40. -40. -40. -40. -40. -40.
 -40. -40. -40. -40. -40. -40.]

Result of genUB
[80. 80. 80. 80. 80. 80. 80. 80. 80. 80. 80. 80. 80. 80. 80. 80. 80. 80.
 80. 80. 80. 80. 80. 80. 40. 40. 40. 40. 40. 40. 40. 40. 40. 40. 40. 40.
 40. 40. 40. 40. 40. 40. 40. 40. 40. 40. 40. 40.]

Plz help! Thanks!

What do you mean by "completely wrong"? Do you have proof? Did you solve the problem with different solvers and get different results? Did the objective value differ across solvers or only the optimal value of the variables?

I have tried SCS, and CVXOPT. It seems like SCS is more accurate in solving my problem. As I said in the first post, for input Zt = [ 84  84 101 101  84], it gives "accurate" answer, i.e., the trace is 84 since 5th element. But for Zt=[101 101 101], it outputs a wrong answer. At least it's kind of far from optimal. The optimal is clearly: [101.         101.         101.          84........84], but the result given by solver is 85.24978892  84.90422409 ... 84.76394854. Which is far away from optimal. It is obviously, it should use exact bound of lower_agg_prediction

Have you tried MOSEK?

Have you tried MOSEK?

Yes, if you mean by simply adding "solver = MOSEK". But it seems like they have their own way of syntax, and defining problem. But I suppose it has the same effect, by adding that option in the cvxpy?

Is simply setting mosek.dparam.basis_tol_x: 1e-8 enough?


fix: tab completion

This usage of tabcomplete event breaks other plugin's tabcompletion.
Used TabExecutor.

Not all plugin commands will receive player name as second argument.

Hi. Okay wait fixing :)

i will recode plugin with 0 ;)

Sorry, I mistakenly force pushed to forked repository.
Create PR again.

Ah, "with 0" means you do this by your self and I do not need create new PR maybe?
If your rewritten code has same problem, I will create new PR :wave:


support http/https proxies #57

As mentioned in issue 57, http/https proxies are not used with current http.transport implementation in exposer.go.
Please find attached a proposed fix, validated in my environment.
With this patch, proxy is still optional and will be used only if http_proxy, https_proxy and no_proxy (or uppercase version) environment variables are defined in the execution environment of the process.

Build fails only on Golang 1.10, and requires apparently nsenter. Not related with my change.

Thanks for the PR. The test failed because of extenal dependency (kernel.org) has changed the location from where where we were pulling the nsenter files. It is now fixed with https://github.com/tnozicka/openshift-acme/pull/59 and I have restarted the tests. (The golang 1.10 is actually the only one running full e2e test suite so we should wait for it.)

Seems like even when I restart the PR job, travis will start from the old master and not pickup the commit, shame :/
Please rebase the PR on top of current master to pickup the change and to force travis to test current version.
This raises the priority for Travis replacement I was planing to do anywas; sorry about the inconvenience.

This is an essential feature for running offline clusters.
However, I'd add some documentation mentioning the Kubernetes API should be excluded from the proxy preventing the watcher/lister requests from being proxied as well.

/retest

/retest

/retest
/approve
/lgtm

/overwrite continuous-integration/travis-ci/pr

/overwrite continuous-integration/travis-ci/pr

/override continuous-integration/travis-ci/pr


Cannot parse response from ollama (open-webui) when response does not contain header Content-Type: application/x-ndjson

Describe the need of your request
It looks like the image below

This is due to the error described in the next issue.
I created an issue in the open-webui project to add the response header like in ollama: https://github.com/open-webui/open-webui/issues/4915.
Proposed solution
Perhaps in this project it would also be nice to do some handling for when the header Content-Type is missing and try to recognize the message body if possible.
Additional context
Using Ollama (Local) provider.

This issue should be fixed in the latest version (2.11.1). Please reopen the ticket if it is still reproducible.


Consider whether we should have openssl dependency in nix file

https://github.com/noir-lang/noir/blob/846a24af0c3ed5cc1d35d0630b8fbe3faca33b8a/default.nix#L5
Seems like with https://github.com/noir-lang/noir/pull/691, this is no longer necessary but I want to be able to build from this nix file before I start removing things from it.

Now that we have moved on to rust_tls this won't be needed. It won't hurt either.

@TomAFrench whats the status of this issue?

This line can be removed now. Will make a quick pr for it.

Relevant file no longer exists


setup with script tag prop interface bug

Version
3.2.4
Reproduction link
https://github.com/AShuiCoder/sfc-vue3-ts
Steps to reproduce
src/components/app-loading/index.vue
import { IProps } from './type'
http://<IP_ADDRESS>:8081/#/city
What is expected?
can import interface from outside
What is actually happening?
can't import interface from outside

https://github.com/vuejs/vue-next/issues/4294#issuecomment-896082769

Duplicate of https://github.com/vuejs/vue-next/issues/4294


Fix wrong AdHoc provisioning profile name

Ensure that AdHoc provisioning profiles are downloaded into files starting with "AdHoc" prefix.
It worked this way before, there at some point there was a change (I think that made by mistake) that resulted in AdHoc profiles being downloaded to files with prefix "Development"

I don't know why that happened. Thanks for submitting the pull request :+1:


Correct two old mentions of integer amounts to strings

I found a couple of places which weren't updated when internal amounts were changed from ints to strings.

Thanks!


[AAP-11907] Add token creation to the getting started progress bar.

Add the token creation to the 'Getting started' progress bar

/cc @tiyiprh


[Feature] Show skill Roll dices for current crew role 🔑

Hey there, can you consier adding the option to show skill Roll dices for current crew role?
Now it looks like this:

Like You see, Commander Blackout can remove Setback dice. But if you roll via vehicle sheet, there is no info about that, and you can easy skip this info.
I think about something like this:

This is tricky. It could be added, but I'll have to think through if it can be added well. The vehicle isn't actually linked to the crew in any meaningful way, so the roll info would almost certainly become stale if the actor stats were changed while the vehicle sheet is open.

Done, will be released in 1.803. Note that the pool preview updates when the vehicle sheet is opened, meaning it will be out-of-date if you update an actor with the vehicle sheet open. It will correctly reflect it on a close/open, and the actual pool used when you click is still correct.

Oop, forgot to say - thanks for the suggestion.

Nice work, so in 1.802 we have:

With 1.803 we got:

Can you consider this:

Add new column (Dice pool) with dices next to Role instead of under Role, I think that this should be more readable when there are many crews, like in screen below:

This is just an idea

@wrycu also

@wrycu Like You see in the image below, Commander Blackout has -1 setback dice to piloting skill, but there is no info about that in the new feature that you add

Please file a new issue, including the bit about missing removing setback dice so I don't lose track of this.

Done: https://github.com/StarWarsFoundryVTT/StarWarsFFG/issues/1306


attachment are at the bottom of the e-mail instead of the top

Expected behavior
Tell us what should happen
email attachments should appear at the top of the email
Actual behavior
Tell us what happens instead
since the upgrade released today the attachment are at the bottom of the e-mail. if its a long email trail it's a real pain to have to scroll all the way down! Would it be possible to revert back to having the attachment at the top please?
Steps to reproduce

see above

Environment
K-9 Mail version:
v5.201
Android version:
6.0.1
Account type (IMAP, POP3, WebDAV/Exchange):
imap

We'll continue to tweak the message display to try to make it easier to read messages. But it's very unlikely that we'll be reverting to the old way of displaying attachments.
Collapsing quoted text will probably help to alleviate some of your scrolling pain. See issue #763.

Thanks. Is there a way of installing the previous version of k9 I had up till today?
Best regards
David
David Wynick
Professor of Molecular Medicine
Joint Director of Research NBT and UHBristol
C24A, Medical Sciences Building
University Walk
Bristol BS8 1TD
Tel:           0117 3311417
Fax:          0117 3312288
E-mail<EMAIL_ADDRESS>On 31 December 2016 18:23:01 GMT+00:00, cketti<EMAIL_ADDRESS>wrote:

We'll continue to tweak the message display to try to make it easier to
read messages. But it's very unlikely that we'll be reverting to the
old way of displaying attachments.
Collapsing quoted text will probably help to alleviate some of your
scrolling pain. See issue #763.
--
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub:
https://github.com/k9mail/k-9/issues/1895#issuecomment-269876709

apologies if I am just being dense but I don't see how to "Collapse quoted text" in a long e-mail as per your post above thus allowing me to easily access the attachment that is now at the bottom of the e-mail. Is ther a button or an easy way to do this?
Tx
David

apologies if I am just being dense but I don't see how to "Collapse quoted text" in a long e-mail as per your post above thus allowing me to easily access the attachment that is now at the bottom of the e-mail. Is ther a button or an easy way to do this?
Tx
David


Add Hadolint, a Dockerfile linter

https://github.com/hadolint/hadolint
https://github.com/hadolint/hadolint-action

@sebrandon1 I think this is managed by the repo settings: "yamllint Expected — Waiting for status to be reported". I've aggregated all linters under name linters.

Yeah the checks are managed in the repository settings, we can change those after this is merged.

Got it. I successfully built these images locally, for me, it is good to go. I don't have an option to merge to main.


Use n_Li or Q_Li as the input for electrode SOH calculation?

n_Li is the total moles of cyclable lithium
Q_Li = n_Li * F / 3600 is the total capacity of cyclable lithium
n_Li is better because it's what's in the Mohtat reference paper. Q_Li is better because it has the same units as Q_n, Q_p, Q and so doesn't require the factor of F/3600 to convert.
I would lean towards switching to Q_Li.

You mean as an internal Python variable or as an external "plotting" variable?

For the variable we pass in the inputs dictionary.
We can have both as plotting variables

Then I am happy with either of them, so if you prefer Q_Li I vote for it too.

Done in #2508


UAT Bug- cannot add new contact

Describe the Bug:
No link/button to add new contact.
Steps to reproduce the behaviour:

Navigate to Person Responsible for Submitting a Report page.
Click on Contacts link at the top of the page.
Contacts page shows contacts table with existing contacts, but unable to add NEW contacts.

Screenshots:

Additional information:
Browser: chrome, Edge
Additional Context
User story: As an Industry Reporter, I want to confirm or add contact information for the Person Responsible for Submitting a Report so that this information is accurate and included in the report. #255
UAT ticket: https://teams.microsoft.com/l/entity/com.microsoft.teamspace.tab.planner/mytasks?tenantId=6fdb5200-3d0d-4a8a-b036-d3685e359adc&webUrl=https%3A%2F%2Ftasks.teams.microsoft.com%2Fteamsui%2FpersonalApp%2Falltasklists&context={"subEntityId"%3A"%2Fv1%2Fplan%2FtGqZRZUMZk-c-CTHae_WtWUAGImJ%2Fview%2Fboard%2Ftask%2FYQbB5JDvf0ibJMsbHxo9KGUAEpg3"}

Not sure if this is a registration issue rather than reporting?

@fviduya here's another one that would be great for you to have a look at. I am not sure if this issue is specific to when a user navigates from Reporting to Contacts, or if this is just an issue in the contacts page.

Tested on: DEV environment
Role: industry_user
Browser:  Chrome, Edge
Steps to Replicate:

Log in as industry_user (bc-cas-dev)
Under Reporting tile, click Submit Annual Report(s)
Click Start or Continue on Operation 3
Under Operation Information on the left, click Person Responsible

Scenario 1: Contact exists:

Select a Contact from the dropdown menu
Expected Result: Information from the dropdown menu is auto-populated in the fields below
Actual Result: Information from the dropdown menu is auto-populated in the fields below

Scenario 2: Adding a new Contact

Click the Contacts link found at the top of the form to navigate to the Contacts table
Click Add Contact
Expected Result: Contact is saved successfully
Actual Result:  Contact is saved successfully

Scenario 3: Verify that newly added contact is visible in the Person Responsible page

Verified that the issue does not exist in the dev environment. The Add Contact button is visible in the Contacts table. The newly added contact is visible in the Person Responsible dropdown, and changing the option in the dropdown changes the contents of the Personal Information fields.

Also tried adding straight from Contacts page (not by clicking Contacts from Reporting page), and was able to see the new contact in the dropdown.


chore(readme): Update readme file

Add npm install.
Use pascal case.
Extend repo descriptions.

:tada: This PR is included in version 1.0.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


grow filesystem

There should be a simple command growing filesystem.
This can be done manually with:
# append 10g to disk
% dlite stop
% dd if=/dev/zero bs=1m count=10000 >> ~/.dlite/disk.img
% dlite start
# login and resize partition
% ssh docker@$(dlite ip)
$ sudo killall docker
$ sudo umount /var/lib/docker
$ sudo fdisk -u /dev/vda
fdisk> delete partition 1
fdisk> create new partion 1 as primary with max size
fdisk> w
% dlite stop
% dlite start
# login and resize btrfs
% ssh docker@$(dlite ip) sudo btrfs filesystem resize max /var/lib/docker

viola!

i like this idea.. i'll have to figure out the best way to implement it since it requires changes in both dlite and dhyveos

Looking at the current init script hook, it seems we can do very similar thing to the magic check by having a /var/dhyveos_desired_disksize file, and just have S03automount do the growing, rm that desired disksize file, and reboot.

I did try these commands, because I accidentally created my vm with 1Gb...
Commands did not work for me:
$ sudo btrfs filesystem resize max /var/lib/docker
Resize '/var/lib/docker' of 'max'
ERROR: unable to resize '/var/lib/docker' - Invalid argument
$ mount /var/lib/docker
mount: can't find /var/lib/docker in /etc/fstab
Explains why not.
Is there a recommended way to delete and start again with a new VM?

you can just run dlite rebuild and it will make a new disk image, the -d flag works to specify the size.
dlite stop
dlite rebuild -d 20
dlite start

would rebuild the disk with a 20gb image

thanks. Just did this.
それでは、また。Sophie

On 24 Feb 2016, at 22:05, Nathan LaFreniere<EMAIL_ADDRESS>wrote:
you can just run dlite rebuild and it will make a new disk image, the -d flag works to specify the size.
dlite stop
dlite rebuild -d 20
dlite start
would rebuild the disk with a 20gb image
—
Reply to this email directly or view it on GitHub https://github.com/nlf/dlite/issues/109#issuecomment-188452755.

this actually isn't going to happen because i'm refactoring things to use a sparse disk image instead, the rebuild command is sufficient i think. closing for now.


Cannot preload built-in gdscript scripts

Godot version:
3.1
OS/device including version:

N/A
Issue description:

Instead of having a seperate GameObject.tscn and GameObject.gd, I use the built-in scripts option on the root node of the scene, so GameObject.gd becomes GameObject.tscn::1. I find this to be cleaner. This has worked for most things. However, when you try to preload the script in another script to reference it, you get the error
Can't preload resource at path: res://GameObject.tscn::1
Steps to reproduce:
(in SomeRandomScript.gd)
const GameObject = preload("res://GameObject.tscn::1")
This fails, and the aforementioned error is thrown.
This is inconsistent with other functionality, as this resource path is the path the script editor uses to edit the built-in script.
If this is intentional, please mention so, as I will change this into a feature request.
Minimal reproduction project:

gdscript preloading is transcending into levels that should not be possible

There's no way to load a built-in script without loading the scene that contains it, so this kind of notation doesn't really make sense.

You have to preload the scene anyways, because even if preload("res://GameObject.tscn::1") worked, the engine would still need to parse the scene to get the script... effectively doing the same as preloading the scene. If you want to preload the script without the scene, you have to make them separate files.


Hardware/Original MAC

Hi, is it possible to add a "revert to original" feature? or just show the original MAC?
Like in "ChangeMAC 1.6", another similar utility, you can see the HW MAC and the fake MAC, then revert:

Would make this utility perfect, THANKS! =)

I found a way to do this. Looking forward to implementing this soon.

Would you mind giving the latest release a try?

I'll close this because I think it's solved

Yeah, thanks! :D


[Feature]: Add a new hook PreUninstall for plugins.

1. Your usage scenarios?
Some plugins need to be cleaned up before uninstalling the targeted runtime, e.g. python, after installing through the exe installer on Windows, will register some KEYs in the registry, when uninstalling, we need to clean up the corresponding KEYs in time.
2. What is your expected outcome?
Add a new hook PreUninstall for plugins.

version-fox/vfox-python#2
#62


rtp: send all RTCP packets as compound packets

According to RFC 3550 section 6.1 all RTCP packets MUST be sent as compound packets:
   Thus, all RTCP packets MUST be sent in a compound packet of at least
   two individual packets, with the following format:
   ...
   SR or RR:  The first RTCP packet in the compound packet MUST
      always be a report packet to facilitate header validation as
      described in Appendix A.2.  This is true even if no data has been
      sent or received, in which case an empty RR MUST be sent, and even
      if the only other RTCP packet in the compound packet is a BYE.
   ...
   SDES:  An SDES packet containing a CNAME item MUST be included
      in each compound RTCP packet, except as noted in Section 9.1.

With this change, RTCP packets sent with rtcp_quick_send are now sent as compound packets and thereby RFC compliant.
PS:
Some UAs enforce this strictly (e.g. Asterisk) by implementing the algorithm provided by RFC 3550 Appendix A:
      u_int32 len;        /* length of compound RTCP packet in words */
      rtcp_t *r;          /* RTCP header */
      rtcp_t *end;        /* end of compound RTCP packet */

      if ((*(u_int16 *)r & RTCP_VALID_MASK) != RTCP_VALID_VALUE) {
          /* something wrong with packet format */
      }
      end = (rtcp_t *)((u_int32 *)r + len);

      do r = (rtcp_t *)((u_int32 *)r + r->common.length + 1);
      while (r < end && r->common.version == 2);

      if (r != end) {
          /* something wrong with packet format */
      }

PS:
Some UAs enforce this strictly (e.g. Asterisk) by implementing the algorithm provided by RFC 3550 Appendix A:
      u_int32 len;        /* length of compound RTCP packet in words */
      rtcp_t *r;          /* RTCP header */
      rtcp_t *end;        /* end of compound RTCP packet */

      if ((*(u_int16 *)r & RTCP_VALID_MASK) != RTCP_VALID_VALUE) {
          /* something wrong with packet format */
      }
      end = (rtcp_t *)((u_int32 *)r + len);

      do r = (rtcp_t *)((u_int32 *)r + r->common.length + 1);
      while (r < end && r->common.version == 2);

      if (r != end) {
          /* something wrong with packet format */
      }


@vercel/blob Docker image for local development

I am evaluating @vercel/blob and would like to set it up locally on Docker, similar to other storage packages such as PostgreSQL and KV where I managed to set up. Generally, this setup process is quite cumbersome; perhaps Vercel should document it to facilitate adoption. Any help would be appreciated.

https://github.com/634750802/vercel-blob-server used by myself, not testedr