Httplib2 py2/py3 shim and other py3 compat fixes

The comment here: https://github.com/google/containerregistry/issues/42#issuecomment-414376381 said hat we could "shim" over the py2/3 versions of httplib2 so that is what I tried to do. I am not sure if that is what was meant but from my local testing things seem to work.
I also had to fix the loading of the concurrent backport library and removed the seemingly unused oauth2client. Also the tests now get run with python3.
Fixes #42 and #97

Seems the tests are failing due the docker login command, unrelated to my changes.

This is not working for me. It seems that the path is somehow misconfigured such that even the python3 import of concurrent.futures ends up importing concurrent_py2.concurrent.futures:
$ bazel run //:puller
INFO: Analysed target //:puller (2 packages loaded).
INFO: Found 1 target...
Target //:puller up-to-date:
  bazel-bin/puller
INFO: Elapsed time: 0.247s, Critical Path: 0.04s
INFO: 0 processes.
INFO: Build completed successfully, 4 total actions
INFO: Build completed successfully, 4 total actions
Traceback (most recent call last):
  File "execroot/containerregistry/bazel-out/darwin-fastbuild/bin/puller.runfiles/containerregistry/tools/fast_puller_.py", line 27, in <module>
    from containerregistry.client.v2 import docker_image as v2_image
  File "execroot/containerregistry/bazel-out/darwin-fastbuild/bin/puller.runfiles/containerregistry/client/v2/__init__.py", line 43, in <module>
    from containerregistry.client.v2 import docker_session_
  File "execroot/containerregistry/bazel-out/darwin-fastbuild/bin/puller.runfiles/containerregistry/client/v2/docker_session_.py", line 27, in <module>
    import concurrent.futures as concurrent_futures
  File "execroot/containerregistry/bazel-out/darwin-fastbuild/bin/puller.runfiles/concurrent_py2/concurrent/futures/__init__.py", line 8, in <module>
    from concurrent.futures._base import (FIRST_COMPLETED,
  File "execroot/containerregistry/bazel-out/darwin-fastbuild/bin/puller.runfiles/concurrent_py2/concurrent/futures/_base.py", line 414
    raise exception_type, self._exception, self._traceback
                        ^
SyntaxError: invalid syntax

I will investigate and try and fix shortly.

Sorry, this is a bit beyond my current Bazel skills to fix in a clean way. Perhaps someone with more knowledge here can fix it.

Hm, even once I get that to work, when I actually use the puller.par, another error, having to do with a string/bytes change in python3. Here's how I made it work in python3, though I again don't know the clean way to make it backwards-compatible:
diff --git a/client/docker_creds_.py b/client/docker_creds_.py
index e8d5a0f..435104d 100755
--- a/client/docker_creds_.py
+++ b/client/docker_creds_.py
@@ -156,8 +156,8 @@ class Helper(Basic):

     # Some keychains expect a scheme:
     # https://github.com/bazelbuild/rules_docker/issues/111
-    stdout = p.communicate(input='https://' + self._registry)[0]
-    if stdout.strip() == _MAGIC_NOT_FOUND_MESSAGE:
+    stdout = p.communicate(input=('https://' + self._registry).encode())[0]
+    if stdout.decode("utf-8").strip() == _MAGIC_NOT_FOUND_MESSAGE:
       # Use empty auth when no auth is found.
       logging.info('Credentials not found, falling back to anonymous auth.')
       return Anonymous().Get()

@dmitrig01 Thanks for testing it out and evaluating, let me have another look.

@dmitrig01 Oh yeah that is strange about the futures - how did you fix it for you?

I just removed the concurrent_py2, because I don't need Python 2 to work :-). But as far as I could tell, the problem was as follows:
Directory structure is roughly this:
puller
puller.runfiles/
  concurrent_py2/
    concurrent/
      futures/
      __init__.py
  other_dependency/

The pythonpath has (at least) the following things on it:
[
  "puller.runfiles",
  "puller.runfiles/concurrent_py2",
  "puller.runfiles/other_depedency",
]

I believe what that means is that it's looking inside concurrent_py2, and seeing a package called concurrent - thus import concurrent is coming from there.
I think this is the issue, but it could be that my understanding of pythonpath isn't quite right either...

Yep the issue is related to: https://github.com/bazelbuild/bazel/issues/5899 - but yeah will hopefully have a fix for that soon.

ah nice, yes, that's the same issue

I was thinking we could patch around it by having some file/directory renaming in build_file_content in the mean time -- I would assume that a fix to that issue will take a while to land. But not sure what the ethos of these projects is :-)

Yeah that is basically what I did now. It does work for me locally now but strangely enough I am getting an error when I try to copy puller.par into a docker container. How is this looking for you @dmitrig01

Ok I think I figured out what the issue is and yeah it seems wee will need to create a new subdirectory so we can still maintain the concurrent directory at the bottom level.

There is also https://github.com/bazelbuild/bazel/pull/6532 now, so we might just need to wait for a newer bazel version to have this fixed.

For others experiencing this issue, the quick and dirty workaround is to export BRAZIL_PYTHON=/path/to/python2 after cleaning your workspace.

Is there anything we can do to accelerate Python 3 support?
Lack of support is giving lots of problems in https://github.com/kubernetes-sigs/cluster-api-provider-aws/issues/624

@randomvariable now with bazel 0.23 out it is possible to only choose a dependency for py2 or py3, so this PR could be fixed and simplified.

is this going to get merged anytime soon? lack of py3 support is preventing our monorepo from switching over to using bazel.

@codebreach sorry for just replying now, I dropped this as bazel has much better support for py2/3 now and because rules_docker will drop this containerregistry and already started switching over to the go version. Happy for anyone else to pick this up.

Quite a few people are interested in this, it seems that Google is not making the Py2=>Py3 jump as quickly as most (or even at all) and this project is one of the victims. To make matters worse this project is not (actively) maintained: https://github.com/google/containerregistry/issues/114#issuecomment-438090042.
The following issue: https://github.com/bazelbuild/rules_docker/issues/580 tracks the progress made on switching to a Go-based container registry in the main rules_docker project -- it seems that at this time they're not done yet but well on their way and could use some help migrating.
While that work is on-going it may be worthwhile to fork this project, fix Python-3 compatibility and ask rules_docker to use the fork as the source for the legacy Python tooling. I'll be taking a look at this in the following weeks and report back if at all successful.

Ok I've created two forks that get seem to pass basic tests for me, will keep testing with it but would appreciate other people's input:

https://github.com/c4urself/rules_docker (see: https://github.com/c4urself/rules_docker/commit/860e165f1a5c36eaefd289040a64ac6c14eb552e)
https://github.com/c4urself/containerregistry (see: https://github.com/c4urself/containerregistry/commit/c05873486625d452f7dc36ce718e1310a65cd2f1)

To test it, switch out the io_bazel_rules_docker http_archive with the following:
git_repository(
    name = "io_bazel_rules_docker",
    remote = "https://github.com/c4urself/rules_docker.git",
    commit = "860e165f1a5c36eaefd289040a64ac6c14eb552e",
)


Fixes reuse of expandinfo from cache when expand is accessed via a different path

Unable to easily test in this repo. Tests added in PA Client.
Scenario is, e.g. for this expression, the expand info to the second PrimaryContact access should have ManagingPartner as part of it's expand path.
"ClearCollect(c3,  Filter(Accounts,'Primary Contact'.Status <> 'Status (Contacts)'.Active));" +
"ClearCollect(c4,  Filter(Contacts, 'Managing Partner'.'Primary Contact'.Status <> 'Status (Contacts)'.Inactive))"

✅ No public API change.


[Bug] - IOS/MacOS - Multiple Files - Creates duplicate struts in the C_Output files

Describe the bug
With multi-file codegen
The struct, wire_uint_8_list is being generated multiple times in the c_output files.  (Take a look at the full code here -> Line 8 to 91 ). This happens in every single header files that was generated.
macos/Classes/agency_client.h
#include <stdbool.h>
#include <stdint.h>
#include <stdlib.h>
typedef struct _Dart_Handle* Dart_Handle;

typedef struct DartCObject DartCObject;

typedef struct wire_uint_8_list {
  uint8_t *ptr;
  int32_t len;
} wire_uint_8_list;

typedef struct wire_uint_8_list {
  uint8_t *ptr;
  int32_t len;
} wire_uint_8_list;

typedef struct wire_uint_8_list {
  uint8_t *ptr;
  int32_t len;
} wire_uint_8_list;

typedef struct wire_uint_8_list {
  uint8_t *ptr;
  int32_t len;
} wire_uint_8_list;

typedef struct wire_uint_8_list {
  uint8_t *ptr;
  int32_t len;
} wire_uint_8_list;

typedef struct wire_uint_8_list {
  uint8_t *ptr;
  int32_t len;
} wire_uint_8_list;

typedef struct wire_uint_8_list {
  uint8_t *ptr;
  int32_t len;
} wire_uint_8_list;

typedef struct wire_uint_8_list {
  uint8_t *ptr;
  int32_t len;
} wire_uint_8_list;

typedef struct wire_uint_8_list {
  uint8_t *ptr;
  int32_t len;
} wire_uint_8_list;

typedef struct wire_uint_8_list {
  uint8_t *ptr;
  int32_t len;
} wire_uint_8_list;

typedef struct wire_uint_8_list {
  uint8_t *ptr;
  int32_t len;
} wire_uint_8_list;

typedef struct wire_uint_8_list {
  uint8_t *ptr;
  int32_t len;
} wire_uint_8_list;

typedef struct wire_uint_8_list {
  uint8_t *ptr;
  int32_t len;
} wire_uint_8_list;

typedef struct wire_uint_8_list {
  uint8_t *ptr;
  int32_t len;
} wire_uint_8_list;

typedef struct wire_uint_8_list {
  uint8_t *ptr;
  int32_t len;
} wire_uint_8_list;

typedef struct wire_uint_8_list {
  uint8_t *ptr;
  int32_t len;
} wire_uint_8_list;

typedef struct wire_uint_8_list {
  uint8_t *ptr;
  int32_t len;
} wire_uint_8_list;

. . .

Codegen logs with RUST_LOG=debug environment variable
N/A

To Reproduce

git Clone https://github.com/dinbtechit/aries_vcx.git
Build project

cargo build

Navigate to packages/flutter_aries_vcx/macos/classes or packages/flutter_aries_vcx/ios/classes. Open any of the header files.

Expected behavior
Should not generate duplicate structs.
Generated binding code
https://github.com/dinbtechit/aries_vcx/tree/master/packages/aries_vcx/lib/src/_generated

OS
MacOS
Version of flutter_rust_bridge_codegen
1.67.*
Flutter info
[!] Flutter (Channel stable, 3.7.3, on macOS 13.2.1 22D68 darwin-arm64, locale en-CA)
    • Flutter version 3.7.3 on channel stable at /Users/name/Library/flutter
    ! Warning: `dart` on your path resolves to /opt/homebrew/Cellar/dart/2.18.7/libexec/bin/dart, which is not inside your current Flutter SDK checkout at /Users/name/Library/flutter. Consider adding
      /Users/name/Library/flutter/bin to the front of your path.
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision<PHONE_NUMBER> (4 weeks ago), 2023-02-08 15:46:04 -0800
    • Engine revision 248290d6d5
    • Dart version 2.19.2
    • DevTools version 2.20.1
    • If those were intentional, you can disregard the above warnings; however it is recommended to use "git" directly to perform update checks and upgrades.

Version of clang++
No response
Version of ffigen
^7.2.4
Additional context
No response

cc @dbsxdbsx - who implemented the nice multi-part frb

