Null pointer exception while parsing package-lock.json

Suspiciously similar as #1603
Dependency-Check Core version 8.0.0
output:
[WARN] An unexpected error occurred during analysis of 'C:\...\NodeJS_64\package-lock.json' (Node.js Package Analyzer): null
[ERROR]
java.lang.NullPointerException: null
        at org.glassfish.json.JsonObjectBuilderImpl$JsonObjectImpl.getString(JsonObjectBuilderImpl.java:257)
        at org.owasp.dependencycheck.analyzer.NodePackageAnalyzer.processDependencies(NodePackageAnalyzer.java:397)
        at org.owasp.dependencycheck.analyzer.NodePackageAnalyzer.analyzeDependency(NodePackageAnalyzer.java:270)
        at org.owasp.dependencycheck.analyzer.AbstractAnalyzer.analyze(AbstractAnalyzer.java:131)
        at org.owasp.dependencycheck.AnalysisTask.call(AnalysisTask.java:88)
        at org.owasp.dependencycheck.AnalysisTask.call(AnalysisTask.java:37)
        at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
        at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
        at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
        at java.base/java.lang.Thread.run(Thread.java:829)

package-lock.json.zip

Possibly related to #1947 and #4293 ?

Possibly related to #1947 and #4293 ?

Looks different -- in this case, it looks like DependencyCheck is expecting a name field in the parent object, but there isn't one.

Not sure if this is the correct approach, or if it may cause other "issues", but it should avoid the crashing, but may pass handling of empty versions to later code which may not handle the situation properly. I did a quick scan of immediately surrounding code, and it looks like it would be okay, but that doesn't mean it will work properly:
diff --git a/core/src/main/java/org/owasp/dependencycheck/analyzer/NodePackageAnalyzer.java b/core/src/main/java/org/owasp/dependencycheck/analyzer/NodePackageAnalyzer.java
index 12875f915..28976bd14 100644
--- a/core/src/main/java/org/owasp/dependencycheck/analyzer/NodePackageAnalyzer.java
+++ b/core/src/main/java/org/owasp/dependencycheck/analyzer/NodePackageAnalyzer.java
@@ -394,7 +394,7 @@ public class NodePackageAnalyzer extends AbstractNpmAnalyzer {
                         continue;
                     }

-                    version = jo.getString("version");
+                    version = jo.getString("version", "");
                     optional = jo.getBoolean("optional", false);
                     isDev = jo.getBoolean("dev", false);
                 } else {

I did some "printf debugging" (or rather "LOGGER.info() debugging" 😉) this afternoon, and I think I found the source of the problem:
The "packages" element in our package-lock.json has a child element with the empty string as its name and relevant portions of package.json as its value.
Click for a package-lock.json example
{
  "name": "my-fancy-project",
  "lockfileVersion": 2,
  "requires": true,
  "packages": {
    "": {
      "name": "my-fancy-project",
      "license": "WHATEVER",
      "dependencies": {
        "some-dependency": "3.0.0",
        "another-dep": "5.2.0",
        [...truncated for brevity...]
      },
      "devDependencies": {
        "@babel/core": "7.20.5",
        "babel-loader": "9.1.0",
        [...truncated for brevity...]
      },
      "engines": {
        "node": "18.12.1",
        "npm": "8.19.2"
      }
    },
    "node_modules/@babel/core": {
      "version": "7.20.5",
      "resolved"<EMAIL_ADDRESS>      "integrity": "sha512-UdOWmk4pNWTm/4DlPUl/Pt4Gz4rcEMb7CY0Y3eJl5Yz1vI8ZJGmHWaVE55LoxRjdpx0z259GE9U5STA9atUinQ==",
      "dev": true,
      "dependencies": {
        [...truncated for brevity...]
      },
      "engines": {
        "node": ">=6.9.0"
      },
      "funding": {
        "type": "opencollective",
        "url": "https://opencollective.com/babel"
      }
    },
    [...more actual dependencies follow...]
  }
}

According to the NPM docs, this is the intended behavior, starting with NPM v7:

The root project is typically listed with a key of "", and all other packages are listed with their relative paths from the root project folder.

The NodePackageAnalyzer tries to analyze this element anyway. But since the value-part does not have child element named "version", the method call  jo.getString("version") in line 397 causes the NullPointerException we all hate.

With 8.0.1 the NPE is gone at last. 👍

I am encountering the issue from the NpmPayloadBuilder class.
I opened a PR that fixes the issue.
https://github.com/jeremylong/DependencyCheck/pull/5390


Staleness Colour Legend on Report Pages

As a team member
I want to have a legend explaining what each colour means for the staleness chips
so that I can understand expectations around updating my works
Acceptance Criteria
Scenario 1:
GIVEN I am checking to see if my work has been updated
WHEN I see the date coloured for staleness
THEN I know what the colours mean
Scenario 2:
xxxxxx
Validation Rules?
(If yes, list here)
Screenshot
(Link above will always be the most up-to-date version.)

doing this with a mouseover might be the best so as to save on screen real estate.

will be on e-guide


Arabic Support

Thank you for the great work on the to-words package! It's been incredibly useful. I would like to ask if there are any plans to add support for Arabic language conversion in the near future. I believe adding Arabic support could benefit many users who require number-to-words conversion in Arabic.
If there’s an opportunity to contribute, I would be more than happy to assist in implementing Arabic language support.

Thank you for your kind words @Youssef9798. There is always an opportunity to contribute. Please raise a PR.


Bedrock Support / Filtering SiteInfo Class

There is a problem with WP2Static and Bedrock. Bedrock has a bit different folder structure (https://roots.io/docs/bedrock/master/folder-structure/) and the ABSPATH is pointing a bit wrong (it's pointing the wp folder when it should point to the web folder).
Apart from Bedrock probably this could also cause problems where home_url and site_url are different (although I'm guessing here).
So I think that we should make all the properties filterable  - something like:
$info = [
    // Core
    'site_path' => ABSPATH,
    'site_url' => $site_url,

    /*
        Note:  'home_path' => get_home_path(),
        // errors trying to find it in WP2Static\get_home_path()...
    */
    'home_url' => trailingslashit( get_home_url() ),
    'includes_path' => trailingslashit( ABSPATH . WPINC ),
    'includes_url' => includes_url(),

    /*
        TODO: Q on subdir:

        Does it matter?
        'subdirectory' => $this->isSiteInstalledInSubDirectory(),

        A: It shouldn't, but current mechanism for rewriting URLs
        has some cases that require knowledge of it...
    */

    // Content
    'content_path' => trailingslashit( WP_CONTENT_DIR ),
    'content_url' => trailingslashit( content_url() ),
    'uploads_path' =>
        trailingslashit( $upload_path_and_url['basedir'] ),
    'uploads_url' => trailingslashit( $upload_path_and_url['baseurl'] ),

    // Plugins
    'plugins_path' => trailingslashit( WP_PLUGIN_DIR ),
    'plugins_url' => trailingslashit( plugins_url() ),

    // Themes
    'themes_root_path' => trailingslashit( get_theme_root() ),
    'themes_root_url' => trailingslashit( get_theme_root_uri() ),
    'parent_theme_path' => trailingslashit( get_template_directory() ),
    'parent_theme_url' =>
        trailingslashit( get_template_directory_uri() ),
    'child_theme_path' => trailingslashit( get_stylesheet_directory() ),
    'child_theme_url' =>
        trailingslashit( get_stylesheet_directory_uri() ),
];

self::$info = apply_filters( 'wp2static_modify_siteinfo', $info );

and than we could create a mu-plugin for Bedrock that would use the correct site_path based on:
/**
 * Directory containing all of the site's files
 *
 * @var string
 */
$root_dir = dirname(__DIR__);

/**
 * Document Root
 *
 * @var string
 */
$webroot_dir = $root_dir . '/web';

// OTHER CODE

Config::define('CONTENT_DIR', '/app');
Config::define('WP_CONTENT_DIR', $webroot_dir . Config::get('CONTENT_DIR'));

If you're OK with this I will gladly create a PR for this.

SiteInfo filtering supported merged in with @palmiak's PR
Keeping this open until there's a plugin to make use of it

@palmiak if you create a repo for the Bedrock plugin or just some function code, would you like to add something on docs site: https://github.com/WP2Static/wp2static-www when ready?


VS Code Extension

Safe and debounced calls to cloud model
Inline code suggestions
???

Anyone want to work on this?
https://github.com/MichiganDataScienceTeam/F24-mini-copilot/tree/feat/extension

Debouncing and inline suggestions working on old api. Just change URL when latest is deployed.

Add in app chat bot. Use GPT-2 api


fix(client): fix generation of compensation triggers

This PR solves an issue that was introduced when adding type support.
We were reading the column types from the wrong table when generating compensation triggers for foreign keys.

I saw this error myself when debugging an issue reported on Discord:
TypeError: Cannot read properties of undefined (reading 'sqliteType')

So I used npm pack with this branch and replaced the test project's electric-sql and prisma-generator dependencies with locally built ones. That fixed the issue.
So I'm approving this purely on the basis of having seen it resolve the issue in a real use case.

Thanks. Code-wise there is not much to say, the code is the same, just reading the type from the right object.


Supermicro x11 support

I was able to boot over ipxe and run hcl report. Logs have to be analyzed, but at least package was uploaded, so very basic test passed.

I tested this change on X11SSH-TF and it makes HCL report dump possible.

@pietrushnic sorry that it did not goes to v1.1.1 release. Please rebase, as some of changes from this PR are already merged.


Proposal: erb templating for parameter files

Hi,
it would be easy to implement and easy to use erb templates for parameter_files. So we could use some variables inside (even load some other general parameter files inside).
prefix = '/my/prefix'
test = 'testvalue'
%>

<%= File.read('../environment_indipendent_parameters.yml') %>
Parameter1:
  parameter_store: '<%= prefix %>/param1'
Parameter2:
  parameter_store: '<%= prefix %>/param2'
Parameter3:
  parameter_store: '<%= prefix %>/param3'
Parameter4:
  parameter_store: '<%= prefix %>/param4/<%= test %>'

What do you think of this idea? I have some use cases for this. Mainly for getting environment specifi parmeters with different prefix, or ParameterNames with different prefixes.
Sure, i can call erb within my pipeline - but it would be more comfortable to do erb on this files while loading them.
What do you think?

The use case seems reasonable, but I'm concerned using ERB encourages people to add more complexity to their parameter files when they should be relatively simple.
I prefer Convention over Configuration, so I wonder how we can enable your behaviour without adding more possible configurations (and possible ways to do it wrong).

Does #350 resolve this?


Parallax speed option

Adding a parallax speed option.
Default value is 100.
If you want only half of the speed of your parallax effect, write 50 as a parameter into the parallax initialization.
Example:
$(document).ready(function(){
$('.parallax').parallax(50);
});
If you want double the speed of your parallax effect, write 200 as a parameter into the parallax initialization.
Example:
$(document).ready(function(){
$('.parallax').parallax(200);
});

This doesn't really work that well because what our parallax does is make sure that the image is always shown. I think with this, you could have it at a speed where the image will move too quickly and a blank background will show up.

I thought about this myself and I agree with you.
Either we make scroll speed available with a warning, that changing the speed might have negative consequences with regards to image visibility, or we add a remark to the documentation, that if someone wants to adjust the speed of the parallax, he/she should manipulate the size of the image, which automatically adjusts the speed of the parallax effect.


feat: added warnlog

Please describe the changes this PR makes and why it should be merged:
Emit command is a very sensitive.
so Add warn log when command runned by allowed user and option.
this option Default value is false
I recommand it set true in option.
But it can be breaking change.
so now Default value is false.
when it enable when tried command, it printed:
[dokdo/{ Type }] { UserTag }({ UserID }) tried emit Command: { args }

eg) [dokdo/js] 모메MoMe#0500(236696896658341888) tried emit Command: console.log('hello world')

Status

[x] Code changes have been tested.

Semantic versioning classification:

[x] This PR includes new feature, methods or parameters
[ ] This PR includes breaking changes (feature, methods, parameters removed or renamed)
[ ] This PR only includes non-code(typo, documentation etc.) changes

You must use the noPerm option to handle the use of commands by unauthorized users.

So I think it isn't really needed


Fix hashCode() for SortedBlockSet

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-PR-Builder/9544/
Test PASSed.

This seems to be insufficient for fixing issues with LRFU. I'll open up another PR once fixed completely.


[Requires change] New airport: GCRR Lanzarote

Located in the island of Lanzarote it recieves over 6 million passengers per year. This the first airport I´ve created it together with 3 airlines. The airlines are fine but the airport needs change because for some reason it dosen´t load, so any sugestions to fix it are greatly appreciated :-)

Nice airport! I'll have a look for you real quickly, and see if I can help.

Thanks very much :)

