Endless redirect loop in flask 0.7.2

Not sure if this is already fixed in the latest release. Seems related to this discussion:
http://librelist.com/browser//flask/2011/6/29/psa-routing-redirect-behavior/
..but this was apparently fixed in 0.7.1.
I am getting an endless redirect loop when doing the following:
@app.route('/loop', defaults={"a":"Hello", "b":"World"})
@app.route('/loop.<b>', defaults={"a":"Hello"})
@app.route('/loop/<a>', defaults={"b":"World"})
@app.route('/loop/<a>.<b>')
def endless_loop(a, b):
	return "%s %s" % (a, b)

(In case you are interested, in my application b is a file extension that specifies my API's output format)
This is what happens when you visit /loop:
<IP_ADDRESS> - - [16/Nov/2011 17:16:35] "GET /loop HTTP/1.1" 301 -
<IP_ADDRESS> - - [16/Nov/2011 17:16:35] "GET /loop.World HTTP/1.1" 301 -
<IP_ADDRESS> - - [16/Nov/2011 17:16:35] "GET /loop HTTP/1.1" 301 -
<IP_ADDRESS> - - [16/Nov/2011 17:16:35] "GET /loop.World HTTP/1.1" 301 -
A good workaround for my use case was to simply disable the redirection for defaults:
app.url_map.redirect_defaults = False

This is ok in my case since I am developing an API that does not need or want to be indexed by search engines, but for normal websites it would be suboptimal.
The smallest test case I could produce that triggers the bug is the following:
@app.route('/loop2', defaults={"a":"Hello", "b":"World"})
@app.route('/loop2/<a>', defaults={"b":"World"})
def endless_loop2(a, b):
	return "%s %s" % (a, b)

<IP_ADDRESS> - - [16/Nov/2011 17:15:31] "GET /loop2 HTTP/1.1" 301 -
<IP_ADDRESS> - - [16/Nov/2011 17:15:31] "GET /loop2/Hello HTTP/1.1" 301 -
<IP_ADDRESS> - - [16/Nov/2011 17:15:31] "GET /loop2 HTTP/1.1" 301 -
<IP_ADDRESS> - - [16/Nov/2011 17:15:31] "GET /loop2/Hello HTTP/1.1" 301 -
I am running the packaged version of flask from ubuntu oneiric:
python-flask 0.7.2-1
python-werkzeug 0.6.2-1

..but this was apparently fixed in 0.7.1.

Flask 0.7.0 had an issue with a change we did in Werkzeug before 0.7. However the problem you're experiencing is one that is not caused by Flask but by Werkzeug and it was fixed in in Werkzeug 0.7. Upgrading should fix the issue.


does this support react-native written in typescript?

I'm making a react-native app using typescript, and I noticed the typings are for the dom. Was searching the repo for react-native typings but could not find any?  Or I'm just missing some guide that may be you can help guide me to it? thanks

As far as I know there is no native TS typings available no.

@fayte0618 could you make a PR? will gladly accept them!


Akashraj answers.md

answered the niksmac join-us questionaire !!

Hello @akashraj-ismarty
We will review this and revert if you are the right candidate.


Review feedback

Wow this reads well :).  Super simple and friendly. Love the tone and balance for new users.
Lets update the Datasets hub screenshot to show a recommended section with certified / promoted and some preview images. That will make it look more compelling
I'm wondering if we should add some  additional topics on some features to try (Q&A visual, small multiples, conditional formatting, text summaries) because those are 'wow' moments for users and they probably won't find them without prompting.
For auto gen report on quick create we should mention that users should slice the data by clicking a data point
We should link out to docs for Analyze in Excel, Sharepoint list reports Visualize in Power BI

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

ID: 5e112abc-f3ec-bca8-7e02-9f9ca0116314
Version Independent ID: 65db863b-4001-133f-5831-e37bb0d4f347
Content: Create reports from data in Microsoft Teams - Power BI
Content Source: powerbi-docs/consumer/business-user-teams-create-reports.md
Service: powerbi
Sub-service: pbi-explore
GitHub Login: @maggiesMSFT
Microsoft Alias: maggies

Thanks for the feedback, @LukaszPawlowski-MS ! Somehow it didn't bubble up to my attention - oh, I just noticed - it's in the public repo! I'm going to add it to the PR and close this.
Wow this reads well :). Super simple and friendly. Love the tone and balance for new users.

Lets update the Datasets hub screenshot to show a recommended section with certified / promoted and some preview images. That will make it look more compelling
Done.
I'm wondering if we should add some additional topics on some features to try (Q&A visual, small multiples, conditional formatting, text summaries) because those are 'wow' moments for users and they probably won't find them without prompting.
For auto gen report on quick create we should mention that users should slice the data by clicking a data point
We should link out to docs for Analyze in Excel, Sharepoint list reports Visualize in Power BI


Hotfix

fix bug created in #129, can create contest now
refactor redirect
only subjudge, judge, admin can see register button

fixed

+1
@CHIAHSINHOU please test

Because there is some bugs, I can't test this PR. Henry said he would fix it later.

You can still test the function if you relaunch the server.

This PR is ok for me. However, I think there is still something we can improve such that the size of row when it shows the contests in Contest Archive. The size of row in first page is different from the size in other pages.

since the width is not enough
so the row automatically become higher

@bruce3557 please check

+1 after fixing comments

About @CHIAHSINHOU's comment, can you fix length of the row so that it can accommodate 50 characters (in our schema, cname's max length = 50)

OK for number
but not sure about chinese characters
and it depends on the window size user has.

@bruce3557
what do you mean?

going to merge


Documentation changes: Maybe a typo and link not working

Going through the development section of the docs,  Documentation link seems broken below Blog & Website

Also, looks like Sump-up is a typo and the intended heading might be different. If not, then what does it mean?

Nice, could you just fix the anchor links?
e.g. build it --> #documentation-1
:+1: to fix the Sump typo too!

Nice, could you just fix the anchor links?
e.g. build it --> #documentation-1
:+1: to fix the Sump typo too!


Issues with Kubernetes version displayed when K8s v1.15 chosen in the RKE template

Version: v2.3.0
Steps
Issue 1:

Create a cluster template T1 and revision R1 with K8s version as Latest v1.15

Create single node cluster by choosing template T1 and V1. Cluster gets created successfully

Create a new revision from default (V2) with the same Latest v1.15 as the k8s version

Create a new single node cluster with V2 .

The k8s version shows as v1.16.1 in the UI as below

Issue 2:
The UI also hangs when we have multiple revisions of a template and keep toggling between the revisions
Issue 3:
Sometimes when creating a cluster with revisions created from the default version, the Kubernetes version in the dropdown list has a vprefixed to the K8s version

Tested with rancher v2.3.1-rc2.

Create a cluster template T1 and revision V1 with K8s version as "Latest v1.15"
Create a new revision from default (V2) with the same "Latest v1.15" as the k8s version
Create a cluster with V1 or V2. The K8s version shows as v1.15.4-rc2 in the drop down

Toggling between revisions did not hang the browser
Also,  when creating a cluster with revisions created from the default version, the Kubernetes version in the dropdown list did not have vprefixed to the K8s version
Note: This issue was tested 10+ times choosing different latest K8s versions. In the testing done, the issues found in the issue were not observed.


Remove front-end logic joining query terms on AND and replace with default operator

Revert logic joining terms by AND on the front-end. Replace with a default operator on the query_string_query.
https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-query-string-query.html

default_handler was used in elasticsearch query and suggest methods to default to AND


Refactor and bump to v2.1.9

Refactoring, bug fixes, extended documentation, bumped dependencies, updated and created new templates, added client and server side verification for all currencies and other new features.

Thanks again for this PR! Will test this weekend.


Add AVX and AVX2 flag to support old and new CPU gen

Add AVX and AVX2 flag to support old and new CPU gen

Close this PR since both flag LLAMA_AVX and LLAMA_AVX2 is enable by default


Fix and extend BinomialHeap

Major changes:

remove redundant constructor of Heap
fix #629: head and tail now agree even if the comparison function is not irreflexive
add ofList, ofArray, deleteMin, tail?, toArray, toListUnordered, toArrayUnordered
add a simple test case

Each commit is self-contained, so you can review them individually. I can also split the PR if that's more convenient for you.

These are implementation notes rather than user-level comments, that's why I didn't make them doc comments

I agree with this fwiw, these would be terrible docstrings :sweat_smile: .


Company Communicator creation for second time

Hi we are creating Company Communicator for second time but we are getting the following issue.

Hi @ManasaMShastri ,
Thanks for raising the query. Please clarify below points.

Is there instance of CC already up and running?
Or  are you trying to re-deploy since you might have encountered deployment failure.

@ManasaMShastri , Closing this issue here as it is a duplicate to #1309. We can continue the conversation there to avoid ambiguity.


Renewals failing even though URL works in browser

Logs from the docker container:
2016-06-09 15:02:35,196:INFO:simp_le:1372: Certificates already exist and renewal is not necessary, exiting with status code 1.
Creating/renewal www.wvvw.me certificates... (www.wvvw.me  wvvw.me)
2016-06-09 15:02:36,207:INFO:requests.packages.urllib3.connectionpool:756: Starting new HTTPS connection (1): acme-v01.api.letsencrypt.org
2016-06-09 15:02:36,437:INFO:requests.packages.urllib3.connectionpool:756: Starting new HTTPS connection (1): acme-v01.api.letsencrypt.org
2016-06-09 15:02:36,600:INFO:requests.packages.urllib3.connectionpool:756: Starting new HTTPS connection (1): acme-v01.api.letsencrypt.org
2016-06-09 15:02:36,901:INFO:requests.packages.urllib3.connectionpool:756: Starting new HTTPS connection (1): acme-v01.api.letsencrypt.org
2016-06-09 15:02:37,097:INFO:requests.packages.urllib3.connectionpool:756: Starting new HTTPS connection (1): acme-v01.api.letsencrypt.org
2016-06-09 15:02:37,284:INFO:requests.packages.urllib3.connectionpool:207: Starting new HTTP connection (1): wvvw.me
2016-06-09 15:02:37,321:ERROR:acme.challenges:267: Unable to reach http://wvvw.me/.well-known/acme-challenge/0ZG-pd2XQE-OunkKa1MEXUbHhn1wq1HPgaZE535UOTg: HTTPConnectionPool(host='wvvw.me', port=80): Max retries exceeded with url: /.well-known/acme-challenge/0ZG-pd2XQE-OunkKa1MEXUbHhn1wq1HPgaZE535UOTg (Caused by NewConnectionError('<requests.packages.urllib3.connection.HTTPConnection object at 0x7f47b8ff43d0>: Failed to establish a new connection: [Errno 111] Connection refused',))
2016-06-09 15:02:37,322:WARNING:simp_le:1292: wvvw.me was not successfully self-verified. CA is likely to fail as well!
2016-06-09 15:02:37,356:INFO:requests.packages.urllib3.connectionpool:756: Starting new HTTPS connection (1): acme-v01.api.letsencrypt.org
2016-06-09 15:02:37,539:INFO:requests.packages.urllib3.connectionpool:207: Starting new HTTP connection (1): www.wvvw.me
2016-06-09 15:02:37,607:WARNING:simp_le:1292: www.wvvw.me was not successfully self-verified. CA is likely to fail as well!
2016-06-09 15:02:37,633:INFO:requests.packages.urllib3.connectionpool:756: Starting new HTTPS connection (1): acme-v01.api.letsencrypt.org
2016-06-09 15:02:37,794:INFO:simp_le:1302: Generating new certificate private key
2016-06-09 15:02:42,916:INFO:requests.packages.urllib3.connectionpool:756: Starting new HTTPS connection (1): acme-v01.api.letsencrypt.org
2016-06-09 15:02:43,084:INFO:requests.packages.urllib3.connectionpool:756: Starting new HTTPS connection (1): acme-v01.api.letsencrypt.org
2016-06-09 15:02:43,265:ERROR:simp_le:1260: CA marked some of the authorizations as invalid, which likely means it could not access http://example.com/.well-known/acme-challenge/X. Did you set correct path in -d example.com:path or --default_root? Is there a warning log entry about unsuccessful self-verification? Are all your domains accessible from the internet? Failing authorizations: https://acme-v01.api.letsencrypt.org/acme/authz/psSc0ykdYbvuoIUmmUTKT59lX1HUhGcairk8MBw-1I0
Challenge validation has failed, see error log.

