🐛 Unable to use more than 3 video outputs on Android

What's happening?
When I try to use more than 3 camera outputs on Android it throws an exception:
Camera.onError(unknown/unknown): No supported surface combination is found for camera device - Id : 0.  May be attempting to bind too many use cases. Existing surfaces: [] New configs: [androidx.camera.core.impl.ImageAnalysisConfig@5500c94, androidx.camera.core.impl.ImageCaptureConfig@2ce66a6, androidx.camera.core.streamsharing.StreamSharingConfig@6ea4732, androidx.camera.core.impl.ImageAnalysisConfig@f8c78e7]

I'm using the example app code for the code scanner use case and adding a few more "video outputs" for running a frame processor & being able to take photos programatically.
I need to be able to run 4 "video ouputs" at the same time: preview the camera, take photos programatically, scan codes using the built-in code-scanner & run a frame processor:
Reproduceable Code
import * as React from 'react'
import { useCallback } from 'react'
import { StyleSheet, View } from 'react-native'
import type { Code } from 'react-native-vision-camera'
import { useCameraDevice, useCodeScanner, useFrameProcessor } from 'react-native-vision-camera'
import { Camera } from 'react-native-vision-camera'
import { useIsForeground } from './hooks/useIsForeground'
import { StatusBarBlurBackground } from './views/StatusBarBlurBackground'
import { useIsFocused } from '@react-navigation/core'

export function CodeScannerPage(): React.ReactElement {
  // 1. Use a simple default back camera
  const device = useCameraDevice('back')

  // 2. Only activate Camera when the app is focused and this screen is currently opened
  const isFocused = useIsFocused()
  const isForeground = useIsForeground()
  const isActive = isFocused && isForeground

  // 4. On code scanned, console.log
  const onCodeScanned = useCallback((codes: Code[]) => {
    console.log(`Scanned ${codes.length} codes:`, codes)
    const value = codes[0]?.value
    if (value == null) return

    console.log(value)
  }, [])

  // 5. Initialize the Code Scanner to scan QR codes and Barcodes
  const codeScanner = useCodeScanner({
    codeTypes: ['qr', 'ean-13'],
    onCodeScanned: onCodeScanned,
  })

  const frameProcessor = useFrameProcessor((frame) => {
    // nothing to do here
  }, [])

  return (
    <View style={styles.container}>
      {device != null && (
        <Camera
          style={StyleSheet.absoluteFill}
          device={device}
          isActive={isActive}
          photo={true}
          codeScanner={codeScanner}
          enableZoomGesture={true}
          frameProcessor={frameProcessor}
        />
      )}
      <StatusBarBlurBackground />
    </View>
  )
}

const styles = StyleSheet.create({
  container: {
    flex: 1,
    backgroundColor: 'black',
  },
})

Relevant log output
2024-05-14 13:19:03.303  2943-3123  ReactNativeJS           com.mrousavy.camera.example          I<PHONE_NUMBER>1: 1280x720 yuv Frame (landscape-left)
2024-05-14 13:19:03.303  2943-3122  ExampleKotlinPlugin     com.mrousavy.camera.example          D  1280 x 720 Image with format #35. Logging 5 parameters:
2024-05-14 13:19:03.303  2943-3122  ExampleKotlinPlugin     com.mrousavy.camera.example          D    -> 42.0 (java.lang.Double)
2024-05-14 13:19:03.303  2943-3122  ExampleKotlinPlugin     com.mrousavy.camera.example          D    -> true (java.lang.Boolean)
2024-05-14 13:19:03.303  2943-3122  ExampleKotlinPlugin     com.mrousavy.camera.example          D    -> {test=0.0, second=test} (java.util.HashMap)
2024-05-14 13:19:03.303  2943-3122  ExampleKotlinPlugin     com.mrousavy.camera.example          D    -> hello! (java.lang.String)
2024-05-14 13:19:03.303  2943-3122  ExampleKotlinPlugin     com.mrousavy.camera.example          D    -> [another test, 5.0] (java.util.ArrayList)
2024-05-14 13:19:03.383  2943-2943  VisionCameraProxy       com.mrousavy.camera.example          D  Finding view 85...
2024-05-14 13:19:03.383  2943-2943  VisionCameraProxy       com.mrousavy.camera.example          D  Found view 85!
2024-05-14 13:19:03.395  2943-5106  CameraView              com.mrousavy.camera.example          I  invokeOnAverageFpsChanged(29.743589743589745)
2024-05-14 13:19:03.396  2943-2943  CameraSession           com.mrousavy.camera.example          I  Camera Lifecycle changed to CREATED!
2024-05-14 13:19:03.401  2943-2943  CameraView              com.mrousavy.camera.example          I  Updating CameraSession...
2024-05-14 13:19:03.416  2943-2943  chatty                  com.mrousavy.camera.example          I  uid=10166(com.mrousavy.camera.example) identical 2 lines
2024-05-14 13:19:03.416  2943-2943  CameraView              com.mrousavy.camera.example          I  Updating CameraSession...
2024-05-14 13:19:03.417  2943-2943  CameraSession           com.mrousavy.camera.example          I  configure { ... }: Waiting for lock...
2024-05-14 13:19:03.417  2943-2943  CameraView              com.mrousavy.camera.example          I  A new configure { ... } call arrived, aborting this one...
2024-05-14 13:19:03.417  2943-2943  CameraSession           com.mrousavy.camera.example          I  configure { ... }: Waiting for lock...
2024-05-14 13:19:03.417  2943-2943  CameraSession           com.mrousavy.camera.example          I  configure { ... }: Updating CameraSession Configuration... Difference(deviceChanged=false, outputsChanged=false, sidePropsChanged=false, isActiveChanged=true, locationChanged=true)
2024-05-14 13:19:03.417  2943-2943  CameraSession           com.mrousavy.camera.example          I  Camera Lifecycle changed to STARTED!
2024-05-14 13:19:03.417  2943-2943  ScreenFlashWrapper      com.mrousavy.camera.example          W  completePendingScreenFlashClear: none pending!
2024-05-14 13:19:03.417  2943-2943  DeferrableSurface       com.mrousavy.camera.example          D  surface closed,  useCount=1 closed=true androidx.camera.core.SurfaceRequest$2@c31e1f4
2024-05-14 13:19:03.417  2943-5073  Recorder                com.mrousavy.camera.example          D  Video source has transitioned to state: INACTIVE
2024-05-14 13:19:03.417  2943-2943  DeferrableSurface       com.mrousavy.camera.example          D  surface closed,  useCount=0 closed=true androidx.camera.core.processing.SurfaceEdge$SettableSurface@74a7948
2024-05-14 13:19:03.417  2943-2943  DeferrableSurface       com.mrousavy.camera.example          D  Surface terminated[total_surfaces=9, used_surfaces=7](androidx.camera.core.processing.SurfaceEdge$SettableSurface@74a7948}
2024-05-14 13:19:03.417  2943-2943  DeferrableSurface       com.mrousavy.camera.example          D  use count-1,  useCount=0 closed=true androidx.camera.core.SurfaceRequest$2@c31e1f4
2024-05-14 13:19:03.417  2943-2943  DeferrableSurface       com.mrousavy.camera.example          D  Surface no longer in use[total_surfaces=9, used_surfaces=6](androidx.camera.core.SurfaceRequest$2@c31e1f4}
2024-05-14 13:19:03.417  2943-2943  DeferrableSurface       com.mrousavy.camera.example          D  Surface terminated[total_surfaces=8, used_surfaces=6](androidx.camera.core.SurfaceRequest$2@c31e1f4}
2024-05-14 13:19:03.417  2943-2943  CameraSession           com.mrousavy.camera.example          I  Camera Lifecycle changed to CREATED!
2024-05-14 13:19:03.418  2943-2943  MetadataProvider        com.mrousavy.camera.example          I  Stopping location updates...
2024-05-14 13:19:03.418  2943-5113  VideoEncoderSession     com.mrousavy.camera.example          D  Surface can be closed: 55207761
2024-05-14 13:19:03.418  2943-5113  VideoEncoderSession     com.mrousavy.camera.example          D  closeInternal in READY state
2024-05-14 13:19:03.418  2943-5113  Recorder                com.mrousavy.camera.example          D  VideoEncoder can be released: androidx.camera.video.internal.encoder.EncoderImpl@2c930b7
2024-05-14 13:19:03.418  2943-5113  Recorder                com.mrousavy.camera.example          D  Transitioning streamId: 55207761 --> 0
2024-05-14 13:19:03.418  2943-2943  CameraSession           com.mrousavy.camera.example          I  configure { ... }: Completed CameraSession Configuration! (State: CREATED)
2024-05-14 13:19:03.418  2943-3222  Camera2CameraImpl       com.mrousavy.camera.example          D  {Camera@5ed3c9a[id=0]} Use cases [androidx.camera.core.ImageCapture-a1cfbad6-f368-44b5-a47d-6113a462dfda227621584, androidx.camera.core.ImageAnalysis-7439a59e-b42b-4a1e-b7c7-0a87e8717548158225870, androidx.camera.core.streamsharing.StreamSharing-5183cda8-6912-48ce-9301-7948c51bcbf0237509351] now DETACHED for camera
2024-05-14 13:19:03.418  2943-3222  UseCaseAttachState      com.mrousavy.camera.example          D  All use case: [] for camera: 0
2024-05-14 13:19:03.418  2943-2943  CameraSession           com.mrousavy.camera.example          I  configure { ... }: Waiting for lock...
2024-05-14 13:19:03.418  2943-3222  Camera2CameraImpl       com.mrousavy.camera.example          D  {Camera@5ed3c9a[id=0]} Resetting Capture Session
2024-05-14 13:19:03.419  2943-3222  SyncCaptureSessionImpl  com.mrousavy.camera.example          D  [androidx.camera.camera2.internal.SynchronizedCaptureSessionImpl@1bbafec] Session call close()
2024-05-14 13:19:03.419  2943-3123  ReactNativeJS           com.mrousavy.camera.example          I<PHONE_NUMBER>1: 1280x720 yuv Frame (landscape-left)
2024-05-14 13:19:03.419  2943-2943  CameraSession           com.mrousavy.camera.example          I  configure { ... }: Updating CameraSession Configuration... Difference(deviceChanged=true, outputsChanged=true, sidePropsChanged=true, isActiveChanged=true, locationChanged=true)
2024-05-14 13:19:03.419  2943-2943  CameraSession           com.mrousavy.camera.example          I  Creating new Outputs for Camera #0...
2024-05-14 13:19:03.419  2943-3222  Camera2CameraImpl       com.mrousavy.camera.example          D  {Camera@5ed3c9a[id=0]} Releasing session in state OPENED
2024-05-14 13:19:03.419  2943-3122  ExamplePlugin           com.mrousavy.camera.example          D  1280 x 720 Image with format #35. Logging 5 parameters:
2024-05-14 13:19:03.419  2943-3122  ExamplePlugin           com.mrousavy.camera.example          D    -> 42.0 (java.lang.Double)
2024-05-14 13:19:03.419  2943-2943  CameraSession           com.mrousavy.camera.example          I  Using FPS Range: null
2024-05-14 13:19:03.419  2943-2943  CameraSession           com.mrousavy.camera.example          I  Creating Preview output...
2024-05-14 13:19:03.419  2943-3122  ExamplePlugin           com.mrousavy.camera.example          D    -> true (java.lang.Boolean)
2024-05-14 13:19:03.419  2943-3122  ExamplePlugin           com.mrousavy.camera.example          D    -> {test=0.0, second=test} (java.util.HashMap)
2024-05-14 13:19:03.419  2943-3122  ExamplePlugin           com.mrousavy.camera.example          D    -> hello! (java.lang.String)
2024-05-14 13:19:03.419  2943-3122  ExamplePlugin           com.mrousavy.camera.example          D    -> [another test, 5.0] (java.util.ArrayList)
2024-05-14 13:19:03.419  2943-2943  CameraSession           com.mrousavy.camera.example          I  Creating Photo output...
2024-05-14 13:19:03.419  2943-3122  ExampleKotlinPlugin     com.mrousavy.camera.example          D  1280 x 720 Image with format #35. Logging 5 parameters:
2024-05-14 13:19:03.419  2943-3122  ExampleKotlinPlugin     com.mrousavy.camera.example          D    -> 42.0 (java.lang.Double)
2024-05-14 13:19:03.419  2943-3122  ExampleKotlinPlugin     com.mrousavy.camera.example          D    -> true (java.lang.Boolean)
2024-05-14 13:19:03.419  2943-3122  ExampleKotlinPlugin     com.mrousavy.camera.example          D    -> {test=0.0, second=test} (java.util.HashMap)
2024-05-14 13:19:03.419  2943-2943  CameraSession           com.mrousavy.camera.example          I  Creating Video output...
2024-05-14 13:19:03.419  2943-3122  ExampleKotlinPlugin     com.mrousavy.camera.example          D    -> hello! (java.lang.String)
2024-05-14 13:19:03.419  2943-3122  ExampleKotlinPlugin     com.mrousavy.camera.example          D    -> [another test, 5.0] (java.util.ArrayList)
2024-05-14 13:19:03.419  2943-2943  CameraSession           com.mrousavy.camera.example          I  Creating new Recorder...
2024-05-14 13:19:03.419  2943-5113  Recorder                com.mrousavy.camera.example          D  Transitioning audio state: INITIALIZING --> INITIALIZING
2024-05-14 13:19:03.419  2943-5113  Recorder                com.mrousavy.camera.example          D  Releasing video encoder.
2024-05-14 13:19:03.419  2943-2943  CameraSession           com.mrousavy.camera.example          I  Creating YUV Frame Processor output...
2024-05-14 13:19:03.419  2943-2943  CameraSession           com.mrousavy.camera.example          I  Creating CodeScanner output...
2024-05-14 13:19:03.419  2943-5113  Recorder                com.mrousavy.camera.example          D  Releasing video encoder: androidx.camera.video.internal.encoder.EncoderImpl@2c930b7
2024-05-14 13:19:03.419  2943-5113  VideoEncoderSession     com.mrousavy.camera.example          D  VideoEncoder is releasing: androidx.camera.video.internal.encoder.EncoderImpl@2c930b7
2024-05-14 13:19:03.419  2943-5113  Recorder                com.mrousavy.camera.example          D  Transitioning Recorder internal state: IDLING --> CONFIGURING
2024-05-14 13:19:03.419  2943-3222  UseCaseAttachState      com.mrousavy.camera.example          D  Active and attached use case: [] for camera: 0
2024-05-14 13:19:03.420  2943-3222  UseCaseAttachState      com.mrousavy.camera.example          D  Active and attached use case: [] for camera: 0
2024-05-14 13:19:03.420  2943-5243  hw-BpHwBinder           com.mrousavy.camera.example          I  onLastStrongRef automatically unlinking death recipients
2024-05-14 13:19:03.420  2943-5113  VideoEncoder            com.mrousavy.camera.example          D  Transitioning encoder internal state: CONFIGURED --> RELEASED
2024-05-14 13:19:03.420  2943-5242  BpBinder                com.mrousavy.camera.example          I  onLastStrongRef automatically unlinking death recipients: android.media.IResourceManagerService
2024-05-14 13:19:03.420  2943-3222  Camera2CameraImpl       com.mrousavy.camera.example          D  {Camera@5ed3c9a[id=0]} Closing camera.
2024-05-14 13:19:03.420  2943-3222  Camera2CameraImpl       com.mrousavy.camera.example          D  {Camera@5ed3c9a[id=0]} Transitioning camera internal state: OPENED --> CLOSING
2024-05-14 13:19:03.421  2943-3222  CameraStateRegistry     com.mrousavy.camera.example          D  Recalculating open cameras:
                                                                                Camera                                       State
                                                                                -------------------------------------------------------------------
                                                                                Camera@5ed3c9a[id=0]                         CLOSING
                                                                                Camera@d77ffd[id=1]                          UNKNOWN
                                                                                -------------------------------------------------------------------
                                                                                Open count: 1 (Max allowed: 1)
