inverse_transform() not implemented for disparate impact remover

I am running the disparate impact demo. The output is encoded data and columns, and there isn't any inverse_transform function implemented in the code, as is the often the case, or maybe I am missing something ?
I would need to have the old 15-16 columns for post processing analysis, and try to avoid doing the recovery manually!

You're correct that there is no inverse_transform function available. However, the original data (train or test in the demo) is unchanged by the fit_transform() function so you can still use that. Because of how the algorithm works, I don't think this would even be possible since there may be a many-to-one mapping in transform().


Make it responsive

Describe the bug
Nav icons are cut off at width: 320px

added resoonsive nav in #149


python env reported twice

Is there an existing issue for this?

[X] Yes, I have searched the existing issues
[X] Yes, I have checked troubleshooting page

The problem
my prompt looks like this:
(base)
~/ via 🅒 base
I am trying to get rid of the top line, which I think is redundant.
i tried
SPACESHIP_VENV_SHOW="false"
SPACESHIP_PYENV_SHOW="false"
neither made a difference.
also tried changing the prompt feature list.
Relevant Zsh configuration
No response
What is version of Spaceship are you using?
3.11.12
What is version of Zsh are you using?
zsh 5.8 (x86_64-pc-linux-gnu)
What operation system are you running?
Linux
Do you use any Zsh framework or plugin manager?
No response
Which terminal emulator do you use?
iterm
Additional information
No response

did you fix it?

not really.
I got down to one line, by adjusting the zshrc like this:
SPACESHIP_PROMPT_ORDER=(
time        # Time stamps section (Disabled)
#user          # Username section
dir           # Current directory section
#host          # Hostname section
git           # Git section (git_branch + git_status)
#hg            # Mercurial section (hg_branch  + hg_status)
package     # Package version (Disabled)
#node          # Node.js section
#ruby          # Ruby section
#elixir        # Elixir section
xcode       # Xcode section (Disabled)
#swift         # Swift section
#golang        # Go section
#php           # PHP section
#rust          # Rust section
#haskell       # Haskell Stack section
julia       # Julia section (Disabled)
docker      # Docker section (Disabled)
#aws           # Amazon Web Services section
#gcloud        # Google Cloud Platform section
#venv          # virtualenv section
conda         # conda virtualenv section
#pyenv         # Pyenv section
#dotnet        # .NET section
ember       # Ember.js section (Disabled)
#kubectl       # Kubectl context section
#terraform     # Terraform workspace section
#exec_time     # Execution time
line_sep      # Line break
battery       # Battery level and status
vi_mode     # Vi-mode indicator (Disabled)
jobs          # Background jobs indicator
exit_code     # Exit code section
char          # Prompt character
)
SPACESHIP_PROMPT_ADD_NEWLINE="false"
SPACESHIP_TIME_SHOW="true"
SPACESHIP_PROMPT_PREFIXES_SHOW="false"
but the prompt still has the conda environment twice:
(def-env) 13:52:05 ~   def-env
➜
thanks!

thanks so much
I think it may be a bug with SPACESHIP_PROMPT_ADD_NEWLINE

I have a similar issue.
In my case it's that there's no new line after a command execution but, rather, the name of the pyenv environment I'm working on in parenthesis:
08:30:08 in ~
[I] ➜ cd Desktop
(comp)

This worked for me!
export PYENV_VIRTUALENV_DISABLE_PROMPT=1

not for me:
`➜ echo ${PYENV_VIRTUALENV_DISABLE_PROMPT}
1
(base) 13:16:05 ~  base
➜`
thanks!

if you use conda conda config --set changeps1 False

Had the same issues as @jonathaw. The fix proposed by @AlvaroPata worked for me.

yes. had that issue with conda installed. https://stackoverflow.com/questions/55171696/how-to-remove-base-from-terminal-prompt-after-updating-conda - this helped

Seems like the problem is not related to Spaceship, but to venv itself


Node Provider: Fail when package-lock.json is found in .gitignore while running npm ci

Feature request
If there is already a package-lock.json file in the codebase, And user added package-lock.json to .gitignore by mistake
Running npm ci in this case will fail
It's better to detect such case up front. Raise a clear error about, With a suggestion on how to fix
For reference: https://github.com/railwayapp/nixpacks/blob/main/src/providers/node/mod.rs#L270
Motivation
No response
Contribution
No response

if no lockfile is detected, we don’t have to fail the build, instead we can display a warning and fall back to a normal non-locked installation

if no lockfile is detected, we don’t have to fail the build, instead we can display a warning and fall back to a normal non-locked installation

Would be a nice option as well!

