[HTM-821] OIDC support

Now with admin-configurable OIDC endpoints!
If the IdP returns a roles claim, its content is used as group ID/names. Any unknown groups will be automatically created.
(Lightly TODO: fixing the redirect after authorization. I'm not sure this is trivial in Spring security, though.)

When a OIDC configurations becomes invalid because an IdP has rotated its keys, how would an admin be informed?
The solution is reloading the metadata by restarting or updating any OIDC config, but that isn't explicit.

At this point, the userinfo endpoint is used to fetch user info. However, even if the signature is used/checked, when an unknown kid is seen, the JWKS is re-fetched automatically by Spring Security.

integration test are failing with:
Error creating bean with name 'clientRegistrationRepository': Injection of autowired dependencies failed; nested exception is java.lang.IllegalArgumentException: Could not resolve placeholder 'tailormap-api.oidc.name' in value "${tailormap-api.oidc.name}"

perhaps an env variable or property needs to be added?

integration test are failing with:
Error creating bean with name 'clientRegistrationRepository': Injection of autowired dependencies failed; nested exception is java.lang.IllegalArgumentException: Could not resolve placeholder 'tailormap-api.oidc.name' in value "${tailormap-api.oidc.name}"

perhaps an env variable or property needs to be added?

OIDC properties can be made optional like @Value("${tailormap-api.oidc.name:#{null}}") or just empty string @Value("${tailormap-api.oidc.name:}")


Feat: Fixing the Resources header and adding Sort & Filter

Describe the feature
Currently, the header of Resources page of our site has components overlapping each other, also it lacks a Sort & Filter option for sorting the contents in a proper order.
Add ScreenShots

Record

[X] I agree to follow this project's Code of Conduct
[X] I'm a GSSOC'24 contributor
[ ] I'm a VSoC'24 contributor
[X] I want to work on this issue

@mdazfar2 please assign me this issue

@Asymtode712 you are assigned.


Scrollbars should have different appearances on macOS vs Windows & Linux

Scrollbars are rounded and flat, resembling the macOS' native ones on that OS, but they are rectangular and with a border on Windows and Linux. They also behave differently in terms of animations and show/hide behaviour. They also have "thin" variants.

macOS
Win/Linux

Normal
com.intellij.ui.components.MacScrollBarUI
com.intellij.ui.components.DefaultScrollBarUI

Thin
com.intellij.ui.components.ThinMacScrollBarUI
com.intellij.ui.components.ThinScrollBarUI

Further note: scrollbars can look different when they are on transparent or non-transparent backgrounds. They also have a border in non-macOS OSes, but theoretically could also have it on macOS (they have the LaF properties to).

Another note: the scrollbars (at least on macOS) go immediately to the "fully opaque" state, and then animate back to translucent. The built-in scrollbars in Compose Desktop simply don't allow us to do that. They also don't provide a way to customise behaviour when clicking on the track. Lastly, Swing scrollbars only make the thumb opaque when it's directly hovered, not when the track is hovered.

Also see #80 for other issues with platform consistency

Marking as blocked externally until we can see if there are changes in 241


Unexpected HTTP header 'Origin: electron://altair' sent by default

Describe the bug
Altair sends the HTTP header Origin with value electron://altair which leads to an unwanted 403 error with "Invalid CORS request" from an local server-backed API.
To Reproduce
Steps to reproduce the behavior:

Run a GraphQL server locally on http://localhost:8080/graphql with a CORS policy set to restrict request's origins to e.g. http://localhost:8080
Request the GraphQL schema via this standard introspecion query (POST on http://localhost:8080/graphql) : see https://github.com/graphql/graphql-js/blob/master/src/utilities/introspectionQuery.js#L21-L111
You get a 403 (Forbidden) error with a message "Invalid CORS request".

Notes:

Altair sends unexpectedly the aforementioned Origin: electron://altair header.
exact message "Invalid CORS request" is probably returned by the framework I use for my backend API, which is Spring (Java) and it would probably be similar with another technology/language/library/framework, but at least I think the HTTP status would be the same (403).

Workaround: I have to force the Origin header with value http://localhost:8080 so I can get my GraphQL schema.
Expected behavior
I should not be forced to override the Origin header which should not be sent by default.
Go check other GraphQL clients e.g. Postman, Insomnia, GraphQL.app (themselves based on Electron), they don't do this.
Desktop (please complete the following information):

OS: Windows 10 Pro (64-bit)
Browser: irrelevant
(Altair) App Version: 2.1.8

Additional context
Everything's explained above.

Hey @mxmlnglt, if you use a CORS protected API with the app, it would complain about any origin that isn't in the list of allowed origins by the set CORS policy (not even a localhost origin with a different port). The workaround you applied is the intended way to send requests to your server when it has CORS enabled on it, that workaround was intentionally implemented for this case.


Package yubioath-desktop 4.3.5~ppa1~cosmic1: Dependency on python3-yubikey-manager not updated

Operating system and version: Ubuntu 18.10 Cosmic Cuttlefish
Bug description summary: PPA Package "yubioath-desktop" in version 4.3.5~ppa1~cosmic1 has a dependency on python3-yubikey-manager in version <=3.0.0 that cannot be satisfied from the PPA
refer to #261

Steps to reproduce
# add-apt-repository ppa:yubico/stable
 PPA for stable Yubico software.
 More info: https://launchpad.net/~yubico/+archive/ubuntu/stable
Press [ENTER] to continue or Ctrl-c to cancel adding it.

 Done
# apt-get install yubioath-desktop
Reading package lists... Done
Building dependency tree
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 yubioath-desktop : Depends: python3-yubikey-manager (<= 3) but 3.0.0~ppa1~cosmic1 is to be installed
E: Unable to correct problems, you have held broken packages.

Expected result
Can install yubioath-desktop from PPA.
Actual results
Cannot install yubioath-desktop from PPA.

Hi,
Have you tried the latest  version (5.0.1)?
The latest version of Yubico Authenticator is version 5.0.1, which is released as an AppImage for Linux. We are currently looking into other distribution formats.

I have not.
The PPA exists. If it's not supported anymore, I suggest removing it.
It's not a good idea to keep it around when it's either broken or unsupported.


Get data files from web

This issue is a proposed solution to the goal of not storing data in the OG-USA repository. Much of the data we want to use for calibration is already accessible on the web. PR #511  adds the wealth.py module. This module uses Survey of Consumer Finances data in lines 21-22. We want to avoid loading that data in the repository.
This issue proposes to write code using the requests and urllib.request packages to give the user an option to have the data file locally or to get it from the SCF website. Examples of what I have in mind were written by @hayleefay in the hrs_by_age.py file of the CPS_hrs_age module.
@jdebacker

Yes - can you can pass a url directly to the Pandas.read_csv (and read_stata, read_excel, etc) function as well.

Many data files that we need to retrieve are zipped. The code updates in PR #517 deal with retrieving zipped files.


google-services.json config is supposed to be used?

How come this project references newTracker(R.xml.global_tracker) when the documentation at developers.google.com/analytics states that:
"The Google Services plugin for Gradle parses configuration information from the google-services.json file". I have the google-services.json in my project, now how do I init the tracker with it?

@mutablestudio the com.google.gms:google-services plugin mentioned in the guides uses the json file to populate XML files at build time, which is how you get R.xml.global_tracker.
See:
https://github.com/googlesamples/google-services/blob/master/android/analytics/build.gradle#L10
https://github.com/googlesamples/google-services/blob/master/android/analytics/app/build.gradle#L32


Minor: Fix Iterable[SplitResultResidual] type errors

This is partially related to BEAM-7746, and partially a bugfix caught by typehints.
We can see here that delayed_applications is supposed to be a List[Tuple[Operation, SplitResultResidual]]: https://github.com/apache/beam/blob/dc4a6a92c0ca31268352fbe12d8399c69dc1caf9/sdks/python/apache_beam/runners/worker/bundle_processor.py#L1009-L1012
https://github.com/apache/beam/blob/dc4a6a92c0ca31268352fbe12d8399c69dc1caf9/sdks/python/apache_beam/runners/worker/bundle_processor.py#L1070-L1078
But DoOperation is appending a Tuple[Operation, **Iterable**[SplitResultResidual]].
This PR flattens the Iterable[SplitResultResidual]. It also modifies SimpleInvoker.invoke_process to match the signature in the parent, DoFnInvoker.invoke_process.

GitHub Actions Tests Status (on master branch)

See CI.md for more information about GitHub Actions CI.

I'm unclear on the actual impact of this change. Should we file a bug for the current (incorrect) behavior?
CC: @robertwb @lukecwik

Run Python Dataflow V2 ValidatesRunner

Is there a VR test we should add that would exercise this?

There are Splittable DoFn tests in fn_runner_test.py that I believe would exercise this path.

But they must not exercise it fully if they were passing before, right?

I would suspect not. Maybe a postcommit or code import into Google will pick something up.


TF Lite. Cmake. Latest git repo fails to compile from source on windows.

Issue type
Build/Install
Have you reproduced the bug with TensorFlow Nightly?
No
Source
source
TensorFlow version
latest from git
Custom code
No
OS platform and distribution
Windows
Mobile device
No response
Python version
No response
Bazel version
No response
GCC/compiler version
MSVC 17.10
CUDA/cuDNN version
No response
GPU model and memory
No response
Current behavior?
Tensorflow lite fails to compile on windows.
MSVC compiler complains becuase designated initializers is a C++20 feature but cmake set the project to be C++17.
Standalone code to reproduce the issue
In a terminal on windows:
git clone https://github.com/tensorflow/tensorflow.git
cd tensorflow/tensorflow/lite
cmake -B tflite_build
cmake --build tflite_build

Relevant log output
tensorflow/tensorflow/lite/core/c/operator.cc(28,29): error C7555: use of designated initializers requires at least '/std:c++20'
tensorflow/tensorflow/lite/delegates/xnnpack/weight_cache.h(276,7): error C7555: use of designated initializers requires at least '/std:c++20'
tensorflow/tensorflow/lite/delegates/xnnpack/weight_cache.cc(206,22): error C7555: use of designated initializers requires at least '/std:c++20'
tensorflow/tensorflow/lite/delegates/xnnpack/weight_cache.cc(210,30): error C7555: use of designated initializers requires at least '/std:c++20'
tensorflow/tensorflow/lite/delegates/xnnpack/weight_cache.cc(380,26): error C7555: use of designated initializers requires at least '/std:c++20'
tensorflow/tensorflow/lite/delegates/xnnpack/weight_cache.cc(383,26): error C7555: use of designated initializers requires at least '/std:c++20'
tensorflow/tensorflow/lite/delegates/xnnpack/weight_cache.cc(518,25): error C7555: use of designated initializers requires at least '/std:c++20'

Hi @roll-123 ,
Let me replicate this issue and I will get back to you.

Change set(CMAKE_CXX_STANDARD 17) in CMakeLists.txt to set(CMAKE_CXX_STANDARD 20) worked for me.

Hi @roll-123 ,
Can you try changing the set(CMAKE_CXX_STANDARD 17) in CMakeLists.txt to set(CMAKE_CXX_STANDARD 20) and let me know if it worked for you.

Hi @sawantkumar,
It actually looks like it compiles fine now with CXX 17. Thanks!


[DOC ISSUE] Discrepancy in "Create a Custom Tool" documentation regarding Tool property initialization

Describe the Issue
The documentation for "Create a Custom Tool" (https://docs.kaibanjs.com/tools-docs/custom-tools/Create a Custom Tool) contains outdated instructions for setting up name, description, and schema properties in a custom tool class. It suggests assigning these properties directly within the class using this.property, as shown below:
this.name = "custom_tool";
this.description = "Describe what your tool does.";
this.schema = z.object({ ... });

However, the current implementation of the LangChain Tool class, on which KaibanJS depends, expects these properties to be passed as parameters to the super() constructor call, as shown in the example below:
super({
  name: "Text-to-Speech",
  description: "Convert text to speech using OpenAI TTS",
  schema: z.object({ ... }),
});

This discrepancy may cause confusion for users following the documentation and trying to implement custom tools.
Doc URL
https://docs.kaibanjs.com/tools-docs/custom-tools/Create a Custom Tool

+1

Thank you for catching this discrepancy! We’ll update the "Create a Custom Tool" documentation to reflect the correct approach of initializing properties via the super() constructor call.


Update Translations

Here are a few strings that seem like they should be checked:

"# / %"
"Before adding indicators and performance results, we need to know your program's"
"Showing rows %(fromCount)s to %(toCount)s of %(totalCount)s"
check capitalization of 'LOP target' in Spanish (and French?).  It is translated as Objetivo LOP in Spanish and I'm not sure the capitalization is appropriate in some places.
Check that link works after "Before adding indicators and performance results, we need to know your program's"
%s%s unavailable:  this is the x% unavailable on the program page, needs to be checked for translation and to make sure there aren't two percent signs.

QA Verified:

I did some poking in spanish/french and didn't see anything out of the ordinary, when looking through the suggested checklist.

Pre-Deploy Check:

[x] Non-regressed
[x] Feature/fix can be found in release branch in staging environment, functioning as expected.

If above is checked, this feature/fix is DEPLOY READY.

Fixed in Hucklepatch


test_sign_flip does sometimes fail

Describe the bug
Observed on CI earlier; turns out:
    trials = 1000
    for _ in range(trials):
        flipped_sig = flip_sign(signal)
        if torch.all(flipped_sig == -signal):
            flips += 1
    test_prob = flips / trials
    # these values are 5 stds in each direction,
    # making a false negative extremely unlikely
    assert 0.421 < test_prob < 0.579

This has failed in at least one CI run. Need to double-check if this might be due to a logic error, otherwise just increase trials or tolerance.
Not critical for v1.0.2
Expected behaviour
Tests shouldn't randomly fail.
To Reproduce
No response
Environment Details
No response
Relevant Log Output
No response
Additional Context
No response

@asumagic do you have a link to the failing CI by chance? I'd like to take a look and fix this.

Apparently, rerunning CI (as I did) makes the log go away...


[Test] Traffic is not recorded by default during RGPreparer setup.

Resource Group Preparer is no longer recorded. Moreover group create and group delete logic will be ignored if the test is not run live.
This can be extended to other preparers as well. It might be a bit more complicated if the preparer returns information that isn't an input. E.g. account_key in the case of the StorageAccountPreparer. But it is doable. In the case of the StorageAccountPreparer, we can solve this problem by returning the recording replacement of the account key.
closes #9272

This checklist is used to make sure that common guidelines for a pull request are followed.

[ ] The PR has modified HISTORY.rst describing any customer-facing, functional changes. Note that this does not include changes only to help content. (see Modifying change log).

[ ] I adhere to the Command Guidelines.

I think this should be good to go @tjprescott @yugangw-msft


Titlebar : custom : menu separators became red since last release (2.5.0)

Describe the bug
I don't know if it is exactly a bug but, here is what i see when opening a menu

To Reproduce
Steps to reproduce the behavior:

set titlebar mode to "custom"
open any menu
see this wreid color

Expected behavior
Coloring separators is not a bad idea, but red is not my accent color
Maybe it should be accent color ?
Maybe theme related ?
Desktop (please complete the following information):

OS: Win 7 x64
Ext Version 2.5
Vscode : 1.28.2

Thank you for your work !

Update
I was able to change it by changing menu.separatorBackground in workbench.colorCustomizations


Update ApplicationStarter dependency

Coverage remained the same at 99.542% when pulling e384fc445c30544016edb26b2e2fc24bbeee3f96 on update-app-starter-dependency into 5e1ac73b4bd46f9a22914e73a6d0f64763bc5d0b on release-candidate.


C++

Issue Type: Feature Request
I would like to code in C++ but i did not check the update box for it when downloading. Can this be reversed?
VS Code version: Code 1.42.1 (c47d83b293181d9be64f27ff093689e8e7aed054, 2020-02-11T14:45:59.656Z)
OS version: Windows_NT x64 10.0.18362

Are you talking about "Visual Studio" or "Visual Studio Code"?

Visual Studio Code. thanks for correction. But I already have installed the program so I am not sure if it comes with C++ functionalities? I will send printscreen
C:\Users\Nihar Shah\Desktop\Coding\Javascript (client side interaction)\Javascript Visual Studio Code Project 1\home.js

VS Code doesn't come with built-in C++ support.
You need to follow steps described in https://code.visualstudio.com/docs/languages/cpp to properly setup your environment.


std.meta: Fix wrong assert for Issue #20863

Depends on https://github.com/dlang/dmd/pull/11320 being merged first.

Allthough a bit tedious, let's split this into multiple steps:

Disable the assert in this PR
Finish the dmd PR
Enable the fixed assert in another PR.

Disable the assert in this PR

@MoonlightSentinel merge please ;-)

Got no power here, @thewilsonator ?


function friendRequestAccept

#1249
should complete the function: friendRequestAccept() and give a code demo

Usage:
await wechaty.FriendRequest.send(contactId, 'hello')

See Also
https://github.com/Chatie/wechaty/blob/917517045eadb1f154ac409d99d2742df045590f/src/friend-request.ts#L72-L86

The latest code had been able to accept the friend request with a ding message automatically.
Please test and confirm all is ok before you close this issue.

all is ok, thanks!

all is ok, thanks!


Trigger events command should list recently used event names in dropdown

Trigger events command should list recently used event names in dropdown, so they appear on the top.

Here's a thought for UX: the "recently triggered" events in the dropdown should be the ones that the user triggered from clicking Trigger new event, rather than events created by manually typing stripe trigger or by other members of the account. However, there's a concern that the Recent events list will be confusing, since it shows all the events in the account. Do you have any thoughts on this @auchenberg-stripe?

Here's a thought for UX: the "recently triggered" events in the dropdown should be the ones that the user triggered from clicking Trigger new event, rather than events created by manually typing stripe trigger or by other members of the account. However, there's a concern that the Recent events list will be confusing, since it shows all the events in the account. Do you have any thoughts on this @auchenberg-stripe?

If I may randomly chime in;

To me the clock icon is pretty explicit on communicating that it's recent events (but indeed can't more more explicit than text, so both work for me)
How are events "in the account" split? Is it really for "the whole account" or can we at least filter events per api key? AFAIK we generate a CLI-specific key for each instance of the CLI, so if we can filter by key we could potentially load all events triggered by the same user (machine), and show both the ones triggered from VSCode and the ones from the CLI directly. That would be ideal because I could see users using both CLI and VSCode extension.

If I may randomly chime in;

To me the clock icon is pretty explicit on communicating that it's recent events (but indeed can't more more explicit than text, so both work for me)
How are events "in the account" split? Is it really for "the whole account" or can we at least filter events per api key? AFAIK we generate a CLI-specific key for each instance of the CLI, so if we can filter by key we could potentially load all events triggered by the same user (machine), and show both the ones triggered from VSCode and the ones from the CLI directly. That would be ideal because I could see users using both CLI and VSCode extension.