2024-05-14 13:19:03.421  2943-3222  CameraStateMachine      com.mrousavy.camera.example          D  New public camera state CameraState{type=CLOSING, error=null} from CLOSING and null
2024-05-14 13:19:03.421  2943-3222  CameraStateMachine      com.mrousavy.camera.example          D  Publishing new public camera state CameraState{type=CLOSING, error=null}
2024-05-14 13:19:03.421  2943-3222  Camera2CameraImpl       com.mrousavy.camera.example          D  {Camera@5ed3c9a[id=0]} Resetting Capture Session
2024-05-14 13:19:03.421  2943-3222  Camera2CameraImpl       com.mrousavy.camera.example          D  {Camera@5ed3c9a[id=0]} Releasing session in state CLOSING
2024-05-14 13:19:03.421  2943-3222  SyncCaptureSessionImpl  com.mrousavy.camera.example          D  [androidx.camera.camera2.internal.SynchronizedCaptureSessionImpl@1bbafec] Session call super.close()
2024-05-14 13:19:03.421  2943-3222  UseCaseAttachState      com.mrousavy.camera.example          D  Active and attached use case: [] for camera: 0
2024-05-14 13:19:03.421  2943-3222  CaptureSession          com.mrousavy.camera.example          D  onSessionFinished()
2024-05-14 13:19:03.421  2943-3222  Camera2CameraImpl       com.mrousavy.camera.example          D  {Camera@5ed3c9a[id=0]} closing camera
2024-05-14 13:19:03.445  2943-2943  CameraSession           com.mrousavy.camera.example          I  Successfully created new Outputs for Camera #0!
2024-05-14 13:19:03.446  2943-2943  CameraSession           com.mrousavy.camera.example          I  Binding Camera #0...
2024-05-14 13:19:03.446  2943-5419  DynamiteModule          com.mrousavy.camera.example          I  Considering local module com.google.mlkit.dynamite.barcode:10000 and remote module com.google.mlkit.dynamite.barcode:0
2024-05-14 13:19:03.446  2943-5419  DynamiteModule          com.mrousavy.camera.example          I  Selected local version of com.google.mlkit.dynamite.barcode
2024-05-14 13:19:03.446  2943-2943  CameraSession           com.mrousavy.camera.example          I  Binding 5 use-cases...
2024-05-14 13:19:03.447  2943-2943  CameraOrientationUtil   com.mrousavy.camera.example          D  getRelativeImageRotation: destRotationDegrees=0, sourceRotationDegrees=90, isOppositeFacing=true, result=90
2024-05-14 13:19:03.447  2943-2943  CameraOrientationUtil   com.mrousavy.camera.example          D  getRelativeImageRotation: destRotationDegrees=0, sourceRotationDegrees=90, isOppositeFacing=true, result=90
2024-05-14 13:19:03.448  2943-2943  CapabilitiesByQuality   com.mrousavy.camera.example          D  profiles = ImmutableEncoderProfilesProxy{defaultDurationSeconds=60, recommendedFileFormat=2, audioProfiles=[AudioProfileProxy{codec=1, mediaType=audio/3gpp, bitrate=12200, sampleRate=8000, channels=1, profile=-1}], videoProfiles=[VideoProfileProxy{codec=2, mediaType=video/avc, bitrate=12000000, frameRate=30, width=1280, height=720, profile=-1, bitDepth=8, chromaSubsampling=0, hdrFormat=0}]}
2024-05-14 13:19:03.448  2943-2943  QualitySelector         com.mrousavy.camera.example          D  supportedQualities = [ConstantQuality{value=5, name=HD, typicalSizes=[1280x720]}]
2024-05-14 13:19:03.448  2943-2943  QualitySelector         com.mrousavy.camera.example          W  quality is not supported and will be ignored: ConstantQuality{value=6, name=FHD, typicalSizes=[1920x1080]}
2024-05-14 13:19:03.448  2943-2943  QualitySelector         com.mrousavy.camera.example          W  quality is not supported and will be ignored: ConstantQuality{value=4, name=SD, typicalSizes=[720x480, 640x480]}
2024-05-14 13:19:03.448  2943-2943  VideoCapture            com.mrousavy.camera.example          D  Found selectedQualities [ConstantQuality{value=5, name=HD, typicalSizes=[1280x720]}] by QualitySelector{preferredQualities=[ConstantQuality{value=6, name=FHD, typicalSizes=[1920x1080]}, ConstantQuality{value=5, name=HD, typicalSizes=[1280x720]}, ConstantQuality{value=4, name=SD, typicalSizes=[720x480, 640x480]}], fallbackStrategy=RuleStrategy{fallbackQuality=ConstantQuality{value=6, name=FHD, typicalSizes=[1920x1080]}, fallbackRule=1}}
2024-05-14 13:19:03.448  2943-2943  VideoCapture            com.mrousavy.camera.example          D  Set custom ordered resolutions = [1280x720]
2024-05-14 13:19:03.448  2943-2943  CameraOrientationUtil   com.mrousavy.camera.example          D  getRelativeImageRotation: destRotationDegrees=0, sourceRotationDegrees=90, isOppositeFacing=true, result=90
2024-05-14 13:19:03.449  2943-2943  DynamicRangeResolver    com.mrousavy.camera.example          D  Resolved dynamic range for use case androidx.camera.core.Preview-8e101cfa-7ae3-4016-8425-769a645a5365 to no compatible HDR dynamic ranges.
                                                                                DynamicRange@4a193e8{encoding=UNSPECIFIED, bitDepth=0}
                                                                                ->
                                                                                DynamicRange@5a4f90b{encoding=SDR, bitDepth=8}
