[RFC][WIP] Tensor Expression level automatic differentiation

I'm working on automatic differentiation at the level of compute expressions, and I would like to share some progress and hear any comments.  Currently the automatic differentiation works well enough for some operations, so that it is possible to train a simple model, here is a tutorial on how to do this. Yet, for many operations the performance is unacceptable, but I'm working on it.
My implementation mostly follows this paper. In this notebook I describe how my implementation works internally and give a list of operations which are known to work or not to work. Basically, the AD consists of two parts:

The automatic differentiation itself which simply differentiates expressions according to the well-known rules and produces inefficient expressions. The code is here.
A set of transformations to optimize the resulting inefficient expressions. The code is here.

All transformations work on the level of compute expressions (before scheduling). Their general goal is to eliminate summation over zeros by moving up conditional expressions of the form cond ? val : 0 and then using them to simplify iteration domains of reductions. Hopefully, these transformations may be useful for some other tasks besides AD when they are powerful enough. Currently the main problem is that they don't understand modular arithmetic (which is needed for differentiating dilated and strided convolutions and for the flattening operation).
The git branch
The squashed commit
The tutorial on training a simple model
The notebook describing some internals

@MarisaKirisame after PLDI could you provide more feedback.

@jroesch yeah

@tqchen A couple of months ago I tried to integrate this autodiff into NNVM, the attempt (now abandoned) is still preserved in some old commits:
https://github.com/sgrechanik-h/tvm/blob/109d2f785d3e73e56665fbc987f6bd0dc5823d60/nnvm/src/top/tensor/gradient.cc
The idea was to add a special operation called gradient which accepted as attributes the original operation name and the original operation's attributes. This operation's compute function consisted in automatically differentiating the original operation's compute. But I suppose there must be a better approach.
Being able to easily define new high-level ops just from tensor expressions sounds like a good idea. I definitely missed something like this in NNVM.
Also I think it would be nice to be able to override operations' attributes, like gradients, from python code. At least, this would be great for comparing automatic gradients with manually written gradients.

FYI, we are moving toward NNVMv2(relay) and this is a good time to think about related questions as scaffolding are being done

On the other hand, this would become practical if we could have a proposal on how to write quick expression op, that can be integrated together with other high-level IR and its AD system, this would enable a powerful to write custom operators and automatically generate gradient for it

Indeed, I think that higher level IRs will always be able to decide which method to use. As far as Relay uses TVM under the hood, it should be in good position to make a choice: either substitute operations during building the backward path  (e.g. Winograd -> matmul), switch to hand-written gradients or use a semantically-correct default implementation which is provided by the current approach.

@junrushao1994  @were I suggest we continue discussion related to training here.

So how could we do manual (or automatic) scheduling on a automatically generated backprop?
We plan to support the following steps regarding scheduling:

Provide some automatic scheduling out of the box
Provide API for manual scheduling of gradients. We could allow programmers to access gradient nodes by their source nodes.
Provide API to override node's automatic gradient with manually-defined gradient if it is required.

As far as I imagine, the API will look like:
diff = tvm.diff([op1, op2, op3])
sch = tvm.create_schedule(diff.op)

I've updated our automatic differentiation branch. Now the result of differentiating flatten is acceptable, and operations like max pool work better as well. We have also improved the API, the simple use-case look pretty much the same up to function renaming:
[dw1, dw2, dw3] = tvm.differentiate(loss, [w1, w2, w3])

(The function differentiate is defined here, and here is a small tutorial).
However, now it is possible to get individual adjoints from the result:
x = tvm.placeholder((32, 3, 28, 28), name='x')
w1 = tvm.placeholder((10, 3, 3, 3), name='w1')
t1 = topi.nn.conv2d(x, w1, 1, 0, 1)
t2 = topi.nn.flatten(t1)
t3 = topi.sum(t2)

res = tvm.differentiate(t3)
res.adjoints[t1]

(It may be useful for manually scheduling intermediate tensors).
And it is also possible to override Jacobian computation for some tensors:
def mydiff(out, inp, head):
    return tvm.compute(inp.shape, lambda ax0, ax1, ax2, ax3: head[ax0, ax3 + ax2*26 + ax1*676])

res = tvm.differentiate(t3, [x, w1], manual={(t2, t1): mydiff})

(Which may be useful when autodiff does poor job).

@sgrechanik-h Thanks for the hard work on proposing and bringing in the implementation, this seems to be a place where everyone is interested in.
I have no doubt on the possibility to make a correct and efficient tensor expression auto diff. The key issue we need to address first is how can we make a clear set of APIs and namespaces so that:

We have a clear separation between relay's grad and the current tensor expression one
Have a clear indication for frontend user to use relay's grad, while use tensor expression one for the operator impl
Have a consistent API so a user does not get confused when using one or another.
For now, I think we want to advertise relay's grad as the primary one we aim to support for the end to end training, and name the files clearly(e.g. tvm/autodiff-> tvm/expr_grad.h) to make that distinction).

These discussions and decision are important because they will affect how users will use the API, as per https://docs.tvm.ai/contribute/code_review.html#deliberate-on-api-and-data-structures
I suggest we discuss them, reach consensus before we move on
cc @merrymercy @jroesch @yzhliu @junrushao1994 @ZihengJiang @grwlf @dmlc/tvm-committer

@sgrechanik-h would be great if you can edit the first post and list the choices  or options clearly so that everyone can discuss in a coordinated way, see https://github.com/dmlc/tvm/issues/2535

Here are the things to discuss I came up with.
Naming
Concerning names, here is a list of things in the tensor expression AD that we might want to rename:

C++ files include/tvm/autodiff.h and src/pass/autodiff.cc, and a python module tvm.autodiff.  autodiff is the most important thing to rename. I'd suggest something like tensordiff, tensor_expr_diff, tensor_expr_ad. I think using just expr without tensor may be a little bit confusing, since there are exprs in Relay too. Using grad vs diff is a matter of taste, I guess, diff seems more general though.
The main user-facing python function tvm.autodiff.differentiate, reexported as tvm.differentiate for convenience. I would suggest keeping its name as is, however we probably shouldn't reexport it, to avoid confusion.
Some more or less internal C++ functions and data structures (Differentiate, Jacobian, DiffBuildingBlock, here).  They live under tvm::ir:: in C++ and are exported into tvm.autodiff in python.  I would also suggest keeping their names, however we probably should create a separate namespace for them in C++, like tvm::autodiff.
The relay/autodiff integration file src/relay/op/autodiff_integration.cc. Its name will be changed when we rename autodiff. Not sure about the _integration part.
The relay/autodiff integration op autogenerated_gradient. Not sure, suggestions are welcome.
Functions relay._ir_pass.AutogeneratePrimalGradient and relay._ir_pass.AutogeneratePrimalGradientForAll. Not sure.

