Make dependabot update github actions dependencies

Description

Our pipeline workflows are getting lots of warnings about using an old version of Node.js (similar to WordPress/openverse-frontend#1922). See for example this run of the CI + CD worfkflow.
Given that this PR:

Adds GitHub Action to dependabot's package ecosystems, so dependabot will take care of updating the actions in the future

I configured it to be checked weekly as I haven't seen the actions releasing new versions so frequently as other dependencies and are relatively simple to review and merge. Let me know if you think it would be better to keep it monthly as well

Updates warned actions: actions/checkout, actions/setup-python, actions/cache, actions/upload-artifact, docker/build-push-action, docker/setup-buildx-action

Checklist

[x] My pull request has a descriptive title (not a vague title like Update index.md).
[x] My pull request targets the default branch of the repository (main) or a parent feature branch.
[x] My commit messages follow best practices.
[x] My code follows the established code style of the repository.
[ ] I added or updated tests for the changes I made (if applicable).
[ ] I added or updated documentation (if applicable).
[ ] I tried running the project locally and verified that there are no visible errors.

Developer Certificate of Origin

Developer Certificate of Origin
Developer Certificate of Origin
Version 1.1

Copyright (C) 2004, 2006 The Linux Foundation and its contributors.
1 Letterman Drive
Suite D4700
San Francisco, CA, 94129

Everyone is permitted to copy and distribute verbatim copies of this
license document, but changing it is not allowed.

Developer's Certificate of Origin 1.1

By making a contribution to this project, I certify that:

(a) The contribution was created in whole or in part by me and I
    have the right to submit it under the open source license
    indicated in the file; or

(b) The contribution is based upon previous work that, to the best
    of my knowledge, is covered under an appropriate open source
    license and I have the right under that license to submit that
    work with modifications, whether created in whole or in part
    by me, under the same open source license (unless I am
    permitted to submit under a different license), as indicated
    in the file; or

(c) The contribution was provided directly to me by some other
    person who certified (a), (b) or (c) and I have not modified
    it.

(d) I understand and agree that this project and the contribution
    are public and that a record of the contribution (including all
    personal information I submit with it, including my sign-off) is
    maintained indefinitely and may be redistributed consistent with
    this project or the open source license(s) involved.

See no more warnings/annotations related to Node.js:
https://github.com/WordPress/openverse-catalog/actions/runs/3323474680


TypeError: Cannot read property 'csrftoken' of undefined

Simple Example play.js not working:
TypeError: Cannot read property 'csrftoken' of undefined     at Spotify._onsecret (/node_modules/node-spotify-web/lib/spotify.js:256:54)

+1 here

+3 :(

+5 :'(

+6 here

This node module is over 4 years old, I believe spotify has updated the way they log users in and handle requests, therefore making this library outdated. If anyone finds a way please leave a comment here with a new repository to use.

Any fixes found?

Was anybody able to find a fix or any alternative library's.

Has anyone found an alternative library?

@TooTallNate, you prolly should mark this as deprecated


[SMP-2228] Update SMP monitoring for 0.10.0

Update SMP monitoring for 0.10.0
For reviewers, a preview is available.
Monitoring options
What Type of PR is This?

[ ] Issue
[ ] Feature
[x] Maintenance/Chore

If tied to an Issue, list the Issue(s) here:

Issue(s)

House Keeping
Some items to keep track of. Screen shots of changes are optional but would help the maintainers review quicker.

[x] Tested Locally
[ ] Optional Screen Shoot.

Please check the Execution Link of the Pipeline for the Website Draft URL. This is located in the Preview Step and also is available in #hdh_alerts. E.g Website Draft URL: https://unique-id--harness-developer.netlify.app

Please check the Execution Link of the Pipeline for the Website Draft URL. This is located in the Preview Step and also is available in #hdh_alerts. E.g Website Draft URL: https://unique-id--harness-developer.netlify.app

Looks good! Thanks @brian-f-harness

Looks good! Thanks @brian-f-harness

Please check the Execution Link of the Pipeline for the Website Draft URL. This is located in the Preview Step and also is available in #hdh_alerts. E.g Website Draft URL: https://unique-id--harness-developer.netlify.app

Please check the Execution Link of the Pipeline for the Website Draft URL. This is located in the Preview Step and also is available in #hdh_alerts. E.g Website Draft URL: https://unique-id--harness-developer.netlify.app

Please check the Execution Link of the Pipeline for the Website Draft URL. This is located in the Preview Step and also is available in #hdh_alerts. E.g Website Draft URL: https://unique-id--harness-developer.netlify.app

Please check the Execution Link of the Pipeline for the Website Draft URL. This is located in the Preview Step and also is available in #hdh_alerts. E.g Website Draft URL: https://unique-id--harness-developer.netlify.app


Fix RSpec JUnit format tests results

On vsts_build_and_deploy
 the azure-pipelines.yml definition outputs RSpec results in XML/Junit format but this is not correctly parsed during build on the Azure DevOps build pipeline:
https://dfe-ssp.visualstudio.com/Become-A-Teacher/_build
This needs some experimentation/tweaking to fix.

Fixed by adding RSpec Junit formatter gem.


Fix Download CSV Even When Selection Not Made

Fix for #316. Just needed to add condition to check if undefined and if so then still generate data for CSV file.

:+1:


Add in SIC/NAICS data

Breaking this off from a comment from @jbroquist in #3.
We should add in SIC/NAICS data.
I couldn't find a public-domain table that combines any of this information currently. Anyone aware of one?

I looked at this again today and


Add moc RCA

Is your feature request related to a problem? Please describe.
Can't create integration tests for CU modules.
Create model of RCA for make tests for CU.
Describe the solution you'd like
Create model of RCA for make tests for CU with same interface.

Closed in #55


Add the short version for CC licenses to the list of licenses to choose

Dear all,
Is your enhancement request related to a problem? Please describe.
After upload of data the user is taken to another page to enter further information such as a description, keywords and many more. On the bottom of that page one needs to select a license. There is a list of many licenses down there but I actually know that I would like to select CC BY 4.0.
However, this license is described with "Creative Commons Attribution 4.0 International", which is right, but very difficult to find from the drop down list. I initially tried to open the drop down list and searched for "CC BY". This gave not result, as the short version of this license is not available in this list, while searching for "attribution" works, which is great.
Describe the solution you'd like
Please change "Creative Commons Attribution 4.0 International" to "Creative Commons Attribution 4.0 International (CC BY 4.0)". The same applies (at least) to all other CC licenses.
Best,
Tillmann

Dear Nisha,
thank you for the update.
Some typo:
CC0-1.0 -> CC0 1.0
CC-BY-NC-SA-4.0 -> CC BY-NC-SA 4.0
CC-BY-SA-4.0 -> CC BY-SA 4.0
and so on...
Best,
Tillmann

Thanks again @tilfischer, It is rectified now.
Please verify once and close the ticket when you get time.

Looks fine. Thank you!


🐛 backstage-cli package build fails due to rollup-plugin-dts errors

📜 Description
I'm in the process of writing a Backstage plugin in Typescript. It has a reasonably vanilla set of dependencies, and all the usual recommended Backstage plugin scripts. (The problematic item - @backstage/cli ^0.25.0 - is in the devDependencies.)
The one slightly unusual feature with the setup is that because I have a front-end and a back-end plugin, I've put them in a multi-module project using Yarn workspaces.
When I run the backstage-cli package build command on the plugin, it fails to build, instead producing an error from rollup-plugin-dts which the Backstage CLI uses internally.
👍 Expected behavior
When I run the backstage-cli package build command on a (valid) plugin, with typescript in its devDependencies, then it should just work.
👎 Actual Behavior with Screenshots
When I run the backstage-cli package build command on the plugin, I get the following error:

Process started
Error: rollup-plugin-dts tried to access typescript (a peer dependency) but it isn't provided by its ancestors; this makes the require call ambiguous and unused.
Required package: typescript
...

I then tried adding typescript to the devDependencies, ran yarn install and re-ran the build. I got the same error.
I then tried moving typescript to the dependencies, ran yarn install and re-ran the build, just in case rollup-plugin-dts is prevented from accessing devDependencies (unlikely but possible). Once again, I got the same error.
👟 Reproduction steps
Unfortunately the code is private, so I am unable to share it
📃 Provide the context for the Bug.
No response
🖥 Your Environment
Due to the multi-module setup I had to run yarn workspaces foreach --all run backstage-cli info:
Process started
OS: Darwin 22.6.0 - darwin/arm64
node: v18.19.0
yarn: 4.0.2
cli: 0.25.0 (installed)
backstage: N/A

Dependencies:

Error: ENOENT: no such file or directory, open '/Users/me/.../my-plugin/frontend/yarn.lock

Process started
OS: Darwin 22.6.0 - darwin/arm64
node: v18.19.0
yarn: 4.0.2
cli: 0.25.0 (installed)
backstage: N/A

Dependencies:

Error: ENOENT: no such file or directory, open '/Users/me/.../my-plugin/backend/yarn.lock

If I had to guess, the Backstage CLI is maybe making some assumptions about the location of yarn.lock, that are incorrect in multi-module projects.
👀 Have you spent some time to check if this bug has been raised before?

[X] I checked and didn't find similar issue

🏢 Have you read the Code of Conduct?

[X] I have read the Code of Conduct

Are you willing to submit PR?
None

Hi @chriskilding, thank you for reaching out to us 🙌🏻 .
Could you try updating the rollup dependency to the latest version and tell us if that solves the issue?

Hi, I tried adding rollup-plugin-dts to my project's dependencies, but it seems that Backstage CLI doesn't use it, so I got the same error.
Perhaps Backstage CLI bundles its dependencies - I heard it may also be bundling its own copy of Yarn - in which case it would be unable to respond to this change by definition, and the only way to fix it would be to bump or otherwise fix the rollup-plugin-dts dependency in Backstage CLI itself.

Separately, I tried creating a new project by creating a minimal package.json in the project root like this:
{
  "name": "@internal/root",
  # ...metadata
  "scripts": {
    "new": "backstage-cli new",
    "build": "backstage-cli repo build"
  },
  "devDependencies": {
    "@backstage/cli": "^0.25.0"
  },
  "workspaces": [
    "backstage-plugin-foo"
  ]
}

Side note: I had to pre-populate the workspaces with the plugin name that I was about to create, because if I did not, then the yarn lint --fix command would fail. This might be another bug.
I then did yarn new in the root, to create a new frontend plugin foo as a submodule.
When I then run yarn build in the project root, the build fails with the same error as before;

rollup-plugin-dts tried to access typescript (a peer dependency) but it isn't provided by its ancestors; this makes the require call ambiguous and unsound.

I then removed the package.json from the root, jumped into the plugin subdirectory, and rebuilt it as if it were a regular non-workspace project in isolation. The build worked.
So it looks like the plugin build system has a problem with running in a workspace / multi-module project. If you don't use workspaces, it works.
This is, however, a big problem in the most common use case - when creating a plugin that has a frontend and backend component, where we would really like to use workspaces (and workspace dependencies) to keep Backstage dependency versions in sync.

Ok - interesting issue. Can you double check if you are having a typescript dependency in the root? In which way did you customise the workspace setup? On a first glance it looks similar to the way we setup workspaces inside of Backstage.


[metadata prespecialization] Prespecialize common standard library types

The standard library is already prespecializing types it uses within itself, but many commonly-used types aren't actually used by the standard library. This adds uses of these types to the std lib to force their prespecialization.
Note this list is not ABI. We can add and remove from it in each release. I generated this starter list by looking for types used by more than 1 app in a sample of a few Mac apps run on my desktop. We should eventually make resampling some representative programs to generate this list part of the Swift release process.
There are some types in this list we can't yet prespecialize (like those parameterized by non-nominal types or AnyObject) but I'm assuming those are coming so they're fine to keep in here.

@swift-ci please test

@swift-ci please benchmark

Performance: -O

Regression
OLD
NEW
DELTA
RATIO

EqualSubstringSubstring
23
30
+30.4%
0.77x

LessSubstringSubstring
23
30
+30.4%
0.77x

EqualStringSubstring
23
30
+30.4%
0.77x (?)

EqualSubstringSubstringGenericEquatable
23
30
+30.4%
0.77x

EqualSubstringString
23
30
+30.4%
0.77x

LessSubstringSubstringGenericComparable
23
30
+30.4%
0.77x

DistinctClassFieldAccesses
177
211
+19.2%
0.84x

StringComparison_longSharedPrefix
323
359
+11.1%
0.90x (?)

ObjectiveCBridgeStringHash
76
84
+10.5%
0.90x (?)

ObjectiveCBridgeStubToNSDate2
330
360
+9.1%
0.92x (?)

StringHasSuffixAscii
1370
1480
+8.0%
0.93x (?)

Improvement
OLD
NEW
DELTA
RATIO

Set.isSubset.Seq.Empty.Int
82
76
-7.3%
1.08x (?)

Code size: -O
Performance: -Osize

Regression
OLD
NEW
DELTA
RATIO

EqualSubstringSubstring
23
30
+30.4%
0.77x (?)

EqualStringSubstring
23
30
+30.4%
0.77x

EqualSubstringSubstringGenericEquatable
23
30
+30.4%
0.77x

EqualSubstringString
23
30
+30.4%
0.77x

LessSubstringSubstring
24
31
+29.2%
0.77x

LessSubstringSubstringGenericComparable
24
31
+29.2%
0.77x

StringComparison_longSharedPrefix
319
357
+11.9%
0.89x (?)

ObjectiveCBridgeStringHash
76
84
+10.5%
0.90x (?)

AngryPhonebook.Armenian
157
171
+8.9%
0.92x (?)

Improvement
OLD
NEW
DELTA
RATIO

Set.subtracting.Empty.Int
28
26
-7.1%
1.08x (?)

Code size: -Osize
Performance: -Onone

Regression
OLD
NEW
DELTA
RATIO

EqualSubstringSubstringGenericEquatable
27
34
+25.9%
0.79x

LessSubstringSubstringGenericComparable
27
34
+25.9%
0.79x

LessSubstringSubstring
28
35
+25.0%
0.80x

EqualSubstringSubstring
28
34
+21.4%
0.82x (?)

EqualStringSubstring
28
34
+21.4%
0.82x (?)

EqualSubstringString
28
34
+21.4%
0.82x (?)

ObjectiveCBridgeStringHash
76
84
+10.5%
0.90x (?)

AngryPhonebook.Strasse
136
150
+10.3%
0.91x (?)

Improvement
OLD
NEW
DELTA
RATIO

Set.subtracting.Seq.Empty.Int
339
279
-17.7%
1.22x

Set.isDisjoint.Empty.Int
284
234
-17.6%
1.21x

Set.subtracting.Empty.Int
72
62
-13.9%
1.16x (?)

Set.subtracting.Seq.Int.Empty
560
502
-10.4%
1.12x (?)

StringFromLongWholeSubstring
10
9
-10.0%
1.11x

Set.isStrictSubset.Seq.Int.Empty
683
618
-9.5%
1.11x (?)

Set.subtracting.Int.Empty
98
89
-9.2%
1.10x (?)

Set.isSubset.Seq.Int.Empty
685
624
-8.9%
1.10x (?)

Code size: -swiftlibs

How to read the data
The tables contain differences in performance which are larger than 8% and
differences in code size which are larger than 1%.
If you see any unexpected regressions, you should consider fixing the
regressions before you merge the PR.
Noise: Sometimes the performance results (not code size!) contain false
alarms. Unexpected regressions which are marked with '(?)' are probably noise.
If you see regressions which you cannot explain you can try to run the
benchmarks again. If regressions still show up, please consult with the
performance team (@eeckstein).

Hardware Overview
  Model Name: Mac mini
  Model Identifier: Macmini8,1
  Processor Name: 6-Core Intel Core i7
  Processor Speed: 3.2 GHz
  Number of Processors: 1
  Total Number of Cores: 6
  L2 Cache (per Core): 256 KB
  L3 Cache: 12 MB
  Memory: 64 GB

@swift-ci please test windows

@swift-ci please test macOS

Build failed
Swift Test OS X Platform
Git Sha - 9cb7dcea4194cc70fcf5fc424f1ff5e904778b59

@swift-ci please clean test os x platform

@swift-ci please clean test macOS


Handle responses for show window request and delegate to add-ons

Motivation
Add-ons won't have a lot of flexibility when it comes to UI elements since the LSP specification doesn't prescribe that. However, we can still allow for a certain degree of interactions by delegating responses of the window/showMessageRequest request.
This request made by the server allows LSPs to show a dialog with buttons to the user. The response includes which button was clicked and any other attributes (as long as the client supports additional properties).
We can use this to allow for more interactivity for add-ons. The current use case we will use this for is letting the Rails add-on inform the user there's a pending migration with a button to run it.
Implementation
Started handling responses for window/showMessageRequest. We enforce the add-ons must provide their name as part of the original request in order to receive the response delegated appropriately.
Also, started remembering if the client supports additional properties. Add-ons can only use this mechanism in such cases because otherwise they don't have the means to inform us of their name for delegation.
Automated Tests
Added a test.

How can we trigger the request in the first place? Through the VS Code extension?

No, the server sends a request to the client and it returns a response once something was clicked.
It's the window/showMessageRequest. Essentially, you would do this:
# Send the request to the client
outgoing_queue << Request.new(
  id: @current_request_id,
  method: "window/showMessageRequest",
  params: ...
)

# Then once the user clicks on one of the buttons, we receive the response and delegate it


Make the aliases handling to be equivalent of obsidian

🚀 The feature, motivation and pitch
Hello, and thank you for this plugin.
Being able to take obsidian notes from VIM is such a quality of life improvement. I can't stand how buggy their vim bindings are.
I noticed a lot of errors when trying to link notes, making my experience awful. Because I use notify 5k warnings takes a long to render and clear.
The reason of the warnings was what your plugin considers malformed aliases. However, all my aliases work neat within obsidian. I made some tests with their api and they are able to handle all this cases just fine:
aliases: single alias
aliases: comma, sep, list
aliases: [comma, sep, list, with delimiters]
aliases:
 - yaml
 - list

I think it will be nice if this plugin could also understand all that.
Alternatives
I had to lower the debug level because neovim was becoming unusable due to the warnings. That is my alternative for now 😄
Additional context
No response

Hey @danielo515, your 3rd and 4th example are definitely supported. If you get an error with those cases then that means there's a bug in our YAML parser. bf8083f adds support for the 1st example as well, but the 2nd example is not a valid YAML list, so I don't think we'll add support for that.

I think most of my errors are coming from the first error, so that are good news


Trouble instaling ML.NET Model Builder package

Customer reported the following issue on SO https://stackoverflow.com/questions/56306765/trouble-instaling-ml-net-model-builder-package
I´m trying to install ML.NET 1.0 package into Visual Studio 2017, so I can practice the ML.NET Model Builder,
System Information (please complete the following information):

Model Builder Version:
Visual Studio Version

Describe the bug
A clear and concise description of what the bug is.
To Reproduce
Steps to reproduce the behavior:

Go to '...'
Click on '....'
Scroll down to '....'
See error

Expected behavior
A clear and concise description of what you expected to happen.
Screenshots
If applicable, add screenshots to help explain your problem.
Additional context
Add any other context about the problem here.

Dupe of #95


GORM migration pt3

3 changes:

Removed NewRecord
Count() return value is int64
Update became Updates

@jakubdal I will not betray you


remove api-experimental functionality, now replaced by api

Now that wsk api replaces wsk api-experimental we should remove api-experimental command.
Probably give 30 days more to give folks a chance to start using wsk api

I will need to coordinate updating the openwhisk-client-js and openwhisk serverless framework plugin when this is released.

Yep let's coordinate thru this issue
I would will even start marking it deprecated today in client js today and removed a bit before we remove from here.

Some development items to consider

CLI Go code

Removal of experimental command, associated help, associated wski18n strings
Replacement of V2 labeled structures and functions.  i.e. apiCreateCmdV2 becomes just apiCreateCmd after removing the existing experimental apiCreateCmd.  Look in go-whisk/whisk/api.go and go-whisk-cli/commands/api.go

Tests

ApiGwRoutemgmtActionTests

Removal experimental functions.
Re-label the V2 items (remove V2) - methods, test labels, etc.
Delete the entire API Gateway routemgmt action parameter validation test suite

ApiGwTests

Remove all experimental tests and helper functions

ApiGwEndToEndTests

Remove api-experimental test suite

Deployment

installRouteMgmt.sh task.  Remove installation of routemgmt package and associated actions

related changes in https://github.com/apache/incubator-openwhisk/pull/2493 feel free to pick it up.

not totally sure what to do about routemgmt, do you want me to remove the entire routemgmt.yml entirely?

no, the routemgmt.yml stays - along with the entire ansible role routemgmt.  the only change to this role is the update to the installRouteMgmt.sh file under that role.

PR --> https://github.com/apache/incubator-openwhisk/pull/2547

@csantanapr - ok to close now?


Fix license issue in standalone

Quick fix that solves the latest License Error

Hey @rafacanton, I think you might as well replace the modified lines with what is lines 37-39. This looks like forgotten duplication.

Hey @rafacanton, I think you might as well replace the modified lines with what is lines 37-39. This looks like forgotten duplication.

Hi @PProfizi, no this is probably not a duplication, it intends to create a fixture with entry servers, then reset the default context to premium
@rafacanton

Hey @rafacanton, I think you might as well replace the modified lines with what is lines 37-39. This looks like forgotten duplication.

Hi @PProfizi, no this is probably not a duplication, it intends to create a fixture with entry servers, then reset the default context to premium
@rafacanton

Then I guess this is what is not working on the TFS side.

Hey @rafacanton, I think you might as well replace the modified lines with what is lines 37-39. This looks like forgotten duplication.

Hi @PProfizi, no this is probably not a duplication, it intends to create a fixture with entry servers, then reset the default context to premium
@rafacanton

Then I guess this is what is not working on the TFS side.

@anslpa @PProfizi yes, the issue is deeper then.


Fixes the issue of whitespace in the user's name

My user's name contains a whitespace character, so this install wouldn't work unless I made the following changes and added quotation marks around the directories because I believe robocopy sees the whitespace as the end of the command.
Not a developer or coder, but I figured this out pretty quickly, make edits if there are unnecessary changes.

Also fixes #138


focus video player

As of now, the video player shows up behind other Applications (like Powerpoint) if QLC+ is not focused. I suggesst this solution, however I wasn't able to compile and test it under windows.
Cheers

Does launching QLC+ after Powerpoint help at all ?

No it doesnt. Focusing QLC+ before pressing the MIDI button helps, but is very impractical. My proposed change doesn't help at all, but m_videoWidget->setWindowFlag(Qt::WindowStaysOnTopHint); helps. Do you think that this is a change that could be simply made or should there be an extra checkbox for Always on Top?

To be honest I'd like to avoid adding more options.
In general, if a user requests a video to play, it's kind of implicit that they want to see it on top of everything else.
Which platform are you using by the way ? Windows ?

I am using Linux, but atm I have to work with windows. I haven't experienced this Problem in Linux (Gnome/Wayland), but on windows. As I understand you, I will now change this PR to the solution I found to be working (adding the always on top flag to the Video Player window).

I have now tested this under windows and it works. However, the first time a video is played, for some reason the window does not show.

Alright, let's merge this. I'll test it later when I spend (waste :laughing:) some time on Windows.
Thanks :+1:


Wrong keyboard shortcuts

VSCode Version: 1.15.1
OS Version: Windows 7 Ultimate x64

@jrieken, sorry, I assigned the wrong keyboard shortcuts. Issue #33491. Shift+A this is input in uppercase. Or the keyboard shortcuts Shift+A will only work for the event acceptSnippet?

You can use when-clauses to define when your keyboard shortcuts are active, e.g when = inSnippetMode. See https://code.visualstudio.com/docs/getstarted/keybindings#_advanced-customization for more information.

Thank you.


transformResponse data is passed as String, although it is JSON

Similar to #378
axios.get(url, {
  headers: {
    'Content-Type': 'application/json'
  },
  transformResponse: [function(data) {
    console.log(data); // "{ name: "apple", type: "fruit"}"
  }]
})

data is a String and I have to parse it every time. I have the latest version of axios 0.14.0

In your example you are overriding the default transformResponse with your own. The default transformResponse will parse JSON. Try this instead:
axios.get(url, {
  headers: {
    'Content-Type': 'application/json'
  },
  transformResponse: axios.defaults.transformResponse.concat((data) => {
    console.log(data) // this should now be JSON
  })
})

@mzabriskie When I do this i have a typescript error :
Property 'concat' does not exist on type : '<U>(data: any) = > U'
What does it mean ? What is  type ?  How bypassing this error ?

@ShakurOo transformResponse (including axios.defaults.transformResponse) is the type AxiosTransformer | AxiosTransformer[], meaning that it technically might or might not be an array. I fixed this with the following:
{
    transformResponse: [].concat(
        axios.defaults.transformResponse,
        myTransformResponse,
    ),
}

Array.prototype.concat automatically flattens arrays one level deep, so it will work correctly no matter whether axios.defaults.transformResponse and myTransformResponse are objects, arrays, or mixed.

why is transformResponse so inefficent? why no checking weather the client expects JSON, or anything, and no ability to access the headers?

To simplify i did this
axios.get(url, {
  headers: {
    'Content-Type': 'application/json'
  },
  transformResponse: [
    ...axios.defaults.transformResponse.concat(),
    function(data) {
        console.log(data); // "{ name: "apple", type: "fruit"}"
    }
  ]
})


Add Node.js 0.12.x to travis builds

Travis builds should pass in Node.js 0.12.x once https://github.com/mapbox/millstone/pull/119 is accepted.

Closing; stale and Node 0.12 is very antiquated


[c-ares] Update to 1.28.0

[x] Changes comply with the maintainer guide.
[x] SHA512s are updated for each updated download.
[x] The "supports" clause reflects platforms that may be fixed by this new version.
[x] Any fixed CI baseline entries are removed from that file.
[x] Any patches that are no longer applied are deleted from the port's directory.
[x] The version database is fixed by rerunning ./vcpkg x-add-version --all and committing the result.
[x] Only one version is added to each modified port's versions file.

Filed a bug upstream for the trantor issue and added a commit here to try working around it: https://github.com/an-tao/trantor/issues/329

I pushed what I believe is a more correct fix for the deprecation issue. Specifically, disabling -Werror allows customers to continue to build Trantor while not erasing audit logs of the particular deprecations that are occurring.
I also removed the attempt to install find modules. Notably, FindBotan could never have been used because we pick openssl, and FindCAres could never have been used because we were already patching that find_package to say CONFIG. This made explicitly deleting the debug/share directory unnecessary.
Can you confirm that you are OK with these changes or describe ways in which you do not agree?
Thanks for the update!

@BillyONeal  These seem fine to me!

Awesome, thanks!


PP-5357: Rename PaymentDetailsEvent event

Renamed from PaymentDetailsEvent to PaymentDetailsEntered

Depending on (Dom & Steven)'s work this might or might not be merged.
If it can be merged it should possibly happen after https://github.com/alphagov/pay-ledger/pull/93.


Can't launch VS Code from Linux terminal: symbol lookup error

Few days or weeks ago my VS Code lost the ability to start from the terminal. This is what it prints:
/usr/share/code/bin/../code: symbol lookup error: /usr/share/code/bin/../code: undefined symbol: _ZN2v814ScriptCompiler20ExternalSourceStream11SetBookmarkEv
I have tried remove /usr/share/code and reinstall from .deb but it did not help. Running VS Code from Nautilus or by searching in Ubuntu works perfectly. I have tried to google this symbol and even tried to reinstall nodejs and other packages but it did not help.

VSCode Version:
Version 1.24.1
Commit 24f62626b222e9a8313213fb64b10d741a326288
Date 2018-06-13T17:47:35.732Z
Shell 1.7.12
Renderer 58.0.3029.110
Node 7.9.0
Architecture x64
OS Version: Ubuntu 18.04

Steps to Reproduce:

Type code or /usr/share/code/code in terminal

Does this issue occur when all extensions are disabled?: Yes

Did this only just start happening? I can't repro on my side.

Yes, it just started. It must be a problem with my environment. I think this symbol comes from v8 library but I cannot locate it.
This is the code.desktop file that actually works:
cat /usr/share/applications/code.desktop
[Desktop Entry]
Name=Visual Studio Code
Comment=Code Editing. Redefined.
GenericName=Text Editor
Exec=/usr/share/code/code --unity-launch %F
Icon=code
Type=Application
StartupNotify=true
StartupWMClass=Code
Categories=Utility;TextEditor;Development;IDE;
MimeType=text/plain;inode/directory;
Actions=new-empty-window;
Keywords=vscode;

X-Desktop-File-Install-Version=0.23

[Desktop Action new-empty-window]
Name=New Empty Window
Exec=/usr/share/code/code --new-window %F
Icon=code

I have tried code --new-window and code --unity-launch but without any luck.

This is strange that it works via nautilus but not through the command line when you're calling what the desktop file calls 😕, I'm a bit stumped on this one. @bpasero any ideas?

If the snap version is working correctly then it must be something with my libs. Maybe I have an old version of something? But this does not explain why nautilus .desktop file works. Are there any environmental variables that it uses?

@ArkadiuszNiemiec does it reproduce if you run from a clean environment?

@ArkadiuszNiemiec anything with env -i code --verbose ?

env -i code doesn't work because of lack of DISPLAY=:0 variable.
I have checked every single one of them and found out that my LD_LIBRARY_PATH was the cause of the problem:
LD_LIBRARY_PATH=/home/username/catkin_ws/devel/lib:/opt/ros/melodic/lib

...both paths come from ROS Melodic, which I need in my workflow :disappointed:

It sounds like VS Code is working as expected if you're messing with LD_LIBRARY_PATH? You could try tweak LD_LIBRARY_PATH when you launch VS Code like this:
LD_LIBRARY_PATH=blah code

And even include that in the .desktop entry.
I'm closing this as designed.

I really don't think that it works as designed but it's your call. I will write a script that clears this env variable before running code but I still think it's just a workaround.

@ArkadiuszNiemiec LD_LIBRARY_PATH defined where libraries are looked up I believe, if you're messing with that bad things can happen.

@Tyriar If I understand it correctly the Code is looking for some lib that is in both system library and in the path from LD_LIBRARY_PATH. Since the LD_LIBRARY_PATH is before the cache from /etc/ld.so.cache it tries to use a lib version from that path, right?
Nonetheless, I still think that any app should work with paths added (without overwriting default ones) to environment variables. Code is the only software that doesn't wont to work with Robotic Operating System installed and configurated.
Thank you anyway, keep up a great work!


Basic auth not working for my second docker compose configuration

Do you want to request a feature or report a bug?
Bug

Bug

What did you do?
I have set up 2 docker-compose files, one setsup traefik and the other is to set up my web app, it works very well, but basic authentication doesn't seem to work for my web application yet it's working for my traefik dashboard

What did you expect to see?
Http basic auth on my web app
What did you see instead?
It just loads up normally with out the basic auth showing up
Output of traefik version: (What version of Traefik are you using?)
Version:      2.3.6
Codename:     picodon
Go version:   go1.15.6
Built:        2020-12-17T16:34:27Z
OS/Arch:      linux/amd64

(paste your output here)

What is your environment & configuration (arguments, toml, provider, platform, ...)?
version: '3.7'

networks:
  traefik-proxy:
    external: true
  internal:
    external: false

services:

  web:
    container_name: web
    build: .
    image: ibl-docs
    command: yarn run serve --build --port ${PORT} --host <IP_ADDRESS>
    volumes:
      - .:/code
      - '/code/node_modules'
    environment:
      - CHOKIDAR_USEPOLLING=true
    expose:
      - ${PORT}
    networks:
      - traefik-proxy
      - internal
    labels:
      - "traefik.enable=true"
      - "traefik.docker.network=traefik-proxy"
      ## HTTP
      - "traefik.http.routers.${TRAEFIK_MANAGER_ID}.entrypoints=web"
      - "traefik.http.routers.${TRAEFIK_MANAGER_ID}.rule=Host(`${HOST}`)"
      - "traefik.http.routers.${TRAEFIK_MANAGER_ID}.service=${TRAEFIK_MANAGER_ID}-secure"
      - "traefik.http.services.${TRAEFIK_MANAGER_ID}.loadbalancer.server.port=${PORT}"

      # Redirect
      - "traefik.http.middlewares.https-redirect.redirectscheme.scheme=https"
      - "traefik.http.routers.${TRAEFIK_MANAGER_ID}.middlewares=https-redirect"

      ## HTTPS
      - "traefik.http.routers.${TRAEFIK_MANAGER_ID}-secure.entrypoints=websecure"
      - "traefik.http.routers.${TRAEFIK_MANAGER_ID}-secure.rule=Host(`${HOST}`)"
      - "traefik.http.routers.${TRAEFIK_MANAGER_ID}-secure.tls=${HTTPS_ROUTER_TLS_MODE}"
      - "traefik.http.routers.${TRAEFIK_MANAGER_ID}-secure.tls.certresolver=default"
      - "traefik.http.routers.${TRAEFIK_MANAGER_ID}-secure.service=${TRAEFIK_MANAGER_ID}-secure"
      - "traefik.http.services.${TRAEFIK_MANAGER_ID}-secure.loadbalancer.server.port=${PORT}"

      ## Admin
      - "traefik.http.routers.${TRAEFIK_MANAGER_ID}-admin.rule=Host(`${HOST}`) && PathPrefix(`/admin`)"
      - "traefik.http.routers.${TRAEFIK_MANAGER_ID}-admin.entrypoints=websecure"
      - "traefik.http.routers.${TRAEFIK_MANAGER_ID}-admin.middlewares=${TRAEFIK_MANAGER_ID}-auth"
      - "traefik.http.routers.${TRAEFIK_MANAGER_ID}-admin.tls=${HTTPS_ROUTER_TLS_MODE}"
      - "traefik.http.routers.${TRAEFIK_MANAGER_ID}-admin.tls.certresolver=default"
      - "traefik.http.routers.${TRAEFIK_MANAGER_ID}-admin.service=${TRAEFIK_MANAGER_ID}-admin"
      - "traefik.http.services.${TRAEFIK_MANAGER_ID}-admin.loadbalancer.server.port=${PORT}"

      - "traefik.http.middlewares.${TRAEFIK_MANAGER_ID}-auth.basicauth.users=${BASIC_AUTH_USERS}"

BASIC_AUTH_USERS ->  I generated this with .httpaccess
If applicable, please paste the log output in DEBUG level (--log.level=DEBUG switch)
(paste your output here)

Hello @Kyeza,
Thanks for your interest in Traefik!
It's always better to provide a minimal reproduction case to avoid confusion.
I cannot reproduce the bug since some information is missing.
What is the content produced by ${BASIC_AUTH_USERS}?
How this configuration is different from the one you are using to expose the dashboard?
Can you paste the logs of Traefik?
Did you check the router configuration in the dashboard, can you see the middleware attached to your router?
For now, I think that the issue lies with your configuration and not Traefik, please double-check the content of your env variables.

Hi! I'm Træfiker :robot: the bot in charge of tidying up the issues.
I have to close this one because of its lack of activity :disappointed:
Feel free to re-open it or join our Community Forum.

Hi! I'm Træfiker :robot: the bot in charge of tidying up the issues.
I have to close this one because of its lack of activity :disappointed:
Feel free to re-open it or join our Community Forum.


Incorrect dependency name in README

Thank you for the project.
I noticed a small issue in the README file. The name of the dependency is currently listed as fhash, but it should be http:
[dependencies]
http = { git = "https://github.com/fortran-lang/http-client.git" }
stdlib = "*"

stdlib = "*" is mentioned in another issue.

Thank you, @gha3mi, for bringing this to my attention. I have also noticed the issue and have already submitted a [pull request] (https://github.com/fortran-lang/http-client/pull/49) to address it. Therefore, the problem will be resolved in the current PR.

Hello, @gha3mi. I hope you find the project interesting. The README is not that updated. Now the package supports POST, PUT, PATCH, DELETE, and HEAD methods also. There is a lot's of progress that has been done, currently, I am working on the Documentation part, so soon documentation will also be out, with tutorials. for now you can try out the examples given in the project.

Thank again, @rajkumardongre. I used your current implementation to access the openai api in Fortran here to bring chatgpt in terminal, and I have to say that your project works well!

@gha3mi wonderful! Whenever you feel ready, it would be great if you wanted to share your project on Fortran Discourse; it would be a great advertisement for http-client as well.

Thanks, @milancurcic . I'm happy that you find it interesting.
I've implemented some basics, and the project is currently under development. The problem now is that I can't test and develop the project fast enough because I don't have a paid version, and I exceeded my current quota under OpenAI. I'm looking for a solution here. I hope that I can deliver a version soon.

Added in last Commit


feat: adding writer.highlightStroke() method

This PR adds a writer.highlightStroke(strokeNum, options = {}) method which can be used to manually highlight a stroke identically to what occurs in character quizzes. Thanks to @killia15 for the suggestion!
fixes #145

Codecov Report

Merging #146 into master will increase coverage by <.01%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master     #146      +/-   ##
==========================================
+ Coverage   98.75%   98.75%   +<.01%
==========================================
  Files          33       33
  Lines        1122     1125       +3
  Branches      183      183
==========================================
+ Hits         1108     1111       +3
  Misses         14       14

Impacted Files
Coverage Δ

src/quizActions.js
100% <ø> (ø)
:arrow_up:

src/characterActions.js
100% <100%> (ø)
:arrow_up:

src/HanziWriter.js
98.12% <100%> (+0.03%)
:arrow_up:

Continue to review full report at Codecov.

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

:tada: This PR is included in version 2.1.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Add support for Cow<'a, str> in ToSql

Allow to send Cow<'a, str>, and string as ToSql.

Any case where this is needed?
Cow<'a, str> should already deref to &str?

I need this to be able to send an owned string. I have implement a trait to be able to convert from a struct to sql parameters. The problem is with lifetime.

Whats the issue with something like the following?
let s: String = "test".to_owned();
        let future =
            SqlConnection::connect(connection_string().as_ref()).and_then(|conn| {
                conn.query("select @P1", &[&s.as_str()])
                    .for_each(|row| {
                        assert_eq!(row.get::<_, &str>(0), "test");
                        Ok(())
                    })
            });
        current_thread::block_on_all(future).unwrap();

Here is a sample code of the code I want to achieve.
trait ToParameter {
    fn to_parameter(&self) -> Parameter;
}

enum Parameter<'a> {
    Str(&'a str),
    String(String),
}

impl<'a> From<&'a Parameter<'a>> for &'a ToSql {
    fn from(d: &'a Parameter<'a>) -> &'a ToSql {
        match d {
            Parameter::Str(v) => v,
            Parameter::String(v) => v.as_str(),  // <- cannot compile this
        }
    }
}

I have my own implementation over Tiberius that allows me to convert "serialize/deserialize" my own struct from columns.
Things like Json coming from a string in database can be automatically serialize / deserialize from the database.
#[derive(Serialize)]
struct MyOwnComplexFieldType;

/// serialize MyOwnComplexTypeField into the database.
impl ToParameter for MyOwnComplexFieldType {
   fn to_parameter(&self) -> Parameter {
      let s = ::serde_json::to_str(self).expect("serialize");
      Parameter::String(s)
   }
}

Yeah seems like this is the fastest solution.
Just wanted to make sure I understand the usecase, maybe in future versions I'll figure something out.
Thanks!

Thanks to you for merging my pull request but also for this wonderful crate.


feat: Package for TES dashboard components

Description
This PR add a basic setup for creating dashboard components for WES and TES.

Fixes #48

Checklist

[x] My code follows the contributing guidelines of this
project, including, in particular, with regard to any style guidelines
[x] The title of my PR complies with the Conventional Commits
specification; in particular, it clearly indicates
that a change is a breaking change
[x] I am aware that all my commits will be squashed into a single commit,
using the PR title as the commit message.
[x] I have performed a self-review of my own code
[x] I have commented my code in hard-to-understand areas
[x] I have updated the user-facing documentation to describe any new or
changed behavior
[ ] I have added type annotations for all function/class/method interfaces
or updated existing ones
[ ] I have provided JSDoc block tags for all
functions/classes/methods or updated existing ones
[x] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature
works
[x] New and existing unit tests pass locally with my changes
[x] I have not reduced the existing code coverage
[ ] I have asked the @all-contributors bot to
acknowledge my contributions by commenting on this PR with a request of
the form @all-contributors please add @YOUR_GH_HANDLE for TYPE_1,   TYPE_2, ..., where TYPE_1 etc. refer to contribution types supported
by the All Contributors Specification OR I do
not want my contributions to be acknowledged

@git-anurag-hub Can you please comment on the setup, any improvements or changes I can make here?

I'm not in a good position to review, @git-anurag-hub or @SalihuDickson would indeed be better suited. But please see my comment in the corresponding issue for a general remark here.

I noticed you're not using a bundler. This might not be a good idea as simply using a dev server doesn't give you the advantage of tree shaking, among other things. In addition to making your development process more difficult cause it means all the tree shakable modules in every package you use will load up completely even when they're not needed, it'll also make working with your code to make updates unnecessarily difficult for anyone that clones this repo and tries to make updates later.

@git-anurag-hub @uniqueg, should I close this PR and create it a new one with official FAST CLI, as this is on a diff config and after the templating issue is resolved and ecc-ui-utils is set up so that all the packages are consistent?

Sure @JaeAeich !

@JaeAeich, can you please list out some of the pros & cons of the open-wc implementation & the fast-cli implementation? I just want to see which one is actually better & suits us!

@git-anurag-hub @SalihuDickson
On paper, there isn't much difference, but I found the official FAST CLI to be buggy while there were fewer such cases with open-wc and the gh community is more actively fixing bugs, the definite pro that I found while making components with open-wc wrt FAST one was a better file str configured, better testing support as playwright is not web component specific, more tooling for creating comps like cem analyser. The cons would be that it favors LIT out of the box though after configuring for FAST it works as expected but I still couldn't remove some LIT console logs (but this is not doesn't affect the code afaik). Also FAST CLI gives a setup which extends FoundationElement but our use case requires FastElements again this is not a deal breaker, but this requires more configuration ig after initialisation as I couldn't create component extending FastElement but was able to do so easily in open-wc, look into this config.
Apart from that FAST CLI test script doesn't work and there is still an unresolved open issue for adding new components.
This is my opinion after working with both the tools.


feat(ci): use relative paths in testing

Some improvements to the test pipeline:

use relative paths, so when executing local tests would be easy to use
provides artifacts when the build fails, so you can download the corresponding web server files
switch to local container instead of using http://www.example.org as backend.

Changing to httpbin.org container has the side effect of returning 405 for one test so the url for the test needs to be fixed.
Signed-off-by: Felipe Zipitria<EMAIL_ADDRESS>

After merging this one, the pipeline would get the logs as artifacts. Example:
=================================== FAILURES ===================================
/opt/hostedtoolcache/Python/2.7.18/x64/lib/python2.7/site-packages/ftw/testrunner.py:26: assert 200 == 405
==================== 1 failed, 202 passed in 70.71 seconds =====================

Error: Process completed with exit code 1.
Run actions/upload-artifact@v2
With the provided path, there will be 2 file(s) uploaded
Total size of all the files uploaded is 114759 bytes
Finished uploading artifact waf-logs. Reported size is 114759 bytes. There were 0 items that failed to upload
Artifact waf-logs has been successfully uploaded!

Is there a reason PARANOIA is set to 5?

Is there a reason PARANOIA is set to 5?

Yes, we want everything logged, in every paranoia level :)

Yes, we want everything logged, in every paranoia level :)

And 4 would not do the job or are you looking to the future?

And 4 would not do the job or are you looking to the future?

You never know. But changing it, so we feel more in the present. :)