2024-05-14 13:19:03.449  2943-2943  CapabilitiesByQuality   com.mrousavy.camera.example          D  profiles = ImmutableEncoderProfilesProxy{defaultDurationSeconds=60, recommendedFileFormat=2, audioProfiles=[AudioProfileProxy{codec=1, mediaType=audio/3gpp, bitrate=12200, sampleRate=8000, channels=1, profile=-1}], videoProfiles=[VideoProfileProxy{codec=2, mediaType=video/avc, bitrate=12000000, frameRate=30, width=1280, height=720, profile=-1, bitDepth=8, chromaSubsampling=0, hdrFormat=0}]}
2024-05-14 13:19:03.449  2943-2943  QualitySelector         com.mrousavy.camera.example          D  supportedQualities = [ConstantQuality{value=5, name=HD, typicalSizes=[1280x720]}]
2024-05-14 13:19:03.449  2943-2943  QualitySelector         com.mrousavy.camera.example          W  quality is not supported and will be ignored: ConstantQuality{value=6, name=FHD, typicalSizes=[1920x1080]}
2024-05-14 13:19:03.449  2943-2943  QualitySelector         com.mrousavy.camera.example          W  quality is not supported and will be ignored: ConstantQuality{value=4, name=SD, typicalSizes=[720x480, 640x480]}
2024-05-14 13:19:03.449  2943-2943  VideoCapture            com.mrousavy.camera.example          D  Found selectedQualities [ConstantQuality{value=5, name=HD, typicalSizes=[1280x720]}] by QualitySelector{preferredQualities=[ConstantQuality{value=6, name=FHD, typicalSizes=[1920x1080]}, ConstantQuality{value=5, name=HD, typicalSizes=[1280x720]}, ConstantQuality{value=4, name=SD, typicalSizes=[720x480, 640x480]}], fallbackStrategy=RuleStrategy{fallbackQuality=ConstantQuality{value=6, name=FHD, typicalSizes=[1920x1080]}, fallbackRule=1}}
2024-05-14 13:19:03.449  2943-2943  VideoCapture            com.mrousavy.camera.example          D  Set custom ordered resolutions = [1280x720]
2024-05-14 13:19:03.449  2943-2943  CameraOrientationUtil   com.mrousavy.camera.example          D  getRelativeImageRotation: destRotationDegrees=0, sourceRotationDegrees=90, isOppositeFacing=true, result=90
2024-05-14 13:19:03.449  2943-2943  CameraOrientationUtil   com.mrousavy.camera.example          D  getRelativeImageRotation: destRotationDegrees=0, sourceRotationDegrees=90, isOppositeFacing=true, result=90
2024-05-14 13:19:03.449  2943-2943  ResolutionsMerger       com.mrousavy.camera.example          D  The closer aspect ratio to the sensor size (1280x960) is 4/3.
2024-05-14 13:19:03.450  2943-2943  CameraOrientationUtil   com.mrousavy.camera.example          D  getRelativeImageRotation: destRotationDegrees=0, sourceRotationDegrees=90, isOppositeFacing=true, result=90
2024-05-14 13:19:03.450  2943-2943  CameraOrientationUtil   com.mrousavy.camera.example          D  getRelativeImageRotation: destRotationDegrees=0, sourceRotationDegrees=90, isOppositeFacing=true, result=90
2024-05-14 13:19:03.451  2943-5417  GooglePlayServicesUtil  com.mrousavy.camera.example          W  Google Play services out of date for com.mrousavy.camera.example.  Requires 203400000 but found 201817019
2024-05-14 13:19:03.451  2943-2943  CameraOrientationUtil   com.mrousavy.camera.example          D  getRelativeImageRotation: destRotationDegrees=0, sourceRotationDegrees=90, isOppositeFacing=true, result=90
2024-05-14 13:19:03.451  2943-5417  GoogleApiManager        com.mrousavy.camera.example          W  The service for com.google.android.gms.common.internal.service.zap is not available: ConnectionResult{statusCode=SERVICE_VERSION_UPDATE_REQUIRED, resolution=null, message=null}
2024-05-14 13:19:03.452  2943-2943  ResolutionsMerger       com.mrousavy.camera.example          D  Parent resolutions: [1280x960, 1280x720]
2024-05-14 13:19:03.453  2943-2943  CameraSession           com.mrousavy.camera.example          E  Failed to configure CameraSession! Error: No supported surface combination is found for camera device - Id : 0.  May be attempting to bind too many use cases. Existing surfaces: [] New configs: [androidx.camera.core.impl.ImageAnalysisConfig@5500c94, androidx.camera.core.impl.ImageCaptureConfig@2ce66a6, androidx.camera.core.streamsharing.StreamSharingConfig@6ea4732, androidx.camera.core.impl.ImageAnalysisConfig@f8c78e7], Config-Diff: Difference(deviceChanged=true, outputsChanged=true, sidePropsChanged=true, isActiveChanged=true, locationChanged=true)
                                                                                java.lang.IllegalArgumentException: No supported surface combination is found for camera device - Id : 0.  May be attempting to bind too many use cases. Existing surfaces: [] New configs: [androidx.camera.core.impl.ImageAnalysisConfig@5500c94, androidx.camera.core.impl.ImageCaptureConfig@2ce66a6, androidx.camera.core.streamsharing.StreamSharingConfig@6ea4732, androidx.camera.core.impl.ImageAnalysisConfig@f8c78e7]
                                                                                at androidx.camera.lifecycle.LifecycleCameraRepository.bindToLifecycleCamera(LifecycleCameraRepository.java:312)
                                                                                at androidx.camera.lifecycle.ProcessCameraProvider.bindToLifecycle(ProcessCameraProvider.java:609)
                                                                                at androidx.camera.lifecycle.ProcessCameraProvider.bindToLifecycle(ProcessCameraProvider.java:386)
                                                                                at com.mrousavy.camera.core.CameraSession.configureCamera(CameraSession.kt:433)
                                                                                at com.mrousavy.camera.core.CameraSession.configure(CameraSession.kt:168)
                                                                                at com.mrousavy.camera.react.CameraView$update$1.invokeSuspend(CameraView.kt:148)
                                                                                at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
                                                                                at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:108)
                                                                                at android.os.Handler.handleCallback(Handler.java:938)
                                                                                at android.os.Handler.dispatchMessage(Handler.java:99)
                                                                                at android.os.Looper.loop(Looper.java:223)
                                                                                at android.app.ActivityThread.main(ActivityThread.java:7656)
                                                                                at java.lang.reflect.Method.invoke(Native Method)
                                                                                at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
                                                                                at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)
2024-05-14 13:19:03.453  2943-2943  CameraView              com.mrousavy.camera.example          E  invokeOnError(...):
2024-05-14 13:19:03.453  2943-2943  System.err              com.mrousavy.camera.example          W  java.lang.IllegalArgumentException: No supported surface combination is found for camera device - Id : 0.  May be attempting to bind too many use cases. Existing surfaces: [] New configs: [androidx.camera.core.impl.ImageAnalysisConfig@5500c94, androidx.camera.core.impl.ImageCaptureConfig@2ce66a6, androidx.camera.core.streamsharing.StreamSharingConfig@6ea4732, androidx.camera.core.impl.ImageAnalysisConfig@f8c78e7]
2024-05-14 13:19:03.453  2943-2943  System.err              com.mrousavy.camera.example          W  	at androidx.camera.lifecycle.LifecycleCameraRepository.bindToLifecycleCamera(LifecycleCameraRepository.java:312)
2024-05-14 13:19:03.453  2943-2943  System.err              com.mrousavy.camera.example          W  	at androidx.camera.lifecycle.ProcessCameraProvider.bindToLifecycle(ProcessCameraProvider.java:609)
2024-05-14 13:19:03.453  2943-2943  System.err              com.mrousavy.camera.example          W  	at androidx.camera.lifecycle.ProcessCameraProvider.bindToLifecycle(ProcessCameraProvider.java:386)
2024-05-14 13:19:03.453  2943-2943  System.err              com.mrousavy.camera.example          W  	at com.mrousavy.camera.core.CameraSession.configureCamera(CameraSession.kt:433)
2024-05-14 13:19:03.453  2943-2943  System.err              com.mrousavy.camera.example          W  	at com.mrousavy.camera.core.CameraSession.configure(CameraSession.kt:168)
2024-05-14 13:19:03.453  2943-2943  System.err              com.mrousavy.camera.example          W  	at com.mrousavy.camera.react.CameraView$update$1.invokeSuspend(CameraView.kt:148)
2024-05-14 13:19:03.453  2943-2943  System.err              com.mrousavy.camera.example          W  	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
2024-05-14 13:19:03.453  2943-2943  System.err              com.mrousavy.camera.example          W  	at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:108)
2024-05-14 13:19:03.453  2943-2943  System.err              com.mrousavy.camera.example          W  	at android.os.Handler.handleCallback(Handler.java:938)
2024-05-14 13:19:03.453  2943-2943  System.err              com.mrousavy.camera.example          W  	at android.os.Handler.dispatchMessage(Handler.java:99)
2024-05-14 13:19:03.453  2943-2943  System.err              com.mrousavy.camera.example          W  	at android.os.Looper.loop(Looper.java:223)
2024-05-14 13:19:03.453  2943-2943  System.err              com.mrousavy.camera.example          W  	at android.app.ActivityThread.main(ActivityThread.java:7656)
2024-05-14 13:19:03.453  2943-2943  System.err              com.mrousavy.camera.example          W  	at java.lang.reflect.Method.invoke(Native Method)
2024-05-14 13:19:03.453  2943-2943  System.err              com.mrousavy.camera.example          W  	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
2024-05-14 13:19:03.453  2943-2943  System.err              com.mrousavy.camera.example          W  	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)
2024-05-14 13:19:03.454  2943-2943  CameraSession           com.mrousavy.camera.example          I  configure { ... }: Waiting for lock...
2024-05-14 13:19:03.454  2943-2943  CameraSession           com.mrousavy.camera.example          I  Nothing changed, aborting configure { ... }

Camera Device
{
  "formats": [],
  "sensorOrientation": "landscape-left",
  "hardwareLevel": "limited",
  "maxZoom": 10,
  "minZoom": 1,
  "maxExposure": 9,
  "supportsLowLightBoost": false,
  "neutralZoom": 1,
  "physicalDevices": [
    "telephoto-camera"
  ],
  "supportsFocus": true,
  "supportsRawCapture": false,
  "isMultiCam": false,
  "minFocusDistance": 0,
  "minExposure": -9,
  "name": "0 (BACK) androidx.camera.camera2",
  "hasFlash": false,
  "hasTorch": false,
  "position": "back",
  "id": "0"
}

Device
Pixel 6 API 30 emulator, also repo on real Xiaomi Redmi 13C
VisionCamera Version
main branch
Can you reproduce this issue in the VisionCamera Example app?
Yes, I can reproduce the same issue in the Example app here
Additional information

[ ] I am using Expo
[X] I have enabled Frame Processors (react-native-worklets-core)
[X] I have read the Troubleshooting Guide
[X] I agree to follow this project's Code of Conduct
[X] I searched for similar issues in this repository and found none.

While debugging I came accross the bindToLifecycle doc with clearly states:
...
Currently up to 3 use cases may be bound to a Lifecycle at any time. Exceeding capability of target camera device will throw an IllegalArgumentException.
...

So this issue seems to be an api limitation?
I can consistently repro this when I ahve more than 3 "video outputs" enabled at the same time(preview, photo, codescanner, frame processors) and it works fine when I remove any of them.