Will we be able to warn the user if a certain file may have been added to . gitignore  by mistake? (like the issue we're discussing here)

I think that is out of scope to be completely honest. If a file is gitignored, we can't get access to it, thus we should just set it to false if the file exists and is gitignored.
However, we could make the function print a warning saying "file was found locally but is in gitignore, ignoring" or something like that. We shouldn't specialise this just to one file though, and it should be implemented into the function.

Yeah, that would achieve the same result but will cover any future cases as well (other than package-lock.json)

If the app includes_files read from the app that was copied into /tmp then it wouldn't be an issue anymore because ignored files are not copied. The problem is that currently the app reads from the original source but all those files might not get copied into the container.

For the record, Nixpacks has two modes

When --current-dir is passed, no files will be copied and all the files in code repo will be available to Nixpacks build command

When --current-dir is NOT passed, a temp direcotry will be created > files will be copied from cloned code (respecting .gitignore) > only files copied will be available to Nixpacks build command

After discussion, it would be better for Nixpacks  to keep this responsibility at the user side (speaking about deciding which files are available during the build), if some files are not needed. User can remove

@AhmedMozaly is there any way to replicate the --current-dir functionality on railway or via the nixpack config file? There are files in our .gitignore we rely on, but are being excluded due to this functionality.

You can pass --current-dir to Nixpacks and it won't copy your codebase to any where else
It will instead process all your files from the same target directory you specified
For example nixpacks build ./my-codebase --current-dir
Should make all the files under ./my-codebase available to Nixpacks
The only thing to notice, is that Nixpacks will create a .nixpacks directory under ./my-codebase (to write its output files to)
if ./my-codebase is a git repo, be aware that you may push .nixpacks directory by mistake

is there any way to replicate the --current-dir functionality on railway

Oh, just noticed you are referring to Railway build. We already planning to issue a fix this week!
Will keep you updated

@exPHAT It should be fixed now on Railway, kindly confirm!

@exPHAT It should be fixed now on Railway, kindly confirm!

Working now! Thank you!


logocert_api branch no module named uritemplate

I attempted to set up and run the logocert_api branch today on OSX, running Python 2.7.10, and when testcert.py executes, I get:
File "./testcert.py", line 49, in
import _sheets
File "/Users/kdlucas/src/logocert_api/cloudprint_logocert/_sheets.py", line 22, in
import _gdocs
File "/Users/kdlucas/src/logocert_api/cloudprint_logocert/_gdocs.py", line 31, in
from googleapiclient import discovery
File "/Library/Python/2.7/site-packages/googleapiclient/discovery.py", line 53, in
import uritemplate
ImportError: No module named uritemplate
The googleapiclient is installed. I try to debug a bit and find out what else needs to be installed.
I fixed the issue by installing uritemplate with:
sudo pip install uritemplate.py
I then got another error:
./testcert.py
Adding SystemUnderTest to list of suites to run
Adding Privet to list of suites to run
/Library/Python/2.7/site-packages/oauth2client/_helpers.py:255: UserWarning: Cannot access credentials.txt: No such file or directory
warnings.warn(_MISSING_FILE_MESSAGE.format(filename))
No handlers could be found for logger "oauth2client.client"
ERROR
ERROR: setUpModule (main)
Traceback (most recent call last):
File "./testcert.py", line 149, in setUpModule
getTokens()
File "./testcert.py", line 245, in getTokens
GetNewTokens()
File "./testcert.py", line 282, in GetNewTokens
creds = run_flow(flow, _storage, flags=flags,http=http)
File "/Library/Python/2.7/site-packages/oauth2client/_helpers.py", line 133, in positional_wrapper
return wrapped(*args, **kwargs)
File "/Library/Python/2.7/site-packages/oauth2client/tools.py", line 218, in run_flow
authorize_url = flow.step1_get_authorize_url()
File "/Library/Python/2.7/site-packages/oauth2client/_helpers.py", line 133, in positional_wrapper
return wrapped(*args, **kwargs)
File "/Library/Python/2.7/site-packages/oauth2client/client.py", line 1934, in step1_get_authorize_url
return _helpers.update_query_params(self.auth_uri, query_params)
File "/Library/Python/2.7/site-packages/oauth2client/_helpers.py", line 222, in update_query_params
parts = urllib.parse.urlparse(uri)
AttributeError: 'Module_six_moves_urllib_parse' object has no attribute 'urlparse'
I haven't yet figured out how to solve this.

Hi Kelly,
I would reply to you on GitHub but I am missing the 2-factor auth needed to
log in right now from my laptop.
I encountered this same issue on my Mac laptop running OSX El Capitan
10.11.6.
It seems that the OS does not allow the 'six' library to be updated. This
is because the OS has its own 'six.py' located under
/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7
which is not modifiable.
By default, the aforementtioned location is checked before the
site-packages location where user installed packages live, therefore the
out-of-date six.py is used. By setting the PYTHONPATH env variable, we can
force the site-packages to be searched first, and this allowed me to get
past the error.
Either run the following each time you open a new terminal or add to your
bash profile:
export PYTHONPATH=/Library/Python/2.7/site-packages
Hope this fixes it for you!
Cheers,
Kevin
On Thu, Dec 22, 2016 at 7:28 PM, Kelly Lucas<EMAIL_ADDRESS>wrote:

Assigned #96 https://github.com/google/cloudprint_logocert/issues/96 to
@lrbom https://github.com/lrbom.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/google/cloudprint_logocert/issues/96#event-903735994,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AWK4F2S9Gh_rJBkJwaxnDx1PPx0eoanRks5rKz_mgaJpZM4LUjVi
.

I think we should either document this or change our code so this doesn't
become an issue. I'm traveling now but when I get back home from vacation
I'll try it.
Kelly
kdLucas
On Fri, Dec 23, 2016 at 8:42 PM, lrbom<EMAIL_ADDRESS>wrote:

Hi Kelly,
I would reply to you on GitHub but I am missing the 2-factor auth needed to
log in right now from my laptop.
I encountered this same issue on my Mac laptop running OSX El Capitan
10.11.6.
It seems that the OS does not allow the 'six' library to be updated. This
is because the OS has its own 'six.py' located under
/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7
which is not modifiable.
By default, the aforementtioned location is checked before the
site-packages location where user installed packages live, therefore the
out-of-date six.py is used. By setting the PYTHONPATH env variable, we can
force the site-packages to be searched first, and this allowed me to get
past the error.
Either run the following each time you open a new terminal or add to your
bash profile:
export PYTHONPATH=/Library/Python/2.7/site-packages
Hope this fixes it for you!
Cheers,
Kevin
On Thu, Dec 22, 2016 at 7:28 PM, Kelly Lucas<EMAIL_ADDRESS>wrote:

Assigned #96 https://github.com/google/cloudprint_logocert/issues/96
to
@lrbom https://github.com/lrbom.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<https://github.com/google/cloudprint_logocert/issues/96#event-903735994
,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AWK4F2S9Gh_
rJBkJwaxnDx1PPx0eoanRks5rKz_mgaJpZM4LUjVi>
.

—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/google/cloudprint_logocert/issues/96#issuecomment-269068894,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ADk_fTQSJGGzMI__ziLsjPq3YVPvd7Jpks5rLKK8gaJpZM4LUjVi
.

Ok, I updated my shell by running the following in my shell:
export PYTHONPATH=/Library/Python/2.7/site-packages
Now I see the following error:
Traceback (most recent call last):
File "./testcert.py", line 149, in setUpModule
getTokens()
File "./testcert.py", line 245, in getTokens
GetNewTokens()
File "./testcert.py", line 282, in GetNewTokens
creds = run_flow(flow, _storage, flags=flags,http=http)
File "/Library/Python/2.7/site-packages/oauth2client/_helpers.py", line 133, in positional_wrapper
return wrapped(*args, **kwargs)
File "/Library/Python/2.7/site-packages/oauth2client/tools.py", line 218, in run_flow
authorize_url = flow.step1_get_authorize_url()
File "/Library/Python/2.7/site-packages/oauth2client/_helpers.py", line 133, in positional_wrapper
return wrapped(*args, **kwargs)
File "/Library/Python/2.7/site-packages/oauth2client/client.py", line 1934, in step1_get_authorize_url
return _helpers.update_query_params(self.auth_uri, query_params)
File "/Library/Python/2.7/site-packages/oauth2client/_helpers.py", line 222, in update_query_params
parts = urllib.parse.urlparse(uri)
AttributeError: 'Module_six_moves_urllib_parse' object has no attribute 'urlparse'

Seems like the same error as before,  caused by the old version of six
being loaded. My guess is either the export path doesn't point to a
directory containing six or the six in the directory is out of date. If
it's the latter,  running 'pip install six' should fix it.
On Jan 22, 2017 6:01 PM, "Kelly Lucas"<EMAIL_ADDRESS>wrote:

Ok, I updated my shell by running the following in my shell:
export PYTHONPATH=/Library/Python/2.7/site-packages
Now I see the following error:
Traceback (most recent call last):
File "./testcert.py", line 149, in setUpModule
getTokens()
File "./testcert.py", line 245, in getTokens
GetNewTokens()
File "./testcert.py", line 282, in GetNewTokens
creds = run_flow(flow, _storage, flags=flags,http=http)
File "/Library/Python/2.7/site-packages/oauth2client/_helpers.py", line
133, in positional_wrapper
return wrapped(*args, **kwargs)
File "/Library/Python/2.7/site-packages/oauth2client/tools.py", line 218,
in run_flow
authorize_url = flow.step1_get_authorize_url()
File "/Library/Python/2.7/site-packages/oauth2client/_helpers.py", line
133, in positional_wrapper
return wrapped(*args, **kwargs)
File "/Library/Python/2.7/site-packages/oauth2client/client.py", line
1934, in step1_get_authorize_url
return _helpers.update_query_params(self.auth_uri, query_params)
File "/Library/Python/2.7/site-packages/oauth2client/_helpers.py", line
222, in update_query_params
parts = urllib.parse.urlparse(uri)
AttributeError: 'Module_six_moves_urllib_parse' object has no attribute
'urlparse'
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/google/cloudprint_logocert/issues/96#issuecomment-274380370,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AWK4F6ZQN3395Ig0Cq0_x9jLHZ5U8wajks5rVAnsgaJpZM4LUjVi
.

Executing sudo pip install --ignore-installed six
fixed that issue. Proceeding.

I set the printer name to M477, and now executing testcert.py, it hangs. I'm seeing the following:
Logocert INFO: Got new access token.
Logocert INFO: Service added: "HP Color LaserJet MFP M477fdw (6D418f)._privet._tcp.local."
and then it just hangs
looks like it's running setUpModule in _zconf.py Wait_for_privet_mdns_service
I'll check if there is an issue with the way we're checking for names, as maybe it needs to be M477fdw in the _config.py file. I'll add more debug info this evening.

Wait_for_privet_mdns_service() waits indefinitely for zeroconf threads to be terminated and this is likely the case for you. I have updated the code to wait up to 30 seconds only for the threads to terminate, and continue operation regardless of successful termination or not. This is pushed to logocert_api now.
As for name checking, M477 should be matched since it is a substring of the service "HP Color LaserJet MFP M477fdw (6D418f)._privet._tcp.local."

Now it's executing after your latest change. So far I've run a couple of test suites. I'll update after I've run through all of them.

Everything is working pretty good. I've tested the test suites up to jobstate. Once I got there I see some jobs are in error or queued states:
Jobs.pdf
No jobs have printed. Attaching the last log as well.
archive.zip

Today I was running more of the jobstate tests, and I got a continual message:
LogoCert INFO: Access token expired, need to refresh it
Trying again in 1 sec(s)
Bad status code from Submit(): 403

I believe this happened because the test account was used by one of the
testers yesterday for logocert_api testing.
When they authenticated for the first time, new tokens were generated so
the refresh token stored in your local credentials.txt is now invalid.
This error should not occur once you delete credentials.txt from the tool's
directory and run the script again.
I have updated the script to output a more informative log message that
notifies the user to delete credentials.txt and try again.
On Thu, Jan 26, 2017 at 11:25 PM, Kelly Lucas<EMAIL_ADDRESS>wrote:

Today I was running more of the jobstate tests, and I got a continual
message:
LogoCert INFO: Access token expired, need to refresh it
Trying again in 1 sec(s)
Bad status code from Submit(): 403
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/google/cloudprint_logocert/issues/96#issuecomment-275604728,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AWK4F5NoG8olL65iq6xLXzM3aEF9Iijdks5rWZvdgaJpZM4LUjVi
.

Ok, I wonder if we should put something in the setUpModule to automatically do this if we detect this error.

Upon further inspection, my previous conclusion is wrong.
The HTTP 403 responses did not result from a stale credentials.txt file,
rather, the auth token needed for GCP interface interactions has expired.
An auth token lasts 1 hour and is refreshed before every testsuite. In the
case that a user is idle and the testsuite takes longer than 1 hour to run,
this error will occur.
The JobState testsuite should not take longer than 1 hour to run so this
would be an edge case.
I'm tracking this as an issue since it would be nice for the tool to
refresh tokens automatically when token expiration is detected.
On Fri, Jan 27, 2017 at 10:52 AM, Kelly Lucas<EMAIL_ADDRESS>wrote:

Ok, I wonder if we should put something in the setUpModule to
automatically do this if we detect this error.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/google/cloudprint_logocert/issues/96#issuecomment-275743503,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AWK4FwjzkpSeHJmjatqSg3_vSrA5WCWkks5rWjzygaJpZM4LUjVi
.

Since the latest changes were made, I'm now seeing:
"No printers discovered under HP Color LaserJet MFP M477fdw".
Previously I saw:
LogoCert INFO: Service added: "HP Color LaserJet MFP M477fdw ..."
and in my _config.py I have:
'MODEL': 'M477',
'NAME': 'HP Color LaserJet MFP M477fdw',
However, when I changed 'NAME' to read 'M477fdw' it started working, so spaces might be an issue. For me it's fine if spaces are not allowed, but we should document it.

When running through the tests, when I ran the test for testJobStateEmptyInputTray, the job goes into the Queued state but the test fails, saying it didn't find the job in the queued or In Progress state.

Looks like I may need to update the printer firmware, as I think it has an issue with the version of Java.

I updated the firmware and now tests are passing as expected. For the Name string, I don't think it was related to string handling, as I think it had more to do with the printer failure to send mDNS packets. I've now completed the JobState suite, and will move to the cloud printing suite next.

I completed all of the CloudPrinting suite tests. I noticed a number of tests failed with an Error. Not sure why. Nothing was attempted to print. I've attached the log.
LogoCert2017February02_204831.log.zip

I attempted to run the LocalPrinting suite. The first print job printed; however, testcert.py bailed out with:
./testcert.py
Adding LocalPrinting to list of suites to run
LogoCert INFO: Got new access token.
LogoCert INFO: Service added: "HP Color LaserJet MFP M477fdw (6D418F)._privet._tcp.local."
LogoCert INFO: All listeners have been stopped.
LogoCert INFO: Device URL: http://<IP_ADDRESS>:80
LogoCert INFO: Got new access token.
                 Starting LocalPrinting testSuite

================================================================================
/Users/kdlucas/src/logocert_api/cloudprint_logocert/images/testpage.pwg not found.
Likely that this is the first time LocalPrinting suite is run.
Generating pwg-raster via cloud print
Attempting to submit a job through GCP for up to 60 seconds
Job submitted successfully
[Configurable timeout] PRINTER_STATUS:
Waiting up to 180 seconds for the printer to have status: processing
<function FetchRaster at 0x10223dc80> failed
ERROR
======================================================================
ERROR: setUpClass (main.LocalPrinting)
Traceback (most recent call last):
File "./testcert.py", line 2284, in setUpClass
getLocalPrintingRasterImages()
File "./testcert.py", line 337, in getLocalPrintingRasterImages
getRasterImageFromCloud(Constants.IMAGES['PWG1'], Constants.IMAGES['PNG7'])
File "./testcert.py", line 323, in getRasterImageFromCloud
res = _gcp.FetchRaster(output['job']['id'])
File "/Users/kdlucas/src/logocert_api/cloudprint_logocert/_cpslib.py", line 94, in VerifyNotNone
raise AssertionError
AssertionError

Ran 0 tests in 194.276s
FAILED (errors=1)
LogoCert2017February02_210849.log.zip

Regarding the CloudPrinting failures, the attached logs are only the info
level logs which do not tell the whole picture, perhaps there is better
notes left in the Google sheets. Let me know if you can find anything.
On Thu, Feb 2, 2017 at 9:07 PM, Kelly Lucas<EMAIL_ADDRESS>wrote:

I completed all of the CloudPrinting suite tests. I noticed a number of
tests failed with an Error. Not sure why. Nothing was attempted to print.
I've attached the log.
LogoCert2017February02_204831.log.zip
https://github.com/google/cloudprint_logocert/files/749609/LogoCert2017February02_204831.log.zip
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/google/cloudprint_logocert/issues/96#issuecomment-277165897,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AWK4F0a3pdi-SiSXR70lsZectFkxSMt5ks5rYrYagaJpZM4LUjVi
.

For the LocalPrinting suite error, the assertion error came during the set
up process when the tool makes calls to the GCP /submit api to create jobs
for the purpose of leveraging the cloud to convert images into raster
files. After /submit is called, the /download api is used to retrieve the
raster image. The assertion error comes from the failure of the /download
api call.
On Thu, Feb 2, 2017 at 9:15 PM, Kelly Lucas<EMAIL_ADDRESS>wrote:

I attempted to run the LocalPrinting suite. The first print job printed;
however, testcert.py bailed out with:
./testcert.py
Adding LocalPrinting to list of suites to run
LogoCert INFO: Got new access token.
LogoCert INFO: Service added: "HP Color LaserJet MFP M477fdw
(6D418F)._privet._tcp.local."
LogoCert INFO: All listeners have been stopped.
LogoCert INFO: Device URL: http://<IP_ADDRESS>:80
LogoCert INFO: Got new access token.
             Starting LocalPrinting testSuite

============================================================
/Users/kdlucas/src/logocert_api/cloudprint_logocert/images/testpage.pwg
not found.
Likely that this is the first time LocalPrinting suite is run.
Generating pwg-raster via cloud print
Attempting to submit a job through GCP for up to 60 seconds
Job submitted successfully
[Configurable timeout] PRINTER_STATUS:
Waiting up to 180 seconds for the printer to have status: processing
<function FetchRaster at 0x10223dc80> failed
ERROR
ERROR: setUpClass (main.LocalPrinting)
Traceback (most recent call last):
File "./testcert.py", line 2284, in setUpClass
getLocalPrintingRasterImages()
File "./testcert.py", line 337, in getLocalPrintingRasterImages
getRasterImageFromCloud(Constants.IMAGES['PWG1'],
Constants.IMAGES['PNG7'])
File "./testcert.py", line 323, in getRasterImageFromCloud
res = _gcp.FetchRaster(output['job']['id'])
File "/Users/kdlucas/src/logocert_api/cloudprint_logocert/_cpslib.py",
line 94, in VerifyNotNone
raise AssertionError
AssertionError
Ran 0 tests in 194.276s
FAILED (errors=1)
LogoCert2017February02_210849.log.zip
https://github.com/google/cloudprint_logocert/files/749619/LogoCert2017February02_210849.log.zip
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/google/cloudprint_logocert/issues/96#issuecomment-277166582,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AWK4FzLTxQZJrHDNdjWlMAs3-7xzpeRNks5rYrfsgaJpZM4LUjVi
.

Ah, ok, maybe I'll turn up the debug level to debug to get more information.

That might just do the trick. For me,  the console raw output with the
Google sheets notes usually do a good job of pointing out the errors.
On Feb 3, 2017 10:38 AM, "Kelly Lucas"<EMAIL_ADDRESS>wrote:

Ah, ok, maybe I'll turn up the debug level to debug to get more
information.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/google/cloudprint_logocert/issues/96#issuecomment-277326678,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AWK4F3Q2QYyfjTxu73JyvdFiY6sW4OLXks5rY3Q8gaJpZM4LUjVi
.

Ok, I'm going to rename the spreadsheet to a unique name and run it again. It will be owned by testcloudprint30.

So I reran the tests, and all of the tests that had errors (39 of them) did not make any entry in the spreadsheet. So I'm going to rerun with debug enabled.

Here is the log file in debug mode.
LogoCert2017February05_104210.log.zip

Kevin and I were discussing possible failure scenarios, and we think that another issue here could be that some printers may not support some of the CJT options that the tests is passing in. Need to increase error messages to understand better why there are failures with certain printers in the CloudPrinting suite.

I found the culprit. It was a method for adding color options in a CJT that was raising the unhandled exception. This occurs when the printer does not include 'vendor_id' in its capabilities for color options. This issue is now fixed.

Ok, I grabbed your latest changes and all of the tests passed except one. The failure was with test PrintJpgDpiSetting, AttributeError: 'Cloudprinting' object has no attribute 'Submit'. If you log in as testcloudprint30, you can see the spreadsheet called LogoCert_api_cjtchanges for details.

I still can't get any tests to pass in the LocalPrinting suite, as when the first test runs, it does print the page, but I see:
Users/kdlucas/src/logocert_api/cloudprint_logocert/images/testpage.pwg not found.
Likely that this is the first time LocalPrinting suite is run.
Generating pwg-raster via cloud print
Attempting to submit a job through GCP for up to 60 seconds
Job submitted successfully
[Configurable timeout] PRINTER_STATUS:
Waiting up to 180 seconds for the printer to have status: processing
<function FetchRaster at 0x102841c80> failed
ERROR
======================================================================
ERROR: setUpClass (main.LocalPrinting)
Traceback (most recent call last):
File "./testcert.py", line 2283, in setUpClass
getLocalPrintingRasterImages()
File "./testcert.py", line 337, in getLocalPrintingRasterImages
getRasterImageFromCloud(Constants.IMAGES['PWG1'], Constants.IMAGES['PNG7'])
File "./testcert.py", line 323, in getRasterImageFromCloud
res = _gcp.FetchRaster(output['job']['id'])
File "/Users/kdlucas/src/logocert_api/cloudprint_logocert/_cpslib.py", line 94, in VerifyNotNone
raise AssertionError
AssertionError

The CloudPrinting error has been fixed and pushed, it was a typo in a function name. Great catch!
As for the LocalPrinting error, I can only pinpoint it to some failure in the /download GCP API call. In the setup code for LocalPrinting, Cloud Printing is leveraged for converting several images to the raster format that will be used for LocalPrinting.
The procedure goes like this:

A Cloud Print job is created (The page that you see printed is the result of this)
While the Cloud Print job is queued or in progress, we can download the raster format of the target image via the /download interface. (This is where the error occurred for you.)
The raster file is saved to disk and will be used for subsequent LocalPrinting testcases

I have added better console logging in FetchRaster() so hopefully this will help us get to the root of the issue.

I have pushed up a change in LocalPrinting. It now waits on the GCP job state instead of the Privet printer state when it's determining when to access the /download API for the raster image. This should fix your issue Kelly.

Thanks for making the changes, I'll test this over the weekend.

Ok, I ran ran the local printing suite. I noticed the printer I was testing on failed tests for:

printing in landscape mode (printed in portrait)
failed the margins tests (printed identical margins for both printouts)
failed selective print page numbers (printed all pages, instead of just 2 and 3)

And at the end of the tests I saw:
Verify printer respects GCP Mgt page when local printing toggled.
... Disabling local printing
[Configurable timeout] GCP_UPDATE:
Waiting up to 60 seconds for printer to accept pending settings
Local print successfully turned off
Wait for idle state before starting a local print job
[Configurable timeout] PRINTER_STATUS:
Waiting up to 180 seconds for the printer to have status: idle
Device state observed to be: idle
Attempt to get a local job id for up to 30 seconds
Got a job id
LogoCert INFO: Test ID: 533d4ac6-5c1d-4c99-a91e-2bac7c31864f
LogoCert INFO: Result: Blocked
LogoCert INFO: Name: testLocalPrintingToggle
LogoCert INFO: Notes: Able to print via privet local printing when disabled.
FAIL
======================================================================
FAIL: testLocalPrintingToggle (main.LocalPrinting)
======================================================================
Verify printer respects GCP Mgt page when local printing toggled.

Traceback (most recent call last):
File "./testcert.py", line 2349, in testLocalPrintingToggle
self.assertIsNone(job_id)
AssertionError: u'163' is not None

Ok, I tested the rest of the the printing suites, and it all looks good. I think we should be ready to close out this issue and move to the next stage of getting this branch pushed into our main branch.


Call StopPlayback on TestRecording Dispose in Playback mode

Previously, _proxy.Client.StopPlaybackAsync was never called when ending a playback test session. This prevents TestProxy from cleaning up resources created when playback starts.

What is with the test recordings?

They were never actually recorded in the first place. This only became obvious when we tried to call stop on a non-existent recording session :)


