Error while simulating a model in "examples"

Dear Junior,
working within RISE_toolbox-master/examples/Nonlinear3rdOrder/Binning
I've created the following howto.m file (along your examples)
`%% housekeeping
close all
clear
clc
%% add the necessary paths
rise_startup()
%% read the model and add the name of the steady state file
mwssf=rise('small_nk');
%% solve the model
mwssf=solve(mwssf,'simul_order',2,'simul_pruned',false);
%% SEE ALSO: NonlinearModels
% options={'simul_periods',500};
% ff=rise
% [db,states,retcode] = simulate(ff,'simul_periods',500)
[db,states,retcode] = simulate(mwssf,'simul_periods',500);
`
When I run it I get

Index exceeds matrix dimensions.
Error in utils.forecast.one_step_engine (line 114)
y01(:,iy)=y01(:,iy)+ifact(io)*T{io}*zkz;
Error in utils.forecast.one_step_fbs/multi_step_shooting (line 195)
y1k(icol_)=utils.forecast.one_step_engine(T,y1k(icol_-1),ss,...
Error in utils.forecast.one_step_fbs (line 50)
[~,first_viol]=multi_step_shooting(shocks,true);
Error in utils.forecast.multi_step/condition_on_shocks_only/one_step (line 498)
y1=utils.forecast.one_step_fbs(myorder{:});
Error in utils.forecast.multi_step/condition_on_shocks_only (line 394)
one_step();
Error in utils.forecast.multi_step (line 160)
shocks__=condition_on_shocks_only(tmp);
Error in generic/simulate (line 175)
[y,states,retcode,Qt,myshocks]=utils.forecast.multi_step(y0(1),...
Error in dsge/simulate (line 30)
[varargout{1:nargout}]=simulate@generic_switch(obj,varargin{:});

Any idea what I'm doing wrong?
I'm trying to understand how to simulate a dsge to 3rd order (is fourth now available?)
Dynare++ gives me strange results (explodes even if shocks are zero all the time and start from steady state, although transition matrices are finite, ie don't multiply by inf etc.)
Best,
Gianni

Hi Gianni,
Good to hear from you.

Your howto file has some problems

Let RISE know, WHILE RISING THE MODEL, that you will be
needing/using higher-order SYMBOLIC derivatives :
m=rise('small_nk','max_deriv_order',3);
or alternatively, if you have "rise-ned" the model without
specifying the order of differentiation (which by default is 1), then you
can change the type of derivatives from symbolic to automatic :
m=solve(m,'solve_derivatives_type','automatic')
If you do not do first order, then do not forget to explicitly
specify the order at which you want to solve the model:
m=solve(m,'solve_order',3) or with automatic derivatives
m=solve(m,'solve_order',3,'solve_derivatives_type','automatic') .
Although the model is solved say at order 3, you can decide that
you want to simulate it at a lower order. That's when you can change the
simul_order option : db = simulate(m,'simul_order',2);.

Because of the nature of the polynomial used in the approximation of
the true solution, simulations produced using higher-orders of
approximation will explode... if the order of approximation does not expand
the region of stability enough for the simulations to live in for a given
size of shocks.
I guess this is why dynare++ explodes and if my intuition is correct,
reducing the standard deviations of the shocks might lead to potentially
more stable simulations.

You have to keep reducing them until the simulations stop
exploding.
Alternatively you either have to increase the order of
approximation until the stability region is sufficiently expanded or
resort to cheating, sorry, pruning :).

In theory, RISE can solve models up to fifth order but I still have
to improve on efficiency especially because my main interest is with regime
switching and in that respect some of the nice algorithms that can improve
efficiency for constant-parameter models are not applicable.

Cheers,
Junior

Hi Junior,
Thanks!
I'll follow your suggestions.
Best
Gianni
On Tue, Sep 19, 2017 at 1:49 PM, Junior Maih<EMAIL_ADDRESS>wrote:

Hi Gianni,
Good to hear from you.

Your howto file has some problems
Let RISE know, WHILE RISING THE MODEL, that you will be
needing/using higher-order SYMBOLIC derivatives :
m=rise('small_nk','max_deriv_order',3);
or alternatively, if you have "rise-ned" the model without
specifying the order of differentiation (which by default is 1), then you
can change the type of derivatives from symbolic to automatic :
m=solve(m,'solve_derivatives_type','automatic')
If you do not do first order, then do not forget to explicitly
specify the order at which you want to solve the model:
m=solve(m,'solve_order',3) or with automatic derivatives
m=solve(m,'solve_order',3,'solve_derivatives_type','automatic') .
Although the model is solved say at order 3, you can decide that
you want to simulate it at a lower order. That's when you can change the
simul_order option : db = simulate(m,'simul_order',2);.
Because of the nature of the polynomial used in the approximation of
the true solution, simulations produced using higher-orders of
approximation will explode... if the order of approximation does not expand
the region of stability enough for the simulations to live in for a given
size of shocks.
I guess this is why dynare++ explodes and if my intuition is correct,
reducing the standard deviations of the shocks might lead to potentially
more stable simulations.
You have to keep reducing them until the simulations stop
exploding.
Alternatively you either have to increase the order of
approximation until the stability region is sufficiently expanded or
resort to cheating, sorry, pruning :).
In theory, RISE can solve models up to fifth order but I still have
to improve on efficiency especially because my main interest is with regime
switching and in that respect some of the nice algorithms that can improve
efficiency for constant-parameter models are not applicable.

Cheers,
Junior

—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/jmaih/RISE_toolbox/issues/59#issuecomment-330514725,
or mute the thread
https://github.com/notifications/unsubscribe-auth/Addw78-amsM6Hj1dnnsz3P0lRpwvqoa6ks5sj6pKgaJpZM4PcKrd
.

... a bit more.
In your file
aplanar.m
at line 846 I've added
if ispc
ss=memory;
max_bytes=ss.MaxPossibleArrayBytes/8;
else
[~,out]=system('vmstat -s -S M | grep "free memory"');
tmp=regexp(out,'[0-9]*','match');
max_bytes=str2double(tmp{1})/8;
end
(I have a Linux machine)
I still get error messages somewhere else... but still hoping :-)
On Tue, Sep 19, 2017 at 2:15 PM, giovanni lombardo<EMAIL_ADDRESS>wrote:

Hi Junior,
Thanks!
I'll follow your suggestions.
Best
Gianni
On Tue, Sep 19, 2017 at 1:49 PM, Junior Maih<EMAIL_ADDRESS>wrote:

Hi Gianni,
Good to hear from you.

Your howto file has some problems
Let RISE know, WHILE RISING THE MODEL, that you will be
needing/using higher-order SYMBOLIC derivatives :
m=rise('small_nk','max_deriv_order',3);
or alternatively, if you have "rise-ned" the model without
specifying the order of differentiation (which by default is 1), then you
can change the type of derivatives from symbolic to automatic :
m=solve(m,'solve_derivatives_type','automatic')
If you do not do first order, then do not forget to explicitly
specify the order at which you want to solve the model:
m=solve(m,'solve_order',3) or with automatic derivatives
m=solve(m,'solve_order',3,'solve_derivatives_type','automatic') .
Although the model is solved say at order 3, you can decide that
you want to simulate it at a lower order. That's when you can change the
simul_order option : db = simulate(m,'simul_order',2);.
Because of the nature of the polynomial used in the approximation of
the true solution, simulations produced using higher-orders of
approximation will explode... if the order of approximation does not
expand
the region of stability enough for the simulations to live in for a given
size of shocks.
I guess this is why dynare++ explodes and if my intuition is correct,
reducing the standard deviations of the shocks might lead to potentially
more stable simulations.
You have to keep reducing them until the simulations stop
exploding.
Alternatively you either have to increase the order of
approximation until the stability region is sufficiently expanded or
resort to cheating, sorry, pruning :).
In theory, RISE can solve models up to fifth order but I still have
to improve on efficiency especially because my main interest is with
regime
switching and in that respect some of the nice algorithms that can improve
efficiency for constant-parameter models are not applicable.

Cheers,
Junior

—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/jmaih/RISE_toolbox/issues/59#issuecomment-330514725,
or mute the thread
https://github.com/notifications/unsubscribe-auth/Addw78-amsM6Hj1dnnsz3P0lRpwvqoa6ks5sj6pKgaJpZM4PcKrd
.

These lines of code crash on Matlab (2016b) Linux (Fedora)
`close all
clear
clc
%% add the necessary paths
rise_startup()
%% read the model and add the name of the steady state file
mwssf=rise('small_nk','max_deriv_order',3);
%% solve the model
mwssf=solve(mwssf,'solve_order',3,'simul_pruned',false,'solve_derivatives_type','automatic');`
with the error message

Error using bsxfun
Operands must be numeric arrays.
Error in dsge_tools.evaluate_all_derivatives (line 215)
bsxfun(@times,G01{io},zkz);%
Error in dsge/solve (line 304)

[structural_matrices,retcode]=dsge_tools.evaluate_all_derivatives(obj,structural_matrices);
Error in howto (line 11)
mwssf=solve(mwssf,'solve_order',3,'simul_pruned',false,'solve_derivatives_type','automatic');

On Tue, Sep 19, 2017 at 2:35 PM, giovanni lombardo<EMAIL_ADDRESS>wrote:

... a bit more.
In your file
aplanar.m
at line 846 I've added
if ispc
ss=memory;
max_bytes=ss.MaxPossibleArrayBytes/8;
else
[~,out]=system('vmstat -s -S M | grep "free memory"');
tmp=regexp(out,'[0-9]*','match');
max_bytes=str2double(tmp{1})/8;
end
(I have a Linux machine)
I still get error messages somewhere else... but still hoping :-)
On Tue, Sep 19, 2017 at 2:15 PM, giovanni lombardo<EMAIL_ADDRESS>wrote:

Hi Junior,
Thanks!
I'll follow your suggestions.
Best
Gianni
On Tue, Sep 19, 2017 at 1:49 PM, Junior Maih<EMAIL_ADDRESS>wrote:

Hi Gianni,
Good to hear from you.

Your howto file has some problems
Let RISE know, WHILE RISING THE MODEL, that you will be
needing/using higher-order SYMBOLIC derivatives :
m=rise('small_nk','max_deriv_order',3);
or alternatively, if you have "rise-ned" the model without
specifying the order of differentiation (which by default is 1), then you
can change the type of derivatives from symbolic to automatic :
m=solve(m,'solve_derivatives_type','automatic')
If you do not do first order, then do not forget to explicitly
specify the order at which you want to solve the model:
m=solve(m,'solve_order',3) or with automatic derivatives
m=solve(m,'solve_order',3,'solve_derivatives_type','automatic') .
Although the model is solved say at order 3, you can decide that
you want to simulate it at a lower order. That's when you can change the
simul_order option : db = simulate(m,'simul_order',2);.
Because of the nature of the polynomial used in the approximation of
the true solution, simulations produced using higher-orders of
approximation will explode... if the order of approximation does not
expand
the region of stability enough for the simulations to live in for a given
size of shocks.
I guess this is why dynare++ explodes and if my intuition is correct,
reducing the standard deviations of the shocks might lead to potentially
more stable simulations.
You have to keep reducing them until the simulations stop
exploding.
Alternatively you either have to increase the order of
approximation until the stability region is sufficiently expanded or
resort to cheating, sorry, pruning :).
In theory, RISE can solve models up to fifth order but I still have
to improve on efficiency especially because my main interest is with
regime
switching and in that respect some of the nice algorithms that can
improve
efficiency for constant-parameter models are not applicable.