I chatted with Pepin offline (thanks, pepin!). To summarize our discussion:

There does not seem to be a way to send the API key as a parameter to filter events server-side.
There isn't data returned in the events blob that would let us do so client-side as far as I can tell.

So I'll continue exploring Vincent's suggestion where the UX is to only show the events triggered within VSCode. There's one open question that still remains: Should the events under the "Recent Events" view be generated with the same logic? Or remain as is?

I chatted with Pepin offline (thanks, pepin!). To summarize our discussion:

There does not seem to be a way to send the API key as a parameter to filter events server-side.
There isn't data returned in the events blob that would let us do so client-side as far as I can tell.

So I'll continue exploring Vincent's suggestion where the UX is to only show the events triggered within VSCode. There's one open question that still remains: Should the events under the "Recent Events" view be generated with the same logic? Or remain as is?

Quick feedback:

Makes a lot of sense to align "recently used events" to those who have been triggered from within VS Code. This aligns well with how VS Code works for recently used commands, projects, and alike.

Recent events lists events from coming Stripe, and should list everything from the given account (how it works today).

To me the conceptual difference between the two are source. Is the data source local or remote? Recency should align to that.

Quick feedback:

Makes a lot of sense to align "recently used events" to those who have been triggered from within VS Code. This aligns well with how VS Code works for recently used commands, projects, and alike.

