cant make full width site

Hi!
I'm trying to add site without sidebar and toc. I set theme in _meta.json:
{
  "index": {
    "type": "page",
    "title": "Mercury",
    "display": "hidden",
    "theme": {
      "layout": "full"
    }
  },
  "pricing": {
    "type": "page",
    "title": "Pricing",
    "theme": {
      "typesetting": "article",
      "layout": "full"
    }
  }
}

but the site doesn't respect the configuration. Any ideas what can be wrong there? I was trying to set:
"theme" {
  "sidebar": false,
  "toc": false
}

but this config is not respected as well ...
I have no idea why it is not working.

When I start with fresh documentation, it works as expected.
The problem is on my side, but I have no idea how to debug this issue. I was trying to set all possible combinations of layout and typesetting values without success ... Where should I search? Is it a problem with CSS?
Here is a repo for my documentation https://github.com/mljar/runmercury-website

When I change the trailingSlash: true, to trailingSlash: false, the layout is working as expected in my project. But I cant reproduce it on a fresh project.
I need trailingSlash for deployment on AWS S3, otherwise URLs are not working for me.

I've just recreated the whole project starting with this template https://github.com/shuding/nextra-docs-template
All works OK! Thank you for this project!


Circles as paths

Don't merge yet - I'm stuck on something and looking for help.
Successes:

Circles are defined as a single path per
Highlights for one county at a time still work (different implementation)
Centroid and county datasets are both smaller for faster load

Trouble:
The Total circles start by showing as the correct blue, but then they snap into only showing circle strokes, not fill. I have no idea why - the properties sure look like fill=stroke=blue.

Any ideas?

That’s really odd. Have you tried using a different color for total just to see if it is barfing on the end value rgba as opposed to something specific to total paths?

Yes, I have tried using the same color as irrigation or other and it does the same thing. I'm moving toward the hypothesis that it happens when there are excess demands on the animation system - somehow the transitions just break down and stop partway through rather than jumping to the correct end state. But I don't know how to further test or address that possibility.
Other things I've learned:

If I zoom out while in Total view, somewhere around 75% zoom I get filled blue circles back.
If I zoom back in from scale where filled circles are visible, somewhere between 80% and 125% (it varies) I get empty blue circles back.
I can sometimes generate empty circles in other categories - for example, in Irrigation view when zoomed in and switching between states. See GIF below.
The failures seem to sometimes, but not always, be associated with [Violation] 'click' handler took 256ms in the console (violations between ~250 and ~300 ms) or [Violation] 'requestAnimationFrame' handler took 50ms

as a gut check, is the performance of the transitions an improvement over the branch that has them as circles?

Yes, the transitions are lovely and smooth.

FYI...in IE on dev, I don't even see a map due to the "zoomToFromState" being undefined...maybe that's still plaguing your local build on IE (and has nothing to do with the pr?)

Thanks Laura. Yeah, I don't think the IE thing has to do with this PR, I was really just confirming that it's not just your computer =). But I'm also not seeing an error with zoomToFromState explicitly mentioned in the console, so I don't know why our IEs are failing in slightly different ways. Like you, I don't see a map.


Create custom Docker image for Shippable CI with Bluetooth support enabled

The standard Shippable linux kernels used for running the CI jobs do not have bluetooth support enabled.
Therefore a btvirt (virtual bluetooth device) can not be created as the BT socket type is not understood by the kernel.
The idea to use  btvirt, and some of the issues faced when using Travis comes from:   https://github.com/ukBaz/python-bluezero/issues/182
Shippable allows custom Docker containers:  http://docs.shippable.com/ci/tutorial/build-custom-ci-image/

I think I may have been too optimistic and neglected to recall that Docker containers rely on the underly host's kernel...  this maybe a dead end.

When I looked on Travis-CI I was trying to get dbus, Bluez (bluetooth) >5.43 with virtual host controller interface (vhci)

OS
dbus
bluetoothd
vhci
Python with System Packages

Trusty
yes
4.101
yes
3.4

Xenial
yes
5.37
No
3.5

Bionic
yes
None
No
3.6

Enabling of vhci seems to be the key item for btvirt
Is that still going to be the problem with the host's kernel?

Unfortunately the linux host requires to be built with CONFIG_BT=y.
This means that you need to host your own runners (Gitlab, Github, AWS,etc).


[Question] Record from both cameras simultaneously in background mode

First of all, Thank you @pedroSG94  for your effort in this helpful library.
I need to build an app, it has a record button that initiates recording from both cameras in background mode and has timestamp overlayed on them.The output is 2 video files.
It was easy to do this for one camera (back camera) using RtspCamera2(Context, true, null)
and used AndroidViewFilterRender for timestamp.
I used null for connectCheckerRtsp because I don't need the streaming features for now but maybe will be added in the future.
My device is Nexus 6p, and I know it supports accessing both cameras simultaneously because I tried an app that records a video from both cameras (front camera overlayed on back camera (pip)) .
Any hints will be appreciated because I'm novice in android development :)
Thanks in advance

I'm not sure about it because I can't test it (I haven nexus 6p) but you can try created 2 library instances and open preview directly with camera back and front to avoid problem.
https://github.com/pedroSG94/rtmp-rtsp-stream-client-java/blob/master/app/src/main/java/com/pedro/rtpstreamer/customexample/RtmpActivity.java#L393

Thank you for your fast reply ..
Sorry if I don't understand
but I want cameras to be in background, I used RtspCamera2(Context, true, null) ... Can I initialize each instance with front and back camera from beginning using the background method?
or do I have to use very small surfaceView to implement SurfaceHolder.Callback and then initialize each camera in surfaceChanged(SurfaceHolder surfaceHolder, int i, int i1, int i2) method
like the example you mintioned?

You need do a little modification to start front or back camera from benining here:
https://github.com/pedroSG94/rtmp-rtsp-stream-client-java/blob/master/rtplibrary/src/main/java/com/pedro/rtplibrary/base/Camera2Base.java#L379
You can change camera opened from bengining if you change that line.
So I recommend you do this in Camera2Base class :
1- Modify startStream and startRecord to accept boolean parameter:
public void startStream(String url, boolean isFrontCamera) {
    streaming = true;
    startStreamRtp(url);
    if (!recording) {
      startEncoders(isFrontCamera);
    } else {
      resetVideoEncoder();
    }
    onPreview = true;
  }

public void startRecord(String path, boolean isFrontCamera) throws IOException {
    mediaMuxer = new MediaMuxer(path, MediaMuxer.OutputFormat.MUXER_OUTPUT_MPEG_4);
    recording = true;
    if (!streaming) {
      startEncoders(isFrontCamera);
    } else if (videoEncoder.isRunning()) {
      resetVideoEncoder();
    }
  }

2- Add parameter and conditional to startEncoders method:
  private void startEncoders(boolean isFrontCamera) {
    prepareGlView();
    videoEncoder.start();
    audioEncoder.start();
    microphoneManager.start();
    if (onPreview) {
      cameraManager.openLastCamera();
    } else {
      if (isFrontCamera) {
        cameraManager.openCameraFront();
      } else {
        cameraManager.openCameraBack();
      }
    }
    onPreview = true;
  }

Now, you can start with front or back camera. Theoretically rest of classes can be duplicated so this solution should work. Let me know the result :D
Sorry for my english :P

Thankfully, Your changes helped me to start recording with front or back camera but not both at the same time.
I made two buttons, one for each camera to start & stop recording trying to detect the cause of problem:
-If I started recording from any one camera alone then stop that camera, there is no problems.
-If I started recording from a camera then started recording from the other:
I got a working video file from only the camera that started recording whether I stopped it first or stopped the other camera first.
here is a segmented logcat for my trial:

I start recording from the back camera:
2018-10-25 08:49:59.203 17321-17321/com.example.camerarecorderdemo D/CameraRecorderDemo: User started recording from back camera 2018-10-25 08:49:59.224 17321-17321/com.example.camerarecorderdemo I/MicrophoneManager: Microphone created, 44100hz, Stereo 2018-10-25 08:49:59.298 17321-17321/com.example.camerarecorderdemo W/VideoCapabilities: Unrecognized profile<PHONE_NUMBER> for video/avc 2018-10-25 08:49:59.300 17321-17326/com.example.camerarecorderdemo I/zygote64: Do partial code cache collection, code=29KB, data=26KB 2018-10-25 08:49:59.300 17321-17326/com.example.camerarecorderdemo I/zygote64: After code cache collection, code=29KB, data=26KB 2018-10-25 08:49:59.300 17321-17326/com.example.camerarecorderdemo I/zygote64: Increasing code cache capacity to 128KB 2018-10-25 08:49:59.312 17321-17321/com.example.camerarecorderdemo I/VideoCapabilities: Unsupported profile 4 for video/mp4v-es 2018-10-25 08:49:59.321 17321-17321/com.example.camerarecorderdemo I/VideoEncoder: VideoEncoder OMX.qcom.video.encoder.avc 2018-10-25 08:49:59.321 17321-17321/com.example.camerarecorderdemo W/VideoCapabilities: Unrecognized profile<PHONE_NUMBER> for video/avc 2018-10-25 08:49:59.322 17321-17321/com.example.camerarecorderdemo I/VideoEncoder: Color supported:<PHONE_NUMBER> 2018-10-25 08:49:59.322 17321-17321/com.example.camerarecorderdemo I/VideoEncoder: Color supported:<PHONE_NUMBER> 2018-10-25 08:49:59.323 17321-17321/com.example.camerarecorderdemo I/VideoEncoder: Color supported:<PHONE_NUMBER> 2018-10-25 08:49:59.323 17321-17321/com.example.camerarecorderdemo I/VideoEncoder: Color supported: 21 2018-10-25 08:49:59.415 17321-17321/com.example.camerarecorderdemo I/VideoEncoder: Prepare video info: SURFACE, 480x640 2018-10-25 08:49:59.417 17321-17362/com.example.camerarecorderdemo W/OMXUtils: do not know color format 0x7fa30c04 =<PHONE_NUMBER> 2018-10-25 08:49:59.417 17321-17362/com.example.camerarecorderdemo W/OMXUtils: do not know color format 0x7f000789 =<PHONE_NUMBER> 2018-10-25 08:49:59.432 17321-17362/com.example.camerarecorderdemo I/ACodec: setupAVCEncoderParameters with [profile: Baseline] [level: Level3] 2018-10-25 08:49:59.433 17321-17362/com.example.camerarecorderdemo I/ACodec: [OMX.qcom.video.encoder.avc] cannot encode color aspects. Ignoring. 2018-10-25 08:49:59.433 17321-17362/com.example.camerarecorderdemo I/ACodec: [OMX.qcom.video.encoder.avc] cannot encode HDR static metadata. Ignoring. 2018-10-25 08:49:59.433 17321-17362/com.example.camerarecorderdemo I/ACodec: setupVideoEncoder succeeded 2018-10-25 08:49:59.439 17321-17362/com.example.camerarecorderdemo W/OMXUtils: do not know color format 0x7f000789 =<PHONE_NUMBER> 2018-10-25 08:49:59.614 17321-17321/com.example.camerarecorderdemo I/AudioEncoder: AudioEncoder started 2018-10-25 08:49:59.617 17321-17321/com.example.camerarecorderdemo I/MicrophoneManager: Microphone started 2018-10-25 08:49:59.620 17321-17321/com.example.camerarecorderdemo I/CameraManagerGlobal: Connecting to camera service 2018-10-25 08:49:59.632 3553-29169/? I/CameraService: CameraService::connect call (PID -1 "com.example.camerarecorderdemo", camera ID 0) for HAL version default and Camera API version 2 2018-10-25 08:49:59.633 3553-29169/? I/Camera2ClientBase: Camera 0: Opened. Client: com.example.camerarecorderdemo (PID 17321, UID 10284) 2018-10-25 08:49:59.795 17321-17374/com.example.camerarecorderdemo I/Camera2ApiManager: Camera opened 2018-10-25 08:49:59.800 17321-17321/com.example.camerarecorderdemo I/Choreographer: Skipped 35 frames!  The application may be doing too much work on its main thread. 2018-10-25 08:49:59.805 17321-17374/com.example.camerarecorderdemo I/Camera2ApiManager: Camera configured 2018-10-25 08:50:00.111 17321-17370/com.example.camerarecorderdemo I/Adreno: Invalid colorspace 1 2018-10-25 08:50:00.135 17321-17362/com.example.camerarecorderdemo D/ACodec: dataspace changed to 0x10c40000 (R:2(Limited), P:4(BT601_6_525), M:3(BT601_6), T:3(SMPTE170M)) (R:2(Limited), S:4(BT601_525), T:3(SMPTE_170M)) 2018-10-25 08:50:00.136 17321-17370/com.example.camerarecorderdemo I/Adreno: Invalid colorspace 1 2018-10-25 08:50:00.179 17321-17370/com.example.camerarecorderdemo I/chatty: uid=10284(com.example.camerarecorderdemo) Thread-4 identical 1 line 2018-10-25 08:50:00.215 17321-17370/com.example.camerarecorderdemo I/Adreno: Invalid colorspace 1 2018-10-25 08:50:00.248 17321-17370/com.example.camerarecorderdemo I/Adreno: Invalid colorspace 1 2018-10-25 08:50:00.262 17321-17371/com.example.camerarecorderdemo I/MPEG4Writer: limits:<PHONE_NUMBER>/0 bytes/us, bit rate: -1 bps and the estimated moov size 3316 bytes 2018-10-25 08:50:00.264 17321-17428/com.example.camerarecorderdemo I/MPEG4Writer: setStartTimestampUs:<PHONE_NUMBER>-10-25 08:50:00.264 17321-17428/com.example.camerarecorderdemo I/MPEG4Writer: Earliest track starting time:<PHONE_NUMBER>-10-25 08:50:00.287 17321-17429/com.example.camerarecorderdemo I/MPEG4Writer: setStartTimestampUs:<PHONE_NUMBER>-10-25 08:50:00.287 17321-17429/com.example.camerarecorderdemo I/MPEG4Writer: Earliest track starting time:<PHONE_NUMBER>-10-25 08:50:00.315 17321-17370/com.example.camerarecorderdemo I/Adreno: Invalid colorspace 1 2018-10-25 08:50:00.425 17321-17326/com.example.camerarecorderdemo I/zygote64: Do partial code cache collection, code=60KB, data=44KB 2018-10-25 08:50:00.425 17321-17326/com.example.camerarecorderdemo I/zygote64: After code cache collection, code=59KB, data=44KB 2018-10-25 08:50:00.425 17321-17326/com.example.camerarecorderdemo I/zygote64: Increasing code cache capacity to 256KB

