Ambassador application - Joe Bostian

Thank you for your interest in becoming an Open Mainframe Ambassador. To be considered, please answer the following questions. Please also reference the Ambassador Program overview for any questions.

Your name ( also put in the title replacing NAME )
Joe Bostian

Email
<EMAIL_ADDRESS>

Bio
I have spent my career working at the top layers of the platform stack, supporting Unix and Linux based workloads on z/OS.  Open source software has matured into the de facto platform for new workloads across operating systems, and I am an enthusiastic supporter of this development.

Projects within OMP you would want to be an ambassador for
Ambitus, Software Discovery Tool

Why do you want to be an ambassador?
The future of the mainframe is bound to our ability to make it an open accepted platform, and I want to help make that happen.

Thank you! Can you also...

Attach a headshot?
List any other topics you would be able to speak about?

FYI - Photo for Ambassador project.  I don't have any other topics to speak about aside from the ones I'm involved in during the recular TAC meetings.

Kind Regards / Mit freundlichen Grüßen / Cordialmente
<EMAIL_ADDRESS> (Joe)                        IBM z Systems, Open Source and Analytics Architect

----- Original message -----From: John Mertic<EMAIL_ADDRESS>openmainframeproject/tac<EMAIL_ADDRESS>Joe Bostian<EMAIL_ADDRESS>Author<EMAIL_ADDRESS>[EXTERNAL] Re: [openmainframeproject/tac] Ambassador application - Joe Bostian (#144)Date: Wed, Dec 9, 2020 12:16 PM

Thank you! Can you also...
Attach a headshot?        List any other topics you would be able to speak about?
—You are receiving this because you authored the thread.Reply to this email directly, view it on GitHub, or unsubscribe.

FYI - Photo for Ambassador project.  I don't have any other topics to speak about aside from the ones I'm involved in during the recular TAC meetings.

Kind Regards / Mit freundlichen Grüßen / Cordialmente
<EMAIL_ADDRESS> (Joe)                        IBM z Systems, Open Source and Analytics Architect

----- Original message -----From: John Mertic<EMAIL_ADDRESS>openmainframeproject/tac<EMAIL_ADDRESS>Joe Bostian<EMAIL_ADDRESS>Author<EMAIL_ADDRESS>[EXTERNAL] Re: [openmainframeproject/tac] Ambassador application - Joe Bostian (#144)Date: Wed, Dec 9, 2020 12:16 PM

Thank you! Can you also...
Attach a headshot?        List any other topics you would be able to speak about?
—You are receiving this because you authored the thread.Reply to this email directly, view it on GitHub, or unsubscribe.

Your application has been approved - next steps for the announcement at https://github.com/openmainframeproject/foundation/issues/167

Your application has been approved - next steps for the announcement at https://github.com/openmainframeproject/foundation/issues/167


AlsoUsableForAttribute should drive handle struct conversions and SafeHandle overloads

Using CsWin32 0.1.422-beta, not referencing the metadata package directly.
This seems to be the required workaround:
// Leaving out DangerousAddRef etc which should generally be added reflexively whenever DangerousGetHandle is used
PInvoke.SelectObject(bitmapDC, (HGDIOBJ)bitmap.DangerousGetHandle());

I'd expect DangerousGetHandle management to be done for me:
PInvoke.SelectObject(bitmapDC, bitmap);

bitmap is a DeleteObjectSafeHandle field that is assigned from a call to CreateDIBSection.

CreateDIBSection returns HBITMAP which is freeable via DeleteObject, so CreateDIBSection offers a SafeHandle.
HGDIOBJ is not a releasable handle, per the metadata. That's why we don't expose a SafeHandle overload of this method.
With the next metadata update, HGDIOBJ will be recognized as a kind of base type for several other typedef structs, including HBITMAP. At that point we should make some changes in the CsWin32 projection to not only add conversion operators between these structs, but also to accept SafeHandle everywhere that accepts HGDIOBJ.

Duplicate of #199


Lock down the allowed document types

This locks down the allowed values for document_type to a predefined list. The list of produced from the live content-store, so this should be backwards compatible.
Reasons for doing this:

It becomes harder to inadvertently change the document_type of a document. Most recently we accidentally changed the document type of a number of mainstream documents to generic_with_external_links (alphagov/publisher#581). Because the document type is used by analytics, this affected the GOV.UK performance reporting.
We can use the centrally defined list in the developer docs. We currently rely on search for this, but that isn't accurate because content items with a type like "redirect" or "gone" will never be in
the search index.
The "document supertype" gem (https://github.com/alphagov/govuk_document_types) can use this list to validate the provided document types. This makes it easier to spot errors.

Note that because the current list is taken from the live content store it contains document types that are obviously wrong, such as the placeholder and placeholder_ministerial_role documents. This has to be fixed in the content store before removing them here.
Needs https://github.com/alphagov/publishing-api/pull/813 to be merged & deployed before green.
https://trello.com/c/07lAcDtC

Did you consider adding a smaller whitelist of document types to specific/all schemas? For example, quite a few schemas are only used for one document type.

@cbaines I considered it, but I thought it might be too much overhead when choosing a document type, and in the code that does the modification of the schemas. Also, I was thinking that there might not actually be a strong relationship between a document type and schema. I can't think of a good reason that they should be coupled.

@cbaines I considered it, but I thought it might be too much overhead when choosing a document type, and in the code that does the modification of the schemas. Also, I was thinking that there might not actually be a strong relationship between a document type and schema. I can't think of a good reason that they should be coupled.

Makes sense :+1:


[ISSUE #1877] Update LogUtils

// Describe your PR here; eg. Fixes #issueNo

Make sure that:

[ ] You have read the contribution guidelines.
[ ] You submit test cases (unit or integration tests) that back your changes.
[ ] Your local test passed mvn clean install -Dmaven.javadoc.skip=true.

Codecov Report

Merging #1879 (2d2c1e0) into master (1754b8a) will decrease coverage by 0.38%.
The diff coverage is 69.76%.

@@             Coverage Diff              @@
##             master    #1879      +/-   ##
============================================
- Coverage     67.90%   67.51%   -0.39%
- Complexity     2646     2650       +4
============================================
  Files           489      489
  Lines         10976    11017      +41
  Branches       1078     1078
============================================
- Hits           7453     7438      -15
- Misses         2967     3007      +40
- Partials        556      572      +16

Impacted Files
Coverage Δ

.../java/org/apache/shenyu/common/utils/LogUtils.java
80.00% <69.76%> (-20.00%)
:arrow_down:

...ache/shenyu/plugin/grpc/cache/GrpcClientCache.java
66.66% <0.00%> (-27.78%)
:arrow_down:

...enyu/client/tars/TarsServiceBeanPostProcessor.java
35.13% <0.00%> (-18.92%)
:arrow_down:

...che/shenyu/admin/model/vo/SelectorConditionVO.java
71.42% <0.00%> (-14.29%)
:arrow_down:

...a/org/apache/shenyu/common/utils/VersionUtils.java
67.85% <0.00%> (-10.72%)
:arrow_down:

...che/shenyu/sync/data/http/HttpSyncDataService.java
71.84% <0.00%> (-9.71%)
:arrow_down:

...henyu/plugin/grpc/resolver/ShenyuNameResolver.java
56.84% <0.00%> (-7.37%)
:arrow_down:

...henyu/plugin/httpclient/NettyHttpClientPlugin.java
57.14% <0.00%> (-2.05%)
:arrow_down:

...shenyu/sync/data/consul/ConsulSyncDataService.java
66.10% <0.00%> (-1.70%)
:arrow_down:

...elimiter/handler/RateLimiterPluginDataHandler.java
69.69% <0.00%> (-1.52%)
:arrow_down:

... and 3 more

Continue to review full report at Codecov.

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


hope add golang language

hi guys,
Can you add some material for golang? Thanks a lot.

You can find that in .
I don't have to maintain a copy.

Thx a lot


fix: lazy init default logger

The default logger will try to query background et al on startup, which might conflict with other libs trying to query it too.
It's easily reproducible with some of our tools that use the log package, e.g., VHS:
faketty vhs --help

It slows down the program quite a bit, and print some ansi escape sequences as well.
This patch changes it so it only inits the default logger when/if the default logger is used.
Per my testing, it seems to fix the original issue.

PS: this is not a faketty-only thing, it's producible if you create a PTY (with creak/pty for example) and run the same command - it's how I initially noticed the issue.


aimbot isnt shooting through walls

ive seen this issue: https://github.com/danielkrupinski/Osiris/issues/2398
but here guy said aimbot dont shoot through some containers on nuke as for me aimbot dont shooting through walls at all lol
my OS is archlinux on x86_64v2,
steam from pacman

and of course ive disabled "only visible"


Customize backend for conditions

Add a conditions_backend kwarg to the ImplicitFunction constructor to decide which backend will be used for condition differentiation.
If conditions_backend is nothing, the same backend will be used as for the implicit function.

This doesn't work with conditions_backend = AD.ZygoteBackend(). Here's the error:
ArgumentError: Tuple contains 2 elements, must contain exactly 1 element
  Stacktrace:
    [1] only(x::Tuple{Float64, Float64})
      @ Base.Iterators ./iterators.jl:1531
    [2] (::AbstractDifferentiation.var"#14#16"{Vector{Float64}, ImplicitDifferentiation.var"#6#8"{Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}}, ImplicitFunction{var"#forward#8", var"#conditions#9", IterativeLinearSolver, AbstractDifferentiation.ReverseRuleConfigBackend{ZygoteRuleConfig{Zygote.Context{false}}}}, Vector{Float64}}, Tuple{Vector{Float64}}})(::Float64, ::Vararg{Float64})
      @ AbstractDifferentiation ~/.julia/packages/AbstractDifferentiation/eEkWP/src/AbstractDifferentiation.jl:172

I think it might be linked to https://github.com/JuliaDiff/AbstractDifferentiation.jl/issues/63

Also doesn't work with AD.FiniteDifferencesBackend(), for a different reason
MethodError: no method matching (::ImplicitDifferentiation.var"#6#8"{Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}}, ImplicitFunction{var"#forward#8", var"#conditions#9", IterativeLinearSolver, AbstractDifferentiation.FiniteDifferencesBackend{FiniteDifferences.AdaptedFiniteDifferenceMethod{5, 1, FiniteDifferences.UnadaptedFiniteDifferenceMethod{7, 5}}}}, Vector{Float64}})(::Vector{Float64}, ::Vector{Float64})

  Closest candidates are:
    (::ImplicitDifferentiation.var"#6#8")(::Any)
     @ ImplicitDifferentiation ~/Work/GitHub/Julia/ImplicitDifferentiation.jl/src/operators.jl:11

  Stacktrace:
    [1] (::FiniteDifferences.var"#88#89"{ImplicitDifferentiation.var"#6#8"{Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}}, ImplicitFunction{var"#forward#8", var"#conditions#9", IterativeLinearSolver, AbstractDifferentiation.FiniteDifferencesBackend{FiniteDifferences.AdaptedFiniteDifferenceMethod{5, 1, FiniteDifferences.UnadaptedFiniteDifferenceMethod{7, 5}}}}, Vector{Float64}}})(xs::Tuple{Vector{Float64}, Vector{Float64}})
      @ FiniteDifferences ~/.julia/packages/FiniteDifferences/SDe8k/src/grad.jl:64
    [2] jvp(fdm::FiniteDifferences.AdaptedFiniteDifferenceMethod{5, 1, FiniteDifferences.UnadaptedFiniteDifferenceMethod{7, 5}}, f::FiniteDifferences.var"#88#89"{ImplicitDifferentiation.var"#6#8"{Base.Pairs{Symbol, Union{}, Tuple{}, NamedTuple{(), Tuple{}}}, ImplicitFunction{var"#forward#8", var"#conditions#9", IterativeLinearSolver, AbstractDifferentiation.FiniteDifferencesBackend{FiniteDifferences.AdaptedFiniteDifferenceMethod{5, 1, FiniteDifferences.UnadaptedFiniteDifferenceMethod{7, 5}}}}, Vector{Float64}}}, ::Tuple{Tuple{Vector{Float64}, Vector{Float64}}, Tuple{Float64, Float64}})
      @ FiniteDifferences ~/.julia/packages/FiniteDifferences/SDe8k/src/grad.jl:59