Found the issue for you, you're missing a few fixes. Here's the output directly from Google Chrome:

[ WARN ] GCRR uses the following fixes which are not listed in airport.fixes: 52LTE GINAS NIRPO PEPOM

Thanks, I´ll fix it. How did you run it in Google Chrome for errors (I´m new in this), thanks.

In Google Chrome, press F12 to see the error log.

Ohhh, :D thanks I will use that in the future. Thanks for your help.

My pleasure! :+1:

After testing it for some time the simulation crashes after a few minutes and an error that I don´t know how to fix : "call to vsub() failed. v1:-72.04880587024421,-15.075358945140243 | v2:undefined | Err:TypeError: v2 is undefined" I will keep trying to find where its coming from.

@willfrd double check the SIDs and STARs. Historically this issue has often been caused by a small syntax mistake in there, and goes away once it is found and fixed.

Together with the Iast update created an extra 5 airlines (Vueling, transavia, enter air, travel service and germania) that also fly to lanzarote and added them to the code line but I am trying to find the way to add them to this pull request when the file attacher doesn´t accept the .json format. If anyone had the solution to publish the additional airlines within this pull request would be greatly appreciated.

It still crashes after some time so still looking for errors.

I had this issue with Luton (#592), and it was an issue with a STAR, so what I did was just go through all the STARs one by one and remove those that were incompatible.

Does anyone know what is the way for me to open a link so you guys can test the airport?

hello willfrd, well done. I'm from Lanzarote and I wanna test your creation, please share with us :)

Nice!!, I´m from Lanzarote and live in Lanzarote, it would be a pleasure for me to leave you try it but I´m new in github and I don´t really know how to publish a link so you can try it. If you or someone  knew how to do this, it would be greatly appreciated if you published a comment in this pull request with the steps, anyways I´m working on how to do it. :-)

Great! To be honest I have no idea about how to share it, if someone can help us...
Un saludo muchacho!

The wiki contains a lot of info on how you can test your changes. If you want other people to be able to take a look at your additions, this website might be helpful.

Thanks for that Fechulo! Will look into that.

Finally!! After all the afternoon bannging my head against the keyboard I have managed to publish it!!
To test:
https://willfrd.github.io/atc/

@willfrd It looks really good!! Is there any particular reason for the lack of range rings; these can be very helpful, especially to new players. That said, kudos to you for adding terrain!

Yes it took me some time but I managed to to the terrain. Thanks for the suggestion will look into the rings

@willfrd they are loading, but you set them to be 800nm apart, which means that the first one is 800nm away form the ariport, so you can't see it. You can easily solve it by changing line 14 into 5nm instead of 800nm

ohhh xD thanks for that!

Aaaaaawesome! Ty mate! <3

NP mate I´m glad someone enjoys it. :) Me alegro de que te guste!, cualquier sugerencia ponla que se agradece (y seguro que es mejorable).

Thanks for merging muy first airport @erikquinn :)

@willfrd Thank you for making it! It's very nicely done. :smiley:

Thanks for that, expect future projects ;)


Add Publication to Github Pages

Updates the project to easily run on GitHub Pages.  This is particularly useful for forks which might make changes (adding their own roms) and wish to present that to the world.
Adds a single command yarn run publish to push to gh-pages.  I'm open to a different command as yarn publish is very different thing.
Major motivation was the ability to fork the project, change the config to show my rom, and then push it to the world for use.
FIXES: #371

Though this can be merged separately, I'd love to see #372 merge first, and then to update this PR to merge on top of #327.  I wasn't able to change the base across forks and could only target master so I broke them into 2 separate PRs each of which stands on its own.

Apologies, I messed up a name change on my commits.  I'll reopen when I get it squared


fixes issue where brokers cannot perform NFTokenAcceptOffer in certain scenarios

High Level Overview of Change

In the follow scenario, an account cannot perform NFTokenAcceptOffer even though it should be allowed to:

BROKER has < S
ALICE offers to sell token for S
BOB offers to buy token for > S
BROKER tries to bridge the two offers

This will result in a tecINSUFFICIENT_FUNDS, but should not because BROKER is not spending any funds in this transaction, beyond the transaction fee.
Context of Change

Type of Change

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Refactor (non-breaking change that only restructures code)
[x] Tests (You added tests for code that already exists, or your new feature included in this PR)
[ ] Documentation Updates
[ ] Release

The fix here is to only validate that the tx submitter has enough funds to cover the sell offer when NOT bridging two offers. This fixes the issue because in the case of bridging two offers, the submitter is the broker, not the buyer.
This fix is OK and doesn't need to happen at all in bridged mode, because there is already a check in preclaim to ensure that the buyer has sufficient funds if there is a BuyOffer in play. Here, we appropriately are checking the funds of the owner of the NFTokenOffer object, not the tx submitter.

Tested manually with some scripting and a standalone node. Also added integration test scenario for this and verified that it fails with change backed out, but passes with change included.

thanks @scottschurr ! yes agree this is an amendment. could use your help understanding the ramifications of that WRT release and anything development-wise here.

note: this may get bundled with other NFT bug fixes and may be ready around mid-January

Closing - this fix is combined with another in PR 4380


Non standard design in one of the boxes on homepage.

Subject of the issue
The private relief center and collection center box is not following the standard design of other boxes i.e. icon, english word, then horizontal line and then translation.
Expected behaviour
Private relief center and collection center box should follow the standard design like other boxes.
Actual behaviour
It follows design where horizontal line comes after icon itself.

Am working on this.

Also the malayalam translation on this box is missing.

Yes, have added that as well in my PR.


pc - WIP from Monday's lecture ... just illustration of how to go abo…

…ut doing message counts

This was only made as an example of creating a draft PR.   Closing now


fix: remove all references to 'code'

Thanks!
Should this one also be removed?
https://github.com/QuantStack/jupyterlab-snippets/blob/7415f8fe5d7b78b15ad6430668b6e7d66937224f/jupyterlab-snippets/loader.py#L12

Yes, good catch.

Screenshot for use in README.md:


Production grade Flask deployment

Is your feature request related to a problem? Please describe.
The current Flask application is not production grade, and should be used for development environments only.
Describe the solution you'd like

A proper Gunicorn app on top of Flask would be a better option for a production grade deployment.
Moreover, FTP credentials should be handled via environment variables. That is not only more secure, but it also makes the application very flexible in terms of OpenShift/Kubernetes deployments.

I think this is more or less handled.


How to use @Preview for Compose Multiplatform with iOS?

This is a question about the development Compose Multiplatform with iOS.
First, I cloned this repository https://github.com/JetBrains/compose-multiplatform-ios-android-template.
Then, I tried to add a preview in the commonMain directory. But I quickly realize that @Preview annotation is not importable. I tried to add the dependency in the shared build.gradle.kts with implementation(compose.preview) but I got some Gradle errors when I synced.
Is there a way to use @Preview annotations in a Compose Multiplatform with iOS project?

Thanks! It is now working now for iOS and commonMain source sets.
Related Issue already created: https://github.com/JetBrains/compose-multiplatform/issues/2045

Please check the following ticket on YouTrack for follow-ups to this issue. GitHub issues will be closed in the coming weeks.


Fabric Animation Docs

On http://dev.office.com/fabric/styles, there are a few small errors in the animation docs. ms-u-slideUpIn10 uses the ms-u-slideDownIn10 animation, and ms-u-slideUpOut20 is duplicated.

Thanks, @zkoehne, we'll get this fixed up. 😄

This change has been made to the documentation site and will be included in the next deployment.


Fix overflow bug in FileBased partitioning

In certain edge case combinations of number of files and partitions, you can run into an issue where the fileOffset will exceed the number of filesToPull and still attempt to create partitions even though there are no files to add to the partitions. Switched the for loop to loop by fileOffset rather than the number of partitions.
Example issue state: 100 partitions, 180 files

@sahilTakiar If you could take a look, that'd be great.

LGTM


AttributeError: 'Lambda' object has no attribute 'get_subscope_by_name' when signature is shown

Details
ptpython version: 0.35
tested with module: lxml
Steps to reproduce

Launch ptpython with a clean configuration
Turn on showing signatures
Type the following into the shell:

