[ENHANCEMENT] Add Lamda Function for Ad Blockers & Page Speed

Is your feature request related to a problem? Please describe.
I am adding this feature request as an issue, so that we can track progress on this, and add a pull to relate this to.
Describe the solution you'd like
Based on the original project requirements, we need the ability to proxy events through a Lambda Function, if a site developer so chooses.
This is to outsource browser work, and send data that needs to be sent to Rudderstack to a Lambda function, so that the function can take care of sending the data to Rudderstack.
Using this approach, developers can make event tracking more asynchronous and therefore speed up site speed.

Gavin and Kostas,
I would like to start a conversation about the Lambda Function feature here on Github to hear more of your thoughts about this, and to share my concerns and thinking.
I am still not completely convinced that doing this feature right now is the best for the Gatsby plugin integration.
Below I will share my thoughts as to what are my concerns, and how I think we ought to go forward with it.
I am not set in stone on this, and of course will do what you believe to be the best route.
Concerns

Adding a feature that is not requested (yet) gives the plugin more dependencies and complexities that may be hard to maintain in the future.
Maybe we should see how the current plugin integration works with more Gatsby sites before we try to make a function that only a percentage of our users might use.
If I was going to maintain this project going forward, I would rather only maintain a plugin that utilizes Rudderstack's base features, rather than something that may add extra functionality that is not referenced in the Rudderstack documentation.
The current plugin has not been adequately tested yet, and I want to ensure that it works well before adding more complexity to it.

Ideas

Continue testing the Gatsby plugin as is, and see if we get undesirable data from the updated Rudderstack blog that is using this.
If we are getting undesirable data and a much slower site speed from too much browser work, maybe we should revisit the base functionality of the browser code and try optimizing it first.
If the base Rudderstack code does not need any optimizations, and it is refactored as we would like, then maybe we should extend a lambda function to all Rudderstack users.

This would ensure that all users are experiencing satisfactory speed of Rudderstack, whether utilizing Gatsby, or not.
This would also be great for sites where companies are not getting satisfactory data due to ad blockers. (We would have a Lambda Function to offer them and integrate.)

As I before mentioned, I am not opposed completely to going forward, and I will do this integration as I have time if you do decide to go ahead.
Being not experienced in Lambda, I will require a couple solid weeks of study before I can commit to having this finished in the best way for you guys. I don't want to release junk, and I do feel if I tried to hack something together in the way that I had initially planned, it will not be satisfactory in any way.
Thanks so much, and looking forward to hearing your thoughts and input on this as well as any other team members involved.
Thank you!
Chris
@thtmnisamnstr

Gavin and Kostas,
I would like to start a conversation about the Lambda Function feature here on Github to hear more of your thoughts about this, and to share my concerns and thinking.
I am still not completely convinced that doing this feature right now is the best for the Gatsby plugin integration.
Below I will share my thoughts as to what are my concerns, and how I think we ought to go forward with it.
I am not set in stone on this, and of course will do what you believe to be the best route.
Concerns

Adding a feature that is not requested (yet) gives the plugin more dependencies and complexities that may be hard to maintain in the future.
Maybe we should see how the current plugin integration works with more Gatsby sites before we try to make a function that only a percentage of our users might use.
If I was going to maintain this project going forward, I would rather only maintain a plugin that utilizes Rudderstack's base features, rather than something that may add extra functionality that is not referenced in the Rudderstack documentation.
The current plugin has not been adequately tested yet, and I want to ensure that it works well before adding more complexity to it.

Ideas

Continue testing the Gatsby plugin as is, and see if we get undesirable data from the updated Rudderstack blog that is using this.
If we are getting undesirable data and a much slower site speed from too much browser work, maybe we should revisit the base functionality of the browser code and try optimizing it first.
If the base Rudderstack code does not need any optimizations, and it is refactored as we would like, then maybe we should extend a lambda function to all Rudderstack users.

This would ensure that all users are experiencing satisfactory speed of Rudderstack, whether utilizing Gatsby, or not.
This would also be great for sites where companies are not getting satisfactory data due to ad blockers. (We would have a Lambda Function to offer them and integrate.)

As I before mentioned, I am not opposed completely to going forward, and I will do this integration as I have time if you do decide to go ahead.
Being not experienced in Lambda, I will require a couple solid weeks of study before I can commit to having this finished in the best way for you guys. I don't want to release junk, and I do feel if I tried to hack something together in the way that I had initially planned, it will not be satisfactory in any way.
Thanks so much, and looking forward to hearing your thoughts and input on this as well as any other team members involved.
Thank you!
Chris
@thtmnisamnstr

I'd still like it. Nobody has requested it yet, but it is an issue that sites with event instrumentation are known to run into. It should be configurable on the Gatsby plugin, so you could choose to not configure it and use the Gatsby plugin as it works currently, or you could choose to configure for the Netlify function and only then route through Netlify.
I completely get your concerns, but I think it still makes sense to move forward with it.

Gavin

I'd still like it. Nobody has requested it yet, but it is an issue that sites with event instrumentation are known to run into. It should be configurable on the Gatsby plugin, so you could choose to not configure it and use the Gatsby plugin as it works currently, or you could choose to configure for the Netlify function and only then route through Netlify.
I completely get your concerns, but I think it still makes sense to move forward with it.

Gavin

@thtmnisamnstr great! I will need a couple more weeks to finish this then. Thanks so much for all your patience with me so far on this project. I've greatly appreciated it.

@thtmnisamnstr great! I will need a couple more weeks to finish this then. Thanks so much for all your patience with me so far on this project. I've greatly appreciated it.

@mister-josuecedeno here is the issue for the plugin side that is for implementing the Lambda function with the Gatsby plugin.

I'm not sure what problem this solves? Using API Gateway proxies (and my PR #9) you can hide rudderstack completely behind proxies and it works even with ad blockers turned on. No lambda function needed (tested with ublock origin).


Add decorator to register handlers for Teams AI events

Need to be able to override following default implementations with custom handlers:
_on_unknown_action
_on_flagged_input
_on_flagged_output
_on_rate_limited
_on_plan_ready
Feel free to call out if anything is missing or anything is included in the scope incorrectly.

@blackchoey this can currently be done via the action decorator like this:
app.ai.action("___UnknownAction___", allow_overrides=True)
async def on_unknown_action(context: TurnContext, state: TurnState, data, name) -> bool:
    return True

The JS SDK doesn't have different decorators for each action it just does it like this, can this ticket be closed?

Just realized that. I'm find with it. Do you think we need to expose the magic strings (___UnknownAction___, etc.) in some way? If yes, we can either track it in this issue or create a new issue and close this one.

https://github.com/microsoft/teams-ai/blob/PYTHON/python/packages/ai/teams/ai/actions/action_types.py is exported for developers. Closing this issue.


Note VC runtime dependency

Please document the requirement for installing the appropriate Visual C++ Redistributable Runtime.
If this runtime is not present, opening Windup will fail with this error:

This can be reproduced from any Windows Sandbox or fresh VM environment.

Thanks, I didn't even realize the default rust compilation was linking to that. I think I can switch it to statically link.


Update Stable to v1.19.2 on dev

Description

v1.19.2 was released on 08/27/2020
update stable on dev

Issues:
https://github.com/vulk/cncf_ci/issues/341
How has this been tested:

[ ]  Covered by existing integration testing
[ ]  Added integration testing to cover
[ ]  Tested with trigger client against

[ ]  cidev.cncf.ci
[ ]  dev.cncf.ci
[ ]  staging.cncf.ci
[ ]  cncf.ci (production)

[ ]  Browser tested on staging.cncf.ci
[x]  Have not tested

Types of changes:

[ ]  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 not work as expected)
[x] Version update

Checklist:

[ ]  My change requires a change to the documentation
[ ]  I have updated the documentation accordingly
[x]  No updates required

This shows failed in their travis-ci for one of their own builds. We can still push this through.
https://travis-ci.org/github/jaegertracing/jaeger/builds/721600811


Change display date according to review state.

 Fix a bug linked to PR#671 = the date of the review has been changed by the date of the acceptation of the review


Turn off option --server.export-read-write-metrics for now

Scope & Purpose
Turn off option --server.export-read-write-metrics for now, until there is certainty about the runtime overhead it introduces. I agreed on this with @neunhoef today.
There is currently some investigation ongoing by @neunhoef to measure the overhead of metrics in general, which will likely trigger some follow-up optimizations and lead to this option being turned on again by default. But we can do this all separately.

[x] :hankey: Bugfix (requires CHANGELOG entry)
[ ] :pizza: New feature (requires CHANGELOG entry, feature documentation and release notes)
[ ] :fire: Performance improvement
[ ] :hammer: Refactoring/simplification
[x] :book: CHANGELOG entry made

Backports:

[x] No backports required

Testing & Verification

[x] The behavior in this PR was manually tested
[x] This change is already covered by existing tests, such as server_parameters.

Link to Jenkins PR run:
http://<IP_ADDRESS>:8080/view/PR/job/arangodb-matrix-pr/13813/

Tests blue


How to export a value or comment to the cell of a workbook that is currently open

Hi, I am not sure if the similar question was ever posted and answered but I am trying to figure out how to write a value or comment into the cell of a workbook that is already open and it has to be open at all times for some applications. I have tried to use functions such as Open-ExcelPackage and Export-Excel but no luck. Can anyone provide an example to show how it can be done using the Import-Excel module? Thank you very much.

Sorry, the module does not support working with documents that are open.

Sorry, the module does not support working with documents that are open.

Thank you for your instant response, Doug! I was suspecting the module doesn't support this. Now I can look for other approaches that may help accomplish my goal. Thanks for confirming it again!

Thank you for your instant response, Doug! I was suspecting the module doesn't support this. Now I can look for other approaches that may help accomplish my goal. Thanks for confirming it again!

Also, https://github.com/dfinke/ImportExcel/pull/958 supports writing comments, but not while the Excel doc is opened

Also, https://github.com/dfinke/ImportExcel/pull/958 supports writing comments, but not while the Excel doc is opened


Subdir

Here are the changes made in this file:

Allows to copy subdirectories
Added a test case that allows to check if files have been copied over accurately
Manual instructions to test this PR are as follows:

Here, what we are trying to achieve is copy seattle_libv2 to subdir_seattle_lib_v2
Step 1: cd to the scripts folder in common
Step 2: python initialize.py (This fetches the dependencies of the component; initialize.py Git-clones the dependent repositories into DEPENDENCIES directory. Here, you should cut the already present build_component which is listed as a dependency under common and replace it with the build_component.py from this PR).
Step 3: python build.py (This will create a RUNNABLE component from the source dependencies and would say "Done Building." At this point, you can either open the subdir_repy_v2 under RUNNABLE and see the copied files. You can also use the test_addsubdir to see if the files have been copied accurately).
Step 4: cd to tests under Common
Step 5: python test_addsubdir.py (This should produce a Pass/Fail output. This would produce a test result which indicates if the same number of files have been copied over to the subdir. If yes, it says Pass for that. If you delete a file from common dir manually and run the test case, it would give an output of Fail).

Closing this PR, it is functionally implemented through commit 1184e07f3a78b37880a863f72acbcee2c5bf1c30 and parents.


run command once during restore -v

Running godep restore -v would always error out because the CombinedOutput command did a Run under the hood, and the second Run at the end of restore would error out.
Along the way, I added some more context (and a couple of newlines) to the restore error prints to figure out what was going on.