Can you try setting qualityPrioritization="speed"?
I built VisionCamera to not have that limitation (that was a huge issue in native Camera APIs, so it's hard to work around this issue)

Can you try setting qualityPrioritization="speed"?
I built VisionCamera to not have that limitation (that was a huge issue in native Camera APIs, so it's hard to work around this issue)

I guess you meant photoQualityBalance but yeah, same result.
Isn't it a limitation on the camera api itself?
...
Currently up to 3 use cases may be bound to a Lifecycle at any time. Exceeding capability of target camera device will throw an IllegalArgumentException.
...

@mrousavy  Sorry if I'm missing something implementation wise, but it seems like we are assuming all devices will support binding any number of use cases or at least the camera api will disregard. Which doesn't seem to be the case and the camera API will just throw an exception.
Seems like we should be using the hardware_level of the device to determine the number of use cases that are supported? Not sure how the one thing translates to the other though.
I will try to fold the code scanner into my custom frame processor to reduce the number of use cases and workaround this. We cannot use multiple Camera components at the same time right? Even if one of them has the preview disabled?

but it seems like we are assuming all devices will support binding any number of use cases

No;

On iOS, I am explicitly checking if this is supported and Frame Processors and Video Capture have been carefully put together into a single video stream
On Android, CameraX already uses a similar feature under the hood called "stream sharing". So you could use any number of outputs here, although that feature is still in beta.

Hey - just created a PR to maybe fix this - can you test if that works for you? #2897 🙏

Will test it later today 🙌🏻 !
I ended up implementing the barcode recognizer with mlkit on a frame processor to reduce the number of outputs btw, that seems to work fine.

Hey - just created a PR to maybe fix this - can you test if that works for you? #2897 🙏

Hey! I just tested on a Xiaomi Redmi 13C and the issue it's still throwing the error. I'm using 4 video outputs: preview, take photo programatically, built-in code scanner, frame processors.

Well then that means that the StreamSharing feature is not working properly on that specific phone.
We'd need to report that bug to Google/CameraX.
I don't have the time to do that right now, so I'd really appreciate it if you took the time to do that (I mean it's also in your interest to get that fixed)


fix: Rest 2.3.9 upgrade

If there is no new rest issue to fix, I think we should do a full rest release 2.3.9 and update this pr.

why 2.3.9-alpha instead of just 2.3.9 ?

why 2.3.9-alpha instead of just 2.3.9 ?

I have just released rest.


[Q] How can I use SEO friendly with 'get'?

get 'the-get' do
    get 'page/:page', :action => :index, :on => :collection
end

I expected it works like "site/the-get/page/2" but doesn't work.
How to use it with 'get'?

I don't think I understand what it doesn't work means. It seems like you saw Creating friendly URLs and caching, but I'm not sure if get 'something' behaves like resources 'some_resources'. If you have a support question about how to use kaminari, please ask on StackOverflow.


add an attribute to company linkedin page

This would be a lot easier using linkedin to find a recruiter at the company than digging through career pages.

I can give it some thought.
From my experience, reaching out to recruiters via LinkedIn is often the slowest/spammiest way, and if you can't follow the instructions on careers/jobs page then I'm unsure why it exists.

Hmm, I like the simple format that is here already.  If someone submitting a company thinks that the link to a linkedin, or angel list, or glassdoor, or other profile is relevant to the hiring process, they are welcome to put it in the footer.  Adding a field for every website on the planet, or merely the most predatory job-related-social-network on the planet doesn't really buy us anything IMNSHO

WFM ^


xml2rfc reports Error: Unable to resolve external request:

Description
Hi,
When using xml2rfc tool to validate xml document, I always face such error.
Error: Unable to resolve external request: "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml"
Error: Unable to resolve external request: "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml"
Error: XInclude processing failed: could not load https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml, and no fallback was found, line 172
Unable to complete processing xxxxx.xml
I don't have such issue couple of months ago.
And the xml ever passed the xml2rfc validation now also report such error.
Any clues?
Thanks a lot!
Code of Conduct

[x] I agree to follow the IETF's Code of Conduct

Try again, these links work for me right now.
Are you behind a firewall maybe?


Remove admin only sources/repos

Currently, the available sources/repos are pulled directly from the Chocolatey Configuration file.  As a result, functionality that is included in Chocolatey Lib to filter out the available sources, based on other aspects is lost.  Rather than reading directly from the configuration file, the sources_list function of the IChocolateyConfigSettingsService should be used.

No logic will actually be included in Chocolatey GUI to provide this filtering, instead, this will be defered to Chocolatey Lib, where things like whether it is a licensed version of Chocolatey etc will be inspected, and the correct list of sources/repos will be returned.


news: Fix a misspelled news entry

And add a little bit more detail, since we now know this issue isn't specific to macOS.

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Comparison is base (7ee88fc) 92.16% compared to head (f52560f) 92.23%.

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #493      +/-   ##
==========================================
+ Coverage   92.16%   92.23%   +0.06%
==========================================
  Files          91       91
  Lines       10850    10850
  Branches     1499     1499
==========================================
+ Hits        10000    10007       +7
+ Misses        847      840       -7
  Partials        3        3

Flag
Coverage Δ

cpp
85.90% <ø> (+0.19%)
:arrow_up:

python_and_cython
95.44% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.
see 2 files with indirect coverage changes

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


Add Localization for JA/EN

add this

This guy has some great code (other projects) and this seems to have what we need: https://github.com/bahricanyesil/flutter-starter-template


How to log grey text? (like comments)

Tried a few things, like:
console.log(f'[grey0]some text[/grey0]')
console.log(f'[dim white]some text[/dim white]')
console.log(f'[grey_0]some text[/grey_0]')

But they all failed the purpose.
What is the right way?
Windows 10 / Python 3.7 / vscode / console emulator

The classic Windows terminal has a limited range of colors I'm afraid. Try the new Windows terminal which supports more colors, then you can pick one from https://rich.readthedocs.io/en/latest/appendix/colors.html

Much appreciated! And really awesome project BTW!


Add Pull Request Template

Create PR Template to make easier to contribute to this repo and easier to check if the pull request is consistent and followed all guidelines.
If this repo had my pull request, this commit would be like this:

Pull Request Checklist

[x] Read contributing guideline.
[x] Read code of conduct.
[x] Fill Contributor License Agreement (CLA).
[x] Check if my changes are consistent with the guidelines.
[x] Changes are consistent with the Coding Style
[ ] Run Unit Tests.

Issue Fix

[ ] Yes
[x] No

Fixed issue: none
Description

Add pull request template ...

I like this. @ewilderj, @yifeif, WDYT?

Thank you for your reply @martinwicke.
I think having a PR template it's good to standardize PR and consequently save time of contributors and reviewers.
This one is just a first suggestion and can be improved if necessary.

This is great. Thanks @filipefilardi!

Many thanks @ewilderj
I made the changes as suggested and i do believe this might be better.

Nagging Assignee @martinwicke: It has been 14 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.


digest library

It would be nice to have a crypto lib with functions such as md5(string), md5_file(path), sha256(string), sha256_file(path), ...

You mean a message digest library? Crypto would be stuff like Elliptic curve, RSA etc. We might consider https://www.hadrons.org/software/libmd/ for this.

Fixed with #232 / 60e7a88e7e5714ad0ac80f7030ecf722c60be854


Allow init command to run per cluster

Is your feature request related to a problem? Please describe.
Similar to this, we would like to be able to run the init script for each cluster separately.
Describe the solution you'd like
Should be able to specify wc or sc when running init command to only initialize for the specified cluster, i.e:
./bin/ck8s init wc
./bin/ck8s init sc

Describe alternatives you've considered
Additional context
Definition of done:
It is possible to run init command per cluster (sc or wc).

Putting this issue on hold, while waiting on another PR to be merged, as it requires similar changes.


[Spike - Frontend] UI of the Dataset page action buttons

Overview of the Feature Request
Spike issue of the UI work for #128.
The goal is to develop just the UI logic, without any behavior that requires data access.
Mockup of the requested element

What inspired the request?

#128

What existing behavior do you want changed?
N/A
Any brand new behavior do you want to add to Dataverse?
N/A
Any open or closed issues related to this feature request?

#128

I added the Waiting label because I need some changes from another PR to be merged into develop, in specific this PR:

https://github.com/IQSS/dataverse-frontend/pull/165


extend domain-configuration.md

In order to help prevent the noise I recently caused on #171 I propose some changes to the documentation which might help new users to better understand the structure of the config file in the case of multiple domains.

Nicely put, thanks for testing it out !


Reduce Renovate noise

https://docs.renovatebot.com/noise-reduction/

https://docs.renovatebot.com/configuration-options/
https://github.com/renovatebot/github-action


Blackscreens on 0.19.2

Environment
Windows build number: 10.0.19041.388
PowerToys version: 0.19.2
PowerToy module for which you are reporting the bug (if applicable): FancyZones

Steps to reproduce
Open the Powertoys Settings and navigate to FancyZones, then open the layout editing screen.
Expected behavior
Previously worked with no issues prior to update.
Actual behavior
Screen blacks out for a few seconds upon navigating with the mouse to any elements in the window. If I hover over the Space Around Zones box, that is when the black screen lasts the longest.

@ValHaller
can you provide a screenshot?
Thanks.

In this scenario, only a camera video recording the monitor would be of any use. Not sure how to screenshot a black screen.

Can you try to record a video?

I fixed it. Turns out updating the version removed PowerToys from my G-sync compatibility filter and my monitor was attempting to apply variable refresh rate to the window.

Good to know thank you.


C#: Handle named attribute arguments

Documentation LGTM 👍
https://github.com/Semmle/ql/pull/1054 - should this new query be reported in the change note for 1.21?

#1054 - should this new query be reported in the change note for 1.21?

Yes, but not related to this PR in any way.

Of course. Just commenting as a reminder.


VS Code clerk/show!

Add VS Code clerk/show! file watcher hotkey instructions.

Thanks @mike706574 for helping me figure this out!

Hmm, looks like this info is also in https://github.com/nextjournal/clerk#editor-workflow so I'd need to update that too.

Hey @brettrowberry,
Thanks a for looking into this, been wanting to have this for a while. Do you think setting up a global shortcut for nextjournal.clerk/show! would also be reasonable? I use alt+enter in Emacs. I'm on the fence if we should include a shortcut for nextjournal.clerk/serve!, maybe leave that as an exercise for the reader?

the show! shortcut of book.clj does not work for me in windows, because $file contains escaped characters "C:\U...." that can not be read by the REPL
easiest fix would probably be on Calva's side by escaping the path

$file contains escaped characters "C:\U...." that can not be read by the REPL

Ouch! That needs to be fixed in Calva. Please file an issue there!

Thanks for looking into this @PEZ, I've filed https://github.com/BetterThanTomorrow/calva/issues/2184.

Thanks for the issue, @mk!
@blnote : Here's a build of Calva that should be escaping the file path backslashes. I don't have a Windows machine handy, can you give it a spin?

https://output.circle-artifacts.com/output/job/3f508067-675f-493b-8d6b-f75735ce2464/artifacts/0/tmp/artifacts/calva-2.0.358-2184-escape-windows-filenames-d34b218a.vsix

To install it you need to download the VSIX package to your machine (and rename it the extension to .vsix if it downloads as a .zip), then from the Extension pane in VS Code, select Install from VSIX... in the meatballs menu at the top of the pane.

This fix is now released, blindly, in Calva v2.0.358. All that is changed is that all \ in $file will be replaced with \\. So, it really should fix the issue...
Another thing. I'd like to mention a new feature in Calva, released with v2.0.356, that might, or might not, be relevant for Clerk notebooks workflow. It's a way to get code called when the file is loaded in the REPL (using Calva's command for Load File). The same substitutions as with the custom command snippets are available here. See: Calva: Auto-evaluate Code at file/namespace load/evaluation for details.

Hi Peter, I've sent u an email yesterday but didn't reply to the list,
maybe it got lost. I tried it and the issue was fixed for me, so the
simple replacement worked. Thanks again, Bastian
Am 09.05.2023 um 11:25 schrieb Peter Strömberg:

This fix is now released, blindly, in Calva v2.0.358. All that is
changed is that all || in |$file| will be replaced with |\|. So, it
really /should/ fix the issue...
Another thing. I'd like to mention a new feature in Calva, released
with v2.0.356, that might, or might not, be relevant for Clerk
notebooks workflow. It's a way to get code called when the file is
loaded in the REPL (using Calva's command for Load File). The same
substitutions as with the custom command snippets are available here.
See: Calva: Auto-evaluate Code at file/namespace load/evaluation
https://calva.io/customizing-jack-in-and-connect/#auto-evaluate-code-at-filenamespace-loadevaluation
for details.
—
Reply to this email directly, view it on GitHub
https://github.com/nextjournal/clerk/pull/393#issuecomment-1539573416,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/APZ3CEX4BQMGAORU7RQWRE3XFIESNANCNFSM6AAAAAAUD72BBE.
You are receiving this because you were mentioned.Message ID:
@.***>

I haven't used Clerk for a long time. Feel free to close of do whatever. Thanks!


The domain/default pair of (../ios/Runner/Info, CFBundleIdentifier) does not exist

Hi, I'm having a problem with the iOS version of my app.
I'm getting this error:
The domain/default pair of (../ios/Runner/Info, CFBundleIdentifier) does not exist
If I build the app in the main flavour both with simulator and with a device it still works anyway.
If I build an other flavour, the app works only with the device, the simulator returns me this error:
Finished with error: ProcessException: Process "/usr/bin/xcrun" exited abnormally:
An error was encountered processing the command (domain=NSPOSIXErrorDomain, code=22):
Failed to install the requested application
The application's Info.plist does not contain CFBundleVersion.
Ensure your bundle contains a CFBundleVersion.
  Command: /usr/bin/xcrun simctl install 0ACA7B26-3234-4D40-BDA4-7CBE678DD147 /Users/.../build/ios/iphonesimulator/Runner.app

I can assure you that the info.plist is correctly set.
This is my doctor:
[!] Flutter (Channel dev, v1.7.9, on Mac OS X 10.15 19A487l, locale it-IT)
    • Flutter version 1.7.9 at /Users/miottoan/flutter
    • Framework revision 8dbfc82bc7 (4 days ago), 2019-06-24 11:41:02 +0100
    • Engine revision 4444c9cb6c
    • Dart version 2.4.0
    ✗ Downloaded executables cannot execute on host.
      See https://github.com/flutter/flutter/issues/6207 for more information

[✓] Android toolchain - develop for Android devices (Android SDK version 28.0.3)
    • Android SDK at /Users/miottoan/Library/Android/sdk
    • Android NDK location not configured (optional; useful for native profiling support)
    • Platform android-28, build-tools 28.0.3
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1343-b01)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 10.2.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 10.2.1, Build version 10E1001
    • CocoaPods version 1.7.1

[✓] iOS tools - develop for iOS devices
    • ios-deploy 1.9.4

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 3.4)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin version 36.1.1
    • Dart plugin version 183.6270
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1343-b01)

[✓] VS Code (version 1.34.0)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.0.1

[✓] Connected device (3 available)
    • iPhone Xs • 0ACA7B26-3234-4D40-BDA4-7CBE678DD147 • ios            • com.apple.CoreSimulator.SimRuntime.iOS-12-2 (simulator)
    • macOS     • macOS                                • darwin-x64     • Mac OS X 10.15 19A487l
    • web       • web                                  • web-javascript • Google Chrome 75.0.3770.100

! Doctor found issues in 1 category.

The domain/default pair of (../ios/Runner/Info, CFBundleIdentifier) does not exist

Seems related to: https://github.com/flutter/flutter/issues/33909

You need to past your ~/ios/Runner/Info.plist to find out the reason.

in my project,
git clean -xdf
flutter run

resolve this error.

I'm having this issue as well. My info.plist is formatted correctly as well.


Adopt OpenTracing standard

In order to add trace serialization and session completion, we are moving to adopt the OpenTracing standard. The proposal can be found here:
https://docs.google.com/document/d/1jK1_gZ1PYaVPI565ObtN5rcNcFGTlOpX56-eFeD5sjU/edit?usp=sharing
Please comment on the document, or discuss here if you have any questions or concerns.

Closing this out as stale, although fwiw I'm still generally interested in these ideas.


Replace persistence tests with key mappings tests

This commit modifies the Docker container to already contain Parsec keys
created with version 0.7.0. When running on CI, the Parsec service will
try to use those keys and they should still work.
To replicate the test checking that wrong key mappings are deleted, fake
mappings are also introduced.
Fix #394
The CryptoAuthLib provider was not supporting key management operations at 0.7.0 but can be tested using next version.
The Trusted Service provider should probably be included as well. It should also probably be included in the "all-providers" tests. I can do that before this PR is merged.
Instead of the big RUN step, I will COPY a script doing the same thing inside the Dockerfile. Submitting this PR for initial review/testing on CI.

Updated the registry with the new image and made the final push ⭐


I kept getting Error: Parse Error

I use Pygmalion 2 13B on Text-Generation-Webui that connected to TavernAI
However, it kept giving Parse Error. Anybody has that? How to debug this?

ooba doesn't like your prompt. (From what the Discord says this is an ooba(TextGEN) issue.)


Report submitted message text set in config is not honored

Describe the bug
The text is always coming to be coming from NLS message. the
Expected Behavior
Show NLS message when text is empty in config text
Reproduction Steps & Sample
Add/edit the report submitted message in the config.
Launch the app, and notice it shows the NLS message
Other Relevant Info
No response

Ready to test after next build...fix added to IA repo

@jmhauck @skrishn
For this we need some changes in reporter code as well, we have fixed this and will deliver it in the next code drop

@skrishn
Dev Checklist

Items
Is required
Status
Comments

Required NLS changes?
No

Required Backward compatibility
No

Required 508
No

Need Sanitize?
No

Impact Analysis Report

Impacted Areas
Comments

Have Configuration changes?
No

Have Runtime changes?
Yes

Impact on RTL
No

Impact on Report Submitted message
The Report Submitted message should honor the text set in config.

If empty text is set in the config then show the report submitted message from the nls.


Extending the webhook for Microsoft Teams

It would be great to see the webhook being extended to Microsoft Teams channel to get the notification of every emails sent.
Is there a way to do this presently? If not please consider this as a feature-request.
Thanks!

At the minute, there is no webhook process for new messages. This would make sense because software can send emails and record whatever information it needs to internally about that email, why it was sent etc, and then receive webhooks to find out what happened to the message.
Furthermore, I would say that notifying a chat-like software like Teams of each message sent and follow up information would create a very poor experience for many users of Postal, potentially thousands of notifications which would require significant effort to trawl through and understand.
If you need long-term reporting on Postal emails, you could increase the retention settings within the Postal UI or set up something yourself to suit your own needs.


Fixes CI

Fixes #665. Also excludes the Demo app from our code coverage report.

Trying to split up Carthage validation onto Travis, so they can run in parallel and save build time. We'll see!

Nah, never mind. Travis is having outages, might be worth reconsidering separately, but not now.

Danger failing again, gotta learn not to force-push to PRs...


Local graph becomes black after changing mode (dark/light)

Describe the bug
After changing theme mode from dark to light or from light to dark colors of any part of local graph becomes black. If go to Style Setting tab -> Prism Theme -> Appearance -> Graph Color Customisation -> Graph lines color and press Restore default button, then bug disappears.
To Reproduce

Open local graph
Change theme mode (light/dark)

Screenshots
Before:

After:

Setup Information

Device Type: Mac
Operating System: MacOS Monterey
Prism version: 3.3.0
Color Schemes Used: Swan
Obsidian Version: 1.3.5
Obsidian Installer Version: 1.3.5

Additional context
I tested this bug in empty new vault without any other plugin accept Style Setting, and bug still exists.

+1 on this
Setup Information

Device Type: laptop
Operating System: Windows 11
Prism version: 3.5.0
Color Schemes Used: pistachio/pine
Obsidian Version: 1.5.12
Obsidian Installer Version: 1.4.13

Mine has the right colours at launch, then after a few seconds it switches to all black regardless of dark/light mode. (I usually have mode set to 'adapt to system', but it behaves the same at any mode setting.)

I keep wondering about the colors of the local graph (or lack thereof), and then I remember this issue. Would love to see this fixed, as it's one of the few drawbacks of the Prism theme.

I think I've finally identified the issue. Still have a few things to resolve but there will at least be a partial fix for this that prevents the colours from disappearing in the next update 🥳

Hi all,
The partial fix should now be available in Prism 3.5.3. The update requires Obsidian app version 1.6.0 or above.
The current problem is that if you switch between Light / Dark theme the graph colours will use the shades from Swan / Raven colour schemes since the partial fix was to make those the default colours which other colour schemes replace. Strangely if you change any setting in Style Settings it triggers a reload of some kind that will load the correct colour scheme colours. Not sure how I will resolve this yet so for now it's something we'll have to deal with. I can only assume these issues are due either how Obsidian loads graph colours, how Style Settings injects the CSS or a combination of both.
Since the issue outlined has been addressed I'll close this issue but will continue to look for a solution to the above.


Add vineyard (CNCF sandbox project) to the landscape.

Pre-submission checklist:
Please check each of these after submitting your pull request:

[x] Are you only including a repo_url if your project is 100% open source? If so, you need to pick the single best GitHub repository for your project, not a GitHub organization.
[x] Is your project closed source or, if it is open source, does your project have at least 300 GitHub stars?
[x] Have you picked the single best (existing) category for your project?
[x] Does it follow the other guidelines from the new entries section?
[x] Have you included a URL for your SVG or added it to hosted_logos and referenced it there?
[x] Does your logo clearly state the name of the project/product and follow the other logo guidelines?
[x] Does your project/product name match the text on the logo?
[x] Have you verified that the Crunchbase data for your organization is correct (including headquarters and LinkedIn)?
[ ] ~15 minutes after opening the pull request, the CNCF-Bot will post the URL for your staging server. Have you confirmed that it looks good to you and then added a comment to the PR saying "LGTM"?

:heavy_check_mark: Deploy Preview for landscape ready!
:hammer: Explore the source changes: cab5be480e2327e5ebb9c73817042e25d28ea4e7
:mag: Inspect the deploy log: https://app.netlify.com/sites/landscape/deploys/60b5fa6b13b62b0008af8842
:sunglasses: Browse the preview: https://deploy-preview-2120--landscape.netlify.app

LGTM.

Thank you @caniszczyk !


Create fr_ch_qwertz.keymap

add fr_ch keyboard layout support

Hello Robin-73; thanks for the contribution!
Please note that all contributions require an associated JIRA ticket - see https://github.com/apache/incubator-guacamole-client/blob/master/CONTRIBUTING for more details.

Though not obvious from the PR itself, there is indeed JIRA issue:
https://issues.apache.org/jira/browse/GUACAMOLE-135
The commit message does need to be amended to tag the JIRA issue like all
other messages in the history, however.
On Jan 9, 2017 09:49, "James Muehlner"<EMAIL_ADDRESS>wrote:

Hello Robin-73; thanks for the contribution!
Please note that all contributions require an associated JIRA ticket - see
https://github.com/apache/incubator-guacamole-client/
blob/master/CONTRIBUTING for more details.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/apache/incubator-guacamole-server/pull/33#issuecomment-271353925,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AEaxScTNu7mqfbYpuF0-XAbHGLDQTnuQks5rQnM_gaJpZM4LeZPf
.

@Robin-73, in addition to updating the commit message to tag the JIRA issue, you will also need to add your keymap to src/protocols/rdp/Makefile.am, so it gets built automatically along with the others:
https://github.com/Robin-73/incubator-guacamole-server/blob/a28b55ea5bd1b51e3f08cd90b84517710a2d7b4a/src/protocols/rdp/Makefile.am#L244-L252

quiet new on github, so hope i have done things correctly...

quiet new on github, so hope i have done things correctly...

No problem. You're getting close, but:

There are quite a few commits now, all of which cover the same change - they should be combined.
Your other recent commit, "Update Makefile.am", lacks the JIRA issue.
Looking through the latest version of your keymap, I see that you are using tabs to align things. Please only use spaces for consistency's sake. No other part of our codebase uses tabs.

Ideally, you would probably want only "GUACAMOLE-135: Add Swiss/French keymap for RDP", since that is the high-level change happening here. The statements "add fr_ch_qwertz.keymap" and "update Makefile.am" are suboptimal because they add no information beyond what git already tells us.
Are you familiar with git's interactive rebase? That would probably be the best way to squash these commits together and reword:
https://git-scm.com/book/en/v2/Git-Tools-Rewriting-History

@Robin-73  Could you remove the branch that you created this pull request from (or just delete the pull request if possible) since the issue has actually been resolved ;-)

@Robin-73: Please close this PR.


show other completions even when CompletionState is idle

Actually, I don't understand why we should inhibit word completions and .sublime-completion completions when CompletionState is idle. Firstly, some servers (e.g. julia server) are really slow to respond, if we inhibit word completions and the server doesn't respond fast enough, it will essentially stop the entire auto-completion functionality. Secondly, if the reason was to prevent flickers, then I argue that .sublime-snippet should be also inhibited. Otherwise, there would still be flickers. (AFAIK, there is no way to stop snippet completions).

Ai....it is not working somehow.

Glad I'm not the only person wondering where the snippet completion could be disabled :)
Your change looks good, but I wonder if we can have LSP even less involved in the default completions?
Your use case (not only_show_lsp_completions) may not need to return anything until LSP has responded?

If one perfer only_show_lsp_completions, then we should inhibit word completions, *.sublime-completion and *.sublime-snippet (though there is no way to turn off the snippet completion so far). I don't know if the use will still like to see the default completions before LSP responds.


Bug: Fix word wrapping in configuration map

I thought I corrected this yesterday, but apparently not...
Before:

After:

run unit tests

LGTM! 💯  💖

Works great!


Use a Levenshtein distance implementation from the strsim crate

Closes #119.
Continuation of #120.
cc @BurntSushi

Great! Works now. Updated on crates.io in 0.6.64.


[Dead-Hosts] Result of execution

Hello @FadeMind ,
As you (may) know, I released and still continue to develop Funceble.
I wanted to help, so you can find here the result of my last execution against the following list.
hosts.extras--add.2o7Net@FadeMind ==> add.2o7Net  :white_check_mark:
In between,
Congratulations, :+1: :100: your host list don't have any dead domains.
Have a nice day/night.
Cheers,

Hello @FadeMind ,
Just released the results for the following.
hosts.extras--add.Dead@FadeMind ==> add.Dead :x:
Have a nice day/night.
Cheers,

Hello @FadeMind ,
Just released the results for the following.
hosts.extras--add.Risk@FadeMind ==> add.Risk :x:
Have a nice day/night.
Cheers,

Hello @FadeMind ,
Just released the results for the following.
hosts.extras--add.Spam@FadeMind ==> add.Spam :x:
Have a nice day/night.
Cheers,

Hello @FadeMind ,
You can find here the result of my last execution of Funceble against the following lists.
add.Spam

Tested file: https://github.com/FadeMind/hosts.extras/blob/master/add.Spam/hosts

add.Spam  ==> :x:
Status      Percentage   Numbers
----------- ------------ -------------
ACTIVE      58%          152
INACTIVE    41%          110
INVALID     0%           0

add.Risk

Tested file: https://github.com/FadeMind/hosts.extras/blob/master/add.Risk/hosts

add.Risk  ==> :x:
Status      Percentage   Numbers
----------- ------------ -------------
ACTIVE      97%          3063
INACTIVE    2%           94
INVALID     0%           0

add.Dead

Tested file: https://github.com/FadeMind/hosts.extras/blob/master/add.Dead/hosts

add.Dead  ==> :x:
Status      Percentage   Numbers
----------- ------------ -------------
ACTIVE      26%          31
INACTIVE    73%          85
INVALID     0%           0

add.2o7Net

Tested file: https://github.com/FadeMind/hosts.extras/blob/master/add.2o7Net/hosts

add.2o7Net  ==> :white_check_mark: :
Status      Percentage   Numbers
----------- ------------ -------------
ACTIVE      100%         1108
INACTIVE    0%           0
INVALID     0%           0

SpotifyAds

Tested file: https://github.com/FadeMind/hosts.extras/blob/master/SpotifyAds/hosts

SpotifyAds  ==> :white_check_mark:
Status      Percentage   Numbers
----------- ------------ -------------
ACTIVE      100%         5
INACTIVE    0%           0
INVALID     0%           0

UncheckyAds

Tested file: https://github.com/FadeMind/hosts.extras/blob/master/UncheckyAds/hosts

UncheckyAds  ==> :x:
Status      Percentage   Numbers
----------- ------------ -------------
ACTIVE      50%          17
INACTIVE    50%          17
INVALID     0%           0

Have a nice day/night.
Cheers,
What is funceble?
To quote the most active user of Funceble:

[Funceble is an] Excellent script for checking ACTIVE, INACTIVE and EXPIRED Domain Names.

@funilrys  thank you.

@FadeMind Your welcome.
Cleanup made, closing


window.parent overwritten when using :for directive

When writing Blits components, if you use :for to generate elements from an array, window.parent will be overwritten with a Blits component, when it should be a reference to itself or its actual parent - see (window.parent).
Reproducability
The issue can be found on any page that uses a :for loop. To reproduce the issue:

Go to the blits demo and open developer tools
Go to the sources tab and add a watcher to window.parent
Reload the page, and after it's loaded, refresh the watcher
Notice that window.parent is set to a Blits component

Visit any page that doesn't use a :for loop (e.g. intro)
Refresh the watcher and notice that window.parent is correctly set to a reference of window

Playground
I've also setup a playground to show specifically that it is the :for property that is causing this. Open both playgrounds and view the console, in the ready hook, the window and window.parent will be logged and you'll notice in the playground with the for loop, window.parent is logged as a Blits component.
Playground without for

Playground with for

While this doesn't seem to cause any issues in the demo app, anywhere window.parent is relied upon will fail due to the incorrect object being set (I'm having issues with Storybook as it relies on it to capture frames).

