Uncloseable thread pools in Client class

There are 3 internal executors with thread pools in Client class:

executor
reconnectExecutor
scheduler
every executor keeps own thread pool with single non-daemon thread, which prevents java app from regular termination.
There are no method to stop these threads on exit and gracefully stop the application.
I suggest to add shutdown() method similar as disconnect() but with shutdown of internal executors.

@aldan95 hello, thanks! Since Java is not my day to day language I could miss things like this.
I suppose your suggestion makes a lot of sense and we should add this. Could you send pull request?

Client.Close method added in September 2020, just notices that I have not closed this issue.


feat: hide temp. unavailable Tx history banner on swaps to RUNE

Description

Notice

[ ] Have you followed the guidelines in our Contributing guide?
[ ] Have you checked to ensure there aren't other open Pull Requests for the same update/change?

Pull Request Type

[ ] :bug: Bug fix (Non-breaking Change: Fixes an issue)
[ ] :hammer_and_wrench: Chore (Non-breaking Change: Doc updates, pkg upgrades, typos, etc..)
[ ] :nail_care: New Feature (Breaking/Non-breaking Change)

Issue (if applicable)

closes #
Risk

Testing

Engineering

Operations

Screenshots (if applicable)

Current dependencies on/for this PR:

develop

PR #4191   👈

This comment was auto-generated by Graphite.


powershell 7 not showing

We have written the needed data into your clipboard because it was too large to send. Please paste.
(1) open visual studio code
(2) click on terminal then select new terminal
(3) in terminal click on the down arrow select  default shell
(4) it only shows only two options cmd and powershell 1.0
issue
(5) i installed powershell 7.1.1 and add it to windows path but it cannot show in
preferred terminal shell option it shows in VSCode-win32-ia32-1.52.1 but not showing in VSCode-win32-ia32-1.53.0 i use the both zip package versions

fyi @TylerLeonhardt

@Govind-Keshri custom installations of PowerShell are not supported in the "select default shell"  as the PowerShell discovery code does not use the PATH to find pwsh's (intentionally). However, you can always set the setting:
"terminal.integrated.shell.windows": "C:\\path\\to\\your\\pwsh.exe",

and that will work just fine for your need.

@Govind-Keshri custom installations of PowerShell are not supported in the "select default shell" as the PowerShell discovery code does not use the PATH to find pwsh's (intentionally). However, you can always set the setting:
"terminal.integrated.shell.windows": "C:\\path\\to\\your\\pwsh.exe",

and that will work just fine for your need.

i tried your  "terminal.integrated.shell.windows": "C:\path\to\your\pwsh.exe" method

before report issue it worked in VSCode-win32-ia32-1.53.0 )) though i do it manually it cannot show in preferred shell when i chose new terminal it shows
PowerShell 7.1.1
Copyright (c) Microsoft Corporation.
https://aka.ms/powershell
Type 'help' to get help.

but but why i do it manually it detect automatically in VSCode-win32-ia32-1.52.1 and not in VSCode-win32-ia32-1.53.0

@Govind-Keshri what is the path to your PowerShell? Also, what OS and architecture are you running on?

@Govind-Keshri what is the path to your PowerShell? Also, what OS and architecture are you running on?