Recent events lists events from coming Stripe, and should list everything from the given account (how it works today).

To me the conceptual difference between the two are source. Is the data source local or remote? Recency should align to that.

Thanks for the input, Kenneth. We should be good to close this one out then!

Thanks for the input, Kenneth. We should be good to close this one out then!


Add habitat

Provided in https://easin.jrc.ec.europa.eu/api/cat/euconcern/ (terrestrial, freshwater, etc.)

Actually mapped in branch https://github.com/riparias/union-list/tree/fetch-from-easin-api.
However, such way to retrieve raw data is on hold until #9 is solved.


/events/get_data fails to return events with tag names having more than so many characters

Attempted to retrieve event by tag name without success. I tested with two different tags that both exist as events. One is 49 characters long and the other, 54. The former is returned, the latter is not.
curl 'http://graphite/events/get_data?tags=tag_name_that_is_forty_nine_characters_long_truly'
[{"data": "ok", "what": "sensu_event", "when":<PHONE_NUMBER>.0, "id": 2, "tags": "tag_name_that_is_forty_nine_characters_long_truly"}]

curl 'http://graphite/events/get_data?tags=tag_name_that_is_longer_than_forty_nine_characters_long'
[]

Both are returned by curl 'http://graphite/events/get_data
[{"data": "warning", "what": "sensu_event", "when":<PHONE_NUMBER>.0, "id": 1, "tags": "tag_name_that_is_longer_than_forty_nine_characters_long"}, {"data": "ok", "what": "sensu_event", "when":<PHONE_NUMBER>.0, "id": 1, "tags": "tag_name_that_is_longer_than_forty_nine_characters_long"}]

Is there some kind of character limitation at 50 characters or so that is preventing the specific tag to be retrieved by name?
Using graphite-web debian package 0.9.12+debian-6

Which backend do you use for Django, @scosist? Default one, SQLite? Just shooting in the dark, though.

Is this a duplicate of #1210?

@deniszh I'm using postgresql as a backend here.
@obfuscurity I wouldn't say this is a duplicate of #1210. I don't think it's even related. This is a problem of failing to retrieve an event given a tag, due to the character length of the tag it seems. #1210 is a problem where events are returned when only some (IOW not all) of the tags match.

Looks like django-tagging has a default MAX_TAG_LENGTH of 50 characters. This can be overridden by adding MAX_TAG_LENGTH=255 to your local_settings.py and restarting the Graphite webapp.
http://django-tagging.readthedocs.io/en/develop/#max-tag-length


Update Default Value for Jaeger Exporter Endpoint

Updated Jaeger Exporter endpoint default value to match Open Telemetry specification:

Will this userid, password be added at runtime?

For the func WithCollectorEndpoint the username and password will be determined at runtime and can come from the following sources. At the highest precedence are values passed into the function as a CollectorEndpointOption by the user. If the user does not pass in options, at the next level of precedence env vars will be checked to see if they have been initialized. If both sources are blank, the username and password will default to an empty string.


HDDS-2472. Use try-with-resources while creating FlushOptions in RDBStore

What changes were proposed in this pull request?
Use try-with-resources while creating FlushOptions in RDBStore class. Remove code duplication in getCheckpoint method.
What is the link to the Apache JIRA
https://issues.apache.org/jira/browse/HDDS-2472
How was this patch tested?
Unit tested.

Thank You @avijayanhwx for the contribution.


WIP - control-list api

:nut_and_bolt: Description: What code changed, and why?
This change adds a new API (control-list) to the compliance reporting component. The control-list API fetches stats and other useful data about filtered controls so that problematic controls may be easily identified.  The UI will make good use of this API in order to render the list that is retrieved so that any individual element may then be selected for inclusion to the filter set for subsequent, different API calls.  Using suggestions also allows us to select and add controls to filters but using suggestions is tedious and offers no insight aimed to help form the basis of deciding on a particular control. This API was designed to offer this much-needed insight.
:chains: Related Resources
:+1: Definition of Done
:athletic_shoe: How to Build and Test the Change
:white_check_mark: Checklist

[ ] Tests added/updated?
[ ] Docs added/updated?

:camera: Screenshots, if applicable

@rickmarry could you please give us a checklist or something of the sort enumerating what all remains to be done before this can get out of WIP mode?  do you need any help? happy to throw some more ppl efforts on this to get it done. we're in a bit of a time crunch here.

@rickmarry could you please give us a checklist or something of the sort enumerating what all remains to be done before this can get out of WIP mode? do you need any help? happy to throw some more ppl efforts on this to get it done. we're in a bit of a time crunch here.

The only things that I have remaining are:
1- control tags
2- control-status filtration
3- tests
Working to get 2 and 3 done today. Once these are done, I'm thinking, I'm thinking that this may come out of WIP and we can go after control tags immediately thereafter.  It's also possible I get all three done today, in which case issue #521 will be complete
I think adding more resources to this right now may actually get in the way.
This took a bit longer than expected because of all the reverse nested aggregations and diving necessary to perform calculations.. while keeping things as performant as possible.  This one was trickier than the issue suggested. My bad for not seeing that and voicing fair warning earlier

👍  thanks for the update/response!
so #2 on your list will allow us to filter by control status? is that correct?
and what does "control tags" mean..?  do you mean filtering the controls list by control tags? or something else?

so #2 on your list will allow us to filter by control status? is that correct?

yes

what does "control tags" mean..? do you mean filtering the controls list by control tags? or something else?
from the description in issue #521, I interpret the ask as simply including in the response, any tags associated with respective control.
do we also need to filter on tags too?

btw.. this thing is coming out great.. just saying