Info from CURLing the URL from the log:
➜  ~ curl -i http://wvvw.me/.well-known/acme-challenge/0ZG-pd2XQE-OunkKa1MEXUbHhn1wq1HPgaZE535UOTg
HTTP/1.1 301 Moved Permanently
Server: nginx/1.9.9
Date: Thu, 09 Jun 2016 15:03:22 GMT
Content-Type: text/html
Content-Length: 184
Connection: keep-alive
Location: https://wvvw.me/.well-known/acme-challenge/0ZG-pd2XQE-OunkKa1MEXUbHhn1wq1HPgaZE535UOTg

<title>301 Moved Permanently</title>

301 Moved Permanently

nginx/1.9.9

It is normal that it will redirect http to https if you have a certificate installed.
Check if you have a certificate for you domain in the certs directory.
If yes check you can access the challenge file with https. If not check that your server is well configured to listen for https connections.
Also check if not relate to #55

I had a cert in the directory but it expired, I figured this would auto renew but looks like it's getting stuck.
Everything was working fine until it expired 4 days ago both on http and https.
I've also reinstalled nginx-proxy and letsencrypt-nginx-proxy-companion with the latest version.

Looks like this may be the issue: https://github.com/mail-in-a-box/mailinabox/issues/856

Yes wildcard is not support by letsencrypt. You need to add each domain in the LETS_ENCRYPT_HOST environment variable.

I have added each of them but it looks like maininabox wasn't setting the www subdomain to point to my other server even though I had a DNS entry for *.wvvw.me.

Can you give me your VIRTUAL_HOST and LETSENCRYPT_HOST variables ?

Like I said I don't think this is an issue with this and looks more like an issue with mailinabox's dns setup.
Both of them are set to www.wvvw.me, wvvw.me.


DEV: minor edits before bug-fix release

Pull Request Test Coverage Report for Build<PHONE_NUMBER>6
Details

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

Totals

Change from base Build<PHONE_NUMBER>5:
0.0%

Covered Lines:
33117

Relevant Lines:
35993

💛  - Coveralls


[FEATURE] Clear text password stored in OPENSEARCH_INITIAL_ADMIN_PASSWORD_TXT is insecure

Is your feature request related to a problem?
Storing passwords in the clear is insecure. The implementation that was chosen in #3560 offers a way to specify the password in a file that will be permanently stored on disk. Even if deleted it can be recovered. This is not secure.
What solution would you like?
Get rid of the file support that stores a clear text password.
There's already a way to specify the admin password in a file, see https://code.dblock.org/2023/08/08/changing-the-default-admin-password-in-opensearch.html. It's not easy, but you can generate a configuration file with the password. We also do need an easier way to do this, captured in #3848.
What alternatives have you considered?
Do nothing.
Do you have any additional context?
https://code.dblock.org/2023/08/08/changing-the-default-admin-password-in-opensearch.html

Closing as it was done in #3850


Pattern Parameters - possibility of using variables instead of just strings

Hi there!
Let's say that there are 2 organisms and each of them would like to include the same atoms - h3.mustache, p.mustache. Both atoms takes values from data.json - variables 'h3-title' and 'para', respectively. So that means that both organisms (boxes or blocks) are presented with the same data.
Of course, we can use {{> atoms-p(para: “new string”) }} within organism itself, but values are hard-coded in the template.
It would be much more flexible to use  {{> atoms-p(para: “ {{another-variable-from-data.json}} ”) }}. Now, we can use for each organism different general data from data.json/listitems.json, and in the upper level of templates or pages override it with custom.data.json for each box.
Thanks.
Josef