my path C:\Program Files\PowerShell\7\pwsh.exe
PowerShell-7.1.1-win-x64.msi )) worked in VSCode-win32-ia32-1.52.1 (( not worked in VSCode-win32-ia32-1.53.0 (*zip version both)
OS Windows 10 64bit version 2004 (OS Build 19041.264)

i am am very happy to see how active github is i appreciate and thank you for reply

Is there a reason you use the 32bit version of VS Code instead of the 64bit version?

@Govind-Keshri what is the path to your PowerShell? Also, what OS and architecture are you running on?

in very happy to see how active github is i appreciate and thank you for reply

Is there a reason you use the 32bit version of VS Code instead of the 64bit version?

your thought is right it is an architecture problem
i just download the VSCode-win32-ia32-1.53.1.zip and VSCode-win32-x64-1.53.1.zip and it not working in 32bit and working in 64
i thought vscode dropped the path detection from VSCode-win32-ia32-1.52.1 to VSCode-win32-ia32-1.53.0

Is there a reason you use the 32bit version of VS Code instead of the 64bit version?

i install  PowerShell-7.1.1-win-x86.msi  and it detect in 32bit vscode

Thanks for the info!

Thanks for the info!

it is a bug i thought vscode dropped the path detection thank you  for all your support and detect the bug

I've got a fix out for this now ^

Test plan:

Download 32bit version of VS Code and install PowerShell 7 x64 MSI
make sure you don't have a default shell set for Windows

Expected:
PowerShell 7 should show in your terminal and it should be 64bit (run [System.Runtime.InteropServices.RuntimeInformation]::ProcessArchitecture which should be X64)
Also, choose the default shell in the terminal drop down. You should see PowerShell 7 in the list.
Other Test plan:

Download 64bit version of VS Code and install PowerShell 7 x64 MSI
make sure you don't have a default shell set for Windows

Expected:
PowerShell 7 should show in your terminal and it should be 64bit (run [System.Runtime.InteropServices.RuntimeInformation]::ProcessArchitecture which should be X64)


[Bug] - Nested placeholder handles unproperly

When I'm trying to pass nested placeholder, it doesn't work.
For example:
%graaljs_util_format_date_{player_first_join_date},DD.MM.YYYY HH:mm:ss% returns empty string and execution doesn't even begins - this could be checked easily by typing simple print at first line of onPlaceholderRequest function.
But! During my experiments I've investigated that problem is not in curly brackets - problem is in underscores. So if I'll try something like this %graaljs_util_format_date_{player#first#join#date},DD.MM.YYYY HH:mm:ss%, execution will start and as first argument I got expected value {player#first#join#date}.
Purpur 1632 (1.18.2)
PlaceholderAPI 2.11.2
GraalJS Expansion 1.1.2

Nested placeholders are not supported. If you want to use them, you need to do it inside the script, like this:
bukkitClassLoader.loadClass("me.clip.placeholderapi.PlaceholderAPI").static.setPlaceholders(player, "%player_first_join_date%");

Nested placeholders are not supported. If you want to use them, you need to do it inside the script, like this:
bukkitClassLoader.loadClass("me.clip.placeholderapi.PlaceholderAPI").static.setPlaceholders(player, "%player_first_join_date%");

I understand that I can use PAPI setPlaceholders, but the issue is - any text passed as argument, separated by underscores (even simple text, or block identifier, for example) breaks placeholder execution and parsing, nothing happens

Finally got my hands on it. Try the latest version, the separator of the script name and the arguments enumeration is now the # symbol. So now you have to use the following construction: %graaljs_some_script#args% The # symbol can also be used in arguments, since only the first such symbol is checked.


Texture.delete() method broken

This is using pyglet 2.0.10, python 3.10, ubuntu 22.04, running on x86 Mac mini hardware.
texture = image.get_texture()
texture.delete()

This code consistently yields this error when the delete() is run.
File "/home/ebrandon/cfplay/myenv/lib/python3.10/site-packages/pyglet/image/__init__.py", line 1227, in delete
    glDeleteTextures(1, self.id)
ctypes.ArgumentError: argument 2: TypeError: expected LP_c_uint instance instead of int

I was able to work around the problem with the following code that manually frees up the texture from OpenGL:
import ctypes
from pyglet.gl import glDeleteTextures
# Create an array of one unsigned int
texture_id_array = (ctypes.c_uint * 1)(texture.id)
# Call glDeleteTextures with the correct argument type
glDeleteTextures(1, texture_id_array)
texture.id = None

To confirm, x86 or amd64? I don't see x86 builds listed for 20.04, but there were x86 macs at one point on intel processors not using the i-series branding.

Sorry, I meant amd64 build of Ubuntu 22.04.  This is running on late 2014 Intel Mac mini hardware.

Thanks for opening the ticket.
This explicit Texture.delete() method was just added recently, and we missed this one. I fixed it in master, so will be included in the next point release.


How to get remote webSocketDebuggerUrl (or connect without GUID)

We're using puppeteer.connect to connect to a remote Chrome instance:
puppeteer.connect(
  { "browserWSEndpoint": "ws://{remoteip}:9222/devtools/browser/fa60c034-422d-4f2c-bbeb-17a2cfd690f2"}
);

Is there any way we can avoid needing to know the GUID? Perhaps by a flag when starting the remote Chrome (it's on a secure internal network).
Alternatively, what would be the best way in node to look up the browserWSEndpoint from http://{remoteip}:9222/json/version?
Or are we approaching this the wrong way?

As to your second question: http://{remoteip}:9222/json/version returns JSON. You could use the request library to call this URL and do a JSON.parse() on the result which gives you an object with the id as an attribute.

Thanks @kdekooter, I've put together the below script which is working (I'm new to node so feel free to comment on my appalling structure and handling of async):

generate.js
/*
 * A puppeteer script to generate a PDF from stdin using a remote chrome instance.
 * The generated PDF content is returned to stdout.
 *
 * Usage: node generate.js <host:port> <format>
 */
'use strict';

const puppeteer = require('puppeteer');
const http = require('http');

var html     = '';
var endpoint = process.argv[2];
var format   = process.argv[3] ? process.argv[3] : 'A4';

process.stdin.setEncoding('utf8');

process.stdin.on('readable', () => {
    const chunk = process.stdin.read();
    if (chunk !== null) {
        html += chunk;
    }
});

process.stdin.on('end', () => {
    http.get(`http://${process.argv[2]}/json/version`, (res) => {
        res.setEncoding('utf8');
        let rawData = '';
        res.on('data', (chunk) => { rawData += chunk; });
        res.on('end', () => {
            try {
                const parsedData = JSON.parse(rawData);
                endpoint = parsedData.webSocketDebuggerUrl;

                (async () => {
                    const browser = await puppeteer.connect({browserWSEndpoint: endpoint});
                    const page    = await browser.newPage();

                    await page.setJavaScriptEnabled(false);
                    await page.goto(`data:text/html,${html}`, {waitUntil: 'networkidle'});

                    const pdf = await page.pdf({format: format});

                    await process.stdout.write(pdf);

                    await browser.close();
                })();
            } catch (e) {
                console.error(`Unable to generate PDF: ${e.message}`);
            }
        });
    }).on('error', (e) => {
        console.error(`Unable to connect to Chrome: ${e.message}`);
    });
});

For example: echo "<html>foo</html>" | node generate.js <IP_ADDRESS>:9222 > foo.pdf
If anyone has any suggestions to speed this up and/or avoid the browserWSEndpoint lookup I'd love to hear them :+1:

Is there any way we can avoid needing to know the GUID? Perhaps by a flag when starting the remote Chrome (it's on a secure internal network).

@davidwindell why do you want to avoid this? Since you're the one who starts chrome, you can get its GUID and share with all interested parties.

@aslushnikov we launch the chrome instance automatically in a disposable docker container and communicating/broadcasting the Guid just wouldn't work. A reboot of the host means all dependent services have to look it up.

@davidwindell I see, thanks. This seems to be a general service discovery problem, but yes, you
can hack this in with the script you've suggested.

@davidwindell , @kdekooter
I'm also trying to discover the endpoint's browser id so I can use browserWSEndpoint, but I don't see any id field in the object returning from http://{remoteip}:9222/json/version:

{
"Browser": "HeadlessChrome/61.0.3163.91",
"Protocol-Version": "1.2",
"User-Agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/61.0.3163.91 Safari/537.36",
"V8-Version": "6.1.534.37",
"WebKit-Version": "537.36 (@2f544949507dc5330b714cb017e3f584e791a1bf)"
}

I'm starting my headless-chrome instance using these flags:

--headless
--remote-debugging-address=<IP_ADDRESS>
--remote-debugging-port=9222
--no-sandbox
--disable-gpu
--disable-sync
--disable-translate
--disable-extensions
--disable-default-apps
--disable-background-networking
--safebrowsing-disable-auto-update
--mute-audio
--no-first-run
--hide-scrollbars
--metrics-recording-only
--ignore-certificate-errors

Am I missing any step to detect the id (perhaps did you guys started your headless-chrome instance with a special flag that allows this information broadcast) ?

@drorweissweiss this is only in the latest versions of Chrome (62+ I think, certainly 63). Caught me out at first!

FYI: In Chrome 65+ (maybe earlier) there is a webSocketDebuggerUrl property instead of id in the /json/version endpoint's json response.

@aslushnikov for the new version chromium 69 is there a way to connect with remote headless chromium without knowing the GUID. I know there is a way through service discovery /json but since i would be having few chromium running behind my load balancer I would like the lb to redirect dynamically.
Possible Way
Is there a way to start chromium with a custom GUID so that my supervisord can autorestart and apply the same GUID which my puppeteer would be trying to access and it will also make the task of lb to redirect without worrying about GUID matching issues.
Thanks

@aslushnikov for the new version chromium 69 is there a way to connect with remote headless chromium without knowing the GUID. I know there is a way through service discovery /json but since i would be having few chromium running behind my load balancer I would like the lb to redirect dynamically.
Possible Way
Is there a way to start chromium with a custom GUID so that my supervisord can autorestart and apply the same GUID which my puppeteer would be trying to access and it will also make the task of lb to redirect without worrying about GUID matching issues.
Thanks

@ja8zyjits did you find any solution to the dynamic guid when deploying multiple chrome instances?
I want to deploy the headless chrome on k8s as a deployment, but the inconsistent urls make it impossible to scale up.

@ginuerzh i would also be interested to understand the same!

Does anyone have the solution of this question?

@davidwindell , @kdekooter I'm also trying to discover the endpoint's browser id so I can use browserWSEndpoint, but I don't see any id field in the object returning from http://{remoteip}:9222/json/version:

{
"Browser": "HeadlessChrome/61.0.3163.91",
"Protocol-Version": "1.2",
"User-Agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/61.0.3163.91 Safari/537.36",
"V8-Version": "6.1.534.37",
"WebKit-Version": "537.36 (@2f544949507dc5330b714cb017e3f584e791a1bf)"
}

I'm starting my headless-chrome instance using these flags:

--headless
--remote-debugging-address=<IP_ADDRESS>
--remote-debugging-port=9222
--no-sandbox
--disable-gpu
--disable-sync
--disable-translate
--disable-extensions
--disable-default-apps
--disable-background-networking
--safebrowsing-disable-auto-update
--mute-audio
--no-first-run
--hide-scrollbars
--metrics-recording-only
--ignore-certificate-errors

Am I missing any step to detect the id (perhaps did you guys started your headless-chrome instance with a special flag that allows this information broadcast) ?

It is in /json/list


[postman] checkver has been updated

I can't update to v11 because postman's checkver has changed.
I don't understand the scoop manifest, so I'd like someone to do it for me.
https://dl.pstmn.io/changelog?channel=stable&platform=win64
↓
https://dl.pstmn.io/update/status?channel=stable&currentVersion=10.24.16&platform=win64

The version of postman in the Extras repo appears to be the latest version: 11.1.0
https://github.com/ScoopInstaller/Extras/blob/master/bucket/postman.json
Does this solve your issue? If so, please close


File URL with spaces

raw URI (with space) works in Android but not iOS
encodeURI  (spaces replaced with %20) works in iOS but not Android

plugin version 2.02

Hi, that's quite a popular issue in the upstream repo as well - can you try the .replace(' ', '_') suggestion to see if that helps?


Fix: Add $SUDO prefix to transactional-update commands in install script

Proposed Changes
This commit addresses an issue in the k3s install script where the transactional-update commands did not include the $SUDO variable. This omission caused the script to fail if sudo was not used. Adding the $SUDO prefix ensures that the script runs correctly in all environments.
Types of Changes
Bugfix
Verification
Aligned to existing commands already using sudo
Testing

Linked Issues
https://github.com/k3s-io/k3s/issues/10530
User-Facing Change
NONE

Further Comments

You need to update the install.sh.sha256sum
sha256sum install.sh &> install.sh.sha256sum

@dereknola Thanks for the hint, I have updated the checksum file as requested.


Bug 1738776: put moz-extensions directory into a volume and mount into the test environment

Add the moz-extensions/ directory as a Docker
volume and mount that volume into the test container.
This makes docker-compose run test_phab use the
code local to the working directory allowing for
faster iteration when testing.
We also unset restart-failure in the test environment
as this causes the container to restart when any test
fails, however the container can't restart and hangs
around.

Heads up that this broke Phabricator's CI job to test commits.

Yeah. Let's back out for now. It worked locally (obviously) but is not happy in CI environment.

Boo. I guess we could create a new docker-compose command that runs with the mounted directory for local dev and keep the existing for CI purposes. I'll send a patch for that shortly.

Reverted,


Add support for custom makefile

This PR adds support for custom makefiles. The custom makefile must be located under build/custom.mk. I don't see the need for making this customisable. I've added a empty file as a boiler plate.
Please note that custom targets will not be listed via make help. I tried fixing this but it took to much time. I would open a Help Wanted ticket for this, if there are no objections.

Thanks @hanzei! Was just wondering what's the advantage of adding a boiler plate custom make file? Is it to set a pattern for whoever uses this as a starting point build a plugin?

Hey @marianunez and @ali-farooq0,
Sorry, I didn't made my intentions clear. Let me make up for this:
Plugin devs start of with a new plugin my copying this repo. The make changes to the go and react code base. Concurrently, this repository gets updated with e.g. new make targets. We currently don't have any tooling in place to update the Makfile. Hence, the only strategy is copy&past the update makefile from the repo. To make process more comfortable there should be "no merge conflicts". Ideally plugin devs should have no reason to "fork" Makefile. To accomplish this I want to encourage devs to move the custom changes like new targets or changed environment variables in this custom makefile.
Let me know what you think about this.

Thanks for the feedback. I added a short comment about this.


Add the word "golang" to the repo description for searching

When searching for "golang color" on GitHub, this repository is not listed. If I instead search for "go color", I do indeed find it.
I'd recommend doing something like mitchellh/colorstring, such as "Color package for Go (golang) http://godoc.org/github.com/fatih/color". I believe that this will make it easier for people to discover this repo.

Hi @ooesili, it's already added in the README.md :) Thanks for the suggestion though.

I saw it in the README.md, but my point was that the GitHub search seems to only look through the title and description.
https://github.com/search?o=desc&q=golang+color&s=stars&type=Repositories&utf8=✓
https://github.com/search?o=desc&q=go+color&s=stars&type=Repositories&utf8=✓

Ah ok, I'll add it :+1:


[ci:component:github.com/gardener/logging:v0.34.0->v0.35.0]

*Release Notes:
Send logs from clusters in deletion state to the default URL

/assign @Kristian-ZH @vlvasilev

/close


fix: Unmark the python installation as externally managed when buildi…

Unmarks the python installation as externally managed when building dockerfiles/bloodhound.Dockerfile.
This configuration was causing build errors, for example:
https://github.com/SpecterOps/BloodHound/actions/runs/7176399446
For more information:
https://packaging.python.org/en/latest/specifications/externally-managed-environments/

You can try this change out yourself!
docker build . -f dockerfiles/bloodhound.Dockerfile


Param issues

This issue was created here before: https://github.com/phoenixframework/phoenix/issues/889
I have created a new Phoenix project (v 0.13.0) and then I ran
mix phoenix.gen.html User users name:string
Then I added IO.inspect params in the generated changeset function in the User model and I noticed that the params looks different if I run the controller test or the model test.
The controller test outputs this: %{"name" => "some content"}
The model test outputs this: %{name: "some content"}
Should it be like this? I have another project where I do some more stuff with the params in the changeset function but I cannot get the tests passing because I must use params[:name] or params["name"] depending on which tests I'm running.
I have created a git repo for this here: https://github.com/ricn/params_issue

The cast/4 function is going to normalize the params for you. So if you check for changeset.params after calling cast/4, you will have the normalised data.


toggle habitable zones now targets specific bodies

Motivation
Based on feedback, toggle habitable zones should target a specific zone, rather than all present in simulation.
Test
This relies on pull request 91 in orbitable/engine. That should be merged and tagged first.
Create two habitable zones. try toggling each in turn and confirm the action is independent.

Well that's what I get for committing in a hurry, it should be good to go now.


Fixes the issue of exporting root folders selection/deselection #6385

Closes #6385
changelog(Fixes): Fixed issue #6385 related to selection of root folders when exporting data

@usama-dev you can claim a free tshirt for this PR contribution - find more at https://konghq.com/community/open-source-contribution


How to calculate the fee for transferring TRX or USDT trc20 to another wallet?

I read this thread https://github.com/tronprotocol/java-tron/issues/2982 and still don't understand the transparent scheme for calculating the commission, can someone show the simplest example with the calculation? now i'm stuck on the moment with tronweb
 let txFee = await tronWeb.transactionBuilder.triggerConstantContract(
                    'TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t',
                    functionSelector,
                    {
                    feeLimit: 100000000,
                    callValue: 0
                   },
                   parameter,
                   address)

What needs to be done next to calculate what approximate amount of trx will be required for a successful transaction?
The problem is that when transferring through Trust Wallet, the application asks to sign a transaction, but does not show how much trx is required for this, with ETH it’s much, because it says at once what maximum amount can be spent on the entire transaction. Therefore, I would like to show an approximate calculation on the site, and not in the application

// step1: estimateEnergy for the transaction, the passed params is the same as your triggersmartcontract
const energyEstimate = await tronWeb.transactionBuilder.estimateEnergy(
                    'TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t',
                    functionSelector,
                    {},
                   parameter,
                   address);
  // step2: get the energy fee unit, this may vary according to TRON network, suggest getting from this API
 const chainParams = await tronWeb.trx.getChainParameters();
 const energyFee = chainParams.filter(item => item.key==='getEnergyFee')[0].value;
 // step3: get feeLimit as TRX value
 const feeLimit = tronWeb.fromSun(energyEstimate.energy_required * energyFee);

// note: need to update tronweb lib to v5.1.0 as tronWeb.transactionBuilder.estimateEnergy to estimate energy for triggersmartcontract transaction is supported from the version
And transfer trx and trc10, they do not need to cost any energy, it just need some bandwidth

const energyEstimate = await tronWeb.transactionBuilder.estimateEnergy(
'TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t',
functionSelector,
{},
parameter,
address);
// step2: get the energy fee unit, this may vary according to TRON network, suggest getting from this API
const chainParams = await tronWeb.trx.getChainParameters();
const energyFee = chainParams.filter(item => item.key==='getEnergyFee')[0].value;
// step3: get feeLimit as TRX value
const feeLimit = tronWeb.fromSun(energyEstimate.energy_required * energyFee);

i get this error
Uncaught (in promise) class java.security.InvalidParameterException : owner_address isn't set.

Hello!
I have a problem, after call the estimateEnergy, I call the method triggerSmartContract in the options of which I set the feeLimit.
I expect triggerSmartContract to return the object transaction, but it ends up returning the same as estimateEnergy
      const estimateEnergy = await tronWeb.transactionBuilder.estimateEnergy(addressContractUSDT_Test, functionSelector, options, parameter, addrTRON);
      console.log('estimateEnergy >> ', estimateEnergy);
      const listTokens = await tronWeb.trx.getChainParameters();
      const priceFee = _.find(listTokens, { 'key': 'getEnergyFee' })?.value;
      const feeLimit = estimateEnergy.energy_required * priceFee  || 100000000;
      options.feeLimit = feeLimit;
      const tx = await tronWeb.transactionBuilder.triggerSmartContract(addressContractUSDT_Test, functionSelector, options, parameter, addrTRON);
      console.log('tx >> ', tx);

  LOGS:
   LOG  estimateEnergy >>  {"energy_required": 15109, "result": {"result": true}}
   LOG  priceFee >>  420
   LOG  tx >>  {"energy_required": 15109, "result": {"result": true}}

Is the fullnode server your own? EstimateEnergy is supported in java-tron v4.7.0, you should open the config for EstimateEnergy API, which default is unavailable. And by the way owner_address is your account address, not USDT contract address.

Thanks!

I ran into two problems with energy estimation.
I use tronWeb v5.1.0
`tronWeb.setPrivateKey(hotWallet.privateAddress)
const parameter = [
{
type: 'address',
value: tronWeb.address.toHex(hotWallet.publicAddress)
},
{
type: 'uint256',
value: 0
}
];
const functionSelector = "transfer(address,uint256)"
    const transaction = await tronWeb.transactionBuilder.estimateEnergy(
        tronWeb.address.toHex(contractAddress),
        functionSelector,
        { feeLimit: 1_000_000, callValue: 0 },
        parameter)`

1- When I work with the (https://api.trongrid.io),
I encounter the This node does not support estimate energy error, but when I work with the (https://nile.trongrid.io), I do not receive this error.
I don't know, how to enable EstimateEnergy and supportConstant in the node configuration
2- On the (https://nile.trongrid.io), when I set the value to zero, everything is correct, but when I set another value like 10000, I encounter this error (REVERT opcode executed)


Script improvement

See #145

A new function, animatedScroll() was added which caused the conflict. Merged without any headaches.

I will merge this, but first take a look at the comments in #145 and remove the extra changes.

See #175


[Hub Generated] Review request for Microsoft.Security to add version preview/2017-08-01-preview

If you are a MSFT employee you can view your work branch via this link.
Contribution checklist:

[ ] I have reviewed the documentation for the workflow.
[ ] Validation tools were run on swagger spec(s) and have all been fixed in this PR.

Automation for azure-sdk-for-python

Automation for azure-sdk-for-ruby

Automation for azure-sdk-for-java

Automation for azure-sdk-for-js

Automation for azure-sdk-for-go

Can one of the admins verify this patch?


Update index.html

Added a new Youtuber named Gyan Therapy, an individual tech channel with approximately 517 million views.

@MayankBansal12 - thanks for the contribution!


Update scala-collection-compat to 2.8.0

Updates org.scala-lang.modules:scala-collection-compat from 2.6.0 to 2.8.0.
GitHub Release Notes - Version Diff
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Files still referring to the old version number
The following files still refer to the old version number (2.6.0).
You might want to review and update them manually.
doc/docs/cli-complete.md
doc/docs/cli-overview.md
doc/website/package-lock.json
modules/tests/shared/src/test/resources/resolutions/org.apache.spark/spark-core_2.10/2.1.1
modules/tests/shared/src/test/resources/resolutions/org.apache.tika/tika-app/1.13
modules/tests/shared/src/test/resources/resolutions/org.drools/drools-compiler/7.0.0.Final

Adjust future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "org.scala-lang.modules", artifactId = "scala-collection-compat" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "@monthly" },
  dependency = { groupId = "org.scala-lang.modules", artifactId = "scala-collection-compat" }
}]

labels: library-update, early-semver-minor, semver-spec-minor, old-version-remains, commit-count:1

Superseded by #2493.


Question about strange key behaiviour

Hi Team
I would like to check if you faced problem with configuration when PlugIn with linked Git Repository completely ignores the uploaded key and tries to load a key for the server which is configured in "$HOME/.ssh/config" file of user under which Bamboo is running.
I am trying to reproduce same on dev instance and it is working absolutely fine there.
I have tried to remove and recreate  repository again on live instance but with no change.
I would like to check if there is any configuration that PlugIn is using could be damaged as there was another conversation earlier which I have resolved byt uninstalling conflicting PlugIn - #37
Looks like that Live instance database data could be contaminated and it will be necessary to fix it manually.
Any ideas?
2016-09-30 15:10:42,868 ERROR [6-DelayedChangeDetectionThread:pool-12-thread-563] [ChainExecutionManagerImpl:1462] Plan 'AAAAA-BBB' could not be started. Exception: org.eclipse.jgit.errors.TransportException: ssh://botuser@gerrit.company.com:29418/tool/systems: java.io.FileNotFoundException: /bamboo/.ssh/id_rsa_gerrit (No such file or directory) com.atlassian.bamboo.repository.RepositoryException: org.eclipse.jgit.errors.TransportException: ssh://botuser@gerrit.company.com:29418/tool/systems: java.io.FileNotFoundException: /bamboo/.ssh/id_rsa_gerrit (No such file or directory)         at com.houghtonassociates.bamboo.plugins.dao.jgit.JGitRepository.getHeadRefForBranch(JGitRepository.java:308)         at com.houghtonassociates.bamboo.plugins.dao.jgit.JGitRepository.getLatestRevisionForBranch(JGitRepository.java:333)         at com.houghtonassociates.bamboo.plugins.GerritRepositoryAdapter.getBuildChangesFromJGit(GerritRepositoryAdapter.java:948)         at com.houghtonassociates.bamboo.plugins.GerritRepositoryAdapter.collectChangesSinceLastBuild(GerritRepositoryAdapter.java:890)         at com.atlassian.bamboo.v2.trigger.DefaultChangeDetectionManager.collectChangesWithRetry(DefaultChangeDetectionManager.java:553)         at com.atlassian.bamboo.v2.trigger.DefaultChangeDetectionManager.lambda$createBuildRepositoryChanges$48(DefaultChangeDetectionManager.java:424)         at com.atlassian.bamboo.variable.CustomVariableContextImpl.withVariableSubstitutor(CustomVariableContextImpl.java:215)         at com.atlassian.bamboo.v2.trigger.DefaultChangeDetectionManager.collectChangesSinceLastBuildInternal(DefaultChangeDetectionManager.java:359)         at com.atlassian.bamboo.v2.trigger.DefaultChangeDetectionManager.collectChangesSinceRevisions(DefaultChangeDetectionManager.java:307)         at com.atlassian.bamboo.v2.trigger.DefaultChangeDetectionManager.collectChangesSinceRevisions(DefaultChangeDetectionManager.java:199)         at com.atlassian.bamboo.v2.trigger.DefaultChangeDetectionManager.collectAllChangesSinceLastBuild(DefaultChangeDetectionManager.java:156)         at com.atlassian.bamboo.v2.trigger.ManualBuildDetectionAction.performDelayedChangeDetection(ManualBuildDetectionAction.java:172)         at com.atlassian.bamboo.chains.ChainExecutionManagerImpl$2.getChainState(ChainExecutionManagerImpl.java:250)         at com.atlassian.bamboo.chains.ChainExecutionManagerImpl.tryStartChainState(ChainExecutionManagerImpl.java:341)         at com.atlassian.bamboo.chains.ChainExecutionManagerImpl.delayedStart(ChainExecutionManagerImpl.java:239)         at sun.reflect.GeneratedMethodAccessor3684.invoke(Unknown Source)         at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)         at java.lang.reflect.Method.invoke(Unknown Source)         at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317)         at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190)         at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)         at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:92)         at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)         at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:207)         at com.sun.proxy.$Proxy156.delayedStart(Unknown Source)         at com.atlassian.bamboo.plan.PlanExecutionManagerImpl$2$1$1.lambda$call$140(PlanExecutionManagerImpl.java:426)         at com.atlassian.bamboo.util.CacheAwareness$3.call(CacheAwareness.java:134)         at com.atlassian.bamboo.util.CacheAwareness$3.call(CacheAwareness.java:130)         at com.atlassian.bamboo.util.CacheAwareness.withValuesOlderThanTimestampReloaded(CacheAwareness.java:163)         at com.atlassian.bamboo.util.CacheAwareness.withValuesOlderThanTimestampReloaded(CacheAwareness.java:129)         at com.atlassian.bamboo.util.CacheAwareness.withValuesOlderThanTimestampReloaded(CacheAwareness.java:194)         at com.atlassian.bamboo.plan.PlanExecutionManagerImpl$2$1$1.call(PlanExecutionManagerImpl.java:425)         at com.atlassian.bamboo.plan.PlanExecutionManagerImpl$2$1$1.call(PlanExecutionManagerImpl.java:416)         at com.atlassian.util.concurrent.ManagedLocks$ManagedLockImpl.withLock(ManagedLocks.java:312)         at com.atlassian.bamboo.plan.PlanExecutionLockServiceImpl.lock(PlanExecutionLockServiceImpl.java:85)         at com.atlassian.bamboo.plan.PlanExecutionManagerImpl.doWithProcessLock(PlanExecutionManagerImpl.java:796)         at com.atlassian.bamboo.plan.PlanExecutionManagerImpl.access$400(PlanExecutionManagerImpl.java:128)         at com.atlassian.bamboo.plan.PlanExecutionManagerImpl$2$1.run(PlanExecutionManagerImpl.java:410)         at com.atlassian.bamboo.utils.BambooRunnables$1.run(BambooRunnables.java:49)         at com.atlassian.bamboo.security.ImpersonationHelper.runWith(ImpersonationHelper.java:31)         at com.atlassian.bamboo.security.ImpersonationHelper.runWithSystemAuthority(ImpersonationHelper.java:20)         at com.atlassian.bamboo.security.ImpersonationHelper$1.run(ImpersonationHelper.java:52)         at java.lang.Thread.run(Unknown Source) Caused by: org.eclipse.jgit.errors.TransportException: ssh://botuser@gerrit.company.com:29418/tool/systems: java.io.FileNotFoundException: /bamboo/.ssh/id_rsa_gerrit (No such file or directory)         at org.eclipse.jgit.transport.JschConfigSessionFactory.getSession(JschConfigSessionFactory.java:159)         at org.eclipse.jgit.transport.SshTransport.getSession(SshTransport.java:136)         at org.eclipse.jgit.transport.TransportGitSsh$SshFetchConnection.<init>(TransportGitSsh.java:262)         at org.eclipse.jgit.transport.TransportGitSsh.openFetch(TransportGitSsh.java:161)         at com.houghtonassociates.bamboo.plugins.dao.jgit.JGitRepository.getHeadRefForBranch(JGitRepository.java:301)         ... 42 more Caused by: com.jcraft.jsch.JSchException: java.io.FileNotFoundException: /bamboo/.ssh/id_rsa_gerrit (No such file or directory)         at com.jcraft.jsch.KeyPair.load(KeyPair.java:525)         at com.jcraft.jsch.IdentityFile.newInstance(IdentityFile.java:40)         at com.jcraft.jsch.JSch.addIdentity(JSch.java:393)         at com.jcraft.jsch.JSch.addIdentity(JSch.java:353)         at org.eclipse.jgit.transport.JschConfigSessionFactory.getJSch(JschConfigSessionFactory.java:261)         at com.houghtonassociates.bamboo.plugins.dao.jgit.JGitRepository$1.getJSch(JGitRepository.java:171)         at org.eclipse.jgit.transport.JschConfigSessionFactory.createSession(JschConfigSessionFactory.java:219)         at org.eclipse.jgit.transport.JschConfigSessionFactory.createSession(JschConfigSessionFactory.java:175)         at org.eclipse.jgit.transport.JschConfigSessionFactory.getSession(JschConfigSessionFactory.java:109)         ... 46 more Caused by: java.io.FileNotFoundException: /bamboo/.ssh/id_rsa_gerrit (No such file or directory)         at java.io.FileInputStream.open0(Native Method)         at java.io.FileInputStream.open(Unknown Source)         at java.io.FileInputStream.<init>(Unknown Source)         at java.io.FileInputStream.<init>(Unknown Source)         at com.jcraft.jsch.Util.fromFile(Util.java:508)         at com.jcraft.jsch.KeyPair.load(KeyPair.java:522)         ... 54 more
Regards,
Areg

Any ideas please.
Any reason that code check could look for the SSH config file instead of uploaded key?

It's hard to say without debugging on the local instance. Judging by the log, the file it's attempting to load is pointing to:
java.io.FileNotFoundException: /bamboo/.ssh/id_rsa_gerrit (No such file or directory)
My guess is the file provided in the target configuration is no longer pointing to a valid location or somehow the permissions are set correctly for Bamboo to read from this location.

Check is quite simple.
Create Plan and configure repository in it to Gerrit  server A
Check if plan working with uploaded key
In Bamboo running user home .ssh folder create config file and add line that will tell to use non existing ssh key for Gerrit server A.
Theoretically Bamboo user running ssh configuration should not affect gReview configuration as it is separate key ....
Actually it is affecting.
Once .ssh/config is deleted all working good.
Once it is in place all falling apart ...

Is this the same setup as mentioned in your previous bug?
Java: jdk 1.8.77
Bamboo 5.10.3
Plug-In latest from marketplace.atlassian.com
Linux: RedHat Enterprise 6.6 (aka Cents 6.6)
It looks like there might be a search path issue. What user are you running your service under. Can you try dedicating your servlet container to run under a user dedicated to this service alone? If you haven't done so already.


connect event when connection fails

these lines; https://github.com/xHasKx/luamqtt/blob/eacac48e31aa1a58974ef05d76687d8554a33207/mqtt/client.lua#L991:L994
send a "connect" event, when the connection actually fails. Is this intentional or a bug?

Yes, because CONNACK packet is received and successfully parsed. Client code have to check the .rc property
Check https://github.com/xHasKx/luamqtt/blob/master/examples/simple.lua#L17

thx for the clarification


ci: drop Fedora 36, add Fedora 38

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 67.815%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
13696

Relevant Lines:
20196

💛  - Coveralls

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Warning: This coverage report may be inaccurate.
This pull request's base commit is no longer the HEAD commit of its target branch. This means it includes changes from outside the original pull request, including, potentially, unrelated coverage changes.

For more information on this, see Tracking coverage changes with pull request builds.
To avoid this issue with future PRs, see these Recommended CI Configurations.
For a quick fix, rebase this PR at GitHub. Your next report should be accurate.

Details

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 67.815%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
13696

Relevant Lines:
20196

💛  - Coveralls


Fix code example in README.md

Added missing , character

Please take a little time for review and merge pls


How to get rid of unwanted characters?

wikipedia.summary("Albert Einstein") would give me :
u'Albert Einstein (/\u02c8a\u026ansta\u026an/; German: [\u02c8alb\u0250rt \u02c8a\u026an\u0283ta\u026an]; 14 March 1879 \u2013 18 April 1955) was a German-born theoretical physicist. He developed the general theory of relativity ..
Any general solution to get rid of
(/\u02c8a\u026ansta\u026an/; German: [\u02c8alb\u0250rt \u02c8a\u026an\u0283ta\u026an];
like unnecessary tags..?

Solved the issue I had to find the index of "(" and last ";" on the first line. Then remove that part of the string.

If you solved the issue, please close it. :+1:


Improve histogram metrics for barcodes

In the barcode detection metrics, the histogram only output mismatches with respect to barcodes that match. Nevertheless, this information is incomplete and could be improved by output a column with 0 to show that there is no match with that barcode.
This is not critical, but complete the metrics to include all the information. I don't know if there is some restriction at the htsjdk level for this, so we should explore it.

I think that this is already fixed in the workaround for this metric recently done, but I should check it.


Jeffs attempt at completing Git

Hi
This represents my new skills

Congratulations @rsgltd on completing all the challenges for the Beginning Git course.
I hope that you enjoyed working through this course—if you weren't already using git for your code, hopefully this has inspired you to do so. I hope you're going to work through the "Mastering Git" video course as well—you'll soon be able to get git to bend to your will :)
You can now wear this #GitWarrior badge with pride—and Tweet your historic victory!

sam


Ret 2723 Added check to welsh tranlations that nothing is missing

Before creating a pull request make sure that:

[x] commit messages are meaningful and follow good commit message guidelines
[x] README and other documentation has been updated / added (if needed)
[x] tests have been updated / new tests has been added (if needed)

Please remove this line and everything above and fill the following sections:
JIRA link
Change description
Does this PR introduce a breaking change? (check one with "x")
[ ] Yes
[ ] No

Seems to a strange issue with communication between Github and Jenkins not marking checks as complete. Build and deployment has completed so I'm bypassing branch protections.


Added missing dependency on puppetlabs-java

Signed-off-by: GabrielNicolasAvellaneda<EMAIL_ADDRESS>

Thanks!

happy to help :+1:


no such file or directory error

A team member and I are working from the same versions but my build is throwing an error per closed sanjo:jasmine issue #279 sanjo_long-running-child-process error
Our versions:
<EMAIL_ADDRESS>
<EMAIL_ADDRESS><EMAIL_ADDRESS>OS X 10.11.1

My VELOCITY_DEBUG log:
I20151112-16:57:17.942(-8)? server-internal
I20151112-16:57:17.942(-8)? Exception in callback of async function:
I20151112-16:57:17.943(-8)? error:
I20151112-16:57:17.943(-8)? {"message":"Exception in callback of async function:","stack":"Error: ENOENT, no such file or directory '/Users/bradcrispin/code/node/meteor/parlay/.meteor/local/.meteor/local/build/programs/server/assets/packages/sanjo_long-running-child-process/lib/spawnScript.js'\n    at Object.fs.chmodSync (fs.js:833:18)\n    at LongRunningChildProcess.sanjo.LongRunningChildProcess.LongRunningChildProcess.spawn (meteor://💻app/packages/sanjo_long-running-child-process/packages/sanjo_long-running-child-process.js:275:1)\n    at _startMirror (meteor://💻app/src/methods/mirrors/mirror_request.js:207:15)\n    at meteor://💻app/src/methods/mirrors/mirror_request.js:104:7\n    at runWithEnvironment (meteor://💻app/packages/meteor/dynamics_nodejs.js:110:1)","uid":null}
I20151112-16:57:17.944(-8)? Exception in callback of async function: Error: ENOENT, no such file or directory '/Users/bradcrispin/code/node/meteor/parlay/.meteor/local/.meteor/local/build/programs/server/assets/packages/sanjo_long-running-child-process/lib/spawnScript.js'
I20151112-16:57:17.944(-8)?     at Object.fs.chmodSync (fs.js:833:18)
I20151112-16:57:17.944(-8)?     at LongRunningChildProcess.sanjo.LongRunningChildProcess.LongRunningChildProcess.spawn (meteor://💻app/packages/sanjo_long-running-child-process/packages/sanjo_long-running-child-process.js:275:1)
I20151112-16:57:17.944(-8)?     at _startMirror (meteor://💻app/src/methods/mirrors/mirror_request.js:207:15)
I20151112-16:57:17.944(-8)?     at meteor://💻app/src/methods/mirrors/mirror_request.js:104:7
I20151112-16:57:17.944(-8)?     at runWithEnvironment (meteor://💻app/packages/meteor/dynamics_nodejs.js:110:1)

Team member:
I20151112-19:53:32.160(-5)? [velocity] Mirror process forked with pid 73471
I20151112-19:53:32.160(-5)? [velocity] cucumber is starting a mirror at http://localhost:53887/.
I20151112-19:53:32.169(-5)? [velocity] You can see the mirror logs at: tail -f /Users/me/parlay/.meteor

xolvio/meteor-jasmine#279

Hi, I don't know how this error is produced. The wrong part in the path is the double ".meteor/local/.meteor/local". Can you try meteor reset and make sure that you start the app from the main app directory. Let me know if that works.

Meteor reset did not resolve the error but deleting rm -rf .meteor did. Thank you!


Create DAO  Member Profile Read Only View

Details
Read only view of the Members profile page. Does not include actions three dot menu to start.
Figma
https://www.figma.com/file/9lCwprCNaoAmUDmiMQpFEA/DAOhaus-v3?node-id=6037%3A140410
Design TODO

[ ] Cross link to hub?
[ ] What else is in the profile drop down while we're in a read only mode?
[ ]  Accordion component?

Dev TODO

[ ]  Might be able to reuse some layout from the Hub
[ ] Button link to member list page
[ ] Share profile copy to clipboard button (see hub)
[ ] Profile card (avatar, name. ens or address, join date, delegating to, voting power, shares and loot counts)
[ ] Exit amount
[ ] Token list accordion

[ ] token icon, name/symbol, link to block explorer, usd value of profile holdings

[ ] helper function to calculate holders usd value

NOTE

Likely no current need to paginate this list

We might need an Accordion component at this stage?

Components

Layout
Card
DataIndicator
ExternalLink
Tooltip

@alexkeating couple of notes:
the accordian component in WIP this week so you can start without the hide tokens:

token data is available on the dao object from the dao context - you'll have to do math on the member's share
const { dao } = useDao()


Importing Github repo fails

Describe the bug
trying to import: https://bolt.new/~/github.com/manulykebe/editor
Link to the Bolt URL that caused the error
https://bolt.new/~/github.com/manulykebe/editor
Steps to reproduce

go to the above url: https://bolt.new/~/github.com/manulykebe/editor
takes a while ('We are still retrieving the repository, hang tight'), then error pops up:
x Import manulykebe/editor
Cannot destructure property 'appFiles' of 'project' as it is null.

Expected behavior
succesful import of project
Screen Recording / Screenshot

Platform
Browser name = Chrome
Full version = <IP_ADDRESS>
Major version = 130
navigator.appName = Netscape
navigator.userAgent = Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/<IP_ADDRESS> Safari/537.36
performance.memory = {
  "totalJSHeapSize": 54828175,
  "usedJSHeapSize": 37695547,
  "jsHeapSizeLimit":<PHONE_NUMBER>
}
Chat ID = 1604d222ed67

Additional context
No response

Appreciate the feedback! We are aware of this issue and are tracking it here.


iPhone 6 11.3.1

Happy new year !!!
So the last days with all the updates being made...I made a full restore of my device and waited for the uncover v2.1.0 to be public and for sauric to fix the issue!!! After all these was ok I jailbreaked and till now I didn’t notice anything wrong ...everything is working fine and smoothly.the tweaks I have install are:activator,AudioRecorder,bioprotect x,callbarx,marina,PowerSelector,preferenceorganizer2,snapper2 snowboard ...

Nice. Close this issue.


add more types to isTransferable

More types of objects than just ArrayBuffer are Transferable. This PR adds them.

Coverage decreased (-1.1%) to 95.031% when pulling 737bb9706762a52a87169a12c9b59fb241febab0 on rbuels:master into 9103512ad0574373ced19d361ae487e8ac8386ca on librpc:master.


[Improvement]: Refactor enpoint for get definition by position

Description
Refactor the code to use workspaceManagerProxy.get(fileUri) method instead of using the get() method
Describe your problem(s)
No response
Describe your solution(s)
No response
Related area
-> Compilation
Related issue(s) (optional)
No response
Suggested label(s) (optional)
No response
Suggested assignee(s) (optional)
No response

Please add more details to the issue.

Closing this as a low-priority task with the Icebox label might reopen in the future.


Fails to link to RadeonRays as a static library

If I build radeonrays as a static library and then try to link another program to it, on windows linking fails for all static methods with a message like:
Error LNK2019 unresolved external symbol "__declspec(dllimport) public: static void __cdecl RadeonRays::IntersectionApi::SetPlatform(enum RadeonRays::DeviceInfo::Platform)" (_imp?SetPlatform@IntersectionApi@RadeonRays@@SAXW4Platform@DeviceInfo@2@@Z)
I believe this is due to radeon_rays.h using the macro RR_STATIC_LIBRARY which in turn define RRAPI as  __declspec(dllimport). The easy solution would be to add a
#define RR_STATIC_LIBRARY true
before including said header in the application.
Is this an intended behavior? If so, should this be somehow documented (can't find anything in README.md )?

Yes, this define is needed for static library, but it should be automatically added if you use cmake and just link with RadeonRays target.
If you use VS project you can simply add this as global definition instead of adding before header include.


Dockerize

adds initial Dockerfile for bot application

Using the alpine image results in a image size of 182mb.
If we want to automate this, we will need to use GitHub's secret store and populate the .env file at build time with production connection details.

having .env build it would require us to have a private registry, otherwise all keys are exposed. We can just mount volume while running it on the host


POST with empty body cause error

When i try create new resource but with empty body request i get that response:
	"errors": [
		{
			"status": "500",
			"title": "Internal Server Error"
		}
	],

local.ERROR: Expecting an array resource with a type field. {"userId":12,"exception":"[object] (InvalidArgumentException(code: 0): Expecting an array resource with a type field. at [...]\\vendor\\laravel-json-api\\core\\src\\Core\\Document\\ResourceObject.php:132)"}

Shouldn't I get a message from the document validator in this situation?

Yes you should. Not sure about this - will have to investigate.

I can't reproduce this - the code definitely does throw a correct error for an empty request. I get:
HTTP/1.1 400 Bad Request
Server: nginx/1.18.0 (Ubuntu)
Content-Type: application/vnd.api+json
Transfer-Encoding: chunked
Connection: keep-alive
Cache-Control: no-cache, private
Date: Sat, 03 Jul 2021 10:27:14 GMT
X-RateLimit-Limit: 60
X-RateLimit-Remaining: 59
Access-Control-Allow-Origin: *

{
  "jsonapi": {
    "version": "1.0"
  },
  "errors": [
    {
      "detail": "Expecting JSON to decode.",
      "status": "400",
      "title": "Invalid JSON"
    }
  ]
}

To progress this, I'll need to the full stack trace of your error. Nothing creates the ResourceObject class until after the body has been parsed against the JSON:API spec - so I need to see your stack trace to understand what's going on.

I found whrere is the problem. When you try to declare prepareForValidation in your Request class (which is child class of Laravel FormRequest) it happends. Problably because Laravel JSON API also override that method - it's unexpected behavior from the viewpoint of end dev, because that method should be possible to whithout siede effects.


[BUG] OSRAM Plug missing electrical measurement with version 0.0.52

Describe the bug
Since version 0.0.52, all of my 8 OSRAM plugs are no longer reporting electrical measurement via sensor entities.
Downgrading to version 0.0.51 resolves the issue.
This is with Home Assistant 2021.1.5 that comes with zigpy 0.30.0.
To Reproduce

Use Custom deps deployment to install zha-quirks==0.0.52 in /usr/share/hassio/homeassistant/deps/:pypi:
  - zha-quirks==0.0.52
apk: []

Restart Home Assistant
Navigate to OSRAM Plug device page
See missing sensor.

Expected behavior
Sensor of type "electrical_measurement" should appear for osram_plug_01 devices.
Screenshots
With 0.0.52:

With 0.0.51:

Additional context
Before 0.0.52, these plugs used to only report 400W when on (a friend of mine also reported he seen 40W with some low power loads but I never witnessed it despite trying it with low power LEDs lights) and 28000W when off (another weird behavior).
I hoped this was improved by https://github.com/zigpy/zha-device-handlers/pull/723 that adds a specific quirk for this device which is why I was eager to try 0.0.52, but it seems worse.
Maybe a firmware version issue?

#723 removed the electrical measurement because device does not report valid data on it.

#723 removed the electrical measurement because device does not report valid data on it.

So the question becomes who is right? Do they report valid data or not?

So the question becomes who is right? Do they report valid data or not?

#723 removed the electrical measurement because device does not report valid data on it.

Ok, I really misunderstood the PR description and did not look at the code change :upside_down_face:

So the question becomes who is right? Do they report valid data or not?

Well, data is there, not much accurate, but there.
Is there any log I could capture to help here?

#723 removed the electrical measurement because device does not report valid data on it.

Ok, I really misunderstood the PR description and did not look at the code change :upside_down_face:

So the question becomes who is right? Do they report valid data or not?

Well, data is there, not much accurate, but there.
Is there any log I could capture to help here?

 When I added this A19 lightbulb to ZHA, ZHA included an electrical measurement attribute, see below. Pretty sure it does not have such, and sure hope this bulb is not using 1,600 watts:
- type: entities
  entities:
    - sensor.osram_lightify_a19_tunable_white_01_electrical_measurement
- type: light
  entity: light.osram_lightify_a19_tunable_white_01_level_light_color_on_off

Perhaps this should be under its own topic. When I added this A19 lightbulb to ZHA, ZHA included an electrical measurement attribute, see below. Pretty sure it does not have such, and sure hope this bulb is not using 1,600 watts:
- type: entities
  entities:
    - sensor.osram_lightify_a19_tunable_white_01_electrical_measurement
- type: light
  entity: light.osram_lightify_a19_tunable_white_01_level_light_color_on_off

Maybe some conversion issue somewhere affecting all Osram devices measurements?

Maybe some conversion issue somewhere affecting all Osram devices measurements?

Bit off topic. But as I reviewed the debug level of logs as  attempts to apply quirks, if I read these correctly it seems like zigpy tries to apply every quirk it has (?) to each of my devices. Then if it finds something that 'matches' it applies it. Am I reading this logic correctly? Seems like this will not scale too well, and second as maybe is shown here can incorrectly apply quirks.

Bit off topic. But as I reviewed the debug level of logs as  attempts to apply quirks, if I read these correctly it seems like zigpy tries to apply every quirk it has (?) to each of my devices. Then if it finds something that 'matches' it applies it. Am I reading this logic correctly? Seems like this will not scale too well, and second as maybe is shown here can incorrectly apply quirks.

OSRAM plug does not report valid consumption, afaik.
It reports fixed 400W when ON, and fixed 28000W when OFF for me.

OSRAM plug does not report valid consumption, afaik.
It reports fixed 400W when ON, and fixed 28000W when OFF for me.

Ok then, let's close this issue.

Ok then, let's close this issue.


Allow URadio to accept a type of object

Description
I would like to pass in a object to the URadio component. Currently it throws a warning but works as expected
Invalid prop: type check failed for prop "value". Expected String | Number | Boolean, got Object

Additional context
No response

@benjamincanac any thoughts?


Filtering

I'm developing a branch with some modifications and whilst testing the filtering I think I have discovered an error. The component builds OR and AND condititions. I'm not really sure what the need for the AND condition is but it looks to be set as follows:
if ($this->_tableName == $association) {
     $this->config('conditionsAnd', $condition); // merges
} else {
     ....
 }

So any columns of the base table which are searchable will be applied as AND's. This pretty much ensures that no results can ever be returned after filtering. This is in addition to the OR condition that is always built in addition and which results in a complex conditional statement which won't ever in reality be matched.
For example consider this condition which is generated as a result of 4 simple columns,
WHERE      (
                      listings.id LIKE :c1
           AND        listings.description LIKE :c2
           AND        listings.location LIKE :c3
           AND        (
                                 listings.description LIKE :c4
                      OR         listings.location LIKE :c5)
           AND        (
                                 listings.description LIKE :c6
                      OR         listings.location LIKE :c7

This looks to be the work of the original author and not this fork so likely this feature hasn't ever worked.
Could you confirm that my finding is correct and I've not missed something.
TY!

I once reworked the condition stuff and tested it. It worked properly back then and I never changed anything afterwards. The And-conditions always match the respective column only and not all columns.
The call to per-column filtering is:
$this->_addCondition($column['name'], $column['search']['value']);
However, the call for the global filter is:
$this->_addCondition($column['name'], $globalSearch, 'or');

Hi - thanks for the clarification. I actually had not seen the column search feature before reading your reply. This has cleared up a lot of the issues I had been experiencing, initially I had mis-understood what the component was doing it's now clear to see.
So I've now managed to get this working, my implementation working fully. It actually only uses your DataTables component file with some modifications so that the variables I send are correctly mapped to the methods of the component. This approach doesn't require the helper of your plugin since I'm using Angular for the front-end generation.
Should I create a Branch for my implementation? Also happy to create the readme to show how this can be setup.

Yes that would be a nice thing to do. I am sure other users of Cake + Angular would be interested.


Fatal error when cloning (sometimes)

When I tried to clone the model on August 3 this happened:
nobackup/geos-new> mepo clone -b feature/esherman/gocart2g_aerochemUpdates_v10.17.6 git@github.com:GEOS-ESM/GEOSgcm.git
env                    | (t) v3.2.0
cmake                  | (t) v3.3.9
ecbuild                | (t) geos/v1.0.6
fatal: cannot change to '/gpfsm/dnb32/okemppin/geos-new/./src/Shared/@NCEP_Shared': No such file or directory
The issue happened 10-20 times during the day when I tried (including after fresh logins). During that time other colleagues verified that they can run the exact same command, and I also verified I get the same error when trying a different branch. This was not in a batch session but a regular discover login. I have used mepo clone -b in the past without issues. There was also plenty of space available on the disk.
Later the same day (past 5pm) everything worked without any issues without me changing anything from the past tries and I managed to clone the model.

@okemppin This definitely makes me think this is a filesystem or other system fault. Really all mepo is doing at this point is a git clone so it's like git clone failed?
You said you have enough disk space. How about your inodes? How are you doing on those?

@mathomp4 I was able to do a regular git clone for the GEOSgcm fixture at that time, and mepo did clone some files (the fixture I think) successfully before the crash. I should have tested the same command on a different server as a sanity check but I didn't think of it, but I also thought it was a discover file or other system issue that was somehow only afflicting me and not the other people who tried it. I have plenty of inode allowance free so that is likely not the explanation.
Unfortunately I have never seen this issue before or after that day so I have no idea on how to reproduce it.

@okemppin So weird. My only other thought is sometimes I see weird things on discover if the TMPDIR space (or /tmp) is full. It's possible git is using a temp space for some actions and if it is full, maybe random commands fail?
I guess if it happens again, try and record the head node it happened on. Then we can maybe try and figure why that node is different?

@mathomp4 Will do. Thanks!

@okemppin And thanks to you for using mepo. It is possible there is a bug in it. I'm...not the best Python programmer. 😄


OAuth2 Refresh Tokens

I have implemented the following process flow:

Try to authorize the client, using this function:

function _authorise(mailBox, callback) {
  let auth = new googleAuth();

  let clientId = eval(`process.env.GMAIL_API_CLIENT_ID_${mailBox.toUpperCase()}`);
  let clientSecret = eval(`process.env.GMAIL_API_CLIENT_SECRET_${mailBox.toUpperCase()}`);
  let redirectUri = eval(`process.env.GMAIL_API_REDIRECT_URI_${mailBox.toUpperCase()}`);
  let tokenFile = process.env.GMAIL_API_TOKEN_PATH + mailBox.toLowerCase()+ process.env.GMAIL_API_TOKEN_BASE_FILE_NAME;

  let oauth2Client = new auth.OAuth2(clientId, clientSecret, redirectUri);
  fs.readFile(tokenFile, ((err, token) => {
    if (err) {
      _getNewToken(mailBox,oauth2Client,callback);
    } else {
      oauth2Client.credentials = JSON.parse(token);
      callback(oauth2Client);
    }
  }))
}

The method will check for existence of a token in a file. If the file is NOT found, the following functions will create the file:

function _getNewToken(mailBox, oauth2Client, callback) {
  var authUrl = oauth2Client.generateAuthUrl({
    access_type: 'offline',
    scope: process.env.GMAIL_API_SCOPES
  });
  console.log('To authorize this app, please use this url: ', authUrl);
  var rl = readline.createInterface({
    input: process.stdin,
    output: process.stdout
  });
  rl.question('Enter the code from that page here: ', ((code) => {
    rl.close();
    oauth2Client.getToken(code, function(err, token) {
      if (err) {
        console.log('Error while trying to retrieve access token', err);
        return;
      }
      oauth2Client.credentials = token;
      _storeToken(mailBox,token);
      callback(oauth2Client);
    });
  }));
}

function _storeToken(mailBox, token) {
  let tokenFile = process.env.GMAIL_API_TOKEN_PATH + mailBox.toLowerCase()+ process.env.GMAIL_API_TOKEN_BASE_FILE_NAME;
  fs.writeFile(tokenFile, JSON.stringify(token));
}

i  am using https://www.googleapis.com/auth/gmail.readonly as the scopes.

Here's a sample of the file created:
{"access_token":"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx","token_type":"Bearer","refresh_token":"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx","expiry_date":1460509994081}

When processed, here's a sample of the auth object that is returned:
OAuth2Client {
  transporter: DefaultTransporter {},
  clientId_: 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.apps.googleusercontent.com',
  clientSecret_: 'xxxxxxxxxxxxxxxxxxxxxxxx',
  redirectUri_: 'urn:ietf:wg:oauth:2.0:oob',
  opts: {},
  credentials: {
access_token: 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
     token_type: 'Bearer',
     refresh_token: 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
     expiry_date:<PHONE_NUMBER>081
  }
}

If I delete the file, and go through the manual consent process, then the authentication works 100%, until the token expires. After this, I get the "Invalid Credentials" message.
My assumption is that once the token expires, that the refresh token should auto recreate the access token. Am I missing something?

I have discovered the getAccessToken method, which will check the access_token, and use it, unless it has expired, in which case it will use the refresh_token to generate a new access_token.

I have discovered the getAccessToken method, which will check the access_token, and use it, unless it has expired, in which case it will use the refresh_token to generate a new access_token.

but how any snippet? asking for callback


add script and queries to produce daily histograms by continent-country-region-year

This PR adds the queries and shell script that produces:

Daily histograms and statistics for each continent-country-region geography over a selected date range

Results saved in: measurement-lab.mlab_statistics.continent_country_region_histogram
JSON format output in a public GCS bucket following this pattern:

/ <continent_code> / <country_code> / <region_code> / <year> / histogram_daily_stats.json

This change is

statistics/queries/continent_country_region_histogram.sql, line 62 at r1 (raw file):
Previously, stephen-soltesz (Stephen Soltesz) wrote…
My understanding is that an average of averages is usually wrong. I believe it is a mistake in this case also.
https://www.google.com/search?q=statistics+average+of+averages
I might suggest an avg of all median values instead.
A min of mins, max of maxes, and Q of Qs are kosher, iiuc. But they mean something slightly different than someone might expect. That's easy to fix with a note in any public documentation or description.

I would like our team members with deeper statistics experience to review all these queries. I've been using "median of daily, per-ip medians" as an approach to reduce skew from many tests from very slow/fast clients, but it's not perfect, and apparently not correct with means. In any case, public documentation works, but our team needs to decide how to best represent our data statistically, and I'll follow that recommendation.

statistics/queries/continent_country_region_histogram.sql, line 43 at r1 (raw file):
Previously, stephen-soltesz (Stephen Soltesz) wrote…
This is optional: rather than using the aggregation name as the prefix, use it as a suffix. i.e.
download_MIN
download_MAX
download_AVG
download_Q25
download_Q50
download_Q75

This is kind of a prometheus-ism (https://prometheus.io/docs/practices/rules/) and kind of a style preference b/c it allows the names to line up easily as above, and a littler more consistently in the SELECT.
And, a reason for considering things like this is not b/c I'm saying so but to imagine how to make the logic and intention of the logic clear or self-evident to the next person who needs to read and modify the code.

makes sense.

statistics/queries/continent_country_region_histogram.sql, line 52 at r1 (raw file):
Previously, stephen-soltesz (Stephen Soltesz) wrote…
In most cases perday is a single word. For consistency, I suggest using a single word here also.

ack

statistics/queries/continent_country_region_histogram.sql, line 69 at r1 (raw file):
Previously, stephen-soltesz (Stephen Soltesz) wrote…
This query is also "perday". Perhaps like dl_stats_perip_perday this could be dl_total_samples_pergeo_perday?

ack

statistics/queries/continent_country_region_histogram.sql, line 80 at r1 (raw file):
Previously, stephen-soltesz (Stephen Soltesz) wrote…
Please rephrase. I don't understand, "Max DL Maximum measured value". Probably just a typo.

it's a typo. does this make sense?:  "Now generate the daily histograms of the Maximum measured download speed, per IP, per day."

statistics/queries/continent_country_region_histogram.sql, line 81 at r1 (raw file):
Previously, stephen-soltesz (Stephen Soltesz) wrote…
Is this different from the max values calculated by dl_stats_perip_perday? Can this query be eliminated?
From the SRE book, we learned the idea that all code implicitly requires a maintenance cost. So, less code, means less maintenance (as long as it's clear). Sometimes extra code can add clarity. Which is more helpful here?
I think this would be clearer if removed, if that's possible.

They are different. dl_stats_perip_perday and then dl_stats_per_day provide the MIN, Q25, MEDIAN, MEAN, Q75 and MAX values for that geo/day.  max_dl_per_day_ip and subsequent sub-queries are computing the histogram of just MAX. They need to be separate sub-queries (I think) because the Histogram is of one metric. I could simplify this subquery (maybe) by pulling MAX from dl_stats_per_day instead of dl_per_location_cleaned. I guess I made them completely separate because it was logically easier to understand I was doing two different things with the same source data.

statistics/queries/continent_country_region_histogram.sql, line 100 at r1 (raw file):
Previously, stephen-soltesz (Stephen Soltesz) wrote…
While the schema is identical, the FROM table is different from dl_total_samples_per_geo. Please add a comment to help the reader understand why this is needed in addition to dl_total_samples_per_geo.
Or, can this be eliminated also in favor of dl_total_samples_per_geo?
If part of the concern is efficiency, the BQ parser / optimizer is very good about dropping expressions that aren't used. So, unused calculations won't be performed.

They are different. [dl|ul]_total_samples_per_geo are the total samples for that day. [dl|ul]_sample_counts are the counts used in the histograms, per bucket. Maybe there's some efficiency to gain and I'm too close to these queries to see what should be done right now.

statistics/queries/continent_country_region_histogram.sql, line 131 at r1 (raw file):
Previously, stephen-soltesz (Stephen Soltesz) wrote…
nit: please put "bucket_left" on the left and "bucket_right" on the right :)
Or, better, is it possible to use a BETWEEN expression here? i.e. COUNTIF( mbps BETWEEN bucket_left AND bucket_right)

sure.

statistics/queries/continent_country_region_histogram.sql, line 144 at r1 (raw file):
Previously, stephen-soltesz (Stephen Soltesz) wrote…
nit: there appear to be various EOL spaces in random places. Please remove them.
If it's helpful, I can provide specific tips for settings in VIM or VSCode to highlight or remove these automatically.

I use Sublime text, so VIM or VSCode settings won't help. I don't see these in my IDE.

statistics/queries/continent_country_region_histogram.sql, line 160 at r1 (raw file):
Previously, stephen-soltesz (Stephen Soltesz) wrote…
I've not looked at the upload queries yet, but any comments above that apply below, please apply to the upload queries also. I'll review them all on the next round.

ack

statistics/queries/get_continent_country_region_codes.sql, line 4 at r1 (raw file):
Previously, stephen-soltesz (Stephen Soltesz) wrote…
Clarifying: this field has the same name as the one from the innermost query above dl_per_location, but that one always CONCAT()'s two values. What do you think of using a different name in one case or the other? IIUC, they would never match or be distinct sets, correct?

I suppose this makes sense since it distinguishes the format. This query is only used to grab a list of recent continent-country-region code combinations, and saved locally, then used within another query as variables. If it makes sense to name it differently, then region is probably best since that's it's name in the schema.

statistics/queries/get_continent_country_region_codes.sql, line 7 at r1 (raw file):
Previously, stephen-soltesz (Stephen Soltesz) wrote…
nit: please indent all clauses that are part of the WHERE clause, so that they are visually distinguished from the query keywords.

ack

statistics/queries/continent_country_region_histogram.sql, line 62 at r1 (raw file):
Previously, critzo wrote…
I would like our team members with deeper statistics experience to review all these queries. I've been using "median of daily, per-ip medians" as an approach to reduce skew from many tests from very slow/fast clients, but it's not perfect, and apparently not correct with means. In any case, public documentation works, but our team needs to decide how to best represent our data statistically, and I'll follow that recommendation.

@mattmathis do you agree that I should use the Average of median values here?

statistics/queries/continent_country_region_histogram.sql, line 100 at r1 (raw file):
Previously, critzo wrote…
They are different. [dl|ul]_total_samples_per_geo are the total samples for that day. [dl|ul]_sample_counts are the counts used in the histograms, per bucket. Maybe there's some efficiency to gain and I'm too close to these queries to see what should be done right now.

After further review this morning, I can confirm that both these are needed. A comment will be added to explain the difference between these two sub-queries.

statistics/queries/continent_country_region_histogram.sql, line 144 at r1 (raw file):
Previously, critzo wrote…
I use Sublime text, so VIM or VSCode settings won't help. I don't see these in my IDE.

most of these were the result of putting selected and grouped fields on single lines for readability, but left behind trailing EOL space. I'll remove them in an upcoming commit.

statistics/queries/continent_country_region_histogram.sql, line 160 at r1 (raw file):
Previously, critzo wrote…
ack

They are largely the same, and I'll be adding a commit shortly to address the comments relevant from the download queries for the upload ones as well.

statistics/queries/continent_country_region_histogram.sql, line 43 at r1 (raw file):
Previously, critzo wrote…
makes sense.

Done.

statistics/queries/continent_country_region_histogram.sql, line 52 at r1 (raw file):
Previously, critzo wrote…
ack

Done.

statistics/queries/continent_country_region_histogram.sql, line 62 at r1 (raw file):
Previously, critzo wrote…
@mattmathis do you agree that I should use the Average of median values here?

I've updated the query to use AVG of daily per IP medians instead of average of averages.

statistics/queries/continent_country_region_histogram.sql, line 69 at r1 (raw file):
Previously, critzo wrote…
ack

Done.

statistics/queries/continent_country_region_histogram.sql, line 80 at r1 (raw file):
Previously, critzo wrote…
it's a typo. does this make sense?:  "Now generate the daily histograms of the Maximum measured download speed, per IP, per day."

Rephrased. Please let me know if this makes the comment clearer.

statistics/queries/continent_country_region_histogram.sql, line 80 at r1 (raw file):
Previously, critzo wrote…
Rephrased. Please let me know if this makes the comment clearer.

Done.

statistics/queries/continent_country_region_histogram.sql, line 81 at r1 (raw file):
Previously, critzo wrote…
They are different. dl_stats_perip_perday and then dl_stats_per_day provide the MIN, Q25, MEDIAN, MEAN, Q75 and MAX values for that geo/day.  max_dl_per_day_ip and subsequent sub-queries are computing the histogram of just MAX. They need to be separate sub-queries (I think) because the Histogram is of one metric. I could simplify this subquery (maybe) by pulling MAX from dl_stats_per_day instead of dl_per_location_cleaned. I guess I made them completely separate because it was logically easier to understand I was doing two different things with the same source data.

I have kept these separate. The reason is that I want the histogram sub-queries to logically point back to the same source data selection as the statistics, and this logically makes sense.

statistics/queries/continent_country_region_histogram.sql, line 100 at r1 (raw file):
Previously, critzo wrote…
After further review this morning, I can confirm that both these are needed. A comment will be added to explain the difference between these two sub-queries.

Done.

statistics/queries/continent_country_region_histogram.sql, line 160 at r1 (raw file):
Previously, critzo wrote…
They are largely the same, and I'll be adding a commit shortly to address the comments relevant from the download queries for the upload ones as well.

Done.

statistics/queries/get_continent_country_region_codes.sql, line 4 at r1 (raw file):
Previously, critzo wrote…
I suppose this makes sense since it distinguishes the format. This query is only used to grab a list of recent continent-country-region code combinations, and saved locally, then used within another query as variables. If it makes sense to name it differently, then region is probably best since that's it's name in the schema.

Done.

statistics/queries/continent_country_region_histogram.sql, line 145 at r2 (raw file):
Previously, stephen-soltesz (Stephen Soltesz) wrote…
I imagine that it was difficult to create this table.
Unfortunately, it's currently difficult to interpret. It looks like a two column list is continued in the third and fourth columns, rather than row by row.
Rather than enumerating all values, I suggest simply illustrating how the logarithmic sequence begins: e.g.
"Five steps per logarithmic decade, from 0.63 to 10000, i.e. 0.63, 1.0, 1.58, 2.51, 3.98, 6.30, 10.0, ..."

makes sense.

statistics/queries/get_continent_country_region_codes.sql, line 2 at r2 (raw file):
Previously, stephen-soltesz (Stephen Soltesz) wrote…
nit: nit: we should standardize on spaces or tabs. I suggest spaces, since the other file is all spaces.

ack

statistics/queries/get_continent_country_region_codes.sql, line 6 at r2 (raw file):
Previously, stephen-soltesz (Stephen Soltesz) wrote…
nit: EOL space!

ack

statistics/scripts/update_stats_continent_country_region_histogram.sh, line 1 at r2 (raw file):
Previously, stephen-soltesz (Stephen Soltesz) wrote…
As a high level comment, my opinion is that the complexity of what this script is doing has passed what it's appropriate for us to use bash to do -- that is to say that it's harder to read and maintain than the equivalent in python or Go. There are nested loops, complex job control, arrays. I have second thoughts whenever a bash script has a single for loop. :)

Agreed. This script is not the right final tool. I'm using it to provide data in the expected format for the viz site development, knowing it will need to be rewritten.

statistics/scripts/update_stats_continent_country_region_histogram.sh, line 21 at r2 (raw file):
Previously, stephen-soltesz (Stephen Soltesz) wrote…
All of option 1 is commented out. What is the plan for this? If it's not needed, please remove.

Realistically these options should be selected using flags, but for expediency I've commented out the one not in use. Option 1 is the behavior I intend to be enabled for a scheduled job that regularly updates the daily statistics. Option 2 is more for pulling past data, for example a year at a time. So in practice I would expect to use option 2 a couple times to get "caught up" to the current year, then enable option 2 to run perhaps weekly as a schedule job.

statistics/scripts/update_stats_continent_country_region_histogram.sh, line 6 at r2 (raw file):
Previously, stephen-soltesz (Stephen Soltesz) wrote…
If you're using a GCP load balancer to make the bucket content available, then I suggest using a more specific and project-decorated name. e.g. region-stats-$PROJECT for the bucket.
This will allow sandbox or staging deployments easily, and the backend bucket name is hidden from users of the public, loadbalanced DNS name.

We can do that. I think that having a production bucket with a FQDN on our domain is better than a project named bucket. Why would we want to hide the backend bucket name?

statistics/scripts/update_stats_continent_country_region_histogram.sh, line 87 at r2 (raw file):
Previously, stephen-soltesz (Stephen Soltesz) wrote…
Right now there is only one query_jobs value. Do you anticipate more? Will they use different parameters than the ones below?
I'm wondering if it might help simplify the script a little now to eliminate the outer for loop in favor of setting RESULT_NAME to the constant continent_country_region_histogram?

Sure. The script has been written such that multiple queries could be run one after the other. It could be simplified in this case as you describe.

statistics/scripts/update_stats_continent_country_region_histogram.sh, line 92 at r2 (raw file):
Previously, stephen-soltesz (Stephen Soltesz) wrote…
Please make sure comments are up to date. (I'm not sure what "temp table" is referring to, or when it's created.)

ack

statistics/scripts/update_stats_continent_country_region_histogram.sh, line 103 at r2 (raw file):
Previously, stephen-soltesz (Stephen Soltesz) wrote…
I had to lookup what this syntax does (strip the prefix text from the job_id). Please add a simple comment.

ack

statistics/scripts/update_stats_continent_country_region_histogram.sh, line 117 at r2 (raw file):
Previously, stephen-soltesz (Stephen Soltesz) wrote…
Is this comment up to date?

no, it's not. will remove.

statistics/scripts/update_stats_continent_country_region_histogram.sh, line 124 at r2 (raw file):
Previously, stephen-soltesz (Stephen Soltesz) wrote…
JOB_ID2 is not used. Is it needed? This is a foreground job, right?

Yes, it's a foreground job, and I just left the format from copying a back-grounded query.

statistics/scripts/update_stats_continent_country_region_histogram.sh, line 133 at r2 (raw file):
Previously, stephen-soltesz (Stephen Soltesz) wrote…
Rather than creating and removing a GCS bucket, I suggest picking a stable prefix name that this script depends on, and cleaning the content of the bucket before entering the processing loop.
Some reasons for this:

allows using the "project-decorated" name convention, i.e. temp-stats-measurement-lab.
project decorated names allow mlab-staging or mlab-sandbox deployments without special exceptions.
prevents an adversary from squatting on the name (since it's a global namespace).

ok

statistics/scripts/update_stats_continent_country_region_histogram.sh, line 133 at r2 (raw file):
Previously, stephen-soltesz (Stephen Soltesz) wrote…
I suggest storing the output bucket in a variable. e.g.
TEMPBUCKET="temp-stats-$PROJECT"

ok

statistics/scripts/update_stats_continent_country_region_histogram.sh, line 146 at r2 (raw file):
Previously, stephen-soltesz (Stephen Soltesz) wrote…
Can this query be externalized like queries/${QUERY} above? In this form, it's difficult to read or maintain (or for me to tell if it's correct).

I tried it that way, but parameterized queries weren't working using that method, so Peter suggested that I write out the query here.

statistics/scripts/update_stats_continent_country_region_histogram.sh, line 158 at r2 (raw file):
Previously, stephen-soltesz (Stephen Soltesz) wrote…
/v0/...
Also, EOL spaces :)

ack

statistics/scripts/update_stats_continent_country_region_histogram.sh, line 168 at r2 (raw file):
Previously, stephen-soltesz (Stephen Soltesz) wrote…
I'm confused about the project switch. Which project is the PUB_LOC bucket in? I thought it was measurement-lab?
Either way, does gsutil cp care?

gsutil maybe doesn't but bq extract  won't let you extract table contents across projects.
PUB_LOC is in mlab-oti. All data is in measurement-lab. So the workflow is:

pull data from measurement-lab to a BQ table
query that table for the histogram stats, save to a temp table
extract temp table contents to a bucket
download bucket contents and parse them to be in JSON array format instead of new line JSON
change projects
upload parsed JSON to public bucket

statistics/scripts/update_stats_continent_country_region_histogram.sh, line 183 at r2 (raw file):
Previously, stephen-soltesz (Stephen Soltesz) wrote…
Currently the content of QUALIFIED_TABLE is appended to. Does it need to be reset also?
I recommend doing operations like this (assuming we adopt the static bucket strategy) to remove temp objects and temp rows before entering the main processing loop, rather than doing this as a last step (which might not run if there were an error or abort earlier).

I think we should regroup on this and talk about what a better, non Bash version of this script looks like. The appending is an issue because (as I found out over the weekend), apparently there is a quota on imports or query appends that I hit:
Quota exceeded: Your table exceeded quota for imports or query appends per table. For more information, see https://cloud.google.com/bigquery/troubleshooting-errors'

@robertodauria The latest commit in this branch provides a working script for continent-country-region histogram data.

re: WIP, yes of course. I'll remove them from the PR.

statistics/queries/continent_country_region_histogram.sql, line 13 at r3 (raw file):
Previously, robertodauria (Roberto D'Auria) wrote…
I think this should filter by client.geo.region != "" AND client.geo.region IS NOT NULL.
The current query generates rows with ISO316_2region1 values like US- where the region is NULL.

ack. will address in next commit.

statistics/scripts/update_stats_continent_country_region_histogram.sh, line 21 at r2 (raw file):
Previously, stephen-soltesz (Stephen Soltesz) wrote…
If they're sufficiently different they might be better as separate scripts. If they're mostly the same steps, perhaps they could be combined with a few small conditionals for the two cases.

Just closing the loop on open comments: bash is being replaced by a Go module, which will address the needed options for running the queries.

statistics/scripts/update_stats_continent_country_region_histogram.sh, line 92 at r2 (raw file):
Previously, critzo wrote…
ack

Just closing the loop on open comments: bash is being replaced by a Go module, which will address the needed options for running the queries.

statistics/scripts/update_stats_continent_country_region_histogram.sh, line 103 at r2 (raw file):
Previously, critzo wrote…
ack

Just closing the loop on open comments: bash is being replaced by a Go module, which will address the needed options for running the queries.

statistics/scripts/update_stats_continent_country_region_histogram.sh, line 117 at r2 (raw file):
Previously, critzo wrote…
no, it's not. will remove.

Just closing the loop on open comments: bash is being replaced by a Go module, which will address the needed options for running the queries.

statistics/scripts/update_stats_continent_country_region_histogram.sh, line 146 at r2 (raw file):
Previously, stephen-soltesz (Stephen Soltesz) wrote…
Bummer. Is is possible to line wrap / format the inline query? It's just very hard to read as is. Which means it's hard to maintain or to tell if it's correct.

Just closing the loop on open comments: bash is being replaced by a Go module, which will address the needed options for running the queries.

statistics/scripts/update_stats_continent_country_region_histogram.sh, line 168 at r2 (raw file):
Previously, stephen-soltesz (Stephen Soltesz) wrote…
Project-decorated buckets could help eliminate this confusion.
I believe the config/project change is not necessary.

Just closing the loop on open comments: bash is being replaced by a Go module, which will address the needed options for running the queries.

statistics/scripts/update_stats_continent_country_region_histogram.sh, line 183 at r2 (raw file):
Previously, stephen-soltesz (Stephen Soltesz) wrote…
Uh oh!
Also, I think a higher-level feedback about this is that the experimentation with bucket names and table locations should be happening in sandbox first rather than a production project.

Just closing the loop on open comments: bash is being replaced by a Go module, which will address the needed options for running the queries.

statistics/scripts/update_stats_continent_country_region_histogram.sh, line 6 at r2 (raw file):
Previously, stephen-soltesz (Stephen Soltesz) wrote…
Consistency makes new things easier to reason about, and the system as a whole easier to understand.
The motivation behind my work in uniform names, standard columns, and related conventions throughout the project is to eliminate "special exceptions" -- because these add up, and in aggregate make the system harder to reason about or for a new person introducted to the system to understand. If we use the same convention in every project, then there is nothing special, and once you learn the rule "-" you know what it is. By convention that name is the repo that manages the data in the bucket. So, in this case, I'd recommend "data-pipeline-" ("region-stats" was a name I made up forgetting about the existing convention to use the repo name) -- that way it's a globally unique name with a pointer to where to learn more information. How does that sound?

Just closing the loop on open comments: bash is being replaced by a Go module, which will address the needed options for running the queries.


Adds Distribution custom resource

Issue: https://github.com/aws-controllers-k8s/community/issues/1915
Bringing Jay's work from https://github.com/jaypipes/ack-cloudfront-controller
Description of changes:

Adds Distribution resource
Adds necessary hooks
Adds e2e tests

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Note to reviews: This needs a manual merge.


Cannot find libssh2

Host Environment

OS:  Windows 10
Compiler: Visual Studio 2015, 2017 and 2019

To Reproduce
Steps to reproduce the behavior:
./vcpkg install libssh2:x86-windows-static

Failure logs
-- Selecting Windows SDK version 10.0.17763.0 to target Windows 10.0.19042.
CMake Error at D:/Development/c/tools/vcpkg/scripts/buildsystems/vcpkg.cmake:634 (_find_package):
  Could not find a package configuration file provided by "Libssh2" with any
  of the following names:

    Libssh2Config.cmake
    libssh2-config.cmake

  Add the installation prefix of "Libssh2" to CMAKE_PREFIX_PATH or set
  "Libssh2_DIR" to a directory containing one of the above files.  If
  "Libssh2" provides a separate development package or SDK, be sure it has
  been installed.
Call Stack (most recent call first):
  CMakeLists.txt:5 (find_package)

Additional context
I had this issue before, see #2233

Hi @simon-p-r
Thanks for posting this issue.
Could you please help confirm if you have set CMAKE_TOOLCHAIN_FILE and VCPKG_TARGET_TRIPLET?

Hi @simon-p-r
Thanks for posting this issue.
Could you please help confirm if you have set CMAKE_TOOLCHAIN_FILE and VCPKG_TARGET_TRIPLET?

I reinstalled vcpkg and it is working, problem was with VCPKG_TARGET_TRIPLET.  However I am getting WinHttpSendRequest() failed: 12029 errors when downloading tools, I have manually downloaded for now

I reinstalled vcpkg and it is working, problem was with VCPKG_TARGET_TRIPLET.  However I am getting WinHttpSendRequest() failed: 12029 errors when downloading tools, I have manually downloaded for now


New (and renumbered) opcodes

Tracking https://github.com/WebAssembly/simd/pull/452

https://github.com/wasdk/wasmparser/blob/master/src/WasmParser.ts#L317-L501 is using 0xfdXX opcode format -- we probably need to extend it to something like 0xfdXXXX

cc @ngzhian

If all goes well we won't need 0xfdXXXX :) (v8 has the same issue too)

Confirmed, we won't need to support 0xfdXXXX!

ref https://github.com/WebAssembly/simd/issues/480


表格文本列支持配置富文本提示

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
表格行数据中可能存在部分无需直接展示，但是又需要有入口能让用户查看的信息，不适合使用表格展示列功能，需要其它功能解决该问题。
Describe the solution you'd like
A clear and concise description of what you want to happen.

文本列支持配置富文本提示；
可以配置hover该行展示提示按钮或hover该单元格展示该提示按钮或一直展示该展示按钮；
提示中可以配置使用该行的数据。

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.
类比该卡片

同一个 https://github.com/JDFED/drip-table/issues/281


WSL2 does not start right away

Windows Build Number
Microsoft Windows [Version 10.0.19043.1110]
WSL Version

[X] WSL 2
[ ] WSL 1

Kernel Version
5.4.72
Distro Version
Ubuntu 20.04
Other Software
No response
Repro Steps

Repeatedly call wsl.exe -- (command) from a Windows program or script.
That's it! Not every wsl.exe call works. If you do this in a rapid succession, let's say four times a second, then probably out of 10 wsl.exe calls, 5 succeeded, while the other 5 failed as if nothing happened.

Expected Behavior
wsl.exe should start the requested program inside the WSL2 Linux distro right away.

Actual Behavior
Sometimes WSL2 does not want to start immediately. Instead it just bail out. This problem gets worse the more often I invoke the wsl.exe from a Windows program or script. As I was doing something here with a program, the problem is very easy to reproduce. As can be seen in this terminal, wsl.exe just does nothing after several attempts.

Note that this problem is not limited to 1904x builds, but all insider builds as well all the way to Windows 11 beta builds like 22000.
Diagnostic Logs
No response

/logs

I'm also having this issue. I was setting up a new Windows 10 2004 machine. I suspect the issue is caused by one of the Windows Updates.

@GrumpyMeow hmm, actually I have been experiencing this issue long time ago, around early 2004 release (19041.267). However, with this latest update, the problem is even more pronounced. Previously it would only fail in the script, but never failed on manual wsl invocation. This time it can fail consistently even with manual invocation and after the script has long been stopped. Will check again (and make a dump) when I got the chance to rapid fire WSL2 from my script.
The problem doesn't appear right away in my case. Has to do prolonged scripting WSL2 on a Windows app for it to appear. Once appeared, I can consistently reproduce it until next WSL2 shutdown.


NF-767 - Submit more than one claim type

Don't see why there would be new a11y issues - we already use the check-box component in several places


Scene Builder

Creating the list of scenes is more often than not a brainstorming. It works well if I were to write the list of scenes as a simple list, to then convert in a list of scenes automatically!

Idea
Create a Modal form which allows to quickly write a list of scenes. The scenes should have:

title
short description (goal)
Scene Type
Is Exciting

The scene builder should automatically display the SceneAnalyser result

Tasklist

[ ] Create Scene Builder Modal form and automate the creation/removal of lines
[ ] Add link builder on goals
[ ] Add Analyser to modal to display analysis in real time
[ ] Automatic generation of scenes


Cirrus: Run vendor check in parallel

This task is heavily network bound, and takes way too long to include
along with the gating task.  Separate it out and run it in parallel
to everything else.  Also add some reasonable timeouts.
Signed-off-by: Chris Evich<EMAIL_ADDRESS>

LGTM, thanks @cevich!
@baude @rhatdan @edsantiago PTAL

I don't grok Cirrus, so I won't slash-lgtm, but otherwise it looks reasonable to me.

/lgtm


⚠ SceneTime has degraded performance

In 35407e9, SceneTime ($ST) experienced degraded performance:

HTTP code: 200
Response time: 1312 ms

Resolved: SceneTime performance has improved in da9820d after 13 minutes.


Sort links alphabetically

Contribution guide states that Additions should be added in alphabetical order. Currently not all links are in that order.

Nicely spotted 👍
I updated the :octocat: contribution guidelines. I detailed my reasoning in #5. Would love your feedback if you disagree.


Increase NoDaemon timeout

Band-aid fix to solve issues with the NoDaemon Java17 Openjdk Windows Amd64 (platform-native,plugins,plugin-use,logging,integ-test,core,configuration-cache,composite-builds,build-init,architecture-test,execution) pipeline.

@bot-gradle test and merge please

Your PR is queued. See the queue page for details.

I've triggered a build for you.