[Bug]: connecting to apache with saml through shibboleth not possible

Preflight Checklist

[X] I could not find a solution in the documentation, the existing issues or discussions
[ ] I have joined the ZITADEL chat

Environment
Self-hosted
Describe the bug
Connecting my self-hosted zitadel with apache 2.4 through shibboleth ist not possible. Shibboleth reports that the attribute StatusMessage can not be empty. The attribute itself is an optional Attribute. Capturing the SAML response issued by keycloack has this attribute not included, if empty.
Log entries: WARN Shibboleth.SSO.SAML2 [2] [default]: error processing incoming assertion: StatusMessage must have TextContent.
Used Versions:
Zitadel v2.19.2
Apache v2.4.41
Shibboleth v3.0.4
To reproduce
When a application is set up with Apache and Shibboleth. Go on with the following steps:

Go to a location on Apache which require a authorization
After getting forwarded to Zitadel, log into a Account with access to registered Application/Clinet
When forwarded back to your Shibboleth SAML Endpoint you will receive the error

Screenshots
No response
Expected behavior
No response
Version
2.19.2
Operating System
No response
Relevant Configuration
No response
Additional Context
No response

dependend on https://github.com/zitadel/saml/pull/36


Fix inconsistent children removal behavior

Objective
Fixes #6010
Solution
As discussed in #6010, this makes it so the Children component is removed from the entity whenever all of its children are removed. The behavior is now consistent between all of the commands that may remove children from a parent, and this is tested via two new test functions (one for world functions and one for commands).
Documentation was also added to insert_children, push_children, add_child and remove_children commands to make this behavior clearer for users.
Changelog

Fixed Children component not getting removed from entity when all its children are moved to a new parent.

Migration Guide

Queries with Changed<Children> will no longer match entities that had all of their children removed using remove_children.
RemovedComponents<Children> will now contain entities that had all of their children remove using remove_children.

I updated this PR to reflect the latest discussion in the referenced issue. This is ready for a review, but before merging I will need to go over the bevy_ui flex system and bevy_transform propagation system to make sure that they work expectedly, and possibly add RemovedComponent<Children> if needed.

I think that there shouldn't be an issue with transform propagation, but there there's definitely an issue with UI.
Tested with this, derived from the ui example.
Pressing space moves the yellow box from the left to the right side of the screen. With this PR, the green container on the left side isn't properly updated and stays at its previous size despite having been emptied.
use bevy::prelude::*;

fn main() {
    App::new()
        .add_plugins(DefaultPlugins)
        .add_startup_system(setup)
        .add_system(detach)
        .run();
}

#[derive(Component)]
struct Destination;

#[derive(Component)]
struct Source;

fn detach(
    mut commands: Commands,
    input: Res<Input<KeyCode>>,
    query: Query<(Entity, &Children), With<Source>>,
    dest_query: Query<Entity, With<Destination>>,
) {
    if input.just_pressed(KeyCode::Space) {
        let (source_entity, children) = query.single();
        let dest_entity = dest_query.single();

        commands.entity(source_entity).remove_children(children);
        commands.entity(dest_entity).push_children(children);
    }
}

fn setup(mut commands: Commands) {
    commands.spawn_bundle(Camera2dBundle::default());

    commands
        .spawn_bundle(NodeBundle {
            style: Style {
                size: Size::new(Val::Percent(100.0), Val::Percent(100.0)),
                justify_content: JustifyContent::SpaceBetween,
                ..default()
            },
            color: Color::NONE.into(),
            ..default()
        })
        .with_children(|parent| {
            parent
                .spawn_bundle(NodeBundle {
                    style: Style {
                        size: Size::new(Val::Percent(50.0), Val::Undefined),
                        ..default()
                    },
                    color: Color::GREEN.into(),
                    ..default()
                })
                .insert(Source)
                .with_children(|parent| {
                    parent.spawn_bundle(NodeBundle {
                        style: Style {
                            size: Size::new(Val::Percent(100.0), Val::Px(100.0)),
                            ..default()
                        },
                        color: Color::YELLOW.into(),
                        ..default()
                    });
                });

            parent
                .spawn_bundle(NodeBundle {
                    style: Style {
                        size: Size::new(Val::Percent(50.0), Val::Undefined),
                        ..default()
                    },
                    color: Color::RED.into(),
                    ..default()
                })
                .insert(Destination);
        });
}

The issue with UI is that the flex_node_system does not take removed Children components into account.
Adding removed_children: RemovedComponents<Children> as a system parameter and then doing
for entity in &removed_children {
    if let Some(&node) = flex_surface.entity_to_taffy.get(&entity) {
        flex_surface.taffy.set_children(node, &[]).unwrap();
    }
}

seems to solve the issue.

My latest commit should fix the UI flex system. Thanks for the info 👍
@devil-ira Have you tested the GlobalTransform propagation? I'm not sure what the expectation is here exactly, but I can see that the propagation code doesn't explicitly handle RemovedComponent<Children>. It's possible that it works implicitly but I'm not sure since it has a Changed<Children> query. If you haven't tried it I will test it out.

The issue with UI is that taffy has a copy of the hierarchy that needs to be kept up to date and that children can affect the parent. Neither of those apply to transforms, so it should be good.

bors r+

I am not sure this is the right place to give feedback, but... I have run into a problem that I can certainly solved myself, but feels like I should mention it:

I have been using a query_stacks: Query<(Entity, &CardStack, &Children, &Transform)> to query CardStack entities and their children at the same time. Obviously, this is no longer supported, so maybe it should be mentioned in the migration guide as well.
More importantly, the way it fails feels rather strange: Initially, that query still works, because entities still seem to have (empty) Children by default! Hence, my game runs until I have added and removed children, and then suddenly crashes. In bevy-inspector-egui, I can see a diference between "No children" (after removal) and empty "Children" (initially).


Invoices generated by fake data to have valid cart total

Blocked by https://github.com/kkamara/ecommerce/issues/57

Issue doesn't actually occur due to price being calculated dynamically


Tweak deployment tools

Change summary:

Skip password input with --kill-only option
Get confirmation for testnet (spring, summer)

@jiyoung-an Thanks for the review!


read_non_compressed_block is broken

Per RFC-1951, the non-compressed block has 16-bit lengths, instead of 8-bit.
Then read_non_compressed_block  should consume 8-bit instead of 16-bit lengths,
Also, the read_next_byte function makes a wrong byte alignment, as offset calculation is wrong.

Considering an example ASCII text file of 4 bytes (octets) with contents "1234", its gunzip compressed blocks (per RFC-1952) is composed of the following byte sequence (hexadecimal):
01 04 00 FB FF 31 32 33 34 [CRC-32] 04 00 00 00
First byte 0x01 has BFINAL=1 and BTYPE=00b as expected for a single/last-block without compression. Higher 5 bits are skipped for byte alignment.

04 00 and FB FF means the uncompressed block length of 4 written with 16-bit, non-inverted and then bitwise inverted.


RateLimitHandler should support both ThreadingMixIn and ForkingMixin

This should be supported by using the multiprocessing.Lock and multiprocessing.Value functionality.

Closing this issue as this project is merely a proof of concept and need not work in all cases.


Net Core 1.1 and ConfigureAwait(false)

