Ensure screenreaders announce the page title / change when reaching the confirmation page

When a form is submitted while using a screenreader, the screenreader will correctly read out the "we are processing your form" blurb while the form is submitting. However, once the confirmation page appears, the screenreader does not announce the new page title or heading.
This should be improved to give folks using these assistive technologies the same confirmation that their form has submitted, without them having to know that they need to navigate through a new page to figure out whether the form has succeeded or not.

Investigation results so far:

When a form has been submitted a new page is generated so the screen reader reads it from the beginning. We pretty much have the same issue when the form page is being presented to the user.
The reason why the "form submission is in progress" message is being read by the screen reader is because the page stays but the content is dynamically updated and we have implemented the role="status" property (https://github.com/cds-snc/platform-forms-client/blob/main/components/globals/Loader.tsx#L21) which is used to tell the screen reader that a new element has been added to the page and it needs to be read.

Here is a solution I quickly tested:

In DynamicForm.tsx I added a piece of code that automatically focuses the first h1 HTML element (which is the "Form has been submitted" message in our case).

useEffect(() => {
  const element = document.getElementsByTagName("h1").item(0);
  element?.focus();
}, []);


feat: use eslint flat config

Update the old eslintrc file to the new flat config format, rework eslint config, and lint all files.

Why tabs? We do 4 spaces for all of our other repos?
On Sun, 11 Aug 2024 at 10:21, Saya @.***> wrote:

@.**** requested changes on this pull request.
In eslint.config.mjs
https://github.com/shipgirlproject/Shoukaku/pull/188#discussion_r1712875132
:

// await augu.typescript(),

stylistic.configs['disable-legacy'],
{

   languageOptions: {

       parserOptions: {

           projectService: true,

           tsconfigRootDir: import.meta.dirname

       }

   },

   plugins: {

<EMAIL_ADDRESS>stylistic

   },

   rules: {

<EMAIL_ADDRESS>[ 'error' ],

<EMAIL_ADDRESS>[ 'error' ],

<EMAIL_ADDRESS>[ 'error', 4, { 'SwitchCase': 1 }],

Use tabs for indents
On eslint.config.mjs
https://github.com/shipgirlproject/Shoukaku/pull/188#discussion_r1712875776
:
We should consider moving our eslint config to a dedicated repo so we can
keep the coding style consistent through out our ts and js projects
Can be left for future, but something we need to do
—
Reply to this email directly, view it on GitHub
https://github.com/shipgirlproject/Shoukaku/pull/188#pullrequestreview-2231727523,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AOYR3RRM5BAZXAZNOUNWYHDZQ3DDFAVCNFSM6AAAAABMJUN2ECVHI2DSMVQWIX3LMV43YUDVNRWFEZLROVSXG5CSMV3GSZLXHMZDEMZRG4ZDONJSGM
.
You are receiving this because you authored the thread.Message ID:
@.***>

Why tabs? We do 4 spaces for all of our other repos?
On Sun, 11 Aug 2024 at 10:21, Saya @.***> wrote:

@.**** requested changes on this pull request.

In eslint.config.mjs

https://github.com/shipgirlproject/Shoukaku/pull/188#discussion_r1712875132

:

// await augu.typescript(),

stylistic.configs['disable-legacy'],

{

   languageOptions: {

       parserOptions: {

           projectService: true,

           tsconfigRootDir: import.meta.dirname

       }

   },

   plugins: {

<EMAIL_ADDRESS>stylistic

   },

   rules: {

<EMAIL_ADDRESS>[ 'error' ],

<EMAIL_ADDRESS>[ 'error' ],

<EMAIL_ADDRESS>[ 'error', 4, { 'SwitchCase': 1 }],

Use tabs for indents

On eslint.config.mjs

https://github.com/shipgirlproject/Shoukaku/pull/188#discussion_r1712875776

:

We should consider moving our eslint config to a dedicated repo so we can

keep the coding style consistent through out our ts and js projects

Can be left for future, but something we need to do

—

Reply to this email directly, view it on GitHub

https://github.com/shipgirlproject/Shoukaku/pull/188#pullrequestreview-2231727523,

or unsubscribe

https://github.com/notifications/unsubscribe-auth/AOYR3RRM5BAZXAZNOUNWYHDZQ3DDFAVCNFSM6AAAAABMJUN2ECVHI2DSMVQWIX3LMV43YUDVNRWFEZLROVSXG5CSMV3GSZLXHMZDEMZRG4ZDONJSGM

.

You are receiving this because you authored the thread.Message ID:

@.***>

Tabs are more consistent and faster to use, Kashima and Suzutsuki is already using it. Other repos don't yet as I haven't touched those yet


Find a better solution for handling config files

currently during build steps we are copying config files to multiple places:
frontend config locations

app/public/config/config.js (default place)
app/build/config/config.js (by frontend yarn build)
server/public/config/config.js (by frontend yarn build)
server/dist/public/config/config.js (by backend yarn build)

backend config locations

server/config/config.js (default place)
server/dist/config/config.js (by backend yarn build)

this will definitely lead to mistakes:

people think they made a change, but it is not applied due to the wrong file
changes in the wrong place get overwritten
build steps necessary to propagate config changes

I had a similar problem/mistake several times ;-)
What we could do to partially reduce the problem what comes to my mind now is:

minify the build's configs
comment at the beginning of build's config files like "Don't modify anything here_ bla bla bla" with path to the real config file
put a file named like "DON'T MODIFY ANYTHING HERE" in build folders

another partial solution could be to have the public path customizeable, so that we could also set it to the frontend dist folder directly per default:
  publicPath: path.join(__dirname, '../../app/build/`)

PR #888

app/build/config/config.js (by frontend yarn build)

app/build doesn't exist anymore (moving instead of copying)

server/public/config/config.js (by frontend yarn build)

server/public doesn't exist anymore at this level (moved to /server/dist/public)

server/dist/public/config/config.js (by backend yarn build)

server/dist/public is now a folder not a link

server/dist/config/config.js (by backend yarn build)

added a warning file inside /server/dist


[BUG] Totally disable tenancy

Describe the bug
https://discuss.opendistrocommunity.dev/t/totally-disable-tenancy/5833
When multi-tenancy is disabled, it should not prompt the user to 'Select your tenant'
Or at least there should be an option to disable the pop-up.
To Reproduce
Steps to reproduce the behavior:

Disable multi-tenancy opensearch_security.multitenancy.enabled: false
Log in
See popup

Expected behavior
Should not show pop-up
OpenSearch Version
1.0.0 & 1.1.0
Dashboards Version
1.0.0 & 1.1.0
Plugins

security
s3 repository

Screenshots

Host/Environment (please complete the following information):

Docker
Chrome

Additional context
Add any other context about the problem here.

Hi, any updates about it?

Duplicate issue: https://github.com/opensearch-project/security-dashboards-plugin/issues/854

Hi, any updates on when this fix will be planned?

Hi @kavilla , is there any plan to fix this bug?

Duplicate issue: https://github.com/opensearch-project/OpenSearch-Dashboards/issues/1174

Hello @amirkkn, I see @hsiang9431-amzn assigned to it. @hsiang9431-amzn would you be able to comment on this issue?

@hsiang9431-amzn - it's been a while ... is there any progress on this?

Hello @amirkkn, I see @hsiang9431-amzn assigned to it. I believe they will have better insight.

Hi @kavilla . I see, no one anymore was assigned to this issue. Do you see any progress about it in the near future?

Hi there! it is in our radar but haven't had a chance to get to it. This seems self-contained enough to be a first issue/PR for new contributors, so tagged as such in case anyone can jump in before we get to it!

Is this meant to be only in main @cliu123 ?

@peternied I believe that this didn't get backported to 2.0 branch just in order to minimize the risk of breaking 2.0.0-rc1 path to release. It can be a part of 2.0.0 GA if that will be safer.

Would it be a hassle to backport to 1.x? As an upgrade to 2.x is a bit far away for us but we working on it

@xonvanetta we no longer have new feature releases coming out for the 1.x line, only bug fixes, sorry.

Sorry... it is a bug! I take it back

Thanks @peternied for getting this in quickly ! This enhances the end user experience.

Merge this fix into 1.3 - it will be available on the next patch release
https://github.com/opensearch-project/security-dashboards-plugin/pull/1095

This issue is replicable in Opensearch Version 2.7.0

Yup. Confirming it's a thing as of 2.7.0


Dlib 19.10 Python Interface problem

Hello,
I've installed the python interface for the Dlib-19.10 with python setup.py install command and it has been already added to the Python environment.

But when I try to access the functions or classes (APIs), it behaves like an empty class. I mean it appears nothing when I type the Dlib with a dot(.) dlib. , or it does not execute something.
and this is the error in the console:
Python 3.6.5 -  Windows 10
import dlib
ImportError: DLL load failed: The specified module could not be found.

Try uninstall dlib and then install the same way stable version, for example dlib 19.4.
If that doesnot work then problem in some of your installation steps.

Do not install an old version like 19.4.
What does "behaves like an empty class" mean?  You then go on to say that you get an error when you run import dlib.  So you can't even import it? How do you then get into a position to write dlib. anything in the first part of your question?
You need to read the issue template and clearly describe your problem and the steps to reproduce it.

Actually I read the template but I could not fit this problem in it. That's the reason I wrote like that.
Just try to install the Python interface for the Dlib-19.10 on a Windows 10 machine and a Python 3.6.5 environment.
I can not import the Dlib, although it has being installed. and I get the above mentioned error.

I've done this, and it's also part of the unit tests and it all works fine.  Lots of other people also use dlib in this configuration.
If you can't figure out how to replicate the problem you aren't going to get help.

I had this issue while using MKL lib. If you don't set the MKL environment variables after you install you probably get dll error. Here you should do: https://software.intel.com/en-us/mkl-windows-developer-guide-setting-environment-variables
Just call mklvars intel64 mod ilp64 in "C:\Program Files (x86)\IntelSWTools\compilers_and_libraries\windows\mkl\bin"
then try python in same shell and import dlib. If it is OK make the variables as system global variables. Variables are PATH, LIB, and INCLUDE.
@davisking Maybe it can be added to somewhere on the installation notes.

CMake is setup to link to the Intel MKL correctly without the user doing anything.  If that isn't what is happening then please post your own issue that describes exactly how to replicate the problem.

I have the same problem. Like what @deeptechs commented, every single time before I use dlib, I have to call "C:\Program Files (x86)\IntelSWTools\compilers_and_libraries\windows\mkl\bin\mklvars.bat" intel64 mod ilp64; otherwise, the error below will occur.
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: DLL load failed: The specified module could not be found.

Try using the latest dlib on github.  I just pushed a change that makes the
installer automatically pull in the Intel MKL dll files so you don't have
to deal with this anymore.

When I install the dlib v19.6.1 then solve the problem, my previous version is 19.6.0.


I2S signals from HFP-AG and HFP-HF (IDFGH-6095)

Environment

Development Kit: two LyraTs v4.3
IDF version: v4.3.1-245-gba15ac8634 installed from "esp-idf-tools-setup-online-2.11" , release/v4.3
Build System: idf.py
Compiler version: xtensa-esp32-elf-gcc --version
Operating System: Windows
environment type: ESP Command Prompt
Using an IDE?: Yes, ESP-IDF Eclipse
Power Supply:  USB

Problem Description
I have two LyraT v4.3, one flashed with examples\bluetooth\bluedroid\classic_bt\hfp_ag and the other one with examples\bluetooth\bluedroid\classic_bt\hfp_hf. I am trying to measure the I2S audio signals from the I2S pin header present on the boards. I need to establish a wide band connection (16 kHz sample rate) between the two boards. These are the main settings I changed in the sdkconfigs:

BR/EDR Sync(SCO/eSCO) max connections --> 1
BR/EDR Sync(SCO/eSCO) default data path --> PCM
audio(SCO) data path --> HCI in order to unlock the wide band speech setting
Wide band speech --> ON

Are these settings right? Could someone please explain in simple words the meaning of BR/EDR Sync(SCO/eSCO) default data path, audio(SCO) data path and when to use PCM/HCI? I could not find any explanations in the docs. Sorry but this is my first time with ESP32 programming.
Expected Behavior
Measure the I2S signals from the LyraT I2S header.
Actual Behavior
No signals can be measured from the I2S header. If audio(SCO) data path is set to PCM I can measure the 8 kHz clock but for my application I would need the 16 kHz one. Is it doable?
I also tried to change BR/EDR Sync(SCO/eSCO) default data path to HCI with no success.
Debug Logs
Logs from AG:
hfp_ag> W (2374) BT_APPL: new conn_srvc id:5, app_id:0
I (2384) BT_APP_HF: APP HFP event: CONNECTION_STATE_EVT
I (2384) BT_APP_HF: --connection state CONNECTED, peer feats 0x0, chld_feats 0x0
E (2444) BT_BTC: btc_hf_cb_handler: Invalid index 23568
I (2464) BT_APP_HF: APP HFP event: CIND_RESPONSE_EVT
I (2464) BT_APP_HF: --CIND Start.

I (4763) BT_HF: ESP_BT_GAP_DISC_STATE_CHANGED_EVT
W (5843) BT_APPL: new conn_srvc id:27, app_id:1
I (5853) BT_HF: APP HFP event: CONNECTION_STATE_EVT
I (5863) BT_HF: --connection state connected, peer feats 0x0, chld_feats 0x0
I (5943) BT_HF: APP HFP event: CALL_IND_EVT
I (5943) BT_HF: --Call indicator NO call in progress
I (5943) BT_HF: APP HFP event: CALL_SETUP_IND_EVT
I (5943) BT_HF: --Call setup indicator NONE
I (5963) BT_HF: APP HFP event: NETWORK_STATE_EVT
I (5963) BT_HF: --NETWORK STATE available
I (5973) BT_HF: APP HFP event: SIGNAL_STRENGTH_IND_EVT
I (5973) BT_HF: -- signal strength: 4
I (5973) BT_HF: APP HFP event: ROAMING_STATUS_IND_EVT
I (5983) BT_HF: --ROAMING: inactive
I (5983) BT_HF: APP HFP event: BATTERY_LEVEL_IND_EVT
I (5993) BT_HF: --battery level 3
I (5993) BT_HF: APP HFP event: CALL_HELD_IND_EVT
I (5993) BT_HF: --Call held indicator NONE held
I (6013) BT_HF: APP HFP event: CONNECTION_STATE_EVT
I (6013) BT_HF: --connection state slc_connected, peer feats 0x36e, chld_feats 0x0
I (6023) BT_HF: APP HFP event: INBAND_RING_TONE_EVT
I (6023) BT_HF: --inband ring state Provided
I (13053) BT_HF: ESP_BT_GAP_MODE_CHG_EVT mode:2
I (14193) BT_HF: ESP_BT_GAP_MODE_CHG_EVT mode:0
E (14233) BT_BTM: btm_sco_connected, handle 181
I (14233) BT_HF: APP HFP event: AUDIO_STATE_EVT
I (14233) BT_HF: --audio state connected_msbc
I (21513) BT_HF: ESP_BT_GAP_MODE_CHG_EVT mode:2

Other items if possible
sdkconfigs.zip

Hi， @skateskate Have you solved the problem? I have the same problem as you, I can't hear any sound from AG with i2s, if you have any ideas, please let me know, thank you!


Unable to run more than 10 minion tasks

There is a ECS limit that restricts a single run-task command to have a maximum count of 10
Adding in the ability to break the command up if there are more than 10 minions would be helpful when a load test requires high volume.

Possibly something like this?
Step 6 - Run the Minion task with the requested count
echo "Running task: $MINION_TASK_DEFINITION, instance count: $MINION_COUNT"
if [ $MINION_COUNT -lt 10 ]
MINION_TASK_IDS=$(aws ecs run-task --cluster $MINION_CLUSTER_NAME --task-definition $MINION_TASK_DEFINITION --count $MINION_COUNT
--query 'tasks[].[taskArn]' --output text | tr '\n' ' ')
else
i=0
while [ $i -lt $MINION_COUNT ]
do
MINION_TASKS_IDS="$MINION_TASKS_IDS$(aws ecs run-task --cluster $MINION_CLUSTER_NAME --task-definition $MINION_TASK_DEFINITION --count 1
--query 'tasks[].[taskArn]' --output text | tr '\n' ' ')"
let "i++"
done
fi

Thanks for finding this.  Here is the reference to all ECS service limits.
http://docs.aws.amazon.com/AmazonECS/latest/developerguide/service_limits.html


Allow extension and/or modification of success/error response handlers within Filters

The purpose of this design charter is to evaluate a strategy for allowing extension and/or modification of success and error response handlers within a set of applicable server endpoints (implemented within Filter classes).
The present state of success and error handlers is that they are implemented mostly as private instance methods within respective Filter classes. (List of Filter classes below).
Success response handlers
Success response handlers should not be fully modifiable as they contain logic critical to a stable operating auth server, but they should be customizable at designated points. The designated points should be decided in advance with the criteria being: should a developer be able to modify this behavior? The approach of allowing the developer to inject Consumer<T> classes in order to extend a certain logic of a handler may be an option.
Success response handlers may be extendable at designated points. A developer should be able to inject their own application logic (e.g. for logging purposes) as needed — after the critical default success response handler.
Error response handlers
Error response handlers are much lighter than success response handlers as they contain less logic and overall have a smaller footprint for any given Filter response.
For example, the following is a subset of Filters contain the same logic for error response handling which may be abstracted into a consistent pattern for a default error response handler:

OAuth2TokenIntrospectionEndpointFilter
OAuth2TokenRevocationEndpointFilter
OAuth2TokenEndpointFilter
OAuth2DeviceAuthorizationEndpointFilter

Error response handlers may be extendable at designated points. A developer should be able to inject their own application logic (i.e. for logging purposes) as needed — after the critical default error response handler.
Potential approaches
Potential approaches for affording extensions of response handlers:

Using private scoped, static functions as default success and error handlers, which may then be used in a class using Delegation pattern.
Disallow overriding default handlers (private methods) as needed.

Potential approaches for affording modifications of default response handlers:

Usage of Consumer<T> implementations

Appendix
The following is a list of allFilter classes

Applicable (i.e. success/error handlers are present)

OAuth2AuthorizationEndpointFilter
OAuth2ClientAuthenticationFilter
OAuth2DeviceAuthorizationEndpointFilter
OAuth2DeviceVerificationEndpointFilter
OAuth2TokenEndpointFilter
OAuth2TokenIntrospectionEndpointFilter
OAuth2TokenRevocationEndpointFilter
OidcUserInfoEndpointFilter
OidcClientRegistrationEndpointFilter
OidcLogoutEndpointFilter

Not applicable (i.e. no success/error handlers present)

NimbusJwkSetEndpointFilter
OAuth2AuthorizationServerMetadataEndpointFilter
OidcProviderConfigurationEndpointFilter

Use cases

Application and/or audit logging of authorization server responses.
Modify response codes and/or messages as per organizational need.
Append additional data to success or error responses.

Related open issues

https://github.com/spring-projects/spring-authorization-server/pull/1212
https://github.com/spring-projects/spring-authorization-server/issues/925
https://github.com/spring-projects/spring-authorization-server/issues/1240
https://github.com/spring-projects/spring-authorization-server/issues/541

Thanks for the detailed analysis @ddubson !
As far as the approach goes, I think we should start exposing AuthenticationSuccessHandler and AuthenticationFailureHandler implementations to allow for delegation-based strategy configurations. Furthermore, exposing new class implementations will allow us to add hooks to allow for customizing the default behaviour.
For the first iteration, let's create a new AuthenticationFailureHandler that will be used by:

OAuth2TokenEndpointFilter
OAuth2TokenIntrospectionEndpointFilter
OAuth2TokenRevocationEndpointFilter
OAuth2DeviceAuthorizationEndpointFilter

For the second iteration, let's see if we can come up with a hook in the new AuthenticationFailureHandler that will allow for reuse and customization for these additional Filter's:

OAuth2ClientAuthenticationFilter
OidcUserInfoEndpointFilter
OidcClientRegistrationEndpointFilter

As far as exposing AuthenticationSuccessHandler's, let's focus on exposing OAuth2TokenEndpointFilter.sendAccessTokenResponse() as a new AuthenticationSuccessHandler, which will resolve gh-925. Let's keep this in a separate PR from the above work.

Closing as duplicate of gh-1384 and gh-1429


Add RTFM operation

RTFM is a classic!


Minor change on README.md

A minor issue on the main ReadMe file is that hyperlinks for the Robot Operating system and TurtleBot 3 are mixed up. ROS 1 routes to TurtleBot 3 page and TurtleBot 3 routes to ROS 1 page.

Thanks!


Leaflet markercluster popup in div contains popup of all markers

Hey guys,
im using leaflet 1.2.0 http://cdn.leafletjs.com/leaflet/v1.2.0/leaflet.zip
and Leaflet. markercluster https://github.com/Leaflet/Leaflet.markercluster
in need some help with my project and markercluster. Im getting the data by a database and all working fine. I managed to display the popup of a single marker in a div on my page and a popup of clustered markers also. But the popup contains info of all markers, not of only the markers that are clustered i hover over.
See the example Pic, i hover over the cluster with 2 markers, but getting popup of all markers.
Please help me, cant fix this by my own.
https://picload.org/view/rwccogdr/markerclusterpopup.png.html
JSFiddle see // ClusterMarker Popup
https://jsfiddle.net/kt9j2ron/

We don't fix bugs in peoples code.


add x2c compatibility for high-symm data

Merging; but pes_test is skipped because it runs unstable.
Some fixes to the GitHub workflow file should address these issues but they will become usable only after merging to main branch


Fix issues with icons being too small/big when overriding.

Bug/issue #, if applicable: 100551981
Summary
Fixes a minor issue with overridden icons, where they can render too big/small.
Before

After

Dependencies
NA
Testing
docc-build.zip
Steps:

Mount the compiled docc docs above
Visit - http://localhost:8080/documentation/docc
Assert that the plus icon in the navigator and topic links look OK

Checklist
Make sure you check off the following items. If they cannot be completed, provide a reason.

[x] Added tests
[x] Ran npm test, and it succeeded
[x] Updated documentation if necessary

Do you think we should add some basic unit tests

I could have sworn I wrote tests for this component in one of my PRs .... I need to find it 🤣 if not I will add a few.

@swift-ci test


More help with most common errors.

After a check-in, I got this:
-- Verify current changes
-- Pull remote changes
No stash entries found.
An error occured. Please check the output.
Aborting

What does this mean? Would be good to have a troubleshooting/q&a guide.

This is a wads' issue, not an isee's one.


AVX-512 UTF-8 to UTF-32 transcoding

Fix #130.
The procedure was already implemented: I just needed to pass the flag uint32_t. I also fixed a typo in convert_utf8_to_utf16 I think. The method was calling convert_valid instead of convert to process the tail.

@NicolasJiaxin Do we have benchmarks?

Comparison of haswell and icelake

haswell
icelake

Arabic-Lipsum.utf8.txt
2.323
3.912

Chinese-Lipsum.utf8.txt
3.354
3.953

Emoji-Lipsum.utf8.txt
2.177
3.940

Hebrew-Lipsum.utf8.txt
2.336
3.917

Hindi-Lipsum.utf8.txt
2.568
3.896

Japanese-Lipsum.utf8.txt
3.224
3.921

Korean-Lipsum.utf8.txt
2.251
3.917

Latin-Lipsum.utf8.txt
10.062
11.476

Russian-Lipsum.utf8.txt
2.407
3.879

Note that I am getting a noisy warning for all benchmarks on the icelake remote.

Note that I am getting a noisy warning for all benchmarks on the icelake remote even though I do 10 000 iterations.

Don't worry. We don't need precision at this stage.


Problem with highlights download

Hi guys,
I attached a picture with error.

Some information?

the label says it: you missed the issue template. Your screenshot is cropped. Too less (not to say no) information to help you.

There is no information, I cropped just the error, not the private information.


Tekton pipeline validation crashes on script validation in Openshift

Expected Behavior
Tekton Pipelines validation should return an error message about validiation error when openshift validates the yaml on save.
Actual Behavior
Tekton pipelines crashes and is returning the response Failed sync attempt to 12c3ea8e1cf1e2e2e76c61b57cad6a712ef3b5a7: one or more objects failed to apply, reason: Internal error occurred: failed calling webhook "validation.webhook.pipeline.tekton.dev": failed to call webhook: Post "[https://tekton-pipelines-webhook.openshift-pipelines.svc:443/resource-validation?timeout=10s":](https://tekton-pipelines-webhook.openshift-pipelines.svc/resource-validation?timeout=10s%22:) EOF
Steps to Reproduce the Problem

Create a task that takes in a script: Example:

apiVersion: tekton.dev/v1beta1
kind: Task
spec:
  params:
    - description: The yq script to execute. Can be multiple lines for complex tasks.
      name: SCRIPT
      type: string
    - description: The yq image to use.
      name: image
      type: string
  steps:
    - args:
        - '$(params.files[*])'
      image: $(params.image)
      name: yq-script
      resources: {}
      script: |
        /usr/bin/env sh
        set -e

        # For backwards compatibility with previous versions
        if [ "$(params.SCRIPT)" = "" ]; then
          for var in "$@"
          do
              /usr/bin/yq eval -i "$(params.expression)" "$var"
          done
          exit $?
        fi

        $(params.SCRIPT)
      workingDir: $(workspaces.source.path)
  workspaces:
    - description: A workspace that contains the file which needs to be altered.
      name: source

Create a pipeline that uses the task and provides an invalid script

apiVersion: tekton.dev/v1beta1
kind: Pipeline
metadata:
  name: example-pipeline
spec:
  params:
  tasks:
    - name:  example-task
      params:
        - name: SCRIPT
          value: >
            # Do YQ things
            export env_value_set_from_yq=$(yq '.value' config.yaml)

            echo $(env_value_set_from_yq) # The invalid code. It should be ${env_value_set_from_yq}
      taskRef:
        kind: Task
        name: yq
      workspaces:
        - name: source
          workspace: config
  workspaces:
    - name: config

Save the pipeline in Openshift. This will throw an error due to the code echo $(env_value_set_from_yq). It should be ${env_value_set_from_yq} but the validation crashes with an unhelpful error.

Additional Info

Kubernetes version:
Output of kubectl version:

clientVersion:
  buildDate: "2023-12-20T05:37:08Z"
  compiler: gc
  gitCommit: d4c9e3c75516a96850ac843d0384f4b1eb4f4957
  gitTreeState: clean
  gitVersion: v1.25.2
  goVersion: go1.19.13 X:strictfipsruntime
  major: "1"
  minor: "25"
  platform: linux/amd64
kustomizeVersion: v4.5.7
serverVersion:
  buildDate: "2024-01-02T19:08:18Z"
  compiler: gc
  gitCommit: f5b7c3e8faedd51935d77828a5fc72c7540236f4
  gitTreeState: clean
  gitVersion: v1.25.16+5c97f5b
  goVersion: go1.19.13 X:strictfipsruntime
  major: "1"
  minor: "25"
  platform: linux/amd64

Tekton Pipeline version:
Output of tkn version or kubectl get pods -n tekton-pipelines -l app=tekton-pipelines-controller -o=jsonpath='{.items[0].metadata.labels.version}'

Client version: 0.28.0
Chains version: v0.20.0
Pipeline version: v0.56.1
Triggers version: v0.26.1
Operator version: v0.70.1

Thank you for reporting this.


Recovery does not remember ObjectGraph

Fixed by ensure_consistent() method in model; called from App._get_app_state().


Negative numbers rendered weirdly

The attached image hopefully illustrates the issue. The x-axis goes from -400 to 200 and the two tick labels -400 and -200 look weird. I'm not sure why the negative sign is (seemingly) rendered as an underscore.

I am also pretty keen to see the negative sign return to its rightful place

I almost fixed it ;) just need to get tests passing again!


Is it possible to allow to select a different file when moving code to new file using the refactor tool?

When refactoring code, there's the option to move to a new file which is pretty useful and cool. Is it possible to select the destination file (like select an existing file), rather than creating a new file? I am using it on Typescript code.

Duplicate of #50685


Is this the official sdk or still just community maintained?

The readme says this is a community maintained SDK. But the crate says its the official SDK. Which one is it, and can I rely on it if I decide to move forward using deepgram?
Thank you very much!

Realized this is the wrong place to ask, closed in favor of https://github.com/orgs/deepgram/discussions/1013


chore: update Algolia dependencies

Adds support for insights in the helper.

Does renovate not work here?

Shouldn't the package.json be updated along with the lock file too? package.json says 2.3.0 while it should say the latest of the helper.

And yes might be good to know why the helper has not been updated in package.json for so long, maybe @rarkins know why. The branches are protected so there should be PRs being opened (on weekends) but that's maybe no more the case now.
2.3.0 was released long time ago so should have been updated already

@vvo are you referring to algoliasearch-helper? Its current version in dependencies is ^2.23.0, and the latest on npmjs is v2.24.0, hence it is "in range" and not eligible for an upgrade.
If you want it bumped to the exact latest version every time, there's really no benefit to any end user in having the caret ^ in place in package.json, so you can remove it and see it updating regularly.
Another alternative for you is to enable lock file maintenance, this bumps lock files even if the package.json remains the same. i.e. would achieve something similar to this PR, for every single package.

@rarkins I believe if we wait this weekend, the helper will be bumped to ^2.24.0 by renovate right?

@rarkins I believe if we wait this weekend, the helper will be bumped to ^2.24.0 by renovate right?

No, that's not the behaviour actually. The logic is: "if the latest npmjs release falls within the existing range, do not update it". This is because in most cases, people use ranges because they want to keep a wide range for downstream users.
If you need it bumped to >= v2.24.0 for functional reasons (e.g. using a feature of v2.24.0 that's not supported by v2.23.0 then that's something a developer needs to do manually, because only the developer involved could know that. If instead you just think it's best practice to keep your downstream users as updated as possible (e.g. to the latest, once a week), is there any reason why not to remove the caret range and pin it?
Another option is to use tilde ~ ranges instead, then it would bump from ~2.3.0 to ~2.4.0 but not to ~2.3.1 for example.
And finally.. this "logic" I mentioned is not written in stone and I can consider a feature request if you wish to keep bumping the range ever week. I just prefer we both understand "why" things are like they are.. my philosophy is that whenever you set out solving the wrong problem, you're always going to end up with a wrong solution :)
In short: you use ranges if you don't want to overly restrict your downstream users about which (compatible) versions they should use. If you do wish to be restrictive, then a narrower range and/or pinning sounds better.
Let me know if the above is clear or any parts are unclear or disagreeable?

When we rely on such tools (like Renovate) we should go for exact dependencies. When we don't want to upgrade just close the PR. Correct me if I'm wrong but when you close a PR Renovate will ignore the dependency until a new version is released.

@samouss yes that's right. e.g. if existing is v2.3.0 and Renovate suggests to upgrade to v2.4.0 but you close it, then Renovate will ignore v2.4.0 forever. If v2.4.1 or v2.5.0 comes out then it will then suggest it again and you have the choice to merge or ignore.

Thanks for all the details, now I am in favour of having dependencies pinned in all libraries.


Use file libraries to properly filter excludes

After adding testing, we discovered that the current method of filtering
only works if you're filtering top-level files or directories, which
satisfied the use case of skippiing the '.git' directory.
This add testing, shifts to passing search parameters as a struct, and
uses proper pattern matching to evaluate the dockerignore file based
on the Docker documentation.
Signed-off-by: Tom Duffield<EMAIL_ADDRESS>

@dnephin Is there anything else you would like me to add to this PR?


Teams meeting ignores right channel on stereo/dual microphone devices

Steps to reproduce:
Use any microphone setup with two channels. Tested with:

ART USB Dual Pre
Behringer ULM202USB

Teams meetings will only utilise the 1st (left) microphone channel.
When testing the 2nd microphone channel, no response is registered on the microphone VU meter under "Device Settings", nor is it transmitted to the remote users.

This is reproducible in Windows 7, Windows 10 and macOS. Tested with:

macOS Catalinas 10.15.4, Teams <IP_ADDRESS>63
Windows 7 Enterprise SP1, Teams <IP_ADDRESS>58 (64-bit)
Windows 10 Pro 10.0.17763, Teams <IP_ADDRESS>63 (64-bit)

In Windows, I have attempted the following:

turning on exclusive mode
turning off exclusive mode and forcing 2 channel as the default format
turning off exclusive mode and forcing 1 channel as the default format

All exhibit the same problem.
What should be expected behaviour:
Teams downmixes the 2 microphone channels to mono
Assistance / fix appreciated, thank you.

@inks007 , This is by design. The reason for not averaging the input channels is that it can create a comb filter effect, where in the extreme case, you can take two audible signals which are out of phase, average them, and then you get silence. In less extreme settings, but for the same reason, the average just does not sound as good as when selecting the best mono channel. We select the first channel (left), as for some devices that is the primary microphone, and the second channel (right) might, e.g., be facing backwards.

@Subhasish-msft Thanks for the reply.
The extreme case you mention would only occur if someone improperly tries to plug a powered, balanced mono microphone via adapters into a stereo 3.5mm mic input.
Proper stereo microphones don't have significant path differences to create severe out-of phase interference with mono down-mixing. Nor should they be out-of-phase, unless there is a design flaw.
With regards to speech reaching one channel at different times to another, let's take an example Olympus ME51S which has condensers separated by about 35mm. If a speaker were directly facing one side of those condenser (the other facing backwards), the other side would have out-of-phase response at 4.9kHz. If these were perfect transducers recording a perfect point source, then your comb filter width would be 9.8kHz, and the next null node at 14.7kHz (9.8+4.9kHz). Whilst it is true you avoid the issue altogether by selecting only one microphone, you're losing information from a functioning right channel (e.g. second speaker).
The real issue is with dual microphone setups (e.g. one for the speaker, a second for the local audience). These present to the OS as 2 channels (the OS and the application would not be able to differentiate between a stereo microphone, or dual mono microphones). Simply dropping everything but the first channel is a waste of information. With dual/multiple mono setups, microphones are distanced from each other and thus can be mixed together without significant artifact.
Mixing multiple microphones happens commonly with videoconferencing systems.
E.g. Olympus ME33. These are designed to be daisy-chained 3 in a row.
Another example. Revolabs Executive HD. These are designed for video-conferencing, typically with 4-8 microphones. They just get mixed in analog using mixers such as this .
Microphone systems have been slow to move over to the digital era, but we're slowly getting more conferencing grade USB Audio Class 1/2 and bluetooth devices. We need a way of utilising current stereo/dual setups, future 4-8 channel devices, and perhaps even multiple bluetooth microphone setups.
Ideally, videoconferencing software should allow selection of multiple microphone devices, e.g. OBS, and down-mixing of multiple channels.

Ex. I'm using a steinberg Yamaha UR 22mk 2. I am connecting a microphone to the right channel, and my e-Guitar to the right one.
Teams registeres the sound coming from my pre amp, but does not transmit it. This is 1. very confusing, 2. a pretty big problem. If i switch up the slots, it's vice versa. I'd really like to have an option to just transmit both, without the cancelling. My mic is pretty high quality so there is not much use to filter anything.

@noblockhit   You're not alone!  I was using an M-Audio AIR 192|6 USB audio interface, and had pretty much the exact same frustrating experience that you described.  And no fault of the AIR 192|6, which worked perfectly and as it should.  Rather, Teams simply refused to acknowledge channel 2.
As I wrote above, my solution was to purchase a USB mixer, and use it instead of my M-Audio AIR 192|6 USB audio interface.  But that's not the only solution. For example, you could purchase a fairly cheap (~ $70) analog mixer, plug the output of the mixer into input 1 (left channel) of your Yamaha UR 22mk 2, then plug your mic and guitar into the mixer and mix as desired.  Of course, you'll need to be sure that you buy a mixer that (a) can accept a guitar as an input, and (b) has phantom 48V power, if needed.  Also if needed, you'll want a mixer that has XLR output that you can plug into your audio interface.
Or you could buy a USB mixer, such as a Mackie ProFX6v3, ProFX10v3, or ProFX12v3.  :)
@Wajeed-msft  @Subhasish-msft @Abhijit-MSFT   Many of us would like to use BOTH channels of our USB audio interfaces.  Please resolve this issue.


chore: update SHAs to the latest for UBI9 go-toolset

Updates to repoisitory tag 1.19.13-4.1697647145

/cherry-pick midstream-v1.2.2

Looks good, just missed one for the test image https://github.com/securesign/rekor/pull/124/files#diff-ce5bb5b25694bdd09dc69ee8b16ee9dd4bf8f48791bb8b312a519a98da773de5R40

@JasonPowr done - good 👁


Get Top level Sentry exception using sentry logger

Hi, I get this exception with first seconds of app execution:
Top level Sentry exception caught - failed creating log record
Notice, passed logger %s is not present in the logger manager
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/raven/handlers/logging.py", line 66, in emit
    return self._emit(record)
  File "/usr/local/lib/python2.7/dist-packages/raven/handlers/logging.py", line 174, in _emit
    extra=extra, date=date, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/raven/base.py", line 613, in capture
    self.send(**data)
  File "/usr/local/lib/python2.7/dist-packages/raven/base.py", line 706, in send
    message = self.encode(data)
  File "/usr/local/lib/python2.7/dist-packages/raven/base.py", line 748, in encode
    return zlib.compress(json.dumps(data).encode('utf8'))
  File "/usr/local/lib/python2.7/dist-packages/raven/utils/json.py", line 51, in dumps
    return json.dumps(value, cls=BetterJSONEncoder, **kwargs)
  File "/usr/lib/python2.7/json/__init__.py", line 238, in dumps
    **kw).encode(obj)
  File "/usr/lib/python2.7/json/encoder.py", line 200, in encode
    chunks = self.iterencode(o, _one_shot=True)
  File "/usr/lib/python2.7/json/encoder.py", line 263, in iterencode
    return _iterencode(o, 0)
  File "/usr/local/lib/python2.7/dist-packages/raven/utils/json.py", line 36, in default
    return super(BetterJSONEncoder, self).default(obj)
  File "/usr/lib/python2.7/json/encoder.py", line 177, in default
    raise TypeError(repr(o) + " is not JSON serializable")
  File "/usr/lib/python2.7/threading.py", line 473, in __repr__
    assert self.__initialized, "Thread.__init__() was not called"
AssertionError: Thread.__init__() was not called

Please help how should I fix that. I just've added
'sentry': {
            'level': 'WARN',
            'class': 'raven.handlers.logging.SentryHandler',
            'dsn'<EMAIL_ADDRESS>        }

to dictConfig handler section and added actually sentry logger.

I have the same problem. Did you ever find the solution?


Update config-settings.rst

Still needs Google/Office365 SSO config settings

Reviewed, +1, fixed some typoes and strange formatting of the google and office365 parts

Review complete, Jason is helping fix the conflicts


Macros may be misused.

In KSCrashReportSinkQuincyHockey.m file, line237.
Did you mean CPU_SUBTYPE_ARM64_V8?
Does the subType CPU_SUBTYPE_ARM_V8 exist in the CPU architecture of arm64?
Looking forward to your reply~
Best wishes~

I think it should be CPU_SUBTYPE_ARM64_V8, then I found a sample code here:
case CPU_TYPE_ARM64:
	if (bootarg_no64exec) return 0;

	switch (hostsubtype) {
		case CPU_SUBTYPE_ARM64_V8:
			switch (execsubtype) {
			case CPU_SUBTYPE_ARM64_V8:
				return 9;
			case CPU_SUBTYPE_ARM64_ALL:
				return 8;
			}
			break;

	break;

Reference: https://opensource.apple.com/source/xnu/xnu-4570.41.2/bsd/dev/arm/kern_machdep.c

@ZhiyuWong I thought the same.But for now I have another question.
In usr/include/mach-o/arch.h I found a func named NXGetArchInfoFromCpuType().With cputype and cpusubtype this func returns NXArchInfo,which we can get the architecture name by arch_info->name.
Why the author do not use this func?
Does the func have any problems I have not realized?
Reference:https://opensource.apple.com/source/cctools/cctools-523/libmacho/arch.c


Do not call destructor in VariantN.opAssign if no allowed type requires

Same logic as #2439.

Is this functional or an optimization? If it fixes functionality, please add a unittest.

Added unittest. This change allows some Algebraics to be assigned in pure nothrow @nogc code.

Thanks!


fixed voucher error

added 3 vouchers, can add more if necessary

Kindly view the issue. This will not be counted.


profiling hook is inconsistent with mainloop paradigm

The profiling hook requires valid stream to be present although this is not required by the main loop.
This issue is similar to #5

Resolved with #42


Supplies feature

I've Updated the Supplies Model, and the controller and view accordingly.

Derek Larson

fixes #1

fixes #2


adds monthly and weekly metric to the status command

#33

squash all your commits, rebase and we can merge


Not able to fetch next.js

I'm trying to get Next.js. I tried all methods as README file, but none of them worked.
tiged git@github.com:vercel/next.js.git
! could not fetch remote https://github.com/vercel/next.js
! could not find commit hash for HEAD

How to get next.js?

I have been able to replicate your problem. It seems you have found a bug. Thank you for reporting it. I will look into it as soon as possible.

Caused by src/index.js fetchRefs() function. Specifically when it is trying to do line 436:
const { stdout } = await exec(`git ls-remote ${repo.url}`);

If I print out the whole error it is:
RangeError [ERR_CHILD_PROCESS_STDIO_MAXBUFFER]: stdout maxBuffer length exceeded
    at new NodeError (node:internal/errors:387:5)
    at Socket.onChildStdout (node:child_process:470:14)
    at Socket.emit (node:events:513:28)
    at addChunk (node:internal/streams/readable:315:12)
    at readableAddChunk (node:internal/streams/readable:285:11)
    at Socket.Readable.push (node:internal/streams/readable:228:10)
    at Pipe.onStreamRead (node:internal/stream_base_commons:190:23) {
  code: 'ERR_CHILD_PROCESS_STDIO_MAXBUFFER',
  cmd: 'git ls-remote https://github.com/vercel/next.js'
}

So I'm assuming that command just spits out too much to stdout.
By running that command manually we can see that that indeed is probably the case.
$ git ls-remote https://github.com/vercel/next.js | wc -l
   17636
$

What to do about this? I don't know yet. I will research more.

try this npm i -g github:savoygu/tiged#b4394f5

Thanks to @savoygu . This issue has now been fixed in version 2.12.4.

I faced the same issue today while things were working before.
npx tiged https://github.com/uber/cadence-idl idl ! could not fetch remote https://github.com/uber/cadence-idl ! could not find commit hash for HEAD


Apply for maintainers

https://github.com/go-gitea/gitea/pulls/jolheiser
As of writing, I have 5 open PRs (most of which I hope will be accepted) and 5 closed PRs.
I would like to join the maintainers team to continue to help grow this project.
If approved, I will also apply over at git and sdk

Thanks for your contributions and welcome on team 👍

🎊 🎉

Codecov Report

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

@@           Coverage Diff           @@
##           master    #6123   +/-   ##
=======================================
  Coverage   38.86%   38.86%
=======================================
  Files         352      352
  Lines       50030    50030
=======================================
  Hits        19442    19442
  Misses      27774    27774
  Partials     2814     2814

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 ba0749b...e89a644. Read the comment docs.


Reduce nonce locking

Do not lock on http request, lock only on datastructure changes. @xenolf WDYT?

Hello and thank you for the pull request!
Does this solve a concrete problem for you?

@xenolf We didn't have such problems yet, but it's definitely not a good thing to hold a lock while making network IO :)
I've added a test, which tries to show the problem...

@xenolf I actually introduced this behavior in https://github.com/xenolf/lego/pull/319, which definitely fixed the problem that we there (panics on accessing wrong indexes), but introduced locking during http request, which I missed at that point. :(

@xenolf And in "nonceManager" (the name, that I don't like :)) actually more clearly separates that "concurrent nonce management" from "signing" part that jws does.


Is SSDT-EC-USBX.aml / SSDT-USBX.aml need?

After build kext map files, I wonder if also need put SSDT-EC-USBX.aml or SSDT-USBX.aml dsdt patch in ACPI folder when use opencore. I'm so confused

Yes you still need that.
These are ssdt not dsdt
Only use 1 of that ssdt's. Not both.
It is depending on your smbios if you need usbx. Which is mentioned in the dortania guide

Yes, USBToolBox does not inject power properties, only a port map. You still need the USBX SSDTs for power properties.

Thx


[docs] categorise utils

We need to categorise utils for easier navigation as the list is becoming big!

I Agree (and suggested it before)
lets suggeste categories?

RxJS Operators
Directives
Pipes
Signals
Inject utils (?)
Misc.

updated with some examples, help with the rest plz

I think it would be lovely to structure the body content, not just the menu.
To have a standard, like this:

Introduction - What is it? Why do we need it? In two words - The problem.
Usage - Importing & examples with descriptions.
Configurations - Examples and descriptions, including default options if any.
Error Handling and/or Fallbacks.

This is just an idea, is just what I have in mind now.
Also, the body should contain 1 or 2 backlinks if it's the case, especially for newbies that will explain why you should use this over that. 🤷🏻♂

I would add the "State Management" category.

Instead of directives, pipes, etc. categories, and as sometimes we could have different types in one feature + as the name state the lib is tought to be an extension of angular 👉 shouldn't we try to put them in the same packages as angular (eg: core, core/rxjs-interrop, common, etc.)?

Can you provide example with the current utils? not sure how well its fit

For example:

computedFrom or connect are used for rxjs interoperability 👉 they could be placed into core/rxjs-interop
trackBy is a tool of NgFor which is in common 👉  thus we could add TrackById / TrackByProp into common
the AsyncPipe is also part of common 👉 we could add CallPipe / AsyncPipe into common too
assertInInjectionContext is witin core 👉 we could add assertInjection within core
rxjs operators, on the contrary, could be placed within a new package as I personnaly don't think that it should be placed within the interop package (I may be wrong)
etc.


Allow npm search /regular-expression/

Sometimes I just wanna search for this OR that.
Right now, npm search allows you to specify terms that are either always included (via --searchopts) or always excluded (via --searchignore).
I’m pretty sure there’s plenty of existing regex code out there to use.  Why not let npm search make use of it?  ☺

Good idea.


Rendering SMPLX motion sequence of AMASS

Hi, thanks for your excellent work. I follow your instruction and successfully visualize the SMPL motion sequence of AMASS. I try to visualize the SMPLX motion sequence and save the meshes in a format of (T, 10475, 3). And then, I render the meshes with render.py using blender. However, the rendering result is as follows:
Do you have any idea about this issue?

Hi @linjing7,
Yes, I see where the problem come from. The faces of the mesh (triangles) are the one with SMPL topology and not SMPL-X (I did not support it yet).
To solve the problem, you just have to save the SMPL-X faces into a file (let's say smplx.faces), and load the file here instead:
https://github.com/Mathux/TEMOS/blob/4768fe5dc8f23f442b6af0cad1c6b084f85c7058/temos/render/blender/meshes.py#L19
To do so automatically, you just need to change the config there:
https://github.com/Mathux/TEMOS/blob/4768fe5dc8f23f442b6af0cad1c6b084f85c7058/configs/render.yaml#L50
Or specify in the command line, like faces_path=smplh/smplx.faces
Tell me if you need help to get the SMPL-X faces, but it should be easy to find.

Hi, thanks for your timely reply! It works and I can get correct result now.


Showcase: Some icons are broken in production

https://www.primefaces.org/showcase-ext/sections/timePicker/basicUsage.jsf

When I remove the CharacterEncodingFilter from the web.xml, the icons are working.
    <!-- UTF-8 Encoding filter over the default ISO-8859-1. -->
    <filter>
        <filter-name>CharacterEncodingFilter</filter-name>
        <filter-class>org.omnifaces.filter.CharacterEncodingFilter</filter-class>
    </filter>
    <filter-mapping>
        <filter-name>CharacterEncodingFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

That is bad. That is the right character filter. I wonder if this error has popped up again in their packaged CSS.
https://github.com/primefaces/primefaces/issues/4958

Hmm.. I think I was fooled by cache.. it broke as soon as I reloaded. Looking further.

Okay, it worked when I removed the ThemeAccentColorResourceHandler. PR fixed the issue for me locally using
    <context-param>
        <param-name>org.omnifaces.COMBINED_RESOURCE_HANDLER_DISABLED</param-name>
        <param-value>false</param-value>
    </context-param>


Pull hook from the bundle

Description of changes:
This PR updates the cli to pull the Hook images from the URIs listed in the bundle instead of being hardcoded.
It also bumps up the lease duration for IPs handed out by boots to 1 month
Testing (if applicable):
Created the cluster with the hook from bundle
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

/lgtm


Update NimBLERemoteCharacteristic.cpp

BLE itags don't return descriptor values so bypassing them to register notify callback function.

This may work in your case, but not the other cases. You cant change library like that just for 1 case.

Thanks for this but as @chegewara said this may cause problems with other uses.
However a change could be made to support this, I'll do some testing and get back to you.

This may work in your case, but not the other cases. You cant change library like that just for 1 case.

Can you please suggest a better way to do it?

Thanks for this but as @chegewara said this may cause problems with other uses.
However a change could be made to support this, I'll do some testing and get back to you.
ohk

Sorry, new github code review has an extra step now that I didn't notice, made comments days ago that didn't get posted.

Not sure why you closed this? If you adjust the code as I suggested and let me know if it works for you I would merge it.

@deepak4395 Since this was closed, I have pushed a new commit 8310b7b that will accommodate your use and credited you as the author. I hope this suits your needs. Please open another PR if it is insufficient.


Add capitalized open_mouth emoticons

I’ve always typed them with a capital O :open_mouth:

i've added this to master in 4051906 - it will be released in v2.4.2 when that ships


Custom ImageUpload behavior; how to "attach" it so the code within is used instead of default imageuploadbehavior

Hi all,
I have studied Issue #207 as well as the documentation in the Serenity guide on the multi-tenant behavior. I think that I generally have understood how it is applied in the case of the Multi-Tenancy - but I really don't understand how to translate this into the case of the customFileUploadBehavior.
So far I have created the customFileUploadBehavior according to what I think I would need:
public class CustomFileUploadBehavior : ImageUploadBehavior
    {

        public byte[] FileData { get; set; }

        public string newFilename { get; set; }
        public string path { get; set; }

        public string TempFolder { get; set; }

        public override void OnBeforeSave(ISaveRequestHandler handler)
        {
            base.OnBeforeSave(handler);
            var filename = (StringField)(Target);
            newFilename = filename[handler.Row] = filename[handler.Row].TrimToNull();
            if (newFilename == null)
                return;
            path = UploadHelper.DbFilePath(UploadHelper.ToPath(newFilename));

            string[] esetse = UploadHelper.GetThumbFileName(newFilename).Split('\\');

            TempFolder = UploadHelper.TemporaryPath;
            FileData = File.ReadAllBytes(path);
        }

        public override void OnAfterSave(ISaveRequestHandler handler)
        {
            base.OnAfterSave(handler);
            new SqlUpdate(handler.Row.Table)
                .Set("JRXML", ((newFilename == null) ? new byte[0] : FileData))
                .WhereEqual((Field)((IIdRow)handler.Row).IdField, ((IIdRow)handler.Row).IdField[handler.Row].Value)
                .Execute(handler.UnitOfWork.Connection);

            File.Delete(path);
            //File.Delete(ThumbFilePath);
            DirectoryInfo di = new DirectoryInfo(TempFolder);

            foreach (FileInfo file in di.GetFiles())
            {
                file.Delete();
            }
        }

    }

(most code above comes from #207).
But what I don't find out is Where and how to "attach" the customFileUpload behavior so that the code within the customFileUploadBehavior is used instead of the code within ImageUploadBehavior.
Thanks for any help with that. If I get a working solution, I will create a Wiki article in return :-)
With kind regards,
John

Hi John,
I'm also a bit stuck at a similar point with custom handlers of file uploads.
My final step on OnBeforeSave override uploads the file to an Azure (could also be AWS) storage blob.
The base.OnAfterSave(handler); breaks what I'm trying to achieve.
If anybody has some example code to completely override the UploadBehaviour with CustomUploadBehavior I think it will help quite a few people round here.
For the file download part I borrowed from your File download wiki entry (which really helped, thank you!).
@JohnRanger I will happily assist with the Wiki entry for the custom handler too!
Cheers,
Edward

Hi Edward,
at the moment I am living with the SF-builtin upload "behavior" as I could not figure out how to attach my own "behavior" to the SF- Uploader.
In the beforeSave override I fetch the file from the SF temp upload store (/App_Data/Upload/temporary/.) and suck it as binary blob into my SQL db (just store it in the Row.binaryBlob_FieldName and in the ExecuteSave() event it stores it automatically into the desired row). Maybe you could do something similar but transfering it from the temp upload storage to your azure DB.

Thank you @JohnRanger !
I'm bouncing between projects so haven't had a chance to try this yet, but I will let you (and others) know when I do and what the outcome is.
Thanks again,
Edward


Existing TS typing for Collection.filter sometimes causes issues

Right now in TypeScript typings Collection.filter returns this,
which means it's a subtype of the containing class. I.e. if we have a
type Collection<number, string>, Collection.filter would return
Collection<number, string>.
It causes some issues like those:
function foobar(): List<string> {
  const a = List.of<string | number>("a", 1, "b");
  const b = a.filter(i => typeof i === "string").toList();
  return b;
}

causes a type error:
Error:(689, 3) TS2322:Type 'List<string | number>' is not assignable to type 'List<string>'.
  Type 'string | number' is not assignable to type 'string'.
    Type 'number' is not assignable to type 'string'.

Same thing happens if we work with subclasses, like:
class A {
}

class B extends A {
  public foo(): string {
    return "B";
  }
}

class C extends A {
  public bar(): string {
    return "C";
  }
}

function foobar(): List<C> {
  const a = List.of<A>(new B(), new C());
  const b = a.filter(i => i instanceof C).toList();
  return b;
}

shows an error:
Error:(702, 3) TS2322:Type 'List<A>' is not assignable to type 'List<C>'.
  Type 'A' is not assignable to type 'C'.
    Property 'bar' is missing in type 'A'.

Not sure what's the right solution would be. Maybe just add another
typing for filter, along with already existing one, which accepts
a value type in the returned collection, like I did in this
Pull Request?
Then, if you have a case like I described above, you can just provide a
type for M, like foo.filter<string>(a => typeof a === "string).
What do you think?

Wouldn't this PR also result in problems? I would expect an error like: "Collection<string, C> is not assignable to type List" - Returning a different type would probably mean replicating this change across all types much like map<M>
Looking into TypeScript's own lib, it seems like https://github.com/Microsoft/TypeScript/blob/master/lib/lib.d.ts#L1097 might be leveragable.

#1146 Also mentions a desire for a sounder filter function - I was wrong to suggest TypeScript couldn't do that, but it seems Flow cannot yet.

Wouldn't this PR also result in problems? I would expect an error like: "Collection<string, C> is not assignable to type List" - Returning a different type would probably mean replicating this change across all types much like map

Ah, right, it should be replicated across all types. Well, it seems like we could still keep filter method (without type arg) returning this, and replicate filter<S> (with type arg) returning some specific collection type for each collection type.

Looking into TypeScript's own lib, it seems like https://github.com/Microsoft/TypeScript/blob/master/lib/lib.d.ts#L1097 might be leveragable.

You mean using guards in a return type of a predicate? Like:
filter(
  predicate: (value: V, key: K, iter: this) => boolean,
  context?: any
): this;
filter<S extends V>(
  predicate: (value: V, key: K, iter: this) => value is S,
  context?: any
): Collection<K, S>;

It seems like the problem with guard functions - you explicitly should specify that their return type is a guard. I.e. I can't use filter like:
const b = a.filter<C>((i: A) => i instanceof C);

it will complain like:
Error:(700, 25) TS2345:Argument of type '(i: A) => boolean' is not assignable to parameter of type '(value: A, key: number, iter: List<A>) => value is C'.
  Signature '(i: A): boolean' must have a type predicate.

I'd have to write it as:
const b = a.filter<C>(((i: A) => i instanceof C) as (i: A) => i is C);

requirement to always specify the type of the predicate could be annoying.
Thought since maybe it's sort of an edge case, and usually you'd use the filter without a type arg, maybe not that big of a deal :)

I just put up #1155 which includes a type-checked test that seems to be working just fine without requiring much specific annotation, the test before the changes to the type definitions failed with the same "Type 'List' is not assignable to type 'List'." error you were seeing before

I think the trick was to put the version using guards before the version that does not, since TypeScript attempts to apply each override in the order they were defined.


UAA pre-start does not play well with os-conf ca_certs job

The UAA pre-start script examines the certificates in /etc/ssl/certificates/ca_certs.pem and adds every certificate found into the truststore for uaa. This causes issues when the os-conf ca_certs job is also on the machine because pre-start scripts are started in parallel.

The os-conf ca_certs job adds the certs for which it is responsible and then calls update-ca-certificates. This means uaa pre-start script will not see the certs os-conf ca_certs added (since it has already obtained an index of number of certs)
If anything calls update-ca-certificates while the uaa pre-start job is running, the very short period of time where update-ca-certificates deletes and recreates /etc/ssl/certificates/ca_certs.pem will cause the pre-start job to fail with a file not found error

This is agreeably a limited use case. In my case, I want to run UAA for the BOSH director colocated with the BOSH director. In order to get the BOSH director itself to trust our internally issued certs, I was trying to use os-conf ca_certs job.

 To avoid the case when update-ca-certs is called while the file is being processed, a temporary copy is created and used during the truststore building. To avoid the 'race condition' with os-conf ca_certs, I added a sleep statement.

Yikes - sorry I missed it! I'll reply there. Thanks!

hitting same issue. Eager to have the fix :-)

uaa-release should be compatible with os-conf. see:  https://github.com/cloudfoundry/uaa-release/commit/61ae508f5344bd31322d6301379e4320540180bb


Added capacity to parse profile attributes into annotations

This adds the capability of setting custom attributes from a group into annotations on the corresponding backstage entity
In our use case, we need to enrich the group entities to have some of the profile attributes the Okta group has, and i couldn't think of another way than moving them to annotations
May be worth implement the same for user entities as well? I have no problem adding that if this feature is accepted
:heavy_check_mark: Checklist

[ :heavy_check_mark: ] Added tests for new functionality and regression tests for bug fixes
[ :heavy_check_mark: ] Added changeset (run yarn changeset in the root)
[ N/A ] Screenshots of before and after attached (for UI changes)
[ TODO ] Added or updated documentation (if applicable)

I think it makes sense to add this to the User entities as well. @punkle what do you think about this?

Contributor

Sure thing! I just wanted to make sure this feature made sense to you too before putting too much time on it

A couple of minor comments and discussion points, but in general I think its a good idea to load in the profile fields. I wonder should we approach the core backstage team to ask them to allow the GroupEntity profile to include custom fields.

A couple of minor comments and discussion points, but in general I think its a good idea to load in the profile fields. I wonder should we approach the core backstage team to ask them to allow the GroupEntity profile to include custom fields.

This was my first approach, but after implementing it i think it makes a bunch more sense to map this kind of info to annotations, since this is very variable and could make deserialization more complex than it needs to be

could make deserialization more complex than it needs to be

What do you mean?

could make deserialization more complex than it needs to be

What do you mean?

I mean that adding a dynamic structure as a map[string]string adds complexity to the entity itself, being that it already has the annotations to store this kind of information

I'll be implementing the changes from the comments soon, i just didn't have the time these days to do it

add the feature to the org provider for consistency

shouldn't i add it also for the user provider?

shouldn't i add it also for the user provider?

no harm

Hi @punkle, could you give another review pass to this PR?
if you think that anything is missing please let us know, thank you :pray:

Sorry i took a couple weeks AFK, i'm getting back to it with @zinahia 's help

Hey @punkle I think we have applied all of your suggestions except for this one we're a bit torn about it because it would mean that the custom annotations would have a different format in the value compared to the rest which are simple string values, instead it would have a JSON value wrapped inside the string. It would end up looking like this:
"metadata": Object {
  "annotations": Object {
    "backstage.io/managed-by-location": "okta-user-https://okta",
    "backstage.io/managed-by-origin-location": "okta-user-https://okta",
    "customAttribute1": "\"asdfasdf\"",
    ...
}

I wonder if it's worth doing this wrapping to handle the boolean differentiation if the clients could handle the transformation on their side if they needed to. Personally I think it's a bit cleaner to leave the toString() and be consistent with the rest of the annotations but we're open to changing it if you prefer it that way.

@zinahia I think you have me convinced.
I had a look at k8s annotations and I think that the annotations only really support something like "Record<string, string>". So it is a bit of a challenge trying to represent object, array or boolean in here. It is unfortunate, but I cant think of a better way to represent these things without using toString as you have done.


gvm seems to require some version of go already installed

I have a new Amazon Linux (CentOS/RH) machine, followed install instructions exactly as on readme and it failed looking for go to actually install go?!?  Tried
gvm install go1.11.1 and it failed.
I then did sudo yum install go to get some version (1.9 is what it gave)
then gvm worked as expected to get and set other versions.  Very weird, shouldn't need go to install go....

Installing from binary should work:
$ gvm install go1.11.1 -B


mime: add ".txt": "text/plain; charset=utf-8" to builtinTypesLower

Please answer these questions before submitting your issue. Thanks!
What version of Go are you using (go version)?
$ go version
go version go1.15.10 linux/386

What did you do?
Run the following program on Alpine Linux.
package main

import "path/filepath"
import "fmt"
import "mime"

func main() {
	name := "x.txt"
	ext := filepath.Ext(name);
	fmt.Printf("mime type for extension '%s' = %v\n", ext, mime.TypeByExtension(ext))
}

What did you expect to see?
mime type for extension '.txt' = text/plain; charset=utf-8
What did you see instead?
mime type for extension '.txt' =
I suggest adding a txt to the list of built-in mime types.
Before I built the small program above to isolate the problem, the behavior I saw was:

Built a go web server that used http.ServeContent to serve static files.
On my development box (OSX), the mime type was set correctly and the browser rendered the content as plain text
On the production box, the mime type was blank and the browser rendered text as HTML.

At first, I first assumed the Nginx proxy was behaving badly.  Eventually, I figured out that Alpine base does not provide any of the four mime files that mime/type_unix.go looks for and mime/type.go does not provide a built-in default for the .txt extension.
I opened a bug with Alpine, but they did not think this corner case was worth adding /etc/mime.types to the Apline base.  I can see their point, as this is a corner case and the mime-type file used depends on the application more than the host; mail, Apache, and Nginx all have different ideas about where the mime-type file lives---the latter two even disagree on the file format.  There does not seem to be a standard location.
Does this issue reproduce with the latest release (go1.16.5)?
Based on my read of these two sources, yes.

https://golang.org/src/mime/type.go?s=2843:2882#L60
https://golang.org/src/mime/type_unix.go

System details
GO111MODULE=""
GOARCH="386"
GOBIN=""
GOCACHE="/home/mark/.cache/go-build"
GOENV="/home/mark/.config/go/env"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="386"
GOHOSTOS="linux"
GOINSECURE=""
GOMODCACHE="/home/mark/go/pkg/mod"
GONOPROXY=""
GONOSUMDB=""
GOOS="linux"
GOPATH="/home/mark/go"
GOPRIVATE=""
GOPROXY="https://proxy.golang.org,direct"
GOROOT="/usr/lib/go"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/usr/lib/go/pkg/tool/linux_386"
GCCGO="gccgo"
GO386="387"
AR="ar"
CC="gcc"
CXX="g++"
CGO_ENABLED="1"
GOMOD=""
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m32 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build108867270=/tmp/go-build -gno-record-gcc-switches"
GOROOT/bin/go version: go version go1.15.10 linux/386
GOROOT/bin/go tool compile -V: compile version go1.15.10
uname -sr: Linux 4.4.68-0-grsec

cc @neild

I was curious how other languages handle this.  All languages I checked (other than Erlang and Java) take the approach suggested in this bug report.  Erlang http code raises an error if it can't find a mime.types file and go takes the same approach as Java.  (How often can you say that?  :) )
Note the change you mention does not address this issue.  There were already four such mime type files loaded in mime/type_unix.go, none of which are provided in Alpine base. This is an undocumented, run-time, external package dependency that changes how the same go code behaves.  Can you think of another instance where go library behaves this way?
The nuclear option is to have mime.TypeByExtension and http.ServeContent return an error if there is no mime type file found, and zap the list of defaults (the Erlang approach).  But that could break existing code, and does not seem worth it for this corner case.
You could also simply update the docstrings in these two methods to document this dependency.  But that "fix" depends on people reading the docs. :|
I think the safest way forward is to just expand the array of default values, perhaps following Haskell's lead and autogenerating from Nginx and Apache configs.  Or just copy and paste the list from them.
Here are the links to how other languages handle this:
The Haskell mime-types package contains a long list of default mime-types, autogenerated from "from the Apache and nginx mime.types files": https://www.stackage.org/haddock/nightly-2021-06-01/mime-types-<IP_ADDRESS>/src/Network.Mime.html#MimeMap
The Rust mime crate also has a long list of defaults: https://docs.rs/mime/0.3.16/mime/
Erlang is a bit different, requiring you to drop a mime.types file in a conf directory: http://erlang.org/documentation/doc-4.8.2/lib/inets-2.3.1/doc/html/httpd_core.html#mime.  It raises an error if it cannot find the mime-types files: https://github.com/erlang/otp/blob/master/lib/inets/src/http_server/httpd_conf.erl#L70-L76
Python has a long list of defaults: https://github.com/python/cpython/blob/8e2c0fd7ada79107f7e0d9c465e77fb36a9486e5/Lib/mimetypes.py#L414-L561
Ruby's mime library has a long list of defaults, but they add value by taking the simple mime file format and turning that into a set of 13 yaml files: https://github.com/mime-types/mime-types-data/tree/master/types, where each distinct mimetype is represented as eight lines of yaml.
It looks like Java takes a similar approach to go; look for a set of "magic" filenames and fallback to a small set of built-in defaults: https://docs.oracle.com/javase/8/docs/api/javax/activation/MimetypesFileTypeMap.html, and
mark@Marks-MBP-3 tmp % unzip /Users/mark/src/other/jboss-eap-6.1/modules/system/layers/base/javax/activation/api/main/activation-1.1.1-redhat-2.jar META-INF/mimetypes.default
Archive:  /Users/mark/src/other/jboss-eap-6.1/modules/system/layers/base/javax/activation/api/main/activation-1.1.1-redhat-2.jar
  inflating: META-INF/mimetypes.default
mark@Marks-MBP-3 tmp % cat META-INF/mimetypes.default
#
# A simple, old format, mime.types file
#
text/html		html htm HTML HTM
text/plain		txt text TXT TEXT
image/gif		gif GIF
image/ief		ief
image/jpeg		jpeg jpg jpe JPG
image/tiff		tiff tif
image/png		png PNG
image/x-xwindowdump	xwd
application/postscript	ai eps ps
application/rtf		rtf
application/x-tex	tex
application/x-texinfo	texinfo texi
application/x-troff	t tr roff
audio/basic		au
audio/midi		midi mid
audio/x-aifc		aifc
audio/x-aiff            aif aiff
audio/x-mpeg		mpeg mpg
audio/x-wav             wav
video/mpeg		mpeg mpg mpe
video/quicktime		qt mov
video/x-msvideo		avi
mark@Marks-MBP-3 tmp %

undocumented

it's here: https://pkg.go.dev/mime#TypeByExtension

Can you think of another instance where go library behaves this way?

tzdata, system certificates

Fair enough. Closing.


Fix scanner tests

Story
There are 2 scanner tests that fail for the same reason.
bucket acl scanner
 ×  scanner-bucket-acl-scanner: Command: `forseti model use b8eb9197bd7` (1 failed)
     ✔  Command: `forseti model use b8eb9197bd7` exit_status should eq 0
     ✔  Command: `forseti scanner run` exit_status should eq 0
     ×  Control Source Code Error /workspace/integration_tests/tests/forseti/controls/scanner-bucket_acl_scanner.rb:27
     undefined method `[]' for nil:NilClass

scanner-run
×  scanner-run: Command: `forseti model use 091bbcfb2ff` (1 failed)
     ✔  Command: `forseti model use 091bbcfb2ff` exit_status should eq 0
     ×  Control Source Code Error /workspace/integration_tests/tests/forseti/controls/scanner-run.rb:24
     undefined method `[]' for nil:NilClass

Proposed Solution
Sometimes these tests fails to get the scanner id here, figure out how to make this stable.
Acceptance Criteria

These tests work every time.

@gkowalski-google Modified the tests to give us better logs. The tests are indeed failing but inconsistently.
[root@6d412b9b1b30 workspace]# kitchen verify --test-base-path="integration_tests/tests"
-----> Starting Kitchen (v1.24.0)
-----> Verifying ...
$$$$$$ Running command terraform workspace select kitchen-terraform-forseti-local in directory /workspace/integration_tests/fixtures/forseti
$$$$$$ Running command terraform output -json in directory /workspace/integration_tests/fixtures/forseti
forseti-server: Verifying host <IP_ADDRESS>
Skipping profile: 'inspec-gcp' on unsupported platform: 'ubuntu/18.04'.
....FF....FF
Profile: forseti_integration_testing
Version: (not specified)
Target:  ssh://ubuntu@<IP_ADDRESS>:22
×  scanner-bucket-acl-scanner: Command: forseti inventory create --import_as 0a50ebe4dc0 (2 failed)
✔  Command: forseti inventory create --import_as 0a50ebe4dc0 exit_status should eq 0
✔  Command: forseti inventory create --import_as 0a50ebe4dc0 stdout should match /"id": "([0-9])"/
✔  Command: forseti model use 0a50ebe4dc0 exit_status should eq 0
✔  Command: forseti scanner run exit_status should eq 0
×  Command: forseti scanner run stdout should match /Scanner Index ID: ([0-9]) is created/
expected "{\n  "serverMessage": "Error occurred during the scanning process."\n}\n" to match /Scanner Index ID: ([0-9]) is created/
Diff:
@@ -1,2 +1,4 @@
-/Scanner Index ID: ([0-9]) is created/
+{
+  "serverMessage": "Error occurred during the scanning process."
+}
 ×  Control Source Code Error /workspace/integration_tests/tests/forseti/controls/scanner-bucket_acl_scanner.rb:27
 undefined method `[]' for nil:NilClass

×  scanner-run: Command: forseti inventory create --import_as 0a6871459ea (2 failed)
✔  Command: forseti inventory create --import_as 0a6871459ea exit_status should eq 0
✔  Command: forseti inventory create --import_as 0a6871459ea stdout should match /"id": "([0-9])"/
✔  Command: forseti model use 0a6871459ea exit_status should eq 0
✔  Command: forseti scanner run exit_status should eq 0
×  Command: forseti scanner run stdout should match /Scanner Index ID: ([0-9]) is created/
expected "{\n  "serverMessage": "Error occurred during the scanning process."\n}\n" to match /Scanner Index ID: ([0-9]) is created/
Diff:
@@ -1,2 +1,4 @@
-/Scanner Index ID: ([0-9]) is created/
+{
+  "serverMessage": "Error occurred during the scanning process."
+}
 ×  Control Source Code Error /workspace/integration_tests/tests/forseti/controls/scanner-run.rb:24
 undefined method `[]' for nil:NilClass

Profile Summary: 0 successful controls, 2 control failures, 0 controls skipped
Test Summary: 8 successful, 4 failures, 0 skipped

Using this branch: https://github.com/forseti-security/forseti-security/tree/feature/issues-3497

@gkowalski-google One passing... one failing. No difference in code.
forseti-server: Verifying host <IP_ADDRESS>
Skipping profile: 'inspec-gcp' on unsupported platform: 'ubuntu/18.04'.
..............FF..
Profile: forseti_integration_testing
Version: (not specified)
Target:  ssh://ubuntu@<IP_ADDRESS>:22
✔  scanner-bucket-acl-scanner: Command: forseti inventory create --import_as 8455c766655
✔  Command: forseti inventory create --import_as 8455c766655 exit_status should eq 0
✔  Command: forseti inventory create --import_as 8455c766655 stdout should match /"id": "([0-9])"/
✔  Command: forseti model use 8455c766655 exit_status should eq 0
✔  Command: forseti scanner run exit_status should eq 0
✔  Command: forseti scanner run stdout should match /Scanner Index ID: ([0-9]) is created/
✔  Command: mysql -u root  --host <IP_ADDRESS> --database forseti_security --execute "SELECT COUNT(*) FROM violations V WHERE V.scanner_index_id =<PHONE_NUMBER>765420 AND V.violation_type = 'BUCKET_VIOLATION' AND V.resource_id = 'foresti-test-bucket-beloved-worm' AND V.rule_name = 'Bucket acls rule to search for exposed buckets';" exit_status should eq 0
✔  Command: mysql -u root  --host <IP_ADDRESS> --database forseti_security --execute "SELECT COUNT(*) FROM violations V WHERE V.scanner_index_id =<PHONE_NUMBER>765420 AND V.violation_type = 'BUCKET_VIOLATION' AND V.resource_id = 'foresti-test-bucket-beloved-worm' AND V.rule_name = 'Bucket acls rule to search for exposed buckets';" stdout should match /1/
✔  Command: forseti inventory delete<PHONE_NUMBER>404899 exit_status should eq 0
✔  Command: forseti model delete 8455c766655 exit_status should eq 0
×  scanner-run: Command: forseti inventory create --import_as ff5bfa5d466 (2 failed)
✔  Command: forseti inventory create --import_as ff5bfa5d466 exit_status should eq 0
✔  Command: forseti inventory create --import_as ff5bfa5d466 stdout should match /"id": "([0-9])"/
✔  Command: forseti model use ff5bfa5d466 exit_status should eq 0
✔  Command: forseti scanner run exit_status should eq 0
✔  Command: forseti scanner run stdout should match /Scanner Index ID: ([0-9]) is created/
×  Command: mysql -u root  --host <IP_ADDRESS> --database forseti_security --execute "SELECT SI.* FROM scanner_index SI WHERE id = ;" exit_status should eq 0
 expected: 0
      got: 1

 (compared using ==)

 ×  Command: `mysql -u root  --host <IP_ADDRESS> --database forseti_security --execute "SELECT SI.* FROM scanner_index SI WHERE id = ;"` stdout should match /SUCCESS/
 expected "" to match /SUCCESS/
 Diff:
 @@ -1,2 +1,2 @@
 -/SUCCESS/
 +""

 ✔  Command: `forseti inventory delete<PHONE_NUMBER>468571` exit_status should eq 0
 ✔  Command: `forseti model delete ff5bfa5d466` exit_status should eq 0

Profile Summary: 1 successful control, 1 control failure, 0 controls skipped
Test Summary: 16 successful, 2 failures, 0 skipped

forseti-server: InSpec Runner exited with 1

@goofiva In the failing case, I'm not sure why, but you can see that it does not have a scanner id. The last part of the query should have a scanner id listed, but there is nothing which is invalid SQL. I'm not sure why there is no id, when the command above it shows the actual output matches the expected output. Perhaps that is where we need to look into.
× Command: mysql -u root --host <IP_ADDRESS> --database forseti_security --execute "SELECT SI.* FROM scanner_index SI WHERE id = ;" exit_status should eq 0

 expected: 0
      got: 1

 (compared using ==)

 ×  Command: `mysql -u root  --host <IP_ADDRESS> --database forseti_security --execute "SELECT SI.* FROM scanner_index SI WHERE id = ;"` stdout should match /SUCCESS/
 expected "" to match /SUCCESS/
 Diff:
 @@ -1,2 +1,2 @@
 -/SUCCESS/
 +""

[root@d11b8c6fcc5f workspace]# kitchen verify --test-base-path="integration_tests/tests"
-----> Starting Kitchen (v1.24.0)
-----> Verifying ...
$$$$$$ Running command terraform workspace select kitchen-terraform-forseti-local in directory /workspace/integration_tests/fixtures/forseti
$$$$$$ Running command terraform output -json in directory /workspace/integration_tests/fixtures/forseti
forseti-server: Verifying host <IP_ADDRESS>
Skipping profile: 'inspec-gcp' on unsupported platform: 'ubuntu/18.04'.
.....
Profile: forseti_integration_testing
Version: (not specified)
Target:  ssh://ubuntu@<IP_ADDRESS>:22
✔  scanner-run: Command: forseti model use 394f7a3b603
✔  Command: forseti model use 394f7a3b603 exit_status should eq 0
✔  Command: mysql -u forseti_security_user -prKisUPz6xpyvGx0N --host <IP_ADDRESS> --database forseti_security --execute "SELECT SI.* FROM scanner_index SI WHERE id =<PHONE_NUMBER>195202;" exit_status should eq 0
✔  Command: mysql -u forseti_security_user -prKisUPz6xpyvGx0N --host <IP_ADDRESS> --database forseti_security --execute "SELECT SI.* FROM scanner_index SI WHERE id =<PHONE_NUMBER>195202;" stdout should match /SUCCESS/
✔  Command: forseti inventory delete<PHONE_NUMBER>550832 exit_status should eq 0
✔  Command: forseti model delete 394f7a3b603 exit_status should eq 0
Profile Summary: 1 successful control, 0 control failures, 0 controls skipped
Test Summary: 5 successful, 0 failures, 0 skipped
Finished verifying  (17m41.34s).
-----> Kitchen is finished. (17m44.01s)

@goofiva In the failing case, I'm not sure why, but you can see that it does not have a scanner id. The last part of the query should have a scanner id listed, but there is nothing which is invalid SQL. I'm not sure why there is no id, when the command above it shows the actual output matches the expected output. Perhaps that is where we need to look into.
× Command: mysql -u root --host <IP_ADDRESS> --database forseti_security --execute "SELECT SI.* FROM scanner_index SI WHERE id = ;" exit_status should eq 0

 expected: 0
      got: 1

 (compared using ==)

 ×  Command: `mysql -u root  --host <IP_ADDRESS> --database forseti_security --execute "SELECT SI.* FROM scanner_index SI WHERE id = ;"` stdout should match /SUCCESS/
 expected "" to match /SUCCESS/
 Diff:
 @@ -1,2 +1,2 @@
 -/SUCCESS/
 +""

I imagine that forseti is returning an empty id. It should have failed here...
https://github.com/forseti-security/forseti-security/commit/87e1cd5b5adfe70e52b3cab49a0799b1645d07ae#diff-9215742039a83d82603e5bfed589ac15R39
In the next commit, I'll edit the regex id search to require at least one digit. If forseti is indeed returning an empty id, I think that would be a bug we need to know about.


Default output path does not work unless a full input path is provided

We need to provide the default output path from the FullPath of the input path.

Addressed in PR #23


What does this mean?

npm WARN saveError ENOENT: no such file or directory, open 'C:\Users\user\package.json'
npm WARN enoent ENOENT: no such file or directory, open 'C:\Users\user\package.json'
npm WARN user No description
npm WARN user No repository field.
npm WARN user No README data
npm WARN user No license field.

+<EMAIL_ADDRESS>added 5 packages from 4 contributors and audited 5 packages in 1.301s
found 1 high severity vulnerability
  run `npm audit fix` to fix them, or `npm audit` for details

It is a strange warning

Are you referring to the following one?
+<EMAIL_ADDRESS>added 5 packages from 4 contributors and audited 5 packages in 1.301s
found 1 high severity vulnerability
  run `npm audit fix` to fix them, or `npm audit` for details

This warning does not apply, see https://github.com/Rob--W/cors-anywhere/issues/253


Correction for the configuration server template config

Under >https://docs.microsoft.com/en-us/azure/site-recovery/vmware-azure-tutorial#download-the-vm-template
> Point#4, it downloads OVA template (MicrosoftAzureSiteRecoveryConfigurationServer.ova), not OVF Template.

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

ID: ade7041d-9bfd-2f20-c6fc-b9f50eb9d307
Version Independent ID: bd581d20-6ab3-a7d0-3fd5-6049fbad3283
Content: Set up VMware VM disaster recovery to Azure with Azure Site Recovery - Azure Site Recovery
Content Source: articles/site-recovery/vmware-azure-tutorial.md
Service: site-recovery
GitHub Login: @rayne-wiselman
Microsoft Alias: raynew

#assign:davidsmatlak

I submitted the fix for this issue and when it merges, this issue will automatically close. The updated document will be online within 24 hours.


Fixed service name

Description
Fixed service name
Type of change

Documentation update

Testing steps
N/A
Checklist

[ ] make before_commit passes
[ ] updated documentation wherever necessary
[ ] added or modified tests if necessary
[ ] updated schemas and validators in insights-data-schemas in case of input/output change

Codecov Report
Base: 60.56% // Head: 60.56% // No change to project coverage :thumbsup:

Coverage data is based on head (b5097c5) compared to base (a50b2f5).
Patch has no changes to coverable lines.

Additional details and impacted files
@@           Coverage Diff           @@
##           master     #978   +/-   ##
=======================================
  Coverage   60.56%   60.56%
=======================================
  Files          23       23
  Lines        3231     3231
=======================================
  Hits         1957     1957
  Misses       1053     1053
  Partials      221      221

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


TidyTab doesn't work on some computers

It simply cannot tidy the tabs. Video and log are attached.
OS: Windows 10 Pro 64-bit
Browser: Google Chrome 58.0.3029.81 (64-bit)
TidyTab version: 2.5.0
Note: It works fine on my Win7 x64 home computer.
video and log.zip

@erenseymen Do you have a folder called "Other Bookmarks"in your bookmarks bar?

Yes, I have other bookmarks folder but its name is in Turkish language. ("Diğer yer işaretleri") Please see the attached screenshot.

Maybe the root cause is the language of Chrome. I'm having trouble with Turkish Chrome. My Chrome on my home computer is in English and TidyTab works fine.

By the way, is it possible to configure a custom folder for TidyTab? "Other Bookmarks" folder takes space on the bookmarks bar.

So, I've selected the language of Chrome as English and now it works OK. So problem occurs when the language is different than English I guess.

@erenseymen I am about to publish version 2.6.0 with support for non-english languages. You can see the fix here.

Retested the issue with v2.6.0.

Changed the language back to Turkish.
TidyTab works fine.
Verification PASSED.
Thanks for the quick fix :)

Wahoo!
I've added your feature request as an issue. You're not the only one asking for it, so when I have time, I'll make it happen :)
https://github.com/eggplanetio/tidytab/issues/54


pull request for e2e test at 01/14/2017 18:15:07

:white_check_mark: Validation status: passed
For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


BUG - Component inside carousel item is not interactible or keep it usual behavior

While implementing carousing within Loja Virtual, we face the issue of the Card componing looses its "connectin" with the framework. Stops to be interactible and reactive, stops to update values and other items, see the video below:
https://github.com/juntossomosmais/atomium/assets/6757777/e967d598-320f-4378-acf0-553ec786085b
PS. I already uunderstood whats is going on and am current working on it, on the next hours i will open the PR fixint it 🙏🏻

merged https://github.com/juntossomosmais/atomium/pull/263


Importing a vm forces replacement

I have a VM that I created with the terraform provider. However, I no longer have the state file for this VM. I would now like to import it into my existing state file (which contains many other VMs) using terraform import.
Unfortunately, terraform does not want to import the existing VM as a state, but create a new one, as the VM is to be created from a clone with cloud-init. However, the VM has already been created with exactly the clone image with which it is now to be imported.
How can I tell the provider that this VM does not need to be replaced as it is already a clone of the “ubuntu2204-ci” image?
terraform code snippet
main.tf
module "example-vm" {
  source         = "./module"
  vm_name        = "example-vm"
  desc           = "to-do"
  target_node    = "node1"
  clone          = "ubuntu2204-ci"
  cores          = "4"
  memory         = "16384"
  [...shortened...]
}

module/module.tf
variable "vm_name" {}
variable "desc" {}
variable "target_node" {}
variable "clone" {}
variable "cores" {}
variable "memory" {}
[...shortened...]

resource "proxmox_vm_qemu" "vm" {
  name        = var.vm_name
  desc        = var.desc
  onboot      = true
  target_node = var.target_node
  agent       = 1
  clone       = var.clone
  qemu_os     = var.qemu_os
  cores       = var.cores
  sockets     = 1
  cpu         = "x86-64-v2-AES"
  memory      = var.memory
  boot        = "order=scsi0"
  tags        = "ha;terraform"
  scsihw      = "virtio-scsi-pci"
  pool        = var.pool
  bios        = var.bios
  [...shortened...]
}

@lug-gh you could try the following:

create the same vms with new names and ids.
create a copy of the state file.
tell terraform to remove the newly created vms.
replace the statefile with the copy you made earlier.
update the ids and names in the state file to your already existing vms.
create a backup of the state file.
terraform refresh & terraform plan.

You might still have to make minor changes to the state file.
There is probably a better way of doing this.

@Tinyblargon Thank you, that would have been my workaround too, but I figured there must be a better way that I don't know.
I'll try it out over the next few days and share my findings here.


Azure Static Webapps Nextjs SSR - Timeline for feature to be production ready?

Hi there,
Do you have a rough timeline for when the NextJS SSR functionality will reach production readiness?
The functionality is currently labeled with preview and was released and communicated in autumn last year over this blogpost from @aaronpowell but I can't find an indication on the current status or a rough timeline on when this will be stable for production apps.
We have a project for which we would like to make use of this feature but as long as it's not recommended for production we would have to consider other options.
Thanks for a quick update.
Best regards
Colin

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

ID: 790875c0-a47d-8bb1-7437-7fd04ed97cb0
Version Independent ID: ce306bfa-443d-6ff1-3627-b7543d360255
Content: Tutorial: Deploy hybrid Next.js websites on Azure Static Web Apps
Content Source: articles/static-web-apps/deploy-nextjs-hybrid.md
Service: static-web-apps
GitHub Login: @aaronpowell
Microsoft Alias: aapowell

@colinscz Thanks for the feedback! We are currently investigating and will update you shortly.

According to the PM for Static Web Apps, the feature is scheduled to ship as GA by the end of summer (which I take as end of August, since it's winter where I am 😜) - https://github.com/vercel/next.js/discussions/13289#discussioncomment-6428992

@aaronpowell Thanks for sharing this. @colinscz We will now close this out but if you feel you need more information please just let us know.

@aaronpowell I hope too he meant our end of summer and not yours 😄
@SnehaAgrawal-MSFT sure fine for me
Thank you both for the quick response 👍🏽

This is still marked up as in "Preview" when will this  actually be GA as summer has come and gone.


Quotes sometimes not formatted correctly

Some quotes are incorrectly formatted.
Particularly if in this format:
> Quoted text
In that case, it is transformed into:

>
Quoted text.

Some quote spans start with (space)>. This is a user error but can still be accounted for.


Emphasis-label does not work for lines

One-line summary [问题简述]
Emphasis-label does not work for lines, for e.g. the label position cannot be set to 'top' or 'middle'. Also rich text cannot be properly applied in this situation.
This function has been tested and passed for other series types, like scatter, however it has been discovered that at least for lines it does not work.
Version & Environment [版本及环境]

ECharts version [ECharts 版本]: 4.10
Browser version [浏览器类型和版本]: Chrome 67.0.3396.99
OS Version [操作系统类型和版本]: Win10

Expected behaviour [期望结果]
Emphasis-label works for lines.
ECharts option [ECharts配置项]

option = {

}

Other comments [其他信息]

Do find the same issue. It should be a easy fix.

Have the same issue on sunburst I believe


connection refused!

          > Found out that the 'OPENAI_API_TYPE' value 'llama2' does not work. I also noticed that the `llm = get_llm()` is used 3 times but not used in the code. A llm is used via `chat = get_chat_model()`.

TLDR. To get OpenCopilot working with locally run LLM via Ollama set these variables in the .env file:
OPENAI_API_KEY=unused
CHAT_MODEL=openchat
EMBEDDING_PROVIDER=openchat
LOCAL_IP=http://host.docker.internal
VECTOR_SIZE=4096

i did according your config, but i got the below reply from bot copilot
"HTTPConnectionPool(host='localhost', port=11434): Max retries exceeded with url: /api/generate/ (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7f59863faaf0>: Failed to establish a new connection: [Errno 111] Connection refused'))"
i dont know why this connection refused?
Originally posted by @hugo921 in https://github.com/openchatai/OpenCopilot/issues/497#issuecomment-1951060507

in the above test，I set LOCAL_IP  variable as http://localhost ，so I set  LOCAL_IP  variable as  http://host.docker.internal, and then i open the copilot ,chat with him;the progress is below.
"
bot's avatar
Hey Pal!
aaa
bot's avatar
HTTPConnectionPool(host='host.docker.internal', port=11434): Max retries exceeded with url: /api/generate/ (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7f8af4723670>: Failed to establish a new connection: [Errno -2] Name or service not known'))
Bot
"
this time the bot copilot show "Name or service not known"

Are you sure openchat model exists ?


BUG: FAQ page is missing

Is there an existing issue for this?

[X] I have searched the existing issues

What happened?
@PatilHarshh
There is no FAQ page
Record

[X] I agree to follow this project's Code of Conduct
[X] I'm a GSSOC'24 contributor
[X] I want to work on this issue

Go Ahead !! @dhruv8433  Add FAQ to the topic !! if i feel particular faq is not to the topic i will remove it !

@PatilHarshh Thank you

can you please assign me under GSSOC.'24 .