Is it possible to generate a single file for c_output while keeping the rest of the code multi-file?

It is for sure that this duplication behavior is unexpected. I would come back to see how to fix it after finishing the shared feature.

@dbsxdbsx  - I know you are busy working on a million things.. but just curious... if you had any updates on this?
I would love to contribute but I am struggling a bit to wrap my head around this project. Please point me to any developer documentation there is any.

@dinbtechit
https://cjycode.com/flutter_rust_bridge/contributing/design.html

@dbsxdbsx - I know you are busy working on a million things.. but just curious... if you had any updates on this?
I would love to contribute but I am struggling a bit to wrap my head around this project. Please point me to any developer documentation there is any.

I am currently trying to move duplicated shared types from regular generated files to another file for testing. Maybe still early to see anything. Personally, I would like to update it as soon as possible. Otherwise, the later the pr is posted, the more prs need to merge.

@dbsxdbsx Looking forward to your PRs! Feel free to open a "draft PR" even if everything is not ready, so that interested readers can see early progress

@dinbtechit , I've posted a draft request. But it is still not mature enough. https://github.com/fzyzcjy/flutter_rust_bridge/pull/1145

Please don't close this. @dbsxdbsx  is working on it.

(moved from https://github.com/fzyzcjy/flutter_rust_bridge/issues/987 - this belongs to here)
FYI, this is how we deal with it right now. We are using the CLI version of the codegen and we are post-processing with this:
use regex::Regex;
use std::fs::{self, OpenOptions};
use std::io::{Read, Write};
use std::path::PathBuf;
use std::collections::{HashMap, HashSet};
const C_MACOS_OUTPUT_PREFIX: &str = "./macos/Runner/bridge_generated_";
const C_IOS_OUTPUT_PREFIX: &str = "./ios/Runner/bridge_generated_";
const FILE_COUNT: usize = 6;
const MODULES: [&str; FILE_COUNT] = [
"xxx",
"xxx2",
"xxx3",
"xxx4",
"xxx5",
"xxx6",
];
fn create_string_vector(prefix: &str, modules: &[&str], suffix: &str) -> Vec {
modules.iter().map(|module| format!("{}{}.{}", prefix, module, suffix)).collect()
}
fn remove_duplicate_structs(file_paths: &[String]) -> std::io::Result<()> {
let struct_pattern = Regex::new(r"(?s)typedef struct\s+[\w_]+\s*{.?}\s[\w_]+;").unwrap();
let mut seen_structs = HashMap::new();
for file_path in file_paths {
    let path = PathBuf::from(file_path);
    let mut file_content = String::new();
    {
        println!("Reading file: {}", file_path);
        let mut file = fs::File::open(&path)?;
        file.read_to_string(&mut file_content)?;
    }

    let mut new_file_content = String::new();
    let mut last_end = 0;

    for struct_def in struct_pattern.find_iter(&file_content) {
        let start = struct_def.start();
        let end = struct_def.end();
        let struct_name = struct_def.as_str().split_whitespace().nth(2).unwrap();

        if !seen_structs.contains_key(struct_name) {
            seen_structs.insert(struct_name.to_string(), ());
            new_file_content.push_str(&file_content[last_end..end]);
        } else {
            new_file_content.push_str(&file_content[last_end..start]);
        }

        last_end = end;
    }

    new_file_content.push_str(&file_content[last_end..]);

    let mut file = OpenOptions::new()
        .write(true)
        .truncate(true)
        .open(&path)?;
    file.write_all(new_file_content.as_bytes())?;
}

Ok(())

}
fn main() {
let c_macos_output = create_string_vector(C_MACOS_OUTPUT_PREFIX, &MODULES, "h");
let c_ios_output = create_string_vector(C_IOS_OUTPUT_PREFIX, &MODULES, "h");

if let Err(e) = remove_duplicate_structs(&c_macos_output) {
    eprintln!("Error when removing duplicates: {}", e);
}

if let Err(e) = remove_duplicate_structs(&c_ios_output) {
    eprintln!("Error when removing duplicates: {}", e);
}

}

same error

Sorry for the long late of this bug, but I guess there would still be 1 month before merging the pr.


MAINT: update pip constraints and pre-commit

Automated changes by create-pull-request GitHub action
This PR is preparation for #293, which requires upgrading the constraint files. We want to keep the diff on these constraint files small in the linear commit history of the main branch.

Hi @redeboer, just wonder why does one need to update the constraints?
Is it to the most recent?
Is it authomatic?
What is a command that checks for updates? (conda up or something?)


Order by string column, case insensitive

My use case is a select query with ordering with respect to a lf.Type.STRING column without considering case, the equivalent of:
SELECT * FROM NOTES ORDER BY TITLE COLLATE NOCASE
or
SELECT * FROM NOTES ORDER BY LOWER(TITLE);
I could not generate any of these expressions with lovefield api as:

there is no support and no future plan to support "COLLATE" in lovefield functions
the suggested replacement for the LOWERCASE is to use javascript toLowerCase which is fine for selecting/showing data but not for ordering logic (i am using a paginated approach with limit-offset strategy, so "controller-side" ordering is not an option)

(see the lovefield/sqlite feature parity )
Any suggestion or workaround?

Unfortunately this is deliberately not supported by design.
First of all in JS there's not a perfect matching for COLLATE, especially in Unicode case.
Also the LOWERCASE transformation will effectively use a full table scan, which means no index will be used. In this case there's not a benefit for Lovefield to provide APIs doing that.
So the best workaround is to sort the select() results yourselves.


getNextPageUrl

Hi thanks for this repo! I have an issue when I want to get the nextpage I found in windows 10 qt I need to change this line :
    const std::regex nextPageRegex(R"(^link\: <([^>]+)>; rel="next".*)");

to
const std::regex nextPageRegex(R"(^Link: <([^>]+)>; rel="next".*)");
(adding ") with this modification I get the different page.

Hi
Sorry about late answer, I have missed notification. I'll take a closer look this weekend.

Please verify if it works now and reopen if you still have problems.


[WIP] Feature/swagger model parser

This PR aims to answer https://github.com/EmCousin/grape_fast_jsonapi/issues/4

It provides a custom model parser, allowing to generate response documentation based on a fast_jsonapi serializer.

The value example is generated as well
The generated values for the corresponding attributes are more relevant if the serializers are based from ActiveRecord models

Things to be done before merging

[ ] Unit tests
[ ] Maybe provide better documentation about dependencies
[ ] Provide a changelog file
[ ] ... ?

This PR will as well close https://github.com/EmCousin/grape_fast_jsonapi/issues/1


Bump hybrids version to v4

Hi @vogloblinsky!
Finally, I had some time to investigate the results of your tests. Pascal Triangle test showed that some concepts of the library slowed down rendering much, especially DOM events. I am preparing an article about that, so stay tuned!
Meanwhile, I would like to update hybrids version with all new tweaks :)

Pushed fix for solid project, there was a bug in meta data.

Thanks for the PR


How to add text in the middle for the circle

How to add text in the middle for the circle. This is none of use without the text functionality

i'm far from good at this but this works for me
$('#circle').circleProgress({   value: 0.50,   size: 300, fill: { gradient: ['black', 'RED']} }).on('circle-animation-progress', function(event, progress) {   $(this).find('strong').html( 'Hi this is the text '); });
the div where the  jquery-circle-progress put's the circle  is where the text appears

CSS:
` #circle {
position: absolute;
top: 45%;
left: 2px;
width: 100%;
}
`
strong {
color:red;
position: absolute;
top: 30%;
left: 2px;
width: 100%;
text-align: center;
line-height: 40px;
font-size: 30px;
font-style: normal;
font-weight: normal;
}
`

Thank you for this beautiful work. Is there any way to add labels at all? I have been searching for about an hour now and am kind of surprised that I cannot find any way to label the concentric circles version. I am thinking I will have to use tooltips but I am not sure that is going to be acceptable for the user...

It's not a part of the library. But it's very easy to implement. For example, see #101.

@shahidkarimi:

This is none of use without the text functionality

Thanks for your warm words, cad.

I hope I've helped you. I'm closing this ticket, but feel free to reopen.

i'm far from good at this but this works for me
$('#circle').circleProgress({
  value: 0.50,
  size: 300,
fill: { gradient: ['black', 'RED']}
}).on('circle-animation-progress', function(event, progress) {
  $(this).find('strong').html( 'Hi this is the text ');
});

The
 where the jquery-circle-progress put's the circle  is where the text appears

.
CSS:
#circle {
 position: absolute;
  top: 45%;
  left: 2px;
  width: 100%;
}

strong {
  color: red;
  position: absolute;
  top: 30%;
  left: 2px;
  width: 100%;
  text-align: center;
  line-height: 40px;
  font-size: 30px;
  font-style: normal;
  font-weight: normal;
}

Great! I didn't have paid attention on the  tab. Working fine now, thank you a lot!


simplify M step for Bernoulli HMM

Replace beta.mode in https://github.com/probml/ssm-jax/blob/main/ssm_jax/hmm/models/bernoulli_hmm.py#L99
with pseudo counts

Set optimizer=None in https://github.com/probml/ssm-jax/blob/main/ssm_jax/hmm/models/bernoulli_hmm.py#L68

Here are the details from my book 1. Note that the add one smoothng prior corresponds to  Beta(2,2) which is much stronger than your current Beta(1.1, 1.1). This might explain your numerical problems.

Replace beta.mode in https://github.com/probml/ssm-jax/blob/main/ssm_jax/hmm/models/bernoulli_hmm.py#L99 with pseudo counts

I actually like the Beta(count1, count0).mode() formulation! I think it shows off the general form of the M-steps.

Yup!


[WIP] chore: easy-to-run docker compose setup for curio+forest

Summary of changes

Changes introduced in this pull request:

Single docker compose file to running curio+forest.
Test the basic configuration in CI (only verifies that the network is running, not that curio can mine).
Remove duplicate files.

Reference issue to close (if applicable)

Closes
Other information and links

Change checklist

[x] I have performed a self-review of my own code,
[x] I have made corresponding changes to the documentation. All new code adheres to the team's documentation standards,
[x] I have added tests that prove my fix is effective or that my feature works (if possible),
[x] I have made sure the CHANGELOG is up-to-date. All user-facing changes should be reflected in this document.

@lemmih WIP or no longer WIP?


Roadmap

Hi,
Great work has been done on new version. I was just wondering around for some kind of roadmap if you can provide one with some release dates as there have been no updates on stable version 2 for quite some time.
Ionic PR's are also pending due to stable release making it little difficult to use the plugin.
If there are some contributions that can be helped with I would be glad to be part of that.

https://github.com/mapsplugin/cordova-plugin-googlemaps-doc/blob/master/README.md#version-20-beta-roadmap
No specific date means it's not stable. Currently on ionic3.

@wf9a5m75 Appreciate the response. Is there a way to contribute and make it a stable release? I did see that roadmap :)

Please test the multiple_maps branch with ionic3.

@wf9a5m75 I did and I am facing some issues with that.  Please see #1446

Please share your project files on github or bitbucket.
https://github.com/mapsplugin/cordova-plugin-googlemaps/issues/1479

@jayeshanandani Please share your project files on github or bitbucket.
If no update, I will close this issue.

@wf9a5m75 : Apologies for the delayed reply. We can close this. I was using the wrong branch for version 2. It works with ionic 3 as described.


tests: Just use unwrap()

I don't think this unique-to-us t! macro is gaining anything really over just calling unwrap() directly which is way more widely used and idiomatic.
I only converted a few testing functions to start momentum and hopefully new code can avoid t!.

Heh if you're curious for the backstory on this: long ago we had try!(foo()) instead of foo()? so t!(foo()) was sort of an equivalent to that. Additionally .unwrap() wouldn't report the line number of the caller, it'd report the line number in the standard library. So long ago it was both more useful and more idiomatic. Nowadays though it's neither, so it's great to see it removed!

That makes total sense, I am definitely aware of the age of the crate. I actually started learning Rust in the age of try! so I'm familiar :smile: I think my first nontrivial Rust code was in this commit from 2016.
Actually of potential interest to you and also topically relevant for future directions of this crate: I remember skimming through the source code of this crate at the time thinking "what does a tar parser in Rust look like" and being quite surprised at the usage of unsafe and wondering why it was needed...shouldn't the whole premise of Rust be that one can write a tar parser without unsafe?
I now know enough to understand that technically today we could rewrite it with just slicing a [u8] and not have unsafe, but at a loss of ergonomics. But as of lately there's the project safe transmute which is what we really want of course...but it's still nightly only.
Any opinions on adding a dep on say zerocopy and adding #[deny(unsafe_code)] to this crate?

Heh good point! Agreed it would be best to remove all the unsafe nowadays.
My only hesitation on zerocopy itself (I don't have a ton of experience with it prior) is that it looks like it's got major version bumps every so often. That would likely become a public dependency of the tar crate meaning that if we were to update the dependency then it would force a major version bump for tar which may not otherwise be necessary. Maybe it's possible though to make zerocopy a private dependency with some refactoring in tar? (unsure)


Added enableDDoSProtection and enableVmProtection feature params

This checklist is used to make sure that common issues in a pull request are addressed. This will expedite the process of getting your pull request merged and avoid extra work on your part to fix issues discovered during the review process.
PR information

[ ] The title of the PR is clear and informative.
[ ] There are a small number of commits, each of which have an informative message. This means that previously merged commits do not appear in the history of the PR. For information on cleaning up the commits in your pull request, see this page.
[ ] Except for special cases involving multiple contributors, the PR is started from a fork of the main repository, not a branch.
[ ] If applicable, the PR references the bug/issue that it fixes.
[ ] Swagger files are correctly named (e.g. the api-version in the path should match the api-version in the spec).

Quality of Swagger

[ ] I have read the contribution guidelines.
[ ] My spec meets the review criteria:

[ ] The spec conforms to the Swagger 2.0 specification.
[ ] The spec follows the guidelines described in the Swagger checklist document.
[ ] Validation tools were run on swagger spec(s) and have all been fixed in this PR.

@ajinkyapotdarvjti,
Thanks for your contribution as a Microsoft full-time employee or intern. You do not need to sign a CLA.
Thanks,
Microsoft Pull Request Bot

@ravbhatnagar new properties

Looks good. ARM signOff. New api-version so adding new properties is fine (unless SDK has already been generated for this api-version)

No modification for AutorestCI/azure-sdk-for-node

 https://github.com/Azure/azure-sdk-for-ruby/pull/954

 https://github.com/Azure/azure-sdk-for-python/pull/1421


#203 -- Missing Disabled Prop on TextField Example

TextField example in docs was labeled as disabled but was missing the disabled prop and was therefore allowing input and interaction.

This is the current styling for disabled states:
// Disabled State Classes
.mdc-text-field--disabled {
@include mdc-text-field-disabled-outline-color(var(--disabled));
@include mdc-text-field-disabled-ink-color(var(--disabled));
@include mdc-text-field-disabled-label-color(var(--disabled));
&:not(.mdc-text-field--outlined) {
  @include mdc-text-field-disabled-fill-color(var(--disabled));
  @include mdc-text-field-disabled-bottom-line-color(var(--disabled));
  @include mdc-text-field-disabled-ink-color(var(--on-disabled));
  @include mdc-text-field-disabled-label-color(var(--on-disabled));
}

}
I wonder if the disabled / on-disabled theme colors might not be set to the desired color in the default palettes?

Red is a built in color that exists at build time. Try using another theme color from the default theme and see what happens.

with --success :

with --info:

with --disabled and --on-disabled for filled text field:

with --disabled as outlined textfield outline and --on-disable for label / value:

Yeah those look good on the outlined we may want to flip them on the filled one.


Cloud9 Exit

Issue #, if available:
Cloud9 exit plan
Description of changes:
Removal of Cloud9 from the workshop IaC.
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Merging upstream internally first


TypeError: no implicit conversion of String into Integer when adding lograge to Rails project with Rack 3.0.9 and Puma 6.4.2

Environment

Rails version: 7.2-alpha (latest commit as of issue)
Rack version: 3.0.9
Puma version: 6.4.2
Ruby version: 3.3.0
Lograge version: 0.14 / main (latest commit as of issue)

Description
After adding lograge to a new Rails project's Gemfile, starting the server results in a TypeError with the message "no implicit conversion of String into Integer". This issue prevents the server from starting and appears to be related to middleware stack execution, specifically Rack's request handling.
Steps to Reproduce

Create a new Rails project with the specified environment versions.
Add lograge to the Gemfile and bundle install.
Add documented lograge.rb to initializers
Attempt to start the Rails server.

# `rails new` flags used
--main -d postgresql --skip-action-mailbox --skip-action-text --skip-action-cable --skip-jbuilder -a propshaft -c tailwind --skip-test --skip-system-test

#lograge.rb

Rails.application.configure do
  config.lograge.enabled = true
end

Expected Behavior
The Rails server starts without errors, and lograge successfully initializes.
Actual Behavior
The server startup fails with the following exception trace (paths anonymized):
Puma caught this error: no implicit conversion of String into Integer (TypeError)
[...]/.rbenv/versions/3.3.0/lib/ruby/gems/3.3.0/gems/rack-3.0.9/lib/rack/request.rb:101:in `[]'
[...]/.rbenv/versions/3.3.0/lib/ruby/gems/3.3.0/gems/rack-3.0.9/lib/rack/request.rb:101:in `get_header'
[...]/.rbenv/versions/3.3.0/lib/ruby/gems/3.3.0/bundler/gems/rails-1a92af2b5140/actionpack/lib/action_dispatch/middleware/show_exceptions.rb:35:in `rescue in call'
[...]/.rbenv/versions/3.3.0/lib/ruby/gems/3.3.0/bundler/gems/rails-1a92af2b5140/actionpack/lib/action_dispatch/middleware/show_exceptions.rb:31:in `call'
[...]/.rbenv/versions/3.3.0/lib/ruby/gems/3.3.0/bundler/gems/lograge-2839d2c7786b/lib/lograge/rails_ext/rack/logger.rb:18:in `call_app'
[...]/.rbenv/versions/3.3.0/lib/ruby/gems/3.3.0/bundler/gems/rails-1a92af2b5140/railties/lib/rails/rack/logger.rb:28:in `call'
[...]/.rbenv/versions/3.3.0/lib/ruby/gems/3.3.0/bundler/gems/rails-1a92af2b5140/actionpack/lib/action_dispatch/middleware/remote_ip.rb:96:in `call'
[...]/.rbenv/versions/3.3.0/lib/ruby/gems/3.3.0/gems/request_store-1.6.0/lib/request_store/middleware.rb:19:in `call'
[...]/.rbenv/versions/3.3.0/lib/ruby/gems/3.3.0/bundler/gems/rails-1a92af2b5140/actionpack/lib/action_dispatch/middleware/request_id.rb:33:in `call'
[...]/.rbenv/versions/3.3.0/lib/ruby/gems/3.3.0/gems/rack-3.0.9/lib/rack/method_override.rb:28:in `call'
[...]/.rbenv/versions/3.3.0/lib/ruby/gems/3.3.0/gems/rack-3.0.9/lib/rack/runtime.rb:24:in `call'
[...]/.rbenv/versions/3.3.0/lib/ruby/gems/3.3.0/bundler/gems/rails-1a92af2b5140/activesupport/lib/active_support/cache/strategy/local_cache_middleware.rb:29:in `call'
[...]/.rbenv/versions/3.3.0/lib/ruby/gems/3.3.0/bundler/gems/rails-1a92af2b5140/actionpack/lib/action_dispatch/middleware/server_timing.rb:61:in `block in call'
[...]/.rbenv/versions/3.3.0/lib/ruby/gems/3.3.0/bundler/gems/rails-1a92af2b5140/actionpack/lib/action_dispatch/middleware/server_timing.rb:26:in `collect_events'
[...]/.rbenv/versions/3.3.0/lib/ruby/gems/3.3.0/bundler/gems/rails-1a92af2b5140/actionpack/lib/action_dispatch/middleware/server_timing.rb:60:in `call'
[...]/.rbenv/versions/3.3.0/lib/ruby/gems/3.3.0/bundler/gems/rails-1a92af2b5140/actionpack/lib/action_dispatch/middleware/executor.rb:16:in `call'
[...]/.rbenv/versions/3.3.0/lib/ruby/gems/3.3.0/bundler/gems/rails-1a92af2b5140/actionpack/lib/action_dispatch/middleware/static.rb:27:in `call'
[...]/.rbenv/versions/3.3.0/lib/ruby/gems/3.3.0/gems/rack-3.0.9/lib/rack/sendfile.rb:114:in `call'
[...]/.rbenv/versions/3.3.0/lib/ruby/gems/3.3.0/bundler/gems/rails-1a92af2b5140/actionpack/lib/action_dispatch/middleware/host_authorization.rb:143:in `call'
[...]/.rbenv/versions/3.3.0/lib/ruby/gems/3.3.0/bundler/gems/rails-1a92af2b5140/railties/lib/rails/engine.rb:536:in `call'
[...]/.rbenv/versions/3.3.0/lib/ruby/gems/3.3.0/gems/puma-6.4.2/lib/puma/configuration.rb:272:in `call'
[...]/.rbenv/versions/3.3.0/lib/ruby/gems/3.3.0/gems/puma-6.4.2/lib/puma/request.rb:100:in `block in handle_request'
[...]/.rbenv/versions/3.3.0/lib/ruby/gems/3.3.0/gems/puma-6.4.2/lib/puma/thread_pool.rb:378:in `with_force_shutdown'
[...]/.rbenv/versions/3.3.0/lib/ruby/gems/3.3.0/gems/puma-6.4.2/lib/puma/request.rb:99:in `handle_request'
[...]/.rbenv/versions/3.3.0/lib/ruby/gems/3.3.0/gems/puma-6.4.2/lib/puma/server.rb:464:in `process_client'
[...]/.rbenv/versions/3.3.0/lib/ruby/gems/3.3.0/gems/puma-6.4.2/lib/puma/server.rb:245:in `block in run'
[...]/.rbenv/versions/3.3.0/lib/ruby/gems/3.3.0/gems/puma-6.4.2/lib/puma/thread_pool.rb:155:in `block in spawn_thread'

More info: https://github.com/rails/rails/issues/51041

https://github.com/rails/rails/pull/51053

With the recent PR on Rails closed (https://github.com/rails/rails/commit/9e01d93547e2082e2e88472748baa0f9ea63c181), lograge works again as expected. Thank you @ghiculescu !


Confluent Cloud Integration

These changes allow the ACM to communicate with Confluent Cloud.

These changes have been tested to be backwards compatible. When the KAFKA_TYPE environment variable is not set or is set to something other than "CONFLUENT", the ACM will attempt to work with a local kafka instance as usual.

A section on CC integration has been added to the README.

An image has been pushed to our cluster with these updates.

Looks good to me!


Descriptive names for each datafile

We probably should have text/json file mapping each dataset to it's index name, and some information about it, so that it can be shown along with it's graph.

That's what I was meaning to do with "investment_class_dict" in the user_input.py file, but I can make a json file too!


Add a parse(String) method to Parameters

The Parameters class currently provides a parse(Reader) method for creating new Parameters instances. This is ideal for processing queries stored externally in .sql files, but a parse(String) overload would be slightly more convenient for string-based queries.

This is done.


datapath: Switch to upstream bpftool, remove additional arguments

Upstream bpftool does not run probes which emit dmesg messages by
default anymore. Additional arguments for filtering out probes are not
needed anymore.
Link<EMAIL_ADDRESS>Signed-off-by: Michal Rostecki<EMAIL_ADDRESS>Switch to upstream bpftool

This change is

@borkmann is going to submit a change in packer-ci-build repository which will switch bpftool to bpf-next tree this week.
But anyway, accepting this PR now should be fine. Even if Vagrant images are shipping the old bpftool now, this pull request should still work, although it will emit the dmesg warnings. But it's master, so it should be fine. And after the new VM image will ship the newest bpftool, dmesg warnings will be not emitted anymore.
/cc @qmonnet @joestringer

test-me-please

LGTM. Any reservations on backporting into 1.7.1 so we have an official bpftool version in the main images for the latest release?

I think we need new Vagrant images with upstream bpftool before we backport it to any stable release. So we need to wait for @borkmann's PR in packer-ci-build.

Coverage increased (+0.02%) to 45.455% when pulling 076c4c5bc43ca22d906cf5ce0e8c325c19bde207 on mrostecki:upstream-bpftool into e4cdb269adfc5cadfdc10a19870e2d6cd5fc31c5 on cilium:master.

@aanm Sorry for that! Also the dir name was wrong. Now it should work.

test-me-please

test-me-please

@aanm

Once this PR is merged and PR #10354 is also merged, we need to open a PR against 1.7 for which the cilium-runtime image tag will be 2020-02-27-v1.7

We also need a change in packer-ci-build before doing that, but again, on sig-datapath meeting we decided that Daniel will do that alongside with the other changes he's preparing.

@aanm

Once this PR is merged and PR #10354 is also merged, we need to open a PR against 1.7 for which the cilium-runtime image tag will be 2020-02-27-v1.7

We also need a change in packer-ci-build before doing that, but again, on sig-datapath meeting we decided that Daniel will do that alongside with the other changes he's preparing.

@mrostecki in that case, shouldn't we wait for the VM to be made available? Otherwise the cilium build will fail for old VMs, no?

@mrostecki
17:54:01  Step 2/20 : FROM quay.io/cilium/cilium-builder:2020-02-27 as builder
17:54:02  manifest for quay.io/cilium/cilium-builder:2020-02-27 not found: manifest unknown: manifest unknown

the builder is not required, it should be the runtime image only.

@aanm @jrajahalme Sorry for that, now it should work.
@aanm

@mrostecki in that case, shouldn't we wait for the VM to be made available? Otherwise the cilium build will fail for old VMs, no?

Well, the thing is that this pull request will work on old VMs (in terms of not being completely broken or making the CI red :wink: ), but will generate dmesg messages, which I guess is not a big deal on master branch (although it would be a big deal in stable branches).
That's because this PR goes back to the default set of arguments for bpftool and the upstream change is about not running bpf_write_user and bpf_trace_printk helper probes by default (if someone doesn't mind dmesg warnings and wants to run them, the additional argument full needs to be provided).
But on the other hand, I don't mind waiting for the change in packer-ci-build. I'm fine doing it either way. Maybe it's better to wait for the new VM to not confuse people and start backporting right after this PR is merged.

test-me-please


Img

Could it be possible to also scrape the images of riders?
Thanks

I added new parsing method Rider.image_url, which returns relative URL of file with rider's image. New version with this method is already available on PyPI. https://github.com/themm1/procyclingstats/releases/tag/0.1.10


Jaeger Website 404 file not found

Jaeger Website: http://uber.github.io/jaeger/ 404 file not found.

Thanks for pointing out. I changed a bunch of places that I could find.


Add a panic-safe version of Do

Panics in Go can crash the entire app if not handled correctly. As Go developers, we try to do as much as possible to catch our errors and provide a graceful escape, but no Go app is really panic-safe. Mainly, because we often rely on 3rd party code, whose error handling we cannot guarantee until it is too late.
My proposal is to add a second method alongside Do (e.g. DoSafely), which delegates to Do but makes sure to gracefully handle sudden panics, using the well-known panic-defer method:
defer func() {
    if err := recover(); err != nil {
        log.Printf("Internal panic occurred: %s", err)
    }
}()

This is similar to how the default implementation of http.Server handles unexpected panics, and in the case of gocron, will give users a chance to decide whether to use it or not.
P.S. I am preparing a small PR and will refer to this issue later today. Feel free to merge it, if you like the idea.

Cool! I agree and don't like the idea of panic-ing without proper handling too. Waiting for your PR

@Streppel PR is here. Feel free to check it out

@preslavrachev thank you for collaborating! Already merged your changes.

@Streppel Thank you!


Add HAL link for Objects and Works that are subjects of a work

Problem Description:
There is no HAL link for rendering data for objects/works that are subjects of another work.
Expected Behavior/Solution:
Add a HAL link onto Objects and Works that are the subject of another work.
Requirements:

[x] ML query - @clarkepeterf

Needed for promotion:
If an item on the list is not needed, it should be crossed off but not removed.

[ ] ~Wireframe/Mockup - Mike~
[ ] ~Committee discussions - Sarah~
[ ] ~Feasibility/Team discussion - Sarah~
[x] Backend requirements - Peter
[x] Frontend requirements - Kam
[ ] ~Questions~

UAT/LUX Examples:

https://lux.collections.yale.edu/data/text/5ad5d97a-1b16-42c4-ad5e-145b2371643b
https://lux-front-tst.collections.yale.edu/view/text/2bc1c5a0-0085-449f-bf60-ca685d72f128

Dependencies/Blocks:

Blocking: https://github.com/project-lux/lux-frontend/issues/62
Blocked by: https://github.com/project-lux/lux-marklogic/issues/66

Related Github Issues:

~https://github.com/project-lux/lux-middletier/issues/31 (dupe)~

Related links:

https://www.bugherd.com/projects/284041/tasks/1792

Wireframe/Mockup:
N/A

@clarkepeterf Does this issue require a ML issue? I'm not sure if this relationship exists currently.

@kamerynB The UAT for this ticket is incorrect. Both of those are works that have other works about them. We want to search in the opposite direction (items that are the subject of the current work, or works that are the subject of the current work)
Work about an object:
https://lux-front-tst.collections.yale.edu/data/text/4a0a53e4-c8d5-4fff-8c00-bf3d1e10b4fc
Work about another work:
https://lux-front-tst.collections.yale.edu/data/text/29b98ec5-b8c9-405e-a83f-03e2eb5a427b

@kamerynB Ah, I'm looking at the frontend requirements, what you want is to use the work aboutItem and work aboutWork search terms on object and work pages. The search term is about, but then that lets you display "Subject Of" on the entity page

@clarkepeterf I believe I've gotten things straight now.

Approved by UAT 9/12

Looks good in PROD. Closing.


torch.device("cuda:0")?

I have been testing around loading models at float16 via CUDA and by cpu.
Is it best to use map_location=torch.device("cpu")?
Or can we use torch.device("cuda:0")? Was LPIPS trained on cpu making this a situaltion where map_location='cpu' is needed?
Thanks for your input!  :)

