Added support for visual studio code

Reasons for making this change:
TODO
Links to documentation supporting these rule changes:
TODO
If this is a new template:

Link to application or project’s homepage: TODO

Please see Global/VisualStudioCode.gitignore for VSCode...


feat: Noir-js integration

Description
This is the integration PR for noir.js
Problem*

Resolves
Summary*

Additional Context

PR Checklist*

[ ] I have tested the changes locally.
[ ] I have formatted the changes with Prettier and/or cargo fmt on default settings.

This is for iterative development / testing purposes only right?

This is for iterative development / testing purposes only right?

Yeah exactly

@SocketSecurity ignore<EMAIL_ADDRESS>

Resolves https://github.com/noir-lang/noir-starter/issues/51 when merged?

@SocketSecurity ignore<EMAIL_ADDRESS>


[GHSA-7f84-p6r5-jr6q] In Jenkins 2.321 through 2.355 (both inclusive) and LTS 2...

Updates

Affected products
CVSS
Description
Severity
Source code location
Summary

Comments
Fill in details according to https://www.jenkins.io/security/advisory/2022-06-22/#SECURITY-2781
Hopefully, I selected the versions correctly. To clarify, versions 2.321 to 2.355 are affected. But also the LTS releases 2.332.1, 2.332.2 and 2.332.3 are impacted.
The vulnerability has been fixed in LTS 2.332.4, 2.346.1 and in the weekly 2.356

Ok, so I tried my best on the versions for this one. I know LTS releases are a different kind of release for you, but given that it's all the same artifact name our system treats it all as existing on the same number line. Feel free to reopen if you think my adjustments aren't correct/good enough 👍


Fix encoded urls when using phantomjs 2.1.0 or newer

I'm not intending for this to land, yet. It demonstrates #1464.
If you swap the order of the urls, the test will pass.

Looks like this only happens with phantomjs 2.2.1.

It turns out the "success" when changing the url order was not real. The encoded url gets derailed in Casper.prototype.handleReceivedResource on the line
if (utils.decodeUrl(resource.url) !== this.requestUrl)

The page.resource.received event does't get emitted and casper.currentResponse doesn't get updated.

Here are results for phantomjs 2.0.0 and 2.2.0 (dev) for both orderings:
Test file: tests/suites/casper/encodedurl.js
phantomjs 2.0.0 tests/site/has%20space.html then tests/site/index.html
PASS phantomjs 2.0.0 tests/site/has%20space.html then tests/site/index.html (6 tests)
PASS page.resource.received 1
PASS status 200 for tests/site/has%20space.html
PASS opened tests/site/has%20space.html
PASS page.resource.received 2
PASS status 200 for tests/site/index.html
PASS opened tests/site/index.html
PASS 6 tests executed in 0.112s, 6 passed, 0 failed, 0 dubious, 0 skipped.
Test file: tests/suites/casper/encodedurl.js
phantomjs 2.0.0 tests/site/index.html then tests/site/has%20space.html
PASS phantomjs 2.0.0 tests/site/index.html then tests/site/has%20space.html (6 tests)
PASS page.resource.received 1
PASS status 200 for tests/site/index.html
PASS opened tests/site/index.html
PASS page.resource.received 2
PASS status 200 for tests/site/has%20space.html
PASS opened tests/site/has%20space.html
PASS 6 tests executed in 0.112s, 6 passed, 0 failed, 0 dubious, 0 skipped.
Test file: tests/suites/casper/encodedurl.js
phantomjs 2.2.0 tests/site/has%20space.html then tests/site/index.html
PASS phantomjs 2.2.0 tests/site/has%20space.html then tests/site/index.html (6 tests)
FAIL page.resource.received 1
type: assertEquals
file: tests/suites/casper/encodedurl.js
subject: 0
expected: 1
FAIL 1 test executed in 0.068s, 0 passed, 1 failed, 0 dubious, 0 skipped.
Details for the 1 failed test:
In tests/suites/casper/encodedurl.js
phantomjs 2.2.0 tests/site/has%20space.html then tests/site/index.html
assertEquals: page.resource.received 1
Test file: tests/suites/casper/encodedurl.js
phantomjs 2.2.0 tests/site/index.html then tests/site/has%20space.html
PASS phantomjs 2.2.0 tests/site/index.html then tests/site/has%20space.html (6 tests)
PASS page.resource.received 1
PASS status 200 for tests/site/index.html
PASS opened tests/site/index.html
FAIL page.resource.received 2
type: assertEquals
file: tests/suites/casper/encodedurl.js
subject: 1
expected: 2
FAIL 4 tests executed in 0.107s, 3 passed, 1 failed, 0 dubious, 0 skipped.
Details for the 1 failed test:
In tests/suites/casper/encodedurl.js
phantomjs 2.2.0 tests/site/index.html then tests/site/has%20space.html
assertEquals: page.resource.received 2

Here are results with both url orders for phantomjs 2.0.0 and 2.2.0 (dev).
encoded url results.txt

This might be a good solution. Another might be to conditionally encode this.requestUrl when it is assigned.

It turns out the page.resource.requested event wasn't emitted for encoded urls with phantomjs prior to 2.1.


Warning: The lock file is not up to date with the latest changes in composer.json

Because of some back and forth on compos.json changes I forgot to run composer update before committing.
As a result after creating a new project:
composer create-project svandragt/cuttlefish-blog cuttlefish-demo 0.1.1
cd cuttlefish-demo

You will need to run composer update which should not be needed.
You can then run the local webserver:
cd src; CUTTLEFISH_ADMIN_PASSWORD=password php -S localhost:8888

Fixed


Sending additional information with checkout

Hello,
Thank you for this useful package.
I would like to send additional information with the createPurchaseURL. Basically the information I need to pass to gateway.transaction.sale, like customer, billing, and shipping info.
Is this supported? If not, what is the standard way to do this?
Thank you

I've realized you can pass a function to createPurchase. Closing.


[4.0.6] npm run watch will cause webpack keep rebuilding

Laravel Mix Version: 4.0.6 (npm list --depth=0)
Node Version (node -v): 10.13.0
NPM Version (npm -v): 6.4.1
OS: Ubuntu

Description:
When I run npm run watch, webpack keeps rebuilding assets. I have no idea how to fix it.
Not sure if it's really related to laravel-mix.
Please check out the sample repo.
Steps To Reproduce:
Sample repo: https://github.com/koshuang/laravel-mix-v4-test

Because you're not in a Laravel project, you need to add mix.setPublicPath() to your webpack.mix.js file.
mix.js('resources/assets/js/app.js', 'public/js/')
    .sass('resources/assets/sass/app/app.scss', 'public/css/')
    .setPublicPath('public');

Hi @JeffreyWay,
Thanks for the instruction! It works after I add .setPublicPath('public');.
But when I follow the tutorial https://laravel-mix.com/docs/4.0/workflow, it has same issue.
You can test it in this branch https://github.com/koshuang/laravel-mix-v4-test/tree/laravel-mix-v4-workflow-with-laravel.

Future npm run watch loopers,

if you've committed any fonts or images into public/ , move them into resources/ or elsewhere & copy them to public/ in webpack.mix.js
if you're using font-awesome this might apply to you: https://github.com/JeffreyWay/laravel-mix/issues/228#issuecomment-276722669


Update various RAND podpages

This documents the current state of things.  There really are no semantic changse here, just editorial.
I.e., I didn't change anything :)

Although I would remove the RAND_METHOD typedef from the documentation ...

I disagree.  It's a public (non-opaque) structure, and people do use it to create their own methods (I've been involved in two engines that do exactly that), so it should stay documented for now (whenever we make it opaque or at least add a functional API to create and manipulate RAND_METHODs, then is the time to remove the current documentation)

The typedef was kept :)  Thanks!
Commit 0425627 on master.


Update index.md

EF NuGet  package information is currently missing
this adds instructions on

what NuGet package you need to install
how to install EF Core

Based on current comments by readers it seems important that not only the current Nuget package is pointed out but also instructions on how to install

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

I think going with 2) seems like a option, adding a link to the installation page seems like a good compromise
I agree an overview page is an overview.

Sounds good @softchris.


[TextServer] Fix hex code box positions in vertical text layout.

Fixes invalid character replacement box position in the vertical text.

Before
After

Thanks!


refactor digital twin frontend to use publish tools backend [development_publish2]

principle

publishtools run as daemon (e.g. in tmux)
publishtools check for changed content on remote git every 5 min and pull changes in
twin frontend is proxy towards publishtools which keeps all in mem for now, no flattening used

requirements

[ ] make issues in required repos to get this work done
[ ] document in info_publishtools how to use
[ ] remove publish function (we no longer want to publish to a remote server)
[ ] use new config mgmt
[ ] front end code works as proxy towards publishtools backend (call the wiki pages, if needed add some rest calls)

[ ] DONT remove flatten function, but no longer use in twin frontend

[ ] put code for digital twin frontend which serves the content from publishtools in this repo

[ ] make sure the consolidation effort from Jimber uses this code

[ ] cant we do this opengraph more elegant, now too many duplicates, it should be generated out of lot less info and conventions e.g. just name of logo (not full url), description comes from site_config file, type auto, ...
[ ] use gitpod to launch an example wiki (small than now) with frontend integrated
[ ] twin frontend calls rest function on publishtools to know which domains to serve
[ ] use branch development_publish2 on all required repo's even the content ones we use in example

config mgmt example see

don't use this example on this site, use other one which is not private e.g. threefold & threefold cloud
make sure works same way
no need to make compatible with publish part on central server will not use
for production use
use site files like:
[
	{
		"url": "git@github.com:incachain/info_incachain.git",
		"path": "",
		"branch": "master",
		"pull": true,
		"reset": true,
		"shortname": "inca",
		"domains": [
			"info.incachain.org"
		],
		"descr": "",
		"acl": [
			{
				"groups": [],
				"rights": "R",
				"secrets": [
					"inca007"
				]
			}
		],
		"trackingid": "",
		"opengraph": {
			"title": "Incachain",
			"description": "All you need to know about Incachain.",
			"url": "https://info.incachain.org",
			"type_": "article",
			"image": "https://info.incachain.org/splash.png",
			"image_width": "1200",
			"image_height": "630"
		}
	}
]

note pull/reset/branch name this makes sure the publishtools will see if new content every 5 min and pull changes in ignoring all changes and make sure is on right branch
check if mem use stays under control if checking pulling many times
for gitpod can use the path so it sits in the directory of gitpod which keeps the content so we don't have to use dockerfile for that part.

advantages of this approach

can use dynamic macro's (at runtime)
easier to deploy
better version control

other info

https://github.com/crystaluniverse/crystallib/issues/17

We have few comments on the issue
1- To remove publish function means we need to have a web interface int the nodejs servr with sites.json content which we can add/remove sites/wikis then after saving we reload the file and pull new content or so  is this correct?
2- Having separate publishtools daemon is more complex than doing same functionalities in nodejs server

if sites.json / config changed we need to call publishtools to pull or build websites or reload wikis in memory
inconsistency , now we gonna serve wikis from publishtools daemon memory and websites from file system?
separate http api to get content ? why not do flattening on when there's new change and we can cache content of wikis in the nodejs memory ?