Cheers,
Junior

—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/jmaih/RISE_toolbox/issues/59#issuecomment-330514725,
or mute the thread
https://github.com/notifications/unsubscribe-auth/Addw78-amsM6Hj1dnnsz3P0lRpwvqoa6ks5sj6pKgaJpZM4PcKrd
.

Hi Gianni,
I mostly use windows machines and occasionally macs. I have never used a
linux and unfortunately some of the codes I write might not work on such a
system.
All I can do for now is to keep my fingers crossed for you :)
Cheers,
Junior

This is a modified version of your howto file. Could you, please, let me
know if you get some errors from running it?

%% housekeeping
close all
clear
clc
%% add the necessary paths
% rise_startup()
%% read the model
m=rise('small_nk','max_deriv_order',3);
%% solve the model
m=solve(m,'solve_order',2);
%% Simulate the model
[db,states,retcode] = simulate(m,'simul_periods',500,...
'simul_order',2,'simul_pruned',false);

Excellent. This seems to work fine.
Also, it occurred to my why dynare++ screws with zero shocks. There is this
bad habit to calibrate the varcov to the varcov matrix, without keeping
into account of the scaling (normalization) factor loading the innovations
onto the model (e.g. std_x*epsilon_x).
If I reduce std_x, still screws. If I reduce varco it doesn't.
Does RISE control for this issue?
Thanks
Best
Gianni
On Tue, Sep 19, 2017 at 2:51 PM, Junior Maih<EMAIL_ADDRESS>wrote:

This is a modified version of your howto file. Could you, please, let me
know if you get some errors from running it?

%% housekeeping
close all
clear
clc
%% add the necessary paths
% rise_startup()
%% read the model
m=rise('small_nk','max_deriv_order',3);
%% solve the model
m=solve(m,'solve_order',2);
%% Simulate the model
[db,states,retcode] = simulate(m,'simul_periods',500,...
'simul_order',2,'simul_pruned',false);

—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/jmaih/RISE_toolbox/issues/59#issuecomment-330529053,
or mute the thread
https://github.com/notifications/unsubscribe-auth/Addw7y8R2FsCSh4KzU_TqKvQgZMvkD9oks5sj7jfgaJpZM4PcKrd
.

RISE does not have variances and covariances. There is no shocks
block like in dynare and there is no varcov matrix as in dynare++.
All shocks are uncorrelated, have mean zero and standard deviation 1.
The way then to generate non-unit variances is to scale the shocks by
a constant, which ultimately is a parameter from RISE's viewpoint. That is,
in all RISE models you will typically encounter expressions like
std_x*epsilon_x
Nothing prevents you for adding a common scaling factor
commonstd_1epsilon_1, commonstd_2epsilon_2, ...,
commonstd_nepsilon_n. In this way, you can scale all the shocks by the
same amount simply by playing with parameter "common".

Cheers,
Junior

Perfect. I find this representation preferable too.
Cheers
Gianni
On Tue, Sep 19, 2017 at 5:41 PM, Junior Maih<EMAIL_ADDRESS>wrote:

RISE does not have variances and covariances. There is no shocks
block like in dynare and there is no varcov matrix as in dynare++.
All shocks are uncorrelated, have mean zero and standard deviation 1.
The way then to generate non-unit variances is to scale the shocks by
a constant, which ultimately is a parameter from RISE's viewpoint. That is,
in all RISE models you will typically encounter expressions like
std_x*epsilon_x
Nothing prevents you for adding a common scaling factor
commonstd_1epsilon_1, commonstd_2epsilon_2, ...,
commonstd_nepsilon_n. In this way, you can scale all the shocks by the
same amount simply by playing with parameter "common".

Cheers,
Junior
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/jmaih/RISE_toolbox/issues/59#issuecomment-330580987,
or mute the thread
https://github.com/notifications/unsubscribe-auth/Addw71dt64ZfqoQFHBa_51vi8Nh7p3wNks5sj-CXgaJpZM4PcKrd
.

Should you want to scale the shocks or more generally change a parameter
value, I hope you know you can do that on the fly without having to re-rise
the model or modify the model file.
Cheers,
Junior

Cool. No, I didn't know
On Tue, Sep 19, 2017 at 6:06 PM, Junior Maih<EMAIL_ADDRESS>wrote:

Should you want to scale the shocks or more generally change a parameter
value, I hope you know you can do that on the fly without having to re-rise
the model or modify the model file.
Cheers,
Junior

—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/jmaih/RISE_toolbox/issues/59#issuecomment-330589086,
or mute the thread
https://github.com/notifications/unsubscribe-auth/Addw75CnfxB6sDfJoDJE-u32ecaEi6QSks5sj-aPgaJpZM4PcKrd
.

Thanks!
Oslo+January... well, might be worth :-)
Also, check out our visiting schemes for central bankers. We are having
many people from around the world for approx 3 months per visit!
Best
Gianni
On Tue, Sep 19, 2017 at 6:25 PM, Junior Maih<EMAIL_ADDRESS>wrote:

what ????
Then you should attend the very important course we (Dan Waggoner and I)
are teaching in Oslo in January and possibly the conference right after :)
In the meantime check this out. Suppose you have a parameter, say "alpha"
whose value you want to change in a model object m0
You have several ways of achieving this:
alternative 1
p=struct();
p.alpha=newValue;
m1=set(m0,'parameters',p)
alternative 2
p={'alpha',newValue};
m1=set(m0,'parameters',p)
But you can also pass the parameters any time you like. For instance, you
can do
mysimul=simulate(m0,'parameters',p)
or
m1=solve(m0,'parameters',p)
Cheers,
Junior

—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/jmaih/RISE_toolbox/issues/59#issuecomment-330595041,
or mute the thread
https://github.com/notifications/unsubscribe-auth/Addw70wXELgFMNSAqJmW1Rq_uKWhe5-1ks5sj-sSgaJpZM4PcKrd
.

I would be glad to visit you Gianni.
I will try to remember to send you the call for papers for the conference.
All the very best,
Junior

Thanks,
Gianni
On Tue, Sep 19, 2017 at 7:19 PM, Junior Maih<EMAIL_ADDRESS>wrote:

I would be glad to visit you Gianni.
I will try to remember to send you the call for papers for the conference.
All the very best,
Junior

—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/jmaih/RISE_toolbox/issues/59#issuecomment-330610410,
or mute the thread
https://github.com/notifications/unsubscribe-auth/Addw79RPnYEpr1l-cN5WgBugqpPMleUSks5sj_e1gaJpZM4PcKrd
.


Problem With training my model.

I am no able to train my model although my code is correct their may be some missing libraries.
The File is present in the folder house_prices/train.py

Resolved by 'github.com/nasir-hussain-swat'


If97

As this is a header-only library, no need to wait.

Blocked by CoolProp/IF97#24.

I'm suspicious that there's an encoding problem. I don't think I can work around  it.

Thanks for the PR!
Note that vcpkg_from_github() actually sets the SOURCE_PATH variable for you, so I've removed the set() line above.


Add support for adding new milestones

Currently once an invoice is created, number of milestones cannot be edited.
But we have had multiple situations where project scope changes after the start, so we should support it.

Estimated at $5000 (50%)


WIP [gitlab] add logs

Add Gitlab logs
Waiting for this PR to be merged first: https://github.com/DataDog/logs-backend/pull/4147

closed, has wrong branch name


fix: workaround git issue

:tada: This PR is included in version 1.2.11 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Please add rsync to images

Hey folks, hoping someone can step in and add rsync to the list of packages that yum installs. Tried to get around this using yum in the commands I'm passing to the container, but there's some funkiness going on there and bash can't find it.

It's worth noting that even the CDK team has had to work around a lack of this being installed https://github.com/aws/aws-cdk/pull/9763, which seems a bit bananas to me.

Hey! This is certainly something we could consider. To understand better, would you mind sharing your use case for using rsync?

@hoffa not sure you saw my last comment.
the use case is preventing your own compadres from having to use inferior file manipulation tools because rsync isn't included in the SAM images. The SAM images are being used here https://github.com/aws/aws-cdk/blob/e2e008bd19c3ff1b08ccb093dba576551ec73240/packages/%40aws-cdk/aws-lambda/lib/runtime.ts#L227 and cp is twice as slow as rsync for large projects. Anyone wishing to roll their own bundling logic is forced to either 1. use an out-of-band custom docker image (which we've opted for in the meantime or 2. use a slower method.
rsync isn't going to add any significant dependencies or bloat, so I'm a bit curious why there's a need for a sell on use case. See: https://github.com/aws/aws-codebuild-docker-images/blob/master/al2/x86_64/standard/1.0/Dockerfile#L39

Thanks for the details. I'm trying to understand how you're using the build image, as typically they're used by SAM CLI when building apps with sam build --use-container.

You need but follow the links to the CDK project I've provided to understand how they're being used. I linked directly to the source - they're using the same images to bundle lambdas. I'm admittedly a bit frustrated that you're missing the connection there. Is there another maintainer you can bring in to bridge the gap here, or perhaps reach out to the AWS CDK team members that were stymied by the lack of rsync in the image?

Gotcha, was curious whether there were any custom use cases as the build images are sometimes used in interesting ways. I'll check with the team, but this seems reasonable to me and the footprint is small.

We've released new build images that include rsync. Thanks for raising this!

Much appreciated


A test to reproduce timers and cancelations SDK issue

What was changed
This PR is not intended to be merged as it. It provides a test to reproduce some weird corner cases of scheduling/canceling timers and evaluating versions in the scope of a single workflow task.
The test contains a seemingly valid workflow that should successfully run with no issues. It seems, however, that one of the workflow tasks fails with the Version is already set to 1 error, and on the next retry a signal is delivered to the workflow for the second time.
Here's how workflow's logs look like without version evaluation
20:32:09.234 [workflow-method] INFO  i.t.w.v.GetVersionAndCancelTimerTest$ReminderWorkflowImpl - <2020-01-01T00:00:00.555Z> Workflow started
20:32:09.277 [signal scheduleReminder] INFO  i.t.w.v.GetVersionAndCancelTimerTest$ReminderWorkflowImpl - <2020-01-01T00:00:00.677Z> Got signal ScheduleReminderSignal[reminderTime=2020-01-01T00:00:30.554Z, reminderText='Reminder 1']
20:32:09.278 [signal scheduleReminder] INFO  i.t.w.v.GetVersionAndCancelTimerTest$ReminderWorkflowImpl - <2020-01-01T00:00:00.677Z> Enqueued signal ScheduleReminderSignal[reminderTime=2020-01-01T00:00:30.554Z, reminderText='Reminder 1']
20:32:09.278 [signal scheduleReminder] INFO  i.t.w.v.GetVersionAndCancelTimerTest$ReminderWorkflowImpl - <2020-01-01T00:00:00.677Z> Got signal ScheduleReminderSignal[reminderTime=2020-01-01T00:00:10.554Z, reminderText='Reminder 2']
20:32:09.279 [signal scheduleReminder] INFO  i.t.w.v.GetVersionAndCancelTimerTest$ReminderWorkflowImpl - <2020-01-01T00:00:00.677Z> Enqueued signal ScheduleReminderSignal[reminderTime=2020-01-01T00:00:10.554Z, reminderText='Reminder 2']
20:32:09.279 [workflow-method] INFO  i.t.w.v.GetVersionAndCancelTimerTest$ReminderWorkflowImpl - <2020-01-01T00:00:00.677Z> Will process signal ScheduleReminderSignal[reminderTime=2020-01-01T00:00:30.554Z, reminderText='Reminder 1']
20:32:09.279 [workflow-method] INFO  i.t.w.v.GetVersionAndCancelTimerTest$ReminderWorkflowImpl - <2020-01-01T00:00:00.677Z> Scheduled a reminder for time 2020-01-01T00:00:30.554Z
20:32:09.295 [workflow-method] INFO  i.t.w.v.GetVersionAndCancelTimerTest$ReminderWorkflowImpl - <2020-01-01T00:00:00.677Z> Will process signal ScheduleReminderSignal[reminderTime=2020-01-01T00:00:10.554Z, reminderText='Reminder 2']
20:32:09.295 [workflow-method] INFO  i.t.w.v.GetVersionAndCancelTimerTest$ReminderWorkflowImpl - <2020-01-01T00:00:00.677Z> Cancelling previous reminder
20:32:09.298 [workflow-method] INFO  i.t.w.v.GetVersionAndCancelTimerTest$ReminderWorkflowImpl - <2020-01-01T00:00:00.677Z> Scheduled a reminder for time 2020-01-01T00:00:10.554Z
20:32:09.308 [timer-callback] INFO  i.t.w.v.GetVersionAndCancelTimerTest$ReminderWorkflowImpl - <2020-01-01T00:00:10.612Z> Reminder: Reminder 2
20:32:09.308 [workflow-method] INFO  i.t.w.v.GetVersionAndCancelTimerTest$ReminderWorkflowImpl - <2020-01-01T00:00:10.612Z> Workflow completed