You never know. But changing it, so we feel more in the present. :)

Thank you.
Actually mentioning a PL5 is like a micro aggression. It hints at me developing full whitelisting for all known HTTP headers in a future PL5. But that's probably my problem. :)

Thank you.
Actually mentioning a PL5 is like a micro aggression. It hints at me developing full whitelisting for all known HTTP headers in a future PL5. But that's probably my problem. :)

Meeting decision monthly chat Jan 2020:
@franbuehler volunteered to review this.

Meeting decision monthly chat Jan 2020:
@franbuehler volunteered to review this.

Thank you for this consolidation. Merging now.

Thank you for this consolidation. Merging now.

@franbuehler Well, that's a mess. We might have problems in a couple days.

@franbuehler Well, that's a mess. We might have problems in a couple days.


is there a way to export more than one module per npm package via typings?

According to typings for npm packages there can be a file specified in the "typings" property or an index.d.ts which implies that there can only be a single typescript module (javascript file + declaration file) per npm package.
Is there a way to export typings for more than one module per npm package?

You can export many files in single file:
// a.d.ts
export declare var a1;
export default function a()

// b.d.ts
declare module 'b' {
  export var b1;
  export default function b()
}

// index.d.ts
export * from './a.d';
export {default} from './a.d';
import './b.d';
export * from 'b';
export {default as b} from 'b';