I start recording from the front camera: (notice: E/AudioRecord: start() status -38 )
2018-10-25 08:50:13.277 17321-17321/com.example.camerarecorderdemo D/CameraRecorderDemo: User started recording from front camera 2018-10-25 08:50:13.285 17321-17321/com.example.camerarecorderdemo I/MicrophoneManager: Microphone created, 44100hz, Stereo 2018-10-25 08:50:13.296 17321-17321/com.example.camerarecorderdemo I/VideoEncoder: VideoEncoder OMX.qcom.video.encoder.avc 2018-10-25 08:50:13.297 17321-17321/com.example.camerarecorderdemo W/VideoCapabilities: Unrecognized profile<PHONE_NUMBER> for video/avc 2018-10-25 08:50:13.298 17321-17321/com.example.camerarecorderdemo I/VideoEncoder: Color supported:<PHONE_NUMBER> 2018-10-25 08:50:13.298 17321-17321/com.example.camerarecorderdemo I/VideoEncoder: Color supported:<PHONE_NUMBER> 2018-10-25 08:50:13.298 17321-17321/com.example.camerarecorderdemo I/VideoEncoder: Color supported:<PHONE_NUMBER> 2018-10-25 08:50:13.298 17321-17321/com.example.camerarecorderdemo I/VideoEncoder: Color supported: 21 2018-10-25 08:50:13.309 17321-17321/com.example.camerarecorderdemo I/VideoEncoder: Prepare video info: SURFACE, 480x640 2018-10-25 08:50:13.310 17321-17449/com.example.camerarecorderdemo W/OMXUtils: do not know color format 0x7fa30c04 =<PHONE_NUMBER> 2018-10-25 08:50:13.310 17321-17449/com.example.camerarecorderdemo W/OMXUtils: do not know color format 0x7f000789 =<PHONE_NUMBER> 2018-10-25 08:50:13.321 17321-17449/com.example.camerarecorderdemo I/ACodec: setupAVCEncoderParameters with [profile: Baseline] [level: Level3] 2018-10-25 08:50:13.323 17321-17449/com.example.camerarecorderdemo I/ACodec: [OMX.qcom.video.encoder.avc] cannot encode color aspects. Ignoring. 2018-10-25 08:50:13.323 17321-17449/com.example.camerarecorderdemo I/ACodec: [OMX.qcom.video.encoder.avc] cannot encode HDR static metadata. Ignoring. 2018-10-25 08:50:13.323 17321-17449/com.example.camerarecorderdemo I/ACodec: setupVideoEncoder succeeded 2018-10-25 08:50:13.325 17321-17449/com.example.camerarecorderdemo W/OMXUtils: do not know color format 0x7f000789 =<PHONE_NUMBER> 2018-10-25 08:50:13.381 17321-17321/com.example.camerarecorderdemo I/AudioEncoder: AudioEncoder started 2018-10-25 08:50:13.382 17321-17321/com.example.camerarecorderdemo E/AudioRecord: start() status -38 2018-10-25 08:50:13.382 17321-17321/com.example.camerarecorderdemo I/MicrophoneManager: Microphone started 2018-10-25 08:50:13.388 3553-3553/? I/CameraService: CameraService::connect call (PID -1 "com.example.camerarecorderdemo", camera ID 1) for HAL version default and Camera API version 2 2018-10-25 08:50:13.389 3553-3553/? I/Camera2ClientBase: Camera 1: Opened. Client: com.example.camerarecorderdemo (PID 17321, UID 10284) 2018-10-25 08:50:13.472 17321-17456/com.example.camerarecorderdemo I/Camera2ApiManager: Camera opened 2018-10-25 08:50:13.478 17321-17456/com.example.camerarecorderdemo I/Camera2ApiManager: Camera configured 2018-10-25 08:50:13.643 17321-17370/com.example.camerarecorderdemo I/Adreno: Invalid colorspace 1 2018-10-25 08:50:13.748 17321-17453/com.example.camerarecorderdemo I/Adreno: Invalid colorspace 1 2018-10-25 08:50:13.793 17321-17449/com.example.camerarecorderdemo D/ACodec: dataspace changed to 0x10c40000 (R:2(Limited), P:4(BT601_6_525), M:3(BT601_6), T:3(SMPTE170M)) (R:2(Limited), S:4(BT601_525), T:3(SMPTE_170M)) 2018-10-25 08:50:13.795 17321-17453/com.example.camerarecorderdemo I/Adreno: Invalid colorspace 1 2018-10-25 08:50:13.839 17321-17453/com.example.camerarecorderdemo I/chatty: uid=10284(com.example.camerarecorderdemo) Thread-7 identical 1 line 2018-10-25 08:50:13.872 17321-17453/com.example.camerarecorderdemo I/Adreno: Invalid colorspace 1 2018-10-25 08:50:13.940 17321-17453/com.example.camerarecorderdemo I/Adreno: Invalid colorspace 1 2018-10-25 08:50:14.009 17321-17453/com.example.camerarecorderdemo I/Adreno: Invalid colorspace 1 2018-10-25 08:50:14.076 17321-17453/com.example.camerarecorderdemo I/Adreno: Invalid colorspace 1 2018-10-25 08:50:15.967 17321-17326/com.example.camerarecorderdemo I/zygote64: Do full code cache collection, code=124KB, data=86KB 2018-10-25 08:50:15.968 17321-17326/com.example.camerarecorderdemo I/zygote64: After code cache collection, code=124KB, data=68KB 2018-10-25 08:50:18.502 17321-17326/com.example.camerarecorderdemo I/zygote64: Do partial code cache collection, code=124KB, data=70KB 2018-10-25 08:50:18.512 17321-17326/com.example.camerarecorderdemo I/zygote64: After code cache collection, code=124KB, data=70KB 2018-10-25 08:50:18.512 17321-17326/com.example.camerarecorderdemo I/zygote64: Increasing code cache capacity to 512KB

I stop recording from front camera:
2018-10-25 08:50:32.466 17321-17321/com.example.camerarecorderdemo D/CameraRecorderDemo: User stopped recording from front camera 2018-10-25 08:50:32.810 17321-17321/com.example.camerarecorderdemo I/MicrophoneManager: Microphone stopped 2018-10-25 08:50:32.847 17321-17321/com.example.camerarecorderdemo I/AudioEncoder: AudioEncoder stopped

I stop recording from back camera:
2018-10-25 08:50:38.760 17321-17321/com.example.camerarecorderdemo D/CameraRecorderDemo: User stopped recording from back camera 2018-10-25 08:50:38.761 17321-17321/com.example.camerarecorderdemo D/MPEG4Writer: Video track stopping. Stop source 2018-10-25 08:50:38.761 17321-17321/com.example.camerarecorderdemo D/MPEG4Writer: Video track source stopping 2018-10-25 08:50:38.761 17321-17321/com.example.camerarecorderdemo D/MPEG4Writer: Video track source stopped 2018-10-25 08:50:38.761 17321-17428/com.example.camerarecorderdemo I/MPEG4Writer: Received total/0-length (572/0) buffers and encoded 572 frames. - Video 2018-10-25 08:50:38.761 17321-17429/com.example.camerarecorderdemo I/MPEG4Writer: Received total/0-length (1658/0) buffers and encoded 1658 frames. - Audio 2018-10-25 08:50:38.761 17321-17429/com.example.camerarecorderdemo I/MPEG4Writer: Audio track drift time: 0 us 2018-10-25 08:50:38.762 17321-17321/com.example.camerarecorderdemo D/MPEG4Writer: Video track stopped. Stop source 2018-10-25 08:50:38.762 17321-17321/com.example.camerarecorderdemo D/MPEG4Writer: Audio track stopping. Stop source 2018-10-25 08:50:38.762 17321-17321/com.example.camerarecorderdemo D/MPEG4Writer: Audio track source stopping 2018-10-25 08:50:38.762 17321-17321/com.example.camerarecorderdemo D/MPEG4Writer: Audio track source stopped 2018-10-25 08:50:38.762 17321-17321/com.example.camerarecorderdemo D/MPEG4Writer: Audio track stopped. Stop source 2018-10-25 08:50:38.762 17321-17321/com.example.camerarecorderdemo D/MPEG4Writer: Duration from tracks range is [38497592, 38563542] us 2018-10-25 08:50:38.762 17321-17321/com.example.camerarecorderdemo D/MPEG4Writer: Stopping writer thread 2018-10-25 08:50:38.762 17321-17427/com.example.camerarecorderdemo D/MPEG4Writer: 0 chunks are written in the last batch 2018-10-25 08:50:38.763 17321-17321/com.example.camerarecorderdemo D/MPEG4Writer: Writer thread stopped 2018-10-25 08:50:38.763 17321-17321/com.example.camerarecorderdemo I/MPEG4Writer: Ajust the moov start time from 656379 us -> 656379 us 2018-10-25 08:50:38.764 17321-17321/com.example.camerarecorderdemo I/MPEG4Writer: The mp4 file will not be streamable. 2018-10-25 08:50:38.764 17321-17321/com.example.camerarecorderdemo D/MPEG4Writer: Video track stopping. Stop source 2018-10-25 08:50:38.764 17321-17321/com.example.camerarecorderdemo D/MPEG4Writer: Audio track stopping. Stop source 2018-10-25 08:50:39.198 17321-17321/com.example.camerarecorderdemo I/MicrophoneManager: Microphone stopped 2018-10-25 08:50:39.256 17321-17321/com.example.camerarecorderdemo I/AudioEncoder: AudioEncoder stopped 2018-10-25 08:50:39.279 17321-17321/com.example.camerarecorderdemo I/Choreographer: Skipped 31 frames!  The application may be doing too much work on its main thread.