how about this instead:?
func runIn(dir, name string, args ...string) error {
	c := exec.Command(name, args...)
	c.Dir = dir
	output, err := c.CombinedOutput()

	if verbose {
		fmt.Printf("execute: %+v\n", c)
		fmt.Printf(" output: %s\n", output)
	}

	return err
}

Seems simpler and maintains intent AFAICT.

Yeah, I should have pulled back and taken a better look. Thanks!

Okay, this is ready for review again!

@jmhodges Thanks, merged as 605fb21360e22cca107bdc4d0c972cbf14353977 (I assume due to a rebase).


Directory for test target cannot be created as there is no permission to do it

How to reproduce

Install commandunit in the former procedure written in https://github.com/dakusui/commandunit#installation.
Try to run tests by commandunit run command in the directory where commandunit tests are defined.
The following error was logged and the execution failed

$ commandunit run mkdir: cannot create directory '/var/lib/commandunit/Users/<user_name>/Desktop/dev/gspci-shared-resources/gspci/src/test/target': Permission denied ERROR:(exit code:1, pipe status: 1):    at /app/dependencies/bud/lib/core.rc:54 (abort)   at /app/bin/commandunit:138 (main)   at /app/bin/commandunit:193 (main)

This turned out not to be an issue in commandunit but in docker for mac's.
https://qiita.com/kinshotomoya/items/7b5cb9862db34315a0f1


A Scan has a failure.. Please approve to proceed

Approval required for following Workflow to proceed.

WorkflowName
Workflow#
BranchName
TriggerEvent
LastCommitUser

build-test
69
refs/heads/main
push
Yog4Prog

Issue Details
Found an Issue while performing SCA Scan
:point_right: You are required to Approve (or) Reject the issue
Approve or Reject by commenting in the below section with any of the following keywords
:green_book:  Approved Keys: approved approve lgtm goahead proceed yes
:closed_book: Reject Keys: denied deny reject rejected no abort cancel exit
:point_right: Note: If left uncommented the issue will be closed after the timeout period and the workflow will be marked unsuccessful.

Approval waiting period elapsed. Approval request is automatically closed and workflow status is marked to Failed.

This is closing comment through workflow named TestAPI

This is closing comment through workflow named TestAPI


Move loading of coco images to separate function.

This PR moves some functionality from next() to load_image. load_image outputs more information which can be useful for visualization / evaluation purposes.

Looks good!


Update python SDK for front-door

This checklist is used to make sure that common guidelines for a pull request are followed.

For new extensions:

[ ] My extension description/summary conforms to the Extension Summary Guidelines.

If this PR is for a new extension or change to an existing extension, use the following to try out the changes in this PR:
docker run -it microsoft/azure-cli:latest
export EXT=<NAME>
pip install --upgrade --target ~/.azure/cliextensions/$EXT "git+https://github.com/pichandwork/azure-cli-extensions.git@pichand/updateSDK_CLI#subdirectory=src/$EXT&egg=$EXT"

@tjprescott - Addressed the comment and renamed WebApplicationFirewallPolicy to WebApplicationFirewallPolicy1 in the code.


[BUG] Jest tests throw invalid parameter warning

Summary
Prior to "Extensibility", when running the Jest tests (npm run test), a warning would throw for each test stating the following:
 console.warn
    Invalid Parameter for getCustomerBaskets: clientId

      at node_modules/commerce-sdk-isomorphic/lib/index.cjs.js:1:182412
          at Array.forEach (<anonymous>)
      at e.<anonymous> (node_modules/commerce-sdk-isomorphic/lib/index.cjs.js:1:182297)
      at xa (node_modules/commerce-sdk-isomorphic/lib/index.cjs.js:1:22397)
      at Generator._invoke (node_modules/commerce-sdk-isomorphic/lib/index.cjs.js:1:22147)
      at Generator.forEach.e.<computed> [as next] (node_modules/commerce-sdk-isomorphic/lib/index.cjs.js:1:22771)
      at ca (node_modules/commerce-sdk-isomorphic/lib/index.cjs.js:1:20356)
      at o (node_modules/commerce-sdk-isomorphic/lib/index.cjs.js:1:20560)
      at node_modules/commerce-sdk-isomorphic/lib/index.cjs.js:1:20621
      at e.<anonymous> (node_modules/commerce-sdk-isomorphic/lib/index.cjs.js:1:20500)
      at e.<anonymous> (node_modules/commerce-sdk-isomorphic/lib/index.cjs.js:1:183195)
      at node_modules/@salesforce/commerce-sdk-react/hooks/ShopperCustomers/query.js:170:38
      at asyncGeneratorStep (node_modules/@salesforce/commerce-sdk-react/hooks/ShopperCustomers/query.js:14:103)
      at _next (node_modules/@salesforce/commerce-sdk-react/hooks/ShopperCustomers/query.js:15:194)
      at node_modules/@salesforce/commerce-sdk-react/hooks/ShopperCustomers/query.js:15:364
      at node_modules/@salesforce/commerce-sdk-react/hooks/ShopperCustomers/query.js:15:97
      at method (node_modules/@salesforce/commerce-sdk-react/hooks/ShopperCustomers/query.js:173:20)
      at node_modules/@salesforce/commerce-sdk-react/hooks/useAuthorizationHeader.js:34:20
      at asyncGeneratorStep (node_modules/@salesforce/commerce-sdk-react/hooks/useAuthorizationHeader.js:14:103)
      at _next (node_modules/@salesforce/commerce-sdk-react/hooks/useAuthorizationHeader.js:15:194)

  console.warn
    Invalid Parameter for getCustomerBaskets: locale

      at node_modules/commerce-sdk-isomorphic/lib/index.cjs.js:1:182412
          at Array.forEach (<anonymous>)
      at e.<anonymous> (node_modules/commerce-sdk-isomorphic/lib/index.cjs.js:1:182297)
      at xa (node_modules/commerce-sdk-isomorphic/lib/index.cjs.js:1:22397)
      at Generator._invoke (node_modules/commerce-sdk-isomorphic/lib/index.cjs.js:1:22147)
      at Generator.forEach.e.<computed> [as next] (node_modules/commerce-sdk-isomorphic/lib/index.cjs.js:1:22771)
      at ca (node_modules/commerce-sdk-isomorphic/lib/index.cjs.js:1:20356)
      at o (node_modules/commerce-sdk-isomorphic/lib/index.cjs.js:1:20560)
      at node_modules/commerce-sdk-isomorphic/lib/index.cjs.js:1:20621
      at e.<anonymous> (node_modules/commerce-sdk-isomorphic/lib/index.cjs.js:1:20500)
      at e.<anonymous> (node_modules/commerce-sdk-isomorphic/lib/index.cjs.js:1:183195)
      at node_modules/@salesforce/commerce-sdk-react/hooks/ShopperCustomers/query.js:170:38
      at asyncGeneratorStep (node_modules/@salesforce/commerce-sdk-react/hooks/ShopperCustomers/query.js:14:103)
      at _next (node_modules/@salesforce/commerce-sdk-react/hooks/ShopperCustomers/query.js:15:194)
      at node_modules/@salesforce/commerce-sdk-react/hooks/ShopperCustomers/query.js:15:364
      at node_modules/@salesforce/commerce-sdk-react/hooks/ShopperCustomers/query.js:15:97
      at method (node_modules/@salesforce/commerce-sdk-react/hooks/ShopperCustomers/query.js:173:20)
      at node_modules/@salesforce/commerce-sdk-react/hooks/useAuthorizationHeader.js:34:20
      at asyncGeneratorStep (node_modules/@salesforce/commerce-sdk-react/hooks/useAuthorizationHeader.js:14:103)
      at _next (node_modules/@salesforce/commerce-sdk-react/hooks/useAuthorizationHeader.js:15:194)

This does not prevent the tests from passing, but it is a warning we'd like to get cleaned up

Now with "Extensibility" in place, running npm run test from our repo does not run the tests on the retail-react-app components as those are now in a package, however, if you implement Jest testing by extending the @salesforce/retail-react-app jest and babel configs, you getting this warning for each component you have tests set up for.
Steps To Reproduce
Reproducing prior to "Extensibility"

Download pwa-kit-3.3.0 from here
Extract the zip (doing it this way will not have "Extensibility" in place)
Make sure your node version is 18 or late and npm version is 9 or later
Via the CLI, in the root of the pwa-kit-3.3.0 directory you extracted, type: cd packages/template-retail-react-app && npm i && npm run test
Note the warnings above thrown

Reproducing with the latest version of pwa-kit-create-app

Make sure your node version is 18 or late and npm version is 9 or later
Via the CLI, run type: npx @salesforce/pwa-kit-create-app --preset "retail-react-app"
When prompted with "Do you wish to use template extensibility?", select "yes"
Go through the prompts fill out the rest of your commerce cloud details
Once complete with the prompts, this will install the dependencies of the project for you. Switch to that project root: (i.e cd retail-react-app)
Modify babel.config.js (this will allow jest to use the right runtime. No need to install extra dependencies)

const base = require('@salesforce/pwa-kit-dev/configs/babel/babel-config')

const configs = {
    // base config from Salesforce PWA Kit
    ...base,
    default: {
        ...base.default,
        env: {
            ...base.default.env,
            test: {
                ...base.default.env.test,
                presets: ['@babel/preset-env', ['@babel/preset-react', {runtime: 'automatic'}]],
                plugins: ['babel-plugin-dynamic-import-node-babel-7']
            }
        }
    }
}
module.exports = configs.default

Create a jest.config.js in the root of the project. Extend the default config to look like this:

const base =<EMAIL_ADDRESS>const path = require('path')

// extend/override config below
const configs = {
    // base config from Salesforce PWA Kit
    ...base,
    collectCoverage: false,
    collectCoverageFrom: [
        ...base.collectCoverageFrom,
        'app/**/*.{js,jsx,ts,tsx}',
        'non-pwa/**/*.{js,jsx,ts,tsx}',
        '!worker/**/*.{js,jsx,ts,tsx}',
        'scripts/generator/*.{js,jsx,ts,tsx}',
        '!app/pages/test-container/**/*.{js,jsx,ts,tsx}',
        '!app/types/**'
    ],
    // maps aliases for Jest to understand
    // if you have any special aliases for your directories, include them in moduleNameMapper
    moduleNameMapper: {
        ...base.moduleNameMapper,
        '^@salesforce/retail-react-app(.*)$':
            '<rootDir>/node_modules/@salesforce/retail-react-app/$1',
    },
    roots: ['<rootDir>'],
    // directories jest will ignore
    testPathIgnorePatterns: [...base.testPathIgnorePatterns, 'dist'],
    // so we can use ESM with Jest as Jest is built on commonjs
    transform: {
        '\\.[jt]sx?$': ['babel-jest', {configFile: path.resolve(__dirname, 'babel.config.js')}]
    },
    transformIgnorePatterns: []
}

module.exports = configs