interesting idea

And you can define many modules but you should not.
// node_modules/b/types.d.ts
declare module 'a' {
  export var a;
}
declare module 'b' {
  export var b;
}

// node_modules/b/index.d.ts
import './types.d';

// index.ts
import 'b';
import {a} from 'a';

Mind me asking why shouldn't I?

Because you should not override other module typings. It is global namespace pollution.

You can not use ambient modules for the typings field in package.json so those examples would not work. Typings in NPM packages should only ever be external module declarations which limit you to exporting a single module anyway. You should not be exporting more than one module from your NPM package, since the NPM package is itself only one module.

Since when a typescript module is equal to a npm package?
On Nov 26, 2015 8:04 PM, "Blake Embrey"<EMAIL_ADDRESS>wrote:

You can not use ambient modules for the typings field in package.json so
those examples would not work. Typings in NPM packages should only ever be
external module declarations which limit you to exporting a single module
anyway. You should not be exporting more than one module from your NPM
package, since the NPM package is itself only one module.
—
Reply to this email directly or view it on GitHub
https://github.com/Microsoft/TypeScript/issues/5804#issuecomment-160013105
.

Since when a typescript module is equal to a npm package?

When you publish it on NPM and use their module namespace options, you're publishing your code as a package under a single name that node will use to resolve. You can not have two modules inside the same NPM package, so TypeScript doesn't resolve like that either.