Ah ok. The problem is that you are doing 2 instances of main microphone. In this case try to use main and secondary microphone at same time.
https://github.com/pedroSG94/rtmp-rtsp-stream-client-java/blob/master/encoder/src/main/java/com/pedro/encoder/input/audio/MicrophoneManager.java#L51
MediaRecorder.AudioSource.MIC // main microphone
MediaRecorder.AudioSource.CAMCORDER // secondary microphone

You should add this param to createMicrophone method and select diferent microphone with front camera and back camera. This method is used in prepareAudio method:
https://github.com/pedroSG94/rtmp-rtsp-stream-client-java/blob/master/rtplibrary/src/main/java/com/pedro/rtplibrary/base/Camera2Base.java#L199
If it is not working you need use same microphone and audio encoder instance with front and back camera instances.

It didn't work too :(
Can you give me some hints on how I can use the same encoder instance,,, and is that the only thing I need to change?

I'm trying for 3 days now but I failed to make this work.
I know it's due to me being a rookie but any help or hint will be appreciated.
Sorry for asking again :(
& thanks for your efforts

Try do all thing related with MicrophoneManager and AudioEncoder class outside Camera2Base and duplicate AAC buffer to send it to both libray instances.

if anybody can share android code for broadcasting front and rear camera videos side by side pls ?

It's working now ... Yeah 😀
Thank you ver much @pedroSG94 for all the help and this great library.

can you share code for multicam broadcast?


EasyRepro: . Error message is “session not created: This version of ChromeDriver only supports Chrome version 77 (SessionNotCreated)

Hi All,
My EasyRepro Automation Test was working good on my Visual Studio 2019. Suddenly the below error starting coming which is as below:
Error message is “session not created: This version of ChromeDriver only supports Chrome version 77 (SessionNotCreated)”

Fixes: I uninstalled my latest chrome version(i.e. 79 version) and installed an offline installer of chrome version 77 after which the test was successful.
This is an issue as this was running fine irrespective of the version of chrome browser but now suddenly it is failing.

I have same issue with VSTS 2017 Community Edition

You can find how to select right Chrome browser and chrome driver version: https://chromedriver.chromium.org/downloads
There are 2 fixes when you have "session not created: This version of ChromeDriver only supports Chrome version" error:

Update chrome driver to compatible with browser version
Rollback Chrome browser to previous version and disable chrome update:
https://stackoverflow.com/a/31939624/8951897

@ikeselman, Fix here (2nd, 3rd are are working for me): https://stackoverflow.com/questions/7684398/the-packages-element-is-not-declared
Also I faced with issue when after update chrome driver nuget Visual Studio cannot delete old ChromeWebdriver due it was locked by running ChromeWebdriver process. I checked bin folder and it contained old driver version. I just killed all ChromeWebdriver processes and clean bin folder.

I just uninstall the old WebDriver and install this Selenium.WebDriver.ChromeDriver by jsakamoto from nuget.

Thanks for the replies.. I was able to fix this issue as follows:
) Using NuGet Package Manager in Visual Studio, you can manually update the version of the ChromeDriver on the Microsoft.Dynamics365.UIAutomation.Sample project.
a.	Select the Selenium.Chrome.WebDriver from the list of packages
b.	Choose the required version to match the version of ChromeBrowser on your test client, and then click Update
) Using NuGet Package Manager in Visual Studio, you can manually update the version of the ChromeDriver on the Microsoft.Dynamics365.UIAutomation.Sample project.
a.	Select the Selenium.Chrome.WebDriver from the list of packages
b.	Choose the required version to match the version of ChromeBrowser on your test client, and then click Update

Now I have a second challenge when I am running the automated tests in Azure Devops, I get the same issue in the ado. How can I match the versions in Agent/VMs on which the tests are happening.