And here's the same workflow with Workflow.getVersion() call added:
20:33:16.302 [workflow-method] INFO  i.t.w.v.GetVersionAndCancelTimerTest$ReminderWorkflowImpl - <2020-01-01T00:00:00.460Z> Workflow started
20:33:16.345 [signal scheduleReminder] INFO  i.t.w.v.GetVersionAndCancelTimerTest$ReminderWorkflowImpl - <2020-01-01T00:00:00.571Z> Got signal ScheduleReminderSignal[reminderTime=2020-01-01T00:00:30.459Z, reminderText='Reminder 1']
20:33:16.346 [signal scheduleReminder] INFO  i.t.w.v.GetVersionAndCancelTimerTest$ReminderWorkflowImpl - <2020-01-01T00:00:00.571Z> Enqueued signal ScheduleReminderSignal[reminderTime=2020-01-01T00:00:30.459Z, reminderText='Reminder 1']
20:33:16.346 [signal scheduleReminder] INFO  i.t.w.v.GetVersionAndCancelTimerTest$ReminderWorkflowImpl - <2020-01-01T00:00:00.571Z> Got signal ScheduleReminderSignal[reminderTime=2020-01-01T00:00:10.459Z, reminderText='Reminder 2']
20:33:16.347 [signal scheduleReminder] INFO  i.t.w.v.GetVersionAndCancelTimerTest$ReminderWorkflowImpl - <2020-01-01T00:00:00.571Z> Enqueued signal ScheduleReminderSignal[reminderTime=2020-01-01T00:00:10.459Z, reminderText='Reminder 2']
20:33:16.347 [workflow-method] INFO  i.t.w.v.GetVersionAndCancelTimerTest$ReminderWorkflowImpl - <2020-01-01T00:00:00.571Z> Will process signal ScheduleReminderSignal[reminderTime=2020-01-01T00:00:30.459Z, reminderText='Reminder 1']
20:33:16.347 [workflow-method] INFO  i.t.w.v.GetVersionAndCancelTimerTest$ReminderWorkflowImpl - <2020-01-01T00:00:00.571Z> Scheduled a reminder for time 2020-01-01T00:00:30.459Z
20:33:16.379 [workflow-method] INFO  i.t.w.v.GetVersionAndCancelTimerTest$ReminderWorkflowImpl - <2020-01-01T00:00:00.571Z> Will process signal ScheduleReminderSignal[reminderTime=2020-01-01T00:00:10.459Z, reminderText='Reminder 2']
20:33:16.379 [workflow-method] INFO  i.t.w.v.GetVersionAndCancelTimerTest$ReminderWorkflowImpl - <2020-01-01T00:00:00.571Z> Cancelling previous reminder
20:33:16.382 [workflow-method] INFO  i.t.w.v.GetVersionAndCancelTimerTest$ReminderWorkflowImpl - <2020-01-01T00:00:00.571Z> Scheduled a reminder for time 2020-01-01T00:00:10.459Z
20:33:16.398 [Workflow Executor taskQueue="WorkflowTest-testGetVersionAndCancelTimer-e2f358d8-156b-45dc-b66d-dfd479976aa5", namespace="UnitTest": 1] ERROR i.t.i.r.ReplayWorkflowTaskHandler - Workflow task failure. startedEventId=14, WorkflowId=b07ced6e-22fe-430d-80dc-2c775448307d, RunId=87eb09d6-2f53-4109-8352-05b766bce0da. If see continuously the workflow might be stuck.
io.temporal.internal.replay.InternalWorkflowTaskException: Failure handling event 10 of 'EVENT_TYPE_MARKER_RECORDED' type. IsReplaying=true, PreviousStartedEventId=8, workflowTaskStartedEventId=14, Currently Processing StartedEventId=8
	at io.temporal.internal.statemachines.WorkflowStateMachines.handleEvent(WorkflowStateMachines.java:193)
	at io.temporal.internal.replay.ReplayWorkflowRunTaskHandler.handleEvent(ReplayWorkflowRunTaskHandler.java:140)
	at io.temporal.internal.replay.ReplayWorkflowRunTaskHandler.handleWorkflowTaskImpl(ReplayWorkflowRunTaskHandler.java:180)
	at io.temporal.internal.replay.ReplayWorkflowRunTaskHandler.handleWorkflowTask(ReplayWorkflowRunTaskHandler.java:150)
	at io.temporal.internal.replay.ReplayWorkflowTaskHandler.handleWorkflowTaskWithEmbeddedQuery(ReplayWorkflowTaskHandler.java:201)
	at io.temporal.internal.replay.ReplayWorkflowTaskHandler.handleWorkflowTask(ReplayWorkflowTaskHandler.java:114)
	at io.temporal.internal.worker.WorkflowWorker$TaskHandlerImpl.handle(WorkflowWorker.java:319)
	at io.temporal.internal.worker.WorkflowWorker$TaskHandlerImpl.handle(WorkflowWorker.java:279)
	at io.temporal.internal.worker.PollTaskExecutor.lambda$process$0(PollTaskExecutor.java:73)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.IllegalStateException: Version is already set to 1. The most probable cause is retroactive addition of a getVersion call with an existing 'changeId'
	at io.temporal.internal.statemachines.VersionStateMachine.updateVersionFromEvent(VersionStateMachine.java:273)
	at io.temporal.internal.statemachines.VersionStateMachine.handleNonMatchingEvent(VersionStateMachine.java:325)
	at io.temporal.internal.statemachines.WorkflowStateMachines.handleVersionMarker(WorkflowStateMachines.java:302)
	at io.temporal.internal.statemachines.WorkflowStateMachines.handleCommandEvent(WorkflowStateMachines.java:250)
	at io.temporal.internal.statemachines.WorkflowStateMachines.handleEventImpl(WorkflowStateMachines.java:199)
	at io.temporal.internal.statemachines.WorkflowStateMachines.handleEvent(WorkflowStateMachines.java:178)
	... 11 common frames omitted
20:33:16.423 [timer-callback] INFO  i.t.w.v.GetVersionAndCancelTimerTest$ReminderWorkflowImpl - <2020-01-01T00:00:10.558Z> Reminder: Reminder 1
20:33:16.423 [workflow-method] INFO  i.t.w.v.GetVersionAndCancelTimerTest$ReminderWorkflowImpl - <2020-01-01T00:00:10.558Z> Will process signal ScheduleReminderSignal[reminderTime=2020-01-01T00:00:10.459Z, reminderText='Reminder 2']
20:33:16.423 [workflow-method] INFO  i.t.w.v.GetVersionAndCancelTimerTest$ReminderWorkflowImpl - <2020-01-01T00:00:10.558Z> Cancelling previous reminder
20:33:16.423 [workflow-method] INFO  i.t.w.v.GetVersionAndCancelTimerTest$ReminderWorkflowImpl - <2020-01-01T00:00:10.558Z> Got a request ScheduleReminderSignal[reminderTime=2020-01-01T00:00:10.459Z, reminderText='Reminder 2'] for an outdated reminder, ignoring it
20:33:16.424 [workflow-method] INFO  i.t.w.v.GetVersionAndCancelTimerTest$ReminderWorkflowImpl - <2020-01-01T00:00:10.558Z> Workflow completed

Note that:

<2020-01-01T00:00:10.558Z> Reminder: Reminder 1 - the time is taken from "Reminder 2" event but the message is from "Reminder 1"
<2020-01-01T00:00:10.558Z> Got a request ScheduleReminderSignal[reminderTime=2020-01-01T00:00:10.459Z, reminderText='Reminder 2'] for an outdated reminder, ignoring it - "Reminder 2" event is delivered to the workflow for the second time.

Why?
This test is as simple reproducer for an issue we see in production as I could get.

I minimized the reproducible test to the following: https://github.com/Spikhalskiy/java-sdk/commit/e382671893a495c34fcc7c32f1f487dfd472129e#diff-c763843694b7d761d3839cefa5912fbedbf337afe4c3fea2da0d8d8aee67598eR48
public static final class ReminderWorkflowImpl implements ReminderWorkflow {

     @Override
     public void start() {
       Workflow.sleep(Duration.ofDays(1));
     }

     @Override
     public void signal() {
       CancellationScope activeScope1 =
           Workflow.newCancellationScope(
               () -> {
                 // this line gets executed twice
                 System.out.println("executing scope 1");
                 Workflow.newTimer(Duration.ofHours(4));
               });
       activeScope1.run();

       Workflow.getVersion("some-change", Workflow.DEFAULT_VERSION, 1);

       System.out.println("Cancel");
       activeScope1.cancel();

       // it's critical for this duration to be short for the test to fail (for me it fails with 4s or less)
       Duration secondScopeTimerDuration = Duration.ofSeconds(4);
       CancellationScope activeScope2 =
           Workflow.newCancellationScope(
               () -> {
                 System.out.println("executing scope 2");
                 Workflow.newTimer(secondScopeTimerDuration);
               });
       activeScope2.run();

       Workflow.getVersion("some-change", Workflow.DEFAULT_VERSION, 1);
     }
   }

I minimized the reproducible test to the following: Spikhalskiy@e382671#diff-c763843694b7d761d3839cefa5912fbedbf337afe4c3fea2da0d8d8aee67598eR48

Thanks, @Spikhalskiy! I've also noticed that my original test case will only reproduce the issue with some very short sleep durations. I still hope it internally is caused by the same root cause as the original issue I observe on our production, where this error happens sporadically after some long sleeps for like e.g. 6 hours.

I created Issue #615 and PR #614 that cover everything reporting here.
Thanks a lot for reporting this and providing an actionable reproduction!


Invariant Violation: Level "fatal" not one of log,info,warn,error,mustfix

Uncaught Error: Invariant Violation: Level "fatal" not one of log,info,warn,error,mustfix
invariant @ invariant.js:39
logIfNoNativeHook @ RCTLog.js:30
messageHandlers.executeJSCall @ debuggerWorker.js:25
onmessage @ debuggerWorker.js:42