that's not true, you can load separate JavaScript files from under a
module:
var sub = require ('npm-module-name/separate-javascript-file');
On Nov 26, 2015 8:17 PM, "Blake Embrey"<EMAIL_ADDRESS>wrote:

Since when a typescript module is equal to a npm package?
When you publish it on NPM and use their module namespace options, you're
publishing your code as a package under a single name that node will use to
resolve. You can not have two modules inside the same NPM package, so
TypeScript doesn't resolve like that either.
—
Reply to this email directly or view it on GitHub
https://github.com/Microsoft/TypeScript/issues/5804#issuecomment-160013880
.

Perfect, now I understand. I was mixing the terminology of module and package since I'm coming from the NPM ecosystem where they are used interchangeably. Only ambient modules have that ability in the same file. I thought TypeScript resolved the files using that syntax already, but I could be wrong. There's a few more limitations right now that just that in TypeScript, such as not differentiating browser either. I'll leave the TypeScript team to comment more though.


[FEATURE] Split mpcplus and essentia/blissify out into separate packages

The mpcplus and essentia components of MusicPlayerPlus are valuable as standalone packaged projects. Some users may simply want a pre-packaged and pre-configured character based MPD client. Or, they may only need acoustic metadata extraction. Bundling these components with MusicPlayerPlus provided convenience and ease of packaging at the cost of flexibility.
This issue requests a modular approach for MusicPlayerPlus. Build and package components as standalone projects where appropriate. During MusicPlayerPlus initialization, install these external components from their repository release assets.

