Wordcloud dependency wont install and prevents this package from installing

Describe the bug
Dependency wordcloud causes the install to break on Win10 64bit installs.

pip install pandasgui yields:

(myvenv) PS C:\Users\me\Desktop\test\myvenv> pip install pandasgui
Collecting pandasgui
  Using cached pandasgui-0.2.11-py3-none-any.whl
Requirement already satisfied: appdirs in c:\users\me\desktop\test\myvenv\lib\site-packages (from pandasgui) (1.4.4)
Collecting mouse
  Using cached mouse-0.7.1-py2.py3-none-any.whl (16 kB)
Collecting pyarrow
  Using cached pyarrow-4.0.1-cp39-cp39-win_amd64.whl (13.3 MB)
Requirement already satisfied: astor in c:\users\me\desktop\test\myvenv\lib\site-packages (from pandasgui) (0.8.1)
Requirement already satisfied: PyQt5-sip in c:\users\me\desktop\test\myvenv\lib\site-packages (from pandasgui) (12.9.0)
Requirement already satisfied: PyQtWebEngine in c:\users\me\desktop\test\myvenv\lib\site-packages (from pandasgui) (5.15.4)
Collecting pandas
  Using cached pandas-1.2.4-cp39-cp39-win_amd64.whl (9.3 MB)
Collecting wordcloud
  Using cached wordcloud-1.8.1.tar.gz (220 kB)
Requirement already satisfied: setuptools in c:\users\me\desktop\test\myvenv\lib\site-packages (from pandasgui) (49.2.1)
Collecting IPython
  Using cached ipython-7.24.1-py3-none-any.whl (785 kB)
Requirement already satisfied: typing-extensions in c:\users\me\desktop\test\myvenv\lib\site-packages (from pandasgui) (<IP_ADDRESS>)
Collecting plotly
  Using cached plotly-4.14.3-py2.py3-none-any.whl (13.2 MB)
Requirement already satisfied: PyQt5 in c:\users\me\desktop\test\myvenv\lib\site-packages (from pandasgui) (5.15.4)
Requirement already satisfied: numpy in c:\users\me\desktop\test\myvenv\lib\site-packages (from pandasgui) (1.20.3)
Collecting pickleshare
  Using cached pickleshare-0.7.5-py2.py3-none-any.whl (6.9 kB)
Collecting matplotlib-inline
  Using cached matplotlib_inline-0.1.2-py3-none-any.whl (8.2 kB)
Collecting traitlets>=4.2
  Using cached traitlets-5.0.5-py3-none-any.whl (100 kB)
Collecting pygments
  Using cached Pygments-2.9.0-py3-none-any.whl (1.0 MB)
Collecting colorama
  Using cached colorama-0.4.4-py2.py3-none-any.whl (16 kB)
Collecting decorator
  Using cached decorator-5.0.9-py3-none-any.whl (8.9 kB)
Collecting backcall
  Using cached backcall-0.2.0-py2.py3-none-any.whl (11 kB)
Collecting prompt-toolkit!=3.0.0,!=3.0.1,<3.1.0,>=2.0.0
  Using cached prompt_toolkit-3.0.18-py3-none-any.whl (367 kB)
Collecting jedi>=0.16
  Using cached jedi-0.18.0-py2.py3-none-any.whl (1.4 MB)
Collecting parso<0.9.0,>=0.8.0
  Using cached parso-0.8.2-py2.py3-none-any.whl (94 kB)
Collecting wcwidth
  Using cached wcwidth-0.2.5-py2.py3-none-any.whl (30 kB)
Collecting ipython-genutils
  Using cached ipython_genutils-0.2.0-py2.py3-none-any.whl (26 kB)
Collecting pytz>=2017.3
  Using cached pytz-2021.1-py2.py3-none-any.whl (510 kB)
Requirement already satisfied: python-dateutil>=2.7.3 in c:\users\me\desktop\test\myvenv\lib\site-packages (from pandas->pandasgui) (2.8.1)
Requirement already satisfied: six>=1.5 in c:\users\me\desktop\test\myvenv\lib\site-packages (from python-dateutil>=2.7.3->pandas->pandasgui) (1.16.0)
Collecting retrying>=1.3.3
  Using cached retrying-1.3.3-py3-none-any.whl
Requirement already satisfied: PyQt5-Qt5>=5.15 in c:\users\me\desktop\test\myvenv\lib\site-packages (from PyQt5->pandasgui) (5.15.2)
Requirement already satisfied: PyQtWebEngine-Qt5>=5.15 in c:\users\me\desktop\test\myvenv\lib\site-packages (from PyQtWebEngine->pandasgui) (5.15.2)
Requirement already satisfied: pillow in c:\users\me\desktop\test\myvenv\lib\site-packages (from wordcloud->pandasgui) (8.2.0)
Requirement already satisfied: matplotlib in c:\users\me\desktop\test\myvenv\lib\site-packages (from wordcloud->pandasgui) (3.4.2)
Requirement already satisfied: cycler>=0.10 in c:\users\me\desktop\test\myvenv\lib\site-packages (from matplotlib->wordcloud->pandasgui) (0.10.0)
Requirement already satisfied: pyparsing>=2.2.1 in c:\users\me\desktop\test\myvenv\lib\site-packages (from matplotlib->wordcloud->pandasgui) (2.4.7)
Requirement already satisfied: kiwisolver>=1.0.1 in c:\users\me\desktop\test\myvenv\lib\site-packages (from matplotlib->wordcloud->pandasgui) (1.3.1)
Building wheels for collected packages: wordcloud
  Building wheel for wordcloud (setup.py) ... error
  ERROR: Command errored out with exit status 1:
   command: 'c:\users\me\desktop\test\myvenv\scripts\python.exe' -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\me\\AppData\\Local\\Temp\\pip-install-b830suci\\wordcloud_0fc87e52f1294eda876b568d3125c591\\setup.py'"'"'; __file__='"'"'C:\\Users\\me\\AppData\\Local\\Temp\\pip-install-b830suci\\wordcloud_0fc87e52f1294eda876b568d3125c591\\setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d 'C:\Users\me\AppData\Local\Temp\pip-wheel-lvoebvg3'
       cwd: C:\Users\me\AppData\Local\Temp\pip-install-b830suci\wordcloud_0fc87e52f1294eda876b568d3125c591\
  Complete output (26 lines):
  running bdist_wheel
  running build
  running build_py
  creating build
  creating build\lib.win-amd64-3.9
  creating build\lib.win-amd64-3.9\wordcloud
  copying wordcloud\color_from_image.py -> build\lib.win-amd64-3.9\wordcloud
  copying wordcloud\tokenization.py -> build\lib.win-amd64-3.9\wordcloud
  copying wordcloud\wordcloud.py -> build\lib.win-amd64-3.9\wordcloud
  copying wordcloud\wordcloud_cli.py -> build\lib.win-amd64-3.9\wordcloud
  copying wordcloud\_version.py -> build\lib.win-amd64-3.9\wordcloud
  copying wordcloud\__init__.py -> build\lib.win-amd64-3.9\wordcloud
  copying wordcloud\__main__.py -> build\lib.win-amd64-3.9\wordcloud
  copying wordcloud\stopwords -> build\lib.win-amd64-3.9\wordcloud
  copying wordcloud\DroidSansMono.ttf -> build\lib.win-amd64-3.9\wordcloud
  UPDATING build\lib.win-amd64-3.9\wordcloud/_version.py
  set build\lib.win-amd64-3.9\wordcloud/_version.py to '1.8.1'
  running build_ext
  building 'wordcloud.query_integral_image' extension
  creating build\temp.win-amd64-3.9\Release
  C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.29.30037\bin\HostX86\x64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -Ic:\users\me\desktop\test\myvenv\include -IC:\Users\me\AppData\Local\Programs\Python\Python39\include -IC:\Users\me\AppData\Local\Programs\Python\Python39\include -IC:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.29.30037\include /Tcwordcloud/query_integral_image.c /Fobuild\temp.win-amd64-3.9\Release\wordcloud/query_integral_image.obj
  query_integral_image.c
  C:\Users\me\AppData\Local\Programs\Python\Python39\include\pyconfig.h(59): fatal error C1083: Cannot open include file: 'io.h': No such file or directory
  error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\BuildTools\\VC\\Tools\\MSVC\\14.29.30037\\bin\\HostX86\\x64\\cl.exe' failed with exit code 2
  ----------------------------------------
  ERROR: Failed building wheel for wordcloud
  Running setup.py clean for wordcloud
Failed to build wordcloud
Installing collected packages: ipython-genutils, wcwidth, traitlets, parso, retrying, pytz, pygments, prompt-toolkit, pickleshare, matplotlib-inline, jedi, decorator, colorama, backcall, wordcloud, pyarrow, plotly, pandas, mouse, IPython, pandasgui
    Running setup.py install for wordcloud ... error
    ERROR: Command errored out with exit status 1:
     command: 'c:\users\me\desktop\test\myvenv\scripts\python.exe' -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\me\\AppData\\Local\\Temp\\pip-install-b830suci\\wordcloud_0fc87e52f1294eda876b568d3125c591\\setup.py'"'"'; __file__='"'"'C:\\Users\\me\\AppData\\Local\\Temp\\pip-install-b830suci\\wordcloud_0fc87e52f1294eda876b568d3125c591\\setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code,
__file__, '"'"'exec'"'"'))' install --record 'C:\Users\me\AppData\Local\Temp\pip-record-b2fh9tzq\install-record.txt' --single-version-externally-managed --compile --install-headers 'c:\users\me\desktop\test\myvenv\include\site\python3.9\wordcloud'
         cwd: C:\Users\me\AppData\Local\Temp\pip-install-b830suci\wordcloud_0fc87e52f1294eda876b568d3125c591\
    Complete output (26 lines):
    running install
    running build
    running build_py
    creating build
    creating build\lib.win-amd64-3.9
    creating build\lib.win-amd64-3.9\wordcloud
    copying wordcloud\color_from_image.py -> build\lib.win-amd64-3.9\wordcloud
    copying wordcloud\tokenization.py -> build\lib.win-amd64-3.9\wordcloud
    copying wordcloud\wordcloud.py -> build\lib.win-amd64-3.9\wordcloud
    copying wordcloud\wordcloud_cli.py -> build\lib.win-amd64-3.9\wordcloud
    copying wordcloud\_version.py -> build\lib.win-amd64-3.9\wordcloud
    copying wordcloud\__init__.py -> build\lib.win-amd64-3.9\wordcloud
    copying wordcloud\__main__.py -> build\lib.win-amd64-3.9\wordcloud
    copying wordcloud\stopwords -> build\lib.win-amd64-3.9\wordcloud
    copying wordcloud\DroidSansMono.ttf -> build\lib.win-amd64-3.9\wordcloud
    UPDATING build\lib.win-amd64-3.9\wordcloud/_version.py
    set build\lib.win-amd64-3.9\wordcloud/_version.py to '1.8.1'
    running build_ext
    building 'wordcloud.query_integral_image' extension
    creating build\temp.win-amd64-3.9\Release
    C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.29.30037\bin\HostX86\x64\cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -Ic:\users\me\desktop\test\myvenv\include -IC:\Users\me\AppData\Local\Programs\Python\Python39\include -IC:\Users\me\AppData\Local\Programs\Python\Python39\include -IC:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.29.30037\include /Tcwordcloud/query_integral_image.c /Fobuild\temp.win-amd64-3.9\Release\wordcloud/query_integral_image.obj
    query_integral_image.c
    C:\Users\me\AppData\Local\Programs\Python\Python39\include\pyconfig.h(59): fatal error C1083: Cannot open include file: 'io.h': No such file or directory
    error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\BuildTools\\VC\\Tools\\MSVC\\14.29.30037\\bin\\HostX86\\x64\\cl.exe' failed with exit code 2
    ----------------------------------------
