Request for Assistance: Removing 'vision-camera-code-scanner' and Configuring 'react-native-vision-camera'❓

Question
Hello,
I am currently working on a React Native project, and I need assistance with removing the 'vision-camera-code-scanner' package and properly configuring 'react-native-vision-camera' in my project.
What I tried
Steps Taken So Far

I have removed the 'vision-camera-code-scanner' package from my project's dependencies.

Challenges
I am encountering challenges in understanding how to configure 'react-native-vision-camera' directly. Specifically, I need guidance on:

How to configure 'react-native-vision-camera.'
Any necessary changes to my code to integrate 'react-native-vision-camera' properly.
Whether there are any additional steps or considerations for migrating away from 'vision-camera-code-scanner.'

Request for Assistance
I kindly request assistance or guidance from the community in successfully removing 'vision-camera-code-scanner' and configuring 'react-native-vision-camera' in my React Native project. Any code examples, documentation links, or step-by-step instructions would be greatly appreciated.
index.js
import 'react-native-worklets-core/src'
import 'react-native-reanimated'

import { AppRegistry } from 'react-native'
import { name as appName } from './app.json'
import App from './App/Containers/App'

AppRegistry.registerComponent(appName, () => App)

babel.config.js
const presets = ['module:metro-react-native-babel-preset']
const plugins = ['react-native-worklets-core/plugin']

presets.push(
  ['babel-preset-expo']
)
plugins.push([
  'react-native-reanimated/plugin',
  {
    globals: ['__scanCodes'],
  },
])
module.exports = {
  presets,
  plugins
}

QrCodeScannerScreen.js
import React, { useState, useEffect } from 'react'
import { View, Alert } from 'react-native'
import {
  Camera,
  useCameraDevices,
  useFrameProcessor,
} from 'react-native-vision-camera'
import {
  // useScanBarcodes,
  scanBarcodes,
  BarcodeFormat,
} from 'vision-camera-code-scanner'
import { useDispatch, useSelector } from 'react-redux'
import { runOnJS } from 'react-native-reanimated'
import { getMetaDataFromUrl, validateQrCodeUrl } from '../Utils/UrlUtils'
import I18n from '../I18n/I18n'
import DeepLinkNotificationActions from '../Redux/DeepLinkNotificationRedux'
import UserActions, { UserSelectors } from '../Redux/UserRedux'
import styles from './Styles/QrCodeScannerScreenStyle'
import DebugConfig from '../Config/DebugConfig'

/**
 * Get an array of barcodes, and check validity of the first one
 * @param {Object[]} barcodes - Array of barcodes object, result of vision-camera-code-scanner scan
 * @returns {boolean} True if the first element in array is a valid identify link
 */
function checkBarcodesValidity(barcodes) {
  if (barcodes == null || barcodes.length < 1) {
    return false
  }
  const barcode = barcodes[0]
  const url = barcode?.content?.data?.url
  try {
    return validateQrCodeUrl(url)
  } catch (error) {
    console.error(error)
    return false
  }
}

/**
  Camera scan a qr code and store his value in "barcodes" state
*/
export default function QrCodeScannerScreen(props) {
  const [hasPermission, setHasPermission] = useState(false)
  const [barcodes, setBarcodes] = useState([])
  const [isUrlAlreadyOpen, setIsUrlAlreadyOpen] = useState(false)
  const [isAlertOpen, setIsAlertOpen] = useState(false)
  const barcode = barcodes != null && barcodes.length > 0 ? barcodes[0] : null
  const dispatch = useDispatch()
  const isLoggedIn = useSelector(UserSelectors.getIsLoggedIn)

  const devices = useCameraDevices()
  const device = devices.back

  const frameProcessor = useFrameProcessor(frame => {
    'worklet'
    const detectedBarcodes = scanBarcodes(frame, [BarcodeFormat.QR_CODE], {
      checkInverted: true,
    })
    runOnJS(setBarcodes)(detectedBarcodes)
  }, [])

  if (barcodes?.length > 0) {
    console.log({ barcodes })
  }
  const isValidCode = checkBarcodesValidity(barcodes)

  useEffect(() => {
    ;(async () => {
      const status = await Camera.requestCameraPermission()
      setHasPermission(status === 'authorized')
    })()
  }, [])

  useEffect(() => {
    if (
      barcode != null &&
      barcode?.content?.data?.url != null &&
      !isUrlAlreadyOpen &&
      isValidCode
    ) {
      const url = barcode?.content?.data?.url
      if (!isLoggedIn) {
        const { username } = getMetaDataFromUrl(url)
        dispatch(UserActions.userSetCredentials(username, null))
      }
      dispatch(DeepLinkNotificationActions.deepLinkNotificationReceive(url))
      setIsUrlAlreadyOpen(true)
      props.navigation.goBack()
    }
  }, [
    barcode,
    isUrlAlreadyOpen,
    dispatch,
    isValidCode,
    props.navigation,
    isLoggedIn,
  ])

  if (!isValidCode && barcode && !isAlertOpen) {
    setIsAlertOpen(true)
    Alert.alert(
      I18n.t('alert.errorTitle'),
      I18n.t('qrCode.invalidUrl'),
      [
        {
          text: I18n.t('alert.ok'),
          onPress: () => {
            props.navigation.goBack()
          },
        },
      ],
      { cancelable: false }
    )
  }

  return (
    device != null &&
    hasPermission && (
      <View style={styles.root}>
        <Camera
          style={styles.camera}
          device={device}
          isActive={true}
          frameProcessor={frameProcessor}
          frameProcessorFps={5}>
          {/* {barcode != null && (
            <View style={styles.recognizedView}>
              {isValidCode ? (
                <Icon
                  name="md-checkmark-circle"
                  size={60}
                  color={Colors.stepCorrect}
                />
              ) : (
                <Icon
                  name="md-close-circle"
                  size={60}
                  color={Colors.stepWrong}
                />
              )}
            </View>
          )} */}
        </Camera>
      </View>
    )
  )
}

QrCodeScannerScreen.navigationOptions = () => {
  return {
    headerTitle: I18n.t('qrCode.title'),
  }
}

Something else: Cocoapods?
VisionCamera Version
3.3.1
Additional information

[ ] I am using Expo
[X] I have read the Troubleshooting Guide
[X] I agree to follow this project's Code of Conduct
[X] I searched for similar questions in the issues page as well as in the discussions page and found none.

I tried to personally address the issue by migrating to the latest version of the plugin, and here's the code I got:
import React, { useState, useEffect } from 'react';
import { View, Alert } from 'react-native';
import { Camera, useCodeScanner } from 'react-native-vision-camera';
import { useDispatch, useSelector } from 'react-redux';
import { getMetaDataFromUrl, validateQrCodeUrl } from '../Utils/UrlUtils';
import I18n from '../I18n/I18n';
import DeepLinkNotificationActions from '../Redux/DeepLinkNotificationRedux';
import UserActions, { UserSelectors } from '../Redux/UserRedux';
import styles from './Styles/QrCodeScannerScreenStyle';

export default function QrCodeScannerScreen(props) {
  const [hasPermission, setHasPermission] = useState(false);
  const [barcodes, setBarcodes] = useState([]);
  const [isUrlAlreadyOpen, setIsUrlAlreadyOpen] = useState(false);
  const [isAlertOpen, setIsAlertOpen] = useState(false);
  const barcode = barcodes && barcodes.length > 0 ? barcodes[0] : null;
  const dispatch = useDispatch();
  const isLoggedIn = useSelector(UserSelectors.getIsLoggedIn);

  const codeScanner = useCodeScanner({
    codeTypes: ['qr', 'ean-13'],
    onCodeScanned: (codes) => {
      console.log(`Scanned ${codes.length} codes!`);
      setBarcodes(codes);
    }
  });

  useEffect(() => {
    (async () => {
      const status = await Camera.requestCameraPermission();
      console.log(`Camera permission status ${status}`);
      setHasPermission(status === 'authorized');
    })();
  }, []);

  useEffect(() => {
    if (barcode && barcode?.content?.data?.url && !isUrlAlreadyOpen && validateQrCodeUrl(barcode?.content?.data?.url)) {
      const url = barcode?.content?.data?.url;
      if (!isLoggedIn) {
        const { username } = getMetaDataFromUrl(url);
        dispatch(UserActions.userSetCredentials(username, null));
      }
      dispatch(DeepLinkNotificationActions.deepLinkNotificationReceive(url));
      setIsUrlAlreadyOpen(true);
      props.navigation.goBack();
    }
  }, [barcode, isUrlAlreadyOpen, dispatch, props.navigation, isLoggedIn]);

  if (barcode && !validateQrCodeUrl(barcode?.content?.data?.url) && !isAlertOpen) {
    setIsAlertOpen(true);
    Alert.alert(
      I18n.t('alert.errorTitle'),
      I18n.t('qrCode.invalidUrl'),
      [
        {
          text: I18n.t('alert.ok'),
          onPress: () => {
            props.navigation.goBack();
          },
        },
      ],
      { cancelable: false }
    );
  }

  console.log(`codeScanner ${codeScanner.codeTypes}`);

 // Render the camera view
  return  (
  codeScanner != null
  && hasPermission &&
  <Camera style={styles.camera} isActive={true} codeScanner={codeScanner} />
  )
  // return (
  //   hasPermission && (
  //     <View style={styles.root}>
  //       <Camera
  //         style={styles.camera}
  //         isActive={true}
  //         codeScanner={codeScanner}
  //       />
  //     </View>
  //   )
  // )
}

QrCodeScannerScreen.navigationOptions = () => {
  return {
    headerTitle: I18n.t('qrCode.title'),
  };
};

However, the camera doesn't activate. I just get a blank page! Where am I going wrong?

From the logs:
LOG  codeScanner qr,ean-13
LOG  Camera permission status granted

There don't appear to be any evident errors. Can anyone provide some insights?

vision-camera-code-scanner does not support react-native-vision-camera v3.
react-native-vision-camera does have a built in QR scanner, see the code scanning guide. Note that currently there are large performance issues with this on Android.

Thanks @Skizu for your help. I followed the guide but the result is a blank screen so I am doing something wrongly

Hi @mrousavy ,
I'm not a React/JS developer, but I've been trying to update the dependency to get React Native Vision Camera to work on iOS 17 with Xcode 15, based on the code provided here: https://github.com/mrousavy/react-native-vision-camera/issues/1954#issuecomment-1753198632.
However, I'm facing difficulties as the camera doesn't seem to activate. I'm wondering if there might be something I'm missing or doing incorrectly in the code or configuration.
If anyone has experience with this specific issue or any insights into what could be causing the camera not to activate on iOS 17 with Xcode 15, I would greatly appreciate your help and guidance.
Thank you in advance!