2- opengraph can be simplified yes
3- digitaltwin frontend was separated into separate vue.js site that can be served with publisher itself so we can add it as
this is done already
{
                "name": "www_digitaltwin",
                "url":  "https://github.com/threefoldtech/www_digitaltwin",
                "branch":       "",
                "pull": false,
                "reset":        false,
                "cat":  2,
                "shortname":    "digitaltwin",
                "path_code":    "",
                "domains":      ["digitaltwin.threefold.io"],
                "descr":        "Digital twin frontend",
                "groups":       [],
                "acl":  [],
        },
}


Bal run crashes when running inside a directory with a space separated name

Description:
$subject
Steps to reproduce:

Create a directory with a space-separated name (eg: "Hello World").
Go inside that directory and create a ball file with the main function.
Run the sample bal file.

The application crashes with this error:
Error: Could not find or load main class World
Caused by: java.lang.ClassNotFoundException: World

Affected Versions:
SLBeta3 RC3
OS, DB, other environment details and versions:
MacOS

This happens in our bal script execution even before we launch the cli commands. This is because we use  pwd command in out scripts to pass the path arguments where it does not escape the space character in the path.
This needs to be fixed from the bal script level.

duplicate of https://github.com/ballerina-platform/ballerina-lang/issues/32740.
Hence, closing this.


Upgrade

Hi
Thankyou for this awesome source code and it helped me a lot with my personal projects. When trying to incorporate this with my .net application and deploy on Azure Webapps, due to some of the outdated  dependencies i am getting repeated errors. I tried upgrading the dependencies as below and compilation runs successfully. but the page wont load with below error

Uncaught ReferenceError: process is not defined
index.js:2  Uncaught TypeError: Cannot destructure property 'createFlowTreeBuilder' of 'window.js2flowchart' as it is undefined.
at index.js:2:5
(anonymous) @ index.js:2

Below is the package.json i updated to
{
"name": "js2flowchart",
"version": "1.3.4",
"author": "Bohdan Liashenko",
"license": "MIT",
"repository": {
"type": "git",
"url": "https://github.com/Bogdan-Lyashenko/js-code-to-svg-flowchart.git"
},
"main": "dist/js2flowchart.js",
"scripts": {
"dev": "webpack --progress --colors --watch --env dev",
"build": "NODE_ENV=production webpack --progress",
"babel-compile": "babel src -d build --copy-files",
"pretty": "prettier  --write "./src/**/.js" "./cli/.js""
},
"bin": {
"js2flowchart": "./cli/index.cli.js"
},
"devDependencies": {
"@babel/cli": "^7.22.10",
"@babel/core": "^7.22.10",
"@babel/preset-env": "^7.22.10",
"babel-loader": "^9.1.3",
"prettier": "3.0.2",
"webpack": "^5.88.2",
"webpack-cli": "^5.1.4"
},
"keywords": [
"svg",
"code analyzeing",
"webpack",
"es6",
"library",
"universal",
"umd",
"commonjs"
],
"dependencies": {
"@babel/generator": "^7.22.10",
"@babel/parser": "^7.22.10",
"@babel/traverse": "^7.22.10",
"commander": "^11.0.0",
"deepmerge": "^4.3.1",
"global": "^4.4.0",
"string-width": "^6.1.0",
"uuid": "^9.0.0",
"xml-escape": "^1.1.0"
}
}

Wow..thanks a lot @Bogdan-Lyashenko  .. it worked.. seems i missed to update the webpack.config and "buffer": "^6.0.3" in package.json...Still close for a newbie in npm :)
Thanks for the prompt fix and also creating this awesome framework...


fix(core): add no-store to rate limited mutations

What/Why?
Ran a few functional tests this morning so some of our customer mutation endpoints were being rate limited by the same IP address. This adds no-store to the auth mutations to ensure the forwarded ip is being passed to BC.
Testing
See CI.

Good catch 👍


Implement text appearance options

From TODO.md; needs more details

The text appearance feature has been implemented


CloudProxy gets stuck on jsch challenge

So I've been implementing CloudProxy on one of my projects, basically I'm trying to download plugins from SpigotMC.org and everything works fine until I want to download a plugin.
When browsing normally, the first time I download a plugin, I'll get the following screen:

And the download starts.
But with CloudProxy, this happens:
2020-08-07T01:06:09.818Z DEBUG REQ-99 Navegating to... https://www.spigotmc.org/resources/cmi-270-commands-insane-kits-portals-essentials-economy-mysql-sqlite-much-more.3742/download?version=349138
2020-08-07T01:06:09.820Z DEBUG REQ-99 {
  headers: {
    'upgrade-insecure-requests': '1',
    'user-agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.0 Safari/537.36',
    'accept-language': 'en-US,en;q=0.9'
  }
}
2020-08-07T01:06:09.919Z INFO REQ-99 Cloudflare detected
2020-08-07T01:06:09.923Z DEBUG REQ-99 Waiting for Cloudflare challenge...
2020-08-07T01:06:14.127Z DEBUG REQ-99 {
  headers: {
    'upgrade-insecure-requests': '1',
    origin: 'https://www.spigotmc.org',
    'content-type': 'application/x-www-form-urlencoded',
    'user-agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.0 Safari/537.36',
    'accept-language': 'en-US,en;q=0.9',
    referer: 'https://www.spigotmc.org/resources/cmi-270-commands-insane-kits-portals-essentials-economy-mysql-sqlite-much-more.3742/download?version=349138'
  }
}
2020-08-07T01:06:15.926Z DEBUG REQ-99 Found challenge element again...
2020-08-07T01:06:15.928Z DEBUG REQ-99 {
  headers: {
    'upgrade-insecure-requests': '1',
    'user-agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.0 Safari/537.36',
    'accept-language': 'en-US,en;q=0.9'
  }
}
TimeoutError: Navigation timeout of 30000 ms exceeded
    at /home/lululombard/Workspace/RedCraft/CloudProxy/node_modules/puppeteer/lib/LifecycleWatcher.js:100:111
    at FrameManager.waitForFrameNavigation (/home/lululombard/Workspace/RedCraft/CloudProxy/node_modules/puppeteer/lib/FrameManager.js:107:23)
    at Frame.waitForNavigation (/home/lululombard/Workspace/RedCraft/CloudProxy/node_modules/puppeteer/lib/FrameManager.js:298:16)
    at Page.waitForNavigation (/home/lululombard/Workspace/RedCraft/CloudProxy/node_modules/puppeteer/lib/Page.js:492:16)
    at async Promise.all (index 0)
    at Page.reload (/home/lululombard/Workspace/RedCraft/CloudProxy/node_modules/puppeteer/lib/Page.js:488:24)
    at resolveChallenge (/home/lululombard/Workspace/RedCraft/CloudProxy/src/routes.ts:112:24)
    at request.get (/home/lululombard/Workspace/RedCraft/CloudProxy/src/routes.ts:330:18)
    at Object.Router [as default] (/home/lululombard/Workspace/RedCraft/CloudProxy/src/routes.ts:349:23)
  -- ASYNC --
    at Frame.<anonymous> (/home/lululombard/Workspace/RedCraft/CloudProxy/node_modules/puppeteer/lib/helper.js:94:19)
    at Page.waitForNavigation (/home/lululombard/Workspace/RedCraft/CloudProxy/node_modules/puppeteer/lib/Page.js:492:53)
    at Page.<anonymous> (/home/lululombard/Workspace/RedCraft/CloudProxy/node_modules/puppeteer/lib/helper.js:95:27)
    at Page.reload (/home/lululombard/Workspace/RedCraft/CloudProxy/node_modules/puppeteer/lib/Page.js:488:48)
    at Page.<anonymous> (/home/lululombard/Workspace/RedCraft/CloudProxy/node_modules/puppeteer/lib/helper.js:95:27)
    at resolveChallenge (/home/lululombard/Workspace/RedCraft/CloudProxy/src/routes.ts:112:35)
    at runMicrotasks (<anonymous>)
    at processTicksAndRejections (internal/process/task_queues.js:93:5)
    at request.get (/home/lululombard/Workspace/RedCraft/CloudProxy/src/routes.ts:330:18)
    at Object.Router [as default] (/home/lululombard/Workspace/RedCraft/CloudProxy/src/routes.ts:349:23)
2020-08-07T01:06:45.956Z ERROR REQ-99 Navigation timeout of 30000 ms exceeded

I think it's probably related to the // TODO: find out why these pages hang sometimes but no mater how many times I try, it will fail on that link. You can add me on Discord (lululombard#1337) if you require more information, I can even give you the credentials to my account so you can try to run it for yourself to debug :)

I’ve been a little backlogged lately at work but I’ll get back to reviewing issues and PRs shortly. Thanks for being thing this to my attention 🙏

@lululombard  I don't think this is a bug or issue of the proxy. Most sites will need the proxy to try several times before the challenge is solved. Don't ask me why but this been my experience so far. So for your site, I ran below curl 2 times and got a successful response then. Note that it is important to create a custom session, so that the correct headers and cookies are sent.
Request:
curl -L -X POST http://localhost:8191/v1 -H "Content-Type: application/json" --data-raw "{\"cmd\":\"request.get\",\"session\":\"mysession\",\"url\":\"https://www.spigotmc.org/resources/cmi-270-commands-insane-kits-portals-essentials-economy-mysql-sqlite-much-more.3742/download?version=349138\",\"userAgent\":\"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.116 Safari/537.36\", \"maxTimeout\": 10000}"
Response:
2020-08-07T03:14:52.886Z DEBUG REQ-2 Found challenge element again...
2020-08-07T03:14:53.016Z DEBUG REQ-2 Reloaded page...
2020-08-07T03:14:53.036Z ERROR REQ-2 Maximum timeout reached. maxTimeout=10000 (ms)
2020-08-07T03:15:15.356Z INFO REQ-3 Incoming request: POST /v1  <<---- second call of curl request
2020-08-07T03:15:15.357Z INFO REQ-3 Params: {"cmd":"request.get","session":"mysession","url":"https://www.spigotmc.org/resources/cmi-270-commands-insane-kits-portals-essentials-economy-mysql-sqlite-much-more.3742/download?version=349138","userAgent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.116 Safari/537.36","maxTimeout":10000}
2020-08-07T03:15:15.480Z DEBUG REQ-3 Using custom UA: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.116 Safari/537.36
2020-08-07T03:15:15.481Z DEBUG REQ-3 Adding custom headers: {}
2020-08-07T03:15:15.482Z DEBUG REQ-3 Navegating to... https://www.spigotmc.org/resources/cmi-270-commands-insane-kits-portals-essentials-economy-mysql-sqlite-much-more.3742/download?version=349138
2020-08-07T03:15:16.351Z INFO REQ-3 Cloudflare detected
2020-08-07T03:15:16.449Z DEBUG REQ-3 No '.ray_id' challenge element detected.
2020-08-07T03:15:16.483Z DEBUG REQ-3 No '.attack-box' challenge element detected.
ok
2020-08-07T03:15:16.800Z INFO REQ-3 Successful response in 1.444 s