hey @WoodingMP, I see the problem indeed. That's a very good find!!
Luckily it also seems like a rather straight forward fix 🙂 Will look into this shortly.
Thanks for hunting and reporting this 👍

Should be fixed in #95.
Appreciated if you could verify this on your end as well. Thanks again 🙂

@michielvandergeest works great now thanks for getting on it so fast!


[Suggest] Markdown Support

Hello,
As Discord support Markdown,
It could be great that Discord Integration support it too,
We will be able to format text sent by bot.
Idea from: https://invisionpower.com/forums/topic/435577-discord-integration/?do=findComment&comment=2677600

The discord API does not support markdown except for basic stuff that you can currently already use (bold/italic/underline).

If they are talking about hyperlinks for text.... that's possible.


[BEAM-10917] Add support for BigQuery Read API in Python BEAM

The proposal detailing these changes can be found here.

Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:

[x] Choose reviewer(s) and mention them in a comment (R: @username).
[x] Format the pull request title like [BEAM-XXX] Fixes bug in ApproximateQuantiles, where you replace BEAM-XXX with the appropriate JIRA issue, if applicable. This will automatically link the pull request to the issue.
[ ] Update CHANGES.md with noteworthy changes.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

See the Contributor Guide for more tips on how to make review process smoother.

GitHub Actions Tests Status (on master branch)

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