Thanks @Skizu for your help. I followed the guide but the result is a blank screen so I am doing something wrongly

The code sample was too long so I didn't really read that but camera view usually requires a height attribute passed to its styles to work properly. You can just set height to 100% for testing purpose.
Also note that camera device selection works different from v2 to v3 so you might need to accommodate with that.

exactly what @zzz08900 said ☝ 😄


hv.save saving PNGs with the Bokeh backend is not threadsafe

If you run this, you'll see [0-19].png be spit out into your cwd. When you open them up, you will notice that the title of the plot & the color of the image are replicated across multiple files. The intended result is that every plot is different between files.
import holoviews as hv
import concurrent.futures
import numpy as np

hv.extension('bokeh')

def save_im(value):
    im = np.full((512, 512), value)

    im_hv = (
        hv.Image(im, bounds=(0, 0, im.shape[1], im.shape[0]))
        .redim.range(z=(0, 20))
        .options(title_format=f'{value}', colorbar=True, aspect='equal')
    )

    hv.save(im_hv, f'{value}.png')

with concurrent.futures.ProcessPoolExecutor(max_workers=10) as executor:
    futures = [executor.submit(save_im, value) for value in range(0, 20)]

@jbednar

Don't think there's anything that we can do about this in HoloViews. Would have to be reraised in bokeh, but even then I'm not sure there's much they can do about this.

Yeah, this is a bokeh thing. @bryevdv had this to say about it in the pyviz gitter channel:

At a minimum you would almost certainly need to explicitly create and pass a dedicated webdriver per thread
It's possible the the webdriver control state could be made to use thread local storage: https://github.com/bokeh/bokeh/blob/master/bokeh/io/webdriver.py#L97 in which case things could (probably) "just work" without explicit management
If someone wants to make a PR it should go against the landing-2.0 branch
I would consider this a feature, though, since the alternative, explicitly managing webdrivers, is already a thing that can be done


subprocess fix for Windows

added support for cflags for passing e.g. c++ standard to all add_files
Solves #2 and #3

Hi Emanuele, thanks for the contribution. I'm away from home for a few days, but will test and merge this when I'm back.
Thanks,
Ben

Hi Emanuele, I have been through a quick test of this PR today and have a couple of comments. The example project fail to build now as they do not include the new cflags and compiler options in their configuration file. However adding these options as empty string (cflags = "") does not fix the issue and the code currently does not pick that up as a valid value. Setting the new options to whitespace (cflags = " ") does fix this but I think it's untidy.
I would prefer if default options were set for these new flags. I think this should be simple enough to incoporate in 'helper_funcs.py' by modifying the generate_default_config function to specify defaults, probably just gcc for the compiler. Off the top of my head the cflags option may actually need some additional thought. Perhaps set the default to a single whitespace character and then modify the new check in do_start_build_stuff in build_commands.py to check for a string containing only whitespace?
Could you try and incorporate these changes and test them in your environment and then push a new commit to this PR? If you are short on time I might be able to make some updates myself but it would be better for you to be maing sure the new options are still working as you want them.
Cheers,
Ben