Created branch modular to work on this issue

Version 3.0.0 Release 2 implements a modular approach to installing MusicPlayerPlus components. See https://github.com/doctorfree/MusicPlayerPlus/releases/tag/v3.0.0r2


manifest command CLI format: publicMalformed error (Version: 1.5.0-rc1)

The manifest command introduced in #3197 doesn't seem to work when I use it on the commandline.
Issue Description
I successfully used the manifest command in both WebSocket and JSON-RPC to get the manifest info for alloy.ee using my server, for example JSON-RPC:
{
    "method":"manifest",
    "params": [{"public_key":"nHUFE9prPXPrHcG3SkwP1UzAQbSphqyQkQK9ATXLZsfkezhhda3p"}]
}

However, the CLI syntax consistently gives me an error message.
Steps to Reproduce
$ ./rippled manifest nHUFE9prPXPrHcG3SkwP1UzAQbSphqyQkQK9ATXLZsfkezhhda3p

(Putting the key in quotes or not makes no difference.)
Expected Result
The response should match the JSON-RPC response, like this:
{
  "result": {
    "details": {
      "domain": "",
      "ephemeral_key": "n9J67zk4B7GpbQV5jRQntbgdKf7TW6894QuG7qq1rE5gvjCu6snA",
      "master_key": "nHUFE9prPXPrHcG3SkwP1UzAQbSphqyQkQK9ATXLZsfkezhhda3p",
      "seq": 1
    },
    "manifest": "JAAAAAFxIe3AkJgOyqs3y+UuiAI27Ff3Mrfbt8e7mjdo06bnGEp5XnMhAhRmvCZmWZXlwShVE9qXs2AVCvhVuA/WGYkTX/vVGBGwdkYwRAIgGnYpIGufURojN2cTXakAM7Vwa0GR7o3osdVlZShroXQCIH9R/Lx1v9rdb4YY2n5nrxdnhSSof3U6V/wIHJmeao5ucBJA9D1iAMo7YFCpb245N3Czc0L1R2Xac0YwQ6XdGT+cZ7yw2n8JbdC3hH8Xu9OUqc867Ee6JmlXtyDHzBdY/hdJCQ==",
    "requested": "nHUFE9prPXPrHcG3SkwP1UzAQbSphqyQkQK9ATXLZsfkezhhda3p",
    "status": "success"
  }
}

Actual Result
A publicMalformed error such as this:
{
   "error" : "publicMalformed",
   "error_code" : 62,
   "error_message" : "Public key is malformed.",
   "rpc" : {
      "method" : "manifest",
      "params" : [ "nHUFE9prPXPrHcG3SkwP1UzAQbSphqyQkQK9ATXLZsfkezhhda3p" ]
   },
   "status" : "error"
}

Environment
Arch Linux x86_64, self-compiled rippled v1.5.0-rc1
Synced to mainnet.

Looking at the code, we land at ripple::RPCParser::parseManifest.
The function calls ripple::RPCParser::validPublicKey and a closer look at that function reveals it attempts to parse its input as base58 and if that fails, it falls back to hex.
The input you provided certain is base58, so it should work. But it doesn't:
    if (parseBase58<PublicKey> (TokenType::AccountPublic, strPk))
        return true;

The problem is that it only attempts to account TokenType::AccountPublic encoded keys, and the key you provided is TokenType::NodePublic instead.
This function is called from several places so it can't just be arbitrarily changed. My suggestion would to add a new parameter to the validPublicKey that accepts the type of public key being decoded as a command line argument, and passing the correct type.


pythonPackages.gsd: init at 1.5.2

Motivation for this change
Things

[X] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
Built on platform(s)

[X] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[X] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[X] Fits CONTRIBUTING.md.

@GrahamcOfBorg build pythonPackages.gsd

Success on x86_64-darwin (full log)
Attempted: pythonPackages.gsd
Partial log (click to expand)
/private/tmp/nix-build-python2.7-gsd-1.5.2.drv-0/gsd-1.5.2/dist /private/tmp/nix-build-python2.7-gsd-1.5.2.drv-0/gsd-1.5.2
Processing ./gsd-1.5.2-cp27-cp27mu-macosx_10_10_x86_64.whl
Installing collected packages: gsd
Successfully installed gsd-1.5.2
/private/tmp/nix-build-python2.7-gsd-1.5.2.drv-0/gsd-1.5.2
post-installation fixup
strip is /nix/store/9xjkb4xz0b5lmizij9ppxy7lkxdxhx6b-cctools-binutils-darwin/bin/strip
stripping (with command strip and flags -S) in /nix/store/2jclrv4d0nhk81x544040xi8w0ypz59g-python2.7-gsd-1.5.2/lib
patching script interpreter paths in /nix/store/2jclrv4d0nhk81x544040xi8w0ypz59g-python2.7-gsd-1.5.2
/nix/store/2jclrv4d0nhk81x544040xi8w0ypz59g-python2.7-gsd-1.5.2

Success on aarch64-linux (full log)
Attempted: pythonPackages.gsd
Partial log (click to expand)
Successfully installed gsd-1.5.2
/build/gsd-1.5.2
post-installation fixup
shrinking RPATHs of ELF executables and libraries in /nix/store/2l848ngkichqnxp940hcq2sszxmgmp37-python2.7-gsd-1.5.2
shrinking /nix/store/2l848ngkichqnxp940hcq2sszxmgmp37-python2.7-gsd-1.5.2/lib/python2.7/site-packages/gsd/fl.so
strip is /nix/store/428gs2z4b8f9byvghzlpbjwjb3a7jwxx-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/2l848ngkichqnxp940hcq2sszxmgmp37-python2.7-gsd-1.5.2/lib
patching script interpreter paths in /nix/store/2l848ngkichqnxp940hcq2sszxmgmp37-python2.7-gsd-1.5.2
checking for references to /build in /nix/store/2l848ngkichqnxp940hcq2sszxmgmp37-python2.7-gsd-1.5.2...
/nix/store/2l848ngkichqnxp940hcq2sszxmgmp37-python2.7-gsd-1.5.2

Success on x86_64-linux (full log)
Attempted: pythonPackages.gsd
Partial log (click to expand)
Successfully installed gsd-1.5.2
/build/gsd-1.5.2
post-installation fixup
shrinking RPATHs of ELF executables and libraries in /nix/store/318ssnics35aqzd287y1aj4m319r594p-python2.7-gsd-1.5.2
shrinking /nix/store/318ssnics35aqzd287y1aj4m319r594p-python2.7-gsd-1.5.2/lib/python2.7/site-packages/gsd/fl.so
strip is /nix/store/dxf1m7dhc4qb655bdljc1fsd74v1nag3-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/318ssnics35aqzd287y1aj4m319r594p-python2.7-gsd-1.5.2/lib
patching script interpreter paths in /nix/store/318ssnics35aqzd287y1aj4m319r594p-python2.7-gsd-1.5.2
checking for references to /build in /nix/store/318ssnics35aqzd287y1aj4m319r594p-python2.7-gsd-1.5.2...
/nix/store/318ssnics35aqzd287y1aj4m319r594p-python2.7-gsd-1.5.2


Support Python 3 in the benchmark suite

I've tested this patch with both Python 2 and 3, and it seems to work as expected.
cc @gottesmm @palimondo

@swift-ci please run benchmarks

@swift-ci please benchmark

Could we please hold on this for a moment? It builds on #29719 which I’d like to back out in order to land #26462 first.

Performance: -O

Regression
OLD
NEW
DELTA
RATIO

FlattenListLoop
2717
3257
+19.9%
0.83x (?)

FlattenListFlatMap
5259
5949
+13.1%
0.88x (?)

Improvement
OLD
NEW
DELTA
RATIO

ArrayPlusEqualSingleElementCollection
470
423
-10.0%
1.11x (?)

Code size: -O
Performance: -Osize
Code size: -Osize
Performance: -Onone
Code size: -swiftlibs

