c-ares on Windows: DNS resolution failed exception when trying to connect locally via host name

What version of gRPC and what language are you using?
C#
gRPC 2.35 packages
What operating system (Linux, Windows,...) and version?
Windows Server 2012 R2
What runtime / compiler are you using (e.g. python version or version of gcc)
.NET Core 2.1.0
What did you do?
Modified sample code here: https://github.com/jwfx/grpc/commit/c0545746bddfacd7ea8a0bb35943c065976fd85b

Run the GreeterServer on <IP_ADDRESS>
Run the GreeterClient on the same machine connecting to the host name

What did you expect to see?
Connection should succeed when using the ares resolver.
What did you see instead?
Connection fails with exception
Unhandled Exception: Grpc.Core.RpcException: Status(StatusCode="Unavailable", Detail="DNS resolution failed for service: MYTESTHOST:30051", DebugException="Grpc.Core.Internal.CoreErrorDetailException<EMAIL_ADDRESS>"description":"Resolver transient failure","file":"..\..\..\src\core\ext\filters\client_channel\client_channel.cc","file _line":2141,"referenced_errors":[{"created":"@1611579519.773000000",...

Anything else we should know about your project / environment?
This issue seems to occur when the Windows machine is not registered at the DNS server (nslookup <machinename> fails, but ping <machinename> works). The c-ares resolver seems to try to resolve the hosts IP remotely instead of locally, which fails due to lack of a DNS record. Switching to the native resolver fixes the issue.
There should probably be a bypass similar to what was done by @apolcyn for resolving localhost on Windows, see https://github.com/grpc/grpc/pull/16420

Reassigning to @apolcyn  as this seems to be c-ares related.

Reassigning to @apolcyn  as this seems to be c-ares related.

@jwfx  just to verify this is a c-ares related problem, can you run your the example with
GRPC_DNS_RESOLVER=native (disables c-ares) and come back with the result?
https://github.com/grpc/grpc/blob/master/doc/environment_variables.md

@jwfx  just to verify this is a c-ares related problem, can you run your the example with
GRPC_DNS_RESOLVER=native (disables c-ares) and come back with the result?
https://github.com/grpc/grpc/blob/master/doc/environment_variables.md

@jtattermusch
I tested that and the native resolver does not have this issue. See last paragraph in my initial issue.

@jtattermusch
I tested that and the native resolver does not have this issue. See last paragraph in my initial issue.

@tonydnewell  can you please take a look?  (also note that it looks somewhat similar to https://github.com/grpc/grpc/issues/25953).

@jwfx @jtattermusch
I can reproduce this on my local Windows machine. However I think this is not a gRPC problem - it is a problem in a badly configured environment.
Basically the c-ares resolver only does DNS lookups. It does not do netbios lookups. If you want netbios lookups then use the native resolver.
To fix the environment for c-ares:

add the host information to the DNS server
or add the host information to the local hosts file (usually in C:\Windows\System32\drivers\etc\hosts)

Notes on testing this:
I added an entry to my lmhosts file (not to be confused with hosts file) - this is used for local netbios lookups. The name I added could be resolved by the native resolver but could not be looked up by the c-ares resolver.

I understand your point and I agree that Microsoft has more than one questionable default configuration and behavior, but I doubt there will be much movement on that end...
I think being able to connect to your own machine name should just work out of the box, without having to change Windows default settings. The machine could even be completely without network and it should just work.
If c-ares cannot support this use case, which in my humble opinion is not completely outlandish, then maybe it is not fit for the task at hand. Maybe on Windows the native resolver should be default? To be honest I don't know the complete backstory for c-ares in gRPC.
For localhost the same issue was addressed in the past, if I may quote myself.

There should probably be a bypass similar to what was done by @apolcyn for resolving localhost on Windows, see https://github.com/grpc/grpc/pull/16420

If all that you want to do is talk to the local machine then "localhost" will work.
If you want other machines to talk to this machine then DNS needs to be configured correctly.
I can't see the scenario where you want to talk the the local machine by its name but no one else can talk to the machine by its name (because its not in DNS) but you don't want to use "localhost".
I agree c-ares could get the local machine name (from the registry) on start up and use that like it does for for "localhost" - any thoughts @apolcyn @jtattermusch

If all that you want to do is talk to the local machine then "localhost" will work.
If you want other machines to talk to this machine then DNS needs to be configured correctly.
I can't see the scenario where you want to talk the the local machine by its name but no one else can talk to the machine by its name (because its not in DNS) but you don't want to use "localhost".
I agree c-ares could get the local machine name (from the registry) on start up and use that like it does for for "localhost" - any thoughts @apolcyn @jtattermusch

@apolcyn  would be the right person to answer that.

Summary for clarification
Problem:
Using the default c-ares resolver on Windows does not resolve names that are netbios names and not in DNS. E.g. the local machine name is not resolved unless it is also specified in DNS (or local hosts file).
Note - this is not C# specific
Workarounds:

use the native resolver
add the name to DNS
add the name to the local hosts file
use "localhost"

Possible solutions:

make native resolver the default on Windows
add netbios support to c-ares
add local name recognition to c-ares
update documentation to describe the behaviour and the possible workarounds
or do nothing as there are several workarounds

I've created a PR to update the documentation for the resolvers
https://github.com/grpc/grpc/pull/31385

@jtattermusch I suggest we close this with no fix planned as the documentation has now been updated for NetBIOS support:
https://github.com/grpc/grpc/blob/master/doc/environment_variables.md


[Tidal] AttributeError: 'NoneType' object has no attribute 'append' during SyncTask

What version of Music Assistant has the issue?
music-assistant/server Beta 63
The problem
My log from docker shows a warning that the "Sync task for Tidal completed with errors", that seems to happen while trying to add tracks to my library.
It's preceded by a couple of warnings caused by 404 errors from tidalapi and Skipping sync of item tidal://track/XYZ: album://ABC not found on provider tidaltype warnings, I'm not sure if that's related though - I'll include the warnings in the log below just to be sure.
The sync task completes otherwise, I haven't noticed any missing tracks so far
How to reproduce

Set up Tidal, then refresh the tidal music provider
Observe the logs

Relevant log output
2023-08-02 15:29:54.324 WARNING (ThreadPoolExecutor-0_4) [tidalapi.request] HTTP error on 404
2023-08-02 15:29:54.326 WARNING (MainThread) [music_assistant.providers.tidal] Skipping sync of item tidal://track/104503115: album://104503114 not found on provider tidal
2023-08-02 15:29:54.493 WARNING (ThreadPoolExecutor-0_2) [tidalapi.request] HTTP error on 404
2023-08-02 15:29:54.495 WARNING (MainThread) [music_assistant.providers.tidal] Skipping sync of item tidal://track/74791494: album://74791488 not found on provider tidal
2023-08-02 15:29:55.132 WARNING (ThreadPoolExecutor-0_1) [tidalapi.request] HTTP error on 404
2023-08-02 15:29:55.134 WARNING (MainThread) [music_assistant.providers.tidal] Skipping sync of item tidal://track/69394803: album://69394796 not found on provider tidal
2023-08-02 15:29:55.288 WARNING (ThreadPoolExecutor-0_4) [tidalapi.request] HTTP error on 404
2023-08-02 15:29:55.289 WARNING (MainThread) [music_assistant.providers.tidal] Skipping sync of item tidal://track/125659223: album://125659222 not found on provider tidal
2023-08-02 15:29:55.473 WARNING (ThreadPoolExecutor-0_3) [tidalapi.request] HTTP error on 404
2023-08-02 15:29:55.474 WARNING (MainThread) [music_assistant.providers.tidal] Skipping sync of item tidal://track/150511974: album://150511973 not found on provider tidal
2023-08-02 15:29:56.253 WARNING (ThreadPoolExecutor-0_4) [tidalapi.request] HTTP error on 404
2023-08-02 15:29:56.255 WARNING (MainThread) [music_assistant.providers.tidal] Skipping sync of item tidal://track/56923095: album://56923093 not found on provider tidal
2023-08-02 15:29:56.455 WARNING (ThreadPoolExecutor-0_3) [tidalapi.request] HTTP error on 404
2023-08-02 15:29:56.456 WARNING (MainThread) [music_assistant.providers.tidal] Skipping sync of item tidal://track/158376917: album://158376916 not found on provider tidal
2023-08-02 15:29:56.615 WARNING (ThreadPoolExecutor-0_1) [tidalapi.request] HTTP error on 404
2023-08-02 15:29:56.616 WARNING (MainThread) [music_assistant.providers.tidal] Skipping sync of item tidal://track/93227227: album://93227226 not found on provider tidal
2023-08-02 15:29:56.774 WARNING (ThreadPoolExecutor-0_4) [tidalapi.request] HTTP error on 404
2023-08-02 15:29:56.775 WARNING (MainThread) [music_assistant.providers.tidal] Skipping sync of item tidal://track/245603206: album://245603203 not found on provider tidal
2023-08-02 15:29:56.941 WARNING (ThreadPoolExecutor-0_3) [tidalapi.request] HTTP error on 404
2023-08-02 15:29:56.942 WARNING (MainThread) [music_assistant.providers.tidal] Skipping sync of item tidal://track/81117459: album://81117455 not found on provider tidal
2023-08-02 15:29:57.344 WARNING (ThreadPoolExecutor-0_1) [tidalapi.request] HTTP error on 404
2023-08-02 15:29:57.346 WARNING (MainThread) [music_assistant.providers.tidal] Skipping sync of item tidal://track/38015027: album://38015024 not found on provider tidal
2023-08-02 15:29:57.506 WARNING (ThreadPoolExecutor-0_4) [tidalapi.request] HTTP error on 404
2023-08-02 15:29:57.507 WARNING (MainThread) [music_assistant.providers.tidal] Skipping sync of item tidal://track/164966692: album://164966685 not found on provider tidal
2023-08-02 15:29:57.990 WARNING (ThreadPoolExecutor-0_1) [tidalapi.request] HTTP error on 404
2023-08-02 15:29:57.992 WARNING (MainThread) [music_assistant.providers.tidal] Skipping sync of item tidal://track/119873464: album://119873456 not found on provider tidal
2023-08-02 15:29:58.158 WARNING (ThreadPoolExecutor-0_4) [tidalapi.request] HTTP error on 404
2023-08-02 15:29:58.160 WARNING (MainThread) [music_assistant.providers.tidal] Skipping sync of item tidal://track/29972390: album://29972384 not found on provider tidal
2023-08-02 15:29:58.318 WARNING (ThreadPoolExecutor-0_3) [tidalapi.request] HTTP error on 404
2023-08-02 15:29:58.320 WARNING (MainThread) [music_assistant.providers.tidal] Skipping sync of item tidal://track/77755089: album://77755084 not found on provider tidal
2023-08-02 15:29:58.701 WARNING (ThreadPoolExecutor-0_1) [tidalapi.request] HTTP error on 404
2023-08-02 15:29:58.704 WARNING (MainThread) [music_assistant.providers.tidal] Skipping sync of item tidal://track/128388407: album://128388405 not found on provider tidal
2023-08-02 15:29:59.168 WARNING (ThreadPoolExecutor-0_4) [tidalapi.request] HTTP error on 404
2023-08-02 15:29:59.169 WARNING (MainThread) [music_assistant.providers.tidal] Skipping sync of item tidal://track/73946036: album://73946033 not found on provider tidal
2023-08-02 15:29:59.320 WARNING (ThreadPoolExecutor-0_3) [tidalapi.request] HTTP error on 404
2023-08-02 15:29:59.322 WARNING (MainThread) [music_assistant.providers.tidal] Skipping sync of item tidal://track/41881101: album://41881099 not found on provider tidal
2023-08-02 15:29:59.499 WARNING (ThreadPoolExecutor-0_1) [tidalapi.request] HTTP error on 404
2023-08-02 15:29:59.501 WARNING (MainThread) [music_assistant.providers.tidal] Skipping sync of item tidal://track/35344156: album://35344155 not found on provider tidal
2023-08-02 15:29:59.665 WARNING (ThreadPoolExecutor-0_4) [tidalapi.request] HTTP error on 404
2023-08-02 15:29:59.666 WARNING (MainThread) [music_assistant.providers.tidal] Skipping sync of item tidal://track/35619010: album://35619001 not found on provider tidal
2023-08-02 15:29:59.828 WARNING (ThreadPoolExecutor-0_3) [tidalapi.request] HTTP error on 404
2023-08-02 15:29:59.829 WARNING (MainThread) [music_assistant.providers.tidal] Skipping sync of item tidal://track/81434227: album://81434208 not found on provider tidal
2023-08-02 15:30:00.740 WARNING (ThreadPoolExecutor-0_4) [tidalapi.request] HTTP error on 404
2023-08-02 15:30:00.742 WARNING (MainThread) [music_assistant.providers.tidal] Skipping sync of item tidal://track/130567356: album://130567355 not found on provider tidal
2023-08-02 15:30:00.954 WARNING (MainThread) [music_assistant.music] Sync task for Tidal completed with errors
Traceback (most recent call last):
  File "/usr/local/lib/python3.11/site-packages/music_assistant/server/controllers/music.py", line 571, in run_sync
    await provider.sync_library(media_types)
  File "/usr/local/lib/python3.11/site-packages/music_assistant/server/models/music_provider.py", line 418, in sync_library
    library_item = await controller.add_item_to_library(
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/music_assistant/server/controllers/media/tracks.py", line 172, in add_item_to_library
    item.metadata.images.append(item.album.image)
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'append'

Additional information
I checked some of the items that Tidal's unable to find according to the logs, and they seem to be actually unavailable through the website as well.
What version of Home Assistant Core are your running
2023.7.3
What type of installation are you running?
Home Assistant Container
On what type of hardware are you running?
Raspberry Pi

Will be fixed in the next release

@Sirs0ri Please confirm this has been fixed

refreshing the tidal library no longer throws an error, looks good


[WIP] Fit trait modification and cross validation proposal

Changes in the Fit trait
from this:
pub trait Fit<'a, R: Records, T> {
    type Object: 'a;

    fn fit(&self, dataset: &DatasetBase<R, T>) -> Self::Object;
}

to this:
pub trait Fit<R: Records, T, E: std::error::Error + std::convert::From<linfa::Error>> {
    type Object;

    fn fit(&self, dataset: &DatasetBase<R, T>) -> Result<Self::Object, E>;
}

by:

removing 'a lifetime (left from previous svm implementation, not actually used by any algorithm anymore)
forcing every implementation to return a result with an error struct (every implementation except PCA already returned an error, some implementations returned a String as the error but the transition keeps the same error messages)

Edit 1:
Added conversion from linfa error bound on fit error type. Every sub-crate should be able to handle the errors caused by using the base crate
Cross validation POC
Cross-validation can be defined by exploiting the new Fit definition. This is what it looks like for regression:
    use linfa::prelude::*;
    use linfa_elasticnet::{ElasticNet, Result};

    // load Diabetes dataset (mutable to allow fast k-folding)
    let mut dataset = linfa_datasets::diabetes();

    // prameters to compare
    let ratios = vec![0.1, 0.2, 0.5, 0.7, 1.0];

    // create a model for each parameter
    let models = ratios
        .iter()
        .map(|ratio| ElasticNet::params().penalty(0.3).l1_ratio(*ratio))
        .collect::<Vec<_>>();

    // get the mean r2 validation score across all folds for each model
    let r2_values =
        dataset.cross_validate(5, &models, |prediction, truth| prediction.r2(&truth))?;

    for (ratio, r2) in ratios.iter().zip(r2_values.iter()) {
        println!("L1 ratio: {}, r2 score: {}", ratio, r2);
    }

And this is what it looks like for classification:
    use linfa::prelude::*;
    use linfa_logistic::error::Result;
    use linfa_logistic::LogisticRegression;

    // Load dataset. Mutability is needed for fast cross validation
    let mut dataset =
        linfa_datasets::winequality().map_targets(|x| if *x > 6 { "good" } else { "bad" });

    // define a sequence of models to compare. In this case the
    // models will differ by the amount of l2 regularization
    let alphas = vec![0.1, 1., 10.];
    let models: Vec<_> = alphas
        .iter()
        .map(|alpha| {
            LogisticRegression::default()
                .alpha(*alpha)
                .max_iterations(150)
        })
        .collect();

    // use cross validation to compute the validation accuracy of each model. The
    // accuracy of each model will be averaged across the folds, 5 in this case
    let accuracies = dataset.cross_validate(5, &models, |prediction, truth| {
        Ok(prediction.confusion_matrix(truth)?.accuracy())
    })?;

    // display the accuracy of the models along with their regularization coefficient
    for (alpha, accuracy) in alphas.iter().zip(accuracies.iter()) {
        println!("Alpha: {}, accuracy: {} ", alpha, accuracy);
    }

Possible follow up
Redefine the Transformer trait to return a Result, like the t-sne implementation does, in order to avoid panicking as much as possible. It would be better to wait for #121 in order to avoid dealing with the unwrap() calls when performing float conversions.
Notes

Currently there are two versions of cross-validation: one for single target datasets and one for multi-target datasets. The main reasons for this are:

Array1s of evaluation values can be constructed with collect, Array2 cannot and must be populated row by row (could be avoided by stacking, or maybe there is a dedicated ndarray method I am not aware of)
Regression metrics behave differently when they are applied Array1-Array2 or Array2-Array1, making writing evaluation closures possibly more difficult than it should.

More than likely there is a solution to both problems, but I got stuck on it for too long and so I would consider it out of scope for this PR, unless someone has an easy solution to suggest. Forcing the user to give a single return value in the multi-target case (like a mean across the targets) could make the problem easier but the evaluation for each target would be lost in the process.

Got this error in elasticnet just once:

     Running target/release/deps/linfa_elasticnet-d4c6cf99e56de5dd

running 11 tests
test algorithm::tests::coordinate_descent_lowers_objective ... ok
test algorithm::tests::elastic_net_2d_toy_example_works ... ok
test algorithm::tests::elastic_net_diabetes_1_works_like_sklearn ... ok
test algorithm::tests::diabetes_z_score ... ok
test algorithm::tests::elastic_net_penalty_works ... ok
test algorithm::tests::elastic_net_toy_example_works ... ok
test algorithm::tests::lasso_toy_example_works ... ok
test algorithm::tests::lasso_zero_works ... ok
error: test failed, to rerun pass '-p linfa-elasticnet --lib'

Caused by:
  process didn't exit successfully: `/home/ivano/Scrivania/github_projects/linfa/target/release/deps/linfa_elasticnet-d4c6cf99e56de5dd` (signal: 11, SIGSEGV: invalid memory reference)

@YuhanLiin I got this test error on kmeans just once and I haven't been able to reproduce it:
---- k_means::init::tests::test_sample_subsequent_candidates stdout ----
thread 'k_means::init::tests::test_sample_subsequent_candidates' panicked at 'assertion failed: `(left == right)`
  left: `3`,
 right: `2`', algorithms/linfa-clustering/src/k_means/init.rs:259:9

It seems like the test takes a fixed seed in input so it should be deterministic, right? Could there be some randomness in the rng seeds for each thread?
Maybe it was just my machine acting up 😅, and also the error doesn't show up on the CI system, but I still tagged you in case you have some insight on why it might have happened

@YuhanLiin I got this test error on kmeans just once and I haven't been able to reproduce it:
---- k_means::init::tests::test_sample_subsequent_candidates stdout ----
thread 'k_means::init::tests::test_sample_subsequent_candidates' panicked at 'assertion failed: `(left == right)`
  left: `3`,
 right: `2`', algorithms/linfa-clustering/src/k_means/init.rs:259:9

It seems like the test takes a fixed seed in input so it should be deterministic, right? Could there be some randomness in the rng seeds for each thread?
Maybe it was just my machine acting up sweat_smile, and also the error doesn't show up on the CI system, but I still tagged you in case you have some insight on why it might have happened

That RNG is seeded once per Rayon thread (not once per Rayon task), so if Rayon spawns a different number of threads on your machine then you may get different results. I'm going to look into a more deterministic way to run this test.

I updated the PR description with the changes brought and some considerations on the single-target/multi-target issue

Codecov Report

Merging #122 (1d0d80e) into master (a42401e) will increase coverage by 0.50%.
The diff coverage is 69.30%.

:exclamation: Current head 1d0d80e differs from pull request most recent head bd62a36. Consider uploading reports for the commit bd62a36 to get more accurate results

@@            Coverage Diff             @@
##           master     #122      +/-   ##
==========================================
+ Coverage   58.23%   58.74%   +0.50%
==========================================
  Files          76       72       -4
  Lines        6700     6773      +73
==========================================
+ Hits         3902     3979      +77
+ Misses       2798     2794       -4

Impacted Files
Coverage Δ

...infa-clustering/src/appx_dbscan/hyperparameters.rs
18.51% <0.00%> (ø)

algorithms/linfa-pls/src/lib.rs
90.00% <ø> (ø)

...hms/linfa-preprocessing/src/count_vectorization.rs
78.09% <ø> (+0.95%)
:arrow_up:

algorithms/linfa-svm/src/solver_smo.rs
37.32% <ø> (ø)

algorithms/linfa-trees/src/decision_trees/tikz.rs
0.00% <0.00%> (ø)

...rithms/linfa-trees/src/decision_trees/algorithm.rs
51.08% <25.00%> (-1.80%)
:arrow_down:

src/dataset/impl_dataset.rs
43.33% <45.31%> (+1.24%)
:arrow_up:

algorithms/linfa-ica/src/fast_ica.rs
50.34% <66.66%> (+0.70%)
:arrow_up:

algorithms/linfa-linear/src/ols.rs
75.00% <66.66%> (+3.03%)
:arrow_up:

...linfa-clustering/src/gaussian_mixture/algorithm.rs
56.41% <75.00%> (-0.69%)
:arrow_down:

... and 30 more

Continue to review full report at Codecov.

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

I will review later this day :)

Ok, I re-enabled the tests that were commented out, the tests just needed a little tweak to work with the non-determinism of the hashset used to construct the confusion matrices. There is still one test that is not passing, for what I believe are good reasons. Basically, it tries to compute the confusion matrix between two sets by first calling with_labels on the ground truth set to exclude one label. The problem now is that the two sets have different lengths and so the confusion matrix comes out messy, as it can be expected. Is this a feature that would be useful, and so that I should try to fix, or is it better to just remove that single test?
The code in the test was really outdated so maybe it reflected a property of some previous implementation. The good thing is that it allowed me to catch a weird bug in the with_labels method.
I'm available for a quick chat in zulip/zoom if that's needed

added a PR for this PR here https://github.com/Sauro98/linfa/pull/3

uses WithLapack for linfa-pls (renaming of function still missing)
adds build script for archlinux

I'm writing tests for the with_label method and I am wondering how the function should behave. Right now it works well for the single target case, but not for the multi-label case. What I mean is that:
let records = array![[0.,0.],[0.,0.]];
let targets = array![[0,7],[1,8]];
let dataset = DatasetBase((records, targets)).with_labels(&[&[0,1],&[8]]);

returns a dataset with both samples inside, while I would expect the first sample to be removed since its second target does not figure in the allowed ones.
Should it behave like I am expecting or should the sample be kept, since its first target is allowed? In the latter case, we can simplify the method by accepting just a slice instead of a slice of slices. Otherwise ,I'll try to modify the method to check that each target is allowed.

I would expect that this is an any: if any target is contained in one of the labels, then the sample is retained. I think that with_labels only accepting a simple slice is enough for our usecase now. You can create a case where you want to retain a label in one target and not the other and then the modificated with_labels would behaviour differently. But nobody is using that right now. In the future we could add a with_labels_any and with_labels_all which accepts a double level slice.

It keeps throwing a segmentation fault when running tests with tarpaulin on linfa-pls

It keeps throwing a segmentation fault when running tests with tarpaulin on linfa-pls

mhh I will try to debug this

this is caused in line https://github.com/rust-ml/linfa/pull/122/files#diff-d93fb3eb4fda95138ffbeb69520f77ce15fc2b6698b5db7eadd8b3c6aa4231d5R97

taking the eigendecomposition in the sign flippy function by value makes clippy happy. Can you add that? Haven't opened another PR for this
--- a/algorithms/linfa-pls/src/pls_svd.rs
+++ b/algorithms/linfa-pls/src/pls_svd.rs
@@ -74,7 +74,7 @@ impl<F: Float, D: Data<Elem = F>> Fit<ArrayBase<D, Ix2>, ArrayBase<D, Ix2>, PlsE
         // safe unwraps because both parameters are set to true in above call
         let u = u.unwrap().slice_move(s![.., ..self.n_components]);
         let vt = vt.unwrap().slice_move(s![..self.n_components, ..]);
-        let (u, vt) = utils::svd_flip(&u, &vt);
+        let (u, vt) = utils::svd_flip(u, vt);
         let v = vt.reversed_axes();

         let x_weights = u;
diff --git a/algorithms/linfa-pls/src/utils.rs b/algorithms/linfa-pls/src/utils.rs
index fc85677..1b780e0 100644
--- a/algorithms/linfa-pls/src/utils.rs
+++ b/algorithms/linfa-pls/src/utils.rs
@@ -89,8 +89,8 @@ pub fn svd_flip_1d<F: Float>(
 }

 pub fn svd_flip<F: Float>(
-    u: &ArrayBase<impl Data<Elem = F>, Ix2>,
-    v: &ArrayBase<impl Data<Elem = F>, Ix2>,
+    u: ArrayBase<impl Data<Elem = F>, Ix2>,
+    v: ArrayBase<impl Data<Elem = F>, Ix2>,
 ) -> (Array2<F>, Array2<F>) {
     // columns of u, rows of v
     let abs_u = u.mapv(|v| v.abs());
@@ -101,7 +101,7 @@ pub fn svd_flip<F: Float>(
         .and(&max_abs_val_indices)
         .and(&range)
         .apply(|s, &i, &j| *s = u[[i, j]].signum());
-    (u * &signs, v * &signs.insert_axis(Axis(1)))
+    (&u * &signs, &v * &signs.insert_axis(Axis(1)))
 }

I will

I have also updated the contribution guide to reflect the changes in the Fit trait, and I removed an outdated section about prediction traits, since they were discussed later in the documents in the updated way.
I did not add anything about the new Lapack traits, since I didn't know whether you wanted to do it; otherwise, I'd be happy to try and write something down 👍🏻 .

There's already a snippet called cross-validation, maybe I could rename that to k-folding and add another one for cross-validation? I would basically adapt the elasticnet_cv example

sounds good :+1:


Is it possible to 'get' data using POST with json-server?

Hi,
I am trying to get response using POST. My POST body has some key-value pairs which determine what needs to be responded.
Is it possible to get data back from POST method ?
Thanks

It would be helpful if they answered this issue... i'am facing the same problem

Hi @vsharma2266 @sanserna,
Out of the box it's not possible, sorry. With REST, making a POST usually mean that you request a change and if you want to query GET is the right verb.
That said, using the project as a module, you can fake it:
// server.js
var jsonServer = require('json-server')
var server = jsonServer.create()
var router = jsonServer.router('db.json')
var middlewares = jsonServer.defaults()

server.use(middlewares)

server.use(jsonServer.bodyParser)
server.use(function (req, res, next) {
  if (req.method === 'POST') {
    // Converts POST to GET and move payload to query params
    // This way it will make JSON Server that it's GET request
    req.method = 'GET'
    req.query = req.body
  }
  // Continue to JSON Server router
  next()
})

// If you need to scope this behaviour to a particular route, use this
server.post('/comments', function (req, res, next) {
  req.method = 'GET'
  req.query = req.body
  next()
})

server.use(router)
server.listen(3000, function () {
  console.log('JSON Server is running')
})

I would suggest checking https://expressjs.com/ docs and https://github.com/typicode/json-server#module
And if you need to customize more, you can also access router's lowdb instance using router.db.
Hope this helps :)

@typicode i tried pasted above code ,but i found that i failed to get data
in routes.json,
'/api/product/stocks_index/list': '/referenceList/:id'
I want '/api/product/stocks_index/list' this api‘s request value is {id:1},and want to turn '/referenceList/:id'into '/referenceList/1'
but ,/api/product/stocks_index/list can not change such as/api/product/stocks_index/list?id=1..
Or,what can i solve this problem?

Closing as this question is answered.

This is what worked for me:
Instead of writing the server.js file from scratch and executing it; I created a middleware file.  The contents of the middleware file are from @typicode 's answer above:
module.exports = function (req, res, next) {
  if (req.method === 'POST') {
    // Converts POST to GET and move payload to query params
    // This way it will make JSON Server that it's GET request
    req.method = 'GET'
    req.query = req.body
  }
  // Continue to JSON Server router
  next()
}

Next, this is in my json-server.json file:
{
    ...
    "middlewares": ["middleware-1.js"],
    ...
}

The db.json file is as usual with all the data, and finally, executed the code:
json-server db.json
Good Luck.

@appsparkler thanks a lot for your answer, it helped me fixing a problem in the project i'm working at the moment.
Moreover, while writing the middleware and testing your solution, I discovered a weird behaviour when the query result cointained a field with the same name of a field contained in the POST original body.
I'll explain it better, using an example from the code I wrote
HTTP request
(variable's names are voluntarily changed)
this.http.post<OutputFormat>(EndpointUrl('URL'),
      {
        'foo': foo,
        'bar': bar,
        'baz': 'baz',
        'qux': 'qux'
    })
      .subscribe(
      res => {
        console.log("res is  ",res);
       ...

MIDDLEWARE
module.exports = (req, res, next) => {
...
                req.method ='GET';
                req.query = req.body
                next();
...
}

RESULT:
Everything works fine UNLESS the json at the endpoint contains a field that has the same label of the fields in the req.body ( 'foo', 'bar', 'baz' or 'qux' ).
example:
"endpointYouAskedFor": [
    {
      "foo": {...},
      "someOtherThing": {...}
}

In this case, the result will be an empty res object.
If there was no 'foo' field in the endpoint, everything would have been fine.
I hope this will be useful and spare some hours  to someone :)

hi @mircolac
i'm not sure if this would work but another thing that we can include in the middleware is to make the req.body into an empty object:
// ...
    req.body = {}; //or null (if that works)
// ...

Hey @appsparkler
That was certainly worth a try, but unfortunately didn't fix the problem!
Thanks anyway :)

@typicode
I use POST method to make some change, but want to get some response (not the insert resource).
Is there another way which not to make the method to 'get' ?
Thanks.

@leohxj Is there an issue with setting your method to get, like so?
server.post('/some/url', (req, res) => {
  req.method = 'GET'
  res.jsonp({ some: "response" })
})

As you can still POST to your server, .then use the response.

I needed to reroute the URL but resetting req.url wasn't working so I did the following.
const jsonServer = require('json-server');
const server = jsonServer.create();
const router = jsonServer.router('db.json');
const request = require('request');
const middlewares = jsonServer.defaults();

server.use(middlewares);
server.use(jsonServer.bodyParser);

server.post('/login',(req,res,next) => {
  // We don't care if we don't check the password we just want to receive a user back for testing
  let url = 'http://localhost:3000/user?login.username=' + req.body.username;
  request({url: url, json: true},(err, response, body) => {
    res.send(body);
  });
}); // post(/login)

server.use(router);

server.listen(3000, ()=>{
  console.log('http://localhost:3000 Running...');
});

It seems like the only way is write a middleware that changes requests from POST/PUT to GET:
server.use((req, res, next) => {
  if (req.method === 'POST') {
    req.method = 'GET';
  }
  next();
});

You can still have and react to POST requests if you do this BEFORE the middleware:
server.post('/addUser', (req, next) => {
  res.jsonp(myResponse);
});

server.use((req, res, next) => {
  if (req.method === 'POST') {
    req.method = 'GET';
  }
  next();
});

I've been facing the same issue. My team demands sending their query data in the body, so they're using a POST instead of a GET for querying data.
After searching the web I created a json-server.js file that sends a GET when it's supposed to send a POST (I currently don't filter which addresses to convert).
So, for anyone who's searching for a compound json-server.js file, here's mine:
// server.js
const jsonServer = require('json-server');
const bodyParser = require("body-parser");
const server = jsonServer.create();
const router = jsonServer.router('./db.json');
const middlewares = jsonServer.defaults();

server.use(bodyParser.json());
server.use(bodyParser.urlencoded({
	extended: true
}));

server.use(function (req, res, next) {
	if (req.method === 'POST') {

		// Converts POST to GET and move payload to query params
		req.method = 'GET';
		req.query = {}

		for (let p in req.body) req.query[p] = req.body[p];
	}
	// Continue to JSON Server router
	next();
});

server.use(middlewares)
server.use(router)

const port = 3000;
server.listen(port, () => console.log(`JSON Server is running on port ${port} ...`))

Thanks for the details @SetTrend.
I'm new working with json-server, but if I wanted to run the json-server.js file in command line, how I would it, like this "json-server json-server.js --watch db.json --routes routes.json"?
Any help would be appreciated!

I set up a middleware like this and works fine for me:
middleware1.js
module.exports = function (req, res, next) {
  if (req.method === 'POST' && req.originalUrl === '/user/login') {
    return res.jsonp({ some: "response" })
  }
  next()
}

And run
> json-server  --middlewares middleware1.js  ...

@appsparkler thanks a lot for your answer, it helped me fixing a problem in the project i'm working at the moment.
Moreover, while writing the middleware and testing your solution, I discovered a weird behaviour when the query result cointained a field with the same name of a field contained in the POST original body.
I'll explain it better, using an example from the code I wrote
HTTP request
(variable's names are voluntarily changed)
this.http.post<OutputFormat>(EndpointUrl('URL'),
      {
        'foo': foo,
        'bar': bar,
        'baz': 'baz',
        'qux': 'qux'
    })
      .subscribe(
      res => {
        console.log("res is  ",res);
       ...

MIDDLEWARE
module.exports = (req, res, next) => {
...
                req.method ='GET';
                req.query = req.body
                next();
...
}

RESULT:
Everything works fine UNLESS the json at the endpoint contains a field that has the same label of the fields in the req.body ( 'foo', 'bar', 'baz' or 'qux' ).
example:
"endpointYouAskedFor": [
    {
      "foo": {...},
      "someOtherThing": {...}
}

In this case, the result will be an empty res object.
If there was no 'foo' field in the endpoint, everything would have been fine.
I hope this will be useful and spare some hours to someone :)

Thanks for this!!

maybe, it is much easier and you don't have to change methods:
const server = jsonServer.create();
const router = jsonServer.router(db);
const middlewares = jsonServer.defaults();
const port = 3000;

// @ts-ignore
router.render = (req, res) => {
  if (req.originalUrl === '/whatever' && req.originalMethod === 'POST') {
    res.jsonp({
      result: {
        agent: 'James Bond',
        code: '007',
      },
    });
  } else {
    res.jsonp({
      result: res.locals.data,
    });
  }
};

server.use(middlewares);
server.use(router);

server.listen(port, () => {
  console.log(`JSON Server is running on port ${port}`);
});

Note req.query = req.body will result in a 500 error due to there being a json-server specific _delay property on req.query.
This prevents that:
req.query = { ...req.query, ...req.body }

@appsparkler in this case, if i add "middlewares": ["middleware-1.js"], inside a json-server.json, he will understand that is a new route.
Is there no other way to do this work within only "json files" without needing a server.js file?

Hi @Jackie098, this was a long time ago (5-6 yrs).  I've not been using json-server for few years now
and am no longer sure about its implementation, logic, etc.  I'm currently focused on Android
with Compose in Kotlin so I hope you understand.
Thanks & Regards

@appsparkler i understand! Thanks for answered me 😁❤


invalid use of ,string struct tag, trying to unmarshal "" into int

I got a error "2023/10/25 16:11:37 json: invalid use of ,string struct tag, trying to unmarshal "" into int" when I put a object to my s3 .
this is my config.json

{
"bucket_name":"qwe",
"credentials_source":"static",
"access_key_id":"access_key_id",
"secret_access_key":"secret_access_key",
"region":"",
"host":"IP",
"port":80,
"ssl_verify_peer":false,
"use_ssl":false,
"signature_version":"",
"server_side_encryption":"",
"sse_kms_key_id":"",
"multipart_upload":false
}

why not change  ' "signature_version":      "<string> (optional)" ' in README.md to  '"signature_version":      "<string> required [ 2 | 4 ]"'  or    '"signature_version":  <int> [ 2 | 4 ]' ?

We would love to review a PR that makes those changes to the README.md.

Hi @Jerryhax , optional means that it is not necessary to provide that config parameter, it does not mean that if you do not want to specify it, you set the value as an empty string. Simply remove the key "signature_version" and then it should work.

Hi @Jerryhax , optional means that it is not necessary to provide that config parameter, it does not mean that if you do not want to specify it, you set the value as an empty string. Simply remove the key "signature_version" and then it should work.

thx，I got it .
It works when I remove the key "signature_version" in my config.json
setting the value to null has the same effect.

Ok, we are closing this. Please reopen if still needed.


Design event-driven sources to plain-old-function jars

As a developer, I'd like to experiment and come up with a design to refactor push-based applications (eg: JMS Source) to a function-only jar.
Unlike pull-based applications (eg: JDBC Source), these applications do not have a trigger-like mechanism to poll and fetch new payload. The payload, instead, they are handed over to the consumers on-demand.

Given the push-based pattern, how does this requirement map onto java.utli.Function APIs? What is the equivalent?
What is a trigger here? Do we even need it?

The spike is complete. We will get started with jms-source as part of the next steps, and incrementally move onto the other sources.


Gzip / Deflate initialize with a block

I'm trying to update Kemal to support Crystal next but unfortunely Gzip::Writer / Flate::Writer can't be initialized with a block which prohibits me from using IO.copy without creating an intermediate IO::Memory thus leading to performance penalty
Before
Zlib::Deflate.gzip(context.response) do |deflate|
   IO.copy(file, deflate)
end

Now
io = IO::Memory.new
deflate = Gzip::Writer.new(io)
deflate.print(context.response)
io.rewind
IO.copy(file, deflate)

https://github.com/crystal-lang/crystal/blob/master/src/gzip/writer.cr#L18-L20

In case the code goes old, the way to do it is using open:
Gzip::Writer.open(...) do |gzip|
end


Glib API harmonization

I'd like to propose an example of how I intended the glib::object and translate APIs to be used along with a bug fix. This will hopefully be instructive on how to improve the other modules.
I also recommend against using names that don't match the C headers in the sys crate (SecretCollectionFFI vs SecretCollection). You can refer to the foreign types as ffi::SecretCollection so name clashes are not a concern.

Thanks @gkoz , this is very useful for me. I will merge this as soon as I had some time to review and understand your changes.


Smooth Transition while hovering

Signed-off-by: Ankit<EMAIL_ADDRESS>Related Issue

Info about Issue or bug

Closes: #[issue number that will be closed through this PR]
Describe the changes you've made
A clear and concise description of what you have done to successfully close your assigned issue. Any new files? or anything you feel to let us know!
Describe if there is any unusual behaviour of your code(Write NA if there isn't)
A clear and concise description of it.
Checklist:

[x] My code follows the style guidelines of this project.
[x] I have performed a self-review of my own code.
[x] I have commented my code, particularly in hard-to-understand areas.
[x] I have made corresponding changes to the documentation.
[x] New and existing unit tests pass locally with my changes.

Screenshots
Put any screenshot(s) of the project here.

also, add 3d effect while hovering

I had filled the PR template and added a screenshot of the contribution that I have done

Hey @Ankit0225 you have to write "Closes: #issue_number"

See Now

@urvashi-code1255


Ability to build secondary CIDRs on existing VPCs

By specifying  var.vpc_secondary_cidr = true and providing a value to var.vpc_id, this module will attempt to mount a secondary cidr and build the appropriate subnets for it as well. This works with IPAM derived CIDRs or by specifying your own.
module "secondary" {
  source  = "aws-ia/vpc/aws"
  version = ">= 1.0.0"

  name = "secondary-cidr"

  vpc_secondary_cidr      = true
  vpc_id                  = module.vpc.vpc.id
  vpc_ipv4_ipam_pool_id   = module.ipam_base_for_example_only.pool_id
  vpc_ipv4_netmask_length = 20
  az_count                = 2

  subnets = {
    private = { netmask = 24 }
  }
}

terraform validate appears to be broken in CI. The error in CI:

│ Error: Inconsistent conditional result types
│
│   on data.tf line 25, in locals:
│   25:   vpc        = local.create_vpc ? aws_vpc.main[0] : data.awscc_ec2_vpc.main[0]
│     ├────────────────
│     │ aws_vpc.main[0] is a object, known only after apply
│     │ data.awscc_ec2_vpc.main[0] is a object, known only after apply
│     │ local.create_vpc is a bool, known only after apply
│
│ The true and false result expressions must have consistent types. The given
│ expressions are object and object, respectively.
╵

Does not cause issue locally:
~/git/aws-ia/terraform-aws-vpc
$ tf validate
╷
│ Warning: Experimental feature "module_variable_optional_attrs" is active
│
│   on providers.tf line 3, in terraform:
│    3:   experiments      = [module_variable_optional_attrs]
│
│ Experimental features are subject to breaking changes in future minor or patch releases, based on feedback.
│
│ If you have feedback on the design of this feature, please open a GitHub issue to discuss it.
╵
Success! The configuration is valid, but there were some validation warnings as shown above.


add Shanghai University of Traditional Chinese Medicine

add Shanghai University of Traditional Chinese Medicine

@peterkcwu I have to close this request without merging, because you requested to add a non-existent domain to this repository: Host shutcm.cn not found: 3(NXDOMAIN) Please ensure that you are familiar with this repository rules located at the bottom of this page and submit a new request with the correct information. Thank you for understanding!

@peterkcwu I have to close this request without merging, because you requested to add a non-existent domain to this repository: Host shutcm.cn not found: 3(NXDOMAIN) Please ensure that you are familiar with this repository rules located at the bottom of this page and submit a new request with the correct information. Thank you for understanding!


Add nvmrc/python-version files for NVM and pyenv according to setup docs

Explanation of Bugfix/Feature/Enhancement:
Hey @blargity, I cloned and setup the repo to possibly do some features/bug fixes on this project! I use NVM and pyenv for managing versions of Node and Python across different projects, so I thought it would be helpful for people to have the versions defined in the repo so that nvm/pyenv can pick those versions up when someone clones the repo for the first time.
I also added quick links to those tools in the README.
For anyone that doesn't use these version managers, having the .python-version or .nvmrc files will not affect them adversely.
Alternatively, I can add these two files to .gitignore if you'd prefer not to have them in the repo.

Yup, that's helpful indeed, thanks!

Thanks!

Is the version of node in the .nvmrc file right?
I'm trying to get started helping out but running generateSettings.js is making me think the .nvmrc should say 5.3.0

Looks like .travis.yml is saying .nvmrc should be set to version 6

My version of .nvmrc does say 5.3.0. My version of node is 8.1.4. Running on Windows BTW.

Nice! Maybe we can bump it all the way to 8.1.4

Let's see which version others are running with. Is the value in .nvmrc a minimum or a maximum or required?

It's the version the project needs. You can be as specific as you'd like thanks to semvar. So you could be as specific as 8.1.4, or 8.1 (8.1.), or 8 (8.).
I'm bumping my local branch to 8.1
People who use .nvmrc files won't use a different version than what was specified.


Problem with swiftpm

I got an error NoSources when swift building on Ubuntu 15 server (swift dev-snapshot from Feb 25).
To make it work I had to:
cd Packages/Vapor-0.2.6/Vapor
mv */* .
rmdir * # for good measure

Was this when running the vapor example project? Make sure to use the ./run script included for the time being. We have a PR open with Swift PM to fix this.

No, not the example project. I tried to create my own from scratch. I deleted the Packages/Vapor-0.2.6/Tests/ folder manually before building. That's all the run script does, right?
swift build still does not find any .swift files because they are organized into subfolders under the Vapor target (Packages/Vapor-0.2.6/Vapor/). To make swiftpm find them, I moved them out of the subfolders with the mv command above.


Line Breaks in Hovers don't work (anymore)

It's not possible to create a line break in a hover:
<hover:show_text:Text with \nline break>My text</hover> doesn't create the line break in the hover, it rips the message apart to
<hover:show_text:Text with
line break>My text</hover>

Suggested (and a good solution for me) from @zml2008 is:
Add a new tag
 for line breaks.  This should solve the issue.
Alternatives:

Use a varargs concept, but there are some other places where this doesn't work. And you can't add a line break outside the hover text
<hover:show_text:'<red>First line':'<yellow>Second line'>Text</hover>
Get \n back to work.

Newlines do work correctly in hover events - MiniMessage doesn't touch newlines at all. Do you have a code example (not webui, that handles newlines differently) of this not working?

This always comes back, we got explicit unit tests to make sure this doesn't break, most likely the way how you load the message into minimessage is the issue, so a minimal reproducible example is needed here.

Yes, you're correct. Somehow "something" split the message before it.
I'm using a modified version of acf (replaced the string stuff with adventure) and somehow missed to remove the stuff there.
Using MiniMessage directly worked now.
Maybe the implementation of
 could help here. With the new Tags it should be easy to implement (I already implemented and tested it locally).

Feel free to submit a PR! There does seem like a demand for a newline-inserting tag, especially considering how annoying it can be to write newlines in various markup languages.


sw-5913 added unit test for getting teams #minor

Codecov Report
Base: 51.47% // Head: 56.18% // Increases project coverage by +4.71% :tada:

Coverage data is based on head (9fbdbd5) compared to base (3ebca8d).
Patch coverage: 100.00% of modified lines in pull request are covered.

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #256      +/-   ##
==========================================
+ Coverage   51.47%   56.18%   +4.71%
==========================================
  Files          13       13
  Lines         509      509
==========================================
+ Hits          262      286      +24
+ Misses        217      188      -29
- Partials       30       35       +5

Impacted Files
Coverage Δ

internal/sirius/get_teams_for_selection.go
76.19% <100.00%> (+57.14%)
:arrow_up:

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

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


Enable OSX builds

Checklist

[x] Used a personal fork of the feedstock to propose changes
[x] Bumped the build number (if the version is unchanged)
[x] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[x] Ensured the license file is being packaged.

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

@conda-forge-admin, please rerender.

@mpmdean, I actually was pretty surprised that the OSX builds were successful with no intervention, pretty cool!


[alpha13] It's looks like Radiance doesn't use herbs

(I've checked several times,it's really doesn't take any herbs)
Oh,it's using herbs only when touch someone

So, I'm going to make it be dimmer if you don't hit anything, so at least you'd see the path of it.

So, I'm going to make it be dimmer if you don't hit anything, so at least you'd see the path of it.


Update contractmodel dependency to latest version on master

Pre-submit checklist:

Branch

[x] Tests are provided (if possible)
[x] Commit sequence broadly makes sense
[x] Key commits have useful messages
[x] Formatting, PNG optimization, etc. are updated
[x] Important changes are reflected in changelog.d of the affected packages

PR

[x] Self-reviewed the diff
[x] Useful pull request description
[x] Reference the ADR in the PR and reference the PR in the ADR (if revelant)
[x] Reviewer requested

@koslambrou Can we have a review and merge of this relatively quickly?


[WebGL] fill-color property also draws linear rings (clockwise?)

Describe the bug
A clear and concise description of what the bug is.
I am trying to convert all of my vectorial layers with polygons to the WebGL layers.
The issue, here, is that I use a world coordinate to draw a reversed zone (everything except hole).
To Reproduce
Steps to reproduce the behavior:

Go to codesandbox
Zoom to Rennes in France
See that

Expected behavior
Before with vectorial style I had the similar behavior of geojson.io.
Now this.

The actual color I want in fill-color in actually good. But It looks like the color gets overlapped several times.
My investigation is that comes from the clockwise but wrong.
I used these two tools :

https://geojsonlint.com/ to check the rules.
https://github.com/mapbox/geojson-rewind to change the order.

NB : If I am not wrong, the usage of geojson-rewind must set the second parameter to false, to follow the 3.1.6 rule?
The result with WebGL

when the geojson is valid, I have the issue.
when the geosjon does not follow the rules, the issue disappears.

The result with my previous VectorLayer implem :

when the geojson is valid, no issue.
when the geojson is invalid, no issue.

I put comments inside the snippet to change the clockwise.
So, to sum up, it looks like a valid geojson (according to geojsonlint) is not well displayed but an invalid one is well displayed using the WebGL layer.
Let me know if I'm doing something wrong !
Thank you !

@erwanlpfr could you please by any chance confirm that the issue is now gone on the main branch? thanks a lot!

@erwanlpfr could you please by any chance confirm that the issue is now gone on the main branch? thanks a lot!

Hello! After my first tests it looks working !
This week, I will give more time on it, and I'll be able to give a better feedback if necessary !
Thanks!


(Test to trigger CI)Integrate V2 stage changes

(Test to trigger CI)Integrate V2 stage changes

Can one of the admins verify this patch?

[test]


V1 - Project Console - Page keeps loading forever when user does not have access to any projects

Launch V1 landing page
Login as user who does not have access to any projects
Click Proceed on project console card or click on Project Login
Project console keeps loading forever

The old v1 console is deprecated and removed.


data: dsjoench

Fixes Issue

Changes proposed

Check List (Check all the applicable boxes)

[x] My code follows the code style of this project.
[x] My change requires changes to the documentation.
[x] I have updated the documentation accordingly.
[x] All new and existing tests passed.
[x] This PR does not contain plagiarized content.
[x] The title of my pull request is a short description of the requested changes.

Screenshots

Note to reviewers

looking good - just one last thing to do so we can merge this PR - add the file extension JSON (by adding .json at the end of the file name)


a java script error occured in the main process

I am getting this problem in some photos.anyone knows ?

Hi @Susanthakuri92 can you add the excel file that you are trying to process ?

I see a * character on the file name that the program is trying to save on file system, I should check if this file name is safe for windows, by the way you are using windows as I understood from file path is that right ?

Hi @Susanthakuri92 can you add the excel file that you are trying to process ?

images.xlsx

I see a * character on the file name that the program is trying to save on file system, I should check if this file name is safe for windows, by the way you are using windows as I understood from file path is that right ?

so is that symbol a problem?

I see a * character on the file name that the program is trying to save on file system, I should check if this file name is safe for windows, by the way you are using windows as I understood from file path is that right ?

yes I am using windows

I checked from windows documentation, and it states that asterisk is not allowed
https://docs.microsoft.com/en-us/windows/win32/fileio/naming-a-file#naming-conventions

any updates on this case ? Could you try removing the one with asterisk @Susanthakuri92 ?

You can use the B column to rename the file when saving
for example;
if resource is https://www.sample.com/sam*ple.jpg then you can replace automatically with the B column by just setting it to something like sample then it will be saved on your file system as sample.jpg
you can check the sample table with optional fields from here

Since no development is required to solve this problem, I am closing this issue, if further problems arise we can re open this accordingly

Hlw sir, I am not being able to download images from dropbox link.It gets
download but after i open image doesnt supports
here is a link https://www.dropbox.com/s/w11dpu6t95jsv0z/MM-1000C_1.jpg
https://www.dropbox.com/s/w11dpu6t95jsv0z/MM-1000C_1.jpg?dl=0
On Mon, Mar 29, 2021 at 7:41 PM Burak Targaç @.***>
wrote:

Closed #53 https://github.com/btargac/excel-parser-processor/issues/53.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/btargac/excel-parser-processor/issues/53#event-4521671650,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ATJRNXL2UPSLRIRBBEZ253TTGCBHLANCNFSM4ZOFIIVA
.

Hi @Susanthakuri92 ,
I checked your resource form your deopbox url but dropbox servers return a HTML response not the image itself. I mean a png, jpg or a gif is required to you not the html for example if you request directly to the address below;
https://uc6faff32e58737c0bea8e89bb83.previews.dropboxusercontent.com/p/thumb/ABL6X0KzSSQT2jVC2cUj-1_qBp-2uKr5gyaAQvJj0-E49ldMUOnwkidUfc2XZwMByFZzH4uDJl0DOHe_yS3c8PsHlKb-0ZjWvAp_QM99MQw_EFeb0vQCO306_uES8CwhzFD48BrGDFsJbfG-4V6e-Hw2XJck2NkwZ5KJMubMmyciV25QRm6CBYzS4qrBCkVHKlcmm9qepiSbUNYYd2qSNLz3vcOrf2yZfr1OsyclGy6vv4xz2yXo3pBc_08-spP17Nq7qre8Ga7DLhEzKWmbq-est9qdsDDEpE0RID4iYjwAaBOeVyIEFMPUUjaaKe3JglvGbc_jx7PglymLvQPDYnkO68TlC0GRDVawlywxMXQYZm2WQbZ6BAV5ssZG227dKikFCtDgpPEDemL1iJyYBi8u/p.jpeg?fv_content=true&size_mode=5 you'll get the original image but with your url it's not possible

Thank you for the clarification.
On Wed, May 5, 2021, 1:55 AM Burak Targaç @.***> wrote:

Hi @Susanthakuri92 https://github.com/Susanthakuri92 ,
I checked your resource form your deopbox url but dropbox servers return a
HTML response not the image itself. I mean a png, jpg or a gif is required
to you not the html for example if you request directly to the address
below;
https://uc6faff32e58737c0bea8e89bb83.previews.dropboxusercontent.com/p/thumb/ABL6X0KzSSQT2jVC2cUj-1_qBp-2uKr5gyaAQvJj0-E49ldMUOnwkidUfc2XZwMByFZzH4uDJl0DOHe_yS3c8PsHlKb-0ZjWvAp_QM99MQw_EFeb0vQCO306_uES8CwhzFD48BrGDFsJbfG-4V6e-Hw2XJck2NkwZ5KJMubMmyciV25QRm6CBYzS4qrBCkVHKlcmm9qepiSbUNYYd2qSNLz3vcOrf2yZfr1OsyclGy6vv4xz2yXo3pBc_08-spP17Nq7qre8Ga7DLhEzKWmbq-est9qdsDDEpE0RID4iYjwAaBOeVyIEFMPUUjaaKe3JglvGbc_jx7PglymLvQPDYnkO68TlC0GRDVawlywxMXQYZm2WQbZ6BAV5ssZG227dKikFCtDgpPEDemL1iJyYBi8u/p.jpeg?fv_content=true&size_mode=5
you'll get the original image but with your url it's not possible
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/btargac/excel-parser-processor/issues/53#issuecomment-832211293,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ATJRNXKDXVM244COO24HTOLTMBIDVANCNFSM4ZOFIIVA
.

Hlw Sir I am new to Linux and I want to ask how Can I install the excel
Parser processor app in Linux.
On Wed, May 5, 2021 at 6:36 AM Susan Thakuri @.***>
wrote:

Thank you for the clarification.
On Wed, May 5, 2021, 1:55 AM Burak Targaç @.***>
wrote:

Hi @Susanthakuri92 https://github.com/Susanthakuri92 ,
I checked your resource form your deopbox url but dropbox servers return
a HTML response not the image itself. I mean a png, jpg or a gif is
required to you not the html for example if you request directly to the
address below;
https://uc6faff32e58737c0bea8e89bb83.previews.dropboxusercontent.com/p/thumb/ABL6X0KzSSQT2jVC2cUj-1_qBp-2uKr5gyaAQvJj0-E49ldMUOnwkidUfc2XZwMByFZzH4uDJl0DOHe_yS3c8PsHlKb-0ZjWvAp_QM99MQw_EFeb0vQCO306_uES8CwhzFD48BrGDFsJbfG-4V6e-Hw2XJck2NkwZ5KJMubMmyciV25QRm6CBYzS4qrBCkVHKlcmm9qepiSbUNYYd2qSNLz3vcOrf2yZfr1OsyclGy6vv4xz2yXo3pBc_08-spP17Nq7qre8Ga7DLhEzKWmbq-est9qdsDDEpE0RID4iYjwAaBOeVyIEFMPUUjaaKe3JglvGbc_jx7PglymLvQPDYnkO68TlC0GRDVawlywxMXQYZm2WQbZ6BAV5ssZG227dKikFCtDgpPEDemL1iJyYBi8u/p.jpeg?fv_content=true&size_mode=5
you'll get the original image but with your url it's not possible
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/btargac/excel-parser-processor/issues/53#issuecomment-832211293,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ATJRNXKDXVM244COO24HTOLTMBIDVANCNFSM4ZOFIIVA
.

Hi @Susanthakuri92 , I am not a linux user either but I think you should download the AppImage file from here.
and after your download is completed just open a terminal/cli etc. and below command can help you with that.
# Make it executable
# don't forget to go to the directory that has the downloaded file
chmod a+x Excel-Parser-Processor*.AppImage
# and run!
./Excel-Parser-Processor*.AppImage

Thanks, I'll check it out.
On Wed, Jun 30, 2021, 6:40 PM Burak Targaç @.***> wrote:

Hi @Susanthakuri92 https://github.com/Susanthakuri92 , I am not a linux
user either but I think you should download the AppImage file from here
https://github.com/btargac/excel-parser-processor/releases/download/v1.3.0/Excel-Parser-Processor-1.3.0.AppImage
.
and after your download is completed just open a terminal/cli etc. and
below command can help you with that.
Make it executable# don't forget to go to the directory that has the downloaded file
chmod a+x Excel-Parser-Processor*.AppImage# and run!
./Excel-Parser-Processor*.AppImage
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/btargac/excel-parser-processor/issues/53#issuecomment-871379816,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ATJRNXNWNNEYLL44H3L7UXDTVMH5LANCNFSM4ZOFIIVA
.


Getting the paginator with the renderer removes it from the DOM

Bug, feature request, or proposal:
Bug
What is the expected behavior?
When I use Renderer2.selectRootElement('mat-paginator'), I expect to get the DOM element.
What is the current behavior?
The DOM element is fetched, but it is removed from the DOM
What are the steps to reproduce?
Stackblitz : https://stackblitz.com/edit/angular-vrovzv?file=app/table-pagination-example.ts
What is the use-case or motivation for changing an existing behavior?
In this particular case, I want to access the element to get its CSS properties (because I can't get the nativeElement) to create an action line on the left of the paginator. I would like to get its height and background color.
Which versions of Angular, Material, OS, TypeScript, browsers are affected?
<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>
Windows 10 Pro edition
Chrome

Is there anything else we should know?
No.

Use ngAfterContentInit to get paginator: https://stackblitz.com/edit/angular-vrovzv-qbbnqq?file=app/table-pagination-example.ts

@tinayuangao you have the same issue as I do, the paginator is deleted from the dom ...

selectRootElement is not the right API to use to get the native element.
https://stackoverflow.com/questions/36055585/renderer-multiple-selectrootelement-issue-with-plnkr-provided
You can use @ViewChild to get the element. See this example: https://stackblitz.com/edit/angular-vrovzv-kybko9?file=app/table-pagination-example.ts


Forwarding a copy of mail submissions somewhere as backup

Especially the ScratchJr-submissions sometimes contain something unusual that could be manually graded / debugged by the course staff / administrators

This should probably be solved by mail server configuration.


added fix for windows-style network source-paths in dependencies parser

Since (on windows) nuget sources can be specified like
nuget \\server\share

It would be very helpful to support these paths on linux too.
My fix is simply transforming those paths to
nuget smb://server/share

whenever the OS is linux or MacOS (which is working at least on ubuntu)

/cc @agross @mexx

thx a lot


Project openCVDesktop does not run

With Xojo 2022R4.1 the openCVDesktop does not run. As soon as I clic on the "Load Image" button the program hangs on:
"Var p As Ptr=CVCimread(path, flags)"
Would love to have some help.
Thank you

I found my problem. The libOpenCVC.dylib was compiled only for INTEL Mac processors.
As I have a ARM M2(max) Mac, I had to limit the Xojo App by activating the Rosetta option (Information File in the Mac Finder).

After some more work, the real problem is very simple, but it really took me time as I’m not an expert.
:warning: in the original project the “libOpenCVC.dylib” build option is set to “INTEL”, this got me crazy for several hours until (with the help of a friend) I saw this. It ‘just’ has to be set to “Universal” , specially if you own a M1/M2 (ARM) Mac Processor :warning:
THIS RESOLVES EVERYTHING.


wordpress: 5.7.3 -> 5.7.4

Motivation for this change
Security update: https://wordpress.org/support/wordpress-version/version-5-7-4/
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)
[ ] 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 wip"
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
21.11 Release Notes (or backporting 21.05 Release notes)

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

[x] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 145784 run on x86_64-linux 1

1 package failed to build:

nixos-install-tools

1 package built:

wordpress


Nested projects

[x] Introduce nested projects
[x] Inherit memberships from parent projects
[x] Use child projects in templates

We will use the new dev branch.

We will use the new dev branch.

I was looking into something like "Inherit memberships from parent projects"
In your comment @jochenklar, this checkbox is still open.

[x]  Introduce nested projects

[ ]  Inherit memberships from parent projects

[ ]  Use child projects in templates

However, in our test it looks like this is already implemented, is this the case?

Hi, yes this is an oversight, did not finish all the paperwork...

Child projects in views are documented here: https://rdmo.readthedocs.io/en/latest/management/views.html#child-projects.

thanks!


Lh/people and spaces tables

people/spaces table now only have "view details" action that directs to a different view, instead of being a modal popup.
can now do all actions directly from these new views. these actions call props passed in to update the counts shown in the table.
filters are also now controlled by the Container, e.g. SpacesContainer controls both tagFilters and tableFilters so they aren't lost when you navigate to the details
still have to pass down space instead of spaceID and use when assigning/creating from spaces/details

Anyone else lose the menu on the ellipse on the Equipment tab?  When I click the blue ..., nothing happens, but only on the equipment tab. Equipment menu works when looking at spaces or people.

@jcubbage hmm, it's working fine for me. have you done npm install? only thing i can think of

That didn't fix it. Reboot didn't fix. When I open the React tools in Chrome, I see the isOpen on the dropdown toggle, and the open class appear/disappear from the div and dropdownToggle. I also see the dropdownitems appear and disappear from the dropdownmenu item. But nothing visibly appears on the screen. Only on that one page.....sigh.

@jcubbage Did the database change, and if it did, are you using sql express? Just a random guess.

@jcubbage I didn't have that issue but there are some odd style issues with the tables for sure so I'm not that surprised.  What browser are you using and at what resolution?  We're going to have Cal look through and it'll help if he can reproduce the weirdness.

I had the same issue on Chrome (Version 68.0.3440.106 (Official Build) (64-bit)) and Firefox (Extended Support Release 60.1.0esr (32-bit). Browser was running in 1080x1920 portrait mode, though moving to same resolution on a landscape didn't fix it. Both browsers showed nothing when I clicked the button (but ONLY on the equipment tab). Surface is running 2736x1824, Chrome (67.0.3396.99 (64bit), Firefox  (61.0.2 (64-bit).  Surface had some of the context menu appear, but it was cut-off.

I had the same problem earlier with the button dropdown not showing up, but doing npm install fixed it for me

Works fine when I install VSCode and run it.


Add GitHub.Repo.Cloned.Followed.By.AWS.Login correlation rule

Background
Detect when a GitHub repo is cloned followed by an AWS login from the same IP in a short time period
Changes
Add correlation rule to detect repo clone + aws login events GitHub.Repo.Cloned.Followed.By.AWS.Login

I also noticed when reviewing https://github.com/panther-labs/panther-analysis-internal/pull/39 that unit tests were included for the new signals rules, but not here. I would also recommend adding at least one "should alert" and one "should not alert" unit test for each of the new signal rules.


Hovering over when displays === in IDE

Input
→ View on sorbet.run
# typed: true
extend T::Sig

module A
  class B
  end
end

sig {params(x: T.untyped).void}
def foo(x)
  case x.class
  when Integer
    1
  when A::B
    2
  end
end

Observed output
Hover over Integer and you will see it shows def ===(other); end as description.  In case of namespaced classes, the last component shows this behavior. On the example, hovering over A would correctly point to module A but hovering over B shows def ===(other); end as description.
In VSCode this means navigation is broken, going to def ===(other); end in module.rbi.
Expected behavior
Navigate to correct type (Integer or class B on example).

Probably caused by when desugaring to if x.class === Integer and === having the same loc info as Integer.


[DEPRECATED] "npx react-native link" is not a valid command anymore!

Description
Documentation has deprecated instructions about react-native link command

Documentation version
0.69, Next

@thymikee can you take this one?

@cortinico https://github.com/facebook/react-native-website/pull/3269


fix: exclude padding from tooltip position, since it's included in clientWidth

clientWidth and clientHeight contains padding, so it should be excluded in getComputedStyle.

@Ovilia Hi, The ICLA file had been sented. thanks.


[WIP] Update deprecated field name in access group structs

~The identity_provider_id field has been deprecated and replaced with the connection_id field. While identity_provider_id is still valid when creating policies, it will likely be removed in the near future.~ Hold tight, the Access team is discussing the best way to move forward.
Related:

terraform-providers/terraform-provider-cloudflare#682
https://github.com/cloudflare/cloudflare-go/pull/458
https://github.com/cloudflare/cloudflare-go/pull/459

This is blocking proper Okta integration using Terraform.

Closing because I had this backwards -- we're deprecating connection_id in favor of identity_provider_id.


Update customizer libs

I know we're going to ditch this, but I thought I'd do one last update for the customizer's libraries.
/CC @cvrebert @hnrch02 @mdo
Tested Chrome and IE 10, works like before; output files are the same too.

SGTM.

Fine by me.


Optimize CSS

Sometimes the CSS gets corrupt when the text is too long.
Need to fix, site and optimize for mobile as well.

CSS issue fixed for now #4


Documentation confirmation - subdomains and case insensitive emails

Background
We are working through the ability to get a user without worrying about the case of their email, hence necessitating the use of the find_for_authentication method. This is as per recommended approach (ref: https://github.com/plataformatec/devise/wiki/How-To:-Use-case-insensitive-emails )
Environment

Ruby 2.3.7
Rails 4.2.1
Devise 4.3.0

Current behavior
Documentation at https://github.com/plataformatec/devise/wiki/How-to:-Scope-login-to-subdomain suggests the following overloading of the find_for_authentication method:
# app/models/user.rb
class User < ActiveRecord::Base
  def self.find_for_authentication(warden_conditions)
    where(:email => warden_conditions[:email], :subdomain => warden_conditions[:subdomain]).first
  end
end

This then prevents the use of find_for_authentication enforcing the configuration of case_insensitive_keys and whitespace stripping through the devise configuration config/initializers/devise.rb (ref: https://github.com/plataformatec/devise/blob/v4.3.0/lib/devise/models/authenticatable.rb#L262 )
Desired direction
The original documentation is approaching five years old.

Is the original methodology still appropriate (ref: https://github.com/plataformatec/devise/wiki/How-to:-Scope-login-to-subdomain/755b0ba66dcf55edf4607aa9f3e0bf02a331c43e when it first came in)?
If not, can I be advised on refs to when it was outdated to keep the docs up to date?

Other notes
We have now implemented this as:
class User
  class << self
    def find_for_authentication(tainted_conditions)
      tainted_conditions = { subdomain: '' }.merge(tainted_conditions)
      super
    end
  end
end

Hello @jufemaiz, thanks for your report.
The Wiki is maintained by the community, which means those articles are solutions that worked for some users in the past, and like you said, they can be outdated.
I didn't understand exactly what is your question. Do you wanna know how to have case-insensitive emails, or do you wanna know how to use devise with other authentication keys (like subdomain)?

Yep @lancecarlson I'd like to ensure the best practice documentation is up to date for others!

But why do you need to override find_for_authentication?

@tegon thanks for asking. As per the original question, we are using devise with scoping based on an account subdomain, which caused issues with the find_for_authentication methodology.

@lancecarlson @jufemaiz I'm not sure if the snippet still works. The community maintains the wiki, so someone else wrote that code and shared because it worked for them.
If you want help on how to do this, I recommend opening a question on StackOverflow. There more people will be able to help you - personally, I've never used Devise with subdomains.
We try to keep only issues here.
Thank you!

@tegon I was trying to get a confirmation so that I could update the docs…


K3OS: use install mode if k3s.mode is not specified

Signed-off-by: Kiefer Chang<EMAIL_ADDRESS>

Closed. See https://github.com/rancher/harvester/pull/478#discussion_r607614885


Update local-setup to<EMAIL_ADDRESS>

How to categorize this PR?

/area dev-productivity
/kind enhancement
What this PR does / why we need it:
This PR updates kind to the most recent version v0.17.0 (ref).
 However, it is possible to achieve this by specifying a dedicated version of kindest/node too.
Additionally, a small bug when starting kind on macos is fixed.
Which issue(s) this PR fixes:
Fixes #
Special notes for your reviewer:
Release note:

Update local-setup to<EMAIL_ADDRESS>

/lgtm
/approve


add CLI features

[ ] avrgirl-arduino list - lists current serial ports available
[ ] avrgirl-arduino boards - lists currently supported boards

Julian is currently working on this :)

Sorry, I didn't see that comment until after submitting my PR

it's ok, I will create a label for this to prevent it in future. I've just been giving some peeps some space for a 'first avrgirl PR' opportunity on some of these issues.


Default to reversed fg/bg for alternating rows

If no color is explicitly set in the config file the default is now to
reverse foreground and background colors.
The previous approach of setting it to gray leads to different results
depending on the colorscheme of the used terminal and may in many cases
lead to unreadable lines.

Thank you for the pull request.
But I disagree with using reverse by default.
Gray can be used reasonably for both light and dark themes.
If it's hard to see, it's best to change the color now (because the current theme color is unknown).
However, in the future, I would like to be able to select not only color but also reverse in the settings.

However, in the future, I would like to be able to select not only color but also reverse in the settings.

Implemented in #37.
You can change it by writing the following in ~/.ov.yaml.
StyleAlternate:
  Reverse: true


Fix weighted_summed_score in GEval metrics.

A simple fix on issue #853 .
Original behavior:

For example, ('8', '0.01') and ('8', '0.001') are both in the score_logprobs,
After traversing ('8', '0.01'), token_linear_probability['8'] = 0.01, and sum_linear_probability=0.01
When coming to ('8', '0.001'), token_linear_probability['8'] = 0.001, and sum_linear_probability=0.011.

This will leads to the normalization error in the No.378 line.
Current behavior:

After traversing ('8', '0.01'), token_linear_probability['8'] = 0.01, and sum_linear_probability=0.01
When coming to ('8', '0.001'), token_linear_probability['8'] = 0.011, and sum_linear_probability=0.011.

@SighingSnow Great catch, TYSM!


Repeatability of Small Model Training Script with fixed seed(s) and same dataset

We observed noticeable variability when re-running the FSDP model training script for a small 1.xB llama2 model with fixed seed(s) and same tokens. Below is a snapshot of the evaluation results on three models created with the same inputs (tokens, training script, seed(s)). Would you please help us investigate the root cause of this variability (data loader, hardware variability or other additional variables)? Thanks in advance!

Yes, above results were from 3 runs of the same yaml file (i.e., same model config, dataset, training params, random-seed, etc.) except for the change of experiment_id. The general setting is:
tokenizer: /cos_ablation/tokenizers/bigcode_starcoder
max_seq_len: 8192
vocab_size: 49152
seed: 42
save_steps: 5000
max_steps: 35000
do_lmeval: True
learning_rate: 6e-4
max_batch_len: 2
num_nodes: 8
use_profiler: "False"
eos_token: "0"
bos_token: "None"
logical_shards: 640


Has the myget repository been moved?

Good afternoon,
We recently notice that when we try to open and build a solution that includes the fubar packages in a machine that doesn't have the packages in cache, it doesn't build and can't find the packages in the configured package source  https://www.myget.org/F/webdav-server/api/v3/index.json. Looks like is not there anymore?
Thank you in advance

That is correct. I'm currently in the process of publishing the latest version on NuGet.org

The packages are now published on NuGet.org as version 1.0.0

Thank you very much for the update.
Regards


Fix missing Smart State Analysis button on Cloud Instances list view

Use different class for instance_scan to display Smart State Analysis on Instance list view as the class used for one Instance (where we can detect if the button should be visible or not - depends on support of Smart State on the instance).
https://bugzilla.redhat.com/show_bug.cgi?id=1389055

@miq-bot add_label ui,bug

Before fix:

After fix:

@romanblanco could you please review this ?

@miq-bot assign @romanblanco

Tested in UI, fixes the issue 👍

Euwe backport conflict:
$ git cherry-pick -e -x -m 1 fb15bf9
error: could not apply fb15bf9... Merge pull request #12559 from jzigmund/bz1389055-smartstate_analysis_missing

$ git diff
diff --cc app/helpers/application_helper/toolbar/vm_clouds_center.rb
index e591880,3484666..0000000
--- a/app/helpers/application_helper/toolbar/vm_clouds_center.rb
+++ b/app/helpers/application_helper/toolbar/vm_clouds_center.rb
@@@ -25,8 -25,8 +25,13 @@@ class ApplicationHelper::Toolbar::VmClo
            :url_parms => "main_div",
            :confirm   => N_("Perform SmartState Analysis on the selected items?"),
            :enabled   => false,
++<<<<<<< HEAD
 +          :onwhen    => "1+",
 +          :klass     => ApplicationHelper::Button::VmInstanceScan),
++=======
+           :klass     => ApplicationHelper::Button::BasicImage,
+           :onwhen    => "1+"),
++>>>>>>> fb15bf9... Merge pull request #12559 from jzigmund/bz1389055-smartstate_analysis_missing
          button(
            :instance_compare,
            'product product-compare fa-lg',
* Unmerged path app/helpers/application_helper/button/vm_instance_template_scan.rb

@jzigmund Please resolve conflict and make Euwe-specific PR (referencing this one) or suggest other PRs to backport.

Backported to Euwe via https://github.com/ManageIQ/manageiq/pull/13422


Update to av11

Hi!
Thank you for your library, I find it really useful. Since I am using Avalonia 11 I took it upon myself to try and port your library to it. I am quite new to Avalonia so there might be something left to improve. I am open for amendments.

Tragic to see how project like this gets abandoned...

@EtherGhost I would love to merge the PR if OP responds to my review.

Hey @pr8x, is there anything I should do on my side? Thanks.

@alexalok I left some comment here: https://github.com/pr8x/DesktopNotifications/pull/23#discussion_r1279370172

@EtherGhost I would love to merge the PR if OP responds to my review.

Ok, my bad! Sorry!

@pr8x I can't see this comment for some reason. Perhaps you could re-review or post a comment separately?

@alexalok Seems that I did not submit the review on GitHub. Sorry for the inconvenience. It was only a NIT anyways. Approved the PR & thanks for contributing!

@alexalok Now that AvaloniaLocator is removed I am not even sure if we need the DesktopNotifications.Avalonia package at all. Users can easily create the notification manager without going through the AppBuilder... and it would probably be better since AppBuilder is not async anyways. What do you think? Of course, we can keep the Example code showcasing the notification manager in an Avalonia application.

@pr8x, sorry for the delayed response. I think the package could still be beneficial due to AppBuilderExtensions.SetupDesktopNotifications method. It can also help being more explicit in that the library supports Avalonia.


[iOS] Fix popup default color and dark mode

Description of Change
In BasePopup the Color assignment to Color.White has been removed, because Color.Default is already set via the ColorProperty bindable property default value.
For the android popup renderer the Color.Default requires some treatment because elsewise the popup background is transparent. (copied from Xamarin.Forms.Platform.Android/Renderers/PageRenderer.cs).
Bugs Fixed

Fixes #

API Changes
None.
Behavioral Changes
None.
PR Checklist

[ ] Has tests (if omitted, state reason in description)
[x] Has samples (if omitted, state reason in description)
[x] Rebased on top of main at time of PR
[x] Changes adhere to coding standard

[ ] Updated documentation

@geskill we merged nullable PR #1009
Could you please fix your PR according to nullable feature requirenments?


update documentation to give example of nesting randomizers

This is all set to merge - thanks for checking!


Implement notifications/dialogs RFCs

Implements RFCs:

https://github.com/mui/mui-toolpad/discussions/3380
https://github.com/mui/mui-toolpad/discussions/3379

I decided to handwrite the hook API docs to make them as comprehensive as possible. We can search for ways to generate them but I doubt it will be easy to make something that matches the hand-written version.
Docs:

dialogs:

demos
API

notifications:

demos
API

If we ever need to go one level down in the abstraction: https://github.com/desko27/react-call is cool.

https://github.com/sweetalert2/sweetalert2 shows the potential of getting this right. 17K stars, 200K sessions/month, 1600 closed issues. Insane


doc(libnixstore): rustdoc for Drv, PathInfo, and two functions

Hey, thanks so much for writing this awesome crate!  It was exactly
what I needed and "just worked" on the first try.
This PR adds rustdoc comments for the fields of Drv and
PathInfo, as well as the base32 argument to query_path_info()
and the include_outputs argument to compute_fs_closure().

Also, would you be open to changing the base32:bool arguments to hashType:HashType for an enum HashType which implements Default?  Then the arguments would be self-documenting, and could be called with Default::default() by users who just want the function to "do the most obvious thing" (i.e. use base32 nix hashes).

Thanks :)
Yes we can do an enum, are you interested in preparing a PR?

Yes we can do an enum, are you interested in preparing a PR?

I would be happy to.  Just wanted to check first to make sure I wasn't stepping on any toes.


Mix is not defined when running npx mix CLI

Laravel Mix Version  (npm list --depth=0): 6.0.11
Node Version (node -v): v14.15.5
NPM Version (npm -v): 6.14.9
OS: Windows 10 20H2 (19042.804)

Description:
Having upgraded to Laravel Mix 6, I am trying to convert my npm run commands to the npx mix ones as suggested on the upgrade notes.
I am however hitting an issue when trying to run the command straight in a the command prompt:
npx mix
[webpack-cli] ReferenceError: Mix is not defined
    at module.exports ([my_project_root_path]\node_modules\laravel-mix\src\builder\webpack-default.js:6:18)
    at WebpackConfig.build ([my_project_root_path]\node_modules\laravel-mix\src\builder\WebpackConfig.js:24:30)
    at Mix.build ([my_project_root_path]\node_modules\laravel-mix\src\Mix.js:70:35)
    at module.exports ([my_project_root_path]\node_modules\laravel-mix\setup\webpack.config.js:13:16)
    at async [my_project_root_path]\node_modules\webpack-cli\lib\webpack-cli.js:1222:37
    at async Promise.all (index 0)
    at async evaluateConfig ([my_project_root_path]\node_modules\webpack-cli\lib\webpack-cli.js:1213:35)
    at async Promise.all (index 0)
    at async WebpackCLI.resolveConfig ([my_project_root_path]\node_modules\webpack-cli\lib\webpack-cli.js:1244:38)
    at async WebpackCLI.createCompiler ([my_project_root_path]\node_modules\webpack-cli\lib\webpack-cli.js:1670:22)

What I struggle to understand is that it is working fine when I am using it in the Visual Studio code debugger, or as a NPM script with for instance npm run development and :
  "scripts": {
    "development": "npx mix"
  },

It is working fine as well on another project on the same computer, or if I use the Intallation example in the Laravel-mix documentation. I have as well already uninstall and reinstall the laravel-mix library.
I have found out that I can make it work for my project by adding mix.boot() in the setup/webpack.config.js file.
Having tried several versions in the 6.0 series, it is working fine in my project until v6.0.6, and breaks on v6.0.7 (which could point to the commit b12cefc66676c71404dc7b700ab1df9148257755).
Sorry if this is not the correct place to post, as this is more likely a problem in my setup than an issue with laravel-mix itself, but I have tried posting on a laravel forum without much luck.
Steps To Reproduce:
Run npx mix in a command prompt, at the root of the project.

What does your webpack.mix.js file look like?

Thanks for the direction, I should have been more careful about that part, and that was where the issue lied.
In my set up, I actually have only the webpack.mix.js used to load other mix.js files based on an environment variable.
As a consequence, the file is basically only :
if (process.env.section) {
    require(`${__dirname}/webpack.mix.${process.env.section}.js`);
}

So in my test, as no environment variable was set, it just exited of the script immediately without having done anything.
To be fair, in normal operations, I would never be running npx mix straight out of nothing (as I would set the environment variable beforehand), but as I was just testing the command itself, and it was working in versions prior to v6.0.7, I did not question that part.
By modifying the webpack.mix.js to load the laravel-mix library (which was the first line in the subsequent loaded file), it is working fine, even without setting the environment variable (doing nothing of course, but not failing)
let mix = require('laravel-mix');

if (process.env.section) {
    require(`${__dirname}/webpack.mix.${process.env.section}.js`);
}

So, it is actually an issue easy to reproduce (just have an empty webpack.mix.js), in which case there is a difference of behaviour between versions prior and after v6.0.7, but as it is a bit of an edge case, I guess the issue can be closed.

Ah yes indeed. Because boot is called in src/index.js. While not necessarily a bug this is something we should think about "fixing". We'll this issue open.
Complete aside:
What's your use case for multiple mix files? I know of some that some people use (I myself have done some interesting things w/ mix files and env vars). Is there something we could do to simplify or eliminate the need to use them?

Thanks.
To be honest, I do not have a strong use case for it: I need to have multiple entry points to build independent resources, but I can easily switch to the --mix-config option for that (which I am probably going to do anyway).

That's really good to know. Thanks!


PCI opregions: Ignore bogus _BBN on non-root busses

Some AML contains _BBN nodes at non-root busses. For non-root busses, we should not care about _BBN at all.
AML found in the wild:
            Device (EXP6) {
                Name (_ADR, 0x001C0005)  // _ADR: Address

                OperationRegion (PXCS, PCI_Config, Zero, 0xE0)

                Field (PXCS, AnyAcc, NoLock, WriteAsZeros) {
                    VDID,   16,
                    Offset (0x19),
                    SECB,   8,
                    Offset (0x52),
                        ,   13,
                    LASX,   1,
                    Offset (0x5A),
                    ABPX,   1,
                        ,   2,
                    PDCX,   1,
                        ,   2,
                    PDSX,   1,
                    Offset (0x5B),
                    LSCX,   1,
                    Offset (0x60),
                    Offset (0x62),
                    PSPX,   1,
                    Offset (0xD8),
                        ,   30,
                    HPEN,   1,
                    PMEN,   1,
                        ,   30,
                    HPSX,   1,
                    PMSX,   1
                }

                Method (_BBN, 0, NotSerialized)  // _BBN: BIOS Bus Number {
                    Return (SECB) /* \_SB_.PCI0.EXP6.SECB */
                }

This currently causes a failure (i.e., an infinite loop) in LAI since LAI tries to run _BBN to get the bus number which causes a read from the bus.

pretty sure this can be closed now with #82

Thanks for the reminder.


delete_variable() and detach_function()

Forgive me ... first post on Github.  Nice library ...
Given we have the facility to add a variable - might it be nice to delete too ?
Also, given we can attach a function - ability to detach might be nice ?
Cheers,
Glenn.

Hello Glenn.
What use case do you have in mind for this functionality?
I'm hesitant to implement these methods without a use case, since a remove() method will have to rearrange the array in which the added variables are stored.

Oh !  almost 12 months since I posted this.
I am attempting to implement with a pretty deep menu structure - to display and update many values that ultimately get stored in EEPROM (measured in 10s or 100s of stored parameters).
At the time I was creating the prototype code I think I was attempting to avoid code bloat by adding/removing or attaching/detaching different variables/functions based on the parameter being updated (rather than creating a new object for each one).
Glenn.


userspace: enable user mode workqueues

A new API has been added k_work_q_user_start() which enables
a workqueue with its thread running in user mode.
User mode threads may now submit to these queues with
k_work_submit_to_queue(). Struct k_work are not kernel objects
and care is taken to never have its contents inspected outside
of user mode.
A work_q and its containing thread share the same memory address,
and work_q objects may also be treated as threads for access
granting purposes. A convenience API
k_work_q_object_access_grant() has been added.
Support for k_delayed_work is not yet implemented.
Signed-off-by: Andrew Boie<EMAIL_ADDRESS>

I think I can make this even simpler...going to revise

Taking a different approach


Fix release gha

#11  👈 (View in Graphite)
main

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

Merge activity

Dec 9, 1:17 PM EST: A user merged this pull request with Graphite.


Correct pred:exp pKa pairining error in type III pKa analysis.

There was an error in analysis script that caused mispairing of some experimental and predicted pKas, which caused higher than expected RMSE values. Analysis script is now fixed and figures updated.
@bannanc @davidlmobley @jchodera Could you please review?

Link to README for this analysis: https://github.com/MobleyLab/SAMPL6/blob/pKa_typeIII_analysis/physical_properties/pKa/analysis/analysis_of_typeIII_predictions/README.md

@bannanc - take a look? I'm about to go offline for the next few hours so I'll mark as "approved" in case you guys decide it is good to merge; I certainly won't have time to look today.

@MehtapIsik and @davidlmobley
I suggested removing lines in the code that are commented out print statements, but otherwise this is fine to go. I don't have authorization to actually merge it.

No problem. It seems like I can merge it. But I will clean up those print statements from the code first.

I think its fine to merge it. It must be set so only admins can approve it. I think you should go ahead and merge whenever you're ready and send an e-mail out to the list so people know the statistics are improved. It might make people more likely to submit an abstract.


Setup Autoreleases

@leonmaia @jeremyrsmith I had a great success with setting up autorelease for Finch-related projects (also finagle-oauth2). I'm happy to volunteer and do the same for finagle-postgress. The end goal is to allow anyone with push access to the repo perform releases with just changing (and committing) a new version in version.sbt.
What do you think about this?

👍 from me. Whatever helps this project get the maintenance it needs (appreciate @leonmaia's stewardship, but it looks like he might be in the same boat as me w.r.t. free time)

Would be awesome @vkostyukov! I'm all in to do less manual work. Let me know if you need any help with it!

Cool - I can give it a try. The key idea is to have the following credentials available (and encrypted):

credentials.sbt - sonatype password + gpg passphrase
deploy_key (this is needs to be generated for a repo - easy to do)

I believe I have write access to pretty much all repos under this org so I can use my credentials.

Done in #102.


Sass 872

Description
Please include a brief summary of the change you've made and the issue that it fixes.
Add a link to the relevant story in Jira
[SASS-CHANGE-ME](ADD URL HERE)
Checklist PR Reviewer
Before Reviewing

[x]  Have you pulled the branch down?
[x]  Have you assigned yourself to the PR?
[x]  Have you moved the task to “in review” on JIRA?
[ ]  Have you checked to ensure all dependencies are up to date?

Whilst Reviewing

[x]  Have you run the tests?

[x]  Have you looked at the JIRA story to make sure all Acceptance Criteria has been met?

After Reviewing

[ ]  Have you checked for merge conflicts?
[ ]  Have you checked to make sure there are no builds in the pipeline before you merge?
[ ]  Have you moved the task to “in pipeline” on Jira?

[x]  Have you addressed warnings where appropriate?

After PRs been Reviewed

[ ]  Have you checked the PR Builder passes?
[ ]  Have you checked for merge conflicts?
[ ]  Have you checked code coverage isn’t lower than previously?

I think you removed the full stop for employment-fe and income-fe. Needs removing here for consistency, and then tests updated for the change.


Update to Angular 7

I've updated the dependencies to allow for angular 6 and 7 as peer dependency.

@manfredsteyer This would be nice 🌮

Thx for this PR!