I will look into that, also adding the "compiler" flag that is necessary for specifying clang for csim command.
-E
Inviato da smartphone Samsung Galaxy.
-------- Messaggio originale --------Da: Ben Marshall<EMAIL_ADDRESS>Data: 12/09/18  16:45  (GMT+01:00) A: benjmarshall/hlsclt<EMAIL_ADDRESS>Cc: Emanuele Ruffaldi<EMAIL_ADDRESS>Author<EMAIL_ADDRESS>Oggetto: Re: [benjmarshall/hlsclt] subprocess fix for Windows (#4)
Hi Emanuele, I have been through a quick test of this PR today and have a couple of comments. The example project fail to build now as they do not include the new cflags and compiler options in their configuration file. However adding these options as empty string (cflags = "") does not fix the issue and the code currently does not pick that up as a valid value. Setting the new options to whitespace (cflags = " ") does fix this but I think it's untidy.
I would prefer if default options were set for these new flags. I think this should be simple enough to incoporate in 'helper_funcs.py' by modifying the generate_default_config function to specify defaults, probably just gcc for the compiler. Off the top of my head the cflags option may actually need some additional thought. Perhaps set the default to a single whitespace character and then modify the new check in do_start_build_stuff in build_commands.py to check for a string containing only whitespace?
Could you try and incorporate these changes and test them in your environment and then push a new commit to this PR? If you are short on time I might be able to make some updates myself but it would be better for you to be maing sure the new options are still working as you want them.
Cheers,
Ben
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.
{"api_version":"1.0","publisher":{"api_key":"05dde50f1d1a384dd78767c55493e4bb","name":"GitHub"},"entity":{"external_key":"github/benjmarshall/hlsclt","title":"benjmarshall/hlsclt","subtitle":"GitHub repository","main_image_url":"https://assets-cdn.github.com/images/email/message_cards/header.png","avatar_image_url":"https://assets-cdn.github.com/images/email/message_cards/avatar.png","action":{"name":"Open in GitHub","url":"https://github.com/benjmarshall/hlsclt"}},"updates":{"snippets":[{"icon":"PERSON","message":"@benjmarshall in #4: Hi Emanuele, I have been through a quick test of this PR today and have a couple of comments. The example project fail to build now as they do not include the new cflags and compiler options in their configuration file. However adding these options as empty string (cflags = "") does not fix the issue and the code currently does not pick that up as a valid value. Setting the new options to whitespace (cflags = " ") does fix this but I think it's untidy.\r\n\r\nI would prefer if default options were set for these new flags. I think this should be simple enough to incoporate in 'helper_funcs.py' by modifying the generate_default_config function to specify defaults, probably just gcc for the compiler. Off the top of my head the cflags option may actually need some additional thought. Perhaps set the default to a single whitespace character and then modify the new check in do_start_build_stuff in build_commands.py to check for a string containing only whitespace?\r\n\r\nCould you try and incorporate these changes and test them in your environment and then push a new commit to this PR? If you are short on time I might be able to make some updates myself but it would be better for you to be maing sure the new options are still working as you want them.\r\n\r\nCheers,\r\nBen"}],"action":{"name":"View Pull Request","url":"https://github.com/benjmarshall/hlsclt/pull/4#issuecomment-420675002"}}}
[
{
"@context": "http://schema.org",
"@type": "EmailMessage",
"potentialAction": {
"@type": "ViewAction",
"target": "https://github.com/benjmarshall/hlsclt/pull/4#issuecomment-420675002",
"url": "https://github.com/benjmarshall/hlsclt/pull/4#issuecomment-420675002",
"name": "View Pull Request"
},
"description": "View this Pull Request on GitHub",
"publisher": {
"@type": "Organization",
"name": "GitHub",
"url": "https://github.com"
}
},
{
"@type": "MessageCard",
"@context": "http://schema.org/extensions",
"hideOriginalBody": "false",
"originator": "AF6C5A86-E920-430C-9C59-A73278B5EFEB",
"title": "Re: [benjmarshall/hlsclt] subprocess fix for Windows (#4)",
"sections": [
{
"text": "",
"activityTitle": "Ben Marshall",
"activityImage": "https://assets-cdn.github.com/images/email/message_cards/avatar.png",
"activitySubtitle": "@benjmarshall",
"facts": [
]
}
],
"potentialAction": [
{
"name": "Add a comment",
"@type": "ActionCard",
"inputs": [
{
"isMultiLine": true,
"@type": "TextInput",
"id": "IssueComment",
"isRequired": false
}
],
"actions": [
{
"name": "Comment",
"@type": "HttpPOST",
"target": "https://api.github.com",
"body": "{\n"commandName": "IssueComment",\n"repositoryFullName": "benjmarshall/hlsclt",\n"issueId": 4,\n"IssueComment": "{{IssueComment.value}}"\n}"
}
]
},
{
"name": "Close pull request",
"@type": "HttpPOST",
"target": "https://api.github.com",
"body": "{\n"commandName": "PullRequestClose",\n"repositoryFullName": "benjmarshall/hlsclt",\n"pullRequestId": 4\n}"
},
{
"targets": [
{
"os": "default",
"uri": "https://github.com/benjmarshall/hlsclt/pull/4#issuecomment-420675002"
}
],
"@type": "OpenUri",
"name": "View on GitHub"
},
{
"name": "Unsubscribe",
"@type": "HttpPOST",
"target": "https://api.github.com",
"body": "{\n"commandName": "MuteNotification",\n"threadId": 376881651\n}"
}
],
"themeColor": "26292E"
}
]

Fixed one use of cflags not checking for presence. Now there is no need for
the whitespace workaround
The -compiler option is available since 2016.3, adding always "-compiler
gcc" can break hlsclt on previous versions
Best,
Emanuele
Il giorno mer 12 set 2018 alle ore 16:45 Ben Marshall <
<EMAIL_ADDRESS>ha scritto:

Hi Emanuele, I have been through a quick test of this PR today and have a
couple of comments. The example project fail to build now as they do not
include the new cflags and compiler options in their configuration file.
However adding these options as empty string (cflags = "") does not fix the
issue and the code currently does not pick that up as a valid value.
Setting the new options to whitespace (cflags = " ") does fix this but I
think it's untidy.
I would prefer if default options were set for these new flags. I think
this should be simple enough to incoporate in 'helper_funcs.py' by
modifying the generate_default_config function to specify defaults,
probably just gcc for the compiler. Off the top of my head the cflags
option may actually need some additional thought. Perhaps set the default
to a single whitespace character and then modify the new check in
do_start_build_stuff in build_commands.py to check for a string containing
only whitespace?
Could you try and incorporate these changes and test them in your
environment and then push a new commit to this PR? If you are short on time
I might be able to make some updates myself but it would be better for you
to be maing sure the new options are still working as you want them.
Cheers,
Ben
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/benjmarshall/hlsclt/pull/4#issuecomment-420675002,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AABHBDi-e28U1nY2p0rgf_xLuMwTYD2wks5uaR33gaJpZM4WdsHz
.

--
Emanuele Ruffaldi, Computer Engineer, Ph.D.
IEEE Senior Member
https://eruffaldi.com

Thanks Emanuele.
I'm going to merge this into develop as testing it has shown up a couple of latent bugs which I'd like to get fixed before an updated release.


Disable modification of webhook created annotations

Once created, the annotation should not be updated by external configuration updates.
annotations:
    admission.trusted.identity/inject: "true"
    admission.trusted.identity/status: injected
    admission.trusted.identity/ti-cluster-name: ti-test1
    admission.trusted.identity/ti-cluster-region: eu-de
    admission.trusted.identity/ti-images: ubuntu:18.04@sha256:250cc6f3f3ffc5cdaa9d8f4946ac79821aafb4d3afc93928f0de9336eba21aa4
    admission.trusted.identity/ti-secret-key: ti-secret-274e1101-55be-0374-ae4b-5fc47cb34368

Fixed by #16


system-test: add cosmosdb e2e test

What this PR changes/adds
Add the CosmosDB version of the end-to-end-transfer-test
Why it does that
To give an end to end coverage using cosmos db as persistence store.
Further notes

Introduce CosmosClientProvider to permit end-to-end test to provide the test connector
Remove an unnecessary transitionInitial on the CosmosTransferProcessStore.save method
Verified locally all the Cosmos*IntegrationTest as they won't be verified until this will be merged.

Linked Issue(s)
Closes: #1344
Checklist

[x] added appropriate tests?
[x] performed checkstyle check locally?
[x] added/updated copyright headers?
[x] documented public classes/methods?
[x] added/updated relevant documentation?
[x] added relevant details to the changelog? (skip with label no-changelog)
[x] formatted title correctly? (take a look at the CONTRIBUTING and styleguide for details)

Codecov Report

Merging #1346 (fd82dd2) into main (a2d169f) will increase coverage by 0.05%.
The diff coverage is 0.00%.

@@            Coverage Diff             @@
##             main    #1346      +/-   ##
==========================================
+ Coverage   67.65%   67.70%   +0.05%
==========================================
  Files         716      718       +2
  Lines       15880    15901      +21
  Branches     1041     1042       +1
==========================================
+ Hits        10743    10766      +23
+ Misses       4663     4659       -4
- Partials      474      476       +2

Impacted Files
Coverage Δ

...or/assetindex/azure/CosmosAssetIndexExtension.java
0.00% <0.00%> (ø)

.../store/CosmosContractDefinitionStoreExtension.java
0.00% <0.00%> (ø)

...store/CosmosContractNegotiationStoreExtension.java
0.00% <0.00%> (ø)

...or/azure/cosmos/CosmosClientProviderExtension.java
0.00% <0.00%> (ø)

...nnector/azure/cosmos/CosmosClientProviderImpl.java
0.00% <0.00%> (ø)

...taspaceconnector/azure/cosmos/CosmosDbApiImpl.java
0.00% <0.00%> (ø)

...re/CosmosFederatedCacheNodeDirectoryExtension.java
0.00% <0.00%> (ø)

...osmos/policy/store/CosmosPolicyStoreExtension.java
0.00% <0.00%> (ø)

...nsfer/store/cosmos/CosmosTransferProcessStore.java
0.00% <ø> (ø)

...re/cosmos/CosmosTransferProcessStoreExtension.java
0.00% <0.00%> (ø)

... and 3 more

Continue to review full report at Codecov.

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


move smi repos to another org?

We could move the SMI related repos to their own github org. I currently have github.com/service-mesh-interface and github.com/servicemeshinterface. It'd be nice to have everything in one logical place dedicated to SMI to help create a community around that. It's easier from a management perspective to keep it all in deislabs though.
Thoughts? Any other pros/cons people can think of?

The repos have been moved to their own org (https://github.com/servicemeshinterface/) due to the CNCF donation.


corrected memory allocation for samtools

as there are two chained samtools execution they exceed memory limits.

I don't fully understand the decisions here. Why hardcode threads? What if the user has specified fewer than 5?
Temporary files are written whether or not you've specified a temp file prefix. Maybe set tmpdir to something within the output directory.


v3.0 beta evaluation

Now we have the visualizer, I have two beta testers lined up.

These testers ever do anything?

We don't have a "beta" yet!
Sorry I've been not so active - other things have been occupying my time.
I haven't forgotten this...
On Thu, Apr 13, 2017 at 1:40 AM, Adam Haile<EMAIL_ADDRESS>wrote:

These testers ever do anything?
—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHub
https://github.com/ManiacalLabs/BiblioPixel/issues/132#issuecomment-293737084,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAPdslHhCSJ29rF1r_liWEMNDcSWS6teks5rvWDUgaJpZM4MWoOc
.

--
/t
https://tom.ritchford.com https://tom.ritchford.com
https://tom.swirly.com https://tom.swirly.com

Details, details...
What are your current thoughts on timeline of releasing this? We've got new AllPixels dropping in a couple weeks and I'd love to release at the same time. (Beta or otherwise... just want to finally get it out).

Well, I have to get this current JS project out within the next couple of
days, so I could get back to that last step....
On Thu, Apr 13, 2017 at 2:23 AM, Adam Haile<EMAIL_ADDRESS>wrote:

Details, details...
What are your current thoughts on timeline of releasing this? We've got
new AllPixels dropping in a couple weeks and I'd love to release at the
same time. (Beta or otherwise... just want to finally get it out).
—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHub
https://github.com/ManiacalLabs/BiblioPixel/issues/132#issuecomment-293743318,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAPdsq5I8ITjZw9MauGJPdKeioV87XR2ks5rvWsJgaJpZM4MWoOc
.

--
/t
https://tom.ritchford.com https://tom.ritchford.com
https://tom.swirly.com https://tom.swirly.com

JS project?
On Apr 13, 2017 4:08 AM, "Tom Swirly"<EMAIL_ADDRESS>wrote:

Well, I have to get this current JS project out within the next couple of
days, so I could get back to that last step....
On Thu, Apr 13, 2017 at 2:23 AM, Adam Haile<EMAIL_ADDRESS>wrote:

Details, details...
What are your current thoughts on timeline of releasing this? We've got
new AllPixels dropping in a couple weeks and I'd love to release at the
same time. (Beta or otherwise... just want to finally get it out).
—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHub
<https://github.com/ManiacalLabs/BiblioPixel/issues/132#issuecomment-
293743318>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/
AAPdsq5I8ITjZw9MauGJPdKeioV87XR2ks5rvWsJgaJpZM4MWoOc>
.

--
/t
https://tom.ritchford.com https://tom.ritchford.com
https://tom.swirly.com https://tom.swirly.com
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/ManiacalLabs/BiblioPixel/issues/132#issuecomment-293822100,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AA6a6ktekf8hd8kgsmwwLQyAgiwg-dm5ks5rvdfqgaJpZM4MWoOc
.

On Thu, Apr 13, 2017 at 1:33 PM, Adam Haile<EMAIL_ADDRESS>wrote:

JS project?
On Apr 13, 2017 4:08 AM, "Tom Swirly"<EMAIL_ADDRESS>wrote:

Well, I have to get this current JS project out within the next couple of
days, so I could get back to that last step....
On Thu, Apr 13, 2017 at 2:23 AM, Adam Haile<EMAIL_ADDRESS>wrote:

Details, details...
What are your current thoughts on timeline of releasing this? We've got
new AllPixels dropping in a couple weeks and I'd love to release at the
same time. (Beta or otherwise... just want to finally get it out).
—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHub
<https://github.com/ManiacalLabs/BiblioPixel/issues/132#issuecomment-
293743318>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/
AAPdsq5I8ITjZw9MauGJPdKeioV87XR2ks5rvWsJgaJpZM4MWoOc>
.

--
/t
https://tom.ritchford.com https://tom.ritchford.com
https://tom.swirly.com https://tom.swirly.com
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<https://github.com/ManiacalLabs/BiblioPixel/issues/132#issuecomment-
293822100>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/
AA6a6ktekf8hd8kgsmwwLQyAgiwg-dm5ks5rvdfqgaJpZM4MWoOc>

.

—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHub
https://github.com/ManiacalLabs/BiblioPixel/issues/132#issuecomment-293864699,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAPdsmwTVZrPHlUsYWdAgMvQW6XQws2Zks5rvggVgaJpZM4MWoOc
.

--
/t
https://tom.ritchford.com https://tom.ritchford.com
https://tom.swirly.com https://tom.swirly.com

Ah... ok. Could you update any of the remaining issues with current status.
Maybe I can start wrapping some of those up.  Even if beta I really want to
release this at the same time as the new AllPixel. And I want to get onto
adding back at least a super simple replacement for PixelWeb as that is
completely broken with BP3.
On Thu, Apr 13, 2017 at 7:48 AM, Tom Swirly<EMAIL_ADDRESS>wrote:

A startup that I'm mentoring is in a time-crunch and I'm doing their
charting with chart.js, a JS application written by intelligent monkeys.
On Thu, Apr 13, 2017 at 1:33 PM, Adam Haile<EMAIL_ADDRESS>wrote:

JS project?
On Apr 13, 2017 4:08 AM, "Tom Swirly"<EMAIL_ADDRESS>wrote:

Well, I have to get this current JS project out within the next couple
of
days, so I could get back to that last step....
On Thu, Apr 13, 2017 at 2:23 AM, Adam Haile<EMAIL_ADDRESS>wrote:

Details, details...
What are your current thoughts on timeline of releasing this? We've
got
new AllPixels dropping in a couple weeks and I'd love to release at
the
same time. (Beta or otherwise... just want to finally get it out).
—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHub
<https://github.com/ManiacalLabs/BiblioPixel/
issues/132#issuecomment-
293743318>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/
AAPdsq5I8ITjZw9MauGJPdKeioV87XR2ks5rvWsJgaJpZM4MWoOc>
.

--
/t
https://tom.ritchford.com https://tom.ritchford.com
https://tom.swirly.com https://tom.swirly.com
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<https://github.com/ManiacalLabs/BiblioPixel/issues/132#issuecomment-
293822100>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/
AA6a6ktekf8hd8kgsmwwLQyAgiwg-dm5ks5rvdfqgaJpZM4MWoOc>

.

—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHub
<https://github.com/ManiacalLabs/BiblioPixel/issues/132#issuecomment-
293864699>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/
AAPdsmwTVZrPHlUsYWdAgMvQW6XQws2Zks5rvggVgaJpZM4MWoOc>
.

--
/t
https://tom.ritchford.com https://tom.ritchford.com
https://tom.swirly.com https://tom.swirly.com
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/ManiacalLabs/BiblioPixel/issues/132#issuecomment-293867814,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AA6a6uJnpCdkT4v0lgwHD0Djs-dysCNBks5rvgt3gaJpZM4MWoOc
.

I'll have oodles of time on the weekend, I swear!  :-)
On Thu, Apr 13, 2017 at 2:02 PM, Adam Haile<EMAIL_ADDRESS>wrote:

Ah... ok. Could you update any of the remaining issues with current status.
Maybe I can start wrapping some of those up. Even if beta I really want to
release this at the same time as the new AllPixel. And I want to get onto
adding back at least a super simple replacement for PixelWeb as that is
completely broken with BP3.
On Thu, Apr 13, 2017 at 7:48 AM, Tom Swirly<EMAIL_ADDRESS>wrote:

A startup that I'm mentoring is in a time-crunch and I'm doing their
charting with chart.js, a JS application written by intelligent monkeys.
On Thu, Apr 13, 2017 at 1:33 PM, Adam Haile<EMAIL_ADDRESS>wrote:

JS project?
On Apr 13, 2017 4:08 AM, "Tom Swirly"<EMAIL_ADDRESS>wrote:

Well, I have to get this current JS project out within the next
couple
of
days, so I could get back to that last step....
On Thu, Apr 13, 2017 at 2:23 AM, Adam Haile <
<EMAIL_ADDRESS>wrote:

Details, details...
What are your current thoughts on timeline of releasing this? We've
got
new AllPixels dropping in a couple weeks and I'd love to release at
the
same time. (Beta or otherwise... just want to finally get it out).
—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHub
<https://github.com/ManiacalLabs/BiblioPixel/
issues/132#issuecomment-
293743318>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/
AAPdsq5I8ITjZw9MauGJPdKeioV87XR2ks5rvWsJgaJpZM4MWoOc>
.

--
/t
https://tom.ritchford.com https://tom.ritchford.com
https://tom.swirly.com https://tom.swirly.com
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<https://github.com/ManiacalLabs/BiblioPixel/
issues/132#issuecomment-
293822100>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/
AA6a6ktekf8hd8kgsmwwLQyAgiwg-dm5ks5rvdfqgaJpZM4MWoOc>

.

—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHub
<https://github.com/ManiacalLabs/BiblioPixel/issues/132#issuecomment-
293864699>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/
AAPdsmwTVZrPHlUsYWdAgMvQW6XQws2Zks5rvggVgaJpZM4MWoOc>
.

--
/t
https://tom.ritchford.com https://tom.ritchford.com
https://tom.swirly.com https://tom.swirly.com
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<https://github.com/ManiacalLabs/BiblioPixel/issues/132#issuecomment-
293867814>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/
AA6a6uJnpCdkT4v0lgwHD0Djs-dysCNBks5rvgt3gaJpZM4MWoOc>

.

—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHub
https://github.com/ManiacalLabs/BiblioPixel/issues/132#issuecomment-293872934,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAPdskaNtE8TgwvVC7S1RqEYMX5At7PAks5rvg68gaJpZM4MWoOc
.

--
/t
https://tom.ritchford.com https://tom.ritchford.com
https://tom.swirly.com https://tom.swirly.com

I'm closing this;  I feel we do not have enough manpower to cover this!  We can pursue this informally after the release.


dev_postgres: Add API endpoint called boathouses that returns all boathouse metadata.

[Perform this work in dev_postgres]
Just select * from boathouses order by reach, name and return that as array of dicts. I think you want to do something like:
return {'boathouses': df.to_dict(orient='records')}
Right now the API stuff is in dev2 but the OpenAPI schema is in dev2. So we also need someone to work on #47. Any takers?

I'll take a look at this one

Per discussion .... all boathouse information shown on the homepage is currently hardcoded .... Change the program to use boathouse data in the database


VS Code does not honor pylint pyproject.toml file under default settings

Environment data

VS Code version: 1.47.3
Extension version (available under the Extensions sidebar): 2020.7.96456
OS and version: Ubuntu 18.04
Python version (& distribution if applicable, e.g. Anaconda): 3.8.2
Type of virtual environment used (N/A | venv | virtualenv | conda | ...): venv
Relevant/affected Python packages and their versions: pylint 2.5.3
Value of the python.languageServer setting: default / Jedi

Expected behaviour
Under the default settings pyproject.toml, setup.cfg, or .pylintrc file configs would be applied
Actual behaviour
These settings not applied unless Pylint Use Minimal Checkers is unchecked or explicitly set to false
Steps to reproduce:
pyproject.toml
[tool.pylint.messages_control]
disable = "undefined-variable"

And then save a python variable with an undefined variable and you will see the lint error despite the message being disabled in the pyproject.toml file

We do detect .pylintrc and pickup the settings from it. But we don't detect pyproject.toml and setup.cfg. Can you try .pylintrc, if that is not working can you share your project layout.

I can confirm that .pylintrc does in fact work as expected.  It is only pyproject.toml and setup.cfg that don't work unless "use minimal checkers" is set to false.

We added code to detect .pylintrc, but not pyproject.toml or setup.cfg. This require loading the file and paring it to see if there are any pylint settings.

The plan is to remove pylint minimal checkers when we have this #11995

Any news on this?
Still trouble using flake8 config from pyproject.toml
I see this MR https://github.com/microsoft/vscode-python/issues/13321 but looks related to pylinkt and not flake8


shelve - associate work items from commit message

It would be handy if shelve also respected the git-tfs-work-item: in the commit message as currently I have to add -w= as well.
This is for a code-review workflow where a shelve is required before checkin and reviewed using ye-olde tfs interface.
Thanks again for a fab tool that saves my sanity every time.

Yeah, that'd be nice. If you have a chance, would you mind starting a pull request for this?

Can't promise, bit short on time at the moment. I'd like to if I can though.

This would be handy. Hopefully I'll have a PR soon enough. If I don't end up making it that far my partial progress might still be useful to someone: https://github.com/NathanLBCooper/git-tfs

tested current master, works great, thanks @NathanLBCooper


[e2e]: container schedule main continue-on-error slsa3

Repo: https://github.com/slsa-framework/example-package/tree/main
Run: https://github.com/slsa-framework/example-package/actions/runs/4350301134
Workflow file: https://github.com/slsa-framework/example-package/tree/main/.github/workflows/e2e.container.schedule.main.continue-on-error.slsa3.yml
Workflow runs: https://github.com/slsa-framework/example-package/actions/workflows/e2e.container.schedule.main.continue-on-error.slsa3.yml
Trigger: schedule
Branch: main
Date: Tue Mar  7 03:23:47 UTC 2023

Fixed by #1762


Model reasoning

Can inference scripts be shared, and weights that can be deduced directly

I am uncertain about the exact meaning of “inference scripts.” However, the test function that evaluates the model on the test data for metrics such as WSI-level AUC is accessible in train.py (https://github.com/jafarinia/snuffy/blob/4b5b9187f8e4eb46cf7f36752759e11edbbba011/train.py#L453C5-L453C13).
Additionally, if you desire regions of interest, you can utilize roi.py.
Furthermore, the weights are located under “Training the Embedder” README.

Since there are no further comments, I believe the issue has been resolved. Therefore, I am closing the issue. Please do not hesitate to ask any additional questions if you have any.


Create working example of getting secret info out of GItHub secrets

Get a token, for example, from Github Secrets, for the purposes of testing/proving authentication.

Created a working example as follows.

Created an EC2 instance.
Deployed a secured Java micro-service on the EC2 instance (this Java micro service is implemented to authenticate requests using an Amazon Cognito).
Generated a token.
Saved the token as a GitHub Encrypted secret.
Created a GitHub actions workflow.
Inside the  GitHub actions, passed the token as follows.

- shell: bash
        env:
          TEST_TOKEN: ${{ secrets.TEST_SECRET }}
        run: |
          curl -v -H "Authorization: Bearer $TEST_TOKEN" -s -N http://hostname:8081/api/hello

Executed the GitHub actions and observed the logs in Java micro-service.

The above test was successful and the micro-service was able to successfully authenticate the request that was made with the encrypted secret token .


Feature: allow field elements to have a count attribute

Adding a count to an xml field element would introduce the field X times in the struct.
This would allow for the efficient creation of larger arrays without repeating field tags and cluttering the file.
Parsing would only need to handle the additional naming of the singular fields (numbering?)

solved by introducing the arrayfield


Question on vmware-connector: Import of VMs

what is the basic functionality of this feature?
Can VMs be imported as subscriptions?
Are the VMs mapped to existing Marketable Service types?
Can imported VMs be changed once provided as a subscription (e.g. with new parameters)?

Hi @uhu133
The VMWare connector provides for importing VCenter configurations with network, loadbalancer, storage etc. via CSV. Importing of VMs is not in the scope. Where did you pick up this?
Never heard of such but clearly it's possible. Basically, I could think of a script based solution to back import VMs as subscription. This could be implemented on base of OSCM WS API and VSphere SDK.
Let me know if such is in your mind.

This is handled in https://github.com/servicecatalog/oscm/issues/148


chore: bump Got version because of security issue

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

What is the current behavior? (You can also link to an open issue here)
The package "Got" allows for a redirect to a UNIX socket. This has been patched in version 11.8.5.
It makes the command "yarn run validate:dependencies" fail both in this repo but also the TSR repo.

What is the new behavior (if this is a feature change)?
Update "Got" package to version 11.8.5

Other information:
A new release of this repo to be used in the TSR repo after this change would be much appreciated :)

Seems like I'm not allowed to merge this PR.
So feel free to merge it, whoever has the accessrights.


Introduce result type abstraction

This PR addresses Issue #13.

Hey @Geek-1001, this is my initial PR to introduce the Result return type.
I've already used Result to refactor DataWriter and JSONWriter.  This, though, generates a few compiler errors because Result can't be used with Objective C code.  In particular, this applies to the following classes:

CLUObserveModule
CLUDeviceInfoModule
CLUExceptionInfoModule

where the appendWithJson method from JSONWriter needs to be called. As this method is now returning a Result<Int, DataWriterError> type, it is not visible/available anymore from Objective C. If that works for you, I could go ahead an migrate the above three classes to Swift so we can fully take advantage of the Result return type for writing JSON. What do you think about that?

Hello @andrea-prearo
Sure, that's works for me.
First, I thought about some layers (methods) separation, in order to make something temporary for objective-c but in this case, this will be an unnecessary extra work, so let's do a migration of those classes you've mentioned right away.
I'm merging this PR.

Thanks @Geek-1001!
I'll start working on Issue #18 over the weekend.


Constraining the acceleration in a second order system

When defining a second order system in the CT, where I compute the acceleration based on position and velocity, I define position and velocity as states. When solving an optimal control problem for such a system, the states can be easily constrained and also retrieved for plotting. I was wondering if the same goes for the acceleration.
I know I could get the acceleration with the resulting trajectories for position and velocity after the optimization is finished, but I would like to know if I am able to also constrain the acceleration while finding the solution. Do I have to define the acceleration as a state as well? And if so, how exactly am I supposed to do so?

I am still curious if there is a way to achieve this. I have implemented the system as follows:
    derivative(0) = state(7);
    derivative(1) = state(8);
    derivative(2) = state(9);
    derivative(3) = state(10);
    derivative(4) = state(11);
    derivative(5) = state(12);
    derivative(6) = state(13);
    derivative(7) = ddq(0);
    derivative(8) = ddq(1);
    derivative(9) = ddq(2);
    derivative(10) = ddq(3);
    derivative(11) = ddq(4);
    derivative(12) = ddq(5);
    derivative(13) = ddq(6);

where ddq are my joint accelerations that get computed with forward dynamics and then being integrated twice by the methods provided with the control toolbox. Setting upper and lower bounds for the states 0-13 in the statevector is easily achieved following the example:
https://ethz-adrl.github.io/ct/ct_doc/doc/html/optcon_tut_nloc_box_constrained.html
But what about ddq? Is there a way to specify upper and lower bounds for ddq using the control toolbox? I was thinking about defining ddq as new states using finite differences, by just saving the old value when the computeControlledDynamics method of my system class gets called. But this does not work, as I don't know how often the mehtod gets called, as this depends on different factors as the integration method that is used and probably other things as well.
@markusgft I am just curious if this is generally possible using the control toolbox and also if there is an easy way to achieve this, that I might missed.

I am still curious if there is a way to achieve this. I have implemented the system as follows:
    derivative(0) = state(7);
    derivative(1) = state(8);
    derivative(2) = state(9);
    derivative(3) = state(10);
    derivative(4) = state(11);
    derivative(5) = state(12);
    derivative(6) = state(13);
    derivative(7) = ddq(0);
    derivative(8) = ddq(1);
    derivative(9) = ddq(2);
    derivative(10) = ddq(3);
    derivative(11) = ddq(4);
    derivative(12) = ddq(5);
    derivative(13) = ddq(6);

where ddq are my joint accelerations that get computed with forward dynamics and then being integrated twice by the methods provided with the control toolbox. Setting upper and lower bounds for the states 0-13 in the statevector is easily achieved following the example:
https://ethz-adrl.github.io/ct/ct_doc/doc/html/optcon_tut_nloc_box_constrained.html
But what about ddq? Is there a way to specify upper and lower bounds for ddq using the control toolbox? I was thinking about defining ddq as new states using finite differences, by just saving the old value when the computeControlledDynamics method of my system class gets called. But this does not work, as I don't know how often the mehtod gets called, as this depends on different factors as the integration method that is used and probably other things as well.
@markusgft I am just curious if this is generally possible using the control toolbox and also if there is an easy way to achieve this, that I might missed.

Hi @awa152,
constrainting the acceleration is very straightforward if you define your system as a simple double-integrator, as you do in your above code example. Using the constrained LQ-solver HPIPM, you can define a box-constraint for the control input. Since the control input is the acceleration, you can box-constrain acceleration.
You should be able to directly derive that from https://ethz-adrl.github.io/ct/ct_doc/doc/html/optcon_tut_nloc_box_constrained.html
If your control input is a robot joint torque, things are more difficult - you would have to introduce a general nonlinear inequality constraint which includes the system forward dynamics. If you are interested in a simple solution, I would not recommend that for now -- instead, I would recommend to use joint acceleration as inputs, and then reconstruct the robot joint torque via inverse dynamics.
Best!
Markus

Hi @awa152,
constrainting the acceleration is very straightforward if you define your system as a simple double-integrator, as you do in your above code example. Using the constrained LQ-solver HPIPM, you can define a box-constraint for the control input. Since the control input is the acceleration, you can box-constrain acceleration.
You should be able to directly derive that from https://ethz-adrl.github.io/ct/ct_doc/doc/html/optcon_tut_nloc_box_constrained.html
If your control input is a robot joint torque, things are more difficult - you would have to introduce a general nonlinear inequality constraint which includes the system forward dynamics. If you are interested in a simple solution, I would not recommend that for now -- instead, I would recommend to use joint acceleration as inputs, and then reconstruct the robot joint torque via inverse dynamics.
Best!
Markus

Thank you for your answer @markusgft,
unfortunately my control input isn't ddq, but a six dimensional force vector. The simplified forward dynamics I am using for my system to compute ddq is: ddq = M⁻1 * J^T * control. I would like to keep the force vector as input, so I am probably bound to use a general nonlinear inequality constraint. Is there an example file where such a constraint is implemented, that I could look into?
Kind regards!

Thank you for your answer @markusgft,
unfortunately my control input isn't ddq, but a six dimensional force vector. The simplified forward dynamics I am using for my system to compute ddq is: ddq = M⁻1 * J^T * control. I would like to keep the force vector as input, so I am probably bound to use a general nonlinear inequality constraint. Is there an example file where such a constraint is implemented, that I could look into?
Kind regards!

Yes, there are corresponding examples in ct/optcon, ex_NLOC_general_constrained.cpp
But please be aware that this is a disadvantageous formulation what you are aiming for, since all your system nonlinearity will be reflected in the general constraint.
If you are interested in making your solution straight-forward and more robust, I would recommend to opt for acceleration as control input, use the box constraint for bounding acceleration, and then employ inverse dynamics to compute the resulting joint torque. If you use a quadratic cost function in this scenario, you will end up with a classical box-constrained LQ optimal control problem, which the CT-solvers are guaranteed to solve. If you go down the complex route, you get a general nonlinear, nonlinearly constrained optimal control problem, which may not be solvable at all using iterative optimal control.

Yes, there are corresponding examples in ct/optcon, ex_NLOC_general_constrained.cpp
But please be aware that this is a disadvantageous formulation what you are aiming for, since all your system nonlinearity will be reflected in the general constraint.
If you are interested in making your solution straight-forward and more robust, I would recommend to opt for acceleration as control input, use the box constraint for bounding acceleration, and then employ inverse dynamics to compute the resulting joint torque. If you use a quadratic cost function in this scenario, you will end up with a classical box-constrained LQ optimal control problem, which the CT-solvers are guaranteed to solve. If you go down the complex route, you get a general nonlinear, nonlinearly constrained optimal control problem, which may not be solvable at all using iterative optimal control.

Thank you very much for your answer @markusgft,
I tried using the acceleration as input and it works just fine! You were right, going down the complex route and using general nonlinear constraints is probably not the smartest idea if there is an easier solution to this.
I think I can close the issue now. Thanks for helping!

Thank you very much for your answer @markusgft,
I tried using the acceleration as input and it works just fine! You were right, going down the complex route and using general nonlinear constraints is probably not the smartest idea if there is an easier solution to this.
I think I can close the issue now. Thanks for helping!


RestrictiveQueryChecker (filter, sort, etc)

Hey again,
Just trying to figure out where to pass the rules for the RestrictiveQueryChecker in the underlying neomerx package?
I'm getting an error on ->checkFiltering etc, but I don't know where in the controller to allow filtering params?
Would be a good update to the docs if it's an easy answer :) :+1:

Override the properties on the controller, e.g.
protected $allowedFilteringParameters = ['foo', 'bar'];

Good point, this needs to be clearer in the docs. I'll leave this issue open so that I remember to do that.

Also om this topic, I can now see
$sort = $this->getParameters()->getSortParameters()
but when I try to access them like $sort[0]->sortField it throws an error of
Cannot access private property Neomerx\JsonApi\Parameters\SortParameter::$sortField.
Is there a different way we're supposed to access the sort parameters?

https://github.com/neomerx/json-api/blob/master/src/Contracts/Encoder/Parameters/SortParameterInterface.php


feature: Gradient for gauge

Is there currently a way to use a gradient (blue to red) for the (linear) gauges?

check out the documentation
https://canvas-gauges.com/documentation/user-guide/configuration
Color Options
..
Each color configuration is usually a string value representing the color in one of HEX (#000000-#FFFFFF), RGB (rgb(0, 0, 0)-rgb(255,255,255)) or RGBA (rgba(0,0,0,0)-rgba(255,255,255,1)) formats. Some elements supports gradients. In this case the color of an element could be configured as color start and color end parts.
...
ok ?


[v10] Pin mypy version in setup.py

This is a cherry-pick of 5e7bfd8f3 (#6710).
Fixes pretest failure found in #6709.

/test mini

Please ignore cuda102 errors which will be fixed in https://github.com/cupy/cupy/pull/6709.


Basic Outline

Use https://github.com/azolotko/sbt-idea-example-scala3
Which uses https://github.com/JetBrains/sbt-idea-plugin
Include github workflow file for pipieline

See https://github.com/JetBrains/sbt-idea-plugin/issues/125 for import issue description


@javascript tag fails if DatabaseCleaner is not installed

Summary
Basically the issue here is that if you don't have DatabaseCleaner installed, cucumber-rails would fail with
uninitialized constant Cucumber::Rails::Database::Strategy::DatabaseCleaner (NameError)

Expected Behavior
I'd expect cucumber rails just ignore that DatabaseCleaner is not installed and execute test cases, since in the README of the project it says that DatabaseCleaner is not required for cucumber-rails to run
Current Behavior
As of now I see this error
uninitialized constant Cucumber::Rails::Database::Strategy::DatabaseCleaner (NameError)

I tried to have a look into error stacktrace with -b flag, and got
/username/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/bundler/gems/cucumber-rails-6a8bc4b8d536/lib/cucumber/rails/database.rb:84:in `before_js'
/username/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/bundler/gems/cucumber-rails-6a8bc4b8d536/lib/cucumber/rails/database.rb:103:in `before_js'
/username/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/bundler/gems/cucumber-rails-6a8bc4b8d536/lib/cucumber/rails/database.rb:29:in `before_js'
/username/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/bundler/gems/cucumber-rails-6a8bc4b8d536/lib/cucumber/rails/hooks/active_record.rb:15:in `block in <top (required)>'
/username/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/cucumber-4.1.0/lib/cucumber/glue/invoke_in_world.rb:36:in `instance_exec'
/username/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/cucumber-4.1.0/lib/cucumber/glue/invoke_in_world.rb:36:in `block in cucumber_instance_exec_in'
/username/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/cucumber-4.1.0/lib/cucumber/glue/invoke_in_world.rb:50:in `cucumber_run_with_backtrace_filtering'
/username/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/cucumber-4.1.0/lib/cucumber/glue/invoke_in_world.rb:26:in `cucumber_instance_exec_in'
/username/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/cucumber-4.1.0/lib/cucumber/glue/hook.rb:22:in `invoke'
/username/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/cucumber-4.1.0/lib/cucumber/runtime/before_hooks.rb:25:in `block (2 levels) in before_hooks'
/username/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/cucumber-core-7.1.0/lib/cucumber/core/test/action.rb:24:in `execute'
/username/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/cucumber-core-7.1.0/lib/cucumber/core/test/step.rb:35:in `execute'
/username/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/cucumber-core-7.1.0/lib/cucumber/core/test/runner.rb:106:in `execute'
/username/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/cucumber-core-7.1.0/lib/cucumber/core/test/runner.rb:53:in `execute'
/username/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/cucumber-core-7.1.0/lib/cucumber/core/test/runner.rb:29:in `test_step'
/username/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/cucumber-core-7.1.0/lib/cucumber/core/test/step.rb:23:in `describe_to'
/username/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/cucumber-core-7.1.0/lib/cucumber/core/test/case.rb:31:in `block (3 levels) in describe_to'
/username/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/cucumber-core-7.1.0/lib/cucumber/core/test/case.rb:30:in `each'
/username/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/cucumber-core-7.1.0/lib/cucumber/core/test/case.rb:30:in `block (2 levels) in describe_to'
/username/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/cucumber-4.1.0/lib/cucumber/filters/prepare_world.rb:23:in `block in test_case'
/username/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/cucumber-core-7.1.0/lib/cucumber/core/test/around_hook.rb:21:in `execute'
/username/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/cucumber-core-7.1.0/lib/cucumber/core/test/runner.rb:106:in `execute'
/username/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/cucumber-core-7.1.0/lib/cucumber/core/test/runner.rb:53:in `execute'
/username/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/cucumber-core-7.1.0/lib/cucumber/core/test/runner.rb:36:in `around_hook'
/username/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/cucumber-core-7.1.0/lib/cucumber/core/test/around_hook.rb:12:in `describe_to'
/username/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/cucumber-core-7.1.0/lib/cucumber/core/test/case.rb:80:in `block (2 levels) in compose_around_hooks'
/username/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/cucumber-core-7.1.0/lib/cucumber/core/test/case.rb:81:in `compose_around_hooks'
/username/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/cucumber-core-7.1.0/lib/cucumber/core/test/case.rb:29:in `block in describe_to'
/username/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/cucumber-core-7.1.0/lib/cucumber/core/test/runner.rb:19:in `test_case'
/username/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/cucumber-core-7.1.0/lib/cucumber/core/test/case.rb:28:in `describe_to'
/username/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/cucumber-4.1.0/lib/cucumber/filters/prepare_world.rb:11:in `test_case'
/username/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/cucumber-core-7.1.0/lib/cucumber/core/test/case.rb:28:in `describe_to'
/username/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/cucumber-core-7.1.0/lib/cucumber/core/filter.rb:57:in `test_case'
/username/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/cucumber-4.1.0/lib/cucumber/filters/retry.rb:18:in `test_case'
/username/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/cucumber-core-7.1.0/lib/cucumber/core/test/case.rb:28:in `describe_to'
/username/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/cucumber-4.1.0/lib/cucumber/filters/quit.rb:11:in `test_case'
/username/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/cucumber-core-7.1.0/lib/cucumber/core/test/case.rb:28:in `describe_to'
/username/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/cucumber-4.1.0/lib/cucumber/filters/broadcast_test_run_started_event.rb:21:in `block in done'
/username/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/cucumber-4.1.0/lib/cucumber/filters/broadcast_test_run_started_event.rb:20:in `map'
/username/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/cucumber-4.1.0/lib/cucumber/filters/broadcast_test_run_started_event.rb:20:in `done'
/username/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/cucumber-core-7.1.0/lib/cucumber/core/filter.rb:62:in `done'
/username/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/cucumber-core-7.1.0/lib/cucumber/core/filter.rb:62:in `done'
/username/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/cucumber-core-7.1.0/lib/cucumber/core/filter.rb:62:in `done'
/username/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/cucumber-core-7.1.0/lib/cucumber/core/filter.rb:62:in `done'
/username/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/cucumber-core-7.1.0/lib/cucumber/core/filter.rb:62:in `done'
/username/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/cucumber-core-7.1.0/lib/cucumber/core/filter.rb:62:in `done'
/username/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/cucumber-core-7.1.0/lib/cucumber/core/test/filters/locations_filter.rb:20:in `done'
/username/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/cucumber-core-7.1.0/lib/cucumber/core/filter.rb:62:in `done'
/username/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/cucumber-core-7.1.0/lib/cucumber/core/test/filters/tag_filter.rb:18:in `done'
/username/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/cucumber-core-7.1.0/lib/cucumber/core/compiler.rb:31:in `done'
/username/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/cucumber-core-7.1.0/lib/cucumber/core/gherkin/parser.rb:46:in `done'
/username/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/cucumber-core-7.1.0/lib/cucumber/core.rb:35:in `parse'
/username/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/cucumber-core-7.1.0/lib/cucumber/core.rb:24:in `compile'
/username/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/cucumber-4.1.0/lib/cucumber/runtime.rb:79:in `run!'
/username/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/cucumber-4.1.0/lib/cucumber/cli/main.rb:29:in `execute!'
/username/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/cucumber-4.1.0/bin/cucumber:9:in `<top (required)>'
/username/.rbenv/versions/2.5.1/bin/cucumber:23:in `load'
/username/.rbenv/versions/2.5.1/bin/cucumber:23:in `<top (required)>'
/username/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/bundler-2.1.4/lib/bundler/cli/exec.rb:63:in `load'
/username/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/bundler-2.1.4/lib/bundler/cli/exec.rb:63:in `kernel_load'
/username/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/bundler-2.1.4/lib/bundler/cli/exec.rb:28:in `run'
/username/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/bundler-2.1.4/lib/bundler/cli.rb:476:in `exec'
/username/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/bundler-2.1.4/lib/bundler/vendor/thor/lib/thor/command.rb:27:in `run'
/username/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/bundler-2.1.4/lib/bundler/vendor/thor/lib/thor/invocation.rb:127:in `invoke_command'
/username/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/bundler-2.1.4/lib/bundler/vendor/thor/lib/thor.rb:399:in `dispatch'
/username/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/bundler-2.1.4/lib/bundler/cli.rb:30:in `dispatch'
/username/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/bundler-2.1.4/lib/bundler/vendor/thor/lib/thor/base.rb:476:in `start'
/username/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/bundler-2.1.4/lib/bundler/cli.rb:24:in `start'
/username/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/bundler-2.1.4/exe/bundle:46:in `block in <top (required)>'
/username/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/bundler-2.1.4/lib/bundler/friendly_errors.rb:123:in `with_friendly_errors'
/username/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/bundler-2.1.4/exe/bundle:34:in `<top (required)>'
/username/.rbenv/versions/2.5.1/bin/bundle:23:in `load'
/username/.rbenv/versions/2.5.1/bin/bundle:23:in `<main>'

Possible Solution
Seems like the problem is in lib/cucumber/rails/database.rb:84:in `before_js', where you sort of check if DatabaseCleaner is available, but still use it in else clause
The hack I put in place rn is
def before_js(strategy)
  **return unless defined?(DatabaseCleaner::VERSION)**

  @original_strategy = if defined?(DatabaseCleaner::VERSION) && Gem::Version.new(DatabaseCleaner::VERSION) >= Gem::Version.new('1.8.0.beta')
                        DatabaseCleaner.cleaners.values.first.strategy # that feels like a nasty hack
                      else
                        DatabaseCleaner.connections.first.strategy # that feels like a nasty hack
                      end
  DatabaseCleaner.strategy = strategy, @options
end

I'm not ruby/rails dev, so there should be a nice solution to it :)
Steps to Reproduce (for bugs)
Not 100% sure, but I believe:

Write any simple cucumber feature with @javascript
Ensure you don't have DatabaseCleaner gem installed
You should get this bug

Context & Motivation
Your Environment
macOS 10.13.6
ruby 2.5.1p57 (2018-03-29 revision 63029) [x86_64-darwin17]
cucumber-rails 2.1.0 & build directly from master branch
Rails <IP_ADDRESS>

I can see the issue here and I'll have a look into this, although We've done some tweaks recently, so what I'll probably do is write an extra test, as I can see whilst we've made some changes in this area, we don't have a direct feature that "just" uses the option you probably want :no_database_cleaner

@MikhailMS can you copy your env.rb file here (Minus all the comments).

@luke-hill
Is it the one from features/support ? If so, it looks like this
#!!env.rb

require "simplecov"
require "simplecov-console"

SimpleCov.start "rails" do
  coverage_dir "log/cucumber/coverage/spec"
  add_filter "app/controllers/admin"
  add_filter "app/dashboards"
  add_filter "factories"
  if ENV["COVERAGE_REPORT"]
    formatter SimpleCov::Formatter::MultiFormatter.new(
      [
        SimpleCov::Formatter::HTMLFormatter,
        SimpleCov::Formatter::Console,
      ]
    )
  end
end

require "cucumber/rails"

ActionController::Base.allow_rescue = false

I've dug into this further, and found out it's configuration related....
However this has also raised the point we don't have documentary tests for this. So I've spent a whole heap of time adding those. I'm also fairly convinced the physical README docs for this aren't great.
I'll push up a PR which improves these things soon. But for now I'm convinced this is no longer a bug @MikhailMS
You need to tell cucumber NOT to use default settings (By default we use database cleaner). So simply setting: Cucumber::Rails::Database.autorun_database_cleaner = false in your env.rb file will be enough. However as mentioned this isn't articulated very well so I'm updating the tests / docs.


refactor shard and gather operation

Gather can be further optimized. I will update it when this MR is merged.


Fix typo in docstring of noise method

Fix typo in docstring of noise method.
Description
Changed "locla_qiskit_simulator" to "local_qiskit_simulator".

Motivation and Context

To support grammar consistency.

How Has This Been Tested?

Small change in docstring.

Screenshots (if appropriate):
Types of changes

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

[x] My code follows the code style of this project.
[x] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[x] I have read the CONTRIBUTING document.
[ ] I have added tests to cover my changes.
[x] All new and existing tests passed.

Thanks @akarazeev!


Allow client to configure batch ingestion task to wait to complete until segments are confirmed to be available by other

update for release notes
Adds the ability to tell a batch ingestion task to wait for newly indexed segments to become available for query on Historical services before completing. This is turned off by default. If an end user wants their task to wait a specified amount of time for their segments to become available before the task completes, they must add waitSegmentAvailabilityTimeoutMillis to the tuningConfig in their ingestion spec. If an end user adds this to their spec, the job will query the coordinator periodically checking to see if the desired segments have become available for query. If not all segments become available by the time this timeout expires, the job will still succeed. However, in the IngestionStatsAndErrors report, segmentAvailabilityConfirmed will be false. This indicates that handoff was not successful and these newly indexed segments may not all be available for query. On the other hand, if all segments become available for query on the Historical services before the timeout expires, the value for that key in the report will be true.
end update

Description

High Level Description
Add configuration in tuningConfig for end user to tell Indexing Service to wait for segments to become available for query before completing the indexing task. The configuration is a timeout value in milliseconds to prevent waiting forever. If the timeout expires, the task still succeeds, but the task reports will indicate that Druid was not able to confirm that the segments became available for query.
This new configuration stems from my experience operating a production cluster with many tenants who often have the same complaint: "My indexing job is complete but the latest data is not available right when the job finishes". This addresses that by letting the client set a reasonable timeout. After the job completes, they can parse the ingestion report and see if their segments became available. More often than not, with a reasonable timeout, their segments will indeed be available right when the job completes.
Implementation
A lot of the code is already written for realtime handoffs. I extracted that code out of the realtime packages into a Java package so it is less confusing as to why non-realtime tasks are using it. org.apache.druid.segment.handoff is a new package in druid-server module.
AbstractBatchIndexTask gets a new method, waitForSegmentAvailability(TaskToolbox toolbox, ExecutorService exec, List<DataSegment> segmentsToWaitFor, long waitTimeout) that handles the waiting. Batch Indexing implementations leverage this method at the end of their ingestion task code if the client's tuningConfig has a non-zero wait time for segment availability. Default is to not wait.
A new key:value pair is added to the IngestionStatsAndErrorsTaskReport segmentAvailabilityConfirmed. This is a boolean that indicates if the job was able to confirm query availability of the new segments before finishing. Parallel index task supervisor did not previously have this report, so this PR adds the report with the needed availability key:value pair so all of simple native, parallel native, and hadoop native can implement this availability wait.
Alternatives
https://github.com/apache/druid/releases#19-datasource-loadstatus became available in druid 0.20.0. However, I worry about giving ingestion clients the green light to hit this API endpoint due to the possible expense of the calls depending on the questions asked.

This PR has:

[x] been self-reviewed.

[x] using the concurrency checklist (Remove this item if the PR doesn't have any relation to concurrency.)

[x] added documentation for new or modified features or behaviors.
[x] added Javadocs for most classes and all non-trivial methods. Linked related entities via Javadoc links.
[x] added comments explaining the "why" and the intent of the code wherever would not be obvious for an unfamiliar reader.
[x] added unit tests or modified existing tests to cover new code paths, ensuring the threshold for code coverage is met.
[x] added integration tests.
[x] been tested in a test Druid cluster.

Key changed/added classes in this PR

AbstractBatchIndexTask
HadoopIndexTask
IndexTask
ParallelIndexSupervisorTask
HadoopTuningConfig
ParallelIndexTuningConfig
IngestionStatsAndErrorsTaskReportData
AbstractITBatchIndexTest
ITHadoopIndexTest
ITBestEffortRollupParallelIndexTest
ITIndexerTest

@capistrant thanks for the PR. This idea seems useful. I will take a look soon.

@capistrant thanks for the PR. This idea seems useful. I will take a look soon.

Thanks @jihoonson. I'm a little worried about concurrency issues in AbstractBatchIndexTask#waitForSegmentAvailability so if your review can take extra care there that would be greatly appreciated

@capistrant Nice idea. Looking forward to being merged! 👍

@jihoonson Thanks for the help and review. I will respond to your comments in that thread about future work for this.
I'll work on trying to find another committer to review soon. Maybe I can trade a review for a review with someone

@jihoonson Thanks for the help and review. I will respond to your comments in that thread about future work for this.
I'll work on trying to find another committer to review soon. Maybe I can trade a review for a review with someone

Cool, are you working on "the different solution"? That would be interesting too.

I have not thought too much about it yet. but if our desired solution results in new druid features it would definitely be contributed back upstream

regarding adding to the report with a "timeWaitedForSegmentAvailability" type key value pair

I think we definitely want this so I will be working on follow on PR soon

Cool, are you working on "the different solution"? That would be interesting too.

I have not thought too much about it yet. but if our desired solution results in new druid features it would definitely be contributed back upstream

regarding adding to the report with a "timeWaitedForSegmentAvailability" type key value pair

I think we definitely want this so I will be working on follow on PR soon

@capistrant I asked @maytasm to take a look.

@capistrant I asked @maytasm to take a look.

hey @maytasm checking in to see if you have been able to look at the code at all after talking to Jihoon?

hey @maytasm checking in to see if you have been able to look at the code at all after talking to Jihoon?

Sorry I been a little bit busy. I should be able to get to this by the end of this week. Thank you for your patience.

@capistrant This looks really interesting and it has 2 approvals, so it should be good to merge. Any chance you can fix up the conflicts so we can merge this?
I'll be reading through the PR over the next week to get a better understanding of how this works, but this comment / my review shouldn't be a blocker to getting this accepted :)

Thanks @maytasm and @jihoonson for the reviews! @suneet-s I have merged master back into my branch and pushed a small commit to fix compilation after that merge.

Reviewed about 80 files. Posting my incomplete review. I don't think I've found anything major, just a couple of small things and a question about how the SegmentHandoffNotifier works

I appreciate you starting to dig through all of this. I pushed up some of the more trivial changes from comments and addressed the others as well. I think you have made a good point about compaction. I never wrote this intending for compaction to use the handoff, but since it seems I inadvertently allow its support, I should have some kind of testing. I'm looking into that now

was able to play around with the latest code in my sandbox environment yesterday. It behaves how I would expect with the latest compaction changes.


Wyishtml crashes on IE 11 when formatting block with p

Wysihtml crashes when formatblock with p

I am using wysihtml version 0.6.0-beta1 on IE 11
Could not reproduce it on Chrome


Allow ( and ) characters as action identifier

Excluding ( and ) in action identifiers leads to confusing behaviour for users of API Blueprint since adding () to an action name results in the action being treated as a description of the previous block (resource). API Blueprint tools such as Apiary will discard resources that don't have any actions and therefore the entire resource and action will not be present in rendered documentation. Since the user is now given any warnings about this they are left in a confused state.
It does appear that excluding ( and ) is unnecessary at the current time, especially since other formats such as Swagger allow these characters in the equivalent names and subsequent tooling such as Apiary and API Blueprint support using these characters in action names.
In API Blueprint, it does make sense to disallow these characters in some places to prevent ambiguity and parsing problems such as with Data Structures and Resource names. The following case would break:
# Resource (x) [/]

+ Attributes
    + a: b

## Data Structures
### X

+ `my_resource` (Resource (x))

It's not possible to reference an action and therefore it isn't necessary to exclude these characters. If a user does need to reference an action in future such as with affordances, they should use relation identifiers.
These changes do add a special case to the rules for identifiers which may not be ideal in the long run. No identifiers can contain ( ) unless they are action identifiers.
Alternatives
Alternatively we can instead detect uses of ( or ) in an identifier and expose a warning to the user.

Looks good except a small thing regarding the regex.

Could you please add a test for # Retrieve [only] [GET /]? To make sure we don't break it in the future.


Pending acks uses lots of heap memory in consumer

Describe the bug

As the image shows, a consumer uses more than 2MB heap memory to maintain the pending acks.
To Reproduce
Steps to reproduce the behavior:
This problem can reproduce when doing some performance tests and especially when the batch is disabled.
Expected behavior
Reduce the heap memory usages for the pending ack of the consumer
Additional context
Pulsar 2.6.0

Closed as stale. Please create a new issue if it's still relevant to the maintained versions.


When will RTVS be released?

When will RTVS be released? So excited about it

Hang in there. Public preview is coming really soon now ...

Just shipped it. Get it now at https://microsoft.github.io/RTVS-docs/


Shortening link already shorten

If product create short link, this same short link should not be processed again
for example if I shorten htttpa://www.google.com to https://svt.ink/rC8KKl then "https://svt.ink/rC8KKl" short not be shortened again.
I tried creating chain of these links and the used latest link to visit website it was not good experience

Thanks for this suggestion! This is a very good idea.
This should be fixed with this commit.
Can you please verify that the issue is gone?

Great! Fixed


#48 add small fixes in CRON to support minutes and dashboard report

:white_check_mark: Build mentorbot 1.0.154-bwtupskj completed (commit https://github.com/mentormate/mentorbot/commit/423f160dd9 by @rosenkolev)

Codecov Report

Merging #53 into master will increase coverage by 0.10%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##           master      #53      +/-   ##
==========================================
+ Coverage   96.11%   96.22%   +0.10%
==========================================
  Files          52       52
  Lines        2264     2329      +65
==========================================
+ Hits         2176     2241      +65
  Misses         88       88

Impacted Files
Coverage Δ

src/MentorBot.Functions/App/SystemPlugins.cs
100.00% <ø> (ø)

src/MentorBot.Functions/AzureFunctions/Commands.cs
85.93% <100.00%> (ø)

src/MentorBot.Functions/AzureFunctions/Queries.cs
100.00% <100.00%> (ø)

...unctions/Processors/Timesheets/TimesheetService.cs
96.19% <100.00%> (+0.78%)
:arrow_up:

...rBot.Functions/Services/AzureStorage/AzureQuery.cs
96.77% <100.00%> (ø)

...ctions/Services/AzureStorage/TableClientService.cs
97.61% <100.00%> (+0.18%)
:arrow_up:

src/MentorBot.Functions/Services/StorageService.cs
95.74% <100.00%> (+0.18%)
:arrow_up:

...entorBot.Functions/Services/TableStorageService.cs
92.30% <100.00%> (+0.35%)
:arrow_up:

Continue to review full report at Codecov.

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


Issue when setFieldsValues is called on mount

Describe the bug
The setFieldsValues have issues when called on mount.
See https://github.com/ivan-dalmet/formiz/discussions/77#discussioncomment-1121087
To Reproduce
Steps to reproduce the behavior:

Go to https://codesandbox.io/s/fancy-cherry-ip1cr?file=/src/useDependentField.js
Change the 100 to 0 in the setTimeout (or remove the setTimeout)
The fields on the first step are not required anymore

Expected behavior
The fields should still be required even with setFieldsValues called on mount.

Fixed in<EMAIL_ADDRESS>


How hide the tags which are already entered into input

Kind time.
Whether there is an opportunity in dropdown.module or search.module in case of { allowAdditions: true } not to show the tags which are already entered into input in the list of tags loaded through ajax
ex:
http://dl2.joxi.net/drive/2016/08/28/0004/1376/279904/04/d29ef42ab4.jpg

You can use onResponse of apiSettings to modify the response to remove values from get selected


Safari 16 supports text-align-last

Support for text-align-last has shipped in Safari Technology Preview 149 and Safari 16 beta 3.
https://webkit.org/blog/12998/release-notes-for-safari-technology-preview-149/

I'm so sorry, but this is a duplicate of https://github.com/Fyrd/caniuse/pull/6376 - <3 for opening it though! :)


Add support for importing billboards in Ogre .scenes.

Ogre supports specifying BillboardSets in .scene files.
However, Tundra ignores these objects when importing a .scene file.
Add support for this in Tundra side.
An example .scene is available at http://dl.dropbox.com/u/40949268/Ogre/billboard_test.scene.
The corresponding material file: http://dl.dropbox.com/u/40949268/Ogre/billboard_test.material.

Also, particle scripts and possibly ribbon trails etc. could be imported like this. Investigate adding support for these as well.


Update index.html

@codelight2711 Seems like there is little mistake. You have put my name instead of yours. It's ok you can rectify it :)


I do not understand the implementation of InstanceDiscriminationLoss

I am sorry that I can not relate the explanation about L(InsDis)  of the paper to the implementation of InstanceDiscriminationLoss.
May you explain that a little bit more? Thanks a lot!

The official code is available at https://github.com/CupidJay/Training-Vision-Transformers-with-only-2040-images now.

Thanks~~


Underscores inside bold should not render as italic

$ cat test.md
**MY_ENVIRONMENT_VARIABLE**
$ cat test.html

MYENVIRONMENTVARIABLE

GitHub and GitLab render this as MY_ENVIRONMENT_VARIABLE, but showdown renders "ENVIRONMENT" as italic.

Has there been any progression on this issue? I am running into the same thing


ExportCertCommand.java: Replace 'ID' with 'NRIC' in cert

Simple update to exported certificate to display 'Volunteer NRIC' instead of 'Volunteer ID'

Coverage remained the same at 67.259% when pulling cc826723ad5a877d8ebdf00d9bfdb7827fb7f056 on sharan8:exportcert-command into ac277fad5d66b2fbd6d7d32dc910a4b6c505b66c on CS2103-AY1819S1-W16-2:master.


Editing of internal DD links in HTML editor

Currently in the HTML editor a drop down list is used to select the DD item to link to.
Could we have a search as you type option, which would make it quicker to add links. In some DD pages there are many links to add.

15/2/22 - still outstanding.

James has asked someone from OCC to look at this.

Working version of this ready for deployment and testing.

After testing this myself, I decided that although the UI worked reasonably well, the suggestions that the back-end was providing were not appropriate - the 'proximity search' as implemented is not well suited to this purpose and needs re-thinking

21/05/24 - this is critical for testing all item types, including Terminologies.

16/07/2024 - Peter tried to demonstrate this but it still isn't working.

For the creation of internal links, we will make sure we deliver within the scope of our contract. This will mean we will make sure that you can definitely create links through the selection picker dialogs:

System C will also provide training to explain how to use these features. Anything else we do not have the budget for and will need to be requested as a feature change to the Mauro team.

All we ask is that the SOW requirement is fulfilled:

It is showing as ready but we can't test it yet.

Please refer to my comment here: https://github.com/NHSDigital/DataDictionaryPublication/issues/388#issuecomment-2253348187
The ability to link to internal items in the dictionary has been fixed in the UI.

Peter - I tried to link to the Data Element NHS Number.
To click on each folder under Data Dictionary, it was very slow.
When I got to Data Element and N, NHS Number did not appear.
The list ended at Neonatal.

@pjmonks - can you please clarify where the link is taken from.
If we are linking to an existing dictionary item, do we always link to the item in the branch we are working on?

If we are linking to an existing dictionary item, do we always link to the item in the branch we are working on?

Yes, that is correct.

When I got to Data Element and N, NHS Number did not appear. The list ended at Neonatal.

Another bug which I've recorded. I've noticed that the same does not happen when you select "Term".

We have fixed the UI so that you can scroll down the list of elements when selecting a link. Here is an example:

Notice that there is a counter at the bottom of this list now. Scroll down the list and as you get towards the bottom, the next batch of items will now automatically load.

This has been deployed to your test environment for review.

Will test


Get collection OTP

:warning: Please install the  to ensure uploads and comments are reliably processed by Codecov.
Codecov Report
Attention: Patch coverage is 88.88889% with 4 lines in your changes missing coverage. Please review.
:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.

Files
Coverage Δ

src/collections/operations/get_collection_otp.rs
88.88% <88.88%> (ø)

... and 1 file with indirect coverage changes


Create an example on how to inject members into a test using spring

We had quite a few requests on how to use the jbehave-junit-runner together with spring. The problem is, that both, our library and spring test provide a JUnitRunner and only one runner can be declared per test.
We should document a way to inject members into a jbehave junit test using spring. The easiest way would probably be, to create an ApplicationContext in the @Before hock by hand, get an AutowireCapableFactoryBean from there and then call autowireBean(Object)passing in the this reference (see also: http://stackoverflow.com/questions/3813588/how-to-inject-dependencies-into-a-self-instantiated-object-in-spring).

Any news about this? or document about the best practices to put this in place?
I am currently trying it and it's not very strait forward.

See https://github.com/schmidtl/jbehave-junit-runner - looks like the issue is already fixed in the very old fork. Please kindly consider fixing it here as well. Thanks!


Unit Tests

It looks like Hazel will expand to become quite a large and complicated code base (as is common for game engines). Because of this Cherno is making many temporary compromises in order to get things working so long. For example the hard-coded magnification settings in the Textures video. This will eventually lead to us refactoring a lot of code as a proper material system, asset manager, etc. gets added.
I think it is probably a good idea to have a unit test system so that if this refactoring (or anything else) breaks something unexpectedly, then we will be able to find where the issue is and hopefully fix it quickly without too much debugging.
I am not experienced enough to know how to actually go about doing this, but it seems like something that should be done at some point.

Yeah this is definitely a thing that should be done at some point. There are a lot of good unit test c++ libraries out there, the one I recommend is doctest.

I'd definately like to see some unit testing framework implemented, I've played around with a few  (non-game related projects) but not sure if I'm using them in the correct way for in game-engine context so some info on that would be great.

This is a great idea to avoid breaking one thing when trying to fix another. I never really worked with C ++ testing, but this https://github.com/catchorg/Catch2íritu  looks great

There is also the googletest framework (https://github.com/google/googletest), which has both testing and mocking facilities.

Just if someone knows how to create OpenGL context in CI (Travis-CI ie) I would like to know how to do that. I already tried but you cannot create OpenGL even with Docker.

Just seen this issue ... Have a look #494  :-)

Is someone aware of an Windows alternative to xvfb?
I'm setting up some unit tests at the moment. While I can test e.g. the Hazel::Window::Create() function locally, tests fail in Git-CI. I'm assuming that's because the Windows Server in GitHub ist "headless".


Update README-DE.md

Translates remaining English text
Fixes a couple of spelling and grammar issues

thanks!


disable alloy-metrics pod logs crds as they are causing issues with alloy-logs

What this PR does / why we need it
This PR disables the alloy-metrics pod logs as they are conlflicting with the alloy-logs crds and helm does not like that at all.
Same reason as this https://github.com/giantswarm/logging-operator/pull/251
Checklist

[x] Update changelog in CHANGELOG.md.
[ ] Follow deployment test procedure in the tests/manual_e2e directory and have a working branch.

Tests are currently failing due to https://github.com/giantswarm/pytest-helm-charts/pull/341


sqlite packing issue

I am using Mono.Data.Sqlite (the NuGet package) for an application that I have.  Mono.Data.Sqlite requires the file sqlite3.dll (taken from the SQLite downloads page) to be in the same directory as it.  In order to be able to have people run my program without sqlite3.dll being in the same folder, I attempted to pack it (both into Mono.Data.Sqlite.dll and into my program) but it fails, giving me the following error:
Failed to load assembly \path\to\sqlite3.dll
System.InvalidOperationException: ILRepack does not support merging non-.NET libraries (e.g.: native libraries) ---> System.BadImageFormatException: Format of the executable (.exe) or library (.dll) is invalid.
Please tell me why this is happening, and what I can do to bundle sqlite3.dll
Thanks in advance!

Hi @j0shval3r0! You can't merge managed (.NET) and unmanaged (native) libraries. This is in theory possible, but not with ILrepack.

Thank you for clarifying!
Do you know of a tool that would allow me to merge unmanaged assemblies?  I tried Costura.Fody, but apperently that only works in Visual Studio and I'm working with Mono here.
Thanks again for your help with this

The Costura.Fody approach is generally correct, but you can implement this yourself without using Costura.Fody. Just include sqlite3.dll as an embedded resource and at the beginning of your app write it to disk at the same directory as your app (if it's not there yet).
ILRepack can't help here.


Fixed crash when opening directory

Partly fixes #42. Fixes the crash that happens when you open a directory that you don't have permissions to open.

Wow, what an easy fix indeed!


Iceberg REST Catalog errors should be spec compliant

Describe the bug

Currently, the Iceberg REST server is not spec compliant for errors (non 2xx errors) since error responses need to have specific fields https://github.com/apache/iceberg/blob/main/open-api/rest-catalog-open-api.yaml#L3197.
Any failures in the Iceberg REST Server should surface a message, type, code in the response. https://github.com/apache/iceberg/blob/main/open-api/rest-catalog-open-api.yaml#L1529
Currently, GlobalExceptionHandler will publish other fields so we may want something different for the Iceberg REST Server.

Since #85 is in, this can be closed. Closing