@cancan101 can you provide more information on this?

I am getting this on RN 0.15 when there is an exception caused in a Component constructor.

I also see:
[object Object]
handleException @ ExceptionsManager.js:63
handleError @ InitializeJavaScriptAppEngine.js:76
ErrorUtils.reportFatalError @ error-guard.js:28
guard @ MessageQueue.js:41
callFunctionReturnFlushedQueue @ MessageQueue.js:82
messageHandlers.executeJSCall @ debuggerWorker.js:25
onmessage @ debuggerWorker.js:42

Looks like this might have been fixed here: https://github.com/facebook/react-native/commit/4b78ed2123e638f4169ee59fede35ac5ec204107

I remember @javache posting that he fixed a bug that sounds very similar to this one. I'll close this issue but please open a new one if the bug has not been fixed in 0.16.


usage problem

i was stuck at..
git clone https://github.com/Tuhinshubhra/RED_HAW               Cloning into 'RED_HAW'...
Username for 'https://github.com': Epencepe
Password for<EMAIL_ADDRESS>remote: Repository not found.
fatal: repository 'https://github.com/Tuhinshubhra/RED_HAW/' not found
how yo fix it.. please help me

RED_HAWK*


Can I directly compile Kalam into a DDL file without changing any logic?

Great MTP solution, but not sure if it can be directly compiled into a file usable on Windows?

I'm rewriting OpenMTP from scratch, it will be much lighter and faster. it's in progress. I am planning a windows release too stay tuned! 😉


[Help] How to bundle dependencies?

In 3.7, it was possible to bundle all external dependencies using instructions like "> index.ts". It's unclear from the documentation how this can be achieved for production builds in 4.0. Is this still possible?

Yes it's possible, check ignoreExternalDependencies option
On Tue, Feb 9, 2021, 18:53 Draon con Color<EMAIL_ADDRESS>wrote:

In 3.7, it was possible to bundle all external dependencies using
instructions like "> index.ts". It's unclear from the documentation how
this can be achieved for production builds in 4.0. Is this still possible?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/fuse-box/fuse-box/issues/1982, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAMNXIBJGN2HPJI3X46NVFTS6FSA7ANCNFSM4XLK5VMQ
.


add azure resources notebook

Add version 1 of azure resources notebook

You've also got a bunch of unrelated files in this PR - notebooks + config.json and msticpyconfig.yaml. Please get rid of these.
I think I can help with this....needs a bit of git fiddling.


chore: update github actions version

What this PR does / why we need it?