API
The main thing to discuss here is the python function tvm.autodiff.differentiate. Recently I decided that its gradient overriding mechanism is rather difficult to use, and tried to improve it.  Not sure if it's better now, however let's discuss the new version. Its signature and docstring may be found here, Here is just short description:
def differentiate(output, inputs=None, head=None, override=None, fdiff=None):
    """Perform reverse-mode automatic differentiation.

Parameters:

output : Tensor - The tensor to differentiate.
inputs : List[Tensor] - The list of input tensors. When the list is empty or None, will perform differentiation wrt all tensors the output depends on.
head : Tensor, optional - The adjoint of the output. By default full Jacobians will be computed (or simply gradients in the case of a scalar output).
override - A dict describing how to override differentiation for certain tensors (see the link).
fdiff - The function performing differentiation and multiplication of single tensors, by default tvm.autodiff.DiffBuildingBlock is used.

The returned value of the function is an instance of DifferentiationResult.  It mimics a list of gradients (corresponding to inputs) but also contains two other fields: adjoints and adjoint_summands to access intermediate adjoints.
Several issues to discuss:

The name of the head parameter. May be it'd better be called output_adjoint or output_gradient or, more precisely, gradient_wrt_output, although I tend to avoid the word "gradient" since we don't require the final output to be scalar.
The gradient overriding mechanism is still quite obscure, maybe we should remove it from this function completely (the corresponding parameters may be retained in the C++ function Differentiate).
The fdiff parameter, however, is much easier to understand, so I suggest retaining it.
Probably we should support multiple outputs, since differentiating them one by one may be less efficient.

Another important function is the C++ counterpart, tvm::ir::Differentiate This function is for developers though. Currently my only suggestion is that we might want to support multiple outputs and heads.
Relay integration API
The user mostly needs two functions: (code here):

AutogeneratePrimalGradient(op_name, plevel) - override FPrimalGradient for the given operation (with the given plevel, 100 by default)
AutogeneratePrimalGradientForAll(plevel) - override FPrimalGradient for every existing operation. The plevel here is 5 by default, so it shouldn't override gradients for operations with FPrimalGradient already defined.

The operation representing the generated gradients currently takes a single tuple as input and returns a single tuple as output (here).  The attributes of the operation are as follows:

original_op : Op - The original operation.
original_attrs : Attrs - The attributes of the original operation.
original_out_type : Type, optional - The type of the original expression.

However, I think this operation should be considered an implementation detail, and the stability of its attributes, inputs and outputs shouldn't be relied upon.

Naming:

We can use gradient or differentiation to indicate the gradient.  Given that most API(tensorflow, pytorch) use gradient. I suggest we use the name gradient.
Namespace how about,  tvm.tensor_expr.gradient?

We can consider move tvm.api -> tvm.tensor_expr

We can use gradient or differentiation to indicate the gradient.  Given that most API(tensorflow, pytorch), and relay's high level API use gradient. I suggest we use the name gradient.

Do you mean renaming autodiff.{h,cc} -> gradient.{h,cc}?

Namespace how about:  tvm.expr.gradient?

Wouldn't it make more sense to put it in tvm.tensor.gradient since it works on tensors, not only on expressions? Also placing a submodule gradient into tvm.expr (or tvm.tensor) would require creating a directory tvm/expr/ and moving the contents of tvm/expr.py into tvm/expr/__init__.py

Hello everyone. I want to tell you about the current status of tensor expression automatic differentiation. The latest version can be found here. The main improvements are as follows:

I've implemented a solver for systems of linear integer equations. This considerably improves performance of certain operations like dilated and strided convolutions.
I've redesigned the zero elimination module. Now there is a class Domain which represents an iteration domain (a set of integer tuples, usually convex), and most of the functions transform domains into other domains (returning objects of the class DomainTransformation representing two domains and variable mappings).
I've moved to the new simplifiers. This was important because the Halide simplifier assumes that division is Euclidean which leads to generation of incorrect code.

However there are several problems which are TVM-related and should be addressed before creating pull-requests:

TVM bound inference sometimes leads to such tensor bound expansion that the tensors can't fit into memory. This is a known problem (#2104), however nobody knows how to solve it, as it seems. In the linked branch I use a simple fix which however breaks the rest of tvm.
Certain parts of TVM still use Euclidean division which sometimes results in incorrect code being generated. Hopefully, this problem will be mostly fixed by @tqchen in #3368. (Although the PR is still unfinished, I use its slightly modified version in the autodiff branch).

I see fundamental problem in this PR.
Jacobian(Y, W):
tensor compute.jacobian{0x165b360}[0] : float32 [32, 3000, 3000, 10000]
axes (i : [0, 31], j : [0, 2999], jac_i0 : [0, 2999], jac_i1 : [0, 9999])
Reduction
identity [0.000000f]
lhs [x.der]  rhs [y.der]
combiner [(x.der + y.der)]
axes (k : [0, 9999])
condition (uint1)1
source[0] = (X(i, k)*float32(((jac_i0 == j) && (jac_i1 == k))))
This is a really, really big tensor, and the approach this PR take has a "cliff of death" performance chart.
This PR then rely on simplification to eliminate all those tensor. If any tensor is not eliminated(which seems to be the case for more complex tensor) the performance will be very bad.
Reverse mode automatic differentiation should only calculate vector jacobian product.
The jacobian of Y, W, should be dW times jacobian Y W. the Jacobian should simply never be manifested.
can this be fixed so the algorithm will not be algorithmically slower without optimization?

@MarisaKirisame could you elaborate "The jacobian of Y, W, should be dW times jacobian Y W" ? not sure I correctly understand the symbol you use.
I think the main challenge is to infer the bound for Jacobian's axis, under the scenario where output axes can be arbitrary linear combination of its input tensors' axes

@yzhliu let me explain it another way.
suppose we work only at the scalar level. people had proved that reverse mode only take 3x more computation. This does not need any optimization - the gradient of f will only be a (small, typicallty less then 10) constant factor times slower then the computation of f itself.
In this PR, the gradient of f might be MANY times more expensive.
This is because it is calculating the jacobian, rather then the product of a vector/matrix/tensor with that jacobian, which can be fused, so the computation can be expressed in a way simpler form.

@MarisaKirisame One approach that I know of is to differentiate by literally reversing the computation, replacing loads with stores (with += actually) and vice versa. This is usually considered a worse approach because it leads to synchronization problems, but it should be better for some ops, and I guess the worst case performance shouldn't be that horrible.

@sergei-grechanik that is what ppl do. the problem of parallel ad is shared read become shared write, but you can pull optimization tricks to turn shared write into a single write (for example, https://people.csail.mit.edu/tzumao/gradient_halide/).
I think this is a smarter approach, for when their optimization failed, they only have write sync, but when ours optimization failed, we have giant tensors.

@MarisaKirisame Yes, I think you are right. I guess implementing this approach requires extending tensor expressions with an additional construct or working on a different level.

It probably require working on the tensor ir, as the tvm compute level is pure.

@MarisaKirisame What do you think about adding a scatter-like reduction to TVM's tensor expressions? (I mean for(i : ...) A[f(i)] += g(i), i.e. the lhs is allowed to have an arbitrary index expression in the subscript). It would still be pure.

@sergei-grechanik look great! another way to do it is to add a pass that turn scatter into gather, effectively doing halide's autodiff. so, the ir is not pure, but it is after some more processing.

The te AD has been landed in the mainline


Test "test_raw_value_ref" fails

The difference is:
{'advanced_list': ['a b', 'c']} != {'advanced_list': ['a', 'b', 'c']}
The " ".join happens in:
https://github.com/AdunSG/yaml-extender/blob/7f9414847397e17d25770302371dd1c68032c149/src/yaml_extender/resolver/reference_resolver.py#L104C25-L104C25
    @patch("yaml_extender.yaml_loader.load")
    def test_raw_value_ref(loader_mock):
        # Test Lists
        content = yaml.safe_load(
            """
        my_list:
        - a
        - b
        advanced_list:
        - "{{ my_list }}"
        - c
        """
        )
        loader_mock.return_value = content
        file = XYmlFile(Path.cwd())
        expected = yaml.safe_load(
            """
        my_list:
        - a
        - b
        advanced_list:
        - a
        - b
        - c
        """
        )
>       assert file.content == expected
E       AssertionError: assert {'advanced_li...': ['a', 'b']} == {'advanced_li...': ['a', 'b']}
E         Omitting 1 identical items, use -vv to show
E         Differing items:
E         {'advanced_list': ['a b', 'c']} != {'advanced_list': ['a', 'b', 'c']}
E         Use -v to get more diff

tests/resolver_test/test_ref_resolver.py:371: AssertionError

Hi,
I fixed this issue and will provide a new version soon.

That is pretty nice!
can you create a PR so we can takeover the github actiosn config in this repo?

I will first have to deal with coverage/tox not working correctly.
Do you need/want coverage? before I had a set of actions that did the matrix test with simple github actions.
The drawback there is, that you wont be able to run the matrix locally.

i'm  performing the tests 90% of the time through PyCharm anyway ^^
For a first step coverage would not be required, as this can also be added later.


Add an optional parameter to visualise the architecture of networks with other shapes?

Currently, in https://github.com/dmlc/mxnet/blob/master/python/mxnet/visualization.py#L62, the shape of elements is "box". Personally I think other shapes like "oval" may look better, because boxes occupy too much space.   ^_^

@pluskid How to fix the problem that both the plot_network method and node_attr dict have "shape"  ?

you can merge the dict provided by user if not none. the mergedn dict will overwite existing entries.


Style Guide

We want this app to have a friendly and approachable aesthetic. Trying to run the City is a hard and heady problem. Let's not make this hard to look at too.

fonts & typography
colors
hack the budget branding ( see #9 )
icons ( see #7 & #20 )

Adding Icons to the list above. Here are the icons @graceatkins gathered

hey @mateoclarke, I'm a recently-moved-to-austin designer and would love to help on this. Do you still have a need for these items?

Hey Miles!
We would love any and all design help we can get! I gathered some icons
over the weekend, but they're pretty basic. If you're interested in
designing others or build on the ones I created I can send you the adobe
files. Let me know what I can do to be helpful!
Grace
On Mon, Jul 25, 2016 at 2:22 PM, Miles Gilbert<EMAIL_ADDRESS>wrote:

hey @mateoclarke https://github.com/mateoclarke, I'm a
recently-moved-to-austin designer and would love to help on this. Do you
still have a need for these items?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/open-austin/hack-the-budget/issues/8#issuecomment-235056675,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ATSl3X-2888z868uVadnZPxfo9vhWiAiks5qZQz1gaJpZM4JOXAS
.

Hey @brainnews will you be at the Hack Night tomorrow?
You can RSVP here: http://www.meetup.com/Open-Austin/events/232276549/
You should join us on slack also if you haven't already at slack.open-austin.org

hey @VictoriaODell – I will be there! Excited to meet the crew.
@graceatkins – I spent a little time on the bottom bar icons ( #20 ) and, if you all are into the style, then I'd go ahead and create icons in the same style for the rest of the experience. Here is a screenshot of the icons in progress (I haven't designed the "services" icon yet).

Thos are so awesome!

DOPE! can't wait to include these!

Sweet! Glad you like them. See you all tonight.


Ast.term, ErastedTerm.v: use pi-types with names instead of comments

This PR was suggested by @silene during a talk by @mattam82 today.
(I'm not sure it compiles, I haven't checked.)

I would even be in favour of
Inductive term : Type :=
| tRel (n : nat)
| tProd (na : name) (A B : term)
| tLambda (na : name) (A t : term)
| tApp (f : term) (l : list term)
(...)

I think it becomes more readable (since there is no index on the type).
I think, it is also nice to name the arguments because it suggests them to Coq when it has to come up with a name after induction of destruct, am I mistaken?

it suggests them to Coq when it has to come up with a name after induction or destruct, am I mistaken?

That is right. If there is a named binder, Coq uses its name, otherwise it deduces a name from the quantified type.

I think it is still worth doing. Now better than later

I just pushed a compile-fix for my minimal naming scheme (only the parameters for which you felt the need to write a comment), that is:
Inductive term : Set :=
| tRel       : nat -> term
| tVar       : ident -> term (* For free variables (e.g. in a goal) *)
| tMeta      : nat -> term   (* NOTE: this will go away *)
| tEvar      : nat -> list term -> term
| tSort      : universe -> term
| tCast      : term -> cast_kind -> term -> term
| tProd      : forall (_:name) (type:term) (body:term), term
| tLambda    : forall (_:name) (type:term) (body:term), term
| tLetIn     : forall (_:name) (def:term) (type:term) (body:term), term
| tApp       : term -> list term -> term
| tConst     : kername -> universe_instance -> term
| tInd       : inductive -> universe_instance -> term
| tConstruct : inductive -> nat -> universe_instance -> term
| tCase      : forall (inductive_and_nb_params:inductive*nat) (type_info:term)
                      (discriminee:term) (branches : list (nat * term)), term
| tProj      : projection -> term -> term
| tFix       : mfixpoint term -> nat -> term
| tCoFix     : mfixpoint term -> nat -> term.

I would be happy to add more names along the lines @TheoWinterhalter suggests, and fix the result naming breakage, but maybe you could do the bikeshedding on the naming first.
Here would be a proposal (I'll edit it if you suggest changes):
Inductive term : Set :=
| tRel (n : nat)
| tVar (id : ident) (* For free variables (e.g. in a goal) *)
| tMeta (meta : nat) (* NOTE: this will go away *)
| tEvar (ev : nat) (args : list term)
| tSort (s : universe)
| tCast (t : term) (kind : cast_kind) (v : term)
| tProd (na : name) (ty : term) (body : term)
| tLambda (na : name) (ty : term) (body : term)
| tLetIn (na : name) (def : term) (def_ty : term) (body : term)
| tApp (f : term) (args : list term)
| tConst (c : kername) (u : universe_instance)
| tInd (ind : inductive) (u : universe_instance)
| tConstruct (ind : inductive) (idx : nat) (u : universe_instance)
| tCase (ind_and_npar: inductive*nat) (p:term)
                      (discr:term) (branches : list (nat * term)), term
| tProj (proj : projection) (c : term)
| tFix (mfix : mfixpoint term) (idx : nat) -> term
| tCoFix (mfix : mfixpoint term) (idx : nat) -> term.

Remarks:

there is a tension between giving short names and giving clear names (npar or nb_params?). I took inspiration from the existing code for the naming choice, so I shortened a bit the names I would usually give, but maybe using long name here is actually a better choice to encourage more readable proofs?

I use (na : name) because I've seen it in existing code, but I don't find it particularly nice

I use tProd na ty body, while I have seen tProd na t b in the wild. t is used sometimes for types sometimes for term, so I would propose to use ty for types.

I've seen tCase ind p c brs in the code, do you know why p (for "type info"?) and c (for the discriminee) are used here?

same with tProj p c, why c?

Finally, have you considered splitting (ind_and_npar : inductive * nat) into two argument? I know the idea is to stay close to the OCaml representation, but this seems like a very superficial change.


Is this just old cruft?

I'm submitting a ...

[ ] bug report
[ ] feature request
[x] support request
[ ] other (Please specify)

Provide information & explanation

Is this just old cruft? 'Accept': 'application/x.laravel.v1+json'
https://github.com/jadjoubran/laravel5-angular-material-starter/blob/master/angular/services/API.service.js#L7
I see references to it in old documentation, but it seems to be removed in newer documentation and has no other reference in branch master code. Does this do anything right now or is it just left-over cruft?
Thanks in advance.

Laravel & Angular version: 3.2.0

Hi @jamesalton
Thanks for posting here!
This is called Content negotiation between the front-end and the API
It allows you to specify a specific version of the API without altering the URLs
You can also configure it to return data in other formats than json
Dingo API Documentation


fix: remove uncaughtPromiseRejection from error message

Description
TL;DR:- Remove uncaughtPromiseRejection: from the error where the issue is of a different type.
Type of change

Bug fix (non-breaking change which fixes an issue)

How Has This Been Tested?

Cypress

Test Plan

Add Testsmith test cases links that relate to this PR

Issues raised during DP testing

Link issues raised during DP testing for better visiblity and tracking (copy link from comments dropped on this PR)

Checklist:
Dev activity

[ ] My code follows the style guidelines of this project
[ ] I have performed a self-review of my own code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass locally with my changes
[ ] PR is being merged under a feature flag

QA activity:

[ ] Test plan has been approved by relevant developers
[ ] Test plan has been peer reviewed by QA
[ ] Cypress test cases have been added and approved by either SDET or manual QA
[ ] Organized project review call with relevant stakeholders after Round 1/2 of QA
[ ] Added Test Plan Approved label after reveiwing all Cypress test

/ok-to-test sha=fd65bda

/ok-to-test sha=d33b92b

/ok-to-test sha=411cc2e

/ok-to-test sha=5424ca6

LGTM, tested using framework functions where a promise is returned and error codes now indicate the correct area of error instead of UncaughtPromiseRejection.
CC: @Rishabh-Rathod

/ok-to-test sha=b324cd4

/ok-to-test sha=53e7255

/ok-to-test sha=0ff2eba


modify EncodeHeader function

Issues associated with this PR
Your PR should present related issues you want to solve.
Solutions
You should show your solutions about the issues in your PR, including the overall solutions, details and the changes. At this time, Chinese is allowed to describe these.
UT result
Unit Test is needed if the code is changed, your unit test should cover boundary cases, corner cases, and some exceptional cases. And you need to show the UT result.
Benchmark
If your code involves the processing of every request, you should give the Benchmark Result.
Code Style

Make sure Goimports has run
Show Golint result

Codecov Report

Merging #1031 into master will decrease coverage by 0.29%.
The diff coverage is 87.5%.

@@           Coverage Diff            @@
##           master   #1031     +/-   ##
========================================
- Coverage   55.09%   54.8%   -0.3%
========================================
  Files         245     249      +4
  Lines       23718   23842    +124
========================================
- Hits        13067   13066      -1
- Misses       9457    9578    +121
- Partials     1194    1198      +4

Impacted Files
Coverage Δ

pkg/protocol/http2/types.go
7.95% <87.5%> (ø)

pkg/stream/stream.go
46.66% <0%> (-13.34%)
:arrow_down:

pkg/upstream/cluster/cluster_manager.go
61.27% <0%> (-0.31%)
:arrow_down:

pkg/module/http2/transport.go
78.62% <0%> (-0.29%)
:arrow_down:

pkg/module/http2/server.go
81.63% <0%> (-0.15%)
:arrow_down:

pkg/mtls/tls_context_manager.go
81.33% <0%> (ø)
:arrow_up:

pkg/protocol/http2/codec.go
0% <0%> (ø)

pkg/protocol/http2/buffer.go
22.22% <0%> (ø)

pkg/protocol/http2/factory.go
0% <0%> (ø)

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 4482612...e321b61. Read the comment docs.


fix: adjusted button label padding

Description
Using top and bottom padding around label in button instead of the button itself.
To-do list

[ ] If my change impacts other components, I have tested to make sure they don't break.
[x] If my change impacts documentation, I have updated the documentation accordingly.
[x] I have read the CONTRIBUTING document.

[x] This pull request is ready to merge.

Yay for removing some hacks!


Migration to Dart 2.17.0

When can we expect migration jumio sdk to 2.17.0 or the latest one?

@robertnjenjic currently planned to be included in the next version update to Jumio SDK 4.2.0.


add cleanup to onDestroy

Needed in cases where NumberSpinner was destroyed as soon as dragend fires

Looks good! Thanks for the patch.


Add preset for mountain_pass=yes

Solves issue #541

Could you also share screenshots of the info (I) text in the preview so we ca see what the Wikidata item returns as a help text. I think that text will be important to distinguish the two presets. You might have to add or modify the Wikidata item. On the OSM wiki.

node/2661769073


Remove unused dart:async import

Since Dart 2.1, Future and Stream have been exported from dart:core

Ping @lukef

Thanks for the PR but we're going to decline to merge. Appreciate the efforts.


Upgrade prometheus operator to 0.34.0

Ideally combined with https://github.com/rancher/system-charts/pull/95
Thanos sidecars have a new configuration option to allow them to run properly in an istio servicemesh - https://github.com/coreos/prometheus-operator/commit/67bccfd45bbf6c8db46b608d46a38ee4cc207f42

Closing this in favor of #158 that brings all images up to date in Rancher 2.4.

Thanks!


[MONGO] Invalid query accepted for embedded types

The client query is accepted at the TS level but fails to parse in the engine.

Hmm, I'm not able to reproduce this on 3.11.1

Chatted with @do4gr about this one.
The problem was that strict: true (more specifically "strictNullChecks": false) was not set in the tsconfig.json.
When you run npx tsc --init, strict: true is now the default, but for older tsconfig.json's or a copy and pasted tsconfig.json's you'll run into a runtime error.
Creating a docs issue for this one.


[Documentation] Move Devs + QA discussion into separate wiki pages or under docs/ directory

This discussion post currently contains user stories and walkthroughs of each of Amplify's features, but it's not discoverable.  This information should be restructured and moved to the wiki (a page for each feature or a big page with a table of contents/headers) or alternatively moved to Markdown documents within the project's docs directory

Hi @therzka - Upon reviewing the discussion post and the wiki, I added some things to the wiki from the discussion post to fill in knowledge gaps. Here's a breakdown of the updates I made:

added the "Context" video from the discussion post to an App-Demo.md file that I created
added the details of the user journey, and Amplify's features to a User-Journey.md file that I created
updated the Background.md file to User-Background.md so that it's more clear from the title that the file is talking about users, and clarified some of the language within that file to differentiate between constituents and advocacy groups
nested User Background and User Journey underneath a header of "Users" in the sidebar

I made these changes in a  clone of the wiki in a personal repo I created here: https://github.com/rsensenig/amplify-wiki.
If you could review and merge (or approve me merging) if these changes look good to you that would be much appreciated. Thanks so much!

Hi @therzka - According to our discussion, and the update to the issue that you made above, I updated the wiki so that the features from the Dev discussion are nested under "Features" on the sidebar of the wiki with a page dedicated to each feature. I've created labels named after the features, which can be seen here: https://github.com/ProgramEquity/amplify/labels. I've attached some of these labels to existing issues, and linked the search of this label at the bottom of the feature page.
Please let me know if I should make any further edits, or if we're all set to close out this issue. Thanks!

wiki looks fantastic, thank you @rsensenig! Thanks for making the followup issue as well, I might create a separate one for categorizing issues using the paragraph your new issue
🚀


feat: Added set value feature and assert focus item for the listbox control

Closing this PR because Drona's architecture needs to be updated before developing features for new controls.


Fixed portfolio items loading flag.

Changes

fixed loading flag in portfolio items component
fixed misalignment on button with spinner

Codecov Report

Merging #237 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #237   +/-   ##
=======================================
  Coverage   84.15%   84.15%
=======================================
  Files          98       98
  Lines        1035     1035
  Branches       96       96
=======================================
  Hits          871      871
  Misses        148      148
  Partials       16       16

Impacted Files
Coverage Δ

...ntational-components/shared/button-with-spinner.js
100% <ø> (ø)
:arrow_up:

src/smart-components/portfolio/portfolio.js
82.05% <ø> (ø)
:arrow_up:

Continue to review full report at Codecov.

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


Full screen background image is added an increasing offset on each slide

Hi,
I'm facing a strange issue using this module with RN & expo SDK on android.
I have 5 images i set up to be full screen displayed
_renderSlide = ({ item, dimensions }) => {
    return (
      <View>
        <Image source={item.image} style={{...dimensions}}/>
      </View>
    );
  }

The first slide renders with a right offset of about 1px, i can see first image on second slide left side.
The second renders with 2px
The third with 4px
and so on ...
Seems like each slide multiples a tiny offset which becomes bigger and bigger.
Did anybody experienced this behaviour ?
I did not found anything about this in issues database.
Thanks
Regards.

Do you experience this on the latest version as well?

Closing this for inactivity.

Hi, sorry for late answer.
I'll try new version and tell you if there is any issue with offsets.
Regards.

Hi, using expo SDK 37 with version 4.0.4 fixed the issue.
Regards


Feature: Add dynsym objects to ELF module

This pull request expands the ELF module in exposing the dynamic symbol table.
And I want to expose dynamic symbol table since symbol table is deferent from dynamic symbol table,
the issue https://github.com/VirusTotal/yara/pull/1395#issuecomment-748930851  has mentioned this problem.
For example, we can't find .symtab section if the binary has been stripped symbols, and this is common in some dynamic libraries like Glibc.
But .dynsym always been required when we compile dynamical linked binaries.
In this pull request feature, you can use dynamic table like symtab methods:
import "elf"

rule elf_test {
    meta:
        description = "elf_test"
    condition:
        for any i in (0 .. elf.dynsym_entries): (
            elf.dynsym[i].type == elf.STT_FUNC and
            elf.dynsym[i].name == "__asan_unregister_globals"
        )
}

Reference

dynsym_entries : Number of entries in the dynamic symbol table found in the ELF file.

dynsym : A zero-based array of dynamic symbol objects, one for each entry in found in the ELF's DYNSYM. Individual  symbol objects can be accessed by using the [] operator. Each symbol object has the following attributes:

Attribute
Describe

name
The symbol's name.

value
A value associated with the symbol. Generally a virtual address.

size
The symbol's size.

type
The type of symbol. Built values are: STT_NOTYPE,STT_OBJECT, STT_FUNC, STT_SECTION, STT_FILE, STT_COMMON, STT_TLS

bind
The binding of the symbol. Builtin values are: STB_LOCAL, STB_GLOBAL, STB_WEAK

shndx
The section index which the symbol is associated with.

@googlebot I signed it!

Thanks for your pull request. It looks like this may be your first contribution to a Google open source project (if not, look below for help). Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA).
📝 Please visit https://cla.developers.google.com/ to sign.
Once you've signed (or fixed any issues), please reply here with @googlebot I signed it! and we'll verify it.
What to do if you already signed the CLA
Individual signers

It's possible we don't have your GitHub username or you're using a different email address on your commit. Check your existing CLA data and verify that your email is set on your git commits.

Corporate signers

Your company has a Point of Contact who decides which employees are authorized to participate. Ask your POC to be added to the group of authorized contributors. If you don't know who your Point of Contact is, direct the Google project maintainer to go/cla#troubleshoot (Public version).
The email used to register you as an authorized contributor must be the email used for the Git commit. Check your existing CLA data and verify that your email is set on your git commits.
The email used to register you as an authorized contributor must also be attached to your GitHub account.

ℹ Googlers: Go here for more info.

@googlebot I signed it!

Thanks for this contribution. I only miss some test case like https://github.com/VirusTotal/yara/blob/master/tests/test-elf.c#L102.

Thanks for this contribution. I only miss some test case like https://github.com/VirusTotal/yara/blob/master/tests/test-elf.c#L102.

I just committed some test case.


Implement Azure DALL-E 2 ImageRequest API

Microsoft recently updated their DALL-E 2 API to more closely match OpenAI, however as usual there are still significant differences.
This PR implements ImageRequest API for DALL-E 2
I have addressed multiple listing issues, and I think the code is good for review now.

@sashabaranov I'm assuming the linter is somewhat new as I think it's picking up some pre-existing "issues" and is erroring on some questionable issues.  Please review and advise. Thanks!


chore: add overrides to statful tx validator config

This change is

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

#1965  👈
#1963
#1962
main

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

Join @ArniStarkware and the rest of your teammates on  Graphite

Doesn't this PR the same as https://reviewable.io/reviews/starkware-libs/sequencer/1946#-?

Covered by #1946.


operator ccnfs-operator (5.24.32)

/pipeline restart operator-hosted-pipeline

/pipeline restart operator-hosted-pipeline

/pipeline restart operator-hosted-pipeline

/pipeline restart operator-hosted-pipeline

/pipeline restart operator-hosted-pipeline


[DOC] change n_dimensions to n_channels in all files

Reference Issues/PRs

fixes #564
What does this implement/fix? Explain your changes.

PR checklist

For all contributions

[ ] I've added myself to the list of contributors. Alternatively, you can use the @all-contributors bot to do this for you.
[x] The PR title starts with either [ENH], [MNT], [DOC], [BUG], [REF] or [GOV] indicating whether the PR topic is related to enhancement, maintenance, documentation, bugs, refactoring or governance.

For new estimators and functions

[ ] I've added the estimator to the online API documentation.

For developers with write access

[ ] Optionally, I've updated aeon's CODEOWNERS to receive notifications about future changes to these files.

@all-contributors please add @xiaopu222 for this PR contribution

@all-contributors please add @xiaopu222 for PR https://github.com/aeon-toolkit/aeon/pull/918

@all-contributors please add @xiaopu222 for documentation


dotnet-aspnet-codegenerator error: Create.cshtml file not found.

Hi.
I was following the RazorPage tutorial (using VisualCode on Ubuntu 20.04 OS, and dotnet-aspnet-codegenerator version 3.1.4), but I couldn't generate the razor page with the code genertor. When I execute the following command:
dotnet aspnet-codegenerator razorpage -m Movie -dc RazorPagesMovieContext -udl -outDir Pages/Movies --referenceScriptLibraries
the following message appear on my:
Finding the generator 'razorpage'...
Running the generator 'razorpage'...
Attempting to compile the application in memory.
Attempting to figure out the EntityFramework metadata for the model and DbContext: 'Movie'
A file matching the name Create.cshtml was not found within any of the folders:
at Microsoft.VisualStudio.Web.CodeGeneration.ActionInvoker.b__6_0()
at Microsoft.Extensions.CommandLineUtils.CommandLineApplication.Execute(String[] args)
at Microsoft.VisualStudio.Web.CodeGeneration.ActionInvoker.Execute(String[] args)
at Microsoft.VisualStudio.Web.CodeGeneration.CodeGenCommand.Execute(String[] args)
RunTime 00:00:06.48
It seems that the tool require a file named  Create.cshtml, and I dont know why because I followed all the steps of the tutorial. I was searching on internet for a possible solution to this problem and I found that someone fixed a  similar error using  version 3.1.0 of dotnet-aspnet-codegenerator tool. I uninstalled the version 3.1.4 and install the version 3.1.0, and them, I executed the same command, but it gave me another error who tell me that the razorpage generator was not found. I will appreciate any help to allow me to find a solution to this problem.

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

ID: 6719f08e-3bd7-dc1a-71df-f2ef9fbca9d8
Version Independent ID: 7096fdb3-612e-9e00-bd0b-8ea4886a09ce
Content: Part 2, add a model to a Razor Pages app in ASP.NET Core
Content Source: aspnetcore/tutorials/razor-pages/model.md
Product: aspnet-core
Technology: aspnetcore-tutorials
GitHub Login: @Rick-Anderson
Microsoft Alias: riande

This is tracked in https://github.com/dotnet/Scaffolding/issues/1393 and has work arounds.


How to remove undetected bounding boxes

Hi Team,
Thanks to your instruction, I am able to run your code to train, evaluate and inference on the Kitti dataset.
After running the demo generation for 2d image demos/show_predictions_2d.py, I see lots of green bounding boxes as image below. Would you mind letting me know the color coding invention you are using? What is the difference between yello and red?
And, importantly, how could I disable those green boxes?

In addition, I am wondering if you have a script to generate the demo for 3d point cloud also. Any hint would be greatly appreciated.

Thank you,

My issue is solved by running training/evaluation/inference of only one configuration for each git clone.


Correct Docker Installation reference to key secret.

https://github.com/minio/docs/blob/master/source/tutorials/minio-installation.rst#stable-minio
the _FILE suffix only applies when referencing a Docker secret
Need to update these sections to either call that out, or document both the secret and string.
This is a short-term fix to integrate into the larger rewrite/restructure for the installation docs.
Addresses problem raised in minio/minio#12451

https://github.com/minio/docs/commit/7736389e86eb04a93e458d1d0d5745f87746113f Fixed this a while back, forgot to close the issue.


[Bug]: Invalid fbp data sent

Plugin version
v3.0.0
Sylius version
v1.10
What happened?
Hi,
Just got this warning from Meta, did you have it too ?
Relevant log output
Server Sending Invalid Match Key Parameters for ViewContent Event

Your server is sending an invalid fbp parameters value for your ViewContent event. This may be because there was an error in the parameter value.
This may cause issues with the attribution and delivery optimization of ad campaigns that are using this event.

Hmm. Do you have more information from Meta? I mean what parameters specifically

Hmm. Do you have more information from Meta? I mean what parameters specifically

Nothing more, I just checked again today, and the message has dissapeared. Maybe because the data have taken time to sync with the meta dashboard.
So let close it, will back to this topic if the error appear again.
You'vnt notice that on your side ?

No, I haven't seen this issue in our dashboard. Thank you for following up on the issue :)


Unable to see index or posts using example on Readme

I am going through the README example and trying to get the templates to render on the index page.
However, I do not see any Backbone rendered views.  I see the default Rails scaffolding but not the Backbone views.    I am using Rails 3.1.1 and Backbone-rails 0.5.4.
~/code/blog $ rails -v
Rails 3.1.1
~/code/blog $ bundle list | grep backbone
  * rails-backbone (0.5.4)

Is there another painfully obvious step that I am missing?  I apologize for the noobness of this issue.  I have looked at the generated coffeescript source, looked in Firebug for JS errors, and sacrificed a live chicken, but still haven't had any luck.
I've also tried the example from this screencast:  http://vimeo.com/30705694  and get the same (lack of) results.
rails new blog
cd blog
Edit Gemfile:
  gem "rails-backbone", "~> 0.5.4"
bundle install
   Using rails-backbone (0.5.4)
rails g scaffold Post title:string content:string
rake db:migrate
rails g backbone:scaffold Post title:string content:string
Edit app/views/posts/index.html.erb:

rails s
Open localhost:3000

I apologize.
I missed an important  on app/views/posts/index.html.erb:


[ENHANCEMENT] add desc of properties for BasePageDocument

add desc of properties for BasePageDocument:
It can be usefull for https://github.com/sulu-io/sulu/issues/1715
tasks:

[x] do it

informations:

q
a

Fixed tickets
none

Related PRs
none

BC breaks
none

Documentation PR
none

@cbastienbaron thanks for contribution (:

thank you @wachterjohannes :+1:


Dynamic execution of js route failing

Bug description
I'm trying to run a polyglot application which is composed by multiple routes in multiple languages. I found out that when we run js applications, if we provide the classpath list of dependencies, the execution fails with the following error:
java -cp target/quarkus-app/lib/main/*:target/quarkus-app/quarkus-run.jar io.quarkus.bootstrap.runner.QuarkusEntryPoint
...
2024-01-25 11:38:57,034 INFO  [org.apa.cam.mai.BaseMainSupport] (main)     [MicroProfilePropertiesSource] camel.main.routesIncludePattern=file:/tmp/test/**
2024-01-25 11:38:57,035 INFO  [org.apa.cam.mai.BaseMainSupport] (main)     [MicroProfilePropertiesSource] camel.main.sourceLocationEnabled=true
2024-01-25 11:38:57,261 ERROR [org.apa.cam.qua.mai.CamelMainRuntime] (main) Failed to start application: org.graalvm.polyglot.PolyglotException: java.lang.IllegalStateException: Duplicate language id regex. First language [Language class com.oracle.truffle.regex.RegexLanguage, Loaded from file:/home/squake/Desktop/jbang/ceq-java/target/quarkus-app/lib/main/org.graalvm.regex.regex-23.0.1.jar]. Second language [Language class com.oracle.truffle.regex.RegexLanguage, Loaded from file:/home/squake/Desktop/jbang/ceq-java/target/quarkus-app/lib/main/org.graalvm.regex.regex-23.0.1.jar].
	at com.oracle.truffle.polyglot.LanguageCache.createLanguages(LanguageCache.java:259)
...

It seems there was a similar issue in Quarkus core: https://github.com/quarkusio/quarkus/pull/27090 - I wonder if we need to do something in Camel Quarkus as well to incorporate that change.
Mind that the same would work flawlessly if run via:
java -jar target/quarkus-app/quarkus-run.jar

However I need to specify the list of dependencies in order to make it works Java applications which it seems to be required by joor.

You might be able to work around it if you set a build time property like:
quarkus.class-loading.parent-first-artifacts=org.graalvm.regex:regex

When I added the initial fast-jar support in camel-k, I couldn't figure out how to make joor work without manually adding everything to the classpath. It'd be so much simpler if you could just execute the runnable JAR as per normal.

I think relying on the fast-jar would be the right think imho, we can tune the camel-k image discovery to require a 100% compatible one and re-visit image layering

When I added the initial fast-jar support in camel-k, I couldn't figure out how to make joor work without manually adding everything to the classpath. It'd be so much simpler if you could just execute the runnable JAR as per normal.

Yeah, I was trying to revert that but I was unsuccessful as well. It would be much cleaner, of course. In any case I manage to make it work with -cp target/quarkus-app/lib/main/* style which would be a first progress. However, now the problem is on the js DSL. I'm going to see if the workaround is good and report here. Thanks @jamesnetherton

FYI, the workaround is working.

Assuming my change gets backported, this should get fixed permanently in 3.8.x. Otherwise it'll be in 3.9.x.

Assuming my change gets backported, this should get fixed permanently in 3.8.x. Otherwise it'll be in 3.9.x.

Great, thanks a lot @jamesnetherton

Quarkus fix is present in 3.8.0.CR1 (and also 3.7.3 when it gets released).


select_node supress_event is fired although the flag is set

hi
i have some jstree instances and after creating the trees i set some preselected nodes by select_node. at this time i do not want the changed event to be fired and set the flag following the api. any further selection should fire the event. but it does not work, here is my code: (cat_arr) are the preselected node ids, working so far)
$(".categories").each(function(){

	//create trees
       $(this).jstree({"plugins": ["checkbox"]});

        //check selected nodes
	$(this).jstree(true).select_node(cat_arr, true);

        //define action on changed event
	$(this).on("changed.jstree", function (e, data) {
	var i, j, r = [];
    for(i = 0, j = data.selected.length; i < j; i++) {
      r.push(data.instance.get_node(data.selected[i]).text);
    }
    console.log('Selected: ' + r.join(', '));
	});
});

I can not reproduce this - please help me reproduce using this fiddle:
http://jsfiddle.net/DGAF4/2026/
Also - make sure you call select_node after the tree is ready.


Fix missing out folder

Same problem that existed in 0.10.0 release.

Problem here is that global installation of tsc is not being used, since there is another location that it is found.  For now, hard-coded to the correct location.


FR: allow to get scroll position within element

would be cool to optionally pass an element ref or so to get the scroll position within that element!

You can try this

🤔


Pytohn Bindings for async Main and Computing

Requires:

#63

Codecov Report
Patch coverage: 50.40% and project coverage change: -0.76 :warning:

Comparison is base (752c090) 55.82% compared to head (559a187) 55.07%.

:exclamation: Current head 559a187 differs from pull request most recent head 71d3b27. Consider uploading reports for the commit 71d3b27 to get more accurate results

Additional details and impacted files
@@            Coverage Diff             @@
##             main      #75      +/-   ##
==========================================
- Coverage   55.82%   55.07%   -0.76%
==========================================
  Files          47       55       +8
  Lines        1451     1696     +245
  Branches      425      548     +123
==========================================
+ Hits          810      934     +124
- Misses        319      330      +11
- Partials      322      432     +110

Impacted Files
Coverage Δ

.../dds/multiservice/impl/AsyncMultiServiceServer.ipp
39.53% <39.53%> (ø)

.../dds/multiservice/impl/AsyncMultiServiceClient.ipp
50.89% <50.89%> (ø)

...c/cpp/node/workload_distribution/AsyncMainNode.cpp
61.11% <61.11%> (ø)

amlip_cpp/src/cpp/dds/impl/Participant.ipp
61.90% <66.66%> (+1.90%)
:arrow_up:

.../node/workload_distribution/AsyncComputingNode.cpp
68.42% <68.42%> (ø)

.../node/workload_distribution/AsyncComputingNode.hpp
100.00% <100.00%> (ø)

...p_cpp/node/workload_distribution/AsyncMainNode.hpp
100.00% <100.00%> (ø)

amlip_cpp/src/cpp/dds/impl/Reader.ipp
48.38% <100.00%> (+1.61%)
:arrow_up:

...c/cpp/dds/multiservice/AsyncMultiServiceClient.hpp
100.00% <100.00%> (ø)

...c/cpp/dds/multiservice/AsyncMultiServiceServer.hpp
100.00% <100.00%> (ø)

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


[Vendor] Update go-version to v1.2.4

github.com/6543/go-version v1.2.3 -> v1.2.4

close #13067

@techknowlogick -> https://github.com/6543/go-version/actions/runs/309663485

@techknowlogick https://github.com/6543/go-version/pull/2/files#diff-2e0e5f9157b8e88ebe27e98732cd70b20a2ab48d5946caaa6788a7742ce4c45f

Codecov Report

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

@@            Coverage Diff             @@
##           master   #13169      +/-   ##
==========================================
- Coverage   42.08%   42.07%   -0.01%
==========================================
  Files         681      681
  Lines       75115    75115
==========================================
- Hits        31609    31604       -5
- Misses      38352    38357       +5
  Partials     5154     5154

Impacted Files
Coverage Δ

modules/util/timer.go
42.85% <0.00%> (-42.86%)
:arrow_down:

models/repo_mirror.go
2.38% <0.00%> (-11.91%)
:arrow_down:

modules/cron/tasks_basic.go
87.35% <0.00%> (-3.45%)
:arrow_down:

modules/notification/ui/ui.go
80.55% <0.00%> (-2.78%)
:arrow_down:

modules/log/event.go
59.90% <0.00%> (-1.89%)
:arrow_down:

modules/git/blame.go
75.43% <0.00%> (-1.76%)
:arrow_down:

modules/queue/unique_queue_disk_channel.go
53.84% <0.00%> (-1.54%)
:arrow_down:

services/mirror/mirror.go
18.51% <0.00%> (-1.35%)
:arrow_down:

models/notification.go
65.76% <0.00%> (-0.91%)
:arrow_down:

services/pull/pull.go
40.78% <0.00%> (-0.50%)
:arrow_down:

... and 11 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 4fbe645...14b8735. Read the comment docs.

🚀

please send backport

Backport -> #13172


3.5kb or 17kb?

This says 3.5kb:
https://silktide.com/tools/cookie-consent/docs/
This says 17kb:
https://github.com/insites/cookieconsent/blob/master/build/cookieconsent.min.js
3.5kb is almost nothing but having a js of more than 17kb just to display a cookie message is quite much, I think.

Cookie Consent v2 was 3.5kb. We've been working on v3 which is quite a bit larger, but a lot more capable (e.g. info/opt-in/opt-out support, automatic application of country-specific rules etc). You're free to use either.

@oliveremberton Thanks for the info. I've found a smaller solution that will be just enough for my needs:
https://github.com/Alex-D/Cookies-EU-banner
Cookie Consent might be awesome because it's feature rich, but in my case I don't need all that. Thanks for the reply!


Wants a profile page

I really wants a profile for myself, you know, kind of page shows my repositories, stars, and things about my self
But now GitHawk is mainly focused on the part of exploring GitHub, I think that it is really important to have a personal profile page
Sent with GitHawk

Duplicate of: #317 #2113


Backport "Unsuppress unchecked warnings" to LTS

Backports #18377 to the LTS branch.
PR submitted by the release tooling.
[skip ci]

No regressions detected in the community build up to lts-18731.
Reference


Check and make sure that the files that have been donated have been updated to reflect the new ASF copyright.

http://incubator.apache.org/projects/druid.html

#5796 updated almost all source files.  We can close this issue when those are figured out.
Files with a non-standard header (by Druid standards):

https://github.com/apache/incubator-druid/blob/master/extendedset/src/main/java/io/druid/extendedset/intset/AbstractIntSet.java
https://github.com/apache/incubator-druid/blob/master/extendedset/src/main/java/io/druid/extendedset/intset/ConciseSet.java
https://github.com/apache/incubator-druid/blob/master/extendedset/src/main/java/io/druid/extendedset/intset/IntSet.java

The license on the these three files seems ok (it's Apache 2.0) and also we already call this copying out in the NOTICE file. So they seem ok to me but I'm just calling them out to double-check.
We also have two files with no license header:

https://github.com/apache/incubator-druid/blob/master/extendedset/src/main/java/io/druid/extendedset/intset/ConciseSetUtils.java
https://github.com/apache/incubator-druid/blob/master/extendedset/src/main/java/io/druid/extendedset/utilities/IntList.java

In that issue, @fjy said:

ConciseSetUtils is from the original ConciseSet library under the Apache license. The license header is missing for the file but it should be the same as the rest of the files under the ConciseSet library (Apache v2).

And:

IntList is from the same place

I can't find the original source of the Concise library. The paper is at https://arxiv.org/pdf/1004.0403.pdf, which links to source at http://concise.svn.sourceforge.net/viewvc/concise?view=rev&revision=1; however, that link is dead.
I did some digging and found this commit: https://github.com/metamx/extendedset/commit/02366f18385b3e082866e5bbbd38357ceee13d79#diff-97bd266eb5d2e8b0e7a38a658921356d. It looks like these files were created in a refactor with code largely taken from ConciseSet (which is Apache licensed). So, that's good.
What's the best way to move forward here? Could we leave the first three files as-is, and add identical, nonstandard headers to the other two files describing where they came from and that they are Apache licensed?


Create Projects “csun-webtwo-prototyping-kit”

Automatically generated by Netlify CMS

👷 Deploy Preview for jaimegg64 processing.

Name
Link

🔨 Latest commit
d4a541f37d56162b5b3f51d800229f1a488a59a9

🔍 Latest deploy log
https://app.netlify.com/sites/jaimegg64/deploys/64253829e11bb80007a84b1f


[FEATURE] NoRender [Updated]

+add remove block break particle
+add remove potion icons

+add remove block break particle

What do you mean the cracks?

add remove potion icons

HUD -> Potions Hide or Text

Already a thing

+add remove block break particle

What do you mean the cracks?

add remove potion icons

HUD -> Potions Hide or Text

no i mean the particles when u break a block, it appears as tiny seeds

Already a thing i think? Turn all particles off in optifine

no optifine can't remove block breaking particles

+add remove block break particle

What do you mean the cracks?

add remove potion icons

HUD -> Potions Hide or Text

no i mean the particles when u break a block, it appears as tiny seeds

Already a thing i think? Turn all particles off in optifine

optifine can't remove block breaking particles


instructor guide: flesh out some of the implicit steps; closes #9

@lucaferranti

sorry for the long delay with this, I'll take a closer look later today, but with a quick look LGTM

It's better than before and IMO can be merged. The PR was more just FYI.

yes it can probably be merged already, further changes can be done via follow-up PRs


3 rows in a column sticks sometimes

Win 7, ST3
When I have a 3-row column sometimes (I haven't been able to find a commonality) the vertical resize ends up having an upper or lower limit.
As an example, the middle row on the column may not be able to be sized down past half-way. This limit seems to be random, and not always the same place.
I can do more experiments and provide any other detail you want.

Closing as a duplicate of #72, which has slightly more in the way of progress.


Added a network policy and hooked it in to the reconcile loop.

Resolves #158
Added a network policy to the that the operator manages:

Currently exposes port 8080 for ingress.
I suggest we use this PR to discuss what the form of the policy should be.

@jsenko Could you please take at this PR (similar to the other one):
There were failures detected in the following suites:    multinamespace ./testsuite/olm/multinamespace   singlenamespace ./testsuite/olm/singlenamespace
These test suites seem to be failing on the BeforeSuite and they don't seem to be related to the code changes in the PR? Thank you!

@jsenko Could you please give this a review? I would be interested to have your thoughts/suggestions :)

@jsenko Can I get a review on this please?


RuntimeJobFailureError got an unexpected keyword argument 'dynamic'

Currently, I cannot launch the circuits because I always get this error:
File "/venv/lib/python3.11/site-packages/pytket/backends/backend.py", line 392, in run_circuit
    return self.run_circuits(
           ^^^^^^^^^^^^^^^^^^
  File "/venv/lib/python3.11/site-packages/pytket/backends/backend.py", line 417, in run_circuits
    results = self.get_results(handles, **kwargs)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/venv/lib/python3.11/site-packages/pytket/backends/backend.py", line 360, in get_results
    return [self.get_result(handle, **kwargs) for handle in handles]
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/venv/lib/python3.11/site-packages/pytket/backends/backend.py", line 360, in <listcomp>
    return [self.get_result(handle, **kwargs) for handle in handles]
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/venv/lib/python3.11/site-packages/pytket/extensions/qiskit/backends/ibm.py", line 581, in get_result
    res = job.result(timeout=kwargs.get("timeout", None))
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/venv/lib/python3.11/site-packages/qiskit_ibm_runtime/runtime_job.py", line 222, in result
    raise RuntimeJobFailureError(f"Unable to retrieve job result. {error_message}")
qiskit_ibm_runtime.exceptions.RuntimeJobFailureError: "Unable to retrieve job result. TypeError: main() got an unexpected keyword argument 'dynamic"

The code I use does not pass any additional arguments
circuit = backend.get_compiled_circuit(circuit)
return backend.run_circuit(circuit, n_shots=shots)

Thank you for raising this as an issue.
@cqc-melf I think you have also encountered this error?

Could you please share the version of pytket-qiskit you are using? Also if its convenient for you to share a code snippet that would also be helpful.

Sure!
Here is a working fragment:
import pytket.circuit

import pytket.extensions.qiskit as pytket_qiskit
from qiskit_ibm_provider import IBMProvider
from qiskit_ibm_runtime import QiskitRuntimeService

ibmq_token = "my_token"
IBMProvider.save_account(token=ibmq_token, overwrite=True)
QiskitRuntimeService.save_account(channel="ibm_quantum", token=ibmq_token, overwrite=True)

pytket_circuit = pytket.circuit.Circuit(2)
pytket_circuit.H(0)
pytket_circuit.CX(0,1)
pytket_circuit.measure_all()

backend = pytket_qiskit.IBMQBackend("ibmq_qasm_simulator")
circuit = backend.get_compiled_circuit(pytket_circuit)
print(backend.run_circuit(circuit, n_shots=1000))

The output from the terminal is:
/venv/lib/python3.11/site-packages/qiskit_ibm_runtime/options/options.py:153: UserWarning: Key 'dynamic' is an unrecognized option. It may be ignored.
  warnings.warn(f"Key '{key}' is an unrecognized option. It may be ignored.")
Job status is RUNNING
Job status is ERROR

and then the exception reported above.
This is, instead, the log in the IBM Quantum dashboard:
{"status": "Failed", "reason": "TypeError: main() got an unexpected keyword argument 'dynamic'", "reason_code": null, "reason_internal": null}
Finally, the versions I'm using are:
pytket==1.22.0
pytket-qiskit==0.45.0

Thank you, that is helpful. I'll take a look.

I managed to reproduce your error by using your package versions.
Surprisingly the error was resolved by upgrading to pytket-qiskit==0.46. I will have to look into this more to find out the cause.

Wow, great thanks! With the 0.46 even in my PC now it works!  Thanks again!


Merge pull request #3 from DrJohnWagner:DrJohnWagner/issue1

Try this again...
Changed features to labels and updated README.md...

Reviewed and accepted...


docs: Adding troubleshooting info

Motivation
When trying out the next version of @react-navigation/stack the NavigationContainer fails to mount with an error "TypeError: Cannot read property 'SafeAreaProviderCompat' of undefined"
There is a comment here: https://github.com/react-navigation/react-navigation/blob/main/packages/elements/src/MaskedViewNative.tsx#L17, but it can take some time to find the cause of the error.
Instead it is better to mention the error in the troubleshooting guide for the people who want to try out the new version on their existing projects.
READ ME PLEASE!
TL;DR: Make sure to add your changes to versioned docs
Thanks for opening a PR!
The docs cover several versions of react-navigation, and in some cases there are several files (for version 1, version 2 and etc.) that all describe a single page of the docs (eg. "Getting Started").
Please make sure that the edit you're making in docs/file-you-edited.md is also included in the file for the correct version, eg. /versioned_docs/version-3.x/file-you-edited.md for version 3. If such file doesn't exist, please create it. :+1:

Thanks for the PR, however, this doesn't look like a common problem, but a bug. Can you open an issue in React Navigation repo with a repro so we can fix it?


Turn off SELinux separation for containers MON and RGW

Initially MONs and RGW binded /etc/pki/ca-trust/extracted using the :z flag
(introduced to solve an OSP TripleO issue on RHEL - #3638) but using
this flag prevents local services (like sssd) running on the host from accessing
the certificates/files in that folder.
Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=2026953
Signed-off-by: Teoman ONAY<EMAIL_ADDRESS>

jenkins test centos-non_container-all_daemons

jenkins test centos-container-all_daemons


Fix issue with file sorting.

Closes #591.

Note: this does not have any effect on already downloaded torrents which have their order messed up.

Wow, this issue was caused by array.sort() being mutable in JS. I forgot about that...

Yeah :( This means that some of the old torrents downloaded by people are unusable. Maybe we should recommend deleting older torrents/at least give a notice of the bug?

I think that we can fix this by deleting torrentSummary.files and torrentSummary.defaultPlayFileIndex for all torrents that have a defaultPlayFileIndex property. Then, the next time they start the torrent, these will get set again.

Commit here: https://github.com/feross/webtorrent-desktop/pull/610/commits/4ee36f459f55ff2aca7c6942b8498ef852ff3e41
@demoneaux @dcposch Let me know if you think this could cause any issues.


Web service requests sometimes throw errors or crash

First, thanks for open sourcing such an impressive suite of tools!
We're running into some errors and crashes as we put AmbiverseNLU through its paces, and I wanted to see if you could provide any insight on where we're going wrong. We're running on an EC2 m5n.4xlarge instance (16 core, 64G mem, 1TB HDD, 18k IOPS).
The installation went without incident. We installed the docker containers individually per the instructions on Docker Hub, The docker-compose script timed out on AmbiverseNLU waiting for the PostgreSQL install to complete, but we opted to reinstall manually instead of changing the timeout.
The web service starts up fine and processes most request without incident. However, we are seeing some issues:

One or more of the following errors occur when processing some requests:
2020-01-10 07:17:37,550 [qtp1359212194-54088] INFO  custom.aes.ClausIEAnalysisEngine:119  - Exception at ClausIEAnalysisEngine: null
These seem innocuous--AmbiverseNLU still returns a valid set of entities. Does this indicate a bigger issue? We did wonder if it indicates some kind of memory leak or other problem that could contribute to the below issues.

~3% of the documents we submit fail. This occurs after 16 consecutive errors as shown in #1 above, at which point the stack dump shown below prints and AmbiverseNLU responds with an empty JSON object ("{}"). This problem is 100% reproducible with specific text, and relatively minor changes to the text can make the problem disappear.

2020-01-10 07:25:45,412 [qtp1359212194-49842] ERROR util.impl.JSR47Logger_impl:324  - Exception occurred
org.apache.uima.analysis_engine.AnalysisEngineProcessException
        at de.mpg.mpi_inf.ambiversenlu.nlu.entitylinking.uima.custom.aes.ClausIEAnalysisEngine.process(ClausIEAnalysisEngine.java:121)
        at org.apache.uima.analysis_component.JCasAnnotator_ImplBase.process(JCasAnnotator_ImplBase.java:48)
...deleted...
        at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:590)
        at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.NullPointerException
2020-01-10 07:25:45,413 [qtp1359212194-49842] ERROR util.impl.JSR47Logger_impl:324  - Exception occurred
org.apache.uima.analysis_engine.AnalysisEngineProcessException
        at de.mpg.mpi_inf.ambiversenlu.nlu.entitylinking.uima.custom.aes.ClausIEAnalysisEngine.process(ClausIEAnalysisEngine.java:121)
        at org.apache.uima.analysis_component.JCasAnnotator_ImplBase.process(JCasAnnotator_ImplBase.java:48)
...deleted...
        at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:590)
        at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.NullPointerException
de.mpg.mpi_inf.ambiversenlu.nlu.entitylinking.processor.UnprocessableDocumentException
        at de.mpg.mpi_inf.ambiversenlu.nlu.entitylinking.processor.DocumentProcessor.process(DocumentProcessor.java:72)
        at de.mpg.mpi_inf.ambiversenlu.nlu.entitylinking.service.web.resource.impl.AnalyzeResourceWithFactsImpl.postAnalyze(AnalyzeResourceWithFactsImpl.java:95)
...deleted...
        at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:590)
        at java.lang.Thread.run(Thread.java:748)
2020-01-10 07:25:45,415 [qtp1359212194-49842] ERROR resource.impl.AnalyzeResourceWithFactsImpl:112  - (221) AnalyzeInput{docId='doc1', language='en', text='...document text...', confidenceThreshold=null, coherentDocument=null, annotatedMentions=null}
2020-01-10 07:25:45,416 [qtp1359212194-49842] ERROR resource.impl.AnalyzeResourceWithFactsImpl:113  - ERROR MESSAGE: null

We are running documents through AmbiverseNLU as fast as it can process them--roughly every 3-4 seconds. As it is running, we use docker logs and htop to monitor the system in real-time. After many hours of processing, the process runs out of memory and core dumps. The beginning of the log is shown below. We have not noticed a memory leak, but the restarts have occurred overnight so we can't be sure. We are now logging free memory, so we should be able to provide more definitive data if a memory leak is occurring.

#
# There is insufficient memory for the Java Runtime Environment to continue.
# Native memory allocation (mmap) failed to map<PHONE_NUMBER> bytes for committing reserved memory.
# Can not save log file, dump to screen..
#
# There is insufficient memory for the Java Runtime Environment to continue.
# Native memory allocation (mmap) failed to map<PHONE_NUMBER> bytes for committing reserved memory.
# Possible reasons:
#   The system is out of physical RAM or swap space
#   In 32 bit mode, the process size limit was hit
# Possible solutions:
#   Reduce memory load on the system
#   Increase physical memory or swap space
#   Check if swap backing store is full
#   Use 64 bit Java on a 64 bit OS
#   Decrease Java heap size (-Xmx/-Xms)
#   Decrease number of Java threads
#   Decrease Java thread stack sizes (-Xss)
#   Set larger code cache with -XX:ReservedCodeCacheSize=
# This output file may be truncated or incomplete.
#
#  Out of Memory Error (os_linux.cpp:2643), pid=1, tid=0x00007f625577e700
#
# JRE version: OpenJDK Runtime Environment (8.0_141-b15) (build 1.8.0_141-8u141-b15-1~deb9u1-b15)
# Java VM: OpenJDK 64-Bit Server VM (25.141-b15 mixed mode linux-amd64 )
OpenJDK 64-Bit Server VM warning: INFO: os::commit_memory(0x00007f6b56600000,<PHONE_NUMBER>, 0) failed; error='Cannot allocate memory' (errno=12)
# Core dump written. Default location: /ambiverse-nlu/core or core.1
#

After the above restart occurs, the ConceptSpotters are initialized and dummy docs are run for each language, and the Jetty service starts up. After this, six errors occur similar to:
[WARNING] Illegal character 0x16 in state=START for buffer HeapByteBuffer@7a822f53[p=1,l=215,c=8192,r=214]={\x16<<<\x03\x01\x00\xD2\x01\x00\x00\xCe\x03\x03\xF1\xA1kE\xB4\xB8\xE8...\x03\x02\x03\x03\x02\x01\x02\x02\x02\x03\x00\x0f\x00\x01\x01>>>v20170414)\r\n\r\n:80...\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00}
At this point, when we send a request to the web service, the ConceptSpotters are reinitialized. This process takes about 10 minutes, after which the response is returned. After that, requests are processed normally. This does not seem to occur when the server is initially installed and brought up. We were wondering if there is some cleanup we need to do on startup to prevent this, and if it's a problem.

Apologies for the involved issue. Please let us know if there is any additional information or logs you need to look into these. Also, if it is easier for us to split this into four separate issues, we'll be happy to do so. Thanks in advance!

Thanks for the detailed issue description!
First, some clarification questions:

Do you actually need ClausIE, which does open information extraction, i.e. extracts subject-predicate-object triples?
Same with ConceptSpotter, do you actually want to annotate concepts (not named entities)?

ConceptSpotter is a very new component which might need some more testing paces.
Regarding the ClausIE error, it would be great if you could provide the text that causes the error, so we can reproduce it more easily.
Thanks, Johannes

Right now we don't need ClausIE or ConceptSpotter, although we will in the future. I didn't know whether they were used by KnowNER and AIDA, or whether they were adding significant overhead. Since the results we get back from the web service are a list of matches and entities, I wasn't even sure that they were doing much.
If it's better for us to disable ClausIE and ConceptSpotter right now, either for stability or performance, then that might be the best approach. We can keep an instance running with everything enabled to help you investigate the above issues if needed.
Below is a snippet of text that causes an error. I tested it using 'curl localhost' requests. (Apologies for the subject matter--we're running text from random web pages through the engine, and this was simply the shortest snippet I could find that failed.)
Most already know. I would never live there again. The reason Canada has so many professional immigrants. Our country is awesome. I live far better here than I ever did in the USA. We get paid better; our cities are cleaner. We don’t work as hard. Our crime is low. Our air and water are cleaner. Our Healthcare is free! We are definitely healthier than Americans, by a long shot. And, everybody loves Canadians because we are so nice. What’s not to love? Anywhere is better than the US. Period. You people are all in denial. You ar
This text fails reliably. If I either replace the "r" in the last character with a "t", or delete it entirely, it passes reliably.
Please let me know if you're able to reproduce the issue with the above text. If it will help, I can also send you credentials to access one of our instances.

Thanks for sending the failing text, we will have a look.
Regarding dependencies:

AIDA depends on NER, PoS, Tokens (which can be filled by KnowNER or any other NER module).
ClausIE depends on a syntactically parsed sentence, PoS, Tokens, so will slow down processing
ConceptSpotter depends on PoS, Tokens

So, if you only need entities, simply running token, pos, ner, aida should be the right way. If you are calling the web service, please use the /entitylinking/analyze endpoint, which should be doing this by default.

I tried using the entitylinking endpoint, and that has so far eliminated the NullPointerException issues (#2 in my original comment). I do have one question about what I'm seeing in the logs, though. For each document, it shows two preparation and disambiguation steps:
2020-01-13 21:57:37,148 [qtp1359212194-1617] INFO  entitylinking.preparation.Preparator:53  - Document '300523508486' prepared in 4178.0ms.
2020-01-13 21:57:53,506 [qtp1359212194-1617] INFO  nlu.entitylinking.Disambiguator:101  - Document '300523508486' disambiguated in 16358.0ms (11 chunks, 283 mentions).
2020-01-13 21:57:56,758 [qtp1359212194-1617] INFO  entitylinking.preparation.Preparator:53  - Document '300523508486' prepared in 3214.0ms.
2020-01-13 21:58:37,670 [qtp1359212194-1617] INFO  nlu.entitylinking.Disambiguator:101  - Document '300523508486' disambiguated in 40912.0ms (11 chunks, 1527 mentions).

I'm curious as to how this maps to the steps you mentioned above (Token, PoS, NER, AIDA). Is there a two pass process?
Also, should I expect the performance of the entity linker to scale linearly with document length and/or number of recognized entities? The above example was 26527 characters or 3819 words, and AmbiverseNLU found 554 entities.

One additional comment--I've been running via the entitylinking endpoint all day now, and I am still seeing the memory leak (#3 in my original comment). Things are now running more smoothly without the ClausIE crashes, but I think that's causing the web service to crash more frequently--every 2-3 hours or so. I'm assuming it's the AmbiverseNLU container and not PostgreSQL that's causing the problem, but I'll monitor docker stats to see if I can catch the problem.

Regarding your previous comment, the output shows that it finishes after 40 seconds. You might have timeout in the client that doesn't wait for so long. As for the scaling, you are right, the longer the document and the more mentions and entities it contain the more time it will take.
If you want better performance, you should switch to Cassandra as a backend instead of PostgreSQL.

@dmilcevski, thanks for the input!
I have my client set up with no timeout, specifically because the amount of time it takes for AmbiverseNLU to complete is indeterminate. Just going through the logs from overnight, for example, I found this record:
2020-01-14 02:02:16,456 [qtp1359212194-26] INFO  entitylinking.preparation.Preparator:53  - Document '231438251653' prepared in 5510.0ms.
2020-01-14 02:11:19,876 [qtp1359212194-26] INFO  nlu.entitylinking.Disambiguator:101  - Document '231438251653' disambiguated in 543420.0ms (17 chunks, 1192 mentions).
2020-01-14 02:11:24,653 [qtp1359212194-26] INFO  entitylinking.preparation.Preparator:53  - Document '231438251653' prepared in 4591.0ms.
2020-01-14 02:15:03,826 [qtp1359212194-26] INFO  nlu.entitylinking.Disambiguator:101  - Document '231438251653' disambiguated in 219172.0ms (17 chunks, 3959 mentions).

This is not typical, but is by no means the largest document we've encountered. This particular one was 76,406 characters/11,882 words. Most of the documents we are processing are < 500 characters and process in < 4 seconds, but our average processing time is closer to 10 seconds because of these longer documents and because of the crashes.
We tried installing Cassandra, but could not get it to work using either docker-compose or docker run. Should I open a separate issue for that?

We are working on new dump and fixes for cassandra. I will let you know when we push a new version.

Great to hear about the Cassandra fixes. I'll look forward to them.
In the above case, the document completes in ~13 minutes. Everything seems to be working fine--the client just blocks for 13 minutes until it gets a response to the POST command. It takes a long time, but that's to be expected with such a long document.
We considered splitting up longer documents, but I was concerned about how it could affect the context used for disambiguation. Is there a performance benefit to doing so? I don't mind the long processing times for long documents, and I'd rather not lose the contextual benefits if splitting a document into N pieces is just going to create N requests that take 1/N the time.


add python 3.11 support

I think you may have forgotten the CI?
https://github.com/Goldziher/pydantic-factories/blob/main/.github/workflows/ci.yaml#L24


Ambiguous date in Events section

It is not clear if the date format is YYYY-MM-DD or YYYY-DD-MM.

Noted on this. Let me add the comment on this soon

Apologises, I forgot to create a branch from this issue to link the changes to this. Please refer to the latest pull request changes here https://github.com/cliffchew84/SG-Lib-Books/pull/88 I added comments on the date time format for the NLB Events in it latest commit.


Project limits

Fixes #6169.
Signed-off-by: Free Ekanayaka<EMAIL_ADDRESS>

s/dectect/detect/

s/dectect/detect/

Fixed.

Testsuite passed

Ok, this ready for review. I hope it covers the intended semantics of limits.

Testsuite passed

Looks good minus the few listed nits.

Nits should be addressed.

Testsuite passed

Testsuite passed


Ability to revoke API tokens

It seems to be impossible to revoke an API token in case one was leaked (e.g. accidentally serving the entire home directory over HTTP). While the tokens don't give access to private data, they would still allow someone to spam the token owner's profile, so there should be at least a button to revoke all tokens at once.

It has just been added. Open your settings page, it's there: https://asciinema.org/user/edit


Adapt development documentation to new component behaviour

havent tried it yet but I guess you did :) thanks for fixing this!!
:+1:

LGTM


fix docstring issues by adding an explicit handler

Long story short: fixes #104.
Locking the dependency uses mkdocstrings's so-called "experimental" handler for docstring parsing. The new one properly parses the docstring in this case whereas the legacy one does not.

Nice find ! Do you have any references to this? Because I knew this issue was in mkdocstrings but I couldn't really find this info.l

Unfortunately this one has some issues too, it adds some attributes automatically to the docs:

@aminalaee This is a pretty new tool so I had to do my own digging to find that. I ran mkdocs build locally before and after having python-mkdocstrings in my environment.
The "experimental" handler uses another tool under the hood called "griffe" which has a CLI; you can type "griffe sqladmin" to see how it parses the package.

I think it's possible to not add those attributes; by default it always includes docstring'd methods, but I think you can override that. I'll check later today.

I'll open an issue on mkdocstrings and see how it goes, let's keep this open anyway. I think mkdocstrings is not wrong, we're making form_base_class = Form and it's rendering the form docstrings, but let's see if they have a configuration to avoid this.

I do believe the legacy version (default handler) is wrong, and that the experimental version (the handler with mkdocstrings-python==0.6.6 in the requirements) is correct. It may be of use for the mkdocstrings team to be aware of this particular situation and give an option for people control what happens, but I think griffe's current default behavior makes sense to me.
The reason why it's wrong to use wtforms.Form's docstrings is because form_base_class is (1) an alias for another class, and (2) it has its docstring being explicitly overridden by the developer, i.e. the docstring below its definition signals intent from the developer to use a different docstring than wtforms.Form.__doc__.

I think the more pressing issue is that the mkdocstrings-python handler does not have a members attribute at the moment. You can see here that the mkdocstrings legacy handler uses the members attribute, but there is no equivalent in the experimental version yet.

Well we haven't seen any progress with that issue and both approaches have their problems, I'd say let's comment out form_base_class for now. What do you think?

Two options.

Comment out in the docs.
Have form_base_class's default value be None, and add if self.form_base_class is None: self.form_base_class = Form to the __init__.


staff added

The feature of staff is added with number of employees.
Spring Boot training.
MVC with thyme leaf.

The pull request should be Done on the dev, for adding the features first


Add release guide

This PR adds a release guide document to the repo. It's similar to Cesium for Unreal's guide, but contains Unity-specific instructions.

Thanks @j9liu!


Add tests to Verify CPU and Memory requests for the CUDA and Image Pods(ODS-313)

Signed-off-by: prudhvi<EMAIL_ADDRESS>

Jenkins Link: https://opendatascience-jenkins-csb-rhods.apps.ocp-c1.prod.psi.redhat.com/job/rhods-ci-pr-test/1001/
Result: Keyword Added works fine


[api]: guest memory can be higher than the memory resource limit

Signed-off-by: Igor Bezukh<EMAIL_ADDRESS>What this PR does / why we need it:
Removing this restriction will allow users to experiment memory overcommit scenario on nodes
with swap enabled.
Special notes for your reviewer:
Checklist
This checklist is not enforcing, but it's a reminder of items that could be relevant to every PR.
Approvers are expected to review this list.

[ ] Design: A design document was considered and is present (link) or not required
[ ] PR: The PR description is expressive enough and will help future contributors
[ ] Code: Write code that humans can understand and Keep it simple
[ ] Refactor: You have left the code cleaner than you found it (Boy Scout Rule)
[ ] Upgrade: Impact of this change on upgrade flows was considered and addressed if required
[ ] Testing: New code requires new unit tests. New features and bug fixes require at least on e2e test
[ ] Documentation: A user-guide update was considered and is present (link) or not required. You want a user-guide update if it's a user facing feature / API change.
[ ] Community: Announcement to kubevirt-dev was considered

Release note:
api: guest memory can be higher than the memory resource request

/test all

/cc @xpivarc

The suggested change will introduce a regression with the user experience, since a faulty configuration will be admitted instead of being rejected, and during runtime the workload could be instable due to OOMKills

/close


Project Acoustics discontinued on July 1st, 2024

This announcement is to inform you that Project Acoustics will be discontinued on July 1st, 2024. This means that after this date, we will no longer offer the ability to download versions of Project Acoustics from Microsoft’s Download Center or Epic Games’ Unreal Marketplace.  If you have previously downloaded Project Acoustics, you can continue to use it according to the EULA.  The github repository used for reporting issues will be archived and placed in a read-only state for 12-months following the download removal.
We thank you for your support and interest in Project Acoustics.
If you have any questions or concerns, please reach out to our team at<EMAIL_ADDRESS>Thank you,
Project Acoustics Team

But Why?

Really sad to hear :( there is no other solution coming close to PA

The project is alive and doing well.  The ask from the PA leadership team is to continue development on the project with a focus on internal studios for now.

The project is alive and doing well. The ask from the PA leadership team is to continue development on the project with a focus on internal studios for now.

Will the docker images be kept intact online so that we can bake our scenes in Azure and locally. Or do we need to download them locally to be able to keep current version of PA in our game?

We don't plan on modifying the Docker images that have been published.  The container images should continue to work, although if Azure Batch makes changes that is no longer compatible with the published images, we do not plan on updating those images.

Sad news! This was such a great product.


Update the androlog version to 1.0.4

Androlog was recently release. Archetype have to be updated.

This is fixed and will be part of the next release.


class-transformer 0.2.2 breaks transformAndValidate

It should relate to this issue in class-transformer after they released 0.2.2 yesterday
import { transformAndValidate } from 'class-transformer-validator';

class User {
  @IsEmail()
  identifier!: string;

  @IsString()
  password!: string;
}

const user: User = {
  identifier<EMAIL_ADDRESS>  password: 'password123',
};

const userJson: string = JSON.stringify(user);

await transformAndValidate(User, userJson)
  .then(async (): Promise<void> => Promise.resolve())
  .catch(async (err: Error): Promise<never> => Promise.reject(err));

Throw error
TypeError: Reflect.getMetadata is not a function
Which was working fine before(before they upgrade to 0.2.2)
By adding
import 'reflect-metadata';

at the top solved this issue.

This is probably an upstream issue in class-transformer, I have commented on your issue at typestack/class-transformer#255, please continue the conversation there.

Closing for a housekeeping purposes 🔒


Please release newer versions of proto-plus

The current newest version of this feedstock is 1.23.0, which has a version ceiling <5.0.0dev for protobuf. This is blocking the ability to correctly resolve and install Google Cloud Platform SDK packages like google-cloud-storage that depend on proto-plus on Python 3.13, as there are version incompatibilities with google-cloud-storage directly requiring newer versions of protobuf and certain protobuf versions having a python version ceiling of <3.13.0a0.
It looks like #33 would address this and has passing builds but was never merged.

Mamba resolution error for google-cloud-storage>=2.8, python=3.13
Could not solve for environment specs
The following packages are incompatible
└─ google-cloud-storage >=2.8  is installable with the potential options
   ├─ google-cloud-storage [2.10.0|2.11.0|...|2.9.0] would require
   │  ├─ google-cloud-core >=2.3.0,<3.0dev  with the potential options
   │  │  ├─ google-cloud-core [2.3.0|2.3.1] would require
   │  │  │  └─ grpcio >=1.8.2,<2.0.0dev  with the potential options
   │  │  │     ├─ grpcio [1.14.1|1.16.0|...|1.38.1] would require
   │  │  │     │  └─ python >=3.6,<3.7.0a0 , which can be installed;
   │  │  │     ├─ grpcio [1.14.1|1.16.0|...|1.48.1] would require
   │  │  │     │  └─ python >=3.7,<3.8.0a0 , which can be installed;
   │  │  │     ├─ grpcio [1.23.0|1.27.2|...|1.62.2] would require
   │  │  │     │  └─ python >=3.8,<3.9.0a0 , which can be installed;
   │  │  │     ├─ grpcio [1.33.2|1.34.0|...|1.67.0] would require
   │  │  │     │  └─ python >=3.9,<3.10.0a0 , which can be installed;
   │  │  │     ├─ grpcio [1.41.1|1.42.0|...|1.67.0] would require
   │  │  │     │  └─ python >=3.10,<3.11.0a0 , which can be installed;
   │  │  │     ├─ grpcio [1.46.4|1.47.1|...|1.67.0] would require
   │  │  │     │  └─ python >=3.11,<3.12.0a0 , which can be installed;
   │  │  │     ├─ grpcio [1.57.0|1.58.1] would require
   │  │  │     │  └─ python >=3.12.0rc3,<3.13.0a0  with the potential options
   │  │  │     │     ├─ python [3.12.0|3.12.1|...|3.12.7], which can be installed;
   │  │  │     │     └─ python 3.12.0rc3 would require
   │  │  │     │        └─ _python_rc  , which does not exist (perhaps a missing channel);
   │  │  │     ├─ grpcio [1.57.0|1.57.1|...|1.67.0] would require
   │  │  │     │  └─ python >=3.12,<3.13.0a0 , which can be installed;
   │  │  │     ├─ grpcio 1.67.0 would require
   │  │  │     │  └─ libgrpc 1.67.0 h0fbbd33_0, which requires
   │  │  │     │     └─ libprotobuf >=5.28.2,<<IP_ADDRESS>a0 , which can be installed;
   │  │  │     ├─ grpcio [1.14.1|1.16.0|1.22.0|1.23.0] would require
   │  │  │     │  └─ python >=2.7,<2.8.0a0 , which can be installed;
   │  │  │     └─ grpcio 1.14.1 would require
   │  │  │        └─ python >=3.5,<3.6.0a0 , which can be installed;
   │  │  └─ google-cloud-core [2.3.2|2.3.3|2.4.1] would require
   │  │     └─ grpcio >=1.38.0,<2.0.0dev , which can be installed (as previously explained);
   │  └─ protobuf <5.0.0dev  with the potential options
   │     ├─ protobuf 4.25.3 would require
   │     │  └─ libprotobuf >=4.25.3,<<IP_ADDRESS>a0 , which conflicts with any installable versions previously reported;
   │     ├─ protobuf [3.0.0|3.0.0b2|...|3.9.2] would require
   │     │  └─ python [2.7* |>=2.7,<2.8.0a0 ], which can be installed;
   │     ├─ protobuf [3.0.0|3.0.0b2|3.0.0b2.post2|3.0.0b3|3.1.0] would require
   │     │  └─ python 3.4* , which can be installed;
   │     ├─ protobuf [3.0.0|3.0.0b2|...|3.6.0] would require
   │     │  └─ python [3.5* |>=3.5,<3.6.0a0 ], which can be installed;
   │     ├─ protobuf [3.1.0|3.2.0|...|3.5.2] would require
   │     │  └─ python 3.6* , which can be installed;
   │     ├─ protobuf [3.10.0|3.10.1|...|3.9.2] would require
   │     │  └─ python >=3.6,<3.7.0a0 , which can be installed;
   │     ├─ protobuf [3.10.0|3.10.1|...|4.21.8] would require
   │     │  └─ python >=3.7,<3.8.0a0 , which can be installed;
   │     ├─ protobuf [3.10.0|3.10.1|...|4.25.3] would require
   │     │  └─ python >=3.8,<3.9.0a0 , which can be installed;
   │     ├─ protobuf [<IP_ADDRESS>|3.14.0|...|4.25.3] would require
   │     │  └─ python >=3.9,<3.10.0a0 , which can be installed;
   │     ├─ protobuf [3.18.1|3.18.3|...|4.25.3] would require
   │     │  └─ python >=3.10,<3.11.0a0 , which can be installed;
   │     ├─ protobuf [3.20.2|3.20.3|...|4.25.3] would require
   │     │  └─ python >=3.11,<3.12.0a0 , which can be installed;
   │     ├─ protobuf [4.23.4|4.24.3] would require
   │     │  └─ python >=3.12.0rc3,<3.13.0a0  with the potential options
   │     │     ├─ python [3.12.0|3.12.1|...|3.12.7], which can be installed;
   │     │     └─ python 3.12.0rc3, which cannot be installed (as previously explained);
   │     └─ protobuf [4.24.3|4.24.4|4.25.1|4.25.2|4.25.3] would require
   │        └─ python >=3.12,<3.13.0a0 , which can be installed;
   └─ google-cloud-storage [2.18.0|2.18.1|2.18.2] would require
      ├─ google-api-core >=2.15.0,<3.0.0dev , which requires
      │  ├─ proto-plus >=1.22.3,<2.0.0dev , which requires
      │  │  └─ protobuf >=3.19.0,<5.0.0dev  with the potential options
      │  │     ├─ protobuf 4.25.3, which cannot be installed (as previously explained);
      │  │     ├─ protobuf [3.10.0|3.10.1|...|4.21.8], which can be installed (as previously explained);
      │  │     ├─ protobuf [3.10.0|3.10.1|...|4.25.3], which can be installed (as previously explained);
      │  │     ├─ protobuf [<IP_ADDRESS>|3.14.0|...|4.25.3], which can be installed (as previously explained);
      │  │     ├─ protobuf [3.18.1|3.18.3|...|4.25.3], which can be installed (as previously explained);
      │  │     ├─ protobuf [3.20.2|3.20.3|...|4.25.3], which can be installed (as previously explained);
      │  │     ├─ protobuf [4.23.4|4.24.3], which can be installed (as previously explained);
      │  │     └─ protobuf [4.24.3|4.24.4|4.25.1|4.25.2|4.25.3], which can be installed (as previously explained);
      │  └─ protobuf >=3.19.5,<5.0.0.dev0,!=3.20.0,!=3.20.1,!=4.21.0,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5  with the potential options
      │     ├─ protobuf 4.25.3, which cannot be installed (as previously explained);
      │     ├─ protobuf [3.10.0|3.10.1|...|4.21.8], which can be installed (as previously explained);
      │     ├─ protobuf [3.10.0|3.10.1|...|4.25.3], which can be installed (as previously explained);
      │     ├─ protobuf [<IP_ADDRESS>|3.14.0|...|4.25.3], which can be installed (as previously explained);
      │     ├─ protobuf [3.18.1|3.18.3|...|4.25.3], which can be installed (as previously explained);
      │     ├─ protobuf [3.20.2|3.20.3|...|4.25.3], which can be installed (as previously explained);
      │     ├─ protobuf [4.23.4|4.24.3], which can be installed (as previously explained);
      │     └─ protobuf [4.24.3|4.24.4|4.25.1|4.25.2|4.25.3], which can be installed (as previously explained);
      └─ google-cloud-core >=2.3.0,<3.0dev , which can be installed (as previously explained).

@jayqi, so sorry.  It seems #33 just slipped through the cracks.  It should be available in an hour or so.

Thanks for addressing promptly! Confirming that this fixed my dependency resolution problems with Python 3.13.

No problem.  Thanks for reporting.  Glad this fixed your issue.


bump version to 0.1.12

I think we need to update the tag to point to this commit too, once it lands


Bar chart x axis label is not aligned properly with the bar. and right most x axis label is there but not bar is not present.

No worries. I will take care of this issue.


Firebase uploaded audio file does not work in ios

Here is the file url: https://firebasestorage.googleapis.com/v0/b/hisnul-muslim-plus.appspot.com/o/AudioFiles%2F067jsjCHao6HfdoOQtShrToGTHN4?alt=media&token=ae421f15-ed7c-4f9a-acdc-e39f908fd05f
It gives error when we try to load this url in ios but working fine in android

Yes storage links are not working, but you can use "React-native-blob-utils", using this lib,  pass storage url and download that file locally and pass that locally downloaded path to sound library. that will work.

This will help https://www.youtube.com/watch?v=vVI7ZAZq5e0