In the package.json update the "test" script to to look like this "test": "jest --passWithNoTests",
Create a basic Jest test (I recommend creating a shell component and write a test to expect it to be in the document OR grab one from the "retail-react-app" package
Via the CLI, run: npm run test
Observe, you get the same warning as above

Expected result

Test should pass/fail without warnings of Invalid Parameters

Actual result

Tests are passing / failing and there are warnings being thrown about Invalid Parameters

System Information (as applicable)
Browser:
N/A
Node version:
v18.19.1
pwa-kit version:

"@salesforce/retail-react-app": "2.2.0"
"@salesforce/pwa-kit-dev": "3.3.0"

Desktop OS:
macOS 14.4 (23E214)
Mobile Device Info:
N/A
Additional information

I suspect this has something to do with the API mocking that is being done. Something in that mocking is passing an invalid parameter to those function mocks or those functions are not typed to expect those parameters

Hey @AdamAnSubtractM, thanks for creating this issue. For context, the PWA Kit makes SCAPI calls through the commerce-sdk-isomorphic, which is essentially a javascript library that makes calling SCAPI easy. Previously with the package, if you passed in an invalid query parameter, it would be filtered out under the hood without the user knowing. We recently added support for custom query parameters to the commerce-sdk-isomorphic package, and as part of that change, we explicitly notify the user if an invalid query param is passed with a warning.
The PWA Kit previously passed on clientId, currency, and locale to all SDK calls, which are invalid query parameters for certain endpoints, but that was resolved with this PR: https://github.com/SalesforceCommerceCloud/pwa-kit/pull/1655. That change hasn't been released yet, but once it is, those warnings should disappear. The warnings are more of a nuisance than originally anticipated, so moving forward we'll consider either removing this warning entirely or potentially introducing a toggle switch for disabling warnings.
tl;dr: Once the new version of @salesforce/commerce-sdk-react gets released, these warnings no longer appear


Adds a base config setter

Signed-off-by: Maximiliano Churichi<EMAIL_ADDRESS>

Closed as it's going to be open in the the repo


Unable to deploy grafana to the test cluster with deploy-grafana make target

❯ make deploy-grafana
Local cluster

install grafana
helm repo add grafana https://grafana.github.io/helm-charts
"grafana" already exists with the same configuration, skipping
helm repo update
Hang tight while we grab the latest from your chart repositories...
Update Complete. ⎈Happy Helming!⎈
helm -n k8gb upgrade -i grafana grafana/grafana -f deploy/grafana/values.yaml \
                --wait --timeout=2m0s \
                --kube-context=k3d-
Error: Kubernetes cluster unreachable: context "k3d-" does not exist
make: *** [deploy-grafana] Error 1

$(CLUSTER_GSLB1) variable used by make deploy-grafana is never assigned.
Assignees:
Labels: bug

regression by https://github.com/k8gb-io/k8gb/pull/722/files#diff-76ed074a9305c04054cdebb9e9aad2d818052b07091de1f20cad0bbac34ffb52L27-L28


Update tutorial for ClockWise -> Clockwise rename.

Also, the commit that renamed them didn't actually close #1246.

Thanks!


tests: #437 Start testing the WSI swapchain validation layer

This is the initial version of the EnableWsiBeforeUse test case.  It verifies
that the swapchain validation layer issues an error if any of the WSI functions
are called when the corresponding extension isn't enabled.  This Initial
version tests the functions for the following extensions:

- VK_KHR_xcb_surface
- VK_KHR_surface
- VK_KHR_swapchain

There is curently one exception: vkQueuePresentKHR().  This function dispatches
from a VkQueue.  The layer uses the swapchain parameter in order to look up the
VkDevice that the extension should have been enabled for.  Since we didn't
create a real swapchain, the lookup doesn't occur (the layer doesn't chase NULL
pointers), and so the error doesn't occur.

This test case still needs to test the following extensions:

- VK_KHR_android_surface
- VK_KHR_mir_surface
- VK_KHR_wayland_surface
- VK_KHR_win32_surface
- VK_KHR_xlib_surface

When the swapchain layer supports the following extensions, this test case
should test them:

- VK_KHR_display
- VK_KHR_display_swapchain

Note: The test code caught that one WSI function (vkDestroySurfaceKHR()) wasn't checking whether the VK_KHR_surface extension was enabled.  That is fixed with this pull request.

LGTM

These changes look good but when I run on Nvidia Linux I see the output message "Error: Undefined DisplayServer". Is this expected? Is there any way to suppress the message? I don't like the fact that one of the first things that a user will see when they start running tests is an "Error:" message.

That's my bad, the "Error: Undefined DisplayServer" is not coming from these changes.
cherry-picked and pushed to master


Need additional information on automatic Azure DNS Zone delegation

Command az aks enable-addons --resource-group myResourceGroup --name myAKSCluster --addons http_application_routing creates an Azure Public DNS Zone automatically.
Running az aks show --resource-group myResourceGroup --name myAKSCluster --query addonProfiles.httpApplicationRouting.config.HTTPApplicationRoutingZoneName -o table command provides name of the DNS zone created.
Can additional information be provided to help understand how DNS Zone is delegated/configured internally when using HTTP Routing add-on?
This will help in using/configuring an existing Azure DNS Zone rather that creating a new one every time.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 51a32f9e-c92f-412b-d460-567f3c542b98
Version Independent ID: fad073ab-a376-1535-7bc4-deaca1d98dd9
Content: HTTP application routing add-on on Azure Kubernetes Service (AKS) - Azure Kubernetes Service
Content Source: articles/aks/http-application-routing.md
Service: container-service
GitHub Login: @lachie83
Microsoft Alias: laevenso

@Mahesh-MSFT
Thanks for the feedback! I have assigned the issue to content author to check and update the document as appropriate.

@lachie83
Can you please check and add your comments on this doc update request as applicable.

Thank you @Mahesh-MSFT for the feedback.
We have added an item to our backlog and will prioritize accordingly.
#please-close


Home Assistant Error: command GetEnc response channel 0 does not equal requested channel 1

Describe the bug
There is an error in home assistant:
Logger: reolink_aio.api
Source: components/reolink/host.py:193
First occurred: 09:52:53 (32 occurrences)
Last logged: 10:23:55

Host xxx.xxx.xxx.xxx:443: command GetEnc response channel 0 does not equal requested channel 1

To Reproduce
Go to Home Assistant Logs.
Expected behavior
No error.
Environment:
Home Assistant 2023.4.1
Reolink Duo Floodlight PoE
sw: v<IP_ADDRESS>9_23031702
hw: IPC_529B17B8MP

Thanks for reporting this @pszypowicz
It schould be fixed with this commit: https://github.com/starkillerOG/reolink_aio/commit/db222d3ed2f815b033117a7dc1ef7c7c8851a105
Will get into HomeAssistant in a few days.


[FEATURE] Correct Labels on Data Prepper mode to follow RED metrics standard

Is your feature request related to a problem?
Currently service map has toggles as "Latency", "error rate", and "throughput" -> these should be changed to "rate" "error" and "duration" to follow industry standards
What solution would you like?
A clear and concise description of what you want to happen.
What alternatives have you considered?
A clear and concise description of any alternative solutions or features you've considered.
Do you have any additional context?
Add any other context or screenshots about the feature request here.

@kavck / Nitin any other places where this is wrong/should be changed other than service map? Is this the only aspect of data prepper mode that relates to the parent user story?

#284


Support --generateReleaseNotes for GitHub releases

Clear and concise description of the problem
Hello,
GitHub supports auto-generate release body passing generate_release_notes: true flag:
https://docs.github.com/en/rest/releases/releases?apiVersion=2022-11-28#create-a-release
The value needs to be passed down from lerna publish to lerna version, something in this way:
lerna version --generateReleaseNotes

To support it, just need to pass it here:
https://github.com/lerna-lite/lerna-lite/blob/7e4dce11c6b009dc2848a16858933ff34cd46af0/packages/version/src/lib/create-release.ts#L60
Suggested solution
I would to see support for it. The output generated by GitHub includes GitHub PRs links and user mentions, that is really helpful to keep contributors in the loop.
Also, it places nice with other flags, like --conventional-commits.
Probably it can be accommodated in a way that the current generation of the body can be skipped, since GitHub is already generating it for you. That will lerna even a bit faster.
Alternative
No response
Additional context
I have no idea if GitLab supports something similar in order to have 1:1 parity.
Validations

[X] Follow our Code of Conduct
[X] Read the docs.
[X] Check that there isn't already an issue that request the same feature to avoid creating a duplicate.

It's already supported but with a different option name --create-release-discussion-name for GitHub only, also note that you always need to provide a Discussion group name (it cannot be null). I used the flag a few times but stopped since v3, you can take a look at the last one Discussion that it created, v2.6.0

I don't see how is that the same 🤔
generate_release_notes will generate the the body content of the release, also the source code is not passing that value to GitHub REST API.

So I might have misunderstood then, can you provide a demo? This looks like lerna version --conventional-commits --create-release github to me, why don't you use that?

It's about the content of the release is auto-generated by GitHub:

generate_release_notes: Whether to automatically generate the name and body for this release. If name is specified, the specified name will be used; otherwise, a name will be automatically generated. If body is specified, the body will be pre-pended to the automatically generated notes.

Essentially it's the same than clicking this button in the UI

Ok then a contribution would be welcome, I don't have time to look at this and it would be nice to receive contributions. You can take a look at how I've implemented the Create Discussion (from this PR #604), which I've talked earlier and it might be helpful to know which file to change for this new option and I assume this option will have to be in lerna version as well

Actually I added something similar which might do what you want, when the GH_TOKEN is not provided, I use new-github-release-url to create a release via the GitHub Release form, I took the same approach as the release-it, perhaps we could just add a flag for it instead of just checking the tokens, in release-it they have this option to override automation and make it manual

Set github.web: true explicitly to override this GITHUB_TOKEN check.

https://github.com/lerna-lite/lerna-lite/blob/7e4dce11c6b009dc2848a16858933ff34cd46af0/packages/version/src/lib/create-release.ts#L44-L58

@Kikobeats ok I took another look at this and now understood that since the project already uses Octokit Rest, the only thing needed for this was to add the option generate_release_notes when calling the createRelease with Octokit. The new option is lerna version --generate-release-notes (or generateReleaseNotes in lerna.json config).
I enabled the new option and pushed a new release v3.2.0 to see if it worked and it did.
However, personally I still prefer the typical conventional changelog approach (with Bug Fixes, Features groups) and will re-enable that option. Also note that last year I added a new option that you might not be aware of which also adds contributors, the option is --changelog-include-commits-client-login [msg] which I have been using directly in Lerna-Lite since I created the option.
https://github.com/lerna-lite/lerna-lite/blob/0e2c04b69887d4142364c1ea2ff170a8d00a5fa9/lerna.json#L14-L17
For example, this produces

if we compare this to the new option lerna version --generate-release-notes, it does similar output especially for the contributors.

Actually I took the approach that you mentioned to let GitHub produce the release notes by itself (without providing name and body) but considering the output it creates. I wonder if we should add back the body from conventional changelog? Perhaps we might need a new option for that? See below for the new approach
https://github.com/lerna-lite/lerna-lite/blob/5a70501a9bdbaadaa6e54d029c377e26bd17029f/packages/version/src/lib/create-release.ts#L77-L84

@Kikobeats it would be nice to have confirmation that it works...


ndk-sys: Use jni-sys for low-level JNI bindings

As indicated by the massive (+2M) number of downloads of the jni-sys crate 1 and many crates depending on it including our own ndk wrapper crate, jni-sys is definitely the de facto standard for Java Native Interface bindings.
As such, to be more type-compatible with this crate directly (which is anyway also a -sys crate) it makes sense to directly use its types instead of having intermediary type representations emitted by bindgen.
Not only are these types (and the layout tests) generally unused (as the pointers are cast to jni-sys pointers), their compile-time overhead directly offsets the cost of bundling jni-sys.  Plain ndk-sys costs 1.20s (for aarch64-linux-android), 1.29s with jni-sys added, and 1.19s again after omitting all the now-unnecessary bindgen types.
Note that bindgen does not support type remapping: instead these should be ignored from generation (blocklisted) and the replacement types imported or provided in the same scope where the generated result is include!d.
CC @laptou

Dropping 17.8k lines spread out over 4 autogenerated files is quite a feat :)