@ngonzalezromero This is great!
While I merged the changes into master, just as a side note, I feel there should have been separate PRs for:

the update to the new JSON.NET
the update to Target Framework Moniker netcoreapp1.1
addition of ConfigureAwait stuff

For future references, please respond to the comments I added in the PR.
( Merged #18 )
Thanks a lot and looking for more contributions!


Add Deep Interest Network

I reproduce the Deep Interest Network, mainly including the user behavior feature, the masking layer, activation unit, and sum pooling layer.
However, I did not find how to calculate the out product of two high-dimension vectors(especially beyond 3-dimensions)...
So, I use the element-wise subtract and element-wise product instead. It works fine.
If have any questions or something not good, pls tell me! Thanks!

great work. thank you for the contribution.


Fix running in Docker

Currently I am seeing errors trying to run this app in Docker. We should look into that :).

This is vague, and I don't remember the details. I can currently run the app in docker, so we can reopen if there is something more specific to report.


Doesn't compile Twitter Bootstrap v3 or v4 alpha?

I've been unable to get a correct compilation of either Twitter Bootstrap v3.5.1 or v4 alpha.  It compiles without error, the the output file is missing something as the navbars, navtabs, etc...are not displayed correctly

The Bootstrap 3.5.1 issue was my fault and I'm not sure that v4 alpha is intended to compile just yet (but the above symptoms occur when I compile it)

There's a regression in 0.3.0 that's preventing scssphp from compiling bootstrap v4. There's a temporary workaround in e688a858 until I have a proper fix.


Fix https://github.com/virt-s1/rhel-edge/issues/3499

/test-rhel-9-3-simplified

/test-rhel-8-9-simplified


Add test for 'Asin' function for PostgreSQL

I would like to tackle this.

I would like to tackle this.


Firmware 3.7

Did I missed something maybe ? (I've used the > 3.6 version)
Here is the result

Thanks!

Sorry for the noise, it seems that my Remarkable is stuck on downloading 3.7 and so I am still on 3.5.2 ! Will give updates when I can solve the upgrade issue

I lost my systemd service after the upgrade, but I confirm that everything is working fine on 3.7 :heavy_check_mark:


update selectors to work with layout changes

Forvo made some changes to their layout which unfortunately broke this addon. This PR contains fixes so both the /word and /search scraping are functional again

I had a PoC version of this add-on some time ago (before I realised someone else already made one) and I found that using regex to find the relevant URL data was more resilient to minor layout changes than bs. @jamesnicolas would you be interested in a PR which switches to a regex approach (even as a backup if no URLs are found using bs)?

That sounds like a better solution as Forvo may change their layout in the future again

@cyphar oh that would be really cool! let me merge this one first though to get in the fix asap. sorry everyone for the late response!


StoreRequest.cached(1, refresh = false) invoke fetcher when cache available?

It seems that even if we set refresh flag to false in StoreRequest.cached, we still get the latest data from the fetcher.
Is this the correct behavior?
Test code:
runBlocking {
    // Store with cache, without persister
    val store = StoreBuilder.fromNonFlow { key: Int -> key }.build()

    // Cache data
    store.fresh(1)

    // Stream data
    store.stream(StoreRequest.cached(1, refresh = false)).collect {
        println(it.toString())
    }
}

Output:
Data(value=1, origin=Cache)
Loading(origin=Fetcher)
Data(value=1, origin=Fetcher)

Currently without specifying a persister (source of truth), the fetcher will always be run regardless of whether refresh Is true, although you’ll get the cached value as the first emission.
I also find this behavior a bit confusing. @digitalbuddha @yigit when sourceOfTruth is null, should the cache effectively become the source of truth (in the example above it will just return the cached value without hitting the network)?

I would expect to only receive a cached value if one exists otherwise hit the fetcher. Open for other's thoughts

Yea seems reasonable. let me dig into code to understand what is going on and why it doesn't work that way.

yea seems like a bug when there is no source of truth.
have the failing test, will work on a fix.
https://github.com/yigit/Core/commit/3c2353efc685ced62558186f43fc08a379155fab

actually we had a prior implementation that faked source of truth if not provided. I cannot remember why i removed it but this is kind of related to that (to make cache step up its game).
I'll be working on this but does not seem like a super trivial change, of course definitely doable :) just might be a bigger change than expected :man_shrugging:

Related CL where the logic to make previous fetchers receive new values is implemented:
https://github.com/dropbox/Store/commit/3e84b6bdb54d7ff78552a2341f8a5c75fa26c231

I have a bit of a dirty implementation that create a source of truth on top of cache. It is not good enough to be merged yet because I don't feel comfortable it is well covered. I'll keep working on it.
The good thing about that solution is that it does not create a third code path to handle having no source of truth but cache, on the other hand, there has been assumptions that source of truth is disk so I don't feel super comfortable right now that it has full coverage and it might even be cleaner to consider it a third case
This passes all tests but i'm afraid some tests might be passing because they don't collect enough many items even if there could be more items.
https://github.com/yigit/Core/tree/cached-bug


Fix types missing in new vite build

Found that types were missing with the vite build, despite the precursor tsc being called.  It seems vite is cleaning before building.  Added the dts plugin instead to accomplish the same thing.
/see https://github.com/DominicTobias/react-image-crop/pull/539#issuecomment-1565632683
The current 10.1.1 shipped without types
/ping @DominicTobias

Whoops! thanks


Help! The library does not work for me!

Adding this issue here for tracking specific configuration issues from users.
Thank you for taking the time to help us figure out what's going on.
To help us out with narrowing down what's going on with your setup, please include the following information:

Device you're using (ex: ESP8266 WEMOS D1 MINI)
Any relevant logs from ESP, see README.md for details on setting logging levels
Version of Arduino (ex: 1.8.1)
Version of library / SDK (ex: ESP8266 By ESP Community 2.5.0)

If you include what you're trying to do, it may also help to isolate the issue. This thread is intended for tracking resolutions so hopefully we'll get you sorted.

Hello. thank you for the examples.
But I have some connection issues.
Device you're using = ESP8266 WEMOS D1 MIN
Any relevant logs from ESP, see README.md for details on setting logging levels
Version of Arduino = 1.8.8
Version of library / SDK (ex: ESP8266 By ESP Community 2.5.0)
If you include what you're trying to do, it may also help to isolate the issue. This thread is intended for tracking resolutions so hopefully we'll get you sorted.
My Problem is:

mqttClient->lastError() is 0
mqttClient->returnCode() is 0

With this line: netClient->setInsecure();  in the mqttConnect method I have a valid connection.
Debug Output:
SDK:3.0.0-dev(c0f7b44)/Core:2.5.0=20500000/lwIP:STABLE-2_1_2_RELEASE/glue:1.1/BearSSL:6778687
SPIFFSImpl: allocating %zd+%z d+%z  d=%z   d bytes
SPIFFSImpl: mounting fs @300000, size=fb000, block=2000, page=100
SPIFFSImpl: mount rc=0
Success to open ca file
loaded
SPIFFS_close: fd=1
BSSL: Connection will fail, no authentication method is setup:wr 224 0

Hello and thanks for the examples! I'm trying to get this to work on a ESP8266 sensor and am having issues seeing traffic flow through to my Google Cloud IoT registry. Followed all the steps laid out in the readme, as well as getting the SPIFFS loader operational. No error codes are returned, but my serial monitor reads these two lines repeating:
.0
0
Device: ESP8266  ESP-12E CP2102
Any relevant logs from ESP, see README.md for details on setting logging levels:
Ca cert success, and these next two lines repeating.
.0
0
(wifi connected return)
Version of Arduino: 1.8.8
Version of library / SDK: ESP8266 By ESP Community 2.5.0
Board Config:

Are there any reasons why this model might not play well with Google IoT? I'd also be interested if there are any models that have been tested successfully!

I don’t get why are u getting cheaper technology . Esp32 are so cheap , and working super good . Btw , can u post your source code ?

@MauriceWallbott Make sure that you uploaded the root certificate using the ESP8266 FS upload tool.
@BizNinja Good to see things worked smoothly on the ESP32, the sample code assumes there's FLASH on the board, which some of the barebones models don't include :)