ERROR: Command errored out with exit status 1: 'c:\users\me\desktop\test\myvenv\scripts\python.exe' -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\me\\AppData\\Local\\Temp\\pip-install-b830suci\\wordcloud_0fc87e52f1294eda876b568d3125c591\\setup.py'"'"'; __file__='"'"'C:\\Users\\me\\AppData\\Local\\Temp\\pip-install-b830suci\\wordcloud_0fc87e52f1294eda876b568d3125c591\\setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record 'C:\Users\me\AppData\Local\Temp\pip-record-b2fh9tzq\install-record.txt' --single-version-externally-managed --compile --install-headers 'c:\users\me\desktop\test\myvenv\include\site\python3.9\wordcloud' Check the logs for full command output.

Environment
OS: Windows 10
Python: 3.9.2
IDE: VS Code but powershell for install, tried git bash as well
Package versions
did install in a venv:
ipython==7.21.0
ipython-genutils==0.2.0
jupyter==1.0.0
jupyter-client==6.1.12
jupyter-console==6.4.0
jupyter-core==4.7.1
jupyterlab-pygments==0.1.2
jupyterlab-widgets==1.0.0
jupyterthemes==0.20.0
notebook==6.4.0
PyQt5==5.15.4
PyQt5-Qt5==5.15.2
PyQt5-sip==12.9.0
PyQtWebEngine-Qt5==5.15.2

Looked at the word cloud repo, it appears on PyPi that all their tests are failing and they havent updated in a long time. I installed C++ build tools as pip recommended and error persisted. tried to install wordcloud from a whl but no dice there either

It's a pretty popular repo (8k stars), I'm not sure what's going on with the failed CICD builds but I don't think it is a dead or broken package. Their latest version installs okay for me on Windows 10 Python 3.9.

Looking at your error message I think you might find a solution here: https://stackoverflow.com/questions/40018405/cannot-open-include-file-io-h-no-such-file-or-directory
If not, I recommend you make an issue on their repo


Add io.mockk dependency for static/object mocking for testing of files written in kotlin

While working on a PR, I saw tests were failing, reason? I had converted a file to kotlin and a method that test invokes makes a call to a static method. When tests failed, turns out it couldn't mock the static method. Because powermock doesn't support mocking  kotlin objects. Now, I could have made a hacky solution by having a common interface and making both actual and test wrapper class implement it. So that, I can pass a stubbed method by overriding. But there is more than one place where we need static mocks.
For eg. CommonsApplication.getInstance(). Now, when testing we need to stub it. Currently we're using powermock to mock static methods and stub it. But this only works for .java files. If we convert CommonsApplication.java to kotlin the tests would fail because powermock cannot mock kotllin objects and in this case getInstance would be null leads failed tests.
Not for the purpose of solving just single issue that I'm working on but we will have other files converted to kotlin eventually anyways. We need to have a solution to mock kotlin objects. On my research I found this is the best we can have mockk, supports mocking kotlin objects. It is fairly active and stable library. So, I propose adding it as a dependency. Mocking kotlin objects would be same as we are doing with powermock.
It takes ~400Kb space when I analyzed the .apk , so size shouldn't be an issue.

Will appreciate any input :)
P.S: I also found out, it is discouraged to make static calls (for eg. a method making static call in it's impl.) but rather have something as a dependency so it gets easier to test. Otherwise it leads to tight coupling. Maybe we can also fix this in our testing impl, in future.

If it looks good, shall I work on it?

Yes thanks! :-)


Cannot get 417 error code for _bulk_doc endpoint with validation

Description
During the tesing of _bulk_docs endpoint I could not manage to get
417 (Expectation Failed) response from CouchDB. However I reproduced
document validation error as the documentation stated here: http://docs.couchdb.org/en/2.0.0/api/database/bulk-api.html#post--db-_bulk_docs
A documentation validation error occured, but the CouchDB answer remained 201, not changed to 417.
I could not decide whether this documentation or CouchDB issue.
Steps to Reproduce

Create a validation document:

{
  "_id": "_design/validation",
  "_rev": "2-1c951cf2c4f20390a2e2527ddc0ca40d",
  "validate_doc_update": "function(newDoc) {
              if(newDoc.sales > 20) {
                    throw({ forbidden: 'Impossible value.'})
              }
         }"
}

Update an existing document with invalid value:

{
  "docs": [
      {
        "_id": "sales1",
        "_rev": "1-156c36a09be5d5ddfaf095f8add6d5da",
        "sales": 25
      }
    ]
}

Expected Behaviour
According to documentation the CouchDB should answer with 417 error code, but now it is 201.
The content of the response body is appropriate:
[
  {
    "id": "sales1",
    "error": "forbidden",
    "reason": "Impossible value."
  }
]

Your Environment

CouchDB Version used: 2.3.1
Browser name and version: Postman
Operating System and version: Linux

Additional context
Please decide the correction where is necessary, in the documentation or in the CouchDB.

417 is only thrown if all_or_nothing=true and a doc fails a validate_doc_update test.

@rnewson : thank you for the answer!
http://docs.couchdb.org/en/latest/whatsnew/2.0.html#upgrade-notes says

all_or_nothing is no longer supported by the bulk_docs API

Does that mean the 417 response code is now never returned?

Where is it possible to set all_or_nothing field to _bulk_doc endpoint? The documentation doesn't mention this...  The release note states that it is not supported any more. We are using 2.3.1 version.
http://docs.couchdb.org/en/latest/whatsnew/2.0.html#upgrade-notes

I think we've removed the documentation for all_or_nothing, but it is still present in the codebase, whether or not it still functions, I don't know. But it is the only way to get a 417 from this endpoint.

This is why I opened this issue. In this case better to remove 417 from the _bulk_docs documentation.

Here's the documentation source in question. Anyone can open a PR against the docs.

Thanks for the suggestion! I've just opened a PR.

As https://github.com/apache/couchdb-documentation/pull/447 has been merged, I think this issue can be closed now.


0/1 Knapsack Problem

Description:
Solve the 0/1 knapsack problem where you are given weights and values of n items, and a knapsack of capacity W. Find the maximum value you can carry in the knapsack.
Input:
An array of weights, an array of values, and the knapsack capacity W.
Output:
The maximum value that can be achieved.
Example:
Input: weights = [1, 3, 4, 5], values = [1, 4, 5, 7], W = 7
Output: 9

please assign this issue to me

Added 0/1 Knapsack solution @strivedi4u please merge


samples: Add Broadcast Assistant sample

First version of Broadcast Assistant sample
with hard coded selection of sink and source.

Looks generally really nice and clean! A few whitespace related coding style comments inline.

Thanks for reviewing! - I think I missed setting the right tab size in the editor.  (also just pushed a small fix for nrf52840 - when using with the Samsung Galaxy Buds2 Pro, there is so much advertising data it seems ;) - but tested with both nrf5340 Audio DK/Zephyr hci_ipc + nrf52840 DK now)

I'll just add some printk logs here of this application running on an nRF5340 Audio DK against a Broadcast Audio Source (nRF52840 Dongle) and the Samsung Galaxy Buds2 Pro (broadcast audio plays just after that last line in the log):
*** Booting Zephyr OS build zephyr-v3.5.0-4883-g38af85b622b7 ***
[00:00:00.406,188] <inf> bt_hci_core: HW Platform: Nordic Semiconductor (0x0002)
[00:00:00.406,250] <inf> bt_hci_core: HW Variant: nRF53x (0x0003)
[00:00:00.406,250] <inf> bt_hci_core: Firmware: Standard Bluetooth controller (0x00) Version 3.5 Build 99
[00:00:00.407,958] <inf> bt_hci_core: Identity: E1:62:6A:FE:50:01 (random)
[00:00:00.407,989] <inf> bt_hci_core: HCI: version 5.4 (0x0d) revision 0x0000, manufacturer 0x05f1
[00:00:00.408,020] <inf> bt_hci_core: LMP: version 5.4 (0x0d) subver 0xffff
Bluetooth initialized
Scanning for Broadcast Sink successfully started
Broadcast Sink Found:
  BT Name:        Galaxy Buds2 Pro
Match found for 'Galaxy'
Connecting to Broadcast Sink: Galaxy Buds2 Pro
Connected: 43:22:0B:70:20:57 (random)
Security level changed: 2
Scanning for Broadcast Source successfully started
Broadcast Source Found:
  BT Name:        LAKD Broadcast Music
  Broadcast Name: LAKD Broadcast Music
  Broadcast ID:   0xf147b6

Match found for 'LAKD Broadcast'
Selecting Broadcast ID: 0xf147b6

Name it samples/bluetooth/broadcast_audio_assistant ?

ok - I'll see if I can rename and push before I have to leave the office ;)

@kartben  and @jhedberg - can you accept the PR (can I dismiss your change requests)?

@kartben, I just added your suggestions to the README file (only change in the last push)

Doc looks good, thank you! Nit, maybe for a future update: I'm tend to be a sucker for including hyperlinks anywhere it makes sense, for better navigability/discoverability of the docs, and it would be nice to have actual links to the sink and source samples.

I can promise you that all broadcast audio samples will get some love and attention in the next weeks, where we will make sure to look at the docs too :)


LDAP Plugin error / distinguished  name contains invalid syntax

I successfully could use the ldap plugin to login with each user in my freeIPA system. Now I wanted to allow only users of the group allowdUsers to be able to login. So I decided to go to the Authorization tab, set the default action to deny and establish this rule:
If  (&(memberUid=%u)) level Base in cn=allowedUsers,cn=groups,cn=accounts,dc=example,dc=com allow, which I somewhat modified to my path from http://mutonufoai.github.io/pgina/documentation/plugins/ldap.html - however, if I try to login with a user which beforehand could login (and is in the group), I get the pgina error "The distinguished name contains invalid syntax"
What am I missing?
Thanks a lot!

Can be closed, this error was due to the fact that  I entered the wrong password for the LDAP base user / search DN.


Can't run analysis using Docker on M1 Mac

Description
Getting errors when trying to run analysis on a contract using docker on a m1 mac
docker run -v $(pwd)/src:/src mythril/myth a /src/Test.sol
qemu-x86_64: Could not open '/lib64/ld-linux-x86-64.so.2': No such file or directory
mythril.interfaces.cli [ERROR]: Traceback (most recent call last):
  File "/usr/local/lib/python3.10/site-packages/solcx/install.py", line 633, in _validate_installation
    installed_version = wrapper._get_solc_version(binary_path)
  File "/usr/local/lib/python3.10/site-packages/solcx/wrapper.py", line 17, in _get_solc_version
    stdout_data = subprocess.check_output([str(solc_binary), "--version"], encoding="utf8")
  File "/usr/local/lib/python3.10/subprocess.py", line 421, in check_output
    return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
  File "/usr/local/lib/python3.10/subprocess.py", line 526, in run
    raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command '['/home/mythril/.solcx/solc-v0.8.18', '--version']' returned non-zero exit status 255.

How to Reproduce
I followed documentation on how to install using Docker
then ran docker run -v $(pwd)/src:/src mythril/myth a /src/Test.sol

@RilRil
Maybe adding platform params like below could help.
docker run --platform linux/amd64 -v $(pwd)/src:/src mythril/myth a /src/Test.sol
Source:
https://stackoverflow.com/questions/71040681/qemu-x86-64-could-not-open-lib64-ld-linux-x86-64-so-2-no-such-file-or-direc/73619224#73619224

it worked thanks !


adding support for oci URLs to pull oci based registries from internet

We wish to pull public charts from the internet that are OCI based registries.
An example of URL usage is oci://public.ecr.aws/karpenter/karpenter, which is currently being denied due to only http and https being accepted.
I updated the validation function to include oci as well.