Fix sample for BlobInventoryPolicyCompleted event

@DAXaholic : Thanks for your contribution! The author(s) have been notified to review your proposed change.

#sign-off


Fix contrib learn testcases

Fix contrib learn regex in testcases for Windows build

Can one of the admins verify this patch?


Refactoring get_transcript_summary_keyword() function on streamlit_app.py to solve auto-scroll issue.

We need to separate the function get_transcript_summary_keyword() in the Streamlit app into 3 functions so that when the summary or keywords are generated, it does not automatically scroll to the bottom of the page. This makes it difficult for users to see their query results on our application.

https://github.com/JoobeeJung/TLDW/pull/44


build: skip building toolchain on js/wasm?

In https://go-review.googlesource.com/c/go/+/203821 it was noted that js/wasm doesn't have syscall.Exec, and it was worked around with build tags.
But why is the linker being built for js/wasm?
Is it even possible to run the linker or other parts of the toolchain in js/wasm?
I always assumed that js/wasm was a target-only port, to be cross compiled from another more regular host.
Should we skip building cmd for js/wasm?
/cc @neelance @ianlancetaylor @bcmills @dmitshur @andybons @cherrymui

I would be okay with skipping the build of cmd for js/wasm. Theoretically it should be possible to run the Go compiler and linker entirely in your browser, to have a Go playground that needs no server any more. In practice this needs some effort which nobody seems interested in atm.