Consider adding a foreach-like iterator adapter

Proposed in https://github.com/rust-lang/rfcs/pull/582 and https://github.com/rust-lang/rfcs/pull/1064, the Iterator trait could have a .foreach method which drains the iterator immediately and runs a closure on each element to concisely do so without a for loop.

Alternatively, there could just be a method to drain the iterator so you wouldn't have to use count or all for that.

Are there any situations where you wouldn't want to use a for-loop?

It looks much worse when you're working with a chain of iterators.

I can think of two use cases where it might be convenient more convenient than a for:

if you just want to run a function you already have:

    for x in values {
        my_log(x)
    }
    values.foreach(my_log)

if you are doing a pipeline of iterators (it is very common in functional languages, AFAICT not so common in Rust).

See here for reasoning (which I agree with) why the equivalent method wasn't included in .NET's LINQ.

Iterator::for_each() was merged in rust-lang/rust#42782, tracked in rust-lang/rust#42986.


AL Table Proxy Generator 14.1.18 Authentication Failure - Microsoft.Dynamics.Nav.Xrm.Common.XrmException

Hello,
I am trying to integrate my custom tables in Business Central with the Dataverse. After following this guide step by step,  I keep getting below error and I couldn't find any other solutions after looking up the errror.
PowerShell error:
Microsoft (R) AL Table Proxy Generator version <IP_ADDRESS>8
Copyright (C) Microsoft Corporation. All rights reserved
Authenticating Dataverse using ServiceUri=https://org[serviceURI].crm3.dynamics.com/
Authentication failure. Reason: One or more errors occurred. (Only loopback redirect uri is supported, but msal[redirectUri]://auth/ was found. Configure http://localhost or http://localhost:port both during app registration and when you create the PublicClientApplication object. See https://aka.ms/msal-net-os-browser for details)
error CDS0001: Error connecting to Dataverse.
Microsoft.Dynamics.Nav.Xrm.Common.XrmException: Failed to connect to Dataverse
at Microsoft.PowerPlatform.Dataverse.Client.ServiceClient.CreateServiceConnection(Object externalOrgServiceProxy, AuthenticationType requestedAuthType, String hostName, String port, String orgName, NetworkCredential credential, String userId,
SecureString password, String domain, String Geo, String claimsHomeRealm, Boolean useSsl, Boolean useUniqueInstance, OrganizationDetail orgDetail, String clientId, Uri redirectUri, PromptBehavior promptBehavior, OrganizationWebProxyClientAsync externalOrgWebProxyClient, String certificateThumbPrint, StoreName certificateStoreName, X509Certificate2 certificate, Uri instanceUrl, Boolean isCloned, Boolean useDefaultCreds, Version incomingOrgVersion, ILogger externalLogger, String tokenCacheStorePath)
at Microsoft.PowerPlatform.Dataverse.Client.ServiceClient..ctor(Uri instanceUrl, Func`2 tokenProviderFunction, Boolean useUniqueInstance, ILogger logger)
at Microsoft.Dynamics.Nav.Xrm.XrmService.<>c__DisplayClass11_0.b__0() in X:\Prod\Microsoft.Dynamics.Nav.Xrm\XrmService.cs:line 84
at Microsoft.Dynamics.Nav.Xrm.Common.XrmHelper.ExecuteXrm(Action action) in X:\Prod\Microsoft.Dynamics.Nav.Xrm\XrmHelper.cs:line 49

Someone from the MS Community Forum sent me this for the solution.


https://pennydreadfulmagic.com/decks/48039/ has a duplicate match

Appears in the source so this is a gatherling bug probs … https://gatherling.one/deck.php?mode=view&id=67191

Logged this against Gatherling as https://github.com/PennyDreadfulMTG/gatherling/issues/266

Fixed in Gatherling. It was just double-entered doh.
Cleaned up in prod db with:
MariaDB [decksite]> SELECT * FROM `match` WHERE id IN (SELECT match_id FROM deck_match WHERE deck_id = 48039);
+-------+------------+-------+-------------+---------+
| id    | date       | round | elimination | mtgo_id |
+-------+------------+-------+-------------+---------+
| 71765 |<PHONE_NUMBER> |     4 |           0 |    NULL |
| 71767 |<PHONE_NUMBER> |     1 |           0 |    NULL |
| 71768 |<PHONE_NUMBER> |     2 |           0 |    NULL |
| 71769 |<PHONE_NUMBER> |     3 |           0 |    NULL |
| 71770 |<PHONE_NUMBER> |     3 |           0 |    NULL |
| 71771 |<PHONE_NUMBER> |     5 |           8 |    NULL |
+-------+------------+-------+-------------+---------+
6 rows in set (0.00 sec)

MariaDB [decksite]> DELETE FROM `match` WHERE id = 71770;
Query OK, 1 row affected (0.02 sec)


Timeline/Outline filters.

Option to filter Timeline content by content-types (module) / posters (all/membership/friends/me/person) and Admin controls to set defaults and permission to access filters.

Admin already can filter timeline/outline by modules. For the user it is already automatically filtered according to the member's and content's privacy. However there is no filters for users.

It was suggested to have the only one filter is to display content from friends only, it is for homepage timeline!

A filter can also be created for Friends Timeline where option to filter feed from friends only or From whom they are following only. It will be helpful when issue #16 will be solved.


Difference between random_split and split

Hello all,
i have a data set for a detection task and need to split it into train, val and test.
What is the difference between...
datum transform -t random_split ...

and
datum transform -t split -- -t detection

?
Until now I have always used the split function instead of the random_split function, which according to the documentation I should choose. However, I would like to know the difference.

Hi. Probably, the online docs are not clear about this, but you can find info in the command help:
$ datum transform -t random_split -- -h
usage: random_split [-h] [-s SPLITS] [--seed SEED]

Joins all subsets into one and splits the result into few parts. It is expected that item ids are unique and
subset ratios sum up to 1.

Example:
    random_split --subset train:.67 --subset test:.33

optional arguments:
  -h, --help            show this help message and exit
  -s SPLITS, --subset SPLITS
                        Subsets in the form: '<subset>:<ratio>' (repeatable, default: {'train': 0.67, 'test': 0.33})
  --seed SEED           Random seed

$ datum transform -t split -- -h
usage: split [-h] [-t {classification,detection,segmentation,reid}] [-s SPLITS]
  [--query QUERY] [--attr ATTR_FOR_ID] [--seed SEED]

- classification split
Splits dataset into subsets(train/val/test) in class-wise manner.
Splits dataset images in the specified ratio, keeping the initial class distribution.

- detection & segmentation split
Each image can have multiple object annotations - (bbox, mask, polygon). Since an image shouldn't
be included in multiple subsets at the same time, and image annotations shouldn't be split,
in general, dataset annotations are unlikely to be split exactly in the specified ratio.
This split tries to split dataset images as close as possible to the specified ratio,
keeping the initial class distribution.

- reidentification split
In this task, the test set should consist of images of unseen people or objects during the training phase.
This function splits a dataset in the following way:
  1. Splits the dataset into 'train + val' and 'test' sets
    based on person or object ID.
  2. Splits 'test' set into 'test-gallery' and 'test-query' sets
    in class-wise manner.
  3. Splits the 'train + val' set into 'train' and 'val' sets
    in the same way.
The final subsets would be 'train', 'val', 'test-gallery' and 'test-query'.

Notes:
  - Each image is expected to have only one Annotation. Unlabeled or
      multi-labeled images will be split into subsets randomly.
  - If Labels also have attributes, also splits by attribute values.
  - If there is not enough images in some class or attributes group,
      the split ratio can't be guaranteed.
    In reidentification task,
  - Object ID can be described by Label, or by attribute (--attr parameter)
  - The splits of the test set are controlled by '--query' parameter
    Gallery ratio would be 1.0 - query.

Example:
  split -t classification --subset train:.5 --subset val:.2 --subset test:.3
  split -t detection --subset train:.5 --subset val:.2 --subset test:.3
  split -t segmentation --subset train:.5 --subset val:.2 --subset test:.3
  split -t reid --subset train:.5 --subset val:.2 --subset test:.3 --query .5
Example: use 'person_id' attribute for splitting
  split --attr person_id

optional arguments:
  -h, --help            show this help message and exit
  -t {classification,detection,segmentation,reid}, --task {classification,detection,segmentation,reid}
                        (one of classification, detection, segmentation, reid; default: classification)
  -s SPLITS, --subset SPLITS
                        Subsets in the form: '<subset>:<ratio>' (repeatable, default: {'train': 0.5, 'val': 0.2, 'test': 0.3})
  --query QUERY         Query ratio in the test set (default: 0.500)
  --attr ATTR_FOR_ID    Attribute name representing the ID (default: use label)
  --seed SEED           Random seed

Thank you!
I didn't have the idea to look in the command help.

With improved docs page for transformations, I consider this issue resolved. Don't hesitate to reopen in case of questions.


Add ability to delete entire conversation threads from a device

I'm not worried about you guys reading my messages, I trust the crypto. But I may want to delete entire conversations from my keybase chat, in case my computer/phone, etc, was stolen or left open, etc.
I don't see the ability to do this? I tried every way  I could imagine, but seems impossible to do?

Cc: @chrisnojima

This feature is on the roadmap but not in the first version

@chrisnojima Any update on this?
It's very basic functionality for a chat that intends to be secure.

Yeah. I am personally waiting for this as well as a self-destruct timer a la Telegram secret chats.

@maxtaco 's team is actually working on this next. the self-destruct stuff is a sep. feature


Adding examples-parse python script file for copying examples from mo…

…del file to OpenAPI file.
Signed-off-by: Sophia Garg<EMAIL_ADDRESS>Description
Adding python script file for parsing examples for request/response parameters from model.json file and adding it to OpenAPI specification file for a smithy model.
Issues Resolved
List any issues this PR will resolve, e.g. Closes [...].
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

In PR https://github.com/opensearch-project/opensearch-api-specification/pull/44, this file has already been added. Therefore, this PR has been closed.


Update dependencies

More breakage with the new nightly;
$ rustc --version
rustc 1.0.0-nightly (ba2f13ef0 2015-02-04 20:03:55 +0000)

Again, this is just me running cargo update.

Thanks!

@robo9k I've invited you to collaborate on this repo. For fixes like this that are obvious feel free to push without my review. For more substantial changes I'm a big fan of code-review so let's send PRs for those :+1:
Thanks, again!

@jakerr Oh great, thanks a bunch! This should reduce some of the friction while Rust is still evolving and reduce pull request overhead in general.


Blue collar PR: Remove superfluous semicolons and convert tabs to spaces

… style CRLF.
This is truly a blue collar PR.  Just cleaning up those minor details.
After having rebuilt I have:
manually eyeballed about half the files
rebuilt using sbt package
tried out iscala notebook: seems to be ok
tried out an ssc: it starts to run but can not find data (unrelated usability issue)
If this general approach were acceptable, I will manually traverse the remaining 50 or so files to ensure all look fine. The criteria:
leading tabs to 2 spaces
end-of-line semicolons removed
dos2unix type conversion (though I used a sed command to do it)

Due to (a) no feedback  and (b) not being merged in a timely manner  by the project maintainers  this PR is now out of sync with trunk.
It had been the intention of the team I am on  to provide  contribs to this project and on BIDMach_Spark.  However there has been no feedback or interaction.   Given that two other projects do provide that two way communication including merging PR's we wonder whether collaboration were desired / possible here.


Refactor search functionality

Refactors search functionality to get rid of custom sunspot search
code.
Department search is not 100% working (ie. search counts do not match
the results) and lack unit testing. That is intentional because we are
getting rid of the department functionality.
Preventing search with empty search term was also removed to
simplify the code. I saw no point preventing that, it is not an
expensive query and user can see all petitions anyway by clicking
a link in the site.

+:100: for the approach, it's much clearer now!  I just have a couple of minor points that require discussion.

Looks good, alas we're burning through stories so fast it needs another rebase!


Possible new rule: HPKP deprecated in Chrome 67

Deprecate support for public key pinning (PKP) in Chrome, and then remove it entirely.

This will first remove support for HTTP-based PKP (“dynamic pins”), in which the user-agent learns of pin-sets for hosts by HTTP headers. We would like to do this in Chrome 67, which is estimated to be released to Stable on 29 May 2018.

More info in https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/he9tr7p3rZ8/eNMwKPmUBAAJ

Possible new rule: HPKP

Or maybe just update the no-disallowed-headers rule?

We'll have to update about the documentation and point to the different documents that explain why for each header (or at least this one).

We'll have to update about the documentation and point to the different documents that explain why for each header (or at least this one).

Yes, I was referring to the whole thing, docs, and code.
I was just curious if other people agree that we should have another rule just for this header.


[Bug]: mistral tool choice error

Your current environment

The output of `python collect_env.py`
Collecting environment information...
PyTorch version: 2.5.1+cu124
Is debug build: False
CUDA used to build PyTorch: 12.4
ROCM used to build PyTorch: N/A

OS: Ubuntu 22.04.4 LTS (x86_64)
GCC version: (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0
Clang version: Could not collect
CMake version: Could not collect
Libc version: glibc-2.35

Python version: 3.11.9 (main, Apr 19 2024, 16:48:06) [GCC 11.2.0] (64-bit runtime)
Python platform: Linux-5.15.0-124-generic-x86_64-with-glibc2.35
Is CUDA available: True
CUDA runtime version: 12.4.131
CUDA_MODULE_LOADING set to: LAZY
GPU models and configuration:
GPU 0: Tesla V100-SXM2-32GB
GPU 1: Tesla V100-SXM2-32GB
GPU 2: Tesla V100-SXM2-32GB
GPU 3: Tesla V100-SXM2-32GB
GPU 4: Tesla V100-SXM2-32GB
GPU 5: Tesla V100-SXM2-32GB
GPU 6: Tesla V100-SXM2-32GB
GPU 7: Tesla V100-SXM2-32GB

Nvidia driver version: 550.120
cuDNN version: Probably one of the following:
/usr/lib/x86_64-linux-gnu/libcudnn.so.9.2.1
/usr/lib/x86_64-linux-gnu/libcudnn_adv.so.9.2.1
/usr/lib/x86_64-linux-gnu/libcudnn_cnn.so.9.2.1
/usr/lib/x86_64-linux-gnu/libcudnn_engines_precompiled.so.9.2.1
/usr/lib/x86_64-linux-gnu/libcudnn_engines_runtime_compiled.so.9.2.1
/usr/lib/x86_64-linux-gnu/libcudnn_graph.so.9.2.1
/usr/lib/x86_64-linux-gnu/libcudnn_heuristic.so.9.2.1
/usr/lib/x86_64-linux-gnu/libcudnn_ops.so.9.2.1
HIP runtime version: N/A
MIOpen runtime version: N/A
Is XNNPACK available: True

CPU:
Architecture:                         x86_64
CPU op-mode(s):                       32-bit, 64-bit
Address sizes:                        46 bits physical, 48 bits virtual
Byte Order:                           Little Endian
CPU(s):                               96
On-line CPU(s) list:                  0-95
Vendor ID:                            GenuineIntel
Model name:                           Intel(R) Xeon(R) Gold 6271C CPU @ 2.60GHz
CPU family:                           6
Model:                                85
Thread(s) per core:                   2
Core(s) per socket:                   24
Socket(s):                            2
Stepping:                             7
BogoMIPS:                             5200.00
Flags:                                fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 ds_cpl vmx smx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid dca sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault epb cat_l3 cdp_l3 invpcid_single intel_ppin ssbd mba ibrs ibpb stibp ibrs_enhanced tpr_shadow vnmi flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid cqm mpx rdt_a avx512f avx512dq rdseed adx smap clflushopt clwb intel_pt avx512cd avx512bw avx512vl xsaveopt xsavec xgetbv1 xsaves cqm_llc cqm_occup_llc cqm_mbm_total cqm_mbm_local dtherm ida arat pln pts hwp_epp pku ospke avx512_vnni md_clear flush_l1d arch_capabilities
Virtualization:                       VT-x
L1d cache:                            1.5 MiB (48 instances)
L1i cache:                            1.5 MiB (48 instances)
L2 cache:                             48 MiB (48 instances)
L3 cache:                             66 MiB (2 instances)
NUMA node(s):                         2
NUMA node0 CPU(s):                    0-23,48-71
NUMA node1 CPU(s):                    24-47,72-95
Vulnerability Gather data sampling:   Mitigation; Microcode
Vulnerability Itlb multihit:          KVM: Mitigation: VMX disabled
Vulnerability L1tf:                   Not affected
Vulnerability Mds:                    Not affected
Vulnerability Meltdown:               Not affected
Vulnerability Mmio stale data:        Mitigation; Clear CPU buffers; SMT vulnerable
Vulnerability Reg file data sampling: Not affected
Vulnerability Retbleed:               Mitigation; Enhanced IBRS
Vulnerability Spec rstack overflow:   Not affected
Vulnerability Spec store bypass:      Mitigation; Speculative Store Bypass disabled via prctl and seccomp
Vulnerability Spectre v1:             Mitigation; usercopy/swapgs barriers and __user pointer sanitization
Vulnerability Spectre v2:             Mitigation; Enhanced / Automatic IBRS; IBPB conditional; RSB filling; PBRSB-eIBRS SW sequence; BHI SW loop, KVM SW loop
Vulnerability Srbds:                  Not affected
Vulnerability Tsx async abort:        Mitigation; TSX disabled

Versions of relevant libraries:
[pip3] numpy==1.26.4
[pip3] nvidia-cublas-cu12==<IP_ADDRESS>
[pip3] nvidia-cuda-cupti-cu12==12.4.127
[pip3] nvidia-cuda-nvrtc-cu12==12.4.127
[pip3] nvidia-cuda-runtime-cu12==12.4.127
[pip3] nvidia-cudnn-cu12==<IP_ADDRESS>
[pip3] nvidia-cufft-cu12==<IP_ADDRESS>
[pip3] nvidia-curand-cu12==<IP_ADDRESS>
[pip3] nvidia-cusolver-cu12==<IP_ADDRESS>
[pip3] nvidia-cusparse-cu12==<IP_ADDRESS>
[pip3] nvidia-ml-py==12.560.30
[pip3] nvidia-nccl-cu12==2.21.5
[pip3] nvidia-nvjitlink-cu12==12.4.127
[pip3] nvidia-nvtx-cu12==12.4.127
[pip3] pyzmq==26.2.0
[pip3] torch==2.5.1
[pip3] torchvision==0.20.1
[pip3] transformers==4.46.2
[pip3] triton==3.1.0
[conda] numpy                     1.26.4                   pypi_0    pypi
[conda] nvidia-cublas-cu12        <IP_ADDRESS>                 pypi_0    pypi
[conda] nvidia-cuda-cupti-cu12    12.4.127                 pypi_0    pypi
[conda] nvidia-cuda-nvrtc-cu12    12.4.127                 pypi_0    pypi
[conda] nvidia-cuda-runtime-cu12  12.4.127                 pypi_0    pypi
[conda] nvidia-cudnn-cu12         <IP_ADDRESS>                 pypi_0    pypi
[conda] nvidia-cufft-cu12         <IP_ADDRESS>                 pypi_0    pypi
[conda] nvidia-curand-cu12        <IP_ADDRESS>               pypi_0    pypi
[conda] nvidia-cusolver-cu12      <IP_ADDRESS>                 pypi_0    pypi
[conda] nvidia-cusparse-cu12      <IP_ADDRESS>               pypi_0    pypi
[conda] nvidia-ml-py              12.560.30                pypi_0    pypi
[conda] nvidia-nccl-cu12          2.21.5                   pypi_0    pypi
[conda] nvidia-nvjitlink-cu12     12.4.127                 pypi_0    pypi
[conda] nvidia-nvtx-cu12          12.4.127                 pypi_0    pypi
[conda] pyzmq                     26.2.0                   pypi_0    pypi
[conda] torch                     2.5.1                    pypi_0    pypi
[conda] torchvision               0.20.1                   pypi_0    pypi
[conda] transformers              4.46.2                   pypi_0    pypi
[conda] triton                    3.1.0                    pypi_0    pypi
ROCM Version: Could not collect
Neuron SDK Version: N/A
vLLM Version: 0.6.3.post2.dev338+gf0f2e563
vLLM Build Flags:
CUDA Archs: Not Set; ROCm: Disabled; Neuron: Disabled
GPU Topology:
GPU0    GPU1    GPU2    GPU3    GPU4    GPU5    GPU6    GPU7    NIC0    NIC1    NIC2    NIC3    CPU Affinity    NUMA Affinity   GPU NUMA ID
GPU0     X      NV1     NV2     NV1     SYS     SYS     SYS     NV2     NODE    NODE    SYS     SYS     0-23,48-71      0               N/A
GPU1    NV1      X      NV1     NV2     SYS     SYS     NV2     SYS     NODE    NODE    SYS     SYS     0-23,48-71      0               N/A
GPU2    NV2     NV1      X      NV2     SYS     NV1     SYS     SYS     PIX     PIX     SYS     SYS     0-23,48-71      0               N/A
GPU3    NV1     NV2     NV2      X      NV1     SYS     SYS     SYS     PIX     PIX     SYS     SYS     0-23,48-71      0               N/A
GPU4    SYS     SYS     SYS     NV1      X      NV2     NV2     NV1     SYS     SYS     PIX     PIX     24-47,72-95     1               N/A
GPU5    SYS     SYS     NV1     SYS     NV2      X      NV1     NV2     SYS     SYS     PIX     PIX     24-47,72-95     1               N/A
GPU6    SYS     NV2     SYS     SYS     NV2     NV1      X      NV1     SYS     SYS     NODE    NODE    24-47,72-95     1               N/A
GPU7    NV2     SYS     SYS     SYS     NV1     NV2     NV1      X      SYS     SYS     NODE    NODE    24-47,72-95     1               N/A
NIC0    NODE    NODE    PIX     PIX     SYS     SYS     SYS     SYS      X      PIX     SYS     SYS
NIC1    NODE    NODE    PIX     PIX     SYS     SYS     SYS     SYS     PIX      X      SYS     SYS
NIC2    SYS     SYS     SYS     SYS     PIX     PIX     NODE    NODE    SYS     SYS      X      PIX
NIC3    SYS     SYS     SYS     SYS     PIX     PIX     NODE    NODE    SYS     SYS     PIX      X

Legend:

  X    = Self
  SYS  = Connection traversing PCIe as well as the SMP interconnect between NUMA nodes (e.g., QPI/UPI)
  NODE = Connection traversing PCIe as well as the interconnect between PCIe Host Bridges within a NUMA node
  PHB  = Connection traversing PCIe as well as a PCIe Host Bridge (typically the CPU)
  PXB  = Connection traversing multiple PCIe bridges (without traversing the PCIe Host Bridge)
  PIX  = Connection traversing at most a single PCIe bridge
  NV#  = Connection traversing a bonded set of # NVLinks

NIC Legend:

  NIC0: mlx5_0
  NIC1: mlx5_1
  NIC2: mlx5_2
  NIC3: mlx5_3

NCCL_P2P_DISABLE=0
VLLM_WORKER_MULTIPROC_METHOD=spawn
NCCL_NSOCKS_PERTHREAD=2
NCCL_SOCKET_NTHREADS=2
LD_LIBRARY_PATH=/model/anaconda3/envs/vllm/lib/python3.11/site-packages/cv2/../../lib64:/usr/local/cuda-12.4/lib64${LD_LIBRARY_PATH:+:}
NCCL_CROSS_NIC=0
CUDA_MODULE_LOADING=LAZY

Model Input Dumps
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/model/anaconda3/envs/vllm/lib/python3.11/site-packages/uvicorn/protocols/http/httptools_impl.py", line 401, in run_asgi
result = await app(  # type: ignore[func-returns-value]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/model/anaconda3/envs/vllm/lib/python3.11/site-packages/uvicorn/middleware/proxy_headers.py", line 60, in call
return await self.app(scope, receive, send)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/model/anaconda3/envs/vllm/lib/python3.11/site-packages/fastapi/applications.py", line 1054, in call
await super().call(scope, receive, send)
File "/model/anaconda3/envs/vllm/lib/python3.11/site-packages/starlette/applications.py", line 113, in call
await self.middleware_stack(scope, receive, send)
File "/model/anaconda3/envs/vllm/lib/python3.11/site-packages/starlette/middleware/errors.py", line 187, in call
raise exc
File "/model/anaconda3/envs/vllm/lib/python3.11/site-packages/starlette/middleware/errors.py", line 165, in call
await self.app(scope, receive, _send)
File "/model/anaconda3/envs/vllm/lib/python3.11/site-packages/starlette/middleware/base.py", line 185, in call
with collapse_excgroups():
File "/model/anaconda3/envs/vllm/lib/python3.11/contextlib.py", line 158, in exit
self.gen.throw(typ, value, traceback)
File "/model/anaconda3/envs/vllm/lib/python3.11/site-packages/starlette/_utils.py", line 82, in collapse_excgroups
raise exc
File "/model/anaconda3/envs/vllm/lib/python3.11/site-packages/starlette/middleware/base.py", line 187, in call
response = await self.dispatch_func(request, call_next)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/model/anaconda3/envs/vllm/lib/python3.11/site-packages/vllm/entrypoints/openai/api_server.py", line 490, in add_request_id
response = await call_next(request)
^^^^^^^^^^^^^^^^^^^^^^^^
File "/model/anaconda3/envs/vllm/lib/python3.11/site-packages/starlette/middleware/base.py", line 163, in call_next
raise app_exc
File "/model/anaconda3/envs/vllm/lib/python3.11/site-packages/starlette/middleware/base.py", line 149, in coro
await self.app(scope, receive_or_disconnect, send_no_error)
File "/model/anaconda3/envs/vllm/lib/python3.11/site-packages/starlette/middleware/base.py", line 185, in call
with collapse_excgroups():
File "/model/anaconda3/envs/vllm/lib/python3.11/contextlib.py", line 158, in exit
self.gen.throw(typ, value, traceback)
File "/model/anaconda3/envs/vllm/lib/python3.11/site-packages/starlette/_utils.py", line 82, in collapse_excgroups
raise exc
File "/model/anaconda3/envs/vllm/lib/python3.11/site-packages/starlette/middleware/base.py", line 187, in call
response = await self.dispatch_func(request, call_next)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/model/anaconda3/envs/vllm/lib/python3.11/site-packages/vllm/entrypoints/openai/api_server.py", line 485, in authentication
return await call_next(request)
^^^^^^^^^^^^^^^^^^^^^^^^
File "/model/anaconda3/envs/vllm/lib/python3.11/site-packages/starlette/middleware/base.py", line 163, in call_next
raise app_exc
File "/model/anaconda3/envs/vllm/lib/python3.11/site-packages/starlette/middleware/base.py", line 149, in coro
await self.app(scope, receive_or_disconnect, send_no_error)
File "/model/anaconda3/envs/vllm/lib/python3.11/site-packages/starlette/middleware/cors.py", line 85, in call
await self.app(scope, receive, send)
File "/model/anaconda3/envs/vllm/lib/python3.11/site-packages/starlette/middleware/exceptions.py", line 62, in call
await wrap_app_handling_exceptions(self.app, conn)(scope, receive, send)
File "/model/anaconda3/envs/vllm/lib/python3.11/site-packages/starlette/_exception_handler.py", line 53, in wrapped_app
raise exc
File "/model/anaconda3/envs/vllm/lib/python3.11/site-packages/starlette/_exception_handler.py", line 42, in wrapped_app
await app(scope, receive, sender)
File "/model/anaconda3/envs/vllm/lib/python3.11/site-packages/starlette/routing.py", line 715, in call
await self.middleware_stack(scope, receive, send)
File "/model/anaconda3/envs/vllm/lib/python3.11/site-packages/starlette/routing.py", line 735, in app
await route.handle(scope, receive, send)
File "/model/anaconda3/envs/vllm/lib/python3.11/site-packages/starlette/routing.py", line 288, in handle
await self.app(scope, receive, send)
File "/model/anaconda3/envs/vllm/lib/python3.11/site-packages/starlette/routing.py", line 76, in app
await wrap_app_handling_exceptions(app, request)(scope, receive, send)
File "/model/anaconda3/envs/vllm/lib/python3.11/site-packages/starlette/_exception_handler.py", line 53, in wrapped_app
raise exc
File "/model/anaconda3/envs/vllm/lib/python3.11/site-packages/starlette/_exception_handler.py", line 42, in wrapped_app
await app(scope, receive, sender)
File "/model/anaconda3/envs/vllm/lib/python3.11/site-packages/starlette/routing.py", line 73, in app
response = await f(request)
^^^^^^^^^^^^^^^^
File "/model/anaconda3/envs/vllm/lib/python3.11/site-packages/fastapi/routing.py", line 301, in app
raw_response = await run_endpoint_function(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/model/anaconda3/envs/vllm/lib/python3.11/site-packages/fastapi/routing.py", line 212, in run_endpoint_function
return await dependant.call(**values)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/model/anaconda3/envs/vllm/lib/python3.11/site-packages/vllm/entrypoints/openai/api_server.py", line 347, in create_chat_completion
generator = await handler.create_chat_completion(request, raw_request)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/model/anaconda3/envs/vllm/lib/python3.11/site-packages/vllm/entrypoints/openai/serving_chat.py", line 155, in create_chat_completion
) = await self._preprocess_chat(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/model/anaconda3/envs/vllm/lib/python3.11/site-packages/vllm/entrypoints/openai/serving_engine.py", line 458, in _preprocess_chat
request_prompt = apply_mistral_chat_template(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/model/anaconda3/envs/vllm/lib/python3.11/site-packages/vllm/entrypoints/chat_utils.py", line 767, in apply_mistral_chat_template
return tokenizer.apply_chat_template(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/model/anaconda3/envs/vllm/lib/python3.11/site-packages/vllm/transformers_utils/tokenizers/mistral.py", line 265, in apply_chat_template
encoded = self.mistral.encode_chat_completion(request)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/model/anaconda3/envs/vllm/lib/python3.11/site-packages/mistral_common/tokens/tokenizers/mistral.py", line 194, in encode_chat_completion
validated_request = self._chat_completion_request_validator.validate_request(request)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/model/anaconda3/envs/vllm/lib/python3.11/site-packages/mistral_common/protocol/instruct/validator.py", line 63, in validate_request
self.validate_messages(request.messages)
File "/model/anaconda3/envs/vllm/lib/python3.11/site-packages/mistral_common/protocol/instruct/validator.py", line 51, in validate_messages
self._validate_message_list_content(messages)
File "/model/anaconda3/envs/vllm/lib/python3.11/site-packages/mistral_common/protocol/instruct/validator.py", line 273, in _validate_message_list_content
self._validate_assistant_message(message, is_last_message=idx == len(messages) - 1)
File "/model/anaconda3/envs/vllm/lib/python3.11/site-packages/mistral_common/protocol/instruct/validator.py", line 155, in _validate_assistant_message
self._validate_tool_call(tool_call, is_last_message=is_last_message)
File "/model/anaconda3/envs/vllm/lib/python3.11/site-packages/mistral_common/protocol/instruct/validator.py", line 310, in _validate_tool_call
raise InvalidFunctionCallException(
mistral_common.exceptions.InvalidFunctionCallException: Tool call id was m0bqB5RX6Xqr but must be a-z, A-Z, 0-9, with a length of 9.
🐛 Describe the bug
vllm serve /model/models/Pixtral-Large-Instruct-2411 -tp 1 --served-model-name Pixtral-Large-Instruct-2411 --dtype float16  --gpu-memory-utilization 0.925 --max-model-len 16384 --max-num-seqs 16 --tokenizer_mode mistral --enable-auto-tool-choice --tool-call-parser mistral --chat-template /vllm/examples/tool_chat_template_mistral_parallel.jinja
mistral_common==1.5.0
Before submitting a new issue...

[X] Make sure you already searched for relevant issues, and asked the chatbot living at the bottom right corner of the documentation page, which can answer lots of frequently asked questions.

Can you try updating to latest version of vLLM and see if you still get this error?

Can you try updating to latest version of vLLM and see if you still get this error?
Yes, I'm using the latest VLLM version 0.6.4.post1, and this problem is happening with the latest version!

How are you generating your tool call IDs? As stated by the error message, they should be alphanumeric and exactly 9 characters long.

您如何生成工具调用 ID？如错误消息所述，它们应为字母数字，长度恰好为 9 个字符。

I looked at the tool ID and it's 6 digits of letters and numbers, is it possible that the new mistral's V3 has this length limitation, as running it on the original mistral-large-2407 didn't have this problem?

@patrickvonplaten might have more context on this.

getting the same issue when running "vllm serve mistralai/Pixtral-Large-Instruct-2411 --config-format mistral --load-format mistral --tokenizer_mode mistral --limit_mm_per_prompt 'image=10' --tensor-parallel-size 8"
with all the latest versions of the library

The mistral parser, when streaming, builds the tool_call_id in the following way:
                    delta = DeltaMessage(tool_calls=[
                        DeltaToolCall(index=self.current_tool_id,
                                      type="function",
                                      id=f"chatcmpl-tool-{random_uuid()}",
                                      function=DeltaFunctionCall(
                                          name=function_name).model_dump(
                                              exclude_none=True))
                    ])

This is not 9 alpha-numeric, which seems to be the template requirement. When returning with stream=False, the code is:
                MistralToolCall(
                    type="function",
                    function=FunctionCall(
                        name=raw_function_call["name"],
                        # function call args are JSON but as a string
                        arguments=json.dumps(raw_function_call["arguments"],
                                             ensure_ascii=False)))

The later generates the 9 alphanumeric when init'ing the MistralToolCall using this method:
    def generate_random_id():
        # Mistral Tool Call Ids must be alphanumeric with a maximum length of 9.
        # https://github.com/mistralai/mistral-common/blob/21ee9f6cee3441e9bb1e6ed2d10173f90bd9b94b/src/mistral_common/protocol/instruct/validator.py#L299
        return "".join(choices(ALPHANUMERIC, k=9))

So the fix would seem to be to change the streaming code random generator to the same one used for stream=False. I have a PR #10782 that fixes other streaming issues with mistral and Hermes parsers. I can easily add this minor change to the PR.

cc @K-Mistele


Feature: tight up the integration with extra eventSources

A controller can define additional eventSources as shown e.g. here
there are 2 improvements we can investigate:

the watched resource should be easily accessible in the reconcile loop
the generated Roles/RoleBindings etc. should take into account those resources too

Hi @andreaTP
1.the watched resource is accessible in multiple way, if you hold reference to the informer (variable), you can just pass read it using the resource id of the custom resource, see:
https://github.com/java-operator-sdk/java-operator-sdk/blob/001cbaf38bc91332f0bced22649e3e7a465857ee/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/event/source/informer/InformerEventSource.java#L152
You can also use the get it using the context: <T> Optional<T> getSecondaryResource(Class<T> expectedType)

this is now part of quarkus extension, not sure why was it implemented there. Maybe @metacosm can elaborate.

if you hold reference to the informer

have you already evaluated to expose this functionality from the Context? it might result in a nicer UX I think.

sure, currently its limited, since the dependent resources might have impact on this, for now see:
https://github.com/java-operator-sdk/java-operator-sdk/blob/001cbaf38bc91332f0bced22649e3e7a465857ee/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/api/reconciler/Context.java#L9-L13

Hi @andreaTP 1.the watched resource is accessible in multiple way, if you hold reference to the informer (variable), you can just pass read it using the resource id of the custom resource, see:
https://github.com/java-operator-sdk/java-operator-sdk/blob/001cbaf38bc91332f0bced22649e3e7a465857ee/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/event/source/informer/InformerEventSource.java#L152
or the CR:
https://github.com/java-operator-sdk/java-operator-sdk/blob/001cbaf38bc91332f0bced22649e3e7a465857ee/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/event/source/informer/InformerEventSource.java#L141

Generally speaking, I think it's a bad pattern to expose the underlying implementation if we can avoid it. We switched from Watcher to Informer, we might switch to something else again. We shouldn't have to expose this to the users.
Similarly, we now send a list of event sources to be registered and people shouldn't hold onto them unless really needed. Event sources are an implementation detail that people shouldn't really have to deal with most of the time. See the dependent resource work (#785)  to see how things could be improved (imo, at least! 😅)

You can also use the get it using the context: <T> Optional<T> getSecondaryResource(Class<T> expectedType)

That's how it should secondary resources should be retrieved, imo.

2. this is now part of quarkus extension, not sure why was it implemented there. Maybe @metacosm can elaborate.

No this isn't at the moment.

No this isn't at the moment.

Maybe we should create a separate issue for this, and discuss where this should be done, not sure if this is quarkus extension, then rather here in the JOSDK, or actually by Operator SDK Plugin.

Generally speaking, I think it's a bad pattern to expose the underlying implementation if we can avoid it. We switched from Watcher to Informer, we might switch to something else again. We shouldn't have to expose this to the users.

This is true for K8S resource, we can make a good API to access those, the non-k8s resources is a different story, for now we created the event sources which should be the base for those, to see how we could make a unification.  See the CachingEventSource and other event sources which extends it.

I think it's a bad pattern to expose the underlying implementation if we can avoid it.

That's a good comment, we should be able to register "Watched resources" and they should be easily accessible from the public API without bothering about the implementation details.


Add a correction keyword to the std methods

closes #170

Also a note on the default: that is 1 (which matches Pandas) rather than 0 (which matches the array API standard and numpy). This seems fine to me, just pointing it out for future reference.

much appreciated, nice improvement - thanks!


added no_data slot to TTable

To test check out the add_issues_details_no_data branch, in the issues details page select filters until there are no matching issues and instead of "no data" you should see table contents that match this.

That is odd, I see this with the above setup:

Okay, I had to rebuild the modules

Yep! And the props are not flexible enough to support the above design, hence the need for a slot.


Bug: ghost compose in test_ldmcu

Environment

qiskit.version: 0.23.2
qclib version: b4c03af2a4ea585e86aeae1f9851ca953a2e9192 (latest main)
Python version: 3.8.0
Operating system: Ubuntu 18.04

What is happening?
In the test file test_ldmcu.py in the function test_linear_toffoli2 we query the state of circuit2 via qclib.util.get_state(circuit2), but the circuit doesn't have the mc_gate in it (as we would expect after since we have instantiated it).
NOTE: This problem is present also in the next two tests: test_linear_toffoli1.
How can we reproduce the issue?
I inserted some prints statements to see the state of the circuit:
def test_linear_toffoli2(self):
    """ Testing Toffoli control 110"""
    gate_x = np.array([[0, 1], [1, 0]])

    controls2 = QuantumRegister(3)
    target2 = QuantumRegister(1)
    circuit2 = QuantumCircuit(controls2, target2)

    circuit2 = qiskit.QuantumCircuit(4)
    circuit2.x(2)
    circuit2.x(3)
    circuit2.x(0)
    state1 = qclib.util.get_state(circuit2)

    controls1 = QuantumRegister(3)
    target1 = QuantumRegister(1)
    circuit1 = qiskit.QuantumCircuit(controls1, target1)

    Ldmcu.ldmcu(circuit1, gate_x, controls1, target1, ctrl_state='110')

    print("Before Compose:")
    print(circuit2.draw())
    circuit2.compose(circuit1, circuit2.qubits)
    print("After Compose:")
    print(circuit2.draw())

    state2 = qclib.util.get_state(circuit2)

    print("Expected:")
    # what it should be
    # the following line is not in the code
    qc = circuit2.compose(circuit1, circuit2.qubits)
    print(qc.draw())
    self.assertTrue(np.allclose(state1, state2))

Output:
Before Compose:
     ┌───┐
q_0: ┤ X ├
     └───┘
q_1: ─────
     ┌───┐
q_2: ┤ X ├
     ├───┤
q_3: ┤ X ├
     └───┘
After Compose:
     ┌───┐
q_0: ┤ X ├
     └───┘
q_1: ─────
     ┌───┐
q_2: ┤ X ├
     ├───┤
q_3: ┤ X ├
     └───┘
Expected:
     ┌───┐┌────────┐
q_0: ┤ X ├┤0       ├
     └───┘│        │
q_1: ─────┤1       ├
     ┌───┐│  Ldmcu │
q_2: ┤ X ├┤2       ├
     ├───┤│        │
q_3: ┤ X ├┤3       ├
     └───┘└────────┘

What should happen?
I would have expected the circuit2 to use the Ldmcu, but as we can see the compose is ineffective, and the circuit doesn't have the Ldmcu in it.
The problem is in the use of the API compose(). See here.
Any suggestions?
The correct way to use it is:
qc = circuit2.compose(circuit1, circuit2.qubits)
# or
circuit2.compose(circuit1, circuit2.qubits, inplace=True)

Hi @MattePalte,
You make an excellent point! Thank you for taking the time to provide such a detailed explanation.

Fixed! PR #140.


COMP: MINIC: Update CMake policies to 3.10

PR Checklist

[ ] No API changes were made (or the changes have been approved)
[ ] No major design changes were made (or the changes have been approved)
[ ] Added test (or behavior not changed)
[ ] Updated API documentation (or API not changed)
[ ] Added license to new files (if any)
[ ] Added Python wrapping to new files (if any) as described in ITK Software Guide Section 9.5
[ ] Added ITK examples for all new major features (if any)

Refer to the ITK Software Guide for
further development details if necessary.

Upstream pull request: https://github.com/BIC-MNI/libminc/pull/127

PR title, MINIC -> MINCIO ?

@gdevenyi  This PR will be abandoned. The MINC/UpdateFromUpstream need to be modified to the correct version, and run. Last it was updated to the master branch not the develop. When do you expected these changes to make it into master?


Incorrect bytes in data section

Hi! I've been working on a reversing project for a little while on an executable file that I used the lx loader to analyze. I noticed a bit of an issue where it seems like there are several bytes that are messed up in ghidra. Specifically I've noticed the issue in four different instances in the data section of the executable, although it's feasible that its affected the disassembly too.
Here's the issue in action:

As you can see, the highlighted byte is a 0x00 where it seemingly should be a 0x17. I can manually override it to be a 0x17 and it accesses the proper address:

Here's a comparison with the same bytes in a hex editor (I know the addresses appear different but I think that has to do with how they're imported in the disassembler):

Interestingly, none of them in the hex editor are 0x17
And here's the same bytes in Ida:

More details:
I'm analyzing the RGFX.exe executable from The Elder Scrolls Adventures Redguard.
I'm running Ghidra 10.0.1 with the latest release of the lx loader.
These are the four addresses where I've noticed the issue so far:
0x001a2001 : should be 0x17 but is 0x00
0x001a4001 : should be 0x17 but is 0x00
0x001a2fff : should be 0x17 but is 0x00
0x001a5fff : should be 0x18 but is 0x01

Update: The problem is much worse than I initially described. I decided to do a comparison between the imported bytes between ghidra and ida and there's a ton of bytes that are messed up, in both the code and data sections. Many of them fall into the pattern I already described where the byte is 0x17 less than it should be, but I found another type of issue where sometimes the 3 bytes after a call instruction are imported as 00 00 00 instead:

before manual patch:

after manual patch:

Hey, Thanks for taking the time to write that all up. Much appreciated. I will give it a look.
As far as I'm aware, certain fixups on page boundaries are not implemented correctly. Further, I remember running into issues regarding type conversion between signed and unsigned data in the fixups.

Ok, as for your first comment, this is indeed a page boundary fixup issue.

Interestingly, none of them in the hex editor are 0x17

That's because the compiler will leave references from .code to .data and vice versa blank (null). Only the DOS extender (or Ghidra loader) will known where .code and .data are actually mapped into memory. The exe also has a list of fixups which describe thins like ".code at offset Y references offset .data at offset X". Those offset will be applied to the actual memory positions of .code and .data after they are loaded into memory (i.e. unknown to the exe itself), a the refences in the end "fixed up".
Since .code and .data in LE are divided in chunks of pages, sometimes a fixup will be on the edge of two pages. That's the edge case the loader fails to handle here.

These are the four addresses where I've noticed the issue so far:
0x001a2001 : should be 0x17 but is 0x00
0x001a4001 : should be 0x17 but is 0x00
0x001a2fff : should be 0x17 but is 0x00
0x001a5fff : should be 0x18 but is 0x01

Not that it would help you without a patch, but you can see those are indeed references on page boundaries.
I will try to fix that.

@enderdrag64 I pushed a new realease. Please let me know if there are still unhandled fixups in your file.

@yetmorecode Yep I just compared the exported bytes from the old and the new extensions and all the bytes that were 0x17 off are now fixed.
The 3 bytes after some call instructions sometimes being 00 00 00 is unchanged

@enderdrag64 Ok, I got a copy of that game and was able to identify the missing fixup types in there. There is a new release, which does not report any unhandled fixups for RGFX.exe anymore for me.

@yetmorecode Okay cool thanks! I tried loading it up with the new release and all the incorrect bytes that I had noticed previously are gone. I did notice a new problem though:

On the left is the latest release and on the right is with the original 10.0.1 release.
I'm not entirely sure which one is correct as both generate seemingly garbage code in the disassembly:

Ida pro imports it with both being 04:

That also generates a bad disassembly:

I wasn't sure about those. These are 16:16 pointer fixups, i.e. those far jumps are of the format <16bit segment selector>:<16 bit offset into segment>. Supposedly they are meant to go into object#4, offset 4, which equates to 0x150004. Unfortunately Ghidra has no notion of 32 bit protected mode segment selectors (only for 16bit realmode code), so there is no way to patch the "jmpf" directly.
[Object#2] Mapping to memory location 00020000 - 0013de1c (selector 001)
16:16 pointer fixup #0 at 00135eee (page 116) -> 150000:0004 (object #4, target flags:  0  16-bit target offset, 8-bit object number,)
16:16 pointer fixup #1 at 00135f2f (page 116) -> 150000:0004 (object #4, target flags:  0  16-bit target offset, 8-bit object number,)
16:16 pointer fixup #2 at 00135f83 (page 116) -> 150000:0004 (object #4, target flags:  0  16-bit target offset, 8-bit object number,)
16:16 pointer fixup #3 at 0013600f (page 117) -> 150000:0004 (object #4, target flags:  0  16-bit target offset, 8-bit object number,)
16:16 pointer fixup #4 at 0013608f (page 117) -> 150000:0004 (object #4, target flags:  0  16-bit target offset, 8-bit object number,)
16:16 pointer fixup #5 at 00136139 (page 117) -> 150000:0004 (object #4, target flags:  0  16-bit target offset, 8-bit object number,)
16:16 pointer fixup #6 at 0013619c (page 117) -> 150000:0004 (object #4, target flags:  0  16-bit target offset, 8-bit object number,)
16:16 pointer fixup #7 at 001361f4 (page 117) -> 150000:0004 (object #4, target flags:  0  16-bit target offset, 8-bit object number,)

On the other hand for analysis I think it's probably ok to patch the far jmp with a normal jmp.

@yetmorecode Oh that makes sense.

Unfortunately Ghidra has no notion of 32 bit protected mode segment selectors (only for 16bit realmode code), so there is no way to patch the "jmpf" directly.

Is the reason for that because Ghidra wasn't ever designed to handle 32-bit DOS extenders?

On the other hand for analysis I think it's probably ok to patch the far jmp with a normal jmp.

So if I manually replace the jmpf call with a jmp and then set the address to 0x150004, it should match the behavior of the executable for analysis purposes?

Ok, so I dug further down this rabbit hole to get an understanding of how it all works. Long story short: pretty much as I thought. However lets write my learnings for future reference.
So I start my dosbox debugger with DOS32A  in verbose mode (```SET DOS32A=/VERBOSE:1" in dosbox.conf).

The base addresses and segment selectors can be synced with Ghidra:

I added support to the loader to mark fixups with labels & comments, so it's easier to find them:

In the loader options, you can also choose to not apply certain fixups. Here is one of those JMPF unfixed and its all its glory:

And here the fixup record for it saying the target is object #4 + offset 0x4:

Comapred with dosbox, that seems quite accurate (given the real segment selector is 828 for object #4 and base address has changed as well):

The disassembler however seems to mishandle to 66h prefixed JMPF, reading two bytes too much (https://onlinedisassembler.com/odaweb/PkiI8CBw/0).
The actual operand order of the JMPF is "ea" <16-bit offset> <16-bit selector>, so "ea 04 00 28 08" looks quite right.
I tried overwriting the operand for those 1616 pointer fixups, and it seems to work quite well so far:

Unless there are more issues in RGFX.exe, I will probably close the ticket soon.

@enderdrag64 I overwrite those JMPF with calculated jumps and it looks quite decent. Hope that  helps


cclient: Basic authentication for API calls in the form of username:password

@oopsmonk
It would be nice to have the opportunity to enable basic authentication as provided by IRIs --remote-auth config flag.
EDIT: In fact this would be unsecure without https://github.com/iotaledger/entangled/issues/907 or https://github.com/iotaledger/entangled/issues/724
Cheers
Markus

Since Trinity now offers this feature and it would be mandatory to use powsrv.io, let me please elevate this issue again.


Laravel 5.8 support to composer.json

That was fast! Thank you! I will tag a new release in the next minutes.


Also check for outdated plugins

While adding issue #41 it came to my mind, that it would be also useful to
check for outdated and insecure versions of common plugins. I regularly have
to deal with computers, where outdated versions of Flash or Java are
installed.

Checking this would need quite a lot of additional code and I know, this
might be out of scope of this project. Nevertheless it would be an nice
option.

Original issue reported on code.google.com by<EMAIL_ADDRESS>on 11 Jun 2009 at 8:10

This is not in the scope of this projects. Nowadays the browser itself takes care of that.


Choices not updating

Hi,
Dynamic update list don´t updating choices list in view.
Example:
Page Load -> Choices -> Option 1, Option 2
User click in button _> Choices update to -> Option 1, Option 2, Option 3
When user click n button list don´t update to 3 itens.

Hi,
As described in the issue template we would like to have a full description with plunker and version.
In the case we can have a look at the issue and reproduce the issue much quicker.
Please update your issue as requested in the issue template.

The issues forum is NOT for support requests. It is for bugs and feature requests only.
Please read https://github.com/angular-ui/ui-select/blob/master/CONTRIBUTING.md and search
existing issues (both open and closed) prior to opening any new issue and ensure you follow the instructions therein.
Bug description:
Link to minimally-working plunker that reproduces the issue:
Version of Angular, UI-Select, and Bootstrap/Select2/Selectize CSS
Angular:
UI-Select:
Bootstrap/Select2/Selectize CSS (if applicable):

Thanks :smile:


Evaluate view changed

Task:
Current behavior:
In the evaluation table, we make each row as tall as the tallest output. To condense long inputs into this shorter space, we show the beginning of the input log, along with a button to expand it.
Changes:
Instead of showing the beginning of long inputs by default, we should show the end of them. The last message in an input is more likely to be different and relevant to the final output than the first one, which is often a system message.
We should continue collapsing and expanding inputs, but we should cap the max height to some reasonable amount, perhaps max(600px, height_of_tallest_output). If an input is taller than our max height, it should be scrollable.
Inputs that are not expanded should not be scrollable.
Previous UI:

Current UI:

Let's remove the "ID: " line entirely, haven't had to use it for much in practice and uses a lot of space with these changes. We can bring back permalinks to rows sometime later.

Let's remove the "ID: " line entirely, haven't had to use it for much in practice and uses a lot of space with these changes. We can bring back permalinks to rows sometime later.

Changed:


json-from-wast: differences to wabt's wast2json

I just saw the new json-from-wast command. It is great to see a wast2json-like tool as part of wasm-tools, especially since it supports many more proposed features than wabt.
However, I've noticed that json-from-wast outputs slightly different JSON than wabt. In particular:

wabt writes the module names in their $-prefixed form, while json-from-wast drops the $ from the module names.
wabt writes all numeric values in their unsigned representation (even if the corresponding type itself is signed like i32 and i64), while json-from-wast writes negative numbers as they are, with a minus sign.

Another difference is how the filenames for the associated modules are derived: wabt derives these names from the given output filename. IMHO, this has the advantage that both the JSON file and the associated module files share the same base name.
As noted in the commit, json-from-wast also doesn't write the expected return types for commands like assert_trap. Are there any plans to add this feature in the future?
I also experimented with my own wast2json implementation in the past. My approach was to parse and analyze the associated modules after encoding and store their exported function and global types so that they could be queried when needed.

Hello and thanks for the report! Yeah I noticed these differences as well when writing it, and while they could be fixed it felt a bit odd given the implementation in this repository to go out of our way to represent that. Are these differences causing issues for consumption?
If you'd like I think it'd be reasonable to change the output in most of the cases here. I had my own reasons for not matching wabt exactly in some of these cases (mostly that it required "going out of the way" to exactly match as opposed to do what this repository does natively), but other cases (like the filename bits) I just didn't realized. I think it'd be totally fine to have a PR to update things, if you're willing.

also doesn't write the expected return types for commands like assert_trap. Are there any plans to add this feature in the future?

That could be added, we've in theory got all the tooling to support this. It would be a pretty big lift though because we'd have to (a) maintain a mapping of named modules to know which module is being referred to with assert_{trap,invoke} and (b) we'd have to parse and validate the module to determine the type signature. I was hoping that the expected bits wouldn't really be that necessary to avoid needing this work, but if you'd like to send a PR I think that's reasonable as well.

If you'd like I think it'd be reasonable to change the output in most of the cases here. I had my own reasons for not matching wabt exactly in some of these cases (mostly that it required "going out of the way" to exactly match as opposed to do what this repository does natively), but other cases (like the filename bits) I just didn't realized. I think it'd be totally fine to have a PR to update things, if you're willing.

Ok, I see. How about adding a flag to switch between the current wasm-tools-native output and a wabt-compliant output? If that's ok, I will prepare a PR for it.

also doesn't write the expected return types for commands like assert_trap. Are there any plans to add this feature in the future?

That could be added, we've in theory got all the tooling to support this. It would be a pretty big lift though because we'd have to (a) maintain a mapping of named modules to know which module is being referred to with assert_{trap,invoke} and (b) we'd have to parse and validate the module to determine the type signature. I was hoping that the expected bits wouldn't really be that necessary to avoid needing this work, but if you'd like to send a PR I think that's reasonable as well.

Yes, I know this is not trivial. I already have some code to manage these mappings, at least for the core commands (the thread command adds its own complexity to this issue). I'll see if I can adapt that code and then open a PR.

Heh I actually originally implemented a flag, but I decided against it since I don't think there's much benefit in having two modes. If you're interseted to change the output to match wabt exactly I think it'd be reasonable to just change the output and avoid a flag for it.
Out of curiosity, what's the use case for expected in situations like assert_trap?


ARROW-5639: [Java] Remove floating point computation from BaseVariableWidthVector#getOffsetBufferValueCapacity

Method BaseVariableWidthVector#getOffsetBufferValueCapacity uses floating point computation to calculate the capacity, which is not necessary.
(int) ((offsetBuffer.capacity() * 1.0) / OFFSET_WIDTH);
It is interesting to note that JIT cannot optimize away the floating point computations:
So this has performance penalty:
Before:
VariableWidthVectorBenchmarks.getValueCapacity avgt 5 6.570 ± 0.004 ns/op
After:
VariableWidthVectorBenchmarks.getValueCapacity avgt 5 5.787 ± 0.575 ns/op

Codecov Report

Merging #4602 into master will increase coverage by 0.9%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master    #4602      +/-   ##
==========================================
+ Coverage   88.58%   89.48%    +0.9%
==========================================
  Files         860      651     -209
  Lines      108214    92152   -16062
  Branches     1253        0    -1253
==========================================
- Hits        95862    82463   -13399
+ Misses      12073     9689    -2384
+ Partials      279        0     -279

Impacted Files
Coverage Δ

r/src/recordbatch.cpp

r/R/Table.R

go/arrow/math/uint64_amd64.go

r/src/symbols.cpp

r/R/Column.R

go/arrow/ipc/file_reader.go

r/src/arrow_types.h

js/src/enum.ts

r/src/array_from_vector.cpp

go/arrow/array/builder.go

... and 199 more

Continue to review full report at Codecov.

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

@ursabot build

@liyafan82 thank you for the cleanup.  It looks like there are a few other places that might benefit as well:
java//vector/src/main/java/org/apache/arrow/vector/BaseFixedWidthVector.java:    return (int) ((valueBuffer.capacity() * 1.0) / typeWidth);
java//vector/src/main/java/org/apache/arrow/vector/BaseVariableWidthVector.java:    return (int) ((offsetBuffer.capacity() * 1.0) / OFFSET_WIDTH);
java//vector/src/main/java/org/apache/arrow/vector/complex/BaseRepeatedValueVector.java:    return (int) ((offsetBuffer.capacity() * 1.0) / OFFSET_WIDTH);
java//vector/target/classes/codegen/templates/UnionVector.java:      return (int) ((typeBuffer.capacity() * 1.0) / TYPE_WIDTH);
Do you want to clean those up as part of this PR as well?

nice catch. thanks for fixing this !

Method BaseVariableWidthVector#getOffsetBufferValueCapacity uses floating point computation to calculate the capacity, which is not necessary.
(int) ((offsetBuffer.capacity() * 1.0) / OFFSET_WIDTH);
It is interesting to note that JIT cannot optimize away the floating point computations:
So this has performance penalty:
Before:
VariableWidthVectorBenchmarks.getValueCapacity avgt 5 6.570 ± 0.004 ns/op
After:
VariableWidthVectorBenchmarks.getValueCapacity avgt 5 5.787 ± 0.575 ns/op

Sure.

@liyafan82 thank you for the cleanup. It looks like there are a few other places that might benefit as well:
java//vector/src/main/java/org/apache/arrow/vector/BaseFixedWidthVector.java: return (int) ((valueBuffer.capacity() * 1.0) / typeWidth);
java//vector/src/main/java/org/apache/arrow/vector/BaseVariableWidthVector.java: return (int) ((offsetBuffer.capacity() * 1.0) / OFFSET_WIDTH);
java//vector/src/main/java/org/apache/arrow/vector/complex/BaseRepeatedValueVector.java: return (int) ((offsetBuffer.capacity() * 1.0) / OFFSET_WIDTH);
java//vector/target/classes/codegen/templates/UnionVector.java: return (int) ((typeBuffer.capacity() * 1.0) / TYPE_WIDTH);
Do you want to clean those up as part of this PR as well?

Sure. Thank you so much for the kind reminder.

+1, LGTM.


[HOLD - should be fixed by #23125] Web - Flag as spam page always reloads when switching browser tabs

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Action Performed:

Open any chat
Hover over any message from another user
Click on the flag icon to open flag as spam RHN
Open any other browser tab
Return to the previous tab again
Notice it always reloads

Expected Result:
Flag as spam RHN should not reload every time the tab is switched
Actual Result:
Flag as spam RHN always reloads when tab is switched
Workaround:
Unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[ ] Android / native
[ ] Android / Chrome
[ ] iOS / native
[ ] iOS / Safari
[x] MacOS / Chrome / Safari
[ ] MacOS / Desktop

Version Number: 1.3.47-3
Reproducible in staging?: y
Reproducible in production?: y
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
https://github.com/Expensify/App/assets/93399543/74a571cd-ca6b-4acc-beb1-d0e0946c2fad
https://github.com/Expensify/App/assets/93399543/36c0770f-2761-406d-b283-1fa583d57533
Expensify/Expensify Issue URL:
Issue reported by: @huzaifa-99
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1690560646136359
View all open jobs on GitHub

Thanks for the heads up, @dukenv0307! I'll demote this to Weekly and keep an eye on the fix.

Looks like we're still waiting on https://github.com/Expensify/App/issues/23125 to be resolved.

Awesome. Thanks for checking!


Weird OSX Error.

Researching it myself it seemed like an authorization error that was resolved when I investigated it myself I discovered that the LaunchAgents actually didn't even exist. I'm going to try removing it and installing it with homebrew instead of the Keybase.app available on the website.
my log id: b712307aaa679024ddabfa1c

It's actually failing to save the primary LaunchAgent /Users/jaylooney/Library/LaunchAgents/homebrew.mxcl.keybase.plist I think

Yep, this is what happens when I try to run keybase install
▶ INFO Saving /Users/jaylooney/Library/LaunchAgents/keybase.updater.plist
▶ ERROR Error installing updater service: open /Users/jaylooney/Library/LaunchAgents/keybase.updater.plist.43UTLZBHOHZNU4U43JGXQ74KZQF2DM2M: permission denied
▶ INFO Saving /Users/jaylooney/Library/LaunchAgents/keybase.service.plist
▶ ERROR Error installing Keybase service: open /Users/jaylooney/Library/LaunchAgents/keybase.service.plist.336MHWOPOFNQXRIOHOUHZVTIKBMECPYN: permission denied
▶ INFO Saving /Users/jaylooney/Library/LaunchAgents/keybase.kbfs.plist
▶ ERROR Error installing KBFS: open /Users/jaylooney/Library/LaunchAgents/keybase.kbfs.plist.QO4CB5GPR4CKHXCMJHKTJPQ5SFWYAGSU: permission denied
Install Updater: open /Users/jaylooney/Library/LaunchAgents/keybase.updater.plist.43UTLZBHOHZNU4U43JGXQ74KZQF2DM2M: permission denied
Install Service: open /Users/jaylooney/Library/LaunchAgents/keybase.service.plist.336MHWOPOFNQXRIOHOUHZVTIKBMECPYN: permission denied
Install KBFS: open /Users/jaylooney/Library/LaunchAgents/keybase.kbfs.plist.QO4CB5GPR4CKHXCMJHKTJPQ5SFWYAGSU: permission denied

I just went back to look at it again and discovered this
ls -l ~/Library/ | grep LaunchAgents
drwxr-xr-x    4 root       staff   136 Apr  6 09:42 LaunchAgents

Noticing that I ran sudo chown -R jaylooney ~/Library/LaunchAgents/
And then keybase install worked correctly, with this output.
▶ INFO Saving /Users/jaylooney/Library/LaunchAgents/keybase.updater.plist
▶ INFO Starting keybase.updater
▶ INFO Saving /Users/jaylooney/Library/LaunchAgents/keybase.service.plist
▶ INFO Starting keybase.service
▶ INFO Saving /Users/jaylooney/Library/LaunchAgents/keybase.kbfs.plist
▶ INFO Starting keybase.kbfs
Install Updater: OK
Install Service: OK
Install KBFS: OK

It seems like an artifact of LastPass adjusting the directory ownership...
But it's working now, hopefully this helps someone else out.


Reimplement explicit multipass for clang 13+

This PR

adds new infrastructure to syclcc to handle conflicting backends, and adds backend flavors that can be pass to --hipsycl-targets such as cuda.explicit-multipass
adds infrastructure to support split compilation scenarios where the host compiler is not clang (in this case unnamed kernel lambdas are unsupported).

Clang plugin detects if -D__HIPSYCL_SPLIT_COMPILER__ is defined and if so, mangles in the traditional way using kernel name tag/kernel body, and emits an error if unnamed kernel lambdas are used. This definition is automatically attached by syclcc if the host compiler does not match clang.

Changes name mangling on clang 13+ (unless __HIPSYCL_SPLIT_COMPILER__ is used) to rely on __builtin_get_device_side_mangled_name(). This builtin can only operate on CUDA/HIP __global__ functions, so we use a dummy kernel that we use as template to generate kernel names to base our actual names on. In this mode, all kernel names are completely demangleable as __hipsycl_kernel<KernelNameTag or KernelBodyT>. Additionally, this builtin requires that we are in -x cuda or -x hip in the host pass. syclcc enforces that this is at least the case using --cuda-host-only.
This builtin is used to support explicit multipass on clang 13+
refactors the different mangling modes in the clang plugin

TODO: More testing required for different clang versions and modes of operations, since the implementation special cases different clang versions.

@hipSYCL-ci-bot test

PR now also adds support to compile the unit tests for all backends to one binary, and then select at runtime which backend to test using HIPSYCL_VISIBILITY_MASK. This in particular also allows to run the unit tests in an explicit multipass scenario, where the host pass might be mainly powered by a different backend compared to the device pass.

Ok, I believe this can go in now.


gcloud openssl issue on ubuntu runner

our CI workflow  stopped working and we get the following error after using 'gcloud auth docker-configure'
ERROR: gcloud failed to load: /tmp/_MEIYv9Scj/libssl.so.1.1: version OPENSSL_1_1_1 not found (required by /usr/lib/python3.6/lib-dynload/_ssl.cpython-36m-x86_64-linux-gnu.so)
we use Ubuntu-18.04 runner. 20200614.1
i've investigated and seems like when using latest version of gcloud (through setup-gcloud action) which is 298.0.0 we get this failure, while when switching back to previous version 297.0.1 we are OK again.
i've noticed this comment on the release note of 298:
"Changed the bq and gcloud command-line tools to prefer Python 3 for component-based Cloud SDK installs on Unix. See gcloud topic startup for information on configuring the Python interpreter used by the Cloud SDK."

i know this runner includes both python2 and python3, while the default is python2.
also openssl 1.1.1 looks installed. i'm not sure why it tries to reach to /tmp/_MEIYv9Scj/libssl.so.1.1.
i've added 2 envs on the workflow:
CLOUDSDK_PYTHON: python3
LD_LIBRARY_PATH: "/usr/local/lib"

and latest version started working again.
so my question is, i'm not sure who should 'fix' the problem,
the gcloud-sdk works locally.
sorry if its not the right location, wasnt sure where exactly to open this issue.
thanks

Hello, @lechen26
Could you please provide a minimal step to reproduce, becase I can't reproduce the issue from my side with the test pipeline:
jobs:
  build:
    runs-on: 'ubuntu-latest'

    steps:
      - uses: actions/checkout@v2
      - uses: GoogleCloudPlatform/github-actions/setup-gcloud@master
        with:
          version: '298.0.0'
      - run: gcloud info
      - name: gcloud
        run: |
         gcloud auth configure-docker && docker pull ubuntu

@lechen26, Any updates?

Feel free to open the thread if you have any concerns.

same problem here

@jimmy-vo, Could you please provide steps to reproduce the issue?

Here is the code, but there are my GitHub secret variables in there. You may replace them with yours. docker-compose -f docker-compose.yml build just builds an angular application
name: Build and Deploy to Cloudrun

on:
  push:
    branches:
      - master

env:
  MAX_INSTANCE_NGINX: 5
  SERVICE_NGINX_ML: ml
  SERVICE_NGINX_TECH: tech
  SERVICE_NGINX_DEV: dev
  SERVICE_BACKEND: backend
  IMAGE_NGINX_ML: gcr.io/${{ secrets.GCP_PROJECT }}/ml:${{ github.sha }}
  IMAGE_NGINX_TECH: gcr.io/${{ secrets.GCP_PROJECT }}/tech:${{ github.sha }}
  IMAGE_NGINX_DEV: gcr.io/${{ secrets.GCP_PROJECT }}/dev:${{ github.sha }}
  IMAGE_BACKEND: gcr.io/${{ secrets.GCP_PROJECT }}/backend:${{ github.sha }}
  GKE_ZONE: us-central1
  GCP_PROJECT: ${{ secrets.GCP_PROJECT }}
  GCP_ACCOUNT: ${{ secrets.GCP_ACCOUNT }}
  GITHUB_SHA: ${{ github.sha }}

jobs:
  setup-build-publish-deploy:
    name: Setup, Build, Publish, and Deploy
    runs-on: ubuntu-latest
    steps:
    - name: Checkout
      uses: actions/checkout@v2

    # Setup Service account: Cloud Run Admin, Cloud Build Editor, Service Account User, Editor, Cloud Run Service Agent
    # to get key: cat *.json  | base64
    - name: Setup Gcloud
      uses: GoogleCloudPlatform/github-actions/setup-gcloud@master
      with:
        version: 'latest'
        project_id: ${{ secrets.GCP_PROJECT }}
        service_account_key: ${{ secrets.GCP_KEY }}
        export_default_credentials: true
      env:
        CLOUDSDK_PYTHON: python3

    - name: Connect Gcloud
      run: |
        gcloud auth configure-docker
    - name: Build
      run: |
        docker-compose -f docker-compose.yml build

    - name: Deploy
      run: |
        if [[ "$(docker images -q $IMAGE_NGINX_TECH 2> /dev/null)" != "" ]]; then
          docker push $IMAGE_NGINX_TECH
          gcloud run deploy $SERVICE_NGINX_TECH \
            --image $IMAGE_NGINX_TECH \
            --region $GKE_ZONE \
            --port 80 \
            --platform managed \
            --allow-unauthenticated \
            --service-account $GCP_ACCOUNT \
            --max-instances $MAX_INSTANCE_NGINX
        else
          echo "IMAGE_NGINX_TECH not found"
        fi


Bundle install not working fine in main branch

Running bin/configure, bin/setup or even bundle install after cloning the project giving this error:
An error occurred while installing charlock_holmes (0.7.7), and Bundler cannot continue.
In Gemfile:
bullet_train-api was resolved to 1.4.1, which depends on
bullet_train was resolved to 1.4.1, which depends on
extended_email_reply_parser was resolved to 0.5.1, which depends on
charlock_holmes

Possibly related to #854

Possibly related to #854

Yes, doing bundle pristine charlock_holmes resolved it.

@hassanharoon86 Awesome, thanks for confirming.


fix: stop prepending "/public" to asset paths

This prevents [vite] files in the public directory are served at the root path. warnings when assets are stored in the ./public directory.

This is intention for this.If you want import file from public, you should use /a.png instead of /public/a.png

Yeah, that's what I'm doing, but the following call is rewriting /a.png to /public/a.png...
https://github.com/vitejs/vite/blob/1e375a4ffb4bb899f9f7fe5a5e88a27ff6646725/src/node/server/serverPluginModuleRewrite.ts#L269
...which results in the warning I mentioned.

Hmm.. I probably changed the wrong line, since defaultRequestToFile is meant to convert /a.png to /public/a.png if such a file path exists. But I still contend that the serverPluginModuleRewrite plugin is incorrectly rewriting /a.png to /public/a.png when it should really leave it as-is.

You need change defaultFileToRequest, it should ignore public.

Way ahead of you #681 ;D


New Sample: Tenant Health and Announcements in Copilot

Q
A

Bug fix?
no

New feature?
no

New sample?
yes

Related issues?
N/A

What's in this Pull Request?

All the code, setup and docs - some of the setup was manual at this point most likely looking to improve the sample over time. Especially if MS change Copilot significantly.

Please let me know if you need anything more - totally happy with suggestions, improvements, anything really, all feedback is good learning.  I may improve the screenshot for the output with a Gif to show the output in action.

Converting to draft as I am making changes to the sample to improve upon it.

Added new feature to follow a health issue (or at least call an Az Function to register to follow an issue) - process not added thereon to action the follow but does demonstrate the "act" part of the message extension within Copilot]
Added Video/Gif of the Copilot example to show operation
Tweaks setup docs accordingly.

Ready for submission now.

Nice one -- thanks!


WYSIWYG editor

There are different options for this:

wysiwg-e - there are some problems relating to images (more details in PR #53 ). If there's just text, everything is fine.
polymer-tinymce - tried to integrate it; doesn't work or I'm doing something wrong.
quill - I will try to integrate it.
... ?

For the moment I gave up on the idea of making an element that wraps ace-editor and a wysiwyg editor; instead I just replaced the ace-editor wrapper with the tinymce wrapper that @alshakero used in another project (thanks again!).

Are we going to use TinyMCE or WYSIWYG-e? Please close the other PR to avoid confusion

If there is still room for an opinion I strongly advise against WYSIWYG-e; it destroys the performance.

Closed both PR. Please don't delete the branches yet.
Will go TinyMCE but, again, it would great if someone would try to reproduce #issuecomment-309714438 .

@habib535 Could you please help me with the above test (previous comment).
Shouldn't take more than 5 minutes.
I guess you could use git checkout 2e4801567ab4fa1f4cc5fb6d51f2e8d101e92a27 .

I tried running the above test with tinymce branch and it worked for me without any errors!

^ Thanks!

Closing as done.


Allow dot format choice

Built on top of https://github.com/blaze/dask/pull/671.

This generally looks quite good to me

Err... only the 3.4 build failed with
dask/array/tests/test_linalg.py::test_svd_compressed /home/travis/build.sh: line 41:  2866 Segmentation fault      (core dumped) py.test dask --verbose
Pretty sure this is unrelated to my change.  Intermittent failure?

Hrm, yes, unrelated.  I thought that I had resolved this issue in https://github.com/blaze/dask/pull/652 . It seems not.

There are some other intermittent failures lying about due to dask.distributed which will probably be evicted in the next few months.  My apologies for the dust.

Seems to have righted itself on the second attempt.

Grand.  Merging.

Very nice, thanks!


RVuln cannot be properly installed on Parrot OS

An alternative option is just download the binary which is easier


Add new flavor Presto

Per #98, add flavor for Presto.

Coverage: 96.581% (+0.02%) from 96.562% when pulling cf15575f2641de63ff2e0cf19af25d3393b858e1 on feature-presto into 71a85126ce674e6377236c1c19c02b950d8a60b0 on master.


operator code generation

This fixes code generation for me and adds a CI test for it.

I've fixed the script permissions.


New package: KhepriIllustrator v0.1.1

Registering package: KhepriIllustrator
Repository: https://github.com/aptmcl/KhepriIllustrator.jl
Created by: @aptmcl
Version: v0.1.1
Commit: b939772850e85240b6d31ae5228b11b406a43820
Reviewed by: @aptmcl
Reference: https://github.com/aptmcl/KhepriIllustrator.jl/commit/b939772850e85240b6d31ae5228b11b406a43820#commitcomment-149775123

[noblock]


How to get screenshot/image of bot's first person view in python?

I have been able to set it up in python to see the bots first person view live on a local webpage, but I need to get a screenshot/image of the view in order to send it through a discord bot in an embed.

i need to figure out this too. Did you find a way?

Checkout https://github.com/PrismarineJS/mineflayer/blob/master/examples/screenshot-with-node-canvas-webgl/screenshot.js

i need to figure out this too. Did you find a way?

Nope, have not found a way in python yet.

Checkout https://github.com/PrismarineJS/mineflayer/blob/master/examples/screenshot-with-node-canvas-webgl/screenshot.js

Found this earlier, just not really sure how to do the same thing in python, not really familiar with js


Json lottie get err

Description
I have a json for lottie, when i run in online lottie page (Lottiefiles) it is ok
but i run in my rn project, The body of the car is separated from the wheels
Steps to Reproduce
 <Lottie
                ref={animationRef}
                style={styles.lottieWrap}
                source={require('@/assets/lottie/car_in_lottie.json')}
                loop={false} />

Expected behavior:  It behaves the same as the web page.
Actual behavior: The body of the car is separated from the wheels
Minimal reproduction

React Native Environment
"react": "18.2.0",
"react-native": "0.72.4",
Lottie Version
"lottie-ios": "4.3.3",
"lottie-react-native": "6.4.1",

Hi @JsirForGit. Please provide a reproducible.

Without the images, all i can see are a couple of lines. This animation is making heavy use of image assets. Please provide a reproducible with those assets included so i can do further investigation


README and a small fix

Added to README.
Fixed a mistake in formatIntegerObjectiveValue -- the value does not have to be an integer.

Yes; it should have been part of Fix 03.

Besides making the fix, I was curious how the notifications worked in GitHub. I could get used to this, but it does seem like the kind of thing that you have to use regularly or you'll forget all the steps needed.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fsrcostenoble%2Fsimplex%2Fpull%2F1%23issuecomment-337585447&data=02|01|Steven.R.Costenoble%40hofstra.edu|9e235f2b70d040a70a5708d51629ccee|e32fc43d7c6246d9b49fcd53ba8d9424|0|0|636439291149820943&sdata=CUTatTI1w01fP2pg1C6BxvJ4GHULYCygLg%2F3%2BA2NKTE%3D&reserved=0, or mute the threadhttps://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAfJXaByzuWrjVkVeTYVE-5VPYMFbFd8vks5stfkYgaJpZM4P9Fke&data=02|01|Steven.R.Costenoble%40hofstra.edu|9e235f2b70d040a70a5708d51629ccee|e32fc43d7c6246d9b49fcd53ba8d9424|0|0|636439291149820943&sdata=B7Yu4TnQZOT43p5%2FdzQkq4JFiGMs0s2TOEBDAtmJ5Cc%3D&reserved=0.


[FORMS] Rendering a FileField with submitted data triggers notice

If you render a FileField after submitting the form an array to string notice is triggered because the Value of the FileField is an array.

Doesn't look like this affects SS4. I validated it by creating a form with a required field and a FileField. When I submit a file without the required field, the validation kick in and reload the form with a validation message. I don't get a notice on the FileUpload field.
Unfortunately, Silverstripe CMS 3 has entered limited support in June 2018. This means we'll only be fixing critical bugs and security issues for Silverstripe CMS 3 going forward.
You can read the Silverstripe CMS Roadmap for more information on our support commitments.
If someone has an example where Silverstripe 4 is affected by this, please leave some additional replication steps and we can reopen.


Revert "New package: GCTAccess v0.1.0"

Reverts JuliaRegistries/General#48281
Similar to https://github.com/JuliaRegistries/General/pull/48517
The entire content of this package is
function read(pa::String; na::String = "Name")::DataFrame

    return rename(
        select(
            DataFrame(File(pa; header = 3, delim = '\t')),
            Not("Description"),
        ),
        "Name" => na,
    )

end

cc: @KristofferC @StefanKarpinski @DilumAluthge

This has been registered since 2021, might be too late. I'll just leave this for a day for others to chime in and cross reference the left pad issue.
xref: https://github.com/JuliaRegistries/General/issues/19033


Remove debian-12 arm secure boot exception

/hold waiting for https://github.com/GoogleCloudPlatform/compute-image-tools/pull/2226

/lgtm

/unhold


Update docs link

Horizon was returning a broken link in one of its error handlers, this updates it to the correct link

This repo is deprecated. Please move the PR to https://github.com/stellar/go.


change language server from Jedi when creating native notebooks

For #12928

[x] Pull request represents a single change (i.e. not fixing disparate/unrelated things in a single PR).
[x] Title summarizes what is changing.
[ ] Has a news entry file (remember to thank yourself!).
[ ] Appropriate comments and documentation strings in the code.
[ ] Has sufficient logging.
[ ] Has telemetry for enhancements.
[ ] Unit tests & system/integration tests are added/updated.
[ ] Test plan is updated as appropriate.
[ ] package-lock.json has been regenerated by running npm install (if dependencies have changed).
[ ] The wiki is updated with any design decisions/details.

Codecov Report

Merging #13294 into master will decrease coverage by 0.02%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master   #13294      +/-   ##
==========================================
- Coverage   59.73%   59.71%   -0.03%
==========================================
  Files         670      670
  Lines       37288    37288
  Branches     5291     5291
==========================================
- Hits        22275    22266       -9
- Misses      13879    13885       +6
- Partials     1134     1137       +3

Impacted Files
Coverage Δ

src/client/common/utils/platform.ts
64.70% <0.00%> (-11.77%)
:arrow_down:

src/client/datascience/crossProcessLock.ts
79.41% <0.00%> (-11.77%)
:arrow_down:

src/client/linters/pydocstyle.ts
86.66% <0.00%> (-2.23%)
:arrow_down:

src/client/datascience/debugLocationTracker.ts
76.56% <0.00%> (-1.57%)
:arrow_down:

src/client/common/process/proc.ts
14.49% <0.00%> (-0.73%)
:arrow_down:

src/client/datascience/jupyter/jupyterNotebook.ts
4.23% <0.00%> (ø)

Continue to review full report at Codecov.

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

@DonJayamanne can you look again? I believe this is what we want (not the disable jedi on our side, but rather ask jupyter to disable).


BigDecimal.new deprecated in v1.3.3 which ruby 2.5 uses

it's bundled with Ruby 2.5.0.rc1, see https://github.com/ruby/bigdecimal/pull/125

@miq-bot add_label dependencies
@miq-bot assign @bdunne
🤷♀

What is the deprecation warning?

Fiiiine, it'll only warn on 2.6.
It's two years old, that change.
BigDecimal.new is deprecated; use BigDecimal() method instead.