from lxml.html import builder as E
E.HTML(
       # ignore this line, as the comment here is just meant to indicate where to tab

Expected result
No crash.
Actual Result
>>> from lxml.html import builder as E

>>> E.HTML(
Traceback (most recent call last):
  File "/usr/lib/python3.5/site-packages/prompt_toolkit/cache.py", line 32, in get
    return self._data[key]
KeyError: 51

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/bin/ptpython", line 9, in <module>
    load_entry_point('ptpython==0.35', 'console_scripts', 'ptpython')()
  File "/usr/lib/python3.5/site-packages/ptpython/entry_points/run_ptpython.py", line 71, in run
    title='Python REPL (ptpython)')
  File "/usr/lib/python3.5/site-packages/ptpython/repl.py", line 315, in embed
    cli.run()
  File "/usr/lib/python3.5/site-packages/prompt_toolkit/interface.py", line 389, in run
    self.eventloop.run(self.input, self.create_eventloop_callbacks())
  File "/usr/lib/python3.5/site-packages/prompt_toolkit/eventloop/posix.py", line 154, in run
    t()
  File "/usr/lib/python3.5/site-packages/prompt_toolkit/interface.py", line 326, in redraw
    self._redraw()
  File "/usr/lib/python3.5/site-packages/prompt_toolkit/interface.py", line 346, in _redraw
    self.renderer.render(self, self.layout, is_done=self.is_done)
  File "/usr/lib/python3.5/site-packages/prompt_toolkit/renderer.py", line 429, in render
    extended_height=size.rows,
  File "/usr/lib/python3.5/site-packages/prompt_toolkit/layout/containers.py", line 157, in write_to_screen
    c.write_to_screen(cli, screen, mouse_handlers, WritePosition(xpos, ypos, width, s))
  File "/usr/lib/python3.5/site-packages/prompt_toolkit/layout/containers.py", line 348, in write_to_screen
    c.write_to_screen(cli, screen, mouse_handlers, WritePosition(xpos, ypos, s, height))
  File "/usr/lib/python3.5/site-packages/prompt_toolkit/layout/containers.py", line 157, in write_to_screen
    c.write_to_screen(cli, screen, mouse_handlers, WritePosition(xpos, ypos, width, s))
  File "/usr/lib/python3.5/site-packages/prompt_toolkit/layout/containers.py", line 428, in write_to_screen
    width = fl.content.preferred_width(cli, write_position.width).preferred
  File "/usr/lib/python3.5/site-packages/prompt_toolkit/layout/containers.py", line 1644, in preferred_width
    return self.content.preferred_width(cli, max_available_width)
  File "/usr/lib/python3.5/site-packages/prompt_toolkit/layout/containers.py", line 980, in preferred_width
    cli, max_available_width - total_margin_width)
  File "/usr/lib/python3.5/site-packages/prompt_toolkit/layout/controls.py", line 249, in preferred_width
    text = token_list_to_text(self._get_tokens_cached(cli))
  File "/usr/lib/python3.5/site-packages/prompt_toolkit/layout/controls.py", line 239, in _get_tokens_cached
    cli.render_counter, lambda: self.get_tokens(cli))
  File "/usr/lib/python3.5/site-packages/prompt_toolkit/cache.py", line 35, in get
    value = getter_func()
  File "/usr/lib/python3.5/site-packages/prompt_toolkit/layout/controls.py", line 239, in <lambda>
    cli.render_counter, lambda: self.get_tokens(cli))
  File "/usr/lib/python3.5/site-packages/ptpython/layout.py", line 211, in get_tokens
    for i, p in enumerate(sig.params):
  File "/usr/lib/python3.5/site-packages/jedi/evaluate/cache.py", line 41, in wrapper
    rv = function(obj, *args, **kwargs)
  File "/usr/lib/python3.5/site-packages/jedi/api/classes.py", line 348, in params
    sub = followed.get_subscope_by_name('__init__')
  File "/usr/lib/python3.5/site-packages/jedi/evaluate/representation.py", line 563, in __getattr__
    return getattr(self.base_func, name)
AttributeError: 'Lambda' object has no attribute 'get_subscope_by_name'

Hi @ShadowKyogre,
Sorry for replying this late. I fixed it in this commit and released a new ptpython version. (It's a bug in Jedi.) https://github.com/jonathanslenders/ptpython/commit/0efdd87a466f091abafc9998232a33cd76b1e290
Please let me know if you experience any further issues!
Jonathan


Fix outdated methods in persistent.Map docstring.

This PR removes some references to outdated methods in the docstring for persistent.Map.

@jemc Thanks!


Create m_py_game.py

What type of PR is this? (check all applicable)

[x] 🚀 Added Name
[x] ✨ Feature
[x] 🌟 stared the repo
[x] 🐛 Grammatical Error
[x] 📝 Documentation Update
[x] 🚩 Other

Description
Add Link of GitHub Profile

Hacktoberfest 2022

HACKTOBERFEST


enhancement: faidx

include functionality to extract multiple entries using the faidx function.
consider having users input a single column text file for delimit multiple entries with a spacer character.

implemented in version 1.19.8


how to ask

This project is not perfect, when you make a conversion error, you can ask questions here.

There are many reasons for the error, I think the biggest reason is whether everyone follows the specification. The biggest problem with opendrive is that it does not specify which fields are required and which are optional
Some may be bugs in this project, but please describe the cause of the error in detail so that I can confirm how to fix it

Hope this project can help you, have a nice day!

It's very nice of you to do this！
When I converted the map to joint simulation, the outline of the map was not displayed on the Dreamview

Can you tell me the logic for Dreamview to display the map section？I need to investigate the cause.thank you.


Check if codegen outputs correct bindings for packed structs

Depending on whether clang exposes it in the AST that a struct was annotated wit __attribute__((__packed__)), the resolution of this ticket might be to simply document it as a limitation.

Packed structs are currently not supported in Scala Native scala-native/scala-native#37

I will add warning for such structs


Use redux-immutable to have the aggregate UI state be an immutable …

…Record.
This is just hygiene, consistency, and future-looking uniformization.
Mostly I was irritated that I couldn't just .toJS() the UI state!
There's a bit of hoop-jumping to use a new Record type rather than an
immutable Map.  It's worth it to expose .member, rather than requiring
.get('member') everywhere.  I hope to make this type checked in the
future.
redux-immutable is quite light and has no further dependencies.  I see
no reason to write our own equivalent, or to fold it into our package
directly.

LGTM, fix the lint failure before landing.


ERR_SSL_PROTOCOL_ERROR : sent an invalid response

I installed mkcert using choco in windows 10
Then I generated a certificate for linux.vm domain from windows 10 PowerShell (including mkcert -install command) and imported it in my virtual machine running apache2 server on the ubuntu 20.04 server edition.
when I visit https://linux.vm from chrome on windows 10, then it gives me ERR_SSL_PROTOCOL_ERROR (screenshot below)
although http://linux.vm working good.

This looks like an issue with the TLS/HTTPS server implementation, not with the certificate. mkcert only generates the certificate, and has no control over the server you load it into. Try updating the version or configuration of your TLS/HTTPS server.


ERROR: Package 'finrl' requires a different Python: 3.8.15 not in '<3.8,>=3.7'

I directly clicked "open in colab" in notebook:
[https://github/AI4Finance-Foundation/FinRL-Tutorials/blob/master/3-Practical/FinRL_PaperTrading_Demo.ipynb]
but it gives the error >>
ERROR: Package 'finrl' requires a different Python: 3.8.15 not in '<3.8,>=3.7'
Please kindly assist, Thanks a lot .

To Reproduce
run  !pip install git+https://github.com/AI4Finance-Foundation/FinRL.git
but it gives the error >>
ERROR: Package 'finrl' requires a different Python: 3.8.15 not in '<3.8,>=3.7'

#801(merged)'s solution fixed it . Thanks!


[rtl/lc_ctrl] Fix CDC issue for u_prim_lc_sync_clk_byp_ack and u_prim_lc_sync_flash_rma_ack

Description
When enabling CDC instrumentation the prim_lc_sync output can transition to random values for a cycle. This means the lc_flash_rma_ack output of prim_lc_sync can be neither On nor Off. It probably means any state depending on these should have an extra wait state for the CDC output to stabilize, assuming the inputs are quasi-stable.
Repro
Add the following to the lc_ctrl_sim_cfg.hjson
// Enable cdc instrumentation.
run_opts: ["+cdc_instrumentation_enabled=1"]
Run lc_ctrl_jtag_errors with some reseeds.

Great find, thanks @matutem!
We could either use a rectifying multibit synchronizer, or change the FSM behavior.
I feel like the former is probably easier to do, since the FSM does not know when the lc_flash_rma_ack response is coming back...

It is surprising this issue arises with CDC, since I would expect error injection to trigger it even without CDC.

I actually ran into two failure modes here:

* `xmsim: *E,ASRTST (/home/msf/Projects/opentitan/scratch/master/lc_ctrl-sim-xcelium/default/src/lowrisc_prim_all_*/rtl/prim_sync_reqack.sv,350): Assertion SyncReqAckHoldReq has fai
led` has 10 failures:
    * Test lc_ctrl_jtag_errors has 10 failures.
        * 0.lc_ctrl_jtag_errors.2860437895\
          Line 239, in log /home/msf/Projects/opentitan/scratch/master/lc_ctrl-sim-xcelium/0.lc_ctrl_jtag_errors/latest/run.log

                xmsim: *E,ASRTST (/home/msf/Projects/opentitan/scratch/master/lc_ctrl-sim-xcelium/default/src/lowrisc_prim_all_0.1/rtl/prim_sync_reqack.sv,350): (time 267978177 PS)
Assertion tb.dut.u_lc_ctrl_kmac_if.u_prim_sync_reqack_data_out.u_prim_sync_reqack.SyncReqAckHoldReq has failed
                UVM_ERROR @ 267978177 ps: (prim_sync_reqack.sv:350) [ASSERT FAILED] SyncReqAckHoldReq
                UVM_INFO @ 267978177 ps: (uvm_report_catcher.svh:705) [UVM/REPORT/CATCHER]
                --- UVM Report catcher Summary ---

This can happen because we use two prim_sync_reqack_data modules in the kmac_if - a first one that sends the data to be hashed to the kmac domain, and a second one that receives the hashed token value. Only the second one is actually connected to all req/ack control signals in both source and destination domain. The first one is only connected to the source req and the destination ack, which means that it just runs in tandem with the second instance, but does not feed into any downstream control logic.
Now, if we enable CDC instrumentation in simulation, these two prim_sync_reqack_data may not operate in tandem anymore, but get out of sync, thus creating a timing skew between req and ack signals in the first instance - and this triggers the SVA above.
Note that since this first instance does not contain any data register and does not feed into downstream control logic, we can remove it entirely and formulate an alternative SVA outside.
The physical wiring remains unchanged.
I have prepared a fix here: #18207

WIP

I agree rectifying multibit synchronizers are a better solution.

Yeah that sounds good to me. Again, the RTL does the right thing (bail out from programming the OTP), so hitting this case would actually provide us with more coverage.

2). agree, we can turn off the assertion when cdc is enabled!

@cindychip would you mind helping us with 2)?

sure


reconnect with Kontak.io beacons

Hi,
To test multiple BLE devices we use Beacons and we have a problem with re-connecting to them. If we try to connect to Beacon after it got disconnected the callback can take about 10 min to be executed just hanging. Is this a common problem ? Is there a timeout exception for such cases ?
Here's the code snippet:
// 1. scan for devices
// 2. connect to one by specified UUID
// 3. wait until device gets disconnected and try to connect again
// the code can be hang up in connect callback or discover services, or discover characteristics
if( device.state == 'connected' ) {
    console.log('device is already connected');
} else {
    device.connect(function(error) {
        if (error) {
            console.error('Connect to device id = ' + device.id, error);
        } else {
            console.log('connected to device with id = ' + device.id);
            // discover services and characteristics
        }
    });
}

hcidump, debug logs and full code (index file) are attached:
reconnect-issue-hcidump.txt
reconnect-issue-logs.txt
index.txt

Hi @ilaryionava,
Could you try scanning again before connecting?
I'm wondering if the beacons use a random address, that cycles every 10 minutes.
Also, the HCI dump log you provided doesn't seem to have all the information on the reconnect. Could you please run it again and provide a full log.

The problem is probably with this beacons 'cause if the device is still connected and all the actions will be executed before the device gets disconnected then everything works fine, but as soon as the device gets disconnected and we try to connect again it can hang up on any action (connect, search services or characteristics). And if I try to restart scanning, this device (that had an event in a hanging condition) won't show up in scanning unless I reboot the BL-dongle. (device in this case in beacon)
Unfortunately, I can't provide the hcidump right now (need to replace batteries in beacons)