List top-5 most frequently used scripts at "/home"

This will require the creation of configuration files within ~/.enveomics.

I'm moving this over to v0.2.0 in favor of requested features.


Added support for --remove-orphas docker compose up flag

Hi,
Would like to add support for this flag also for docker compose up (was implemented already for down).
When you re-run docker compose up on a file from which services were removed you can see messages like this one:
time="2022-11-24T14:56:17+02:00" level=warning msg="Found orphan containers ([tmp_busybox2_1]) for this project. If you removed or renamed this service in your compose file, you can run this command with the --remove-orphans flag to clean it up."

The containers for the services removed from the compose file are still running
There are cases when one would want them shutdown/removed instead, hence adding the support for  --remove-orphans

Very cool feature flag to have :)

Hi @gabrieldemarmiesse,
I was able to re-write the test not to depend on that difference
could you check if there is anything else needed ?
Thank you!

Good feedback @gabrieldemarmiesse, thank you!
Pls let me know if there is something else to adjust.

Thank you @gabrieldemarmiesse , we love this module!


Javascript or Markdown?

Hello,
I have a question: when creating a new page, what makes us choose js over md?
Thanks.

No really specific reasoning. It's by design ?
It looks like you just deleted our lovely crafted issue template. It was there for good reasons. Please help us solving your issue by answering the questions asked in this template. I'm closing this. Please either update the issue with the template and reopen, or open a new issue.
Please note that this issue tracker is not a help form and this issue will be closed.
If you have questions, please check Stack Overflow or Discord or Twitter


feat: Support an environment variable for the --full-refresh flag

Description
Added a support of environment variable MELTANO_RUN_FULL_REFRESH  for the --full-refresh option of meltano run and meltano el|elt
Related Issues

Closes #8816

@all-contributors
please add @MutuT2 for code.


Add VERCEL_URL domain fallback to support preview deployments

I ran into some trouble following this example when deploying to Vercel and using preview deployments. The NextAuth docs say that the NEXTAUTH_URL environment variable is unnecessary on Vercel, but I initially missed that this environment variable was being referenced in this part of the code.
To fix it, I added a fallback that references VERCEL_URL if NEXTAUTH_URL is missing, prepending the URL with https:// since it's not a valid argument for the URL constructor.

Thank you! 🙏
Would you also be able to update the docs here? https://docs.login.xyz/integrations/nextauth.js

Thanks for reminding actually. Will do!

Docs have now been updated. Thanks for the contribution here @markdalgleish

This works for the deployment links but not on the branch. Do you have any idea why that might be?


bugfix OperateClientConfigurationProperties.java

keycloak url is provided as a default from the helm charts and cannot easily be unset. So we should change the test order. If the keycloak token url is provided we use that, else we do the default.

Hi team, as the helm charts provide keycloak url as a default environment variable, our prospect is not able to override it with the token url. Thanks in advance for your review and pinging me when a new release of spring zeebe client and connector runtime is available :)