How to read the data
The tables contain differences in performance which are larger than 8% and
differences in code size which are larger than 1%.
If you see any unexpected regressions, you should consider fixing the
regressions before you merge the PR.
Noise: Sometimes the performance results (not code size!) contain false
alarms. Unexpected regressions which are marked with '(?)' are probably noise.
If you see regressions which you cannot explain you can try to run the
benchmarks again. If regressions still show up, please consult with the
performance team (@eeckstein).

Hardware Overview
  Model Name: Mac mini
  Model Identifier: Macmini8,1
  Processor Name: Intel Core i7
  Processor Speed: 3.2 GHz
  Number of Processors: 1
  Total Number of Cores: 6
  L2 Cache (per Core): 256 KB
  L3 Cache: 12 MB
  Memory: 64 GB

Could we please hold on this for a moment? It builds on #29719 which I’d like to back out in order to land #26462 first.

Sure! I’ll try to do the same for other Python scripts for the time being.

@palimondo I don't think it is reasonable to block support for python 2 -> python 3 b/c of an out of tree patch that will not be promptly landed. The last substantive comment on that other PR is from Nov and the patch stream is from Sept. It is almost March, that is too long to stop progress here IMO, especially since python 2 is EOL and swift needs to finish transitioning ASAP.

@palimondo, the measurement improvements are extremely valuable and look like a move in the right direction.  I think that the python2 -> python3 conversion is extremely important as well though.  python2 has been EOL'ed and there are other places where the conversion is absolutely critical (e.g. lldb requires python3 support, but parts of the build are still python2 dependent).  I realize that you have been working on the patch set for quite some time, and it does seem like it is nearing where you want it to be.  Perhaps you could split the work up such that some of the earlier pieces can be rebased and merged into the tree standalone to allow both sides to make progress?  I believe that we need to continue to make progress here though in order to keep both the build and the debugging scenarios healthy.

@swift-ci please smoke test

@swift-ci please test Windows platform

@swift-ci please test Windows platform

@gottesmm @compnerd How about you give me this weekend to tonight the patch?

@palimondo How big of a change are we talking about? We depend on this infrastructure, so we can't just throw things in. We need to be careful.

@eeckstein I noticed that you are the original reviewer of this code. What are your thoughts?

@gottesmm did you mean to ask @eeckstein the above in #26462?

The tests have failed because the linter complained. I'll update the patch.

It should be fixed now, could anyone please trigger the CI again?

@swift-ci please smoke test

@swift-ci please smoke test

@swift-ci please benchmark

Performance: -O

Regression
OLD
NEW
DELTA
RATIO

ObjectiveCBridgeFromNSArrayAnyObjectForced
4880
5420
+11.1%
0.90x (?)

Improvement
OLD
NEW
DELTA
RATIO

FlattenListFlatMap
9367
8518
-9.1%
1.10x (?)

Code size: -O
Performance: -Osize

Improvement
OLD
NEW
DELTA
RATIO

ObjectiveCBridgeStubFromNSStringRef
174
158
-9.2%
1.10x (?)

ObjectiveCBridgeFromNSArrayAnyObjectForced
5440
5080
-6.6%
1.07x (?)

Code size: -Osize
Performance: -Onone

Improvement
OLD
NEW
DELTA
RATIO

TypeFlood
217
199
-8.3%
1.09x (?)

DictionaryBridgeToObjC_Access
1077
1002
-7.0%
1.07x (?)

Code size: -swiftlibs

How to read the data
The tables contain differences in performance which are larger than 8% and
differences in code size which are larger than 1%.
If you see any unexpected regressions, you should consider fixing the
regressions before you merge the PR.
Noise: Sometimes the performance results (not code size!) contain false
alarms. Unexpected regressions which are marked with '(?)' are probably noise.
If you see regressions which you cannot explain you can try to run the
benchmarks again. If regressions still show up, please consult with the
performance team (@eeckstein).

Hardware Overview
  Model Name: Mac Pro
  Model Identifier: MacPro6,1
  Processor Name: 12-Core Intel Xeon E5
  Processor Speed: 2.7 GHz
  Number of Processors: 1
  Total Number of Cores: 12
  L2 Cache (per Core): 256 KB
  L3 Cache: 30 MB
  Memory: 64 GB

@swift-ci test

I’m porting these changes into my branch, but I got stuck a bit on differences betweenon open  in Python 2 and 3 (the need to use encoding=‘utf-8’ on latter), when running test_compare_perf_test.py. Looks like there’s no elegant solution except explicit version checks… @broadwaylamb did you work around that in some other way?

@palimondo can you give an example, what issue are you experiencing? Why do you need to use encoding='utf-8'?

@broadwaylamb The way I’m testing the Python 3 port as well as continued support for Python 2.7 is by adjusting the shebang between: #!/usr/bin/env python and #!/usr/bin/env python3 and running the unit tests. In this case test_compare_perf_tests.py. There are is a read/write pair of open calls between compare_perf_test.py’s main function and execute_main_with_format on class Test_compare_perf_tests_main in test_compare_perf_tests.py. Switching to python3 with current code was causing encoding (UnicodeEncodeError: 'ascii' codec can't encode character '\u2014' in position 1064: ordinal not in range(128)) and decoding (UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position 1064: ordinal not in range(128)) issues.
So far I have this solution and was wondering if that’s the best it can get:
    if args.output:
        if sys.version_info < (3, 0):
            with open(args.output, 'w') as f:
                f.write(report)
        else:
            with open(args.output, 'w', encoding='utf-8') as f:
                f.write(report)

Other solutions I found on StackOverflow weren’t IMO much better.

@gottesmm I'm in favor of landing this change and not wait for https://github.com/apple/swift/pull/26462

@palimondo sorry, I haven't been able to reproduce this. It's all working for me with Python 3 even without encoding='utf-8'.

By the way, this PR doesn't change shebangs to use python3, the CI builders will still be using python.
This makes it easy to accidentally break Python 3 compatibility. What do you people think about switching the CI to use Python 3 for the benchmarking suite?

What do you people think about switching the CI to use Python 3 for the benchmarking suite?

@shahmishal Any thoughts on this?

@eeckstein Is there a deadline for Python 3 compatibility you are trying to meet?
I think I could split #26462 in two parts:

the cleanup and simplification of benchmarking infrastructure (removal of Sample from PerformanceTestSamples etc.) now in PR #30158
the changes to measurement methodology in #26462 will be rebases on the previous commit

What do you people think about switching the CI to use Python 3 for the benchmarking suite?

@shahmishal Any thoughts on this?

I don't mind if you switch to using python3, however python3 will be only available with xcrun python3 on macOS nodes.

Can we do something like that inside the script (pseudocode):
if running on python2 on mac:
  invoke this script with 'xcrun python3'
  exit

Or… we could add rely on @swift-ci’s test command to catch the problems, if we modified test/benchmark/benchmark-scripts.test-sh from
// RUN: %{python} -m unittest discover -s %swift_src_root/benchmark/scripts/

to
// RUN: %{xcrun python3} -m unittest discover -s %swift_src_root/benchmark/scripts/

Anyway, if we do this (switch to Python 3), it'd probably make sense to make this change in a separate PR so it can easily be reverted.
What's the plan here? Are we waiting for #30149 and #30158 to land first?

@swift-ci please test Windows platform

@compnerd Does the Windows test run the benchmarks? If so, what version is used to run those python scripts? (I assume that python isn’t shipped on Windows and you control the configuration?)

@palimondo no, the current scripts don't run it - Windows uses Python 2.7 and Python 3.7.5 IIRC - those are the versions which are shipped as part of VS2019.  Nearly the entirety of the build/test infrastructure is whatever is Visual Studio is shipping.  Unfortunately, that becomes really slow, so the one special case is CMake which is 3.16.x rather than the Visual Studio version (3.15.x).

What would be the plan regarding this change?

CC: @drexin I expect that this should be safe to merge, thoughts?

No objections from my end. @shahmishal Are you okay with merging this?

Thanks @broadwaylamb!


Issue with importing builtins in a VS Code Jupyter notebook

Describe the bug
Running into an issue with importing builtins in a VS Code Jupyter notebook.
Here's the error:
from uptrain.framework.builtins import CheckResponseFacts

response_facts_check = CheckResponseFacts()

---------------------------------------------------------------------------
ImportError                               Traceback (most recent call last)
/Users/danielgwilson/local_git/patient-matching/python-notebooks/uptrain_sandbox.ipynb Cell 6 line 1
----> 1 from uptrain.framework.builtins import CheckResponseFacts
      3 response_facts_check = CheckResponseFacts()

File ~/local_git/patient-matching/.venv/lib/python3.11/site-packages/uptrain/framework/builtins.py:8
      6 from .checks import Check
      7 from uptrain.operators import Histogram
----> 8 from uptrain.operators import (
      9     ResponseFactualScore,
     10     ResponseCompleteness,
     11     ResponseRelevance,
     12     ContextRelevance,
     13     LanguageCritique,
     14     ToneCritique,
     15     ResponseCompletenessWrtContext,
     16     GuidelineAdherenceScore
     17 )
     19 # -----------------------------------------------------------
     20 # Context related
     21 # -----------------------------------------------------------
     23 CheckContextRelevance = lambda: Check(
     24     name="score_context_relevance",
     25     operators=[ContextRelevance()],
     26     plots=[Histogram(x="score_context_relevance")],
     27 )

ImportError: cannot import name 'GuidelineAdherenceScore' from 'uptrain.operators' (/Users/danielgwilson/local_git/patient-matching/.venv/lib/python3.11/site-packages/uptrain/operators/__init__.py)

Trying to follow the custom evals tutorial
https://docs.uptrain.ai/tutorials/customized-evaluations
To Reproduce
Steps to reproduce the behavior:

Create a python notebook in VS Code and a new virtual environment
Follow the custom evals tutorial linked above
See error

Expected behavior
No error
Screenshots
❌ If applicable, add screenshots to help explain your problem.
Additional context
N/A

Update, seems to be missing from index.pyi
__all__ = [
    # base
    "Operator",
    "ColumnOp",
    "TransformOp",
    "register_op",
    "register_custom_op",
    "get_output_col_name_at",
    "deserialize_operator",
    # drift
    "ParamsDDM",
    "ParamsADWIN",
    "ConceptDrift",
    # embs
    "Distribution",
    "UMAP",
    # clustering
    "Clustering",
    # table
    "ColumnExpand",
    "ColumnComparison",
    # metrics
    "Accuracy",
    # similarity
    "CosineSimilarity",
    # vis
    "BarChart",
    "Histogram",
    "LineChart",
    "ScatterPlot",
    "MultiPlot",
    "Table",
    "CustomPlotlyChart",
    # language - also include all the subimports
    "language",
    "GrammarScore",
    "OpenaiEval",
    "PromptEval",
    "Embedding",
    "RougeScore",
    "DocsLinkVersion",
    "TextLength",
    "WordCount",
    "TextComparison",
    "KeywordDetector",
    "OpenAIGradeScore",
    "ModelGradeScore",
    "PromptGenerator",
    "TopicGenerator",
    "TextCompletion",
    "OutputParser",
    "ResponseFactualScore",
    "ContextRelevance",
    "ResponseRelevance",
    "ResponseCompleteness",
    "ResponseCompletenessWrtContext",
    "LanguageCritique",
    "ToneCritique",
    # io - also include all the subimports
    "io",
    "ExcelReader",
    "CsvReader",
    "JsonReader",
    "JsonWriter",
    "DeltaReader",
    "DeltaWriter",
    "BigQueryReader",
    "DuckDBReader",
    "BigQueryWriter",
    # code
    "code",
    "ParseCreateStatements",
    "ParseSQL",
    "ValidateTables",
    "ExecuteAndCompareSQL",
]