Um, we already did this in 5d4f0474ecb for the duplicate bug I filed (#25911).
So why did we hit this again?
Maybe we're still running tests?

We already skip building cmd for js/wasm in cmd/dist (CL 120655).
From what I understand, it is the test which is failing, not the build (which is where cmd/dist takes effect).
Does it even make sense to support  -buildmode=c-archive in wasm (since it doesn't support CGo) ? I think we can just add wasm here.
(crossed responses responses again :/)


added a android program that uses widget for dynamic content layout

added a android program that uses widget for dynamic content layout

added a android program that uses widget for dynamic content layout


Queue "name": job" listener required!

This error is being thrown when I setup a worker that only submits jobs but does not respond to them.
My use case is to have the job listeners distributed away from the main worker thread.
Is there a reason timed-queue setup this way?

I will support it tomorrow

Thanks @zensh


kustomize: fix missing TLS cert/key in config editor (PROJQUAY-2026)

The config editor pod was missing the projected volume change
to include the ssl.cert/ssl.key in the separate Secret.
Signed-off-by: Alec Merdler<EMAIL_ADDRESS>

LGTM


[PE-D][Tester C] Error message does not catch if there are multiple events clashing with the event that is being assigned

For example, the NTUC food collection clashes with both graduation and a, but only graduation is shown as a clashing event. This makes deconflicting event clashes more difficult.

Labels: type.DocumentationBug severity.Medium
original: bryanckh/ped#6

Thanks for highlighting. We have now included it in our documentation.


Modify Integration-Test to Use Blaze and ehrbase/fhir-bridge

The current integration test setup uses a HAPI FHIR Server for the GECCO FHIR Server at the data integration center (DIC) and a HAPI FHIR Server for the FHIR Server at the central research repository (CRR). The test setup should use Blaze at the DIC and ehrbase/fhir-bridge at the CRR.
For Blaze see: https://github.com/num-codex/codex-blaze/blob/main/docker-compose.yml
For fhir-bridge see: https://github.com/ehrbase/fhir-bridge/blob/develop/docker/docker-compose-demo.yml

Implemented in 0.3.3


[FormRecognizer] Add telemetry header to track usage

Add telemetry header to track usage of form recognizer service.

Looks good. Thanks!

@sarah-widder , can you help merge the pr?


Parse withdrawals

btw I guess it may be worth pinging Metamask devs that they forgot to translate "Approve" into Czech :)

Merged into develop


ISPN-6203 CNFE during RemoteStore initialization of balancing strategy w/jboss-modules

https://issues.jboss.org/browse/ISPN-6203
Please cherry-pick into 8.1.x as well.

Merged to master and 8.1.x, thanks


adjusting extra amount of space in top navigation bar

using View with width 0.25*TotalWidthOfScreen such that it covers all the vacant space left in top navigation bar on the main screen
Before

After

Fixes: #4053

@chrisbobbe please have a look of this PR

@chrisbobbe thank you so much for your review
so I have removed the Dimensions.get as you have mentioned above and also used the flexbox
Now I have give every icon 25% of width via flexbox and also centralized the icons as well so for now there are no huge spaces around the icons
Here are the current screenshots of this PR

Accepting the fact that the gap is still there but now the gap is divided on both of the sides so doesn't looks that bad


thread 'console_subscriber' panicked at 'attempt to subtract with overflow'

thread 'console_subscriber' panicked at 'attempt to subtract with overflow', console/console-subscriber/src/aggregator/mod.rs:242:9
This is while attaching the console to some web-crawler demo code I've been working on. (It's deliberately naive code.)
Here is that code base:
https://github.com/pnkfelix/huaa-exsets/tree/console-play/crawler
The nature of that current web crawler is that it will visit pages in undetermined order, which means that the overflow panic is not always the first panic it encounters. So, it currently does not deterministically reproduce the bug here. But I bet I can narrow it down.

Oh actually I think I just encountered this on a simpler test case. I'll try to produce that shortly.

Simpler test case (and should be deterministic now, though it does take a while for the problem to surface):
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error + Send + Sync>> {
    console_subscriber::init();

    let mut handles = Vec::new();
    for i in 1..1000 {
        handles.push(tokio::task::spawn(async move {
            loop { fact_yielding(i).await; }
        }));
    }

    for h in handles {
        h.await?;
    }

    Ok(())
}

async fn fact_yielding(n: u32) -> f64 {
    let mut i = 0_u32;
    let mut accum = 1_f64;
    loop {
        if i == n { break; }
        tokio::task::yield_now().await;
        i += 1;
        accum *= i as f64;
    }
    return accum;
}

I am running this atop Eliza's branch with the fix for compute-intensive task(s), i.e. branch https://github.com/tokio-rs/console/tree/eliza/approaching-capacity

Hmm, the panic occurs on this line: https://github.com/tokio-rs/console/blob/c1111bc72a616f17c67e546a035d513214dd52e4/console-subscriber/src/aggregator/mod.rs#L242
That code seems to assume the number of polls will never be zero when handling a poll-end event, because it's incremented when starting a poll, and a poll can't end without having been started. This makes me wonder if the panic occurs because the event that started the poll was dropped because the event channel was at capacity, but the event for ending the poll occurred when there was capacity for it.
I suppose we could just use a saturating subtraction there so we don't panic...but this doesn't seem like correctly handling the potentially lossy nature of the event channel. I wonder if we want to avoid generating poll end events if the poll start event was not recorded.

I'm pretty sure #212 fixed this --- I ran the repro from https://github.com/tokio-rs/console/issues/180#issuecomment-961369031 on the commit prior to #212, and (on my machine) it panicked after 3 minutes.  On commit  ad442e2852065b6c5d7a770d2ef68439945354c7, the same repro can run for >45 minutes without panicking, so I'm going to say this is fixed.

thread 'console_subscriber' panicked at 'attempt to subtract with overflow', /home/w/repos/clone_repos/console/console-subscriber/src/aggregator/mod.rs:1079:45
note: run with RUST_BACKTRACE=1 environment variable to display a backtrace
this panic reproduce again
[w@ww console]$ git log -1
commit ef4150725476942784f1ad4cacfb21c3bed17c54 (HEAD -> main, origin/main, origin/HEAD)
Author: Eliza Weisman<EMAIL_ADDRESS>Date:   Sat Dec 18 14:25:08 2021 -0800

thread 'console_subscriber' panicked at 'attempt to subtract with overflow', /home/w/repos/clone_repos/console/console-subscriber/src/aggregator/mod.rs:1079:45 note: run with RUST_BACKTRACE=1 environment variable to display a backtrace
this panic reproduce again
[w@ww console]$ git log -1
commit ef4150725476942784f1ad4cacfb21c3bed17c54 (HEAD -> main, origin/main, origin/HEAD)
Author: Eliza Weisman<EMAIL_ADDRESS>Date:   Sat Dec 18 14:25:08 2021 -0800

Hmm, thanks for reporting that, but I don't think this is the same bug --- that the panic in this issue occurred here:
https://github.com/tokio-rs/console/blob/ef4150725476942784f1ad4cacfb21c3bed17c54/console-subscriber/src/aggregator/mod.rs#L252
Meanwhile, your panic occurs on a very different line, here: https://github.com/tokio-rs/console/blob/ef4150725476942784f1ad4cacfb21c3bed17c54/console-subscriber/src/aggregator/mod.rs#L1079
I think this is a related issue --- we probably missed an "add" event for a resource because the event buffer was at capacity, so when we then subtracted a value from the same resource, it overflowed. However, I think #212 did fix the bug described in this issue, but not the related one you're seeing, which we'll have to fix separately.


Add Greek Research and Technology Network

Website: https://grnet.gr
URL for the recognition of the domain: https://grnet.gr/en/contact-us/

@mhortis I am sorry, your organization is not a university, not a college. Please ensure that you are familiar with this repository rules located at the bottom of this page. According to the rules, I have to reject your request and close it without merging. Thank you for the understanding!


Fixing image while annotating

Actions before raising this issue

[X] I searched the existing issues and did not find anything similar.
[X] I read/searched the docs

Is your feature request related to a problem? Please describe.
Hi, I would like to fix the image in mode of "Cursor [Esc]", since I am not willing to move image, unless "Move the image" pressed.
Describe the solution you'd like
Providing a switch that I could lock the image preventing it from moving.
Describe alternatives you've considered
No response
Additional context
No response

Not sure what is the problem.
Canvas is not moved on left mouse button down/move/up when you are drawing a polygon, or another shape.

e.g. I hope I can make the image fit the window and moving is disable, unless I press "Move the image"

At this moement, in state of Cursor [Esc] the image can be moved if I drag and drop it.

I see. CVAT does not have such the option as far as I remember.

Could you give me some advice that I am able to develop this feature in my local environment? e.g. comment the code of moving images out.

You need to modify event listener in this place: https://github.com/opencv/cvat/blob/176bac2d0ba5b41533a3e69d9779685bab3d3f39/cvat-canvas/src/typescript/canvasView.ts#L1246

Hi, I deploy CVAT via docker-compose on Windows, is it possible modify the relevant code above directly in a container list below

? If yes, could you tell me in which container it locates in. If not, how could I build a local docker image and push it in my current production environment?
Thanks~

Hi, I deploy CVAT via docker-compose on Windows, is it possible modify the relevant code above directly in a container list below

I do not think so. Client application code maggled and bundled with webpack. After build process it is very difficult to locate and change it.

@bsekachev

Not sure what is the problem. Canvas is not moved on left mouse button down/move/up when you are drawing a polygon, or another shape.

https://docs.cvat.ai/docs/manual/advanced/annotation-with-polygons/manual-drawing/ mentions

When Shift isn’t pressed, you can zoom in/out (when scrolling the mouse wheel) and move (when clicking the mouse wheel and moving the mouse), you can also delete the previous point by right-clicking on it.

This doesn't seem to be true; if I want to move around the image while drawing I need to hold the Alt key. Is this deliberate?


[ISSUE-902] Remove unused interface in eventstore connector producer

Fixes ISSUE #902.
Motivation
Remove unused interface in eventstore connector producer
Modifications
Delete these two unused methods:

SendResult publish(final CloudEvent cloudEvent)
void sendAsync(final CloudEvent cloudEvent, final SendCallback sendCallback)

Documentation

Does this pull request introduce a new feature? (no)
If yes, how is the feature documented? (not applicable / docs / JavaDocs / not documented)
If a feature is not applicable for documentation, explain why?
If a feature is not documented yet in this PR, please create a followup issue for adding the documentation

Close #902

@wallezhang good job~


Feature Request: Add Props for Customizing Error Message

There are currently no props available to customize the error message in the React Google Review component. It would be helpful to have the ability to modify the error message for better user experience.

Thanks for the feature request! In release v1.5.0, the <ReactGoogleReviews> component now supports an errorMessage?: React.ReactNode prop for customizing the error message.


Video preview not showing up

The video preview on load is not showing up. It is only when a conversation is started the preview shows. Any ideas how to fix this?

https://www.twilio.com/docs/api/video/guide/conversations#render-camera-preview

I'm having the same problem.
Calling self.camera?.startPreview() seems to have no effect after setting up and attaching the video track to the local media view.
Any help or workarounds you guys know of? Thanks in advance!

Thanks for the report @jmkr and @jhk115 - we are going to look into this asap.

@cummack thanks!

thanks @cummack ! looking forward to hearing back!

Hi @jmkr, @jhk115. We've since decided to replace this quickstart app with something new from scratch. That work should be completed soon. In the mean time, there is a reference app that we just posted which includes the functionality you're describing, and is implemented in Swift:
https://github.com/twilio/video-sample-ios-capture-render
The ultimate goal of the mentioned app is to demonstrate more advanced capture and rendering behavior, but I think you'll find what you're looking for. And this quickstart app will also be updated shortly. Thanks for your patience on this one.

Thanks @cummack the new sample app helps a lot! Much appreciated.


willBeRetried not part of TestStepResult

Describe the bug
The latest version of @cucumber/messages seems to mismatch with the current master branch. The willBeRetried property is in master part of the TestStepResult class, e.g.:
export class TestStepResult {

