Documentation for global_maximum/2 etc?

Thanks for porting clp(BNR)! I read that the documentation is work in progress at this point, but is there some place where i can find information about how to use global_maximum/2 and related predicates?

Thanks for the query. As it happens I just finished a draft on global optimization for the Guide, but I'm not ready to "publish" it yet.
I've attached a section of the document source which should help you get started. It's in a markup language similar to Markdown so I don't think you should have any problems understanding it. (You may have to soft wrap the text in your editor.)
Hope this keeps you going until the Guide gets updated, but let me know if you have any specific questions.

On Jul 28, 2020, at 5:00 AM, JeanChristopheRohner<EMAIL_ADDRESS>wrote:
Thanks for porting clp(BNR)! I read that the documentation is work in progress at this point, but is there some place where i can find information about how to use global_maximum/2 and related predicates?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub https://github.com/ridgeworks/clpBNR_pl/issues/2, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABXFJQPSGYKRZFVI6VNFPV3R52HS7ANCNFSM4PKJLM6A.

Global Optimization
An important class of problems in engineering design and operations research is the optimal allocation of "resources", usually referred to as global optimization. Specifically it aims to find the maximum or minimum value of a function of one or more variables and to find the values of the variables where this optima is reached. Techniques for solving local optimization problems, i.e., solutions in the neighbourhood of a given point, have been well-researched but techniques for global optimization seem to be less well developed. One of the reasons for this is the difficulty of representing global information, but intervals can be used to address this issue. The evaluation of a function of intervals using interval arithmetic is an interval containing all the values of the function given the interval values of the arguments. Then using search techniques similar to solving for the roots of equations, a minimum/maximum value of the function, along with it's minimizers (the values of the arguments producing the minimum/maximum) can be found.
Such searches can be computationally expensive, so it is often advantageous to combine it with local optimization techniques. These take the form of additional (redundant) constraints which can accelerate the searching process. In addition many global optimization problems include additional problem constraints which put further conditions on the set of solutions, so the combination of Constraint Logic Programming and Relational Interval Arithmetic seems to be a good fit for tackling this class of problems.
Material in this section draws heavily on two sources: for theory, see [New Computer Methods for Global Optimization] (Ratschek and Rokne, 2007). The examples are largely from [Schaum's Outlines, Operations Research] (Bronson and Naadimuthu,1997).
Unconstrained Optimization
CLP(BNR) provides a pair of general purpose predicates for tackling global optimization problems: global_minimum and global_maximum. The simplest form of these predicates finds the global min/max (the second argument, Z, in the examples below) for the objective function specified by the first argument. From "Shaum's", example 10.1:
eg
?- X::real(0,20), global_maximum(X*(5pi-X),Z).
X:: 7.8...,
Z:: 61.6850... .
The predicates provided use the Moore-Skelboe algorithm (see Ratschek&Rokne) to find global optima to the precision specified by the clpBNR_default_precision flag (default 6 digits). They do not provide the minimisers - indeed there may be more than one minimiser value. In the example above some narrowing of X has occurred but, in general, one of the solve predicates can be used to separate and sharpen minimizer values. Since there really aren't any "point solutions" to the objective function (unlike like finding roots of an equation discussed earlier), splitsolve is usually better suited to this problem.
eg
?- X::real(0,20), global_maximum(X(5pi-X),Z), splitsolve(X).
X:: 7.84954...,
Z:: 61.6850... .
And, as we saw earlier, there may be answers for the same solution due to precision limits on the splitting process:
eg
?- X::real(0,20), global_maximum(X(5*pi-X),Z),splitsolve(X).
X:: 7.84954...,
Z:: 61.6850... ;
X:: 7.84962...,
Z:: 61.6850... ;
X:: 7.8496...,
Z:: 61.6850... ;
X:: 7.84966...,
Z:: 61.6850... .
global_minimum and global_maximum take an optional third argument: a precision value which overrides the current value of the clpBNR_default_precision flag. Since the underlying search is exhastive and can take some time dependent on the objective function and the domain(s) of the input, the precision argument can control the tradeoff between precision and execution time (as it does for other search predicates like solve and splitsolve):
eg
?- X::real(0,20),global_maximum(X*(5*pi-X),Z,3).
X::real(7.715468219981181, 7.992506304532757),
Z:: 61.7... .
These predicates are general in nature; they can find optima on boundaries (where no local optima exist) and on functions of integer variables. Some examples of objective functions of more than one variable:
eg
?- [X1,X2,X3]::real,global_maximum(- (2X1-5)**2-(X2-3)**2-(5X3-2)**2,Z).
X1:: 2.500...,
Z::real(-1.8040366808093222e-7, 0),
X3:: 0.400...,
X2:: 3.000... .
?- [X1,X2]::integer(-100,100),global_minimum((X1-sqrt(5))**2+(X2-pi)**2+10,Z).
X1 = 2,
X2 = 3,
Z:: 10.07577656955144... .

?- [X1,X2]::integer(-100,100),global_minimum((1-X1)**2+100*(X2-X1**2)**2,Z).
X1 = X2, X2 = 1,
Z = 0.

Constrained Optimization
Moving to CLP usually involves a paradigm shift from "generate and test" to to "apply test, then generate". This facilitates solving constrained optimization problems; just apply the constraints before calling the global optimization predicate. Some examples from "Shaum's" (chapter 12):
eg
?- {X2+Y2==1},global_minimum(X+Y,Z).
X:: -0.70...,
Y:: -0.70...,
Z:: -1.41421... .
?- {X**2+Y**2==1},global_minimum(X+Y,Z),splitsolve([X,Y]).
X:: -0.707107...,
Y:: -0.70710...,
Z:: -1.41421... .

?- [X1,X2,X3]::real(0,2*pi), {-X1*X2**3+X1**2*X3**2==5}, global_maximum(sin(X1*X2+X3),Z),splitsolve([X1,X2,X3]).
X1:: 1.49526...,
X2:: 0.049725...,
Z:: 0.99999951...,
X3:: 1.49546... .

?- [X1,X2,X3]::integer,{X1+2*X2+3*X3==4,X1*X3==19}, global_maximum(-X1**6*X2**2-X1**4*X3**2-1,Z),splitsolve([X1,X2,X3]).
X1 = 1,
X2 = -27,
X3 = 19,
Z = -1091.

?- [X1,X2]::real(_,_),{X1+X2=<2}, global_maximum(log(1+X1)+2*log(1+X2),Z),splitsolve([X1,X2]).
X1:: 0.333333...,
X2:: 1.666666...,
Z:: 2.249340... .

?- [X1,X2]::real(0,_),{X1+2*X2=<3,8*X1+5*X2>=10}, global_minimum((X1-2)**2+(X2-2)**2,Z),splitsolve([X1,X2]).
X1:: 1.3992345...,
X2:: 0.8003827...,
Z:: 1.800000... .

Most of these examples generate answers fairly quickly, but it should be noted that the global optima predicates provided by CLP(BNR) are exhaustive searches. It's not hard to come up with examples that take a long time and millions of narrowing operations. Constraining the search space and using the tunable precision flag can help to produce acceptable answers in a reasonable time frame. And mixing local optimization techniques with global searches can result in sharper answers in less time as we'll see later.

Thanks a lot for your answer. To be able to optimise non-linear expressions is very useful (clpfd could do so with integers but not with reals, clpqr with reals but only on linear expressions).

Global optimization section added to User Guide with v0.9.1 (12/08/20).

I have noticed than using global_minimum and global_maximum within the same scope on the same expression, the expression needs to be stored twice, i.e. in separate variables, because the variable holding the expression gets overwritten with the computed minimum or maximum value.  This results in slightly confusing code.  Is this planned?

I have noticed than using global_minimum and global_maximum within the same scope on the same expression, the expression needs to be stored twice, i.e. in separate variables, because the variable holding the expression gets overwritten with the computed minimum or maximum value.  This results in slightly confusing code.  Is this planned?

I think that's the only logical behaviour. There isn't a single X,Y pair that results in both a global maximum and minimum, i.e., the  minimizing values of X and Y cannot be unified with the maximizing values of X and Y. You should be able to use ";' to produce one or the other (on backtracking).
Hope I'm not missing something.

I think that's the only logical behaviour. There isn't a single X,Y pair that results in both a global maximum and minimum, i.e., the  minimizing values of X and Y cannot be unified with the maximizing values of X and Y. You should be able to use ";' to produce one or the other (on backtracking).
Hope I'm not missing something.

My point is that it's slightly unexpected (at least to the untrained eye) that this version works as expected:
    { Z == exp(1/2)*X - (cos(Z)/Z)**(1/3) - 1+log((Y+3/Z)/Z) },
    clpBNR:global_minimum(Z, Min_Z),
    { Z2 == exp(1/2)*X - (cos(Z2)/Z2)**(1/3) - 1+log((Y+3/Z2)/Z2) },
    clpBNR:global_maximum(Z2, Max_Z).

whereas this one doesn't:
    { Z == exp(1/2)*X - (cos(Z)/Z)**(1/3) - 1+log((Y+3/Z)/Z) },
    clpBNR:global_minimum(Z, Min_Z),
    %% { Z2 == exp(1/2)*X - (cos(Z2)/Z2)**(1/3) - 1+log((Y+3/Z2)/Z2) },
    clpBNR:global_maximum(Z, Max_Z).

even though Z and Z2 hold the definition of exactly the same expression.

My point is that it's slightly unexpected (at least to the untrained eye) that this version works as expected:
    { Z == exp(1/2)*X - (cos(Z)/Z)**(1/3) - 1+log((Y+3/Z)/Z) },
    clpBNR:global_minimum(Z, Min_Z),
    { Z2 == exp(1/2)*X - (cos(Z2)/Z2)**(1/3) - 1+log((Y+3/Z2)/Z2) },
    clpBNR:global_maximum(Z2, Max_Z).

whereas this one doesn't:
    { Z == exp(1/2)*X - (cos(Z)/Z)**(1/3) - 1+log((Y+3/Z)/Z) },
    clpBNR:global_minimum(Z, Min_Z),
    %% { Z2 == exp(1/2)*X - (cos(Z2)/Z2)**(1/3) - 1+log((Y+3/Z2)/Z2) },
    clpBNR:global_maximum(Z, Max_Z).

even though Z and Z2 hold the definition of exactly the same expression.

OK, for the sake of clarity, I will eliminate the use of global_maximum and will only use global_minimum. Note that Z and Z2 in minimize_a are exactly equivalent.
minimize_a(Min_Z, Max_Z) :-
    [X, Y]::real(0.1, 0.9),
    { Z  == exp(1/2)*X - (cos(Z)/Z)**(1/3)   - 1+log((Y+3/Z)/Z) },
    { Z2 == exp(1/2)*X - (cos(Z2)/Z2)**(1/3) - 1+log((Y+3/Z2)/Z2) },
    clpBNR:global_minimum(Z,   Min_Z),
    clpBNR:global_minimum(-Z2, Max_Z).

minimize_b(Min_Z, Max_Z) :-
    [X, Y]::real(0.1, 0.9),
    { Z == exp(1/2)*X - (cos(Z)/Z)**(1/3) - 1+log((Y+3/Z)/Z) },
    clpBNR:global_minimum(Z,  Min_Z),
    clpBNR:global_minimum(-Z, Max_Z).

?- minimize_a(Min_Z, Max_Z).
Min_Z:: -29.9999...,
Max_Z:: -0.91568... .

?- minimize_b(Min_Z, Max_Z).
Min_Z:: -29.9999...,
Max_Z:: 29.9999... .

— my question is, does global_minimum store some kind of state attached to the expression term it is given that results in the second call (with different arguments, via global_maximum)

OK, for the sake of clarity, I will eliminate the use of global_maximum and will only use global_minimum. Note that Z and Z2 in minimize_a are exactly equivalent.
minimize_a(Min_Z, Max_Z) :-
    [X, Y]::real(0.1, 0.9),
    { Z  == exp(1/2)*X - (cos(Z)/Z)**(1/3)   - 1+log((Y+3/Z)/Z) },
    { Z2 == exp(1/2)*X - (cos(Z2)/Z2)**(1/3) - 1+log((Y+3/Z2)/Z2) },
    clpBNR:global_minimum(Z,   Min_Z),
    clpBNR:global_minimum(-Z2, Max_Z).

minimize_b(Min_Z, Max_Z) :-
    [X, Y]::real(0.1, 0.9),
    { Z == exp(1/2)*X - (cos(Z)/Z)**(1/3) - 1+log((Y+3/Z)/Z) },
    clpBNR:global_minimum(Z,  Min_Z),
    clpBNR:global_minimum(-Z, Max_Z).

?- minimize_a(Min_Z, Max_Z).
Min_Z:: -29.9999...,
Max_Z:: -0.91568... .

?- minimize_b(Min_Z, Max_Z).
Min_Z:: -29.9999...,
Max_Z:: 29.9999... .

— my question is, does global_minimum store some kind of state attached to the expression term it is given that results in the second call (with different arguments, via global_maximum)

I don't see anything that would imply that the two predicates are equivalent. Z and Z2 are not equivalent; they're two different logic variables subject to different constraints. The constraints happen to share two other variables, X and Y so in some sense, they are co-dependent, i.e., there must be common values for X and Y that permit both Z and -Z2 to be minimized.
But your example does raise another important issue which I tried to cover in the documentation, but it's easy to lose it. global_minimum and global_maximum work by performing an iterative search using the variables in the function being minimized. In your case that's just Z (or -Z) so that's not much to work with. Without actually trying it, you would be better to minimize exp(1/2)*X - (cos(Z)/Z)**(1/3) - 1+log((Y+3/Z)/Z), an expression which contains all the variables.
Finally you have picked a rather complex expression, in fact one that's recursive (Z is a function of itself); is that intentional? Furthermore, by default, Z will contain 0, which means cos(Z)/Z and (Y+3/Z)/Z are not finitely bounded. I have no idea how this function behaves and the builtin constraint engine obviously doesn't either:
?- [X, Y]::real(0.1, 0.9),{ Z  == exp(1/2)*X - (cos(Z)/Z)**(1/3)   - 1+log((Y+3/Z)/Z) }.
X::real(0.09999999999999999, 0.9000000000000001),
Y::real(0.09999999999999999, 0.9000000000000001),
Z::real(-1.0Inf, 1.0Inf).

I would suggest you start with something simpler so the problem of expression complexity doesn't interfere with understanding how global min/max works. Based on my own experience, this is anything but simple.

I don't see anything that would imply that the two predicates are equivalent. Z and Z2 are not equivalent; they're two different logic variables subject to different constraints. The constraints happen to share two other variables, X and Y so in some sense, they are co-dependent, i.e., there must be common values for X and Y that permit both Z and -Z2 to be minimized.
But your example does raise another important issue which I tried to cover in the documentation, but it's easy to lose it. global_minimum and global_maximum work by performing an iterative search using the variables in the function being minimized. In your case that's just Z (or -Z) so that's not much to work with. Without actually trying it, you would be better to minimize exp(1/2)*X - (cos(Z)/Z)**(1/3) - 1+log((Y+3/Z)/Z), an expression which contains all the variables.
Finally you have picked a rather complex expression, in fact one that's recursive (Z is a function of itself); is that intentional? Furthermore, by default, Z will contain 0, which means cos(Z)/Z and (Y+3/Z)/Z are not finitely bounded. I have no idea how this function behaves and the builtin constraint engine obviously doesn't either:
?- [X, Y]::real(0.1, 0.9),{ Z  == exp(1/2)*X - (cos(Z)/Z)**(1/3)   - 1+log((Y+3/Z)/Z) }.
X::real(0.09999999999999999, 0.9000000000000001),
Y::real(0.09999999999999999, 0.9000000000000001),
Z::real(-1.0Inf, 1.0Inf).

I would suggest you start with something simpler so the problem of expression complexity doesn't interfere with understanding how global min/max works. Based on my own experience, this is anything but simple.

Finally you have picked a rather complex expression, in fact one that's recursive (Z is a function of itself); is that intentional?

I just quickly came up with something based on the documented example to demonstrate to a friend that the library won't choke on non-trivial math.  There is no meaning whatsoever in that "formula".

Okay, how about this:
minimize_a(Min_Z, Max_Z) :-
    [X, Y]::real(0.1, 0.9),
    { Z == exp(1/2)*X - 1+log((Y+3/X)/X) },
    clpBNR:global_minimum(Z, Min_Z),
    [X2, Y2]::real(0.1, 0.9),
    { Z2 == exp(1/2)*X2 - 1+log((Y2+3/X2)/X2) },
    clpBNR:global_minimum(-Z2, Max_Z).

minimize_b(Min_Z, Max_Z) :-
    [X, Y]::real(0.1, 0.9),
    { Z == exp(1/2)*X - 1+log((Y+3/X)/X) },
    clpBNR:global_minimum(Z, Min_Z),
    clpBNR:global_minimum(-Z, Max_Z).

?- minimize_a(Min_Z, Max_Z).
Min_Z:: 1.82274...,
Max_Z:: -4.89821... .

?- minimize_b(Min_Z, Max_Z).
Min_Z:: 1.82274...,
Max_Z:: -1.82274... .

My question is still:  why does calling global_minimum(VarContainingExpr, ComputedMinOfThatExpr) have a side effect on VarContainingExpr so that I cannot compute, say, global_maximum(VarContaininExpr, ComputedMaxOfThatExpr) later on without having to use a fresh version of the expression held by VarContainingExpr.
To be clear: the question is not about how minimize_a works, but about why minimize_b doesn't produce results that are identical to minimize_a — should I assume global_minimum is not pure?

Or even a simpler question:
minimize :-
    [X, Y]::real(0.1, 0.9),
    { Z == exp(1/2)*X - 1+log((Y+3/X)/X) },
    writeln(Z),
    clpBNR:global_minimum(Z, Min_Z),
    writeln(Z),
    writeln(Min_Z).

then why does Z, or the 1st argument to global_minimum, get overwritten with what I requested to be stored in the 2nd argument of the predicate:
?- minimize.
_26890{real(0.5037642492953187,6.217190420527862)}
_116{real(1.8227410945780738,1.8227421422963976)}
_116{real(1.8227410945780738,1.8227421422963976)}
true.

I think there's something fundamental you're missing. This:

{ Z == exp(1/2)*X - 1+log((Y+3/X)/X) }

establishes constraints between X,Y and Z. Any changes (narrowing of their values) to any one of them can potentially change the others.
Now when I try to find the minimum value of Z that changes X and Y, what global_minimum does is to find and constrain Z to it's minimum value. So it's going to narrow (not overwrite) in the process. Also note that Z and Min_Z are in fact the same variable (they've been unified in the process).
The question I think you really want to ask is:
?- [X, Y]::real(0.1, 0.9), global_minimum(exp(1/2)*X - 1+log((Y+3/X)/X), Min).
X::real(0.385062117866536, 0.9000000000000001),
Y::real(0.09999999999999999, 0.9000000000000001),
Min:: 1.82274... .

i.e., what's the minimum value of the expression given the ranges of X and Y. Note that while X has narrowed slightly, global_minimum doesn't, in general, solve for the minimizers, i.e., what are the actual values of X and Y that produce the minimum value. For that (in general), you need a second solve step:
?- [X, Y]::real(0.1, 0.9), global_minimum(exp(1/2)*X - 1+log((Y+3/X)/X), Min),solve([X,Y]).
X:: 0.90000...,
Y:: 0.10000...,
Min:: 1.82274... .

Perhaps it's now clearer why asking for the both minimum and maximum values isn't usually what you want. What you're really asking is there an (X,Y) pair that both minimizes and maximizes the expression, which is seldom the case.
Finally, when you say "get overwritten with what I requested to be stored in the 2nd argument of the predicate" suggests you're not quite thinking in logic programming terminology. Variables are not something that represent storage or get overwritten. They're variables in the mathematical sense; they're either unknown (unbound variable) or a known value which does not change (immutable).  (clpBNR intervals are just variables but are constrained to be a range of numbers and that range can only get narrower as more constraints are applied. )
Hope this helps.

Hope this helps.

It does indeed! Thanks a bunch!


Allow users to upload various input files in DICOM

On our web UI, we currently allow users to upload either .nii or .nii.gz for nifti inputs (t1, dwi, func). A user has requested that we allow them to upload DICOMs for each files and we run dcm2niix conversion on the backend.

This will be handled by ezbids


[Task] Handle Local User Removed - Unit Tests, PR 3 of 3

Purpose

Does this introduce a breaking change?

[ ] Yes
[X] No

Pull Request Type
What kind of change does this Pull Request introduce?

[ ] Bugfix
[X] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[ ] Documentation content changes
[ ] Other... Please describe:

Pull request checklist
This PR has considered:

[ ] Color Theming
[X] iOS supported versions (all major versions greater than or equal current target deployment version)
[ ] VoiceOver and Keyboard Accessibility
[ ] Internationalization and Right to Left layouts
[ ] Size classes and window sizes (iPhone vs iPad, notched devices, multitasking, different window sizes, etc)
[ ] View Data Injection
[ ] Demo App UI/UX update

How to Test
run all tests
What to Check

Before
After

Screenshot or description before this change
Screenshot or description with this change

Other Information

closing this PR temporarily since its parent PR has been descoped

merged this PR to another branch of mine as part of rebase


Cydia is missing splash screen when opening up

Describe the bug
Cydia is missing splash screen when opening up
To Reproduce
Steps to reproduce the behavior:

Go to 'Homescreen'
Click on 'Cydia'

Screenshots
If applicable, add screenshots to help explain your problem.

Device (please complete the following information):

iOS Version: 12.4
iOS Device: iPhone 5s
unc0ver Version: 3.5.1

Place an "x" between the brackets if true:

[ x] this is a bug others will be able to reproduce
[ x] this issue is present with all tweaks uninstalled(except for default packages) or disabled
[ ] this issue is present after a rootfs restore
[ x] this issue is present on the latest version of unc0ver

Logs
If applicable, add logs or error messages here.

This should fix itself after a period of time. The first couple of openings will have this for some reason

This bug happens after every respring

I have the same problem.

nvm it's normal again


Installing the package shows UndefinedOptionsException

I cannot install the package. Tried to install using composer require sentry/sentry-laravel:1.0.0 but it shows the error below after autoload.
Laravel: 5.7.28
Browser: Chrome Version 71.0.3578.98 (Official Build) (64-bit)
PHP: 7.3.2
Composer: 1.8.4
  - Installing sentry/sentry-laravel (1.0.0): Loading from cache
php-http/discovery suggests installing puli/composer-plugin (Sets up Puli which is recommended for Discovery to work. Check http://docs.php-http.org/en/latest/discovery.html for more details.)
php-http/message suggests installing slim/slim (Used with Slim Framework PSR-7 implementation)
php-http/client-common suggests installing php-http/logger-plugin (PSR-3 Logger plugin)
php-http/client-common suggests installing php-http/cache-plugin (PSR-6 Cache plugin)
php-http/client-common suggests installing php-http/stopwatch-plugin (Symfony Stopwatch plugin)
Writing lock file
Generating optimized autoload files
> Illuminate\Foundation\ComposerScripts::postAutoloadDump
> @php artisan package:discover

Symfony\Component\OptionsResolver\Exception\UndefinedOptionsException  : The option "user_context" does not exist. Defined options are: "attach_stacktrace", "before_breadcrumb", "before_send", "context_lines", "default_integrations", "dsn", "enable_compression", "environment", "error_types", "excluded_exceptions", "http_proxy", "in_app_exclude", "integrations", "logger", "max_breadcrumbs", "max_value_length", "prefixes", "project_root", "release", "sample_rate", "send_attempts", "send_default_pii", "server_name", "tags".

  at /Users/markandrewkato/Documents/Programming/Gloss/scr/vendor/symfony/options-resolver/OptionsResolver.php: 747
  743:         if (\count($diff) > 0) {
  744:             ksort($clone->defined);
  745:             ksort($diff);
  746:
  747:             throw new UndefinedOptionsException(sprintf((\count($diff) > 1 ? 'The options "%s" do not exist.' : 'The option "%s" does not exist.').' Defined options are: "%s".', implode('", "', array_keys($diff)), implode('", "', array_keys($clone->defined))));
  748:         }
  749:
  750:         // Override options set by the user
  751:         foreach ($options as $option => $value) {
  752:             $clone->given[$option] = true;

  Exception trace:

  1   Symfony\Component\OptionsResolver\OptionsResolver::resolve()
      /Users/markandrewkato/Documents/Programming/Gloss/scr/vendor/sentry/sentry/src/Options.php : 64

  2   Sentry\Options::__construct()
      /Users/markandrewkato/Documents/Programming/Gloss/scr/vendor/sentry/sentry/src/ClientBuilder.php : 116

You are probably upgrading from 0.x, if you remove the user_context line from config/sentry.php you should be good! 👍

@stayallive It worked. Thank you very much!


chg: [hashlookup] adds sha256 support

Hi Florian,
This PR adds support for querying the newly introduced sha256 lookup endpoint.
See https://twitter.com/circl_lu/status/1461643456657473546.
cheers,
jlouis

Any chance to merge it? Thanks a lot.


iOS notifications not working

/pnfw/categories/?os=iOS&token=5e99cccce6eb2770924d49bd5f154970fe283cc809cbc93fbe9f18c12faad078 API Error (401) from IP address 2405:204:e504:eef2:64d5:bac4:f355:6159: Unauthorized, Token not registered. To solve the problem please uninstall and reinstall the app..
Tried so many times
After app install wp plugin show subscriber
But while add a new post no notification sent it says
Finished iOS notificationsShow more details
November 27, 2016 9:44 am
Processing new subpage with 0 tokensShow more details
November 27, 2016 9:44 am
Processing new chunk from offset 0Show more details
November 27, 2016 9:44 am
Starting iOS notificationsShow more details
November 27, 2016 9:44 am
INFO: Disconnected.Show more details
November 27, 2016 5:30 am
INFO: Reading...Show more details
November 27, 2016 5:30 am
INFO: Connected to tls://feedback.push.apple.com:2196.Show more details
November 27, 2016 5:30 am
INFO: Trying tls://feedback.push.apple.com:2196...Show more details
November 27, 2016 5:30 am
Feedback Provider is running.Show more details
November 27, 2016 5:30 am
Now if i check in app parameters push notifications are always disabled
When i try to enable it adds anonymous subscriber in wp panel, but when i again check push setting, it again shows disabled with this devug log
/pnfw/categories/?os=iOS&token=5e99cccce6eb2770924d49bd5f154970fe283cc809cbc93fbe9f18c12faad078 API Error (401) from IP address 2405:204:e504:eef2:64d5:bac4:f355:6159: Unauthorized, Token not registered. To solve the problem please uninstall and reinstall the app..

I can add so many subscribers via one device, by doing enable push->check again-> enable push

Have you followed that? https://github.com/shprink/wordpress-hybrid-client/blob/develop/PUSHNOTIFICATIONS.md#param-tells-me-that-i-am-not-registered

Yes

Even I tested on 3 iOS devices

If /pnfw/categories/?os=iOS&token=5e99cccce6eb2770924d49bd5f154970fe283cc809cbc93fbe9f18c12faad078 does not work then the app cannot know if you are registered or not. That's the reason is shows that you are not register.
Try to find out why this http requests does not work. Maybe share the response with the WordPress plugin creator.
Let me know it works on my side.

Please explain how to do this

With Safari you can open the dev tools to inspect the device. https://developer.apple.com/library/content/documentation/AppleApplications/Conceptual/Safari_Developer_Guide/GettingStarted/GettingStarted.html

i am in big trouble
unable to update macos, having OS X Yosemite with Xcode 7
iPhone has iOS 10.1.1
without update can't get logs
is there any way, because I installed app in Device via TestFlight

To build iOS 10 you need xCode 8 I beleive. I do not have much time to debug this, I would love to have some detailled logs if you have enough knowledge in web development


IHaskell.ipynb replace dead img src

I don't know what image was there before, but it's gone now. Let's put in the
Haskell logo from haskell.org.

Thanks!


python changes have no impact

Hey, I love the project. I might be using it wrong but I can't make any changes in my small test have any impact. I included the index.scip in the repo.
I made and committed a change:
diff --git a/helloer/pkg1/myfunc.py b/helloer/pkg1/myfunc.py
index 64f393e..2c6f279 100644
--- a/helloer/pkg1/myfunc.py
+++ b/helloer/pkg1/myfunc.py
@@ -1,2 +1,2 @@
 def my_func(name: str) -> str:
-    return f"Hello {name}!"
+    return f"Hello there {name}"
diff --git a/index.scip b/index.scip
index 2dd2556..3252213 100644
Binary files a/index.scip and b/index.scip differ

I'm trying it like this:
scip-python index .
srctx diff --lang PYTHON --scip index.scip --outputHtml out.html --nodeLevel func

The full output:
INFO[0000] srctx version v0.11.0 (https://github.com/williamfzc/srctx)
INFO[0000] no config: config file does not exist at /home/pah/ocxmr-repos/opt/examplepy/srctx_cfg.json
INFO[0000] start diffing: /home/pah/ocxmr-repos/opt/examplepy
INFO[0000] func level main entry
INFO[0000] using SCIP as index
INFO[0000] scip -> lsif converted
INFO[0000] read lsif file: /home/pah/ocxmr-repos/opt/examplepy/dump.lsif
INFO[0000] index parser ready
INFO[0000] cache type: file
INFO[0000] creating fact graph
INFO[0000] creating rel graph, reference result map size: 8
INFO[0000] base graph ready. fact: 14, rel 12
INFO[0000] file count: 5
INFO[0000] createing fact with sibyl2
{"level":"info","ts":1701063763.176803,"caller":"core/runner.go:22","msg":"valid file count: 5"}
{"level":"info","ts":1701063763.1772585,"caller":"sibyl2@v0.16.4/extract_fs.go:107","msg":"extract cost: 1 ms"}
{"level":"info","ts":1701063763.178545,"caller":"core/runner.go:22","msg":"valid file count: 5"}
{"level":"info","ts":1701063763.1786468,"caller":"sibyl2@v0.16.4/extract_fs.go:107","msg":"extract cost: 1 ms"}
INFO[0000] fact ready. creating func graph ...
INFO[0000] edges building
INFO[0000] detect entries: 0
INFO[0000] func graph ready. nodes: 2, edges: 2
INFO[0000] file helloer/pkg1/myfunc.py line [2] hit no func
INFO[0000] file index.scip line [] hit no func
INFO[0000] diff finished.
INFO[0000] creating output html: out.html
INFO[0000] creating stat json: stat.json
INFO[0000] everything done.

Change in this function impacts this reference.
The rendered graph has no edges:

stat.json:
{
  "unitLevel": "file",
  "unitMapping": {
    "helloer/pkg1/myfunc.py:#1-#2:||my_func||": 0,
    "helloer/pkg2/fnuser.py:#4-#5:||fn_user||": 1
  }
}

Is how I'm using it wrong?

Thanks for your interest :)
What if change the --nodeLevel func to  --nodeLevel file ?

Thank you for a quick response!
I tried file before and there was no graph and func showed the nodes that's why I didn't try it again. It shows a graph with direct impacts but no indirect impacts:
{
  "unitLevel": "file",
  "unitMapping": {
    "helloer/__init__.py": 3,
    "helloer/pkg1/__init__.py": 4,
    "helloer/pkg1/myfunc.py": 0,
    "helloer/pkg2/__init__.py": 1,
    "helloer/pkg2/fnuser.py": 2
  },
  "impactUnits": [
    2,
    0
  ],
  "transImpactUnits": [
    2,
    0
  ],
  "entries": [
    4,
    1,
    2,
    3
  ],
  "impactEntries": [
    2
  ]
}

It looks like I have forgotten the implementation of TagYellow in file level graph ..
https://github.com/williamfzc/srctx/blob/main/graph/file/api_draw.go
https://github.com/williamfzc/srctx/blob/main/graph/function/api_draw.go
I will fix it soon and thanks for pointing it out :)

Thank you. I also noticed unitLevel": "file" on --nodeLevel func which is very minor.

Hey, I love the project. I might be using it wrong but I can't make any changes in my small test have any impact. I included the index.scip in the repo.
I made and committed a change:
diff --git a/helloer/pkg1/myfunc.py b/helloer/pkg1/myfunc.py
index 64f393e..2c6f279 100644
--- a/helloer/pkg1/myfunc.py
+++ b/helloer/pkg1/myfunc.py
@@ -1,2 +1,2 @@
 def my_func(name: str) -> str:
-    return f"Hello {name}!"
+    return f"Hello there {name}"
diff --git a/index.scip b/index.scip
index 2dd2556..3252213 100644
Binary files a/index.scip and b/index.scip differ

I'm trying it like this:
scip-python index .
srctx diff --lang PYTHON --scip index.scip --outputHtml out.html --nodeLevel func

The full output:
INFO[0000] srctx version v0.11.0 (https://github.com/williamfzc/srctx)
INFO[0000] no config: config file does not exist at /home/pah/ocxmr-repos/opt/examplepy/srctx_cfg.json
INFO[0000] start diffing: /home/pah/ocxmr-repos/opt/examplepy
INFO[0000] func level main entry
INFO[0000] using SCIP as index
INFO[0000] scip -> lsif converted
INFO[0000] read lsif file: /home/pah/ocxmr-repos/opt/examplepy/dump.lsif
INFO[0000] index parser ready
INFO[0000] cache type: file
INFO[0000] creating fact graph
INFO[0000] creating rel graph, reference result map size: 8
INFO[0000] base graph ready. fact: 14, rel 12
INFO[0000] file count: 5
INFO[0000] createing fact with sibyl2
{"level":"info","ts":1701063763.176803,"caller":"core/runner.go:22","msg":"valid file count: 5"}
{"level":"info","ts":1701063763.1772585,"caller":"sibyl2@v0.16.4/extract_fs.go:107","msg":"extract cost: 1 ms"}
{"level":"info","ts":1701063763.178545,"caller":"core/runner.go:22","msg":"valid file count: 5"}
{"level":"info","ts":1701063763.1786468,"caller":"sibyl2@v0.16.4/extract_fs.go:107","msg":"extract cost: 1 ms"}
INFO[0000] fact ready. creating func graph ...
INFO[0000] edges building
INFO[0000] detect entries: 0
INFO[0000] func graph ready. nodes: 2, edges: 2
INFO[0000] file helloer/pkg1/myfunc.py line [2] hit no func
INFO[0000] file index.scip line [] hit no func
INFO[0000] diff finished.
INFO[0000] creating output html: out.html
INFO[0000] creating stat json: stat.json
INFO[0000] everything done.

Change in this function impacts this reference.
The rendered graph has no edges:

stat.json:
{
  "unitLevel": "file",
  "unitMapping": {
    "helloer/pkg1/myfunc.py:#1-#2:||my_func||": 0,
    "helloer/pkg2/fnuser.py:#4-#5:||fn_user||": 1
  }
}

Is how I'm using it wrong?

The func level graph depends on opensibyl/sibyl2.
https://github.com/opensibyl/sibyl2/blob/master/pkg/extractor/python/extractor_python_func.go
It did not handle the root level function, which also needs some fix.
To be honest I prefer using the file graph in production in my own cases, currently.

Thank you. I also noticed unitLevel": "file" on --nodeLevel func which is very minor.

At the current moment, I would suggest that you directly utilize the generated dot file (--outputDot a.dot) for consumption, if you are going to consume the diff data programmatically.
Standard dot format should be easily parsed by other famous graph libs (such as networkx).
Sorry for the bad design in the past. stat.json looks bad actually.

I am wondering why did you choose to use a separate tree-sitter extractor for the functions? I think it should be possible using just LSIF textDocument/references if I understand it correctly, I'm only just starting to research LSIF/SCIP and similar code indexing methods.

I am wondering why did you choose to use a separate tree-sitter extractor for the functions? I think it should be possible using just LSIF textDocument/references if I understand it correctly, I'm only just starting to research LSIF/SCIP and similar code indexing methods.

Because the range concept is different. For example,
# a normal function
def function_name():
    # whatever
    pass

Range
In LSIF: line1 col 5 - line1 col 15
What I want: line1 col1 - line4 col 1

I see that makes sense now. I wonder if SCIP does have this information directly and also what was the motivation behind using LSIF instead of SCIP? My intuition is that LSIF indexers are available for more languages but maybe your reason was different?

You are right. I also noticed that it's really new which was added in one week ago. (https://github.com/sourcegraph/scip-python/commit/1572f2f8c52928a5975bfa27d7120fc7782ea3af)
There is no any other special reasons. Only because when I started this project, SCIP is also young.

I have created another issue for the native SCIP support.
https://github.com/williamfzc/srctx/issues/72
It should not be hard but it really takes some times.


PDF accessibility

I know this project is in it's early stages and I don't want to seem ungrateful for the open source contributions you've brought to the typography community, but I wanted to make sure this is on your radar for this project.
PDFs have a specification that allows them to annotate semantic structure ('tags') on top of whatever visual stuff they contain. This runs parallel to PDF bookmarks, which are helpful for jumping around the table of contents, but tags have even lower-level structure. (I don't know much about the technical stuff so correct me if I'm wrong.)
PDF tags make PDFs readable for screen readers, and are required within certain institutions that have rules around accessibility and equitable access. (For example, in the US Federal agencies must be "508 compliant.")
Word (and probably some other typesetting tools) generate tagged PDFs, but LaTeX has never really been able to do this. I think it would be an amazing contribution to the state of accessibility in academia if  there were a typesetting tool that did generate tagged PDFs.
I am interested in helping with this, but I'm not sure if this project is in a state that's ready for collaboration yet. Also, I have experience in high-level programming languages but I would probably have to do some reading on PDF compilers.

Most of my PDF-making code was ported from the pdfkit project a few years ago. In the past year, pdfkit has added support for Tagged PDF. So the most likely path to supporting Tagged PDF is to go back to pdfkit and port this new code into quad (or more specifically pitfall, which is the PDF-generating part of the library)


Issue with KMS Key Policy Creation

Composition
#Create an IAM Role for custom KMS Grant used by Ecommerce DB
    - name: kms-db-iam-role
      base:
        apiVersion: iam.aws.upbound.io/v1beta1
        kind: Role
        metadata:
          name: kms-db2-role
          annotations:
            crossplane.io/external-name: kms-db2-role
          labels:
            name: kms-db2-role
        spec:
          providerConfigRef:
            name: default
          forProvider:
            region: us-east-1
            assumeRolePolicy: |
              {
                "Version": "2012-10-17",
                "Statement": [
                  {
                    "Effect": "Allow",
                    "Principal": {
                        "Service": "rds.amazonaws.com"
                    },
                    "Action": "sts:AssumeRole"
                  }
                ]
              }
        patches:
          - type: ToCompositeFieldPath
            fromFieldPath: status.atProvider.arn
            toFieldPath: status.iam.grant.arn
#Create a custom KMS for Ecommerce DB
    - name: ecom-db-kms
      base:
        apiVersion: kms.aws.upbound.io/v1beta1
        kind: Key
        metadata:
          name: kms-db2-key
          annotations:
            meta.upbound.io/example-id: rds/v1beta1/instance
          labels:
            name: kms-db2-key
        spec:
          providerConfigRef:
            name: default
          deletionPolicy: Delete
          forProvider:
            region: us-east-1
            deletionWindowInDays: 7
            description: Custom KMS for Ecommerce DB
            tags:
              Name: kms-db2-key
              Env: Development
              region: us-east-1
        patches:
          - type: ToCompositeFieldPath
            fromFieldPath: status.atProvider.Arn
            toFieldPath: status.kms.kmsArn
            policy:
              fromFieldPath: Required
          - type: ToCompositeFieldPath
            fromFieldPath: status.atProvider.keyId
            toFieldPath: status.kms.kmsKeyId
            policy:
              fromFieldPath: Required
#Create an Alias for Ecommerce DB Custom KMS
    - name: ecom-db-kms-alias
      base:
        apiVersion: kms.aws.upbound.io/v1beta1
        kind: Alias
        metadata:
          name: kms-db2-alias
          annotations:
            crossplane.io/external-name: kms-db2-alias
          labels:
            name: kms-db2-alias
        spec:
          providerConfigRef:
            name: default
          deletionPolicy: Delete

          forProvider:
            region: us-east-1
            targetKeyId:
            targetKeyIdSelector:
              matchLabels:
                 name: kms-db2-key

        patches:
           - type: FromCompositeFieldPath
             fromFieldPath: status.kms.kmsArn
             toFieldPath: spec.forProvider.targetKeyId
             policy:
                fromFieldPath: Required
#Create a KMS Grant for Ecommerce DB
    - name: ecom-db-kms-grant
      base:
        apiVersion: kms.aws.upbound.io/v1beta1
        kind: Grant
        metadata:
          name: kms-db2-key-kms-db2-kms-grant
          annotations:
            crossplane.io/external-name: kms-db2-kms-grant
          labels:
            name: kms-db2-kms-grant
        spec:
          providerConfigRef:
            name: default
          forProvider:
            region: us-east-1
            keyId:
            keyIdSelector:
              matchLabels:
                name: kms-db2-key
            granteePrincipalSelector:
              matchLabels:
                name: kms-db2-role
            operations:
              - Encrypt
              - Decrypt
              - GenerateDataKey
              - DescribeKey
        patches:
           - type: FromCompositeFieldPath
             fromFieldPath: status.kms.kmsKeyId
             toFieldPath: spec.forProvider.keyId
             policy:
                fromFieldPath: Required

CompositeResourceDefinition
apiVersion: apiextensions.crossplane.io/v1
kind: CompositeResourceDefinition
metadata:
  name: xkmss.platformref.crossplane.io
  annotations:
      argocd.argoproj.io/sync-wave: "2"
      helm.sh/hook-weight: "2"
      helm.sh/hook: post-install
spec:
  group: platformref.crossplane.io
  names:
    kind: XKms
    plural: xkmss
  versions:
    - name: v1alpha1
      served: true
      referenceable: true
      schema:
        openAPIV3Schema:
          type: object
          properties:
            status:
              type: object
              properties:
                data:
                  type: object
                  properties:
                    currentCanonicalId:
                      type: string
                kms:
                  type: object
                  properties:
                    kmsId:
                      type: string
                    kmsArn:
                      type: string
                    kmsKeyId:
                      type: string
                iam:
                  type: object
                  properties:
                    userPolicy:
                      type: object
                      properties:
                        arn:
                          type: string
                    grant:
                      type: object
                      properties:
                        arn:
                          type: string
                        id:
                          type: string

ERROR
91s (x175 over 4h2m)     Warning  CannotObserveExternalResource  Grant/aws-resource-claim-l5twr-48q92                                    failed to observe the resource: [{0 parsing resource ID: unexpected format of ID ("ecom-db-kms-grant"), expected KeyID:GrantID []}

Status

Spec:
  Deletion Policy:  Delete
  For Provider:
    Grantee Principal:  arn:aws:iam::029425502293:role/kms-db2-role
    Grantee Principal Ref:
      Name:  rds-composite-resource-mghx6
    Grantee Principal Selector:
      Match Labels:
        Name:  kms-db2-role
    Key Id:    arn:aws:kms:us-east-1:029425502293:key/ec83578b-18cb-47c2-a72e-b92bee8e27b0
    Key Id Ref:
      Name:  rds-composite-resource-q89sv
    Key Id Selector:
      Match Labels:
        Name:  kms-db2-key
    Operations:
      Encrypt
      Decrypt
      GenerateDataKey
      DescribeKey
    Region:  us-east-1
  Init Provider:
  Management Policies:
    *
  Provider Config Ref:
    Name:  default
Status:
  At Provider:
  Conditions:
    Last Transition Time:  2023-12-06T10:34:58Z
    Message:               observe failed: failed to observe the resource: [{0 parsing resource ID: unexpected format of ID ("kms-db2-kms-grant"), expected KeyID:GrantID  []}]
    Reason:                ReconcileError
    Status:                False
    Type:                  Synced
Events:
  Type     Reason                           Age                    From                                            Message
  ----     ------                           ----                   ----                                            -------
  Warning  CannotResolveResourceReferences  7m14s (x4 over 7m21s)  managed/kms.aws.upbound.io/v1beta1, kind=grant  cannot resolve references: mg.Spec.ForProvider.KeyID: referenced field was empty (referenced resource may not yet be ready)
  Warning  CannotObserveExternalResource    45s (x22 over 7m5s)    managed/kms.aws.upbound.io/v1beta1, kind=grant  failed to observe the resource: [{0 parsing resource ID: unexpected format of ID ("kms-db2-kms-grant"), expected KeyID:GrantID  []}]

What environment did it happen in?

Crossplane Version: v1.14
AWS Provider Version: v.045.0

think the external-name is not correct:
        kind: Grant
        metadata:
          name: kms-db2-key-kms-db2-kms-grant
          annotations:
            crossplane.io/external-name: kms-db2-kms-grant    # <-- remove this in your composition

@nc-rajeshnair, is this issue still valid, have you tried @haarchri's suggestion about removing the external name?


distclean needs to use a jail

Remove this hack after the change to using port_var_fetch:
injail() {
        "$@"
}


feat: Acos

Feature Request
Describe the Feature Request
Calculates the arccosine (inverse of cosine) of the given input tensor, element-wise.
Full description here: https://github.com/onnx/onnx/blob/main/docs/Operators.md#acos

can i work on this?

https://github.com/gizatechxyz/orion/pull/161


The cluster up script does not sync between kubevirt project and kubevirt ci project

Is this a BUG REPORT or FEATURE REQUEST?:
/kind bug
What happened:
Recently I am doing migration test on ARM64 server by using kind-k8s-1.17 provider. I found the script are not sync between kubevirt project and kubevirt ci project.
e.g. In kubevirt project, the kind provider uses calico CNI, while in kubevirtci project it uses kind default CNI.
Are there any particular reasons for this?

there's a daily job that syncs kubevirtci with the kubevirt/kubevirt repo. We use a PR to sync the repo to make sure CI passes with the new cluster-up changes before the changes are committed.

there's a daily job that syncs kubevirtci with the kubevirt/kubevirt repo. We use a PR to sync the repo to make sure CI passes with the new cluster-up changes before the changes are committed.

Thank


Use com.google.cloud:libraries-bom for dependency management

Moving forward, we're encouraging users to import the com.google.cloud:libraries-bom in the dependencyManagement section of the user's pom.xml to resolve dependency compatibility. Users will no longer need to specify individual version numbers for google-cloud-x libraries.

@chingor13 can you add this to our sample format info? Also, is this an ask for updating existing samples?


fixing scaffolding version issue

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Please upload report for BASE (release-0.3@19f854b). Learn more about missing BASE report.

Additional details and impacted files
@@              Coverage Diff               @@
##             release-0.3     #359   +/-   ##
==============================================
  Coverage               ?   48.88%
==============================================
  Files                  ?       62
  Lines                  ?     2925
  Branches               ?        0
==============================================
  Hits                   ?     1430
  Misses                 ?     1415
  Partials               ?       80

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Variable Capture Question

Based on our understanding of variable capture, local variables have to be effectively final in order to be used in lambda expressions. Can someone explain the rationale behind this? Thanks

Local variables are stored in the stack. In lambda expressions, Java has to make a deep copy of x so it can live outside of its scoped method. When you modify the local variable in the same scoped method after creating the lambda, you're not actually changing the local variable referenced in the lambda, although you expect that to be the case
To keep it simple, Java compiler requires local variables to be effectively final to avoid any misunderstandings, and it is impertinent to note that Java needs the lambda to have access to the latest value of y


#185 SingleFragmentOperation for asynchronous actions

Description
Provides SingleFragmentOperation and SingleAction that encapsulate actions that return Single<FragmentResult>.
Attaches HttpAction and InMemoryCacheAction to use these interfaces.
Attaches CircuitBreakerAction to use FutureAction interface.
Provides unit tests to confirm error handling.
Motivation and Context
#185
Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)

Checklist:

[x] I have read the CONTRIBUTING document.
[x] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.

I hereby agree to the terms of the Knot.x Contributor License Agreement.

Before merging to master please update README and CHANGELOG


Implement quadcopter state space (dynamic model/search space)

Related to https://github.com/roboskel/quadcopter_ompl_planner/issues/2


Article reorganization (teams-client-update.md)

Closes https://github.com/MicrosoftDocs/OfficeDocs-SkypeForBusiness/issues/8364.

@JohanFreelancer9 Copy editing is needed for this PR. Thanks.

@SerdarSoysal PR has been copyedited and is ready for final review, could you please check and merge? Thanks!


Recommend Cocoda at Feedback line

The primary method for feedback should be Cocoda, no?

How do people give feedback via Cocoda? Simply voting on the mapping? Or is it finally time to implement https://github.com/gbv/cocoda/issues/610?

Done.


Add tuxplan support as the default option for custom reproducers

Add support to squad-create-reproducers to make creating TuxPlans the default option when creating custom reproducers. TuxRun custom reproducers can be created using the --local flag.
Builds on https://github.com/Linaro/squad-client-utils/pull/20

Changes made after discussions with Anders:

Changed to produce tuxtest reproducer rather than tuxplan
Changed to fetch tuxsuite_reproducer file rather than the tuxrun reproducer
Moved Tuxplan creation to https://github.com/Linaro/squad-client-utils/pull/22. as this is where it is used

Code ready for review @roxell


chore: clear unused vector

this vector is unused in function, but it was not intercepted in compiling stage

Good catch, it's an unused code.


[DOCFIX] Update chinese doc of docs/_data/table/en/common-configuration.yml

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/11674/
Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/11675/
Test PASSed.

Merged build finished. Test PASSed.


Evaluation

If I understood correctly, at evaluation you run
preds = np.zeros((hp.batch_size, hp.maxlen), np.int32)
for j in range(hp.maxlen):
    _preds = sess.run(g.preds, {g.x: x, g.y: preds})
    preds[:, j] = _preds[:, j]
Does that mean that the encoding part runs at every timestep of the decoding process ?
Thanks for the great work 👍

I'm a little late (and not the original author), but yes that is the correct interpretation.  This is a hack for conceptual simplicity of the evaluation code. The decoder must attend to all previous time steps, but the decoder inputs are not known until we evaluate the softmax of the logits output at the previous timestep, so at the very least we need to run decode again in order to produce the next token. If you poke around at the official implementation in tensor2tensor, you'll see that they make this step more efficient by incrementally caching results during evaluation.


Fix some bugs in SplitContainer

According to the expand flag of the child controls, the position of the origin.

expand flag
1st=false
1st=true

2nd=false
The end of 1st's minimum rect
The begin of 2nd's minimum rect

2nd=true
Same as above
The middle of the container's rect

no_offset_middle_sep/prev_no_offset_middle_sep will record the position relative to the origin, and their sign show the location of the origin.
Fix #64851, fix #64866.

Wow, it fixes the regressions while keeping the original issue fixed. Good job.
Needs a check from @groud

According to the comments in the code, I think there's a misconception about what should be the "zero". Let me list the situations:

If no child is expanded or if the right child only is expanded: the zero is at the end of the first child's minimum rect,
If the left child only is expanded: the zero is at the start of the second child's minimum rect,
If both are expanded: the zero is in the position relative to each child expand_ratio. So, for example, if the first child has an expand ratio of 2 and the second one an expand ratio of 1, then the zero should be at 2/3 of the full width. By default expand ratios are set to one, which means it's the middle.

Can you confirm the last case is processed correctly ?

"Zero" is expected to be the case where expand is enabled for both controls, otherwise, it will not be 0. But it seems to be broken when the minimum size of the child control without expand is 0.
https://github.com/godotengine/godot/blob/ac7b5111f548e87b3555afb4f2a83ecd1ffbe85e/doc/classes/SplitContainer.xml#L21-L23
By the way. What "collapsed" means, it currently only seems to disable the grabber. When expand is enabled for both child controls, it also divides the space proportionally.

"Zero" is expected to be the case where expand is enabled for both controls, otherwise, it will not be 0. But it seems to be broken when the minimum size of the child control without expand is 0.

Not sure what you mean, but the behavior I described in my message is when the split_offsetvalue is 0. This should be the default behavior.

By the way. What "collapsed" means, it currently only seems to disable the grabber. When expand is enabled for both child controls, it also divides the space proportionally.

Yeah that makes sense. It's just a way to "reset" the splitting state and block it. Basically like if you would set the split_offset value to 0 and disable the grabber.

"Zero" is expected to be the case where expand is enabled for both controls, otherwise, it will not be 0. But it seems to be broken when the minimum size of the child control without expand is 0.

Not sure what you mean, but the behavior I described in my message is when the split_offsetvalue is 0. This should be the default behavior.

That is the description of no_offset_middle_sep/prev_no_offset_middle_sep, not for split_offset. They are used to record the minimum size and position (left or right) of child controls.
For split_offet, the more complicated situation may be that the minimum size of the child control changes: it seems that split_offet needs to be clamped when the minimum size becomes larger.

That is the description of no_offset_middle_sep/prev_no_offset_middle_sep, not for split_offset. They are used to record the minimum size and position (left or right) of child controls.

I mean. It's in their name: no_offset_middle_sep is the position of the seperation when split_offset is zero. So all I am asking is whether the behavior I described above is still here after this PR.
Split offset is a value that gets added to no_offset_middle_sep to get the final split position. And indeed, it gets clamped to respected each child minimum size.

split_offset is consistent with the previous behavior.
The meaning of no_offset_middle_sep has changed.
In simple terms no_offset_middle_sep now indicates the relative position of the origin (single axis).
It is also necessary to calculate the absolute position (relative to the left/top side of the container, not the first child control) of the origin (the current one and the previous one) by using the current size of the container.
In this way, the grabber can be positioned relative to the second child control, to keep the second child control‘s size fixed. Especially when the size of the container changes.
Expand only happens when the child control's expand is enabled. This is what this pr expects, but considering the legacy code, if neither is enabled, the expand effect takes effect on the second child control.

split_offset is consistent with the previous behavior.
The meaning of no_offset_middle_sep has changed.
In simple terms no_offset_middle_sep now indicates the relative position of the origin (single axis).
It is also necessary to calculate the absolute position (relative to the left/top side of the container, not the first child control) of the origin (the current one and the previous one) by using the current size of the container.
In this way, the grabber can be positioned relative to the second child control, to keep the second child control‘s size fixed. Especially when the size of the container changes.
Expand only happens when the child control's expand is enabled. This is what this pr expects, but considering the legacy code, if neither is enabled, the expand effect takes effect on the second child control.

In simple terms no_offset_middle_sep now indicates the relative position of the origin (single axis).

Then it should be renamed.

Expand only happens when the child control's expand is enabled. This is what this pr expects, but considering the legacy code, if neither is enabled, the expand effect takes effect on the second child control.

Yeah, that makes sense. That's what I described as the expected behavior.
Anyway, I can't really tell about this PR. For me it does not look right as I think there should not really have the need for a check on a value that should be "linear". Maybe that's just a matter of renaming things though. If @KoBeWi thinks this PR is right, I trust him for the merge, but if others issues arise, I think we shall better revert everything.

If @KoBeWi thinks this PR is right, I trust him for the merge, but if others issues arise, I think we shall better revert everything.

Yeah I just tested all related issues and all seems fine. Can't say if nothing new will appear though.

I think it would be cleaner to revert the two previous PRs first, and then rebase this one to merge it. I can push that now.
It's hard to follow the logic and debug issues when so many regression fixes are piled on top of each other.

I think it would be cleaner to revert the two previous PRs first, and then rebase this one to merge it. I can push that now. It's hard to follow the logic and debug issues when so many regression fixes are piled on top of each other.

Done with ecfff5b75e175a34cf891b4e0547ab761f212d44. This PR can be rebased to include only the new changes that would fix #43749 again without introducing the regressions found so far.

#43749 is actually caused by the change of the minimum size of the child controls.
There, we want the grabber to be fixed to one side of the container. To implement it we need the following information:

Which side needs to be fixed?
Grabber offset relative to that side.

The record of the previous information now only has two variables, prev_no_offset_middle_sep and split_offset, although the position of the grabber relative to the left side of the container can be calculated. But they can't say which side they want to be fixed to before.
So this pr directly uses prev_no_offset_middle_sep to record the origin information of the previous split_offset. It also shows the previous state of expand (via 1/0/-1), which side we want to be fixed to.
prev_no_offset_middle_sep adds split_offset to calculate the offset of the grabber relative to the side of the container that you want to fix.

Superseded by #65028.


C# code generation fails when using static imports in the initializer of exported variables

Tested versions
Found in version 4.3.beta1.mono
System information
Godot v4.3.beta1.mono - Windows 10.0.19045 - Vulkan (Forward+) - dedicated GeForce RTX 3070 () - 13th Gen Intel(R) Core(TM) i7-13700K (24 Threads)
Issue description
I usually use static imports in C# to improve the legibility of commonly used APIs, such as Godot.GD and Godot.Mathf.
I just found that the code generation for GetGodotPropertyDefaultValues() doesn't take static imports into account, and fails to generate code any exported variable uses a Function from a statically imported library in its initializer.
Steps to reproduce
Create a blank project and add the following to a new script:
using Godot;
using static Godot.Mathf;

public partial class Test : Node
{
    [Export] private float angle = DegToRad(10);
}

Build the project and notice the following error:
CS0103: The name 'DegToRad' does not exist in the current context Godot.SourceGenerators\Godot.SourceGenerators.ScriptPropertyDefValGenerator\Test_ScriptPropertyDefVal.generated.cs(15,39)

Minimal reproduction project (MRP)
N/A

I didn't assign an initial value to my export variable, but I still encountered a compile error with the same issue. Whether the variable or attribute is public or private, as long as I use [Export], it causes a compile error. Have you found any solutions yet?


Replace custom checkstyle config with one in spring-cloud-build

See: https://github.com/spring-cloud/spring-cloud-build/blob/master/spring-cloud-build-tools/src/main/resources/checkstyle.xml
This will likely involve some fixes in the codebase to satisfy rules missing in our current checkstyle.xml.

Ones you finish migration please let me know, I will add your project to checkstyle CI to make sure new releases of checkstyle do not make regression.

@romani Will do! Is there anything that's preventing you from adding the project to checkstyle CI now? We have checkstyle enabled in the project, it's just that some of these rules are currently commented out.

Please give me command to run checkstyle on this project, I need to be sure it fails with error, and it can use latest version of checkstyle

@romani This should do it:
./mvnw checkstyle:check@checkstyle-validation

Can you add this command to your CI - https://github.com/spring-cloud/spring-cloud-gcp/blob/master/.travis.yml to let be sure you keep it serious, and we can rely that you do not allow violations in master branch, so we can always use master's HEAD

This checkstyle execution is already bound to the validate Maven phase.
Since the validate phase is the first phase in the Maven lifecycle, we actually run it three times during the build. Once during install phase, once during unit tests, and another time during integration tests. Is running it three times serious enough? :smile:

Is running it three times serious enough?

thanks a lot for hit, https://github.com/checkstyle/checkstyle/issues/6209

@meltsufin or @elefeint ,
issue is closed but there are bunch of violations in codebase from checkstyle, look at details of our try to hook your project in our no-regression testing - https://github.com/checkstyle/checkstyle/pull/8106 .
Please explain why it happening. We need no violations on each commit to make collaboration efficient. It would be awesome if your CI failing on non-resolved chekcstyle violations.

@romani Your checkstyle rule set seems stricter than the Spring Cloud one. For example, LineLength is more of a general suggestion than strict rule in Spring Cloud projects; it's been disabled in the build project for a while.
Is it possible to have spring-cloud-gcp in the checkstyle CI with our current configured checkstyle and exclusion files?


token verification

Describe the feature you would like to see
To avoid returning an invalid token, I need to check it, but I don't know how the array of this token is formed. Would you help me? Grateful
function ValidaToken($Token){
	$tokens = ['eQbb6IpuR8k:APA91bFWUhhkaZjnmxo9WolwRrI6SfiDRc-9pZwulB9B1XSH0uJhbR7QqZyhqB7TKkOwLx9aovICqd0av9Rh-9zJ1dBuSxy1TOdp5avQ3tZPo0q_wHQ9hw356tK7okVQwCgQeMU2v8th'];
	return $messaging->validateRegistrationTokens($tokens);
}

as you can see I test one token at a time, how do I form this array correctly. Grateful

This looks right, but I notice that you use $messaging without declaring it first. Are you in the context of a class and meant to use $this->messaging?
Please refer to https://firebase-php.readthedocs.io/en/stable/cloud-messaging.html#validating-registration-tokens to know what you can expect this method to return.
FYI, feature requests are meant to be used for features the SDK doesn't already have 😅  When you created this issue, you were given multiple options on how to get support. "How to use" questions are best suited for the Community Discord Server 🙏


Create a foreground service and migrate testing logic into service

Create MediaAppTestService.kt, which will start a foreground service with a notification when it is started.
Create a binder/callback communication channel between MediaAppTestService and MediaAppTestingActivity.
Separate testing logic from MediaAppTestingActivity and MediaAppTestSuite and move it into MediaAppTestService.

TODO: Need to remove all context-related code from MediaAppTestService.

@romanofranz Could you review this? Thanks!


SPP description

coverage: 92.832%. remained the same
when pulling c552a0a8b9cb90c8e5a546009ed81d03a3e1db8f on antgonza:SPP-description
into 741631442dfefa8cb447e12040698118999b654a on qiita-spots:dev.

This has been approved by @cguccione.


Fix typo in backup and restore command examples

Motivation
After renaming the commands, the examples shown in the help have not been updated.
Checklist

[x] Code follows coding conventions held in this repo
[ ] Automated tests have been added
[ ] Tests are passing
[ ] Docs have been updated (if applicable)
[ ] Temporary settings (e.g. variables used during development and testing) have been reverted to defaults

How to test

Hi @JiriLojda,
I am unable to set up a testing environment as per your requirements. My subscription is only capable of holding 1 space.
Therefore, I cannot even import the tests/integration/backupRestore/data/backup.zip into a project I own. Furthermore, I am limited to 2 environments per project, which I expect to become another issue when trying to pass the test:integration test.
I am unaware of the resulting security implications, but I want to ask if using the pull_request_target event instead of pull_request in your GitHub Action workflows would be considerable.
Please let me know, if you have other suggestions.


nixos/microbin: init

Description of changes

add module for microbin
Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
23.11 Release Notes (or backporting 23.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

FYI, https://github.com/NixOS/nixpkgs/pull/251996

Seems like #251996 was merged. Maybe it's better to close this PR, and rather follow up the existing module if you feel like anything is missing?


Move app/ to tests/

There's an app/ folder that I used to manually test and later within my testsuite. It makes more sense to move this app/ folder to the tests/ directory.

We run into a couple problems with this:

Where to put it. It doesn't make sense in the root of the tests directory, imo. But it also gets weird if you throw it in the integrations folder. Also not sure if that would cause composer problems since we'd have two PSR-4 namespaces in the same directory.

We are not loading from autoload-dev for Tempest. Giving it further thought though, it makes sense for that to only be a dev namespace and I can think of scenarios where you might have a Tempest package only in development (e.g., debug bar, etc.)

Where to put it. It doesn't make sense in the root of the tests directory, imo. But it also gets weird if you throw it in the integrations folder. Also not sure if that would cause composer problems since we'd have two PSR-4 namespaces in the same directory.

Doesn't this kind of mean the current structure is good-ish? It's already contained in a folder outside of src, and mimics a real-life project perfectly.
I'm actually kind of inclined to keep it as-is for now, now that you've said this. It's definitely not in the way of 1.0, and there doesn't seem to be an alternative that's better.

We are not loading from autoload-dev for Tempest. Giving it further thought though, it makes sense for that to only be a dev namespace and I can think of scenarios where you might have a Tempest package only in development (e.g., debug bar, etc.)

Good point, not for 1.0 but afterwards. I made an issue: https://github.com/tempestphp/tempest-framework/issues/182


Input validation in the login form

Validate that the input is a valid URL

https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/url

Validation also should include that the given URL corresponds to a valid IdP/WebId, if not then fail without taking the user to a different page.


replace isinstance(...,int) with is_integer(...)

This tripped me up a lot in the early days.  It's fairly easy to end up with a numpy integer instead of an int, and then unexpected things happen.

strictly necessary
Probably not...  I can't actually remember the failing cases, but it made me crazy enough at the time to write the patch :)  I was also not sure, as I submitted this, if it might not be safer to to use is_integer for the class-membership tests (so that it behaves the way people expect) but still cast to int afterwards so we don't just move the problems elsewhere?

some comments:

I can't imagine how can we have something which is not a pure int in function.py
the fix in operator.py will be dropped as part of #715 , which entirely drops that horrible piece of code
the fixes in space.py are reasonable . We might enforce int in there, yeah...

(sorry, I accidentally closed the PR for a split second)

Roger, will cut it back to just space.py and then can go in after #715

Codecov Report

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

@@           Coverage Diff           @@
##           master     #717   +/-   ##
=======================================
  Coverage   87.26%   87.26%
=======================================
  Files         100      100
  Lines        9846     9846
  Branches     1990     1990
=======================================
  Hits         8592     8592
  Misses       1018     1018
  Partials      236      236

Impacted Files
Coverage Δ

devito/ir/support/space.py
87.63% <100%> (ø)
: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 865fbd6...b69db1e. Read the comment docs.

merged.


Move tests which require chrono-tz feature from arrow-cast to arrow

Which issue does this PR close?

Closes #3219.
Closes #3220.
Closes #3221.
Rationale for this change

What changes are included in this PR?

Are there any user-facing changes?

Strangely I can't see this in the CI output, but running cargo test -p arrow --features=force_validate,prettyprint,ipc_compression,ffi,dyn_cmp_dict,dyn_arith_dict,chrono-tz locally it runs the test?

I see it in the CI output at https://github.com/apache/arrow-rs/actions/runs/3586065699/jobs/6034811204:
     Running tests/array_cast.rs (target/debug/deps/array_cast-6a755e3bff422147)

running 3 tests
test test_cast_timestamp_to_string ... ok
test test_timestamp_cast_utf8 ... ok
test test_can_cast_types ... ok

test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s

Aah I was using the browser search not the one built into the UI :+1:


Going back to previous screen stops working after switching back to StackNavigator

Using
React Native: 0.61.5
React Navigation: 4.0.5
react-navigation-drawer: 1.4.0
react-navigation-stack: 1.7.3
react-navigation-tabs: 1.2.0
react-native-screens: 2.0.0-alpha.12
After I switch back to the StackNavigator I'm unable to go back to the previous screen in the stack using goBack, pop or the back button on the header.
I've looked into the state being returned from StackRouter and the new state is equal to the initial state (the route I'm navigating to is 2nd entry on the routes property but this happens regardless of the route selected) which is to be expected.
This only occurs after I navigate to this stack navigator with the switch navigator by doing a navigate to the stack navigator.

It turns its an issue with React-native-screens, downgrading to 1.0.0-alpha.23 fixes it.


Fix deprecated function getInverse()

Fixed to work without warning in latest THREE.js build (r128)

Thanks!


split tapir module

Codecov Report

Merging #73 (26320b0) into master (669ee55) will increase coverage by 3.67%.
The diff coverage is 0.00%.

:exclamation: Current head 26320b0 differs from pull request most recent head 2fcaf50. Consider uploading reports for the commit 2fcaf50 to get more accurate results

@@            Coverage Diff             @@
##           master      #73      +/-   ##
==========================================
+ Coverage   48.70%   52.37%   +3.67%
==========================================
  Files          73       70       -3
  Lines        1039      947      -92
  Branches       32       25       -7
==========================================
- Hits          506      496      -10
+ Misses        533      451      -82

Impacted Files
Coverage Δ

.../scala/org/bitlap/zim/server/api/ActuatorApi.scala
0.00% <ø> (ø)

...main/scala/org/bitlap/zim/server/api/OpenApi.scala
0.00% <ø> (ø)

...c/main/scala/org/bitlap/zim/server/api/WsApi.scala
0.00% <ø> (ø)

...n/scala/org/bitlap/zim/server/api/ZimUserApi.scala
0.00% <ø> (ø)

...zim/server/api/endpoint/SecurityUserEndpoint.scala
0.00% <0.00%> (ø)

...g/bitlap/zim/server/api/endpoint/ZAuthorizer.scala
0.00% <ø> (ø)

...itlap/zim/server/application/impl/ApiService.scala
3.12% <ø> (ø)

...tlap/zim/server/application/impl/UserService.scala
69.11% <ø> (ø)

...n/scala/org/bitlap/zim/tapir/ApiErrorMapping.scala

...main/scala/org/bitlap/zim/tapir/ApiJsonCodec.scala

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 669ee55...2fcaf50. Read the comment docs.


Value as binary

Add support to inport/export configurable element in binary format

This pull request is now managed with CodeReviewHub. Refresh.

@krocard @OznOg @cc6565 @dawagner please review

There is an asymmetry between how the data is printed and how it is read:

It is printed without any whitespace but the user is expected to pass each byte as a separate argument on the command line
A remote-process user will receive data on the standard output but can't pass data on the standard input (this is not libparameter's fault but a more general issue)
It is printed with a "0x" but the user may pass it with or without a "0x" (this is maybe not an issue but feels a bit odd)

:-1: (I may have missed some bits but I'll review again once the current comments have been addressed)

@krocard Please resubmit against master

@miguelgaio Please resubmit against serialization_api branch.

Partially resubmitted as #280

The rest of this PR has been resubmitted as #286.

:+1:  resubmited


block range is too wide

Details: block range too wide 15
Version<EMAIL_ADDRESS>2:21:46 Log filter task failed, retrying... [26868245, 26918244] (contract=Contract_Name, network=someTestnet, error=RpcRequestError: PC Request failed. PM WARN historical
Granted this is an rpc issue, but there's no commercial rpc available for this particular network and I wish there was a way to configure it to have smaller blockDelta

Hi! You can set the maxBlockRange config option for your contract(s). https://ponder.sh/docs/api-reference/config#contracts
Can you share which RPC URL/provider you're using? Our goal is to handle as many of these kinds of errors as we can, so that users don't run need to set maxBlockRange if avoidable.

hey @0xOlias just an FYI, I ran into this on Base Sepolia using Alchemy. Specified 2_000 in my contracts config and all was good.


Android 9 immersive mode issue

"on android 9.0 the auto hide action bar is very jittery in its transition, full screen immersive mode doesn't return to immersive mode once you've pulled upon the nav bar.",

Tested and working on Android 9 AOSP


Expanding the cases where the server_entry gets cleared on error.

Trying to address crashes identified in issue #2996

Based on the discussion in the associated issue,  I made another update on the PR.  Make the server_entry cleanup broad again and reworked the test in is_retryable to be ok if the server_session has been cleared.

Cherry-picked to 7.1.x

I've reverted this from 7.1.x, since we were seeing a rare crasher with it.


How can you setup dfx.json to use mops.toml files in subdirectories for each canister?

I have this canisters and i have 2 different mops.toml files in this subdirectory backend/apps/app2/canister and this one backend/apps/app1/canister
{
    "canisters": {
        "app2": {
            "main": "backend/apps/app2/canister/src/main.mo",
            "build": "cd backend/apps/app2/canister && mops sources",
            "type": "motoko"
        },
        "app1": {
            "type": "motoko",
            "main": "backend/apps/app1/canister/src/main.mo",
            "build": "cd backend/apps/app1/canister && mops sources"
        }
    }
}

If i combine the packages in mops.toml and have that in the root of my folders and instead use this setup in my dfx.json it works
{
    "canisters": {
        "app2": {
            "main": "backend/apps/app2/canister/src/main.mo",
            "type": "motoko"
        },
        "app1": {
            "type": "motoko",
            "main": "backend/apps/app1/canister/src/main.mo",
        }
    },
    "defaults": {
        "build": {
            "packtool": "mops sources"
        }
    }
}

Do i need to have a dfx.json for each sub directory

Do i need to have a dfx.json for each sub directory

Yes, I think this is the only way - dfx.json and mops.toml for each sub directory


Add golden tests for creating invoices

Summary
The current invoice tests are hard to extend as they build the complete database by hand and try to parse the complete invoice.
This PR introduces golden test for generating invoices. It uses the report function to fill the database with fake data and we compare the resulting invoice with a golden file. This still requires us to actually manually look at the created invoice but we should be able to spot errors that are introduced.
The test code is not especially more readable but it's a bit simpler to setup complex test cases. We handle a lot of edge cases we did not consider earlier.
See #55
Checklist

[x] Categorize the PR by setting a good title and adding one of the labels:
bug, enhancement, documentation, change, breaking, dependency
as they show up in the changelog
[x] Update tests.
[x] Link this PR to related issues.

I introduce these golden test as part of the invoice test in ./pkg/invoice. We generally do more of an integration test and also test the reporting. Should this rather be moved to ./tests/ or similar?


Fix lineage plugin UT for Spark 4.0

:mag: Description
build/mvn clean test -Pscala-2.13 -Pspark-master -pl :kyuubi-spark-lineage_2.13

- test group by *** FAILED ***
  org.apache.spark.sql.catalyst.ExtendedAnalysisException: [DATATYPE_MISMATCH.BINARY_OP_WRONG_TYPE] Cannot resolve "(b + c)" due to data type mismatch: the binary operator requires the input type ("NUMERIC" or "INTERVAL DAY TO SECOND" or "INTERVAL YEAR TO MONTH" or "INTERVAL"), not "STRING". SQLSTATE: 42K09; line 1 pos 59;
'InsertIntoStatement RelationV2[a#546, b#547, c#548] v2_catalog.db.t1 v2_catalog.db.t1, false, false, false
+- 'Aggregate [a#543], [a#543, unresolvedalias('count(distinct (b#544 + c#545))), (count(distinct b#544) * count(distinct c#545)) AS (count(DISTINCT b) * count(DISTINCT c))#551L]
   +- SubqueryAlias v2_catalog.db.t2
      +- RelationV2[a#543, b#544, c#545] v2_catalog.db.t2 v2_catalog.db.t2
  at org.apache.spark.sql.catalyst.analysis.package$AnalysisErrorAt.dataTypeMismatch(package.scala:73)
  at org.apache.spark.sql.catalyst.analysis.CheckAnalysis.$anonfun$checkAnalysis0$7(CheckAnalysis.scala:315)
  at org.apache.spark.sql.catalyst.analysis.CheckAnalysis.$anonfun$checkAnalysis0$7$adapted(CheckAnalysis.scala:302)
  at org.apache.spark.sql.catalyst.trees.TreeNode.foreachUp(TreeNode.scala:244)
  at org.apache.spark.sql.catalyst.trees.TreeNode.$anonfun$foreachUp$1(TreeNode.scala:243)
  at org.apache.spark.sql.catalyst.trees.TreeNode.$anonfun$foreachUp$1$adapted(TreeNode.scala:243)
  at scala.collection.immutable.Vector.foreach(Vector.scala:1856)
  at org.apache.spark.sql.catalyst.trees.TreeNode.foreachUp(TreeNode.scala:243)
  at org.apache.spark.sql.catalyst.trees.TreeNode.$anonfun$foreachUp$1(TreeNode.scala:243)
  at org.apache.spark.sql.catalyst.trees.TreeNode.$anonfun$foreachUp$1$adapted(TreeNode.scala:243)
  ...

Types of changes :bookmark:

[x] Bugfix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Test Plan 🧪
Pass UT.

Checklist 📝

[x] This patch was not authored or co-authored using Generative Tooling

Be nice. Be informative.

Thanks, merged to master


[WIP] Transaction order conformance test for state stores

Description
Introduces a new test that checks the order of transactions. Say a transaction that contains the following:
upsert k1 v1
delete k1
upsert k2 v2

The order of operations must be respected, and k1 should be deleted, whilst k2 should have a value of v2.
Note, an anomaly was found in Cosmos DB state store in #1209, and it was also found that the transaction run fails to maintain the order in alternate runs.
Issue reference
We strive to have all PR being opened based on an issue, where the problem or feature have been discussed prior to implementation.
Please reference the issue this PR will close: #1210
Checklist
Please make sure you've completed the relevant tasks for this PR, out of the following list:

[X] Code compiles correctly
[X] Created/updated tests
[ ] Extended the documentation / Created issue in the https://github.com/dapr/docs/ repo: dapr/docs#[issue number] (NA)

Cosmos DB fails the new test:


web todo: Type Clarification UI

We need a UI to ask a user to select from a set of possible types once they put in some examples.

Solved by: dd2cc0083e28c4e96ebfdf3d28cdeee5fd554086


Create Basic Documentation

Create Basic Documentation
Motivation
There is no documentation.
Nice to Haves

A few Jupyter Notebooks that demonstrate the functionality of running a basic backtest. They could give examples for basic usage of DataReaders, Orders, and FieldOperations; they could also do a survey of the current Utils sub-module.
An auto-updating README.md that tracks a few of the aforementioned Jupyter Notebooks to create a nice little walk-through of the basic usage.

/cib

Still not solved!

The continuous integration agent is unable to figure out SSH keys.
Still haven't added the docs for example usage.


Unexpected token '

Upon opening JupyterLab I get an error message that says the following...
"A JavaScript error occurred in the main process
Uncaught Exception:
SyntaxError: Unexpected token '

I tried updating to the latest version but it didn't work

When I try to create a new session, it gets stuck on this screen

When I try to create a new session, it gets stuck on this screen

@OmniJax Thanks for opening this issue! From your first screenshot, I see the error is; SyntaxError: Unexpected token ", ""… is not valid JSON. How did you install JupyterLab Desktop? Which OS (name and version) are you using? If you launch JupyterLab Desktop from a terminal, do you see any errors in the terminal?

Hi! I am using win10, and I installed it by "JupyterLab-Setup-Windows-x64.exe".
Now I can use Jupyter-desktop after uninstalling the jupyterlab-desktop and deleting the folder 'C:\Users\XXX\AppData\Roaming\jupyterlab-desktop'.
Now my problem is, when I try to create new session in welcome page, it will get stuck in “creating new session” stage. I can firstly execute “jupyter lab —no-browser” in cmd, and then connect to it in Jupyter-desktop, but it will be more troublesome. Actually I didn't have this problem before, it will help me automatically create a session and enter it.
thank you!

@JasonWeill
Hi! I am using win10, and I installed it by "JupyterLab-Setup-Windows-x64.exe".
Now I can use Jupyter-desktop after uninstalling the jupyterlab-desktop and deleting the folder 'C:\Users\XXX\AppData\Roaming\jupyterlab-desktop'.
Now my problem is, when I try to create new session in welcome page, it will get stuck in “creating new session” stage. I can firstly execute “jupyter lab —no-browser” in cmd, and then connect to it in Jupyter-desktop, but it will be more troublesome. Actually I didn't have this problem before. It will help me automatically create a session and enter it.
thank you


Auto Play delay

How to set the delay time for the autoplay? It changes too fast.
Also, I can't find a way for the autoplay to start over again after it reaches the end.

autoplayTimeout=2000
"Time elapsed before advancing slide in autoplay."
#196
speed=500
"Slide transition speed. Number of milliseconds accepted."
#265


Add Python Interface:  XGBRanker and XGBFeature

XGBRanker and XGBFeature are available in my repository XGBoostExtension.
I will request a code merge if necessary.
Currently there is only python-package. If you are familiar with R, please help me write R-package.
Why we need XGBRanker?

Python rank example is not available.
Original  rank example is too complex to understand and not easy to call. Too many people don't know how to use XGBoost to rank on StackOverflow.

Why we need XGBFeature?

With Facebook's method using GBDT+LR to improve CTR, we need to get predicted value of every tree as features.
Currently, we use the funciton 'apply' to get predicted values of trees. Howerver, it can't work together with Scikit Learn directly. Because Scikit  Learn only use 'transform/fit/predict' interfaces.

In conclusion, we need a simple wrapper  to help users to use ranking & predicted_values.
Now I'm working on it. I can request a code merge if necessary.

Hi,
I've got a problem while launching cross validation in the 'rank:pairwise' setting.
After setting up the DMatrix and using the set_group() method (I've passed to this method a numpy.array data structure), I've encountered a problem while CrossValidation.
Here is my Python source code:
xgdmat = xgb.DMatrix(X_training, y_training) # Create our DMatrix to make XGBoost more efficient
xgdmat.set_group(group=groups_query_id) # Set the query_id values to DMatrix data structure
model_parameters = {'objective': 'rank:pairwise', 'seed': 0, 'booster' : ['gbtree', 'gblinear, dart'],
'eta': [0.1, 0.2, 0.3, 0.4, 0.5], 'gamma' : [0, 1],
'subsample': [0.5, 0.75, 0.9],
'max_depth': [3, 5], 'min_child_weight': 1, 'max_delta_step' : 0,
'colsample_bytree': [0.5, 0.75, 0.9], 'colsample_bylevel' : [0.5, 0.75, 0.9],
'lambda' : 1, 'alpha' : 0, 'tree_method' : ['auto', 'exact', 'approx', 'hist']}
cv_xgb = xgb.cv(params=model_parameters, dtrain=xgdmat, num_boost_round=1000, nfold=10, metrics=['auc', 'ndcg', 'map'], early_stopping_rounds=100) #THE PROBLEMS OCCUR HERE!!!
print cv_xgb.tail(5)
final_gb = xgb.train(model_parameters, xgdmat, num_boost_round=500)
When I launch this program, I find this kind of problem:
[15:43:58] dmlc-core/include/dmlc/logging.h:235: [15:43:58] src/c_api/c_api.cc:342: Check failed: (src.info.group_ptr.size()) == (0) slice does not support group structure
Traceback (most recent call last): File "/Users/edoardo/PycharmProjects/MasterThesisProject/extra/Prova.py", line 225, in metodo3() File "/Users/edoardo/PycharmProjects/MasterThesisProject/extra/Prova.py", line 164, in metodo3 metrics=['auc, ''ndcg', 'map'], early_stopping_rounds=100) File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/xgboost/training.py", line 371, in cv cvfolds = mknfold(dtrain, nfold, params, seed, metrics, fpreproc, stratified, folds) File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/xgboost/training.py", line 248, in mknfold dtrain = dall.slice(np.concatenate([idset[i] for i in range(nfold) if k != i])) File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/xgboost/core.py", line 531, in slice ctypes.byref(res.handle))) File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/xgboost/core.py", line 127, in _check_call raise XGBoostError(_LIB.XGBGetLastError()) xgboost.core.XGBoostError: [15:43:58] src/c_api/c_api.cc:342: Check failed: (src.info.group_ptr.size()) == (0) slice does not support group structure
How can I solve this problem?

@bigdong89 It would be very very useful XGBRanker! I hope to use this very soon! ;)
You have right: no-one can work correctly without any problems in 'rank:pairwise' setting!

@TheEdoardo93 XGBRanker and XGBFeature are available in my repository XGBoostExtension.
Please try it and tell me whether it is easy enough.

@TheEdoardo93
"   xgdmat.set_group(group=groups_query_id) # Set the query_id values to DMatrix data structure "
It is wrong to set groups_query_id ! You should set the group like:
group=[ query_id0_num, query_id1_num, query_id2_num, ...]


Can RSA objects be reused with RSA_sign(...)

version ：openssl-devel-1.0.1e-57.el6.x86_64
os： centos
function：
int RSA_sign(int type, const unsigned char *m, unsigned int m_len,
unsigned char *sigret, unsigned int *siglen, RSA *rsa);
Can RSA objects be reused with RSA_sign(...)?  the RSA object only can be accessed by one thread.

Yes, they can be reused.


Hard to read the status bar

As you see below, PANEL, TAB, RESIZE, ... is hard to read

I'm on zellij v0.40.1 and this is what zellij, on the macchiato flavor, with the interface locked, looks like:

It seems more readable than what your screenshot shows. Can you provide more details about your setup? Configuration, version, etc.


Websocket is not connected

By running
APKSIGNER_PATH=/home/learntheropes/Android/Sdk/build-tools/34.0.0/apksigner zapstore publish peach --overwrite-release

I get
ERROR WebSocket is not connected.

#0      _WebSocketImpl.connect (dart:_http/websocket_impl.dart:1011)
#1      WebSocket.connect (dart:_http/websocket.dart:320)
#2      WebSocketClient$VM.connect (package:ws/src/client/ws_client_vm.dart:102)
#3      WebSocketClient.connect.<anonymous closure>.<anonymous closure> (package:ws/src/client/ws_client.dart:116)
#4      new Future.sync (dart:async/future.dart:313)
#5      WebSocketClient.connect.<anonymous closure> (package:ws/src/client/ws_client.dart:116)
#6      WebSocketTask.call (package:ws/src/util/event_queue.dart:88)
#7      WebSocketEventQueue._exec.<anonymous closure> (package:ws/src/util/event_queue.dart:56)
#8      Future.doWhile.<anonymous closure> (dart:async/future.dart:720)
#9      _RootZone.runUnaryGuarded (dart:async/zone.dart:1594)
#10     _RootZone.bindUnaryCallbackGuarded.<anonymous closure> (dart:async/zone.dart:1633)
#11     Future.doWhile (dart:async/future.dart:735)
#12     WebSocketEventQueue._exec (package:ws/src/util/event_queue.dart:50)
#13     WebSocketEventQueue.push (package:ws/src/util/event_queue.dart:20)
#14     WebSocketClient.connect (package:ws/src/client/ws_client.dart:110)
#15     WebSocketPool.initialize (package:purplebase/src/pool.dart:29)
#16     RelayMessageNotifier.initialize (package:purplebase/src/relay.dart:115)
#17     publish (package:zapstore_cli/commands/publish.dart:47)
<asynchronous suspension>
#18     PublishCommand.run (package:zapstore_cli/main.dart:175)
<asynchronous suspension>
#19     CommandRunner.runCommand (package:args/command_runner.dart:212)
<asynchronous suspension>
#20     main (package:zapstore_cli/main.dart:37)
<asynchronous suspension>

What could be the issue?

I get ERROR WebSocket is not connected. just by running zapstore install myapp.apk

Which version are you running? zapstore -v

zap.store 0.1.0

Makes sense! 0.1.0 points to relay.zap.store which obviously is down. Please upgrade to 0.1.2 . https://zapstore.dev/download
In general, please try to make sure you are running the latest.

I switch with
git checkout 0.1.2
but I'm still on zap.store 0.1.0
How to fix?

I'm confused - you pull the code but what are you running?
I suggest the following IF you want to run from source:
git pull origin
git checkout 0.1.2
dart pub get
dart compile exe lib/main.dart -o zapstore-0.1.2
chmod +x zapstore-0.1.2
./zapstore-0.1.2

Once you run a new version of the program for the first time, it will auto-install itself. So at this point you can start using zapstore from your PATH. zapstore -v should return 0.1.2
If you run into version problems for whatever reason, try rm -f ~/.zapstore/zapstore and again

So, I'm running it from scratch:
git clone https://github.com/zapstore/zapstore-cli.git
cd zapstore-cli
git checkout 0.1.2
dart pub get
dart compile exe lib/main.dart -o zapstore-0.1.2
chmod +x zapstore-0.1.2
./zapstore-0.1.2

But when I run zapstore -v I get:
bash: /home/learntheropes/.zapstore/zapstore: No such file or directory

Sorry, my mistake I think: try ./zapstore-0.1.2 list - that should install. If it doesn't work please paste the output of the command here


Support dpdk EAL bond mode?

Hello, can you tell me the ans cli support DPDK bond  ?

Don't support it now.


URGENT: Update Compass to emit the event nonce for Testnet and Mainnet Proposal 11/14

At the moment, gravity events emitted from the contract have the following signature:

SendToPalomaEvent(address,address,string,uint256)
BatchSendEvent(address,uint256)

It's necessary that all events observed by Pigeons contain an event nonce, that is continuously increased with every event emitted by the contract.
At the moment, the uint256 field of the BatchSendEvent() only emits the batch nonce that was used when calling it.
I do not know what the uint256 field of the SendToPalomaEvent emits at the moment.
But the event nonce should be included in all events emitted, and shared across every event.

Here is an example of SendToPaloma event on bnb for reference as well https://bscscan.com/tx/0xedbdabffd33f56e550d2d6aa1787913d8810f6ef589696257afa360b278df016#eventlog

@webelf101
Because we already have validators with populated data for event nonces, we'd need to event to start emitting nonces from 100'000 instead of 0.


Fix partial parsing issue not working for changing semantic model name

resolves #8859

Problem

Solution

Checklist

[x] I have read the contributing guide and understand what's expected of me
[x] I have run this code in development and it appears to resolve the stated issue
[x] This PR includes tests, or tests are not required/relevant for this PR
[x] This PR has no interface changes (e.g. macros, cli, logs, json artifacts, config files, adapter interface, etc) or this PR has already received feedback and approval from Product or DX
[x] This PR includes type annotations for new and modified functions

🎉
We should check if this also resolves https://github.com/dbt-labs/dbt-core/issues/8872


Add documentation on Macintosh case screws.

Also I realized I should commit my change that I noticed the ASC is labeled "OSC" in the schematics, but it was erroneously transcribed as "DSC".

Considering there were no comments on this pull request in the past week, I'll merge this for now, and we can make additional changes later if we think they are necessary.


[SPARK-48754] Refactor Channel builder to support other implementations

What changes were proposed in this pull request?
Until now, there could only exist one implementation of a channel builder making it very hard to provide custom implementations of custom authentication and authorization handlers without directly manipulating the Spark Connect code.
This refactoring makes the channel builder an actual interface and allowing consumers to plugin their channel builder during session creation.
ctx := context.Background()
spark, err := session.NewSessionBuilder().ChannelBuilder(cb).Build(ctx)

This will then use the provided channel builder to build the GRPC connection.
Why are the changes needed?
Compatibility.
Does this PR introduce any user-facing change?
No
How was this patch tested?
Existing tests.

Merged to master.


Brownout Sensor was detected

Im using an esp32-wroom and a MPU6050. I haven't built the tracker to use an external power source and its running solely on USB. The error goes away when I disconnect the MPU but I get another error that it can't detect SCL or SDA pins so not much space to do anything.

Hi. Please direct hardware-related questions to our #diy discord channel in https://slimevr.dev/discrod, there are many more people that will be able to help you in no time.

I've tried for the last 3 days but no one replies to my question


Create cs.json

Please add Czech (cs.json)

There is already a Czech translation in the develop branch with some translation differences.


style: Navigation Menu Items Centralised

Related Issue
Issue Number : 666
Description
Improved Navigation Menu in Mobile page so that It can be centralised and on hovering it should cover full width.
Screenshots

please add left alignment for the links