Updated Community welcomeness metrics

I updated all the cells.

Signed-off-by: Raghavasai Kowlasker<EMAIL_ADDRESS>


[CROSSDATA-372] Server should check the catalog connection when it is started

This PR check the connection with the catalog at the moment of start server. If the catalog is not reachable, the server fail at start.

Great work!


Fix wording in certain parallel algorithm docs

Does this fix things from #1868?

LGTM

This PR didn't fix anything from #1868 , which tracks warnings generated. This refactored the wording on predicate objects mostly


cargo-dist: 0.16.0 -> 0.17.0-prerelease.1

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for cargo-dist is: Tool for building final distributable artifacts and uploading them to an archive
meta.homepage for cargo-dist is: https://github.com/axodotdev/cargo-dist
meta.changelog for cargo-dist is: https://github.com/axodotdev/cargo-dist/blob/v0.17.0-prerelease.1/CHANGELOG.md
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 0.17.0-prerelease.1 with grep in /nix/store/nrcl4kh9khm3z3smdv5n7r2qfmvzgvkz-cargo-dist-0.17.0-prerelease.1
found 0.17.0-prerelease.1 in filename of file in /nix/store/nrcl4kh9khm3z3smdv5n7r2qfmvzgvkz-cargo-dist-0.17.0-prerelease.1

Rebuild report (if merged into master) (click to expand)

2 total rebuild path(s)

2 package rebuild(s)

First fifty rebuilds by attrpath

cargo-dist

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/nrcl4kh9khm3z3smdv5n7r2qfmvzgvkz-cargo-dist-0.17.0-prerelease.1 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A cargo-dist https://github.com/r-ryantm/nixpkgs/archive/a52e4a50e5967084edab02bc495565b5679c2a94.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/a52e4a50e5967084edab02bc495565b5679c2a94#cargo-dist

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/nrcl4kh9khm3z3smdv5n7r2qfmvzgvkz-cargo-dist-0.17.0-prerelease.1
ls -la /nix/store/nrcl4kh9khm3z3smdv5n7r2qfmvzgvkz-cargo-dist-0.17.0-prerelease.1/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review --extra-nixpkgs-config '{ allowInsecurePredicate = x: true; }' run on x86_64-linux 1

1 package built:

cargo-dist

Maintainer pings
cc @figsoda @matthiasbeyer @mistydemeo for testing.

Guessing this means there hasn't been a newrelease of the update script yet.


Ideas

I noted a comment on the CurseForge page about adding to a list of dimensions, and came up with something that I think may actually be flexible enough for that as well as for other purposes.
Basically, one can create a named orespawn set, that by itself does not cause spawning, but can be inherited from by other orespawn sets that use a dimension ID, even in a different file.
The name and Dimension ID are mutually exclusive.
This would allow reuse of orespawn definitions in different dimensions without copy pasting them then remembering to update all of them when changing one.

Interesting idea. That sound a lot like the vanilla Minecraft model json system.
Another possibility would be to have the dimension parameter accept an array of dimensions (specified by name or number).
Which option do you think is easiest to use?

I think it would depend on your setup, but if you have enough dimensions to need this feature, BrisingrAerowing's recommendation would be easier.

Actually having both may be useful, but the inheritance system would likely be more useful in the long run, as a player may want a certain set of base ores in all dimensions, and have each dimension also have some specific ores. If two dimensions are the same, allowing an array would be useful, and having the inheritance on top of that would prevent duplication of common orespawn definitions.

Since this is an "Ideas" thread, I'd like to leave mine as well. :) Please add the ability to use the biome dictionary, because if one is using BOP, it's kind of painful to list allthebiomes... ;)


Handle more cases of default namespace for secrets

#1453  👈 (View in Graphite)
main

This stack of pull requests is managed by Graphite. Learn more about stacking.


Fix message encoding for hash.

Worked locally but failed on actual GAE environment.
@jiayliu PTAL

lgtm


emoji:RichTextBox Input content Error

Sdk: .net framework 4.6.1
<emoji:RichTextBox FontSize="24" Margin="5"/>
Managed Debugging Assistant "FatalExecution EngineError"
Message = Managed Debugging Assistant "FatalExecution EngineError": "Error encountered at runtime. The wrong address is 0x67d2623f, on thread 0x58d4. The error code is 0x80131623. This error may be a bug in the CLR, or a bug in the unsafe or non-verifiable part of user code. Common sources of this bug include user marshaling errors on COM-interop or PInvoke that can damage the stack."
@samhocevar Thanks

This bug is caused by asserts in the Undo stack handler for RichTextBox. There is no easy way to fix it, so unfortunately I had to disable Undo in the latest version. Ctrl-Z will be back when I have found a proper solution.

well. thank you

Hello! I wanted to warn you that the next version of Emoji.Wpf will bump the minimal .NET Framework version from 3.0 to 4.0, which makes the crash disappear, and I have thus reactivated Undo support and Ctrl-Z.

Hello! I wanted to warn you that the next version of Emoji.Wpf will bump the minimal .NET Framework version from 3.0 to 4.0, which makes the crash disappear, and I have thus reactivated Undo support and Ctrl-Z.

powerful👍 well. thank you

powerful👍 well. thank you


Implement PEP 614: more general expressions for decorators

Describe the bug
When compiling this code
@(functools).wraps(foo)
def bar(): pass

Cython fails with such output
@(functools).wraps(foo)
^
------------------------------------------------------------

...\test.pyx:6:1: Expected an identifier

I know that
(object).__name__

is supported, therefore that behavior with decorators seems weird
Expected behavior
To just interpret that as
@functools.wraps(foo)

like python does and don't show any errors :)
Environment (please complete the following information):

OS: Windows
Python version 3.9.0
Cython version 3.0.0a8

https://www.python.org/dev/peps/pep-0614/


Redshift set VARCHAR(256) to VARCHAR(MAX)

If Redshift gets a VARCHAR column of an uncertain precision it will default the value to 256. For users who aren't explicitly defining columns to types or casting columns this can be annoying having to remember to cast to VARCHAR(MAX) in order to override the default.
This change would have SQLMesh detect when a VARCHAR(256) is being created and default to VARCHAR(MAX) instead. https://docs.aws.amazon.com/redshift/latest/dg/r_Character_types.html#r_Character_types-varchar-or-character-varying
In order to complete this task, the Schema Differ needs to be updated to be able to detect precision changes between VARCHAR columns and alter if the precision is increased.

From my experience, this might be a dangerous path to take...
When I was using Redshift (years ago), there was a hard limit on the maximum row width in the query processing engine. For wide result sets with many VARCHAR columns, it was fairly easy to reach that limit. I also found a significant cost in IO/memory use when using unbounded VARCHAR lengths. Some queries would take "forever", but when typed more strictly would run just fine.
So before I'd presume you can MAX all VARCHARs by default, I'd suggest running some basic tests on a Redshift instance to see how many columns you can use before hitting these limits.
All this said, I tried to find the limit in their docs just now, but was unable to locate it. Perhaps they've improved the engine since I last had these issues.

closed by #2791


data parser doesn't work

the example from README.md python -m extras.make_dataset --parser brsp \ --input_parser mfcc --label_parser simple_char_parser returns the following error:

File "/home/zparcheta/anaconda2/lib/python2.7/runpy.py", line 174, in _run_module_as_main
"main", fname, loader, pkg_name)
File "/home/zparcheta/anaconda2/lib/python2.7/runpy.py", line 72, in _run_code
exec code in run_globals
File "/data/forked/asr-study/extras/make_dataset.py", line 32, in
regex=True)
File "utils/generic_utils.py", line 62, in get_from_module
(name, module, ', '.join(members.keys())))
KeyError: 'brsp not found in datasets*.\n Valid values are: dummy, sid, brsd, voxforge, lapsbm, cslu, datasetparser'

If I change brsp for brsd (which is the available parser in dataset folder) then

datasets.dataset_parser.BRSD: WARNING  File /data/forked/asr-study/data/lapsbm/LapsBM-F019/LapsBM_0378.wav has a forbidden label: "acertou o alvo em quarenta e três por cento das suas chances". Skipping
Traceback (most recent call last):
File "/home/zparcheta/anaconda2/lib/python2.7/runpy.py", line 174, in _run_module_as_main
"main", fname, loader, pkg_name)
File "/home/zparcheta/anaconda2/lib/python2.7/runpy.py", line 72, in _run_code
exec code in run_globals
File "/data/forked/asr-study/extras/make_dataset.py", line 46, in
override=args.override)
File "datasets/dataset_parser.py", line 128, in to_h5
group = f.create_group(dataset)
File "/home/zparcheta/anaconda2/lib/python2.7/site-packages/h5py/_hl/group.py", line 52, in create_group
gid = h5g.create(self.id, name, lcpl=lcpl)
File "h5py/_objects.pyx", line 54, in h5py._objects.with_phil.wrapper (/home/ilan/minonda/conda-bld/h5py_1490028130695/work/h5py/_objects.c:2846)
File "h5py/_objects.pyx", line 55, in h5py._objects.with_phil.wrapper (/home/ilan/minonda/conda-bld/h5py_1490028130695/work/h5py/_objects.c:2804)
File "h5py/h5g.pyx", line 151, in h5py.h5g.create (/home/ilan/minonda/conda-bld/h5py_1490028130695/work/h5py/h5g.c:2929)
ValueError: Unable to create group (Name already exists)

The warning appears for each line of text and is skipping it.
How can I prepare data to training? I have already downloaded the data in data folder.

Sorry about this problem. I have changed the behavior of label_parser and did not update the README.md. Instead
python -m extras.make_dataset --parser brsp \ --input_parser mfcc --label_parser simple_char_parser

please use
python -m extras.make_dataset --parser brsd --input_parser mfcc

to create the dataset. Then I think that the rest of the README.md is fine.
Let me know anything!