The model should load onto cpu by default, and then you should be able to load the model onto any device after


Is there an error in transformations?

Hi @bilylee , thanks for your fantastic work.
In the following code (here):
self.z_transform = Compose([RandomStretch(),
                                  CenterCrop((255 - 8, 255 - 8)),
                                  RandomCrop(255 - 2 * 8),
                                  CenterCrop((127, 127))])
self.x_transform = Compose([RandomStretch(),
                                  CenterCrop((255 - 8, 255 - 8)),
                                  RandomCrop(255 - 2 * 8), ])

The output z is 127 x 127, but output x is 239 x 239 not 255 x 255.
The response size with 239 x 239 is 15 x 15 but with 255 x 255 is 17 x 17.
17 x 17 is correct since it is exactly same as the response size in the inference stage.
Is this an error or so? (Although this will not report any error during training since the label size is directly deduced from response size!).

I have the same problem. Has it been solved?

Hi,
During training, image patch with size 239 x 239 is cropped from the 255 x  255 input image for translation data augmentation. It won't affect tracking, since the Siamese network learns a similarity metric that is position agnostic.
Please also refer to #32

ok，thank you.


feat: Forward ports

This ports the following upstream PRs and pushes us halfway to v.1.0.0-rc.1:

https://github.com/succinctlabs/sp1/pull/934
https://github.com/succinctlabs/sp1/pull/936
https://github.com/succinctlabs/sp1/pull/937
https://github.com/succinctlabs/sp1/pull/952
https://github.com/succinctlabs/sp1/pull/946
https://github.com/succinctlabs/sp1/pull/940
https://github.com/succinctlabs/sp1/pull/953
https://github.com/succinctlabs/sp1/pull/950
https://github.com/succinctlabs/sp1/pull/964
https://github.com/succinctlabs/sp1/pull/954
https://github.com/succinctlabs/sp1/pull/885
https://github.com/succinctlabs/sp1/pull/966
https://github.com/succinctlabs/sp1/pull/973
https://github.com/succinctlabs/sp1/pull/983
https://github.com/succinctlabs/sp1/pull/984
https://github.com/succinctlabs/sp1/pull/972
https://github.com/succinctlabs/sp1/pull/1004
https://github.com/succinctlabs/sp1/pull/1008
https://github.com/succinctlabs/sp1/pull/1006
https://github.com/succinctlabs/sp1/pull/991

