Cinemachine Noise component overrides Confiner2D

Ok, we are using a 2D confiner for confining the camera to the boundaries of our game, and we also want to have a screen shake effect when needed, the problem is, when we apply the shake the camera shakes and moves outside the boundaries, I assumed that the confiner should override any attempt of position change yet it seems that the noise component still happens. Bellow I provide the screen shake code used, the virtual camera setup, the noise profile and our execution order

the implementation of the screen shake is simple

private IEnumerator ShakeCoroutine(float amplitude, float frequency, float duration, AnimationCurve curve, Action callback = null)
    {
        CinemachineBasicMultiChannelPerlin noise = (CinemachineBasicMultiChannelPerlin)currentActiveCam.GetCinemachineComponent(CinemachineCore.Stage.Noise);

        if (noise == null)
        {
            yield break;
        }

        float time = 0f;
        noise.m_FrequencyGain = frequency;

        while (time < duration)
        {
            time += Time.deltaTime;
            noise.m_AmplitudeGain = Mathf.Lerp(0, amplitude, curve.Evaluate(time / duration));
            yield return null;
        }

        noise.m_FrequencyGain = 0f;
        noise.m_AmplitudeGain = 0f;

        callback?.Invoke();
    }

This is the virtual camera setup: (we have multiple cameras but they are set up pretty much identical)

This is our 2D shake profile:
7603621--943984--upload_2021-10-26_15-52-42.png

Execution order:
7603621--943990--upload_2021-10-26_15-57-15.png

Also what worries me that the our wanted behaviour was solved as a bug?

Any ideas on how to move forward with this is issue would be amazing!

7603621--943984--upload_2021-10-26_15-52-42.png

In fact the confiner is not supposed to confine camera noise, because if it did then at the edge of the confining region there would be hard stops and it would look nonphysical.

If you want camera shake to be confined, then you would need to write a custom extension that applies it after Body, but before CinemachineConfiner (you would define the latter using script execution order). Your custom extension would have to apply perturbations to state.PositionCorrection. Unfortunately you won’t be able to directly use the BasicPerlinNoise component for this, as it is always applied after the Confiner. Your custom extension could still make use of the underlying Perlin Noise implementation, but it would need to apply the noise earlier in the CM pipeline.

Okay, seems logical, were probably aren’t going to override the current behaviour and just try to play around the fact that the camera has to have space in order to shake.

Thank you for the answer!