I think that there are already some problems. Some of them in because the path to wav files is not correct eg.  asr-study/data/voxforge/brunox-20110225-wqa/216.wav should be asr-study/data/voxforge/brunox-20110225-wqa/**wav/**216.wav
Other files simply don't exist. Also there are some warnings about forbidden labels and I don't know exactly what it means.
If you know how I can run the data parser command properly, please tell me :)
regards!
python -m extras.make_dataset --parser brsd --input_parser mfcc

datasets.dataset_parser.VoxForge: ERROR    File /data/forked/asr-study/data/voxforge/brunox-20110225-wqa/216.wav not found
datasets.dataset_parser.BRSD: WARNING  Skipping dataset cslu: Dataset directory provided is not a directory
datasets.dataset_parser.BRSD: WARNING  File /data/forked/asr-study/data/sid/F0014/F0014053.wav has a forbidden label: "". Skipping
datasets.dataset_parser.BRSD: WARNING  File /data/forked/asr-study/data/sid/F0014/F0014054.wav has a forbidden label: "". Skipping
datasets.dataset_parser.BRSD: WARNING  File /data/forked/asr-study/data/sid/F0014/F0014055.wav has a forbidden label: "". Skipping
datasets.dataset_parser.Sid: ERROR    File /data/forked/asr-study/data/sid/M0001/M0001000.wav not found
could not be converted in int.ROR    age
Traceback (most recent call last):
File "/home/zparcheta/anaconda2/lib/python2.7/runpy.py", line 174, in _run_module_as_main
"main", fname, loader, pkg_name)
File "/home/zparcheta/anaconda2/lib/python2.7/runpy.py", line 72, in _run_code
exec code in run_globals
File "/data/forked/asr-study/extras/make_dataset.py", line 46, in
override=args.override)
File "datasets/dataset_parser.py", line 128, in to_h5
group = f.create_group(dataset)
File "/home/zparcheta/anaconda2/lib/python2.7/site-packages/h5py/_hl/group.py", line 52, in create_group
gid = h5g.create(self.id, name, lcpl=lcpl)
File "h5py/_objects.pyx", line 54, in h5py._objects.with_phil.wrapper (/home/ilan/minonda/conda-bld/h5py_1490028130695/work/h5py/_objects.c:2846)
File "h5py/_objects.pyx", line 55, in h5py._objects.with_phil.wrapper (/home/ilan/minonda/conda-bld/h5py_1490028130695/work/h5py/_objects.c:2804)
File "h5py/h5g.pyx", line 151, in h5py.h5g.create (/home/ilan/minonda/conda-bld/h5py_1490028130695/work/h5py/h5g.c:2929)
ValueError: Unable to create group (Name already exists)


FreeOTP Android no longer works with teleport

I'm using teleport (https://github.com/gravitational/teleport/) version 11.1.4 which creates OTP tokens.  I was able to use FreeOTP to scan the token a few weeks ago, but now when I scan the on-screen QR code I just get an error message that the token is invalid.  I tried Google Authenticator against the same QR code and it works fine.  Is there something that might have changed in the recent update that could cause this issue?

Hi,
Could you post the OTP URI which Teleport provides as a QR code image, such as:
otpauth://hotp/?secret=62tsfhk2k2gjybsk2idba3i4one2yzcj5dhwftsxk6xdwve4lram2gyq&algorithm=SHA256&digits=6&period=30&lock=false&counter=0

Please use a test account which does not contain actual sensitive OTP data in the secret value. Or if you have steps I can follow to generate the QR code myself then please provide those and I will investigate further.

It's still happening with version 12.  To reproduce it I just installed a teleport cluster (now teleport-cluster-auth) in Kubernetes.  Then either from the UI or from the CLI in the auth pod, create a new user.  I'm then presented with a URL which takes the new user to the public endpoint of the server.  The user creates a new password and then is presented with the screen to scan the QR code.  Using google authenticator app this works fine, however trying to scan this code using FreeOTP I get the error message "Token is Invalid!  The token you are attempting to add is invalid. Please alert your token provider."

I'm not sure what the OTP URI is, so I just took a screenshot of the QR code:

@pgier Seems the issue is related to the account field.
using your example without an account, lead also to "Token is invalid"
otpauth://totp/?secret=BZQU62QN53RR7DMF3SCJZFPRMEDAWCBV&issuer=teleport.bellburnell.dev.streaming.datastax.com&algorithm=SHA1&digits=6&period=30

providing a simple account (JohnDoe), the token can be scanned
otpauth://totp/JohnDoe?secret=BZQU62QN53RR7DMF3SCJZFPRMEDAWCBV&issuer=teleport.bellburnell.dev.streaming.datastax.com&algorithm=SHA1&digits=6&period=30

Based on code in ManualAdd.java neither the account nor the issuer may contain a colon.
        if(issuer.contains(":") || account.contains(":")) {
            msg = "Issuer and account may not contain \":\"";
            valid = false;
        }

Have not yet further investigated how this would lead at the end to the "Token is invalid" message.
Most probable place in the code seems to be in Activity.java
 Pair<SecretKey, Token> pair = enableSecurity ? Token.parse(uri) : Token.parseUnsafe(uri);

which might raise a Token.InvalidUriException.


Missing parent:  GO:0019787 ubiquitin-like protein transferase activity

GO term ID and label for which you request a new superclass
GO:0019787 ubiquitin-like protein transferase activity

New superclass (parent) suggested
GO:0016755 aminoacyltransferase activity (= EC:2.3.2.-)

Current parent of 'ubiquitin-like protein transferase activity' (GO:0019787) is 'transferase activity' (GO:0016740) = EC:2.-.-.-
But I notice that all the EC numbers relating to 'ubiquitin-like protein transferase activity' (either E2s or E3s) have a EC:2.3.2.- prefix:
<IP_ADDRESS>     E2 ubiquitin-conjugating enzyme = GO:0061631 ubiquitin conjugating enzyme activity
<IP_ADDRESS>     (E3-independent) E2 ubiquitin-conjugating enzyme
<IP_ADDRESS>     N-terminal E2 ubiquitin-conjugating enzyme
<IP_ADDRESS>     E2 NEDD8-conjugating enzyme
<IP_ADDRESS>     HECT-type E3 ubiquitin transferase
<IP_ADDRESS>     RING-type E3 ubiquitin transferase
<IP_ADDRESS>     RBR-type E3 ubiquitin transferase
<IP_ADDRESS>     RCR-type E3 ubiquitin transferase
<IP_ADDRESS>     RING-type E3 ubiquitin transferase (cysteine targeting)
<IP_ADDRESS>     cullin-RING-type E3 NEDD8 transferase
(also see ENZYME page for EC:2.3.2.- here: https://enzyme.expasy.org/EC/2.3.2.-
I think this means that the parent of 'ubiquitin-like protein transferase activity' (GO:0019787) could be changed to 'aminoacyltransferase activity (GO:0016755)', which equates to EC:2.3.2.-
Also see the 'Ubiquitination' section and Fig 1A here: https://www.nature.com/articles/ncomms15655
That said, EC only seems to have entries for ubiquitin and NEDD8 transferases, so I guess it's possible that transferases of other ubiquitin-like proteins (SUMO, UFM1, ISG15 etc) might be classified differently from EC:2.3.2.- ???
What do you think @hdrabkin @pgaudet @kaxelsen ?

You're quite right, and I think it is a good idea.


10.0.22621.1928 not supported

Hello

termsrv.zip

Duplicate of https://github.com/stascorp/rdpwrap/issues/2258


Add content of xRemoteDesktopAdmin_Readme.txt to README.md and remove original file

@joeyaiello can you take care of it?

Not a whole bunch of significant differences (most of it had already been reworded throughout the README), but I went ahead and ported over the small stuff.
Didn't do it as a pull request (whoops!), but I'll do it right next time.

@joeyaiello please, don't edit master branch directly.

I swore I did this in dev!
Whoops, the deletion I did in master. My bad...did you already revert, or should I just reflect it in dev?


fix(FileDropZone/CodeModal): Pass Chatbot display mode down

Working on integrating display mode feature into FileDropZone/CodeModal so we can add the header into the attachment demos. This does not include really include many design updates. The purpose is mostly just to integrate display mode and update the modal behavior so it makes sense.
Will fix https://github.com/patternfly/virtual-assistant/issues/128 eventually.

Preview: https://virtual-assistant-pr-virtual-assistant-135.surge.sh

The message bar on the full screen display mode in your updated demo is very tall. I don't think that's visible in the other PRs.

Good catch! I think I was able to fix this by removing a flex-grow from the footer that I must have added at some point. I don't think it should affect anything else - I had a look at 2000px wide and my regular laptop screen size.

I accidentally removed display: block !important; I just added it back in. It should be ok now. That's my bad; I'm sorry.


delete plag projects

https://docs.google.com/document/d/1_PQaRANcAHDuWSaY2eJ5-W4lqw0BjNSZPKCrCqWD5s8/edit?usp=sharing
open the PR and find the folder which they added and delete those projects folder

I will do this.
Please assign me this issue.


fix terraform setup guide

This PR fixes the terraform setup guide:

It installs pass to make the registry login working
It removes the 2 subpages and merges them to a single one
A bit more explanation about how to run Terraform and how to check
for the success of the workflow
SOS console and how to use it to figure out what the worker is
actually doing

Fixed #13
Signed-off-by: Gianluca Arbezzano<EMAIL_ADDRESS>

Hey @gianarb and @displague, I edited and rearranged some of the content here, and was hoping that the two of you could take a look and make sure that I didn't change anything to be wrong!

Great job @DailyAlice ! Thanks feel free to merge this PR when you are ready


Evaluate and increase timeout for requests

[x] Compile cache durations and check the current state.

edit
SAFE_APP_MANIFEST_CACHE_DURATION is not defined in the spec doc of the gateway, it is therefore using the default value.

Defaults: (as per the spec doc and the code defaults)

INFO_CACHE_DURATION = 60 * 15 (15 minutes)
EXCHANGE_API_CACHE_DURATION = 60 * 60 * 12 (12 hours)
REQUEST_CACHE_DURATION" = 60 * 15 (15 minutes)
ABOUT_CACHE_DURATION =  REQUEST_CACHE_DURATION
SAFE_APP_MANIFEST_CACHE_DURATION =  60 * 60 * 24 * 7 (1 week)

Staging is using the default values written about ☝

Production is using the default for EXCHANGE_API_CACHE_DURATION and SAFE_APP_MANIFEST_CACHE_DURATION. The rest of the values are defined as following: (as per the spec doc)

INFO_CACHE_DURATION =  =  60 * 60 * 24 * 7 (1 week)
REQUEST_CACHE_DURATION" =  60 * 60 * 24 * 7 (1 week)
ABOUT_CACHE_DURATION =  60 * 10 (10 minutes)

[x] Draft a proposal for new timeouts

Get rid of SAFE_APP_MANIFEST_CACHE_DURATION and use INFO_CACHE_DURATION in its place. Proposed values:
EXCHANGE_API_CACHE_DURATION = 60 * 60 * 12 (12 hours)
REQUEST_CACHE_DURATION" = 60 * 60 * 24 * 7 (1 week)
INFO_CACHE_DURATION = 60 * 60 * 24 * 7 (1 week)
ABOUT_CACHE_DURATION =  60 * 10
REQS_ERROR_CACHE_DURATION = 60 (1 minute)
INFO_ERROR_CACHE_DURATION = 60 * 60 * 24 (1 day) # it used to be 10000 in the TokenInfo PR, maybe we should reduce to ~ 3 hours to match?

[ ] Notify devOps requesting the changes

@rmeissner I think this contains the final proposal so far. Just would need to think about the INFO_ERROR_CACHE_DURATION and whether 24 hours is fine. You had it as 10000 seconds (~ 3 hours) in the TokenInfo PR. I would ask devOps to update this values in the next production deployment. I would update the spec doc.
Do we want the same values for staging?

What is the advantage of Get rid of SAFE_APP_MANIFEST_CACHE_DURATION and use INFO_CACHE_DURATION in its place.?
On another note, for the token info we currently use INFO_CACHE_DURATION, that would mean that if new tokens show up in the meantime they will not be visible via the token info.

What is the advantage of Get rid of SAFE_APP_MANIFEST_CACHE_DURATION and use INFO_CACHE_DURATION in its place.?

Just separating things depending one where we are fetching them from. the SafeApp stuff gets fetche from the InfoProvider that's why I associated that timeout with it.
That makes sense, then we should isolate the TokenInfo case for now? Since we have webhooks for everything else. We can keep REQUEST_CACHE_DURATION add AGGREGATED_TOKEN_CACHE to be 1 day. We could continue to use INFO_CACHE_DURATION for this case, we could just bring it down to 1h

What is the advantage of Get rid of SAFE_APP_MANIFEST_CACHE_DURATION and use INFO_CACHE_DURATION in its place.?

Also trying to kep the env vars to the minimum required, if we get too many it's gonna be easy to get confused.

if we get too many it's gonna be easy to get confused.
The thing is that most of them have different requirements. And maybe we should list all the different information and what timeout we use. Information we fetch: Safe info, Token info, Contract info, Safe app info. Does it make sense that we put them all under the same timeout? Question here would be when do we expect them to change? And do we get notified about the change? You know what I mean?

Yeah, I think I understand now. I will compile a list of what I am aware of and leave here as a comment :) I will phrase this from the perspective of the objects we return, rather than the timeouts themselves.

InfoProvider related:

load_token_info calls check_token_cachewhich callspopulate_token_cache. This creates a marker in the cache dip_tclwith timeoutINFO_CACHE_DURATIONorINFO_ERROR_CACHE_DURATION` if it's an error.
If populate_token_cache is successful, it creates individual entries for each cache with time out INFO_CACHE_DURATION
fetch_exchange fetches fiat conversion rates and caches them with a timeout of EXCHANGE_API_CACHE_DURATION and for error INFO_CACHE_DURATION NOTE: This error timeout seems is misused
load_safe_info has a timeout of INFO_CACHE_DURATION and for error INFO_CACHE_DURATION
Both safe_app_info and address_info use timeout SAFE_APP_MANIFEST_CACHE and for error INFO_ERROR_CACHE_DURATION

Matched route requests:

Request to core services: timeout = REQUEST_CACHE_DURATION and error timeout = REQS_ERROR_CACHE_DURATION
Mapped responses: timeout = REQUEST_CACHE_DURATION and we don’t cache errors originating from the gw

Context::request_cached has a timeout parameter which is REQUEST_CACHE_DURATION for core services requests. Internally it adjusts the timeout to  REQS_ERROR_CACHE_DURATION for 4xx. Core services5xxs are not cached.

So we also have contract info stuff, right? Lets do a quick call on friday or monday to figure this out finally. You collected a lot of information, but I would like to to a 30 min call to sort it out. Would that work?

yeah, for sure. Let's have a call on friday 👍

indefinitely = 1 week

SafeInfo can be cached indefinitely (this will be updated through webhooks) and error should be 1 minute
AddressInfo and SafeAppInfo this should be cached indefinitely and error 1 day
TokenInfo should be cached for 1 day and errors are cached 1 minute
fetch_exchange cache unchanged (12 hours) error timeout is 1 minute
Outter endpoint matches cache indefinitely, error timeout 1 minute

Proposed env variables:
Split INFO_CACHE_TIMEOUT -> SAFE_APP_MANIFEST_DURATION, TOKEN_INFO_DURATION, SAFE_INFO_DURATION, ADDRESS_INFO_DURATION
Add LONG_ERROR_DURATION, SHORT_ERROR_DURATION (1 day and 1 minute, respectively)
Notify DevOps we will remove INFO_CACHE_DURATION


Pin sphinx-autodoc-typehints version

A temporary version pin like https://github.com/Qiskit/qiskit-terra/pull/9377 to get docs CI working again.

The upgraded package version with this fix is working for terra but not experiments, so this needs to be investigated further.


Using argparse.FileType instead of opening files manually

Some clean up of pep8 errors. I didn't add anything with the line
lengths.

@pierrrrrrre Can this be merged?

Done. Thanks @Newky !


speed up publishing possibility by skipping sub component dev dependencies

Changing github action workflow from:
npm install

to
NODE_ENV=production npm ci

Will make it skip the devDependencies of stuff like design system components that currently contain heavy test dependencies in the dev section.
This will cause a problem if there are any devDependencies at the top site level that are needed for the build though so we probably need to reset how the top level package.json dependencies are working

If this works making the same change on all other 11ty repos that use design system components will be a big improvement

This sounds good - I was wondering about this when reviewing the 11ty builds this weekend. Wasn't sure which or if any of the main dependencies were required for the build tool to run.


New Release?

Is there a new release on this going to be put out soon? I'm living with behaviors everyday in my day job, and #108 is the most aggravating thing in my life right now (AssociatedObject? Intellisense is having none of it!), so it would be much lovely if it could be pushed to NuGet sometime soon.

BUMP * there are also other closed issues that are still not available in current nuget

v2.0 has been pushed to nuget this evening.


Fix markers disappearing when clipping planes are present.

Original pull request by Bastiaan Veelo (Bitbucket: veelo, GitHub: veelo).

Original comment by Roy Walmsley (Bitbucket: walroy, GitHub: walroy).

Bastiaan,
Why this is needed. My first thought is that clip planes are there to cut off stuff a scene author wants to not display. Doing this will allow markers to always remain visible, even when they are marking a point that is clipped.
Roy

Original comment by Bastiaan Veelo (Bitbucket: veelo, GitHub: veelo).

Hi Roy,
I am in the process of synchronising our quite old production repository with your official one, and at the moment it is difficult to run and test the newest Coin here (a CMake-branch of Quarter will help with that). I wrote this fix more than four years ago, but I am quite sure that the problem was that markers didn't render at all when an active clipping plane is present in the scene.  If you have a working .iv viewer ready, I think you should be able to reproduce this quite easily. I must admit that I forgot the details, and the code looks counter-intuitive, but it does fix the problem and markers are clipped properly. Please let me know if you want help with a sample .iv.
Bastiaan.

Original comment by Roy Walmsley (Bitbucket: walroy, GitHub: walroy).

Thanks for the explanation, Bastiaan.
If you have an example .iv file that would make it easier for me. If it's proprietary I am happy to solely use it for testing and then delete it. An easy, direct way to send it is using Skype.
Roy

Original comment by Bastiaan Veelo (Bitbucket: veelo, GitHub: veelo).

 So I'm writing this blind, but I think it should illustrate the problem.
#Inventor V2.1 ascii

Separator {
    ClipPlane {
    }
    Coordinate3 {
        point [ -1 -1 -1, 1 1 -1, 1 1 1, -1 -1 1, -1 -1 -1 ]
    }
    MarkerSet {
    }
    LineSet {
    }
}

I expect you'll see half of the LineSet, but no MarkerSet. With the fix you should also see half of the MarkerSet.
Bastiaan.

Original comment by Bastiaan Veelo (Bitbucket: veelo, GitHub: veelo).

With help of Roy, the problem could not be reproduced with this .iv. I'll get back to this after more testing.

Original comment by Bastiaan Veelo (Bitbucket: veelo, GitHub: veelo).

I finally got my viewer working again, and also found the original scene I used 5 years ago:
#Inventor V2.0 ascii

ClipPlane {
    plane -1 0 0  -0.5
}

Coordinate3 {
    point [ -2 -2 -2,
            -1 -1 -1,
             0  0  0,
             1  1  1,
             2  2  2 ]
}

MarkerSet {}

Cube {}

A cube and five markers diagonally aligned. Due to the clipping plane we see only half of the cube and 3 markers. The markers disappear under certain camera angles, which shouldn't happen.

I can't say I still understand what is going on in the patched code, but the patch does fix the problem. And the clipping plane still clips half of the markers as it is supposed to.
Bastiaan.

Original comment by Bastiaan Veelo (Bitbucket: veelo, GitHub: veelo).

This line probably answers the question why markers are still clipped if you disable the clipping planes as this patch does. The comment 9 lines up suggests that markers shouldn't be affected by clipping planes at all, but fact is that they are for certain view angles.

Original comment by Bastiaan Veelo (Bitbucket: veelo, GitHub: veelo).

I updated the PR commenting the fix.

Original comment by Roy Walmsley (Bitbucket: walroy, GitHub: walroy).

I ran your updated example and confirmed the disappearing effects on the existing code. I implemented your update, and it does indeed eliminate the disappearance.
Thanks for your patience and providing the updated example. I'll merge it now.
Roy


timer_start() truncates multi line messages

Describe the bug
It's not possible to print a multi line message using timer_start() function, only the last line is visible.
To Reproduce

Create script ~/timer_echo.vim:

function! MyFunction(...)
    echo 1
    echo 2
endfunction

Run VIM as:

vim -g -u NONE +'so ~/timer_echo.vim'

Type on VIM command line:

:call MyFunction()

Visible output:
1
2
Press ENTER or type command to continue

Type on VIM command line:

:call timer_start(0, 'MyFunction')

Visible output:
2

Expected behavior
Visible output:
1
2
Press ENTER or type command to continue

Environment:

Vim version: 8.2.2019
OS:  Ubuntu 20.04
Terminal: GUI

Hm, didn't we have something similar in the past? Similar issue is https://github.com/vim/vim/issues/836
There Bram mentioned:
Not sure if you really want to do this, the user may be doing something
that should not be interrupted by a list of messages. The callback
functions are not really intended to output a list of messages, that
would mess up the screen.

So I think expecting vim to output (and scroll multi-line messages) via async jobs or timers is not really supported. This could happen in the background messing up whatever the user is doing. I don't think this is going to be changed. Best is to avoid such things.

Yes, is it a duplicate of #836. It's worth documenting the behavior in affected functions.

I'll add a note about using popup_notification() at timer_start().
As mentioned, changing the behavior will cause other problems, thus I'll close this.

As mentioned, changing the behavior will cause other problems, thus I'll close this.

Then #3960 can be closed too, I think.  It seems to be the exact same issue.


[WIP] Refactor: Composition over inheritance

Issue Link 🔗
https://github.com/MarioIannotta/PullUpController/issues/30
Goals ⚽
Favor composition over inheritance so that an UIViewController that doesn't know anything about PullUpController can be used as a pull up controller.
Implementation Details 🚧
This PR Moves all the current logic in PullUpController to PullUpControllerManager, which is an object owned by the UIViewController used as the actual pull up controller.  All the configurable properties that could be overridden by the PullUpController subclass are moved to PullUpControllerConfiguration, an inmutable struct.
It hides some implementation details (like having to update the preferred frame/size and then updating constraints) and still allow to update the height/width.
The view controllers involved have to be "tagged" with the protocols PullUpController and PullUpControllerContainer to have access to the convenience methods in UIViewController.  I tried to keep the current functionality in the sample project, but the MapViewController knew a lot about the SearchViewController.  We can probably expose methods as needed.
The logic is pretty much the same, what changed radically is how the main controller and the pull up controller talk to each other and how much information they know about each other.
Known issues ⚠

[ ] Lost the ability to "detach" a scrollView, but it should be easily implemented. (I wasn't sure how to test this feature)
[ ] The pull up controller's frame is not getting updated correctly when the device is rotated.
[ ] I lied about the pull up controller not needing to know anything about PullUpController, it has to forward any calls to viewWillTransition(to:with:) to the PullUpControllerManager if you need to support changing size or rotation.
[ ] The height slider doesn't work in the sample project.

There are better ways of achieving the goals I wanted to achieve with this PR.
I want to refactor it to use a protocol instead of my manager.  At first I wanted to avoid using a protocol, but it is a better way.
I won't have time for a while, but I'm closing this PR for now.


Add class on positioning

Would it be possible to add a param to the initiation block that would make it possible to add a class once the item has been positioned?
I just released https://redditgrid.com using this lib, but im running into some issues with stuff being shown through the currently played pictures by the ones behind while they are being positioned, it would be idea to be able to simply add a class to the element and i could use to toggle opacity on the block once its loaded.
Also it could be used for some fancy CSS effects later on :)

Hi @Epenance
The site is looking great, its good to see macy out in the wild :) currently this is something thats not yet implemented, but i could look at adding it in.
Although as an alternative solution, you could target the data attribute that is attached to the completed items data-macy-complete in css you could do something like this
app-image-thumbnail {
 /* add styles for not loaded */
}