[!NOTE]
This will need companion PRs.

Light client PR: https://github.com/argumentcomputer/zk-light-clients/pull/161
Loam PR: https://github.com/argumentcomputer/loam/pull/214

@huitseeker: Should I overwrite the S3 circuit artifacts for v1.0.8-testnet with the ones generated from this PR? Or do we want to update SPHINX_CIRCUIT_VERSION to some interim temporary value in this PR? (v1.0.9-testnet? pre-v1.0.0-rc.1? I don't know). Ideally we would use version numbers that are independent from and cant be confused with upstream's


Issue with ldap users and Index Patters filters

Hi!
We have an issue with ldap users and Index Patters filters in Security Roles.
Ldap user name contain dots. Example:
GET _opendistro/_security/authinfo
{
  "user" : "User [name=Ilya.Makarov, roles=[...], requestedTenant=]",
  "user_name" : "Ilya.Makarov",

User index for kibana looks like(without dot between name and surname):
.kibana_-434785236_ilyamakarov

We have created Security Role kibana_ldap_user:
{
  "index_permissions": [
    {
      "index_patterns": [
        ".kibana_*_${user_name}*",

But user doesn't have access to his index.
If replace index patterns to .kibana_*_ilyamakarov* - permmission to index are granted.
Looks like ${user_name} contain dot when applied index filter...
Ldap config from securityconfig/config.yml:
ldap:
...
        authentication_backend:
          type: "ldap"
          config:
            usersearch: "(sAMAccountName={0})"
            username_attribute: sAMAccountName
authz:
...
      roles_from_myldap:
        authorization_backend:
          type: "ldap"
          config:
            rolesearch: "(member={0})"
            userroleattribute: null
            userrolename: "disabled"
            rolename: "cn"
            resolve_nested_roles: true
            usersearch: "(sAMAccountName={0})"

@e11it Thanks for reporting. ES does not restrict . in the index name so marking this as bug for further investigation.

Thanks for sharing this @e11it. Are you still having issues with dots in ldap usernames on latest OpenSearch?

I'm going to close this one out. If you end up still having trouble with this issue, feel free to reopen. Don't forget you can always visit the forums to get help from the community as well - https://discuss.opendistrocommunity.dev/


Bug in line commenting when there is a grouped entry

taxi ci
Pushing entries...
_zebra (2184/88)               1.75  Setup a new backlog, cleanup
_crm (2008/88)                 2.00  Jira cleanup - Failed, reason: ProjectClosedEnd
pia_pos (2206/1304)            0.25  Emails followup
Total pushed                   2.00
Failed entries
<taxi.timesheet.entry.AggregatedTimesheetEntry object at 0x10a073e10> - ProjectClosedEnd
Total failed                   2.00

taxi edit
353 # _zebra          -1500         Setup a new backlog, cleanup
354 _crm            1500-1630     Jira cleanup
355 # pia_pos         2215-2230     Emails followup
356 _crm            -2300         Jira cleanup
Staging changes :
# Monday 02 march #
_crm (2008/88)                 8.00  Jira cleanup
Total                          8.00

Personally, I would suggest you to remove the concept of aggregated entries. It add a lot of complexity to the project and doesn't bring any added value...

Already fixed : https://github.com/sephii/taxi/issues/66. Should have been part of 3.2.2 but this version will probably get dropped in favor of 4.0.
IMO grouping entries allows you to get a better overview of what you've worked on.

What I don't like with grouping is that your taxi file is no more in sync with zebra. So it's hard to compare sometime... Is there an option to deactivate that feature?

Not yet but it would be easy to do. Can you create a new issue for that please?


Fix variant redirect

Closes #1565
See #1571 for more context.
We were keeping unknown query params in the redirection, which means the query will never find selectedVariant.
To 🎩 :

Go to a PDP page. It automatically redirects to the same page with query strings for the default variant.
Add &foo=bar to the URL and reload the page: it works with this PR changes, fails without it.

https://github.com/Shopify/hydrogen/issues/1565#issuecomment-1854384199


Added support for icon tinting

also updated sample app and readme-file
Closess: https://github.com/scottyab/showhidepasswordedittext/issues/11

Thanks @olegosipenko tested and mutate fixes the issue I saw previously.

Thanks @nex0s )

My pleasure to contribute to a great project ;)


Notebook on COVID 19 Prediction of Total Confirmed Cases in India

Hey, I have done prediction with 99% accuracy using SVR, Naive Bayes Regression, Random Forest and Polynomial Regression. So if you want to add this project kindly assign me.

@Dishita2602 As you know we are building a website, so definetly we won't have a need for nootbooks, but still we are keeping important ones to get reference.
Sorry but we currwntly don't have any need for visualizations and COVID predictions.
I request you to close the issue and come up with a great idea and create a new issue or if you want you can take the issues labeled as Up for Grab.


RecentModelsIds are not set for new user when he-she logs in for the first time

EPAM AI DIAL chat version
0.22.0
What happened?
Steps to reproduce locally:
Reproduced the issue in Overlay sandbox locally. You need to clear all browser storage and! app cache (both chat and overlay-sandbox). After the login you will see that there are no recent models (bug), just modelID in set for new conversation (ok)
Confidential information

[X] I confirm that do not share any confidential information

Verified in overlay sandbox locally successfully. But see also #2636


Move to apache 2.0 license (resolves #255)

lsf.py and sonLib_daemonize have other copyrights already in place, held by Thomas Keane and Chad Schroeder respectively.

Delete combinedBatchSystem.py.
In fact, could you try rebasing this on the latest master? That should remove combinedBatchSystem.

And multijob.py.

Ignore my request to rebase.


RELATED: SD-970 typing for post event filter context

Currently destined for release R208.
This release is zero downtime release.
Code drop: 2020-07-02 00:00.

Story SD-970 Control filters - Low level message handler
Status: Hacking
Priority: Major
Assignee: Lan Huynh

Build failed (check pipeline).

https://checklist.intgdc.com/job/client-libs/job/gooddata-typings-pull-request-compliance-check/109/ : SUCCESS in 6s
https://checklist.intgdc.com/job/client-libs/job/gooddata-typings-unit-tests-zuul-docker-el7/191/ : FAILURE in 37s

Build failed (check pipeline).

https://checklist.intgdc.com/job/client-libs/job/gooddata-typings-pull-request-compliance-check/110/ : SUCCESS in 6s
https://checklist.intgdc.com/job/client-libs/job/gooddata-typings-unit-tests-zuul-docker-el7/192/ : FAILURE in 45s

Currently destined for release R.
This release is zero downtime release.
Code drop: .

Build succeeded (check pipeline).

https://checklist.intgdc.com/job/client-libs/job/gooddata-typings-pull-request-compliance-check/111/ : SUCCESS in 7s
https://checklist.intgdc.com/job/client-libs/job/gooddata-typings-unit-tests-zuul-docker-el7/193/ : SUCCESS in 35s

LGTM

Build succeeded (check pipeline).

https://checklist.intgdc.com/job/client-libs/job/gooddata-typings-pull-request-compliance-check/112/ : SUCCESS in 5s
https://checklist.intgdc.com/job/client-libs/job/gooddata-typings-unit-tests-zuul-docker-el7/194/ : SUCCESS in 56s

LGTM

Build succeeded (check pipeline).

https://checklist.intgdc.com/job/client-libs/job/gooddata-typings-pull-request-compliance-check/113/ : SUCCESS in 6s
https://checklist.intgdc.com/job/client-libs/job/gooddata-typings-unit-tests-zuul-docker-el7/195/ : SUCCESS in 55s

Build succeeded (gate pipeline).

https://checklist.intgdc.com/job/client-libs/job/gooddata-typings-pull-request-compliance-gate/40/ : SUCCESS in 6s
https://checklist.intgdc.com/job/client-libs/job/gooddata-typings-unit-tests-zuul-docker-el7/196/ : SUCCESS in 1m 01s
https://checklist.intgdc.com/job/compliance/job/gooddata-typings-fossa-scanning-zuul-el7/4/ : SUCCESS in 14s (non-voting)


Don't open Settings page by default?

Hii there,
I'm using Terminus as my go-to terminal emulator on Linux, however, I tend to be annoyed by the fact that it automatically opens the settings tab in the background on startup.
Is there a way I could disable this?
Cheers

Hi, the Settings tab should only open if it was open the last time you closed the terminal.

Ah I see, it sometimes doesn't work as intended, but it might be that it doesn't play nice with i3wm.
Though it would be nice to have a little toggle for it in the settings (oh the irony) to circumvent issues like these.

Basically, the terminal remembers the last pages open (although actual terminal tabs are remembered only if one of the persistence engines is enabled), and tries to recover them when started again. Likely, you just have a settings tab open at the time of closure.


phone-number: Area() and Format() are not in description

The problem description says to return the phone number as one long number. But then there is a Format() expectation looking for '(NXX)-NXX-XXXX' which is not documented and goes against the description.
I like the addition of Format() but it needs to be documented at a minimum in the tests.

Thanks @shaleh


Possible to monitor client connected to AP?

Hi,
I'm using this integration but I'd like to know if it's possible to monitor a specific client to see to which Access point
he/she's connected. I have 5 AP's but sometimes have complaints about slow wifi.
When monitoring Deco, I see my wife's iPhone is connected to a remote AP while a new unit is nearby.
I know this is a Roaming / Firmware issue but like to use Home Assist to get a better picture of my house.
Maybe this module can help me achieving this with repositioning Access Points or buying extra.

You can see which deco is connected by looking at the deco_device attribute on the client. See the https://github.com/amosyuen/ha-tplink-deco.


Setting workloadMemoryDefault to any value , resets the existing value of workloadMemoryMaximum to 0. This also happens vice versa.

acorn version v0.5.0-rc3-18-gfbe46a2+fbe46a25
Steps to reproduce the problem:
Scenario 1:

Set --workload-memory-default to any value say 30Mi . At this time --workload-memory-maximum is 0 (default). This works as expected.
Set --workload-memory-maximum to some value 512Mi. This results in --workload-memory-default to be set to 0. acorn info shows the value of --workload-memory-default  as 0.

Deploying containers with no memory results in memory set to  --workload-memory-maximum  (even though it shows as 0 in info). --workload-memory-maximum restriction  is imposed as expected.
Scenario 2:

Set --workload-memory-default to some value say 50Mi. This results in --workload-memory-maximum to be set to 0.

This result in containers with no memory setting get the correct default. But there is no restrictions applied for --workload-memory-maximum setting anymore.

Tested with acorn version v0.5.0-rc3-40-gc138b50+c138b504
Scenario 1:

Set --workload-memory-default to any value say 30Mi .
Set --workload-memory-maximum to some value 45Mi.

acorn info has the right value set for both the parameters.
Deploying containers with no memory results in memory set to 30 Mi as expected.
--workload-memory-maximum restriction is imposed as expected when trying to deploy apps with memory set >   --workload-memory-maximum .
Scenario 2:

Set --workload-memory-default to some value say 35Mi.

acorn info has the right value set for both the parameters - --workload-memory-maximum and --workload-memory-default.
Deploying containers with no memory results in memory set to 35 Mi as expected.
--workload-memory-maximum restriction is imposed as expected when trying to deploy apps with memory set >   --workload-memory-maximum .


incorrect test names when using autodata and xunit.testrunner.visualstudio

Hi,
I have updated to xunit 2 - thanks for all the work on this, it's great.
I am still having trouble with autodata, and xunit.testrunner.visualstudio.
Given a test like this:
        [Theory, AutoData]
        public void TestLastCommittedDsMessageDictionary(int x, int y)
        {
        {

In the visual studio test explorer the test is listed with its name containing an x and y value.
LastCommittedMessageTests.TestLastCommittedDsMessageDictionary(x: 30, y: 194)
Because autodata changes the test values on each test run, the test name doesn't match up with the name in test explorer.
I get this error message in the test output window. The value for x and y have changed, and therefore the test is not recognized as the same one that just executed.
Test adapter sent back a result for an unknown test case. Ignoring result for
'LastCommittedMessageTests.TestLastCommittedDsMessageDictionary(x: 109, y: 97)'.

As you can see the 30 and 194 changed in the next test execution to 109 and 97.
The test explorer doesn't match up the test.

Thank you for reporting this. This looks more like an issue related to the xUnit.net Test Runner for VS.

I have observed this behaviour too. I wonder if @bradwilson would like to comment?

(Always wondering ...why just don't use the TestDrive.Net add-in.) :smiley:

How does it work with xUnit.net 1.x?

So, let's talk about pre-discovery.
xUnit.net v1 with theories never pre-discovered the theory data. There was only a single runnable "test case" which ran all the data at once and reported multiple results for that test case.
xUnit.net v2 supports data pre-discovery. This means you will generally see an individual test case for each row of theory data, and you can run them individually. When using a runner like Visual Studio, these pre-discovered test cases can be run individually. However, when you choose "Run All", Visual Studio does not give you back the list the list of test cases, so it forces you to rediscover them.
The pre-discovery feature is intended for data which is (a) fast to discover, and (b) stable. Things like InlineData and MemberData usually fall into this bucket; data providers that pull data from expensive sources (like a SQL server) or randomly generate data (like AutoData) do not. The data discoverer for AutoData, therefore, should turn off pre-discovery. There is a method on IDataDiscoverer which indicates whether the discoverer wants to participate in pre-discovery. You should always be returning false for any data sets which are either (a) expensive and/or (b) unstable. (I realized while writing this that the XML doc comments only mention part (a) and not part (b), so I'll update that now.)

@bradwilson Thank you for explaining that :+1:

The data discoverer for AutoData, therefore, should turn off pre-discovery.

As far as I understand what you're writing, we'd need to implement IDataDiscoverer somewhere. Should we just add an implementation of that interface to the AutoFixture.Xunit2 library? Will it be picked up by convention, or should it be registered somewhere?

Right, implement IDataDiscoverer, and then decorate the data attribute with [DataDiscoverer(...)]. Example: InlineDataDiscovererAttribute, InlineDataDiscoverer
DataDiscoverer has both methods as virtual; since this is the default behavior you're already using, you could use it as a base class and just override SupportsDiscoveryEnumeration.

@bradwilson, thank you, it's all clear now :+1:
Converting this issue to a feature that's up for grabs for anyone wanting to take it :smile:

I'll see if I can tackle this now :smile:


Fullscreen disable not functioning as expected

Hello!
I have disabled the fullscreen option and configured styling via CSS but nothing changes with the component, it continues to behave as if fullscreen is still enabled.
Here is the component:
import React, { useCallback } from 'react';
import Particles from 'react-tsparticles';
import { loadFull } from 'tsparticles';

const AntParticles = () => {
  const particlesInit = useCallback((engine) => {
    loadFull(engine);
  }, []);
  return (
    <Particles
      id="tsparticles"
      init={particlesInit}
      options={{
        fullscreen: {
          enable: false,
        },
        particles: {
          color: {
            value: '#000',
          },
          move: {
            direction: 'none',
            enable: true,
            outModes: {
              default: 'bounce',
            },
            random: false,
            speed: 3,
            straight: false,
          },
          number: {
            limit: 10,
            value: 0,
          },
          shape: {
            type: 'circle',
          },
          size: {
            value: 2,
          },
        },
        emitters: {
          direction: 'none',
          life: {
            count: 1,
            duration: 20,
          },
          rate: {
            quantity: 1,
            delay: 0.5,
          },
          size: {
            width: 0,
            height: 0,
          },
        },
      }}
    />
  );
};

export default AntParticles;

The CSS:
#tsparticles {
  position: absolute;
  width: 100%;
  height: 100%;
}

I'm sure it's something obvious I am missing but every combination of things I've tried has yielded the same behavior described above

The property is fullScreen, not fullscreen.

bruh.....
Thank you so much I've been staring at this for hours


(WIP) execAsync parameter for SshMachineLocation#execCommand

This enables ssh machine location to always use that flag for execCommand and execScript
location:
  jclouds:vcloud-director:
    brooklyn.ssh.config.execAsync: true
services:
- type: catalog-item

@bostko there are merge conflicts.
Could you add a test to SshMachineLocationIntegrationTest, and maybe also SshMachineLocationTest, for use of async? See existing tests such as SshjToolIntegrationTest.testAsyncExecReturnsExitCode() - we don't need to duplicate all their functionality, we just want to confirm that async really does happen when configured in SshMachineLocation.

I started looking into why testSshExecScript() was failing. First quick comment: you need to enable the feature:
    @BeforeMethod(alwaysRun=true)
    public void setUp() throws Exception {
        origAsyncExecEnablement = BrooklynFeatureEnablement.setEnablement(BrooklynFeatureEnablement.FEATURE_SSH_ASYNC_EXEC, true);
        super.setUp();
    }

    @AfterMethod(alwaysRun=true)
    public void tearDown() throws Exception {
        try {
            super.tearDown();
        } finally {
            if (origAsyncExecEnablement != null) {
                BrooklynFeatureEnablement.setEnablement(BrooklynFeatureEnablement.FEATURE_SSH_ASYNC_EXEC, origAsyncExecEnablement);
                origAsyncExecEnablement = null;
            }
            RecordingSshjTool.clear();
        }
    }

But it still fails. It doesn't manage to get the stdout/stderr from the long polling. If you change the test to also pass in SshMachineLocation.NO_STDOUT_LOGGING.getName(), true then it works.
The problems seems to be the interaction between the PipedOutputStream (added in ExecWithLoggingHelpers.execWithLogging()) and the CountingOutputStream (added in SshjTool.execScriptAsyncAndPoll's longPoll()).
I don't have time to investigate further just now, unfortunately. I suggest we park this for a bit longer.
I'm not sure why we're wrapping it in a PipedOutputStream (which allows us to also receive the bytes and log them, using the StreamGobbler to respond to callbacks about the bytes being received). I'm not sure why we don't just wrap the OutputStream in a much simpler way, in a similar way to how guava wraps CountingOutputStream - where on each byte that is written it can check if that's the end of a line and log it accordingly.
But we don't want to be making changing like that just now, and certainly not as part of this PR.

I will not use those changes. Closing for now.


Paste will not work on other input if sheet is rendered.

Hello nick-keller!
I want to use paste(Ctrl + v) in input and textarea.
However, it does not work if the sheet is rendered.
The code I tested is as follows.
When the sheet is rendered with the trigger button, the paste function does not work, and when it is erased, the paste function operates.
please fix the issue
import React, { useState } from "react";
import { checkboxColumn, DataSheetGrid, keyColumn, textColumn } from "react-datasheet-grid";
import "react-datasheet-grid/dist/style.css";

const Example = () => {
  const [show, setShow] = useState(false);

  const [data, setData] = useState([
    { active: true, firstName: "Elon", lastName: "Musk" },
    { active: false, firstName: "Jeff", lastName: "Bezos" },
  ]);

  const columns = [
    { ...keyColumn("active", checkboxColumn), title: "Active" },
    { ...keyColumn("firstName", textColumn), title: "First name" },
    { ...keyColumn("lastName", textColumn), title: "Last name" },
  ];

  const [text, setText] = useState("");

  return (

      {show && <DataSheetGrid value={data} onChange={setData} columns={columns} />}

        <textarea
          value={text}
          onChange={(e) => setText(e.target.value)}
          style={{ border: "1px solid gray" }}
        />
        <input value={text} onChange={(e) => setText(e.target.value)} style={{ border: "1px solid gray" }} />
        <textarea style={{ border: "1px solid gray" }} />
        <button onClick={() => setShow(!show)}>trigger</button>

  );
};

export default Example;

Hey @nick-keller, thanks for looking at this, unfortunately it's still an issue, even in 4.10.1.
Could you try without the event.preventDefault() in the 'paste' event listener?
https://github.com/nick-keller/react-datasheet-grid/blob/444bc6a2a08e00d9cbe8531c21697397546b67d3/src/components/DataSheetGrid.tsx#L876
Thanks!

I believe I messed up th epublish step, can you try 4.10.2 ?

Works now! Thank you!


Update how caching works for CI

Right now, when we use Travis CI, I think that because it caches some calls like ones to npm install, we end up with the build failing, in this example see build #22:
https://travis-ci.org/thegreenwebfoundation/lighthouse-plugin-greenhouse/builds/569455160
However, the same build passes when you clear the cache and run it - we end up with it passing the tests.
I think this is result of the caching causing an error like so:
npm WARN checkPermissions Missing write access to /home/travis/build/thegreenwebfoundation/lighthouse-plugin-greenhouse/node_modules/lighthouse-plugin-greenhouse

npm WARN<EMAIL_ADDRESS>No repository field.

npm ERR! path /home/travis/build/thegreenwebfoundation/lighthouse-plugin-greenhouse/node_modules/lighthouse-plugin-greenhouse

npm ERR! code ENOENT

npm ERR! errno -2

npm ERR! syscall access

npm ERR! enoent ENOENT: no such file or directory, access '/home/travis/build/thegreenwebfoundation/lighthouse-plugin-greenhouse/node_modules/lighthouse-plugin-greenhouse'

npm ERR! enoent This is related to npm not being able to find a file.

npm ERR! enoent

npm ERR! A complete log of this run can be found in:

npm ERR!     /home/travis/.npm/_logs/2019-08-11T13_31_49_335Z-debug.log

It looks we can disable the cache to at least give us reliable build info, by adding this  to TravisCI:
cache: false

That will result in more data being shifted around, which is less than ideal.
Weirdly, the travis config file we have on this repo is pretty much the same as the one used by the lighthouse-plugin-field-performance plugin,  which this greenhouse plugin is largely based on, and it looks like their builds are passing fine.
It might be worth asking @alekseykulikov, to see if he had a similar issue for his plugin, to compare notes.
https://docs.travis-ci.com/user/caching/

:wave:
Are you sure this is caching related? Doesn't look like that to me... maybe some flakiness on travis' side? Was the problem always there or just recently?
I'd say set cache:
cache:
  npm: false

And if it goes away you're at least sure it's cache related. If it stays you also now more.
Overall, it's sad for travis that you'll take longer but the impact shouldn't be that big :)
Cheers and hope I was helpful,
Tobi

Sounds worth a try, if nothing else 👍 .
Danke!

It looks like it worked! WOOHOO, thanks @PragTob!
(gonna try out a thing)
@all-contributors please add @PragTob  for CI wrangling tips

Ooops. Let's try this again:
@all-contributors please add @PragTob for helping sort out infra with CI wrangling tips


Added proper comment in dockerfile

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

Your profile appears to have no information changes and now the JSON is broken.
There is no issue for the docker file changes. Please read our Contributing Guide as to suggesting project changes and the procedure for this in this project: https://github.com/EddieHubCommunity/LinkFree/blob/main/CONTRIBUTING.md
Therefore I will be closing this Pull Request.


Autodetection should not return tables that contains other tables

Came upon this case while testing:

Should we only return the leaves of the tree? (regions that do not contain others) — @jeremybmerrill

I think that's probably safe.

For reference, this is the document that triggers that bug: 9.pdf

Additionally, the outermost rectangle wouldn't have been detected if we had a fix for #21


Fixed website urls not defaulting to external

will only re-adjust if there is a '.' in the url and '//' is not

closing in favor of #215


BUG about "lv_page"？ (v5.3)

Hi,
I have a puzzle. This is the code for  "lv_test_page_2.c",
lv_obj_t * page1 = lv_page_create(lv_scr_act(), NULL);
    lv_obj_set_size(page1, LV_DPI, LV_DPI * 2);
    lv_page_set_scrl_fit(page1, true, true);
    lv_page_set_scrl_layout(page1, LV_LAYOUT_COL_L);
    lv_page_set_sb_mode(page1, LV_SB_MODE_OFF);
    lv_page_set_rel_action(page1, page_rel_action);
    lv_page_set_style(page1, LV_PAGE_STYLE_BG, &bg);
    lv_page_set_style(page1, LV_PAGE_STYLE_SCRL, &scrl);
    lv_page_set_style(page1, LV_PAGE_STYLE_SB, &sb);

    lv_obj_t * label = lv_label_create(page1, NULL);
    lv_label_set_text(label, "First line of a text\n"
                      "Second line of a text\n"
                      "Third line of a text\n"
                      "Forth line of a text\n"
                      "Fifth line of a text\n");

When I debug this code，I found that the variable address of page1 was not the same as the parent  variable  address of the label,
such as:
page1 : 0x96bc60,
label->par : 0x96bcf8
Then, i can't use lv_obj_get_parent to get the parent address of a obj.

Hi @as564335sa, can you show the code, by which you are reading the addresses of page1   and label->par . Is it possible, that you are reading the addresses of pointers, not the value stored in these pointer?

Hi, @BesitzeRuf
I changed the code, like this:
lv_obj_t * page1 = lv_page_create(lv_scr_act(), NULL);
    lv_obj_set_size(page1, LV_DPI, LV_DPI * 2);
    lv_page_set_scrl_fit(page1, true, true);
    lv_page_set_scrl_layout(page1, LV_LAYOUT_COL_L);
    lv_page_set_sb_mode(page1, LV_SB_MODE_OFF);
    lv_page_set_rel_action(page1, page_rel_action);
    lv_page_set_style(page1, LV_PAGE_STYLE_BG, &bg);
    lv_page_set_style(page1, LV_PAGE_STYLE_SCRL, &scrl);
    lv_page_set_style(page1, LV_PAGE_STYLE_SB, &sb);

    printf("page1 : %08X\r\n",page1);
    lv_obj_t * label = lv_label_create(page1, NULL);
    lv_label_set_text(label, "First line of a text\n"
                      "Second line of a text\n"
                      "Third line of a text\n"
                      "Forth line of a text\n"
                      "Fifth line of a text\n");
    printf("parent of label : 0x%08X\r\n",lv_obj_get_parent(label));
    printf("parent of label 2: 0x%08X\r\n",lv_obj_get_parent(lv_obj_get_parent(label)));

and get this:

I don't understand the result.

@as564335sa It's because the page contains a scrollable container object. When you create an object with the page as it's parent, it is automatically moved to the container.
The hierarchy is as follows: page1 >>> page1_cont >>> label
This is why the parent of the parent is the page.

Thanks,i get it!


Not caching to the right database

Hi
So I configured MODEL_CACHE_STOR in my .env to point to redis with different database/index number that the one I use in my cache but i think its still using my default cache database
Am I using it right?
Thanks

Keep in mind that you will have to create a configuration for the other cache store in your cache and database config files. If you are still having issues after doing that, please re-open and post your database and cache config files. Also make sure that you're .env file has MODEL_CACHE_STORE, and not MODEL_CACHE_STOR (was probably a typo in the description above, but I just want to make sure).

Thank @mikebronner
I did create configuration for my other cache store, here is my file:
.env
    MODEL_CACHE_STORE=modelcache
cache.php
     'redis' => [             'driver' => 'redis',             'connection' => 'cache',         ],         'modelcache' =>[             'driver' => 'redis',             'connection' => 'modelcache',         ],
database.php
          'cache' => [         'host' => env('REDIS_HOST', 'localhost'),         'password' => env('REDIS_PASSWORD', null),         'port' => env('REDIS_PORT', 6379),         'database' => 1,         'read_timeout' => 60,         'timeout' => 5,         'persistent' => false       ],       'modelcache' => [         'host' => env('REDIS_HOST', 'localhost'),         'password' => env('REDIS_PASSWORD', null),         'port' => env('REDIS_PORT', 6379),         'database' => 2,         'read_timeout' => 60,         'timeout' => 5,         'persistent' => false       ],

Did you clear your config cache? php artisan config:clear? It's probably cached there.


CKAN-META not indexing latest RealFuels

The 12.8.4 release of real fuels was removed and replaced with <IP_ADDRESS> days ago. The bot has not picked up this change can this be remedied.
https://github.com/NathanKell/ModularFuelSystem/releases/tag/rf-v<IP_ADDRESS>

The current indexing error is:
http://status.ksp-ckan.space/

Error parsing version file GameData/RealFuels/RealFuels.version: After parsing a value an unexpected character was encountered: ". Path 'VERSION.PATCH', line 9, position 2.

Oh never mind, I already did that, see NathanKell/ModularFuelSystem#238. Just need a new release that contains that fix.

the download was updated which is why I'm confused as to why it hasn't reindexed it. Doesn't it usually pick up if the hash has changed?

Was it? I just re-downloaded it to check and the syntax error was still there.

You are absolutely right. I only checked that the dll was updated not that the version file was fixed.

Latest upload worked!
https://github.com/KSP-CKAN/CKAN-meta/commit/755212dd45701ea378e3a520acd76f9665a6d59b

thanks seems to be good now


A config that injects the Kafka event CREATETIME as an OpenSearch date on index creation

This has already been added to (and made customizable/optional) the ElasticSearch Sink.
Problem
This sink does not make it easy to inject the Kafka event CREATETIME into the event, and have the auto-generated index receive it properly as a date type. The only way I've found to do it with schema-less messages is to have it as a formatted string VERY specifically in ISO format.
For Protobuf, I still haven't figured out how to do it. The ISO format string doesn't create the field as a date.
Solution
There should be a configuration that, when true, injects the Kafka event CREATETIME as the @timestamp field, of OpenSearch type date. It should work regardless of the message schea type (no schema, json, protobuf, avro).
There may be a good way to do this already, and if so, it should be added to the documentation.

This feature is about Data Streams. It was added recently and so far in main.

was added here https://github.com/aiven/opensearch-connector-for-apache-kafka/pull/158


Skip messages with more than 128 chunks

According to GELF specification a message must not consists of more than 128 chunks (http://docs.graylog.org/en/latest/pages/gelf.html#chunking).
If you try to send a big message in more than 255 chunks GELFHandler.send will raise struct.error exception since sequence count is 1 byte, see https://gist.github.com/akhoronko/98665bf5229daf92f621d677239fbb83

Is this patch dropping the entire message when it exceeds 128 chunks? If so, is it desirable to truncate to the maximum possible size instead?

Yes, the entire message will be dropped. We can't just truncate the message since it's serialized to the json already. Of course we can deserialize this json to the python dict, try to truncate the message, serialize to the json, try to send it again and so on, but it will waste resources. And who knows will the truncated message bring some value or it will be useless. May be some warning will be enough to show that application trying to send too big messages
I agree. Do you think it's a good idea to insert a static placeholder message to inform that the original one has been dropped because it exceeded the maximum length?

@akhoronko with #118 are we good to close this PR? I assume this use-case is now covered with graypy 2.0.0.

@nklapste yes, I will close it


Run tests against jQuery 1.12.4

Part of https://github.com/alphagov/static/pull/869
https://blog.jquery.com/2016/01/08/jquery-2-2-and-1-12-released/
https://blog.jquery.com/2016/02/22/jquery-1-12-1-and-2-2-1-released/
https://blog.jquery.com/2016/03/17/jquery-1-12-2-and-2-2-2-released/
https://blog.jquery.com/2016/04/05/jquery-1-12-3-and-2-2-3-released/
https://blog.jquery.com/2016/05/20/jquery-1-12-4-and-2-2-4-released/

Test failures seem to be unrelated?

Yeah, you're seeing the error that #278 is trying to fix. I've kicked off the build again from the project page ("Rebuild" won't work because it uses the same broken parameters) and it's fine. Sorry about that!


Wrong dynamic expressions value

https://docs.microsoft.com/en-us/azure/data-factory/how-to-send-email#add-dynamic-messages-with-system-variables-and-expressions
wrong: @activity("CopyData").output.errors[0].Message
right: @string(activity('Waterfall').output.runError)

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

ID: 67314add-afed-bd07-a432-1cdf9303f2cb
Version Independent ID: 742a7c8c-7e72-c340-f900-6fd5c19ae6d9
Content: How to send email - Azure Data Factory & Azure Synapse
Content Source: articles/data-factory/how-to-send-email.md
Service: data-factory
Sub-service: tutorials
GitHub Login: @ssabat
Microsoft Alias: susabat

@cherietopham11 Thanks for reaching out. The dynamic expressions provided at the end of the document are just examples for reference. But based on the requirement user has to write their own expressions as per the need.

I don't see what the issue with those expressions. Please elaborate if that's not the case.
Thanks

We will now proceed to close this thread as we have not heard back from you. If there are further questions regarding this matter, please tag me in your reply and reopen the issue. We will gladly continue the discussion.


There is a draft plan for implementing support for deferred mode

In Milestone 3 of #20, we'll be adding support for the Puppet integration to leverage deferred functions to delegate secret retrieval to Puppet agents.
From the epic:

Deferred Secret Retrieval – Leveraging the new deferred function feature in Puppet 6, the Conjur module can now delegate secret retrieval to the node itself. Previously, secrets were always retrieved by the Puppet master and provided to each node via the requested catalog. This follows Puppet’s recommend best practices for secret store integrations, as it removes the Puppet master as an unnecessary intermediary.

In this spike, we'll research what will be required to add this support. Note: we must add this support so that this module continues to support Puppet 5, which means that it must be configurable whether to operate in deferred mode or not.
AC:

[ ] There is a comment on this issue with a draft plan for adding optional support for running the Conjur Puppet module with deferred functions when using Puppet 6. The plan should include:

Suggestion for how to configure the module to use deferred functions (does the configuration need to be on the server side or the agent side? can it be a new variable in the conjur class definition of the agent? etc)
Proposal for how deferred function support should be implemented / invoked when the module is configured to use it
What the requirements that must be met to use deferred functions? (eg are Puppet 6 server AND agents required?)
What error checking should be added to the module to "fail fast" if the env doesn't meet the requirements?

Noting here: this might be as simple as wrapping the Conjur lookup in Deferred. See the docs here. It would be valuable in this spike to validate whether this works, and if so we can document that "when using puppet 6, wrap the lookup function call in Deferred to run the lookup on the node instead of on the puppet server".

Tried to run a manifest with Deferred using the following, using the docs for reference https://puppet.com/docs/puppet/6.17/deferring_functions.html.
  notify { "Grabbing 'inventory/db-password' secret...": }
  $variables = {
    'secret' => Deferred('conjur::secret', ['inventory/db-password']),
  }

  # WARNING: You should not print secrets like this to console in
  #          non-development environments!
  file { $pem_file:
    ensure  => file,
    content => Deferred('inline_epp',['<%= $secret %>', $variables]),
  }

The result was an error on the agent side:
Error: Failed to apply catalog: undefined method `variable_value' for nil:NilClass

It seems that the conjur::secret method doesn't just assume deferred functionality for free.

A bit deeper info on the error:
Test manifest:
File { backup => false }

node default {
  if ($facts['windows_puppet_agent']) {
    $pem_file  = 'c:/tmp/test.pem'
  } else {
    $pem_file  = '/tmp/test.pem'
  }

  notify { "Including conjur module...": }
  include conjur

  notify { "Grabbing 'inventory/db-password' secret...": }
  $secret =  Sensitive(Deferred(conjur::secret, ['inventory/db-password']))

  notify { "Writing secret '${secret.unwrap}' to $pem_file...": }
  file { $pem_file:
    ensure  => file,
    content => $secret,
  }

  notify { "Done!": }
}

Trace output:
Error: Failed to apply catalog: undefined method `variable_value' for nil:NilClass
/opt/puppetlabs/puppet/cache/lib/puppet/functions/conjur/secret.rb:18:in `secret'
/opt/puppetlabs/puppet/cache/lib/puppet/functions/conjur/secret.rb:23:in `with_defaults'
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/functions/dispatch.rb:60:in `invoke'

Relevant code section where scope['conjur::client'] is nil (which needs to not be nil for Deferred to work): https://github.com/cyberark/conjur-puppet/blob/master/lib/puppet/functions/conjur/secret.rb#L16-L24:
  def secret client, account, id, token
    token = token.unwrap if token.respond_to? :unwrap
    sensitive.new client.variable_value account, id, token #Exception occurs here since client is 'nil'
  end

  def with_defaults id
    scope = closure_scope
    secret scope['conjur::client'], scope['conjur::authn_account'], id, scope['conjur::token']
  end

Preliminary research:

We need to switch from scope to Facter-based variable retrieval.

There may be some subtle differences between scope variables that master might modify vs directly provided facts from the Agent. I'm guessing this comes into play heavily if we use server-provided credentials.

We cannot encrypt the token the same way as the agent will not have the master's private key to decrypt it.

Not a valid diff but it shows the most relevant changes to get Deferred working with agent-provided host/apikey combo:
https://gist.github.com/sgnn7/01b88e192fb91ca2b89c06874662a398

PoC with agent-provided credentials Deferred working: https://gist.github.com/sgnn7/3aebb6705f9953a90ce81af4462f3407. In the PoC, we still send the encrypted api key up as facts but since it's encrypted and master is the only one that can decrypt it, it's effectively just throwaway data that gets re-pulled when agent encounters the deferred in the manifest.

This is now complete with #179 merged with the following items left to be done:

Cleanup of leftover comments: #183
Investigate use of hash for params instead of positional args: #184
cert_file support: #105
(not known if wanted yet) persistence of server-provided deferred creds onto the agent

Suggestion for how to configure the module to use deferred functions (does the configuration need to be on the server side or the agent side? can it be a new variable in the conjur class definition of the agent? etc)

We support both

Proposal for how deferred function support should be implemented / invoked when the module is configured to use it

Included in the documentation on main branch

What the requirements that must be met to use deferred functions? (eg are Puppet 6 server AND agents required?)

Puppet 6 server and agent

What error checking should be added to the module to "fail fast" if the env doesn't meet the requirements?

Puppet will prevent running this code on puppet 5 as it does not support deferred functions.


autoscaling: implement the basic framework

What problem does this PR solve?
Resolves #2676.
What is changed and how it works?
This PR implements the basic framework for auto scaling.
Check List

Tests

Will add tests later.

Related changes

Need to cherry-pick to the release branch

Release note

Add a TODO. PTAL @howardlau1999 @Yisaer

LGTM

/run-all-tests

/merge

/merge

/run-integration-common-test

/merge


Automount Azure Files share on jumplinux1

Please provide us with the following information:

This issue is for a: (mark with an x)
- [ ] bug report -> please search issues before submitting
- [  x ] feature request
- [ ] documentation issue or request
- [ ] regression (a behavior that used to work and stopped in a new release)

Minimal steps to reproduce

N/A

Any log messages given by the failure

N/S

Expected/desired behavior

jumplinux1 should automount the Azure Files share provisioned in terraform-azurerm-vnet-app.

OS and Version?

Ubuntu 22.04

Versions

Ubuntu 22.04

Mention any other details that might be useful

Thanks! We'll be in touch soon.

This enhancement will be included in build 2.7.3.


Improve travis config

Looks like the build failed all the time?

I have to fix the tests :sigh:


error  run-setup-hotword.js

Question

Hello,
I just installed Leon; Installation was successful but an error occurs while downloading snowboy-2.2.5.tgz

This script no longer exists or has been moved, how to work around the problem?
I tried in development mode, the error is similar.
My installation:

LXC Proxmox container
Debian12 Standard, nodejs 18 and Python 3.11

Your project is very interesting, I wish you success
Kind regards
Michel Gravier

It seems like that package @bugsounet/snowboy doesn't exist anymore. I tried with similar npm packages or forks but had no luck so far. So yea, it seems like it's just quite outdated sadly :,>

This seems to still be an issue when attempting to use v1.0.0-beta.8.
Is there any update to this issue?
Thanks


Added createCylinder method to Mesh3D

I needed a cylinder mesh for our engine.
So I made a cylinder-geometry file based on threejs's cylinder geometry.

Nice, thanks for helping!


Implement simple $addFields/$set aggregation pipeline stages

What should be done?
We should implement those two aggregation pipelines stages (they are aliases):

https://www.mongodb.com/docs/manual/reference/operator/aggregation/addFields/
https://www.mongodb.com/docs/manual/reference/operator/aggregation/set/

Let's do the simplest part for now and add support for literal values only, not for all expressions.
Where?

https://github.com/FerretDB/FerretDB/tree/main/internal/handlers/common/aggregations/stages
https://github.com/FerretDB/FerretDB/blob/main/integration/aggregate_documents_compat_test.go

Definition of Done

all handlers updated;
compatibility tests added;
spot refactorings done.

@bibhu107 sure! (and sorry, we missed your comment)

Hi @AlekSi My systems firewall is blocking to get necessary packages to build it. So Can't take it up

Hi @AlekSi I would like to take this. Could you please assign this to me?

@bibhu107 sorry to hear, but thank you for trying!
@shibasisp the issue is now assigned to you, feel free to ask if you have any questions. You can also reach us on our Community Slack.

Hey @shibasisp, just wanted to check in on the progress of this issue. Any updates? Any questions?

Hi @rumyantseva , appologies for the delay, I will be raising the PR by Sunday(4th June 2023).

@shibasisp Let's focus on #1432 / #2676 for now

Sure @AlekSi , I will prioritize to close #2676


Delete documents by filter

⚠ This issue is generated, it means the examples and the namings do not necessarily correspond to the language of this repository.
Also, if you are a maintainer, please add any clarification and instructions about this issue.
Sorry if this is already wholly/partially implemented. Feel free to let me know about the state of this issue in the repo.
Related to https://github.com/meilisearch/integration-guides/issues/261

⚠ This issue is part of the new Meilisearch release v1.2
New implementation
Related to:

issue: https://github.com/meilisearch/meilisearch/issues/3477
spec: https://github.com/meilisearch/specifications/pull/236

It allows the user to use a filter expression to remove documents.
Since there is already a method called deleteDocuments(uids) in the SDKs, and this method is calling the route POST /indexes/:index_uid/documents/delete-batch, the requirements to implement the new way is to create a conditional internally to check the presence of the new parameter filters and then call the new method POST /indexes/:index_uid/documents/delete.
When the developer uses the old ids argument, it should keep calling the old implementation.
This will avoid any silent failures the users may find.
For example, in the Ruby SDK:
# Public: Delete documents from an index
#
# documents_ids - An array with document ids (deprecated, optional)
# filter - A hash containing a filter that should match documents. Available ONLY with Meilisearch v1.2 and newer (optional)
#
# Returns a Task object.
def delete_documents(documents_ids = nil, filter: nil)
  if documents_ids
    http_post "/indexes/#{@uid}/documents/delete-batch", documents_ids
  else
    http_post "/indexes/#{@uid}/documents/delete", { filter: filter }
  end
end

Extra: Add inline documentation for the method, explaining the availability of the filter syntax only for Meilisearch v1.2 and newer.
Extra: Mark the document_ids parameter as deprecated. eg. @Deprecated('migration') on Java/Dart, Obsolete on C#, etc. Add a library if necessary.
Extra: Add a try/catch to detect the error and give the user a hint about the possibility of a version mismatch between the SDK version and the instance version. Check this PR for an example in JavaScript: https://github.com/meilisearch/meilisearch-js/pull/1492
Extra: General recommendations:

For languages where method overloading is available, use the overloading.
For languages where a builder is available, use the builder pattern.

Todo:

[ ] Implement the deleteDocuments new behavior keeping the old behavior when possible.

@BlitzBanana can you add the labels enhancement / good first issue to this issue?
Also, I put the exact same issue as the other repositories here, but I think the implementation will be simpler because the name Meilisearch.Document.delete/3 is free to be used. Just a simple wrapper will close the deal.


MCP gitlab is not working

gitlab is unable to connect via mcp server using mac os
"mcpServers": {
        "gitlab": {
            "command": "npx",
            "args": ["-y", "@modelcontextprotocol/server-gitlab"],
            "env": {
                "GITLAB_PERSONAL_ACCESS_TOKEN": "-----",
                "GITLAB_URL": "----",
                "GITLAB_PROJECT_ID": "0-----0"
            }
        }
}

other npx server is working fine like filesystem, brevSearch etc

What do the logs say?

This is now fixed. Sorry


feat: body-fail option

What type of PR is this? (check all applicable)

[ ] ♻ Refactor
[x] ✨ Feature
[ ] 🐛 Bug Fix
[ ] 👷 Optimization
[ ] 📝 Documentation Update
[ ] 🔖 Release
[ ] 🚩 Other

Description
This change resolves #182 and also has documentation to resolve #165. The feature is a new optional input body-fail which defaults to false. The default behavior is to generate a warning if the body check fails, while also leaving a review comment. If the input is set to true, the behavior will including the action showing as a failed check.
Related Tickets & Documents

#182 and #165.
Added tests?

[ ] 👍 yes
[x] 🙅 no, because they aren't needed
[ ] 🙋 no, because I need help

Added to documentation?

[x] 📜 readme
[ ] 🙅 no documentation needed

[optional] What gif best describes this PR or how it makes you feel?

thank you @mtfoley - apologies for radio silence, was OOO last week.  Tested this in our workflow and works as desired. 👍

Glad to hear it @nkapinos! If you can think of any other improvements to this action (or complementary project ideas), give me a shout.


Use propToAssign transformer for IE 10 support

See https://babeljs.io/docs/advanced/caveats/ and http://babeljs.io/docs/advanced/transformers/spec/proto-to-assign/
We are seeing an exception raised on this line for IE 10. The exception is Object doesn't support property or method 'deepDiff'.
Looking at the docs, it seems that using this option should solve this.

Thanks

thanks for the speedy response!!


Load data using snapshot repository during benchmark runs

As of now for each and every benchmark run the data is downloaded locally and then indexed into the cluster before the search queries are run, this process takes the most time in the overall benchmark process.
Explore ways to be able to restore the data into the indices from a snapshot repository to speed up the process.
This will also provide more consistent results with search queries.
Pre-requisites:

Create a S3 snapshot in testing infra aws account and add snapshots of all the available opensearch-benchmark-workloads.
Add support in opensearch-cluster-cdk to install repository-s3 plugin and add S3 snapshot bucket IAM permission.
Add support in python workflow to accept --include-tasks, --exclude-tasks and --test-procedure.

Acceptance Criteria:

The workload data should not get downloaded and indexed while using restore from snapshot test procedure.
The # of segments should remain constant for each workload indices.
The search query latency variance should not exceed 5%.
The benchmark runtime should reduce by 50%.

Following are the task break-downs and their status:

Create s3 bucket for snapshot-repository: This is completed, the snapshot bucket will reside in the same account where the test clusters are brought up for benchmarking, this will ease the process of registering and fetching the snapshot without requiring to import aws keys and tokens. The attached role to opensearch ec2 instances will have required access to be able to fetch the snapshot.
Create snapshots of opensearch-benchmark workloads (In-progress): Currently working on indexing the opensearch-benchmark workloads data into a test cluster and then creating snapshots of them with different configurations, such as default https_logs snapshot with default # of clients and another snapshot with just client to be able ingest data linearly. This will be an ongoing process as and when demand arises for the a new workload snapshot. We will start withnyc_taxis, http_logsandpmc`.
Create new workload test procedures (Not started): Once the snapshots have been created, will work on creating custom test-procedures that will use the snapshot to index the data and then run search queries. The custom test-procedure should be customizable, i.e., the user should be able to choose which snapshot to use and what should be the index configuration while restoring the data.
Add snapshot support in opensearch-cluster-cdk (Not started): We need add respository-s3 plugin installation as default action and also make changes to ec2 instance AM profile to be able to fetch snapshot from s3 bucket.
Add support in main nightly benchmark workflow (Not started): Finally add the necessary command line parameters support in the main workflow to be able to utilize above mentioned changes. This will require changes in our nightly run jenkinsfile and corresponding groovy library

@bbarani @getsaurabh02 @rishabhmaurya

All the required milestones have been completed and nightly benchmarks are now running using snapshots.