  @Type(() => Duration)
  duration: Duration = new Duration()

  message?: string

  status: TestStepResultStatus = TestStepResultStatus.UNKNOWN

  willBeRetried: boolean = false
}

However if you download latest package version it is part of TestCaseFinished for some reason:
export class TestCaseFinished {

  testCaseStartedId: string = ''

  @Type(() => Timestamp)
  timestamp: Timestamp = new Timestamp()

  willBeRetried: boolean = false
}

To Reproduce
Steps to reproduce the behavior:

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

Expected behavior
willBeRetried should be part of TestStepResult.
Screenshots
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):

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

Smartphone (please complete the following information):

Device: [e.g. iPhone6]
OS: [e.g. iOS8.1]
Browser [e.g. stock browser, safari]
Version [e.g. 22]

Additional context
Add any other context about the problem here.

https://github.com/cucumber/common/blob/main/messages/CHANGELOG.md#1700---2021-07-08
It was moved as part of the latest breaking changes.

@luke-hill this was orginally posted in cucumber/messages-javascript.
The last sync to the subrepo was on May 20th. So I think there is another underlying cause.
@mattwynne With  https://github.com/cucumber/common/issues/1550 in mind I think some sign posts need to be updated.

Ah oki, rsync playing up then.

Mmh. The master branch is out of date. The main branch is up to date.
@mattwynne same problem but because of #1561 instead.

Actually I think it's the branch name. main seems correct: https://github.com/cucumber/messages-javascript/blob/main/src/messages.ts#L618

@aslakhellesoy I updated the package, all looks good now, thank you team!


Implement roleconfig trigger

:tada: This issue has been resolved in version 1.9.0 :tada:
The release is available on:

v1.9.0
GitHub release

Your semantic-release bot :package::rocket:


Plotly Interactive Visualization requires open port(s)

The interactive Plotly visualization starts a Dash server, by default running on port 8050 (can be configured). When using this in a Jupyter notebook, this assumes that the given port is accessible for the user.
In the case of Research Cloud, however, all non-standard ports are blocked by the firewall, hence including 8050. We have worked around it by creating a Research Cloud instance that does not block port 8050. However, this workaround does not work for other ports, which is necessary e.g. when multiple users are working on the same server in parallel. Ideally, the workaround would not be necessary at all.
Depending on the solution, this might not be fixable within this code repository, but requires a server-based solution. If so, the solution needs to be documented here.
Several possible solutions need to be investigated, including

Make Plotly/Dash run work in a Research Cloud/Jupyter environment
Replace Plotly visualization by Bokeh (or another library), that provides explicit support for such a scenario
Generically, investigate Jupyter Server Proxy

This list is not comprehensive and might be missing the optimal solution.
Tasks

[ ] Find a solution that works on Surf infrastructure
[ ] Find a generic solution for Jupyter notebook servers
[ ] Document solution (if it requires specific server configuration)

Following @parisa-zahedi's advice, I tested some of the bokeh tutorial notebooks in the research cloud with the complex interactive visualizations and they actually run without a problem. I don't think the port is the issue here.
The problem is that the bokeh document context is somehow lost in the jupyter session so when show() is called the doc is empty (and it might be working in VisualStudio because it uses a different jupyter engine that is not loosing the context). So we need to modify the BokehInteractiveVisualizer in a way that we don't lose the context.

Ah, good to have a fresh pair of eyes looking at the issue!
I was indeed running the notebook locally in VSCode, so this is in line with your analysis.


Not working with I2C on MCP2221

Re this thread:
https://forums.adafruit.com/viewtopic.php?f=19&t=181641
Tried various slower bus speeds and still no success.

this combination doesn't work for me either.

The BNO085 is flaky enough that I'm not surprised: https://learn.adafruit.com/i2c-addresses/troublesome-chips

i'm curious if anyone has had success with the UART mode between these two modules?

I am testing the same right now and even i get this error. @ladyada Any thoughts on this?

BNO085 I2C is kinda a mess, i'd try the RVC UART mode


Add tooling for janet_def to cjanet

Probably similar to what we do with *cfun-list* for functions, which will be registered in the environment automatically in the module-entry.
Would you be in favor of such a change?

Yes, does make sense. Basically any boilerplate generation is worth considering adding to cjanet.
CJanet isn't really a proper language or frontend, rather it is a collection of functions and macros for C code generation, and there isn't any desire to prevent the "abstraction" from leaking through too much. It is more a better preprocessor rather than a custom to-C transpiler.

I am pleased you are saying your view on cjanet and its purpose. Especially as it is similar to what I have come to.
The second paragraph is also a good base for the description.
I will make PR with the janet_def addition and some essential Mendoza documentation.


Added more info to light stemcell