I'm trying to run the Esp8266-lwmqtt example with the following environment:

Adafruit Huzzah ESP8266 breakout board
Arduino 1.8.8 in combination with Visual Studio Code Arduino plugin
ESP8266 SDK 2.5.1

I compiled the sketch and enabled the logging in WiFiClientSecureBearSSL.cpp. I have uploaded the root certificate to SPIFFS. When I run the sketch, I get the following logging output:
Connecting to WiFi
Waiting on time sync...
Success to open ca file
loaded

connecting...Refreshing JWT
BSSL:_connectSSL: start connection
BSSL:Connection *will* fail, no authentication method is setup
BSSL:_wait_for_handshake: failed
BSSL:Couldn't connect. Error = 'Chain could not be linked to a trust anchor.'

connected!

connecting...Refreshing JWT

This repeats forever. Note that the "connected!" message is misleading, as it appears although the connection actually failed. The following code does not check the return vaule of the call to this->mqttClient->connect(), which may fail with return value false, but does not cause this->mqttClient->lastError() to return a value different from LWMQTT_SUCCESS:
https://github.com/GoogleCloudPlatform/google-cloud-iot-arduino/blob/9ba09d585607e50264502725a80ce4f42dd1c275/src/CloudIoTCoreMqtt.cpp#L157
void CloudIoTCoreMqtt::mqttConnect() {
...
    this->mqttClient->connect(device->getClientId().c_str(), "unused", getJwt().c_str(), false);

    if (this->mqttClient->lastError() != LWMQTT_SUCCESS){

See also bool MQTTClient::connect() in MQTTClient.cpp:
https://github.com/256dpi/arduino-mqtt/blob/2ba5912abf85842ea8bc0e0b7efa80feb8b8b669/src/MQTTClient.cpp#L260
  // connect to host
  if (!skip) {
    int ret = this->netClient->connect(this->hostname, (uint16_t)this->port);
    if (ret <= 0) {
      return false;
    }
  }

This returns without setting this->_lastError, which only happens further down in MQTTClient::connect().
As a workaround I can add a  call ((WiFiClientSecure*)netClient)->setInsecure(); in setupCloudIoT(). Then the connection succeeds and the sketch publishes successfully.

Update about my attempts to runthe Esp8266-lwmqtt example: After switching back to ESP8266 Arduino SDK version 2.4.2 the example works as expected without any further change.

@smuehlst Thanks for the update!

@gguuss Are there known problems with the ESP8266 SDK  2.5.1, or should the Esp8266-lwmqtt example work in general with this version?

@smuehlst Good question, I'm seeing the same behavior as you're seeing with 2.5.1. There's a lot that was changed for the 2.5 releases including the switch to BEAR_SSL, unification of the file systems. There's probably some changes that are necessary to support this version.

@gguuss Thanks, I'll stick to 2.4.2 then for the time being.

It may be worth trying to update the certificate bytes and retrying with 2.5.x but I won't be able to look further into it today.

Hi, i m having a bit of a problem and i can't figure it out.
I'm using an esp8266 with 2.4.2 sdk version and a bme680 sensor. The sensor is doing readings just fine but when I run the example nothing gets send to the cloud and this loop always happens:

I also get this error from time to time:

What am I doing wrong? Can you help me fix this please?

@MarcuCristian Are you calling the "sendTelemetry" function with the value you want to publish?

@gguuss
it lists 0 items.
Also, using your answer on this post i tested the jwt token and figured it's not goodn the signature being invalid.

I don't know how to fix this, i'll just start from scratch, think i did something wrong on the way!

@MarcuCristian It's very strange that you were seeing the configuration message get sent - you may want to double check the values in ciotc_config.h and maybe consider adding a new public / private key pair.

@gguuss
i think... i figured it out.

If this is it (and i think this was the problem) it's actually laughable.. sooo this is the first time I'm using the google cloud platform, and I have a trial account with the 300$ credit from the start... all good just that the account was not activated in order to use that credit so the functionality of the platform was off.
All i had to do was press an annotation on top of the screen just to make the account billable.
Thank you for your time solving my issue, all the best to you

@MarcuCristian Glad to hear it started working, I can follow up with the product team to see if there's a way we can get a 'grace' quota for our APIs.  Also will add a note to the README.

Hi @gguuss, thank you for this library. I've been trying to set it up but I ran across some issues and I was hoping you could help me with some insight here.
Device you're using: Adafruit Feather HUZZAH with ESP8266
Version of Arduino: 1.8.9
Version of library: 1.1.6
Version of SDK: ESP8266 By ESP8266 Community 2.4.2
And billing is enabled for this project.
Similar to issue #99, I'm still having token expiration issues at v1.1.6:
23:09:19.001 -> Refreshing JWT
23:09:22.976 -> -10
23:09:22.976 -> LWMQTT_CONNECTION_DENIED
23:09:22.976 -> 5
23:09:22.976 -> LWMQTT_NOT_AUTHORIZED
23:09:22.976 -> Delaying 39230ms
23:10:02.230 -> Refreshing JWT
23:10:06.172 -> -10
23:10:06.172 -> LWMQTT_CONNECTION_DENIED
23:10:06.172 -> 5
23:10:06.172 -> LWMQTT_NOT_AUTHORIZED
23:10:06.172 -> Delaying 60000ms

I'm waiting to see if when the JWT expires the connection will correct itself; but it hasn't happened yet.
Let me know if I can help providing any further information.

@MarcuCristian Are you calling the "sendTelemetry" function with the value you want to publish?

Hi Gus, where is the "sendTelemetry" function defined?
I was looking around for it but the link in one of your articles is broken:
"https://github.com/GoogleCloudPlatform/google-cloud-iot-arduino/blob/master/examples/Esp32-ssd1306/Esp32-ssd1306.ino#L192-L231"

@extracheez It should be linked here now.

@extracheez It should be linked here in the example and here in the library.

Ah publishTelemetry isn't working for me:
So far I can connect the device to iot and send messages and config to the device. I can also see every time publishTelemetry is called that stackdriver logs it. Unfortunately when I try to pull I get "Listed 0 items".
Here is a screen shot of my stackdriver logs, serial monitor and terminal
Device you're using: ESP8266 D1 MINI (unsure of brand)
Any relevant logs from ESP:

08:24:22.932 -> connected! 08:24:23.297 -> incoming: /devices/atest-dev/config - test config 08:24:23.297 -> incoming: /devices/atest-dev/config - test config 08:25:09.606 -> Wifi: -73db 08:26:09.588 -> Wifi: -74db 08:27:01.558 -> incoming: /devices/atest-dev/commands - test command 08:27:09.618 -> Wifi: -73db
Version of Arduino: 1.8.9
Version of library: 2.4.2
Sorry if I'm missing something basic. I'm very new to all this.

@extracheez You need to both have a PubSub topic as well as a subscription to the PubSub topic. When you pull the subscription, you will see the messages appear.

@extracheez It looks to me like you're REALLY close! You need to both have a PubSub topic as well as a subscription to the PubSub topic. When you pull the subscription, you will see the messages appear. As an alternative to using PubSub, you can publish state messages and they will appear in the Google Cloud Console. I'll update the link in my blog.

Success! Thank you!

Hello and thanks for the examples! I'm trying to get this to work on a ESP8266 sensor and am having issues seeing traffic flow through to my Google Cloud IoT registry. Followed all the steps laid out in the readme, as well as getting the SPIFFS loader operational. No error codes are returned, but my serial monitor reads these two lines repeating:
.0
0
Device: ESP8266 ESP-12E CP2102
Any relevant logs from ESP, see README.md for details on setting logging levels:
Ca cert success, and these next two lines repeating.
.0
0
(wifi connected return)
Version of Arduino: 1.8.8
Version of library / SDK: ESP8266 By ESP Community 2.5.0
Board Config:

Are there any reasons why this model might not play well with Google IoT? I'd also be interested if there are any models that have been tested successfully!
UPDATE:
Thanks Gior80 - I was able to get my hands on an espressif ESP32, and the library is working great now. Going to roll forward with this and see if I can get a working POC. Thanks!

I am also facing the same issue can anyone help me out here

@Tarun1303 What version of the SDK and library are you using?  A few things worth checking:

Is your EC key correctly registered in the IoT Console?
Is your EC key valid / generated correctly?

You may want to try regenerating your key, registering it again, then double-checking all the parameters in ciotc_config.h - I have recently verified the library is working.

A few suggested resolutions in this thread for ESP8266:

Disconnect before connecting

 if (!mqttClient->connected())
  {
    mqttClient->disconnect();
    ESP.wdtDisable();
    connect();
    ESP.wdtEnable(0);
  }

Update to the latest ESP8266 community version 2.6.0

I don’t get why are u getting cheaper technology . Esp32 are so cheap , and working super good . Btw , can u post your source code ?

There are countries where esp32 vs esp-01s difference for example is significant compared to your wages. Or you may need like 100 devices for your company pet project. In this country. :) With esp-01s you can make whole packed installable solution of the price of an Esp32-wroom module itself.

Device you're using: Arduino UNO Wifi Rev 2
Any relevant logs from:
Version of Arduino: 1.8.12
Version of library / SDK: WifiNINA-1.5.0, MQTT-2.4.7, Google Core IOT JWT- 1.1.9
I have problem compiling jwt, especially the encryption, nn.
I'm missing cstring. I can't find any reference to cstring on the arduino pages.
/Applications/Arduino.app/Contents/Java/arduino-builder -dump-prefs -logger=machine -hardware /Applications/Arduino.app/Contents/Java/hardware -hardware /Users/andersar/Library/Arduino15/packages -tools /Applications/Arduino.app/Contents/Java/tools-builder -tools /Applications/Arduino.app/Contents/Java/hardware/tools/avr -tools /Users/andersar/Library/Arduino15/packages -built-in-libraries /Applications/Arduino.app/Contents/Java/libraries -libraries /Users/andersar/Documents/Arduino/libraries -fqbn=arduino:megaavr:uno2018:mode=off -vid-pid=0X03EB_0X2145 -ide-version=10812 -build-path /var/folders/qb/16t14spn3978fb_d4781nfsm0000gp/T/arduino_build_956202 -warnings=none -build-cache /var/folders/qb/16t14spn3978fb_d4781nfsm0000gp/T/arduino_cache_461935 -prefs=build.warn_data_percentage=75 -prefs=runtime.tools.avr-gcc.path=/Users/andersar/Library/Arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino5 -prefs=runtime.tools.avr-gcc-7.3.0-atmel3.6.1-arduino5.path=/Users/andersar/Library/Arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino5 -prefs=runtime.tools.avrdude.path=/Users/andersar/Library/Arduino15/packages/arduino/tools/avrdude/6.3.0-arduino17 -prefs=runtime.tools.avrdude-6.3.0-arduino17.path=/Users/andersar/Library/Arduino15/packages/arduino/tools/avrdude/6.3.0-arduino17 -prefs=runtime.tools.arduinoOTA.path=/Users/andersar/Library/Arduino15/packages/arduino/tools/arduinoOTA/1.3.0 -prefs=runtime.tools.arduinoOTA-1.3.0.path=/Users/andersar/Library/Arduino15/packages/arduino/tools/arduinoOTA/1.3.0 -verbose /Users/andersar/Documents/Arduino/libraries/Google_Cloud_IoT_Core_JWT/examples/Esp8266-lwmqtt/Esp8266-lwmqtt.ino
/Applications/Arduino.app/Contents/Java/arduino-builder -compile -logger=machine -hardware /Applications/Arduino.app/Contents/Java/hardware -hardware /Users/andersar/Library/Arduino15/packages -tools /Applications/Arduino.app/Contents/Java/tools-builder -tools /Applications/Arduino.app/Contents/Java/hardware/tools/avr -tools /Users/andersar/Library/Arduino15/packages -built-in-libraries /Applications/Arduino.app/Contents/Java/libraries -libraries /Users/andersar/Documents/Arduino/libraries -fqbn=arduino:megaavr:uno2018:mode=off -vid-pid=0X03EB_0X2145 -ide-version=10812 -build-path /var/folders/qb/16t14spn3978fb_d4781nfsm0000gp/T/arduino_build_956202 -warnings=none -build-cache /var/folders/qb/16t14spn3978fb_d4781nfsm0000gp/T/arduino_cache_461935 -prefs=build.warn_data_percentage=75 -prefs=runtime.tools.avr-gcc.path=/Users/andersar/Library/Arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino5 -prefs=runtime.tools.avr-gcc-7.3.0-atmel3.6.1-arduino5.path=/Users/andersar/Library/Arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino5 -prefs=runtime.tools.avrdude.path=/Users/andersar/Library/Arduino15/packages/arduino/tools/avrdude/6.3.0-arduino17 -prefs=runtime.tools.avrdude-6.3.0-arduino17.path=/Users/andersar/Library/Arduino15/packages/arduino/tools/avrdude/6.3.0-arduino17 -prefs=runtime.tools.arduinoOTA.path=/Users/andersar/Library/Arduino15/packages/arduino/tools/arduinoOTA/1.3.0 -prefs=runtime.tools.arduinoOTA-1.3.0.path=/Users/andersar/Library/Arduino15/packages/arduino/tools/arduinoOTA/1.3.0 -verbose /Users/andersar/Documents/Arduino/libraries/Google_Cloud_IoT_Core_JWT/examples/Esp8266-lwmqtt/Esp8266-lwmqtt.ino
Using board 'uno2018' from platform in folder: /Users/andersar/Library/Arduino15/packages/arduino/hardware/megaavr/1.8.5
Using core 'arduino' from platform in folder: /Users/andersar/Library/Arduino15/packages/arduino/hardware/megaavr/1.8.5
Detecting libraries used...
/Users/andersar/Library/Arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino5/bin/avr-g++ -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega4809 -DF_CPU=16000000L -DARDUINO=10812 -DARDUINO_AVR_UNO_WIFI_REV2 -DARDUINO_ARCH_MEGAAVR -DMILLIS_USE_TIMERB3 -I/Users/andersar/Library/Arduino15/packages/arduino/hardware/megaavr/1.8.5/cores/arduino/api/deprecated -I/Users/andersar/Library/Arduino15/packages/arduino/hardware/megaavr/1.8.5/cores/arduino -I/Users/andersar/Library/Arduino15/packages/arduino/hardware/megaavr/1.8.5/variants/uno2018 /var/folders/qb/16t14spn3978fb_d4781nfsm0000gp/T/arduino_build_956202/sketch/Esp8266-lwmqtt.ino.cpp -o /dev/null
Alternatives for CloudIoTCore.h<EMAIL_ADDRESS>ResolveLibrary(CloudIoTCore.h)
  -> candidates<EMAIL_ADDRESS>/Users/andersar/Library/Arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino5/bin/avr-g++ -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega4809 -DF_CPU=16000000L -DARDUINO=10812 -DARDUINO_AVR_UNO_WIFI_REV2 -DARDUINO_ARCH_MEGAAVR -DMILLIS_USE_TIMERB3 -I/Users/andersar/Library/Arduino15/packages/arduino/hardware/megaavr/1.8.5/cores/arduino/api/deprecated -I/Users/andersar/Library/Arduino15/packages/arduino/hardware/megaavr/1.8.5/cores/arduino -I/Users/andersar/Library/Arduino15/packages/arduino/hardware/megaavr/1.8.5/variants/uno2018 -I/Users/andersar/Documents/Arduino/libraries/Google_Cloud_IoT_Core_JWT/src /var/folders/qb/16t14spn3978fb_d4781nfsm0000gp/T/arduino_build_956202/sketch/Esp8266-lwmqtt.ino.cpp -o /dev/null
Alternatives for cstring: []
ResolveLibrary(cstring)
  -> candidates: []
In file included from /Users/andersar/Documents/Arduino/libraries/Google_Cloud_IoT_Core_JWT/src/jwt.h:20:0,
                 from /Users/andersar/Documents/Arduino/libraries/Google_Cloud_IoT_Core_JWT/src/CloudIoTCoreDevice.h:20,
                 from /Users/andersar/Documents/Arduino/libraries/Google_Cloud_IoT_Core_JWT/src/CloudIoTCore.h:19,
                 from /Users/andersar/Documents/Arduino/libraries/Google_Cloud_IoT_Core_JWT/examples/Esp8266-lwmqtt/Esp8266-lwmqtt.ino:15:
/Users/andersar/Documents/Arduino/libraries/Google_Cloud_IoT_Core_JWT/src/crypto/nn.h:23:10: fatal error: cstring: No such file or directory
 #include <cstring>
          ^~~~~~~~~
compilation terminated.
Using library Google_Cloud_IoT_Core_JWT at version 1.1.9 in folder: /Users/andersar/Documents/Arduino/libraries/Google_Cloud_IoT_Core_JWT
exit status 1
Error compiling for board Arduino Uno WiFi Rev2.

Yeah, this is not a supported board but you might be able to get it to work. My understanding is that the 328p does not have very much memory.

The UNO Wifi: It looks too weak, locks up calling, ecc_gen_pub_key. Same code (with WifiNINA) works on the MKR-WIFI1010.

@balp Interestingly enough it's using the ESP8266 for its modem, which is a supported target for this library. Unless you have a compelling reason to use this board, I'd recommend just using another one (e.g. MKR1000, ESP32/8266).

Device you're using - ESP32
Version of Arduino - 1.8.12
Version of library / SDK - Current - Just pulled zip this morning
I'm trying to get the example sketch working. However, it get's stuck on "checking wifi". Please see serial monitor below:
Starting wifi
[D][WiFiGeneric.cpp:337] _eventCallback(): Event: 0 - WIFI_READY
[D][WiFiGeneric.cpp:337] _eventCallback(): Event: 2 - STA_START
Connecting to WiFi
[D][WiFiGeneric.cpp:337] _eventCallback(): Event: 4 - STA_CONNECTED
[D][WiFiGeneric.cpp:337] _eventCallback(): Event: 7 - STA_GOT_IP
[D][WiFiGeneric.cpp:381] _eventCallback(): STA IP: <IP_ADDRESS>, MASK: <IP_ADDRESS>, GW: <IP_ADDRESS>
Waiting on time sync...
checking wifi...checking wifi...checking wifi...checking wifi...checking wifi...checking wifi...checking wifi...checking wifi...checking wifi...checking wifi...checking wifi...

The only changes I have made is #154 as it wasn't building without this

I am using latest as of 20210808 with MKR1000.  I get the following:
ClientId: projects/a-test-project/locations/us-central1/registries/MKR_GCP_Tutorial/devices/CESMKR1000
Waiting 60 seconds, retry will likely fail
Refreshing JWT
result is 0
mqttclient->lastError is -3
not connected
Settings incorrect or missing a cyper for SSL
Connect with mqtt.googleapis.com:8883
ClientId: projects/a-test-project/locations/us-central1/registries/MKR_GCP_Tutorial/devices/CESMKR1000
Waiting 60 seconds, retry will likely fail
Refreshing JWT
result is 0
mqttclient->lastError is -3
not connected
Settings incorrect or missing a cyper for SSL
Connect with mqtt.googleapis.com:8883
ClientId: projects/a-test-project/locations/us-central1/registries/MKR_GCP_Tutorial/devices/CESMKR1000
Waiting 60 seconds, retry will likely fail
repeated over and over
No changes to code other than ciotcl.h.  Would a wireshark capture help?


Crashes atmosphere when opening Tinfoil 12.1

When opening Tinfoil 12.1 with the patch running, it crashes as below.

There's another issue with the same error code which seems to affect all homebrew #1 so think this is a duplicate.
In case it's not, Installable NSPs are not supported by aynone in the community so i guess you're out of luck.


disclose sources

Hi ooples,
thank you for sharing such a big collection of indicators.
Can you please disclose your sources of them?
For me it is often not clear on which source the indicators are based on, when trying to verify the calculations.
But this is my opinion crucial to build trust in the calculation.
For instance in "RecursiveRelativeStrengthIndex" I found this loop:
            for (var j = 1; j <= length; j++)
            {
                var prevB = i >= j ? bList[i - j] : src;
                var prevAvg = i >= j ? avgList[i - j] : 0;
                var prevGain = i >= j ? gainList[i - j] : 0;
                var prevLoss = i >= j ? lossList[i - j] : 0;
                var k = (double)j / length;
                var a = rsi * ((double)length / j);
                avg = (a + prevB) / 2;
                var avgChg = avg - prevAvg;
                gain = avgChg > 0 ? avgChg : 0;
                loss = avgChg < 0 ? Math.Abs(avgChg) : 0;
                var avgGain = (gain * k) + (prevGain * (1 - k));
                var avgLoss = (loss * k) + (prevLoss * (1 - k));
                var rs = avgLoss != 0 ? avgGain / avgLoss : 0;
                avgRsi = avgLoss == 0 ? 100 : avgGain == 0 ? 0 : MinOrMax(100 - (100 / (1 + rs)), 1, 0);
                b = avgRsiList.Count >= length ? avgRsiList.TakeLastExt(length).Average() : avgRsi;
            }
            bList.AddRounded(b);
            avgList.AddRounded(avg);
            gainList.AddRounded(gain);
            lossList.AddRounded(loss);
            avgRsiList.AddRounded(avgRsi);

It appears that only the last iteration of the loop is considered for the calculation b, avg, gain, loss, avgRsi because there is only the single equal operator inside the loop over j. I guess the operator must be something like ´+=´.
I hope this message reaches you well.
Best regards

@quiithub You make very good points and I did create a full page for all indicators in the library along with a link to each source that you can view here: https://ooples.github.io/OoplesFinance.StockIndicators/indicators
I clearly haven't done a good enough job advertising this link but you can find the original source code I converted to C# and if you spot any mistakes I made with any of my code, please feel free to create a pull request. It is very difficult for me to keep up with almost 800 indicators by myself

Thank you for the quick response @ooples
And I am glad you already made the effort to list the sources.
However for "your" indicators (where you are the source) which one is the master?
The c# library or the one on tradingview?
For example https://www.tradingview.com/script/z46ko6yt-Ehlers-Sinewave-Indicator-V2-CC/ adds up without limiting min and max:
    real += math.sin(2 * pi * i / dcPeriod) * nz(cycle[i])
    imag += math.cos(2 * pi * i / dcPeriod) * nz(cycle[i])

and your c# implementation using MinOrMax
                realPart += Math.Sin(MinOrMax(2 * Math.PI * ((double)j / dcPeriod), 0.99, 0.01)) * prevCycle;
                imagPart += Math.Cos(MinOrMax(2 * Math.PI * ((double)j / dcPeriod), 0.99, 0.01)) * prevCycle;

causing different results (for me at least as I tried to translate to python.

If you find any issues then please feel free to submit a pull request to fix them. This min or max was specifically done to fix a bug when using low values for the DC period
Get Outlook for Androidhttps://aka.ms/AAb9ysg

From: quiithub @.>
Sent: Friday, August 2, 2024 6:03:05 PM
To: ooples/OoplesFinance.StockIndicators @.>
Cc: Franklin Moormann @.>; Mention @.>
Subject: Re: [ooples/OoplesFinance.StockIndicators] disclose sources (Issue #76)
Thank you for the quick response @oopleshttps://github.com/ooples
And I am glad you already made the effort to list the sources.
However for "your" indicators (where you are the source) which one is the master?
The c# library or the one on tradingview?
For example https://www.tradingview.com/script/z46ko6yt-Ehlers-Sinewave-Indicator-V2-CC/ adds up without limiting min and max:
real += math.sin(2 * pi * i / dcPeriod) * nz(cycle[i])
imag += math.cos(2 * pi * i / dcPeriod) * nz(cycle[i])

and your c# implementation using MinOrMax
            realPart += Math.Sin(MinOrMax(2 * Math.PI * ((double)j / dcPeriod), 0.99, 0.01)) * prevCycle;
            imagPart += Math.Cos(MinOrMax(2 * Math.PI * ((double)j / dcPeriod), 0.99, 0.01)) * prevCycle;

causing different results (for me at least as I tried to translate to python.
—
Reply to this email directly, view it on GitHubhttps://github.com/ooples/OoplesFinance.StockIndicators/issues/76#issuecomment-2266196541, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AAXO4ZJTPOTS4UTCFBT2E3TZPP6ZTAVCNFSM6AAAAABLOXCPZGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDENRWGE4TMNJUGE.
You are receiving this because you were mentioned.Message ID: @.***>

Is it possible that these bugs are also in the tradingview scripts?
I plotted the imagPart of EhlersSpectrumDerivedFilterBank in tradingview and periodically I get extreme values.

Yes that is what I meant as well. I found bugs with TV scripts and I'm local testing as well so I fixed them as I came across them
Get Outlook for Androidhttps://aka.ms/AAb9ysg

From: quiithub @.>
Sent: Saturday, August 3, 2024 6:02:31 AM
To: ooples/OoplesFinance.StockIndicators @.>
Cc: Franklin Moormann @.>; Mention @.>
Subject: Re: [ooples/OoplesFinance.StockIndicators] disclose sources (Issue #76)
Screenshot.2024-08-03.115755.png (view on web)https://github.com/user-attachments/assets/a015c7fb-beb2-4687-a3a4-8333e0cee8be
Is it possible that these bugs are also in the tradingview scripts?
I plotted the imagPart of EhlersSpectrumDerivedFilterBank in tradingview and periodically I get extreme values.
—
Reply to this email directly, view it on GitHubhttps://github.com/ooples/OoplesFinance.StockIndicators/issues/76#issuecomment-2266660518, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AAXO4ZIZ3G7T2SO23X32A5TZPSTDPAVCNFSM6AAAAABLOXCPZGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDENRWGY3DANJRHA.
You are receiving this because you were mentioned.Message ID: @.***>

Hi Franklin, on tradingview the internal bar strength is basically computed as follows:
ibsi = ema(sma(ibs, smoothLength), length)
ibsiEma = ema(ibsi, length)

but in this package:
ibsi = sma(ibs, smoothLength)
ibsiEma = ema(ibsi, length)

Which version is right?
Is the idea for the indicator from you?

@quiithub I'm the one who created that TV indicator script and that second smoothed EMA is the signal line. I kept the version here a bit different since I wasn't super happy with my TV script but feel free to create a PR to make this change if you want. I can also make this change to add additional smoothing


Update and rename enterprise-single-sign-on2.md to enterprise-single-…

…sign-on.md
fixing the name of the file and title Enterprise Single Sign-On. Removing 2 (Enterprise Single Sign-On2) it seems a new version of the component and is not true

:warning: Validation status: warnings

File
Status
Preview URL
Details

biztalk/TOC.md
:warning:Warning
View
Details

biztalk/core/single-sign-on-support-for-the-wcf-adapters.md
:warning:Warning
View
Details

biztalk/core/enterprise-single-sign-on.md
:white_check_mark:Succeeded
View

biztalk/TOC.md

[Warning] Invalid file link:(~/core/enterprise-single-sign-on2.md).

biztalk/core/single-sign-on-support-for-the-wcf-adapters.md

Line 115: [Warning] Invalid file link:(~/core/enterprise-single-sign-on2.md).

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.

@sandroasp You're on a roll! I love it!! We can't rename files. You can remove the '2' from the title. I'm closing this PR. You can create another PR with only the Title updated.


DB, messaging, gRPC (over HTTP): clarify nested client spans

When working with db, messaging, or  other high-level client libraries, applications could create (at least) two distinct layers of spans (when both layers are instrumented):

logical operation (such as perform DB query or publish an event)
network calls that perform the operation (obtain auth tokens when necessary, request or send information, retry, etc)

Some common examples:

Elasticsearch which works over HTTP
AWS SQS/SNS that work over HTTP
Azure CosmosDB that can work over HTTP or TCP-based protocol (which is being instrumented)
gRPC works on top of HTTP which (at least in .NET) could result in gRPC client over HTTP client spans.

As a result, logical-level spans describe corresponding domain (DB, messaging, etc) and network level spans describe individual RPC calls.
These two layers contain different information, even server.address:server.port could be different (logical operation points to a cluster/domain name, while network spans may point to individual nodes in the cluster, regional endpoints, etc).
Problems it creates:

semconv don't usually clarify how to model such relationships and which information goes where:

should logical operations have network.* attributes?
should both be recorded by default or which one is more important?
should both have client kind?

it's hard to efficiently visualize flat service map  - it becomes noisy and confusing:

Related:
https://github.com/open-telemetry/semantic-conventions/issues/652
https://github.com/open-telemetry/oteps/pull/172

When working with db, messaging, or other high-level client libraries, applications create (at least) two distinct layers of spans:

I wouldn't say that applications create at least two distinct layers of spans. While the problem is real, many instrumentations today only instrument the logical layer, with protocols built on top of HTTP being the most notable exceptions.

should logical operations have network.* attributes?

I'd say yes, given that in many cases on likely doesn't reliably know whether lower-level instrumentation exists?

should both be recorded by default or which one is more important?

This depends on the use case. While for most cases logical operations might be more important, especially for troubleshooting errors and performance issues information about transport operations can be crucial.

should both have client kind?

For messaging we mostly solved this question as we'll have producer/consumer kinds for the logical layer and client/server kinds for the transport layer. Producers and consumers on the logical layer will be connected via links, via clients and servers on the transport layer will be connected with parent/child relationships. However, this model will not work well for databases, where both layers will have client/server relationships.

it's hard to efficiently visualize flat service map - it becomes noisy and confusing:

A service map should either focus on logical operations, or otherwise support nesting. Dreaming up a solution, that's how I'd sketch it:

I love this visualization @pyohannes!

For messaging we mostly solved this question as we'll have producer/consumer kinds for the logical layer and client/server kinds for the transport layer.

now quite - we still have publish/receive spans for which we nicely avoided documenting the kind.
Assuming the transport-level is instrumented, messaging would be in the same boat as DB (and gRPC).

not quite - we still have publish/receive spans for which we nicely avoided documenting the kind - they are logical.
Assuming the transport-level (e,g, AMQP) is instrumented, messaging would be in the same boat as DB (and gRPC).

The "Publish" span should of kind PRODUCER if it's used as creation context. "Receive" spans should always be of kind CONSUMER. It's important that we always try to link from PRODUCER to CONSUMER spans on the logical level, as this allows us to keep the relationships on the two levels separate.

producer/consumer spans would connect application nodes, but client spans would still be needed to show the broker as a node.

This is true. I don't know of a service map that would nicely support that.

Messaging and database conventions were updated to reflect logical nature. So this issue is limited to RPC


Name steps

Applied mkpr on .github/workflows/ci.yml
sed s/run: npx playwright install/name: install playwright\n        run: npx playwright install/

Pull Request Test Coverage Report for Build<PHONE_NUMBER>2
Details

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 75.519%

Totals

Change from base Build<PHONE_NUMBER>0:
0.0%

Covered Lines:
165

Relevant Lines:
209

💛  - Coveralls


can i use your main menu code?

What is your question?
i really love your main menu, and i was wondering if i can use it for my engine

no worries, just give proper credit.
also, i'm not quite sure, but you might also need to credit mic'd up for it

will do!


Enhancement Request: Zooming an Image in Mac Catalyst

Don't see a way to zoom an image in Mac Catalyst similar to how it can be done in iOS (like the pinch gesture).
I'm referrring to just using something like keyboard presses (like cmd-+).

@zewkini
Please check if PR #416 works for you?

@zewkini
I just released Mantis 2.2.30 which supports this feature.

Excellent work. I really appreciate your quick response and dedication to adding this request!


Support linkedfrom links using properties

When using backlinks in the new properties fields aka yaml array, Map view does not recognize these for linkedfrom: queries.
Example frontmatter:
places:
  - "[[New York]]"
  - "[[Boston]]

Perhaps this is an Obsidain API thing that will be worked out before general release but wanted to mention it.

Seems like Obsidian does recognize these as links and it should reflect in the API, even if Map View should do something additional. I'll work on it.

I'm having a similar issue, but where I have a parent trip note, e.g., "Rocky Mountain NP 2023" and I have journal entries that have a "trip" property that backlinks to the trip note. Would be lovely to be able to see a map of all the notes that linked to the trip.

I fixed this in #252, we're just waiting for a new release. Hope it helps!

Sorry for the holdup, I was hoping to fix a few more issues before issuing a new releases but was not yet able to come around to it. In order to not delay things further, I'll make a release next week either way.

In spite of this being a major reason I released 5.0.3 last week, I didn't add it to the changelog :facepalm: But it's there!


is_verified information not available in Organization struct

When we call the REST API of GitHub GET /orgs/:org , the JSON response we get has a key call is_verified.
However, the same can not be found in the go-github package under the Organization struct.

Thank you, @rnradon !
This would be a great PR for any new contributor to this repo or a new Go developer.
All contributions are greatly appreciated!
Feel free to volunteer for any issue and the issue can be assigned to you so that others don't attempt to duplicate the work.
Please check out our CONTRIBUTING.md guide to get started.
Thank you!

I would like to work on this issue

@rnradon Are you referring to this specific field?

Ah, thank you for the research, @itsksaurabh !  I didn't actually have time this week to investigate.
Closing as already Working As Intended.  Feel free to re-open if this didn't answer your question.


fix relative redirects

Per spec redirects can be absolute or relative.
In order to handle relative redirects correctly we need
to apply the some logic as to relative URIs.

Thank you! That was annoying me for some time, glad you fixed it.


[AutoPR apimanagement/resource-manager] add openid connect in authentication settings

Created to sync https://github.com/Azure/azure-rest-api-specs/pull/4233

(message created by the CI based on PR content)

Codecov Report

:exclamation: No coverage uploaded for pull request base (restapi_auto_apimanagement/resource-manager@7d53537). Click here to learn what that means.
The diff coverage is 100%.

@@                              Coverage Diff                               @@
##             restapi_auto_apimanagement/resource-manager    #3612   +/-   ##
==============================================================================
  Coverage                                               ?   37.08%
==============================================================================
  Files                                                  ?     8004
  Lines                                                  ?   250525
  Branches                                               ?        0
==============================================================================
  Hits                                                   ?    92906
  Misses                                                 ?   157619
  Partials                                               ?        0

Impacted Files
Coverage Δ

azure-mgmt-apimanagement/azure/mgmt/__init__.py
100% <100%> (ø)

azure-mgmt-apimanagement/azure/__init__.py
100% <100%> (ø)

Continue to review full report at Codecov.

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

This PR has been merged into https://github.com/Azure/azure-sdk-for-python/pull/3106


Notification module throws error for orders with several partial payments

Describe the bug
Error Cannot read properties of undefined (reading 'custom') thrown by notification module for orders with several partial payments.
Happens for orders paid through Adyen web-drop-in component with two payment methods, like i.e. partially with gift card (in our case Givex), and partially with other payment method
To Reproduce
(lets assume for example purposes that order is for 100 EUR, 20 EUR is paid with gift card and the other 80 EUR by visa)
What happens:

payment object created in Commercetools with amountPlanned 100 EUR
payment object updated with createSessionRequest
payment object updated with createSessionResponse, extension module also triggers setKey update action, and key is set to value coming from merchantReference at this stage
notification module receives notification about 1st successful payment: by gift card for 20 EUR, triggers update of key to value coming from pspReference=SAMPLE_PSP_REF_1 received in notification
notification module receives notification about 2nd successful payment: by visa for 80 EUR, merchantReference is the same as for 1st payment, but pspReference=SAMPLE_PSP_REF_2 is different now, payment in Commercetools is not found, neither by pspReference=SAMPLE_PSP_REF_2 nor by merchantReference (because it was replaced earlier with 1st payment pspReference=SAMPLE_PSP_REF_1)
error is thrown:

{
    "notification": [
        {
            "success": "true",
            "eventCode": "AUTHORISATION",
            "pspReference": "SAMPLE_PSP_REF_2",
            "eventDate": "2024-02-21T13:35:03+01:00"
        }
    ],
    "level": 50,
    "msg": "Unexpected exception occurred.",
    "hostname": "***",
    "pid": 1,
    "name": "ctp-adyen-integration-notifications",
    "cause": {
        "name": "TypeError",
        "stack": "TypeError: Cannot read properties of undefined (reading 'custom')\n at Object.processNotification (file:///app/src/handler/notification/notification.handler.js:59:14)\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async handleNotification (file:///app/src/api/notification/notification.controller.js:27:7)\n at async Server.<anonymous> (file:///app/src/server.js:20:9)",
        "message": "Cannot read properties of undefined (reading 'custom')"
    },
    "v": 0
}

Result:

payment object with amountPlanned 100 EUR is updated only with details for 1st 20 EUR payment
for 2nd payment notification module responds to Adyen webhook with "notificationResponse" : "[accepted]"
Notification module throws error, info about 2nd payment never reaches Commercetools

Expected behavior
Payment object(s) in Commercetols updated with all transaction actually done in Adyen
Additional context
looks like the root cause is similar as in issue: https://github.com/Adyen/adyen-commercetools/issues/1144

Hey @Arkadiusz-Choczaj-Epam,
Thank you for reaching out, our team is investigating this matter and we will update you once we have more information.
Best regards.

Hey @Arkadiusz-Choczaj-Epam
Please note that we've configured the payment key to a PSP reference from webhook to facilitate the custom refund reference feature. Keeping the original merchant reference for the payment key would compromise backward compatibility with changes implemented in version 9.10.0. We acknowledge this request for future development and aim to formulate a solution that maintains backward compatibility.
However, you could implement a workaround for this specific scenario, where each Adyen transaction will be assigned to a different commercetools payment. In this way, each partial Adyen transaction will have its commercetools payment instance and webhooks will update the payment instance they belong to based on the original PSP reference value.
If you have any further questions or need clarification, please feel free to reach out.

Hey @Arkadiusz-Choczaj-Epam,
We appreciate your suggestion. After careful consideration, we have decided not to proceed with this request at the moment. However, your suggestion has been noted and added to our internal backlog.
Thank you!


Dynamically linked libraries and static libraries coexisting

OS: x64-linux
Further info: vcpk in manifest mode with overlays
After reading the docs and issues posted here, I understood that dynamically linked libraries are not officially supported, thus the need to set -DVCPKG_TARGET_TRIPLET=x64-linux-dynamic and -DVCPKG_INSTALL_OPTIONS="--allow-unsupported" to the CMakePresets.json. This indeed works but "forces" all other libraries to be built dynamically as a default.
Is it possible to have a static default install for all the libraries that allow it, while only trying dynamically linked library install for the ones that allow only this mode?

https://learn.microsoft.com/en-us/vcpkg/users/triplets#per-port-customization
PS: you don't really need --allow-unsupported

This seems to mix two interpretations of "supported":
One is that the triplet is tested in vcpkg CI. You get out of this by choosing other triplets (or custom overlay triplets). This may work well most of the times.
Another one is what is supported by the package of interest. Like building msmpi for windows. You can try to get over this for osx with --allow-unsupported, but it won't work most of the times.


Enlarge the Input Surface button in OSLMaterial

Screen shot from recent PR shows the issue - too much empty space when there's no numerical or color input:

Solved with #310


[EnzymeTestUtils] Fix batch duplicated return and aliasing return/argument

@wsmoses, can you please add a test that was failing before this PR but now passes? It's not clear to me what edge case this solves.

Yeah will add a test later today for post-commit review (sorry for quick push, am trying to push new version in fix to fix the accidentally failing NNlib tests which turn out to be correct: https://github.com/FluxML/NNlib.jl/pull/536)


Fixes global numeric types to have max of signed encoding

This adjusts towards the exiting code which used int32/64 instead of
uint32/64. The reason is that the spec indicates intepretation as signed
numbers, which affects the maximum value.
See https://www.w3.org/TR/wasm-core-1/#value-types③

Note: I left function signatures allowing uints because they often use numbers as raw bytes or use unsigned types to hint something can never be negative.

thanks for the help with this @mathetake it is sometimes hard to keep track what is a binary representation limitation vs a runtime one!


Added coverage information to the editor

coverage.ts is ported from codacyde, my original PoC for an IDE extension. I haven't changed the standard decorations -- light and dark mode are available. Perhaps the hover message ought to be better.

What's left to do here -- looks like when you load a PR it doesn't auto trigger the coverage to appear in the current active editor.
Separately, there should probably be a toggle somewhere to turn off showing coverage highlights in case it's interacting badly with another plugin.


Replace clamp with max if there is no upper bound.

Describe your PR, what does it fix/add?
prevents an unnecessary upper bound check
Is there anything you want to mention? (unchecked code, possible bugs, found problems, breaking compatibility, etc.)
No.
Is it ready for merging, or does it need work?
Should be good to go.

rip my 1337420 placeholders


Lazy Route Module Routing File generation

- [x] feature request

I always have to create this file (xx.routing.ts), in my new module which is lazy loaded
Suppose I have about module, then I have to create about.routing.ts file and add
import { ModuleWithProviders } from '@angular/core';
import { Routes, RouterModule } from '@angular/router';

import { AboutComponent } from './about.component';

const routes: Routes = [
  { path: '', component: AboutComponent }
];

export const routing: ModuleWithProviders = RouterModule.forChild(routes);

this content to it, and then go to its module, and add routing to the imports.
Can this be automated by having new generate command?

As per the wiki documentation, you should be able to use the following command:
ng generate module [name] --routing


Upgrade to .NET Core 2.1

Upgrade to .NET Core 2.1 across the board. Also fixes support for the server and console client to run on Linux!.

Does this block on a fix for https://github.com/dotnet/coreclr/issues/18269?

Yes—there's no workaround currently in this branch for it.

Note: merging anyway because we cannot really do anything about the failure on the macOS VSTS hosted build. The installed Mono on the hosted pool is too old. It'll be updated hopefully soon enough.


Create a room with error : "Parent entities cannot be found."

I create a room with a client.
I quit the client.
I create a second room.
I have a "Parent entities cannot be found." and the client stop.

Same problem when I try to reconnect to a room

Outdated, refer to my discord message.