app-image-thumbnail[data-macy-complete="1"] {
 /* add styles for when loaded */
}```

Thanks for the quick reply, i literally figured that out the second i posted the issue, just didnt have time to both test it out and delete the issue :P

Awesome, let me know how it goes. I'll close this issue for now but if you have any problems just reopen.


Issue 0091

https://github.com/OpenSmock/Pyramid/issues/91

The CI is fix here : https://github.com/OpenSmock/Bloc-Serialization/pull/11

I don't understand why "roots" have an "s" and why there is a collection and not just BlSpace>>root element when there is no selection.

Hello,
I choose "root" to be the collection containing the BlElement.
It was a requirement that Pyramid saves a Collection of elements.
If we make it able to edit the BlSpace>>root element, i'm afraid we could have unwanted behaviour with the openFromSpace shortcut.
Is the BlSpace>>root element the same in Pyramid and in the Space we opened it from ?

I don't understand why "roots" have an "s" and why there is a collection and not just BlSpace>>root element when there is no selection.

Hello,
I choose "root" to be the collection containing the BlElement.
It was a requirement that Pyramid saves a Collection of elements.
If we make it able to edit the BlSpace>>root element, i'm afraid we could have unwanted behaviour with the openFromSpace shortcut.
Is the BlSpace>>root element the same in Pyramid and in the Space we opened it from ? (We have 2 BlSpace and also 2 root BlElement. One from the original space, one to display the Pyramid Editor)

Hi @Nyan11!
We shouldn't show users the technical details of Pyramid.
So, technically, it's good to handle two "Spaces": one for editing and one for viewing.
We can improve this later if needed.
Why does it matter?
From a user perspective, in the Playground, when I haven't selected elements, I use a Space and add elements to it.
As a user, I don't know the technical details of Pyramid, and I don't want to.
Pyramid users expect a Bloc API level in the Playground.
When no elements are selected, I can access the "root" element of the BlSpace (without an "s" because this is a Pyramid technical stuff).
If I understand your explaination there is an issue because if we expose the root to the user, this is not the "view" root but the pyramid edition "root", right ? The risk is to install behavior on this root and lost it when the view is opened in a test window or when the editor is closed to go back the original edited view ?

If I understand your explaination there is an issue because if we expose the root to the user, this is not the "view" root but the pyramid edition "root", right ? The risk is to install behavior on this root and lost it when the view is opened in a test window or when the editor is closed to go back the original edited view ?

Yes. For example, i set a specific layout in my root to display the children, this layout will not be replicated in "test space" or "original space".

One possible solution is to force the user to always have always one element as root.
The +++

the root can be the same as the "original" root and the "test" root
It make serializing/materializing a bit simplier.

The ---

You cannot have multiples elements as roots
It will change a lot of thing in Pyramid
If you want to replace the root element, it will be complicated. (For example if you want your root to be a (ToPanel and not a BlElement)

Chec this work : https://github.com/OpenSmock/Pyramid/issues/111


websocketDidDisconnect doesn't be called if [weak self] is nil

Testing version: 3.0.5 via pod install
Try to implement the Starscream as following, implement WebSocketAdvancedDelegate
class StarscreamViewController: UIViewController, WebSocketAdvancedDelegate {

    override func viewDidLoad() {
        super.viewDidLoad()
        initWebSample()
    }

    func initWebSample() {

        let url: URL = URL(string: "wss://echo.websocket.org")!
        var request = URLRequest(url: url)
        request.timeoutInterval = 50

        let stream = FoundationStream()
        stream.enableSOCKSProxy = true

        let socket = WebSocket(request: request,            // problem in here, the var is not in class level
                           protocols: ["chat","superchat"],
                           stream: stream)
        socket.advancedDelegate = self
        socket.disableSSLCertValidation = true
        socket.enableCompression = false
        socket.connect()

    }
}

since the socket var is declared within initWebSample, Starscream should return WSError.closeError. However, websocketDidDisconnect doesn't be called.
The call sequence is
WebSocket.swift
line 488 - func connect() - [line 492] call createHTTPRequest()
line 569 - func createHTTPRequest() - [line 612] call initStreamsWithData(httpBody.data(using: .utf8)!, Int(port!))
line 634 - func initStreamsWithData() - [line 660] call stream.connect(url: url, port: port, timeout: timeout, ssl: settings, completion: {}
line 143 - func connect() - [line 223] return completion block with WSError.closeError to line 661

Since the [weak self] already nil, it will only tigger return without anything, so no error will be returned to the delegate method.
attach the debugger call flow for reference.

Where do you expect the error to go if the websocket has been deallocated? You should be keeping a strong reference to the websocket instance from the calling code.


Docker for mac

We'll be putting docker on the Data R&D machines with bash completion.
Is this something we want on labs machines?

I've never needed it as a Labs Dev, and I feel comfortable installing it manually if I should ever need to. So I think in the interest of simplicity I'd say no.
Grant Hutchins

On Oct 6, 2016, at 11:35 AM, Todd Sedano<EMAIL_ADDRESS>wrote:
We'll be putting docker on the Data R&D machines with bash completion.
Is this something we want on labs machines?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.

Todd we're actually seeing serious performance regression in the (native-feeling) Docker for Mac app compared to docker-machine. I'd recommend against using it even for data.

Jesse, I haven't experienced that yet, but I'm not looking at performance
when using docker locally.
From a workstation-setup perspective, I'm not comfortable installing
docker-machine, virtual-box, and the docker client, and then (without
further instruction) expecting that those three tools together will work
and be helpful to devs who are less familiar with Docker & virtualization
in general. I'm very much liking the lower support burden of not needing to
teach people that setup.
Thus, I encourage full-steam ahead including Docker for Mac. Just my vote.
On Thu, Oct 6, 2016 at 10:41 PM, Jesse Zhang<EMAIL_ADDRESS>wrote:

Todd we're actually seeing serious performance regression in the
(native-feeling) Docker for Mac app compared to docker-machine. I'd
recommend against using it even for data.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/pivotal/workstation-setup/issues/73#issuecomment-252157604,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AGkSAeLxJuD2XAxCfEVCZ45j7bpByd6mks5qxdubgaJpZM4KQKDY
.

All Pivotal workstations and laptops come with VMware Fusion pre-installed. So we don't have a vbox problem here.
Stability is still a serious problem even though Docker for Mac has nominally gotten out of Beta. It's the new fail whale.
I was very excited about the native-feeling Docker for Mac, but I can't get my work done with it.
It's one brew install away, isn't it?


Introduce a CryptoHash trait to easily hash types

this introduces the CryptoHash trait, which you can implement for a type to get access to a digest() function:
#[derive(Serialize)]
struct A {
    thing: u8,
}
impl CryptoDigest for A {
    const PREFIX: &'static [u8; 15] = b"kimchi-circuit0";
}
println!("digest: {:?}", a.digest());

The PREFIX is a domain-separation string that is simply prepended to the real input.
Benefit of this approach:

less error-prone since we generate the boilerplate by implementing the trait
uses a domain-separation string by default

It would be nice if:

we could just use a macro#[derive(Serialize, CryptoDigest("kimchi-circuit")]
struct A {

we could make sure all types that implement CryptoDigest use different prefixes
the hash state with the prefix is pre-computed (for example using sha2-const)

Do you think this can be integrated with the signer crate somehow so that I could use it to wrap around poseidon and then use it from there?

IIUC there's two different "hashable", one that's for SHA-256 and one that's for Poseidon. They are pretty different since the one for SHA-256 relies on messagepack for encoding AND implements both that encoding and the hashing in the same function (digest), whereas the one for poseidon is split between an encoding function and a hashing function right? I'm not sure how you would reconcile these two.


setLoading needs to split

https://github.com/nz-m/SocialEcho/blob/4dc6c7822bfff5c0b13e1b8098e8d7ae0084939a/client/src/AppContainer.jsx#L46
https://github.com/nz-m/SocialEcho/blob/4dc6c7822bfff5c0b13e1b8098e8d7ae0084939a/client/src/AppContainer.jsx#L28
https://github.com/nz-m/SocialEcho/blob/4dc6c7822bfff5c0b13e1b8098e8d7ae0084939a/client/src/AppContainer.jsx#L53
Currently setLoading is shared with the redux store initialization and the server-status check.
If any one of them passes, the app renders.
So you can have:

possibility that the server is down, but redux initialized successfully, so no "loading.." will occur unless 'error' flag is also set quickly.
Even worse, the server-status check completes really fast, before redux store is initialized, and the app tries to acces useState for example before the store is up. (Ask me how i know 😉)

Better to split the two, have two flags and check for both.

Can I work on this ?


Use setuptools_scm for version

Inspired by the astropy proposal to use setuptools_scm for versioning, I gave this a spin for a worst-case package, namely the dual-install Ska.engarchive / cheta pair.
I like it!  Basically this does what the original version.py wanted to do, but way better and using a clean package that is broadly accepted in the Python packaging community.
The key feature is use of the most recent git tag as the definition of version so that a hard-coded __version__ never appears in the repo.  See versioning scheme for the details, but basically for a clean repo at the last tag you get that tag, but otherwise you always get handy "dev" info.

And I'm assuming for an installed version there will be no .git or anything related to a VCS, so no tries to call git and subsequent window flashing on Windows.

FYI, just tried installing the package and getting version and this fails.  So something is not quite right yet.

And I'm assuming for an installed version there will be no .git or anything related to a VCS, so no tries to call git and subsequent window flashing on Windows.

4baa69d addresses both the previous comments, and in particular the installed package has no dependency on setuptools_scm so by definition it can't be calling git.
Now after installing to a test Ska3 and getting out of the source repo I get:
In [1]: import Ska.engarchive

In [2]: Ska.engarchive.__version__
Out[2]: '4.45.2.dev3+gf70fe12.d20190308'

In [3]: import cheta

In [4]: cheta.__version__
Out[4]: '4.45.2.dev3+gf70fe12.d20190308'

This is so nice because now you can install a dev version into a test Ska3 and actually see that you are getting a dev version of the package.  No more pip install --ignore-installed . to cover up the fact that the "version" has not changed.

See https://github.com/sot/sparkles/pull/107 for a simpler example.
@jeanconn @jzuhone - would this help, hurt, or have no impact on skare3 and our conda packaging?

I think this is fine with me--I've been using versioneer for non-CXC stuff lately, but I don't know how this compares to that.

Unfortunately this does not work with the current FOT Windows build process, which is relying on zip files from GitHub that don't have the required metadata for this to work.  Need to put this aside for now.

Is https://pypi.org/project/setuptools-scm-git-archive/ helpful?

Interesting, worth checking.

It works!  For testing I tagged this with 1.1.1 (there are no real releases 1.x).  The change footprint is unfortunately bigger with those two new files, but not a showstopper.  (I was thinking to factor out the version handling in <package>/__init__.py to a common function somewhere so that update becomes smaller and maintainable).

Actually, I fixed a typo in setup.py and tagged as 1.1.2.  (Will clean these up later).

This installed on Windows 10 as well.

Great!  I saw there was a note on the pypi page "Note that it only works for archives of tagged commits (because git currently lacks a format option equivalent to git describe --tags)." and I didn't know exactly what that meant as a caveat with regard to tagged things.

Yeah, just need to click on the tag and then get the zip file, and it seems to work.

Superseded by #187


Remove activesupport version for Rails 6 compatibility

Required for rails 6 upgrade

We unfortunately have a dependency on this gem via Aptible-Api and are unable to upgrade to Rails 6. The author of the feature that introduced the dependency found it much easier to use the gem to asynchronously initiate scaling and to get a status of an operation. AFAIK, the CLI is not capable of retrieving an operation's status.
Is Aptible willing to consider updating this to remove ActiveSupport or increase its version range? Would it help if I made the changes?

@almathew AbleHealth uses https://github.com/aptible/aptible-api-ruby which depends on this gem. It is used to asynchronously autoscale Aptible resources and asynchronously check an operation's status. The last I checked the CLI doesn't have the functionality to check an operation's status. I say this because in the back of my mind there was guidance from Aptble to not use the API gem should not be used.
We are now looking to upgrade to Rails 6 which is blocked by the ActiveSupport dependency of this gem. Is Aptible willing to consider updating this gem? What are the options? (remove version, increase version constraint, see if AS is really needed?) How can I help?

@ryanswood I'll take a look at what our options are and update you sometime early next week

@almathew How is the change looking? I am curious if there is a timeline even if it is far out. There is no particular pressure on my end other than seeing the project to unblock an upgrade to Rails 6 to completion. Appreciate the effort.

@almathew Is there an update?


update cache adapter

update cache adapter

Codecov Report

Merging #1467 (2d1593f) into master (85299cd) will decrease coverage by 0.06%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master    #1467      +/-   ##
==========================================
- Coverage   69.76%   69.70%   -0.07%
==========================================
  Files         404      404
  Lines       39368    39368
==========================================
- Hits        27467    27442      -25
- Misses      10127    10147      +20
- Partials     1774     1779       +5

Flag
Coverage Δ

go-1.14
?

go-1.15
69.70% <ø> (?)

go-1.16
?

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

os/gspath/gspath_cache.go
87.71% <0.00%> (-7.02%)
:arrow_down:

net/gtcp/gtcp_pool.go
34.09% <0.00%> (-4.55%)
:arrow_down:

net/gtcp/gtcp_conn.go
31.35% <0.00%> (-2.71%)
:arrow_down:

os/glog/glog_logger_rotate.go
67.31% <0.00%> (-1.47%)
:arrow_down:

container/gtree/gtree_avltree.go
92.03% <0.00%> (-1.20%)
:arrow_down:

container/gtree/gtree_redblacktree.go
86.22% <0.00%> (-0.93%)
:arrow_down:

container/gtree/gtree_btree.go
88.36% <0.00%> (+0.50%)
: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 85299cd...2d1593f. Read the comment docs.


docs: Remove misleading optional annotation

According to the docs, EnhancedComponentProps is the type of the props that will be assigned to the generated component.
If this is the case, text is never going to be undefined or null because our HOC is making sure to set it to string in any possible case.

Codecov Report

Merging #634 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #634   +/-   ##
=======================================
  Coverage   88.28%   88.28%
=======================================
  Files          49       49
  Lines         367      367
=======================================
  Hits          324      324
  Misses         43       43

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 7918e23...3e5e709. Read the comment docs.

Enhanced component can can define text or not. Base component will have text defined always.
All is right.

So "EnhancedProps" are going to be the outer props of the enhanced competent? I think the wording could help some improvement in this case...

Just props of enhanced component, components have no outer or inner props. Wording is hard ;-)


Update type for loaded GlobalInvocationID in pass instrumentation

When working on descriptor indexing validation for compute shaders, the
gl_GlobalInvocationID builtin was being loaded as uint which would cause
compute shaders instrumented by the bindless check pass to have:
%83 = OpLoad %uint %gl_GlobalInvocationID
%84 = OpCompositeExtract %uint %83 0
%85 = OpCompositeExtract %uint %83 1
%86 = OpCompositeExtract %uint %83 2
which results in validation failures:
error: line 127: Reached non-composite type while indexes still remain
to be traversed.
%84 = OpCompositeExtract %uint %83 0
for trying to extract a uint from a uint.

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


Unpacking Definition Files Results in "Too many open files"

Issue detail
Running awsdac on examples fails to unpack definitions due to "too many open files" error.
Mac M1 14.7 (23H124)
Reproduce process
$ awsdac examples/alb-ec2.yaml
FATA[0000] Cannot ExtractZipFile(/Users/phene/.cache/awsdac/ccecb6dfad3955969e4ce76bd853af4a-0546cce5532e24591c1c11360c79af62-AWS-Architecture-Icon-Decks.pptx.d6671530ea426cd7ff7fb00423bccb120bfc69df.zip/AWS-Architecture-Icons-Deck_For-Light-BG_06072024.pptx): Cannot create file with directory: Cannot create file(/Users/phene/.cache/awsdac/273c45b112d6d3f10470537d9bb0eda8-AWS-Architecture-Icons-Deck_For-Light-BG_06072024.pptx/ppt/media/image766.svg): open /Users/phene/.cache/awsdac/273c45b112d6d3f10470537d9bb0eda8-AWS-Architecture-Icons-Deck_For-Light-BG_06072024.pptx/ppt/media/image766.svg: too many open files

$ awsdac examples/alb-ec2.yaml
[Completed] AWS infrastructure diagram generated: output.png

The resulting file is missing icons. Deleting ~/.cache/awsdac and rerunning yields the same results.

I was able to get around this by extracting the files manually from the pptx. I believe this issue is caused by all of the deferred file Close() operations leaving so many open file handles. It would probably be good to close some of them synchronously rather than waiting for the method's end.

Thank you for reporting the issue!
As you pointed out, defer fo.Close() did not work correctly and the file descriptor kept increasing.
$ rm -rf ~/.cache/awsdac/ && strace ./awsdac examples/privatelink.yaml 2>&1 | grep -e open -e close
 ~
openat(AT_FDCWD, "/home/ugwis/.cache/awsdac/273c45b112d6d3f10470537d9bb0eda8-AWS-Architecture-Icons-Deck_For-Light-BG_06072024.pptx/ppt/media/image761.png", O_RDWR|O_CREAT|O_TRUNC|O_CLOEXEC, 0666) = 1017
openat(AT_FDCWD, "/home/ugwis/.cache/awsdac/273c45b112d6d3f10470537d9bb0eda8-AWS-Architecture-Icons-Deck_For-Light-BG_06072024.pptx/ppt/media/image762.svg", O_RDWR|O_CREAT|O_TRUNC|O_CLOEXEC, 0666) = 1018
openat(AT_FDCWD, "/home/ugwis/.cache/awsdac/273c45b112d6d3f10470537d9bb0eda8-AWS-Architecture-Icons-Deck_For-Light-BG_06072024.pptx/ppt/media/image763.png", O_RDWR|O_CREAT|O_TRUNC|O_CLOEXEC, 0666) = 1019
openat(AT_FDCWD, "/home/ugwis/.cache/awsdac/273c45b112d6d3f10470537d9bb0eda8-AWS-Architecture-Icons-Deck_For-Light-BG_06072024.pptx/ppt/media/image764.svg", O_RDWR|O_CREAT|O_TRUNC|O_CLOEXEC, 0666) = 1020
openat(AT_FDCWD, "/home/ugwis/.cache/awsdac/273c45b112d6d3f10470537d9bb0eda8-AWS-Architecture-Icons-Deck_For-Light-BG_06072024.pptx/ppt/media/image765.png", O_RDWR|O_CREAT|O_TRUNC|O_CLOEXEC, 0666) = 1021
openat(AT_FDCWD, "/home/ugwis/.cache/awsdac/273c45b112d6d3f10470537d9bb0eda8-AWS-Architecture-Icons-Deck_For-Light-BG_06072024.pptx/ppt/media/image766.svg", O_RDWR|O_CREAT|O_TRUNC|O_CLOEXEC, 0666) = 1022
openat(AT_FDCWD, "/home/ugwis/.cache/awsdac/273c45b112d6d3f10470537d9bb0eda8-AWS-Architecture-Icons-Deck_For-Light-BG_06072024.pptx/ppt/media/image767.png", O_RDWR|O_CREAT|O_TRUNC|O_CLOEXEC, 0666) = 1023
openat(AT_FDCWD, "/home/ugwis/.cache/awsdac/273c45b112d6d3f10470537d9bb0eda8-AWS-Architecture-Icons-Deck_For-Light-BG_06072024.pptx/ppt/media/image768.svg", O_RDWR|O_CREAT|O_TRUNC|O_CLOEXEC, 0666) = 1024
 ~

I solved this issue by separating the function for writing to the file and believe this change prevents you from failing with too many open files error.
$ rm -rf ~/.cache/awsdac/ && strace ./awsdac examples/privatelink.yaml 2>&1 | grep -e open -e close
 ~
openat(AT_FDCWD, "/home/ugwis/.cache/awsdac/273c45b112d6d3f10470537d9bb0eda8-AWS-Architecture-Icons-Deck_For-Light-BG_06072024.pptx/ppt/media/image179.png", O_RDWR|O_CREAT|O_TRUNC|O_CLOEXEC, 0666) = 9
close(9)                                = 0
openat(AT_FDCWD, "/home/ugwis/.cache/awsdac/273c45b112d6d3f10470537d9bb0eda8-AWS-Architecture-Icons-Deck_For-Light-BG_06072024.pptx/ppt/media/image178.svg", O_RDWR|O_CREAT|O_TRUNC|O_CLOEXEC, 0666) = 9
close(9)                                = 0
openat(AT_FDCWD, "/home/ugwis/.cache/awsdac/273c45b112d6d3f10470537d9bb0eda8-AWS-Architecture-Icons-Deck_For-Light-BG_06072024.pptx/ppt/media/image177.png", O_RDWR|O_CREAT|O_TRUNC|O_CLOEXEC, 0666) = 9
close(9)                                = 0
openat(AT_FDCWD, "/home/ugwis/.cache/awsdac/273c45b112d6d3f10470537d9bb0eda8-AWS-Architecture-Icons-Deck_For-Light-BG_06072024.pptx/ppt/media/image176.svg", O_RDWR|O_CREAT|O_TRUNC|O_CLOEXEC, 0666) = 9
close(9)                                = 0
openat(AT_FDCWD, "/home/ugwis/.cache/awsdac/273c45b112d6d3f10470537d9bb0eda8-AWS-Architecture-Icons-Deck_For-Light-BG_06072024.pptx/ppt/media/image175.png", O_RDWR|O_CREAT|O_TRUNC|O_CLOEXEC, 0666) = 9
close(9)                                = 0
openat(AT_FDCWD, "/home/ugwis/.cache/awsdac/273c45b112d6d3f10470537d9bb0eda8-AWS-Architecture-Icons-Deck_For-Light-BG_06072024.pptx/ppt/media/image174.svg", O_RDWR|O_CREAT|O_TRUNC|O_CLOEXEC, 0666) = 9
close(7)                                = 0
 ~

This will be included in v0.21.7, but it was already merged so you can build and test it yourself.

We have already released v0.21.7, so I believe these unintended FD handling issue was resolved.
If you continue to have problems, feel free to reopen it.


Make the splash screen application-modal rather than system-modal

See https://github.com/apache/jmeter/pull/610

Looks good to me.