update .github/workflows/*.yml's actions/checkout version 2 to 4
update .github/workflows/*.yml's pnpm/action-setup version 2 to 4
update .github/workflows/*.yml's actions/cache version 3 to 4
update .github/workflows/*.yml's codecov/codecov-action version 1 to 5

migrate file fileld to files fielid

update .github/workflows/*.yml's actions/cache version 3 to 4
update .github/workflows/*.yml's actions/setup-node version 2 to 4
update .github/workflows/*.yml's peaceiris/actions-gh-pages version 3 to 4

Any background context you want to provide?
What are the relevant tickets?

Fixes #
Checklist

[ ] Added relevant tests or not required
[ ] Didn't break anything

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


[frontendActions] Add slide in new branch (closes #230)

rearrange toolbar actions
add slide in action
make slide out text & desc consistent with the rest of actions
disable toggle listing commits when no commits
use bundle for texts/descs/notifications

I strongly suggest reviewing it commit by commit instead as a whole.

[x] resolve bundle files ambiguousness
[ ] ~expose getParent from IBranchLayoutEntry~ NA #430
[x] investigate capabilities of sliding in unmanaged branches

As discussed f2f...
The updated approach is to have a separate dialog for slide in.
The new branch dialog shall appear for branches that do not exist within the local repo.


0.4.7 hotfix!

We need hotfix in 0.4.7.
Channel.dart need to change line 52
/// Parameters passed to the backend at join time.
final Map<String, String> parameters;
to:
final Map<String, dynamic> parameters;
Thanks!!

@carlosmobile oh no! do you have time to push this fix?

Yes, fixed!


run_on_first typedef/field was removed in Kong 2.x

run_on_first typedef/field was removed in Kong 2.x

please mark as hacktoberfest-accpeted


ADR: Process for publishing the AZ provider types

Process for publishing the  az  provider types
Date: 2023-09-07
Status
Review
Context
The goal of this ADR is to formally describe the recommended process for publishing the az resource types provider
as an OCI artifact for the purpose of dynamic loading as described in proposal https://github.com/Azure/bicep/issues/10662 (previously accepted by the Bicep maintainers).
Current State
In the current state we have two workflows that are executing in the repository.

build.yml - Triggered by PRs and push to main . Builds the generator and its dependencies and publishes a NuGet
package with the Azure resource type definitions.
update-types.yml - Triggered by a cron schedule (once a week) or manually. Checks out a snapshot of the main
branch from the azure/azure-rest-api-specs repo, runs the generation script on the snapshot and commits the result to the
/generated folder in the autogenerate or
azure/bicep-types-az/tree/autogenerate-<git-commit-ish>  branches depending on the trigger (a '<git-commit-ish>' is a truncated commit sha256 digest)

When a new version of the Bicep is released, the person cutting the release performs the following steps:

Chose to either manually merge the autogenerate branch into main or manually trigger the update-types.yml
workflow to update the /generated folder. This will update the definitions stored in /generated in the main branch and trigger
the build.yml workflow which in turn will publish a NuGet package with a bumped version.
Verify (manually) that a new NuGet package was published
Update the NuGet package reference in the  Bicep.Core.csproj file in the azure/bicep  repo to the new package
version
Proceed with the release process for  azure/bicep

The current process allow us to catch the odd regression before impacting any customers (e.g. the time where we accidentally deleted all of the types for Microsoft.Compute)

Desired State

We want to automatically publish a new  az-types-provider-package  OCI artifact each time theres a change in the
azure/azure-rest-api-specs/tree/main/specification
folder.
We want to tag the Azure/bicep-types-az and the OCI registry artifact with a semantic version corresponding to
the change in the [azure/azure-rest-api-specs/tree/main/specification](https://github.com/Azure/azure-rest-api-
specs/tree/main/specification) folder.
We want the semantic version to increment MAJOR, MINOR and PATCH version automatically based on some heuristic that inspects
the state of the /specification  folder in the snapshot as compared to the previous published state.

Out of Scope

Automatically determining what the new semantic version should be. For now, a human must make the versioning determination for MAJOR and MINOR versions based on inspection of the /generated folder. The PATCH version will be incremented and the git 'height' from the initial commit on the /generated folder.

Proposed Changes
We propose to add a new workflow publish-az-provider-to-registry.yml that triggers on push to main that will publish an OCI artifact to the bicep public registry (syndicated with MCR).
The workflow will:

Check if a new version of the package must be published by comparing the state of the /generated folder with the state of the previous version.
Increment the PATCH version if a change is detected.
Tag the azure/bicep-types-az commit with the new version.
gzip and tar all .json files in the /generated folder into a .tgz file
Use ORAS to publish the az-types-provider-package artifact to the Bicep public registry under the following prefix: bicep/providers (e.g. mcr.microsoft.com/bicep/providers/az:1.0.0). The tag for the OCI artifact will match the semantic version.

The OCI types provider artifact structure
A resource types provider artifact MUST conform to the following requirements:

The OCI Image manifest for a types provider OCI manifest MUST set the following fields as shown below:

{
  "schemaVersion": 2,
  "mediaType": "application/vnd.oci.image.manifest.v1+json", // CONSTANT
  "artifactType": "application/vnd.ms.bicep.provider.artifact", // CONSTANT
  "config": {
    // v1 is used to represent the current serialization version, this gives us flexibility
    // to bump the version in the future if we want some configuration in the future.
    "mediaType": "application/vnd.ms.bicep.provider.config.v1+json",
    "digest": "sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
    "size": 0 // MUST BE EMPTY FOR V1+JSON
  },
  "layers": [
    {
      // For any artifact with `config.mediaType == vnd.ms.bicep.provider.config.v1+json`
      // there MUST be one and only one layer with a mediaType below
      // The config mediaType may be incremented allowing for other layers with different mediaTypes
      "mediaType": "application/vnd.ms.bicep.provider.types.layer.v1.tar+gzip",
      // The contents MUST be a single tar+gzip file whose decompressed structure
      // MUST match the `/generated` folder structure, that is, a top-level index.json
      //with a relative path to a file structure that leads to a types.json file for the specify type
      "digest": "sha256:5eef22336a881e27bb27125670d963e749bddc030227c556fa4fe1ee802e54ef",
      "size": 10387998,
      "annotations": {
         // This OPTIONAL annotation gives you the file name (automatically set by ORAS)
        "org.opencontainers.image.title": "types.tgz"
      }
    }
  ],
  "annotations": {
    // This OPTIONAL annotation gives you the date timestamp when the artifact was generated (automatially set by ORAS)
    "org.opencontainers.image.created": "2023-09-06T19:43:08Z"
  }
}

Decision
Consequences

I think we can publish the {} config blobs based on @StephenWeatherford's findings during his modules investigations.

We want to automatically publish a new az-types-provider-package OCI artifact each time theres a change in the
azure/azure-rest-api-specs/tree/main/specification
folder.

Would this preclude using GitHub actions or policies? I don't believe any of our existing automation can watch an external repo for changes, so we might need to write a custom bot to achieve this.

What is the usecase for the org.opencontainers.image.title annotation?

Automatically determining what the new semantic version should be. For now, a human must make the versioning determination for MAJOR and MINOR versions based on inspection of the /generated folder. The PATCH version will be incremented and the git 'height' from the initial commit on the /generated folder.

Isn't this in contradiction with the final "desired state" point? Or is "desired state" larger than the scope of this ADR. Might be worth clarifying that.

We want the semantic version to increment MAJOR, MINOR and PATCH version automatically based on some heuristic that inspects the state of the /specification folder in the snapshot as compared to the previous published state.

I'm skeptical that such a heuristic exists. Why not use something that can always be reliably calculated (e.g., date-based versioning)?

I think org.opencontainers.image.created is a good idea to include in this. We should check if we do the same for modules (out of scope of this proposal).

We propose to add a new workflow publish-az-provider-to-registry.yml that triggers on push to main that will publish an OCI artifact to the bicep public registry (syndicated with MCR).

Should this be scoped down to only changes to the generated folder (to avoid e.g. Dependabot commits from publishing a new version)?

Use ORAS to publish the az-types-provider-package artifact to the Bicep public registry under the following prefix: bicep/providers (e.g. mcr.microsoft.com/bicep/providers/az:1.0.0). The tag for the OCI artifact will match the semantic version.

I think it makes sense to use ORAS to start with, but I think eventually we will need to generalize the ability to publish providers. At which point, I think we will need to add a new verb to Bicep CLI that accomplishes the same thing but is also capable of performing additional validation on the type provider content that is specific to our scenario. (For example, validating the types JSON.)

We propose to add a new workflow publish-az-provider-to-registry.yml that triggers on push to main that will publish an OCI artifact to the bicep public registry (syndicated with MCR).

I would also clarify that this workflow needs to be testable, to validate we're pushing out the correct format.

I think org.opencontainers.image.created is a good idea to include in this. We should check if we do the same for modules (out of scope of this proposal).

Agreed.  I already have a PR to add to modules.

Desired State

As discussed, it would be helpful to clarify that this isn't the desired state of this proposal - rather the eventual desired state. It would be helpful to explain the desired state for this proposal as part of the doc.

We want the semantic version to increment MAJOR, MINOR and PATCH version automatically based on some heuristic that inspects the state of the /specification folder in the snapshot as compared to the previous published state.

I'm skeptical that such a heuristic exists. Why not use something that can always be reliably calculated (e.g., date-based versioning)?

Really don't want to see us with another apiVersion type of non-semantic versioning where you can't tell at all whether there are supposed to be breaking changes or not.

Meeting Summary - Bicep Discussions 09/18/2023

Thoughts on ADR process?

Other


CLI for running the benchmarks

Configure/store the settings

Hardware (cpu, memory, disk, os, arch)
Benchmark settings (iterations, etc.)
Host (storage, db, cache, etc.)
Runtime config (version, modules, etc.)
Build flags (opt levels, gc, memory pages, etc.)

Compile the runtime to WASM
Execute the benchmark tests

turns out it may be possible to use substrate's benchmarking cli since benchmarks are designed to appear as a wasm export. depending on our priorities i think we should consider that for now, because we have many missing parts that would require us to spend time on host side and this would provide a prod-grade solution out of the box, so we could keep our focus on the runtime


Null safety: late non-null variables should not complain about null checking

Late non-null variables complain when they are null-checked: "Condition will always be true in strong checking mode".
It is common to lazy initialize a variable to a non-null value, but the initialization code must be able to check if the variable is already initialized:

cc @eernstg @stereotype441 - I'm not sure of this is a usability issue with late or an analyzer issue.

It is common to lazy initialize a variable to a non-null value, but the initialization code must be able to check if the variable is already initialized:

There is no way to tell if a late variable is initialized (other than trying to read it and catching the resulting exception, I suppose).  We discussed adding support for this, but chose not to.

Ok, I guess we can use a bool variable next to the late variable to tell if it was initialized.


Report Export

In large organisations using a single tenant, it is required to be able to export and filter the excellent data in the Business Continuity & Productivity reports. There appears to be no option to do this

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

ID: 411cc9ec-3de2-9aaf-00b8-d923d2b02f37
Version Independent ID: c1a0daec-33a1-eb34-db3d-0b12b78a8aaf
Content: Microsoft Productivity Score - Microsoft 365 admin
Content Source: microsoft-365/admin/productivity/productivity-score.md
Service: o365-administration
GitHub Login: @pebaum
Microsoft Alias: pebaum

@Burn907 Thank you for your feedback.  I looked into this issue for you, and it seems like there isn't currently a way to do this. To make sure that your feedback gets routed to the appropriate team, please post it on the Microsoft 365 Q&A portal and the product team (if this looks like a good idea) will implement a way to achieve this.
Hope this helps!
Thanks
Sri

@msbemba Thank you very much for the contribution and sharing this explanation. @Burn907 Hope this comment is helpful for you. If you see a documentation update is required, please feel free to open an issue for the same. We proceed here to close it. Thanks for taking out some time to open the issue. Appreciate and encourage you to do the same in future also.


Move to SpeziValidation package

Move to SpeziValidation package
:recycle: Current situation & Problem
Currently, SpeziAccount contains a lot of code that is not specific to account management. One part is input validation. https://github.com/StanfordSpezi/SpeziViews/pull/21 introduces the new SpeziValidation library, based on previous code in SpeziAccount. This PR makes the efforts to move to that new software package and greatly simplify the SpeziAccount code base.
:gear: Release Notes

Update to SpeziValidation, a new one-stop software package for input validation

:books: Documentation
Documentation was addressed where needed.
TBA: Some documentation still requires external links once the SpeziViews PR is merged.
:white_check_mark: Testing
Tests were adapted where needed. Nothing new was added.
:pencil: Code of Conduct & Contributing Guidelines
By submitting creating this pull request, you agree to follow our Code of Conduct and Contributing Guidelines:

[x] I agree to follow the Code of Conduct and Contributing Guidelines.

This PR still misses some external link to the latest SpeziViews documentation once https://github.com/StanfordSpezi/SpeziViews/pull/21 is merged and tagged. And of course updating the Package.swift file to the new release version.
Other than that, the PR is ready to review.

Thank you @Supereg! 🚀


amDateFormat Locale Update

I'm using the amDateFormat filter to display a date on a Settings page. I'm passing an actual moment value rather than a string. The user can also change the language from that page. Whenever the language is changed, the filter isn't updating the language. Whenever the line of code below is run, it looks like the old locale from the existing moment is being used. I can fix this by passing a YYYY-MM-DD formatted string rather than moment object, but it seems like something the amDateFormat filter should check for.
value = amMoment.preprocessDate(value, preprocess, currentFormat);
var date = moment(value);

@randdusing see this issue.
The problem is that angular filters only refresh whenever the values that are passed into it (moment or string) are changed. I do not think that there is a vanilla way to make changing the locale trigger filter update, but I have no real knowledge of this codebase, so I might be wrong.
The issue also has a workaround offered, where you add moment-timezone script to your app, and update the extra parameter, which is meant for selecting timezones of the filter. This change supposedly should cause an update to trigger. It does not work for me though and including an extra script just for a workaround seems too much hassle for me anyway.
A better fix (my thoughts) would be offering to select the locale as parameter of the amDateFormat filter. I think that momentjs allows for local changes of locale, not just global ones.

@urish although, angular-translate does implement this functionality. They have a
<h1>{{ 'TITLE' | translate }}</h1>
filter, which as only argument takes in a string (translation id from translation table) and
$translate.use('de');
service function which changes the underlying translation table. And using this function does trigger filter changes.

@ReinisV actually, we have since fixed the issue with the filters not being updated when you change the locale:
https://github.com/urish/angular-moment/blob/master/CHANGELOG.md#090---2015-01-11
See the note about filters being stateful by default

@urish I created a plnkr, which shows the problem. Only the date filters added after locale change get the new locale. Could you please point out to me, what I'm doing wrong?

@ReinisV Thanks for creating the Plnkr. With your code, the locale isn't updated. If you change moment() to moment().toISOString(), it works fine.

@randdusing, yes, I understand that if you put bind the filter to a function on an object (in this case, the toISOString()), the filters watch has no way of knowing whether the value it is supposed to be watching has changed or not without calling the function. So the toISOString() function is called each digest.
I think that this is unnecessary overhead. What probably happens inside is that in your case the moment object returns a string to the filter, and the filter takes that string and generates a new moment() using it. And that happens every digest.
This is what amDateFormat filter should do. It should take in a moment() object, check for changes each digest and react to them accordingly, and also check for changes in locale each iteration, even if the object has not changed at all.
In my plnkr, that does not happen. So I have to ask again, @urish what exactly is my plnkr doing wrong? Why are my filters not stateful?

@ReinisV indeed, with the current version of moment and angular-moment, updating the locale does not affect existing moment() instances. A workaround for the current version (1.0.0-beta.4) would be:
app.run(["angularMomentConfig",function(angularMomentConfig) {   angularMomentConfig.preprocess = function(value) {     return moment(value).locale(moment.locale());   } }]);
See my update plunker for an example.

@urish, thanks! This will make my work a lot easier :+1:

@ReinisV great! this will be fixed for the 1.0.0 release

thanks!


Add ability to merge multi-selected cells into one cell in a VS Code notebook

Is this any different from https://github.com/microsoft/vscode/issues/119004?

Ah yes this is the same, didn't see that one. Closing as a duplicate


addrundata list simplified JSON rundata

Also renamed -list=json to -list=testtracker.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

61 of 92 (66.3%)  changed or added relevant lines in 4 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.8%) to 56.292%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

tools/addrundata/main.go
0
7
0.0%

tools/addrundata/list_json.go
0
24
0.0%

Totals

Change from base Build<PHONE_NUMBER>:
-0.8%

Covered Lines:
1181

Relevant Lines:
2098

💛  - Coveralls


Fatal Errors in ConfigCollector on serialize

ConfigCollector fatals with the following message if there are unserializable objects in the config:
Fatal error: Uncaught exception 'Exception' with message 'Serialization of 'Closure' is not allowed' in /home/vagrant/project/vendor/zendframework/zend-developer-tools/src/ZendDeveloperTools/Profiler.php on line 213

This happens if people place instances of service factories directly into the config.
While those shouldn't be in there (to keep the config cacheable), I still think that the toolbar shouldn't crash the application if they are.

should be fixed by https://github.com/zendframework/ZendDeveloperTools/commit/d3432681aa32177a741ad23604a40af9ad454acb ? @marcuswinkler could you check re-install against dev-master ?

I just checked, the exception is gone in master. It is now possible to put unserializable objects into the config.
(Putting closures in the config has always been possible btw, it was closures contained in other objectes which caused the error above.)


Check for missing translations

Is your feature request related to a problem? Please describe the problem.
When maintaining the vscode extension, it's easy to forget to update the translation files after a feature is done. It would help us to add a new check to show us the missing translations available
Client library/SDK language
None
Describe the solution you'd like
Introduce a script file that checks the missing translations and generates a readable list for the items that need attention. Preferably in a table and available in CI/CD
Additional context
No response

This is a good idea. I have some thoughts:

Have labels that you can attach to a PR to reduce workflow runs. Adding these labels to a PR triggers the workflow. If a PR is not introducing/using translation strings, there's no point to run the workflow.
Instead of putting the output of untranslated strings in an artifacts file, post a comment on the PR with the table. Consecutive updates to the PR should check if that comment exists and update it accordingly. This should help to reduce multiple comments.


AppBarButton MenuFlyout is not dismissed

Describe the bug

An AppBarButton's MenuFlyout is not dismissed when you click outside the flyout.
Steps to reproduce the bug

Steps to reproduce the behavior:

Execute the sample project.
Click on the download button in the bottom app bar.
Click outside the flyout.

Expected behavior
The flyout should be dismissed.
Screenshots

Version Info

NuGet package version:
Microsoft.UI.Xaml 2.1.190606001

Windows 10 version
Saw the problem?

October 2018 Update (17763)
Yes

Device form factor
Saw the problem?

Desktop
Yes

Additional context

App1.zip

Thanks, @asierpn! This sounds familiar and might require a fix to the XAML framework to address (in which case it would be post WinUI 3.0) but we'll investigate.

I think this was fixed at some point. When using the following code snippet:
  <Page.BottomAppBar>
    <CommandBar>
      <CommandBar.PrimaryCommands>
        <AppBarButton Content="Download"
                      Icon="Download">
          <AppBarButton.Flyout>
            <MenuFlyout>
              <MenuFlyoutItem Text="PDF" />
              <MenuFlyoutItem Text="Excel" />
            </MenuFlyout>
          </AppBarButton.Flyout>
        </AppBarButton>
      </CommandBar.PrimaryCommands>
    </CommandBar>
  </Page.BottomAppBar>

the flyout closes when one clicks outside of it.

On my side it works fine now too.


Conversion failed for an unknown reason

Iam trying to convert docx to pdf using RemoteConverter but i get this error:
com.documents4j.job.RemoteConverter      : The documents4j remote converter has started successfully (URI: http://simple-re.herokuapp.com)
2019-11-11T08:05:32.846702+00:00 heroku[router]: at=info method=POST path="/" host=simple-re.herokuapp.com request_id=3e3cac37-16a9-491b-9a71-ac875d73d3f5 fwd="<IP_ADDRESS>" dyno=web.1 connect=1ms service=152ms status=406 bytes=303 protocol=http
2019-11-11T08:05:32.808194+00:00 app[web.1]: 2019-11-11 08:05:32.807  WARN 4 --- [io-35482-exec-6] .w.s.m.s.DefaultHandlerExceptionResolver : Resolved [org.springframework.web.HttpMediaTypeNotAcceptableException: Could not find acceptable representation]
2019-11-11T08:05:32.893817+00:00 app[web.1]: com.documents4j.throwables.ConverterException: Conversion failed for an unknown reason
2019-11-11T08:05:32.893943+00:00 app[web.1]: 	at com.documents4j.job.AbstractFutureWrappingPriorityFuture.run(AbstractFutureWrappingPriorityFuture.java:90)
2019-11-11T08:05:32.894000+00:00 app[web.1]: 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
2019-11-11T08:05:32.894025+00:00 app[web.1]: 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
2019-11-11T08:05:32.894114+00:00 app[web.1]: 	at java.lang.Thread.run(Thread.java:748)

code:
ByteArrayOutputStream bos2 = new ByteArrayOutputStream();
			try {
				InputStream docxInputStream = new ByteArrayInputStream(bos.toByteArray());

                        IConverter converter = RemoteConverter.builder()
                                .baseFolder(null)
                                .workerPool(20, 25, 2, TimeUnit.SECONDS)
                                .requestTimeout(10, TimeUnit.SECONDS)
                                .baseUri("http://simple-re.herokuapp.com")
                                .build();
			converter.convert(docxInputStream).as(DocumentType.DOCX).to(bos2).as(DocumentType.PDF).execute();

			} catch (Exception e) {
				e.printStackTrace();
			}

edit: it works fine when i use LocalConverter

Does your Heroku Server run Windows and MS Word?

Does your Heroku Server run Windows and MS Word?

actually i dont know about that, here is my config vars

and buildpack

Does your Heroku Server run Windows and MS Word?

can u please answer my question thanks in advance

I deleted your first message, please change your API token, it would give access to your account and it was exposed in your screenshot.
From what I can tell: no, your Heroku server does not run Word, this is however required for documents4j to function.

I deleted your first message, please change your API token, it would give access to your account and it was exposed in your screenshot.
Thank you for your consideration, but don't worry that's not my main server
From what I can tell: no, your Heroku server does not run Word, this is however required for documents4j to function.

I will try to search how to run MS Word on Heroku server, kindly if you know some URLS that's can help me with this issue  please send it to me
Thank you.


Refactor/favicon input

Context
Link to Notion ticket
Additional information

Check input works as image input
Confirm favicon loads? Image upload works, but favicon not loaded yet - but maybe this takes a little while to come through?

Testing (tester)
The reviewer should check on this branch:

The code
The component in Bookshop browser
The site in CloudCannon (link here)

Before merge (PR owner)

[ ] Delete the test site in CloudCannon
[ ] For "generic" components only: remove - content_blocks from structures in the YAML file (this was added for testing).

Also we should remove the old favicon (Prima Mesa P)

The issue was:

awhile ago our uploads folder was only src/uploads
that didn't work for some other scenario, so it was changed to src/assets/uploads
but the .eleventy.js file was never updated at that same time for the files passthrough
updated now and the favicon input seems to work 1000000%


c.srli HINT flagged as illegal

Describe the bug
The c.srli HINT instruction variant is being flagged as illegal. Probably a follow on to the decompressor bug fix.

                -- Shift amount of 0 is not illegal but represent a HINT instruction
                -- if ((ci_instr16_i(12) or or_reduce_f(ci_instr16_i(6 downto 2))) = '0') then -- nzuimm = 0 -> RV32 custom / illegal
                if (ci_instr16_i(12) = '1') then -- shamt(5) /= 0 -> RV32 custom / illegal
                  illegal <= '1';
                end if;

To Reproduce
Inject the following code from riscvDV HINT test stream.
     6ae:	8281                	.short	0x8281
                  .2byte 0x8281 # kHintInstr

This one turns into c.srli x5,0 which on RV32C is a HINT instruction.
Expected behavior
A clear and concise description of what you expected to happen.
Screenshots
If applicable, add screenshots to help explain your problem.
Environment:

OS
GCC Version (RISC-V and native)
Libraries used (clib, newlib, ...)

Hardware:

Hardware version (x.x.x.x)
Implemented CPU extensions, peripherals, ...
Hardware modifications

Additional context
Add any other context about the problem here.

Maybe I have messed this up during the last decompressor fix... 🤔
Anyway, thanks for identifying this loophole! I'll take care of that (after #794 is done :wink:).

No worries. The HINT test wasn't failing prior to the fix, so something changed somewhere :)
Right now have 1 randomly failing illegal instruction test that I'm trying to root source. Its a tad tricky to recreate though.

Right now have 1 randomly failing illegal instruction test that I'm trying to root source. Its a tad tricky to recreate though.

In which instruction class? Also a compressed instruction?

It seems to be in RV32I. From my first "decode" it seems the core is doing the right thing and performing a trap, but our reference is not.
All part of debugging. Sometimes the bug is not in the DUT :)
Its an SLLI instruction with imm[11:5] /= 0, which is an illegal instruction.
ASM snippet
    97f4:       cbcc95a3                sh      t3,-853(s9)
    97f8:       49011793                .word   0x49011793
                  .4byte 0x49011793 # kIllegalFunc7
                  la           a2, region_1+142 #start load_store_instr_stream_1

RISCV spec snippet from SLLI that states imm[11:5] must be 0.

Welp the above has been resolved. No error on either side. The two cores weren't configured identically.


Missing helpers for NovelRT::Ecs::Graphics

This ticket is mostly just a bit of bulk work, and should be doable by anyone who can understand basic C and basic C++.
There is currently no well-defined C shim for simplifying access to the default graphics support within NovelRT::Ecs. This means that:

it is currently impossible to attach the default rendering system to a SystemScheduler from C
it is currently impossible to get the correct component type ID for the rendering components
even if it were possible, the barebones C API for ECS means it would be cumbersome to use.

For something that is well-defined as this in the C++ API I believe that we should probably support the above behaviours in C also. This may or may not involve:

making C-compliant versions of POD types for type punning
opaque handles to complex types such as the default rendering system
making C functions to register the default rendering components internally via C++ and caching the IDs so they can be returned via another C function (or by the same one)

Ill work on it

Issue is open again after user was banned.

I'll start working on it

I'll work on it (trust me, I will!!)


Got "400 bad request" error on proxy requests

Proxy requests end with 400 status (bad request) while I'm trying to fetch json-data.
Proxy config:
const proxy = require('http-proxy-middleware');

module.exports = function(app) {
    app.use(proxy('/users',
      {
          target: 'https://api.github.com',
          secure: false
      }
    ));
};

Fetch request:
fetch('/users/example');
Fetch result:
App.js:7 GET http://localhost:3000/users/example 400 (Bad Request)
Additional info:
lib version = 0.19.0
Browser screenshot:

Looks like you need this:
💡 Tip: Set the option changeOrigin to true for name-based virtual hosted sites.

Please README.md
For help with your setup, please consider using StackOverflow


PullRequestFromBruce

What kind of change does this PR introduce?

** Can it be referenced to an Issue? If so what is the issue # ?**
How can we test it?

Summary

Does this PR introduce a breaking change?
Other information

what is this PR about? please leave some description or i'll have to close it..


Missing glyphicon in ermretrieveresults.html

glyphicon-chevron-right doesn't show up in the browser. Only an empty box. Possibly related to the fact that glyphicons font file isn't loading (404).

Turns out the font directory was just in the wrong place (in root as opposed to under 'styles'). @svoinea fixed it in b5ff6a67346f2c540a4b6c59a9dae896824a4325 :sunglasses:


How to freeze mean and variance parameters of batchnorm layers of resnet-50? When using mx.mod.Module(fixed_param_names), those parameters belongs to auxiliary parameters and not in symbol.list_arguments()

How to freeze mean and variance parameters of batchnorm layers of resnet-50? When using mx.mod.Module(fixed_param_names), those parameters belongs to auxiliary parameters and not in symbol.list_arguments()

When training, moving_mean,moving_var just compute a result. They were not used in param normalization .
When testing, if you don't want to use moving_mean and moving_var, you can set " use_global_stats = False" in batchnorm layers or set is_training=True in forward() function


Copying and pasting a JS function removes the space between function name and opening paren

VSCode Version: Code 1.9.1 (f9d0c687ff2ea7aabd85fb9a43129117c0ecf519, 2017-02-08T23:31:51.320Z)
OS Version: Darwin x64 16.4.0
Extensions:

Extension
Author
Version

vscode-docker
PeterJausovec
0.0.11

python
donjayamanne
0.5.6

gitlens
eamodio
1.4.3

vscode-npm-script
eg2
0.1.8

sublime-keybindings
ms-vscode
1.8.2

jenkinsfile-support
secanis
0.1.0

standard
shinnn
0.2.3

vscode-open-in-github
sysoev
1.3.1

python
tht13
0.2.3

gitblame
waderyan
1.3.0

Steps to Reproduce:

Write a function with a space between the name and opening paren, per standardjs style: function hipFunc () {}
Copy that function and paste it, with autoformat on. Result: function hipFunc() { }, which violates my linter.

Otherwise, though, I'm really liking the autoformat-on-paste feature. Thanks!

Oops, should have searched. This is a dupe of https://github.com/Microsoft/vscode/issues/20369


Add LaPreprint

Repo URL: https://github.com/rowanc1/lapreprint
Added the link after a few of the other paper templates, feel free to move it around!

Looks amazing, thanks for the awesome contribution @rowanc1 !


Java docs with tags. Link to UnsafeWithField.setField is not resolved

Description
Java docs with custom tags. Link to UnsafeWithField.setField method is red as it is not not resolved.
To Reproduce

Run the 'UTBotJava' project in IntelliJ Idea
Symbolic analysis is enabled (File -> Settings -> Tools -> UnitTestBot)
UnitTestBot plugin is installed from main (checked with two today's versions: https://github.com/UnitTestBot/UTBotJava/actions/runs/3265745363
https://github.com/UnitTestBot/UTBotJava/actions/runs/3259341553
In Project view find utbot-sample/src/main/java/org/utbot/examples/unsafe/UnsafeWithField.java
Generate tests with UnitTestBot... for it
Wait tests are generated

Expected behavior
Links to code from Java docs are supposed to be resolved.
Actual behavior
Link to UnsafeWithField.setField method is red as it is not not resolved.
Visual proofs (screenshots, logs, images)

Environment
Windows 10 Pro
IntelliJ IDEA 2022.1.4 (JBR 11)

The problem is related to incorrect full class name with the $ for the static inner class representation


Update color keys of user name and email in Account dialog

Account dialog theming
:recycle: Current situation & Problem
Specify colors of user name and email in account dialog
:gear: Release Notes
Add a bullet point list summary of the feature and possible migration guides if this is a breaking change so this section can be added to the release notes.
Include code snippets that provide examples of the feature implemented or links to the documentation if it appends or changes the public interface.
:books: Documentation
Please ensure that you properly document any additions in conformance to Spezi Documentation Guide.
You can use this section to describe your solution, but we encourage contributors to document your reasoning and changes using in-line documentation.
:white_check_mark: Testing
Please ensure that the PR meets the testing requirements set by CodeCov and that new functionality is appropriately tested.
This section describes important information about the tests and why some elements might not be testable.
:pencil: Code of Conduct & Contributing Guidelines
By submitting creating this pull request, you agree to follow our Code of Conduct and Contributing Guidelines:

[ ] I agree to follow the Code of Conduct and Contributing Guidelines.

@PSchmiedmayer it would be great if you could merge this directly, as code coverage is not enabled for the app

Sure, just merged it 🚀


Added onchip calibration to JNI wrapper

Added onchip calibration to the android JNI wrapper

@MartyG-RealSense Do you know how often pull requests get looked at?

@Murded   I am not involved in development activities so I cannot comment on PR processing.


$attrs received the no value prop will be an empty string, not a Boolean

Version
2.6.11
Reproduction link
https://codesandbox.io/s/magical-thompson-i2jkt?file=/src/App.vue
Steps to reproduce
1.create a Component and do not define any props
2.pass a no value prop like <ComponentA isProp />
3.use the this.$attrs to get the prop
What is expected?
the prop with no value will imply true
What is actually happening?
the prop is a empty string ''

This is expected, like HTML attributes


Rescale weights (not gradients) column norms to 1

How is this possible in TensorFlow, I feel like it should be trivial, but I can't find anything in the API to do this =\
This is to rescale the columns of the weight matrix (i.e., input connections).
Thanks!

I implemented this used a slightly modified version of clip_by_norm, which I applied to each weights variable. I then computed these normed weights variables at each update and then ran a loop across the variables calling assign. Unfortunately, calling apply within a Python loop at each step was a major performance bottleneck and I can't see any op in the API that would allow me to move this update into the graph.

https://www.tensorflow.org/versions/master/api_docs/python/nn.html#l2_normalize , or an equivalent construct? (You should be able to compute the appropriate norm and scale using reductions / elementwise ops, right?)

My apologies, I didn't make it clear, what we usually do is we only normalize if the gradient column is > some threshold, i.e., if column norm > threshold, normalize, else do noop. so I dont think that Op will help, or am I mistaken?

There may be a better way to do it, but if I understand correctly, you may be able to use tf.select to do what you want (may not be the most efficient thing to do memory wise).
Assuming:
w_gradient is the matrix representing the gradients of shape [m, n]
w_gradient_column is whatever reduction function along the column dimension (shape [1, n])
w_tensor is the original weight matrix
w_scaled_tensor is w_tensor with the normalization applied for all columns
First you compute which columns to apply the rescaling to
condition_per_column = tf.greater(w_gradient_column, threshold)
Next you replicate that value along every row to make a boolean tensor of the same shape as w_tensor
condition_tiled = tf.tile(condition_per_column, [m, 1])
Lastly, you create a resulting tensor that applies a mask to select the right value from each tensor.
result = tf.select(condition_tiled, w_scaled_tensor, w_tensor)
Maybe this still isn't what you want, but hopefully you get the point: you can use tf.select and comparison operators to select/mask results conditionally.

I am going to write a TensorOp for this; in the TensorOp, is it legal to have the .Input() and the .Output() tensor point to the same memory? i.e., I want to do this in-place.

fyi, wrote a kernel for this:
https://github.com/wchan/tensorflow/blob/master/tensorflow/core/kernels/training_ops.cc
see: "ApplyMaxWeightColNorm"
code needs to be refactored, generalized and tests added before patch can be submitted "soon".

I think a custom op for this is overkill.  Just do matrix * tf.expand_dims(threshold / tf.maximum(threshold, norms), 1).  Hmm.  I guess for norms one has to do tf.sqrt(tf.reduce_sum(tf.square(matrix), 1) which isn't pretty, but if any new op is added here it should be an L2 norm op (or possibly some extra arguments the existing L2Loss op), not a normalization op.


Don't iterate over peers in generic_proto::behaviour::poll

At the moment, every single call to GenericProto::poll leads to iterating every single peer we are connected to (including the ones for which we are connected only for Kademlia-related purposes).
This PR optimizes this a bit.
The only reason why we need to iterate is to query the various Delays. After this PR, we would now duplicate all these Delays and push these duplicates in a FuturesUnordered.
Polling a FuturesUnordered is O(1) over the number of elements that it contains because it tracks which child futures have woken up and which haven't.
By design, we never remove elements from peers_check_after, as the FuturesUnordered struct doesn't allow removing elements anyway. As such, these duplicate Delays will trigger even when there's nothing to do. This should be negligible.

As mentioned in the comments, I don't yet understand why we need to duplicate the Delays instead of just moving them.

As mentioned in the comments, I don't yet understand why we need to duplicate the Delays instead of just moving them.

When a peer is in the PendingRequest state, it might transition to Enabled as a response to a connection being established. When a peer is in the Banned state, it might transition to Disabled or Incoming as a response to a connection being established.
Since we can't remove elements from FuturesUnordered, we can't remove the associated Delay even when we know that it would no longer be needed. As such, we have a problematic situation: if a peer transitions from, let's say, Banned to Disabled to Enabled to Banned, and then the Delay of the first Banned triggers, we have no way know whether it concerns the first or the second Banned.
We could obviously add some sort of "delay id" system, but that complicates everything for not much gain.

Why do we need to keep this timer?

The timers in the peers state act as the authority.
To see it differently: it's as if we implicitly cached the fact all the timers in the peers state were constantly not ready, and the timers in the FuturesUnordered are an indication as to when clear this cache.

I'm getting a nice performance boost on my node.
Before this PR, with 100 peers, the network worker was consuming ~0.19 CPUs.
After this PR, with 86 peers (still waiting for more incoming peers), it is consuming ~0.125 CPUs.

Since we can't remove elements from FuturesUnordered, we can't remove the associated Delay even when we know that it would no longer be needed. As such, we have a problematic situation: if a peer transitions from, let's say, Banned to Disabled to Enabled to Banned, and then the Delay of the first Banned triggers, we have no way know whether it concerns the first or the second Banned.

The Banned state has no Delay though, only PendingRequest and DisabledPendingEnable. These two states also still have the timer_deadline - I didn't suggest to remove that. So when a timer triggers, you could just check that the deadline has been reached. If not it is a no-op. The deadline is renewed whenever the state transitions to one of these, so old timers firing will just be no-ops. Wouldn't that work?

We could obviously add some sort of "delay id" system, but that complicates everything for not much gain.

I think I would actually prefer that. That is, PeerState::PendingRequest and PeerState::DisabledPendingEnable just carry some timer ID and when a timer fires, it returns the peer ID and its timer ID, so when polling the timers we just need to check if the timer IDs match. I just find it very weird to maintain two identical Delays where one is polled after the other already fired, but it may just be me.

I'm getting a nice performance boost on my node.

Before this PR, with 100 peers, the network worker was consuming ~0.19 CPUs.
After this PR, with 86 peers (still waiting for more incoming peers), it is consuming ~0.125 CPUs.

(note that "Before this PR" is actually a build from Friday the 22nd, but I don't think anything else has been changed that could explain this difference)

My node's network worker consumption seems to stabilize around ~0.15 CPUs after this PR.
Still a good improvement.


Logback encoders are not working with LoggingAppender

Logback encoders are not working with LoggingAppender. Can encoders be used with LoggingAppender for layout/pattern usage?
Environment details
Need to use https://logback.qos.ch/manual/encoders.html with google-cloud-logging-logback, but it doesn't work when I use encoder with google-cloud-logging-logback version 0.130.17-alpha.
Steps to reproduce

Use LoggingAppender in logback.xml
Add encoder element to logback.xml.

Code example
Contents of logback.xml:

<configuration>
  <appender name="CLOUD" class="com.google.cloud.logging.logback.LoggingAppender">
    <!-- Optional : filter logs at or above a level -->
    <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
      <level>DEBUG</level>
    </filter>
    <log>application.log</log> <!-- Optional : default java.log -->
    <resourceType>gae_app</resourceType> <!-- Optional : default: auto-detected, fallback: global -->
    <enhancer>com.server.utils.LoggingEnhancerSimple</enhancer> <!-- Optional -->
    <flushLevel>WARN</flushLevel> <!-- Optional : default ERROR -->
    <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
      <pattern>%d %-5level [%thread] %logger{0}: %msg%n</pattern>
    </encoder>
  </appender>

  <root level="debug">
    <appender-ref ref="CLOUD" />
  </root>
</configuration>

Stack trace
In App Engine Standard Java 17 log I see this error at startup:
`ERROR in ch.qos.logback.core.joran.spi.Interpreter@12:16 - no applicable action for [pattern], current ElementPath  is [[configuration][appender][encoder][pattern]]`

External references such as API reference guides
https://github.com/googleapis/java-logging-logback
See "Usage" section which says encoders can be used with LoggingAppender.

excuse me
how is the status? Reminded to migrate on January 30, 2024
thanks

Hi @peterweb2005 , I am sorry about the late reply. Are you still running into this issue?


Is there available neoscan-3.0?

Hi, is there currently available neoscan3.0?

https://neo3-preview.com/

https://neo3-preview.com/

Thank you, is it

https://neo3-preview.com/

Thank you! Could you provide the repo's url?

https://neo3-preview.com/

Thank you! Could you provide the repo's url?

https://github.com/CityOfZion/neo-3-preview

https://github.com/CityOfZion/neo-3-preview

Thank you!


Update github-ae-tutorial.md

👋🏼 I'm proposing the changes on this PR to remove GHAE references on this GHES Azure integration guide as it can be misleading for cusomters.
I wonder also if we should change the markdown file name as it refers to github-ae

@jeevansd

Can you review this PR?
IMPORTANT: When this content is ready to merge, you must add #sign-off in a comment or the approval may get overlooked.

#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-team


Cannot enable api gateway caching

Before opening, please confirm:

[X] I have installed the latest version of the Amplify CLI (see above), and confirmed that the issue still persists.
[X] I have searched for duplicate or closed issues.
[X] I have read the guide for submitting bug reports.
[X] I have done my best to include a minimal, self-contained set of instructions for consistently reproducing the issue.
[X] I have removed any sensitive information from my code snippets and submission.

How did you install the Amplify CLI?
No response
If applicable, what version of Node.js are you using?
No response
Amplify CLI Version
8.0.2
What operating system are you using?
Mac
Did you make any manual changes to the cloud resources managed by Amplify? Please describe the changes made.
No manual changes made
Amplify Categories
Not applicable
Amplify Commands
override
Describe the bug
I am trying to enable api gw caching through amplify. This requires editing the cloudformation template therefore I am using "amplify api override" as stated in the docs. In the created file I have - resources.deploymentResource.addPropertyOverride("StageDescription", {     CacheClusterEnabled: true,     CacheClusterSize: "0.5",     CachingEnabled: false,   });. After saving the file and executing 'amplify push api' the following error is returned - StageDescription cannot be specified when stage referenced by StageName already exists. Upon debugging further the issue seems to come from the fact that amplify is generating random logical name for the AWS::ApiGateway::Deployment resource. Therefore those changes will pass the first time you deploy and after that any update will come back with 'already exists' error. Please correct me if I am mistaken. The only workaround that I have found is to use resources.addCfnResource and create another Deployment + Stage linked to it but this way you have one extra stage that is not used.
Expected behavior
Upon enabling api gw caching through override.ts the update should go through.
Reproduction steps
1.Amplify add api
2.Amplify push api
3.Amplify override api
4.Enable caching via override.ts
5.Amplify push api
GraphQL schema(s)
No response
Project Identifier
No response
Log output

# Put your logs below this line

Resource handler returned message: "StageDescription cannot be specified when stage referenced by StageName already exists"

Additional information
No response

Hello @mstoyanovv, thank you for reaching out. On replicating this in my amplify application. I observed that
resources.deploymentResource.stageDescription input currently does not contain an object and is being set a undefined.
setting this as feature request for improvements.

You may be able to get this working by setting
  resources.deploymentResource.stageDescription = {cachingEnabled: true};

in the override.ts file. Can you see if that works for you?

You may be able to get this working by setting
  resources.deploymentResource.stageDescription = {cachingEnabled: true};

in the override.ts file. Can you see if that works for you?

This will work only on the first deploy. If you want to update the cache size to a different number it will once again show the error because behind the scene on each deploy the logical name of AWS::ApiGateway::Deployment changes and the new one cannot edit something not created from it. I am not sure why it is implemented like that but this is where the issue lies. Example(auto generated on first deploy):
"DeploymentAPIGWfinjBE1886c490": {       "Type": "AWS::ApiGateway::Deployment",       "Properties": {         "RestApiId": {           "Ref": "finjBE"         },         "Description": "The Development stage deployment of your API."       }     }
On second deploy it becomes:
"DeploymentAPIGWfinjBE3324d123"
As a workaround I have removed the stagaName with
delete resources.deploymentResource.stageName;
and created my own deployment that is editable later on:
`resources.addCfnResource(
{
type: "AWS::ApiGateway::Deployment",
properties: {
RestApiId: { Ref: "testAPI" },
},
},
"mainDeployment"
);
resources.addCfnResource(
{
type: "AWS::ApiGateway::Stage",
properties: {
DeploymentId: { Ref: "mainDeployment" },
CacheClusterEnabled: true,
CacheClusterSize: "0.5",
MethodSettings: [
{
CacheTtlInSeconds: 44,
CachingEnabled: true,
ResourcePath: "/endpoint",
HttpMethod: "GET",
},
],
RestApiId: { Ref: "testAPI" },
StageName: {
"Fn::If": [
"ShouldNotCreateEnvResources",
"Prod",
{
Ref: "env",
},
],
},
},
},
"apiGwStage"
);
}`


create a temp kubeconfig for use with service catalog e2e test

fixes https://github.com/openshift/origin/issues/18722

sjb/config/test_cases/test_branch_origin_service_catalog.yml needs to be updated too.

@stevekuznetsov could you give me the review on this?  Thanks!

LGTM


Add section about JSON literal

https://github.com/reason-association/reasonml.org/blob/master/pages/docs/reason-compiler/latest/function.mdx#fixed-arguments
The<EMAIL_ADDRESS>"exit"] and the placeholder _ argument together indicates that you want the first argument to compile to the string "exit". You can also use any JSON literal with bs.as<EMAIL_ADDRESS>{json|true|json}]<EMAIL_ADDRESS>{json|{"name": "John"}|json}], etc.

Above was about everything I could find about JSON literal on the doc and it doesn't have its own section. Also, it is hard to find about this. I think it should be included in a doc about JSON or have its own page and better paragraphs.

@ryyppy and other maintainers. Would like to ask your opinion.
Should JSON literal be documented on this page?
Or does it need its own page?
What should be the content of the documentation? (I am pretty new to reason so I am not sure if this is used in the other contexts than just<EMAIL_ADDRESS>decorator. What are the other use cases or examples?)


Ornament Support

adds musicxml parsing, note attributes, and note features for ornaments (trill, mordent,...). adds ornament feature test, improved other note feature tests

Codecov Report

Merging #109 (62e87ad) into develop (a7fa31c) will increase coverage by 0.92%.
The diff coverage is 97.05%.

@@             Coverage Diff             @@
##           develop     #109      +/-   ##
===========================================
+ Coverage    77.03%   77.95%   +0.92%
===========================================
  Files           50       50
  Lines         8538     8583      +45
===========================================
+ Hits          6577     6691     +114
+ Misses        1961     1892      -69

Impacted Files
Coverage Δ

partitura/io/importmusicxml.py
72.32% <90.90%> (+4.59%)
:arrow_up:

tests/test_note_features.py
97.29% <97.29%> (ø)

partitura/musicanalysis/note_features.py
77.94% <100.00%> (+13.03%)
:arrow_up:

partitura/score.py
78.52% <100.00%> (+0.48%)
:arrow_up:

tests/__init__.py
100.00% <100.00%> (ø)

Continue to review full report at Codecov.

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


[Bug] apply fails when applying a kubernetes List

chainsaw version Version
v0.1.0
Description
The apply step appears to always fail if you utilize a kubernetes List to create multiple resources from a single file/apply
=== ERROR
the server could not find the requested resource
| step-00 | CREATE | ERROR | v1/List@my-resource-list |

Initially it was failing because it didn't have a name, which in the case of a list, isn't required. This wasn't a problem when using kuttl
Steps to reproduce

Use the apply step to apply a file that utilizes a List to create multiple things

# resource-list.yaml
apiVersion: v1
kind: List
items:
- apiVersion: v1
  kind: ConfigMap
  metadata:
    name: cm-1
    namespace: default
  data:
    key: yes

- apiVersion: v1
  kind: ConfigMap
  metadata:
    name: cm-2
    namespace: default
  data:
    key: no

apiVersion: chainsaw.kyverno.io/v1alpha1
kind: Test
metadata:
  creationTimestamp: null
  name: my-test
spec:
  namespace: default
  steps:
  - name: step-00
    try:
    - apply:
        file: PriorityClass.yaml
    - apply:
        file: resource-list..yaml

    - assert:
        file: 00-assert.yaml

Expected behavior
I would expect the items in the list to be applied and recognized by chainsaw and track them as if they were applied individually. Additionally, I would expect chainsaw to recognize that the List isn't a concrete resource with an API, but is a valid way to apply resources.
Screenshots
No response
Logs
| 14:28:47 | keydb-statefulset | step-00  | CREATE    | ERROR | v1/List @ keydb-deployment-resources
        === ERROR
        the server could not find the requested resource
    | 14:28:47 | keydb-statefulset | step-00  | CREATE    | ERROR | v1/List @ keydb-deployment-resources
        === ERROR
        the server could not find the requested resource
    | 14:28:47 | keydb-statefulset | step-00  | CREATE    | ERROR | v1/List @ keydb-deployment-resources
        === ERROR
        the server could not find the requested resource
    | 14:28:47 | keydb-statefulset | step-00  | CREATE    | ERROR | v1/List @ keydb-deployment-resources
        === ERROR
        the server could not find the requested resource
    | 14:28:47 | keydb-statefulset | step-00  | CREATE    | ERROR | v1/List @ keydb-deployment-resources
        === ERROR
        the server could not find the requested resource
    | 14:28:47 | keydb-statefulset | step-00  | APPLY     | ERROR | v1/List @ keydb-deployment-resources
        === ERROR
        client rate limiter Wait returned an error: context deadline exceeded
    | 14:28:47 | keydb-statefulset | step-00  | TRY       | DONE  |

Slack discussion
No response
Troubleshooting

[X] I have searched other issues in this repository and mine is not recorded.

Thanks for reporting and providing an example !


TOSCA templates for both use cases

Added TOSCA for both use cases, a readme to explain the TOSCA subdirectory and note on use of Puccini quirk

replacing with newer request

closing due to newer request


Implement best practices for exceptions

Some exceptions thrown are vague or inaccurate. With little experience of throwing the proper exception messages and how  best to structure this, it'd be best for a more experienced developer to take a look through and quickly create exception classes with best-practices.

This should be done as unit tests are written for each class where exception are expected. New classes created should be tested anyway.

Will do as part of #11


Make it possible to disable the _profile-name suffix in AWS SSM

This is a suggestion to make it possible to disable the _profile-name suffix expected in the SSM parameter store path.
My team is using a strategy where we have one AWS account per environment so having the profile as part of the name conflicts with the naming standard we already have and makes the couldformation templates more complex. We still use the profile to configure some things we want different in test, stage and prod so it would be nice to be able to turn this off.
If you think this is a good idea I will clean up the PR, add tests and make sure everything is spiffy

@TorrentKatten Please sign the Contributor License Agreement!
Click here to manually synchronize the status of this Pull Request.
See the FAQ for frequently asked questions.

@TorrentKatten Thank you for signing the Contributor License Agreement!

Thanks @TorrentKatten for contribution. We cannot merge it right now as it is but I am almost sure we are going to add ability to exclude fetching secrets by profile. I would appreciate if you explain in #607 how your company uses Secrets Manager as it could finally start a conversation there.

With the new Spring Boot 2.4 based SSM integration (that will be released in Spring Cloud AWS 2.3) this issue does not exist anymore. See more https://github.com/spring-cloud/spring-cloud-aws/issues/607


Add option to disable SPF TXT record

Adding configure_spf variable to allow disabling the SPF TXT record. This way the TXT record can be managed outside of the module.
This change will re-create the TXT record as it now is using count

This means we'll end up with 2 types of consumer modules, and the responsibility for the SPF record will always be shared.
We can force the responsibility to always be with the module if we make an array of domains configurable:
# variables.tf
variable "spf_additional_domain_names" {
  type    = list(string)
  default = []

  description = <<EOS
Domain names to be included in the SPF record.
EOS
}

When I specify spf_additional_domain_names = ["emarsys.us"], the module could end up creating the SPF record: v=spf1 include:amazonses.com include:emarsys.us ~all
@fmasuhr What do you think?

@awendt By design, an SPF record is not specific a specific ESP. It only work for simples cases with one ESP per domain. Thus, a module for a specific ESP should not pretend, that it's always responsible for the SPF record (this would obviously clash if modules for different ESPs would both apply that pattern).


make facet indexes rectangular if they overlap

Yet another approach to the overlapping facet issue (alternatives: #1069, #1070).
Instead of reading the value of X for index i as X[i], we read it as X[i % X.length]. This allows to create "long" channels as rectangular representations of n * m values (n being the length of the data, and m the number of facets), where default channels are a "line" of n values. There is no need for a reindexation plan, since the addressing system doesn't need extra information to read the proper value when the index is "out of range".
Besides this change, only the transforms that need to care about overlapping facets need to be modified: stack, map, and dodge.
Performance. This works only if we are allowed to create a Uint32Array of length n*m — in some very specific cases (such as facets that overlap by pairs), it can break earlier than a subtler reindexing plan. Since it doesn't need to expand any existing channels, it should be faster and consume less memory in general.
(In the case of cumulative facets where each data point creates its own facet (which do not exist for now but will be created by time facets), this means we get a cap at something like 32k keyframes if we use one of the expanding transforms, such as stack or dodge).
Backward compatibility. Note that this will change the output if you used a column that had a length inferior to the data it covers. However, relying on this would have been a hack, which afaik was never used in the wild nor in our examples and tests. Furthermore, Plot's introduction of columnar channels explicitly mentions that a columnar channel is “an array of values of the same length as the data”.
Code aesthetics. It's a bit ugly that every lookup of a value in a channel has to be done with this "modulo length" operator. We could change this to a function get(X,i) for readability, but it's probably not that much more readable (only a bit less ugly), and maybe a bit slower. But happy to change if this looks nicer. It might also be something that we'd want to expose, for users who want to write their own reducers.
I'm not sure how to document this.
supersedes the first item of #1041, as well as #1057 and the other branches we were working on…

Closing in favor of #0169