@Shubh-saxena Looks like on Agent in Azure DevOps you have Chrome browser version different from 79
You can find Chrome version using PowerShell task with next code:
$ChromeVersion = (Get-Item (Get-ItemProperty 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\chrome.exe').'(Default)').VersionInfo Write-Host "ChromeVersion: " $ChromeVersion

What type  of Agent do you use in Azure Devops?
You should update Chrome to latest version on Agent if it is possible or use local specific version of Chrome driver if tests are running on Agent (e.g. copy according Chrome driver version to Agent and use it for tests in Azure DevOps).

@Shakevg - Am also facing the same issue as above.
As suggested, we have been Azure hosted build agent vs2017-win2016 and its specification below,
[(https://github.com/actions/virtual-environments/blob/master/images/win/Windows2016-Readme.md)]

For "windows-2019", "vs2017-win2016" Microsoft-hosted agent next code can be used for generating correct WebDriver folder path for hosted MS Agents (windows-2019, vs2017-win2016): local Agent driver path will return from environment variable for Chrome, IE, Firefox and current working directory otherwise.
Then it can be used for creating correspondence WebDriver.
`
///
/// Get WebDriver path according to browser
///
///
/// Web driver folder path from for hosted MS Agents (windows-2019, vs2017-win2016) and current working directory otherwise
public string GetWebDriverPath(string browserType)
{
var driverPath = Path.Combine(Directory.GetCurrentDirectory());
    //get driver path for hosted MS Agent (windows-2019, vs2017-win2016)
    string envWebDriver;
    string driverFile;
    switch (browserType)
    {
        case "Chrome":
            envWebDriver = Environment.GetEnvironmentVariable("ChromeWebDriver");
            driverFile = "chromedriver.exe";
            break;
        case "Firefox":
            envWebDriver = Environment.GetEnvironmentVariable("ChromeWebDriver");
            driverFile = "geckodriver.exe";
            break;
        case "IE":
            var envWebDriver = Environment.GetEnvironmentVariable("IEWebDriver");
            driverFile = "IEDriverServer.exe";
            break;
    }
    if (!string.IsNullOrEmpty(envWebDriver) && File.Exists(Path.Combine(envWebDriver, driverFile)))
    {
        driverPath = envWebDriver;
    }
    return DriverPath;
}

`

Thanks @Shakevg for sharing this solution.
For others here -- This is a limitation of the current feature branch that we are looking to update soon, but the option shared above is a good one for now.
With recent changes to the ChromeDriver requiring version parity between Driver and Browser, this caused some difficulties with the version we were including within the branches. We made a decision to try and maintain the latest driver version in the branches, but this does present issues when using Azured DevOps Hosted Agents.
This link shows the options for Microsoft Hosted Agents. Each agent type has a link which shows the software versions included on the agent. This includes detail about which Chrome Browser version is installed, as well as the varying WebDrivers for Chrome, Firefox, and IE.


Add ability to TakeSnapshot and Download a given snapshot

Hi,
I found your library really useful, and needed a some additional methods.
I'm completely new at python, so, please, forgive my code.
Thanks for this nice tool

Sorry for the delay, just merged, thanks!


pulsar_storage_size used backlogsize?

Describe the bug
A clear and concise description of what the bug is.
pulsar_storage_size means
The total storage size of the topics in this topic owned by this broker (bytes).

but in PersistentTopic
        nsStats.storageSize += ledger.getEstimatedBacklogSize();

maybe it should be
        nsStats.storageSize += ledger.getTotalSize();

See error

Expected behavior
A clear and concise description of what you expected to happen.
Screenshots
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):

OS: [e.g. iOS]

Additional context
Add any other context about the problem here.

As far as I can tell, this bug only affects the /broker-stats/metrics endpoint on brokers. The /metrics endpoint has the correct logic.


CMake: don't enable CXX unless building tests/benchmarks

We only need CXX support when building tests/benchmarks.
Fixes:
CMake Error at CMakeLists.txt:4 (PROJECT):
  No CMAKE_CXX_COMPILER could be found.

  Tell CMake where to find the compiler by setting either the environment
  variable "CXX" or the CMake cache entry CMAKE_CXX_COMPILER to the full path
  to the compiler, or to the compiler name if it is in the PATH.

@Maratyszcza This look good to merge?


please gab code

Fantastic paper (and Machiavelli was excellent too)! I've tried similar experiments but couldn't get them working (e.g. I tried LoRA and two datasets to change the output. But you did!, it looks like the trick is that you orthogonalized one ds and retained the other ds (in the residual stream).
Btw it might make sense for us to use a linear only adapter, to ensure linear interventions. I used IA3 rather than LoRA, but even that is not linear.
Looking forward to seeing your code, even if it's messy. We don't mind draft code, it's just nice to see the implementation details! For example, how many data points did you use to train? The paper doesn't say how many unique data points remained after curation but it sounds like a small number.
Please gab code :heart:

pls

can haz code? 🙏🏼

Apologies for the delay - have fun!

Apologies for the delay - have fun!

OP delivers😀, thank you ♥


Multi-image: Fixes in kconfig.cmake

Allow CONFIG parameters to be specified in command line to cmake
This will e.g. make cmake [...] -DCONFIG_BOOTLOADER_MCUBOOT work again
It also allows e.g. cmake [...] -Dmcuboot_CONFIG_xxx to enable configs in mcuboot.
The second commit I'm a bit unsure if of. Double check if it is ok.

cc @hakonfam @sigvartmh @osaether

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.0 out of 12 committers have signed the CLA.:x: sigvartmh:x: rlubos:x: SebastianBoe:x: hakonfam:x: ChristopherBittner:x: oyvindronningstad:x: jtguggedal:x: nordic-krch:x: nvlsianpu:x: ioannisg:x: ru-fu:x: thst-nordicYou have signed the CLA already but the status is still pending? Let us recheck it.

Added alternative in #177 , haven't had time to really see what is the best way to solve the problem.

Added alternative in #177 , haven't had time to really see what is the best way to solve the problem.

Ready to be merged now?

@hakonfam @SebastianBoe Can we merge this?


Revamp the Github Repo Pages

Describe you new feature you'd like
I want you to understand that I am not criticising - you have made a cool thing - but if you are anything like me, and almost everyone on GitHub is - then making a thing isn't the cool bit - having people use the thing, that is the cool bit.  To know that your work is being used by people and enjoyed, is awesome - that is how I feel.
Please take this as a friendly post.
The pages to get people involved, are verbose and long.  To give you an example, I copied the Wiki page for sourcing hardware to a Word document - it was 17-pages and 3,100+ words.
I went through, and I tore it down to what it needed to be - and it is 3 pages and 500 words.
This isn't to say that the rest of it is not of value - but they can be in linked pages, that people can explore if they want to explore.
For example, under "Sourcing an ESP32" I put this information:

The board must have at least 4Mb of flash and at least 5 pins that can be used as input or output and one pin that can be input only.
This is an example compatible Ethernet Board:
•	Wireless Tag WT32-ETH01
•	https://www.amazon.co.uk/Nagoyuki-WT32-ETH01-Embedded-Networking-Bluetooth-Black/dp/B0CHNT69NL/
https://www.amazon.com/EC-Buying-WT32-ETH01-Development-Bluetooth/dp/B09Z298QJQ
This is an example compatible Wireless Board:
[Give Examples]
IMPORTANT: Always verify the settings for the board are correct. While I have pulled the information for the board settings from currently available information, manufacturers can change the spec sheets so incorrect Ethernet settings can actually destroy and ESP32.
This guide will reflect both the WT32-ETH01 and the Wireless Example, please see here for alternative boards and pin information: [Link]
Picking a CC1101 Transceiver
This an example of a compatible CC1101 Transceiver:
https://www.amazon.co.uk/CC1101-Long-Distance-Industrial-Wireless-Transceiver/dp/B09WKGYFPV/
https://www.amazon.com/SHUATI-Frequency-Transceiver-Integrated-Industrial/dp/B0CQVMN5LM/
Enhanced Range
To enhance the range, replace the antenna
https://www.amazon.com/dp/B072Q7319V?psc=1&ref=ppx_yo2ov_dt_b_product_details
https://www.amazon.co.uk/eightwood-Connector-Omni-directional-Vertical-Homematic-433MHz-Antenna-SMA/dp/B06ZZ379PK/

This replacement reduced the total word count by about 1,000 words, yet it contains all the information a person needs to get started in about 130 words.
At the moment the project is daunting partly because of the length.
I do not know how this will be received, it is meant as constructive feedback, to help get more people into using this tool - I am going to build it - just buying the parts now (hence the amazon links to hand) so grateful for that.

I don't have any artistic love for the Wiki other than trying to convince folks that it really isn't that hard to accomplish.  There have been a large number of folks that do not know what a Dupont connector is much less an ESP32 that have successfully built the device and have it working.  Oddly, I see fewer questions on setup from users who do not even know where to start than those that have some working knowledge.  I can only assume that is because they read the entire wiki.
Much of what is written in the Wiki was written over time.  As new users came on board and shared their experience additional information was added to the wiki.  For instance, I do not have all the hardware described and originally it did include some links.  Unfortunately, as sellers came and went, so did the validity of the links.  There was an entire sourcing page that has since been removed due to feedback on various forums indicating the links no longer worked, folks found it a few bucks cheaper, or could get it shipped faster.  These go stale very quickly and it depends largely on what part of the world you are in.
The home page of the wiki is being reserved for a Quick start guide.  However, I don't have the kind of time required to write one.  Bear in mind that the hardware is varied and each carrier board is very different so a quick start gets very wizardy in a hurry.  This solution started out supporting only one piece of hardware then shifted to many very quickly.  Not all hardware is available in all countries.

I don't have any artistic love for the Wiki

I will have a go at writing it as I go through the process of building it.  I already have the notes above.
I will take into account the points you have raised here - but I think the "Quick Start" can be limited to a single version of the ESP and a simple walk-through - which is what I intend to write.
I do understand how things can get complex, but that isn't for a "Quick Start" you have pointers to the complexity that exists elsewhere.  You can have a step-by-step this is how you create it using this and this.
I will see how it goes, see what it takes, and see what I end up with - it won't be tomorrow, I work full-time this is a side project but when I have something I will provide it and you can use it, adapt it or bin it at your leisure.

The pages to get people involved, are verbose and long.

I'm the type of guys who doesn't like long introductions, instructions repeating themselves, who watches YouTube at 2X, etc....but I loved every sentence I read in the wiki, instructions are clear, exhaustive and enjoyable.

levity

There. That levity inspires self-confidence in ones ability to make things work and make it enjoyable to read all instructions.
Personally, I wouldn't change a thing.


Moving all the config files into a single config directory

As discussed here:
https://github.com/CyberPunkMetalHead/gateio-crypto-trading-bot-binance-announcements-new-coins/pull/119#r775889308_
The config files (config.yaml and auth.yaml) should get moved into their own directory to keep it more organized.
To implement that change. all paths need to be updated (maybe utilize constants to make this easier in the future).
The Dockerfile is also affected, so make sure the Docker builds/runs correctly afterwards.

Hi @Linus045 I want to work on this. Please assign it to me.

hi,
@Linus045  hope you are doing well .can I also work on this??

Well that's something you need to discuss with @Swastyy
I don't mind if you work on it together.

Hi @Linus045 , thanks for asking @sakshamp11 , I'll surely tell if any help is required.

Want to mention that old_coins.json also need to be moved


fixed a bug with the wreath product construction

The wreath product construction ignored trivial subgroups, yielding the wrong symmetry group for architectures with single processors (even though the isomorphy class was correct). This actually removes non-trivial symmetries from the final archgraph (even if the indices were to be corrected, which they were not). Imagine an architecture with 2 clusters, each with 3 cores: 2 of type A and 1 of type B. Then we lose the automorphism that maps B1 to B2.

This change breaks the tests. I'm wondering whether that is because something else is wrong or this needs to be done differently. I will look into it.

If I remember correctly, those lines are in there because I wanted the function to behave like GAP's WreathProduct and not like GAP's StandardWreathProduct because the latter didn't produce the automorphism groups that I expected for the HAEC graph or something like that.

That's interesting, it shouldn't break the tests actually. I looked at it just now and I'm pretty sure it's because it was working as intended, but that's not what we need for the use case. Specifically you have this test in perm_group which I think should break:
TEST(PermGroupCombinationTest, CanConstructWreathProduct)
{
  std::vector<std::pair<PermGroup, PermGroup>> wreath_products {
 /* ... */
    {
      PermGroup(9,
        {
          Perm(9, {{1, 4, 7}}),
          Perm(9, {{1, 5, 9}})
        }
      ),
      PermGroup(3,
        {
          Perm(3, {{1, 2, 3}})
        }
      )
    },
/*...*/
  };

  PermGroup expected_wreath_products[] = {
 /* ... */
    PermGroup(15,
      {
        Perm(15, {{1, 2, 4}}),
        Perm(15, {{1, 3, 5}}),
        Perm(15, {{1, 6, 11}, {2, 7, 12},
                  {3, 8, 13}, {4, 9, 14},
                  {5, 10, 15}}),
        Perm(15, {{11, 12, 14}}),
        Perm(15, {{11, 13, 15}}),
        Perm(15, {{6, 7, 9}}),
        Perm(15, {{6, 8, 10}})
      }
    ),
/* ... */

The original wreath product is acting on 39 = 27 points, but the expected result acts on 35 = 15 points, because the first group acts as identity on the points 2,3,6. Actually this way num_processors was also broken.
The problem is that we don't want the wreath_product construction to be correct up to isomorphism, we want it to be the actual wreath product construction there because those processors still exist. If we wanted to use this, we would need to have a non-trivial action on the platforms and mapping spaces that remembers the processors that were deleted. I think the patch I proposed is easier than implementing these actions, even though the latter would perhaps be nicer, it's a lot of work for currently little gain.

I agree. I actually just looked at the GAP documentation and they explain how to use WreathProduct with permutation groups whose domains are not equal to their moved sets (which is what we should have here, currently my wreath product implementation behaves just like GAP's and disregards points not in the moved set). I will figure out how to do this correctly in GAP so I can construct some new test cases for the corrected PermGroup::wreath_product before I merge this.
Also, from your example I created this script:
ag_proto = pympsym.ArchGraph(directed=False)
ag_proto.add_processors(2, 'p1')
ag_proto.add_processor('p2')
ag_proto.fully_connect('p_c')

ag_super = pympsym.ArchGraph(directed=False)
ag_super.add_processors(2, 'cl')
ag_super.fully_connect('cl_c')

And with your patch the automorphism group I get is generated by {(1, 4)(2, 5)(3, 6), (4, 5)}. Is that correct? Why is {(1,2)(4,5), (1,4), (3,6)} not a correct generating set? That's what I would have though it should be.

The point is that GAP has a different use-case: they care about the groups themselves, which are best described through their isomorphism classes. We care about the action more so that the group. I would not do the construction they do with the transitive overgroup, that would be pretty pointless for us, since we have more use for the action than for the group construction. The only reason to change would be efficiency, and in that case a specialized action (currently we're doing what gaps calls onPoints and onTuples, and we'd then specify a function that basically fixes the correspondence) I think honestly the best thing to do is just leave the construction as with this patch, since it best fits our use-case.
Yep, that generating set is correct. In your example of a generating set, you could swap (3,6) but leave 1,2,4,5 in the same place: you need to swap the whole cluster at once. So, in your example, the mappings [1,2,3] and [1,2,6] would be in the same orbit, but in one all cores are mapped to the same cluster, in the other one they're not.


[WFCORE-3923] Provide a profile to run enforcer rule for downstream p…

…rojects - wildfly-core
Added a profile enforce-product to check redhat dependencies
Jira: https://issues.jboss.org/browse/WFCORE-3923

Core - Full Integration Build 7530 outcome was UNKNOWN using a merge of 74c2a10925bae8081857ef57649ad47470c6e855
Summary: Canceled (Error while applying patch; cannot find commit 69d6b58c3f9f623a8bdb3fa3ff38c4521fc90169 in the https://github.com/wildfly/wildfly-core.git repository, possible reason: refs/pull/3356/merge branch was updated and the commit selected for the ... Build time: 00:00:15

retest this please

@jmesnil Could you please re-run the failed CI jobs and to see if it is OK to merge?
BTW, the similar PR for WildFly https://github.com/wildfly/wildfly/pull/11342 has been merged.

retest this please

@gaol Could the enforce-product profile be declared in the root pom.xml instead of duplicating it in the core-feature-pack  and core-galleon-pack modules?

@jmesnil it is intended to be only included in core-feature-pack and core-galleon-pack, so that we can only run enforcer rule for these 2 distributed packs in EAP CP streams.
In downstream, all artifacts in these 2 distributed packs are required built from prod team(*-redhat-X). But we still have other community version dependencies, like some test scope dependencies, build tools related dependencies etc. so that we cannot have the profile in the root pom.xml which will enforce all modules.


Mount tools dir into job container

Why don't we simply copy to the PVC (as you are doing) and change the galaxy config pointing to the location on the PVC where this is copied, instead of mingling with the PVC mountpoints for the jobs?

or jobs are currently not mounting the entire galaxy PVC?

@pcm32 That's a good idea. Let me try that.

@pcm32 You mean like this? I wish we had a way to specify subpaths when mounting containers, in fact, I could have sworn that was added, but looking at the code now, I don't see that option anymore.

Yep, plus reverting 171 and 180 of the configs.

@pcm32 Thanks. I'll test this out and make sure everything's working.


High contrast panel section header outlines don't include problem count

Type: Bug

Switch to high contrast theme
Create an error in some code
Open problems panel

Bug
The panel section header outline does not include the problems count:

VS Code version: Code - Insiders 1.75.0-insider (Universal) (07d6f5b35fac559504dec65e3073d796b2d25a55, 2023-01-26T05:22:17.192Z)
OS version: Darwin x64 22.2.0
Modes:
Sandboxed: Yes

System Info

Item
Value

CPUs
Intel(R) Core(TM) i9-9980HK CPU @ 2.40GHz (16 x 2400)

GPU Status
2d_canvas: enabledcanvas_oop_rasterization: disabled_offdirect_rendering_display_compositor: disabled_off_okgpu_compositing: enabledmetal: disabled_offmultiple_raster_threads: enabled_onopengl: enabled_onrasterization: enabledraw_draw: disabled_off_okskia_renderer: enabled_onvideo_decode: enabledvideo_encode: enabledvulkan: disabled_offwebgl: enabledwebgl2: enabledwebgpu: disabled_off

Load (avg)
2, 2, 2

Memory (System)
32.00GB (0.07GB free)

Process Argv
--crash-reporter-id 48781ca2-1705-4f64-9bab-325055aab55d

Screen Reader
no

VM
0%

I think this is because the outline is drawn over the action-label while the badge is member of the parent action-item

Closing as outline is not used anymore


Cloud Machine Learning Example

Would really appreciate an example of how to make API calls to the Cloud ML platform using Google.Apis.CloudMachineLearningEngine.v1
Ideally the example would show how make a predict call (https://cloud.google.com/ml-engine/reference/rest/v1/projects/predict), which is something I think you would do frequently.

https://cloud.google.com/prediction/docs/ says:
The Google Cloud Prediction API has been deprecated and will be shut down on April 30, 2018.
  :-(


Link user keychain to session keychain

This prevents odd "mount(2)" errors with mount-chroot.

I could not mount my encrypted chroot on a Lenovo Thinkpad 13 running Version 59.0.3071.71 (Official Build) beta (64-bit) without this fix.

I signed it!

Is this overkill, with potentially bad side-effects?
Would it be better to just make sure the decrypt key ends up in the appropriate keyring to begin with?

I don't really know about these keyrings, but linking the user keyring in the session keyring seems ok.
On samus-release/R58-9334.72.0, I see this right after login:
$ sudo keyctl list @s
1 key in keyring:
 92994838: --alswrv     0 65534 keyring: _uid.0
$ sudo keyctl list @u
2 keys in keyring:
286101033: --alswrv     0     0 user: a5aeddcf6261f807
905769048: --alswrv     0     0 user: d224878099ec22d9

While on samus-release/R61-9647.0.0 (ext4 crypto) the link is not setup (there is a dircrypt keyring instead):
$ sudo keyctl list @u
keyring is empty
$ sudo keyctl list @s
1 key in keyring:
308501995: --alswrv     0     0 keyring: dircrypt

But after linking it looks like this, which seems to make sense.
$ sudo keyctl list @s
2 keys in keyring:
991469042: ---ls-rv     0     0 keyring: dircrypt
259439550: ---lswrv     0 65534 keyring: _uid.0

My concern is that they may be unlinked for a reason (ARC++ or multi-profile is usually a good guess).
What shows up if you print out the keyrings right after unwrapping the keys for the chroot?  Can we somehow only make those keys accessible where they need to be?

Without this patch:
$ sudo keyctl list @u
2 keys in keyring:
890533281: --alswrv     0     0 user: 8c7159f15c183071
772187242: --alswrv     0     0 user: d3f79ffd75f42358
$ sudo keyctl list @s
1 key in keyring:
308501995: --alswrv     0     0 keyring: dircrypt

(then mount fails and keys are immediately cleared from @u)
With this patch:
$ sudo keyctl list @u
2 keys in keyring:
338803567: --alswrv     0     0 user: 8c7159f15c183071
1044269498: --alswrv     0     0 user: d3f79ffd75f42358
$ sudo keyctl list @s
2 keys in keyring:
308501995: --alswrv     0     0 keyring: dircrypt
346063147: --alswrv     0 65534 keyring: _uid.0

Then, on umount, @u is cleared, but the link in @s stays.

Thank you for the patch!
To use ext4 encryption on Chrome OS, we are applying a local patch to upstart to share a single session keyring among all user processes.
https://chromium-review.googlesource.com/c/331340/
This means, linking the root's user keyring to the session keyring results in exposing it to non-root users too, and I think it's unsafe.
So, instead of linking the root's user keyring to the current session keyring, how about setting up a new session keyring?
keyctl session  # Set up a new session keyring
keyctl link @u @s  # Link the user keyring to the new session keyring (this is needed because ecryptfs util functions add keys to the user keyring)
keyctl link  @s # Link the original session keyring to the new session keyring (this is needed to access user's data on new devices if it's encrypted with ext4 encryption instead of ecryptfs)
The resulting keyring will look like this:
keyctl show
Session Keyring
860524043 --alswrv      0     0  keyring: _ses
1065162552 --alswrv      0 65534   _ keyring: _uid.0
798736045 --alswrv      0     0   _ keyring: _ses
220661875 --alswrv      0     0       _ keyring: dircrypt

@hshmt Thanks for the insight!
From offline discussion, we don't even need to link the old _ses keyring in the new session (mount-chroot just needs to have the keys for ecryptfs). Also, keyctl new_session is what we want here, as keyctl session spawns a new subshell.

@smerrill thanks for the initial investigation and fix!  Continuing in #3278

@drinkcat

From offline discussion, we don't even need to link the old _ses keyring in the new session (mount-chroot just needs to have the keys for ecryptfs). Also, keyctl new_session is what we want here, as keyctl session spawns a new subshell.

I am not sure that this solution is the right one for the reasons given below:

keyctl new_session does link the old _ses keyring in the new session. Thus the crouton chroot does have access to the old keyring (including ext4 encryption keys) as can be seen from the output of keyctl show @s.From offline discussion, we don't even need to link the old _ses keyring in the new session (mount-chroot just needs to have the keys for ecryptfs). Also, keyctl new_session is what we want here, as keyctl session spawns a new subshell.
Since we are not in a new session, it is more complicated for the user of the chroot to add keys to the keyring. For this reason if (say) a user tries to create an encryptfs directory on an external device, then that user needs to jump through hoops as explained in my 21 Nov update to my message on 19 Oct in #3461.

I will try to find a "better" fix once I find time to debug the process!
Kapil.

I'm really glad this all makes sense to someone here.  Thanks for looking into it!


missing coap messages

currently struggling with some missing messages which I cant "handle" in my middleware somehow..
but the messages are sent, I can see them via wireshark... and there is a c++ implementation which is working fine, what I am currently trying to port to golang! =)
scenario:
end-device: fdde:ad00:beef:0:c61c:db97:a036:c51a
server: fdde:ad00:beef:0:cd56:da33:3bf5:6a1b

end-device sends a broadcast registration message "oad/reg"
server sends ack
server sends msg to end-device directly "oad/ntf"
end-device sends ack
end-device starts sending requests DIRECTLY to the server "oad/img" <--- those are "missing"
server "cant see those messages"..
end-device tries to re-transmit several times

and then there are those "destination unreachable" messages, have no clue where are they from.
see the wireshark capture and a screenshot attached.
wireshark_coap_failure_export.pcapng.tar.gz

server init

// InitCoapServer ...
func InitCoapServer(port int32, mwf ...mux.MiddlewareFunc) {
	coapRouter.Use(mwf...)

	ipv6AddrStr := fmt.Sprintf(":%d", port)
	udpListener, err := COAPNET.NewListenUDP("udp6", ipv6AddrStr)
	if err != nil {
		log.Println(err)
		return
	}

	defer udpListener.Close()

        // do we need that? seems like it makes no difference..
	//err = udpListener.SetMulticastLoopback(true)
	//if err != nil {
	//	panic(err)
	//}

	s := udp.NewServer(
		udp.WithMux(coapRouter),
		udp.WithKeepAlive(nil), // important for sleepy end devices
	)

	defer s.Stop()

	fmt.Println("start coap server..")
	fmt.Println(udpListener.Network(), udpListener.LocalAddr(), udpListener.RemoteAddr())

	log.Fatal(
		s.Serve(udpListener),
	)
}

The starting logs looking like this:
coap          | start coap server..
coap          | udp6 [::]:5683
to my setup:
I am using wpantund, which is creating a ethernet-interface and is using a OpenThread border-router to bridge all COAP messages into this interface.
Which is working fine, but somehow those "direct" messages aren't handled somehow..
ip link show of  the created interface, called "wpan0"

strange is, that the "direct" ACK send from the end-device to the servers message (3) is recognized and handled:
coap          | send OAD/NTF to  fdde:ad00:beef:0:c61c:db97:a036:c51a
coap          | ACK received from fdde:ad00:beef:0:c61c:db97:a036:c51a ACK:

@slaesh could you show me a code how you POST oad/ntf ? because it seems that the device uses same connection (port 52705) to get "oad/img" but udpListener listens on 5683 port.

oh, good eyes! didn't noticed that..
// Post ...
func Post(ip config.IPv6, topic string, payload []byte, retryCnt int) {
	co, err := udp.Dial("["+string(ip)+"]:5683", udp.WithErrors(func(err error) {
		// fmt.Println("here we are..", err)
	}))
	if err != nil {
		log.Printf("Error dialing: %v", err)
	}
	defer co.Close()

	// create context with timeout
	ctx, cancel := context.WithTimeout(context.Background(), time.Millisecond*500)
	defer cancel()

	// send our post
	resp, err := co.Post(ctx, topic, message.AppOctets, bytes.NewReader(payload))
	if err != nil {
		fmt.Println("coap-post: error sending post", err, ip)

		if retryCnt > 0 {
			fmt.Println("retry!", retryCnt)
			Post(ip, topic, payload, retryCnt-1)
		}

		return
	}

	// read "data" from the ACK response
	if resp.Type() == udpMessage.Acknowledgement {
		data, _ := ioutil.ReadAll(resp.Body())

		msg := fmt.Sprintf("%s ACK received from %v ACK: %s",
			time.Now().Format("[15:04:05.000]"), ip, string(data),
		)
		fmt.Println(msg)
	}

	// do we need to send an ACK?
	if resp.Type() == udpMessage.Confirmable {
		fmt.Println("send ACK")

		resp.Message.Reset()                     // dont sent content again
		resp.SetType(udpMessage.Acknowledgement) // its an ACK..

		err = co.WriteMessage(resp)
		if err != nil {
			fmt.Println("something went wrong..")
		}
	}

	// fmt.Println("post done!")
}

c++ "oad/ntf" message:

using 5683 for src and dst ..
my golang "oad/ntf" message:

NOTE: ip addresses changed..
but, why are "we" using different ports?
and how can I "change" the token? :)

So at your code I see defer co.Close() this is why the port is not accessible.
Why you don't use ClientConn() https://github.com/plgd-dev/go-coap/blob/master/mux/client.go#L22. from ResponseWriter ?
eg:
func myhandler(w ResponseWriter, r *Message) {
       co := w.ClientConn().(*udp.ClientConn)

       // create context with timeout
	ctx, cancel := context.WithTimeout(context.Background(), time.Millisecond*500)
	defer cancel()

	// send our post
	resp, err := co.Post(ctx, topic, message.AppOctets, bytes.NewReader(payload))
	if err != nil {
		fmt.Println("coap-post: error sending post", err, ip)

		if retryCnt > 0 {
			fmt.Println("retry!", retryCnt)
			Post(ip, topic, payload, retryCnt-1)
		}

		return
	}

	// read "data" from the ACK response
	if resp.Type() == udpMessage.Acknowledgement {
		data, _ := ioutil.ReadAll(resp.Body())

		msg := fmt.Sprintf("%s ACK received from %v ACK: %s",
			time.Now().Format("[15:04:05.000]"), ip, string(data),
		)
		fmt.Println(msg)
	}

	// do we need to send an ACK?
	if resp.Type() == udpMessage.Confirmable {
		fmt.Println("send ACK")

		resp.Message.Reset()                     // dont sent content again
		resp.SetType(udpMessage.Acknowledgement) // its an ACK..

		err = co.WriteMessage(resp)
		if err != nil {
			fmt.Println("something went wrong..")
		}
	}
}

but, why are "we" using different ports?

In your code you call dial:
co, err := udp.Dial("["+string(ip)+"]:5683", udp.WithErrors(func(err error) {
		// fmt.Println("here we are..", err)
	}))

and how can I "change" the token? :)

co.Post generates token self so you need to call
req, err := client.NewPostRequest()`
if err != nil {
  ...
}
req.SetToken([]byte("myToken"))
resp, err := co.Do(ctx, req)
...

Thanks! You meant w.Client().ClientConn(), right? =)
That "Post" function is used in general, not only in middleware-context's..
Maybe I need to have two separate functions.. Used from somewhere and used within the middleware stuff :thinking: ?
Thanks for the hints, will test some further!! :+1:

okay, I see the problem now.. One question @jkralik is still remaining..
I set withKeepAliveto nil, to NOT let the connection being active.. Since I have several "sleepy" devices, which will not be online all the time..
So.. How do I know if there is already a connection "established" to the device I want to talk to right now..
Do I need to "remind" me the latest ClientConn? And how to check if its still active?
As long as I am acting inside my middleware, everything is fine..
But what happens if I am acting with the device from "another context" .. Without the awareness of w ResponseWriter .. :)
There is this udp.WithOnNewClientConn .. Which I could use.. but still not sure how to determine if its closed or not =)
Hope you can follow me.. :P

or do I have to close the connection by myself after calling SetResponse .. to be sure its closed? :thinking:

WithKeepAlive(nil) - it means that you need to care about close connection. You can check if it is still alive with some request to the device. Some users uses WithInactivityMonitor which automatically "Close" the session when there is inactivty for while, which can solve the issue. eg https://github.com/plgd-dev/go-coap/blob/7c589011f8bd90f9ee4e0dc86aca4d74256abaab/udp/server_test.go#L178
For UDP server client.Close just free session from memory - it doesn't close connection because it is shared among sessions.


refactor: Rename panels.js to navbar_alerts.js as it better explains it.

Testing plan:
Tested locally by running frontend tests ✅
GIFs or screenshots:

@Riken-Shah can you rebase the fix the merge conflicts?

@timabbott rebased the PR!

Merged, thanks @Riken-Shah!  It's great to have this module have a rational name.


[Wip] Add level up message for virtual levels

https://i.imgur.com/Jumy15D.gifv

Now witch icons
https://i.imgur.com/Jumy15D.gifv


Redirect activated user to login if they try to sign up. Fixes issue #515

This fixes issue #515. I created a new method redirect_existing because I was getting an Metrics/ABCsize offense for create if I had the conditional statements in the new method contained within create.
Signed-off-by: Jason Dossett<EMAIL_ADDRESS>

Current coverage is 98.41% (diff: 100%)

Merging #522 into master will increase coverage by <.01%

@@             master       #522   diff @@
==========================================
  Files            39         39
  Lines          1006       1011     +5
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
+ Hits            990        995     +5
  Misses           16         16
  Partials          0          0

Powered by Codecov. Last update fae14ab...6d77660


Bug when saving model with MixtureLogistic Layer

Bug when trying to save a model with a tensorflow probability layer. Not sure if this is a bug in keras or in tfp so posting an issue to both (https://github.com/tensorflow/probability/issues/1538)
When trying to save a keras model with a a tfp.layers.MixtureLogistic layer, the following error occurs:
WARNING:tensorflow:Compiled the loaded model, but the compiled metrics have yet to be built. `model.compile_metrics` will be empty until you train or evaluate the model.

---------------------------------------------------------------------------
OperatorNotAllowedInGraphError            Traceback (most recent call last)
Input In [5], in <cell line: 12>()
      8 out = tfp.layers.MixtureLogistic(9, [1,])(x)
     10 model = tfk.Model(inputs, out)
---> 12 tfk.models.save_model(model, '/path/to/save/dir/' + 'test')

File ~/miniconda3/envs/info_theory/lib/python3.9/site-packages/keras/utils/traceback_utils.py:67, in filter_traceback.<locals>.error_handler(*args, **kwargs)
     65 except Exception as e:  # pylint: disable=broad-except
     66   filtered_tb = _process_traceback_frames(e.__traceback__)
---> 67   raise e.with_traceback(filtered_tb) from None
     68 finally:
     69   del filtered_tb

File ~/miniconda3/envs/info_theory/lib/python3.9/contextlib.py:126, in _GeneratorContextManager.__exit__(self, typ, value, traceback)
    124 if typ is None:
    125     try:
--> 126         next(self.gen)
    127     except StopIteration:
    128         return False

File ~/miniconda3/envs/info_theory/lib/python3.9/site-packages/tensorflow_probability/python/layers/distribution_layer.py:220, in DistributionLambda.__call__(self, inputs, *args, **kwargs)
    218 def __call__(self, inputs, *args, **kwargs):
    219   self._enter_dunder_call = True
--> 220   distribution, _ = super(DistributionLambda, self).__call__(
    221       inputs, *args, **kwargs)
    222   self._enter_dunder_call = False
    223   return distribution

OperatorNotAllowedInGraphError: iterating over `tf.Tensor` is not allowed: AutoGraph did convert this function. This might indicate you are trying to use an unsupported feature.

This can be reproduced with the example below:
import tensorflow.keras as tfk
import tensorflow_probability as tfp

input_shape = (28, )

inputs = tfk.Input(shape=input_shape)
x = tfk.layers.Dense(9)(inputs)
out = tfp.layers.MixtureLogistic(9, [1,])(x)

model = tfk.Model(inputs, out)

tfk.models.save_model(model, '/path/to/save/dir/' + 'test')

It's definitely coming from the MixtureLogistic layer, because saving the output of the Dense directly works fine
tensorflow version 2.8.0
tensorflow_probability version: 0.16.0

@henrypinkard ,
This issue is more related to TensorFlow probability. Please track in tensorflow/tfp repo.

Also please take a look at this link 1 and 2 with the similar error.It helps.Thanks!


Support integrating LimeSurvey with Casdoor: fix LimeSurvey OIDC plugin's bug

The plugin: https://github.com/janmenzel/AuthOpenIDConnect is not compatible with the recent LimeSurvey version 5.2.7

It needs to be fixed.

@basakest


Use Dynamic Expiry Dates for SAS url

Fixes #49
Sets the start and end dates for the SAS url to be related to today's date.
Start is the beginning of this year, and the expiry is the end of next year.
While another hard-coded date would have done the job, this is a longer term fix that should avoid any issues in the future.
(famous last words)

cc @martinkearn

@martinpeck  : thanks for this great fix


0.13.0 on Windows forces yaml file to end lines with CRLF

in 0.13.0 binary for Windows x86_64, even if with line_ending: lf specified in .yamlfmt (or manually specifying config file), yaml files are replaced with CRLF line endings.
This is not happeing in 0.12.1.

Hi @msen-aiq thanks for opening an issue.
I was able to reproduce this issue with the following config:
formatter:
  line_ending: lf

That does not apply. I know what I did wrong and am working on a fix.
The workaround is to specify the line_ending setting at the top level of the file like so:
line_ending: lf

When I did this it seems to have worked as expected. Sorry for the inconvenience I'll try to get this resolved soon.


GRS – General Richtext Support

Description
This is a first proof-of-concept to provide the ability to load CoreMedia RichText 1.0 into CKEditor from CMS, without the need of providing editing ability for any possible CoreMedia RichText state. Without this option, RichText structures created by other means than a CKEditor may get corrupted regarding their initial state from server (elements/attributes removed).
In short, it registers any possibly CoreMedia RichText element and especially their attributes as "known to the CKEditor model".
Example: Attribute xlink:title provided by CoreMedia RichText cannot be edited yet within CKEditor. Nevertheless, if an anchor from the server contains such a title, we don't want to remove it, just because we don't know how to handle it. GRS tells CKEditor to know this attribute, even if no corresponding plugin knows how to edit it.
State of this Pull Request
With the changes introduced with this PR, we have a first proof-of-concept state. This has been used to identify possible bugs, for example in our data-processing, and especially to see where the foundation (CKEditor's experimental GHS feature) still misses some features. More adaptions are to be expected.
Motivation
For editing CoreMedia RichText 1.0 documents, it is required, that all structures which are valid according to DTD must be retained. Otherwise, loading a text from CoreMedia CMS into CKEditor will modify a text without corresponding action by editors, removing any unknown elements or attributes.
While such a behavior of auto-repair may be desirable, if CKEditor shall take the lead when it comes to editing CoreMedia Richtext, it may collide with Richtext from different sources such as:

Contents created via CoreMedia Unified API,
Contents from legacy systems, previously created with CKEditor 4,
Contents created from any import mechanisms.

The Base
This feature is based on the experimental feature General HTML Support (GHS) by CKEditor.
Caveats
The General Richtext Support shares the same limitations as GHS: While it tells the model, which structures must be retained, it does not provide any editing actions to (re-)create such structures. Thus, assuming a block-element <lorem> loaded from server, like:
<lorem>
  Just an example.
</lorem>

You will be able to:

edit the text within the element;
remove the element.

But you will not be able to:

add attributes to this element (at least not necessarily);
create a new element <lorem>.

See Also

CKEditor 5 General HTML Support

Hey Mark,
I approved the PR as there are only two small optional things you might want to change.
Feel free to merge as soon as you had a look at both points.
Best regards,
Jens


[develop-deployment-wg] Development: Unify docker compose settings

:warning: This is a PR to the develop-deployment-wg branch which is WIP, there might be still open TODOs which will be fixed in different PRs, but reviews and feedbacks are welcome!
Checklist
General

[ ] This is a small issue that I tested locally and was confirmed by another developer on a test server.
[x] Language: I followed the guidelines for inclusive, diversity-sensitive, and appreciative language.
[x] I chose a title conforming to the naming conventions for pull requests.

Motivation and Context

We would like to keep the Artemis container to a minimum and not integrate things needed in Docker, but maybe not in Kubernetes.
Also, the Docker Compose setup should be unified and easier to use.
Description

This PR unifies the Docker Compose settings and setups by doing the following:

new Docker Compose specification, which merges v2 and v3 of the old Docker Compose specification.
unified volume and network names
no hard-coded IP addresses
reusing duplicated docker services through the extends functionality

This PR also improves the current Docker setup with these changes:

first iteration of multi-stage Dockerfile for Artemis
refactored the bootstrap.sh for Artemis to make it rootless according to docker best practices
introduced wait-for.sh shell script for docker-compose setups to control service startup order(this is something docker compose doesn't support out of the box)
basic docker yaml config setup
added some in-code TODOs which are either still thoughts or real tasks for which I didn't have time yet (limited to /src/main/docker and /docs/dev)
added saml-test service for basic SAML manual testing/debugging
added mailhog service for basic Mail testing/debugging
added Java Remote Debugger settings/profiles for easy in Container Debugging
gradle cleanup

Steps for Testing

Play a bit with the different docker-compose setups:
Build Artemis locally:
docker-compose -f src/main/docker/artemis-dev-mysql.yml build artemis-app

Run Artemis (dev profile) and MySQL:
docker-compose -f src/main/docker/artemis-dev-mysql.yml up

Stop and remove the volumes for this instance:
docker-compose -f src/main/docker/artemis-dev-mysql.yml down -v

For gitlab and jenkins setups, you can keep for instance the jenkins and gitlab volumes by stopping the containers:
docker-compose -f src/main/docker/artemis-dev-mysql-gitlab-jenkins.yml down

Then just remove the artemis-app and artemis-mysql volume:
docker volume rm artemis-data artemis-mysql-data

Also, maybe test the following:

adding mailhog or saml (probalby not fully working yet) as an extra service with and additional -f mailhog.yaml
other addtional services or docker-compose setups
read the documentation about docker-compose and docker

Code Review

[ ] Review 1
[ ] Review 2

Manual Tests

[ ] Test 1
[ ] Test 2

@b-fein @dfuchss added your suggestions either as To-dos or directly. If the PR suits you this way, I would be happy to get an approval to merge it to our develop-deployment-wg branch and hopefully soon deploy it on the dedicated test server!


Add dotnet 8 sdk support

Keep it simple just update global.json and appveyor.yml to sdk "8.0.300" so that I can accept. Leave the target frameworks out for the moment.

Sorry for the delay, thank you for the feedback, this aspect of programming (sdk's, frameworks, etc.) is relatively new to me

@cleftheris Why does the PR always fail the check with AppVeyor (don't have any experience with this product). What is the issue since the changes in this PR are small since it is only changing the global.json file and apveyor.yml file. Thank you again for your patience with me!

Hi @nathangmahler1987,
Its kind of tricky. The main reason is that AppVeyor base image for build/test is VS2019 (not the VS2022) and this is on purpose because it has preinstalled the Dotnet Framework 4.5.1 target but does not have the dotnet 6 onwards SDKs.
Now the build with the changes you made breaks when trying to discover and run tests the library builds fine. When this happens it searches for the test SDK for dotnet 6.0 to run the tests and it cannot find it (which makes sense since we changed to SDK 8.0).
There are tree options

Install the dotnet6.0 SDK side by side with dotnet 8
Change the base image to VS2022 but have to Install the FullFramework 4.5 sdk on prepare stage.
Change the test project to target the newest SDK.

The easiest option here is to change the target framework for the tests project to <TargetFramework>net80</TargetFramework>

@cleftheris What's the reason for needing to target .NET Framework 4.5.1?

Good question :D
The main reason is that when the project started (2015) the most interest for the library came from FullFramework developers.
I have plans to remove the multiple target frameworks and keep maybe only the netstandard2.1 as well as a couple of LTS dotnet releases.

Ok that's what I figured. Makes sense.

@cleftheris like two weeks ago I made those you suggested, can you see them in the PR? Or do I need to do another PR I thought once I did them and pushed them the PR would reflect it and the files changed looks correct does it work differently when I essentially just pushed it to my fork? I have been out camping for a bit but will get home this weekend so I could do more in depth work on it soon:)

I have made additional changes in the master branch so I will merge now that the codebase is working.


Can't create a users pivpn add on SSL 3.0

I was trying to install PIVPN on my Raspberry with the new Ubuntu 22.04 and i found a problem on the script with the new versions of Ubuntu 22.04 and SSL 3.0 (with more than one installations)
The new user creation script (pivpn -a) everytime i run it, it failed with this error:
Enter PEM pass phrase:
2070C585FFFF0000:error:14000065:UI routines:UI_set_result_ex:result too small:../crypto/ui/ui_lib.c:884:You must type in 4 to 1024 characters
2070C585FFFF0000:error:1400006B:UI routines:UI_process:processing error:../crypto/ui/ui_lib.c:544:while reading strings
2070C585FFFF0000:error:0480006D:PEM routines:PEM_def_callback:problems getting password:../crypto/pem/pem_lib.c:62:
2070C585FFFF0000:error:07880109:common libcrypto routines:do_ui_passphrase:interrupted or cancelled:../crypto/passphrase.c:184:
2070C585FFFF0000:error:1C80009F:Provider routines:p8info_to_encp8:unable to get passphrase:../providers/implementations/encode_decode/encode_key2any.c:116:

What i have done to solve this problem is replace on the sentence of the creation of the password for the PEM the variable $PASSWD for the variable $PASSSWD_UNESCAPED
expect "Enter PEM pass phrase" {sleep 0.1; send -- "${PASSWD_UNESCAPED}\r"}
expect "Verifying - Enter PEM pass phrase" {sleep 0.1; send -- "${PASSWD_UNESCAPED}\r"}

It seems like than at ssl 3.0 doesn't like the operations you do to escape the chars in PASSWD.
Cheers

Hi, the issue has been fixed that variable has also been removed, as all the escaping.
https://github.com/pivpn/pivpn/issues/1601#issuecomment-1226646362


[UI] Make node address input wide enough to see it ALL

It would be nice to have all the inputs where we enter a node address to be wide enough so it shows the full address.
We do have some extra space in those views so easy to add to avoid this, where we dont see the last characters of the address and could even think the last characters are those displayed:

Fixed by #1556


Correctly stringify GROUP_x modifiers without labels

Since rule evaluations work via String(), this fixes evaluation of
rules containing GROUP_x modifiers without labels. This change is the
minimal bugfix (so that we can release a fixed version without
risk). It does not intend to implement any additional features (like
allowing GROUP_LEFT() or ON() or even ON - see discussion in
https://github.com/prometheus/prometheus/issues/1597 ).
Fixes https://github.com/prometheus/prometheus/issues/1676
@brian-brazil @fabxc

Since this has to go into 0.19.2 ASAP (it's breaking rule evaluation in a subtle way, only noticeable in the logs), should I perhaps merge this into the 0.19 release branch? (Where we also needed to merge the web-ui prefix fix.) We already have new features in the master branch.

I'll recreate this PR vs. the 0.19 release branch (where I have already merged the prefix fix).


Filter out DNS fields from certificate in public access log

Summary
We are filtering out all the DNS fields from certificate in the public access log. We don't need those information.

Codecov Report
Attention: 9 lines in your changes are missing coverage. Please review.

Comparison is base (302abbe) 72.19% compared to head (82c9106) 17.03%.

Additional details and impacted files
@@              Coverage Diff              @@
##             master    #2616       +/-   ##
=============================================
- Coverage     72.19%   17.03%   -55.16%
+ Complexity    11402     2884     -8518
=============================================
  Files           806      806
  Lines         65179    65185        +6
  Branches       7942     7943        +1
=============================================
- Hits          47055    11104    -35951
- Misses        15538    53262    +37724
+ Partials       2586      819     -1767

Files
Coverage Δ

.../com/github/ambry/rest/PublicAccessLogHandler.java
0.00% <0.00%> (-86.24%)
:arrow_down:

... and 629 files with indirect coverage changes

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

Do you mind adding one example string, before the PR and after the PR, in the PR summary?


Update the minimum version of Data Prepper to 17 or 21

Update the minimum version for running Data Prepper to JDK 17 from JDK 11.

We should consider making the minimum version Java 21 for Data Prepper 3.0.


Pyperclip does not work on Windows XP 32-bit

Pyperclip doesn't work on WIndows XP 32-bit (and possibly 64-bit too). When installing, the following output is received:
C:\Python34\Scripts>pip install pyperclip
Collecting pyperclip
  Using cached pyperclip-1.5.24.zip
    Complete output from command python setup.py egg_info:
    Traceback (most recent call last):
      File "<string>", line 20, in <module>
      File "C:\DOCUME~1\admin\LOCALS~1\Temp\pip-build-ncweabkc\pyperclip\setup.p
y", line 8, in <module>
        version=__import__('pyperclip').__version__,
      File "C:\DOCUME~1\admin\LOCALS~1\Temp\pip-build-ncweabkc\pyperclip\pypercl
ip\__init__.py", line 103, in <module>
        copy, paste = determine_clipboard()
      File "C:\DOCUME~1\admin\LOCALS~1\Temp\pip-build-ncweabkc\pyperclip\pypercl
ip\__init__.py", line 53, in determine_clipboard
        return init_windows_clipboard()
      File "C:\DOCUME~1\admin\LOCALS~1\Temp\pip-build-ncweabkc\pyperclip\pypercl
ip\windows.py", line 75, in init_windows_clipboard
        wcscpy_s = ctypes.cdll.msvcrt.wcscpy_s
      File "C:\Python34\lib\ctypes\__init__.py", line 364, in __getattr__
        func = self.__getitem__(name)
      File "C:\Python34\lib\ctypes\__init__.py", line 369, in __getitem__
        func = self._FuncPtr((name_or_ordinal, self))
    AttributeError: function 'wcscpy_s' not found

    ----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in C:\DOCUME~1\admin
\LOCALS~1\Temp\pip-build-ncweabkc\pyperclip

When I try to modify the code to use ctypes.cdll.msvcrt.wcscpy instead of ctypes.cdll.msvcrt.wcscpy_s, this quick fix just results in this error:
>>> import pyperclip
>>> pyperclip.copy('howdy')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Python34\pyperclip\windows.py", line 142, in copy_windows
    if wcscpy_s(c_wchar_p(locked_handle), count, c_wchar_p(text)):
OSError: exception: access violation reading 0x00000006

This is probably an issue that wcscpy_s doesn't exist in the old msvcrt.dll. I was able to replicate this in a VM. I'm not sure if this can be fixed by updating the dll, but we should come up with a better solution than that.

Thanks . It should help. I noticed last night when was asked to restart my
comp
On Nov 19, 2015 5:26 PM, "Al Sweigart"<EMAIL_ADDRESS>wrote:

Pyperclip doesn't work on WIndows XP 32-bit (and possibly 64-bit too).
When installing, the following output is received:
C:\Python34\Scripts>pip install pyperclip
Collecting pyperclip
Using cached pyperclip-1.5.24.zip
Complete output from command python setup.py egg_info:
Traceback (most recent call last):
File "", line 20, in
File "C:\DOCUME~1\admin\LOCALS~1\Temp\pip-build-ncweabkc\pyperclip\setup.p
y", line 8, in
version=import('pyperclip').version,
File "C:\DOCUME~1\admin\LOCALS~1\Temp\pip-build-ncweabkc\pyperclip\pypercl
ip_init_.py", line 103, in
copy, paste = determine_clipboard()
File "C:\DOCUME~1\admin\LOCALS~1\Temp\pip-build-ncweabkc\pyperclip\pypercl
ip_init_.py", line 53, in determine_clipboard
return init_windows_clipboard()
File "C:\DOCUME~1\admin\LOCALS~1\Temp\pip-build-ncweabkc\pyperclip\pypercl
ip\windows.py", line 75, in init_windows_clipboard
wcscpy_s = ctypes.cdll.msvcrt.wcscpy_s
File "C:\Python34\lib\ctypes_init_.py", line 364, in getattr
func = self.getitem(name)
File "C:\Python34\lib\ctypes_init_.py", line 369, in getitem
func = self._FuncPtr((name_or_ordinal, self))
AttributeError: function 'wcscpy_s' not found
----------------------------------------

Command "python setup.py egg_info" failed with error code 1 in C:\DOCUME~1\admin
\LOCALS~1\Temp\pip-build-ncweabkc\pyperclip
When I try to modify the code to use ctypes.cdll.msvcrt.wcscpy instead of
ctypes.cdll.msvcrt.wcscpy_s, this quick fix just results in this error:

import pyperclip
pyperclip.copy('howdy')
Traceback (most recent call last):
File "", line 1, in
File "C:\Python34\pyperclip\windows.py", line 142, in copy_windows
if wcscpy_s(c_wchar_p(locked_handle), count, c_wchar_p(text)):
OSError: exception: access violation reading 0x00000006

This is probably an issue that wcscpy_s doesn't exist in the old
msvcrt.dll. I was able to replicate this in a VM. I'm not sure if this can
be fixed by updating the dll, but we should come up with a better solution
than that.
—
Reply to this email directly or view it on GitHub
https://github.com/asweigart/pyperclip/issues/51.

Just my 5 cents: Windows XP is EOL, so IMHO there's really no reason to fix that.

I'm not sure, but may be runtime libraries will help?
https://www.microsoft.com/en-us/download/details.aspx?id=30679

Nonwithstanding my opinion on Windows XP support: IMO the best way to fix that is using memcpy, which we ultimately need to use anyway if we want to support other formats than text.

The easiest and recommended  way to copy memory is ctypes.memmove. It is independent on the platform and libraries.


Exception when a suspended account tries to log in

When a suspended account tries to log in, we don't provide any valuable information. Instead, it throws an exception with this error message:

If an account is suspended due to overdue balances (right now we only can check that on the recently added notes), we shouldn't log out those accounts and instead, send them to https://vault.heroku.com/pay-balance.
On a side note, we might want to think about a better way to indicate the reason of suspension (whether is a suspended account because they abused the api or because they have unpaid balance). Having notes explaining the reason is great but I think we should provide another way to make easier an automated process for unsuspending accounts.
More information, see https://herokuapp10678129herokucom.airbrake.io/groups/55786861.
Excon::Errors::UnprocessableEntity: Expected(201) <=> Actual(422 Unprocessable Entity) request => {:chunk_size=>1048576, :connect_timeout=>60, :headers=>{"Accept"=>"application/vnd.heroku+json; version=2", "Content-Type"=>"application/x-www-form-urlencoded", "Request-ID"=>"7e01844b-1a30-481d-8678-5111490a0e00", "X-Forwarded-For"=>"<IP_ADDRESS>", "Authorization"=>"Basic bWF4K3JlYWxseStzdXNwZW5kZWRAaGVyb2t1LmNvbTplbnRlcm5vd29ybGV0bWVpbg==", "Host"=>"api.heroku.com:443", "Content-Length"=>134}, :instrumentor_name=>"excon", :mock=>false, :nonblock=>true, :read_timeout=>60, :retry_limit=>4, :ssl_ca_file=>"/app/vendor/bundle/ruby/2.0.0/gems/excon-0.16.10/data/cacert.pem", :ssl_verify_peer=>true, :write_timeout=>60, :host=>"api.heroku.com", :host_port=>"api.heroku.com:443", :path=>"/oauth/tokens", :port=>"443", :query=>nil, :scheme=>"https", :instrumentor=>#<Identity::ExconInstrumentor:0x007fe6e59e39e0 @extra_data={:request_id=>"7e01844b-1a30-481d-8678-5111490a0e00"}>, :expects=>201, :body=>"code=c3f15bcc-45fc-4f5b-abf3-746261116314&client_secret=c7b196131dacb084fb8640b40a7e1173778476f30909401e&grant_type=authorization_code", :method=>:post} response => #<Excon::Response:0x007fe6e5a2bc40 @body="{\"id\":\"suspended\",\"error\":\"The account<EMAIL_ADDRESS>was suspended. If you believe this is an error please contact support\"}", @headers={"Cache-Control"=>"no-transform", "Content-Type"=>"application/json;charset=utf-8", "Date"=>"Thu, 15 Aug 2013 19:02:02 GMT", "Request-Id"=>"c50daad5-07af-42f8-9717-ef1bf623772c", "Server"=>"nginx/1.2.8", "Status"=>"422 Unprocessable Entity", "Strict-Transport-Security"=>"max-age=31536000", "X-Content-Type-Options"=>"nosniff", "X-RateLimit-Remaining"=>"2397", "X-Runtime"=>"0.197467954", "Content-Length"=>"142", "Connection"=>"keep-alive"}, @status=422>

cc @heroku/the-vault @max

This appears to still happen.
Most recent ticket: https://support.heroku.com/tickets/209858

Do we know if this is still a thing?

Looks like we're OK:

Hi , i have the similar too . Today , i'm login to heroku and found this error

@thanhnguyen2359 Have you reached out our Support Team to find out the root cause of this error?
You can contact them by opening a ticket on https://help.heroku.com/tickets/new?query=help.

Hi Raul, currently I can't login so couldn't open ticket on heroku.
But i think the reason is by this app :
https://dbs-ibanking-demo.herokuapp.com/
Today, i found google raise it is an Phishing site so i think that why
heroku suspend my account ,
I have submit the mistake to google and heroku , Google restored the link
but heroku still not restore my account :(
Sincerely,
Thanh Nguyen Kim
On Wed, Dec 30, 2015 at 11:40 PM, Raul Barroso<EMAIL_ADDRESS>wrote:

@thanhnguyen2359 https://github.com/thanhnguyen2359 Have you reached
out our Support Team to find out the root cause of this error?
You can contact them by opening a ticket on
https://help.heroku.com/tickets/new?query=help.
—
Reply to this email directly or view it on GitHub
https://github.com/heroku/identity/issues/53#issuecomment-168030924.


Semantics shouldn't be lexer tokens

Making them lexer tokens means the parser has to do string manipulation to pull out the data contained within.
e.g. for ": register(u0, space1)" the parser has to break apart the string to get the values.
It will also handle spaces naturally, so "register (u0)" would still parse without explicit lexer support.

https://github.com/gpuweb/WHLSL/pull/283


chore: formatting

Hello!
I've just added a little bit of formatting to your main readme, moving all the roles to second-level headings.
Let me know if the changes are good for you!

Thank youuuuuu


Dummy PR to test CI

Dummy PR to test CI

Cordova CI Build has completed successfully.
Commit     - Link
Dashboard - Link

Builder Name
Console Output
Test Report
Device Logs

Windows 8.1 Store
Link
Link
Link

Windows 8.1 Phone
Link
Link
Link

iOS
Link
Link
Link

Android Mac
Link
Link
Link

Let there be tests

Cordova CI Build has completed successfully.
Commit     - Link
Dashboard - Link

Builder Name
Console Output
Test Report
Device Logs

Windows 8.1 Store
Link
Link
Link

Windows 8.1 Phone
Link
Link
Link

iOS
Link
Link
Link

Android Mac
Link
Link
Link

Let there be tests

Cordova CI Build has completed successfully.
Commit     - Link
Dashboard - Link

Builder Name
Console Output
Test Report
Device Logs

Windows 8.1 Store
Link
Link
Link

Windows 8.1 Phone
Link
Link
Link

iOS
Link
Link
Link

Android Mac
Link
Link
Link

Let there be tests

Cordova CI Build has completed successfully.
Commit     - Link
Dashboard - Link

Builder Name
Console Output
Test Report
Device Logs

Windows 8.1 Store
Link
Link
Link

Windows 8.1 Phone
Link
Link
Link

iOS
Link
Link
Link

Android Mac
Link
Link
Link


Add format checking for when lines

Jinja2 should not be included in "when" lines. This produces a
warning in Ansible 2.3+

This seems great, can you fix failing tests?

Ok, that should fix the failing test.
However, there was one limitation of the code that is exposed that I couldn't figure out how to address. A "when" clause can also be applied to a block, and it doesn't seem that blocks are properly exposed to the rules. Any chance you could expose blocks to a rule so that I could easily add testing for a block's "when" clause?

I realized my id still referred to my local project where I developed this code. I've updated it to be ANSIBLE0019 instead of CINCH0001. The issue of not detecting issues on "blocks" still exists.

In terms of exposing blocks, you might have to do it a bit more manually through matchplay.
We do have other rules that use matchplay to see how that might work (and there are yet more in ansible-review - https://github.com/willthames/ansible-review/blob/master/lib/ansiblereview/examples/lint-rules)

I'm not finding anything that's dealing directly with blocks except for where your parsing code is expanding them. If I have the following play in a playbook, do I just need to walk recursively down through the blocks until all child blocks are found, from within matchplay?
- hosts: all
  tasks:
    - name: test when with jinja2
      debug: msg=text
      when: "{{ false }}"
    - block:
        - name: no
          command: echo fail
      when: "{{ false }}"

OK, so I have added some basic recursive work into the PR. Now I'm running into something that I think might be an issue with how the rest of the library parses blocks. I've seen in some other places that blocks don't seem to be parsed recursively, and my own example seems to verify that in this case, at least.
The following playbook example should generate 5 errors from my rule, however, the innermost task of the second-level block is not getting parsed into the matchtask list. Namely, the line when: "{{ another_failure }}" is never picked up, because that task never gets passed into matchtask. Is that something I'm doing wrong?
- hosts: all
  tasks:
    - name: test when with jinja2
      debug: msg=text
      when: "{{ false }}"
    - block:
        - name: no
          command: echo fail
        - block:
            - name: another no
              command: echo another fail
              when: "{{ another_failure }}"
          when: "{{ no_templating_should_be_here }}"
      when: "{{ false }}"

- hosts: all
  roles:
    - role: test
      when: "{{ '1' = '1' }}"

@greg-hellings sorry, I took my eye off the ball here - this looks good to go to me

Thanks! I am sure this is going to explode number of linting errors on the next release. Still, I do find it useful as linter should be able to avoid most ansible warnings and thus is a very common one.


Android app using AudioStreamMicrophone crashes

Godot version: Godot 3.1 Beta 3

OS/device including version: Android 6.0.1 (armeabi-v7a)

Issue description: Starting an AudioStreamPlayer2D (having as Stream an AudioStreamMicrophone) on Android crashes the application.
On Windows everything works fine (the sound is correctly captured from the microphone), but when the project is exported to Android, the application crashes on startup, even if it has the permission to access the microphone.
If the Stream is setted to other types of AudioStreams (AudioStreamOGGVorbis for example) everything works as expected.

Steps to reproduce: Create a simple scene with a main node and add an AudioStreamPlayer2D to the tree. Set the Stream of AudioStreamPlayer2D to AudioStreamMicrophone. Enable the audio input in the project and create an Android preset that has the Record Audio permission. Run the project on Android (giving the Microphone permission to the app).
Minimal reproduction project: Microphone Android Crash.zip

Remote Debug Gives Following Output
Android modules: Nothing to load, aborting

Android platform doesn't have Microphone support yet. I'll see if I can add it sometime.

In the meantime, can we add a change so that it doesn't crash, even if not supported?


Update build_defs.bzl

delete trace-loads in -fsanitize-coverage

sign a Contributor License Agreement complele


Should be able to search for \r in editor find

Have file with CRLF line endings
Search for foo\n as regex
Get match ✔ this is ok, people want to search in their editor without thinking about line endings, and we shouldn't change this, it could confuse people
Search for foo\r\n as regex
No match 🐛 but it should match, because some people want to specify the \r, and since it works in text search, we should be consistent.

As discussed, this is now possible to support with the editor buffer changes

I just figured out that we already have an issue for this one https://github.com/Microsoft/vscode/issues/31449


Help pages revised to reflect changes

Is this still a valid issue. The story number suggests that this is a FC1 issue to me.
Geoff

Pat to take a look

a) if referring to FreeCEN1, the 'Information for volunteers' link now sends the user to FreeCEN2.
b) if referring to FreeCEN2, the 'information for volunteers' has been completely re-written to support the use of FreeCEN procedures and practices.  Further changes, where and when needed, are recorded in separarate stories.
Therefore I suggest that this issue is closed.

Agree: closing


Manual testing: single API backend view

Continue explorative manual testing particularly for the single API view. Document the test cases, if not already documented. (Update if necessary.) Report any findings as issues giving steps to reproduce, expected outcome and actual outcome and stating the testing environment like OS, browser and the browser version.
Definition of done

[x] Bookmark an API from single API view
[x] Add and API and make API key optional from the API settings.

[ ] Test that you are still able to make a call through proxy (without using your API key)

[ ] Add a logo for an API

[ ] Check that the logo is available both in single API view and in catalog

[ ] Add an API and make it private from the single API view

[ ] Test that you as the owner can still view it in the catalog
[ ] Log in as another user and check that you cannot see the hidden/private API

If possible, check also Catalog pagination.

Reported and updated issues:
https://github.com/apinf/api-umbrella-dashboard/issues/1428
https://github.com/apinf/api-umbrella-dashboard/issues/622


Pass kwargs from Well.to_las to lasio.LASFile.write

This allows users to control the output of LAS files, by passing any kwargs from Well.to_las to lasio.LASFile.write.
At the moment the main one that might be needed is fmt, which controls the numeric formatting of values in the data sections: https://github.com/kinverarity1/lasio/blob/41a379ed1e0113bfaf4053354ac2f21480fee63a/lasio/writer.py#L36-L37
Others will be added in the future (e.g. kinverarity1/lasio#266).
Prompted by #107 which is not directly solved by this PR, but it is relevant.

Thank you Kent!


[WFLY-19058] Upgrade WildFly Core to 23.0.3.Final

Jira issue: https://issues.redhat.com/browse/WFLY-19058

Tag: https://github.com/wildfly/wildfly-core/releases/tag/23.0.3.Final
Diff: https://github.com/wildfly/wildfly-core/compare/23.0.2.Final...23.0.3.Final

        Component Upgrade

[WFCORE-6707] -         CVE-2024-1635 Upgrade XNIO to 3.8.13.Final

[WFCORE-6708] -         CVE-2024-1635 Upgrade JBoss Remoting to 5.0.28.Final

[WFCORE-6709] -         CVE-2023-5379 CVE-2024-1459 CVE-2024-1635 Upgrade Undertow to 2.3.12.Final

@yersan thanks!


Add Swift-AI

The Swift machine learning library.
Project URL
https://github.com/Swift-AI/Swift-AI
Category
Machine Learning
Description
Swift AI is a high-performance deep learning library written entirely in Swift. We currently offer support for all Apple platforms, with Linux support coming soon.
Why it should be included to awesome-ios (optional)
Checklist

[x] Only one project/change is in this pull request
[x] Addition in chronological order (bottom of category)
[x] Supports iOS 9 / tvOS 10 or later
[x] Supports Swift 4 or later
[x] Has a commit from less than 2 years ago
[x] Has a clear README in English

          1 Warning

:warning:
Found 2 link issues, a project collaborator will take care of these, thanks :)

Link issues by awesome_bot

Line
Status
Link

5
Dupe
https://gitter.im/vsouza/awesome-ios

2699
503
https://boombox.io/

  Generated by :no_entry_sign: Danger


Minor duplicate id in forms.md

fix duplicate id attribute

Vnu jar, yes definitely. If not either it's not a valid issue or a bug. I
will have a look tomorrow,currently afk
On Wed, Sep 19, 2018, 22:31 Martijn Cuppens<EMAIL_ADDRESS>wrote:

@XhmikosR https://github.com/XhmikosR, shouln't htmllint prevent this
from happening?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/twbs/bootstrap/pull/27275#issuecomment-422928105, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAVVteYdArkYYEcs0eiaQyMOTuPA6t38ks5ucpt-gaJpZM4WwnAo
.

The generated HTML was fine BTW, probably kramdown takes care of this.