Sounds good to me - do you think you can add a comment in the source code adding the info why the sequence is like it is? I think this would be valuable for possible future changes

For the release date: Is this urgent @chDame ? I could issue a release with this change if helpful - there is no fixed cadence for spring-zeebe at the moment

For the release date: Is this urgent @chDame ? I could issue a release with this change if helpful - there is no fixed cadence for spring-zeebe at the moment

Hi @berndruecker, I have a prospect waiting for it. Would be nice if we can have a release soon :) Thanks!

I will release it now

Released @chDame : https://github.com/camunda-community-hub/spring-zeebe/releases/tag/8.2.4

Thanks Bernd!


Installing Re-verse

I didn't understand how it works or how to install it.

use universal updater. also this this is the wrong repo, please see rverseTeam/rverse2

Alright, I'll check that repo out. Also is it this website https://universal-team.net/projects/universal-updater? I'm not that familiar with all of these stuff

Yep

Thank you very much! Is there anything I need to know before installing it?

Not really, just make sure you put in your NNID properly when asked because it's a pain to change it
Also, some features are a bit broken because rverse is still a work-in-progress, plus they had a giant server accident not long ago

@nreef12 Hey, universal updater tells me that I should enable game patching in Luma3ds, however, Luma3ds says that it is not able to connect to the internet. What do I do?

Huh, I don't think you need internet to enable game patching. Maybe try asking the Nintendo Homebrew discord server?


Add Saturation/Brightness selector box to Color Picker widget, clean up formatting

Closing in favor of #161


Potential issue : JavaScript : test is failing even if answer looks correct.

Challenge http://www.freecodecamp.com/challenges/waypoint-use-bracket-notation-to-find-the-first-character-in-a-string has an issue. Please describe how to reproduce it, and include links to screenshots if possible.
Tried : (function(v){return(v);})(firstLetterOfLastName[0]);
Test Failed: Please check screenshot.

Sorry, this is not an issue.

Grammatically it should state "should be 'an L' ".


Cannot read property of undefined

This could probably be handled more gracefully?
/node_modules/bluebird/js/release/async.js:61
        fn = function () { throw arg; };
                           ^

TypeError: Cannot read property 'uploads' of undefined
    at JsonPath.setValue (/node_modules/deepstream.io/src/record/json-path.js:30:11)
    at RecordTransition._next (/node_modules/deepstream.io/src/record/record-transition.js:234:46)
    at RecordTransition._onRecord (/node_modules/deepstream.io/src/record/record-transition.js:198:8)
    at RecordRequest._onCacheResponse (/node_modules/deepstream.io/src/record/record-request.js:55:8)
    at client.get.e (/node_modules/deepstream.io-cache-redis/src/cache-connector.js:80:5)
    at tryCatcher (/node_modules/bluebird/js/release/util.js:16:23)
    at Promise.successAdapter [as _fulfillmentHandler0] (/node_modules/bluebird/js/release/nodeify.js:23:30)
    at Promise._settlePromise (/node_modules/bluebird/js/release/promise.js:558:21)
    at Promise._settlePromise0 (/node_modules/bluebird/js/release/promise.js:606:10)
    at Promise._settlePromises (/node_modules/bluebird/js/release/promise.js:685:18)
    at Async._drainQueue (/node_modules/bluebird/js/release/async.js:138:16)
    at Async._drainQueues (/node_modules/bluebird/js/release/async.js:148:10)
    at Immediate.Async.drainQueues (/node_modules/bluebird/js/release/async.js:17:14)
    at runCallback (timers.js:566:20)
    at tryOnImmediate (timers.js:546:5)
    at processImmediate [as _immediateCallback] (timers.js:525:5)

Please provide more details.
It's not clear what you've executed and how you wrapped the call with a promise.
Also please provide the version of deepstream, you can use the CLI deepstream info to print all the informaiton

@timaschew: Sorry. I have so many errors right now and I don't know what's causing them. I will provide more details as soon as I have them myself.

@timaschew: Seems to be related to upgrading the rethinkdb connector from 0.1.0 to 1.0.0

This issue is due to changes in storage adaptor to save data from:
{ v: 1, _d: { name: bob } } to { name:bob, __ds: { v: 1} }
As mentioned in 1.0.0 release notes:
Compatibility issues / Breaking Changes
deepstream metadata is now stored within each record under __ds to improve querying. Updating to this version will require data to be migrated to new structure.
Now
{
   "name": "John'",
   "age": "24",
   "__ds": {
     "_v": "10"
   }
}

Before:
{
     "_v": "10",
   "_d": {
      "name": "John",
      "age": "24"
   }
}

@yasserf: Ah, yes. Now I remember that commit. Sorry. I think this is what caused some of my sudden issues.

https://github.com/deepstreamIO/deepstream.io/issues/286#issuecomment-232302079


python311Packages.simplepush: init at 2.2.3

Description of changes
Module to send push notifications via Simplepush
https://github.com/simplepush/simplepush-python

Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
23.11 Release Notes (or backporting 23.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 253517 run on x86_64-linux 1

4 packages built:

python310Packages.simplepush
python310Packages.simplepush.dist
python311Packages.simplepush
python311Packages.simplepush.dist

Result of nixpkgs-review pr 253517 run on x86_64-linux 1

5 packages built:

home-assistant-component-tests.simplepush
python310Packages.simplepush
python310Packages.simplepush.dist
python311Packages.simplepush
python311Packages.simplepush.dist


Bump sharp 0.33

Sharp 0.33 solves a lot of issues around installation due to the postinstall script, and it brings it's own types which the Renovate PR doesn't get right.
Fixing this in imagetools, will i.e. fix a lot downstream issues of installing. Here is i.e. an example of Qwik with Deno etc.

https://github.com/denoland/deno/issues/20612

Quick Checklist

[ ] I have read the contributing guidelines
[ ] I have written new tests, as applicable (for bug fixes / features)
[ ] Docs have been added / updated (for bug fixes / features)
[ ] I have added a changeset, if applicable

What kind of change does this PR introduce? (Bug fix, feature, docs update, ...)

What is the new behavior (if this is a feature change)?

Does this PR introduce a breaking change? (What changes might users need to make in their application due to this
PR?)

Other information:

Thanks @birkskyum. I kicked off the CI and it looks like you'll have to update a few test assertions as part of this PR

It's a bit more than test assertions it would seem. There is this change in the options that imagetool need to adapt to:
https://github.com/lovell/sharp/issues/3740#issuecomment-1831875044

I've added this compression line to the format.ts, so it'll know to use av1, which was the previous default.
    return image.toFormat(format, {
      compression: format == 'heif' ? 'av1':undefined,
      quality: getQuality(config, image),
      lossless: getLossless(config, image) as boolean,
      progressive: getProgressive(config, image) as boolean
    })```

Okay, I've tried to update the tests

Getting close. Rolled back a change. Believe it'll pass now.


OCPBUGS-23126: Fix a bug on deletion of a hostedcluster

What this PR does / why we need it
A user destroying a HostedCluster can cause the HostedCluster to hang indefinitely if the destroy command times out during execution.
This is due to the hcp cli placing a finalizer on the HostedCluster during deletion which the cli tool later removes after waiting for some clean up actions to occur. If a user cancels the hcp destroy cluster command (or the command times out) while the cli is waiting for cleanup, then the HostedCluster will hang indefinitely with a DeletionTimestamp != nil.
This PR only performs the additional cleaning logic, including the setting and removing the special finalizer, for platform that actually creates additional resources. Also, this PR sets the hostedCluster as the owner for these secrets, so they will be deleted with the HostedCluster.
Which issue(s) this PR fixes
Fixes #OCPBUGS-23126
Checklist

[x] Subject and description added to both, commit and PR.
[x] Relevant issues have been referenced.
[ ] This change includes docs.
[ ] This change includes unit tests.

/test e2e-aws
/test e2e-kubevirt-aws-ovn

/jira refresh

/jira refresh

/test e2e-aws
/test e2e-kubevirt-aws-ovn

/test e2e-aws
/test e2e-kubevirt-aws-ovn

/retest-required

/retest-required

/retest-required

/cherry-pick release-4.14


Rating API: Shoptimeintransit does not work for non domestic

As soon as I change the addresses to be different countries I get the following error:
{
    "response": {
        "errors": [
            {
                "code": "111549",
                "message": "Invalid Shipment Contents Value."
            }
        ]
    }
}

Rate is working, shop is working, but Shoptimeintransit and ratetimeintransit are not.
If anybody has a working example I would really appreciate it.

Hi, thank you for your comment. The field "Shipment.InvoiceLineTotal" is required for international shipments with "ratetimeintransit" and "shoptimeintransit".


Section: Lobby

Functions:

[x] User list
[x] Clickable user (for invite message)
[x] Chat area
[x] Enter message
[x] Select game type (i.e., mod)
[x] Invite to game
[ ] Open deck builder

Graphical:

[x] Clicked user highlight (or radio button-like behavior)
[x] Text input field, chat message Send button
[x] Select game type highlight
[x] Time stamp for chat messages
[x] Buttons for Invite and Deck Builder

Re-opening until we implement the "Deck Builder" button function to open deckbuilder.html without starting a game


Tab now autocompletes in the VimuxPromptOption

This pull request changes the call to the input function in the :VimuxPromptCommand option so that pressing tab autocompletes, just as if it was in the terminal.

Looking forward to it 👍

Stumbled upon this, while it would be a welcome addition, it does seem to break some stuff, at least when I run VimRunLastCommand such as through:
map <Leader>vl :VimuxRunLastCommand<CR>

With command above and your change, it messes up with insert mode, my file content.

@madchap I am unable to replicate any issues with this like you describe and at least one other user also confirms it doesn't create problems. I'm going to go ahead and get this merged but feel free to open an issue if there is a problem.


Error invalid type "age1yubikey" with current Go Age

Environment

OS: Fedora 35, linux 5.15.5
age-plugin-yubikey version:  0.2.0
age version: 1.0.0
rage version: 0.7.0

What were you trying to do

Generated a new age key
Tried encrypting some sample data
Encryption works with rage 0.7.0
Encryption fails with age 1.0.0 with error age: error: malformed recipient "age1yubikey1qgqsp5z24ff2wkezx0x8vdsv7hwywhj68tp9m6hfchjuunlx8h5pzx33eal": invalid type "age1yubikey"

What happened

Generated key successfully

> age-plugin-yubikey
✨ Let's get your YubiKey set up for age! ✨

[...]

🔑 Select a YubiKey: Yubico YubiKey OTP+FIDO+CCID 00 00 (Serial: 123)
🕳  Select a slot for your age identity: Slot 20 (Empty)
📛 Name this identity [age identity TAG_HEX]: AGE_ENC_20
🔤 Select a PIN policy: Once   (A PIN is required once per session, if set)
👆 Select a touch policy: Always (A physical touch is required for every decryption)
Generate new identity in slot 20? yes

Enter PIN for YubiKey with serial 123 (default is 123456): [hidden]

✨ Your YubiKey is using the default management key.
✨ We'll migrate it to a PIN-protected management key.
... Success!
👆 Please touch the YubiKey

📝 File name to write this identity to: age-yk-id-20.txt

✅ Done! This YubiKey identity is ready to go.

🔑 Here's your shiny new YubiKey recipient:
  age1yubikey1qgqsp5z24ff2wkezx0x8vdsv7hwywhj68tp9m6hfchjuunlx8h5pzx33eal

Here are some example things you can do with it:

- Encrypt a file to this identity:
  $ cat foo.txt | age -r age1yubikey1qgqsp5z24ff2wkezx0x8vdsv7hwywhj68tp9m6hfchjuunlx8h5pzx33eal -o foo.txt.age

- Decrypt a file with this identity:
  $ cat foo.txt.age | age -d -i age-yk-id-20.txt > foo.txt

- Recreate the identity file:
  $ age-plugin-yubikey -i --serial 123 --slot 20 > age-yk-id-20.txt

- Recreate the recipient:
  $ age-plugin-yubikey -l --serial 123 --slot 20

💭 Remember: everything breaks, have a backup plan for when this YubiKey does.

> cat age-yk-id-20.txt
#       Serial: 123, Slot: 20
#         Name: AGE_ENC_20
#      Created: Sat, 04 Dec 2021 05:17:26 +0000
#   PIN policy: Once   (A PIN is required once per session, if set)
# Touch policy: Always (A physical touch is required for every decryption)
#    Recipient: age1yubikey1qgqsp5z24ff2wkezx0x8vdsv7hwywhj68tp9m6hfchjuunlx8h5pzx33eal

Tried encrypting a test string, failed to encrypt with age 1.0.0

> echo "testo testo" | age -r age1yubikey1qgqsp5z24ff2wkezx0x8vdsv7hwywhj68tp9m6hfchjuunlx8h5pzx33eal -o test.txt.age
age: error: malformed recipient "age1yubikey1qgqsp5z24ff2wkezx0x8vdsv7hwywhj68tp9m6hfchjuunlx8h5pzx33eal": invalid type "age1yubikey"
age: report unexpected or unhelpful errors at https://filippo.io/age/report

Tried encrypting and decrypting with rage 0.7.0, success

[21:38:32] cat@ /home/cat/.config/age
> echo "testo testo" | rage -r age1yubikey1qgqsp5z24ff2wkezx0x8vdsv7hwywhj68tp9m6hfchjuunlx8h5pzx33eal -o test.txt.age

[21:39:14] cat@ /home/cat/.config/age
> cat test.txt.age
age-encryption.org/v1
-> piv-p256 /Ghj/w A2WpYUuG0RnqNqzUyDrGq55lXTCuaR5dqtM19P4OK2DH
jVlT9ZsqZ73zs5C3bS6I2U5gYISwR8jFfXDAODQbt6s
-> d,`K%5-grease
++416eYz7ZkGoYhQTcUsdcqPoeI
--- O2mTiDy+DNkhd4C4ajqYITKmXDJAMiD5TpnG48P48ec
�ɟ)��׬ vBE�|ɪL�c^B���
                     롡g��x�i<z⏎