This feature is going to be great and we'll have it soon.  I promise..  nanometers away from done

do we also need to filter on tags?

the api should respect all filters, and we have filter by control tag, so yes. that's actually one of the most important bits, because we need to be able to widdle this list down by the control tag filter applied so we can see all controls that include that tag

the api should respect all filters

ok

endpoint is working well from my testing: https://github.com/chef/automate/issues/1339#issuecomment-533926496
⭐
haven't really reviewed most of the code yet tho. hoping @alexpop can do some review on this in the morning.

I'm going to push a few more integration tests in.

we talked about two items in standup:

remove the string tags proto bits, we will address this in the future (open an issue)
open an issue to enumerate additional tests to add if needed

i'm re-testing locally with latest changes


NullPointerException when response header missing content-type

Version: Finchley.RELEASE
There could be an enhancement when processing the response without content-type in response header.
Currently, Spring cloud gateway would return a 500 error with the following exception.
java.lang.NullPointerException: null
	at java.util.concurrent.ConcurrentHashMap.putVal(ConcurrentHashMap.java:1011) ~[na:1.8.0_144]
	at java.util.concurrent.ConcurrentHashMap.put(ConcurrentHashMap.java:1006) ~[na:1.8.0_144]
	at org.springframework.cloud.gateway.filter.NettyRoutingFilter.lambda$filter$3(NettyRoutingFilter.java:117) ~[spring-cloud-gateway-core-2.0.0.RELEASE.jar:2.0.0.RELEASE]
	at reactor.core.publisher.FluxPeek$PeekSubscriber.onNext(FluxPeek.java:177) ~[reactor-core-3.1.8.RELEASE.jar:3.1.8.RELEASE]
	at reactor.core.publisher.FluxMap$MapSubscriber.onNext(FluxMap.java:108) ~[reactor-core-3.1.8.RELEASE.jar:3.1.8.RELEASE]
	at reactor.core.publisher.FluxRetryPredicate$RetryPredicateSubscriber.onNext(FluxRetryPredicate.java:81) ~[reactor-core-3.1.8.RELEASE.jar:3.1.8.RELEASE]
	at reactor.core.publisher.MonoCreate$DefaultMonoSink.success(MonoCreate.java:146) ~[reactor-core-3.1.8.RELEASE.jar:3.1.8.RELEASE]
	at reactor.ipc.netty.channel.PooledClientContextHandler.fireContextActive(PooledClientContextHandler.java:85) ~[reactor-netty-0.7.8.RELEASE.jar:0.7.8.RELEASE]
	at reactor.ipc.netty.http.client.HttpClientOperations.onInboundNext(HttpClientOperations.java:578) ~[reactor-netty-0.7.8.RELEASE.jar:0.7.8.RELEASE]

The reason of that is in NettyRoutingFilter.java line 117:
exchange.getAttributes().put("original_response_content_type", headers.getContentType());
Because of ConcurrencyHashMap doesn't allow to put a null value, so the NPE will be raised.
My suggestion is when content-type not provided,  do not execute put, if there is not side-effect.
Best regards

Isn't this already solved in 2.0.1-SNAPSHOT?

I encountered the same problem.When I was routing to nginx, there was no problem with the first request, but when refreshed, nginx returned a 304 status code.So the response header missing content-type and NullPointerException was happened.

@samtonyclarke no ,not solved

I upgraded to RELEASE and immediately ran into this issue. Downgraded back to BUILD-SNAPSHOT, but no, it's not fixed.

See #374. The line mentioned above in the exception is now an if statement. Please provide a project that recreates the problem.

Thanks - that's the same problem. I'll use BUILD-SNAPSHOT until 2.0.1.RELEASE is out.

@spencergibb
to recreate, see issue

I used 2.0.1.BUILD-SNAPSHOT,but not solved

The pasted is no longer in 2.0.1. it is surrounded by an if null.

I used 2.0.1.BUILD-SNAPSHOT, but not solved

sorry,i delete the local jars and rebuild the project,it is ok now.thanks


Conformance test for max pod limit on kubelet

The purpose of the PR is to create a conformance test to check the correct number of max pods set on a node.
We want to make sure when setting kubelet environment it should calculate the right amount max pods, so that we don't run into issues with aws-cni
Checklist

[ ] Update changelog in CHANGELOG.md.

I would suggest that we generate code and merge that separately without adding more custom modifications. In further PRs we can then add our actual business logic.

Good point 👍, it seems there's a lot of boilerplate.

Tested in ginger.

First action is to create a cluster with a node pool
Second action is testing pods with hostNetwork on master and worker and compare them with our expectation

I was in a fancy mode 😆 ...
wraps around some color
color.Errorf("Something %s", myString)

Last week I suggested to make separate PRs for the generated code and the business logic. So I would like to see that since you seem to have agreed to it.

Close this one, merged via #84 and #94


When must we Uninstall previous version and do we need to stop BC server instances at some point?

There is section "Install Business Central components of the update" but don't we have to Uninstall previous version of BC right before that? If so, please add this.
Also this instruction is for installing cumulative updates meaning we already have Database and therefore I would like to see instructions how to install BC so that current database remains untouched during install and so that no SQL Express is installed (especially when SQL Standard already is installed).
And do we need to stop BC server instances at any point or is that all handled automatically?
I managed to upgrade using this instruction but had huge headache with installation of "SQL Server Components".
Solution was to NOT enter SQL Database name "Demo Database BC (15-0)" in Specify parameters page although i had not selected to install Demo database.
Since we have "Connect the server instance to connect to the database." there must be section where we remove Database name from BC service instance ... and how to achieve that? If solution is NOT enter SQL Database name in Specify parameters then please add this to instruction.
Thank You.

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

ID: e71477e4-f2ea-1481-7597-29b324bd4f57
Version Independent ID: a2bb3a05-e5c1-d9f7-f47f-d2f34c4a91ea
Content: Install an update - Business Central
Content Source: dev-itpro/upgrade/upgrading-cumulative-update-v15.md
Service: dynamics365-business-central
GitHub Login: @jswymer
Microsoft Alias: jswymer

Hello,
Thanks for the feedback. The instructions were not sufficient, sorry.
When you install using setup.exe, you must first uninstall the current version. Then, when you run setup.exe again, choose the Custom option, and choose to install the SQL Server components and the Demo Database. However, on the Specify parameters page, set the  SQL Database to a name other than your database. The reason for this is that to install the BC Server using setup.exe, it must connect to database that is compatible with the new platform. So you cannot connect to the old database until it is converted. Once installed, you can convert your old database and then connect it to the server instance.
We have updated the article. I hope this helps.

install the SQL Server components and the Demo Database.
I find that hard to believe.
In that case selecting demo database as an option should not be allowed.

reason for this is that to install the BC Server using setup.exe, it must connect to database that is compatible with the new platform
I installed in one of my tests without Demo Database, leaving blank Demo Database name and all installed correctly.

Hello,
You are correct. If you leave the SQL Database field empty during setup, you will be able to install the server instance without installing the demo database.

Hello, the article has been updated to hopefully make things more clear. We will close the issue for now, but if you have more comments, feel free ro provide them and we will reopen the issue. Thanks!


Set Default for DateTime as current timestamp

I am not sure this is a fault or just my limited understanding of it.
Here is an example of an edge definition:
class VerifiedBy(Edge):
    label = 'verified_by'
    date = property.DateTime(nullable=False, default=now())

def now():
    return datetime.now(timezone.utc).astimezone()

they all seemed to work right, but the function now is evaluated just once, when the types are seeded to orient DB and the default remains set as that. Are there any ways to solve this within the ogm ?
I was looking for something similar to bulbs' current_timestamp.

Similar to the Uuid property I have tweaked my function to look like this:
def now():
    return 'sysdate()'

but it has the disadvantage of not being able to set a timezone. If that's a solution I would like to add it to the library in a pull-request as well.

Hi decebal,
Sorry for the late reply. No need for a pull request, it's already there, and you can pass a time-zone.
from pyorient.ogm.what import sysdate
which is defined:
def sysdate(fmt=None, tz=None):
     return FunctionWhat(What.SysDate, (fmt, tz))

thanks @TropicalPenguin , I was wondering about that what module, looks promising , but I am not sure how to begin understanding how I can use it.


Fetch the remote branches into local branches