This commit intends to add more information to light stemcell.
1.dev_tools_file_list.txt
2.stemcell_dpkg_l.txt
[#129909529] (https://www.pivotaltracker.com/story/show/129909529)

Hi @jianqiu,
This is only one part of the story and it should work with another one together.  Please help to take a review. (https://github.com/jianqiu/bosh-linux-stemcell-builder/pull/1)
Thanks!
/cc @mattcui

Hi @mattcui ,
I've merged the other part in this commit bosh-linux-stemcell-builder. Please take a review on this part. Thanks!


Load balance between 2 datacenters using submariner

Hi guys,
I know from the example there is nginx demo running in one datacenter and connected through submariner broker using netshoot from another datacenter. But is it possible for us to deploy multi-node Nginx across datacenter and load balance them.

  (North/South outside of k8s?)
Or do you mean, load balancing, when a consumer is trying to get to the service from DC1 or DC2 ?
With the service discovery you will get that for now via DNS in a limited way, from any consumer DC.

I thought submariner can be used to set up load balancing to get services from DC1 and DC2 otherwise, we need to use global load balancing like CloudFlare WARP.

it is a wonderful idea

I thought submariner can be used to set up load balancing to get services from DC1 and DC2 otherwise, we need to use global load balancing like CloudFlare WARP.

What @mangelajo is trying to understand is whether your client/application trying to access the Nginx service is in one of the connected clusters or is it an external application outside of your clusters?
In case its the former, then yes, as part of the Lighthouse project we support DNS Loadbalancing of requests to backend Nginx services where the services can be present in multiple connected clusters.

The thing is that submariner scope is, at least currently, the E/W (East/West cluster to cluster) communication, and discovery.
I find the N/S (North/South consumer to clusters) a very necessary complement of what submariner does, hopefully something that we could integrate well with "ServiceExports", ... I believe @vthapar told me this is something being discussed upstream.
I don't know if we have capacity to integrate N/S as part of submariner itself. In this case we'd be load balancing Ingresses or Routes (not "Services" like submariner currently handles), may be we would need something like IngressExport or RouteExport which would be posted to the broker, where the a GLB could integrate with, and consume, ideally with drivers (cloudfare, aws, google cloud, opensource run in VMs...)
But we have lots of things ahead that need work first (network policies, support for other network plugins... a more robust history around NATT configuration..). I don't know.
May be this is something that we can bring up in the weekly meeting , or talk about it on the #submariner channel, see here: https://submariner.io/contributing/ we are open to more contributing parties.

Have you looked at https://projectcontour.io/ ?


context

I toyed with the idea of adding context for cancellation, but it meant that the idea wasn't explicitly represented in the interface. I'd imagine the context would go into the New functions in the implementations, rather than Send and Receive? That's not a deal breaker, but that's why I left Stop and Done in there. But since context is in the std lib, it's definitely still on the table.
We could have a context passed in to the New functions of the transport implementations to handle stopping, instead of a Stop function.
I think we'd still want Done() because it's important that the implementations are given enough time to properly de-register their interest in the underlying queue. Or is there a more elegant way to do that?

@HeavyHorst What do you think?

Have you considered removing the concept of stopping and signaling finished from the interface altogether? Often this detail is implementation specific and not crucial to core functionality of interfacing with a queue.
When an implementation of the interface is instantiated, take for example the NSQ implementation (https://github.com/matryer/vice/blob/master/queues/nsq/nsq.go#L50) you return a pointer to the struct type. So you can still have concurrency control semantics on there, like a Stop or a Done func. But you can also omit them where necessary. You then don't need to pollute the interface. The interface should be designed from the consumers perspective. Not the programmer, but the code that interfaces with the Send and Receive functions. Most concrete code that would consume this interface should be focussed on send and receiving or maybe even just one of those semantics.
You could go as far as to say:
type Sender interface{
    Send(ctxt context.Context, name string, msgs <-chan []byte)
}

type Receiver interface{
    Receive(ctxt context.Context, name string) <-chan []byte
}

Where on Send ctxt.Done() should be closed when it has stopped consuming from msgs chan. Which you can assert in your test harness.
Again though, this is dependent on your audience. Is this repo to be a set of small interface contracts for queue adapters to be written against. Or is it more educational and have a single interface which defines a contract that all users should be aware of (sending, receiving, errors on those operations, graceful shutdown).
I hope this is useful and not completely missing the point 👍

One of the design goals was to allow users to swap out queues without touching any other code (for most cases). That’s why I like error handling and graceful shutdown part of the interface.
Instead of Sender and Receiver interfaces, I think users achieve the same this by passing the channels around.

On 30 Jul 2017, at 13:26, George<EMAIL_ADDRESS>wrote:
Have you considered removing the concept of stopping and signaling finished from the interface altogether? Often this detail is implementation specific and not crucial to core functionality of interfacing with a queue.
When an implementation of the interface is instantiated, take for example the NSQ implementation (https://github.com/matryer/vice/blob/master/queues/nsq/nsq.go#L50 https://github.com/matryer/vice/blob/master/queues/nsq/nsq.go#L50) you return a pointer to the struct type. So you can still have concurrency control semantics on there, like a Stop or a Done func. But you can also omit them where necessary. You then don't need to pollute the interface. The interface should be designed from the consumers perspective. Not the programmer, but the code that interfaces with the Send and Receive functions. Most concrete code that would consume this interface should be focussed on send and receiving or maybe even just one of those semantics.
You could go as far as to say:
type Sender interface{
Send(ctxt context.Context, name string, msgs <-chan []byte)
}
type Receiver interface{
Receive(ctxt context.Context, name string) <-chan []byte
}
Where on Send ctxt.Done() should be closed when it has stopped consuming from msgs chan. Which you can assert in your test harness.
Again though, this is dependent on your audience. Is this repo to be a set of small interface contracts for queue adapters to be written against. Or is it more educational and have a single interface which defines a contract that all users should be aware of (sending, receiving, errors on those operations, graceful shutdown).
I hope this is useful and not completely missing the point 👍
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub https://github.com/matryer/vice/issues/10#issuecomment-318898540, or mute the thread https://github.com/notifications/unsubscribe-auth/AAGNG9EmnZFUAzz9YymQwot0fUfeMQemks5sTHZngaJpZM4OnnCy.

I think the context should go into the Send and Receive methods.
This way you could cancel each sender and receiver individually.
Receive(ctx context.Context, name string) <-chan []byte
Send(ctx context.Context, name string) chan<- []byte

One thing to note is that Send and Receive reuses the channels.
ctx1 := context.Context()

transport.Receive("vicechannel1")
transport.Receive("vicechannel1")

I see one problem if we put the context into the Send and Receive methods.
Receive(ctx context.Context, name string) <-chan []byte
Send(ctx context.Context, name string) chan<- []byte

Send and Receive reuses the channels so it could get tricky to unsubscribe the right ones.
ctx1, cancel1 := context.WithCancel(context.Background())
ctx2, cancel2 := context.WithCancel(context.Background())

// same channels
chan1 := transport.Receive(ctx1, "vicechannel1")
chan2 := transport.Receive(ctx2, "vicechannel1")

cancel2() //this should do nothing because transport.Receive(ctx1, "vicechannel1") is still active

We could have a context passed in to the New functions of the transport implementations to handle stopping, instead of a Stop function.
I think we'd still want Done() because it's important that the implementations are given enough time to properly de-register their interest in the underlying queue. Or is there a more elegant way to do that?

I think this approach is fine.

Depends on the intention of Receive. You actually make this distinction in your other issue https://github.com/matryer/vice/issues/19
Depending on the message semantics. The result of calling Receive could be a subscription to every message or a subset of the stream as in a work queue. If you made the default that every call to Receive gave you a subscription, you can still distribute work by sharing that resulting channel.
By forcing the same semantics as a channel on the Receive action, you are limiting consumers of this API to that messaging pattern. If they want copy the stream, doing so will require they implement it on top of a channel. Whereas if receive was a distinct subscription it is trivial to get work queue behaving by sharing the queue.
However, this abstraction might not make sense for both types of message queue. Maybe it shouldn't be painted with the same brush and they should be separate interfaces?

re context, I tried implementing it in nsq and sadly it failed for some reason. See context branch if interested.
Tbh, I'm not too worried about it having an explicit Stop function; so unless it's trivial to implement, I'll probably end up leaving it. If anyone feels strongly either way, you are more than welcome to have a look.


Update dialog to add contact

Based on a discussion on the mailing list I did some changes to the dialog used to add new contacts. I re-ordered the controls, renamed the labels, added tool tips. Additionally, I added faint gray prompts to the input fields (which will vanish if text is inserted) to guide the user. Below you will see a screen-shot of the changed dialog.

Edit: After incorporating the last changes, the dialog now looks like this:

Closing this in favor of #15


Added check for empty units

Short PR to add a check for empty units in the behavioral interface. This is because the spatial series in pynwb expects string by default and produces an assertion error with the None type.

@h-mayorquin can you include the re-nesting of orientation here too?

And also append "_track" to the position series name; i.e., linear -> linear_track

I added track to the analysis and nested the orientation also added a different description more in line with the methods of the paper.
What I could not find and I am out of ideas is what description add to the Error.

@h-mayorquin Could always send one last email to Tingley himself to see what he would describe that field as. Thanks for staying up late to get this finished!

Per Tingley's response: description="Estimated error for marker tracking from optitrack system."

@h-mayorquin LGTM; merging when tests are done, then we should be ready for final conversion. Were you still getting errors with parfor?


Update gem versions

Could you roll back the version of rails, and retest?

Manually updating these on the dev branch. Going to close this.


Make scopes optional for mangaged install

WHY are these changes introduced?
Currently when an App is using managed install, and the scopes in their config object do not match the scopes they have set up in their app toml, it can send the app into an infinite redirect loop.
Managed install replaces the functionality where we need to check if the sessions scopes match the scopes in the config.
Assumptions
Apps that are using managed install and token exchange, do not need to use the SCOPES environment variable, or the scopes config setting, Shopify will manage redirecting to the authorization page if necessary.
WHAT is this pull request doing?
This PR makes the scopes field on the API config object optional.
This update the isActive method on the Session object to ignore scope differences if passing in a falsy value.
Apps that are not using the new auth strategy do require scopes, so if we start the oauth flow, and scopes are not defined we will throw an error.
Type of change

[ ] Patch: Bug (non-breaking change which fixes an issue)
[ ] Minor: New feature (non-breaking change which adds functionality)
[ ] Major: Breaking change (fix or feature that would cause existing functionality to not work as expected)

Checklist

[ ] I have used yarn changeset to create a draft changelog entry (do NOT update the CHANGELOG.md files manually)
[ ] I have added/updated tests for this change
[ ] I have documented new APIs/updated the documentation for modified APIs (for public APIs)

Linking a couple of issues that I think are related or will be fixed by this PR. Let me know if I'm wrong

https://github.com/Shopify/shopify-app-template-remix/issues/612
https://github.com/Shopify/shopify-app-template-remix/issues/286


Hit Invalid access token when updating cocoon task in luci devicelab

Failed build: https://ci.chromium.org/ui/p/flutter/builders/prod/Linux color_filter_and_fade_perf__e2e_summary/137/overview
Detailed:
Unhandled exception:
AuthenticatedClientError:
  URI: https://flutter-dashboard.appspot.com/api/update-task-status
  HTTP Status: 401
  Response body:
Invalid access token
#0      AuthenticatedCocoonClient.send (package:flutter_devicelab/framework/cocoon.dart:159:7)
<asynchronous suspension>
#1      BaseClient._sendUnstreamed (package:http/src/base_client.dart:91:32)
<asynchronous suspension>
#2      retry (package:flutter_devicelab/framework/utils.dart:773:14)
<asynchronous suspension>
#3      Cocoon._sendCocoonRequest (package:flutter_devicelab/framework/cocoon.dart:115:31)
<asynchronous suspension>
#4      Cocoon.sendTaskResult (package:flutter_devicelab/framework/cocoon.dart:100:43)
<asynchronous suspension>
#5      _runTasks (file:///opt/s/w/ir/k/flutter/dev/devicelab/bin/run.dart:126:7)
<asynchronous suspension>
#6      main (file:///opt/s/w/ir/k/flutter/dev/devicelab/bin/run.dart:104:5)
<asynchronous suspension>

@CaseyHillers Could you please help take a look?

Swarming can only guarantee an access token is valid for 3 minutes (up to 45 minutes). This creates a race condition for the luci devicelab tasks, where retrying will most likely fix it.
We need to split uploading results from the test execution to prevent this issue.

Another two:
https://ci.chromium.org/ui/p/flutter/builders/prod/Linux flutter_gallery__memory_nav/136/overview
https://ci.chromium.org/ui/p/flutter/builders/prod/Linux flutter_gallery_android__compile/142/overview

This issue has been happening more frequently. With linux ones finish migration (by tomorrow), this will block the tree. Increasing the priority to p1.

Does this mean that uploading the metrics is taking more than 3 mins?

No. The issue is we request the token before running the test. The
devicelab tests run from 1 second to 15 minutes. After the test is
complete, the test runner uploads to Cocoon within 30 seconds.
This requires splitting the results uploading into a separate command in
the test runner and a separate step in the recipe.
On Thu, Dec 17, 2020, 9:39 AM godofredoc<EMAIL_ADDRESS>wrote:

Does this mean that uploading the metrics is taking more than 3 mins?
—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHub
https://github.com/flutter/flutter/issues/72457#issuecomment-747590132,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAQMRTUK3HZCGXG3J72XXJLSVI63TANCNFSM4U6O3XRA
.

This is frequently resulting in tree closures so bumping to P0.

Once tree is reopened, https://github.com/flutter/flutter/pull/72765 can land to unblock the necessary recipe changes.
Recipe CL: https://flutter-review.googlesource.com/c/recipes/+/9483

Let's landed on red. This is actually the problem making the tree red.

All CLs have landed, and i'll monitor to see if this fixed the invalid tokens.

A new commit landed and I'm not seeing the upload failures. Please reopen if this happens again.

This occurred again.
@keyonghan do you think we can move the refresh-github-commits endpoint from a 15 minute cron job to run it at midnight PST every day instead?
This is a race condition as we have both ways to trigger commits

The new issue is not same as here. Here is the new one: https://github.com/flutter/flutter/issues/79408, which is same as https://github.com/flutter/flutter/issues/78841


Reco method cleaning

I've an idea to clean a bit some stuff around. Each item is connected to the one above.

[ ] Show 3D reconstruction method is better than 2D method (parallel pointing)
[x] Make the 3D methos work also in divergent mode.
[x] Drop the 2D method. It also lacks of tests, so if we drop it we don't have to write them.

something else?

Drop the 2D method. It also lacks of tests, so if we drop it we don't have to write them.

It seems a shame to delete it entirely. It could be nice to have an implementation of every reconstruction method available in ctapipe... could just be deprecated for the time being, until someone revitalises it?

We added tests for the hillas intersection. It seems to perform slightly worse, but is now tested and there is no real reason to remove it.


Tag category cleanup - only classification/category and move User as Glossary

Feature
Add an improvement to TagCategories and Glossary by moving the User tags into Glossary.
Describe the task

@sureshms move this in this release itself?


Mi Smart Dishwasher and Rice cooker - No response.

Describe the bug
Devices successfully added to HomeKit, mapped all the actions/switches correctly, but don't respond.
Your config.json
{                     "name": "Mi Smart Dishwasher",                     "ip": "<IP_ADDRESS>",                     "token": "3e887e607dcd2c5f28c23b23400ce60d",                     "deviceId": "469364068",                     "model": "viomi.dishwasher.m02",                     "pollingInterval": 10,                     "deepDebugLog": false,                     "buzzerControl": true,                     "ledControl": true,                     "childLockControl": true,                     "modeControl": true                 }, {                     "name": "Rice cooker",                     "ip": "<IP_ADDRESS>",                     "token": "dd85a97cf4ca6f7dae4001b9f1e11284",                     "deviceId": "403948114",                     "model": "chunmi.cooker.normalcd1",                     "pollingInterval": 10,                     "deepDebugLog": false,                     "buzzerControl": true,                     "ledControl": true,                     "childLockControl": true,                     "modeControl": true                 }
Screenshots
Videos: https://share.icloud.com/photos/0fbdSgh-wwyfwPiIy8sCDyZZg

Maybe the devices use the miio protocol and not the miot? In that case did you try to specify the forceMiCloud property and add your micloud credentials?

Thank you! viomi.dishwasher.m02 started working with micloud force connection option.
But chunmi.cooker.normalcd1 unfortunately no, but looks like this device doesn't supported.

You would need to use actionButtons and propertyControl to expose whatever you need from the cooker. That should work!


Handling information that must always be revealed in a signature proof

One of the features of BBS signatures is the ability for the holder/prover to selectively disclose information they share with a verifier, which is a powerful feature. However, with this new feature comes new problems to solve. For example sometimes an issuer/signer of a token/credential using a BBS signature may want to ensure that a certain sub-set of the information protected by the signature is always revealed in a generated proof. An example might be the proof block in a LD-proof or the protected headers in a JWP.
There are two main solution approaches that affect this spec that I think should be discussed:

Where the cryptographic layer is aware of this distinction in the two classes of information being signed (one class where that information must always be revealed in any generated proof, the other where that information is able to be selectively disclosed by the holder/prover) , note there is also some relevant commentary in #95 discussing this.
Where the cryptographic layer is essentially unaware of this distinction and it is left to the implementation layer above to enforce this behaviour if it so desires (e.g JWP or LD-Proofs)

The main tradeoffs I see here is increasing the complication of cryptographic layer for a potential increase in security of the scheme operating across application domains vs keeping the cryptographic layer simpler. Note - I use "potential" here deliberately as I haven't personally concluded whether there is a substantial security issue with the scheme in using 2) to achieve this outcome.
To bring things up a further level in option 1) the sign/verify API likely to be exposed by implementations is
signature = sign(privateKey, requiredRevealPayload, selectivelyDisclosablePayloads)
result = verify(publicKey, signature, requiredRevealPayload, selectivelyDisclosablePayloads)
VS options 2) where the sign/verify API is likely to be exposed more like
signature = sign(privateKey, payloads)
result = verify(publicKey, signature, payloads)
Technically with option 2) implementation layers using BBS in representation formats like JWP or LDP have to define within the bounds of their own specification if certain pieces of information MUST always be revealed. For example currently JWP using BBS defines that the first "payload" signed is the protected header.
The potential risk I see with this model is a case when a signer is using a single key pair to sign JWP structures secured with a BBS signature AND sign payloads in other representation formats, in this threat a verifier could be handed a BBS proof revealing no payloads and be convinced it was signed under a different representation format than JWP. One could definitely argue that a signer/issuer operating in this manner is violating certain commonly agreed cryptographic best practises in failing to limit cross application key usage and therefore option 2) is fine to proceed with in this spec with an appropriate security consideration.
Interested to hear how other folks view this issue, in particular from spec editors involved in the development of representation layer technologies compatible with BBS signatures (e.g JWP or LD-Proofs) @quartzjer @selfissued @dwaite @OR13