@jairoxyz thanks for testing dude!
Indeed I wasn't using sessions, I added them, but I still have the same issue :(
When I run the following command, it will get stuck:

curl -L -X POST http://localhost:8191/v1 -H "Content-Type: application/json" --data-raw '
{
    "cmd": "request.get",
    "url": "https://www.spigotmc.org/resources/essentialsx.9089/download?version=343125",
    "method": "GET",
    "download": true,
    "maxTimeout": 120000
}'

I get the following reply:
{
    "status": "error",
    "message": "Navigation timeout of 30000 ms exceeded",
    "startTimestamp":<PHONE_NUMBER>584,
    "endTimestamp":<PHONE_NUMBER>296,
    "version": "1.0.0"
}

And here are the logs:
2020-08-07T13:05:37.584Z INFO REQ-33 Incoming request: POST /v1
2020-08-07T13:05:37.584Z INFO REQ-33 Params: {"cmd":"request.get","url":"https://www.spigotmc.org/resources/essentialsx.9089/download?version=343125","method":"GET","download":true,"maxTimeout":120000}
2020-08-07T13:05:37.584Z DEBUG REQ-33 Launching headless browser...
2020-08-07T13:05:37.732Z DEBUG REQ-33 Adding custom headers: {}
2020-08-07T13:05:37.732Z DEBUG REQ-33 { headers: [Function (anonymous)] }
2020-08-07T13:05:37.733Z DEBUG REQ-33 Navegating to... https://www.spigotmc.org/resources/essentialsx.9089/download?version=343125
2020-08-07T13:05:37.753Z DEBUG REQ-33 {
  headers: {
    'upgrade-insecure-requests': '1',
    'user-agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.0 Safari/537.36',
    'accept-language': 'en-US,en;q=0.9'
  }
}
2020-08-07T13:05:37.851Z INFO REQ-33 Cloudflare detected
2020-08-07T13:05:37.855Z DEBUG REQ-33 Waiting for Cloudflare challenge...
2020-08-07T13:05:41.938Z DEBUG REQ-33 {
  headers: {
    'upgrade-insecure-requests': '1',
    'user-agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.0 Safari/537.36',
    'accept-language': 'en-US,en;q=0.9',
    referer: 'https://www.spigotmc.org/resources/essentialsx.9089/download?version=343125'
  }
}
2020-08-07T13:05:41.975Z DEBUG REQ-33 Found challenge element again...
2020-08-07T13:05:41.977Z DEBUG REQ-33 {
  headers: {
    'upgrade-insecure-requests': '1',
    'user-agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.0 Safari/537.36',
    'accept-language': 'en-US,en;q=0.9',
    referer: 'https://www.spigotmc.org/resources/essentialsx.9089/download?version=343125'
  }
}
2020-08-07T13:05:42.013Z DEBUG REQ-33 Reloaded page...
2020-08-07T13:05:46.057Z DEBUG REQ-33 {
  headers: {
    'upgrade-insecure-requests': '1',
    'user-agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.0 Safari/537.36',
    'accept-language': 'en-US,en;q=0.9',
    referer: 'https://www.spigotmc.org/resources/essentialsx.9089/download?version=343125'
  }
}
2020-08-07T13:05:46.098Z DEBUG REQ-33 Found challenge element again...
2020-08-07T13:05:46.099Z DEBUG REQ-33 {
  headers: {
    'upgrade-insecure-requests': '1',
    'user-agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.0 Safari/537.36',
    'accept-language': 'en-US,en;q=0.9',
    referer: 'https://www.spigotmc.org/resources/essentialsx.9089/download?version=343125'
  }
}
2020-08-07T13:05:46.134Z DEBUG REQ-33 Reloaded page...
2020-08-07T13:05:50.182Z DEBUG REQ-33 {
  headers: {
    'upgrade-insecure-requests': '1',
    'user-agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.0 Safari/537.36',
    'accept-language': 'en-US,en;q=0.9',
    referer: 'https://www.spigotmc.org/resources/essentialsx.9089/download?version=343125'
  }
}
2020-08-07T13:05:50.223Z DEBUG REQ-33 Found challenge element again...
2020-08-07T13:05:50.224Z DEBUG REQ-33 {
  headers: {
    'upgrade-insecure-requests': '1',
    'user-agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.0 Safari/537.36',
    'accept-language': 'en-US,en;q=0.9',
    referer: 'https://www.spigotmc.org/resources/essentialsx.9089/download?version=343125'
  }
}
2020-08-07T13:05:50.260Z DEBUG REQ-33 Reloaded page...
2020-08-07T13:05:54.304Z DEBUG REQ-33 {
  headers: {
    'upgrade-insecure-requests': '1',
    origin: 'https://www.spigotmc.org',
    'content-type': 'application/x-www-form-urlencoded',
    'user-agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.0 Safari/537.36',
    'accept-language': 'en-US,en;q=0.9',
    referer: 'https://www.spigotmc.org/resources/essentialsx.9089/download?version=343125'
  }
}
2020-08-07T13:05:56.265Z DEBUG REQ-33 Found challenge element again...
2020-08-07T13:05:56.266Z DEBUG REQ-33 {
  headers: {
    'upgrade-insecure-requests': '1',
    'user-agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.0 Safari/537.36',
    'accept-language': 'en-US,en;q=0.9',
    referer: 'https://www.spigotmc.org/resources/essentialsx.9089/download?version=343125'
  }
}
TimeoutError: Navigation timeout of 30000 ms exceeded
    at /home/lululombard/Workspace/RedCraft/CloudProxy/node_modules/puppeteer/lib/LifecycleWatcher.js:100:111
    at FrameManager.waitForFrameNavigation (/home/lululombard/Workspace/RedCraft/CloudProxy/node_modules/puppeteer/lib/FrameManager.js:107:23)
    at Frame.waitForNavigation (/home/lululombard/Workspace/RedCraft/CloudProxy/node_modules/puppeteer/lib/FrameManager.js:298:16)
    at Page.waitForNavigation (/home/lululombard/Workspace/RedCraft/CloudProxy/node_modules/puppeteer/lib/Page.js:492:16)
    at async Promise.all (index 0)
    at Page.reload (/home/lululombard/Workspace/RedCraft/CloudProxy/node_modules/puppeteer/lib/Page.js:488:24)
    at resolveChallenge (/home/lululombard/Workspace/RedCraft/CloudProxy/src/routes.ts:112:24)
    at request.get (/home/lululombard/Workspace/RedCraft/CloudProxy/src/routes.ts:330:18)
    at Object.Router [as default] (/home/lululombard/Workspace/RedCraft/CloudProxy/src/routes.ts:349:23)
  -- ASYNC --
    at Frame.<anonymous> (/home/lululombard/Workspace/RedCraft/CloudProxy/node_modules/puppeteer/lib/helper.js:94:19)
    at Page.waitForNavigation (/home/lululombard/Workspace/RedCraft/CloudProxy/node_modules/puppeteer/lib/Page.js:492:53)
    at Page.<anonymous> (/home/lululombard/Workspace/RedCraft/CloudProxy/node_modules/puppeteer/lib/helper.js:95:27)
    at Page.reload (/home/lululombard/Workspace/RedCraft/CloudProxy/node_modules/puppeteer/lib/Page.js:488:48)
    at Page.<anonymous> (/home/lululombard/Workspace/RedCraft/CloudProxy/node_modules/puppeteer/lib/helper.js:95:27)
    at resolveChallenge (/home/lululombard/Workspace/RedCraft/CloudProxy/src/routes.ts:112:35)
    at runMicrotasks (<anonymous>)
    at processTicksAndRejections (internal/process/task_queues.js:93:5)
    at request.get (/home/lululombard/Workspace/RedCraft/CloudProxy/src/routes.ts:330:18)
    at Object.Router [as default] (/home/lululombard/Workspace/RedCraft/CloudProxy/src/routes.ts:349:23)

Even with sessions, I can login, browse resources, but not download them:

Ah I see you are using your branch to send a GET request for downloading the file itself:
https://www.spigotmc.org/resources/essentialsx.9089/download?version=343125","method":"GET","download":true
I haven't tried that myself yet. Will have a look at your code and see if something occurs to me ;)

So I've been trying to do some retries, I also got the net:ERR_ABORTED, so I tried to debug CloudProxy by running Chrome in a non headless mode, and it actually asks to download the file. I'll play arround and maybe add support for files that get downloaded after a redirect, because I think this is where the issue is

Update!
By adding this to routes.ts I am able to download files:

Chrome says it failed and will keep the temporary download name in my downloads folder, but it's the right md5, I can rename the file with the correct extension and it will work, so that's good progress. I'll continue working on this and hopefully have a PR ready in a few hours

Yes, I saw that Page.setDownloadBehavior when googling for Puppeteer file download yesterday. Good job :)

@lululombard Wait so will this download the file to the downloads directory?
That's probably better than the base64 encoded buffer solution I was using but I wonder how this would work with the Docker? Tbh I barely even use the Docker file so I might add a pole to remove it if no one else is making use of it.
The only reason I've been using ENV variables to pass things to the script is because of Docker. I'd much rather use CLI flags or a config file or something.

@NoahCardoza I'm using the tmp package to set a download directory, it works with Windows, macOS and Linux from my testing. I'll try with Docker once I'm sure that I don't need to make any changes to the code :)

Ah, so you can set the directory! Good. We might be able to work it like this:
Save the file to the tmp dir, and then return a url rather than the file in the json. Then they can use that url to download the file from the tmp dir and after serving the file it will be deleted?

Right now I'm returning the base64 from the file like before, and deleting the temporary file and folder when CloudProxy replies, but yes we can do anything we want :)

I think the idea I just purposed would be the best general solution, since it wouldn't be a good idea to encode larger files into JSON.

Like if someone wanted to download a video or even a large photo.

Indeed, for now I'll still work like this, I'm downloading files of 3-4 MB and it works, but sure we'll probably hit a limit. I'll continue working on this though :)

Great!

Sorry I kind of got off track. I have something working but not in a final state, and I'll probably not update it. That said, it's available here: https://github.com/lululombard/CloudProxy/tree/feature/download-redirect-support


mounting sys:rw with custom exported image forces logout

Issue description
I am using kubedee to quickly bootstrap a K8s cluster.
after reading Kubedee scripts, it looks like the process has two main phases :

create a custom LXD image based on ubuntu:20.04. Some tools are installed and then the image is published
create nodes based on the custom image.

When Kubedee is creating nodes based on custom image, it tries to mount sys:rw which is what causes the system to crash.mounting as ro does not cause any problems.
Steps to reproduce
with kubedee
KUBEDEE_DEBUG=1 kubedee up test --kubernetes-version v1.22.1

without kubedee

assuming kubedee up has ran once and custom image kubedee-container-image-v0-7-0-66-g34ea3c3-dirty is available
launch a container

lxc launch \
  --profile default \
  --config security.privileged=true \
  --config security.nesting=true \
  --config linux.kernel_modules=ip_tables,ip6_tables,netlink_diag,nf_nat,overlay \
   kubedee-container-image-v0-7-0-66-g34ea3c3-dirty c1