Hey @Pepino710,
Currently Pattern Lab swaps out data at the page level. So if you had two instances of an organism that you wanted to feed different data, you would do:
{{# instance1 }}
{{> organism-card }}
{{/ instance 1}}

{{# instance2 }}
{{> organism-card }}
{{/ instance 2}}
````
Then in your page-specific data you can do the following:

"instance1" : {
"title": "The first title",
"para" "This is the first paragraph."
},
"instance2" : {
"title": "The second title",
"para" "This is the second paragraph."
}

I believe there is a limitation with how pattern parameters work which is why you can't include a variable inside the pattern parameter. But I can't really speak to that as @dmolsen is the one that knows how that all works.


Fix mypy errors in xarray.py, xrutils.py, cache.py

Fixes some of #96

@headtr1ck, do you know why flake8 passes ellipsis on xarray but not here?

@headtr1ck, do you know why flake8 passes ellipsis on xarray but not here?

It seems that flake8 does not support it yet fully and you have to convince it to expose it using this config in your setup.cfg:
[flake8]
builtins =
    ellipsis

I think I'll stop here. core.py can be done in a different PR.
Here's what left in core.py:
flox/core.py:557: error: Incompatible default for argument "axis" (default has type "None", argument has type "Union[int, Sequence[int]]")  [assignment]
flox/core.py:612: error: Incompatible types in assignment (expression has type "Tuple[None]", variable has type "Optional[Mapping[Union[str, Callable[..., Any]], Any]]")  [assignment]
flox/core.py:668: error: No overload variant of "zip" matches argument types "Union[Sequence[str], Sequence[Callable[..., Any]]]", "None", "Any", "Any"  [call-overload]
flox/core.py:668: note: Possible overload variants:
flox/core.py:668: note:     def [_T_co, _T1] __new__(cls, Iterable[_T1], *, strict: bool = ...) -> zip[Tuple[_T1]]
flox/core.py:668: note:     def [_T_co, _T1, _T2] __new__(cls, Iterable[_T1], Iterable[_T2], *, strict: bool = ...) -> zip[Tuple[_T1, _T2]]
flox/core.py:668: note:     def [_T_co, _T1, _T2, _T3] __new__(cls, Iterable[_T1], Iterable[_T2], Iterable[_T3], *, strict: bool = ...) -> zip[Tuple[_T1, _T2, _T3]]
flox/core.py:668: note:     def [_T_co, _T1, _T2, _T3, _T4] __new__(cls, Iterable[_T1], Iterable[_T2], Iterable[_T3], Iterable[_T4], *, strict: bool = ...) -> zip[Tuple[_T1, _T2, _T3, _T4]]
flox/core.py:668: note:     def [_T_co, _T1, _T2, _T3, _T4, _T5] __new__(cls, Iterable[_T1], Iterable[_T2], Iterable[_T3], Iterable[_T4], Iterable[_T5], *, strict: bool = ...) -> zip[Tuple[_T1, _T2, _T3, _T4, _T5]]
flox/core.py:668: note:     def [_T_co] __new__(cls, Iterable[Any], Iterable[Any], Iterable[Any], Iterable[Any], Iterable[Any], Iterable[Any], *iterables: Iterable[Any], strict: bool = ...) -> zip[Tuple[Any, ...]]
flox/core.py:672: error: Argument 1 to "is_nanlen" has incompatible type "None"; expected "Union[str, Callable[..., Any]]"  [arg-type]
flox/core.py:809: error: Unsupported left operand type for + ("Sequence[Any]")  [operator]
flox/core.py:811: error: Unsupported left operand type for + ("Sequence[Any]")  [operator]
flox/core.py:816: error: Incompatible return value type (got "Dict[str, Any]", expected "Dict[Union[str, Callable[..., Any]], Any]")  [return-value]
flox/core.py:816: note: Perhaps you need a type annotation for "results"? Suggestion: "Dict[Union[str, Callable[..., Any]], Any]"
flox/core.py:902: error: Incompatible types in assignment (expression has type "Dict[Union[str, Callable[..., Any]], Any]", variable has type "Dict[str, object]")  [assignment]
flox/core.py:918: error: "object" has no attribute "append"  [attr-defined]
flox/core.py:921: error: "object" has no attribute "append"  [attr-defined]
flox/core.py:928: error: Argument "fill_value" to "chunk_reduce" has incompatible type "Tuple[int]"; expected "Optional[Mapping[Union[str, Callable[..., Any]], Any]]"  [arg-type]
flox/core.py:944: error: "object" has no attribute "append"  [attr-defined]
flox/core.py:957: error: Argument "fill_value" to "chunk_reduce" has incompatible type "Tuple[Any]"; expected "Optional[Mapping[Union[str, Callable[..., Any]], Any]]"  [arg-type]
flox/core.py:962: error: "object" has no attribute "append"  [attr-defined]
flox/core.py:964: error: Incompatible return value type (got "Dict[str, object]", expected "Dict[Union[str, Callable[..., Any]], Any]")  [return-value]
flox/core.py:964: note: Perhaps you need a type annotation for "results"? Suggestion: "Dict[Union[str, Callable[..., Any]], Any]"
flox/core.py:1182: error: Argument 1 to "partial" has incompatible type "object"; expected "Callable[..., Any]"  [arg-type]
flox/core.py:1235: error: Item "None" of "Optional[Any]" has no attribute "to_numpy"  [union-attr]
flox/core.py:1252: error: Incompatible types in assignment (expression has type "Array", variable has type "Dict[Any, Any]")  [assignment]
flox/core.py:1312: error: Incompatible return value type (got "Tuple[Any, ...]", expected "Tuple[Optional[Any]]")  [return-value]
flox/core.py:1468: error: Argument 1 to "_validate_reindex" has incompatible type "Optional[bool]"; expected "bool"  [arg-type]
flox/core.py:1482: error: Incompatible types in assignment (expression has type "Tuple[bool, ...]", variable has type "bool")  [assignment]
flox/core.py:1498: error: Argument 2 to "_convert_expected_groups_to_index" has incompatible type "bool"; expected "Sequence[bool]"  [arg-type]
flox/core.py:1502: error: Argument 1 to "any" has incompatible type "bool"; expected "Iterable[object]"  [arg-type]
flox/core.py:1566: error: Argument 4 to "_initialize_aggregation" has incompatible type "Optional[int]"; expected "int"  [arg-type]
flox/core.py:1578: error: Item "str" of "Union[str, Aggregation]" has no attribute "name"  [union-attr]
flox/core.py:1590: error: Item "ndarray[Any, dtype[Any]]" of "Union[ndarray[Any, dtype[Any]], Any, ndarray[Any, Any]]" has no attribute "chunks"  [union-attr]
flox/core.py:1590: error: Item "ndarray[Any, Any]" of "Union[ndarray[Any, dtype[Any]], Any, ndarray[Any, Any]]" has no attribute "chunks"  [union-attr]
flox/core.py:1603: error: Item "ndarray[Any, dtype[Any]]" of "Union[ndarray[Any, dtype[Any]], Any, ndarray[Any, Any]]" has no attribute "chunks"  [union-attr]
flox/core.py:1603: error: Item "ndarray[Any, Any]" of "Union[ndarray[Any, dtype[Any]], Any, ndarray[Any, Any]]" has no attribute "chunks"  [union-attr]
flox/core.py:1634: error: Incompatible types in assignment (expression has type "List[Union[ndarray[Any, Any], Any]]", variable has type "Tuple[Any]")  [assignment]
Found 30 errors in 1 file (checked 10 source files)


[SPARK-25798][PYTHON] Internally document type conversion between Pandas data and SQL types in Pandas UDFs

What changes were proposed in this pull request?
We are facing some problems about type conversions between Pandas data and SQL types in Pandas UDFs.
It's even difficult to identify the problems (see #20163 and #22610).
This PR targets to internally document the type conversion table. Some of them looks buggy and we should fix them.
Table can be generated via the codes below:
from pyspark.sql.types import *
from pyspark.sql.functions import pandas_udf

columns = [
    ('none', 'object(NoneType)'),
    ('bool', 'bool'),
    ('int8', 'int8'),
    ('int16', 'int16'),
    ('int32', 'int32'),
    ('int64', 'int64'),
    ('uint8', 'uint8'),
    ('uint16', 'uint16'),
    ('uint32', 'uint32'),
    ('uint64', 'uint64'),
    ('float64', 'float16'),
    ('float64', 'float32'),
    ('float64', 'float64'),
    ('date', 'datetime64[ns]'),
    ('tz_aware_dates', 'datetime64[ns, US/Eastern]'),
    ('string', 'object(string)'),
    ('decimal', 'object(Decimal)'),
    ('array', 'object(array[int32])'),
    ('float128', 'float128'),
    ('complex64', 'complex64'),
    ('complex128', 'complex128'),
    ('category', 'category'),
    ('tdeltas', 'timedelta64[ns]'),
]

def create_dataframe():
    import pandas as pd
    import numpy as np
    import decimal
    pdf = pd.DataFrame({
        'none': [None, None],
        'bool': [True, False],
        'int8': np.arange(1, 3).astype('int8'),
        'int16': np.arange(1, 3).astype('int16'),
        'int32': np.arange(1, 3).astype('int32'),
        'int64': np.arange(1, 3).astype('int64'),
        'uint8': np.arange(1, 3).astype('uint8'),
        'uint16': np.arange(1, 3).astype('uint16'),
        'uint32': np.arange(1, 3).astype('uint32'),
        'uint64': np.arange(1, 3).astype('uint64'),
        'float16': np.arange(1, 3).astype('float16'),
        'float32': np.arange(1, 3).astype('float32'),
        'float64': np.arange(1, 3).astype('float64'),
        'float128': np.arange(1, 3).astype('float128'),
        'complex64': np.arange(1, 3).astype('complex64'),
        'complex128': np.arange(1, 3).astype('complex128'),
        'string': list('ab'),
        'array': pd.Series([np.array([1, 2, 3], dtype=np.int32), np.array([1, 2, 3], dtype=np.int32)]),
        'decimal': pd.Series([decimal.Decimal('1'), decimal.Decimal('2')]),
        'date': pd.date_range('19700101', periods=2).values,
        'category': pd.Series(list("AB")).astype('category')})
    pdf['tdeltas'] = [pdf.date.diff()[1], pdf.date.diff()[0]]
    pdf['tz_aware_dates'] = pd.date_range('19700101', periods=2, tz='US/Eastern')
    return pdf

types =  [
    BooleanType(),
    ByteType(),
    ShortType(),
    IntegerType(),
    LongType(),
    FloatType(),
    DoubleType(),
    DateType(),
    TimestampType(),
    StringType(),
    DecimalType(10, 0),
    ArrayType(IntegerType()),
    MapType(StringType(), IntegerType()),
    StructType([StructField("_1", IntegerType())]),
    BinaryType(),
]

df = spark.range(2).repartition(1)
results = []
count = 0
total = len(types) * len(columns)
values = []
spark.sparkContext.setLogLevel("FATAL")
for t in types:
    result = []
    for column, pandas_t in columns:
        v = create_dataframe()[column][0]
        values.append(v)
        try:
            row = df.select(pandas_udf(lambda _: create_dataframe()[column], t)(df.id)).first()
            ret_str = repr(row[0])
        except Exception:
            ret_str = "X"
        result.append(ret_str)
        progress = "SQL Type: [%s]\n  Pandas Value(Type): %s(%s)]\n  Result Python Value: [%s]" % (
            t.simpleString(), v, pandas_t, ret_str)
        count += 1
        print("%s/%s:\n  %s" % (count, total, progress))
    results.append([t.simpleString()] + list(map(str, result)))

schema = ["SQL Type \\ Pandas Value(Type)"] + list(map(lambda values_column: "%s(%s)" % (values_column[0], values_column[1][1]), zip(values, columns)))
strings = spark.createDataFrame(results, schema=schema)._jdf.showString(20, 20, False)
print("\n".join(map(lambda line: "    # %s  # noqa" % line, strings.strip().split("\n"))))

This code is compatible with both Python 2 and 3 but the table was generated under Python 2.
How was this patch tested?
Manually tested and lint check.

cc @viirya, @BryanCutler and @cloud-fan

Build finished. Test FAILed.

Test build #97830 has started for PR 22795 at commit b361c20.

Build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/4302/
Test FAILed.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/4303/
Test PASSed.

Test build #97833 has started for PR 22795 at commit b361c20.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/4309/
Test PASSed.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/4310/
Test PASSed.

Build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/4314/
Test PASSed.

Test build #97838 has started for PR 22795 at commit c205ab4.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/4319/
Test PASSed.

Build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/4323/
Test PASSed.

Test build #97823 has finished for PR 22795 at commit 0a5b55a.

This patch fails PySpark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/97823/
Test FAILed.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/4326/
Test FAILed.

Test build #97842 has started for PR 22795 at commit b361c20.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/4330/
Test FAILed.

Test build #97830 has finished for PR 22795 at commit b361c20.

This patch fails PySpark unit tests.
This patch does not merge cleanly.
This patch adds no public classes.

Build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/97830/
Test FAILed.

Test build #97833 has finished for PR 22795 at commit b361c20.

This patch fails PySpark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/97833/
Test FAILed.

Test build #97851 has started for PR 22795 at commit 0a5b55a.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/4338/
Test FAILed.

Test build #97838 has finished for PR 22795 at commit c205ab4.

This patch fails PySpark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/97838/
Test FAILed.

Test build #97857 has started for PR 22795 at commit 5356124.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/4340/
Test FAILed.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/4341/
Test FAILed.

Test build #97860 has started for PR 22795 at commit b361c20.

Test build #97842 has finished for PR 22795 at commit b361c20.

This patch fails PySpark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/97842/
Test FAILed.

Test build #97863 has started for PR 22795 at commit c205ab4.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/4347/
Test PASSed.

Test build #97851 has finished for PR 22795 at commit 0a5b55a.

This patch fails to generate documentation.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/97851/
Test FAILed.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/4351/
Test FAILed.

Test build #97867 has started for PR 22795 at commit 0a5b55a.

Test build #97868 has started for PR 22795 at commit 5356124.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/4360/
Test FAILed.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/4363/
Test PASSed.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/4367/
Test PASSed.

Test build #97860 has finished for PR 22795 at commit b361c20.

This patch fails PySpark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/97860/
Test FAILed.

Test build #97857 has finished for PR 22795 at commit 5356124.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/97857/
Test PASSed.

Test build #97867 has finished for PR 22795 at commit 0a5b55a.

This patch fails PySpark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/97867/
Test FAILed.

Merged build finished. Test FAILed.

Merged build finished. Test FAILed.

merged to master, thanks @HyukjinKwon !

Sorry for late. This LGTM.

Thanks @viirya!!


chore(main): release homestar 0.1.0

:robot: I have created a release beep boop
0.1.0 (2023-11-07)
Features

homestar client (#35) (1c7376c)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/fission-codes/stack/releases/tag/homestar-v0.1.0 :sunflower:


Added details and changed example for 3.2

Added guidance to choosing the proper context for expressions.
Not sure if the example isn't too complex, but it illustrates several different cases. Some of wich, like the onclick and the style attributes are a little bit borderline with 1.2 (Avoid inline JavaScript or CSS), but I guess that if someone really wants to do that, then it's better to still tell how to do it properly.

Thank you for the enhancement.
I also think there's still a use case for using inline CSS in some cases. For example for setting a dynamic background-image it could be useful. This is something you can't do with just a class name. For inline JS I would think it's not necessary, but It wouldn't hurt to show how it should be done.
I commented on the changes you did, please let me know what you think.

Yes, which is why 1.2 doesn't say "Never inline JavaScript or CSS", but "Avoid inline JavaScript or CSS". From my experience, the problem is mostly for scripts, which are inlined way too often, for styles there's less of an issue.

Exactly! PR is merged, thank you!


Unifying timestamp verification across SETs and TSA signed timestamps

Description

With the current spec, a client specifies how many SETs and how many timestamps are expected. The current implementation expects that every timestamp that is present is verifiable by material in the trusted root. We propose changing this in two ways: First, ignoring any timestamps that cannot be verified, as long as the threshold is met (noted in the bug below). Two, treating SETs and TSA signed timestamps as equals for fetching verified timestamp.
One approach for this is to expose a policy configuration that states a timestamp can be obtained from either an SET or TSA signed timestamp. This could be via a policy flag that states a threshold must be met for either SETs or signed timestamps. Personally, I like this approach of unifying the two, as SETs no longer are used as a proof of inclusion and instead are just a signed timestamp from the log. This also opens us up to adding timestamp providers, like Roughtime.
Related bug: https://github.com/sigstore/sigstore-go/issues/43 - Once fixed, as long as some number of timestamps are found that meet the threshold, verification will continue, and any failures will be ignored.

I believe this summarizes everything we discussed @steiza @loosebazooka @woodruffw @kommendorkapten
If we go with this approach, there is no need for significant changes to the client spec. This will still be a policy decision by the client, though I would expect most clients to simply set the policy to be 1 trusted timestamp.
Also, this is an edge case, as we expect the typical bundle to contain only a signed timestamp or SET, not both.

We already have this option define: https://github.com/sigstore/protobuf-specs/blob/main/protos/sigstore_verification.proto#L69
Verbatim copy:
        message TimestampAuthorityOptions {
                // The number of signed timestamps that are expected.
                int32 threshold = 1;
                // Disable signed timestamp verification.
                bool disable = 2;
        }

How about update the comment to clarify that the signed timestamps can be any of:

Rekor SET
RFC 3161
Roughtime or something else (for the future)

This way, if a client does not care if RFC3161 or a SET is used, the threshold can be set to 1. If both are required, a value of 2 can be set.
As the verifier is in control over the trust root, and we perform deduplication of Rekor Entries, I don't see any immediate risk with this. Thoughts?

I need to catch up on this discussion!, but in the meantime I would like to put out I am broadly supportive of this interpretation & we kind of foresaw something like this happening; this is why we ended up calling the set of {Rekor entries, TSA entries} "ObserverTimestamps":
https://github.com/sigstore/sigstore-go/blob/fcb55a2af5fb202ba16130dfe47d0e20088f3841/pkg/verify/signed_entity.go#L423
I'd have to think about the interface a bit more - sometimes we want to specify that we do NOT expect a rekor entry - but in principle I'd support folding WithSignedTimestamps and WithTransparencyLog options into a WithObserverTimestamps option that specifies either/or.

It looks like WithTransparencyLog sets a policy for both how many logs an entry should be recorded to and how many instances of an SET should be present for timestamps. I think this is conflating two separate policy decisions, it should be possible to set these two independently.
Thinking out loud, if we were to have as many configurations as possible, it would be:

WithTransparencyLog - Number of logs an entry is recorded to. This will verify inclusion proofs or SETs, but will not extract timestamps.
WithSignedTimestamps - Number of TSA-signed timestamps
WithSignedEntryTimestamps - Number of log-issued timestamps/SETs. This will extract timestamps from SETs
WithObserverTimestamps - Number of TSA-signed timestamps or log-issued SETs

A benefit to this is if WithTransparencyLog only refers to entry inclusion policy, then you could set a policy that you do not expect a Rekor entry.
In practice, I would expect the typical verifier would only use WithTransparencyLog and WithObserverTimestamps. If a verifier is opinionated on only allowing TSA timestamps, then they would use WithTransparencyLog and WithSignedTimestamps.
How does this sound?

Working on a PR now for more discussion, I'll post a WIP shortly.

The proposal is a bit of a deviation from the ArtifactVerificationOptions.
We should update that message too to reflect the standard verification options we a Sigstore client should have.

Could WithTransparencyLog and WithSignedEntryTimestamps be combined:
func WithTransparencyLog(threshold int, verifySET bool) VerifierOption {

See https://github.com/sigstore/protobuf-specs/pull/179/files#diff-84ba96fbb758e3fc5ba115bb8e8d0d43bb721f47b0b389adc885c68080ceda44 for a proposal if verification options

Good idea! I posted about this in the linked PR, but roughly, if we combine these, we get the following acceptable combos (x,y = some threshold):

WithTLog(x, true) + WithTSA(y) = x promises or proofs + y TSA timestamps
WithTLog(x, true) + WithObserverTimestamp(y) = x promises or proofs + y TSA timestamps or SET timestamps
WithTLog(x, false) + WithTSA(y) = x proofs, y TSA timestamps
WithTLog(x, false) + WithObserverTimestamp(y) = x proofs, y TSA timestamps or SET timestamps

I think this should cover all expected states. The only state we're missing is (only SETs, no TSA sigs), but I can't think of a use case for disallowing TSA sigs, simply don't include TSAs in the trust root.
Does this look good to everyone?
Invalid states:

WithTLog(x, true/false) = not valid, must specify WithInsecureNoTimestamp too
WithTSA(y) + WithObserverTimestamp(y) = must specify one or the other

The fourth option:

WithTLog(x, false) + WithObserverTimestamp(y) = x proofs, y TSA timestamps or SET timestamps

if verifySet is false, but SET timestamps are valid for observing time. That would mean that we require a SET in the bundle, but we don't verify it against the content of the bundle? I feel like I'm missing something as we must verify it to be able to trust the SET, and so this would be equal to the second example:

WithTLog(x, true) + WithObserverTimestamp(y) = x promises or proofs + y TSA timestamps or SET timestamps

Or is the thinking that if verifySET is true, we trust the Rekor entry even if there is no inclusion proof? This would not be valid for a v0.2 bundle though as in v0.2 the promise is optional and proof required.

This last discussion is highly related to the discussion in this PR https://github.com/sigstore/protobuf-specs/pull/179#discussion_r1430118625
We should probably stick to having the comments in one place, so lets keep them here if that's easier.

if verifySet is false, but SET timestamps are valid for observing time. That would mean that we require a SET in the bundle, but we don't verify it against the content of the bundle? I feel like I'm missing something as we must verify it to be able to trust the SET, and so this would be equal to the second example:

For this example, what I meant as that the SET would not count towards the Rekor threshold, but we would still verify the SET to extract out the timestamp. I wanted some way to distinguish between an SET as a valid proof vs as a valid timestamp. My proposal is that verifySET means it counts towards a valid proof, but we still try to verify SETs if they're present to extract out a timestamp. But to your other point below...

Or is the thinking that if verifySET is true, we trust the Rekor entry even if there is no inclusion proof? This would not be valid for a v0.2 bundle though as in v0.2 the promise is optional and proof required.

Yes, that was my thought. But good point about the bundle requirements, I forgot that. I agree with your comment on the other PR about this just being about trusting the time.
One nit: verifySET is not entirely accurate, since we can also get the integrated time from a request to Rekor. Maybe it should be trustIntegratedTime? This also aligns with this being about time and not about proofs.
Revising this...
For v0.2+ bundles:

WithTLog(x, true) + WithTSA(y) = x proofs, y TSA timestamps
WithTLog(x, true) + WithObserverTimestamp(y) = x proofs, y TSA timestamps or SET timestamps
WithTLog(x, false) + WithTSA(y) = x proofs (ignoring SET if present), y TSA timestamps (same as 1)
WithTLog(x, false) + WithObserverTimestamp(y) = x proofs (ignoring SET if present), y TSA timestamps

For v0.1 bundles (which is the same as v0.2, except SETs count towards the log threshold):

WithTLog(x, true) + WithTSA(y) = x proofs or promises, y TSA timestamps
WithTLog(x, true) + WithObserverTimestamp(y) = x proofs or promises, y TSA timestamps or SET timestamps
WithTLog(x, false) + WithTSA(y) = x proofs or promises, y TSA timestamps (same as 1)
WithTLog(x, false) + WithObserverTimestamp(y) = x proofs or promises, y TSA timestamps

Separate question: Would we be OK dropping support for v0.1 bundles? It would make this a bit easier to reason about.

Good summary @haydentherapper, I completely agree with the updated understanding.
I would rather keep support for v0.1 bundles, although it does increase the complexity a bit. There are some bundles out in the wild using that format. Also if people want to perform a similar translation as described in https://github.com/sigstore/sigstore-go/pull/30 keeping support for older bundles is good.
Re: trustIntegratedTime vs WithTSA or WithObserverTiemstamp, It' a bit harder. I probably would favour keeping the trustIntegratedTime even though it complicates the API a slight bit, as I would assume require explicit trust would lead to less surprises in the future for verifies. One can argue that if a verifier is using WithObserverTiemstamp they are making a choice, but still, when it comes to security I think you should make it hard to end up in a situation where you can be surprised. I.e construct the API so that it's hard to the "wrong" thing.

My main goal is both secure by default and ease of use. I would like a verifier to get reasonable defaults without much configuration, but have the option to configure it to further restrict verification. Something like WithTlog(threshold, opts...) where opts includes trustIntegratedTime, setCountsTowardsThreshold, or any other optional configuration. Secure by default would mean false for all options, to not trust the integrated time or count the SET towards the threshold.
I've been thinking that by using WithObserverTimestamp, it's making the explicit decision to use both the TSA and SET timestamps. This is OK when it's a decision only between these 2, but maybe it's worth considering, what about if we add in Roughtime?
One way to think of this is that WithObserverTimestamp is the unification of all timestamp options. You can use WithTlog and WithObserverTimestamp to trust all timestamp formats, which is equivalent to WithTlog(threshold, trustTime=true) + WithTSA() + WithRoughtime(). If you want to trust a subset of timestamp providers, you can do easily do so. And we can say that WithObserverTimestamp cannot be used with other timestamp options, to avoid the confusion of one overriding another.
How does this sound?

I think I've found a good approach for the API balancing usability and optionality. By adding an option to set a threshold for integrated timestamps, rather than only trusting them, it makes log timestamps look more like signed timestamps.
So you can either create a verifier like:

WithTLog(threshold).WithIntegratedTimestamps(threshold).WithTSA(threshold) or
WithTLog(threshold).WithObserverTimestamps(threshold) which uses timestamps from all providers (trusted by the root).

Or even WithTlog(threshold).WithTSA(threshold).WithObserverTimestamps(threshold) which would mean you require a minimum number of signed timestamps in addition to an overall timestamp threshold.


Data Model - initial discussion

Decide the initial structure of entities to be implemented in order to start coding.
Initial DataModel can be found here

Implemented v0.1 datamodel.
For now, mongodb has been configured as provider.

I added the new model for Author (really simple), also completed some additional fields in the Book model, and created the relations many to many where needed


code examples?

First off, thanks for sharing this.
I'm trying to figure out how to use it exactly, any help hugely appreciated if you have time

+1 code examples would be super helpful
@cpacia


Only record instrument instances when successfully created

This commit fixes the issue of an instrument instance being registered in the instance dictionary even if the instrument creation failed. This will allow users to retry instrument connection when the first attempt fails without having to restart the interpreter or modify private variables in the Instrument class.
It certainly resolves a source of frustration when trying to debug failing instrument connections 😆
This partially closes #1882, and should also allow us to be smarter about logging successful connections or cleaning up gracefully on failure.
@jenshnielsen @astafan8 What do you think?

Looks need. Reading a bit about Class creation it does seem like the correct approach to replace call with a different method.
As far as I currently understand it what __call__ roughly does is to call __new__ and then __init__ and then return the object. I will need to spent a little bit of time to figure out if this is safe in general or there are unwanted side effects of doing this

Hey, yep that's my understanding too. Instance creation is performed by a call to an object that is a subclass of type, where the type type implements a call that is similar to the following:
def __call__(cls, *args, **kwargs):
    new_inst = cls.__new__(*args, **kwargs)
    if type(new_inst) != cls:
        # __init__ is only run if we return an instance of the expected type.
        # This is hit mostly when we want to extend immutable types (int, tuple)
        # where we can't run __init__.
        return new_inst
    new_inst.__init__(*args, **kwargs)
    return new_inst

type.__new__ is responsible for actually creating the new instance in memory, however because of the implementation of type.__call__ without a hack there is no way to intercept the call to __init__ and inject code afterwards. The only alternate approaches I can think of that doesn't require modification of user classes would be:

Change the return type in Instrument.__new__ before we return the new instance to __call__, then call __init__ in Instrument.__new__. I think this is a less logical solution since we are changing the type of the new instance dynamically and it is far less logical to the end user what is happening.

Since this does touch so much QCoDeS a thorough review is definitely warranted. Let me know if I can answer any questions.

Thanks for the review @jenshnielsen - agreed, accepted and implemented all changes :)

@spauka I think this looks good. I will do a bit more manual testing and hold of the merge until the new year in case any issues show up

Once this is merged we should revisit the reverted abstract instrument. https://github.com/QCoDeS/Qcodes/pull/3197 That can be implemented in the same way (Checking that all parameters are non abstract post init)
Also see https://github.com/QCoDeS/Qcodes/pull/3217

bors merge

bors merge


Added the missing words to the en-gb dictionary

Hi @Can9UA, just trying to get your branch running in my local so I can review. Having some problems getting it running. There seems to be a lot of interpolation errors?

Any ideas?


fix(mini): dodge status line when cmdheight > 0

The cmdheight addition in config/init.lua is to avoid breaking the
default setup, where cmdheight is reduced to 0 after MiniView's
initialisation.

I'm migrating to LazyVim but I still like https://github.com/gelguy/wilder.nvim.
So I disabled noice.nvim's cmdline and messages.
But then I noticed that the LSP progress pop-ups started overlapping
with the status line, so here's a patch I managed to put together.
I'm not quite sure if this is the right fix. Feel free to trump this
with a better PR :)

Hmmm... When my system is slow, sometimes they can still overlap with my status bar but only when they are disappearing. Suggestions?

I just pushed an update that probably also fixes this issue. Can you check?

Unfortunately no. I checked out 7ee3649b9b5f4df5b44ae63ed85b2c9fc834a124 and the issue still persists in both my minimal repro.lua and full setup.

repro.lua:
-- DO NOT change the paths and don't remove the colorscheme
local root = vim.fn.fnamemodify("./.repro", ":p")

-- set stdpaths to use .repro
for _, name in ipairs({ "config", "data", "state", "cache" }) do
  vim.env[("XDG_%s_HOME"):format(name:upper())] = root .. "/" .. name
end

-- bootstrap lazy
local lazypath = root .. "/plugins/lazy.nvim"
if not vim.loop.fs_stat(lazypath) then
  vim.fn.system({ "git", "clone", "--filter=blob:none", "https://github.com/folke/lazy.nvim.git", lazypath, })
end
vim.opt.runtimepath:prepend(lazypath)

-- install plugins
local plugins = {
  "folke/tokyonight.nvim",
  "MunifTanjim/nui.nvim",
  -- { "https://github.com/Frederick888/noice.nvim.git", branch = 'mini-dodge-status-line' },
  "https://github.com/folke/noice.nvim",
  -- add any other plugins here
}
require("lazy").setup(plugins, {
  root = root .. "/plugins",
})

vim.cmd.colorscheme("tokyonight")
-- add anything else here

require("noice").setup({
  lsp = {
    -- override markdown rendering so that **cmp** and other plugins use **Treesitter**
    override = {
      ["vim.lsp.util.convert_input_to_markdown_lines"] = true,
      ["vim.lsp.util.stylize_markdown"] = true,
      ["cmp.entry.get_documentation"] = true, -- requires hrsh7th/nvim-cmp
    },
  },
  -- you can enable a preset for easier configuration
  presets = {
    bottom_search = true, -- use a classic bottom cmdline for search
    command_palette = true, -- position the cmdline and popupmenu together
    long_message_to_split = true, -- long messages will be sent to a split
    inc_rename = false, -- enables an input dialog for inc-rename.nvim
    lsp_doc_border = false, -- add a border to hover docs and signature help
  },

  cmdline = {
    enabled = false,
  },
  messages = {
    enabled = false,
  }
})

local timer = vim.uv.new_timer()
local counter = 1
vim.uv.timer_start(timer, 1000, 1000, function ()
  vim.notify('hello, world! ' .. counter)
  counter = counter + 1
end)

vim.opt.cmdheight = 2
```

Finally got some time to look into this. This is honestly not a bug.
You can change opts.views.mini.position = -2.
That will solve it for your use-case

@folke Thank you! I didn't know that option existed!
I went through the docs, and for the record, I ended up with
{
  'folke/noice.nvim',
  opts = {
    cmdline = { enabled = false },
    messages = { enabled = false },
    popupmenu = { enabled = false },
    views = {
      mini = {
        position = {
          row = -3,
        },
      },
    },
  },
},


Stuck when rendering large text

Affected version
main
No same issues found.

[X] Yes, I search all issues but not found.

Steps to Reproduce
The push animation is not smooth when opening a new  webf page
The content of the file is about 20,000 words
归档.zip
Code example
@override
Widget build(BuildContext context) {
return Scaffold(
body: Center(
// Center is a layout widget. It takes a single child and positions it
// in the middle of the parent.
child: MaterialButton(
child: Text(
'点击跳转',
style: TextStyle(color: Colors.black),
),
onPressed: () {
Navigator.push(
context,
MaterialPageRoute(builder: (context) => const Reader()),
);
}),
));
}
}
class Reader extends StatefulWidget {
const Reader({Key? key}) : super(key: key);
@override
State createState() => _ReaderState();
}
class _ReaderState extends State {
@override
Widget build(BuildContext context) {
final MediaQueryData queryData = MediaQuery.of(context);
final Size viewportSize = queryData.size;
return Scaffold(
    body: WebF(
      devToolsService: ChromeDevToolsService(),
      viewportWidth: viewportSize.width - queryData.padding.horizontal,
      viewportHeight: viewportSize.height - queryData.padding.vertical,
      bundle: WebFBundle.fromUrl('assets:assets/demo.html'),
    )
);

}
}
https://user-images.githubusercontent.com/1578465/215682203-7c2642f5-cc4a-44d9-8f48-05b0c484ea6b.MP4
Expected results
The push animation is smooth
Actual results
The push animation is not smooth

The JavaScript and Dart are running in one thread. If the JavaScript takes too much time, it will block the Dart and the animation will get stuck.
To avoid the push animation getting stuck when rendering large text or other tasks than make JavaScript busy, there are to solutions:

Use the native push instead of the Flutter push. The animations are running in the native view thread, so JavaScrip won't affect the animation.
Use multiple Flutter engines. Once you separate the JavaScript and the Flutter UI thread, it won't get stuck anymore.


logoBumpin resize

Describe your problem here.
It's probably an easy fix but I can't figure out for the life of me what to write to resize the logoBumpin, I've tried different variants of setGraphicSize() and other such things but I'm rusty on coding and need a little help, any help is appreciated. (0.7.3)

Are you modding a build from source or with Lua?
Source
What is your build target?
Windows x64
Did you edit anything in this build? If so, mention or summarize your changes.
only image files and audio files so far, any changes to titlestate.hx was reverted cause it wasn't resizing

figured it out, I was writing an incorrect line.


Create new simple example with vue2 and vite

Hi everyone, im trying to create a simple example with vue2+vite and cesium 1.105.2
I use a vite plugin to copy node files to public:
//vite.config.js
import copy from "rollup-plugin-copy";
...

      copy({
          targets: [
              { src: "node_modules/@cesium/engine/Source/*", dest: "public/" },
              { src: "node_modules/@cesium/engine/Source/WorkersES6/*", dest: "public/Workers" },
              { src: "node_modules/@cesium/widgets/Source/*", dest: "public/Widgets" },
          ],
          hook: 'buildStart'
      })

and all files i need are copied to /public folder and its nice.
But when i try to initialize the script bellow, i receive these erros in console and the result a black sky with start moving
//Hello world example code used

      Cesium.Ion.defaultAccessToken = CESIUM_KEY

      const viewer = new Cesium.Viewer('cesiumContainer');

Error:
Note. /Workers/createVerticesFromHeightmap.js is working in the indicated path.

Result screen:

https://github.com/CesiumGS/cesium/issues/10619
I submitted for a Cesium grant to roll all this into Cesium, make some noise if this is something you want to see done.

@brunokunace You'll want to use the pre-built workers in Build/Workers/ instead of  the unbuilt Source/WorkersES6/.
But message received about an easy-to-follow example using vue/vite.
CC https://github.com/CesiumGS/cesium/issues/11301

https://www.npmjs.com/package/vite-plugin-cesiumjs

Requested on the forum: https://community.cesium.com/t/is-there-a-good-way-to-use-cesium-with-vite/27545/2

I found maybe a good solution to solve the problem. Here is the code simply-cesium-vite-vue. Hope it helpful.
On my laptop, the bundling process only took 717ms, and the resulting "dist" folder was only 11.1 MB in size.
I have provided a detailed explanation of my approach in the readme. If there's anything I can assist you with, please feel free to ask. If you have any suggestions or improvements, I welcome them as well!

Hi all, we've added https://github.com/CesiumGS/cesium-vite-example with a recommended setup for vite. It should also be straightforward to add vue to that setup.
Please leave a comment or issue in that repo if you have any feedback. Thanks!


Weird calculations.

For some reason does this return weird numbers.
A few examples:

5+6 returns 11 which is ok.
5+6-1 returns 1E+1 which doesn't make sense for me. (result should be 10)
(5-1+3)*2 returns 14 (correct) while
5-1+(3*2) returns 1E+1 (It doesn't matter if I used the () or not. it was in both cases the same result. And the right result should be 10)

How can those weird results be explained?
I use this in a program, where people can use a placeholder inside any kind of text, to return a value.
The placeholder is %math_<equation>% and it only uses the value after the _ and before the % (the % isn't in the provided string)
Any ideas on what the issue could be are appreciated.

See #146.


Can you please provide the paper?

Hi! Chenhu
Thanks for you sharing this nice work!
I want to learn more about your work but I didn't find any .pdf of your paper.
So can you please provide .pdf of  your paper to me?
I am very grateful for any replies from you!
Best

Hi! Chenhu
Thanks for you sharing this nice work!
I want to learn more about your work but I didn't find any .pdf of your paper.
So can you please provide .pdf of your paper to me?
I am very grateful for any replies from you!
Best

Thanks for your attention to our work!
It's expected that you cannot retrieve the paper in the database as it has been received but not published.
The paper is likely to be published in the fourth quarter of this year, then you'll be able to retrieve it.
If you are eager to read the more details about this work, you can leave your email address here.
Best!

My email is<EMAIL_ADDRESS>Thanks for you help again
Best!


Update to OpenSSL 1.1.180

Universal-OpenSSL 1.1.X is a breaking change.. had to do a few adjustments:

updated minimum dependency version
EVP_CIPHER_CTX can't be used directly, using EVP_CIPHER_CTX_new.
Updated imports to #import <OpenSSL/OpenSSL.h> instead of directly importing files
Updated some deprecated functions (initWithBase64Encoding for example)
replace CRYPTO_add(&_rsa->references, 1, CRYPTO_LOCK_RSA); with RSA_up_ref

This change also fixes listing issue (https://github.com/hohl/MIHCrypto/issues/62), so now lint has no errors..

Great, and thanks for sharing this. Would be happy to release a new version. But, any ideas why the MIHBigIntegerTests  -testInitWithSignedInteger fails?

Yes, I think so, I'm trying to debug right now and fix.. sorry for missing the test :(
(the reason, I think, is that BN_LONG was removed from openssl, trying to find an alternative macro)

If you have any idea I would love to hear it.. can't find an alternative macro for it.. not sure why they removed it..

Did you run pod lib lint? Test cases pass in Xcode, but I can't make CocoaPods become friends with the OpenSSL dependency.
Ignoring ffi-1.12.2 because its extensions are not built. Try: gem pristine ffi --version 1.12.2

 -> MIHCrypto (0.6.0)
    - ERROR | [MIHCrypto/Core, MIHCrypto/Mathematics, MIHCrypto/AES, and more...] xcodebuild: Returned an unsuccessful exit code. You can use `--verbose` for more information.
    - NOTE  | [MIHCrypto/Core, MIHCrypto/Mathematics, MIHCrypto/AES, and more...] xcodebuild:  note: Using new build system
    - NOTE  | [MIHCrypto/Core, MIHCrypto/Mathematics, MIHCrypto/AES, and more...] xcodebuild:  note: Building targets in parallel
    - NOTE  | [MIHCrypto/Core, MIHCrypto/Mathematics, MIHCrypto/AES, and more...] xcodebuild:  note: Using codesigning identity override: -
    - NOTE  | [MIHCrypto/Core, MIHCrypto/Mathematics, MIHCrypto/AES, and more...] xcodebuild:  note: Planning build
    - NOTE  | [MIHCrypto/Core, MIHCrypto/Mathematics, MIHCrypto/AES, and more...] xcodebuild:  note: Constructing build description
    - NOTE  | [MIHCrypto/Core, MIHCrypto/Mathematics, MIHCrypto/AES, and more...] xcodebuild:  warning: Capabilities for Signing & Capabilities may not function correctly because its entitlements use a placeholder team ID. To resolve this, select a development team in the App editor. (in target 'App' from project 'App')
    - NOTE  | [MIHCrypto/Core, MIHCrypto/Mathematics, MIHCrypto/AES, and more...] xcodebuild:  warning: Skipping code signing because the target does not have an Info.plist file and one is not being generated automatically. (in target 'App' from project 'App')
    - ERROR | [MIHCrypto/Core, MIHCrypto/Mathematics, MIHCrypto/AES, and more...] xcodebuild:  OpenSSL-Universal/Frameworks/OpenSSL.xcframework/ios-arm64_arm64e_armv7_armv7s/openssl.framework/Headers/bio.h:687:1: error: expected function body after function declarator
    - WARN  | [MIHCrypto/Core, MIHCrypto/Mathematics, MIHCrypto/AES, and more...] xcodebuild:  OpenSSL-Universal/Frameworks/OpenSSL.xcframework/ios-arm64_arm64e_armv7_armv7s/openssl.framework/Headers/bio.h:699:55: warning: declaration of 'union BIO_sock_info_u' will not be visible outside of this function [-Wvisibility]
    - ERROR | [MIHCrypto/Core, MIHCrypto/Mathematics, MIHCrypto/AES, and more...] xcodebuild:  OpenSSL-Universal/Frameworks/OpenSSL.xcframework/ios-arm64_arm64e_armv7_armv7s/openssl.framework/Headers/bn.h:183:43: error: unknown type name 'BN_ULONG'
    - ERROR | [MIHCrypto/Core, MIHCrypto/Mathematics, MIHCrypto/AES, and more...] xcodebuild:  OpenSSL-Universal/Frameworks/OpenSSL.xcframework/ios-arm64_arm64e_armv7_armv7s/openssl.framework/Headers/bn.h:186:39: error: unknown type name 'BN_ULONG'
    - ERROR | [MIHCrypto/Core, MIHCrypto/Mathematics, MIHCrypto/AES, and more...] xcodebuild:  OpenSSL-Universal/Frameworks/OpenSSL.xcframework/ios-arm64_arm64e_armv7_armv7s/openssl.framework/Headers/bn.h:214:22: error: unknown type name 'BN_ULONG'
    - ERROR | [MIHCrypto/Core, MIHCrypto/Mathematics, MIHCrypto/AES, and more...] xcodebuild:  OpenSSL-Universal/Frameworks/OpenSSL.xcframework/ios-arm64_arm64e_armv7_armv7s/openssl.framework/Headers/bn.h:266:1: error: unknown type name 'BN_ULONG'
    - ERROR | [MIHCrypto/Core, MIHCrypto/Mathematics, MIHCrypto/AES, and more...] xcodebuild:  OpenSSL-Universal/Frameworks/OpenSSL.xcframework/ios-arm64_arm64e_armv7_armv7s/openssl.framework/Headers/bn.h:266:39: error: unknown type name 'BN_ULONG'
    - ERROR | [MIHCrypto/Core, MIHCrypto/Mathematics, MIHCrypto/AES, and more...] xcodebuild:  OpenSSL-Universal/Frameworks/OpenSSL.xcframework/ios-arm64_arm64e_armv7_armv7s/openssl.framework/Headers/bn.h:267:1: error: unknown type name 'BN_ULONG'
    - ERROR | [MIHCrypto/Core, MIHCrypto/Mathematics, MIHCrypto/AES, and more...] xcodebuild:  OpenSSL-Universal/Frameworks/OpenSSL.xcframework/ios-arm64_arm64e_armv7_armv7s/openssl.framework/Headers/bn.h:267:33: error: unknown type name 'BN_ULONG'
    - ERROR | [MIHCrypto/Core, MIHCrypto/Mathematics, MIHCrypto/AES, and more...] xcodebuild:  OpenSSL-Universal/Frameworks/OpenSSL.xcframework/ios-arm64_arm64e_armv7_armv7s/openssl.framework/Headers/bn.h:268:28: error: unknown type name 'BN_ULONG'
    - ERROR | [MIHCrypto/Core, MIHCrypto/Mathematics, MIHCrypto/AES, and more...] xcodebuild:  OpenSSL-Universal/Frameworks/OpenSSL.xcframework/ios-arm64_arm64e_armv7_armv7s/openssl.framework/Headers/bn.h:269:28: error: unknown type name 'BN_ULONG'
    - ERROR | [MIHCrypto/Core, MIHCrypto/Mathematics, MIHCrypto/AES, and more...] xcodebuild:  OpenSSL-Universal/Frameworks/OpenSSL.xcframework/ios-arm64_arm64e_armv7_armv7s/openssl.framework/Headers/bn.h:270:28: error: unknown type name 'BN_ULONG'
    - ERROR | [MIHCrypto/Core, MIHCrypto/Mathematics, MIHCrypto/AES, and more...] xcodebuild:  OpenSSL-Universal/Frameworks/OpenSSL.xcframework/ios-arm64_arm64e_armv7_armv7s/openssl.framework/Headers/bn.h:271:28: error: unknown type name 'BN_ULONG'
    - ERROR | [MIHCrypto/Core, MIHCrypto/Mathematics, MIHCrypto/AES, and more...] xcodebuild:  OpenSSL-Universal/Frameworks/OpenSSL.xcframework/ios-arm64_arm64e_armv7_armv7s/openssl.framework/Headers/bn.h:272:1: error: unknown type name 'BN_ULONG'
    - ERROR | [MIHCrypto/Core, MIHCrypto/Mathematics, MIHCrypto/AES, and more...] xcodebuild:  OpenSSL-Universal/Frameworks/OpenSSL.xcframework/ios-arm64_arm64e_armv7_armv7s/openssl.framework/Headers/bn.h:288:37: error: unknown type name 'BN_ULONG'
    - ERROR | [MIHCrypto/Core, MIHCrypto/Mathematics, MIHCrypto/AES, and more...] xcodebuild:  OpenSSL-Universal/Frameworks/OpenSSL.xcframework/ios-arm64_arm64e_armv7_armv7s/openssl.framework/Headers/bn.h:323:24: error: unknown type name 'BN_ULONG'
    - ERROR | [MIHCrypto/Core, MIHCrypto/Mathematics, MIHCrypto/AES, and more...] xcodebuild:  OpenSSL-Universal/Frameworks/OpenSSL.xcframework/ios-arm64_arm64e_armv7_armv7s/openssl.framework/Headers/bn.h:332:1: error: expected function body after function declarator
    - ERROR | [MIHCrypto/Core, MIHCrypto/Mathematics, MIHCrypto/AES, and more...] xcodebuild:  OpenSSL-Universal/Frameworks/OpenSSL.xcframework/ios-arm64_arm64e_armv7_armv7s/openssl.framework/Headers/bn.h:403:1: error: expected function body after function declarator
    - WARN  | [MIHCrypto/Core, MIHCrypto/Mathematics, MIHCrypto/AES, and more...] xcodebuild:  OpenSSL-Universal/Frameworks/OpenSSL.xcframework/ios-arm64_arm64e_armv7_armv7s/openssl.framework/Headers/asn1.h:554:1: warning: type specifier missing, defaults to 'int' [-Wimplicit-int]
    - ERROR | [MIHCrypto/Core, MIHCrypto/Mathematics, MIHCrypto/AES, and more...] xcodebuild:  OpenSSL-Universal/Frameworks/OpenSSL.xcframework/ios-arm64_arm64e_armv7_armv7s/openssl.framework/Headers/asn1.h:554:68: error: expected ';' after top level declarator
    - ERROR | [MIHCrypto/Core, MIHCrypto/Mathematics, MIHCrypto/AES, and more...] xcodebuild:  OpenSSL-Universal/Frameworks/OpenSSL.xcframework/ios-arm64_arm64e_armv7_armv7s/openssl.framework/Headers/ec.h:274:1: error: expected function body after function declarator
    - NOTE  | [MIHCrypto/Core, MIHCrypto/Mathematics, MIHCrypto/AES, and more...] xcodebuild:  fatal error: too many errors emitted, stopping now [-ferror-limit=]
    - NOTE  | [MIHCrypto/SHA] xcodebuild:  <PROJECT_DIR>/MIHCrypto/MIHCrypto/SHA/MIHSecureHashAlgorithm512.m:20:9: fatal error: could not build module 'OpenSSL'
    - NOTE  | [MIHCrypto/Core, MIHCrypto/Mathematics, MIHCrypto/AES, and more...] xcodebuild:  <PROJECT_DIR>/MIHCrypto/MIHCrypto/Utils/NSData+MIHConversion.m:20:10: fatal error: could not build module 'OpenSSL'
    - NOTE  | [MIHCrypto/Core, MIHCrypto/Mathematics, MIHCrypto/AES, and more...] xcodebuild:  note: Using codesigning identity override:
    - WARN  | [MIHCrypto/RSA] xcodebuild:  <PROJECT_DIR>/MIHCrypto/MIHCrypto/RSA/MIHRSAKeyFactory.m:43:60: warning: implicit conversion loses integer precision: 'unsigned long' to 'int' [-Wshorten-64-to-32]
    - WARN  | [MIHCrypto/EC] xcodebuild:  <PROJECT_DIR>/MIHCrypto/MIHCrypto/EC/MIHECPublicKey.m:51:27: warning: passing 'unsigned char **' to parameter of type 'const unsigned char **' discards qualifiers in nested pointer types [-Wincompatible-pointer-types-discards-qualifiers]
    - NOTE  | [MIHCrypto/EC] xcodebuild:  OpenSSL-Universal/Frameworks/OpenSSL.xcframework/macos-arm64_arm64e_x86_64/OpenSSL.framework/Headers/ec.h:1062:61: note: passing argument to parameter 'in' here
    - WARN  | [MIHCrypto/EC] xcodebuild:  <PROJECT_DIR>/MIHCrypto/MIHCrypto/EC/MIHECPublicKey.m:76:50: warning: implicit conversion loses integer precision: 'unsigned long' to 'int' [-Wshorten-64-to-32]
    - WARN  | [MIHCrypto/EC] xcodebuild:  <PROJECT_DIR>/MIHCrypto/MIHCrypto/EC/MIHECPublicKey.m:76:80: warning: implicit conversion loses integer precision: 'unsigned long' to 'int' [-Wshorten-64-to-32]
    - WARN  | [MIHCrypto/EC] xcodebuild:  <PROJECT_DIR>/MIHCrypto/MIHCrypto/EC/MIHECPublicKey.m:98:50: warning: implicit conversion loses integer precision: 'unsigned long' to 'int' [-Wshorten-64-to-32]
    - WARN  | [MIHCrypto/EC] xcodebuild:  <PROJECT_DIR>/MIHCrypto/MIHCrypto/EC/MIHECPrivateKey.m:51:28: warning: passing 'unsigned char **' to parameter of type 'const unsigned char **' discards qualifiers in nested pointer types [-Wincompatible-pointer-types-discards-qualifiers]
    - NOTE  | [MIHCrypto/EC] xcodebuild:  OpenSSL-Universal/Frameworks/OpenSSL.xcframework/macos-arm64_arm64e_x86_64/OpenSSL.framework/Headers/ec.h:1019:62: note: passing argument to parameter 'in' here
    - WARN  | [MIHCrypto/EC] xcodebuild:  <PROJECT_DIR>/MIHCrypto/MIHCrypto/EC/MIHECPrivateKey.m:77:31: warning: implicit conversion loses integer precision: 'unsigned long' to 'int' [-Wshorten-64-to-32]
    - WARN  | [MIHCrypto/EC] xcodebuild:  <PROJECT_DIR>/MIHCrypto/MIHCrypto/EC/MIHECPrivateKey.m:107:51: warning: implicit conversion loses integer precision: 'unsigned long' to 'int' [-Wshorten-64-to-32]
    - WARN  | [MIHCrypto/Core, MIHCrypto/Mathematics, MIHCrypto/AES, and more...] xcodebuild:  <PROJECT_DIR>/MIHCrypto/MIHCrypto/Utils/MIHCryptoConfiguration.m:61:5: warning: 'OPENSSL_config' is deprecated [-Wdeprecated-declarations]
    - NOTE  | [MIHCrypto/Core, MIHCrypto/Mathematics, MIHCrypto/AES, and more...] xcodebuild:  OpenSSL-Universal/Frameworks/OpenSSL.xcframework/macos-arm64_arm64e_x86_64/OpenSSL.framework/Headers/conf.h:91:1: note: 'OPENSSL_config' has been explicitly marked deprecated here
    - NOTE  | [MIHCrypto/Core, MIHCrypto/Mathematics, MIHCrypto/AES, and more...] xcodebuild:  warning: [CP] Unable to find matching .xcframework slice in ' false macos-arm64_arm64e_x86_64/OpenSSL.framework' for the current build architectures (arm64 x86_64).
    - NOTE  | [MIHCrypto/Core, MIHCrypto/Mathematics, MIHCrypto/AES, and more...] xcodebuild:  ld: warning: directory not found for option '-LOpenSSL-Universal/lib-ios'
    - NOTE  | [MIHCrypto/AES,MIHCrypto/EC] xcodebuild:  <PROJECT_DIR>/MIHCrypto/MIHCrypto/Utils/MIHInternal.m:20:10: fatal error: could not build module 'OpenSSL'
    - NOTE  | [MIHCrypto/RSA] xcodebuild:  <PROJECT_DIR>/MIHCrypto/MIHCrypto/RSA/MIHRSAPublicKey.h:18:10: fatal error: could not build module 'OpenSSL'
    - NOTE  | [iOS] [MIHCrypto/SHA] xcodebuild:  <PROJECT_DIR>/MIHCrypto/MIHCrypto/SHA/MIHSecureHashAlgorithm384.m:20:9: fatal error: could not build module 'OpenSSL'

[!] MIHCrypto did not pass validation, due to 20 errors and 11 warnings.
You can use the `--no-clean` option to inspect any issue.

I did run it, but when i created the PR, seems that changes done as a result of the failed test messed something up.. I will look into it..

Great, thank you for your dedication to this upgrade! 🙂


OpenBSD Testing

[x] Update - Hit 60 second composer install timeout

Need to consider we hide progress and limit output, so process may appear idle and be using idle timeout.
It's specifically the dump-autoload with optimize, can take up to 60 seconds on this system.
Without optimize it's done in seconds.

[x] Init - Hit a 15 second timeout for git clone.

[x] Backup - fails  due to mysqldump warning:

Details

php bookstack-system-cli backup
Checking system requirements...
Dumping the database via mysqldump...

An error occurred when attempting to run a command:

Failed mysqldump with errors:
WARNING: Forcing protocol to  TCP  due to option specification. Please explicitly state intended protocol.

Addressed in 86ebe8ec271b9cefe217c5ed8b4335abec48c92b


Support OpenAI's Batch API

How complex would be adding OpenAI's Batch API? For now, GPT-4 benchmark of Polish tasks would cost me $1500 :(

It's not very difficult for the most part it's replacing these lines
such as
                response = oa_completion(
                    client=self.client,
                    chat=True,
                    messages=inps,
                    model=self.model,
                    **kwargs,
                )

with the following
with open("open_ai_batch.jsonl", "a") as f:
    f.write(json.dumps(inps))

# Then after the json file is written
....
# upload the file
batch_input_file = client.files.create(
    file=open("batchinput.jsonl", "rb"),
    purpose="batch"
)

batch_input_file_id = batch_input_file.id

client.batches.create(
    input_file_id=batch_input_file_id,
    endpoint="/v1/chat/completions",
    completion_window="24h",
    metadata={
      "description": "nightly eval job"
    }
)

We need a new way (function) to get back and check the results
# check results
client.batches.retrieve(batch_input_file_id)

# retrieve results once done
content = client.files.content("output_file")

The devil is in the details though as the jsonl file can only be called for 1 model type and how do you handle multiple files/batches etc.  For the simple case of evaluating 1 model 1 batch it's pretty simple change.

Do you know if there has been any progress on this?


[DOC] Broken links in sql ODBC docs

What do you want to do?

[ ] Request a change to existing documentation
[ ] Add new documentation
[x] Report a technical problem with the documentation
[ ] Other

Tell us about your request. Provide a summary of the request and all versions that are affected.
Links at the bottom of https://opensearch.org/docs/latest/search-plugins/sql/sql/odbc/ are broken.

We need a link checker that runs as part of CI, similar to https://github.com/opensearch-project/project-website/pull/1470 and https://github.com/opensearch-project/project-website/pull/264.

@dblock: Will the linkchecker validate links to GitHub as well? Does it just look for 404s?


Load Progressively

I know that this is probably out of the scope of the extension, but instead of just the option to load on select would be good to have an option to allow load of just X Tabs Progressively.
e.g.: it we open 10 tabs at once, it would just load 3 tab each time.
there is no W.E. doing this...

Can you clarify this request? I don't fully understand it.
Are you saying that you want the ability to load multiple additional tabs (number = x) on the selection of one unloaded tab?
I guess that could be implemented, but it is a bit out-of-scope.

Hi.
the idea is the same as this: Load Tabs Progressively
thing is: no one wants to port it, apparently. :(
This is an extremely useful addon, since i always load near 20 tabs at once.
Having them all loading at once takes enormous time and they almost end up loading at the same time. If they load progressively (3 at a time, for example) it would allow one to rapidly be able to start it's work on one of those 3 tabs (since all resources are focused on those 3 it will load them faster, and only then go to other).
It's a bit out-of-scope and i honestly don't know it it's even possible with WE. Even if it is, i don't know if a dedicated addon just for that isn't the best choice. Anyway, it an important feature :)

I'll look into porting it to another addon.
This addon (LoadTabOnSelect) doesn't completely prevent a lab from loading, but rather it lets a tab load for just long enough for its URL to be determined, and then redirects it to a local page.
On initial thought, it does seem possible to implement what you're requesting in WE (keeping in mind that it wouldn't completely "prevent" a tab from loading. Just "stop" it.).

Great!
If you're able to do the port, could you please drop me a line/link here? :)
thanks :)


pkg/fileutil: make TestLockAndUnlock less flaky on CI

CI is slow sometime. To make the test less flaky, we increases the
timeout. This does not affect the correctness, but the test might
take longer to finish or to fail.
Fix #3990
/cc @gyuho @heyitsanthony

LGTM.


:(.text.startup+0x3a): relocation truncated to fit: R_AVR_13_PCREL against `no symbol' in platformio

getting below compile error while using in platformio
Linking .pio/build/ATmega328P/firmware.elf
/tmp/ccdNSK77.ltrans0.ltrans.o: In function load_loop_2065': <artificial>:(.text.startup+0x3a): relocation truncated to fit: R_AVR_13_PCREL against no symbol'
collect2: error: ld returned 1 exit status
*** [.pio/build/ATmega328P/firmware.elf] Error 1

might be something other e.g. https://www.stix.id.au/wiki/AVR_relocation_truncations_workaround
There are some rcalls within uart.c, but those are usually kept next to each other.
Thats going to be another bloat of ifdefs...


Neither Image nor AsyncImage load webp images.

Software Versions

Python: 3.11
OS:Windows 10
Kivy:2.2.0.dev0
Kivy installation method: pip install kivy[base]

Describe the bug
Neither Image nor AsyncImage load webp images.
Expected behavior
It should open the webp file like any other png or jpeg
To Reproduce
The following python code and kv reproduces the error, it just needs a webp image, like this one : https://download.havecamerawilltravel.com/sample-images/webp/webp-example.webp
PYTHON:
class Pantalla(Widget):
def __init__(self, **kwargs):
    super(Pantalla,self).__init__(**kwargs)
    resourses=os.listdir("Resourses")
    y=Screen(name="hello")
    z=Image(source='webp-example.webp')
    y.add_widget(z)
    self.ids.screen_manager.add_widget(y)
    self.ids.screen_manager.current = "hello"

class PorFavor(MDApp):
def build(self):
    Builder.load_file("editor.kv")
    return Pantalla()

if name =="main":
PorFavor().run()
KV:

    size:root.width,root.height
    Screen:
        size:root.width,root.height
        BoxLayout:
            orientation: 'vertical'
            MDTopAppBar:
                title: "MDToolbar"
                left_action_items: [["menu", lambda x: nav_draw.set_state()]]
            Widget:
        MDNavigationLayout:
            ScreenManager:
                id: screen_manager
                Screen:
                    id: pantalla_principal
                    name: "scr1"
                    ScrollView:
                        MDList:
                            pacing: dp(300)
                            padding: dp(300)
                            id:grilla
Code and Logs and screenshots
Error with AsyncImage

Error with Image

Additional context
I have tried the code on a mac and it works fine there.

What happens if you rename cap 1 to cap_1? So there are no space in between.

Same error.
I looked somewhere else and MAYBE the problem is that it tries to open the image with SDL2 which I don´t know if supports webp, it should be able to open it with PIL but i don´t know why it doesn´t try.
If there is a wayto make PIL the default when opening images?

The latest nightly wheels for macOS and Linux support loading webp images via SDL2. (as it should)
Will test in a while on Windows .

Confirmed: On Windows SDL2 fails to load webp images.

This issue will be fixed via https://github.com/kivy/kivy-sdk-packager/pull/95.
TL;DR; for the future:

libwebp and libtiff are shipped into a folder called optional.
These libs need to be moved into the root folder before packaging the sdl2-deps

Fixed via https://github.com/kivy/kivy-sdk-packager/pull/95 and https://github.com/kivy/kivy/pull/8479


(tracking issue) Most important Zig issues affecting Nuitka

Note: This issue was created simply to provide a way for us (Nuitka project) to communicate to the Zig project about our most important Zig issues. We have provided them this link on their Third Party Tracking Issues (what is important to other people?) page

Nuitka's wish list for the Zig project!
Currently, we are trying to support Zig as a backend C compiler for Nuitka.
Some specific pain points, from highest priority to lowest priority:

https://github.com/ziglang/zig/issues/11415
https://github.com/ziglang/zig/issues/8973 (we can probably work around this by adding special support for Zig)

@kayhayen FYI, this “issue” #2742 is not really a Nuitka issue/feature/bug. It’s simply a place for us to communicate to the Zig team what we need from them.


Portable

#18 First attempt.

This pull request introduces 3 alerts and fixes 4 when merging cb8efba00703fddfe91c3ca00b57db62e8302f85 into ca55d46f51e6ec43d7e110f3032b6798c27d4c06 - view on LGTM.com
new alerts:

3 for Missing return statement

fixed alerts:

2 for Constant return type on member
2 for FIXME comment

Comment posted by LGTM.com

This pull request fixes 4 alerts when merging ce5307eda7121a47ae7158cd0b843d3d54cb7214 into ca55d46f51e6ec43d7e110f3032b6798c27d4c06 - view on LGTM.com
fixed alerts:

2 for Constant return type on member
2 for FIXME comment

Comment posted by LGTM.com

This pull request fixes 4 alerts when merging 1feac8b2d4af29a6bfa036e47fd6bdb2bbac7f8c into ca55d46f51e6ec43d7e110f3032b6798c27d4c06 - view on LGTM.com
fixed alerts:

2 for Constant return type on member
2 for FIXME comment

Comment posted by LGTM.com


Default Experiment causes unnecessary exposure logging

I wanted to check if this was the intended behavior first before submitting a PR.
Namespace.js line 281, it will cause the default experiment to evaluate even if there is an experiment assigned to that segment. If the default experiment defines auto exposure logging, then the event will be logged twice, and given that the default experiment has a different salt (does not include the namespace prefix), those two values will potentially be different.

Looking at the python planout implementation, it turns out that I misunderstood the desired behavior of default experiments. They are meant to be simple key/value stores that experiment designers can use to define sensible defaults. The Python implementation goes as far as to explicitly define a DefaultExperiment class that bypasses exposure logging requests. Closing this issue.


Node: add decoder to scripts

Describe the feature
add decoder support to scripts in Node
Use Case
to decode commands
Proposed Solution
No response
Other Information
No response
Acknowledgements

[ ] I may be able to implement this feature request
[ ] This feature might incur a breaking change

Client version used

Environment details (OS name and version, etc.)

Completed by #2157


Check all mandatory Aoc steps in CF importer

In Import NB parsing of CF, mandatory steps are not retrieved from the dimension but only the CL step is checked.

Additionally there is no error message for the user, when importing the cash flows that do not contain all the mandatory steps.
Should we add it?
@dcolleoni  @dtrzesniak @amuolo


add links from wiki

:D hope useful

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.

Current coverage is 91.62% (diff: 100%)

Merging #813 into master will not change coverage

@@             master       #813   diff @@
==========================================
  Files           111        111
  Lines         16478      16478
  Methods           0          0
  Messages          0          0
  Branches       3866       3866
==========================================
  Hits          15098      15098
  Misses          662        662
  Partials        718        718

Powered by Codecov. Last update 59d52da...6459bd8

thank you.


Separate tailwind install and assets configuration

This ensures that assets configuration happens in the specified cd opt if it's available, respecting umbrella folder structure

Hi @danschultzer! I pushed a similar change. Can you please rebase your changes if they are still necessary?

The --no-assets flag sovles this issue thanks!


Please document how to install a prebuild binary

As the docs say, there is also a way to install the prebuild binaries as can be found here:
https://github.com/alexcrichton/cargo-vendor/releases
But not sure which command or options are necessary. Also simply copying the binary into .cargo/bin does not work, because cargo install --list will not list it.
Thanks.

Hm copying the binary into .cargo/bin not working is unexpected! Are you sure it's executable inside that directory? And this is $HOME/.cargo/bin, right?
In theory the instructions would be (a) un-tar and (b) copy to $HOME/.cargo/bin, but if that's not working that sounds bad!

So executing the binary works, but cargo itself doesn't know about it. I assume it's happening because of the missing registry entry in .cargo/.crates.toml, and maybe other places.

Cargo should search $HOME/.cargo/bin by default, it shouldn't need to be in .crates.toml in theory. Are you sure this is placed in $HOME/.cargo/bin and $HOME/.cargo is the value of CARGO_HOME you're using?

Sorry for replying that late, but I missed your response until now.
Maybe that was a problem in our bootstrap script at that time. When I had to run the command which uses cargo-vendor again a couple of days ago it was working all fine.
Lets just close this issue for now, and if I see it again and have more data I might want to reopen again.


Move enhance action for forms to module @sveltejs/kit/enhance

Can we for now expose existing enhance action, so instead of having it in $lib/ we could be able to import it from @sveltejs/kit/enhance or something like that?
Originally posted by @Mlocik97 in https://github.com/sveltejs/kit/issues/3533#issuecomment-1166571303

Duplicate of https://github.com/sveltejs/kit/issues/3533


Update LibFeeCalculator to check for user-specific fee policies

Relevant contract

Add a mapping to FeeCalculator for user address -> token address -> fee policy:

mapping(address => mapping(address => IFeePolicy)) feePolicies

Add functions to set and remove fee policies from the mapping

setFeePolicy(address _user, address _token, IFeePolicy _policy)
deleteFeePolicy(address _user, address _token, IFeePolicy _policy)

In distributeRewards(address _token, uint256 _amount) before L85 check the mapping for a set fee policy for the msg.sender. If such exists, call the policy feeAmount() to get the service fee.

Notion file


Add mocked GCS provider for tests

Description
For S3 we have localstack to mock s3/dynamodb usages. But not for others. For GCS quick googling resulted in https://github.com/fsouza/fake-gcs-server. We might give it a try.
It also would be good to standardise test cases for each backend as well as in CI.

We are now using fake-gcs, there are some tests omitted, due to upstream issues, but that is tracked in #780.


AWS S3 External Stage informational property for directory_notification_channel causing ALTER statement

Describe the bug
The DIRECTORY_NOTIFICATION_CHANNEL property in the DESC STAGE output is informational but isn't ignored so S3 stages are always picked up as having a change.
Below is the only page in the Snowflake documentation which mentions this property.
https://docs.snowflake.com/en/user-guide/data-load-dirtables-auto-s3
Expected behavior
The DIRECTORY_NOTIFICATION_CHANNEL property to be ignored in the resolver in the same way as the LAST_REFRESHED_ON property.
Example output of DESC STAGE

Could make a bit bigger screenshot and include property_default column? Maybe we can rely on property_default being empty string to detect "read-only" properties.
Naturally, I would love to avoid hardcoding property names as much as possible.

I guess AWS_SNS_TOPIC is one more read-only parameter.

The AWS_SNS_TOPIC is set in the CREATE/ALTER STAGE for refreshing the directory table automatically for s3, I've used Snowdll to create the stage with it set successfully.

Alright. It seems currently there is no way to distinguish between normal and "read-only" properties without explicitly hardcoding one or another.
Added explicit skip for DIRECTORY_NOTIFICATION_CHANNEL in 0.35.1. Should help for now, but it would be nice to find a better long term solution.