This feels similar to crit in some ways. Given how frustrated some folks have been with alg none and crit in jose we should be cautious.
My gut says to make it harder for an ignorant developer or verifier to make mistakes, which leads me to believe that the signatures should be aware of required and optional disclosure.

While it's traditionally higher level or application-space logic that enforces these kinds of requirements, similar to checking an issued-at or expiration... I think it's worth strongly considering having this capability in the crypto layer whenever feasible.
The tradeoff or caveat though is if the added complexity creates any higher possibility of a vulnerability, it's much better to deal with that when it happens in implementations (2) vs. in the algorithm itself (1).
The challenge in general with this space where BBS/JWP/LDP/etc live is that to build privacy preserving cryptographic primitives some of this logic must be moved into the algorithms, and the complexity can't just be pushed up the stack.
So, sort of thinking out loud here...

BBS is optimized for use-cases involving unlinkability
The nothing-disclosed case is definitely a notable security consideration (but still could be a valid use-case)
Most or nearly all issuers will want something required to be revealed
If the location of the required payload is not uniform in every signature it becomes a linkability vector
Adding requiredRevealPayload does not invalidate the nothing-disclosed use case (it can just be empty)
The added algorithmic complexity to support it is minimal (in my limited understanding)

I'm in favor of (1), having the algorithm natively support it.  The slightly larger calling syntax helps ensure that all implementations prioritize the distinction of what is required vs selectively disclosed, and it also provides a means for requiring disclosure that doesn't potentially introduce linkability when solved elsewhere.

This issue was discussed on the WG call this morning where it was agreed that PR #95 would be updated to accomodate this change, I will tag this issue with "ready-for-pr" because of this pending close subject to that PR being merged

What checks will the routine in sign and verify do to validate if the requiredRevealPayload is satisfied? If it does a simple array comparison of indexes, it doesn't make sense to add this protection on the signature suite spec level.
The sign/verify method shouldn't be opinionated, unless that's required for the cryptographic construction of the signature. I understand that most use cases will want this, we're still thinking within the frames of how we currently use them.
I think I must be missing something (other than the last WG meeting), since everyone is in favor of adding this protection, which seems like an obvious architectural anti-pattern to me.

@tmarkovski The requiredRevealPayload is incorporated into the hash for the DST message, along with other public parameters required for the security of the signature, like the issuer's public key. Unlike the other signature messages, this one cannot be selectively revealed, and so it would not be possible to verify a signature or a proof of knowledge without knowing the correct value for requiredRevealPayload.
The spec doesn't define a format for the requiredRevealPayload beyond it being represented as a byte string, but applications can use it to enforce agreement for any additional parameters. I'm curious what makes this look like an anti-pattern to you, but I would recommend listening to the meeting recording.

Thanks for clarifying the use of it. My next question was why not allow any payload to participate in the DST message to allow extensions for it, but you answered that in the second paragraph. Which brings me to my next question: why is this parameter named requiredRevealPayload if it will allow arbitrary data by the application?
My thoughts on anti-pattern stem from the idea of using knowledge of downstream application into the spec, without making use of it. Example: requiring parameter for which messages are required for an application protocol is a downstream problem. However, parameter for integrity payload is a generalized use. While both cases will be defined by applications, one is opinionated about what it is, the other one isn't.

We're still workshopping the naming, I think 'header' is in the lead at the moment although every term comes with its own baggage.

@tmarkovski essentially the conversation on the WG call yesterday and in the DIF slack channel appears to have shown support to have a cryptographically enforce-able way to support two types of information protected by a signature

Header - Data protected by the original signature that must be revealed in any generated proof for the signature
Payloads - An array of payloads protected by the original signature of which the holder/prover has the ability to selectively disclose

Those are the current names anyway, if you have alternatives please feel free to suggest.

Or of course if you have a different take on the usefulness of this feature please feel free to share :)

I've no objections (or suggestions) on the naming or the usefulness of this feature. By reading the OP description (and not having much more context), I made an assumption that the requiredRevealPayload refers to required message indices that applications need disclosed, which seemed like a very specific, opinionated application argument that shouldn't have place in these algorithms directly. As @andrewwhitehead explained, this parameter is a general header payload defined as public parameter by applications, which may contain information about what message indices may be required, in addition to other info. This makes a lot more sense and clears up my confusion.

Address via #95


Fix netdata_healthcheck_target option not working

The HEALTCHECK script in the netdata Dockerfile was not inheriting the export in the add-on run.sh. As far as I can tell the only way to pass the variable over without significant work is to turn on legacy in config.yaml which will pass the add-on options as environment variables to the docker container. This also requires modifying the option to be uppercase as  it is case sensitive.
Sorry about the follow-up PR!
I tried to test using the vscode devcontainers before but I couldn't get this add-on to run inside it (was getting a docker error when trying to run the add-on). But I was able to test this change using the /addons/ local folder option and it is properly working now.

I understand. I should have tested it myself as well.
At first glance, I don't like this legacy: true much. I will think about it.
About the devcontainer, I'm not sure it works for me either. I took a repo as base to build this one, and it may very well be broken.

https://github.com/home-assistant/supervisor/issues/805
Here is what it does, adding the options to the environment:
    def environment(self) -> dict[str, str | None]:
        """Return environment for Docker add-on."""
        addon_env = self.addon.environment or {}

        # Provide options for legacy add-ons
        if self.addon.legacy:
            for key, value in self.addon.options.items():
                if isinstance(value, (int, str)):
                    addon_env[key] = value
                else:
                    _LOGGER.warning("Can not set nested option %s as Docker env", key)

        return {
            **addon_env,
            ENV_TIME: self.sys_timezone,
            ENV_TOKEN: self.addon.supervisor_token,
            ENV_TOKEN_OLD: self.addon.supervisor_token,
        }

Thank you. The part that I don't like is the legacy.
However, I have a different suggestion to solve this issue:

In the dockerfile, mv /usr/sbin/health.sh to /usr/sbin/health.sh.orig
Create a new /usr/sbin/health.sh, that properly reads such option from the options, exports the env var and delegates the execution to /usr/sbin/health.sh.orig.

Let me know if you'd like to implement it.

Okay, have it working without using legacy

I changed your implementation a little. I don't want to need to have to keep the HEALTHCHECK line in sync with the upstream Dockerfile.

Thanks @felipecrs!


Cant install Chromium package while installation

##Cant install chromium packages .
After running this below command in my ubuntu18.4
apt-get install jq nmap phantomjs npm chromium parallel
It is giving me this error
Package chromium is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
However the following packages replace it:
chromium-bsu:i386 chromium-bsu
E: Package 'chromium' has no installation candidate
Please help me.

apt-get clean; apt-get update
then try to install again

[⍥] Perfoming Sud⍥my scans
- Warning: require dnsprobe but it's is not installed.Trying to setup pkg_httpx
cp: cannot create regular file '/usr/local/bin/dnsprobe': Permission denied
- Warning: require webanalyze but it's is not installed.Trying to setup pkg_webanalyze
cp: cannot create regular file '/usr/local/bin/webanalyze': Permission denied
- Warning: require cf-check but it's is not installed.Trying to setup pkg_cf-check
cp: missing destination file operand after '/usr/local/bin/'
Try 'cp --help' for more information.
- Warning: require gowitness but it's is not installed.Trying to setup pkg_gowitness
cp: cannot create regular file '/usr/local/bin/gowitness': Permission denied
- Warning: require subjack but it's is not installed.Trying to setup pkg_subjack
cp: cannot create regular file '/usr/local/bin/subjack': Permission denied
Should i need to install these tools by myself?

Also These few errors
loadDep:puppeteer → resol ▌ ╢█████████████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░╟
/usr/local/bin/wappalyzer -> /usr/local/lib/node_modules/wappalyzer/cli.js
/usr/local/bin/wscat -> /usr/local/lib/node_modules/wscat/bin/wscat
/usr/local/lib
├──<EMAIL_ADDRESS>└─┬<EMAIL_ADDRESS>├── UNMET PEER DEPENDENCY<EMAIL_ADDRESS>└── UNMET PEER DEPENDENCY<EMAIL_ADDRESS>npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none was installed.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none was installed.
while running the command "npm i -g wappalyzer wscat"

##Cant install chromium packages .
After running this below command in my ubuntu18.4
apt-get install jq nmap phantomjs npm chromium parallel
It is giving me this error
Package chromium is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
However the following packages replace it:
chromium-bsu:i386 chromium-bsu
E: Package 'chromium' has no installation candidate
Please help me.