set container config

lxc config set c1 raw.lxc  'lxc.console.path=none
lxc.apparmor.profile=unconfined
lxc.apparmor.allow_nesting=1
lxc.apparmor.allow_incomplete=1
lxc.mount.auto=proc:rw sys:ro cgroup:rw:force
lxc.cgroup.devices.allow=a
lxc.cap.drop='

restart container

lxc restart c1

Information to attach

[x] Any relevant kernel output (dmesg)

kernel-output.txt

[x] Container log (lxc info NAME --show-log)

container-log.txt

[x] Container configuration (lxc config show NAME --expanded)

container-config.txt

[x] Main daemon log (at /var/log/lxd/lxd.log or /var/snap/lxd/common/lxd/logs/lxd.log)

main-daemon-log.txt
Required information

Distribution: Arch Linux
Kernel : 5.13.13-arch1-1
The output of "lxc info"

lxc-info.txt

Closing as anything coming from raw.lxc is unsupported. The config described here completely disables all security on a privileged container. Such a container is able to do anything it wants to the host system, access any data it wants and reconfigure any device which is likely what's causing issues here.

Basically:

lxc.console.path=none (exposes the host's /dev/console to the container, potentially allowing things like tty reconfigs)
lxc.apparmor.profile=unconfined (disables all apparmor profiles and namespaces, causes host apparmor profiles to apply to procsses inside the container)
lxc.apparmor.allow_nesting=1 (meaningless given the above)
lxc.apparmor.allow_incomplete=1 (meaningless given the above)
lxc.mount.auto=proc:rw sys:ro cgroup:rw:force (allows full write access to /proc, too little access to /sys (missing /sys/class/net as read-write) and forces /sys/fs/cgroup to be pre-setup conflicting with systemd's own setup)
lxc.cgroup.devices.allow=a (allows all devices to be created, makes it possible to intentionally or accidentally access or corrupt all system drives and attached devices)
lxc.cap.drop= (disables all dropped capabilities, causing the container to get the ability to reconfigure the Linux Security Modules as well as reconfigure system time and load kernel modules)

@stgraber thanks you so much for your detailed feedback; this makes things much more clear.

@stgraber one thing that stood out to me was that these steps worked with ubuntu:20.04 image

launch a container

lxc launch \
  --profile default \
  --config security.privileged=true \
  --config security.nesting=true \
  --config linux.kernel_modules=ip_tables,ip6_tables,netlink_diag,nf_nat,overlay \
   ubuntu:20.04 c1

set container config

lxc config set c1 raw.lxc  'lxc.console.path=none
lxc.apparmor.profile=unconfined
lxc.apparmor.allow_nesting=1
lxc.apparmor.allow_incomplete=1
lxc.mount.auto=proc:rw sys:ro cgroup:rw:force
lxc.cgroup.devices.allow=a
lxc.cap.drop='

restart container

lxc restart c1

this makes me wonder if taking snapshot and using the exported snapshot is what might be causing a problem.
essentially, kubedee-container-image-v0-7-0-66-g34ea3c3-dirtyis created by running the following:
lxc launch \
  --storage kubedee \
  --network "${network_id}" \
  --config raw.lxc="lxc.apparmor.allow_incomplete=1" \
  "ubuntu:20.04" "kubedee-container-image-setup"

cat <<'EOF' | lxc exec "kubedee-container-image-setup" bash
set -euo pipefail
export DEBIAN_FRONTEND=noninteractive
apt-get update
# crio requires libgpgme11
# helm requires socat
apt-get install -y libgpgme11 socat
rm -rf /var/cache/apt
EOF
lxc snapshot "kubedee-container-image-setup" snap
lxc publish "kubedee-container-image-setup/snap" --alias "kubedee-container-image-v0-7-0-66-g34ea3c3-dirty"
lxc delete -f "kubedee-container-image-setup"

Do you have any Idea why this happens only when I am using the exported image ?

Just to expand on this - this used to be the case on OpenSUSE Tumbleweed images as well, and stems from systemd's udev being a little too grabby (I used to have a link to the specific systemd commit, where Lennart outright states that sys:rw in containers is an unsupported case) - if you can neuter (through masking, maybe?) udev during the image's build without compromising on Kubedee's goal, it might get you closer to solving your issue.

@zer0def I looked into it a bit more, so these were my findings:

I could not replicate the problem on another machine that was provisioned with the exact same scripts; the only difference was the on the machine without the problem, I am using refind as bootloader and on the faulty system I am using grub.
it looks like it's not a kernel panic; it seems like X server is crashing. I modified boot parameters set RunLevel to 3; and tried to create a K8S cluster with Kubedee, it worked without a problem then. It seems like there is a service in graphical.target that might be the culprit or it might be an issue with faulty X server config.

Definitely not a kernel panic, I would lean towards the container, under the assumption that it's the sole init on that boot (there are no additional checks being made after /sys is found as rw), invasively poking somewhere between TTYs, DRI and the framebuffer, potentially yanking out the GPU from underneath your host's Xorg session.

@zer0def do you think it may have something to do with the fact that the faulty system has an Nvidia GPU ? there might be something wrong with the nvidia GPU driver I have installed. That system is running a Ryzen 9 with AMD integrated graphics and an Nvidia GPU.

That's possible. When running a full writable /sys, udev in the container will trigger new uevents for every device on your system. Depending on how udev on the host then behaves, it could re-initialize some hardware and cause this kind of issues.

I would start by investigating Xorg.log and dmesg as soon as you are crashed out to get a better picture. I don't have a good post-mortem from when I was encountering this issue, but it did "automagically solve itself" over the course of updating container image bases and the host system, which is utterly unhelpful as aid and guidance.

@stgraber @zer0def your help has been invaluable. thank you. I will update this thread if I find a surefire way to fix this as others may encounter the same issue.

It looks like it was the GPU setup. The faulty laptop is a Lenovo Legion Slim 7 ( gen 6 ). In the bios, it has two graphic card settings: Discrete Graphics and Dynamic Graphics. By default, it was using Dynamic Graphics mode. I switched to Discrete graphics and the error went away.

Glad you managed to sort it out - considering my host is Arch as well and that I had this occurrence sometime during the spring this year with Tumbleweed, you may want to try changing the base image, for example, to ubuntu:21.04 or a different distribution base entirely - it would narrow down the source of the issue, though time-wise it leans towards being an unfortunately buggy version of systemd in the container image.

@zer0def I tried multiple ubuntu images ( I couldn't do it with Kubedee, so I manually made a profile with sys:rw and launched different images ); it was the same thing.
Basically, it turns out that by using optimus-manager, I can avoid this problem. This problem only happens when the profile is in the hybrid mode;  setting the profile to integrated or nvidia would resolve the problem; keep in mind that in the bios setting, you have to choose Dynamic Graphics as Discrete Graphic option makes X freeze.
To test the theory on systemd, maybe I will try launching an image based on Alpine ( since it doesn't use systemd ) and see if it crashes X or not;
There is another problem that occurs when switching profiles through optimus-manger, after the logout, I am seeing this error
❯ lxc ls
cannot change profile for the next exec call: No such file or directory
snap-update-ns failed with code 1

I think this is something that might affect all Snap packages. I need to do more research.

@zer0def It looks like you are correct. I created a profile called kubernetes:
❯ lxc profile show kubernetes
config:
  linux.kernel_modules: ip_tables,ip6_tables,netlink_diag,nf_nat,overlay
  raw.lxc: |-
    lxc.apparmor.allow_incomplete=1
    lxc.apparmor.profile=unconfined
    lxc.cgroup.devices.allow=a
    lxc.mount.auto=proc:rw sys:rw cgroup:rw
    lxc.cap.drop=
  security.nesting: "true"
  security.privileged: "true"
description: LXD container for Kubernetes
devices:
  aadisable:
    path: /sys/module/nf_conntrack/parameters/hashsize
    source: /dev/null
    type: disk
  aadisable1:
    path: /sys/module/apparmor/parameters/enabled
    source: /dev/null
    type: disk
  mem:
    path: /dev/mem
    type: unix-char
name: kubernetes
used_by:
- /1.0/instances/c1

applying this profile to my alpine container did not cause X to crash.

I've decided to take a look at udev's source between Ubuntu's 20.04 and 21.04 releases (systemd v245 and v247, respectively) and, barring distro-specific patches, bumped into these two commits that may be of relevance:

https://github.com/systemd/systemd/commit/5abee64ed40039404d68414f0189245988635e6c (shipped with v246, which also happens to be the major version packaged with ubuntu:20.10, image is still available)
https://github.com/systemd/systemd/commit/b8380cc67a738cb7ec68ac03bb128b90d542d53a (less likely, since it relates to block devices, shipped with v247)

along with removal of dev_setup() in udevd.c's main function and a bunch of additions.


Fix more undefined behaviors in if_python

Fix remaining UBSAN errors from Clang 17 in if_python in casting function pointers.
Also fix a mistake where PyMem_Free() should be returning void, by the dynamic build is mistakenly casting it as a function that returns an int.

thanks. I did started to work on it yesterday, but some of the function signatures were way over my head :/

Ah. Sorry for the scheduling conflict.
I think the key is just to not cast any function pointers (since any casting is undefined behavior) and just use the same functions as defined and then fix it to work when it fails to compile.

No no, I appreciate taking an active role here :) Thanks!


OCSP CertStatus Info Again

Thanks for the last update which resolved the generalized time issue.
However, when parsing OCSP Response, it still interprets the cert status data as unknown or unparsable objects. It was tested with the same gist as provided https://github.com/fgrosse/PHPASN1/issues/41 .
According to the RFC6960, the ASN.1 structure of OCSP response should include the following.
CertStatus ::= CHOICE {
good        [0]     IMPLICIT NULL,
revoked     [1]     IMPLICIT RevokedInfo,
unknown     [2]     IMPLICIT UnknownInfo }
RevokedInfo ::= SEQUENCE {
revocationTime              GeneralizedTime,
revocationReason    [0]     EXPLICIT CRLReason OPTIONAL }
https://tools.ietf.org/html/rfc6960#section-4.2.1
Is this non-standard, so you don't support it, or was it not just implemented?
Hope your library can decode and encode these too as I am considering making an OCSP Responder with pure PHP, and your library is a great tool to help me reduce tremendous amount of work.
Thanks.
Additional Reference : https://gist.github.com/korusdipl/eeb27b36efdac5c7045f

In general OCSP is not in the focus of this API. However I did already start to support some of the structures from the X509 standard so I would not say no in general but I wont make any promises on that.
Since you know the structure of the OCSP Response from RFC 6960 you can already parse it using PHPASN1:
I wrote a little bit of example code for you in examples/Issue43.php which produces the following output on an example OCSP response:
OCSP response status: 0 (Response has valid confirmations)
ResponseType: Basic response (<IP_ADDRESS>.<IP_ADDRESS>.1.1)
Response (octet string):<PHONE_NUMBER>5EA120301E311C3009060355040613025255300F06035504031E080054006500730074180F32303135303731363137353432315A302930273012300706052B0E03021A0401010401010201018000180F32303135303731363137353432315A300B06092A864886F70D01010503820101006E41D713A7860CE0A6C9ECA5677D73878B21E398D575E5EEAD8350EDA41A38B859B057B560CC12FED040EF7FF1D7AF9B258D4C596449C6E188C3C811FA044BA0325BC959BBD68E376B4CB2C823FC4BFDF87F80D99D961D075E0EDBFB012DA661AFFB7B751CB1BEB7A40981731803639E5E1F09A2BC17D921617A4636F3B89D14C73E8DBEB5441E55B3D8A134D67FFBA9B7306C7C7C9EED6CFC876CC051BD89E3E6E6C4EC1CFB1BBEC310E597E4BE4B8BFEDE5694B38D95162E9CE038372B5FDA550865B6739C1D1DBD01B8BE6D45F4840472FD55D1A5340FF654F3523B9523E53C4BFF0CC4C4A35BDE3D366F1AFF12D4AFA47830FF6DFC0CDB677AEB755F9ADFA08202CA308202C6308202C2308201ACA003020102020101300B06092A864886F70D010105301E311C3009060355040613025255300F06035504031E080054006500730074301E170D3133303230313030303030305A170D3136303230313030303030305A301E311C3009060355040613025255300F06035504031E08005400650073007430820122300D06092A864886F70D01010105000382010F003082010A0282010100B05973FF7CA59A4FBCB8FE3FC7AD54581962A96D3CFF58CC03CDD08F6CAE080BE13219AEABC06FC963F88E75E8C53CB78936450D7223E558361651D69DAD1332C5398E59AFF16FE6BBD537FAAEE2D7EDF7F49AC4664AC32CD0E9276DE0A8A0600B539A347EFEBE2701466A0FE648F65FAD9731A293E53305059CD3B5217B21A523B7D4955D08C6DDA1C8CBB0F598ECA9BC4C382D24BE46FBC94DECD241E0A82E95FB1F38919E85543642566472F6C06E6B6FF489CE95F01E445AED1DB9D2F37C4C5B524ACA78617CCAE9A92CFEA931449D549012D40199516AC503FB3BBC8324C8CF4B0D805ACEB71F043B38D946227FBC18953A7F3C06B7F88B40FE7D55E6250203010001A30F300D300B0603551D0F040403020002300B06092A864886F70D01010503820101005FB9B28F4EF9831AB0F1A2A09B3F01683D10B4493C0F2F6195F1FE6C0FF49BC9CD0DA097728143B60EFAAE1869F9E942427CBA35BBA0E7E33BAE0ECDE6EA27FCE874E901FF59DDAEF6A24D93A2BFCD17062DFAF0CEAC56391786D70D991FBB8CEE0CB9A3A63DBA0E4E2D7B7055A21B0B4D76EF2796BF4D3D956A7C0D3B2C7CE655CFC72DD5F11AF50309661D9A330C36D419B7BF9E850324280C8EF68A2AF2F2908848716FA0E96ED239C2917E5C391FC9330EFF35E9714E0D20B75F5530A37695CBD76EFF4987FA0E07BF2555A653BDD2D7681C3D601D4319C2E7A7E1D6D3CE15AFE1DB4B15E95633994659B2C45A7EE426085C960231BF5D27906C9FAE8C2D

Please note that this does no propper error handling and all. In general I would advise an approach that defines the whole structure as a class. Have a look at the X509 implementations.

Thanks for the advice.
I will look into it.


bumped hyperopt dependency

This change also makes the dependency on hyperopt and numpy more generous for newer releases.
Motivation: we have a failing build of this package in NixOS because the hyperopt and numpy dependencies have moved forward a bit (see this build log).

@lamroger @weikaolun: Does this look reasonable to you?

Hi @urbas thanks for the contribution! We're evaluating the change and will get back to you soon.


Allow users to set the send flags used by send/sendto via BIO_ctrl

These sets of patches adds a new ctrl to BIO_ctrl, BIO_CTRL_DGRAM_SET_SEND_FLAGS, which allows users to set the socket flags used by the send/sendto calls.
The main use case here is for the user to be able to set the MSG_NOSIGNAL flag, but instead of only adding support for that I thought that it was cleanest to just add support for the flags in general so we don't have to add new ctrls in the future if another flag might be interesting to use.
Many applications that use OpenSSL like e.g cURL have to make extra syscalls to disable and enable the SIGPIPE signal between each call to SSL_read and SSL_write since there are no way to set the MSG_NOSIGNAL flag in the current version of OpenSSL so this addition have quite useful benefits.
I have signed and sent in a CLA to legal so that part should be cleared.

Yes I noticed that the BIO_ctrl command was basically undocumented and that is why I didn't add any. Any good idea on which page to add documentation for this, or should this simply be the launch of a new page for BIO_new_dgram?

I should probably add it to bio_new_socket as well?

I should probably add it to bio_new_socket as well?

Hmm. Yes. Although that actually raises the question - is this ctrl named correctly. The "DGRAM" in the ctrl name implies it is specific to the dgram BIO - but actually its not. Maybe just BIO_CTRL_SET_SEND_FLAGS?

Could be, I was looking over the other CTRL:s and some that where used by sockets was named DGRAM so I  kept that name but I can change it to be more neutral, no probbs.

Fixed that one now, boy what a mistake. I'll look at the other BIO:s now that the style of the doc has been approved. Btw you mentioned a test for this, I'm not entirely sure how such a test would work since there is really no feedback from the syscalls that a flag was indeed set. I couldn't find any tests for the other ctrl:s but perhaps grep just failed me there.

I have now added a man page for the datagram / dgram BIO with as much info as I think that I understand what it does and why.

Looks great. Thanks for providing the dgram documentation!

We are going to need some kind of a test for this.

Just a reminder about this comment from above.

Yes, not forgetting about a test, just trying to come up with how to test this.

Looking at the Linux flags, MSG_NOSIGNAL with one end closed looks like a decent way to check.  It's pretty old (2.2 kernels) and can be deterministically set up.  MSG_OOB also seems like a reasonable candidate, it's older and ought to be deterministic but isn't always available.

Ok, so I should create and launch a server and a client, complete a TLS handshake and then set a flag, close one end of the connect, do a send and check that no signal was sent. I will have a look at that.

Ok, so I should create and launch a server and a client, complete a TLS handshake and then set a flag, close one end of the connect, do a send and check that no signal was sent. I will have a look at that.

It may not even be necessary to complete a TLS handshake. Just create a server socket and a client socket and send data between them.

This is touching the same parts of the code that #8962 is -- I suspect that we could restructure things so they are a more natural fit with each other.
I am not sure off the top of my head if having b->flags in the struct bio_st is best for both changes and whether any TFO changes can be rolled into writesocket(), but it really seems worth taking a closer look at how the two would relate.

This needs an make update to be done with the generated diffs added as a new commit.

Not sure that I'm missing here but I did a "make update" and it didn't change anything, git dfiff shows the exact same data as I've already commited above.

Not sure that I'm missing here but I did a "make update" and it didn't change anything, git dfiff shows the exact same data as I've already commited above.

See the check_update CI run result - the newly added BIO_s_datagram manpage should trigger a build.info update.

I think that all the requested changes for the documentation should be done now. Still left to do is the unit test.


add an optional runId to attach to running tasks over the API

If no runId is specified, one is generated.
CC @jhaber @also

Fixes #666


Render command log level

Description
When invoking levant with the render command, it behaves as if the flag -log-level debug was set.
Trying to explicitely set the flag causes the program to print the help message and exit with code 1
In my user case I'm running levant in a Jenkins job and injecting some sensitive data in the template: to prevent said data from being exposed I would need to hide the output by setting an higher log level like it can be done when calling levant deploy
Output of levant version:
/usr/bin # levant version
Levant v0.2.2
Date: 2018-08-06T09:05:20Z
Commit: df0fe5759617805430bd847d9d445ff9a65b01c6
Branch: 0.2.2
State: 0.2.2
Summary: df0fe5759617805430bd847d9d445ff9a65b01c6

thanks @sblargaba; i'll take a look into this shortly for you.

hi @sblargaba the render command doesn't have a logging level flag because it only either print an error when performing the render or the rendered job file.

Hey @jrasell the behaviour you're descripting is correct for the render command when considering the stdout but it would appear that the logging messages happens on the stderr.
I also forgot to add that I'm using the -out flag to write into a file, which appears to redirect the stdout
For more clarity this is what I'm running within the docker container
levant render -var-file=ops/parameters/ci.yml ops/nomad/execute-command.hcl
json logging level info on stderr, rendered file on stdout
levant render -var-file=ops/parameters/ci.yml -out /tmp/test.hcl ops/nomad/execute-command.hcl
json logging level info on stderr, rendered file on /tmp/test.hcl

Right now I'm redirecting the stderr to /dev/null to avoid exposing secrets, but I'd loose any error message that way

Hey @jrasell  !
I say the same , when doing a levant render there's no way to avoid all that big output, it goes to stdout and also stderr...so I'm also using &> dev/null.
But if an error happens I won't be able to detect it.
Could a fix be implemented?
Thanks!


Provide explicit NCBI name space in associatedSequences

"In the gomecc data, we provided the NCBI identifiers (e.g. PRJNA887898) but there is no indication of the namespace, e.g. "https://www.ncbi.nlm.nih.gov/bioproject/PRJNA887898/", to make it easy for non-experts (and future experts) to know what this identifier refers to

Addressed in newest version of Jupyter notebook.


Missing "create-call" endpoint for creating web calls

The sdk is missing the ability to call create-call endpoint for creating web calls. We need the create-call endpoint in order to use the new version of the client sdk.
I'd be willing to create a PR to add this in but since the api isn't documented anywhere that I can find I'm not 100% sure of what the details for the parameters would be.  Also it's naming sort of conflicts with the existing call.create function that is purely for creating phone calls and not web calls.

We are working on adding the documentation and updating SDK for that. Should be finished within 2 days.

https://docs.retellai.com/make-calls/web-call
https://docs.retellai.com/api-references/create-web-call
Docs updated, new server SDK released with the new spec. Appreciate the patience.


[FEATURE] - Add responsive view to the homepage

Task

[ ] Add a responsive view to fit both mobile & PC devices
[ ] Remove Sidebar on mobile responsive and replace it with a header
[ ] You can change the theme if you'd like but themes must be reviewed first before shipment

Thanks so much and don't forget to check out the Contribution guidelines  it's the only way to make sure you aren't violating what the terms state

Please can you assign this task to me

Please can you assign this task to me

Okay but make sure to read 👉 Contribution Guidelines 👈

@avezqureshi14 Hi are you working on the issue

@avezqureshi14 if the issue is not worked on in the next 14 hours I'm afraid I'll assign it to someone

yeah @creative-tutorials  i m ready to do this, Sorry for replying later

yeah @creative-tutorials  i m ready to do this, Sorry for replying later and I had even started working on this issue

Okay you've been assigned to the issue #22

Sir when I tried running this site in my local it is showing numerous errors and I even tried to debug them but most them are kept occuring

Sir when I tried running this site in my local it is showing numerous errors and I even tried to debug them but most them are kept occuring

Some errors are caused by issue fetching the data from the API, can you screenshot the error it's showing

@avezqureshi14 are you still facing issues


[TRIVIAL] Redact validator token from cleaned config (RIPD-1422)

cc: @johannakate

Codecov Report

Merging #2125 into develop will decrease coverage by <.01%.
The diff coverage is n/a.

@@             Coverage Diff             @@
##           develop    #2125      +/-   ##
===========================================
- Coverage    68.98%   68.97%   -0.01%
===========================================
  Files          684      684
  Lines        50394    50394
===========================================
- Hits         34764    34760       -4
- Misses       15630    15634       +4

Impacted Files
Coverage Δ

src/ripple/basics/DecayingSample.h
77.77% <0%> (-8.34%)
:arrow_down:

src/ripple/server/impl/BaseWSPeer.h
67.5% <0%> (-0.63%)
:arrow_down:

Continue to review full report at Codecov.

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

Merged as da7da5527ce5d14d5232d13e2f905c3df4c570a6


0.10 Timestamp Support

This is our take on v 0.10.x support (message timestamps).
It basically implemented what @dasch mentioned in https://github.com/zendesk/ruby-kafka/issues/270#issuecomment-242332398, plus FetchRequest also has api_version set to 2.

:heart:

I think this looks good. I'd like to park it here until I have a better sense of when ruby-kafka will start officially supporting the new Kafka 0.10 protocol, at which point I will probably abandon support for Kafka 0.9.

It should be possible to support both 0.9 and 0.10 at the same time right?

@thijsc not easily, I'm afraid. Only in version 0.10 did Kafka introduce a way for clients to discover broker versions, and even then it's a bit arduous.

Right. I do know other clients offer a configuration option for this. Is that an option you would consider?

Not at the moment - the other clients do this by having the user configure the protocol version manually, which I think is problematic. Once ruby-kafka moved to only support 0.10+ sometime in the future I will revisit this.

@dasch any news on when this can be merged?

Once I'm in a position to thoroughly test ruby-kafka against 0.10 I'll create a stable branch for 0.9 support and move active development to 0.10. Hopefully within the next few months.

can anyone show me the proper config for that??

@hoanhp I'm not sure what you mean...

@dasch  sorry for my poor English.  I mean can you tell me how to custom kafka-broker's config to add timestamp into each message??

@hoanhp it's not currently supported by ruby-kafka – it will be in a future release targeting Kafka 0.10+.

@yingnanliu can you rebase this on the latest master?
I've switched master development to target Kafka 0.10 – compatibility with Kafka 0.9 will happen in the v4.0-stable branch, and only include bug fixes and security patches.

@yingnanliu I hope it's okay if I take over this branch – I'd like to get this merged sooner rather than later.


How to remove paddings in the widget

I have 3 search_choices, I noticed that if the widget has loaded list but has no data selected it is without padding(like: select province on the screenshot). If I select some item widget now has padding on the top and bottom(country dropdown on the screen.) And if dropdown doesn't have any data and is disabled it also has top and bottom padding. Is there any possibility to get rid of them and make the same height for all dropdowns?

Hello @geriby23 ,
Indeed, there is a difference in the padding. Here is a way to work around this:
SearchChoices.single(
        items: items,
        value: selectedIValueSearchChoices_issue_9,
        hint: Padding(
          padding: const EdgeInsets.all(0.0),
          child: Text("Select any",style: TextStyle(fontSize: 16,color: Colors.grey,),),
        ),
        disabledHint: Padding(
          padding: const EdgeInsets.all(0.0),
          child: Text("Disabled",style: TextStyle(fontSize: 16,color: Colors.grey,),),
        ),
        onChanged: selectedIValueSearchChoices_issue_9=="lorem ipsum"?null:(value) {
          setState(() {
            selectedIValueSearchChoices_issue_9 = value;
          });
        },
        selectedValueWidgetFn: (item) {
          return (Padding(
            padding: const EdgeInsets.all(0.0),
            child: Align(
              alignment: Alignment.centerLeft,
                child: Text(item.toString(),style: TextStyle(fontSize: 16,color: Colors.black,),)),
          ));
        },
        style: TextStyle(fontSize: 16),
        underline: Container(
          height: 0.0,
          padding: const EdgeInsets.all(0.0),
          margin: const EdgeInsets.all(0.0),
          decoration: BoxDecoration(
              border:null
          ),
        ),
        isExpanded: true,
      );

I would like to warn you that search_choices is also affected by the menu mode not working on hosted web.

Hi @lcuis ! Thanks, it really helped me to get rid of that padding =).
Is this bug something serious? Will there be updated to this library with a working menu?

My pleasure @geriby23 !
The hosted web menu issue is known and confirmed only recently. It is difficult to investigate and test as it requires the deployment on a hosting solution without debugging. I'm not sure when I will have time to solve it (if it is me solving it).

Hello @geriby23 ,
I just updated search_choices plugin in GitHub and pub.dev with a fix for the bug that prevented menu to open when on hosted web.
The weird thing is that apparently, passing a list of bool as an argument allows to update the bool from the called function and this updates the value from the calling class perspective in Android+iOS apps, Android Studio web but not hosted web.
I had to replace this listed bool by a fake pointer class (PointerThisPlease) and it now also works on hosted web.
I will also propose an update with this fix on the searchable_dropdown plugin after some testing.

I have just read your message on the searchable_dropdown channel. Great job man! So searchble_dropdown is now more reliable? Should I move back to that widget?

My pleasure!
You can move back to searchable_dropdown but the fix is not yet published to pub.dev . Nor is it merged to the master branch. So, you would have to find a way to get the plugin from the PR which may not be ideal if feasible. Or you can wait for the fix to be merged and deployed there. In the meantime, search_choices should work fine if nothing crazy happens (I have no such plans lately).


Cannot read XLS file

When i try to read this file, i received the error "invalid file signature", Can anyone help me? Thanks
0000023543.xls

It's in an older XML based format that is not supported by ExcelDataReader.
Duplicate of #306.


Repeater uses recursive calls?

When rendering a large list in a repeater (3.0.0-wip) I get a "maximum call stack size exceeded" because something is recursive that perhaps shouldn't be. Can't show the page, but here's the error
Uncaught RangeError: Maximum call stack size exceeded jquery.min.js:3
m.extend.buildFragment jquery.min.js:3
m.parseHTML jquery.min.js:4
m.fn.init jquery.min.js:2
m jquery.min.js:2
$.fn.repeater.views.list.renderer.nested.nested.render fuelux.js:5114
proceed fuelux.js:4666
callbacks.before fuelux.js:4609
proceed fuelux.js:4668
start fuelux.js:4672
loopSubset fuelux.js:4590
(anonymous function) fuelux.js:4593
callbacks.complete fuelux.js:4658
$.fn.repeater.views.list.renderer.nested.nested.complete fuelux.js:5110
proceed fuelux.js:4666
(anonymous function) fuelux.js:4636
(anonymous function) fuelux.js:4595
callbacks.complete fuelux.js:4658
callbacks.after fuelux.js:4653
$.fn.repeater.views.list.renderer.nested.nested.nested.after fuelux.js:5158
proceed fuelux.js:4666
callbacks.render fuelux.js:4626
$.fn.repeater.views.list.renderer.nested.nested.nested.render fuelux.js:5171
proceed fuelux.js:4666
callbacks.before fuelux.js:4609
proceed fuelux.js:4668
start fuelux.js:4672
loopSubset fuelux.js:4590
(anonymous function) fuelux.js:4593
callbacks.complete fuelux.js:4658
callbacks.after fuelux.js:4653
$.fn.repeater.views.list.renderer.nested.nested.nested.after fuelux.js:5158
proceed fuelux.js:4666
callbacks.render fuelux.js:4626
$.fn.repeater.views.list.renderer.nested.nested.nested.render fuelux.js:5171
proceed fuelux.js:4666
callbacks.before fuelux.js:4609
proceed fuelux.js:4668
start fuelux.js:4672
loopSubset fuelux.js:4590
(anonymous function) fuelux.js:4593
callbacks.complete fuelux.js:4658
callbacks.after fuelux.js:4653
$.fn.repeater.views.list.renderer.nested.nested.nested.after fuelux.js:5158

So what happened with this issue? I'm reporting it here, I debugged the repeater using data with 485 items and it get slower each time it renders a new line but it cannot finish all the lines because I get the error "RangeError: Maximum call stack size exceeded". It seems to be doing a lot of recursive calls, something it's not being informed to the functions because it seems to have a verification for repeated calls.
Sorry for my bad english.


Addressing Install fails while parsing go.mod #77

The go install github.com/google/gnostic-grpc@latest command in the readme fails with the error:
go install: github.com/google/gnostic-grpc@latest: <EMAIL_ADDRESS>parsing go.mod:
	module declares its path as: github.com/googleapis/gnostic-grpc
	        but was required as: github.com/google/gnostic-grpc

I'm not sure why go install github.com/google/gnostic@latest still works.

@jxmallett the problem you are experiencing, is due to v0.1.1 not having the correct value in go.mod.
@timburks should there be any reason to not create a new release, with the new and correct go.mod?

Closing this. I think it works now.


Minor bug with schema dumper and multiple dimensions

I've installed the timescaledb gem and scenic in order to make sure that our existing hypertables are correctly reflected in the schema.rb file.
Unfortunately, that didn't work; I got this error:
NoMethodError: undefined method `column_name' for #<ActiveRecord::Associations::CollectionProxy [#<Timescaledb::Dimension hypertable_schema: "public", hypertable_name: "telemetries", dimension_number: 1, column_name: "created_at", column_type: "timestamp without time zone", dimension_type: "Time", time_interval: 7 days, integer_interval: nil, integer_now_func: nil, num_partitions: nil>]>

Digging into it a little bit more, it looks like there's a minor bug in the schema dumper; we're looking for hypertable.dimensions, but we're treating it as a single object instead of the CollectionProxy it returns.
I fixed this locally by using hypertable.dimensions.first, but maybe hypertable.main_dimension is a better approach? I'll submit a PR shortly and then I'm happy to tweak as required.

Thanks for reporting and providing the fix @stevehill1981! I think I messed it when I introduced has many dimensions. I'll provide a new release soon!


How to build with vpp API changes?

How does one build this if one has vpp API changes on top of a release (19.08.01 in my case)? I've put serious effort into trying to figure out how to get a vpp-agent updated with the API changes for 1908, but ultimately failed. The go dependency foo is very confusing and hard to figure out.

Hi @choppsv1 ,
thank you for your question.
You can find more information about ligato and GoVPP projects at following locations:
https://github.com/FDio/govpp/blob/master/README.md
https://github.com/ligato/vpp-agent/blob/master/README.md
-m-

My problem isn't finding vpp agent, it's that it simply didn't work for me, and I tried for many hours to get all the various parts working along with my vpp which had local API changes.
I have seen a PR #12 that sounds like it is trying to remove the dependency on vpp-agent, although I'm not sure how to use it w/o it trying to get vpp-agent.


'NoneType' object has no attribute 'level'

Hi there!
My computer info: Linux 6.10.13-3-MANJARO(64x)
I try to prepare templates like this:
python prepare_templates.py
--target /home/regen/paper_notes/af_unmasked/7ahl.fasta
--template /home/regen/paper_notes/af_unmasked/7dsd.pdb
--output_dir /home/regen/paper_notes/af_unmasked/result
--align
--align_tool tmalign

7ahl.fasta contains 7 same sequences and 7dsd.pdb contains 7 same chains.
The outputs are:
Deleting clashing residues... 0 clashes found.

Aligning target sequence 1 (seq: MKTRIVSSVT...) to template chain A (seq: VQFLQANQES...)
Traceback (most recent call last):
  File "/home/regen/git_develop/AF_unmasked/prepare_templates.py", line 697, in <module>
    main()
  File "/home/regen/git_develop/AF_unmasked/prepare_templates.py", line 661, in main
    alignment = do_align(
  File "/home/regen/git_develop/AF_unmasked/prepare_templates.py", line 355, in do_align
    io.set_structure(query_model)
  File "/home/regen/ana/envs/AF_unmasked/lib/python3.9/site-packages/Bio/PDB/PDBIO.py", line 68, in set_structure
    if pdb_object.level == "S":
AttributeError: 'NoneType' object has no attribute 'level'

It seems that in prepare_templates.py line 413,get_target_data function lets target_models =  [None]*7 since is_fasta is True.
Is it a bug or I input wrong commands?Wish for help.

Hi,
If the target file is a fasta (sequence only), then you should not select TM-align as alignment tool. By default, the script will use a global alignment tool (a bit like BLAST), so you could do just:
python prepare_templates.py
--target /home/regen/paper_notes/af_unmasked/7ahl.fasta
--template /home/regen/paper_notes/af_unmasked/7dsd.pdb
--output_dir /home/regen/paper_notes/af_unmasked/result
--align

If you want to use TMalign, then you need a 3D structure (can be a AF prediction) for each chain in 7ahl, either as one or multiple PDB files

Thanks!That works and makes sense.


Dialog's focus management and work with 3rd party dialogs

Provide your feedback here.
I've encountered problems while trying to use tinymce inside Spectrum's Dialog component.
For some background: the tinymce editor allows you to open the source code editor of a rich text, which opens another dialog, in this case on top of the Spectrum Dialog, that the original rich text editor is in. It seems that the textarea that is inside that new dialog cannot be focused on. Some debugging from my side revealed that right after an attempt of focusing on the new dialog on top, Spectrum's Dialog somehow "forces" the focus to get back on itself. That obviously causes issues with the extra dialog's textarea not being editable or focusable.
There doesn't seem to be any exposed property or way to control or disable the focus behavior of the Spectrum's Dialog component. I would like to spark some discussion whether this is something that Spectrum would like to support in the future - to either give users some freedom in how the focus management works, or to find different solutions for handling nested dialogs.
💻 Code Sample
CodeSandbox presenting the issue here
Version
3.29.0
What browsers are you seeing the problem on?
Chrome
If other, please specify
No response
What operating system are you using?
macOS 13.5.2

This is most likely because our Spectrum Dialog contains focus via FocusScope. Typically we'd allow focus to move to a child FocusScope (aka nested Dialogs) but the tinymce editor isn't using a Spectrum overlay and thus doesn't register as a child FocusScope. I'll bring this up with the team for discussion

Apologies, I forgot to update this issue with the results of our discussion. The team discussed a variety of options previously like allowing users to disable focus management and/or allowing people to specify elements to "whitelist" as valid focusable elements when a FocusScope is active but haven't landed on a solution yet.

If anyone finds a workaround until this becomes supported, please share it with us. 🙂


DIU

dewey international university (kh)
diu.txt

@Hashmi35 Thank you for your patience while waiting for a review and processing your request. Pull request merged. Please start applying for JetBrains educational subscription at https://www.jetbrains.com/shop/eform/students in an hour, to allow the changes to propagate through JetBrains systems.


Must use PostgreSQL and the Sequelize ORM for the database (Create a database)

database created, models User/Book/Comment created, seeded with test data


EnableUniqueCompoundNestedDocs capability does not seem to exist

The specified content references a capability called EnableUniqueCompoundNestedDocs but I cannot see it as an option in the Azure console, nor can I enable it via Terraform or the CLI: https://github.com/hashicorp/terraform-provider-azurerm/issues/19192
Does this capability actually exist? If so, how do I enable it?

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

ID: 839bea7b-b0b0-792c-0e0c-d3ee260a9e31
Version Independent ID: 44cfd449-186f-4759-4768-27a044a18f29
Content: Configure your Azure Cosmos DB for MongoDB account capabilities
Content Source: articles/cosmos-db/mongodb/how-to-configure-capabilities.md
Service: cosmos-db
Sub-service: mongodb
GitHub Login: @seesharprun
Microsoft Alias: sidandrews

Hi @sstone1,
Thanks for sharing this feedback. We will look into this and update as appropriate.

Hi @sstone1,
EnableUniqueCompoundNestedDocs  capability will be added shortly by the team.
Document has been updated for now.
The capability is available, but the ability to use it is yet to be released. We recommend you to raise support ticket to get this enabled for your account if needed immediately.
Thanks again for highlighting the issue and observation.


Fixed sMAPE related learning issues.

Issue #, if available:
Using the sMAPE function in conjunction with a trainer with a learning rate above 1e-4 lead to the models not converging/ learning at all in many cases (i.e. different datasets and different model instantiation like generic vs interpretable etc.).
This is now fixed by stopping gradient flow in the denominator of sMAPE.
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Codecov Report

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

@@           Coverage Diff           @@
##           master     #593   +/-   ##
=======================================
  Coverage   83.68%   83.68%
=======================================
  Files         181      181
  Lines       10339    10339
=======================================
  Hits         8652     8652
  Misses       1687     1687

Codecov Report

Merging #593 into master will decrease coverage by 0.05%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master     #593      +/-   ##
==========================================
- Coverage   83.73%   83.68%   -0.06%
==========================================
  Files         181      181
  Lines       10324    10340      +16
==========================================
+ Hits         8645     8653       +8
- Misses       1679     1687       +8

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@3297a9a). Click here to learn what that means.
The diff coverage is 100%.

@@            Coverage Diff            @@
##             master     #593   +/-   ##
=========================================
  Coverage          ?   83.68%
=========================================
  Files             ?      181
  Lines             ?    10340
  Branches          ?        0
=========================================
  Hits              ?     8653
  Misses            ?     1687
  Partials          ?        0

Impacted Files
Coverage Δ

src/gluonts/model/n_beats/_ensemble.py
87.23% <100%> (ø)

Codecov Report

Merging #593 into master will not change coverage by %.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #593   +/-   ##
=======================================
  Coverage   83.73%   83.73%
=======================================
  Files         181      181
  Lines       10324    10324
=======================================
  Hits         8645     8645
  Misses       1679     1679


Odamex - Update to 10.3.0

Just updating the Odamex build script to use the most recent release.

Ah yep, didn't catch that that needed changing too. Just wanted to make sure people using this could connect to the updated servers!


ajax docs are scarce

Documentation Related To Component:
ajax
@ https://rxjs.dev/api/ajax/ajax
Please check those that apply

[ ] typo
[x] documentation doesn't exist
[x] documentation needs clarification
[ ] error(s) in example
[ ] needs example

Description Of The Issue
Currently this page says:

There is an ajax operator on the Rx object.

Which is obsolete, and not quite useful.
I'd suggest something like:

A set of Observable wrappers around DOM XMLHttpRequest.

Also, IMO, the page should list all available methods with a short description.
Thanks!

FWIW, Ben added docs in his refactor - #5618 - but these won't show up until v7 is released.
To update the current docs, similar TSDoc comments would need to be added to the 6.x branch.

Hi, Nicholas!
Nice, I see there's a bunch of doc comments for methods added, thanks!
Yet, it seems, the "There is an ajax operator on the Rx object" (which feels Shakespearian, btw 🙂) is still there in v7 — though I'm not sure how that affects/relates to resulting docs (if it will even show up).

If there are parts of the docs that are out-of-date, feel tree to submit a PR to update them or remove the out-of-date content.


Translations v2

This PR overhauls the way translations work in the app in order to not be hardcoded to specific languages but load dinamically.
NOTE: This PR requires changes from latest Carpet commits (JSON handling), but doesn't currently work with the latest (some other functionality of the app also doesn't work properly, caused by gnembon/fabric-carpet#657. It loads though). In order to test it you can use my temp-wetranslationspr-compat branch, which basically reverts the commit that causes the issue until it's fixed in upstream. Check Actions if you prefer a pre-built jar.
As a summary, this PR:

Changes translations to be stored in JSON instead of Java Properties
Removes hardcoded list of languages to be dynamically generated from the list of available language files
(Re?)Adds a page with a list of languages when running /world-edit lang without arguments
Regenerates the en_us language file on startup to be usable as a template to create other languages (async, cause why not)
Sadly messes up the spaces in the it_it language file (it was a lot worse, but I was tired after reordering all language keys)
Fixes the % symbol being required to be passed as a param: To escape it in Java, you need to use %%

The app will log whenever a translation string that is going to be used is not found instead of when loading language (cheaper to load).
It also fixes the selection not being properly displayed in the help menu since Selection v2.
New/touched untranslated lang strings:

All inside langs_*

Look, I know you don't like prolonging prs, but imma wait on this one. If you want, you keep on working on this one without updating from master, and Ill fix conflicts right when merging. This is cos im super busy personally, also cos I dont like having to depend on unreleased versions of fabric-carpet, especially as the split() bug is still in there as of now, and idk when its gonna be fixed. Ill mark this as a draft till then.

Look, I know you don't like prolonging prs, but imma wait on this one. If you want, you keep on working on this one without updating from master, and Ill fix conflicts right when merging. This is cos im super busy personally, also cos I dont like having to depend on unreleased versions of fabric-carpet, especially as the split() bug is still in there as of now, and idk when its gonna be fixed. Ill mark this as a draft till then.

Don't worry, it makes sense.

Don't worry, it makes sense.

Ill merge when next release of fc comes out which adds the json stuff.

Ill merge when next release of fc comes out which adds the json stuff.

Would you mind editing collaborate.md to describe how to add a translation and properly use the _print() command?

Would you mind editing collaborate.md to describe how to add a translation and properly use the _print() command?

Added.

Added.

Note: This has 3 approvals since over 10 days ago. Can I/someone click the rebase and merge button?
I'll carefully fix conflicts in other PRs after that.

Note: This has 3 approvals since over 10 days ago. Can I/someone click the rebase and merge button?
I'll carefully fix conflicts in other PRs after that.

Yes plz. I just didn't dare do it myself.

Yes plz. I just didn't dare do it myself.

ye It's good to be merged now.

ye It's good to be merged now.


Removing Telemetry in OpenSSL

This is a more of documentation note regarding using the Microsoft VS2015 compiler.
I just finished an exercise of discovering and removing the telemetry hooks Microsoft was adding into the EXE and DLL entry points starting with the VS2015 compiler.   Beyond the ethics of burning telemetry import hooks into your binaries, it was causing significant DLL Detach delays in my SSL web server.
Microsoft removed the telemetry hooks with VS2015 update 3.  I don't have VS2017, 2019 to confirm whether or not it is still removed in those updated linker.    This removal and Openssl relink using the Update 3 resolved my SSL web server shutdown delays.
See this reddit discussion:
https://www.reddit.com/r/cpp/comments/4ibauu/visual_studio_adding_telemetry_function_calls_to/?depth=1

This is something that could be added to NOTES.WIN.


[help] it don't work when i use it in "drop-in" mode.

the page is black and display nothing
js code
import * as GaussianSplats3D from '@mkkellogg/gaussian-splats-3d';
import * as THREE from 'three';

const camera = new THREE.PerspectiveCamera(
  75,
  window.innerWidth / window.innerHeight,
  0.1,
  1000
);

camera.position.set(0, 0, 10);

const threeScene = new THREE.Scene();
const viewer = new GaussianSplats3D.DropInViewer({
       'gpuAcceleratedSort': false,
    'sharedMemoryForWorkers': false
});
viewer.addSplatScenes([
    {
        'path': "point_cloud.ply",
        'rotation': [0, -0.857, -0.514495, 6.123233995736766e-17],
        'scale': [1.5, 1.5, 1.5],
        'position': [0, -2, -1.2]
    }
]);
threeScene.add(viewer);

const renderer = new THREE.WebGLRenderer({
  antialias: false
});
renderer.setSize(window.innerWidth, window.innerHeight);
document.body.appendChild(renderer.domElement);

renderer.render(threeScene, camera);

css
*{
    padding: 0;
    margin: 0;
}

canvas{
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
}

body {
    height: 100vh;
  }

I don't see that you're setting up a render loop anywhere, what if you did something like this:
viewer.addSplatScenes([
    {
        'path': "point_cloud.ply",
        'rotation': [0, -0.857, -0.514495, 6.123233995736766e-17],
        'scale': [1.5, 1.5, 1.5],
        'position': [0, -2, -1.2]
    }
])
.then(() => {
     threeScene.add(viewer);
     requestAnimationFrame(update);
});

function update() {
    requestAnimationFrame(update);
    renderer.render(threeScene, camera);
}

Where you add the viewer to threeScene once the splat scenes have loaded (in the then clause). Also, you set your camera to [0, 0, 10], are you sure anything is visible from that location?

Have you made any progress with this issue or get it resolved?

I have the same issue. Here is the err message:
gaussian-splats-3d.module.js:8386 Uncaught (in promise) Error: Viewer::addSplatScene -> Could not load file assets/data/garden/biker.ply
at gaussian-splats-3d.module.js:8386:24
Loading ply also fails in Viewer.

I tried the latest version (0.3.9), it's ok for Viewer mode and Drop in mode.
Thanks~

I'm going to close this for now, but feel free to re-open if you are still having trouble.


kapow: 0.5.3 -> 0.5.4

Semi-automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/BBVA/kapow/releases.
meta.description for kapow is: "Expose command-line tools over HTTP"
meta.homepage for kapow is: "https://github.com/BBVA/kapow"
Updates performed

Version update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact

Checks done (click to expand)

built on NixOS

The tests defined in passthru.tests, if any, passed

0 of 0 passed binary check by having a zero exit code.

0 of 0 passed binary check by having the new version present in output.

found 0.5.4 with grep in /nix/store/dhvl79c6gfdq9qxqqzplv1n1m6gvzdqr-kapow-0.5.4

directory tree listing: https://gist.github.com/0b648ab132de66c9af88ac7fd8f2e34e

du listing: https://gist.github.com/5a2502093b78dd1aab30943dc6bfbe13

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

4 total rebuild path(s)

1 package rebuild(s)

1 x86_64-linux rebuild(s)
1 i686-linux rebuild(s)
1 x86_64-darwin rebuild(s)
1 aarch64-linux rebuild(s)

First fifty rebuilds by attrpath
kapow

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/dhvl79c6gfdq9qxqqzplv1n1m6gvzdqr-kapow-0.5.4 \
  --option binary-caches 'https://cache.nixos.org/ https://r-ryantm.cachix.org/' \
  --option trusted-public-keys '
  r-ryantm.cachix.org-1:gkUbLkouDAyvBdpBX0JOdIiD2/DP1ldF3Z3Y6Gqcc4c=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

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

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/dhvl79c6gfdq9qxqqzplv1n1m6gvzdqr-kapow-0.5.4
ls -la /nix/store/dhvl79c6gfdq9qxqqzplv1n1m6gvzdqr-kapow-0.5.4/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review 1

1 package built:
- kapow

Maintainer pings
cc @nilp0inter @kalbasit for testing.

LGTM


Create GitHub Publish Action

Create workflow for publishing to PyPI.
How to use this workflow
The idea is that we will contribute to the repository as usual until we are ready to publish a new package. We will then:

Bump the Poetry version (i.e. 0.1.0).
Create and push the corresponding annotated git tag, using GitHub convention of v+version (i.e. v0.1.0).

This workflow will key off the commit containing the tag to create a GitHub release (mostly just for organization and finding the tag, in the future we could put release notes here), and publish the package to PyPI.
Notes
This is currently using my personal PyPI account to publish the package, but I've invited the opensource_ni account to be the owner.
https://pypi.org/project/ni-python-styleguide/ (I deleted the test package I published, but the location still exists).
I have an email out to Michael Phillips about transferring ownership of that account to another group to maintain, and to create an api key for it so we can use GitHub organization secrets to publish under our opensource_ni account.
For now, I think the current method is okay until we get the administrative work done.

We should document the publishing steps in the CONTRIBUTING.md

I'm going to leave this PR up for now, but investigate alternate tagging/versioning strategies


Implement the ability to only permit the specified types and prohibit everything else

The attribute should be named ProhibitNotPermittedTypes or OnlyPermitSpecifiedTypes.
That feature would also come with the following design specifications:

Prohibition attributes will be ignored (GA0010 will be emitted).
The attribute may only be added once per generic type parameter.
Lack of presence of this attribute may emit warning GA0011: Redundant explicit type permissions; no prohibitions or explicit specification for only permitting the specified permitted types via {attribute name}.
Using this attribute with no permission attributes emits error GA0012.

Diagnostics for this feature were specified in #5


Remove inline styles

Is this still valid?  We should probably do a fresh checkout :/

Actually yeah I'm going to close this.  Please open a new PR for these.  Thanks!


/construction/payloads

Description
/construction/payaloads needs to invoke the cardanoService.createUnsignedTransaction to properly encode a transaction including MA support
Implementation details

This method should have already been updated so this is a task about adding more tests.

These are the unit tests?  QA will want to also cover some of these cases

These are the unit tests?  QA will want to also cover some of these cases

Do you use property testing, by the way?  Much better for catching edge cases than simple unit tests...

Do you use property testing, by the way?  Much better for catching edge cases than simple unit tests...


Data Science with Python : Markov's Chain

Welcome to 'DSWP' Team, good to see you here
This issue will helps readers in giving all the guidance that one needs to learn about Markov's Chain. Tutorial to Markov's Chain and how it's applied. Brief elaboration is needed.
To get assigned to this issue, add your serial numbers mentioned in the spreadsheet of "Data Science with Python", the approach one would follow and choice you prefer (Documentation, Audio, Video). You can go with all three or any number of options you're interested to work on.
If you had referred any resources, add them up in "DS Resources". Similarly if you had used datasets, include them in "DS Datasets".
Domain : Statistics
Mentors Assigned : Aishani Singh / Nithin
Points to Note :
The issues will be assigned on a first come first serve basis, 1 Issue == 1 PR.
"Issue Title" and "PR Title should be the same. Include issue number along with it.
Changes should be made inside the Datascience_With_Python/ directory & Datascience_With_Python branch.
Follow Contributing Guidelines & Code of Conduct before start Contributing.
This issue is only for 'GWOC' contributors of 'DSWP' domain.
All the best. Enjoy your open source journey ahead. 😎

Name : Vidit Ostwal
SR no. 499
DSWP
Type: documentation

I want to be assigned.
Surjyanee Halder - 966
(Documentation)
Approach - introduction,  steps and approaches, examples ,applications.

@Vidit-Ostwal, sorry approach to follow is missing. Next time, make a point to add it up along with these details.
@surjyaneeh Issue assigned to you for documentation.

LOL

I have unassigned myself, can you please assign me again ?
Thank you.

@prathimacode-hub , Mam
I am M. Ashish Reddy. I would like to do AUDIO on this issue.
Batch number: 5
serial number:174.
Approach: A detailed explanation with examples and real life uses

Issue assigned to @ashish-reddy-20-08 for audio contribution

Hello, I am Deepthi M with serial number:172, Batch-5. I would like to do audio on this issue.
My approach: a detailed explanation

Issue assigned to @deepthi1107 for audio contribution

Issue assigned to @deepthi1107 for video contribution


Home page is not displaying

Hello Daveh,
I am trying your framework, but the home page is not diplaying.
I am using Linux ubuntu. I also use the bultin php server with the command php -S localhost:5000 when I am in the public folder of the framework.
my url is : http://localhost:5000/
I have this error:
Uncaught exception: 'ErrorException'
Message: 'Undefined index: QUERY_STRING'
Stack trace:
#0 /home/myuser/PHPProjects/php-mvc/public/index.php(32): Core\Error::errorHandler(8, 'Undefined index...', '/home/myuser/PH...', 32, Array)
#1 {main}
Thrown in '/home/myuser/PHPProjects/php-mvc/public/index.php' on line 32
May be I am missing something . Could you help me ?

Hi,
@daveh has updated this file https://github.com/daveh/php-mvc/blob/master/public/.htaccess with a new code, please try to use it and feed me back.

Hi @gonzela2006 ! I am using this new file, but it is not still working.
Here are my logs:
PHP 7.0.22-0ubuntu<IP_ADDRESS> Development Server started at Mon Oct 30 09:07:07 2017
Listening on http://localhost:5000
Document root is /home/myuser/PHPProjects/php-mvc/public
Press Ctrl-C to quit.
[Mon Oct 30 09:07:16 2017] <IP_ADDRESS>:54732 [500]: /
[Mon Oct 30 09:07:16 2017] <IP_ADDRESS>:54736 [404]: /favicon.ico - No such file or directory

I advise you not to use the PHP built-in server as It is not intended to be a full-featured web server as per PHP manual. For Ubuntu, try to use XAMPP or AMPPS.

Hi,
that's right, the framework won't work with the PHP built-in web server. I recommend XAMPP for all platforms.
Cheers,
Dave

Ok, I will try XAMP and feed back you !  Thank you !

I am back, everything is ok now. Welcome page is displaying with both LAMP and XAMP. We keep in touch. Thank you a lot for your help @gonzela2006  and @daveh


add tile node js and started test suite

pushing in

I pulled this down and added to it.  Closing this request and opening a new one with additional functionality/testing