Here are updated hcidump, log and main code files.
What I did:
1-2. made call to get services 2 time and got a correct response,
3.  after device got disconnected made the same call and got timeout response,
4-5. made same call but with restart scanning option - got timeout response (which in this case means that device was not shown on discover event)
index_2.txt
reconnect-issue-hcidump_2.txt
reconnect-issue-logs_2.txt

@ilaryionava
Here are the snippets of interest:

first connection attempt successful:

2016-09-09 14:16:56.094510 < HCI Command: LE Create Connection (0x08|0x000d) plen 25
    bdaddr FE:10:4F:C6:B9:39 type 1
    interval 96 window 48 initiator_filter 0
    own_bdaddr_type 0 min_interval 6 max_interval 12
    latency 0 supervision_to 200 min_ce 4 max_ce 6
2016-09-09 14:16:56.097453 > HCI Event: Command Status (0x0f) plen 4
    LE Create Connection (0x08|0x000d) status 0x00 ncmd 1
2016-09-09 14:16:57.674577 > HCI Event: LE Meta Event (0x3e) plen 19
    LE Connection Complete
      status 0x00 handle 64, role master
      bdaddr FE:10:4F:C6:B9:39 (Random)

...

Disconnect event

2016-09-09 14:17:31.668376 > HCI Event: Disconn Complete (0x05) plen 4
    status 0x00 handle 64 reason 0x13
    Reason: Remote User Terminated Connection

....

2nd Connection request

2016-09-09 14:17:39.642943 < HCI Command: LE Create Connection (0x08|0x000d) plen 25
    bdaddr FE:10:4F:C6:B9:39 type 1
    interval 96 window 48 initiator_filter 0
    own_bdaddr_type 0 min_interval 6 max_interval 12
    latency 0 supervision_to 200 min_ce 4 max_ce 6
2016-09-09 14:17:39.645531 > HCI Event: Command Status (0x0f) plen 4
    LE Create Connection (0x08|0x000d) status 0x00 cmd 1

....

Discovery event.

2016-09-09 14:18:36.410988 > HCI Event: LE Meta Event (0x3e) plen 42
    LE Advertising Report
      ADV_NONCONN_IND - Non connectable undirected advertising (3)
      bdaddr FE:10:4F:C6:B9:39 (Random)
      Flags: 0x06
      Unknown type 0xff with 25 bytes data
      RSSI: -59

As I mentioned before, please try calling connect ONLY after the discover event is trigger after a device that was previously connected is disconnected. (so 4 above needs to become 3).
Your max timeout is also too low (32 sec). From disconnect (4:17:31.668376) to discovery is (14:18:36.410988) is over a minute. I suggest you increase it to 2 minutes.
I'm going to close this, as it looks like noble is behaving as expected.


runners: bossac: add --delay option

Add an escape hatch so users can insert a customizable delay between asking the board to reboot into bootloader mode and trying to program the new image. This lets people account for OS-specific enumeration time done after the board resets.
Fixes: #56540

