qsm processing error

Hello qMRILab developers
I am using your package for QSM analysis .
when I run the code I got some errors which is not resolvable for me
I will attach it below .
I appreciate any help .
thanks a lot
Error using logical
NaN's cannot be converted to logicals.
Error in qsm_sb/fit (line 194)
data.Mask = logical(data.Mask);
Error in FitData (line 209)
Fit = Model.fit(data);
Error in qMRLab>FitGo_FitData (line 362)
FitResults = FitData(data,Model,1);
Error in qMRLab>FitGO_Callback (line 344)
FitGo_FitData(hObject, eventdata, handles);
Error in gui_mainfcn (line 95)
feval(varargin{:});
Error in qMRLab (line 37)
gui_mainfcn(gui_State, varargin{:});
Error in
matlab.graphics.internal.figfile.FigFile/read>@(hObject,eventdata)qMRLab('FitGO_Callback',hObject,eventdata,guidata(hObject))
Error while evaluating UIControl Callback.

@abolfazl-ma thanks a lot for your feedback. It seems that your mask is not binary. Can you please attach your mask here?
Best,
Tanguy

thanks for your response.
yes of  course .[]
[New WinRAR ZIP ar
New WinRAR ZIP archive.zip
chive.zip](https://github.com/qMRLab/qMRLab/files/3650635/New.WinRAR.ZIP.archive.zip)

we try this with another PC and  we got the following error.
Error using iterapp (line 59)
user supplied function ==> @(x)applyForward(x,D2,lambdaL2,fdx,fdy,fdz,conj(fdx),conj(fdy),conj(fdz),magnWeight)
failed with the following error:
To RESHAPE the number of elements must not change.
Error in pcg (line 161)
r = b - iterapp('mtimes',afun,atype,afcnstr,x,varargin{:});
Error in calcChiL2 (line 41)
[F_chi, ~, pcg_res, pcg_iter] = pcg(@(x) applyForward(x, D2, lambdaL2, fdx, fdy, fdz, ...
Error in qsm_sb/fit (line 331)
[FitResults.chiL2,FitResults.chiL2M] = calcChiL2(phaseLUnwrap, lambdaL2, FitOpt.direction,
imageResolution, maskGlobal, padSize, magnWeight);
Error in FitData (line 209)
Fit = Model.fit(data);
Error in qMRLab>FitGo_FitData (line 362)
FitResults = FitData(data,Model,1);
Error in qMRLab>FitGO_Callback (line 344)
FitGo_FitData(hObject, eventdata, handles);
Error in gui_mainfcn (line 95)
feval(varargin{:});
Error in qMRLab (line 37)
gui_mainfcn(gui_State, varargin{:});
Error in
matlab.graphics.internal.figfile.FigFile/read>@(hObject,eventdata)qMRLab('FitGO_Callback',hObject,eventdata,guidata(hObject))
Error while evaluating UIControl Callback.
best ,
abolfazl.

@abolfazl-ma your first issue has been solved and will be merged ASAP, thanks for this feedback!
For the second issue. @mathieuboudreau will help you since he implemented this module.
Best,
Tanguy

@mathieuboudreau it would be nice also to manage NaNs in Phase or Magnitude data. Currently, the entire result is NaN if a single input voxel is NaN.

@tanguyduval thanks for your help so far!
To clear one thing first, I did not implement this code; this code is from Berkin Bilgic (it was uploaded here: https://www.martinos.org/~berkin/software.html), and the module was implemented by @agahkarakuzu. I helped @agahkarakuzu a little bit, but he did most of the work.
To start off, I'd like to know if @abolfazl-ma you have tried to download and process the test dataset. QSM datasets come in all sorts of formats, and this module is only compatible with datasets matching the ones with the same format as that one. Because we know that the code worked at processing the test dataset, we would assume that if you've formatted your data in the same format, then it should also process. Some features of this dataset are: single echo (not multi-echo), 3D, matching dimensions for phase, magnitude, and masks volumes, masks only having values of 0 and 1, phase data should be unprocessed (wrapped) and range in values from -pi to pi, and magnitude data have only positive values.
It is very concerning that your mask has NaN (not a numbers), so I would investigate that. How did you create your masks? And does your Phase and Magnitude data also have NaN values (as Tanguy hints)? I don't think there is one clear solution in qMRLab to handling NaN (by setting them to a certain value); it should be handled at the source I think.

@mathieuboudreau it would be nice also to manage NaNs in Phase or Magnitude data. Currently, the entire result is NaN if a single input voxel is NaN.

That make sense @tanguyduval, as unlike most of our other models, QSM relies heavily on spatial information, and neighbouring voxels depend on each other during the processing (if I recall, QSM has a deconvolution step, or an alternative implementation of that depending on the algoritm). Any NaN in the dataset is worrying, and I'm not sure how other QSM experts would handle this besides acquiring good data (as far as I know, MRI scanners shouldn't output NaN from the raw data, so NaNs would mean that maybe something went wrong in the preprocessing steps, and should be fixed there and not here).

Thank you for the great points @mathieuboudreau!
I am also happy to help out @abolfazl-ma with their very first issue on GitHub (🎊) following responses to your questions.

Thanks for the information you provided .
In my data, there are no values of NAN, and in the second error we can see that this is not the case . my data is 3D multi echo . and  there are other conditions that you said . And I couldn't download the sample data .     On Wednesday, September 25, 2019, 04:28:19 PM GMT+3:30, Agah<EMAIL_ADDRESS>wrote:
Thank you for the great points @mathieuboudreau!
I am also happy to help out @abolfazl-ma with their very first issue on GitHub ( 🎊 ) following responses to your questions.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

my data is 3D multi echo

Unfortunately, our sole QSM module is implemented to be only compatible with single-echo data. It is based off of this paper, and is a import/refactor of Bilgic's code that he released on his website here (it's the "Fast l1-Regularized QSM with..." one). This is likely what caused your error. We currently don't have any plans on implementing another QSM module, but I'll bring it up at our next team meeting and get back to you. If we do decide to implement a multi-echo compatible QSM implementation that someone else released online already, it will will likely take a while (I'd say a couple of months at least, since the ISMRM and OHBM deadlines are coming up soon).
In the meantime, may I recommend checking out this list of open-source QSM softwares & datasets that I compiled last year: https://github.com/mathieuboudreau/qsm-tools. I know that a few of these are widely used in studies already.
We'll update the documentation/data check to make it clear that our qsm_sb implementation requires a single echo dataset, and are compatible with multi-echo datasets.
p.s.

And I couldn't download the sample data .

That's odd. Did you get an error? If you clicked the button and selected a folder, it should have downloaded it, it may just not appear until you click "View" next to Phase or Magnitude paths.

@mathieuboudreau I remember we were discussing with a contributor during MRathon about a pre-processing step to combine multi echo data before proceeding to perform qsm. I'll check that and see if what we were talking there had anything to do with this.

Hi all! I'm doing fine, thanks. Hope all of you too!
Ok, so if I understand correctly, I indeed think that part of the actual issue is related to what we discussed at the last MRathon. We could indeed make qMRLab QSM module compatible with multi-echo data sets by adding a preprocessing module where multi-echo data would be combined into an SNR-optimized estimate of the frequency. This frequency estimate could then be input to the rest of the QSM module as if it had been estimated from a single-echo data set. Based on my current knowledge, this is the most common way to process multi-echo data sets in the QSM community at the moment (although other methods exist and are being developed and tested).
At the last MRAthon, I wanted to implement one of the two main methods used to combine multi-echo data sets (by the way, sorry not to have given any news sooner...). It's the weighted average method, explained in this paper. The qMRLab implementation could be ready rather rapidly, I was not that far from a working version.
However, I paused the development because talking and coding with you guys made me realize a quite important thing. I don't know if you remember, but we decided to place the weighted average echo combination module into the B0 estimation module because it essentially aims at computing a frequency estimate from phase data. However, I realized that the weighted-average approach does not exactly yield the frequency: the result is still contaminated with the phase offset (although this was not discussed in the original paper).  While this can be harmless in a QSM setup where low spatial frequencies are mostly removed during the background field removal step, it causes an important problem for the B0 estimation module. Therefore, I was a bit stuck and did not know exactly how to implement the echo combination module...
Now that we are at it, I can propose the two more feasible solutions that I thought of:

Keep the weighted average in the B0 estimation module, but estimate the phase offset alongside the frequency (I only have simple non-tested methods in mind for that at the moment).
Code the weighted average exactly as it was proposed in the original paper, but do not include it in the B0 estimation module.

Other options in between those two are also feasible...
So, in short, I would be happy to continue and finish the implementation of the weighted average multi-echo preprocessing module. To do so, it would be helpful to have your thoughts about the previous alternatives!

Thank you for the quick response @jeremie-fouquet! What I have mind for this one is actually to have a separate module that inherits the B0 module. I think model names should reveal their functionality clearly for users.

Code the weighted average exactly as it was proposed in the original paper, but do not include it in the B0 estimation module

If it is not possible to implement it  as you mention here by inheriting from B0, then we can indeed add it as a new model.

@jeremie-fouquet I've just merged master into echo_combination, was this the branch you were working on? How quickly can we come up with something that functions to combine multiple echoes?
If implementing is qMRLab is gonna take you a while I can also help and/or/if possible can you share your echo combination code so that we can help out @abolfazl-ma more quickly?

That was indeed the branch I was working on. We can come up with something that combines echoes rather quickly (a few days), the algorithm is quite simple. I could push something functioning something like tomorrow, but I will probably need some help then to make it fit properly within qMRLab.

@jeremie-fouquet thank you 🚀 Don't worry about the qMRLab related aspects of it, I can arrange them quickly. As long as you put your code out there with clear input/output/parameter selection explanations, the rest is going to be easy.

Hi @agahkarakuzu . I've pushed a first version of the weighted average echo combination on my fork here. qsm_sb should now support multi-echo data sets, with weighted averaging when magnitude is available and simple averaging when it is not.
I would need help to see what's the best way to allow someone to enter its own TE vector (length a priori unknown) in the GUI.
The function performing the weighted average still needs testing and improvements. I'm working on these improvements at the moment. @abolfazl-ma, in the meantime, if you prefer an echo combination matlab implementation that has been more widely used in the community, you can give a try to the Fit_ppm_complex_TE.m in the MEDI toolbox.
I also allowed myself to do a little bit of refactoring to qsm_sb.

Thank you @jeremie-fouquet, I'll look into this today.

I also allowed myself to do a little bit of refactoring to qsm_sb.

Why do you think that a refactoring is needed?

Why do you think that a refactoring is needed?

Mainly, the scaling of the unwrapped phase to ppm units was done in the SHARP function. This caused a small issue because part of this scaling is now done in the weighted average part (namely the scaling with 1/TE).
Because I don't think scaling to ppm units is inherent to SHARP background field removal, I just moved it to the main qsm_sb body.

In particular, why remove the physical parameters from the function backgroundRemovalSharp? (These were included by Berkin Bilgic in his original implementation). The only worry I might have is that his original results might not replicate in qMRLab now (which they did previously)

But I'm not fully attached to the either way, reproducibility of his results was just a good benefit; it's something that should be tested.

But I'm not fully attached to the either way, reproducibility of his results was just a good benefit; it's something that should be tested.

I fully agree that reproducibility is key for a simple refactoring. If I knew how I would have tested reproducibility before pushing changes. Is there a simple way to do this locally? I could run qsm_sb on the test data from let's say the master branch, then run it from the new echo_combination branch, and compare the results obtained in both situations, but this appears a little cumbersome. Is there an easier way to do this test within qMRLab?

In particular, why remove the physical parameters from the function backgroundRemovalSharp?

The practical reason is that part of what was done with those physical parameters within backgroundRemovalSharp is now done within the echo combination step. Particularly, the phase was scaled with 1/TE in backgroundRemovalSharp. If you have multiple TE, then this does not really make sense. The idea is now to take care of this scaling with 1/TE in the echo combination part.
A more fundamental reason is that the physical parameters are not needed for SHARP background field removal. I would guess that Berkin Bilgic included scaling with those parameters in there because it's not a complicated step that can be included easily pretty much everywhere...

@jeremie-fouquet I run qsm_sb from your branch vs master on test data, then compared outputs:

I'll have a look. Could you please indicate how you obtain (new/old) nfm and sb?

Download test data from here
For new, switch to the echo_combination branch.
For old, switch to the master branch.

nfm indicates that No Regularization option was selected.
sb indicates that Split-bregman option was selected.
Other (fixed) options:
Derivative direction: Forward
Sharp Filtering : Enabled
Sharp Mode: once
Padding size: 9 9 9
LambdaL1: 0.000921055 (default)
LambdaL2: 0.0316228 (default)

Ok. So this seems to come from the fact that, before refactoring, data was padded for SHARP with padVolumeForSharp prior to phase unwrapping. Honestly, I don't know if that was right or wrong. I just know that padding is not needed for phase unwrapping.
Because the echo combination returns an already unwrapped phase, I moved data padding after phase unwrapping during the refactoring (it is unnecessary to pad data for echo combination and phase unwrapping).
However, it turns out that padding before or after unwrapping does not make that much of a difference. To illustrate my point, here is the difference in nfm chi between master and echo_combination branch as they are now in the qMRLab/qMRLab (padding is done after unwrapping):

Here is the difference between the same branches, but after I've made modifications to echo_combine so that padding occurs before phase unwrapping (again, I don't think this is necessary; actually it might even make phase unwrapping sensitive to the choice of padding made for SHARP, which I don't think is desirable):

Please note the scale of the differences. In the first case, assertElementsAlmostEqual returns an error. It does not in the second.

@jeremie-fouquet thank you for the clear explanation! I'll merge your echo_combination again to have these changes. e-16 is quite acceptable :)

Indeed, haven't pushed them yet! I thought you might have wanted to consider the option of padding after unwrapping instead of before (even if it brings ~e-6 difference with previous version). If you want to minimize difference with before, I'll push the changes as soon as I can (maybe tonight).

But honestly, I think I would consider unwrapping before padding (i.e., what is done in the actual version of the qMRLab/echo_combination branch), unless there is a good reason not to do so that I don't get yet. This would make unwrapping independent of the padding chosen for SHARP.

@jeremie-fouquet have you pushed changes you mentioned above? Unwrapping --> padding order intuitively makes sense, I totally get your point. But just for the sake of reproducing the original implementation I'd say we leave as is. The one that gives this output:

Many thanks 🌟 🚀 🎊

@agahkarakuzu All right, it is now pushed on my echo_combination branch. I hope everything works fine.

Many thanks @jeremie-fouquet, merging rn ! I think now @abolfazl-ma can give it a try on the echo_combination branch right?

Actually, I think one thing lacking is the possibility for the user to enter its own TE vector (instead of a single TE). Would that be easy to do within the actual qsm_sb GUI?

Great reminder @jeremie-fouquet , I will do it :)

[ ] Add multi-echo option on GUI

@jeremie-fouquet if you have time, can you try using add button below to pass multiple echo times and use the multiecho data you've been working with?

@agahkarakuzu Seems to work for me. I also had to modify my echo_combination branch for a few remaining bugs (the new modifs are pushed).

@abolfazl-ma thanks to great support of @jeremie-fouquet now our qsm_sb module can work with multi-echo data.  We'd be glad if you can give it a try and let us know if it works for you?

Please add a TE (s) row for every echo and enter the corresponding echo time. You can use Add button to do that.

@abolfazl-ma are you planning to give the module a try and see if it works for you? We'd like to know whether the implementations made responded your need.

@abolfazl-ma the changes @jeremie-fouquet did on this branch appear to resolve the issue you were facing.
Please note that we will merge changes to the master soon. It would be really useful to have your feedback as well if you are still on it.

#346


Speed issue with VariableTree being deep copied

When a VariableTree is passed as a static input to a component in a CaseIteratorDriver, it is systematically deep-copied. This creates a significant overhead that scales with the number and size of variables within the VariableTree. A wind farm AEP calculation with 600 flow cases (wind speed and direction) takes easily more than a minute on a full size wind farm --just to deep copy the same VariableTree.
OpenMDAO is working on a next release that has had some significant changes on how to handle VariableTrees, with "dramatic speed improvement". Hopefully this performance issue is also dealt with.
TODO:

[x] contact openMDAO team
[ ] make a reduce problem for them to test on
[ ] follow up on the bug report

closing - openmdao undergoing refactoring and will revisit speed with new version release


Add crate: imgui-ext

Please add crate to category: ui
https://github.com/germangb/imgui-ext

Added in 76da46c46c7da4f60f3f51e2790a6e0b2ffbe7ac.


Feature request: Device-based permissions for bot/script usage

Is there a way to restrict the bot/script usage to a certain account or better a device-id? Because if my admin account gets compromised, it can't use the bot of the different device-id. I can't figure out how to restrict the admin scripts to my admin account.

If you just want a single user (e.g. you as the administrator) to be allowed to issue bot commands, then yes, that is doable.
Create the bot account. Either use the bot account directly or create a DM room between the bot and yourself. This
way only you have access to the bot. If nobody else is invited, nobody else has access to the bot. And you as admin
have access to the bot from all your devices (cell, laptop, desktop) wherever you have a Matrix client installed.
The idea is of more fine-grained restriction is good.
This would provide more protection, but as always more protection also means less simplicity.
Currently the bot is account based, and not device-id based. The bot does not know anything about devices,
i.e. all devices of the account can issue commands. More, if a bot room is shared, all invited users can
issue/trigger commands (again from all their devices). The bot just understands users, i.e. accounts, but not devices.
Making the bot understand devices is certainly doable. The config file could hold a whitelist of allowed device-ids
and the bot could look into the received event and look at the received device id and then cross-check it with the whitelist
to decide whether to allow or ignore the event/request.
That would be a new feature request.
I leave the issue open, as a reminder of this possible future extension.
But I have no immediate plan to implement it.
You are certainly more than welcome to contribute a PR.

See also discussion in Feature Request, issue #20.
Issue #3 and Issue #20 are very related.

But there are already options in config.yaml called device_id, device_name, etc. (BTW I came here to understand where to get the settings (I'm first-time bot user), but I'll try the vague ABCDEFGHIJ...)


all automated tests fails on git hub actions

Description
all nightly tests on git hub actions fails.
on all of the 4 networks

the tests are getting stuck so it end up timing out with out doing all the tests
errors that are occurred
TestGateWayPrivate/gateway_name_private 2024-01-11T00:57:18Z logger.go:66: │ Error: could not deploy network vmtesting: failed to create contract on node 11: failed to create contract: error extracting events from block(0x2658811ee8ff2809bb9c9257f68454d6d6afa4590d8a0541baec41b3ffc82f6d): failed to decode event: unable to decode field 4 event #19 with EventID [27 9], field TFTBridgeModule_BurnTransactionExpired: Encoded array length is higher than allowed by the protocol (32-bit unsigned integer)
TestGateWayPrivate/gateway_name_private 2024-01-11T00:57:18Z logger.go:66: │
TestGateWayPrivate/gateway_name_private 2024-01-11T00:57:18Z logger.go:66: │   with grid_network.net1,
TestGateWayPrivate/gateway_name_private 2024-01-11T00:57:18Z logger.go:66: │   on main.tf line 42, in resource "grid_network" "net1":
TestGateWayPrivate/gateway_name_private 2024-01-11T00:57:18Z logger.go:66: │   42: resource "grid_network" "net1" {
TestGateWayPrivate/gateway_name_private 2024-01-11T00:57:18Z logger.go:66: │
TestGateWayPrivate/gateway_name_private 2024-01-11T00:57:18Z logger.go:66: ╵
TestGateWayPrivate/gateway_name_private 2024-01-11T00:57:18Z retry.go:99: Returning due to fatal error: FatalError{Underlying: error while running command: exit status 1; ╷
│ Error: could not deploy network vmtesting: failed to create contract on node 11: failed to create contract: error extracting events from block(0x2658811ee8ff2809bb9c9257f68454d6d6afa4590d8a0541baec41b3ffc82f6d): failed to decode event: unable to decode field 4 event #19 with EventID [27 9], field TFTBridgeModule_BurnTransactionExpired: Encoded array length is higher than allowed by the protocol (32-bit unsigned integer)
│
│   with grid_network.net1,
│   on main.tf line 42, in resource "grid_network" "net1":
│   42: resource "grid_network" "net1" {
│
╵}
    gateway_private_test.go:42:
        	Error Trace:	/home/runner/work/terraform-provider-grid/terraform-provider-grid/integrationtests/gateway_private_test.go:42
        	Error:      	Received unexpected error:
        	            	FatalError{Underlying: error while running command: exit status 1; ╷
        	            	│ Error: could not deploy network vmtesting: failed to create contract on node 11: failed to create contract: error extracting events from block(0x2658811ee8ff2809bb9c9257f68454d6d6afa4590d8a0541baec41b3ffc82f6d): failed to decode event: unable to decode field 4 event #19 with EventID [27 9], field TFTBridgeModule_BurnTransactionExpired: Encoded array length is higher than allowed by the protocol (32-bit unsigned integer)
        	            	│
        	            	│   with grid_network.net1,
        	            	│   on main.tf line 42, in resource "grid_network" "net1":
        	            	│   42: resource "grid_network" "net1" {
        	            	│
        	            	╵}

tests now fails without triggering.

it seems that the issue lacking the version

Continued here: https://github.com/threefoldtech/terraform-provider-grid/issues/947


[bug] integrated terminal does not work with external commands

VS Code Version:  1.84.2
OS Version :Windows x86, 64 bit  |  10.0.1904

Terminal Bug
The VSCode integrated terminal doesn't recognize any Path system variables (commands) other than git. GCC, TSC , NPM nothing is working in the integrated terminal.

It looks like your report is missing some important information, See this wiki page for more info on how to report actionable terminal issues.
/label info-needed terminal

This issue has been closed automatically because it needs more information and has not had recent activity. See also our issue reporting guidelines.
Happy Coding!


Basic minor improvements

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

Project coverage is 100.00%. Comparing base (d9917be) to head (c07a98c).

Additional details and impacted files
@@            Coverage Diff            @@
##              main       #43   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files           65        65
  Lines         2952      2960    +8
=========================================
+ Hits          2952      2960    +8

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


dataCallback overwritten by angular plugin

When using the angular plugin, the dataCallback method I set in the config options is overwritten by the plugin.
Raven.config("mydsn", {
  dataCallback: function(data) {
    console.log "my data callback was called";
    return data;
  }
}).install();

The provided callback will be stored in _globalOptions.dataCallback during config(). After that, install() will call angularPlugin which calls Raven.setDataCallback - overwriting my callback. There are two solutions here:

The plugin should create a wrapper method that first calls the already registered callback (if any) and then does it's own work.
There should not only be one callback but several, registered in an array that will be called one after the other. The downside would be that:

either the name for registering data callbacks would be called setDataCallback although it wouldn't set but add it
or the method would be renamed, breaking backwards compatibility. This could be avoided by keeping setDataCallback which would erase all other callbacks and add addDataCallback or registerDataCallback which would just add the callback to the array.

I could create a PR if one approach is acceptable.

This is also true for the react-native plugin. There, setTransport also works the same and might lead to similar problems.

Thanks for reporting this.
My first inclination is to have both plugins just dig into Raven's internals and wrap this._globalOptions.dataCallback (option 1), since that will quickly fix the problem and doesn't require us to modify Raven's public API. Since these are plugins maintained by us, I think touching the private API is okay.
The flip side is that this is a recurring problem, and I'd like to see a longer term fix (e.g. addDataCallback or some other generic event API). But we've introduced a lot of thrash to Raven recently, and I think I'd like to hold out just a little longer on this.

cc @mattrobenolt

Hmm, thinking about this more, just wrapping the internal callback can still result in situations where the callback is clobbered.
For example, if you call setDataCallback after install, it would clobber any plugin's callbacks:
Raven
  .config('DSN')
  .addPlugin(Raven.Plugins.Angular)
  .install()
  .setDataCallback(myDataCallback);

Admittedly, that's not how we document this in the docs, but it could happen. Hmm.

@benvinegar Right. That means the dataCallback option and setDataCallback function should only be used by the user while the plugins should use a different way to register their data enhancements. On the other hand, a user might want to achieve just this: Use the plugin's exception handler but not it's data callback. But this is rather hypothetical.

Already fixed


Refactored colours to make them more dynamic

Refactored colours to make them more dynamic
I have also updated the README file to show how new colours can be added

Wow, that is awesome! Much more concise than previous, thank you for the refactor.
One comment, it looks like that the .background-{color} class gets applied to the text color rather than the background color. Could you please fix this before I merge in your changes?

Sorry about that, copy and paste error. Should be fixed now


How to conduct a complete update benchmark use all params in validation_params.csv

As far as I know, the benchmark needs to validate the parameters first, and all the potential parameters needed may already be generated in the validation file. If I want to use all the parameters in this validation file for testing, how should I set it up in Cyper @szarnyasg

Check point 2 in the description of driver modes:
https://github.com/ldbc/ldbc_snb_interactive#driver-modes


make methods protected

Q
A

Bug fix?
yes

New feature?
yes

BC breaks?
no

Related tickets

License
MIT

Any reason these are private?
My API returns application/hal+json, so I wanted to override assertJsonHeader.

Can you do the same for XML test case?

ping @bendavies, doing the same for XmlApiTestCase would be nice :)

done!

Thanks Ben! 🏎


Update alertmanager mixin

Bumping Alertmanager mixin version, and adding the dashboard developed in: https://github.com/prometheus/alertmanager/pull/2540
cc/ @paulfantom

Without making any changes, this is what I see after applying the generated manifests 🙂:

Awesome!!! :100:


Custom LDL solver

New custom LDL solver for OSQP.

Ah, I just commented on this here. It's important to note that, contrary to your statement in #23, dynamically linking to SuiteSparse is insufficient to avoid GPL virality. (If it were LGPL that would be another matter; alas, it is not.) So at this point, your project is effectively GPLv2.

Honestly, this bites other projects too—a liberally licensed sparse LDL solver would be a great contribution to the community. Heck, its existence alone might encourage Prof. Davis to relicense his solver.

Unless they changed it in a new release that we are not using, to my understanding SuiteSparse LDL is LGPL. Not GPL. We included the license file in this repo.

Forehead slap. I just flat out misread it. Thank you! So a dynamic link is sufficient.

Just a few comments (happy to know your opinion since you are working with some customers).

We implemented a dynamic shared library loader for the linear system solver requested in the settings. At the moment it works only with mkl pardiso, but we wrote it in an object oriented way to allow other solvers to be interfaced. This makes it much easier when we create packages that do not require linking at compile time.

We have a prototype version of an ldl solver that works only for quasi-definite matrices and that would be enough to replace suitesparse ldl. We are slowly implementing it since we are all busy with other projects but it is definitely going to happen.

We did not include  the dynamic suitesparse ldl loder as for mkl pardiso since we are anyway planning to replace it. However, if someone is interested we could do it (or ask for help in doing it) so that industrial users would be happy.

We had to implement some modifications in the LDL code before linking the linear system solver. There were some potential bugs. See #35. For this reason just compiling the vanilla SuiteSparse LDL and linking it would have not removed the errors.

Just a note here to say that an LDL replacement with friendlier licensing terms is already under development and we have a (probably) working prototype.     Watch this space.

Apache 2.0 licensed LDL factorisation library is now available here:
https://github.com/oxfordcontrol/qdldl
OSQP will use this LDL library in the next release.

Reopened until support for this is implemented in OSQP.

@goulart-paul Thanks! A small note: the URL text is correct, but the actual link is pointing to  https://github.com/oxfordcontrol/osqp/issues/url instead of https://github.com/oxfordcontrol/qdldl .

URL should be fixed now


4.8.1 FluentDatePicker not work

          4.8.1 FluentDatePicker not work

https://github.com/microsoft/fluentui-blazor/assets/138755518/da90dd2e-e3ee-4916-8861-9677931c5429
Originally posted by @Rudtan in https://github.com/microsoft/fluentui-blazor/issues/2237#issuecomment-2188032616

Closing this as it is not a new issue. New version containing the fits has not been released yet


(bug) blank screen in any target, any distro, lasted release

Please paste the output of the following command here: sudo edit-chroot -all

name: venenuxliuxlxde
encrypted: no
Entering /mnt/stateful_partition/crouton/chroots/venenuxliuxlxde...
crouton: version 1-20180329190032~master:d287904a
release: stretch
architecture: armhf
xmethod: xorg
targets: core,audio,lxde-desktop,x11
host: version 10323.67.0 (Official Build) stable-channel daisy
kernel: Linux localhost 3.8.11 #1 SMP Tue Apr 3 11:52:52 PDT 2018 armv7l GNU/Linux
freon: yes
Unmounting /mnt/stateful_partition/crouton/chroots/venenuxliuxlxde...

Please describe your issue:
sudo startlxde does not give start lxde
seems the x11 target are implits due dependences by the "Recommends" systems, and may cause some problems include the xorg packages,
related: #2923 , #2978 and #3721
If known, describe the steps to reproduce the issue:
shell
sudo su
sh crouton -r stretch -t core,audio,lxde-desktop
Log complete of running command:
chronos@localhost / $ sudo startlxde
Entering /mnt/stateful_partition/crouton/chroots/venenuxliuxlxde...

_XSERVTransmkdir: Owner of /tmp/.X11-unix should be set to root

X.Org X Server 1.19.2
Release Date: 2017-03-02
X Protocol Version 11, Revision 0
Build Operating System: Linux 4.9.0-4-armmp-lpae armv7l Debian
Current Operating System: Linux localhost 3.8.11 #1 SMP Tue Apr 3 11:52:52 PDT 2018 armv7l
Kernel command line: cros_secure console= console= loglevel=7 init=/sbin/init cros_secure oops=panic panic=-1 root=PARTUUID=19793223-644f-5f45-b061-a9619556bb11/PARTNROFF=1 rootwait rw dm_verity.error_behavior=3 dm_verity.max_bios=-1 dm_verity.dev_wait=0 dm="1 vroot none rw 1,0 2539520 verity payload=ROOT_DEV hashtree=HASH_DEV hashstart=2539520 alg=sha1 root_hexdigest=65ea9f3f15e5188871d97f28e68e5a743478c0a3 salt=76773705a53b11a9b064c1d5f0889c6e80c45c1cfb37cc6ef055daf612ab1c0e" noinitrd vt.global_cursor_default=0 kern_guid=19793223-644f-5f45-b061-a9619556bb11
Build Date: 16 October 2017  09:48:39AM
xorg-server 2:1.19.2-1+deb9u2 (https://www.debian.org/support)
Current version of pixman: 0.34.0
        Before reporting problems, check http://wiki.x.org
        to make sure that you have the latest version.
Markers: (--) probed, (**) from config file, (==) default setting,
        (++) from command line, (!!) notice, (II) informational,
        (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
(++) Log file: "/tmp/Xorg.crouton.1.log", Time: Thu Apr 12 09:18:50 2018
(==) Using system config directory "/usr/share/X11/xorg.conf.d"
Error org.freedesktop.DBus.Error.UnknownMethod: Method "ReleaseDisplayOwnership" with signature "" on interface "org.chromium.LibCrosServiceInterface" doesn't exist

method return time=1523539130.949449 sender=:1.33 -> destination=:1.54 serial=789 reply_serial=2
   boolean true
MESA-LOADER: failed to retrieve device information
gbm: failed to open any driver (search paths /usr/lib/arm-linux-gnueabihf/dri:${ORIGIN}/dri:/usr/lib/dri)
gbm: Last dlopen error: /usr/lib/dri/exynos_dri.so: cannot open shared object file: No such file or directory
failed to load driver: exynos
EGL_MESA_drm_image required.
(EE)
Fatal server error:
(EE) AddScreen/ScreenInit failed for driver 1
(EE)
(EE)
Please consult the The X.Org Foundation support
         at http://wiki.x.org
 for help.
(EE) Please also check the log file at "/tmp/Xorg.crouton.1.log" for additional information.
(EE)
Error org.freedesktop.DBus.Error.UnknownMethod: Method "TakeDisplayOwnership" with signature "" on interface "org.chromium.LibCrosServiceInterface" doesn't exist

method return time=1523539131.264937 sender=:1.33 -> destination=:1.56 serial=791 reply_serial=2
   boolean true
(EE) Server terminated with error (1). Closing log file

search in the others issues and seems its not only intel modesetting, due i have Chromebook ARM with Mali.
seems that tried to load DRI) with display name and cannot get the display name, if get it, then modesetting its tried!

now using wheezy get in console that the scripts try to use the xmethod xiwi and i not have xiwi installed, maybe a bad detection are used, so force usage of x11 with vesa only installed modules (due the isse #3728 are a waste of time, installing lot of unsuported packages that can confuse the rootfs chrooted)

@dnschneid and @DennisLfromGA the information and documentation are very few, i try to help and theres many out of info in the project, my time are very limited and  i have resources, i have many issues open and receive vage responses, like :

The command is placed in your 'host-bin' when you install crouton.

the wiki does not said nothing about, only "sudo edit-chroot"

Like the crouton README says 'Check out the edit-chroot command; it likely does what you need it to do.'

the readme doe snot say nothign abut path's only "checks" and in that oportunity the CHECK FAILS
now the device will be returned and thanks to you guys a great oportunity will be closed
if any person want to solve this, may need better info and better organization in the documentation, the wiki of the Chromiun Project helps so many but are not related to crouton..
thanks in any case, it's not my problem .. for now.. if i get another Chromebook device i recomended do not adquire..
close and end of support for many device are not more "close" and "little" and now devices will have less time supported, one this time pass.. what will be?

@mckaygerhard,
Sorry we couldn't provide the information, documentation, and support you need.
I try but the result isn't always enough in some cases, I'm just another crouton user like you, not a crouton dev, so my knowledge and experience definitely has its limits.
-DennisLfromGA

seems we have the same issue
acer r11 cb5132t a x86 chromebook
i setup my chroot like this: crouton -r sid -t gnome-desktop,core,audio,xorg
and the xserver-xorg-video-intel are installed
and legacy are not installed


Check for mandatory settings at startup

.. and show an error with what settings are missing + a button leading to the package settings if anything is missing.

Thanks for working on this improvement. Would the other commands also benefit from the same check / notification?

Possibly yes, but it makes most sense to have it once at start up in my opinion. I think the user will get the point after that :)

Thank you for the contribution.

I have created PR #176 to simplify the code a bit.


Update instructions on how to test Opera Mini

I'm trying to do some cross-browser compatibility testing on Opera Mini. I started by reading https://dev.opera.com/articles/installing-opera-mini-on-your-computer/ which provides steps for doing testing using Opera Mini locally. However, the Opera Mini version that the instructions let you download was released in 2014. Is there a more recent version of this documentation or would it be possible to update the documentation to allow downloading a more recent version of Opera Mini?

Also, please note that opera mini and javascript article says:

Go to the Opera for mobile devices download site and select the Download Opera Mini 7 link to give you a JAD installer file.

But there is no such a download available at http://m.opera.com/


Moved health check topic

Description

Urgency

[ ] Blocker
[ ] High
[x] Medium

Requirements

Test all commands and procedures.
Build content locally and test for formatting/links.
Add redirects to dcos-website/redirect-files.
Change all affected versions (e.g. 1.7, 1.8, and 1.9).
See the contribution guidelines.

@sascala i accidentally merged this without having you first review. please review now. thanks.


Provisioning Machine Learning instance

going through the documentation, I don't see anything that relates to provisioning a Machine Learning instance. Any workaround to provision this in terraform using ec provider? If not will this be added as a feature?

This is possible by adding an ml topology block in the existing ec_deployment resource. This example from the docs includes  such a block:
    ml = {
      autoscaling = {}
    }


Use registry.k8s.io instead of k8s.gcr.io for Kubernetes upstream images

What this PR does / why we need it:
This change has been announced in the changelogs for v1.5.3 and v1.4.11:

For the next series of KubeOne and KKP patch releases, image references will move from k8s.gcr.io to registry.k8s.io. This will be done to keep up with the latest upstream changes. Please ensure that any mirrors you use are able to host registry.k8s.io and/or that firewall rules are going to allow access to registry.k8s.io to pull images before applying the next KubeOne patch releases. This is not included in this patch release but just a notification of future changes.

k8s.gcr.io is facing many problems because its parent GCP project is running out of credits. Google credits CNCF/Kubernetes with 3M$ every year. 2/3 out of those credits go on k8s.gcr.io. This year that wasn't enough and Google had to give 600k$ more, followed by an additional 100k$.
Earlier, Kubernetes pushed its images to three GCP regions (US, EU, and Asia). To overcome issues, they're now distributing images to many more regions, but also to some AWS regions. registry.k8s.io is a new image registry that's able to determine what's the closest registry to you and based on that redirect your request. All images available on k8s.gcr.io are also available on registry.k8s.io.
Starting with the December Kubernetes patch releases, kubeadm and kubelet will use registry.k8s.io by default. We decided to join the upstream efforts and migrate to registry.k8s.io by default for all Kubernetes releases that we support. Not only that this is going to help upstream, but it's also going to reduce confusion on why is suddenly 1.25.5 using registry.k8s.io, but 1.25.4 is using k8s.gcr.io.
The same change has been made to KKP as part of https://github.com/kubermatic/kubermatic/pull/11079. Same as for KKP, we'll cherry-pick this change to the supported release branches (release/v1.5 and release/v1.4).
Which issue(s) this PR fixes:
Fixes #2459
Fixes #2460
What type of PR is this?
/kind feature
/kind api-change
Does this PR introduce a user-facing change? Then add your Release Note here:
[ACTION REQUIRED] Image references are changed from `k8s.gcr.io` to `registry.k8s.io`. This is done to keep up with [the latest upstream changes](https://github.com/kubernetes/enhancements/tree/master/keps/sig-release/3000-artifact-distribution). Please ensure that any mirrors you use are able to host `registry.k8s.io` and/or that firewall rules are going to allow access to `registry.k8s.io` to pull images before applying the next KubeOne patch releases.

Documentation:
TBD

/approve
/lgtm


Use pipdeptree to detect inconsistent dependencies

So that when pip installs incompatible packages, the CI builds fail.
Closes #882.

I saw a failure for a dependency conflict.  That's a good sign.

Thank you!


feat: Allow eslint.rules.customizations to target all fixable rules

With the config like this:
"eslint.rules.customizations": [
    { "rule": "*", "fixable": true, "severity": "info" }
  ]

It'll downgrade all autofixable problems to the info severity.
Before:

After:

This pull request is based on abandoned #1705, and incorporates all the feedback.
Fixes #1634
Rel #267, #680, #655, #1705

Thanks for the PR. I like it.
@MariaSolOs can you have a look as well. Might affect you from a settings perspective.

@dbaeumer LGTM!

This looks helpful indeed and keeps the editor visually clean forcing us to focus on critical errors only 👍

Thank you @sapegin!

Is there any sort of timeline for when this will be released?

This month.

Yes, is in the readme


WIP[openebs/litmus] (test): Include a litmus book to perform node maintenance.

Signed-off-by: Sudarshan<EMAIL_ADDRESS>
What this PR does / why we need it:

Include a litmus book to perform node maintenance
This test requires a cluster with 4 nodes and one node tainted to run only liveness and litmus pods.
Pre-chaos and post chaos will verify the application pod status by verifying the liveness pod status

Which issue this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close that issue when PR gets merged): fixes #
Special notes for your reviewer:
https://gitlab.openebs.ci/openebs/e2e-aws/pipelines/4356

Closing this PR. Will raise one more pr with the latest enhancements required for gitlab.


ci: add changesets

This purpose is to easy to release for monorepo.

:tada: This PR is included in version 4.1.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Add JupyterLite badge to the README

So folks can try the extension with one-click in their browser:

The link will open example.jpblockly by default:

Wow, awesome! Thanks!


jQuery Conflict

Jou!
If use plugin with Prototype Library (Magento):
notifIt/notifIt/js/notifIt.js:328 > Uncaught TypeError: Cannot read property 'animate' of null
Solution:
add to function notif_dismiss():
$ = jQuery;
like this solved into other plugin functions, but not notif_dismiss()

Thank you, fixed :+1:  https://github.com/naoxink/notifIt/commit/8aed677090384ad7d60ed06198d1e5cbe2297d7f


Create services.mlflow

Description of changes
Create a nixos module for mlflow. Fixes #161049.
Things done

Built on platform(s)

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

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

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

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

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[x] (Module addition) Added a release notes entry if adding a new NixOS module
[x] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

@ofborg build mlflow.tests

@ofborg build python3Packages.mlflow.tests

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/prs-ready-for-review/3032/1135

Please follow the contributing guide when naming your commits.
For example the service commit should be services/mflow: init.

Please follow the contributing guide when naming your commits.
For example the service commit should be services/mflow: init.

I'll fix it, but note that https://github.com/NixOS/nixpkgs/blob/master/CONTRIBUTING.md#submitting-changes still suggests calling it nixos/mlflow and does not mention services/.

@Lucus16 can you answer Raitos questions and rebase so we can get this merged?


[flutter_tools] DartDevelopmentServiceException: JSON-RPC error 100: Feature is disabled

From crash reporting on beta/2.10.0-0.3.pre
Thread 0 main threadDartDevelopmentServiceException: DartDevelopmentServiceException: JSON-RPC error 100: Feature is disabled.
at DartDevelopmentServiceImpl._startDDSServer(dds_impl.dart:185)
at <asynchronous gap>(async)
at DartDevelopmentServiceImpl.startService(dds_impl.dart:113)
at <asynchronous gap>(async)
at DartDevelopmentService.startDartDevelopmentService(dds.dart:88)
at <asynchronous gap>(async)
at DebugService.startDartDevelopmentService(debug_service.dart:152)
at <asynchronous gap>(async)
at DevHandler._createAppDebugServices(dev_handler.dart:442)
at <asynchronous gap>(async)
at DevHandler.loadAppServices(dev_handler.dart:229)
at <asynchronous gap>(async)
at Dwds.debugConnection(dwds.dart:91)
at <asynchronous gap>(async)
at WebDevFS.connect.<anonymous closure>(devfs_web.dart:686)
at <asynchronous gap>(async)

This gets called from the tool at https://github.com/flutter/flutter/blob/beta/packages/flutter_tools/lib/src/isolated/devfs_web.dart#L686

cc @annagrin

@christopherfujino what would be the best way to repro this?
/cc @bkonyi - looks like DDS fails to start.

It looks like we're likely failing when we try and invoke _yieldControlToDDS. It'd be worth taking a look at dwds to make sure this is implemented.

@bkonyi it is, in here: https://github.com/dart-lang/webdev/blob/40f826520a3b5ba3ba72f0864572a49410174c88/dwds/lib/src/dwds_vm_client.dart#L120
Not sure what happens in this particular case though, would be great to have a repro.

facing the same Issue, is there a solution or a workaround for this

Hi, Merry Christmas!
I'm having the same issue with current stable flutter version. Any hints on how to mitigate or workaround this problem?
DartDevelopmentServiceException: DartDevelopmentServiceException: JSON-RPC error 100: Feature is disabled.

#0      DartDevelopmentServiceImpl._startDDSServer (package:dds/src/dds_impl.dart:213:7)
<asynchronous suspension>
#1      DartDevelopmentServiceImpl.startService (package:dds/src/dds_impl.dart:116:7)
<asynchronous suspension>
#2      DartDevelopmentService.startDartDevelopmentService (package:dds/dds.dart:97:5)
<asynchronous suspension>
#3      DebugService.startDartDevelopmentService (package:dwds/src/services/debug_service.dart:156:12)
<asynchronous suspension>
#4      DevHandler._createAppDebugServices (package:dwds/src/handlers/dev_handler.dart:468:7)
<asynchronous suspension>
#5      DevHandler.loadAppServices (package:dwds/src/handlers/dev_handler.dart:244:27)
<asynchronous suspension>
#6      Dwds.debugConnection (package:dwds/dwds.dart:91:30)
<asynchronous suspension>
#7      WebDevFS.connect.<anonymous closure> (package:flutter_tools/src/isolated/devfs_web.dart:694:15)
<asynchronous suspension>

[✓] Flutter (Channel stable, 3.3.10, on Ubuntu 18.04.6 LTS 4.15.0-156-generic, locale en_US.UTF-8)
• Flutter version 3.3.10 on channel stable at xxx
• Upstream repository https://github.com/flutter/flutter.git
• Framework revision 135454af32 (13 days ago), 2022-12-15 07:36:55 -0800
• Engine revision 3316dd8728
• Dart version 2.18.6
• DevTools version 2.15.0
[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
• Android SDK at xxx
• Platform android-33, build-tools 30.0.3
• ANDROID_SDK_ROOT = xxx
• Java binary at: xxx
• Java version Java(TM) SE Runtime Environment (build 1.8.0_171-b11)
• All Android licenses accepted.
[✓] Chrome - develop for the web
• Chrome at google-chrome
[✗] Linux toolchain - develop for Linux desktop
✗ clang++ is required for Linux development.
It is likely available from your distribution (e.g.: apt install clang), or can be downloaded from https://releases.llvm.org/
• cmake version 3.10.2
✗ ninja is required for Linux development.
It is likely available from your distribution (e.g.: apt install ninja-build), or can be downloaded from https://github.com/ninja-build/ninja/releases
• pkg-config version 0.29.1
[!] Android Studio (not installed)
• Android Studio not found; download from https://developer.android.com/studio/index.html
(or visit https://flutter.dev/docs/get-started/install/linux#android-setup for detailed instructions).
[✓] Connected device (2 available)
• Linux (desktop) • linux  • linux-x64      • Ubuntu 18.04.6 LTS 4.15.0-156-generic
• Chrome (web)    • chrome • web-javascript • Google Chrome 108.0.5359.98
[✓] HTTP Host Availability
• All required HTTP hosts are available
! Doctor found issues in 2 categories.
## Flutter Application Metadata
**Type**: app
**Version**: 1.0.0+1
**Material**: true
**Android X**: false
**Module**: false
**Plugin**: false
**Android package**: null
**iOS bundle identifier**: null
**Creation channel**: stable
**Creation framework version**: 52b3dc25f6471c27b2144594abb11c741cb88f57
### Plugins
cloud_firestore-4.1.0
cloud_firestore_web-3.1.0
firebase_auth-4.1.3
firebase_auth_web-5.1.3
firebase_core-2.3.0
firebase_core_web-2.0.1
firebase_messaging-14.1.3
firebase_messaging_web-3.2.8

@sebastianmueller and previous reporters  - we currently don't have a repro for this issue, would you be able to provide repro steps? I suspect that there might be too many existing vm clients of dwds so dwds fails to yield to DDS, so I wonder what else is running besides flutter run -d chrome.
My guess is that the _yieldControlToDDS extension method fails in dwds: https://github.com/dart-lang/webdev/blob/490d6a06f7ed75654bcfd5a0e8351f8a0f59df1c/dwds/lib/src/dwds_vm_client.dart#L134
Btw, the details needs to be replaced by data to show the full message, opened an issue for that: https://github.com/dart-lang/webdev/issues/1860


Memory consumption fix for row-major adapters

related issue: https://github.com/dmlc/xgboost/issues/6552

Step "XGBoost-R-Tests/..." is failed due to connection problems:
"The remote server returned an error: (502) Bad Gateway. Bad Gateway"

@trivialfis thank for removing unused variable :)

Is there any solution that does not specialise for row major only?

I spent some time on reading papers about matrix transpose, see comments in linked issue.

Is there any solution that does not specialise for row major only?

Yes, as we have to do transpose for columnar-major case there is no common effective solution in my opinion. If it is possible to have resulting columnar-major DMatrix we can some kind of generalize the code effectively.

not sure that this failure related to current changes
[2021-03-25T08:11:20.565Z] terminate called after throwing an instance of 'thrust::system::system_error'
[2021-03-25T08:11:20.565Z]   what():  for_each: failed to synchronize: cudaErrorIllegalAddress: an illegal memory access was encountered

I'm happy to proceed.


Why does ConditionallySelectable require Copy?

I'm working on an embedded versions of ed25519, and considering whether to use your library, or roll my own. I'd like to have more control over what is copied.
On the one hand, I think ConditionallySelectable could use Clone as trait bound, and then later in the provided method conditional_swap explicitly clone (instead of the implict copy in the derefence). AFAIK, Copy types would always implement Clone in the same way, so this would strictly extend applicability of the trait. If you agree, I can PR this, it's just two changed lines.
On the other hand, the implementation I am currently using, which is a transliteration of the TweetNaCl code, does not use any copy or clone at all:
type Limbs = [i64; 16];

#[derive(Clone,Debug,Default)]
pub struct FieldElement(pub Limbs);

pub fn conditional_swap(p: &mut FieldElement, q: &mut FieldElement, b: i64) {
    let mask: i64 = !(b - 1);
    for (pi, qi) in p.0.iter_mut().zip(q.0.iter_mut()) {
        let t = mask & (*pi ^ *qi);
        *pi ^= t;
        *qi ^= t;
    }
}

Therefore, I'm not sure I agree with deriving conditional swap from select. What is the rationale here, besides minimal implementation cost?
EDIT: I see you overwrite the provided implementation for integral types, so I guess the idea is for users to do so as well for their own types?

The Copy trait is a marker that the value can be duplicated by copying bits, whereas Clone can perform arbitrary logic (a "deep copy").  We require Copy because it doesn't really make sense to do constant-time operations on non-Copyable types.
Your example does use Copy, just not explicitly (e.g., in the line let t = mask & (*pi ^ *qi)).
As you note in the edit, the provided implementations are there for implementation convenience, but implementors can override them if they wish.

Yes, it's a marker trait, but it also (when implemented e.g. on newtypes) cause the compiler to change behaviour and implicitly copy things around, eliminating compile time checks. So not just "can" but also "does". (Yes, in my example copies are also done, but of individual entries, not the entire type.)
As noted, I assume all your current use cases that are Copy implement Clone also, in exactly the same way - no deep copy. Do they?
As it stands, I have the choice of making my types Copy or not using your library. Do you have some (heuristic...) argument on why I should do the former?
Also, do you foresee actual harm in replacing the Copy with a Clone bound (given it would trivially extend the applicability of the library)?

The heuristic reason why your types should be Copy is that constant-time operations implemented using bit operations should be performed on types which are bit-copyable.
You are of course free to not use this library if it doesn't suit your needs, but I don't think we will be relaxing the Copy bound.


content negotiation in gddo doesnt work for parameters

The content type negotiation in gddo doesnt properly respect parameters.  It only looks for "q" and if it finds other params it doesn't properly parse the accept header.. see: https://github.com/golang/gddo/blob/master/httputil/header/header.go#L185
Since the parseaccept is called from within the negotiation there is really no good way to feed it a properly parsed accept so i just reimplemented it myself and to make sure the parameters are matched.
You can add back the old call to see the failure.

Coverage remained the same at 94.643% when pulling 40c8d84e7b04932e3bcf1e0a6799ef7a7661c91d on jdamick:master into 1ab9d32f24c5442e77abc245ff3f5898afda99e7 on go-ozzo:master.

👍 Thanks!


Description links broken for open source projects

The links from the GitHub status back to travis are currently broken for open source projects. Need to dynamically set travis-ci.org or travis-ci.com.

+1


[Skype] bot is in review but in my bot it's necessary to make LOGIN

We've developed a bot that is connected to an API, and that in turn requires a login, which we've called Hand Shake.
The bot has already been several days in review (5 days), I've corrected all the observations that Skype have given me and yet I still have no answer.
Shoul I wait much longer? Or do you think it's due to the Hand Shake?
AppId= 590a8009-4b90-4947-bcd1-a9b27ab3197a

Hi @ShadeyCN,
I'm reaching out to the Skype team and will post a response when I know more.

Hi @stevkan
Thanks for answering.
We've received this from Skype, our bot has been rejected! However, the reason they give us is the following:

On our side is working correctly, you can verify that the bot does respond with these accesses:
LastName : TestSkype
Token: 9d82c5cc-1658-4696-8332-b69edefbe35c

Hi @ShadeyCN,
What kind of response should be expected upon input? As you can see in the see below image, the bot isn't responding to input, at all.

Hi @JasonSowers
I see in your screenshot that you use Skype from Windows 10, I decided to try it on that and I saw that it does not work either, I use desktop Skype and skype for mobile and everything is fine there.
What do you think that is the reason of the trouble?
This is the respond that should show

Hi @ShadeyCN,
Good news. I was able to confirm your bot works in other Skype clients (desktop, web, phone) and forwarded this information on to the Skype bot approver. He has requested that you resubmit your bot and he will have it approved by EOD tomorrow.
As for the UWP/Windows 10 Skype client, it appears to be a known bug.
Steve.

Thank you very much @stevkan
It's very good news, I'm keeping an eye on anything that may happen, and I hope very soon our bot can be approved.
We already sent the bot to review again
Thanks :)

@ShadeyCN, you're welcome. And, best of luck!!


Website does not appear to work with IOS browers

When you access the website, even you own example one on the web, within IOS, none of the browsers will display the page, they get to the "loading" screen but never complete to the game screen.
Windows 10 Internet Explorer also has the same issue but not Chrome or Edge although I think that has recently started using the Chromium engine.
Thanks, great program, exactly what I wanted.
John

Thank you very much for your feedback.
The application is implemented using WebAssembly technology that is supported by modern browsers only. Chrome, FireFox, Safari, Edge.
So unfortunately Internet Explorer is not supported. Also some alternative mobile browsers may have issues.
It is possible to switch server-side mode, and then wider range of browsers is supported. I will try to implement following things:

Better test server-side mode. Situations like connection lost.
Use server-side mode as fallback, when browser does not support webassembly. Currently it is application wide setting applied to all users.

Application now falls back to server-side rendering on mobile and should work on iOS.


Feature: queueable commands

This PR completely refactors the queue implementation to make commands queueable.
This implementation was not previously documented - as part of this PR the docs have been written.

Needs squash merging.


jira: allow unlinking/linking existing JIRA issues

allows to push to jira from the view_finding page using nice ajax buttons. decided to NOT add this functionality to bulk edit menu as it's a corner case and we don't want to overcrowd the bulk edit menu

allows to unlink a JIRA issue from a defect dojo finding. For example if the JIRA issue was deleted, or you want to create fresh one, or split JIRA issues, etc.

allows to link an existing JIRA issue to DD finding. This turned out to be quite the effort. as evertyhing around jira and forms seems to coupled together. forms are being abused on different places and fields overwritten under the hood. So this PR also cleans up some stuff, and fixes a bunch of bugs:

fixes #2663
fixes #2665
fixes #2693
fixes #2690
fixes #2694
fixes #2695

I wanted to do another cleanup of all the JIRA code, but I am running our of time.

the jira_issue field that can be populated with an existing jira does two things:

validate against regex
strip full url down to just the issue key when you paste a full jira url into the field

I did quite a lot of testing, at least the following:

jira system settings disabled:
- add finding
- update finding

jira system settings enabled:
	product jira disabled:
		- add finding
		- edit finding

	product jira enabled:
		- add finding:
			- with existing jira
			- without existing jira
		- edit finding:
			- add existing jira issue >
			- remove linked jira issue
				- without push_to_jira >
				- with push_to_jira >
			- modify linked jira issue
				- without push_to_jira >
				- with push_to_jira >
			- create new jira issue >

	add finding from template
	- with push_to_jira
	- without push_to_jira

	add stub finding and promote to finding
	- existing jira issue
	- no jira issue

	run imports

I will clean up the prin/logging once reviewed

a similar approache could be implemented for the github integration, but my sponsor is out of budget so that's left for a future PR.

hmm got excited and merged it, but forgot to cleanup the logging... will do in a new PR!


Have a strategy on how to react if Gardener changes the Shoot spec

Description:
It is possible that Gardener might modify or delete existing shoot created previously from Runtime CR spec. This may happen when for example Kubernetes version is updated automatically or manually by the Gardner admins. If we do not update Runtime CR accordingly - we will end with data inconsistency between Runtime CR and Gardener shoot.
There are also situations when shoot may become unavailable - because of deletion or manual hibernation.
In both cases such operation will not be noticed by the Runtime controller and will leave existing Runtime CR in "Ready" state when in reality the shoot will be deleted or hibernated.
Solution proposal:

Add dedicated controller watching for the shoot resource, and update Runtime Spec with fields like Kubernetes version or availability status.
To prevent shoot deletion Runtime controller can set its own finaliser on the managed shoot resource. This will not allow shoot to be deleted.

AC:

[ ] Align with SRE how we should deal with field-updates applied in Shoot-Spec

[ ] Clarify how the general behaviour should be. Optional we see:

sync all fields from Shoot-Spec
Is custom sync-logic per field required? (e.g. what if Shoot-Spec gets upgraded but RuntimeCR requests even a newer K8s-version... )
sync only selected fields (especially consider hybernation + deletions of clusters by users/SREs)
ignore Shoot-Spec changes completely (probably risky in case of cluster-upgrades by Gardener)

[ ] Define which fields have to be synchronised
[ ] Clarify whether a field-specific upgrade logic is needed (consider cases where the Shoot-Spec and the RuntimeCR get changed in parallel - which field wins?)

Results of alignment meeting with SREs (@ebensom from 2024-06-25):


TEVideoInputD3D undeclared identifier

When I build the solution I am getting the error message that TEVideoInputD3D is an undeclared identifier in TouchEngineFX.cpp, when I open TouchEngineFX.h file the identifers were commented out. But when I un-commented them out it created 100 more issues when I built it again.
However, when I opened the plugin in resolume, it seems to show my toxes custom parameters, but nothing is showing in the player

I would not recommend building the entire solution. I would use the release builds available on github. FX is not in a release state. You also need at least a touchdesigner commercial license for it to work.

Hey, thanks a lot, this is really awesome :)
The only thing is that I can only get the example tox files to load in the player. If I load my own tox files I can see the parameters but nothing shows in the output. I also have a commercial TD license.

There is a note in the readme at the bottom of how you have to name your output chop.

yeaaah! thanks a lot! this is a huge game changer, my personal tox still isn't loading as I think my parameters are too complex, but the simpler ones are loading 😃

How many params do you have?
On Tue, Jun 25, 2024 at 2:46 PM Jaime @.***> wrote:

yeaaah! thanks a lot! this is a huge game changer, my personal tox still
isn't loading as I think my parameters are too complex, but the simpler
ones are loading 😃
—
Reply to this email directly, view it on GitHub
https://github.com/medcelerate/FFGLTouchEngine/issues/5#issuecomment-2189722758,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AHYKRGPW5Q2DVIGJ2R4XJZLZJG3HBAVCNFSM6AAAAABJ4EKPDSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCOBZG4ZDENZVHA
.
You are receiving this because you modified the open/close state.Message
ID: @.***>

Hey! actually I fixed it. I removed the absTime.seconds default parameter in TD, and also some dynamic color inputs. It seems the parameters only accepted for TouchEngine are float for now?


[CT-3446] [Feature] support comment in Column class

Is this your first time submitting a feature request?

[X] I have read the expectations for open source contributors
[X] I have searched the existing issues, and I could not find an existing issue for this feature
[X] I am requesting a straightforward extension of existing dbt functionality, rather than a Big Idea better suited to a discussion

Describe the feature
I am in the process of migrating an existing project for my company to dbt,  and am using dbt-osmosis to automatically generate souce settings in schema.yml.
However, the generated source column description is blank and does not reference the comments in the table definitions in my database.
After checking the source code, I found that this is due to the fact that the Column class does not hold comment information.
I think it would be useful to optionally add comment information to Column to make the transition to dbt easier.
I have investigated dbt-snowflake, dbt-postgres, and dbt-bigquery and believe that this addition will not break compatibility (those adapters do not use column comment information).
Please refer to the PR of the proposal I submitted to dbt-osmosis regarding what I would like to do.
I am willing to commit to this.
Please let me know if there are any misconceptions about dbt.
Describe alternatives you've considered
Manually update and maintain the sources of schema.yml.
Who will this benefit?
People considering transitioning to dbt.
Especially for those who initially define data in sources and gradually migrate to models.
Are you interested in contributing this feature?
Yes
Anything else?
No response

Thanks for opening this @yassun7010 !
Goal
It sounds like your goal is:

given a pre-existing database with column-level comments, create a sources.yaml file with the column comments in the description field

Potential solution
There are multiple ways for how to accomplish this goal, and here are a handful of them:

dbt-core #9198 (this one!) + dbt-osmosis
dbt-osmosis using the --catalog-file CLI argument
dbt-codegen #119
utilize programmatic invocations

Our guidance
After discussion with @graciegoheen and @jtcohen6, solving this isn't a priority for us at this time. We think there's enough capabilities in dbt-core for third-party tools like dbt-osmosis or others to accomplish this goal.
Namely, the Catalog artifact contains column comment information that can be utilized by third-party tools. So we're choosing not to add a comment or description property to the Column class.
As a result, we're going to close this issue and the associated pull requests as "not planned". See below for details on using dbt-osmosis or programmatic invocations.

Using dbt-osmosis

Your changes in https://github.com/z3z1ma/dbt-osmosis/pull/120 (this line specifically) will enable dbt-osmosis to utilize the column comment information.
So upon the next release of dbt-osmosis, you should be able to do something like this:
dbt docs generate
dbt-osmosis yaml document --catalog-file target/catalog.json

Note

The above command assumes you've added something like this to your dbt_project.yml:
models:
  my_project:
    +dbt-osmosis: "_{model}.yml"

And you've added all the desired table names to a models/_sources.yml file already (without the column names):
version: 2

sources:
  - name: my_schema
    database: my_database
    schema: my_schema
    tables:
      - name: my_table_1
      - name: my_table_2
      # ...

Using programmatic invocations to inspect the Catalog artifact

Getting columns descriptions from the database for sources is possible via the Catalog artifact.
You can inspect the Catalog artifact and use its output to build the desired sources.yaml file (see more detail below).
One way to access it is via programmatic invocations with a Python script like the following:
from dbt.cli.main import dbtRunner, dbtRunnerResult, CatalogArtifact
from pprint import pprint

def inspect_catalog_nodes(nodes):

    # inspect the catalog nodes
    for node_key, node in nodes.items():
        print(node.metadata.database)
        print(node.metadata.schema)
        print(node.metadata.name)
        print(node.metadata.type)
        print(node.metadata.comment)

        # inspect the columns
        for column_key, column in node.columns.items():
            print(column.index)
            print(column.name)
            print(column.type)
            print(column.comment)

# initialize
dbt = dbtRunner()

# create CLI args as a list of strings
cli_args = ["docs", "generate"]

# run the command
res: dbtRunnerResult = dbt.invoke(cli_args)
catalog: CatalogArtifact = res.result

# inspect both types of nodes: sources and everything else
inspect_catalog_nodes(catalog.sources)
inspect_catalog_nodes(catalog.nodes)


libclc: fix libclc.pc file

Closes #152060
Apply the same fix as in #81091. See also the tracking issue #144170.
Motivation for this change
The wrong include path in the pkgconfig script caused OpenCL kernel compile failing with mesa (see #152060).
Things done

Built on platform(s)

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

[ ] Tested, as applicable:

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

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

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

I opened an upstream revision for this, which may be a cleaner fix: https://reviews.llvm.org/D118959
This looks like a reasonable workaround to me. Please target the staging branch due to the high rebuild count.


add note on merge

PR Checklist
Add note on merge to not use a hidden merge item as a dependency

closing ancient uncompleted pull requests


don't apply sugar to Js.t({.}) and Js.t({..})

There's a bug in the printer which formats Js.t({.}) to {.}. (Idem for Js.t({..})).
This PR gives the following printing.
type x = Js.t({.});
type y = Js.t({..});
type z = {. "foo": bar}; /* idem for {.. "etc": baz} */

Well, I guess it's not too bad not having the sugar {.. ""} since we also don't have it for empty js.t obj values...


Limit users according to client scope

Sorry if here is not the place to ask this, but I'm trying to use OAuth on my API, I already installed and it's working. I can get an access token for my user and I can make requests with it. Now I'm trying to restrict some routes according to clients scopes, but I don't know how to do it. I'll appreciate if someone can help me with this.
for example, i have these routes:
/state (get)
/state(post)
but I want to give the access to /state (post) if the user is using a specific client to access is it possible or I have to create user scopes? In any case how can I do it?

I would go with scopes in the case. When you generate a new access token you fetch it with required scopes and the use that access token to post to /state.

Thank you @vinkla I read more about scopes, and tryied it.
It's working as I wanted.

:+1:


Downloader: Pull all linked issues

We currently only return the issues referenced in the boards filter query. We need to walk any links (issue_link, parent, epic_link, sub-tasks) and download those as well. They should be marked so that they don't get included in the reports directly though.

Parent and sub-tasks are done. Unclear exactly how to do links as Cloners will pull in far too big a map.


Inner (Hash) Join benchmark

Adds two queries to benchmark the inner join performance.

Hi @matal-nvidia , thx for the contribution, I file a same pr to add the hashjoin benchmark to the repo. #409

[like]  Miloni Dipak Atal reacted to your message:

From: liyuan @.>
Sent: Thursday, July 18, 2024 8:53:09 AM
To: NVIDIA/spark-rapids-examples @.>
Cc: Miloni Dipak Atal @.>; Mention @.>
Subject: Re: [NVIDIA/spark-rapids-examples] Inner (Hash) Join benchmark (PR #408)
Hi @matal-nvidiahttps://github.com/matal-nvidia , thx for the contribution, I file a same pr to add the hashjoin benchmark to the repo. #409https://github.com/NVIDIA/spark-rapids-examples/pull/409
—
Reply to this email directly, view it on GitHubhttps://github.com/NVIDIA/spark-rapids-examples/pull/408#issuecomment-2235977675, or unsubscribehttps://github.com/notifications/unsubscribe-auth/BFTTDZWTUMPK5KA3I4ZVGGTZM567LAVCNFSM6AAAAABK7WPM5KVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDEMZVHE3TONRXGU.
You are receiving this because you were mentioned.Message ID: @.***>


Configure using the options pattern

The options pattern simplifies configuration.  When using a settings.json file, instead of configuring GoogleAds with the following three lines:
IConfigurationSection section = Configuration.GetSection("GoogleAdsApi");
GoogleAdsConfig config = new GoogleAdsConfig(section);
GoogleAdsClient client = new GoogleAdsClient(config);

configuration can be done in a single line:
using IHost host = Host.CreateDefaultBuilder(args)
    .ConfigureServices((hostContext, services) =>
        services.AddGoogleAdsClient(hostContext.Configuration))
    .Build();

None of GoogleAdsConfig, GoogleAdsClient and services are designed to be singletons, because that's not how the product works in the general case.
I'll give it some thought, but perhaps it is simpler to have a SingletonGoogleAdsClientProvider helper class specifically for this use case. @Raibaz wdyt?

Good to know.  Instead of singletons, we could register GoogleAdsConfig and
GoogleAdsClient as transient.
Would that fit the design better?
On Tue, Jan 17, 2023 at 8:31 PM Anash P. Oommen @.***>
wrote:

None of GoogleAdsConfig, GoogleAdsClient and services are designed to be
singletons, because that's not how the product works in the general case.
I'll give it some thought, but perhaps it is simpler to have a
SingletonGoogleAdsClientProvider helper class specifically for this use
case. @Raibaz https://github.com/Raibaz wdyt?
—
Reply to this email directly, view it on GitHub
https://github.com/googleads/google-ads-dotnet/issues/483#issuecomment-1386472553,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABVHMB5ZDFOM237YZK35UV3WS5W2HANCNFSM6AAAAAAT6C42BY
.
You are receiving this because you authored the thread.Message ID:
@.***>

Not entirely sure if registering GoogleAdsConfig and GoogleAdsClient as transient would be feasible; I'd rather keep them as they are and instead add a Singleton to wrap them for dependency injection usage.

@jeffdahl I think @Raibaz and I need some more time thinking through this. How about we accept this bug for ourselves, and send you a PR when we are ready? I'd be happy to credit you for the work even if we end up with a different implementation.

Sure, sounds good. Thanks for considering my suggestion.
Jeff
On Tue, Feb 7, 2023, 8:58 AM Anash P. Oommen @.***>
wrote:

@jeffdahl https://github.com/jeffdahl I think @Raibaz
https://github.com/Raibaz and I need some more time thinking through
this. How about we accept this bug for ourselves, and send you a PR when we
are ready? I'd be happy to credit you for the work even if we end up with a
different implementation.
—
Reply to this email directly, view it on GitHub
https://github.com/googleads/google-ads-dotnet/issues/483#issuecomment-1421105343,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABVHMBYOVM4BLVEHCLDVBC3WWJ5LZANCNFSM6AAAAAAT6C42BY
.
You are receiving this because you were mentioned.Message ID:
@.***>

Any consideration of adding the two interfaces in PR #540?  As explained in the PR, adding these two interfaces will allow a configured IGoogleAdsClient to be injected via the DI container.
Thanks for considering.


Version 0.5.0 not sending statsd for all controllers

I had to downgrade to 0.4.0 because I noticed updating the gem to 0.5.0 in rails <IP_ADDRESS> stopped sending statsd for all controllers specifically with namespace

Sorry, somehow this slipped by me. The metric name for namespaced controllers changed, but they should still be reported.
https://github.com/jnunemaker/nunes/compare/v0.4.0...v0.5.0#diff-02dd45c38e62ebdce27e2fd7944834b1R50
Any chance you can confirm or deny that is what happened?

sorry, its been so long ago, I don't even remember, lot of things changed since then. Also it is possible i was using it differently. I'll close the ticket now, until i can reproduce it again. Thank you.


Summary in readme

the readme file now contains a summary
the package content have been reorganized
the methods that were in StringHelper are now extensions

This change is

Runtime/Extensions/StringExtensions.cs line 26 at r1 (raw file):

        if( string.IsNullOrEmpty( str ) )
        {
            return null;

Probably nothing to do with that PR, but why does this return null? I would expect that if I call the func on an empty string, it returns an empty string.

Editor/ContextMenus/PropertyContextMenus/CreateAssetContextMenu.cs line 9 at r4 (raw file):

using UnityEngine.SceneManagement;

namespace FishingCactus.UnityCommonCode

UnityCommonCode here

Editor/ContextMenus/PropertyContextMenus/PropertyContextMenuCallbackFetcher.cs line 5 at r2 (raw file):
Previously, rascar-capac (Théo Constant) wrote…
I think the only remaining place where UnityCommonCode is used is in the repository name. Even the package is called com.fishingcactus.common-code

Sorry, I should have been more clear about the other places. I'll add comments where I saw a "UnityCommonCode" package

Editor/ContextMenus/PropertyContextMenus/IPropertyContextMenuCallback.cs line 4 at r4 (raw file):

using UnityEngine;

namespace FishingCactus.UnityCommonCode

UnityCommonCode here


rmv google and twitter = > 0.3.4

new version with no google dependencies

A couple of overall thoughts:

How did we test it. Ideally you should be able to create a new project, and import the new framework version to make sure it works
What are the general guidelines for when to put dependencies in requirements.txt vs inside setup.py
We also wanted to move away from hardcoding a specific version of a lib "==1.0.0" and instead move to requiring a range for versions

A couple of overall thoughts:

How did we test it. Ideally you should be able to create a new project, and import the new framework version to make sure it works
What are the general guidelines for when to put dependencies in requirements.txt vs inside setup.py
We also wanted to move away from hardcoding a specific version of a lib "==1.0.0" and instead move to requiring a range for versions

I tested it locally and with Eyereturn project
Requirements.txt is meant for local development of the framework
Install_requires.txt is meant to fit the other dependencies installed with the framework and at the same
time limit their scopes
Specific versions have been removed from install_requires.txt and are still useful in requirements.txt


vtcombo next step, now KeyspaceIds queries should work.

@sougou you can re-organize the tabletserver code later if you want, this felt like the easiest way.
@enisoc for general review.

lgtm

LGTM


[Core] Update documentation for function call compatibility

Why are these changes needed?
Additional documentation and test changes for function call compatibility of different API versions.
Related issue number
#1227
Checks

[x] I've included any doc changes needed for https://microsoft.github.io/autogen/. See https://microsoft.github.io/autogen/docs/Contribute#documentation to build and test documentation locally.
[ ] I've added tests (if relevant) corresponding to the changes introduced in this PR.
[x] I've made sure all auto checks have passed.

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

Comparison is base (cf5e21c) 31.45% compared to head (a1322bc) 19.03%.

Additional details and impacted files
@@             Coverage Diff             @@
##             main    #1237       +/-   ##
===========================================
- Coverage   31.45%   19.03%   -12.43%
===========================================
  Files          32       32
  Lines        4393     4393
  Branches     1026     1081       +55
===========================================
- Hits         1382      836      -546
- Misses       2902     3461      +559
+ Partials      109       96       -13

Flag
Coverage Δ

unittests
19.03% <ø> (-12.39%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

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

@ekzhu could you fix the conflict and resolve the conversations?

There is still a conflict.


No access to root object in custom property validator

RuleFor(o => o.SomeProperty)     .CustomAsync(SomeMethod)
there is no overload that allows me to pass root object to SomeMethod. As a workaround I can use CustomAsync on root object but it is deprecated. So this issue have to be fixed before removing it.

This is not correct.
Custom and CustomAsync do provide the root object. The CustomAsync and Custom methods pass a CustomContext instance which exposes many properties, including this.

Specifically the property is ParentContext.InstanceToValidate


Update SkiaSharp

What does the pull request do?

Our current SkiaSharp version is not compatible with "net6.0-macos" target as it was found in telegram chat,
Additional macios fix was done in SkiaSharp  repo https://github.com/mono/SkiaSharp/pull/2198

You can test this PR using the following package version. 0.10.999-cibuild0023149-beta. (feed url: https://nuget.avaloniaui.net/repository/avalonia-all/index.json) [PRBUILDID]


[Sample Update] Smart scaling for Azure Scale Set with Azure Functions

Azure Data Tables, Tables SDK(C# T2)
Azure resource , resource mgmt Fluent SDK(C# T1 , Hold for GA T2)
Azure compute, compute mgmt Fluent SDK(C# T1 , Hold for GA T2)
https://github.com/azure-samples/azure-scale-set-smart-downscale/tree/master/
https://github.com/MicrosoftDocs/samples/tree/main/Azure-Samples/azure-scale-set-smart-downscale

Label prediction was below confidence level 0.6 for Model:ServiceLabels: 'Compute - VMSS:0.24185546,Tables:0.14607243,Compute:0.14100169'

@xboxeer is this still valid?
/cc: @ArthurMa1978 as FYI


P.S.A. Validation Pipeline and Bot Issues

All,
We've been encountering issues with the validation infrastructure. We're working on this with our provider.
This has also been compounded by a simultaneous issue related to the bot helping apply labels and merge PRs.
Edit: 2/6 - The bot seems to be getting back to normal again.
We're manually triggering builds to try and increase throughput as well as applying labels.

We've identified a bug in the validation. We recently made some changes to offer improved logging, and there has been some flaky interactions there. We have a fix working it's way through the environments.

Some of the bot rules have been misbehaving. The bot team is deploying some updates now.

Thanks so much for the updates @denelon

Most of the PRs have been reviewed to remove spurious labels. The validation infrastructure seems to be behaving normally now. We're still working through some of the bot integrations for assignment, messaging and label management on PRs.

It looks like the bot is now able to assign issues to engineers.

https://github.com/microsoft/winget-pkgs/pull/95921

All,
Most of the issues with the bot have been resolved.
I'm keeping an eye out for erroneous behaviors. Currently, we have an issue with transferring issues. We also have a loop on PRs during validation that we're working on.

Hey all, the fabric bot team has been super helpful in resolving issues. We're going to start creating new issues to track the interesting behaviors and bugs. The project isn't open-source yet, so we're trying to find alternate ways to give a bit more visibility into what's going on.

All, I'm closing this issue in favor of:

#96801

My bad 🤦♂

https://github.com/microsoft/winget-pkgs/issues/96802


Feature: Improved error handling - try { } catch { }?

Problem to solve: Handling failed steps
Proposed solution: "finally_steps" attribute next to "steps". Finally steps could execute all the time (YAML syntax only)
Other solution to consider: In commandline introduce a symbol to mark tasks that should execute always regardless of result of previous tasks

What about this? To consider.
steps:
            - "mkdir -p"
            - catch: "%RKD% :slack"
            - catch_all: "..."
            - finally: "%RKD% :cleanup"


Add TLS1.3 support for MaskerWebServices container

Because this is a self signed certificate, you may need to import the certificate from the website when using HTTPS. One article describing this for Mac-OS is here: https://support.securly.com/hc/en-us/articles/206058318-How-to-install-the-Securly-SSL-certificate-on-Mac-OSX-
In Chrome, you may be able to type on the warning page (anywhere) and type thisisnotsafe to allow the page to load.


Test to_string and from_str reflexive property

Theoretically any Grammar/Production/Expression/Term which is converted to string, and then back should maintain the same value. In order to test this property, quickcheck::arbitrary was implemented for each type, but only if building for tests. Hopefully these arbitrary values will be useful for future property tests. The tests using arbitrary Grammar/Production ran a little slow so the # of tests and size limit were restricted. According to travis, these tests added ~1 minute of build/test time.

Coverage increased (+0.3%) to 92.698% when pulling 6e4ecd947386fc6764601833fdefc0d42e6a2863 on nodes-impl-arbitrary-for-tests into 58606b86002005a6e2ebb8382c3ad9e4021b8ffb on master.


nmake ports usually seperates nmake and nmake install. Combining them…

… in one command could have unintended side effects (like tcl).
Honor TARGET argument.

@SvenPStarFinanz, thanks for the PR!
tcl:x64-linux failed on CI testing, could you please help have look?
Starting package 1/1: tcl:x64-linux
Building package tcl[core]:x64-linux...
Could not locate cached archive: /archives/f2/f2cd2be027dab97d6cc84bc5c3291f0df69d26f1.zip
-- Downloading https://github.com/tcltk/tcl/archive/0fa6a4e5aad821a5c34fdfa070c37c3f1ffc8c8e.tar.gz...
-- Extracting source /mnt/vcpkg-ci/downloads/tcltk-tcl-0fa6a4e5aad821a5c34fdfa070c37c3f1ffc8c8e.tar.gz
-- Using source at /mnt/vcpkg-ci/buildtrees/tcl/src/3f1ffc8c8e-77e44d39b5.clean
-- Generating configure for x64-linux
-- Finished generating configure for x64-linux
-- Configuring x64-linux-dbg
-- Configuring x64-linux-rel
-- Building x64-linux-dbg
-- Building x64-linux-rel
-- Installing x64-linux-dbg
-- Installing x64-linux-rel
-- Fixing pkgconfig file: /mnt/vcpkg-ci/packages/tcl_x64-linux/lib/pkgconfig/tcl.pc
-- CHECK_LIB_z_RELEASE:CHECK_LIB_z_RELEASE-NOTFOUND
CMake Error at scripts/cmake/vcpkg_fixup_pkgconfig.cmake:232 (message):
Library "z" was not found! If it is a system library use the
SYSTEM_LIBRARIES parameter for the vcpkg_fixup_pkgconfig call! Otherwise,
correct the *.pc file
Call Stack (most recent call first):
scripts/cmake/vcpkg_fixup_pkgconfig.cmake:297 (vcpkg_fixup_pkgconfig_check_files)
ports/tcl/portfile.cmake:130 (vcpkg_fixup_pkgconfig)
scripts/ports.cmake:79 (include)
Error: Building package tcl:x64-linux failed with: BUILD_FAILED
Elapsed time for package tcl:x64-linux: 21.45 s

@Neumann-A @Voskrese Can you please review this PR?
Thanks.

I don't have a solution for that. Enabling multiple vcpkg_build_nmake would require suppressing the copy action to the OBJ_DIR in the subsequent invocations, logfile name designation, maybe more.
I could change the PR to only fix the missing target usage, if you want.

Maybe there are better ways to deal with such nmake projects.


ItemsSourceView.IndexOf API spec

This PR will add the API spec for the new ItemsSourceView.IndexOf function.
See https://github.com/microsoft/microsoft-ui-xaml/issues/1828 for more context.

So during testing of the existing internal IndexOf, we noticed one problem: Having a collection consisting only pass by value types such as integers, IndexOf does not work if we pass the collection as IIterable.
See following example:
var itemSourceView = new ItemsSourceView(Enumerable.Rang(0,10));

// The following is false!
// IndexOf(1) returns -1
Assert.AreEqual(1,itemSourceView.IndexOf(1));

When passing pass by value types, they get boxed as objects. This happens both when creating an ItemsSourceView and when we call IndexOf. However those boxed objects will not be the same, so finding pass by value types using IndexOf fails.
The big question: Should we support it, or just point out in the documentation that this won't work?
Pass by value types are not a common scenario for ItemsSourceView, so is supporting them really necessary or beneficial?

Good point. This case is actually handled in the analogous ItemCollection.IndexOf, and similarly by Selector.SelectedItem, by unboxing and checking for the fundamental value types and for interfaces.
I don't know if there's any public API that exposes that functionality though. Does TabView.SelectedItem have code for it?

Since the TabView uses a ListView internally, we do whatever ListView does to keep this up to date.
The main problem I see with doing this manually, is that we would have to unbox all the time, pushing down performance. Since the ItemsRepeater that uses this class, is mainly designed for large collections, this could really make a significant difference. And since most of the time, people actually pass objects and not primitive types, I am not sure if it's worth dropping performance for this "corner case".
If somebody wants to use IndexOf with pass by value types, they could use a different collection. We only would have a say in this if we get passed an IIterable, in other cases we don't even have an option on what we do, we just pass arguments down. So we might just say:
Pass by value types are not supported, if you want to use them use ... as itemssource.

Since the TabView uses a ListView internally, we do whatever ListView does to keep this up to date.
The main problem I see with doing this manually, is that we would have to unbox all the time, pushing down performance. Since the ItemsRepeater that uses this class, is mainly designed for large collections, this could really make a significant difference. And since most of the time, people actually pass objects and not primitive types, I am not sure if it's worth dropping performance for this "corner case".
If somebody wants to use IndexOf with pass by value types, they could use a different collection. We only would have a say in this if we get passed an IIterable, in other cases we don't even have an option on what we do, we just pass arguments down. So we might just say:
Pass by value types are not supported, if you want to use them use ... as itemssource.

Right. It is quite common for someone to 'try' an enumerable of integers, however in most cases, the collection is going to be a non-value type. we still have the out of saying, if you want to use its, use a collection of some sort (like observablecollection) and In that case we will delegate to the collection. I agree that we should not be doing extra work for this case that might impact perf. I have not checked, but ListView likely has the same issue...

ListView likely has the same issue

ListView actually works, both SelectedItem and Items.IndexOf. The other case boxing shows up is in a list of structs, like a List<Point>. This will be easier with WinUI3 where we could share the code that ListView uses more easily. Maybe doc it until then.

ListView actually works, both SelectedItem and Items.IndexOf. The other case boxing shows up is in a list of structs, like a List. This will be easier with WinUI3 where we could share the code that ListView uses more easily. Maybe doc it until then.

I've updated the spec to point out how pass by value types behave and how one can use them.

ListView actually works, both SelectedItem and Items.IndexOf. The other case boxing shows up is in a list of structs, like a List. This will be easier with WinUI3 where we could share the code that ListView uses more easily. Maybe doc it until then.

I've updated the spec to point out how pass by value types behave and how one can use them.

I did not realize that ListView was working. I think we should make it work here also. I am ok with creating an issue and following up on that since it does not affect the API surface. I can see structs being used in this scenario where this can be a problem.

ListView actually works, both SelectedItem and Items.IndexOf. The other case boxing shows up is in a list of structs, like a List. This will be easier with WinUI3 where we could share the code that ListView uses more easily. Maybe doc it until then.

I've updated the spec to point out how pass by value types behave and how one can use them.

I did not realize that ListView was working. I think we should make it work here also. I am ok with creating an issue and following up on that since it does not affect the API surface. I can see structs being used in this scenario where this can be a problem.

So should we support pass by value in the ItemsSourceView then? In that case, I think I could also fix this with the PR that we already have in WinUI that would add that API.

ListView actually works, both SelectedItem and Items.IndexOf. The other case boxing shows up is in a list of structs, like a List. This will be easier with WinUI3 where we could share the code that ListView uses more easily. Maybe doc it until then.

I've updated the spec to point out how pass by value types behave and how one can use them.

I did not realize that ListView was working. I think we should make it work here also. I am ok with creating an issue and following up on that since it does not affect the API surface. I can see structs being used in this scenario where this can be a problem.

So should we support pass by value in the ItemsSourceView then? In that case, I think I could also fix this with the PR that we already have in WinUI that would add that API.

Let's follow up with a separate PR for that specific change. We could possibly share some of this code in WinUI3. Thanks.

So is this spec then fine as it currently is or should I revert my last commit adding a comment regarding pass by value?