The package name is chromium-browser in Ubuntu 18/20


NullReferenceException in SdfChunk.ClearAsync

I don't fully understand the context or reasoning behind this error:
Object reference not set to an instance of an object.
Sandbox.Component.get_Task
Sandbox.Sdf.SdfChunk`6.ClearAsync(SdfChunk.cs:137)
Sandbox.Sdf.SdfWorld`6+<<ClearImpl>b__56_2>d.MoveNext(SdfWorld.cs:387)
System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw
System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess
System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification
Sandbox.TaskSource+<WhenAll>d__41.MoveNext
System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw
System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess
System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification
Sandbox.Sdf.SdfWorld`6+<ClearImpl>d__56.MoveNext(SdfWorld.cs:385)
System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw
System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess
System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification
Sandbox.Sdf.SdfWorld`6+<ClearAsync>d__55.MoveNext(SdfWorld.cs:369)

It happens to most users. I will try to triage when this error occurs and any other context that may be helpful to resolving this, and update this issue with it.

Should be fixed now, I shouldn't have been doing async cleanup when the world gets destroyed.


GraphDataset undefined

in util/postprocessing.py

Ah it seems like this is another file that might actually be deleted? (seems like a former executable script)


[DOC] Feedback on Dashboards topics

What do you want to do?
x Request a change to existing documentation
Tell us about your request. Provide a summary of the request and all versions that are affected.
Community feedback on Dashboards topics:

[ ] 20230501 | /docs/1.3/dashboards/visualize/viz-index/	| It shows me that a table can show Raw data. All I can do in open Search are metric aggregations like counts. I never get the raw data. There's no explanation how you make it work.
[ ] 20230526 | /docs/2.7/dashboards/visualize/viz-index/	| As overview the page is fine. However, in particular for heatmaps it does not explain how the data should like to do that and it misses how one can do more sophisticated things like rate calculation etc (histograms over time). See for example Prometheus histograms and visualization in Grafana.
[ ]  20230529 | /docs/latest/dashboards/reporting/ | Not even come close to explaining how to create a report for a server listing every eventID over the past 24 hours, 7-days 2 weeks, etcetera.

What other resources are available? Provide links to related issues, POCs, steps for testing, etc.

More feedback:

[ ] 20230720 | /docs/latest/dashboards/visualize/visbuilder/ | it would be worth putting the parameters to the advanced json input in anywhere
[ ] 20230731 | /docs/1.3/dashboards/discover/dql/ | How do you search for multiple strings? I still don't know
[ ] 20230720 | /docs/latest/dashboards/visualize/visbuilder/ | it would be worth putting the parameters to the advanced json input in anywhere

@hdhalter I've noted the topics that need dev to lead the writing. These are topics that are dev-specific.


Set placeholder canvas

Description

It adds a placeholder canvas to a IIIF object.
Function name / Parameters / Return

Function name: .set_placeholder_canvas()
Parameters: canvas
Returns: canvas object
Objects

[ ] Base Object (all Prezi3 Classes)
[X] Collection
[X] Manifest
[X] Canvas
[X] Range
[ ] AnnotationCollection
[ ] AnnotationPage
[ ] Annotation
[ ] Content Resource - Image
[ ] Content Resource - Video
[ ] Content Resource - Text
[ ] Service
[ ] Provider
[ ] Other - please list below

Considerations
Note that in the description is written that the object is a special Canvas that:

The object must not have the placeholderCanvas property, nor the accompanyingCanvas property.

But below is also written:

*A Canvas that is the value of a placeholderCanvas or accompanyingCanvas property may not have either of those properties itself.

In case the first is the recommendation true we should create a Canvas class that does not have this method.

We looked at this and without the check to see if the canvas contains other placeholder canvases then its a property setter which we won't need.


Add sideEffects: false for webpack 4

It's already set<EMAIL_ADDRESS>

@oliviertassinari Was hoping to get it merged into stable version while preparing to upgrade to v1.

@matthoffner Oh. I have missed it's from v0.x.

Thanks @oliviertassinari! Are there any plans to do a release of v0.x soon?


lbry.tv megaissue

The Issue

[ ] can't unsub from channels.

[ ] Fix brokens Settings/Rewards page

[x] https://static/img/placeholder.png and possibly other static images don't load.

[x] invalid claim characters from browser URL (try: https://beta.lbry.tv/proxy/en-in/ahr0chm6ly9waxjhdgviyxkuy29tlw)

Desktop Error: /proxy/en-in/aHR0cHM6Ly9waXJhdGViYXkuY29t

   Error: Invalid claim ID %s.

[x] random desktop error (not yet reproduced)

   l@https://piratebay.com/ui.js:1:1532

[x] loading chunk failed (not yet reproduced)

 Error: Loading chunk 21 failed.
(timeout: https://piratebay.com/vendors~react-feather.js)
   at l (https://piratebay.com/ui.js:1:1523)
   at https://piratebay.com/ui.js:1:1651

LBRY Daemon version:
LBRY App version:
LBRY Installation ID:
Operating system:

Anything Else

Screenshots

@tzarebczan also splitting this out, we may want to avoid these mega-issue style tickets unless all of the items within are truly minor


Need advice: server side with PHP

I want to use Your script for my app.
If I'm right Your script handles client side.
I have to design my API in PHP on server side.
Can You give ma a hint what PHP framework (script) should I use to handle data from Your script?

jwt for sure


Scheduling algorithm

Add scheduling algorithm code to the main powerplay project

We will reopen this when we get some things straightened out.


Functional Properties - Legend vs Content in doco

The ‘Legend’ includes ‘Functional Properties’ but there is no details as to what they are in the documentation at   https://ternaustralia.github.io/ontology_tern
Gail Wittich - Gaia Resources

The legend in pyLODE is referring to Functional Properties as in the OWL class owl:FunctionalProperty, which the TERN Ontology does not define any.
Closing this issue as it is not related directly to the core information model.


Display Apply Button when removing all the filters

Refs : #2143

From my quick testing, this appears to have already been fixed, so I will close this. If you can still reproduce this in some circumstances, please do let us know.


[7.x] Add assertResource assertion for TestResponse

This PR adds a new assertion to the TestResponse class called assertResource. Here is an example:
$item = factory(Item::class)->create();

$response = $this->get(route('items.show'));

// for single resource
$response->assertResource(new ItemResource($item));

// for collection
$response->assertResource(ItemResource::collection($items));

This PR adds a new assertion to the TestResponse class called assertResource. Here is an example:

This is a good idea and will be useful for tests. It’d also be useful if you could specify an optional key to look for a nested resource.

Thanks for your pull request to Laravel!
Unfortunately, I'm going to delay merging this code for now. To preserve our ability to adequately maintain the framework, we need to be very careful regarding the amount of code we include.
If possible, please consider releasing your code as a package so that the community can still take advantage of your contributions!
If you feel absolutely certain that this code corrects a bug in the framework, please "@" mention me in a follow-up comment with further explanation so that GitHub will send me a notification of your response.


Floating-point precision when interpreting exponential dependence

When calculating the complexity, I got the following results:
Best : Exponential: time = 0.036 * 1^n (sec)
Constant: time = 0.5 (sec) (res: 5.5)
Linear: time = -0.43 + 0.0065*n (sec) (res: 1.7)
Quadratic: time = -0.098 + 2.4E-05*n^2 (sec) (res: 1)
Cubic: time = 0.024 + 9.6E-08*n^3 (sec) (res: 0.69)
Polynomial: time = 9.9E-05 * x^1.7 (sec) (res: 1.8)
Logarithmic: time = -2.6 + 0.64*log(n) (sec) (res: 2.7)
Linearithmic: time = -0.31 + 0.0011*n*log(n) (sec) (res: 1.5)
Exponential: time = 0.036 * 1^n (sec) (res: 0.6)

It seems to me that in the exponential dependence the value of the coefficient b should be shown in full, or the number of digits after the decimal point should be increased, since the exponent grows too quickly. The actual value of the coefficient b in this case is 1.01498.

The formatting string is 'time = {:.2G} * {:.2G}^n', so yes in this case 1.01498 would be printed as 1.
We could increase .2 to .3, but the G format often does automatically the right thing... but would one do that for all the cases? I'm wondering if we should have a global display option instead, for the precision of these reports


Operator conversion deny list

Description
This change adds a new config property druid.sql.planner.operatorConversion.denyList, which allows a user to specify
any operator conversions that they wish to disallow. A user may want to do this for a number of reasons, including security concerns. The default value of this property is the empty list [], which does not disallow any operator conversions.
An example usage of this property is druid.sql.planner.operatorConversion.denyList=["extern"], which disallows the usage of the extern operator conversion. If the property is configured this way, and a user of the Druid cluster tries to submit a query that uses the extern function, such as the example given here, a response with http response code 400 is returned with en error body similar to the following:
{
  "taskId": "4ec5b0b6-fa9b-4c3a-827d-2308294e9985",
  "state": "FAILED",
  "error": {
    "error": "Plan validation failed",
    "errorMessage": "org.apache.calcite.runtime.CalciteContextException: From line 28, column 5 to line 32, column 5: No match found for function signature EXTERN(<CHARACTER>, <CHARACTER>, <CHARACTER>)",
    "errorClass": "org.apache.calcite.tools.ValidationException",
    "host": null
  }
}

This PR has:

[x] been self-reviewed.

[ ] using the concurrency checklist (Remove this item if the PR doesn't have any relation to concurrency.)

[x] added documentation for new or modified features or behaviors.
[ ] a release note entry in the PR description.
[ ] added Javadocs for most classes and all non-trivial methods. Linked related entities via Javadoc links.
[ ] added or updated version, license, or notice information in licenses.yaml
[ ] added comments explaining the "why" and the intent of the code wherever would not be obvious for an unfamiliar reader.
[x] added unit tests or modified existing tests to cover new code paths, ensuring the threshold for code coverage is met.
[ ] added integration tests.
[x] been tested in a test Druid cluster.

if it's for security concerns, can we tie this to role-based access control? Like how we did for query context params. Also, would you want to disable access to an operator or would you like to disable access to an underlying resource that the said operator accesses? So if you're going to disallow access to external resources, wouldn't it be better for an admin to remove "External read" permission, no matter which operator needs that access?

Just for the record, the goal of this PR is to block input sources not supported in a given cluster. The right way to do this is to create a deny list for input sources, and block them in all the places we use them. Blocking SQL leaves a hole for native ingest. It leaves a hole if an extension provides a table function that uses a disallowed input source, etc. Blocking at the site of use allows a better error message: "the Druid input source foo is not supported in this installation."

The build here is failing due to ARM. However, ARM is failing on all builds, so we can treat this build as green.