@nandojve what do you think about this? I guess an alternative would be adding a timeout for the serial device to re-appear, but I'm concerned that would run into race conditions. It's not obvious to me that we have a platform-independent way to wait until the old serial device is gone, then the new one comes back. (You could do some heroics on Linux by watching udev events, but I have no idea about other platforms and honestly it doesn't seem to be worth the effort if nobody else has run into this problem until now.)

I don't think using udev to wait for the device to re-appear is a good idea. There could be multiple devices plugged in that are all /dev/ttyACMx, and they could be being plugged in/removed while you are waiting.


Clone Permormance

Hello there,
I'm just trying to do a git clone of a single branch with go-git. On some repositories it's as fast as normal git but on some repositories it's very slow.
Here is a snippet of how I test it:
package main

import (
	"flag"
	"gopkg.in/src-d/go-git.v4"
	. "gopkg.in/src-d/go-git.v4/_examples"
	"gopkg.in/src-d/go-git.v4/plumbing"
	"log"
	"os"
	"time"
)

func main() {
	cloneDirPtr := flag.String("clone-dir", os.Args[0], "Directory to clone")
	cloneUrlPtr := flag.String("clone-url", "https://github.com/fkorotkov/go-git-clone-example", "URL to clone")
	refPtr := flag.String("ref", "refs/heads/master", "reference to clone")
	depthPtr := flag.Int("depth", 50, "depth to clone")
	singleBranchPtr := flag.Bool("single-branch", true, "clone only single branch")
	flag.Parse()

	cloneOptions := git.CloneOptions{
		URL:           *cloneUrlPtr,
		ReferenceName: plumbing.ReferenceName(*refPtr),
		Depth:         *depthPtr,
		SingleBranch:  *singleBranchPtr,
		Progress:      os.Stdout,
	}

	start := time.Now()
	_, err := git.PlainClone(*cloneDirPtr, false, &cloneOptions)
	elapsed := time.Now().Sub(start)
	log.Printf("Cloned in %s", elapsed)

	CheckIfError(err)
}

And this is what I see when I run it:
$: go run main.go --clone-dir=temp --clone-url=https://github.com/apache/groovy
Counting objects: 114961, done.
Compressing objects: 100% (36107/36107), done.
Total 114961 (delta 72240), reused 105365 (delta 64262), pack-reused 0
2018/01/07 07:28:31 Cloned in 1m8.111937579s

versus normal git:
$: time git clone --depth=50 --branch=master https://github.com/apache/groovy.git
Cloning into 'groovy'...
remote: Counting objects: 5831, done.
remote: Compressing objects: 100% (3877/3877), done.
remote: Total 5831 (delta 2484), reused 3042 (delta 1457), pack-reused 0
Receiving objects: 100% (5831/5831), 5.72 MiB | 9.82 MiB/s, done.
Resolving deltas: 100% (2484/2484), done.

real	0m2.711s
user	0m0.470s
sys	0m0.648s

It seems even though I configured go-git to clone only a single branch and with only 50 commits in history go-git got 114961 object vs 5831 via normal git which result in 25x slowdown.
Do I miss something? Maybe I misconfigured go-git? Would appreciate any help.

I have a similar issue.
git clone https://github.com/lightsing/https-everywhere-rule is much faster than go-git clone
There's only one commit in this repo and there's no tag in this repo.
Here's the code i use to clone this repo.
It takes to long checking out file. What's wrong with go-git?
package main

import (
        "fmt"
        "os"
        "gopkg.in/src-d/go-git.v4"
        . "gopkg.in/src-d/go-git.v4/_examples"
)

// Basic example of how to clone a single branch of a repository
func main() {
        CheckArgs("<url>", "<directory>")
        url := os.Args[1]
        directory := os.Args[2]
        // Clone the given repository to the given directory
        Info("git clone %s %s", url, directory)

        r, err := git.PlainClone(directory, false, &git.CloneOptions{ URL: url,})

        CheckIfError(err)

        // ... retrieving the branch being pointed by HEAD
        ref, err := r.Head()
        CheckIfError(err)
        // ... retrieving the commit object
        commit, err := r.CommitObject(ref.Hash())
        CheckIfError(err)

        fmt.Println(commit)
}


fix ensurefolder

ensurefolder tries to fs.mkdir and returns error if any occurs. The problem is when fs.mkdir returns error stating that the folder already exists. ensurefolder sends that out as an error, which causes a snowballing effect.
As ensurefolder's role is to make sure folder exists, it shouldn't really return an error saying a folder exists, right?

@kamil-mech looks good.  Can you provide a test when this condition occurs?

I will apply this solution instead. I have tested and it works. What You think?
https://github.com/senecajs/seneca-level-store/commit/c15fbdea94a24a78e25637e2b114b78e6c14cdb7

looks good to me

Ready now. Feel free to merge.

May You please push the changes to npm? Thank You


Hovercraft: speed conditional animations

In past iterations the hovercraft used speed-relative animations to unfold the wings, but since the the new vehicles implementation it has been using a nasty animation loop.
Support for speed-based animations should be added and the hovercraft should provide the baseline implementation.
https://github.com/webaverse/hovercraft
┆Issue is synchronized with this Jira Task by Unito

https://user-images.githubusercontent.com/29487929/143301175-2a72ba16-002b-4b18-a15f-c34ab3614248.mp4


Updated Dockerfile

Overall - fewer steps, cleaner looking Dockerfile

Using /home/app as app directory and installing shell_gpt in user install mode oppose to installing system-wide in the container
Adding initial shell_gpt config as ENV variables
Setting multiple ENV params in a single step oppose to individual steps during Docker build
Using full path to executables avoids potential errors like: Error: crun: executable file sgpt not found in $PATH: No such file or directory: OCI runtime attempted to invoke a command that was not found

Unsure why is this needed but I'm assuming it's for debugging/development purposes
# Copy all files into the container
COPY . /home/app

Thank you for the PR.
We can't build docker image using shell-gpt from PYPI registry, it should be builded from source. The Dockerfile is also used in pipeline, in this case it will be building images using latest version from pypi while it could be not published yet.


Use GitHub mirrors instead of Gerrit

Recommend using GitHub mirrors for WMF resources. See https://github.com/enterprisemediawiki/meza/pull/1061

I suppose it's not worth the effort until it presents an issue to you. We saw it when we started testing more conditions in CI, and hitting Gerrit a lot caused issues. Also in automated deploys to dev/test/production environments in succession would work for dev and test then fail in production, which sucked.

I think this is a good idea and I think we should do this when we have time. Thank you James!

I would like to work on this. Can I please have this assigned?

Yes, definitely! Go ahead.

Is it okay if I work with the same issue?, it seems like a good first issue.

In the interest of keeping things straightforward, let's keep it one person per task. Please try one of the other tasks suggested in #219. We value completion of harder tasks when selecting the GSoC contributor.

Hello @jeffw16 , @yaronkoren , I would like to work on this issue. Could you please assign it to me, I noticed it has been assigned for two weeks.

@bogisushrith thanks for your interest. This issue already has a code complete PR. It's just awaiting final testing and approval for merging.

@bogisushrith (and anyone else) - for those of you who are interested in the Canasta Google Summer of Code project, we have already had interest from a good number of qualified candidates, so we have decided to limit our selection to the group of people who have already submitted a PR in one way or another, to avoid other people wasting their effort. If you want to participate in this year's GSoC, I would say you should find another project, with the Wikimedia Foundation or elsewhere. On the other hand, if you just want to contribute to Canasta, contributions are always welcome!

This was done, about six months ago.


feat: add Telemaco019/kubesafe

Telemaco019/kubesafe: Safely manage multiple Kubernetes clusters by defining safe contexts and protected commands
$ aqua g -i Telemaco019/kubesafe

Check List

[x] Read CONTRIBUTING.md

[x] Read OSS Contribution Guide

[x] All commits are signed

This repository enables Require signed commits, so all commits must be signed

[x] Avoid force push
[x] Do only one thing in one Pull Request
[x] Execute cmdx s to scaffold code
[x] Install and execute the package and confirm if the package works well

How to confirm if this package works well
Reviewers aren't necessarily familiar with this package, so please describe how to confirm if this package works well.
Please confirm if this package works well yourself as much as possible.
Command and output
root@43a5789cdb02:/workspace# kubesafe
Usage:
  kubesafe [command] [args] [flags]
  kubesafe [command]

Available Commands:
  completion  Generate the autocompletion script for the specified shell
  context
  help        Help about any command

Flags:
  -h, --help   help for kubesafe

Use "kubesafe [command] --help" for more information about a command.

If files such as configuration file are needed, please share them.
Reference

https://github.com/Telemaco019/kubesafe/blob/main/README.md

Thank you!

🎉 https://github.com/aquaproj/aqua-registry/releases/tag/v4.264.0


The screen of terms - blue "Back home" button is located outside the screen on the large Fold3 screen

Describe the bug
After registering the wallet (phone number and etc.), the final stage, when we see a terms of USD provider, is shown a poorly formatted screen of terms and conditions so that the blue "Back home" button is located outside the screen on the large Fold3 screen (possibly also on tablets). There is a deadlock situation - the terms screen cannot be closed and get to the main screen of the wallet after installation. I was able to solve the problem only by swiping the application from the task manager, closing the large Fold3 screen and launching the application again on the second, small screen.
To Reproduce
Steps to reproduce the behavior:

Install the BBW on Fold3
Launching the application BBW on the large screen of Fold3
Start registration procedure by click "Receive button" for example
After confirming the SMS code, we get to the wizard, where we eventually get to the terms page.
The blue "Back home" button is just barely visible at the bottom of the screen. You can't click on it, especially since you can't see what is written on it.
The average user finds himself in a dead end situation - he does not know what to do and how to get to the main screen of the application.

Expected behavior
The terms and all buttons should be visible on the screen. I don't know right now if this page could have scrolled, maybe I didn't think to try it. But maybe it doesn't scroll.
Screenshots
Couldn't do it
Smartphone (please complete the following information):

Device: Samsung Galaxy Fold3
OS: Android 12
Version 2.0.51 build 352

I will close the ticket because a long time I didn't test a new versions. May be bug doesn't exist.


Opening the Controller popouts from the Data Providers list causes an NRE

XRTK - Mixed Reality Toolkit Bug Report
Describe the bug
Opening the Controller popouts from the Data Providers list causes an NRE
The popout window also does not open.
To Reproduce

Open Unity on the Dev branch
Create a scene with the toolkit configured, or open the Base Scene
Select the MRT GO
Open the Input settings configuration (DefaultMixedRealityInputSystemProfile)
Expand the Data providers foldout
Open the OpenVR controller data provider config (OpenVRControllerDataProviderProfile)
Click on ANY of the simple configuration popouts

Expected behavior
Controller popout should appear and allow configuration
Actual behavior
NRE reported in Editor console, no popout
NullReferenceException: Object reference not set to an instance of an object
UnityEditor.EditorWindow.Close () (at C:/buildslave/unity/build/Editor/Mono/EditorWindow.cs:927)
XRTK.Editor.ControllerPopupWindow.Show (XRTK.Definitions.Controllers.MixedRealityControllerMappingProfile profile, UnityEditor.SerializedProperty interactionMappingProfiles) (at Packages/com.xrtk.core/Editor/ControllerPopupWindow.cs:86)
XRTK.Editor.Profiles.InputSystem.Controllers.BaseMixedRealityControllerDataProviderProfileInspector+<>c__DisplayClass15_0.<RenderControllerMappingButton>b__0 () (at Packages/com.xrtk.core/Editor/Profiles/InputSystem/Controllers/BaseMixedRealityControllerDataProviderProfileInspector.cs:283)
UnityEditor.EditorApplication.Internal_CallDelayFunctions () (at C:/buildslave/unity/build/Editor/Mono/EditorApplication.cs:209)

Your Setup (please complete the following information)

Unity Version 2019.1.14
XRTK Version 0.2.0 (dev)

Pretty sure I thought I fixed this in #551

It's because I moved the path finder up a level into the Runtime folder and the controller popout window controller json data is in an editor folder.

I don't understand how by the time we check if the window is null on the prev line, it becomes null when we go to close it

Different issue Stephen, RTFI
Your issue was with the Controller mapping FOLDOUT. this is to do with the Controller POPOUT from within the Data Provider config that @FejZa added recently.
As noted, your issue was fixed in your PR, this issue existed in DEV

That's what I'm talking about. It's the source of the NRE

Ahh, I see. SO you believe we have a fix?

it's not fixed. 😭

Turns out one of the instance type references was broken.


Cant connect with socket cordova 7

App code
$scope.RUNSERVER = function () {
        var wsserver = cordova.plugins.wsserver;
       wsserver.start(3000, {
    'onFailure' :  function(addr, port, reason) {
        console.log('Stopped listening on %s:%d. Reason: %s', addr, port, reason);
    },
    'onOpen' : function(conn) {
        console.log('A user connected from %s', conn.remoteAddr);
    },
    'onMessage' : function(conn, msg) {
        console.log(conn, msg);
    },
    'onClose' : function(conn, code, reason, wasClean) {
        console.log('A user disconnected from %s', conn.remoteAddr);
    },
    tcpNoDelay : true
},
function onStart(addr, port) {
console.log('Listening on %s:%d', addr, port);
},
function onDidNotStart(reason) {
console.log('Did not start. Reason: %s', reason);
});
}
<button ng-click="RUNSERVER()">RUN</button>

I got my ip address from google using my ip.
var url = 'ws://<IP_ADDRESS>:3004';
    var socket = new WebSocket(url);
    socket.onopen = function() {
        console.info("opened");
    };

    socket.onclose = function(event) {
        if (event.wasClean) {
            console.info('closed');
        } else {
            console.info('dirty closed');
        }
    };

    socket.onmessage = function(event) {
        console.info("data" + event.data);
    };

    socket.onerror = function(error) {
        console.info("error " + error.message);
    };

This is duplicate issue of #27.
I did not get any result and any console. I did not get ip address in console also

Port numbers must match. 3000 or 3004 but not both.
 wsserver.start(3000, ...)
var url = 'ws://<IP_ADDRESS>:3004';

Sorry. I made mistake in paste code. But port number is 3000 .

I am using mobile data for socket server and client running in another network. Is there any firewall issue.

You have to be on the same network. Mobile data might not work.
Indeed <IP_ADDRESS> seems to be on a private network. your mobile carrier's network. and not reachable from the outside.

I need to create a app for private chat. So I need to run this server in mobile for communication . Client may use any network. What can I do ? . Could you help me for this issue

Rent a server. Good luck. Closing now.


Avoid double negative and rename the CurlTransportSSLOptions.NoRevoke to be something like CheckCertificateRevocationList

Since we expose this to our customers as a public API, consider renaming it to avoid the double negative and direct rather than trying to follow libcurl's naming.
https://github.com/Azure/azure-sdk-for-cpp/blob/6ff9b7b60558717db1c0d012145cb9799aa0d2b1/sdk/core/azure-core/inc/azure/core/http/curl/curl.hpp#L26-L30
Names that are more self-documenting and declarative (use the Disable or Enable prefix depending on where we settle for the default value - https://github.com/Azure/azure-sdk-for-cpp/issues/1101):

DisableCRLChecks
DisableCertificateRevocation
DisableCertificationRevocationList
DisableCertificateRevocationListCheck
CheckCertificateRevocationList

Frequently, we have observed confusion on what NO_REVOKE means especially when it is false, since it is exposed as a boolean.
FWIW, WinHTTP uses WINHTTP_ENABLE_SSL_REVOCATION and .NET's HttpClientHandler uses CheckCertificateRevocationList
See https://github.com/Azure/azure-sdk-for-cpp/pull/885#discussion_r518325905
cc @RickWinter, @JeffreyRichter, @vhvb1989

I prefer to use the same name as libcurl since people could be already familiar with it.
So, asking @RickWinter to confirm if we want to do this change or not.
When it comes to settings that we are going to apply to libcurl handle, I personally prefer to maintain the libcurl's original property  name.
However, it's fine if Rick wants to change it for the SDK.

For each value we add, we need to think about the future of the switch.  If the switch is generic across transports (or could be) we need to choose a name which makes sense and is consistent for all transports.  The switch name also needs to take into account the other sdk languages and the names they use.  We want consistency where it makes sense.


Remove R maintainers

The conda-forge maintainers never consented to maintain this Python recipe
https://github.com/conda-forge/staged-recipes/pull/6179

@conda-forge-admin, please rerender

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.


ARROW-10905: [Python] Add support for Python 3.9 Windows wheels

Picking back up from #8386 in case I can handle this or someone else wants to work off of it. Likely will need to be updated based on #8881 / #8778.

#8881 has merged now so I think this needs to be rebased.

#8881 has merged now so I think this needs to be rebased.

#8881 has merged now so I think this needs to be rebased.

Thanks for the heads up @nealrichardson

#8881 has merged now so I think this needs to be rebased.

Thanks for the heads up @nealrichardson

backing out Sutou Kouhei's changes temporarily to see where things stand without the subsequent modifications.

backing out Sutou Kouhei's changes temporarily to see where things stand without the subsequent modifications.

@github-actions crossbow submit wheel-win-cp38 wheel-win-cp39 conda-win-vs2017-py39

@github-actions crossbow submit wheel-win-cp38 wheel-win-cp39 conda-win-vs2017-py39

@github-actions crossbow submit wheel-win-cp39

@github-actions crossbow submit wheel-win-cp39

@github-actions crossbow submit wheel-win-cp39

@github-actions crossbow submit wheel-win-cp39

@github-actions crossbow submit wheel-win-cp39

@github-actions crossbow submit wheel-win-cp39

@github-actions crossbow submit wheel-win-cp39

@github-actions crossbow submit wheel-win-cp39

@github-actions crossbow submit wheel-win-cp36m wheel-win-cp37m wheel-win-cp38

@github-actions crossbow submit wheel-win-cp36m wheel-win-cp37m wheel-win-cp38

@github-actions crossbow submit wheel-win-* conda-win-*

@github-actions crossbow submit wheel-win-* conda-win-*

@github-actions crossbow submit wheel-win-cp36m

@github-actions crossbow submit wheel-win-cp36m

@github-actions crossbow submit wheel-win-cp36m

@github-actions crossbow submit wheel-win-cp36m

@github-actions crossbow submit wheel-win-cp36m

@github-actions crossbow submit wheel-win-cp36m

@github-actions crossbow submit wheel-win-* conda-win-*

@github-actions crossbow submit wheel-win-* conda-win-*

@xhochy when you get a chance it looks like #8881 did not fix building on Python 3.6 as with my change and without my change (master) both seem to fail on finding OpenSSL.
I'll try to see if I can poke around further, but not sure how far I can get.

@xhochy when you get a chance it looks like #8881 did not fix building on Python 3.6 as with my change and without my change (master) both seem to fail on finding OpenSSL.
I'll try to see if I can poke around further, but not sure how far I can get.

@kou any chance you know what to do about:

  File "arrow/dev/tasks/crossbow.py", line 1662, in upload_artifacts
    tag_name=tag, target_commitish=sha, method=method, patterns=patterns
  File "arrow/dev/tasks/crossbow.py", line 460, in github_overwrite_release_assets
    repo = self.as_github_repo()
  File "arrow/dev/tasks/crossbow.py", line 384, in as_github_repo
    self._github_repo = github.repository(username, reponame)
  File "C:\Miniconda\lib\site-packages\github3\github.py", line 1981, in repository
    json = self._json(self._get(url), 200)
  File "C:\Miniconda\lib\site-packages\github3\models.py", line 156, in _json
    raise exceptions.error_for(response)
github3.exceptions.AuthenticationFailed: 401 Bad credentials

from https://dev.azure.com/ursa-labs/crossbow/_build/results?buildId=22650&view=logs&j=4c86bc1b-1091-5192-4404-c74dfaad23e7&t=ec99a26b-0264-5e86-36fb-9cfd0ca0f9f3&l=37
I probably didn't need to rebuild everything since that step will probably fail across the board (I'll check each of them since I hadn't done that in https://github.com/apache/arrow/pull/8916#issuecomment-757096365 )

@kou any chance you know what to do about:

  File "arrow/dev/tasks/crossbow.py", line 1662, in upload_artifacts
    tag_name=tag, target_commitish=sha, method=method, patterns=patterns
  File "arrow/dev/tasks/crossbow.py", line 460, in github_overwrite_release_assets
    repo = self.as_github_repo()
  File "arrow/dev/tasks/crossbow.py", line 384, in as_github_repo
    self._github_repo = github.repository(username, reponame)
  File "C:\Miniconda\lib\site-packages\github3\github.py", line 1981, in repository
    json = self._json(self._get(url), 200)
  File "C:\Miniconda\lib\site-packages\github3\models.py", line 156, in _json
    raise exceptions.error_for(response)
github3.exceptions.AuthenticationFailed: 401 Bad credentials

from https://dev.azure.com/ursa-labs/crossbow/_build/results?buildId=22650&view=logs&j=4c86bc1b-1091-5192-4404-c74dfaad23e7&t=ec99a26b-0264-5e86-36fb-9cfd0ca0f9f3&l=37
I probably didn't need to rebuild everything since that step will probably fail across the board (I'll check each of them since I hadn't done that in https://github.com/apache/arrow/pull/8916#issuecomment-757096365 )

@xhochy when you get a chance it looks like #8881 did not fix building on Python 3.6 as with my change and without my change (master) both seem to fail on finding OpenSSL.
I'll try to see if I can poke around further, but not sure how far I can get.

The OpenSSL issue is not problem. This just skips the SSL-supporting part of thrift, we don't need that. I actually fail to parse the log to find what is actually the issue though.

@xhochy when you get a chance it looks like #8881 did not fix building on Python 3.6 as with my change and without my change (master) both seem to fail on finding OpenSSL.
I'll try to see if I can poke around further, but not sure how far I can get.

The OpenSSL issue is not problem. This just skips the SSL-supporting part of thrift, we don't need that. I actually fail to parse the log to find what is actually the issue though.

@xhochy when you get a chance it looks like #8881 did not fix building on Python 3.6 as with my change and without my change (master) both seem to fail on finding OpenSSL.
I'll try to see if I can poke around further, but not sure how far I can get.

The OpenSSL issue is not problem. This just skips the SSL-supporting part of thrift, we don't need that. I actually fail to parse the log to find what is actually the issue though.

OpenSSL is an issue but for gRPC!

@xhochy when you get a chance it looks like #8881 did not fix building on Python 3.6 as with my change and without my change (master) both seem to fail on finding OpenSSL.
I'll try to see if I can poke around further, but not sure how far I can get.

The OpenSSL issue is not problem. This just skips the SSL-supporting part of thrift, we don't need that. I actually fail to parse the log to find what is actually the issue though.

OpenSSL is an issue but for gRPC!

@kou any chance you know what to do about:

It seems that we need to update a secret variable registered in https://dev.azure.com/ursa-labs/crossbow/ but I don't have permission to update it. It seems that we don't care about conda-win-* tasks in this pull request because we don't touch anything for conda-win-* in this pull request.

@kou any chance you know what to do about:

It seems that we need to update a secret variable registered in https://dev.azure.com/ursa-labs/crossbow/ but I don't have permission to update it. It seems that we don't care about conda-win-* tasks in this pull request because we don't touch anything for conda-win-* in this pull request.

It may be better that we wait for https://github.com/apache/arrow/pull/9096 because it uses vcpkg instead of conda.
It doesn't have the OpenSSL problem: https://github.com/apache/arrow/pull/9096#issuecomment-756821064

It may be better that we wait for https://github.com/apache/arrow/pull/9096 because it uses vcpkg instead of conda.
It doesn't have the OpenSSL problem: https://github.com/apache/arrow/pull/9096#issuecomment-756821064

@github-actions crossbow submit wheel-win-cp36m wheel-win-cp39

@github-actions crossbow submit wheel-win-cp36m wheel-win-cp39

It may be better that we wait for #9096 because it uses vcpkg instead of conda.
It doesn't have the OpenSSL problem: #9096 (comment)

Ok, I'll just test out the suggestion. Not sure when @kszucs plans on trying to get #9096 in.

It may be better that we wait for #9096 because it uses vcpkg instead of conda.
It doesn't have the OpenSSL problem: #9096 (comment)

Ok, I'll just test out the suggestion. Not sure when @kszucs plans on trying to get #9096 in.

@kou any chance you know what to do about:

It seems that we need to update a secret variable registered in https://dev.azure.com/ursa-labs/crossbow/ but I don't have permission to update it. It seems that we don't care about conda-win-* tasks in this pull request because we don't touch anything for conda-win-* in this pull request.

I updated the secret and also invited you to the project.

@kou any chance you know what to do about:

It seems that we need to update a secret variable registered in https://dev.azure.com/ursa-labs/crossbow/ but I don't have permission to update it. It seems that we don't care about conda-win-* tasks in this pull request because we don't touch anything for conda-win-* in this pull request.

I updated the secret and also invited you to the project.

@github-actions crossbow submit wheel-win-cp36m

@github-actions crossbow submit wheel-win-cp36m

Superseded by #9096.

Superseded by #9096.


cannot import name '_basic_auth_str' from partially initialized module 'requests.auth'

az feedback auto-generates most of the information requested below, as of CLI version 2.0.62

Related command
az monitor log-analytics workspace delete --force true --resource-group  --workspace-name
Describe the bug
After running this command I receive the following error message:
The command failed with an unexpected error. Here is the traceback:
cannot import name '_basic_auth_str' from partially initialized module 'requests.auth' (most likely due to a circular import) (path/to/auth.py/module)
To Reproduce
Its a new Linux VM with Azure CLI Version 2.45.0 and im running the command logged in as a service principal with the needed rights to delete the given resource
Expected behavior
Delete the log-analytics workspace
Environment summary
Linux VM with Ubuntu 20.04 and Azure CLI version 2.45.0 and Python3 version 3.8.10

@AllyW for awareness

Hi @jiasli please help to clarify this import circle problem of auth module

@AllyW, this is not related to Azure CLI auth.

@AllyW, this is not related to azure.core.core.auth, but requests.auth. Please investigate from az monitor log-analytics workspace delete command side.

@AllyW, this is not related to azure.core.core.auth, but requests.auth. I would recommend investigating from az monitor log-analytics workspace delete command side.

Hi @Lukas-Klein, it'a a little blur why this circular import come from and I cannot reproduce it in my system and also cannot find the import chain about _basic_auth_str . Could you please provide the second last traceback line (or maybe more) of the error messages raised so we can identify which module is trying to import the requests.auth one?

This issue is not resolved. When updating the workspace via az monitor log-analytics workspace update this error appears:
The command failed with an unexpected error. Here is the traceback:
cannot import name '_basic_auth_str' from partially initialized module 'requests.auth' (most likely due to a circular import) (/home/fmelendez/.local/lib/python3.8/site-packages/requests/auth.py)
via commandline and pipeline.
Versions:
{
"azure-cli": "2.48.1",
"azure-cli-core": "2.48.1",
"azure-cli-telemetry": "1.0.8",
"extensions": {
"application-insights": "0.1.19",
"azure-devops": "0.26.0",
"ml": "2.15.1",
"rdbms-connect": "1.0.4"
}
}

@AllyW to help with

linked to https://github.com/Azure/azure-cli/issues/26297

@FMMelendez some cached file caused import failure and we are dealing with it. Disabling command caching would workaround it for temporary usage. Please following the linked issue.


UI:Allow users to upload documents in directory

Describe the solution you'd like
Create an file upload section or pop up in streamlit UI allowing users to upload files directly to the neogpt/documents folder.
It should store the file in the folder and then run the builder allowing users to upload their documents directly from the UI.

Follow up on #107


PLEASE HELP WITH ME

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.
Device info (if applicable):

OS: [e.g. iOS]
Browser [e.g. chrome, safari]
Version [e.g. 22]

Additional context
Add any other context about the problem here.

Closing this issue. No details/provided in the issue description.


StackStorm 3.5 pre-release testing

We're ready to prepare the StackStorm v3.5 release and start pre-release testing..
Release Process Preparation
Per Release Management Schedule @amanda11  is the Release Manager and @winem is Assisting for v3.5. They will freeze the master for the major repositories in StackStorm org, follow the StackStorm Release Process which is now available to public, accompanied by the Useful Info for Release managers. Communication is happening in #releasemgmt and #development Slack channels.
The first step is pre-release manual user-acceptance testing for v3.5dev.
Why Manual testing?
StackStorm is very serious about testing and has a lot of it:

Linting, Compile, and Unit tests
Integration tests
User Interface tests
Packaging tests
Deployment Integrity checks
Smoke tests
end-to-end tests when automation spins up new AWS instance for each OS/flavor we support, installs real st2 like user would and runs set of st2tests (for each st2 PR, nightly, periodically, during release), including end-to-end tests ChatOps

See st2ci and st2cd for more examples and workflows about how StackStorm automation is used to test StackStorm (dogfooding).

That's a perfect way to verify what we already know and codify expectations about how StackStorm should function.
However it's not enough.
There are always new unknowns to discover, edge cases to experience and tests to add. Hence, manual Exploratory Testing is an exercise where entire team gathers together and starts trying (or breaking) new features before the new release. Because we're all different, perceive software differently and try different things we might find new bugs, improper design, oversights, edge cases and more.
This is how StackStorm previously managed to land less major/critical bugs into production.
TL;DR
curl -sSL https://stackstorm.com/packages/install.sh | bash -s -- --user=st2admin --password=Ch@ngeMe --unstable

See the Testing Process, where it will walk you through:

Spinning up a StackStorm instance using st2vagrant
Running StackStorm's self-check script
Running through the basic manual testing steps

Additionally, try to use that StackStorm instance as you normally would, maybe try to break it in new and interesting ways that you haven't tried before, and report any regressions found comparing to v3.4.
At this stage, the following installation methods for 3.5 are available for testing:

vagrant
one line bash installer
manual installation instructions - https://docs.stackstorm.com/latest/
Due to changes in O/S versions the ansible and puppet installers will be updated post-release.

Extra points for PR hotfixes, reporting entirely new bugs, and missing test cases!
Specific changes to test

[ ] Run the self-verification script - see instructions here
[ ] Test the web UI and the integrated flow UI - see instructions here
[ ] Test Ubuntu20.04
[ ] StackStorm upgrade from 3.4 to 3.5, following the Upgrade Instructions: https://docs.stackstorm.com/latest/install/upgrades.html#v3-5

[ ] Without optional data migration script
[ ] With optional data migration script

If you have successful test results, please post a summary of what all you tested (OSes, what features you tested).
If you run into any bugs, please open them in the respective repositories and link to this issue from there. I will add them to the list at the bottom of this description.
If you have any issues running StackStorm or running the tests, please post down below.
Major changes

[ ] New Ubuntu 20.04 Focal Support with MongoDB 4.4
[ ] Removed support for Ubuntu 16.04 Xenial support
[ ] Performance improvements, including database operations, json seralization, yaml parsing in CLI, WebUI
[ ] Redis enabled as co-ordination backend by default
[ ] NGINX default config updated to include TLS v1.3 (in addition to v1.2)
[ ] Upgrade to node 14 for st2chatops
[ ] Ability to retrieve more than one resource with st2  get commands, see https://github.com/StackStorm/st2/pull/4912
[ ] Support for task retry and task delay in Workflow Designer UI

Full Changelog
Changes which are recommended to ack, explore, check and try in a random way.
st2
###Added

Added web header settings for additional security hardening to nginx.conf: X-Frame-Options,
Strict-Transport-Security, X-XSS-Protection and server-tokens. #5183
Contributed by @shital.

Added support for limit and offset argument to the list_values data store
service method (#5097 and #5171).
Contributed by @anirudhbagri.

Various additional metrics have been added to the action runner service to provide for better
operational visibility. (improvement) #4846
Contributed by @Kami.

Added sensor model to list of JSON schemas auto-generated by make schemasgen that can be used
by development tools to validate pack contents. (improvement)

Added the command line utility st2-validate-pack that can be used by pack developers to
validate pack contents. (improvement)

Fix a bug in the API and CLI code which would prevent users from being able to retrieve resources
which contain non-ascii (utf-8) characters in the names / references. (bug fix) #5189
Contributed by @Kami.

Fix a bug in the API router code and make sure we return correct and user-friendly error to the
user in case we fail to parse the request URL / path because it contains invalid or incorrectly
URL encoded data.
Previously such errors weren't handled correctly which meant original exception with a stack
trace got propagated to the user. (bug fix) #5189
Contributed by @Kami.

Make redis the default coordinator backend.

Fix a bug in the pack config loader so that objects covered by an additionalProperties schema
can use encrypted datastore keys and have their default values applied correctly. #5225
Contributed by @cognifloyd.

Add new database.compressors and database.zlib_compression_level config option which
specifies compression algorithms client supports for network / transport level compression
when talking to MongoDB.
Actual compression algorithm used will be then decided by the server and depends on the
algorithms which are supported by the server + client.
Possible / valid values include: zstd, zlib. Keep in mind that zstandard (zstd) is only supported
by MongoDB >= 4.2.
Our official Debian and RPM packages bundle zstandard dependency by default which means
setting this value to zstd should work out of the box as long as the server runs
MongoDB >= 4.2. #5177
Contributed by @Kami.

Add support for compressing the payloads which are sent over the message bus. Compression is
disabled by default and user can enable it by setting messaging.compression config option
to one of the following values: zstd, lzma, bz2, gzip.
In most cases we recommend using zstd (zstandard) since it offers best trade off between
compression ratio and number of CPU cycles spent for compression and compression.
How this will affect the deployment and throughput is very much user specific (workflow and
resources available). It may make sense to enable it when generic action trigger is enabled
and when working with executions with large textual results. #5241
Contributed by @Kami.

Mask secrets in output of an action execution in the API if the action has an output schema
defined and one or more output parameters are marked as secret. #5250
Contributed by @mahesh-orch.

###Changed

All the code has been refactored using black and black style is automatically enforced and
required for all the new code. (#5156)
Contributed by @Kami.

Default nginx config (conf/nginx/st2.conf) which is used by the installer and Docker
images has been updated to only support TLS v1.2 and TLS v1.3 (support for TLS v1.0 and v1.1
has been removed).
Keep in mind that TLS v1.3 will only be used when nginx is running on more recent distros
where nginx is compiled against OpenSSL v1.1.1 which supports TLS 1.3. #5183 #5216
Contributed by @Kami and @shital.

Add new -x argument to the st2 execution get command which allows
result field to be excluded from the output. (improvement) #4846

Update st2 execution get <id> command to also display execution log attribute which
includes execution state transition information.
By default end_timestamp attribute and duration attribute displayed in the command
output only include the time it took action runner to finish running actual action, but it
doesn't include the time it it takes action runner container to fully finish running the
execution - this includes persisting execution result in the database.
For actions which return large results, there could be a substantial discrepancy - e.g.
action itself could finish in 0.5 seconds, but writing data to the database could take
additional 5 seconds after the action code itself was executed.
For all purposes until the execution result is  persisted to the database, execution is
not considered as finished.
While writing result to the database action runner is also consuming CPU cycles since
serialization of large results is a CPU intensive task.
This means that "elapsed" attribute and start_timestamp + end_timestamp will make it look
like actual action completed in 0.5 seconds, but in reality it took 5.5 seconds (0.5 + 5 seconds).
Log attribute can be used to determine actual duration of the execution (from start to
finish). (improvement) #4846
Contributed by @Kami.

Various internal improvements (reducing number of DB queries, speeding up YAML parsing, using
DB object cache, etc.) which should speed up pack action registration between 15-30%. This is
especially pronounced with packs which have a lot of actions (e.g. aws one).
(improvement) #4846
Contributed by @Kami.

Underlying database field type and storage format for the Execution, LiveAction,
WorkflowExecutionDB, TaskExecutionDB and TriggerInstanceDB database models has
changed.
This new format is much faster and efficient than the previous one. Users with larger executions
(executions with larger results) should see the biggest improvements, but the change also scales
down so there should also be improvements when reading and writing executions with small and
medium sized results.
Our micro and end to benchmarks have shown improvements up to 15-20x for write path (storing
model in the database) and up to 10x for the read path.
To put things into perspective - with previous version, running a Python runner action which
returns 8 MB result would take around ~18 seconds total, but with this new storage format, it
takes around 2 seconds (in this context, duration means the from the time the execution was
scheduled to the time the execution model and result was written and available in the database).
The difference is even larger when working with Orquesta workflows.
Overall performance improvement doesn't just mean large decrease in those operation timings, but
also large overall reduction of CPU usage - previously serializing large results was a CPU
intensive time since it included tons of conversions and transformations back and forth.
The new format is also around 10-20% more storage efficient which means that it should allows
for larger model values (MongoDB document size limit is 16 MB).
The actual change should be fully opaque and transparent to the end users - it's purely a
field storage implementation detail and the code takes care of automatically handling both
formats when working with those object.
Same field data storage optimizations have also been applied to workflow related database models
which should result in the same performance improvements for Orquesta workflows which pass larger
data sets / execution results around.
Trigger instance payload field has also been updated to use this new field type which should
result in lower CPU utilization and better throughput of rules engine service when working with
triggers with larger payloads.
This should address a long standing issue where StackStorm was reported to be slow and CPU
inefficient with handling large executions.
If you want to migrate existing database objects to utilize the new type, you can use
st2common/bin/migrations/v3.5/st2-migrate-db-dict-field-values migration
script. (improvement) #4846
Contributed by @Kami.

Add new result_size field to the ActionExecutionDB model. This field will only be
populated for executions which utilize new field storage format.
It holds the size of serialzed execution result field in bytes. This field will allow us to
implement more efficient execution result retrieval and provide better UX since we will be
able to avoid loading execution results in the WebUI for executions with very large results
(which cause browser to freeze). (improvement) #4846
Contributed by @Kami.

Add new /v1/executions/<id>/result[?download=1&compress=1&pretty_format=1] API endpoint
which can be used used to retrieve or download raw execution result as (compressed) JSON file.
This endpoint will primarily be used by st2web when executions produce very large results so
we can avoid loading, parsing and formatting those very large results as JSON in the browser
which freezes the browser window / tab. (improvement) #4846
Contributed by @Kami.

Update jinja2 dependency to the latest stable version (2.11.3). #5195

Update pyyaml dependency to the latest stable version (5.4). #5207

Update various dependencies to latest stable versions (bcrypt, appscheduler, pytz,
python-dateutil, psutil, passlib, gunicorn, flex, cryptography.
eventlet, greenlet, webob , mongoengine, pymongo, requests,
pyyaml, kombu, amqp, python-ldap).
#5215, https://github.com/StackStorm/st2-auth-ldap/pull/94
Contributed by @Kami.

Update code and dependencies so it supports Python 3.8 and Mongo DB 4.4 #5177
Contributed by @nzloshm @winem @Kami.

StackStorm Web UI (st2web) has been updated to not render and display execution results
larger than 200 KB directly in the history panel in the right side bar by default anymore.
Instead a link to view or download the raw result is displayed.
Execution result widget was never optimized to display very large results (especially for
executions which return large nested dictionaries) so it would freeze and hang the whole
browser tab / window when trying to render / display large results.
If for some reason you want to revert to the old behavior (this is almost never a good idea
since it will cause browser to freeze when trying to display large results), you can do that by
setting max_execution_result_size_for_render option in the config to a very large value (e.g.
max_execution_result_size_for_render: 16 * 1024 * 1024).
https://github.com/StackStorm/st2web/pull/868
Contributed by @Kami.

Some of the config option registration code has been refactored to ignore "option already
registered" errors. That was done as a work around for an occasional race in the tests and
also to make all of the config option registration code expose the same consistent API. #5234
Contributed by @Kami.

Update pyywinrm dependency to the latest stable version (0.4.1). #5212
Contributed by @chadpatt .

Monkey patch on st2stream earlier in flow #5240
Contributed by Amanda McGuinness (@amanda11 Ammeon Solutions)

Support % in CLI arguments by reading the ConfigParser() arguments with raw=True.
This removes support for '%' interpolations on the configuration arguments.
See https://docs.python.org/3.8/library/configparser.html#configparser.ConfigParser.get for
further details. #5253
Contributed by @winem.

Remove duplicate host header in the nginx config for the auth endpoint.

Update orquesta to v1.4.0.

###Improvements

CLI has been updated to use or orjson when parsing API response and C version of the YAML
safe dumper when formatting execution result for display. This should result in speed up when
displaying execution result (st2 execution get, etc.) for executions with large results.
When testing it locally, the difference for execution with 8 MB result was 18 seconds vs ~6
seconds. (improvement) #4846
Contributed by @Kami.

Update various Jinja functiona to utilize C version of YAML safe_{load,dump} functions and
orjson for better performance. (improvement) #4846
Contributed by @Kami.

For performance reasons, use udatetime library for parsing ISO8601 / RFC3339 date strings
where possible. (improvement) #4846
Contributed by @Kami.

Speed up service start up time by speeding up runners registration on service start up by
re-using existing stevedore ExtensionManager instance instead of instantiating new
DriverManager instance per extension which is not necessary and it's slow since it requires
disk / pkg resources scan for each extension. (improvement) #5198
Contributed by @Kami.

Add new ?max_result_size query parameter filter to the GET /v1/executiond/<id> API
endpoint.
This query parameter allows clients to implement conditional execution result retrieval and
only retrieve the result field if it's smaller than the provided value.
This comes handy in the various client scenarios (such as st2web) where we don't display and
render very large results directly since it allows to speed things up and decrease amount of
data retrieved and parsed. (improvement) #5197
Contributed by @Kami.

Update default nginx config which is used for proxying API requests and serving static
content to only allow HTTP methods which are actually used by the services (get, post, put,
delete, options, head).
If a not-allowed method is used, nginx will abort the request early and return 405 status
code. #5193
Contributed by @ashwini-orchestral

Update default nginx config which is used for proxying API requests and serving static
content to not allow range requests. #5193
Contributed by @ashwini-orchestral

Drop unused python dependencies: prometheus_client, python-gnupg, more-itertools, zipp. #5228
Contributed by @cognifloyd.

Update majority of the "resource get" CLI commands (e.g. st2 execution get,
st2 action get, st2 rule get, st2 pack get, st2 apikey get, st2 trace get,
st2 key get, st2 webhook get, st2  timer get, etc.) so they allow for retrieval
and printing of information for multiple resources using the following notation:
st2 <resource> get <id 1> <id 2> <id n>, e.g. st2 action.get pack.show packs.get packs.delete
This change is fully backward compatible when retrieving only a single resource (aka single
id is passed to the command).
When retrieving a single source the command will throw and exit with non-zero if a resource is
not found, but when retrieving multiple resources, command will just print an error and
continue with printing the details of any other found resources. (new feature) #4912
Contributed by @Kami.

###Fixed

Refactor spec_loader util to use yaml.load with SafeLoader. (security)
Contributed by @ashwini-orchestral

Import ABC from collections.abc for Python 3.10 compatibility. (#5007)
Contributed by @tirkarthi

Updated to use virtualenv 20.4.0/PIP20.3.3 and fixate-requirements to work with PIP 20.3.3 #512
Contributed by Amanda McGuinness (@amanda11 Ammeon Solutions)

Fix st2 execution get --with-schema flag.  (bug fix) #4846
Contributed by @Kami.

Fix SensorTypeAPI schema to use class_name instead of name since documentation for pack
development uses class_name and registrar used to load sensor to database assign class_name
to name in the database model. (bug fix)

Updated paramiko version to 2.7.2, to go with updated cryptography to prevent problems
with ssh keys on remote actions. #5201
Contributed by Amanda McGuinness (@amanda11 Ammeon Solutions)

Update rpm package metadata and fix Provides section for RHEL / CentOS 8 packages.
In the previous versions, RPM metadata would incorrectly signal that the st2 package
provides various Python libraries which it doesn't (those Python libraries are only used
internally for the package local virtual environment).
https://github.com/StackStorm/st2-packages/pull/697
Contributed by @Kami.

Make sure st2common.util.green.shell.run_command() doesn't leave stray / zombie processes
laying around in some command timeout scenarios. #5220
Contributed by @r0m4n-z.

Fix support for skipping notifications for workflow actions. Previously if action metadata
specified an empty list for notify parameter value, that would be ignored / not handled
correctly for workflow (orquesta, action chain) actions. #5221 #5227
Contributed by @khushboobhatia01.

Clean up to remove unused methods in the action execution concurrency policies. #5268

st2web
Changed

If User is inactive for longer time the user should get logout from application
Update dependencies
logout action should logout user from all tabs
Fix integer overview issue when the limit or timeout parameter values were entered beyond the maximum value
Don't display and render large execution results
Fix all the various lint violations detected by eslint.
###Added
Added Delay Property as a new field under task properties.
Added Retry Feature as a new field under task properties.
Add focal support
Set maxLength attribute for username and password for input validation

Removed

Remove xenial support

orquesta 1.4.0
Changed

Migrate from Travis to Github Actions. (improvement)

Fixed

Fix unreachable join when an inbound task fails as defined in the task transition. (bug fix)
Throw exception if the workflow definition that is written in YAML contains duplicate keys (i.e. task name). (bug fix)

st2chatops
Changed

Updated to node 14
Update dependencies

Added

added Focal support

Removed

Remove Xenial support

Conclusion
Please report findings here and bugs/regressions in respective repositories.
Depending on severity and importance bugs might be fixed before the release or postponed to the next release if they're very minor and not a release blocker.
Issues Found During Release
TODO...
PRs Merged for Release
TODO...
TODOs

[ ] Blog post for release
[ ] Blog post for exchange/community update

Successfully tested st2 3.5dev on U18 in vagrant.

Successfully tested  st2 3.5dev on EL7 & EL8 on vagrant, with the self-check and manual Web testing.

(I confused my Github accounts and deleted the comment from my other one, mweinberg-cm.)
Successfully tested st2 3.5dev on U18 & U20 in vagrant and the oneline-installer on U20 successfully.

Possibly slower on workflow load in workflow composer.

Also finding a problem with aws pack when reload config after upgrade due to duplicate key "headers". After upgrade, running:
st2ctl reload --register-all
will complain if any installed actions have duplicate parameters.

Background:
@blag mentioned that issue in slack (#exchange) on May 25th: https://stackstorm-community.slack.com/archives/C01GD259JMP/p1621963277006700

A recent change in Orquesta has uncovered a few bugs in Exchange packs. In increasing order of difficulty…
The LastLine pack:
1 https://github.com/StackStorm-Exchange/stackstorm-lastline/blob/master/actions/submit_url.yaml
The verify key is duplicated in that file. The bugfix would be to remove it. That’s an easy bug to fix if somebody would like to take it on.
The FreeIPA pack:
https://github.com/StackStorm-Exchange/stackstorm-freeipa/blob/master/actions/env.yaml
There are two server keys in that file, and we need to figure out which one to remove.
The AWS pack:
https://github.com/StackStorm-Exchange/stackstorm-aws/blob/master/actions/apigateway_test_invoke_authorizer.yaml
There are two headers keys in that file, and we need to figure out which one to remove. This could be as simple as regenerating the actions, but it can turn into a rabbit hole.

There are actually 2 PRs involved:

orquesta:  https://github.com/StackStorm/orquesta/pull/230
st2: https://github.com/StackStorm/st2/pull/5162

The orquesta change showed how to register the UniqueKeyLoader so that it is always used.
The st2 change used that same method so that all yaml files will be loaded with the UniqueKeyLoader. This was an unexpected behavioral change in the PR, as UniqueKeyLoader was only used for loading the openapi specs before..

Thanks - I've raised issues on the 3 packs with "help wanted" label, and identifying them as incompatible at moment with 3.5.

On upgraded El8 tested editing workflows from examples that had retry/delay in, all ok. Created new workflows with retry and delay in ok.

Issue found on attempting upgrade with migration script - /opt/stackstorm/st2/bin/st2-migrate-db-dict-field-values isn't present on system after upgrading packages or on install.
We seem to be missing code that picks up the version specific migration scripts to include in the bin directory.

Seeing problems installing slack pack on focal, due to complaints about libxml. No issues on EL8. Investigating if focal or generic ubuntu issue.

Currently validating a manual install of single node on EL8. Install went fine, just a minor doc change PR raised as found mention of ewc: https://github.com/StackStorm/st2docs/pull/1078

Issue found on attempting upgrade with migration script - /opt/stackstorm/st2/bin/st2-migrate-db-dict-field-values isn't present on system after upgrading packages or on install.
We seem to be missing code that picks up the version specific migration scripts to include in the bin directory.

Good catch.
Could be that we need to update rules in st2-packages.
I thought we only need to do that if we want to install something into /usr/local/bin or similar, but should work out of the box for the virtual environment (since we just use setup.py metadata for that), but I could be wrong.

@Kami it looks like in past we've put st2common/bin/migrations/ into the package so it gets deployed into /opt/stackstorm/st2/bin - looking at the old upgrade notes. So I presume we had some generic mechanism in place to do that - but I can't see anything in history on st2-packages, and I'd have thought it was there.
Or whether that was written as custom rpm spec each time perhaps? I'm hoping someone with some history has an idea?

@armab Edit, actually I believe the right path is /opt/stackstorm/st2/bin/st2common/bin/migrations/v3.5/st2-migrate-db-dict-field-values. Can you please verify? Maybe just the upgrade notes need to be updated.
EDIT 2: Yeah I'm also just looking through git history in st2-packages and don't see anything which would indicate how that ever worked in the past :)

Ah, so yeah, we utilized setup.py metadata, but looks like we removed old entries a while back https://github.com/StackStorm/st2/commits/bfb506363f1bc3e6cdd4f20d012ad85b7fc166af).
Will open st2 pr.

From manual install:
# pwd
/opt/stackstorm
[root@el8-man-install stackstorm]# find . -name "st2*migrate*db*dict*"
[root@el8-man-install stackstorm]#

Upgrade on EL8 using the migration script successful - note - didn't have huge number of executions as was fresh system created just for testing upgrade.
Multiple get command tested.

Some quick testing with Focal manual install and Bionic bash installer. Included integration with chatops setup to slack.

Fix for the Docker nginx config patch, based on recent nginx changes in stackstorm/st2:
https://github.com/StackStorm/st2-dockerfiles/pull/48

Successfully tested:

all vagrant boxes
bash installer on U20
bash installer on U18
@amanda11 s fixes for U20 / Py3.8 on the slack pack: https://github.com/StackStorm-Exchange/stackstorm-slack/pull/72 (:heavy_check_mark: for actions; but there may be an issue with sensors and rules, see https://github.com/StackStorm-Exchange/stackstorm-slack/pull/72)
lots of user activities in st2web and via st2 for example on focal
different tests and validations with Mongo 4.4

Was able to test the fixes for the Slack pack successfully.
Will do some more tests regarding upgrades from 3.4 to 3.5dev tomorrow.

Just  verified that the TLS 1.3 support works in Vagrant and via the bash installer.

Tested manual and bash installs on EL7, and upgrade on EL7.

Validated that on xenial if try and install unstable it complains unsupported version.

Manual U18 ok.

Myself and @winem both tested U18 upgrade

Thanks - I've raised issues on the 3 packs with "help wanted" label, and identifying them as incompatible at moment with 3.5.

I can also confirm that I bumped into the 'duplicate keys' problem with pack configurations.
I was running st2 pack install .... to install a pack.
The duplicate key was in a config file.
It was a little difficult to diagnose because I had to dig through the logs and find the key that was the error.
The pack install command only returned a generic 500 Internal Server Error
So we are NOT going to allow duplicate keys then?  Fine with me , it is just a little hard to debug when one has to dig into the logs if it is the config file that has issues.

With pack config problems I have found that you get more error information on st2ctl reload --register-configs, when you put in 'bad config' compared, to installing a pack where the config file is already present.
I've found that for other errors in pack config, as opposed to duplicate keys - but I wonder if its the same.
Rejecting duplicate keys is not good, and we do have mention of it in the upgrade notes - and I'll make sure its in the release blog as well.


Small Council Chamber is incorrectly tagged as Loyal

Picture of the card says it's not loyal though

Fixed with https://github.com/Alsciende/thronesdb-json-data/pull/5