I have read the CLA Document and I hereby sign the CLA

recheck

recheck


Stacking Icons

Is it possible to stack icons like Font Awesome does?
If not, I would welcome this feature!

Hi,
yes, you can with jIconFont for JavaFX (http://jiconfont.github.io/javafx
example 5). Do you need it for Swing?
2016-03-21 14:05 GMT-03:00 jsh0<EMAIL_ADDRESS>
Is it possible to stack icons like Font Awesome does
https://fortawesome.github.io/Font-Awesome/examples/#stacked?
If not, I would welcome this feature!
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub
https://github.com/jIconFont/jiconfont/issues/1

Hi,
thanks for your example. It is exactly how I would like to have it, but I want to use it with Swing.
Is this also possible?

Sure, it is. But I have create it for Swing. I will be very busy this week
but I can do it later.
2016-03-21 16:17 GMT-03:00 jsh0<EMAIL_ADDRESS>
Hi,
thanks for your example. It is exactly how I would like to have it, but I
want to use it with Swing.
Is this also possible?
—
You are receiving this because you commented.
Reply to this email directly or view it on GitHub
https://github.com/jIconFont/jiconfont/issues/1#issuecomment-199435521


How to disable navigation keyboard shortcuts

Is there such an option?

No, you would have to remove the key bindings for the viewer yourself.

No, you would have to remove the key bindings for the viewer yourself.