[21:39:17] cat@ /home/cat/.config/age
> cat test.txt.age | rage -d -i age-yk-id-20.txt > test.txt

[21:40:11] cat@ /home/cat/.config/age
> cat test.txt
testo testo

Notes

Please let me know if there's any debug info I can provide to help!

I think this is because Go age 1.0 doesn't have plugin support. IIRC @FiloSottile was leaving it to the 1.1 release.

Oh, I didn't know that! I'll keep an eye out for Go age 1.1 and use rage for my yubikey credential in the meantime.
Thanks for the info! :)

Plugin support just landed in Go age v1.1.0-rc1: https://github.com/FiloSottile/age/releases/tag/v1.1.0-rc.1

Nice!! Thanks for the update! :)


Custom model validation

Hi,
I need to add some validators to my custom User model, that raise a ValueError if some set of constraints isn't respected. For example,
class User(models.BaseUser):
    referrer_id: Optional[int] = None

    @pydantic.validator('referrer_id')
    def check_referrer(cls, v, values):
        if v is None and not values.get('is_superuser', False):
            raise ValueError('Referrer needed for standard user')

I expected any validation error to be caught when trying to access the /users/register route, so that the status code of the response would be 422, and the response body containing the standard validation error message.
Instead, I get a 500.
Any pointer to what I'm missing will be deeply appreciated. And :+1: for this awesome work!

Hi @pierregm!
Could you provide the error stack trace shown in the console running your server? Surely, it will give use good pointers to solve the problem 🙂

Sure, here we go...
INFO:     <IP_ADDRESS>:52969 - "POST /users/register HTTP/1.1" 500 Internal Server Error
ERROR:    Exception in ASGI application
Traceback (most recent call last):
  File ".../lib/python3.7/site-packages/uvicorn/protocols/http/httptools_impl.py", line 385, in run_asgi
    result = await app(self.scope, self.receive, self.send)
  File ".../lib/python3.7/site-packages/uvicorn/middleware/proxy_headers.py", line 45, in __call__
    return await self.app(scope, receive, send)
  File ".../lib/python3.7/site-packages/fastapi/applications.py", line 140, in __call__
    await super().__call__(scope, receive, send)
  File ".../lib/python3.7/site-packages/starlette/applications.py", line 134, in __call__
    await self.error_middleware(scope, receive, send)
  File ".../lib/python3.7/site-packages/starlette/middleware/errors.py", line 178, in __call__
    raise exc from None
  File ".../lib/python3.7/site-packages/starlette/middleware/errors.py", line 156, in __call__
    await self.app(scope, receive, _send)
  File ".../lib/python3.7/site-packages/starlette/middleware/base.py", line 25, in __call__
    response = await self.dispatch_func(request, self.call_next)
  File "./bacon/main.py", line 27, in db_session_middleware
    response = await call_next(request)
  File ".../lib/python3.7/site-packages/starlette/middleware/base.py", line 45, in call_next
    task.result()
  File ".../lib/python3.7/site-packages/starlette/middleware/base.py", line 38, in coro
    await self.app(scope, receive, send)
  File ".../lib/python3.7/site-packages/starlette/exceptions.py", line 73, in __call__
    raise exc from None
  File ".../lib/python3.7/site-packages/starlette/exceptions.py", line 62, in __call__
    await self.app(scope, receive, sender)
  File ".../lib/python3.7/site-packages/starlette/routing.py", line 590, in __call__
    await route(scope, receive, send)
  File ".../lib/python3.7/site-packages/starlette/routing.py", line 208, in __call__
    await self.app(scope, receive, send)
  File ".../lib/python3.7/site-packages/starlette/routing.py", line 41, in app
    response = await func(request)
  File ".../lib/python3.7/site-packages/fastapi/routing.py", line 147, in app
    is_coroutine=is_coroutine,
  File ".../lib/python3.7/site-packages/fastapi/routing.py", line 78, in serialize_response
    raise ValidationError(errors, field.type_)
pydantic.error_wrappers.ValidationError: 1 validation error for UserBase
response -> referrer_id
  Referrer needed for standard user (type=value_error)
INFO:     <IP_ADDRESS>:52976 - "POST /users/login/jwt HTTP/1.1" 500 Internal Server Error
ERROR:    Exception in ASGI application
Traceback (most recent call last):
  File ".../lib/python3.7/site-packages/uvicorn/protocols/http/httptools_impl.py", line 385, in run_asgi
    result = await app(self.scope, self.receive, self.send)
  File ".../lib/python3.7/site-packages/uvicorn/middleware/proxy_headers.py", line 45, in __call__
    return await self.app(scope, receive, send)
  File ".../lib/python3.7/site-packages/fastapi/applications.py", line 140, in __call__
    await super().__call__(scope, receive, send)
  File ".../lib/python3.7/site-packages/starlette/applications.py", line 134, in __call__
    await self.error_middleware(scope, receive, send)
  File ".../lib/python3.7/site-packages/starlette/middleware/errors.py", line 178, in __call__
    raise exc from None
  File ".../lib/python3.7/site-packages/starlette/middleware/errors.py", line 156, in __call__
    await self.app(scope, receive, _send)
  File ".../lib/python3.7/site-packages/starlette/middleware/base.py", line 25, in __call__
    response = await self.dispatch_func(request, self.call_next)
  File "./bacon/main.py", line 27, in db_session_middleware
    response = await call_next(request)
  File ".../lib/python3.7/site-packages/starlette/middleware/base.py", line 45, in call_next
    task.result()
  File ".../lib/python3.7/site-packages/starlette/middleware/base.py", line 38, in coro
    await self.app(scope, receive, send)
  File ".../lib/python3.7/site-packages/starlette/exceptions.py", line 73, in __call__
    raise exc from None
  File ".../lib/python3.7/site-packages/starlette/exceptions.py", line 62, in __call__
    await self.app(scope, receive, sender)
  File ".../lib/python3.7/site-packages/starlette/routing.py", line 590, in __call__
    await route(scope, receive, send)
  File ".../lib/python3.7/site-packages/starlette/routing.py", line 208, in __call__
    await self.app(scope, receive, send)
  File ".../lib/python3.7/site-packages/starlette/routing.py", line 41, in app
    response = await func(request)
  File ".../lib/python3.7/site-packages/fastapi/routing.py", line 133, in app
    raw_response = await dependant.call(**values)
  File ".../lib/python3.7/site-packages/fastapi_users/router/users.py", line 28, in login
    user = await user_db.authenticate(credentials)
  File ".../lib/python3.7/site-packages/fastapi_users/db/base.py", line 57, in authenticate
    user = await self.get_by_email(credentials.username)
  File ".../lib/python3.7/site-packages/fastapi_users/db/sqlalchemy.py", line 91, in get_by_email
    return await self._make_user(user) if user else None
  File ".../lib/python3.7/site-packages/fastapi_users/db/sqlalchemy.py", line 165, in _make_user
    return self.user_db_model(**user_dict)
  File ".../lib/python3.7/site-packages/pydantic/main.py", line 283, in __init__
    raise validation_error
pydantic.error_wrappers.ValidationError: 1 validation error for UserInDB
referrer_id
  Referrer needed for standard user (type=value_error)

OK, I see where the problem comes from 🙂 As per Pydantic documentation:

For performance reasons, by default validators are not called for fields when a value is not supplied.

So your validator should look like:
class User(models.BaseUser):
    referrer_id: Optional[int] = None

    @pydantic.validator('referrer_id', always=True)
    def check_referrer(cls, v, values):
        if v is None and not values.get('is_superuser', False):
            raise ValueError('Referrer needed for standard user')

For the record, here is what was happening:

Since referer_id was not supplied in the request, the validator wasn't called.
The controller then considers the payload is valid and proceeds to create the user in database.
However, at the end of the controller, we instantiate a new User object, and this time, referer_id has a value (the default, None), so the validator is called... And raises a ValueError.
In that case, FastAPI rightly considers that this is a server error, hence the error 500.

Cheers!

Wow, duh... That was basically it (that, and the fact that I had added my validator to my custom User model but had forgotten to make my UserUpdate inherit from User when it is clearly specified in the docs...)
Thanks a million again for this very clear and educational explanation!


update maps column top of column

Completed and added resource row to the bottom of that column.

Completed and added resource row to the bottom of that column.


Make the box part of checkbox controls more visible to CSRs

Put checkbox controls, Add and Serve citizen, in a background so check boxes are more visible.

Sent back for approval on background color choices.


added css unit measurement converter

closes #312

@SHYALI Please attach screenshots or screen recording or deployed link from your branch of what you have implemented.