I don't consider this quite done yet just so you know.
So, I run this tool with bare repositories (probably obvious as I added that previously). I then run a gitweb instance pointing to it. I recently realized that some repositories that were actually very active, never seemed to have any activity (despite git-backup running every 3 hours).
After some investigating I realized that due to the call to Fetch() without anything really special, it was just getting fetched into ref/remotes/heads/... and not into refs/heads/... meaning that the data was actually there, but the head wasn't moved properly.
After quite some experimenting and testing, I found that fetching with +refs/heads/*:refs/heads/* seemed to do precisely what one would except.
Although this could very well be argued, as this would fetch all remote branches. Not just 'the default' branch, maybe this could be an option?
After testing all this without bare repositories (to make sure that wouldn't break). I realized that calling pull before fetch is kind of silly, as pull basically does a fetch followed by a merge/checkout. I couldn't quite get checkout to work (at this point at least), hence why it is currently still a pull.
Input on this would be nice :)

Thanks for all the changes btw. I really appreciate it.

I actually almost forgot about this pull request, but I've had it running for a while now in my own setup with no issues. So I'm just going to mark it as ready for review.


New plugin: useFederation

🚨 IMPORTANT: Please do not create a Pull Request without creating an issue first.
Any change needs to be discussed before proceeding. Failure to do so may result in the rejection of the pull request.
Description
Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change.
Fixes # (issue)
Type of change
Please delete options that are not relevant.

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

Screenshots/Sandbox (if appropriate/relevant):
Adding links to sandbox or providing screenshots can help us understand more about this PR and take action on it as appropriate
How Has This Been Tested?
Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration

Adds tests with the example from Apollo docs

Test Environment:

OS: Ubuntu
@envelop/federation:
NodeJS: v16.2.0

Checklist:

[ ] I have followed the CONTRIBUTING doc and the style guidelines of this project
[ ] I have performed a self-review of my own code
[ ] I have commented on my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass locally with my changes
[ ] Any dependent changes have been merged and published in downstream modules

Further comments
If this is a relatively large or complex change, kick off the discussion by explaining why you chose the solution you did and what alternatives you considered, etc...

Any updates on this? I would like to use this is in one of my project :)

Any updates on this? I would like to use this is in one of my projects :)

It just needs some testing, we'll get this merge very soon :)

@ardatan I rebased the PR and updated some of the dependencies.
Missing at the moment:

There is an issue with missing overallCachePolicy - not sure what to pass there.
Add README
Add to website / plugins hub


Bug: user search only surfaces OpenSauced users

Describe the bug
Using the search for users who we don't have in our users database table results in no results:

Even though those users do show up on our platform:
https://insights.opensauced.pizza/user/rafiramadhana
This is due to some of our backfilling services that don't pick up users even if we have indexed pull requests or other contributions from them.
Steps to reproduce

Go to https://insights.opensauced.pizza/user/rafiramadhana
Notice that the call GET | https://api.opensauced.pizza/v1/users/rafiramadhana results in 404 Not Found (this user isn't in our users database)
But we have indexed PRs that are associated with this author_login resulting in some contributions showing up.

Browsers
Chrome, Firefox
Additional context (Is this in dev or production?)
No response
Code of Conduct

[X] I agree to follow this project's Code of Conduct

Contributing Docs

[X] I agree to follow this project's Contribution Docs

It would also be nice to make search more aware of who you follow and fuzzier. When searching Bekah, she appears last and I have noticed this multiple times when attempting to find folks. They either don't show or show last.


Fix typo

@all-contributors please add @icyJoseph for doc.

@all-contributors please add @devronhansen for code and doc.


Please, fix the vulnerabilities found in the aquasec/starboard-operator:0.13.0 image

Internal request:
Through the Aqua scanning process, the vulnerabilities shown below were found.
The aquasec/starboard-operator:0.13.0 image is being automatically deployed during the KubeEnforcer deployment.
CVE-2021-42374 - Medium - busybox
CVE-2021-42378 - High - busybox
CVE-2021-42379 - High - busybox
CVE-2021-42380 - High - busybox
CVE-2021-42381- High - busybox
CVE-2021-42382 - High - busybox
CVE-2021-42383 - High - busybox
CVE-2021-42384 - High - busybox
CVE-2021-42385 - High - busybox
CVE-2021-42386 - High - busybox
CVE-2021-42375 - Medium - busybox

Hi @tectime , thank you for raising this. We will update the newly released version of starboard in official deployment docs. Please ping me to know the status of it, we have an internal ticket for it.


[Enhancement] Uses the value in "feature_image" as the default OpenGraph image, if "image" was not stated

This update makes the theme take the value in feature_image as the default OpenGraph image, unless it's overridden in the front matter by the image variable, either locally or globally.
Currently, the user has to explicitly state an OpenGraph image with the image variable, and the theme will not show any if not, even if the page has a featured image.

This is an interesting addition, however what if I don’t want to add an open graph image but I want a feature image? Having them split means I can change to a different Twitter card type without loosing a feature image on the page 🙂

image overrides feature_image when both are present, so in order to have feature_image without an OpenGraph image, one could simply set the value of image to an empty string:
feature_image: /images/myimage.png
image: ""

I get what the benefit is, but it’s not really expected behaviour. It causes a counter-intuitive action if I don’t want an open graph image, I have to set it to remove it.
It’ll also break existing sites as the theme will update and apply the feature image regardless if they wanted that or not.

Also realised that the image frontmatter option comes directly from the SEO plugin. Passing in the feature image as a fallback will need more than a single meta tag, and adding those will overwrite a fair chunk of what the SEO plugin is already handling pretty well 🙂

I understand that in the case of a user who wants a featured image but no OpenGraph image this update would require to turn the setting off, but in my opinion this sounds like a very edge case, and this update targets the most common use case, which is when the user does want the featured image to also be the OpenGraph image.
It's customary for blogs and websites in general to use the featured image as OpenGraph image, and most themes for Jekyll and other platforms such as WordPress do this automatically and don't even make a distinction between the two. Since in Alembic these features are split, and there's no default behavior for any, the user who does want to do this has to set the image twice, resulting in duplication in all posts. This update allows to set it only once, which is what the user most likely expects, rather than repeating it each time.
I also want to highlight that this is only the default behavior. The features are still split, and whoever wants the OpenGraph image to be different can still override it the same way it works currently. Whoever wants no OpenGraph image at all can still disable this behavior, either by post or globally by setting an empty image in the _config.yml.
It's true that this'd make an OpenGraph image appear for users who left it empty, but as I mentioned, this sounds like a very rare case, and even in that situation it'd hardly be an inconvenience. I don't see what harm can an OpenGraph image do, and I wonder how many users are leaving the variable empty voluntarily because for some reason they don't want any OpenGraph image, or simply because they don't know there are two different variables (like me, who was baffled that the theme was not using my featured image as OpenGraph image until I checked the code and saw the reason, prompting me to submit this PR).
There are then 3 possible cases:

If someone wants to use the featured image as OpenGraph image (which is the most likely case), this update makes it easier for them. Currently the only way is to set it twice for each post.
For those who want the images to be different, the behavior hasn't changed. They can still set different values as it works now.
If someone wants featured image but no OpenGraph image, they can easily disable it by setting an empty image in _config.yml.

In other words, for the most common use case it makes easier something that currently is inconvenient, and for the least common one it's also easy to turn it off (and certainly it's much less work than what it takes to continue adding each image twice).

As for Jekyll SEO, it doesn't really interfere because that plugin only sets the OpenGraph image when image has a value, while this feature only sets it when it doesn't have a value; therefore each feature only works when the other isn't doing rather than both at once.
PS: Sorry for the wall of text, didn't realize I had written so much, lol.

I really appreciate the effort you've gone into for this suggestion @ManuelFte, but I don't really want to mix these two options together. You're right that there's often cases where the feature image matches the Twitter card image, however the SEO image and feature_image serve different purposes.
The feature_image is purely presentational, appearing at the top of the page to make the page more aesthetically pleasing and providing an interesting backdrop to the feature text (if applied).
The image is for SEO, and will be used as part of social media previews and in JSON-LD data. Both are images, and are for visual appeal, but are shown in different context. Once more they are cropped very differently, and mixing the two may cause people to accidentally serve a badly cropped image in another context.
Hope you understand. Note that you're free to do this in your own fork! The addition you made looks very small and I can see that being added to the site-before-start.html include without much trouble 👍


HOCS-5471: rework investigation diagrams

Rework the POGR GRO and HMPO diagrams from using the word Triage to the
more appropriate Investigation. This also adds default flows for all
screens and necessary variable checks to ensure we can progress. A new
back flow has also been added between the Investigation screen and
Accept Case screens.

This is a breaking change for POGR but as they aren't live this is fine.


Test on BigSur

In addition, potentially WDA can work instead of this...?

We now have an XCTest based driver for newer macOS.
https://github.com/appium/appium-mac2-driver

Hi, I am having trouble using AppiumForMac on Big Sur, the method getPageSource() returns empty. Is this a known issue? Thanks.

No, I haven't tested since I did not update my macOS to Big Sur yet.
Thanks for the info. I'm afraid this does not work on the one because of API changes.

Another colleague of mine, just tested and it ran smoothly... Maybe it's a problem in my machine or in my code. Will keep you updated on this.

Turns out it had something to do with privileges. Had to go to System Preferences->Security & Privacy->Privacy->Accessibility and remove on the minus button, not on the check mark, the access for AppiumForMac and then, add the privileges again when prompted. Tried a few things before getting to this solution, but I guess this did it for me. Thanks for your help!

I'm having issues with AppiumForMac seemingly crashing and misbehaving when automating apps on Big Sur. It seems timing related as behavior is not predictable.

We're going to https://github.com/appium/appium-mac2-driver which works with XCTest base

We're going to https://github.com/appium/appium-mac2-driver which works with XCTest base


Setting site to deprecated does not show deprecation warning in documentation section

This is a Bug Report

Problem:
If you make a new Kubernetes release and publish the branch up to that release as a deprecated website, the deprecated website for the just-superseded minor version doesnt show a deprecation warning for pages inside /docs/.
Proposed Solution:
Fix the layout to show a deprecation warning as expected.
Page to Update:
https://kubernetes.io/docs/ and contentns

Kubernetes Version:
v1.18
Additional Information:
/kind bug
/priority important-soon

/sig release
@savitharaghunathan FYI


Curse modpack from a local file seems to be broken

disclaimer: Not urgent/important, i managed to get what i wanted to work eventually.
I believe that using picomc mod pack curse install with a path to a local file (instead of a url) might be broken.
(inserting a curse url works fine).
Link to the zip: https://github.com/thecodingchicken/Jimmys-Jams-omni-releases/raw/main/Omnifactory-dev-e3e6711-snapshot.zip
MultiMC can import the zip without a problem and I checked the contents so I believe the zip is fine.
Output:
➜  ~ picomc mod pack curse install Omnifactory-dev-e3e6711-snapshot.zip
Traceback (most recent call last):
  File "/usr/local/anaconda3/bin/picomc", line 8, in <module>
    sys.exit(main())
  File "/usr/local/anaconda3/lib/python3.7/site-packages/picomc/main.py", line 8, in main
    picomc_cli(obj=es)
  File "/usr/local/anaconda3/lib/python3.7/site-packages/click/core.py", line 829, in __call__
    return self.main(*args, **kwargs)
  File "/usr/local/anaconda3/lib/python3.7/site-packages/click/core.py", line 782, in main
    rv = self.invoke(ctx)
  File "/usr/local/anaconda3/lib/python3.7/site-packages/click/core.py", line 1259, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/usr/local/anaconda3/lib/python3.7/site-packages/click/core.py", line 1259, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/usr/local/anaconda3/lib/python3.7/site-packages/click/core.py", line 1259, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  [Previous line repeated 1 more time]
  File "/usr/local/anaconda3/lib/python3.7/site-packages/click/core.py", line 1066, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/usr/local/anaconda3/lib/python3.7/site-packages/click/core.py", line 610, in invoke
    return callback(*args, **kwargs)
  File "/usr/local/anaconda3/lib/python3.7/site-packages/click/decorators.py", line 73, in new_func
    return ctx.invoke(f, obj, *args, **kwargs)
  File "/usr/local/anaconda3/lib/python3.7/site-packages/click/core.py", line 610, in invoke
    return callback(*args, **kwargs)
  File "/usr/local/anaconda3/lib/python3.7/site-packages/picomc/cli/utils.py", line 16, in wrapper
    fn(x, *a, **kwa)
  File "/usr/local/anaconda3/lib/python3.7/site-packages/click/decorators.py", line 73, in new_func
    return ctx.invoke(f, obj, *args, **kwargs)
  File "/usr/local/anaconda3/lib/python3.7/site-packages/click/core.py", line 610, in invoke
    return callback(*args, **kwargs)
  File "/usr/local/anaconda3/lib/python3.7/site-packages/picomc/mod/curse.py", line 239, in install_cli
    install_from_path(path, launcher, im, name)
  File "/usr/local/anaconda3/lib/python3.7/site-packages/picomc/mod/curse.py", line 205, in install_from_path
    with open(zipfile, "rb") as fd:
TypeError: expected str, bytes or os.PathLike object, not ZipFile

The zip file in question actually exposes two separate problems.
The trivial bug from the stack trace is fixed in 4ebf39265270dee5400. But even after this, the zip file does not install, because its structure does not match that of usual curse zips -- the files are not located in the root of the archive, but instead in a subdirectory. I will have a look at this.

Now also fixed in 6a5e8d1dbd89deae59.


Loading errors ?

When you first arrive on the "forum", you get the "forum page" (all category) as of the "custom home page" :/ but when you clic on the header forum title(or logo) this load well the custom homepage

I fixed this in my pull request #18
@psychobunny @julianlam @barisusakli
This repo hasn't been getting much attention from you guys.


Manipulate fake fields to not store base64 encoded images.

Help needed
What i want to achieve:
I'm trying to use an image field type to store image path to database and not base64 image.
Currently it stores the field as base64.
What I expected to happen:
I expect to find some way, even if hacky, to catch my image fake field, and if, for example there is a "save_path_to_db => true" key on image field, i can run some code to upload image to server and save path to database.
Can you @tabacitu point me in some direction this could be achieved?
Thanks in advance

The solution is not to store images in fake fields in the short term.
The short term would be one of the "hacky" solutions (which would work, I think).
In the long term, the solution would be to redo image storage completely (whether for fake or not fake fields) because it's currently too confusing.

Hey @lloy0076 .
Thanks for answering.
First i will give you my use case:
I'm creating a template for "Pages" (Backpack package).
I would like that page to have 3 images. (Image_top, Image_middle, Image_footer), in other page i could have (Image_left, Image_right) etc etc. I could not predict in advance what images i would need in a page, so the solution would be to store the images in fake field with key => value, but the value could not be a base64 encoded image.
I have no problems of writing a PR, and if that could be done for my project and released to community i would do it, i just asked for some direction of what needs to be changed without breaking code.
I see we must implement ourselfs the saving image function and make it configurable. (choosing disk, prefix etc etc).
When i asked for guidance on this i thought it would be helpful to have the main developers looking on this, as it's not the first time someone asks about it, and the behavior is strange at least.
We can have a config value like "auto_store_images" to keep backward compatibility.
I would like to go deep on this issue if you and other main develops seems it should be looked at.
Let me know about it, if you still want me to look on SOF i will, no problem.
Best regards and sorry for some english typo, i'm not native.
Thanks

I am also having this same issue - it seems to me that fake fields are designed for when a Page of a certain template has fields that no other templates need.  It then seems to follow that in addition to these extra text fields, that certain page templates would need image uploading that other pages don't. That is why I'm trying to store in image in a fake field.
My hacky solution is to simply have "image_1" and "image_2" and "image_3" fields in the database for a Page. And then the template has to simply use the "Label" property in the CRUD to let the user know what each image is for.


Sign out doesn't

When I try to sign out user I get 'User was not found or was not logged in'

Resolved by setting to false config.change_headers_on_each_request = false


Kiss My Ashes (Goodbye) by Woods Of Ypres unsupported.

Check if issue with swaglyrics or whether song lyrics unavailable on Genius.

stripper -> Woods-Of-Ypres-Kiss-My-Ashes

added support


Linting sensor does not work with tslint > 5.2.0 on multi-module project

I get the following log message when trying to analyze a Maven multi-module project with tslint greater than 5.2.0:
[WARNING] TsLint reported issues against a file that isn't in the analysis set - will be ignored: <maven-module-name>/<module-relative-path-to-ts-file>
Seems like the working directory should be set to the current module in the Command instance created in TsLintExecutorImpl.getBaseCommand. This will definitely fix my problem.

Thanks, will take a look at the PR - it might also address #149 actually...

same problem here. can we get an updated release with PR #148?

Trying to find time, work + impending fatherhood consuming most of it - will try and sneak a merge and pre-release in this weekend but if you're in a rush then building yourself's relatively straightforward

I am also seeing this issue.  Is there any chance we can get a new release with PR #148?

Just discovered https://github.com/SonarSource/SonarTS. This seems like a more active project.


relay connection not working for certain clients (ubuntu server OS)

Hello NetBird Team!
I am experiencing problems with remote/relayed connection. Can you please help me analysing the issue? I don't really get it. It seems to be related to the OS setup?
Describe the problem
The connection between specific clients does not work. We have a mixture of Linux (Ubuntu Desktop 22 LTS, Ubuntu Server 22LTS/24LTS, Raspberry OS, Zorin) and Windows Clients (w10).
Parts of the network and connection work as expected. Basically, all connections work except those with the Ubuntu Server 22LTS/24LTS clients. Connection in LAN works to those clients do work fine.
Therefore, something needs to be done for the Ubuntu Server clients.
Name resolution for the Ubuntu Server clients works. I can see this because the ping attempt shows the correct IP, which I double checked with the IP from the Netbird Dashboard.
The Ubuntu Server clients are named

zm2sv1
zm2sv2
zm2sv3

The Ubuntu Server OS clients are basically in default setup state (fresh installed). Connections between zm2ws1 (office site) and fhdwnig (home) are working. fhdwnig (home) and zm2sv1 (office site) is not working.
To Reproduce
Connection checks are done with ping and ssh, where, as said, none of them work.
So, for example:

ping zm2sv1
ping zm2sv1.local

or

ssh zm2sv1
ssh zm2sv1.local

Expected behavior
Connection not only works for Ubuntu Desktop, Raspberry, Win10 etc. but also for Ubuntu Server.
Are you using NetBird Cloud?
Yes, NetBird Cloud user.
NetBird version
netbird version
0.28.3 (at the time of collecting the logs, but have already updated to newer version)
NetBird status -d output:
I attach the anonymized debug bundle as described in https://docs.netbird.io/how-to/cli#debug-for

zm2pi1-netbird.debug.3098763071.zip
zm2sv1netbird.debug.2983103915.zip
zm2sv2-netbird.debug.2321957327.zip
zm2sv3-netbird.debug.1289402829.zip
zm2ws1-netbird.debug.1958094065.zip

Additional context
Some time ago I have had some client groups set up as well as policies. But for the purpose of troubleshooting I have changed all clients back to the "All" group and completely deleted all policies. This means that if it is due to the policies, then it is either a bug or I have reset the configuration incorrectly or have not understood it correctly.

the zm2sv* clients are all running microk8s, just in case this could be important. These are the ones I cannot connect to from remote / office. This and the fact that those have Ubuntu Server OS installed are the main differences.

zm2ws1 - Ubuntu Desktop
zm2sv1 - Ubuntu Server 22 - microk8s
zm2sv2 - Ubuntu Server 24 - microk8s
zm2sv3 - Ubuntu Server 22 - microk8s
zm2pi1 - Raspberry OS
zorin - Zorin OS
fhdwnig - Win10

I was able to resolve the issue. not 100% sure about the root cause.

I reinstalled netbird client on all Peers. This was not the solution though, but cleaned up the hardware site configuration.
I deleted all policies, including the default, and created a new one, also called default.
I deleted all groups and did not create new ones.
Interestingly, even though I deleted all routes and grouping from the Peers list and anywhere else, there were still groups visible that were not used.
once I deleted the groups from the list in Settings > Groups the Peers were able to connect, ping, and also across different networks, not only locally.


How to handle large arrays

Describe the solution you'd like
In WP5 I'm using the attached notebook to show temperature anomalies on pressure levels.
The notebook works correctly when selecting a limited domain (for example 10S-10N) and a limited number of years, but I get into trouble when handling larger datasets.
Ideally I would like to compute the average vertical profile of temperature anomaly for the entire globe (-90:90, -180:180) and for the full time series, from 1940 to 2022. In this case, the file is 25GB (I'm using the monthly averaged reanalysis).
I guess others may have already had this problem but I couldn't find any past issue on this subject. I expect to have similar issues in our work for WP3 on seasonal forecasts
How do I handle large arrays in general? Is it with the download_and_transform function?
my_ipynb.zip

Great, thank you Mattia,
is there any example I can use to understand how download_and_transform works, or could you describe how it is applied to this simple kernel so it work for large datasets as it is working for small ones?
ds = xr.open_dataset('./DATA/ERA5_ta_plev_monthly_1973-1999.nc')
t = ds['t']

#Weight temperature values with latitude before averaging
weights = np.cos(np.deg2rad(ds.latitude))
t_weighted = ds.t.weighted(weights)

#Compute monthly global average
t_ave = t_weighted.mean(["longitude", "latitude"]).transpose("level","time")
#Compute climatology
t_ave_time = t_ave.mean(["time"])
#Compute anomalies
t_ave_anom = t_ave - t_ave_time

You can combine download. download_and_transform and diagnostics.spatial_weighted_mean.
They're both used in many templates, and climatology are produced in a few WP4 templates.
I can do a template specific for your use case. Is this the full dataset you need?
    'reanalysis-era5-pressure-levels-monthly-means',
    {
        'format': 'netcdf',
        'product_type': 'monthly_averaged_reanalysis',
        'variable': 'temperature',
        'pressure_level': [
            '1', '5', '20',
            '70', '150', '225',
            '350', '500', '650',
            '775', '850', '925',
            '1000',
        ],
        'year': [
            '1940', '1941', '1942',
            '1943', '1944', '1945',
            '1946', '1947', '1948',
            '1949', '1950', '1951',
            '1952', '1953', '1954',
            '1955', '1956', '1957',
            '1958', '1959', '1960',
            '1961', '1962', '1963',
            '1964', '1965', '1966',
            '1967', '1968', '1969',
            '1970', '1971', '1972',
            '1973', '1974', '1975',
            '1976', '1977', '1978',
            '1979', '1980', '1981',
            '1982', '1983', '1984',
            '1985', '1986', '1987',
            '1988', '1989', '1990',
            '1991', '1992', '1993',
            '1994', '1995', '1996',
            '1997', '1998', '1999',
            '2000', '2001', '2002',
            '2003', '2004', '2005',
            '2006', '2007', '2008',
            '2009', '2010', '2011',
            '2012', '2013', '2014',
            '2015', '2016', '2017',
            '2018', '2019', '2020',
            '2021', '2022',        ],
        'month': [
            '01', '02', '03',
            '04', '05', '06',
            '07', '08', '09',
            '10', '11', '12',
        ],
        'time': '00:00',
        'area': [
            90, -180, -90,
            180,
        ],
    },

Thank you Mattia,
you're right, the templates. I'll have a look at that.
Meanwhile, yes that's the full dataset.
S.

OK, I'll send you the link when it's ready. In the meantime, this is pretty much what you are looking for: https://github.com/bopen/c3s-eqc-toolbox-template/blob/main/notebooks/renalysis/02-Application_Template_Global_Timeseries_Pressure_Levels.ipynb

my_ipynb.zip
Dear @malmans2
I have updated your template with two edits:

compute the anomalies wrt the monthly climatology insted of using the global climatology
plot the vertical vertical slice with countourf

In case you want to update this in the wp5 templates
Cheers
S.

Great!
Looks like caching is also working pretty good, I've been able to play with your notebook on the VM.
I've updated the template. I only changed a few things in the last cell to make the Hovmöller Diagram with xarray (there's a couple of arguments you could find useful, such as robust=True).
I'm closing this, but feel free to re-open in the future!


Requests that require the invocationUrl to sign the request no longer work

I believe this is related to the recent QueryParam digest changes.
Here is an example from the XChange library.
From: https://docs.pro.coinbase.com/#signing-a-message

The CB-ACCESS-SIGN header is generated by creating a sha256 HMAC using the base64-decoded secret key on the prehash string timestamp + method + requestPath + body (where + represents string concatenation) and base64-encode the output.

From the XChange library (just using this method as an example, the error occurs on all methods that need to be signed)
https://github.com/knowm/XChange/blob/b8dd1a650191e3bfb706c9799864b423a57f573a/xchange-coinbasepro/src/main/java/org/knowm/xchange/coinbasepro/CoinbasePro.java#L102-L110
https://github.com/knowm/XChange/blob/b8dd1a650191e3bfb706c9799864b423a57f573a/xchange-coinbasepro/src/main/java/org/knowm/xchange/coinbasepro/service/CoinbaseProDigest.java#L25-L46
When digestParams() is called it throws a NullPointerException on line 28/29 as it can't call replace() on a null pointer. From my brief look, it looks like the digestAll() method is now called in the RestInvocation constructor before invocationUrl and queryString are set.
https://github.com/mmazi/rescu/blob/674810b6ef990a673d2861a5ed23052330ec19bc/src/main/java/si/mazi/rescu/RestInvocation.java#L65-L82

Could you provide a stack trace?
A test that demonstrates this would be even better. If you can't provide one, I'll try to produce one myself.

The problem seems to be that there are two real-life situations that are somewhat in conflict:

Digested parts of the request (which may include parts of the URL) must be sent in the body or headers (this is the situation in CoinbaseProDigest and others, mentioned above); and
Digested parts of the request (which may include parts of the body or headers) must be sent in the query parameters, i.e. in the URL (this is the situation from #135) .

The conflict is in the order in which parts of the request are constructed: 1. implies the URL must be constructed before headers or body, whereas 2. implies headers and body must be constructed before the URL.
I think the correct order may be determined in rescu (depending on where ParamsDigest parameters occur). I'll try to get this done in a week or so.

I wrote tests that demonstrate the above:
https://github.com/mmazi/rescu/commit/2371d14f1814ed66be7816b1ee95e1182a28a152
Now for the fix..

Actually, the "conflict" from above is nonexistent: query params can always be digested first, then URL constructed, then other params digested. Will push a fix shortly.

@supex0fan can you confirm that the issue is fixed?
I'll release rescu 2.1.0 when this is confirmed.

I just checked and it is working. Thanks for fixing this so quickly.


Logging Handler Should Have Fluentd Transport

This might be a "nice-to-have", but a Java logging handler that logs by writing to the fluentd handler could be helpful. Biggest consideration here is whether it would perform better than the current one. fluentd is installed on App Engine flexible and can be included in GKE clusters with click of a button so it's good to integrate with it.

Hi @waprin, you mean having a JUL handler that logs entries to fluentd? While this is surely a "nice-to-have" (I am surprised it does not exist yet) I doubt that gcloud-java is the right place for it.

Yep that's what I meant. Both GAE Flexible and GKE install the logging agent and it's one of the main ways we recommend communicating with logging API (though having an option to just use the API directly is also good).
I personally think it does belong in the gcloud-* libraries but opinions in general seemed mixed and might be decided on a per-language basis. Just wanted it on the radar.

I personally think it does belong in the gcloud-* libraries

If I understood correctly such a handler should serve as a way to direct log entries produced with JUL to fluentd. Even though I see it could be used in both GAE and GKE, such a handler is not directly related to Stackdriver Logging. In fact, it could be also useful in circumstances where fluentd is used with a different target. I would imagine this is something fluentd people might be interested in providing users with.
For this reason I believe that gcloud-java is not the best place for this bridge between JUL and fluentd.

Even though I see it could be used in both GAE and GKE, such a handler is not directly related to Stackdriver Logging.

It is related because on GAE and GKE, there is a special file /var/log/app_engine/app.log.json along with a certain structured format necessary to get logs to show up correctly. Take a look at:
https://github.com/GoogleCloudPlatform/winston-gae/blob/master/lib/winston-gae.js
I understand what you're saying, but I'm not proposing a generic fluentd JUL handler, which doesn't make sense anyway since fluentd is an agent that can read from any file. What I'm proposing is a handler that writes to the files in a way that the default fluentd agent that we direct users to install here:
https://cloud.google.com/logging/docs/agent/installation
will correctly pick up log levels, etc. Currently if you just write to standard out on GAE Flex the fluentd agent does actually pick it up but because of this lack of structure does not capture log levels.
See pissed off customer here:
http://stackoverflow.com/questions/37420400/how-do-i-map-my-java-app-logging-events-to-corresponding-cloud-logging-event-lev

Also if you read the answer to that StackOverflow question, the log levels are captured correctly only in the 'compat' runtime, because someone actually did this work in this runtimes so log work as expected, but really it should work in the vanilla runtime as well, but being 'vanilla' we have to ask users to instrument some sort of client library to do so. As you can see, NodeJS created a whole repo just for that one tiny piece of code, which is an opinion thing as mentioned but I personally think it makes sense to include some of that code here.

Bill - would https://github.com/fluent/fluent-logger-java help us in any way?  Or this

BTW - I'm asking that all supported Java Frameworks including logging correctly, like java-compat.

@jabubake is this being actively worked on or still in 'nice-to-have' bucket?  If latter, I'd like to move to our feature backlog and close this issue.  Thanks!

@danoscarmike : 'nice-to-have'

Thanks @jabubake!
This has been added to our feature backlog: https://github.com/GoogleCloudPlatform/google-cloud-java/wiki/Feature-backlog. This issue will be closed but is linked in the backlog and can continue to be used for comment and discussion.


Dpkg bug when installing azure-cli

Currently when trying to install the azure-cli packages in our CI an error due to some associated  dpkg packages is returned. This seems to be linked to the following official upstream report: https://bugs.launchpad.net/ubuntu/+source/dpkg/+bug/1730627
Even by updating and/or upgrading dpkg we seem to not be able to solve this glitch for the time being. However this does not concern directly the azure-cli package; though due to the check set -e , building in CI will keep failing. As a temporarily workaround we have moved set -e like in:

https://github.com/kubenow/image/pull/29

and

https://github.com/kubenow/cron/pull/9

Nevertheless this must be reverted once dpkg bug is solved.

Hi @carmat88 I have found that you can install azure cli with pip: pip install azure-cli
maybe that could solve your problem

Hi @andersla Ok, will try this alternative although I must admit that on debian machines I don't like installing tools via pip but sometimes it is the only way. Cheers!

@andersla pip seems to not be the most optimal way unfortunately: https://github.com/kubenow/cron/pull/10


Don't show nested types

In my project https://github.com/sindresorhus/KeyboardShortcuts, I put everything under a KeyboardShortcuts namespace. However, that means that all types show up under this type: https://sindresorhus.com/playground/KeyboardShortcuts/, which makes the page quite messy.

Seems like this was fixed in 1.0.0-beta.3.


Update payment-connector-package.md

Modified the documentation to remove reference to self service as the package creation is applicable to both IaaS and SF.

:x: Organization membership check failed
Members of the MicrosoftDocs organization should use the private repo. Please move your changes to https://github.com/MicrosoftDocs/Dynamics-365-Operations, and close this pull request.

:x: Organization membership check failed
Members of the MicrosoftDocs organization should use the private repo. Please move your changes to https://github.com/MicrosoftDocs/Dynamics-365-Operations, and close this pull request.

Consolidated with the other PR.

Consolidated with the other PR.


[BUG] When I use longhron NFS storage as volume for InfluxDB the disk i/o increases unusually

Describe the bug
When I use longhron nfs storage as volume for InfluxDB and use it as remote stoarge for prometheus, the DISK I/O increase unusually and the node on which the longhorn nfs volume is running become too slow.
To Reproduce
Steps to reproduce the behavior:

deploy longhorn in rancher
deploy longhorn nfs provisioner in rancher.
deploy influxdb and use longhorn nfs storage as volume
use influxdb as remote storage for prometheus.
unusual disk i/o occurs and the node on which longhorn nfs volume is running become too slow.

Expected behavior
The disk I/O when I use longhorn nfs storage with influxdb (as remote stoarge for prometheus) should not increase unusually and should work the same when I use longhorn basic stoarge.
Log
The disk i/o when I use longhorn storage with influxdb and use it as remote storage for prometheus: (disk i/o is normal)

The disk i/o when I use longhorn nfs storage with influxdb and use it as remote storage for prometheus: (disk i/o is unusual)

Environment:

Longhorn version: 1.0.2
Kubernetes distro (e.g. RKE/K3s/EKS/OpenShift) and version: RKE
Node config

OS type and version: Debian 10
Disk type(e.g. SSD/NVMe): VMware virtual disk and Ceph.

I tested this scenario on both vmware virtual disk and ceph storage and in both situation the disk i/o increased unsually.

Since the data written into Longhorn volumes is exactly what users/workloads write. There are 2 possibilities for this case:

There is a filesystem formatting for the Longhorn volume near the peak.
The caches held by the NFS client/server (or the influxdb) are flushed into the Longhorn volume.

Right now it seems that the i/o peak is tolerable as long as there is no r/w timeout. Or is there any other concern/potential impact for the peak?

What is written to longhorn nfs storage is the same what is written to longhorn basic storage.
I want to know  why, when the data is written to nfs storage (remote storage for prometheus) the disk i/o increases suddenly?
I haven't seen this problem with other pods when using longhorn nfs storage.
My guess is that the longhorn nfs storage has a problem with influxdb when the read and write data constantly and at the same time.

@mohjam2004 you really shouldn't run a database on top of nfs storage.

hello @joshimoo
Why should not I use database on top of longhorn nfs storage?
I need a 'read and write many" storage and longhorn support it only through nfs.

@mohjam2004 have a look at the prometheus documentation here, about the nfs warning :)
https://prometheus.io/docs/prometheus/latest/storage/#operational-aspects

Hi, @joshimoo
Thanks alot.


Replace Axios with Request in all routes

Axios fails and causes unhandled promise and undefined variable errors sometimes, especially when running in dev mode, and we don't want that.
Replace all remaining Axios code with Request. The API calls in allStops and some other routes have already been replaced with Request so take a look at those for guidance. Also, Postman will generate Node with Request code so one can also use Postman to verify the request and code works before copying it into the project.
Axios: https://github.com/axios/axios
Request: https://github.com/request/request

Closed with PR #63