from .base import (
    Operator,
    ColumnOp,
    TransformOp,
    register_op,
    register_custom_op,
    get_output_col_name_at,
    deserialize_operator,
)
from .drift import ConceptDrift, ParamsADWIN, ParamsDDM
from .embs import Distribution, UMAP
from .clustering import Clustering
from .table import Table, ColumnExpand, ColumnComparison
from .metrics import Accuracy
from .similarity import CosineSimilarity
from .chart import (
    BarChart,
    LineChart,
    ScatterPlot,
    Histogram,
    MultiPlot,
    CustomPlotlyChart,
)

from . import language
from .language.grammar import GrammarScore
from .language.openai_evals import OpenaiEval, PromptEval
from .language.embedding import Embedding
from .language.rouge import RougeScore
from .language.text import (
    DocsLinkVersion,
    TextLength,
    TextComparison,
    KeywordDetector,
    WordCount,
)
from .language.model_grade import ModelGradeScore, OpenAIGradeScore
from .language.generation import PromptGenerator, TextCompletion, OutputParser, TopicGenerator
from .language.with_context import (
    ResponseFactualScore,
    ContextRelevance,
    ResponseCompleteness,
    ResponseRelevance,
    ResponseCompletenessWrtContext,
)
from .language.critique import LanguageCritique, ToneCritique

from . import io
from .io.base import CsvReader, JsonReader, DeltaReader, JsonWriter, DeltaWriter
from .io.excel import ExcelReader
from .io.bq import BigQueryReader, BigQueryWriter
from .io.duck import DuckDBReader

from . import code
from .code.sql import (
    ParseCreateStatements,
    ParseSQL,
    ValidateTables,
    ExecuteAndCompareSQL,
)

Thanks @danielgwilson for flagging this! I just released a new version of UpTrain (v0.4.2) to fix the same. As you correctly mentioned, the issue was that the GuidelineAdherenceScore operator was not imported in the ini.pyi file. Please upgrade your version and check. Let me know if you run into any issues


Option for switch case indentation

It would be great to have an option to customize how switch statements should be indented (i.e. whether to follow Java's style of case statements having same indentation as switch or allowing extra indentation for case statements)
switch (condition) {
case ABC:
    statements;
    break;
case DEF:
    statements;
    break;
default:
    statements;
    break;
}

vs.
switch (condition) {
	case ABC:
	    statements;
	    break;
	case DEF:
	    statements;
	    break;
	default:
	    statements;
	    break;
}

+1

+1

+1

+1

Style options will be removed in JSHint 3, you should consider using jscs

i would recommend switching to eslint!

I agree with eslint as well since you can enforce both style and linting rule and do so cleanly and separately at customizable warning levels. If you want some premade configs you can check out one of the many sharable config projects. Here's a shameless plug for the one I work on:
https://github.com/walmartlabs/eslint-config-defaults


ui: increase toggle confirmation font size

New
New (centered title)

Old

Title should probably be a different font weight.

The toggle description is bold - could remove that or make the title really bold?

I think this looks a lot better

Rebased on master


Could not run TinyOWS

Hi,
When I try to execute TinyOWS with a PostGIS database (timescale/timescaledb-postgis:1.7.4-pg11) I got this error:
row number 0 is out of range 0..-1
Segmentation fault (core dumped)

Any idea ?
Thank you

I will do some testing on PG 13/PostGIS 3 and get back to you...

Thank you, I got the same result with timescale/timescaledb-postgis:1.7.0-pg9.6.
Btw, could TinyOWS be used in production for WFS-T w/ Openlayers ? Is it maintained ?
I really like the configuration approach, unlike the Geoserver "mouse-click" one...
Thank you,

background: TinyOSW is included (and tested) for every MS4W release (on Windows) and I know of several MS4W production instances running TinyOWS.
While I get setup, could you also test with PG13/PostGIS 3 ?  thanks.

I tested with PG 12 / PostGIS 2.5.5, with the same error.
What make you think it should work the upper versions ? TinyOWs seems linked with libs targeting PostgreSQL 8.x and 9.x.
Thanks,

Tested successfully with PG 13 / PostGIS 3.0.2.
However I did discover a problem in my testing, with the demo application is using HTTPS.  Will have to file a new ticket for that.

Interesting, thank you for the feedback !


is it possible to get only download link?

when i execute this
const pornhub = require('@justalk/pornhub-api');
const video = await pornhub.page(url, ['title','pornstars','download_urls'])
video.then((result) => {
console.log(result.download_urls)
})
its will appear this
{
'720P': 'links',
'240P': 'links',
'480P': 'links'
}
but when i execute this
const pornhub = require('@justalk/pornhub-api');
const video = await pornhub.page(url, ['title','pornstars','download_urls'])
video.then((result) => {
console.log(result.download_urls.720P)
})
its give me an error. do you have any solution?

when i execute this
const pornhub = require('@justalk/pornhub-api');
const video = await pornhub.page(url, ['title','pornstars','download_urls'])
video.then((result) => {
console.log(result.download_urls)
})
its will appear this
{
'720P': 'links',
'240P': 'links',
'480P': 'links'
}
but when i execute this
const pornhub = require('@justalk/pornhub-api');
const video = await pornhub.page(url, ['title','pornstars','download_urls'])
video.then((result) => {
console.log(result.download_urls.720P)
})
its give me an error. do you have any solution?

hmm I've got a solution
console.log(res["download_urls"]['720P'])


Use delete_message_seconds for Guild/Member.ban

Summary
discord/discord-api-docs#5219
What is the feature request for?
The core library
The Problem
The new way to set a duration is with seconds not days, this will likely be removed in API V11.
reason being removed means nothing to us as since API V10, all routes use the X-Audit-Log-Reason header
The Ideal Solution
seconds refers to delete_message_seconds, same with days

Expose seconds to the user
deprecate days but translate the given value to seconds (so no breaking changes)
raise a ValueError if both provided (like embed and embeds are both mutually exclusive)

The Current Solution
No response
Additional Context
No response

I can do this


Use Python semantics for special binary methods

Closes #2056.

Manually merged in e4e1aa37eb4dcc5f5a8eaf4df23b347f513e63b8

This change apparently broke existing code: #3688.

Reverted in the 0.29.x branch and enabled by default in the master (3.0) branch.


add collector and scanner to trivy pr scan

Describe the solution you'd like
[A clear and concise description of what you want to happen.]
Anything else you would like to add:
[Miscellaneous information that will assist in solving the issue.]
Environment:

Eraser version:
Kubernetes version: (use kubectl version):

this will be resolved by #229


Image preview transparency shows triangles at certain zoom levels

Zoomed:

@Tyriar is there any specific step to reproduce this issue? It seems to work correctly for me.

@SalerSimo try experimenting with the window.zoomLevel setting and/or your OS monitor scale feature


Data only (Silent) notifications on iOS

I can get push notifications on both iOS and Android,
But data only (silent)  notifications are only delivered to Android.
Can you show what need to be in the push json or app configuration in order to receive these data only notifications on iOS?

weird I can receive data normally on both. can you provide a reproducible sample?


api: add post-create hook

As discussed on Discord (https://discord.com/channels/692989811736182844/724974365451747329/844554342613778452)

@zannkukai Sorry for not seeing this until now. It all looks good, I just need to know who the copyright holder is? I'm assuming it's RERO?

@lnielsen Yes, it's part of the RERO ILS project. Thx

Sorry for the long time it took to merge this one. It's released as v1.6.1


[CIVP-13534] Escaping in civis_to_csv has changed from v1.6.0 to v1.7.0 of the python client

LGTM!


Replacing element of value array can duplicate the element when dragged

In Vue, replacing an element of the values array returned by useDragAndDrop() and then immediately trying to drag it will result in leaving a copy of the original element in the original location.
To reproduce using the code below:

<template>

      {{ sortKey.label }}

  <button @click="updateFirstItem">
    Update first item
  </button>
</template>

Click the button to replace the first element with a new object that has (edited) appended to its label.
Attempt to drag the updated first element.
Result is the element getting duplicated, with the element with (edited) being dragged, and the original element without (edited) being left behind at index 0.

https://github.com/user-attachments/assets/d8c47721-d321-46a4-bda0-0c47bc318aaa
A workaround I found is to call updateConfig() after mutating the array with any arguments, such as an empty object. This seems to be enough to cause the mutation to be detected, and dragging works correctly.

@LofiTurtle try to call remapNodes(parent.value) instead of updateConfig

That works, thanks. Didn't know that function existed.


Create textmate grammar and onboard to GitHub Linguist

Created Linguist PR here: https://github.com/github/linguist/pull/5307

My PR has now been merged!


[5.0.0-beta.7] Cannot connect with Docker Desktop

Describe the bug
When I try to use a fresh installed Lens 5.0.0-beta.7 I cannot connect with Docker Desktop 3.3.3 on WIndows Enterprise 10 21H1. I get several error messages:
2021/06/11 06:29:40 http: proxy error: x509: certificate signed by unknown authority (possibly because of "crypto/rsa: verification error" while trying to verify candidate authority certificate "kubernetes")

To Reproduce
Steps to reproduce the behavior:

Start Docker Desktop 3.3.3 on WIndows Enterprise 10
Start Lens 5.0.0-beta.7

Expected behavior
Lens should start and connect with the K8s installation od Docker Desktop on Windows 10
Screenshots
Attached below
Environment (please complete the following information):

Lens Version: 5.0.0-beta.7
OS: WIndows Enterprise 10 21H1
Installation method (e.g. snap or AppImage in Linux): .exe file for Windows

Logs:
info: 📟 Setting Lens as protocol client for lens://
info: 📟 Protocol client register succeeded ✅

Kubeconfig: $env:USERPROFILE.kube\config
apiVersion: v1
clusters:
- cluster:
    certificate-authority-data: ...
    server: https://kubernetes.docker.internal:6443
  name: docker-desktop
contexts:
- context:
    cluster: docker-desktop
    user: docker-desktop
  name: docker-desktop
current-context: docker-desktop
kind: Config
preferences: {}
users:
- name: docker-desktop
  user:
    client-certificate-data: ...
    client-key-data: ...

Screenshot:


Applying styles to a component without using className?

I like the idea that I should have
const styles = require('./someStyle.scss');

return (<Panel className={styles.aClass}>...);

but in practice this isn't helpful when I want to apply styles to DOM elements that aren't react components.
In my scenario I am using react-bootstrap and want to style the DOM tag
, but only have access to a <Panel> react component where the className only applies to the parent DOM element of the body-panel div.
When I try to do something like this:
.aClass {
  .panel-body {
    padding: 15px 0px 0px 0px;
  }
}

No style is applied. How can I make this work? Thanks

+1 to this. It is also problematic when using another component that comes with its styling.
I wonder, what other CSS setups are folks using with this boilerplate besides the default?

@oyeanuj I found a workaround, though it's ugly and definitely not a solution.
You can import any sass/css files in client.js using this syntax
import '!style!css!sass!components/aComponent/someStyles.scss';

And it will be included as an inline style in

@FoxxMD try this:
.aClass {
  :global(.panel-body) {
    padding: 15px 0px 0px 0px;
  }
}

I use regular css and it works .aClass :global(.panel-body) { but I don't know about scss.

I had this problem too, with styling for a datetime component, I've used this workaround:
:global {
  @import "../../theme/react-datetime.scss";
}

Is this recommended?

@Dattaya @OkuraSt that works but can't be a true solution. I've also run into problems building for production because of this. (the whole problem)

If we're talking about react-bootstrap, usually when you add className, react-bootstrap reapplies it on the element you would expect. Only in rare cases I need to use :global in my style sheets which IMO is not such a big deal. If I want my class to have higher specificity that of provided by react-bootstrap(that sits next to it), I double the specificity by duplicating my class name: .deleteButton.deleteButton {.

I've also run into problems building for production because of this. (the whole problem)

Could you explain what problems exactly you have run into?

If we're talking about react-bootstrap, usually when you add className, react-bootstrap reapplies it on the element you would expect.

In my case I didn't see that occurring. As I said in my OP the element
 created by <Panel> isn't accessible from react, and using className on <Panel> only applied that class to the parent dom element of <Panel>.

Only in rare cases I need to use :global in my style sheets

I feel like this should be the case, but when dealing with packages/components that aren't highly polished being able to style dom elements that don't map 1:1 with a react component is essential functionality, at least for me. Plus I'd prefer being able to apply inline styles without having to be required to attach specific selectors to specific react components -- it's just seems like a very limit method to force users of this boilerplate to use. Am I missing some key functionality here or this really the way it works?

Could you explain what problems exactly you have run into?

As mentioned above, in order to get inline styles, I had to require my files directly inside client.js so they looked like this:
import '!style!css!sass!components/aComponent/someStyles.scss';
import '!style!css!react-select/dist/react-select.css';

This works fine for development, but when trying to build production I kept running into the error
return /msie [6-9]\b/.test(window.navigator.userAgent.toLowerCase());
                                       ^
ReferenceError: window is not defined

Finally figured out I needed to use ExtractTextPlugin on the css test in the prod webpack loaders, as well as specify the relative path to the files (regardless of whether they were in node_modules or in my app).
However after that I discovered that, though ExtractTextPlugin was pulling css and transformed css (from my scss files) correctly, it (or something in webpack) was also obfuscating the selectors for any scss files but was not using those new selectors in the actual dom.
So I ended up with a css file with selectors like f5vo2_sz:{margin: auto 0} while in the dom the class name remained filterSelector.
So I had to end up converting all my scss files to css in order to use them in production.
My client.js file now looks like this:
require('./components/Meta/MetaFilter.css');
require('./containers/App/App.css');
require('../node_modules/react-bootstrap-table/css/react-bootstrap-table.min.css');
require('../node_modules/react-select/dist/react-select.css');
require('../node_modules/ladda/dist/ladda-themeless.min.css');

const client = new ApiClient();
...

and prod.config.js
loaders: [
      { test: /\.js$/, exclude: /node_modules/, loaders: [strip.loader('debug'), 'babel']},
      { test: /\.css$/, loader: ExtractTextPlugin.extract('style-loader', 'css-loader')},
      { test: /\.json$/, loader: 'json-loader' },
      { test: /\.less$/, loader: ExtractTextPlugin.extract('style', 'css?modules&importLoaders=2&sourceMap!autoprefixer?browsers=last 2 version!less?outputStyle=expanded&sourceMap=true&sourceMapContents=true') },
      { test: /\.scss$/, loader: ExtractTextPlugin.extract('style', 'css?modules&importLoaders=2&sourceMap!autoprefixer?browsers=last 2 version!sass?outputStyle=expanded&sourceMap=true&sourceMapContents=true') },
      { test: /\.woff(\?v=\d+\.\d+\.\d+)?$/, loader: "url?limit=10000&mimetype=application/font-woff" },
      { test: /\.woff2(\?v=\d+\.\d+\.\d+)?$/, loader: "url?limit=10000&mimetype=application/font-woff" },
      { test: /\.ttf(\?v=\d+\.\d+\.\d+)?$/, loader: "url?limit=10000&mimetype=application/octet-stream" },
      { test: /\.eot(\?v=\d+\.\d+\.\d+)?$/, loader: "file" },
      { test: /\.svg(\?v=\d+\.\d+\.\d+)?$/, loader: "url?limit=10000&mimetype=image/svg+xml" },
      { test: webpackIsomorphicToolsPlugin.regular_expression('images'), loader: 'url-loader?limit=10240' }
    ]

I really hope that either a) I'm missing something critical pertaining to how requiring scss in react components is supposed to work or b) there is a less convoluted way to go about applying inline styles and requiring third-party css.
Sorry for the wall of text! This was what I spent most of my day yesterday trying to figure out...

I haven't encountered these problems, yet. There are few things I have in mind you could try. Firstly, I think webpack-isomorphic-tools doesn't work that well with imports, so I always use require. Also, for some reason, even require doesn't work for me when it's outside of the render method of a component. Try to load your global styles inside of the render of Html helper component or App component like so:
  render() {
    require('medium-editor/dist/css/medium-editor.css');
    require('medium-editor/dist/css/themes/bootstrap.css');

This code is from my Editable component and I can see the styles are extracted properly in the prod mode. Also check you config files, this line https://github.com/erikras/react-redux-universal-hot-example/blob/master/webpack/webpack-isomorphic-tools.js#L65 should be extensions: ['css', 'less', 'scss'], In dev.config you most likely have css loader already: { test: /\.css$/, loader: 'style!css?sourceMap'} and your prod.config seems to be correct.

@Dattaya that did the trick! :+1: I guess this was one of those "down the rabbit hole" problems where it hadn't even occurred to me to try requiring and not assigning to a variable.
I also solved the obfuscated selectors problem by removing modules from the scss loader in webpack.
Thanks for your help!

@Dattaya Thanks for this 👍


Are there any plans to mimic the windows store sidebar style

Are there any plans to mimic the windows store sidebar style

Fortunately, the style package will do this soon
https://github.com/CommunityToolkit/Labs-Windows/discussions/581


[1021] Copy change to Trainee ID forms

Context
https://trello.com/c/Ymsov7au/1021-dev-add-content-to-trainee-id-optional-page
Changes proposed in this pull request
Copy change to hint text in trainee id form, found on two views. Added HTML to avoid having a really long line and to make it resize correctly for different browsers/displays.
Guidance to review

 Dev: add content to 'Trainee ID (optional)' page

Looks good! Thanks @JonF1


Easier way to automatically add organisation data into CID

Issue #, if available:
Description of changes: Make it easier to include all this rich organisation data by default into our CID datasets
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Makes total sense added here with minor fixes:
https://github.com/awslabs/aws-well-architected-labs/pull/836

All comments are taken into account here: https://github.com/awslabs/aws-well-architected-labs/pull/837/files


Error setting up platform pushbullet

Home Assistant release with the issue:
0.91.4
Last working Home Assistant release (if known):
0.91.0
Operating environment (Hass.io/Docker/Windows/etc.):
Hassbian (pi3+)
Component/platform:

https://www.home-assistant.io/components/pushbullet/
Description of problem:
Pushbullet plateform can't be set
Problem-relevant configuration.yaml entries and (fill out even if it seems unimportant):
notify:
  - platform: pushbullet
    name: pushbullet
    api_key: !secret pushbullet_api_key

Traceback (if applicable):
#033[31m2019-04-23 12:05:35 ERROR (MainThread) [homeassistant.components.notify] Error setting up platform pushbullet#033[0m
Traceback (most recent call last):
  File "/srv/homeassistant/lib/python3.5/site-packages/homeassistant/components/notify/__init__.py", line 76, in async_setup_platform
    platform.get_service, hass, p_config, discovery_info)
  File "/usr/lib/python3.5/asyncio/futures.py", line 380, in __iter__
    yield self  # This tells Task to wait for completion.
  File "/usr/lib/python3.5/asyncio/tasks.py", line 304, in _wakeup
    future.result()
  File "/usr/lib/python3.5/asyncio/futures.py", line 293, in result
    raise self._exception
  File "/usr/lib/python3.5/concurrent/futures/thread.py", line 55, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/srv/homeassistant/lib/python3.5/site-packages/homeassistant/components/pushbullet/notify.py", line 44, in get_service
    return PushBulletNotificationService(pushbullet)
  File "/srv/homeassistant/lib/python3.5/site-packages/homeassistant/components/pushbullet/notify.py", line 54, in __init__
    self.refresh()
  File "/srv/homeassistant/lib/python3.5/site-packages/homeassistant/components/pushbullet/notify.py", line 69, in refresh
    tgt.nickname.lower(): tgt for tgt in self.pushbullet.devices},
  File "/srv/homeassistant/lib/python3.5/site-packages/homeassistant/components/pushbullet/notify.py", line 69, in <dictcomp>
    tgt.nickname.lower(): tgt for tgt in self.pushbullet.devices},