I'm trying to do that for ^P (print) ^O (open).
As far as I can tell, ^P is implemented in line 15627 ff. of `web/viewer.js':
window.addEventListener('keydown', function (event) {
  if (event.keyCode === 80 && (event.ctrlKey || event.metaKey) &&   // 'p'
      !event.altKey && (!event.shiftKey || window.chrome || window.opera)) {
    window.print();

Commenting out window.print() had no effect.
For ^O I can't even find the corresponding code.

@chitgoks I also disable keyboard shortcuts, even all. Please re-open this issue.

reopening on @fishfree  's request. i have no use for this anymore

@allefeld I find we should also comment out
window.addEventListener("click", webViewerClick);     //window.addEventListener("keydown", webViewerKeyDown);     window.addEventListener("keyup", webViewerKeyUp);

@fishfree, in my application I ended up with a solution that does not involve changing the code of the viewer.
I use the viewer for a pdf-display pane in atom: https://github.com/allefeld/atom-pdfjs-viewer.
The viewer is in an iframe, and I have code outside which controls which keypresses make it to the viewer in the first place.
See: https://github.com/allefeld/atom-pdfjs-viewer/blob/453706f884835031a43a829304914b9c1eafb1be/lib/pdfjs-viewer-view.js#L101


Resource.Robot File Missing

Hi
I am exploring AngularJS in Robotframework , i came across your repository when i am trying to run the code i am getting an error as 1 file is missing(Resource.Robot). Need your help in this.
Thanks in Advance

@SatishRamamuni  Sorry for not seeing this sooner. There is no Resource.Robot file either in this project nor required by this project. If you are still experiencing an issue here please provide some more information of tracefile showing error.

Closing at this does not appear to be AngularJSLibrary issue. If you continue to see issues either reopen this ticket or create a new one.


Pass state or props from child Custom Component to parent Component?

I'm having trouble getting Custom Components to communicate with state or props, whenever I try they always come up as 'undefined'. I think it's because Custom Components technically exist outside of the parent Component (class), and therefore do not share state?
Examples: Custom Component that is a button that can setState on parent Component by passing props up, or receive props from parent Component to use in the Custom Component.  Non-dynamic props can be passed, but not component state.
Example: <Button tree={'green'} /> works,  but <Button props={this.state.tree} /> returns undefined.
If this is outside of the scope of the project, could you point me in the right direction in the code base to start implementing this? Or would you suggest using something like Redux instead? Thanks!
Edit: I think this is also preventing triggerNextStep() from working as well? The below configuration does not trigger the next step, and throws an 'undefined' error as well:
  triggerNext = () => {
    this.props.triggerNextStep();
  }

  {
    id: 'Button',
    waitAction: true,
    component: (
      <BuyButton onPress={() => this.triggerNext()} />
    ),
    trigger: `Next Step`,
  },

Nevermind! import ChatBot from 'react-native-chatbot'; needed to be declared in the Child Component for this.props.triggerNextStep(); to work. Thanks again for the awesome project!


Multiple errors during download

During the download of any WebEx recording I get 5 to 10 errors (with or without the -s flag) resulting in the video not being downloaded. Furthermore each time I restart the download the sequences reporting "download aborted" change "randomly". Tested on 2 different videos with the same result. Any idea on how to fix this and/or what might be the cause?

Can you post the errors log?

Are you talking about the poliwebex output or the aria2c log? Cause I don't see any log file.
10/10 16:02:52 [ERROR] CUID#207 - Download aborted. URI=https://nln1vss.webex.com/hls-vod/recordingDir/QUhTSwAAAAQnV4O0SvuBnPDzOF5ez3rFknPzmna4OZy8lrMRpVZbtEz-FQCdr0A3p2z7IdL9_69X9_ubvJWibwPDWbOYZTmdU5nltbD-73TQqET3Fw8Jj5OB4kpePZU9gvTcGDFVR6kx1HHbJLTyFtlrI84cLkNGTGJWcCoRQue9IOPo0Fmw27UHUA4TLN-kAcZ4glwyshkJOgJwesgzwkrBUg5LX0ol0/timestamp/1602338132075/token/QUhTSwAAAASKj3S8ap1p7bOkySG3Bh92vzhCQAbDLV4X1-16cn9qWNFOrfIZmK3uGnSWAKVgxKJ1SmOhPRhByepbvSGiZ94fP_Hq8DesbcTHOhNVxmMQPodjMdFZG8oUNvCjZJ7Gk8BZNaKw4jeSAEj43vqVR3NcvcvED6smXGhP9urrlHVmliJpgLe-1_06J3unDn6poXUuH3f9xvScqc6l9tU8JOi8wnd7UwJRcbUnyUXLY2uDBtBFjZr8Mq2OlWYFaDx3iq29rdgJRZTGg2tdtAGsTSfi_DjAYUE16SUhtFM4ISDVRdt5BO5AuVgRXzdaa7q55uGW-jqe5H_Sg8iYlojWwx2yw9QlwC2o2BUhyd-anTYt399D-dc9K0CR2I-VdpNp8Sg1/fileName/merge_0_9359640.mp4Frag196Num196.ts
Exception: [AbstractCommand.cc:351] errorCode=8 URI=https://nln1vss.webex.com/hls-vod/recordingDir/QUhTSwAAAAQnV4O0SvuBnPDzOF5ez3rFknPzmna4OZy8lrMRpVZbtEz-FQCdr0A3p2z7IdL9_69X9_ubvJWibwPDWbOYZTmdU5nltbD-73TQqET3Fw8Jj5OB4kpePZU9gvTcGDFVR6kx1HHbJLTyFtlrI84cLkNGTGJWcCoRQue9IOPo0Fmw27UHUA4TLN-kAcZ4glwyshkJOgJwesgzwkrBUg5LX0ol0/timestamp/1602338132075/token/QUhTSwAAAASKj3S8ap1p7bOkySG3Bh92vzhCQAbDLV4X1-16cn9qWNFOrfIZmK3uGnSWAKVgxKJ1SmOhPRhByepbvSGiZ94fP_Hq8DesbcTHOhNVxmMQPodjMdFZG8oUNvCjZJ7Gk8BZNaKw4jeSAEj43vqVR3NcvcvED6smXGhP9urrlHVmliJpgLe-1_06J3unDn6poXUuH3f9xvScqc6l9tU8JOi8wnd7UwJRcbUnyUXLY2uDBtBFjZr8Mq2OlWYFaDx3iq29rdgJRZTGg2tdtAGsTSfi_DjAYUE16SUhtFM4ISDVRdt5BO5AuVgRXzdaa7q55uGW-jqe5H_Sg8iYlojWwx2yw9QlwC2o2BUhyd-anTYt399D-dc9K0CR2I-VdpNp8Sg1/fileName/merge_0_9359640.mp4Frag196Num196.ts
  -> [HttpResponse.cc:81] errorCode=8 Invalid range header. Request:<PHONE_NUMBER>07/656308, Response: 0-656307/656308

This is an example out of the poliwebex.js output.

Yes sorry, I meant the aria2c log.
That errorCode=8 Invalid range header is a really strange error and I can find only few report of it on internet (seems related to an aria2c bug).
I've just tried downloading the .mp4 version of the video you are trying ton download and I've got no problems.
Can you try to insert this command in a terminal window and see if the error occurs again?
aria2c -j 16 -x 16 "https://nln1vss.webex.com/apis/download.do?recordingDir=QUhTSwAAAAQnV4O0SvuBnPDzOF5ez3rFknPzmna4OZy8lrMRpVZbtEz-FQCdr0A3p2z7IdL9_69X9_ubvJWibwPDWbOYZTmdU5nltbD-73TQqET3Fw8Jj5OB4kpePZU9gvTcGDFVR6kx1HHbJLTyFtlrI84cLkNGTGJWcCoRQue9IOPo0Fmw27UHUA4TLN-kAcZ4glwyshkJOgJwesgzwkrBUg5LX0ol0&timestamp=1602338132075&token=QUhTSwAAAASKj3S8ap1p7bOkySG3Bh92vzhCQAbDLV4X1-16cn9qWNFOrfIZmK3uGnSWAKVgxKJ1SmOhPRhByepbvSGiZ94fP_Hq8DesbcTHOhNVxmMQPodjMdFZG8oUNvCjZJ7Gk8BZNaKw4jeSAEj43vqVR3NcvcvED6smXGhP9urrlHVmliJpgLe-1_06J3unDn6poXUuH3f9xvScqc6l9tU8JOi8wnd7UwJRcbUnyUXLY2uDBtBFjZr8Mq2OlWYFaDx3iq29rdgJRZTGg2tdtAGsTSfi_DjAYUE16SUhtFM4ISDVRdt5BO5AuVgRXzdaa7q55uGW-jqe5H_Sg8iYlojWwx2yw9QlwC2o2BUhyd-anTYt399D-dc9K0CR2I-VdpNp8Sg1&fileName=merge_0_9359640.mp4"
And if you got the error, try this:
aria2c "https://nln1vss.webex.com/apis/download.do?recordingDir=QUhTSwAAAAQnV4O0SvuBnPDzOF5ez3rFknPzmna4OZy8lrMRpVZbtEz-FQCdr0A3p2z7IdL9_69X9_ubvJWibwPDWbOYZTmdU5nltbD-73TQqET3Fw8Jj5OB4kpePZU9gvTcGDFVR6kx1HHbJLTyFtlrI84cLkNGTGJWcCoRQue9IOPo0Fmw27UHUA4TLN-kAcZ4glwyshkJOgJwesgzwkrBUg5LX0ol0&timestamp=1602338132075&token=QUhTSwAAAASKj3S8ap1p7bOkySG3Bh92vzhCQAbDLV4X1-16cn9qWNFOrfIZmK3uGnSWAKVgxKJ1SmOhPRhByepbvSGiZ94fP_Hq8DesbcTHOhNVxmMQPodjMdFZG8oUNvCjZJ7Gk8BZNaKw4jeSAEj43vqVR3NcvcvED6smXGhP9urrlHVmliJpgLe-1_06J3unDn6poXUuH3f9xvScqc6l9tU8JOi8wnd7UwJRcbUnyUXLY2uDBtBFjZr8Mq2OlWYFaDx3iq29rdgJRZTGg2tdtAGsTSfi_DjAYUE16SUhtFM4ISDVRdt5BO5AuVgRXzdaa7q55uGW-jqe5H_Sg8iYlojWwx2yw9QlwC2o2BUhyd-anTYt399D-dc9K0CR2I-VdpNp8Sg1&fileName=merge_0_9359640.mp4"

The first command did it. No errors reported and the video has been downloaded without any issues.

Well it is really weird since it's exactly the same command that PoliWebex uses.
The only thing that I can suggest right now is to try again (without the -s flag) and/or try on a different machine.
If you still not able to download videos, you can have a look at the browser extension: https://github.com/jacopo-j/WebXDownloader

Where did you get that url for the video?

PoliWebex generates it.
In that case I crafted it manually from the informations posted in your log

Can you explain the procedure? That way I can kinda solve the problem (not in the "right" way, but still its a solution)

It's not that easy to manually generate and basically explaining the process would mean explaining the project, so you can check out the source code if you want.
But if your ultimate goal is to find a way to download the videos, no matter what, I suggest you again to use this: https://github.com/jacopo-j/WebXDownloader


Improved choice

User input 1 (by TR - Sharepoint ID8)
I would like to see "Yes" and "No" as text for the "two branches" belonging to a Choice box. As a default "No" branch can be to the right hand side and the "Yes" branch be to the left hand side below the choice diamond.
User input 2 (by LSE, GLB, HE):
Når vi skal sammenligne mer enn to dimensjoner, er det mulig å ha flere enn to valg/alternativ?
User story
As an end user I want the choice activities to be intuitive and describing so that it can be used for all needs
Describe the solution you'd like

Label outcomes of choices
More than two outcomes

Choice node with text on outcome lines:

new design

Is there a limit to the number of characters allowed in the choice labels? I am unsure on how to deal with overlapping like this:

This feature is pretty significant so I think we should add a new section in the canvas tutorial.

This feature is pretty significant so I think we should add a new section in the canvas tutorial.

Is it the designer that mocks the tutorial section and provides the assets or the developer? @VetleW @nesadrian

This feature is pretty significant so I think we should add a new section in the canvas tutorial.

Should this be a new issue or part of this issue?

Tested in TEST env.
The text on edges of choice card is not entirely shown.

Tested with commit e5d531a in TEST env.
The text on choice edges looks good.


Import / Add /.Update multiple regions

As mentionned in #86 / #139 / #155, we are not able to import / add / update multiple regions at a time.
For e.g., if I want to initialize my Nominatim Database with multiple regions (monaco and andorra), I have to merge the two region files into a combined one and then use nominatim-docker process.
Also, with this solution, I loose all possibility of update following @UntitleDude comment.
I developed a solution to manage import / add / update multiple regions following Nominatim Advanced Installations documentation.
Now I am able, with nominatim-docker, to :

import multiple regions
add more regions, really helpful in case we have already initialized the database and want to add other regions
update multiple regions

I'm not familiar with Dockerfile and shell so there are many improve to make I guess. Also I put every scripts into a separated folder since this is a very different process from the default one but this might not be a good idea. So don't hesitate to tell me how I can improve this pull request and if you think it has its place into nominatim-docker.
Thanks.

Thanks for the PR. I'll take a look and suggest some changes. FYI: the underlying image / Dockerfiles have changed a lot with PR https://github.com/mediagis/nominatim-docker/pull/183, so we would need to reflect the changes also here. But I'll try to give feedback before you tackle that one.

When do you plan to merge this into master branch?

No current plans since the underlying code has changed dramatically and the version has changed.

@philipkozeny I totally agree. Also it seems that the nominatim repository is currently not maintaining the multi scripts, meaning I have to use an older nominatim version.
Thanks for the feedback.


Where should we put macros?

Consider the following macros:

async_std::task_local
async_std::println
async_std::task::ready

They are not organized in a very sensible way. Why would task_local be in the root module and not in the task module? And why is println not in the io module if standard I/O functionality lives there?
In the Rust standard library, all macros live in the root module. This is perhaps a historical artifact because macros couldn't be placed anywhere else until Rust 2018 (remember the age of #[macro_use]?). If the standard library was designed today, perhaps we'd have std::io::println instead of std::println.
So we're facing a dilemma: do we organize our macros in async_std more logically (unlike std) or just dump them all in the root module (like std)? Or, do we keep the current situation and have equivalents of macros from std in the root module and place other macros elsewhere?
Macros in the root module also re-exported in the prelude (just like in std). However, other macros aren't.
Opinions?

@stjepang I'm thinking we re-export the std counterparts as part of the root of the crate. But then we also export the individual macros from their respective submodules.
Probably the odd macro odd out here is write / writeln which makes sense to have both part of io and fmt. We don't have a fmt crate currently so it's not a problem, but yeah still.
Related PR: #328


update

Is there any specific reason to not have CLI option to update project like updating eg. Proces etc.. which is available by GUI ...
e.g.
az devops project update

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

ID: ce3c1e46-6a16-19f1-ee37-0ac9e783e64a
Version Independent ID: 0172eade-f91a-d284-51b0-804cf9d4c327
Content: az devops project
Content Source: latest/docs-ref-autogen/devops/project.yml
GitHub Login: @rloutlaw
Microsoft Alias: routlaw

Adding Service team for devops issue.
@v-anvashist, @V-hmusukula. Could you please look into this ? Thanks in advance

route to service team


fix: methodmap inherit with same func name, only completion inherited…

remove InnerMap.GetValue from the completion

damn u reply fast. And lsp !!! It seems that more and more editors are able to enjoy


IE8 has issues

I have a sample wire-frame working that seems to work fine in everything except IE8. IE8 drops the fixed element down the page, but does not stay fixed.
http://www.wheretostay.com/test/test-scroll.php
I am not using an UL like in your examples, I am using DIVs.
Thanks for any help.
Thom

Just taking a quick stab at this.  You should be setting the #header-footer element as .scrollToFixed, with no options, instead of the whole #sub-header with a very negative marginTop.  That will cause it to doc at the top of the page, as the #header-footer does in Chrome.  Also, you should probably not have the #title and #nav elements positioned absolute.  They should be default or relative position.
The basic idea is, you should be able to layout elements where you want them in the natural flow of the layout, without having to resort to positioning.  When elements hit your defined boundaries (marginTop and/or limit), they should fix or unfix accordingly.  This way of doing it works in IE8, as seen in the demos.

I am going to close this issue since it has been open for a couple of weeks and there has been no more feedback.  Thanks for submitting this issue.


Bump yosys plugins

This PR does the following:

updates yosys-plugins
removes the symbiflow workaround from minilitex test (fixes https://github.com/SymbiFlow/symbiflow-arch-defs/issues/1753)

I am not sure why vendor tools failed with the minilitex test:
-HCLK_IOI3_X113Y26.BUFR_Y0.BUFR_DIVIDE.BYPASS
-HCLK_IOI3_X113Y26.BUFR_Y1.BUFR_DIVIDE.BYPASS
-HCLK_IOI3_X113Y26.BUFR_Y2.BUFR_DIVIDE.BYPASS
-HCLK_IOI3_X113Y26.BUFR_Y3.BUFR_DIVIDE.BYPASS
-HCLK_IOI3_X113Y26.VREF.V_675_MV
-

One possiblity is that this is related to the fact that the design instantiates an IDELAYCTRL, even though there is no IDELAY to control, as there is no DDR module for this test, therefore Vivado does not add these features.

I am not sure why vendor tools failed with the minilitex test:
-HCLK_IOI3_X113Y26.BUFR_Y0.BUFR_DIVIDE.BYPASS
-HCLK_IOI3_X113Y26.BUFR_Y1.BUFR_DIVIDE.BYPASS
-HCLK_IOI3_X113Y26.BUFR_Y2.BUFR_DIVIDE.BYPASS
-HCLK_IOI3_X113Y26.BUFR_Y3.BUFR_DIVIDE.BYPASS
-HCLK_IOI3_X113Y26.VREF.V_675_MV
-

One possiblity is that this is related to the fact that the design instantiates an IDELAYCTRL, even though there is no IDELAY to control, as there is no DDR module for this test, therefore Vivado does not add these features.

I assume this is related to a regression in the XDC parser?  VREF parameters get attached to the BANK cell, which might be getting pruned or something?  Unclear.


I met an error message when I execute 'rosdep install -i --from-path src --rosdistro foxy -y'

Hello, @dusty-nv
Thank you for good materials.
I met an error message when I execute 'rosdep install -i --from-path src --rosdistro foxy -y'
ros2 tutorial url : https://docs.ros.org/en/foxy/Tutorials/Beginner-Client-Libraries/Writing-A-Simple-Cpp-Publisher-And-Subscriber.html
root@manager-desktop:~/robot_ws# rosdep install -i --from-path src --rosdistro foxy -y ERROR: the following packages/stacks could not have their rosdep keys resolved to system dependencies: rqt_example: No definition of [rqt_py_common] for OS version [bionic] testbot_description: No definition of [rviz2] for OS version [bionic] root@manager-desktop:~/robot_ws#
Could you tell me how to resolve this issue?
Thank you.

Hi @leeyunhome, when rosdep tries to install dependencies, it will look for the package here and find how to install it. For example, in your example rosdep would try to install ros-foxy-rqt and ros-foxy-rviz. It seems like it does not find them in the available apt repos, it might be because you are missing apt update or because they are not available for your architecture. You can manually search for them using apt update && apt search rviz2 and see if they are available


ethstat : multiple interfaces, vlan tagged interfaces

Hi
I am diving into the ethstat plugin.
->is there a way to have multiple interface monitored ?
->I am using tagged vlan interfaces with , it does not seem supported. It supported is by the interface plugin, but the interfaces plugin is more limited.
regards,
Ferréol

Hello,
The Perfwatcher team does not support Collectd plugins except the ones that we developped specifically for Perfwatcher and that are not part of Collectd from http://collectd.org. Of course, we try to help when we have knowledge on it. Sorry, for ethstat, you will have to ask Collectd users or developers (see on http://collectd.org and https://collectd.org/documentation/manpages/collectd.conf.5.shtml#plugin_ethstat).
If you manage to have the metrics you want in rrd files, we can help you for displaying them (e.g. help you write your own etc/definitions.local.php and maybe include your definitions in mainstream etc/definitions.php).
Regards,
Yves

my bad, thought it was a collectd-pw plugin
sorry !


Dear Professor Chen

I would like to express my sincere admiration and appreciation for your exceptional work in the field of multi-robot systems. Your insightful research and innovative contributions have had a profound impact on the industry and have been instrumental in shaping the future of robotics.
As a student and aspiring professional in this field, I am constantly inspired by your dedication and passion for advancing the state of the art. Your leadership and mentorship have been invaluable to me and countless others, and I feel incredibly fortunate to have had the opportunity to learn from you.
Thank you for your tireless efforts and unwavering commitment to excellence. Your contributions to multi-robot systems are truly remarkable and will continue to have a lasting impact for years to come.

Bruh...


SSLError on Jira api connect

Tried running action against our jira account and...
WARNING:root:Got recoverable error from GET ***/rest/api/2/serverInfo, will retry [1/3] in 12.502317084188054s. Err: HTTPSConnectionPool(host='imaware.atlassian.net', port=443): Max retries exceeded with url: /rest/api/2/serverInfo (Caused by SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1131)')))
Not sure what to do here as our GitHub is permitted with jira and am using other jira GitHub Actions to create tickets.

Ignore, looks to be due to the AWS outage in us-east-1.


Documentation spelling fixes

Hi. I spotted few spelling mistakes in the documentation file docs/atomic-structure.md. These have been now amended.
Changes

Documentation spelling amendments.

Javascript --> JavaScript
url --> URL
No functional changes to software itself.
Checklist

[x] Changes are limited to a single goal (no scope creep)
[x] Code can be automatically merged (no conflicts)
[x] Code follows the standards laid out in the front end playbook
[ ] Passes all existing automated tests
[ ] New functions include new tests
[ ] New functions are documented (with a description, list of inputs, and expected output)
[ ] Placeholder code is flagged
[ ] Visually tested in supported browsers and devices
[ ] Project documentation has been updated (including the "Unreleased" section of the CHANGELOG)

👍


Fix cached candidate server api error-handling bug in sdk update

Fix cached candidate server api error-handling bug in __sdk_update, plus a few other improvements to __sdk_update.

[ ] a conversation was held in the appropriate SDKMAN Slack channel.
[ ] a Github Issue was opened for this feature / bug.
[ ] test coverage was added (Cucumber or Spock as appropriate).

This is an old workaround that is required as far as I remember. If you don't set IFS back to what it was, you could leave the user's shell in an inconsistent state.

Doing <variable>=<value> <some other code on same line> only sets <variable>=<value> for that one command. So, IFS=',' … will only apply to that line, and it resets to its previous value after that line is done.

Why have we dropped the cached_candidates local variable here? I'd prefer not to depend on an environment variable in the body of the function. Also, it might be simpler but makes the code less understandable.

The old code already depended on parsing SDKMAN_CANDIDATES_CSV.  SDKMAN_CANDIDATES is just SDKMAN_CANDIDATES_CSV already parsed, so there's no need to parse SDKMAN_CANDIDATES_CSV yet again.  SDKMAN_CANDIDATES is already used elsewhere in the codebase, used up to 4 times in the same function. SDKMAN_CANDIDATES is only used twice in the new code from this PR.  SDKMAN_CANDIDATES_CACHE was already used three times, and SDKMAN_CANDIDATES_CSV two times, in the same function, so I assumed using SDKMAN_CANDIDATES twice was OK.

It is fine deferring the work, but generally we declare local variables at the top of the function.

I can move variable declarations to the beginning of the function if you want, though I think the assignment should definitely be deferred to where I moved it.  I just generally try to have code avoid performing unnecessary work, not just for performance, but also so that developers reading code don't wonder what code is for many lines before it's actually useful.

We would need a test to prove that this is a bug and that this fixes it.

I think this bug is easily observable from the code. In the existing code,fresh_candidates was was grepped before it was ever declared or assigned, and it's later assigned to an array, not a scalar.  The original author obviously meant to grep fresh_candidates_csv instead.  I fixed that bug, avoided the unnecessary tr call by using grep -i, and delayed the grep until it was actually needed.

Regarding the writing of a test: apologies in advance but if you are fixing a bug, it should always go with a test to prove it.

I ran the following on the command line:
$ IFS=',' read -a fresh_candidates <<< "1,2,3,4,5"
read: bad option: -a

$ zsh --version
zsh 5.8 (x86_64-pc-linux-gnu)

It works fine in bash, not in ZSH.

Not sure if you saw my comment elsewhere, but that read -a line won’t ever run in zsh, because of the if condition.

Thanks for your patience @rgoldberg

Thanks.  I understand.    Will submit the next PR.

Gotta rebase all the sdk env changes first.  Once done, will submit PR


⚠ Bofrost.fr has degraded performance

In e3e4556, Bofrost.fr (https://www.bofrost.fr) experienced degraded performance:

HTTP code: 200
Response time: 1836 ms

Resolved: Bofrost.fr performance has improved in 4d93e29.


FileUploadTests: set culture to InvariantCulture to remove dependency on local system culture.

… on local system culture.

I noticed while running the tests on my system that one of the tests was dependend on local culture because it checks for the actual error message. On a different culture the error message is different and the test fails.

Description

Manually set UI culture to InvariantCulture before test.
How Has This Been Tested?

Unit test succeeds independent of local culture.
Types of changes

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

Checklist:

[x] The PR is submitted to the correct branch (dev).
[x] My code follows the code style of this project.
[x] I've added relevant tests.

This test should probably be reworked but I think this is a valid fix in the meantime.
Thanks!

I'm not familiar with the specific details of NUnit, as I primarily use xUnit. This is why I have a questions, shouldn't you restore the CurrentCulture and CurrentUICulture to their original values in the finally block after the test. Or NUnit handles this?

@ScarletKuro that is a valid concern. Imho it should not have a negative effect setting the culture to InvariantCulture because that should be the default anyway but it still breaks the encapsulation.
I was not aware of the [SetUICulture] attribute in NUnit - that sounds like a better solution acutally.
Since this pr has already been merged should i still change it or just leave it until a complete rework is done anyway?

I don't know if [SetUICulture] allows to set InvariantCulture or it accepts only strings, I didn't dig to deep.

Since this pr has already been merged should i still change it or just leave it until a complete rework is done anyway?

Leave as is I guess.

I want to rewrite this test anyway to not be dependent on an error message string.


Crash by EnderIO and RFTOOLS

Issue Description:
Note: If this bug occurs in a modpack, please report this to the modpack author. Otherwise, delete this line and add your description here. If you are using an unreleased version of Ender IO (e.g. for 1.8.9), please don't open an issue for features that have not been announced as "finished" or "working".
Hello i have error my server every crashed on loading EnderIO and RFTools can you help me.
The error: https://pastebin.com/Cv6LtBtd
Sorry for my bad english i'm french.

Affected Versions (Do not use "latest"):

EnderIO: EnderIO-1.8.9-<IP_ADDRESS>_alpha
EnderCore: EnderCore-1.8.9-<IP_ADDRESS>-beta
Minecraft: 1.8.9
Forge: forge-1.8.9-<IP_ADDRESS>8-1.8.9

The 1.8.9 was not even half-finished when it was abandoned...


Abort query if all stream listeners cancel while waiting for lock

Consider the following example:
import 'package:moor/ffi.dart';
import 'package:moor/isolate.dart';
import 'package:moor/moor.dart';
import 'package:test/test.dart';

DatabaseConnection createConnection()
  => DatabaseConnection.fromExecutor(VmDatabase.memory(logStatements: true));

class EmptyDb extends GeneratedDatabase {
  EmptyDb.connect(DatabaseConnection c) : super.connect(c);
  @override final List<TableInfo> allTables = const [];
  @override final int schemaVersion = 1;
}

void main() {

  EmptyDb db;
  setUp(() async {
    final isolate = await MoorIsolate.spawn(createConnection);
    db = EmptyDb.connect(await isolate.connect());
  });

  int i = 0;
  String slowQuery() => '''
    with recursive slow(x) as (values(1) union all select x+1 from slow where x < 1000000)
    select ${i++} from slow;
  ''';     // ^ to get different `StreamKey`s

  test('abort on cancel', () async {
    final subscriptions = List.generate(4, (_) =>
      db.customSelect(slowQuery())
        .watch()
        .listen(null)
    );
    await pumpEventQueue();
    await Future.wait(subscriptions.map((e) => e.cancel()));

    await db.customSelect('select 1').getSingle();
  });

}

Here select 1 waits for the previous slow queries to finish, even though those queries no longer have any listeners.
What we're seeing in practice is that without explicit effort to optimize anything, it's possible to slow down an app by repeatedly navigating to and from a query-heavy screen, since all the queries from previous screen-loads start to stack up.
Initially I thought this would be a matter of exposing sqlite's interrupt api, but it's not that we want to interrupt whichever query sqlite is currently executing (nor would that be possible on all platforms moor targets) - we just want to avoid taking this lock if the caller no longer cares about the result.
Async cancellation can get hairy pretty quickly, but perhaps it's manageable for the very specific case of:

isSequential == true
The query has not been sent to the database yet (i.e. it's waiting to take the lock)
The query was created by a stream
The stream no longer has any listeners

In the case where a subscriber re-listens to a query that's previously been cancelled, I'd imagine the listener would not receive any cancellation exceptions, and the query would be re-executed (basically just call fetchAndEmitData again?).
I hacked around for a bit, but it wasn't immediately clear to me how the StreamQuery apis should interact with the QueryExecutor's lock. I imagine QueryStreamFetcher.fetchData would take some kind of object that can be checked for cancellations, and whoever constructs the QueryStreamFetcher would be responsible for wiring that into the QueryExector's synchronization?
Curious if you have any thoughts!

Thanks for the detailed issue and your ideas!
I think we can make DelegatedDatabase return a CancelableFuture from package:async (well, if it's sequential). This isn't a breaking change since it extends Future. cancel() would only have an effect as long as we're waiting for the lock, but that's good enough to optimize your example.
The stream query implementation could then check if we have a CancelableFuture and cancel pending operations when a stream is closed.
The problem is that CancelableFutures propagate poorly, as soon as we have one async/await or .then we're back to a regular future. The isolate protocol would need changes as well (we'd have to request cancellations with messages across isolates).
I'm not super happy with the current stream implementation (the StreamQueryStore shouldn't have to know what type a query stream returns!). I think we can avoid typed QueryStreamFetchers and just make fetchData return a List<Map<String, Object?> representing all rows. This avoids further processing futures in higher-level apis, giving us a chance to return a cancelable future in fetchData. Higher-level apis should just call .map on what the low-level apis provide to map database responses.

Oh actually it looks like CancelableFuture is from the analyzer package and not from package:async :facepalm:  We could add something similar into moor but I think it's better to not make Future polymorphic.
That makes it much tougher to implement this without breaking changes. Maybe we can add a cancellation token as an optional parameter to the query methods as you suggested. Or we could add another set of cancelableSelect/... methods that return a CancelableOperation and default to returning an operation that isn't cancelable.

I wonder if you could somehow leverage Future.asStream

I don't think we can make use of that without a custom future implementation, and even in that case Stream.fromFuture wouldn't work so it would be rather fragile.

Or it might be handy to have an "interruption scope" api (similar to how transactions work) where you use zone values to pass around interrupt signals?

That's an interesting and non-intrusive api, I like it! Feels very CoroutineScope-ish :D I'll experiment with this a bit.

That looks brilliant! It's interesting to see how certain concurrency patterns look with Dart's eventloop + isolates setup compared to threads.

In fact, this only really works on isolates

Hah yeah it took me a second to realize why the initial example wasn't working as expected before I added an isolate.
I'd love to give this a try - would it be possible to support this in moor_flutter as well? It has more or less the same semantics as isolates, and technically FlutterQueryExecutor is already sequential because sqflite performs its own locking, so I don't think setting isSequential=true would be a breaking change? Seems like it'd basically be just moving the waiters from sqflite's lock to moor's.

I've fixed a nullability issue in cc93fa8238f7f386312ed95e3c80fd12611f4a07 and made moor_flutter sequential in 12ab64a33ef4ea6e34b6efc8b7b286e093dcdfb5. Feel free to try it out, I'd love to see if that helps with performance on query-heavy screens.

Sweet, hoping to get a chance this weekend sometime :+1:

Finally got a chance to try this out. In our case we actually fixed the original problem by tweaking some queries and adding some indexes (which I had to actually revert in order to properly try this), but this is definitely still generally helpful. For example if you have something like someUIFilter.switchMap(someSlowQuery), users are likely to rapidly change someUIFilter to get their results faster, which actually makes the app even slower without stream cancellation. It can be tricky to optimize all cases when you have lots of dynamically built queries, so its always possible for users to construct a slow query with the right combo of filters and/or data.
I tried a few other scenarios that were hard to examine just by using the app, but I encountered some unexpected test failures. For example if I replace await db.doWhenOpened((e) {}); with await db.customSelect('select 1').getSingle();, the test occasionally fails with Expected: (<0> or <1>) Actual: <2>.

Thanks for the updated tests! I think that this is essentially a race condition (that isn't harmful in a real app, it just affects cancellations). If the background isolate started to process the query when a cancellation comes in, it's too late obviously. I don't fully understand why the initial select makes matters worse here, but it shouldn't matter too much.
Still, I've fixed a wrongly placed cancellation check in the background isolate and added your test (with the initial select) too.

Awesome, thanks so much as always!


[flutter_tools] delete entitlements files after copying to macos build dir

Fixes https://github.com/flutter/flutter/issues/126705

Are the entitlement files not needed anymore once they reach the tool? I haven't seen a purpose for them but could be something I'm unaware of. Asking because seems like your code will remove all entitlement files and not just the one inside the FlutterMacOS.framework

Are the entitlement files not needed anymore once they reach the tool? I haven't seen a purpose for them but could be something I'm unaware of. Asking because seems like your code will remove all entitlement files and not just the one inside the FlutterMacOS.framework

Yes, the only purpose for them is as an input to the codesign tool which runs as part of the engine builds that generate and upload artifacts. @XilaiZhang just made a change to have that tool delete them after use (https://github.com/flutter/cocoon/commit/0fc0cd5c7895946ea050b5c7bca2e05878f8f7c5)--however I figured we should be safe and delete them on the tool side, as I'm not sure if we codesign on the main channel of the engine.


Host it on the Microsoft packages repository

Put packages somewhere on http://packages.microsoft.com/repos/

Hey @vanillajonathan the preview package is currently published to Microsoft's Ubuntu 18.04 package repository. You can find the installation instructions here.

Hey @jahabibi, that's an old release. Is it only available on 18.04?
The new LTS release is version 20.04.

We are aware of the newer Ubuntu 20.04 LTS release and we will be supporting it as we move forward. For the initial release of Procmon Preview we are limited to Ubuntu 18.04 as BCC v0.10.0 does not support the newer kernel Ubuntu 20.04 ships with by default. Please follow #2 for updates as we address this to support newer kernels.


Bumpversion to v1.1.1a2

Hello @alshapton! Thanks for opening this PR. We checked the lines you've touched for PEP 8 issues, and found:

In the file setup.py:

Line 21:5: E128 continuation line under-indented for visual indent


Passphrase Option Disabled When Updating to 1.0.27

I had a Jade setup to enter a passphrase when opening. After updating to 1.0.27 the passphrase was no longer available. It goes straight to session without any option to enter passphrase. I will have to restore from seed.

I'm not sure what version you upgraded from - but that options should certainly not have disappeared!
With a jade initialised with a PIN-protected wallet, go:
Options->BIP39 Passphrase
You get the option to set the 'when should Jade ask for a passphrase':
Never: Don't ask for a passphrase after PIN entry
Always: Always ask for a passphrase after PIN entry
Once: Ask for passphrase if you try to unlock jade immediately/now, but in general don't (to obscure the fact that you usually use a passphrase)
NOTE: you can also set whether your passphrase is 'Manual' (ie. free text entry) or whether it is restricted to the BIP39 'Wordlist'.

Is this option ^ working for you ?  Is the issue resolved ?  Thanks.

Closing as believed to be working, and no response from raiser.


Gelabert 2021

Publication DOI or URL
10.1016/j.cub.2021.06.023
Additional context
ENA: PRJEB41420

This one I'm sort of on the fence about... they don't really do metagenomics as a whole analysis but on the flip side they do make their whole raw data available (for pop-gen :scream: ).
Could you post this on slack and get community opinion?

Definitely a metagenomics sample, and would argue a metagenomics paper. As you say, there was a Centrifuge analysis in addition to the pop-gen stuff.
One could make a similar comment about pathogen metagenomics papers, where the primary focus is often phylogeography, locus presence/absence, selection, etc, rather than just a metagenomic community reconstruction. :wink:

@pheintzman

I agree with Pete that when the sample is metagenomic one, we should include it. Tthis is primarily a sediment sample, not some petrous bone. So we expect a similar signal as for a sediment sample that was studied for microbes and not mammals.

@alexhbnr
So we will include!


Fix to profile plot (issue #204)

Created fix for absolute offset values for when offset option is set to 'ELEVATION'

@everettsp nice work!


docs: docker

Initial version of documentation for docker
Added diagram picturing the build process
Added docker commands to build containers
Fixed lint errors in conf.py
Addresses #3883

I have to agree with @ppanero, it's not clear that the Dockerfile.base has to be built + tagged before Dockerfile. I wrote some stuff about it on https://github.com/pypa/pipenv/issues/3285#issuecomment-445464634

Closing PR because it's been stale for a long time.


Apply fixes from CodeFactor

This pull request applies style fixes from code review by CodeFactor.

For more information, click here.

So this is an auto fix PR, I tested the changes and it doesn't seem like it broke anything, as a bonus this would fix 405 issues & bring the code factor quality up


Support Zeek 4.0.4 LTS and Zeek 4.1.1

The usual housekeeping to support yesterday's Zeek releases.

4.1.1 is not yet up here: https://download.zeek.org/binary-packages/Debian_Testing/amd64/. It is, however, in the alternative repository: https://download.opensuse.org/repositories/security:/zeek/Debian_Testing/amd64

How about we get 4.x from openSUSE and 3.x from zee.org?


Explore Subscriptions shown when premium features are hidden

Expected Behavior
The panel at the bottom of the sidebar with the Explore Subscriptions link should disappear when premium features are hidden
Actual Behavior
The link is still displayed despite leading to pricing for premium features

Reproduction Steps

Open Settings
Open General tab
Scroll to Notifications section
Enable Do not tell me about premium features

Is there an existing issue for this?

[X] I have searched the issue tracker for this problem.

Additional Information
No response
Insomnia Version
2023.1.0-beta.1
What operating system are you using?
macOS
Operating System Version
Darwin x64 21.6.0
Installation method
GitHub (https://github.com/Kong/insomnia/releases/tag/core%402023.1.0-beta.1)
Last Known Working Insomnia version
2022.7.5

We removed this button.


'events' is only allowed for extensions and packaged apps, and this is a legacy packaged app.

Originally reported on Google Code with ID 208
What steps will reproduce the problem?
1. Use google chrome canary(developer version)
2. Install Advanced REST Client
3. Try to make a post query

What is the expected output? What do you see instead?
I was expecting some kind of response, however, I only saw google chrome report "Unknown
error occured: 'events' is only allowed for extensions and packaged apps, and this
is a legacy packaged app."

On what operating system, browser and browser version?
Win7

Reported by gtldong on 2013-10-08 22:25:37

 * *Attachment: 2013-10-08_152518.png![2013-10-08_152518.png](https://storage.googleapis.com/google-code-attachments/chrome-rest-client/issue-208/comment-0/2013-10-08_152518.png)*

It was related to old version of the app. It is working now.


New distributive packages

[ ] Installs cleanly on a fresh build of most recent master branch
[ ] Upgrades cleanly from the most recent release
[x] Updates documentation relevant to the changes

Upgrade to new packaging system, which will make fixing broken checks a vastly faster process.
Removes duplicated code from back when I didn't know how to Ansible.
Fixes #1259
The dnsmasq checks are failing on this because of #1265

This will be ready as soon as https://github.com/asteris-llc/mantl-packaging/pull/56 is merged. This has been tested on DO, Vagrant.

it looks like https://github.com/asteris-llc/mantl-packaging/pull/56 has been merged but I'm still seeing  broken distributive checks (upgrade from 1.0.3 on aws):
time="2016-03-15T14:21:28Z" level=info msg="Report from checklist" checklist="dnsmasq health check" report="↴\nTotal: 8\nPassed: 7\nFailed: 1\nOther: 0\nIs not a file: /etc/resolv.conf"

@ryane The CI build is broken on mantl-packaging, and so didn't publish the new version of that RPM. I'll do so manually soon.

Actually, it looks like it has been uploaded. I'll do some digging soon.

@siddharthist I just revisited this. I noticed a couple of things. First, the distributive package itself is not being upgraded. After applying this pr on 1.0.3, I end up with:
distributive.x86_64                  0.2.4-1
On a fresh build, I end up with:
distributive.x86_64                0.2.5-1
Also, all of the distributive* files in /etc/consul are still present post-upgrade so that also generates a bunch of failed checks.

@ryane Thanks for checking, I think that change should fix the issue with the distributive package being upgraded. As for deregistering checks, do you have any suggestions? We could just make an upgrade ansible playbook, but that's kinda messy.

yeah, it is messy. we do already have a precedent of upgrade logic in playbooks: https://github.com/CiscoCloud/mantl/blob/master/roles/zookeeper/tasks/main.yml#L33. It's not ideal but not sure how to get around it in this case.

All the versions are now pinned to avoid pain later. I'll work on an upgrade playbook.

Looks like dnsmasq-0.2.5-1 contains the checklist from dnsmasq-0.2.4-1! I have no idea how this happened, but I'm going to delete the erronious package and upload the correct one.

@siddharthist do you think we should merge this as-is and then create a new issue to track the upgrade to 1.1? It would be good to get master fixed

this fixes new builds but upgrades are still a problem. tracking in #1288


Skipping scenarios with multiple tags

I've looked at this issue and this Stack Overflow question and it appears that these should work:
      filters:
        tags: "~@disabled&&~@postponed"

      fin behat features/admin.feature --tags '~@postponed&&~@disabled'
yet neither work. Both of the above work if just one tag is used, such as tags: "~@disabled".
This works, too:
      fin behat features/admin.feature --tags '~@postponed' --tags '~@disabled'
In the issue above, @stof indicates that the following should work:
~test,test2: (NOT test) OR test2
~@test,~@test2: (NOT test) OR (NOT test2) which is equivalent to NOT (test AND test2)
~@test&&~@test2: (NOT test) AND (NOT test2)

So that the filter with two negated tags added the configuration file or on the CLI (as one pattern) is failing appears to be a bug.

I tested this and all seems to be working fine, both using the filters: option in the config and using the tags option in the command line. Closing as not reproducible


sunshine2

Grant Application
This application is (select one):

[x] Speculative (use this by default)
[ ] an RFP response

This application is (select one):

[ ] Public (fully)
[x] Public with private finances

Abstract
Sunshine is a platform for foundations to coordinate and administer grant programs. The network is designed to empower foundations to incorporate diverse stakeholder groups and exercise democratic ideals when making decisions on behalf of their community.
If your application is part of a programme, please mention which in the first line of the abstract.
The details should be in the application 'document' that you add to this repo via a pull request.]
Checklist

[x] The grants document has been read and understood.
[x] The Google Form will be completed accurately. Note that the Google Form requires the pull request URL.
[x] Abstract (above) is succinct and complete.
[x] The application is being included into the correct directory: either 'targeted' or 'speculative'.
[x] The application includes a project description.
[x] The application includes all names of team members.
[x] The application includes a description of the team's experience.
[x] The application includes all necessary links (e.g. GitHub and LinkedIn)
[x] The "Development Roadmap" section in the application has a timeline of development ("milestones").
[x] The "Development Roadmap" section in the application has an estimate of funds required.
[x] The "Development Roadmap" section gives an indication of the team's long term plans.
[x] The "Development Roadmap" section includes documentation as a deliverable for at least one milestone.

To be split into 3 distinct grant applications


test: reports/commands_tests

SUMMARY
Apply fixtures to a few commands tests. They were failing when running separately.
BEFORE/AFTER SCREENSHOTS OR ANIMATED GIF

TEST PLAN

ADDITIONAL INFORMATION

[ ] Has associated issue:
[ ] Changes UI
[ ] Requires DB Migration.
[ ] Confirm DB Migration upgrade and downgrade tested.
[ ] Introduces new feature or API
[ ] Removes existing feature or API

Codecov Report

Merging #12864 (ca895d8) into master (9a7fba8) will decrease coverage by 3.64%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master   #12864      +/-   ##
==========================================
- Coverage   67.04%   63.39%   -3.65%
==========================================
  Files        1022      489     -533
  Lines       50186    30180   -20006
  Branches     5204        0    -5204
==========================================
- Hits        33647    19133   -14514
+ Misses      16404    11047    -5357
+ Partials      135        0     -135

Flag
Coverage Δ

cypress
?

javascript
?

python
63.39% <ø> (-0.70%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

superset/sql_validators/postgres.py
50.00% <0.00%> (-50.00%)
:arrow_down:

superset/views/database/views.py
62.69% <0.00%> (-24.88%)
:arrow_down:

superset/databases/commands/create.py
83.67% <0.00%> (-8.17%)
:arrow_down:

superset/databases/commands/update.py
85.71% <0.00%> (-8.17%)
:arrow_down:

superset/sql_validators/base.py
93.33% <0.00%> (-6.67%)
:arrow_down:

superset/db_engine_specs/base.py
79.59% <0.00%> (-6.38%)
:arrow_down:

superset/db_engine_specs/presto.py
82.25% <0.00%> (-6.28%)
:arrow_down:

superset/db_engine_specs/sqlite.py
90.62% <0.00%> (-6.25%)
:arrow_down:

superset/views/database/forms.py
83.33% <0.00%> (-5.56%)
:arrow_down:

superset/databases/commands/test_connection.py
84.78% <0.00%> (-4.35%)
:arrow_down:

... and 551 more

Continue to review full report at Codecov.

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

Hey! Could you look at it? @willbarrett @dpgaspar


Add API 23 to travis build

unfortunately, there's still driver issues with travis, can't do at the moment


allow for SLE12-based HA in Cloud 6

The change to slesdist for Cloud 6 in #485 exposed a new code path for hacloud=1 with SLE12.  Technically HA on SLE12 isn't supported yet since https://github.com/crowbar/barclamp-pacemaker/pull/207 is still being tested; however hopefully it will be supported very soon and even before then this will let us test it via Jenkins.

+1


Slow performance and init size not working

As you can see I tried to init 5 items at first.
However, from the debugger console I could also see all the items are rendered which slows down my app performance!
Any idea?
ListView
<SwipeListView
    initialListSize={5}
    dataSource={this.ds.cloneWithRows(this.props.words)}
    renderRow={this.renderWord.bind(this)}
    renderHiddenRow={(data, secId, rowId, rowMap) => this.renderDeleteAction(data, secId, rowId, rowMap)}
    disableRightSwipe={false}
    disableLeftSwipe={false}
    leftOpenValue={RIGHT_OPEN_WIDTH}
    rightOpenValue={-RIGHT_OPEN_WIDTH}
/>

Cell/Item
render(){
    let startTime = Date.now();
    let detailView = this.computeDetailView()
    console.log(this.props.word);
    console.log(Date.now() - startTime);
    return(
        this.props.showDetail && detailView
    )
}

console.log

Hey @poc7667 I'm not sure I entirely understand your question but let me give it a shot. The initialListSize prop is simply passed on to the underlying ListView on this line: https://github.com/jemise111/react-native-swipe-list-view/blob/master/components/SwipeListView.js#L150.
So between a SwipeListView and a ListView there is absolutely no difference in how initialListSize works.
When you say initialListSize={5} the component will initially render 5 rows but will then continue to render as it normally does. This does not limit it to ONLY rendering 5 rows.
For example if your data calls for 100 rows and you say initialListSize={5}, it will render 5 rows and then immediately render as many as it deems necessary. I was doing some testing and my component rendered ~30 rows. Then as I scrolled the rest of the rows were rendered.
However, if you say initialListSize={100}, it will render ALL 100 rows immediately.
Does that make sense? Does that answer your question? Thanks!

Closing as this has been inactive for a while


XDG Base Directory Specification not followed

Describe the bug
Ghidra does not follow the XDG Base Directories Specification.
To Reproduce
Steps to reproduce the behavior:

Install ghidra
Run ghidra

Expected behavior
Following the XDG Base Directory Specification.
Environment (please complete the following information):

OS: Arch Linux
Java Version:

openjdk version "1.8.0_222"
OpenJDK Runtime Environment (build 1.8.0_222-b05)
OpenJDK 64-Bit Server VM (build 25.222-b05, mixed mode)

Ghidra Version: 8369ef12a28028a920b041c693ae75f75ffce807

The homepage claims support of Linux and macOS. Perhaps it would be useful to use tags to differentiate between various priority levels of bugs, rather than treating minor bugs as "enhancements". Not sure how the application's config directory is handled on Windows, but I hope it is with APPDIR, and not the same dotfolder which aren't even hidden on Windows.

@billop To be fair, the specification has nothing to do with Linux (the kernel). So this is not a defect/bug.
But this is coming from someone who sometimes uses some Environment variables defined by the specification.

Good point, I meant a mainstream linux distro, speaking of "Linux" as an OS. I assumed that Ghidra touting support for Linux meant that as well.

This is blocking my attempt at packaging Ghidra for Flatpak, as the application expects to be installed in a directory which is writable by the user, which is not going to be the case for Flatpak or system-installed software.
For reference: https://github.com/flathub/flathub/pull/1068

How does XDG handle remote home directories?  If you are storing a lot of large cached files in ~/.cache/, is there anything following the standard that will stop those files from being written to the remote location?

@ryanmkurtz

How does XDG handle remote home directories?  If you are storing a lot of large cached files in ~/.cache/, is there anything following the standard that will stop those files from being written to the remote location?

Safe to assume it's handled better in those setups than a random dotfolder in $HOME.

Ghidra's cache directory is not in $HOME...

Do be more clear, I'm asking if XDG offers something similar to %LOCALAPPDATA% in Windows.  We need to support "roaming profiles" and can't store large cached files in the user's home directory unless it can somehow be exempt from remote storage while in there like it can on Windows.  That's why Ghidra's cache directory is currently in the far-from-ideal temp directory on linux.

@ryanmkurtz I don't know anything about Windows, but it sounds like you want XDG_CACHE_HOME. It's described on the Arch wiki page which Billop referenced in the original post above, and this seems to be the official reference: https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html
Basically, if I defined XDG_CACHE_HOME to be the name of a directory, Ghidra should put all cache files recursively within that directory.

@nsajko, thanks, that is my understanding too.  And by default, that will be at $HOME/.cache/Ghidra for Linux users.  Now, if Ghidra gets deployed onto a network where people use network-mounted home directories, it will be a problem if $HOME/.cache/Ghidra gets copied to the network, as it can get quite large.  It would also be an issue to ask every user to set $XDG_CACHE_HOME to something outside of their home directory.   My main question is how does XDG address this use case?

Now, if Ghidra gets deployed onto a network where people use network-mounted home directories, it will be a problem if $HOME/.cache/Ghidra gets copied to the network, as it can get quite large. It would also be an issue to ask every user to set $XDG_CACHE_HOME to something outside of their home directory.

Presumably whoever deployed Ghidra would set the XDG_CACHE_HOME environment variable. Basic Unix usage as far as I see.
I'm not sure if you already know this, but in Unix (and Linux) environment variables commonly get inherited from the parent process, so it is enough to set the environment variable once in some config file. For example: /etc/profile, or $HOME/.profile, or it could be done with Systemd. Or you could set it specifically for Ghidra, with a wrapper script, for example.
In any case, I don't quite see what's the problem here.

Actually the distro maintainers do not assume that the XDG variables are set, what happens generally when you develop an application that follows the XDG specification is that they try to use the XDG variables if they are set, if not they use what should be "the default" location. e.g:
XDG_CACHE_HOME = $HOME/.cache
It should also be noted that there 5 directories/variables that are included in the XDG specification, but normally on most applications only XDG_CACHE_HOME, XDG_CONFIG_HOME and XDG_DATA_HOME are used. For more details on that I suggest XDG Base Directory.

Please follow xdg to the letter. There is no reason to clutter the home directory with this stuff.

Bumping this issue... it shouldn't be difficult to implement (check env var, otherwise default to the correct location - which is NOT ~/.ghidra) and the XDG spec should really be followed. Apps cluttering the home directory is extremely frustrating for end users.

You know what. If I have time maybe I'll fix it and make a pull request.

If it’s of any help, I’ve a small experiment here. Only ever tested briefly on Linux.

Marking this Internal-only because if we decide to implement it, we will want a consistent multi-platform solution and there are a lot of subtleties through the codebase that will have to be addressed.

@ryanmkurtz XDG is only relevant for one platform though, just like for example %appdata% on Windows.
If anything, switching to XDG-BD is fixing a bug coming from the mistaken assumption the current approach is multiplatform.

I know that it's only for Linux, but if we make a change, we will want to use the standard locations on all platforms, not just do something special for Linux (i.e., not create a ~./ghidra/ directory on macOS or Windows either).
We do not consider Ghidra creating a ~/.ghidra directory a bug.  It is intended behavior.

Four years since this issue was opened. XDG isn't a very big spec folks, you can read it in about 5 minutes. All I see in this thread is you making excuses, none of which are anywhere near acceptable, and the combined time it took you to type all of them would probably be less than it would take to fix this.

I imagine the big issue with this request is that it would require a solution tailored to each major platform we support.  Currently Ghidra uses 1 model that is the same for all OSes.  This makes working on the system simpler for the maintainers.   While implementing XDG may be simple enough, reworking this part of the system to have a cohesive model for all OSes is less so.

I think changing the directories for each platform would be pretty quick and easy, as would be incorporating the XDG environment variables for Linux and possibly macOS.  There are non-obvious changes that would have to be made to these easy things though too:

Continue to support the legacy locations so an upgrade could find the old files
Provide something in the GUI that would show the current location of all of these directories, maybe in the About window
Provide a script that would wipe out all or some of these directories.  It's very convenient for the devs to tell people to just wipe out their ~/.ghidra directory to fix certain issue or rule out others.  Since these locations would now be unpredictable...we'd need a script.
Ensure we are no longer writing anything to the ghidra installation directory.  We have been slowly addressing this over the years, but certain things still do it, like the recompilation of the .sla files.  I am not sure if there are more things like that, but we'd have to fix each one individually.

So, not the hardest thing in the world to accomplish, but also not a quick change to some hardcoded paths either.  I'll bring this up again with the team though.

Currently Ghidra uses 1 model that is the same for all OSes.
If Ghidra was coded under the mistaken assumption that there's a cross-platform data storage location, then that's the root of the issue. Start there and work upwards. It's APPDATA on Windows, XDG basedir on Linux, and I don't know what it is on MacOS but probably XDG too.

Continue to support the legacy locations so an upgrade could find the old files
Ideally, software should just not have any code that writes to the home directory at all. But the way lots of people are solving the "legacy location" issue is by having an environment variable that tells it the location of its data folder, and default to ~/.ghidra if that env var isn't set. This was an acceptable solution for Audacity, Python, and Git, just for a few examples, so I'd say it'd be an acceptable solution here too.

I'm working on this now and have a question for people who actually use XDG.  For Ghidra's "user temp" and "user cache" directories, we have been putting them in /tmp/<user>-Ghidra on Linux.  In my branch this can now be overridden with XDG_RUNTIME_DIR and XDG_CONFIG_HOME, and will default to java.io.tmpdir and $HOME/.config  Typically, java.io.tmpdir will just be /tmp, so it seems necessary to incorporate the user's name into the subdirectory within /tmp.  Other times though, the directory may land within the user's home directory, making it redundant to include the user's name.  Ideally I wouldn't ever have to incorporate the user's name...I don't recall seeing this from other program's too often.  Does anyone know how directory isolation is achieved in practice when the specified locations are in common directories like /tmp?

Thank you.  So is it an error to define XDG_RUNTIME_DIR to be in a subdirectory of /tmp that is owned by the user?  If so, what other directory meets the criteria of being automatically deleted when the system reboots?
Or maybe we don't need to control Ghidra's temp usage via XDG, and just have it always use java.io.tmpdir with per-process calls to Flies.createTempDirectory?  Is that objectionable?
Also, generally speaking, if XDG_CONFIG_HOME gets set to something not user specific, is that considered a user-error (i.e., a case I don't need to worry about)?

My advice would be to get the value of XDG_RUNTIME_DIR, or if none is set then use the value of java.io.tmpdir instead; store the value and use it for any and all calls to File.createTempDirectory. That would be entirely fine. Temp directories should be specific to one Ghidra session, which makes them implicitly user-specific regardless of where they actually are.
Just out of interest, the value of XDG_RUNTIME_DIR on my system is /run/user/1000.

generally speaking, if XDG_CONFIG_HOME gets set to something not user specific, is that considered a user-error (i.e., a case I don't need to worry about)?

Correct. The basedir spec defines XDG_CONFIG_HOME as: "the base directory relative to which user-specific configuration files should be stored". In fact, that's what the _HOME part means, it implies it will be inside the user's home directory. In general you can just assume these paths are correct and not do any validation on them (well not beyond reporting and exiting on i/o errors anyway.)

Ok, thanks again!


Remove synthetic accessors from source files

Closes #741
Also I believe it would be a good idea to create an annotation @VisibleToAvoidSynthetics, something similar to the @Thunk used in AOSP (here) and use it for all the members whose visibility has been changed in this PR. This would prevent accidentally changing their visibility back to private in future.
Is this something that should be added as well?

I think it's fine without annotation for now. Unfortunately error-prone doesn't support rule to check synthetic accessors.


Contents of div containing %sveltekit.body% no longer replaced in SvelteKit 2.5.5

Describe the bug
I have an SPA mode app using adapter-static.
My app.html file contains the following inside the  tag:

    %sveltekit.body%

Up to SvelteKit 2.5.4, the loading-animation div was removed from the DOM when the SvelteKit app finishes loading. However, this no longer works in SvelteKit 2.5.5, and the loading animation continues to display on top of the loaded app.
Reproduction
My top-level +layout.ts file contains:
export const ssr = false;
export const prerender = false;

Logs
No response
System Info
Windows 11, Firefox 124

Severity
blocking an upgrade
Additional Information
I suspect this issue may be caused by https://github.com/sveltejs/kit/pull/12050.

I think this is the right behaviour since no SSR means no hydration, thus no repairing the DOM. It's easy enough to query the document for the loading element and remove it in an onMount callback.
cc: @Rich-Harris was disabling the hydration behaviour on SPA project considered a breaking change?

This is still an issue in the latest version of SvelteKit. It would be good to have a final decision if this is a bug which will be fixed, or intended behavior (anyone with an SPA-mode app needs to manually remove DOM siblings of %sveltekit.body%).

+1 for this feature


Adding additional tagging

This pull requests adds additional tags which is more inline with node and other library packages.
For stable the following tags are pushed
google/dart:latest
google/dart:major.minor.patch
google/dart:major.minor
google/dart:major

For dev the following tags are pushed
google/dart:dev
google/dart:major.minor.patch
google/dart:major.minor

A docker images command results in this when 1.13.0-dev.7.3 and 1.12.1 are run through the modified script
REPOSITORY                                                    TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
test/dart-runtime                                             latest              aa5d51fc6617        2 minutes ago       215.4 MB
test/dart-runtime                                             1                   aa5d51fc6617        2 minutes ago       215.4 MB
test/dart-runtime                                             1.12                aa5d51fc6617        2 minutes ago       215.4 MB
test/dart-runtime                                             1.12.1              aa5d51fc6617        2 minutes ago       215.4 MB
test/dart-runtime-base                                        latest              c01d9e8bef47        2 minutes ago       215.4 MB
test/dart-runtime-base                                        1                   c01d9e8bef47        2 minutes ago       215.4 MB
test/dart-runtime-base                                        1.12                c01d9e8bef47        2 minutes ago       215.4 MB
test/dart-runtime-base                                        1.12.1              c01d9e8bef47        2 minutes ago       215.4 MB
test/dart                                                     latest              3d199bda74a0        3 minutes ago       215.4 MB
test/dart                                                     1                   3d199bda74a0        3 minutes ago       215.4 MB
test/dart                                                     1.12                3d199bda74a0        3 minutes ago       215.4 MB
test/dart                                                     1.12.1              3d199bda74a0        3 minutes ago       215.4 MB
test/dart-runtime                                             dev                 a8fa0a909ff9        6 minutes ago       211.8 MB
test/dart-runtime                                             1.13                a8fa0a909ff9        6 minutes ago       211.8 MB
test/dart-runtime                                             1.13.0-dev.7.3      a8fa0a909ff9        6 minutes ago       211.8 MB
test/dart-runtime-base                                        1.13                48973b8f240d        7 minutes ago       211.8 MB
test/dart-runtime-base                                        1.13.0-dev.7.3      48973b8f240d        7 minutes ago       211.8 MB
test/dart-runtime-base                                        dev                 48973b8f240d        7 minutes ago       211.8 MB
test/dart                                                     1.13<PHONE_NUMBER>7e        7 minutes ago       211.8 MB
test/dart                                                     1.13.0-dev.7.3<PHONE_NUMBER>7e        7 minutes ago       211.8 MB
test/dart                                                     dev<PHONE_NUMBER>7e        7 minutes ago       211.8 MB

Please double check that the push works properly for google. I didn't have a registry I could push to.
Fixes #11

Also if the tagging scheme is acceptable I'll open the README.md for it in another pull request.

I don't think we should tag a dev version with 1.13.  All dev versions should have "dev" in them, and regular version numbers should be reserved for stable release versions.
I'm also a bit uncertain about the "1" tag - it seems to me like people should not implicitly jump from one minor version to the next, without knowing about the changes.  But if that is really the standard, I am OK with it.  All the other tags are OK with me, but we should decide on this.  @sethladd @kevmoo @sgjesse @ricowind

I agree with Bill, for stable:
google/dart:latest
google/dart:major.minor.patch
google/dart:major.minor

and for dev:
google/dart:dev
google/dart:major.minor.patch-dev
google/dart:major.minor-dev

With regards to the google/dart:1 tag this seems to be the convention in the official library stacks. With Python it's obviously needed, https://hub.docker.com//python/, but even Golang has a 1 tag, https://hub.docker.com//golang/. On the plus side the script will almost be ready for a Dart 2.0. It probably needs some logic around when to push the latest tag in that case.
For the dev tags I went with pushing major:minor as well because it seemed more user friendly to people downstream. As an example if my app required less restrictive mixins I could target FROM google/dart:1.13 in my Dockerfile, and then when 1.13 gets promoted to stable I can rebuild my Dockerfile and get the latest stable without any changes.
I don't really see any precedence for dev SDKs in the language stacks but I liked the behavior that I could target a dev major.minor and eventually that tag gets overwritten when stable comes around.

Any additional thoughts here? Anything wrong with the script or is that part good to go?

@mit-mit is this something you can review? @kwalrath suggested you.

I'd love @sgjesse and @whesse to chime in again, if they wouldn't mind

I am OK with the 1 tag for 1.x.y stable (until Dart 2 it will work like latest). However for dev versions I still think 'dev' should be part of the name. I don't like version numbers without 'dev' in them to refer to developer versions. When looking at a version number like 1.13 it should be certain to refer to a stable version.

Okay if @whesse wants the -dev for the tagging in there as well that's fine I'll modify accordingly. I can see the argument that you don't want it to seem as though its a released version. I was coming at it as more of a CI or bleeding edge dev thing so less tags would be nice. That and I can't see anyone really wanting the dev after the stable has been released.
Are the script modifications okay by you guys? We're in fairly different timezones so I'll hopefully have time to make whatever changes are requested tomorrow.

I agree that we need dev in the tags for that channel. And I also don't understand the use of the x tags -- when would someone use that as opposed to latest?
Finally, I think it would be more consistent to format the dev tags like this:
google/dart:latest-dev
google/dart:major.minor.patch-dev
google/dart:major.minor-dev

@whesse Bill, can you take another look?

Pinging @whesse...

LGTM.

After merging this change, the script build_push.sh fails just before pushing.
If you have a fix for this, please upload it, otherwise, we can revert.
The output is:
....
rigger 1, RUN pub get
Step 0 : RUN pub get
---> Running in 34d8f3b8b3bb
Resolving dependencies...
Downloading http_server 0.9.5+1...
Downloading mime 0.9.3...
Downloading path 1.3.9...
Got dependencies!
Trigger 2, ADD . /app/
Step 0 : ADD . /app/
Trigger 3, RUN pub get --offline
Step 0 : RUN pub get --offline
---> Running in a78d4cc116e7
Resolving dependencies...
Got dependencies!
---> d0ccc1200a9a
Removing intermediate container 34d8f3b8b3bb
Removing intermediate container 869a41b10cd1
Removing intermediate container a78d4cc116e7
Removing intermediate container 0609c5f6c643
Successfully built d0ccc1200a9a
Validated 1.14.0-dev.7.0 in google/dart-hello
Validated 1.14.0-dev.7.0 in google/dart-hello:1.14.0-dev.7.0
Pushing...
./build_push.sh: line 131: get_images: command not found

I ran build_push.sh locally and it gets past that issue if you change get_images to get_tag. Its getting to the push part as I see.
unauthorized: access to the requested resource is not authorized

I'll push to a private registry and see if things work there but if you want to locally make the change feel free. @whesse


docker-compose & reduced minimum memory & fix for libsasl2-2

Added docker-compose file.
Reduced minimum memory in mysql container to allow MEM=1 and allow running in docker kitematik with 2GB VM memory.
Added libsasl2-2 installation command to fix "/usr/bin/openbmpd: error while loading shared libraries: libsasl2.so.2: cannot open shared object file: No such file or directory" while starting container.

We've updated kafka to <IP_ADDRESS> and the collector.   This fixes item 3.
Regarding reducing the memory, it would be better if you installed MySQL outside of the container.  It's set to 2G because anything less will perform poorly and the container is meant to be more general. If you install MySQL yourself you can customize all settings to meet your needs.
Regarding (1)... Can you remove your changes for (2) and (3) and update your changes for (1) to match the latest changes?  This way I can validate and merge.


Incorrect home stats for NBA games

Describe the bug
I was trying to pull some box score stats for NBA games, and I found that while the away stats are correct, the home stats are way off. For example, the game between the Celtics and Cavaliers gives 47 points for the Celtics, as opposed to the 90 that they actually had, 60 minutes played as opposed to the 240 they actually played, etc etc. This is also true for every other home team in every game I can see, and for all of the other home team basic (not advanced) stats. In the code example below, 90 should be printed, but 47 is printed.
example
from sportsreference.nba.boxscore import Boxscore
Boxscore('200810280BOS').home_points
Desktop (please complete the following information):

OS: Windows 10
version of sportsreference API: 0.5.2

Additional context
I believe it is likely that it's just pulling the wrong data from somewhere, would you be able to shed some light on this?

Confirming that this issue still exists and seems to also show up  in sportsipy-0.6.0

Confirming that this issue still exists and seems to also show up  in sportsipy-0.6.0

It still persists in the current 0.6.0 version.
Most likely this is because in nba/constants.npy dict BOXSCORE_ELEMENT_INDEX assigns 7 for stats like home_field_goals, but for overtime games it should be 8 (stats for away are still correct though).

Still following. home_points are pulling the total points for the second half only, while shooting percentages, shots attempted, shots made, rebounds, assists, etc. are completely off.