AttributeError: 'NoneType' object has no attribute 'lower'#033[0m

Additional information:
I get a new API key to be sure it's not a connect issue

After rebooting the Pi, it works again...
Same as here : https://community.home-assistant.io/t/help-please-pushbullet-quit-working/115171


Incident management update

Incident management intro
Facilitator guide update

💥 hey @jfilipcz .. ping @ckavili to add you in as a committer .. since this is under heavy work .. best to do trunk based development. no need for PR's until we write more content. 💥

I've added the OpenInnovationLabs team to this repo with write permissions so you should be g2g there Kuba


Support performance.measure method

FakeTimers version : 11.2.2
Environment : Windows 11
Example URL : N/A
Other libraries you are using: Playwright (but should be irrelevant)

What did you expect to happen?
Faking timers with default settings (which will fake performance) should fake all of the performance methods including performance.mark, performance.measure, etc.
What actually happens
These methods exist and can be called, but seem to do nothing since calling performance.measure() returns undefined which isn't a valid return value and then the code crashes when trying to access the properties which are expected to exist on the result.
How to reproduce
const FakeTimers = await import("https://esm.sh/@sinonjs/fake-timers@11.2.2");
FakeTimers.install();
performance.mark("start");
performance.mark("end");
const measurement = performance.measure("duration", "start", "end");
console.log("duration is", measurement.duration); // Crashes here since measurement is undefined

@CreativeTechGuy See if #499 does what you want. It just implements dummies, but your example no longer breaks.

Looks like it does it! Thanks 😀


Unify dialog interaction by removing the apply and cancel buttons

At the moment the interaction of the dialogs differ a lot from each other. For instance, the change visualization dialog applies changes immediately, where as the mapping dialog applies a preview immediately, but the user has to choose between cancel, reset and apply. That is confusing and should be unified.

I suggest that we remove the apply and cancel button and apply the changes in all dialogs immediately. Only for some complex dialogs (e.g. the mapping dialog a reset button) is helpful to restore the initial state.

some operations are expensive. including filtering and searching. So applying everything immediately when the user enters something can be costly.

but that does not change the fact that it is inconsistent at the moment. for instance, we already apply costly transformations (e.g., invert) immediately. my feeling is that we should always apply actions immediately - even if it takes some time (it's usually below 1s though).

In addition to @mstreit comment: We can also show a spinner/loading icon while the change is applied.