End repair

Addresses #58 so that repair.py is installed as part of rotary and is integrated into the snakemake workflow. Also includes usage of TIGRFAM HMMs.
@LeeBergstrand would you mind taking a look before this PR is merged? (Thanks so much for your support for the install of repair.py!!)

@jmtsuji I added https://github.com/jmtsuji/rotary/pull/63/commits/e4dceffc063a47012023babe7731a423ff849564 to add the dependencies to the other requirements files. So, three files require dependency updates.

environment.yaml - used for creating conda enviroments.
meta.yaml - used by conda build when building conda packges.
pyproject.toml - used by pip install when installing via ```pip``. It can only install pure Python packages offPypii (so no bioinformatics tools).

You could technically remove environment.yaml once the package is uploaded to Anaconda as conda build would specify these dependencies. You can programmatically get the dependencies out of the environment.yaml and have them templated during the build process (see https://stackoverflow.com/questions/60125363/conda-meta-yaml-requirements-run-section-dependencies-from-file)
The conda build process works like this:

Conda build takes the meta.yaml file and uses it to start building the Conda package.
Conda build installs the dependencies listed in the meta.yaml file.
Conda build calls pip install . to install the rotary python package.
pip install uses the the dependencies in pyproject.toml and attempts to install them. However, these were already installed by ```conda build,` so it skips this step.
pip install uses the the scripts list in pyproject.toml to install the CLI scripts.
All the resulting dependencies and files are baked by conda build into a conda bundle specific to the operating system the package was built on.
You then run conda convert to convert the package you built for your OS to versions that work on other operating systems (this is why, on anaconda.org, you see multiple package builds for different OSes). If the conversion fails, you must run conda build on a different OS. For example, if the Windows conversion build fails, you must run conda build on a Windows computer and upload it separately.
You then use the anaconda CLI tool to upload these packages to anaconda.org.

The big projects run these steps using GitHub Actions (https://docs.github.com/en/actions) to do the build and upload steps.

Great job putting this together! Looks like it's coming together splendidly. I left a lot of comments, so keep going.
Okay, right now, repair.py has this design pattern where you pass down the dependency_dict to all the child functions that call subprocesses. This method could be more straightforward to a degree.
Right now, your code is like the following:
samtools_sort_args = [dependency_dict['samtools'], 'sort', '-@', str(threads), '-m', f'{threads_mem_mb}M']
subprocess.run(samtools_sort_args, check=True, input=samtools_view.stdout, stdout=bam_handle, stderr=logfile_handle)

I want to move your code to using shell=true. This runs the sub-command in a shell and thus can call the underly programs like samtools without a path. There are security issues with shell=true, but they don't apply to us because we already run this tool from CLI.

What are your thoughts on removing the CLI dependency check from the code? If the dependency isn't there the code would just fail and it would dump that the shell can't find it. Installing through conda should guarantee that the dependencies are installed 98% of the time.

The following code should be moved to a function as it is repeated multiple times.
 if append_log is True:
        write_mode = 'a'
    elif append_log is False:
        write_mode = 'w'
    else:
        raise ValueError

@jmtsuji I added https://github.com/jmtsuji/rotary/commit/e4dceffc063a47012023babe7731a423ff849564 to add the dependencies to the other requirements files. So, three files require dependency updates.

@LeeBergstrand Thanks for the explanation and for updating the other requirement files! I'll keep this in mind when updating dependencies in the future. Your overview of how the pip and conda installers interact is very helpful.

The following code should be moved to a function as it is repeated multiple times...

Moved to a function

Okay, right now, repair.py has this design pattern where you pass down the dependency_dict to all the child functions that call subprocesses. This method could be more straightforward to a degree...
I want to move your code to using shell=true. This runs the sub-command in a shell and thus can call the underlying programs like samtools without a path. There are security issues with shell=true, but they don't apply to us because we already run this tool from CLI.

@LeeBergstrand Actually, based on my previous testing, I am pretty sure that I can already call the underlying programs like samtools without a path, even if shell = False. However, I decided to explicitly set the path to the programs to avoid any weird PATH conflict issues that might happen. Do you think that such path conflicts are basically impossible? If so, I can simplify the code.

What are your thoughts on removing the CLI dependency check and the dependancy_dict from the code? If the dependency isn't there, the code would fail, and it would dump that the shell can't find it. Installing through conda should guarantee that the dependencies are installed 98% of the time.

@LeeBergstrand I like the CLI dependency check because it tells the user upfront that a dependency is missing. Otherwise, they might have to run 50% of the pipeline before they run into the missing dependency issue. In future, I am thinking of using the dependency check function to also grab the version of the dependency tool to add to the log. So I would be happy to leave the function in the code... what are your thoughts?

Great job putting this together! Looks like it's coming together splendidly. I left a lot of comments, so keep going.

@LeeBergstrand Thanks! Appreciate the comments. I left several responses and some unresolved threads, so please have a look and let me know your thoughts... we can move forward toward merging this PR based on your feedback.

@LeeBergstrand Actually, based on my previous testing, I am pretty sure that I can already call the underlying programs like samtools without a path, even if shell = False. However, I decided to explicitly set the path to the programs to avoid any weird PATH conflict issues that might happen. Do you think that such path conflicts are basically impossible? If so, I can simplify the code.

Given the installation, these pathing issues are generally unlikely. Because check_dependency() uses shutil.which(dependency_name), you will likely pass any pathing issues onto the Python code.  I believe the shutil.which would be affected by shell variables, symlinks, etc., including incorrect ones. In Unix, executables are files with some file system flags changed, and globally accessible executables are those added to the $PATH. The default $PATH for your user should include /home/YOUR-USER-NAME/bin (i.e. ~/bin). Most executables are symlinked to ~/bin, which lets them show up in your shell when you call them.
Given the above I think we can simplify the code.

What are your thoughts on removing the CLI dependency check and the dependancy_dict from the code? If the dependency isn't there, the code would fail, and it would dump that the shell can't find it. Installing through conda should guarantee that the dependencies are installed 98% of the time.

@LeeBergstrand I like the CLI dependency check because it tells the user upfront that a dependency is missing. Otherwise, they might have to run 50% of the pipeline before they run into the missing dependency issue. In future, I am thinking of using the dependency check function to also grab the version of the dependency tool to add to the log. So I would be happy to leave the function in the code... what are your thoughts?

If the end repair pipeline takes a while, I would keep the dependency check-in. I think logging the dependency versions would be helpful.

Given the installation, these pathing issues are generally unlikely. Because check_dependency() uses shutil.which(dependency_name), you will likely pass any pathing issues onto the Python code. I believe the shutil.which would be affected by shell variables, symlinks, etc., including incorrect ones. In Unix, executables are files with some file system flags changed, and globally accessible executables are those added to the $PATH. The default $PATH for your user should include /home/YOUR-USER-NAME/bin (i.e. ~/bin). Most executables are symlinked to ~/bin, which lets them show up in your shell when you call them.
Given the above I think we can simplify the code.

OK, got it. I have simplified the code!

End repair might take several minutes (or longer if a large assembly is input), so let's leave dependency_check() in the code.

@jmtsuji We are pretty close to being able to merge this in—one last issue other than removing the dependency_dict,
https://github.com/jmtsuji/rotary/blob/0b984a5dd01d80f999d0f688c9aac3fb4c228ffe/rotary/repair.py#L463
Is this the correct function argument mapping? In the other runs commands, you mapped stderr to the log file. These arguments are mapped correctly?

Is this the correct function argument mapping? In the other runs commands, you mapped stderr to the log file. These arguments are mapped correctly?

@LeeBergstrand Yes, this is correct. This particular tool writes the log info to STDOUT, so I had to direct STDOUT to the logfile. I wanted to retain STDERR info as well in case anything got printed there. (By the way, this is the tool that I plan to replace with in-house code).

Is this the correct function argument mapping? In the other runs commands, you mapped stderr to the log file. These arguments are mapped correctly?

@LeeBergstrand Yes, this is correct. This particular tool writes the log info to STDOUT, so I had to direct STDOUT to the logfile. I wanted to retain STDERR info as well in case anything got printed there. (By the way, this is the tool that I plan to replace with in-house code).

Great I wanted to confirm.

@LeeBergstrand Dependency dict and logger changes are addressed. End-to-end tests are passing. OK to merge?

@jmtsuji Great. Feel free to merge.


[+] Add flake

This adds a simple flake output necessary for building required python environment on NixOS.

Looks good to me, thanks!


Control fanspeed and swingposition through webserver

In my ESPHome code, I have enabled the webserver for my module:
web_server:
  port: 80

In the webserver, all sensor data available in HomeAssistant is also shown here. The controls for the AC are very limited though.
It is only possible to set the temperature and the mode. Within HomeAssistant I can also change the fanspeed and swingposition, which are attributes of the climate component.
Is it possible to make fanspeed and swingposition also available in the webserver?

I am also interested in this. Why not implement it if it is possible?

The controls seem to be missing in the default webserver Climate device JS code. Not much you can do about that. In theory you can hack around it by creating some extra templates/virtual components to execute the callbacks manually.
For example, using the select component (https://esphome.io/components/select/index.html);
web_server:
  port: 80
  include_internal: true

select:
  - platform: template
    id: vanes_select
    name: "Vanes Position Override"
    optimistic: true
    internal: true
    options:
      - unknown
      - one
      - two
      - three
      - four
      - swing
    initial_option: unknown
    on_value:
      then:
        - lambda: ((MhiAcCtrl*)id(${deviceid}))->set_vanes((i-1));
  - platform: template
    id: fan_speed
    name: "Fan Speed Override"
    optimistic: true
    internal: true
    options:
      - low
      - medium
      - high
      - auto
    initial_option: auto
    on_value:
      then:
        - climate.control:
            id: ${deviceid}
            fan_mode: !lambda |-
                if (i == 0) {
                  return CLIMATE_FAN_LOW;
                } else if (i == 1) {
                  return CLIMATE_FAN_MEDIUM;
                } else if (i == 2) {
                  return CLIMATE_FAN_HIGH;
                } else {
                  return CLIMATE_FAN_AUTO;
                }

This does not support updating the value in the list to the actual value, so it is really only an override option. Adding such functionality would require more code and maybe even some changes inside the component code.

I tried this code but I don't see any changes in the web interface?

I tried this code but I don't see any changes in the web interface?
You need to set include_internal: true in your webserver section else the template items will not show up in the web interface.

include_internal: true

Ah yes I overlooked that one, thanks!


Can't depend on "."

When handling globs, Blueprint emits dependencies to regenerate build.ninja if a directory is modified, in case the modification was to add a missing path.  For example, when globbing for dir/*, it will add a dependency on "dir" if it exists (to handle the case where a file is added or delete from dir), or "." if a does not exist (to handle the case where dir is added).  The first case works fine, but the second case fails with:
ninja: error: rebuilding 'build.ninja': path canonicalizes to the empty path
"." seems like a perfectly reasonable path, and should canonicalize to ".".

I can't quite remember why we have this check, but I think it's to prevent accidentally incorrect paths, such as when generators accidentally produce the empty string.  E.g.
outfile = foobar.so
build $outfilex: ...
# oops, typoed the variable name

The other accident is paths like foo/.. which I don't think people intend to provide.
This is all a long way of asking: would it still work for you if we explicitly allowed the string "." as a path but disallowed the other cases?

Allowing "." would be fine for my issue, although I think disallowing foo/.. is unnecessary - depending on foo/.. is clearly depending on a directory, not a file, and is not much different than foo/bar/...
The empty string case is already caught by the first check check for *len == 0 in CanonicalizePath.

The "canonicalizes to the empty path" error comes from e9087f5cdf2c8485b5b0a6858782bb02dbffbcdd which was preventing *len being set to -1, and not actually trying to prevent ".".

fixed by #1076


Upgrade Microsoft.NET.Test.Sdk to 15.6.1

Should fix race condition which occasionally causes tests to fail (https://github.com/Microsoft/vstest/issues/1435)

Actually, can we put this into release/2.1? We're going to be churning that branch quite a bit still, so it'd be good to have it there.

Yes, I will rebase.  Travis/Linux is green, but other builds have been queued for hours.  Is just Travis/Linux good enough?

Yeah, that's OK with me. Can't wait for the new PR CI :(


Request for a new release/tag

Hello,
Thank you for your plugin that is super useful! I was wondering if you would mind creating a new release/tag. The last one (v0.7.3) is from January and, some features, including one very useful to collect logs for EKS/Lambda with the right time is only on master. Thank you again.
Gregory

@okkez @cosmo0920  any plans on creating a new release please?

Thank you for notifying it and sorry for being late.
I've released v0.7.4 today.

Thank you @cosmo0920


Expose pinned_package_versions in task collect

This requires

https://github.com/fractal-analytics-platform/fractal-server/issues/740
https://github.com/fractal-analytics-platform/fractal-server/pull/744

In principle pinned_package_versions could be a dictionary with multiple entries, like
{
"pkg1": "1.0.0",
"pkg2": "1.2.3",
}

but I think that for the CLI client we  can start by only allowing a single package version to be pinned.
In that case, the argparse interface could look like
fractal task collect [-h] [--python-version PYTHON_VERSION]
                     [--package-version PACKAGE_VERSION]
                     [--package-extras PACKAGE_EXTRAS]
                     [--pinned-dependency PINNED_DEPENDENCY]
                     package

with, for instance, PINNED_DEPENDENCY="torch=1.12.1".
Note that we could find other solutions to be more flexible and allow multiple dependencies, e.g.

A --pinned-dependencies-file /some/file.json argument, so that we can pass a rich dictionary with multiple pinned versions;
Some rule that allows to quickly parse an argument like `PINNED_DEPENDENCIES="torch=1.12,pydantic=1.0".
An actual json.dumps/json.loads logic, so that we can pass something like `--pinned-dependencies '{"torch": "1.12", "pydantic": "1"}' (I don't like this solution, because it will always creates a mess with quotes and escaping).

I think this is not relevant for the planned use case (which is essentially "install some older torch version"), but there would be no problem in implementing 1 or 2 if it seems useful (@jluethi?).

That's great!
Yes, we only need it for torch at the moment. But if we can make 2 work, we'd be flexible if things come up in the future. I'd assume implementing 2 is not a major effort? If so, let's include this here.

To get multiple pinned versions we cal also use action="append" from argparse (https://docs.python.org/3/library/argparse.html#action)
fractal task collect ... --pinned-dependency 'torch=1.12.1' --pinned-dependency 'pygment=2.0'


Global Chart page and related UI overhaul (Accepts maps, charts or kpis as a buildable page element)

#307 Completes this for maps. I'll start work on kpis


Get clientside Kusto access to Sovereign Clouds

In order to test DiagnosticRole, need to see logging for manually monitoring how the role is doing.

https://docs.microsoft.com/en-us/azure/active-directory/develop/authentication-national-cloud


WebStorm Support

Hi
Good and very useful idea for plugin.
So, it possible to install plugin for WebStrom but there is no "Other Settings" in IDE.
How can i use it for WebStorm IDE?

I never tested it in WebStorm (one reason is that I don't have a license) but I'll try to check it out when I have time.

Perhaps you can asl JB to get a free OSS license of Webstorm
https://www.jetbrains.com/buy/opensource/
Den 1 feb. 2017 15:48 skrev "Alexandre DuBreuil"<EMAIL_ADDRESS>
I never tested it in WebStorm (one reason is that I don't have a license)
but I'll try to check it out when I have time.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/dubreuia/intellij-plugin-save-actions/issues/69#issuecomment-276675833,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABxWRxhEM8oBZOaSMMbJ41az-6YXGKHUks5rYJsxgaJpZM4LzNVX
.

You could probably use EAP for now https://confluence.jetbrains.com/display/WI/WebStorm+EAP

Duplicate of #18

Thanks for the EAP and OSS license tips guys

Duplicates #18


Support for Safari

I am wondering if Safari support is in the plans.

I am wondering why this request doesn't have thousands of thumbs up.


update soroban-react package

move to draft since the update is causing type errors for some reason, will check

move to draft since the update is causing type errors for some reason, will check

fixed


Can't run "soda analyze" or "soda scan" on new installation - module not found error

Describe the bug
On a new installation, I am able to run the soda command but I am unable to run any subcommands that access my data warehouse. I get an error saying Module sodasql.dialects.spark_dialect not found even though it is installed.
This is a shared project and I am attempting to use the warehouse and scan YAML files created by my colleague and shared in a git repo.
To Reproduce
Steps to reproduce the behavior:

In a fresh Python 3.8.12 environment, install soda packages:

pip install soda-sql-spark
pip install soda-spark

Manually create ~/.soda/config.yml and ~/.soda/env_vars.yml with the values I need.
Get warehouse.yml and scan.yml files from my team's git repository.
Install the ODBC driver for my data warehouse and put that location in my warehouse.yml.
Run soda --help to confirm Soda is installed - success.
Run soda scan warehouse_riot_data.yml tables/accounts_alias.yml (or any YAML files) - this fails.

Expected result:
Soda should run the scan command.
Actual result:
Error
$ soda analyze ./warehouse_riot_dw.yml
  | 2.1.8
  | Analyzing ./warehouse_riot_dw.yml ...
  | Module sodasql.dialects.spark_dialect not found. Are you sure you installed appropriate warehouse package?
  | Exception: 'NoneType' object is not callable
Traceback (most recent call last):
  File "/Users/dcapewell/.pyenv/versions/3.8.12/envs/test38/lib/python3.8/site-packages/sodasql/cli/cli.py", line 250, in analyze
    warehouse_yml_parser = WarehouseYmlParser(warehouse_yml_dict, warehouse_yml_file)
  File "/Users/dcapewell/.pyenv/versions/3.8.12/envs/test38/lib/python3.8/site-packages/sodasql/scan/warehouse_yml_parser.py", line 69, in __init__
    self.warehouse_yml.dialect = Dialect.create(self)
  File "/Users/dcapewell/.pyenv/versions/3.8.12/envs/test38/lib/python3.8/site-packages/sodasql/scan/dialect.py", line 109, in create
    return _warehouse_class(parser)
TypeError: 'NoneType' object is not callable
  | If you think this is a bug in Soda SQL, please open an issue athttps://github.com/sodadata/soda-sql/issues/new/choose
  | Starting new HTTPS connection (1): collect.soda.io:443
  | https://collect.soda.io:443 "POST /v1/traces HTTP/1.1" 200 0

Context
This happens with any warehouse.yml file and any scan.yml file. It also happens when trying to run soda analyze with any warehouse.yml file. The contents of the YAML file don't matter because the failure occurs when trying to create a parser object.
I can confirm the python files are present under my site-packages directory with what appears to be the correct relative path.
site-packages/sodasql/scan/warehouse_yml_parser.py
site-packages/sodasql//dialects/spark_dialect.py

But the warehouse_yml_parser.py file is found and the spark_dialect.py file is not found (as shown by the module not found error).
I can also confirm the packages are installed at the correct versions.
$ pip list | grep soda
soda-spark                             0.3.1
soda-sql-core                          2.1.8
soda-sql-spark                         2.1.8

My colleague has run the same installation steps, and we are showing the same packages installed. He can run soda commands but I can't.
additional info: If I also install soda-sql-hive I am able to run soda create -f test.yml hive but not soda create -f test2.yml spark. So it seems there is something specific to the spark libraries.
OS: MacOS Big Sur 11.6.5
Python Version: 3.8.12 (also tried with 3.7.8 and 3.7.10)
Soda SQL Version: 2.1.8
Warehouse Type: Spark

Hi @dcape42  - unfortunately I am not able to reproduce it.. here's the log:
➜ pyenv virtualenv spark-test
Looking in links: /var/folders/hr/rhtthkrs6kj15q_t8chz4_480000gn/T/tmph5voemw6
Requirement already satisfied: setuptools in /Users/vijay/.pyenv/versions/3.9.4/envs/spark-test/lib/python3.9/site-packages (49.2.1)
Requirement already satisfied: pip in /Users/vijay/.pyenv/versions/3.9.4/envs/spark-test/lib/python3.9/site-packages (20.2.3)

work/soda/datatalks took 4s
➜ pyenv activate spark-test

work/soda/datatalks via 🐍 v3.9.4 (spark-test)

work/soda/datatalks via 🐍 v3.9.4 (spark-test)
➜ pip install soda-spark
Collecting soda-spark
  Downloading soda_spark-0.3.1-py3-none-any.whl (10 kB)
Collecting pyspark~=3.0
  Downloading pyspark-3.2.1.tar.gz (281.4 MB)
     |████████████████████████████████| 281.4 MB 16.3 MB/s
Collecting soda-sql-spark~=2.1
  Downloading soda_sql_spark-2.1.9-py3-none-any.whl (4.6 kB)
Collecting py4j==<IP_ADDRESS>
  Downloading py4j-<IP_ADDRESS>-py2.py3-none-any.whl (198 kB)
     |████████████████████████████████| 198 kB 30.5 MB/s
Collecting soda-sql-core==2.1.9
  Downloading soda_sql_core-2.1.9-py3-none-any.whl (88 kB)
     |████████████████████████████████| 88 kB 6.5 MB/s
Collecting thrift<1.0,>=0.13.0
  Downloading thrift-0.16.0.tar.gz (59 kB)
     |████████████████████████████████| 59 kB 13.3 MB/s
Processing /Users/vijay/Library/Caches/pip/wheels/0b/8c/09/c6357b8b50c7ed462aca5b70958031fb121e94297b00048b36/PyHive-0.6.5-py3-none-any.whl
Collecting pyodbc<5.0,>=4.0
  Downloading pyodbc-4.0.32.tar.gz (280 kB)
     |████████████████████████████████| 280 kB 37.8 MB/s
Collecting sasl<1.0,>=0.3.1
  Using cached sasl-0.3.1.tar.gz (44 kB)
Collecting thrift-sasl<1.0,>=0.4.3
  Using cached thrift_sasl-0.4.3-py2.py3-none-any.whl (8.3 kB)
Collecting click<9.0,>=8.0
  Downloading click-8.1.2-py3-none-any.whl (96 kB)
     |████████████████████████████████| 96 kB 9.4 MB/s
Collecting requests<3.0,>=2.23.0
  Using cached requests-2.27.1-py2.py3-none-any.whl (63 kB)
Collecting markupsafe==2.0.1
  Using cached MarkupSafe-2.0.1.tar.gz (18 kB)
Collecting Jinja2<3.0,>=2.11.3
  Using cached Jinja2-2.11.3-py2.py3-none-any.whl (125 kB)
Collecting Deprecated<1.3,>=1.2.13
  Using cached Deprecated-1.2.13-py2.py3-none-any.whl (9.6 kB)
Collecting opentelemetry-exporter-otlp-proto-http<1.7,>=1.6.2
  Using cached opentelemetry_exporter_otlp_proto_http-1.6.2-py3-none-any.whl (13 kB)
Collecting pyyaml<6.0,>=5.4.1
  Using cached PyYAML-5.4.1.tar.gz (175 kB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
    Preparing wheel metadata ... done
Collecting six>=1.7.2
  Using cached six-1.16.0-py2.py3-none-any.whl (11 kB)
Processing /Users/vijay/Library/Caches/pip/wheels/2f/a0/d3/4030d9f80e6b3be787f19fc911b8e7aa462986a40ab1e4bb94/future-0.18.2-py3-none-any.whl
Collecting python-dateutil
  Using cached python_dateutil-2.8.2-py2.py3-none-any.whl (247 kB)
Processing /Users/vijay/Library/Caches/pip/wheels/46/87/60/7fb7069c8135d081326017206a8481795191246b680e2ff67a/pure_sasl-0.6.2-py3-none-any.whl
Collecting charset-normalizer~=2.0.0; python_version >= "3"
  Using cached charset_normalizer-2.0.12-py3-none-any.whl (39 kB)
Collecting idna<4,>=2.5; python_version >= "3"
  Using cached idna-3.3-py3-none-any.whl (61 kB)
Collecting urllib3<1.27,>=1.21.1
  Using cached urllib3-1.26.9-py2.py3-none-any.whl (138 kB)
Collecting certifi>=2017.4.17
  Using cached certifi-2021.10.8-py2.py3-none-any.whl (149 kB)
Collecting wrapt<2,>=1.10
  Using cached wrapt-1.14.0.tar.gz (50 kB)
Collecting opentelemetry-proto==1.6.2
  Using cached opentelemetry_proto-1.6.2-py3-none-any.whl (63 kB)
Collecting opentelemetry-api~=1.3
  Using cached opentelemetry_api-1.10.0-py3-none-any.whl (47 kB)
Collecting opentelemetry-sdk~=1.3
  Using cached opentelemetry_sdk-1.10.0-py3-none-any.whl (70 kB)
Collecting backoff~=1.10.0
  Using cached backoff-1.10.0-py2.py3-none-any.whl (31 kB)
Collecting googleapis-common-protos~=1.52
  Using cached googleapis_common_protos-1.56.0-py2.py3-none-any.whl (241 kB)
Collecting protobuf>=3.13.0
  Downloading protobuf-3.20.0-py2.py3-none-any.whl (162 kB)
     |████████████████████████████████| 162 kB 4.0 MB/s
Requirement already satisfied: setuptools>=16.0 in /Users/vijay/.pyenv/versions/3.9.4/envs/spark-test/lib/python3.9/site-packages (from opentelemetry-api~=1.3->opentelemetry-exporter-otlp-proto-http<1.7,>=1.6.2->soda-sql-core==2.1.9->soda-sql-spark~=2.1->soda-spark) (49.2.1)
Collecting typing-extensions>=3.7.4
  Using cached typing_extensions-4.1.1-py3-none-any.whl (26 kB)
Collecting opentelemetry-semantic-conventions==0.29b0
  Using cached opentelemetry_semantic_conventions-0.29b0-py3-none-any.whl (25 kB)
Using legacy 'setup.py install' for pyspark, since package 'wheel' is not installed.
Using legacy 'setup.py install' for thrift, since package 'wheel' is not installed.
Using legacy 'setup.py install' for pyodbc, since package 'wheel' is not installed.
Using legacy 'setup.py install' for sasl, since package 'wheel' is not installed.
Using legacy 'setup.py install' for markupsafe, since package 'wheel' is not installed.
Using legacy 'setup.py install' for wrapt, since package 'wheel' is not installed.
Building wheels for collected packages: pyyaml
  Building wheel for pyyaml (PEP 517) ... done
  Created wheel for pyyaml: filename=PyYAML-5.4.1-cp39-cp39-macosx_11_0_x86_64.whl size=156280 sha256=943962f196bef2623dec0234a3c631407b233ab36813eb7e3691aa31aed9d8ce
  Stored in directory: /Users/vijay/Library/Caches/pip/wheels/b7/a5/c4/504d913c2a55bb09c607541578ec5f844d1ff33467abe93ba5
Successfully built pyyaml
Installing collected packages: py4j, pyspark, click, charset-normalizer, idna, urllib3, certifi, requests, markupsafe, Jinja2, wrapt, Deprecated, protobuf, opentelemetry-proto, opentelemetry-api, typing-extensions, opentelemetry-semantic-conventions, opentelemetry-sdk, backoff, googleapis-common-protos, opentelemetry-exporter-otlp-proto-http, pyyaml, soda-sql-core, six, thrift, future, python-dateutil, PyHive, pyodbc, sasl, pure-sasl, thrift-sasl, soda-sql-spark, soda-spark
    Running setup.py install for pyspark ... done
    Running setup.py install for markupsafe ... done
    Running setup.py install for wrapt ... done
    Running setup.py install for thrift ... done
    Running setup.py install for pyodbc ... done
    Running setup.py install for sasl ... done
Successfully installed Deprecated-1.2.13 Jinja2-2.11.3 PyHive-0.6.5 backoff-1.10.0 certifi-2021.10.8 charset-normalizer-2.0.12 click-8.1.2 future-0.18.2 googleapis-common-protos-1.56.0 idna-3.3 markupsafe-2.0.1 opentelemetry-api-1.10.0 opentelemetry-exporter-otlp-proto-http-1.6.2 opentelemetry-proto-1.6.2 opentelemetry-sdk-1.10.0 opentelemetry-semantic-conventions-0.29b0 protobuf-3.20.0 pure-sasl-0.6.2 py4j-<IP_ADDRESS> pyodbc-4.0.32 pyspark-3.2.1 python-dateutil-2.8.2 pyyaml-5.4.1 requests-2.27.1 sasl-0.3.1 six-1.16.0 soda-spark-0.3.1 soda-sql-core-2.1.9 soda-sql-spark-2.1.9 thrift-0.16.0 thrift-sasl-0.4.3 typing-extensions-4.1.1 urllib3-1.26.9 wrapt-1.14.0
WARNING: You are using pip version 20.2.3; however, version 22.0.4 is available.
You should consider upgrading via the '/Users/vijay/.pyenv/versions/3.9.4/envs/spark-test/bin/python3.9 -m pip install --upgrade pip' command.
work/soda/datatalks via 🐍 v3.9.4 (spark-test) took 44s

work/soda/datatalks via 🐍 v3.9.4 (spark-test)
❯ python --version
Python 3.9.4

work/soda/datatalks via 🐍 v3.9.4 (spark-test)
❯ soda create --help
Usage: soda create [OPTIONS] WAREHOUSE_TYPE

  Creates a new warehouse.yml file and prepares credentials in your
  ~/.soda/env_vars.yml Nothing will be overwritten or removed, only added if
  it does not exist yet.

  WAREHOUSE_TYPE is one of {postgres, snowflake, redshift, bigquery, athena}

Options:
  -f, --file TEXT       The destination filename for the warehouse
                        configuration details. This can be a relative path.
  -d, --database TEXT   The database name to use for the connection
  -u, --username TEXT   The username to use for the connection, through
                        env_var(...)
  -p, --password TEXT   The password to use for the connection, through
                        env_var(...)
  -w, --warehouse TEXT  The warehouse name
  --help                Show this message and exit.

work/soda/datatalks via 🐍 v3.9.4 (spark-test)
➜ soda create spark
  | Soda CLI version 2.1.9
  | Creating warehouse YAML file warehouse.yml ...
  | Adding env vars for spark to /Users/vijay/.soda/env_vars.yml
  | Review warehouse.yml by running command
  |   cat warehouse.yml
  | Review section spark in ~/.soda/env_vars.yml by running command
  |   cat ~/.soda/env_vars.yml
  | Then run the soda analyze command
  | Starting new HTTPS connection (1): collect.soda.io:443
  | [https://collect.soda.io:443](https://collect.soda.io/) "POST /v1/traces HTTP/1.1" 200 0
work/soda/datatalks via 🐍 v3.9.4 (spark-test)

Can you please try only installing soda-spark ? and not both soda-spark-sql and soda-spark?

SOLVED:
Current mac version had incompatibility with system wide odbc lib
Test : created a python test file test.py with import sodasql.dialects.spark_dialect
(.venv) sveera@SVEER1ML1 soda-test % python test.py
Traceback (most recent call last):
File "test.py", line 1, in
import sodasql.dialects.spark_dialect
File "/Users/sveera/soda-test/.venv/lib/python3.7/site-packages/sodasql/dialects/spark_dialect.py", line 13, in
import pyodbc
ImportError: dlopen(/Users/sveera/soda-test/.venv/lib/python3.7/site-packages/pyodbc.cpython-37m-darwin.so, 2): Library not loaded: /usr/local/opt/unixodbc/lib/libodbc.2.dylib
Referenced from: /Users/sveera/soda-test/.venv/lib/python3.7/site-packages/pyodbc.cpython-37m-darwin.so
Reason: image not found
Resolution:

brew install unixodbc
soda create spark. >> This should create warehouse.yml
cat warehouse.yml


how to restore eventbus when activity suddenness destroy?

If you are using EventBus.getDefault() it is a singleton and is not destroyed when your activity is destroyed.
But I think you are asking about registering to EventBus, please see How to get started about that. In short: register/unregister during the activities lifecycle methods.
-ut

You got me wrong.What I mean is the memory shortage caused the application destroyed. example: onRestoreInstanceState

@liangjingkanji You should always get a call to onStart() in that case. (So register EventBus there and unregister in onStop()). Here is a nice diagram of the activity lifecycle. -ut

i am crash,  My English is not good.

sorry

@liangjingkanji Oh, you are talking about sticky events. Yes, they are only stored in memory. If you want to persist data across app restarts you have to use another method. -ut


Sound on Scan

I no the owner of the app i am developing is going ask of this but with xamrian forms is it possible to have the scanner beep on successful scanning of a bar code.

You can take care of this yourself when the command or event (depending on what you're using) fires.

Just Xamrian forms doest have a default audio player that works with
version 4 i no their is was planned for 4.4
On Fri, Jul 5, 2019 at 10:10 AM Shawsky<EMAIL_ADDRESS>wrote:

You can take care of this yourself when the command or event (depending on
what you're using) fires.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/Redth/ZXing.Net.Mobile/issues/825?email_source=notifications&email_token=ABK34HLHEX6JLXTNJAZB3ITP54FW5A5CNFSM4H52KQP2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODZI762I#issuecomment-508690281,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABK34HLQWW3RBGZXFUHUVMDP54FW5ANCNFSM4H52KQPQ
.

--
Regards
David Buckley
M: 07871 884 546

We've implemented device specific sound players which are called using the Xamarin dependency resolver. Perhaps Essentials will include a cross platform option in the future but until then, that's what we did.

Any example code how you acheived that more specificlly on the andriod app any pointers would be great help cause i no the customer will ask for the option.

You'll need to create an interface as per dependency resolver docs but something like this on the Android side:
var mediaPlayer = MediaPlayer.Create(context, Resource.Raw.<nameofwavresource>);
using(var am = (AudioManager)Context.GetSystemService(Context.AudioService))
{
    if (am.RingerMode == RingerMode.Normal)
         mediaPlayer.Start();
}

The audio manager is used to check the phone has the ringer set to normal so we don't play a sound if the phone is vibrate only or silent. You can omit this and just play it regardless if you like.
For the context you can use:
Android.App.Application.Context
or if using CrossCurrentActvity plugin:
CrossCurrentActivity.Current.AppContext

We accomplished this in our Xamarin forms app using the Xam.Plugin.SimpleAudioPlayer nuget package. Here's a beep sound that I synthesized (mp3 file):
[encoded data, 7384 characters]

This worked perfect got the beep working thanks.


linux-raspberrypi: don't set kernel module compression here

Module compression is now enabled globaly in "kernel-resin".
connect https://github.com/resin-os/meta-resin/pull/303

@telphan @floion @agherzan @lorenzo-stoakes
This should go in after https://github.com/resin-os/meta-resin/pull/303.

Can one of the admins verify this patch?

Can one of the admins verify this patch?

Can one of the admins verify this patch?

Can one of the admins verify this patch?

LGTM


Issue 847

This is a little “hack” but seems to be fixing the issue.
Related to #847

Apparently this is partially solving the issue


Dumping report from openroad tcl shell in a seperate file

Describe the bug
I was trying to dump a report using below command from shell in a text file.
report_check_types -max_delay > test.txt

It creates the text file but does not generate the report in the file. Generates an empty file.
The above command generates report in gui mode but does not generate export in any seperate file.
I have also tried saving the report manually by below code (I have created group paths):
set f [open test.txt w]; foreach a [exec echo [report_checks -path_group reg2reg -path_delay max]] { puts $f "$a" }; close $f

It also generates an empty file.
Summary:

Goal: Saving report in a seperate file from openroad tcl shell
Issue: Nothing is exported from openroad tcl shell

Expected Behavior
Saving report in a seperate file from openroad tcl shell
Environment
Openroad tcl shell environment

To Reproduce

load any design (odb)
try to dump the file using 'report_check_types -max_delay > test.txt' or 'set f [open mostak.txt w]; foreach a [exec echo [report_checks -path_group reg2reg -path_delay max]] { puts $f "$a" }; close $f'

Relevant log output
No response
Screenshots
No response
Additional Context
No response

AFAIK, no option to dump logs for a command directly. You need put the commands in tcl/shell script and execute by following command will copy logs into the file.
./run.sh | tee test.txt
@vvbandeira can you confirm it?

standalone sta supports '>' but it is not supported in OR as all output goes through the Logger.

@khaledhasanzami what we do in practice is create custom report commands that output json. If you look at the implementation of the command you're interested in it's usually easy enough to steal it's implementation, and do whatever you want.

Timing reports have a lot of logic.  Some tools offer the ability to return the timing report as a tcl list of lists.  Probably that would be the better solution for a timing report.  Other cases are probably easier.

Timing reports have a lot of logic. Some tools offer the ability to return the timing report as a tcl list of lists. Probably that would be the better solution for a timing report. Other cases are probably easier.

Could you pklease elaborate?

I was responding to "it's usually easy enough to copy it's implementation".  I don't think that is the case for report_checks.  I'm not sure it is a good idea in general but particular not in this case.

@khaledhasanzami
For example report_check_type -max_delay basically just calls this
    set path_ends [find_path_ends "NULL" {} "NULL" 0 \
		     $corner $path_min_max $group_count 1 0 \
		     $slack_min $slack_max \
		     0 {} \
		     $setup $hold \
		     $recovery $removal \
		     $clk_gating_setup $clk_gating_hold]
    report_path_ends $path_ends

@khaledhasanzami what Google does in practice is create custom report commands that output json strings. If you look at the implementation of the command you're interested in it's usually easy enough to copy it's implementation, and do whatever you want.

@QuantamHD is Google's re-implementation public?

https://github.com/The-OpenROAD-Project/OpenROAD/discussions/3029 might be helpful

It is. Thanks!


Required drivers could not be loaded

Describe the bug
When starting the terminal, a message appeared:
`Required drivers could not be loaded:

If you are using secure boot, run "ujust enroll-secure-boot-key", then reboot and enter the password "ublue-os" when prompted.
This message will not appear if the issue is resolved.`

What did you expect to happen?
So that this message does not appear when you start the terminal.
Output of rpm-ostree status
State: idle
Deployments:
● ostree-image-signed:docker://ghcr.io/ublue-os/bazzite-deck-gnome:stable
                   Digest: sha256:b80881eba5a32958b67e9a2197cf1ce1958d6f19b726582d8f11976fe6d87317
                  Version: 39.20240406.0 (2024-04-06T22:25:27Z)
          LayeredPackages: htop libvirt virt-manager
                Initramfs: '"-I /etc/crypttab /etc/modprobe.d/amdgpu.conf /etc/modprobe.d/deck-blacklist.conf" '

  ostree-image-signed:docker://ghcr.io/ublue-os/bazzite-deck-gnome:stable
                   Digest: sha256:ff1013ddacae6ca6a417b92ea5f35e7d04b1ff6159c7ad7c8cb24acae80c3e4f
                  Version: 39.20240406.0 (2024-04-06T18:06:15Z)
          LayeredPackages: htop libvirt virt-manager
                Initramfs: '"-I /etc/crypttab /etc/modprobe.d/amdgpu.conf /etc/modprobe.d/deck-blacklist.conf" '

Hardware
Jupiter
Extra information or context
I entered the command ujust enroll-secure-boot-key and followed the instructions, but after the manipulations the message did not disappear.
This message was not observed until the latest updates.

Just update to the latest version, it has been recently fixed.

Feel free to update anytime as well, message is shown in error and nothing is actually broken.


Network stopped working after switching from unstable to 23.11

Describe the bug
I recently changed my flake input from nixpkgs/nixos-unstable to nixpkgs/nixos-23.11, immediately after doing this the Wi-Fi stopped working. I then reverted that change and rebooted, but it still wasn't working. I was able to get Wi-Fi working in a live boot, so it's not a hardware issue.
Furthermore, I can discover and connect to networks, but I get the errors Destination Port Unreachable and Operation Not Permitted when trying to ping an address.
My system version is 23.11.
Steps To Reproduce
Steps to reproduce the behavior:

Change flake input tonixpkgs/nixos-unstable
Switch flake input back to nixpkgs/nixos-23.11
Try to ping an address or load a website

Expected behavior
The network should work as before.
Screenshots
If applicable, add screenshots to help explain your problem.
Additional context
ifconfig
enp0s31f6: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        ether e0:d5:5e:2f:51:d0  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
        device interrupt 16  memory 0xf7400000-f7420000

enp6s0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        ether e0:d5:5e:2f:51:d2  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
        device memory 0xf7200000-f721ffff

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet <IP_ADDRESS>  netmask <IP_ADDRESS>
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 7364  bytes 1005938 (982.3 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 7364  bytes 1005938 (982.3 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

wlp7s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet <IP_ADDRESS>  netmask <IP_ADDRESS>  broadcast <IP_ADDRESS>
        inet6 2003:ed:1f3e:fd00:4af1:caa6:bc85:d665  prefixlen 64  scopeid 0x0<global>
        inet6 2003:ed:1f3e:fd00:f2c8:78eb:ad56:1a1c  prefixlen 64  scopeid 0x0<global>
        inet6 fe80::f039:4758:f724:c2f  prefixlen 64  scopeid 0x20<link>
        ether 9c:da:3e:69:06:db  txqueuelen 1000  (Ethernet)
        RX packets 1365  bytes 101537 (99.1 KiB)
        RX errors 0  dropped 1226  overruns 0  frame 0
        TX packets 48  bytes 6407 (6.2 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination
nixos-fw   all  --  anywhere             anywhere

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

Chain nixos-fw (1 references)
target     prot opt source               destination
nixos-fw-accept  all  --  anywhere             anywhere
nixos-fw-accept  all  --  anywhere             anywhere             ctstate RELATED,ESTABLISHED
nixos-fw-accept  tcp  --  anywhere             anywhere             tcp dpt:snapenetio
nixos-fw-accept  udp  --  anywhere             anywhere             udp dpt:mdns
nixos-fw-accept  udp  --  anywhere             anywhere             udp dpt:21027
nixos-fw-accept  udp  --  anywhere             anywhere             udp dpt:snapenetio
nixos-fw-accept  udp  --  anywhere             anywhere             udp dpt:domain
nixos-fw-accept  icmp --  anywhere             anywhere             icmp echo-request
nixos-fw-log-refuse  all  --  anywhere             anywhere

Chain nixos-fw-accept (8 references)
target     prot opt source               destination
ACCEPT     all  --  anywhere             anywhere

Chain nixos-fw-log-refuse (1 references)
target     prot opt source               destination
LOG        tcp  --  anywhere             anywhere             tcp flags:FIN,SYN,RST,ACK/SYN LOG level info prefix "refused connection: "
nixos-fw-refuse  all  --  anywhere             anywhere             PKTTYPE != unicast
nixos-fw-refuse  all  --  anywhere             anywhere

Chain nixos-fw-refuse (2 references)
target     prot opt source               destination
DROP       all  --  anywhere             anywhere

route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
<IP_ADDRESS>         <IP_ADDRESS>   <IP_ADDRESS>         UG    600    0        0 wlp7s0
<IP_ADDRESS>   <IP_ADDRESS>         <IP_ADDRESS>   U     600    0        0 wlp7s0

Notify maintainers

Metadata
Please run nix-shell -p nix-info --run "nix-info -m" and paste the result.
[user@system:~]$ nix-shell -p nix-info --run "nix-info -m"
Does not work since tere is no network available.

Add a :+1: reaction to issues you find important.

Same exact issue. I will ping if I find a fix.

This happened to me too and causing me to be late on a school assignment

Whats funny is that I thought NixOS was supposed to be reproducible so rolling back to a previous build in GRUB should fix the issue but not in this case.

This issue actually ruined my day. I think this should be very high priority because, agreeing with @GersiD, NixOS's whole thing is reproducibility. Very scary issue to run into.

I am seeing the same issue without downgrading to stable, I was doing a (routine) rebuild using deploy-rs. Reverting to previous generations results in same issue.

I had to reinstall and it was a pain. I tried similar as well @tylergets I must've put a few hours into trying to find a solution. no luck. Sorry to see another person in the same boat.

I had the same issue, and the fix described here: https://github.com/NixOS/nixpkgs/issues/314694 worked for me

Hi folks, are any of you using mullvad, or maybe just a vpn service generally? That's what broke this for me.
Big ➕ on @Titaniumtown's comment, not being able to fix this by rolling back was rough. I know of at least one package installed by nix (dropboxd) that self-updates silently, and I wonder if that's why rollbacks don't work (see https://github.com/NixOS/nixpkgs/issues/314694). Maybe we can tag packages that do this, and have a config flag like allowUnfree to opt in.

@AlexChalk I was using mullvad via services.mullvad-vpn.enable = true;

@Titaniumtown yep that's what broke it for me.
I lost my mind a bit debugging, but I eventually booted into rescue mode, commented out everything network-related in configuration.nix, and rebuilt. I then uncommented/rebuilt line-by-line until I lost connection again—it was definitely mullvad.

Explanation from a nixexp maintainer in another issue: https://github.com/NixOS/nixpkgs/issues/281102#issuecomment-1892733083

This issue has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/apps-that-make-system-changes-you-cant-roll-back-should-be-opt-in-only-like-allowunfree/46552/1


Add StringHelper::matchWildcard()

Q
A

Is bugfix?
no

New feature?
yes

Breaks BC?
no

Tests pass?
yes

Fixed issues
#12408, #14462

Add StringHelper::matchWildcard() replacing fnmatch(), which causing relatively many issues.

Overall looks OK but complementation support is missing while it is there in fnmatch:
[!ab] = NOT a AND NOT b.
Other test cases from docs should be checked as well.

Added more tests.

@samdark, some of the tests you added fails for native fnmatch():
$this->assertTrue(fnmatch('\*\?', '*?'));
$this->assertTrue(fnmatch('[-1]', '1--'));
$this->assertFalse(fnmatch('*', '.dotenv', FNM_PATHNAME));

I have replaced them, other are fixed.


[Feature request] Support format selection

Add support to format selected text in any opened file.
NOTE: In my specific use case, I'd like to format some sql changes and some select queries for views present in a Liquibase changelog in YAML format using the snowflake dialect.

Do you know if this is currently possible using the sqlfluff command line tool? If so I will look into this further, but if it is not possible using the command line tool then you should create an issue on the sqlfluff repository.

Do you know if this is currently possible using the sqlfluff command line tool? If so I will look into this further, but if it is not possible using the command line tool then you should create an issue on the sqlfluff repository.

This is possible, you'd use - as the path for the file and pass it in via stdin.

@voney Thanks for the info, that was helpful in completing this issue.
@rubensa Format Selection should be available in v2.3.5. It currently does not work if you have the executeInTerminal setting enabled, but otherwise should work.

Great! Thanks @RobertOstermann

@rubensa just noticed that you wanted to be able to do this in any open file, currently it works like format document and is only available for sql files. I will look into adding formatting for any file, or maybe add a setting that lets you choose the files it can format.

@rubensa I have release v2.3.6 which adds the settings sqlfluff.format.languages and sqlfluff.linter.languages, you can set which languages this extension works with using those two settings.

Thanks @RobertOstermann
I'll try to check it when I have some time.

@RobertOstermann great news, glad I could help. :)

Hi @RobertOstermann
Just checked the format selection option.
In settings I set:
        "sqlfluff.format.languages": [
          "sql",
          "snowflake-sql",
          "yaml"
        ],

then opened a .yml file, selected a piece of SQL inside the YAML file and I was able to right click and select Format Selection [Ctrl+K Ctrl+F].
The selection was formatted as expected!!
Only a suggestion...  Should it be possible to ad an option to keep original indentation?
I mean, in my case, the SQL is under a YAML tag like:
- changeSet:
    id: createView-example
    author: liquibase-docs
    changes:
    - createView:
        catalogName: cat
        encoding: UTF-8
        fullDefinition: false
        path: A String
        relativeToChangelogFile: true
        remarks:  A String
        replaceIfExists:  false
        schemaName:  public
        selectQuery:
          select id, name from person where id > 10
        viewName:  v_person

When I select the select id, name from person where id > 10 line and format it I get:
- changeSet:
    id: createView-example
    author: liquibase-docs
    changes:
    - createView:
        catalogName: cat
        encoding: UTF-8
        fullDefinition: false
        path: A String
        relativeToChangelogFile: true
        remarks:  A String
        replaceIfExists:  false
        schemaName:  public
        selectQuery:
select
  id,
  name
from person where id > 10
        viewName:  v_person

Should It bee possible to get this instead (applying the original indentation to each resulting formatted SQL line):
- changeSet:
    id: createView-example
    author: liquibase-docs
    changes:
    - createView:
        catalogName: cat
        encoding: UTF-8
        fullDefinition: false
        path: A String
        relativeToChangelogFile: true
        remarks:  A String
        replaceIfExists:  false
        schemaName:  public
        selectQuery:
          select
            id,
            name
          from person where id > 10
        viewName:  v_person

@rubensa Yeah that makes sense, not sure if it would be difficult or not, but I'll look into it.

Also on this...  Should It be possible to allow only the Format Selection [Ctrl+K Ctrl+F] to be associated with vscode-sqlfluff?
I mean...  I have both redhat.vscode-yaml and dorzey.vscode-sqlfluff extensions installed.
Once I add yaml to sqlfluff.format.languages if I do a Format Document VSCode asks me to associate the YAML files with one of the formatters.
If I associate it with YAML I can format the full YAML document but not the selection.
If I associate it with sqlfluff I can format the selection but not the full document.

I am not sure if that is possible in VSCode. Do you know if there is a separate setting for the default format on selection?

Looks like no.
But I think It should be possible to add a specific vscode-sqlfluff option (like Format with sqlfluff) when you right click on the selection. Isn't it?

Ah yes, I forgot about that. It would be possible to add and option to the context menu. I would have to look into that a bit more as well before committing to it though. I want to make sure I can put it behind a setting and default it to false, I think in most cases people would not want the extra context menu items showing up, the context menu already gets crowded as is.

@rubensa v2.3.9 has updates which should address your concerns.
The sqlfluff.format.languages now allows for objects alongside strings. These objects have additional settings for whitespace preservation and context menu items. You can also use the SQLFluff Format Selection command now, so if you wanted to add a key binding you can. Let me know if these settings work as expected.
"sqlfluff.format.languages": [
    {
      "language": "markdown" ,
      "contextMenuFormatOptions": false,
      "preserveLeadingWhitespace": true
    }
  ],

Thanks @RobertOstermann
I just checked but looks like there are some problems.
I have this in settings:
  "sqlfluff.format.languages": [
    {
      "language": "yaml",
      "contextMenuFormatOptions": true,
      "preserveLeadingWhitespace": true
    }
  ]

If I select the following (like in previous example):

right click and select SQLFluff Format Selection the result is like:

This is the OUTPUT:
------------------------------------------------------------

Range (Lines 14 to 15) Format triggered for /workspaces/sample/test.yml

------------------------------------------------------------

Reading from stdin, not file, input may be dirty/partial

--------------------Executing Command--------------------

/opt/conda/envs/dev/bin/sqlfluff fix --force --dialect snowflake --exclude-rules RF01 -

------------------------------------------------------------

Received close event, code 1 signal null
Raw stdout output:

------------------------------------------------------------

            select id, name from person where id > 10
          viewName: v_person

------------------------------------------------------------

Raw stderr output:

------------------------------------------------------------

  [1 templating/parsing errors found]

------------------------------------------------------------

Looks like two problems here.

First, the range selection: Looks like uses only line number, no positions (so if you select the full line and the cursor is as the beginning of next line -no characters selected on that line-, next line is taken as part of the selection)
Second, despite there are errors, and the text is not formatted the extensions adds leading spaces

@rubensa ok, I will get those fixed hopefully this weekend.
For the first problem, I changed the range to be full lines to ensure I was getting the whitespace correctly on the first line. I probably will change that have the start of the range always be at the beginning of the line and the end of the range be wherever the cursor is. Would that work?
For the second I think I will just need to check if there are already leading spaces and if so do not add the whitespace. It might be a bit more complicated though, I'm not sure what edge cases there could be.

Again, thanks @RobertOstermann
For the first, I think that you should check if the last line contains any character selection and only take it into account if that's the case.
For the second, I think that if there are errors (so it is not formatted) just keep the original (do not modify it adding leading spaces, it's just doing nothing -but showing the error message-).

@rubensa Made some fixes in v2.4.1, I didn't test them too much so hopefully they work. Let me know if they cause you any problems

Just tested and is working like a charm.
Again, thanks @RobertOstermann


pull request for e2e test at 12/09/2016 20:56:01

:white_check_mark: Validation status: passed
For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


WorkRite SAML configuration

Update documentation to accurately reflect SAML setup for Azure AD and WorkRite SaaS application.

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

@spr0ut : Thanks for your contribution! The author, @jeevansd, has been notified to review your proposed change.

@spr0ut Thanks for the contribution. I think these steps need to be divided in two points.
In the Sign-on URL textbox, type a URL using the following pattern: https://app.workrite.co.uk/securelogin/samlgateway.aspx?id= In the Identifier text box, type a URL using the following pattern: https://app.workrite.co.uk/<NAME
Also we have to make the Identifier value mandatory so we will make that change on our side and then we will update the doc.

@chetansriv Please update the app package. @v-nagta Can you please update the doc with the Identifier mandatory?

Hi @spr0ut we started updating the Doc as per your instructions but one screenshot is missing after 8th step in the Doc  which you have updated in this PR. After 8th step you have mentioned some steps without giving the screenshot. Please provide the screenshot

Hi @spr0ut  please give reply for the previous comment

@v-nagta Go ahead and update the docs without the last screenshot. @spr0ut if you have a screenshot to share, let us know via comments here.
#please-close

@v-nagta @mtillman  I can provide the screenshot and will upload shortly, but the documentation has still not been updated with the amendments - can you advise when this will be done?

@jeevansd

@spr0ut You can directly add the required image in your PR and update the PR. Then we will merge it and we will also update the app package with these changes. Please let us know once you update the PR then @v-nagta can update the doc from our side also.


Added system first support for static usings

Fixes #2163

Rebased it to get the codecov update

Added an additional test to cover all code paths.


Add example in your wiki.

Add example in wiki our calculation Stagnation index program repository, It is based on xarray with complex functions as ufunc and integration with django and cartopy. It is a Physics faculty UCM project 2020 and the researchers have articles based on that copernicus era5 data.
https://github.com/JavierRuano/ASI_Steady
The website is http://steady-ucm.org
I have created a Example with all necessary dataset
https://github.com/JavierRuano/ASI_Steady/tree/main/Examples
The example could be here
http://xarray.pydata.org/en/stable/examples.html
Regards
Javier Ruano.

Hi @JavierRuano — thanks for the issue, and we're very open to adding more to our examples.
I'm looking at https://github.com/JavierRuano/ASI_Steady/blob/main/Examples/AirStagnationIndex_Wang_UCM_Project.ipynb. Currently I can only see one output at the bottom, which means it's not as engaging as it could be — I'm not sure exactly what intermediate users would learn from the example — could you help me understand?
Perhaps refactoring the example like the existing examples, so it more clearly demonstrates what the xarray functions are doing, could make it more helpful and engaging?

I think it is interesting the operations over the time axis with numpy reduce, and the ufuncs operations.
From my point of view there are a lot of pandas and dask users who could learn to use xarray with that example or what they are using netcdf-4 and numpy directly. I have created the example from the library, and it is not problem to change it. But it shows a stagnation calculation, it was the intention.
But i understand what xarray is climate focused and you know if the topic is interesting and the example is really useful for your project. For me xarray have been very useful.
If you prefer another type of example, we could refactor it.
Regards
Javier Ruano.

We're keen to continue growing beyond climate, and we're interested in adding more examples.
My point is that the current structure of the example — at least at the link above — doesn't seem that clear on what it's doing. Maybe have a browse of the examples at http://xarray.pydata.org/en/stable/examples and see how they're structured — there's lots of description and intermediate outputs. Does that make sense?

Hi again @max-sixty , thanks for your advice, sure, the outputs have a lot of sense.
I think this new example has the good structure like another examples.
https://github.com/JavierRuano/ASI_Steady/blob/main/Examples/AirStagnationIndex_Wang_Xarray_Example.ipynb
Regards
Javier Ruano.

please note that during the refactor we removed the "external examples" section, so we will have to find a different place in the docs for this, or add it back (#5086 tries to merge into stable).

Let's discuss this at our bi-weekly call. I very much appreciate @JavierRuano submitting an example, it would be good to have a place where people can post examples which use xarray.
At the moment I think this probably needs some work to align it with canonical xarray, though.

Ok, thanks @max-sixty .

Shall i close this issue?

Hi @JavierRuano we discussed this in the dev meeting, thanks for your patience.
We'd like there to be space in the community for people demonstrating how they've used xarray without that necessarily living in the xarray library. That gives practitioners some more freedom and ownership (as our delay here demonstrates, unfortunately), and the xarray library can remain focused. We also thought that the example would need some changes for it to be demonstrating something that the current examples lack.
Have you considered posting it on Medium or a similar platform? If you decide to do something like that. please feel free to send something to the xarray mailing list (or let me know here and I can do it), I'm sure others would be interested.
Is that reasonable? Thanks again for your contribution and patience,
Max

Thanks for your quick response, it is true that you have greatly improved the examples
in the documentation, I do not know to what extent it would solve any lack.
The np.ufunc examples seemed insufficient a year ago but you have already solved.
And it is always better to be aware of the improvements that you are introducing
before writing new documentation.
Thanks for your attention.


Add function barrier to coriolis computation

This PR adds a function barrier to the computation of the coriolis force, which I noticed captures a variable (f):
        f = CAP.f_plane_coriolis_frequency(params)
        coriolis_f_plane(coord) = Geometry.WVector(f)
        ᶜf³ = @. CT3(coriolis_f_plane(ᶜcoord))
        ᶠf¹² = nothing

Due to this, users cannot copy-paste this into the REPL. I've also refactored that code to use map with an assertion so that it can be copy-pasted into the REPL. I did not yet apply these changes to the deep atmosphere, because we need to somehow avoid capturing global_geom.

I thought this merged and accidentally pushed to this branch.. Need to reapply..


Item tabs on card inside tabbed interface inherit styles from tabs interface

I put a codepen:
See the Pen Ionic Starter - Sidemenu and Tabs by Jonathan Corredor (@jonathancod) on CodePen.

Steps:

Click on sing in
Click on tabs in the left menu.

Greetings @jonathancod!
My sensors indicate that you need to update your issue through our custom issue form. We are now requiring all issues to be submitted this way, to ensure that we have all of the information necessary to fix them as quickly as possible.
Click Here To Update Your Issue
I will have no choice but to close this issue if it is not resubmitted through the form. Please fill out the rest of the form, so that I may use my friendly robot powers to assist you.
Thank you!

Greetings @jonathancod!
I've closed this issue because my sensors indicated it was old and inactive, and may have already been fixed in recent versions of Ionic. However, if you are still experiencing this issue, please feel free to reopen this issue by creating a new one, and include any examples and other necessary information, so that we can look into it further.
Thank you for allowing me to assist you.

Hi,
I have this problem too these days. How to avoid inheriting tabs style from main tabs? maybe you should change style definition to something like this:
.tabs-color-royal > .tab-item
So that only first .tab-item children will adopt it.

Hi,
I have this problem too these days. How to avoid inheriting tabs style from main tabs? maybe you should change style definition to something like this:
.tabs-color-royal > .tab-item
So that only first .tab-item children will adopt it.


Project crash when using  ColorPicker::set_pick_color(Color const&)

Godot version:
3.2.dev.custom_build. 550f436f8
OS/device including version:
Ubuntu 19.04
Issue description:
Backtrace
[1] /lib/x86_64-linux-gnu/libc.so.6(+0x43f60) [0x7fedf5924f60] (??:0)
[2] Range::set_step(double) (/home/rafal/Pulpit/godot/scene/gui/range.cpp:120)
[3] ColorPicker::_update_color(bool) (/home/rafal/Pulpit/godot/scene/gui/color_picker.cpp:233)
[4] ColorPicker::_set_pick_color(Color const&, bool) (/home/rafal/Pulpit/godot/scene/gui/color_picker.cpp:142)
[5] ColorPicker::set_pick_color(Color const&) (/home/rafal/Pulpit/godot/scene/gui/color_picker.cpp:148)
[6] MethodBind1<Color const&>::call(Object*, Variant const**, int, Variant::CallError&) (/home/rafal/Pulpit/godot/./core/method_bind.gen.inc:775 (discriminator 12))
[7] Object::call(StringName const&, Variant const**, int, Variant::CallError&) (/home/rafal/Pulpit/godot/core/object.cpp:933 (discriminator 1))
[8] Variant::call_ptr(StringName const&, Variant const**, int, Variant*, Variant::CallError&) (/home/rafal/Pulpit/godot/core/variant_call.cpp:1072 (discriminator 1))
[9] GDScriptFunction::call(GDScriptInstance*, Variant const**, int, Variant::CallError&, GDScriptFunction::CallState*) (/home/rafal/Pulpit/godot/modules/gdscript/gdscript_function.cpp:1086)
[10] GDScriptInstance::call_multilevel(StringName const&, Variant const**, int) (/home/rafal/Pulpit/godot/modules/gdscript/gdscript.cpp:1192)
[11] Node::_notification(int) (/home/rafal/Pulpit/godot/scene/main/node.cpp:58)
[12] Node::_notificationv(int, bool) (/home/rafal/Pulpit/godot/./scene/main/node.h:46 (discriminator 14))
[13] CanvasItem::_notificationv(int, bool) (/home/rafal/Pulpit/godot/./scene/2d/canvas_item.h:166 (discriminator 3))
[14] Control::_notificationv(int, bool) (/home/rafal/Pulpit/godot/./scene/gui/control.h:51 (discriminator 3))
[15] Container::_notificationv(int, bool) (/home/rafal/Pulpit/godot/./scene/gui/container.h:38 (discriminator 3))
[16] BoxContainer::_notificationv(int, bool) (/home/rafal/Pulpit/godot/./scene/gui/box_container.h:38 (discriminator 3))
[17] ColorPicker::_notificationv(int, bool) (/home/rafal/Pulpit/godot/scene/gui/color_picker.h:48 (discriminator 3))
[18] Object::notification(int, bool) (/home/rafal/Pulpit/godot/core/object.cpp:945)
[19] SceneTree::_notify_group_pause(StringName const&, int) (/home/rafal/Pulpit/godot/scene/main/scene_tree.cpp:973)
[20] SceneTree::idle(float) (/home/rafal/Pulpit/godot/scene/main/scene_tree.cpp:519 (discriminator 3))
[21] Main::iteration() (/home/rafal/Pulpit/godot/main/main.cpp:1923)
[22] OS_X11::run() (/home/rafal/Pulpit/godot/platform/x11/os_x11.cpp:3159)
[23] godot(main+0xdf) [0x139e581] (/home/rafal/Pulpit/godot/platform/x11/godot_x11.cpp:56)
[24] /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xeb) [0x7fedf5907b6b] (??:0)
[25] godot(_start+0x2a) [0x139e3ea] (??:?)

Steps to reproduce:

Read informations about project - https://github.com/qarmin/The-worst-Godot-test-project#informations
Run minimal project and wait

Minimal reproduction project:
The-worst-Godot-test-project.zip

I found that this is caused because it is possible to remove default children's of node which are present created by default by Godot (This also happens with AcceptDialog and others)
This is nodes which are created by Godot when  user create only AcceptDialog

This line cause crash:
for i in get_children():
    i.queue_free()

Related to #21458 and #7142

Still valid in 9f8a923


My new branch 2

added a few more links to open source projects

More links the better :D Could you resolve the conflicts for me? :)

Resolved!


Scenes do not properly set brightness_pct

Home Assistant release with the issue:
0.101.0
Last working Home Assistant release (if known):
0.100.3
Operating environment (Hass.io/Docker/Windows/etc.):
Docker container on Linux
Integration:
Scenes being used with MQTT Lights
Description of problem:
I have the scene in the code block below, and it used to turn the MQTT lights on to 25% brightness when I ran the scene on version 100.3. Now in version 101, it turns the lights on to 100% brightness instead. If I set the light brightness manually using the slider in the UI or by having the UI run the light.turn_on service with a brightness_pct of 25, those both work as expected in version 101.
- name: Mood Lighting
  entities:
    light.living_room_hanging_light:
      state: on
      brightness_pct: 25
    light.bedroom_hanging_light:
      state: on
      brightness_pct: 25
    light.kitchen_cabinet_lights_left:
      state: on
      brightness_pct: 25
    light.kitchen_cabinet_lights_right:
      state: on
      brightness_pct: 25

MQTT Light Config:
- platform: mqtt
  name: 'Kitchen Cabinet Lights Left'
  state_topic: 'homeseer/master/Kitchen Cabinet Lights Left/state'
  state_value_template: >-
        {% if value|int > 0 %}
          99
        {% else %}
          0
        {% endif %}
  command_topic: 'homeseer/master/Kitchen Cabinet Lights Left/set'
  brightness_state_topic: 'homeseer/master/Kitchen Cabinet Lights Left/state'
  brightness_command_topic: 'homeseer/master/Kitchen Cabinet Lights Left/set'
  brightness_scale: 99
  payload_off: 0
  payload_on: 99
  on_command_type: brightness

Related: https://github.com/home-assistant/home-assistant/pull/27182
With reproduce state it is no longer possible to use attributes in scenes that are no device state attributes. Use brightness (0-255) instead.

@m0wlheld you have to specify the state for every entity: #28359

should we add a breaking change for this in the blog post? seems like its going to impact a lot of users


Add support for check mode (#29)

Hi,
Thanks for this PR. Do you think it is possible to add a test to check that nothing is done if the check mode is activated?

Hello @StephenSorriaux
Added tests. There were some ansible-lint errors during molecule create, so I fixed them too.


[ChangelogLinker] Add anchor to place dump-merges code into CHANGELOG

E.g.
vendor/bin/changelog-linker dump-merges --write

with in CHANGELOG.md
# CHANGELOG

Content content ...

[%some_placeholder%]

# v4.1.1

## Added

...

It will dump the genereated content into the CHANGELOG.md on the place of [%some_placeholder%].

Closes by #902


ninja: error: 'libs/filagui/matc', needed by 'libs/filagui/generated/material/uiBlit.filamat', missing and no known rule to make it

By strictly following https://github.com/google/filament/blob/main/BUILDING.md, the following ERROR met,
under Ubuntu 22.04.
➜  cmake-release git:(main) ✗ CC=/usr/bin/clang CXX=/usr/bin/clang++ CXXFLAGS=-stdlib=libc++ \
    cmake -G Ninja -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=../release/filament ../..
-- The C compiler identification is Clang 14.0.6
-- The CXX compiler identification is Clang 14.0.6
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/clang - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/clang++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- The ASM compiler identification is Clang with GNU-like command-line
-- Found assembler: /usr/bin/clang
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
-- Found Threads: TRUE
-- DFG LUT size set to 128x128
-- Configuring done
-- Generating done
-- Build files have been written to: ....../filament2/out/cmake-release
➜  cmake-release git:(main) ✗ ninja
ninja: error: 'libs/filagui/matc', needed by 'libs/filagui/generated/material/uiBlit.filamat', missing and no known rule to make it

Can anybody help?Thank you ...

Let's use the Discussions tab for this. It looks like matc (our materials compiler) was not properly built. Try to compile using our script build.sh but it shouldn't do anything different from what's described in BUILDING.md.

Hi, @romainguy
I actually strictly followed BUILDING.md
but ALWAYS get a bunch of weird error messages:
[3/596] Linking CXX executable libs/camutils/test_camutils
FAILED: libs/camutils/test_camutils
: && /usr/bin/clang++ -stdlib=libc++ -I/usr/local/include/filament -std=c++17 -fstrict-aliasing -Wno-unknown-pragmas -Wno-unused-function -Wno-deprecated-declarations -fPIC -fcolor-diagnostics -fvisibility=hidden -O3 -DNDEBUG -fomit-frame-pointer -ffunction-sections -fdata-sections -Wl,--gc-sections libs/camutils/CMakeFiles/test_camutils.dir/tests/test_camutils.cpp.o -o libs/camutils/test_camutils  -Wl,-rpath,....../filament/out/cmake-release/libs/camutils:....../filament/out/cmake-release/libs/math  libs/camutils/libcamutils.so  libs/math/libmath.so  -lgtest && :
/usr/bin/ld: libs/camutils/CMakeFiles/test_camutils.dir/tests/test_camutils.cpp.o: in function `testing::AssertionResult testing::internal::CmpHelperFloatingPointEQ<float>(char const*, char const*, float, float)':
test_camutils.cpp:(.text._ZN7testing8internal24CmpHelperFloatingPointEQIfEENS_15AssertionResultEPKcS4_T_S5_[_ZN7testing8internal24CmpHelperFloatingPointEQIfEENS_15AssertionResultEPKcS4_T_S5_]+0x257): undefined reference to `testing::internal::StringStreamToString(std::__1::basic_stringstream<char, std::__1::char_traits<char>, std::__1::allocator<char> >*)'
/usr/bin/ld: test_camutils.cpp:(.text._ZN7testing8internal24CmpHelperFloatingPointEQIfEENS_15AssertionResultEPKcS4_T_S5_[_ZN7testing8internal24CmpHelperFloatingPointEQIfEENS_15AssertionResultEPKcS4_T_S5_]+0x269): undefined reference to `testing::internal::StringStreamToString(std::__1::basic_stringstream<char, std::__1::char_traits<char>, std::__1::allocator<char> >*)'
/usr/bin/ld: test_camutils.cpp:(.text._ZN7testing8internal24CmpHelperFloatingPointEQIfEENS_15AssertionResultEPKcS4_T_S5_[_ZN7testing8internal24CmpHelperFloatingPointEQIfEENS_15AssertionResultEPKcS4_T_S5_]+0x288): undefined reference to `testing::internal::EqFailure(char const*, char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool)'
clang: error: linker command failed with exit code 1 (use -v to see invocation)
[18/596] Building CXX object libs/ibl/CMakeFiles/ibl.dir/src/CubemapSH.cpp.o
ninja: build stopped: subcommand failed.
``


[Bug]: Incomplete teacher schedule import

What happened?
For some reason not entire schedule is imported.  For example I know I have multiple classes in April and May (http://plan.collegiumwitelona.pl/checkNauczycielWszystko.php?pracownik=10377&wydzial=1) but your app only sees classes until half of April.
What type of browser are you seeing the problem on?
Firefox
What type of Operating System are you seeing the problem on?
Linux
Code to produce this issue.
1. Go to https://plan.collegiumwitelona.com.pl/lecturers/mgr%20in%C5%BC.%20Krzysztof%20Rewak
2. Click `Export to CSV file`
3. Open downloaded file
4. See a list of classes; after sorting by date, the last one will be "23/04/2024"

@krzysztofrewak  The problem is that in later periods the plan has data in different html tags than in older ones, which causes differences in scraping. The fix will come in days


Java 11 not supported by Gradle 4.6

When a Java 11 JDK is installed, running ./gradlew build results in the error message

Could not determine java version from '11'.

Upgrading to v4.7  (in gradle/wrapper/gradle-wrapper.properties) resulted in a failed build with the error message

Could not create service of type ScriptPluginFactory using BuildScopeServices.createScriptPluginFactory().

Upgrading gradle to v4.10 allows the build to complete successfully.
See also https://github.com/gradle/gradle/pull/4759]

I am also seeing the "Could not create service of type ScriptPluginFactory using BuildScopeServices.createScriptPluginFactory()" error with Gradle 4.7. Will try updating to 4.10 since the bug is likely not present there any more.

Gradle has been updated to v4.10.2 in the v2.2.0 release.
Java 11 is working fine now.


Potential Security Vulnerability

A dependency defined in requirements.dev.txt has known security vulnerabilities and should be updated.
Vulnerability found in cryto 2.6.1: https://nvd.nist.gov/vuln/detail/CVE-2018-6594

Chris has opened up a helpdesk ticket with the Hyperledger to address.

@tijohnson where is this dependency? I don't see It in requirements.dev.txt or find anything when running ack cryto in the root project directory.

nvm, @adamgering filled me in.
The dependency that uses cryto 2.6.1 is pycrypto, I used ack to get the files it shows up in:
sawtooth/lib/python3.7/site-packages/Crypto/Util/randpool.py
36:    See http://www.pycrypto.org/randpool-broken
39:        warnings.warn("This application uses RandomPool, which is BROKEN in older releases.  See http://www.pycrypto.org/randpool-broken",

sawtooth/lib/python3.7/site-packages/pycrypto-2.6.1.dist-info/RECORD
257:pycrypto-2.6.1.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4
258:pycrypto-2.6.1.dist-info/METADATA,sha256=1l-9AVgkccANEeeXZ29e95C1BWovYM_VeUb1T4Lat0g,656
259:pycrypto-2.6.1.dist-info/RECORD,,
260:pycrypto-2.6.1.dist-info/WHEEL,sha256=_k7-jlcomYi2KWQV8j4dnQP2hhlJPv6RZQa_A7vSCGc,110
261:pycrypto-2.6.1.dist-info/top_level.txt,sha256=-W2wTtkxc1QnPUPRqBZ0bMwrhD8xRD13HIobFX-wDOs,7

sawtooth/lib/python3.7/site-packages/pycrypto-2.6.1.dist-info/METADATA
2:Name: pycrypto
5:Home-page: http://www.pycrypto.org/

sawtooth/lib/python3.7/site-packages/pipreqs/mapping
12:Crypto:pycrypto

requirements.dev.txt
10:pycrypto==2.6.1

shell/Dockerfile
36:    pycrypto \

tests/Dockerfile
35:    pycrypto \

server/Dockerfile
32:        pycrypto \

server/Dockerfile-dev
35:    pycrypto

You are correct the dependency on crypto 2.6.1 is through pycrypto. This is what the scan is looking at: https://github.com/hyperledger/sawtooth-next-directory/network/dependencies

@tijohnson since it looks like all available versions of PyCrypto are vulnerable, and https://pypi.org/project/pycrypto/#history says the current version was released back in 2013, should we just find a suitable replacement package and refactor?

No prob, thanks @tijohnson !
Actually, it looks like pipreqs mapped it from Crypto, and running ack Crypto shows:
transaction_creation/rbac_transaction_creation/common.py
23:from sawtooth_signing import CryptoFactory
43:    factory = CryptoFactory(sawtooth_signing.create_context("secp256k1"))

server/api/utils.py
22:from Crypto.Cipher import AES
(sawtooth) tm0493806:sawtooth-next-directory bobonana$

so it looks like the only place it's being used is server/api/utils.py:22 for an AES cipher. I'll look up a suitable replacement and see if we can just drop it in.

So I see it in Python3.7, but I am wondering why it needs to be explicitly supplied in addition.

Closed with PR #259


[ServiceBus] adding typing/type completeness

Type completeness currently: 96.4%
One more verifytypes error left:
Symbols used in public interface:
azure.servicebus.aio._servicebus_receiver_async.ServiceBusReceiver
   error: Type of base class "typing.AsyncIterator" is partially unknown
  ┬á┬áType argument 1 for class "AsyncIterator" has unknown type
azure.servicebus.aio._servicebus_client_async.ServiceBusClient.get_queue_receiver
  c:\Users\swathip\repos\azure-sdk-for-python\sdk\servicebus\azure-servicebus\.tox\verifytypes\Lib\site-packages\azure\servicebus\aio\_servicebus_client_async.py:311:9 - error: Return type is partially unknown
  ┬á┬áReturn type is "ServiceBusReceiver"
azure.servicebus.aio._servicebus_client_async.ServiceBusClient.get_subscription_receiver
  c:\Users\swathip\repos\azure-sdk-for-python\sdk\servicebus\azure-servicebus\.tox\verifytypes\Lib\site-packages\azure\servicebus\aio\_servicebus_client_async.py:487:9 - error: Return type is partially unknown
  ┬á┬áReturn type is "ServiceBusReceiver"
azure.servicebus.aio._async_auto_lock_renewer.AutoLockRenewer.register
  c:\Users\swathip\repos\azure-sdk-for-python\sdk\servicebus\azure-servicebus\.tox\verifytypes\Lib\site-packages\azure\servicebus\aio\_async_auto_lock_renewer.py:164:9 - error: Type of parameter "receiver" is partially unknown
  ┬á┬áParameter type is "ServiceBusReceiver"

~- 2 mypy errors left related to CorrelationFilter in mgmt being generated with Value as string rather than object. Need to fix then re-gen.~

API change check
APIView has identified API level changes in this PR and created following API reviews.
azure-servicebus

/azp run python - servicebus - tests

/azp run python - servicebus - tests

/azp run python - servicebus - tests

/azp run python - servicebus - tests


When light when dark

Experiment: Instead of having a universal wait_for_input, have specific wait_for_X methods which are relevant to each class. This PR implements wait_for_dark and wait_for_light on LightSensor and adds similar replacements for add_callback: when_dark and when_light. The callbacks are deliberately implemented as attributes instead of methods for a couple of reasons:

add_callback is a bit misleading. It implies you can add as many callbacks as you like but you can't - you can only have one
Given you can only have a single callback an attribute is much simpler to understand: either it's None in which case, no callback is set, or it's a function to call. This makes remove_callback redundant
Unless we like the idea of setting multiple callbacks, in which case methods like add and remove would be a better idea?

I like this


⚠ Bofrost.be has degraded performance

In 7851e1d, Bofrost.be (https://www.bofrost.be) experienced degraded performance:

HTTP code: 200
Response time: 1092 ms

Resolved: Bofrost.be performance has improved in 1c4de07.


Forge 1.12.2 backport?

A lot of modpacks are made in 1.12.2 and using forge, would be awesome to be able to play with this mod as well

Hi, this mod is going to be quilt only. Perhaps you should seek agnor99's forge version.


assert.h conflict with Xcode use_headermap

Hi,
I've been experiencing the following build problem after adding this library via cocoa pods.
The TrustKit contains assert.h file. XCode by default has
set USE_HEADERMAP=YES. It builds a mapping on the header files enabling simple imports without need to follow directory structure or set include paths.
My project is quite big and was build with this XCode settings enabled. I am also using another thirdparty library which includes the system <assert.h>. But after adding TrustKit the assert.h is ambiguous and conflicts with the system one. This causes my build to fail.
One workaround would be to set USE_HEADERMAP=NO but then I would have to refactor my whole project and use either relative import paths everywhere or configure all include paths.
I was wondering whether you could possibly rename this header file so it does not conflict with the system one.
Thanks!

Good catch and this looks like the root cause of #148. We'll take care of it.

Fixed in 1.5.2.


[RFC] Support JOIN command in PPL

Is your feature request related to a problem?
Current JOIN syntax is only available in SQL query due to the implementation of JOIN is in v1 engine only. To support JOIN command in PPL, we should implement it in v2 engine. One proposal is reusing legacy JOIN implementation in v2 engine, but the legacy JOIN implementation lacks scalability and hardly to enhance, https://github.com/opensearch-project/sql/issues/49 listed many requirements of enhancement.
What solution would you like?
To mitigate the impacts of customer SQL experience, an ideal process to support JOIN will be as following:

[ ] 1 Re-implement the JOIN operator in SQL v2 engine and provide a the JOIN command in PPL only.
[ ] #2920
[ ] #2921
[ ] #2922
[ ] #2923
[ ] #2924
[ ] #2919
[ ] #2925
[ ] 3 All enhancement work should base on v2 implementation except bug fixes.

PPL JOIN syntax:
1.1 Support two tables join
source=t1 | [joinType] JOIN t2 ON joinCriteria

joinType: INNER | LEFT [OUTER] | [LEFT] SEMI | [LEFT] ANTI

1.2 Support multiple tables join
source=t1 | [joinType] JOIN t2 ON joinCriteria1 | [joinType] JOIN t3 ON joinCriteria2 | [joinType] JOIN t4 ON joinCriteria3

1.5 Support join hint
source=t1 | [joinType] JOIN [hint.key1=value1, hint.key2=value2] t2 ON joinCriteria

1.6
joinType: INNER | LEFT [OUTER] | [LEFT] SEMI | [LEFT] ANTI | FULL [OUTER] | CROSS | ...

What alternatives have you considered?
No
Do you have any additional context?
Add any other context or screenshots about the feature request here.

[Catch All Triage - 1, 2, 3, 4, 5]

+1 on 1 Re-implement the JOIN operator in SQL v2 engine and provide a the JOIN command in PPL only.
syntax looks good!
Do we consider different JOIN strategy? for instance, P0: support coordination-node join. P1: support broadcast join.
Can we colleberate with https://github.com/opensearch-project/OpenSearch/issues/15185 to support broadcast join?

Do we consider different JOIN strategy? for instance, P0: support coordination-node join. P1: support broadcast join.
Can we colleberate with [RFC] Join support in OpenSearch OpenSearch to support broadcast join?

Thanks for bring the RFC of Core on table. All items are coordination-node joins. I will update this RFC once the https://github.com/opensearch-project/OpenSearch/issues/15185 could provide (or mention in milestones) an API to leverage here to support BCJ.

@LantaoJin this looks great !
Are you also thinking about the planning step of the join order (in more than 2 tables) ?
If this is the case the query planner should employ a statistical based cost estimator, can you please add this into the design ?

I added two options of Join PPL syntax. Would you provide any comment based on the new updates? @penghuo @YANG-DB @dai-chen

@LantaoJin this looks great ! Are you also thinking about the planning step of the join order (in more than 2 tables) ? If this is the case the query planner should employ a statistical based cost estimator, can you please add this into the design ?

Join reorder maybe depend on which syntax option do we choose as well. See my latest updates (two options).

@LantaoJin thanks for the excellent review and suggestions - IMO option 2 if more corresponding to the pipeline style of syntax and also does look familiar from other pipe based languages...
My vote if with option #2

We support INNER, OUTER LEFT, and CROSS joins in SQL so that should be our baseline in PPL as well. Option 2 it sounds like it will give us more flexibility to grow as well in the future which will be better for the community.


Replace 'filter' with 'action' in before_filter, prepend_before_filter

README.md:280:before_filter :set_locale
lib/wicked/controller/concerns/steps.rb:55:      prepend_before_filter(options) do
lib/wicked/wizard/translated.rb:8:        skip_before_filter :setup_wizard
lib/wicked/wizard/translated.rb:9:        before_filter      :setup_wizard_translated
lib/wicked/wizard.rb:13:        super "No step definitions have been supplied; if setting via `before_filter`, use `prepend_before_filter`"
lib/wicked/wizard.rb:29:      before_filter :setup_wizard
test/dummy/app/controllers/application_controller.rb:3:  before_filter :pull_out_locale
test/dummy/app/controllers/dynamic_different_steps_controller.rb:4:  before_filter :set_steps
test/dummy/app/controllers/dynamic_different_steps_controller.rb:5:  before_filter :setup_wizard
test/dummy/app/controllers/dynamic_steps_controller.rb:3:  prepend_before_filter :set_steps

This was done in #201 can you try master?

I just realized, it's on master but it is not in the released version of the gem. Can you release anytime soon?

THANK YOU! ;)

I thought I commented that I released 1.3.0, but I don't see it here. But it looks like you got the message based on your response. I'm re commenting to let other users know.

Ha, no I just checked github again and noticed v1.3.0 released couple of minutes ago (at that moment). Anyway thanks!


Retrofit v2 Foundation and Project APIs with Project CLA Groups Mapping

Summary
Retrofit v2 Foundation and Project APIs with Project CLA Groups Mapping
Background
We need to review existing v2 APIs that were generated before the CLA Group mapping table was added. These APIs need to leverage the new table and ensure the records are updated and queried as needed.
Scope/Endpoints:

[ ] ....
[ ] ....

Acceptance Criteria
The "done" criteria when this feature or problem is resolved. Such as:

Unit Tests added and running in CI
Functional Tests updated to cover feature, if applicable
Demonstrate the set of capabilities to the product team while the code is running in the STAGING environment.

References

Related to CLA Migration Script: https://app.zenhub.com/workspaces/lfx-easyclav2-5ed619832c71a855a76ef404/issues/communitybridge/easycla/1265
Related to CLA DEV Database Cleanup: https://app.zenhub.com/workspaces/lfx-easyclav2-5ed619832c71a855a76ef404/issues/communitybridge/easycla/1266

@pranab-bajpai
cc: @prasannamahajan
In scenario where there is 1 project for a foundation and there is a cla-group for the project, Should we display foundation name or project name in Foundation Dashboard. As of now project name is displayed.
In LFX user is can see data only in Foundation Dashboard in this scenario and Project name is displayed. Could you please let men know what is the expected behavior in this case

Testing In Progress
So far tested below endpoints
https://api-gw.dev.platform.linuxfoundation.org/cla-service/v4/api-docs#operation/getCompanyProjectCla
https://api-gw.dev.platform.linuxfoundation.org/cla-service/v4/api-docs#operation/getCompanyProjectActiveCla
https://api-gw.dev.platform.linuxfoundation.org/cla-service/v4/api-docs#operation/getCompanyProjectEvents
https://api-gw.dev.platform.linuxfoundation.org/cla-service/v4/api-docs#operation/getCompanyProjectClaManagers

Testing of https://api-gw.dev.platform.linuxfoundation.org/cla-service/v4/api-docs#operation/getCompanyProjectContributors is blocked due to below bugs
#1411, #1319

Observed that below endpoints return 400 below response when CLA Group is at project level and projectSFID is passed to the endpoints. I we pass parent projectsfid (foundationsfid) then it returns data
{
    "Code": "ValidationException",
    "Message": "ValidationException: One or more parameter values were invalid: Condition parameter type does not match schema type\n\tstatus code: 400, request id: S7V9U7BOUL44290UJVP1B1PRGNVV4KQNSO5AEMVJF66Q9ASUAAJG"
}

https://api-gw.dev.platform.linuxfoundation.org/cla-service/v4/api-docs#operation/getCompanyProjectCla
https://api-gw.dev.platform.linuxfoundation.org/cla-service/v4/api-docs#operation/getCompanyProjectActiveCla
https://api-gw.dev.platform.linuxfoundation.org/cla-service/v4/api-docs#operation/getCompanyProjectEvents
https://api-gw.dev.platform.linuxfoundation.org/cla-service/v4/api-docs#operation/getCompanyProjectClaManagers
https://api-gw.dev.platform.linuxfoundation.org/cla-service/v4/api-docs#operation/getProjectCompanySignatures

Resolved these issues. Closing ticket.


Are there any plans on Open Sourcing Database?

I just want to know if the Database is closed source and only offers cloud subscription or will it open source at some point in future?

@chakravarthi-bb Yes, we definitely have plans to open source. Let us know if we can help in anyway till then.


zlayer (continued)

Closes https://github.com/emilk/egui/issues/1516.
Most of the work done by @mxsdev
Continuation of https://github.com/emilk/egui/pull/2482

Hey, sorry for not getting to this when you got back! I got a little busy this week so it was pretty unfortunate timing. Thanks for taking care of it - feel free to lmk if there's anything more you'd like from me.

Oh no worry at all, I was just curious to try this out a bit :)
I tried yesterday putting panel frames on a negative Z layer so that widgets could use a smaller negative Z to paint behind other widgets, but it didn't work on my first go, and then I got distracted by something else… I would like to get something like that tried and working before merging.

@emilk
Gotcha! If I recall correctly, with this implementation ordering happens only within the same layer id - that is, Z-ordering determines the ordering within a specific layer. So, it's different than CSS z-order for example. So ordering something like a widget behind a panel probably wouldn't work, since they're on separate layers.
I originally tried to implement it like in CSS, but it becomes pretty complicated. For example, if a widget has z-order 1, but all windows have z-order 0 (and are on the same Order), then the widget will appear over all other windows. If you're making a node editor and want edges to appear beneath nodes, for example, then this behavior isn't desirable.
I think to solve this problem you'd need to kinds of Z-ordering. One "inner" z ordering for the order of elements on a layer, and one "outer" z ordering for the order of layers among other layers. One potential direction here would be to expand the Order struct to be user definable.
If you think having two kinds of Z-ordering is a good solution I can merge your changes into my PR and implement it. It's a little cumbersome, though, so maybe I'm missing a more elegant solution.

To expand on the two-z system: The z in ZLayer would now determine the z order-ing between different layers. The z in PaintList would determine the z order-ing between elements on the same layer. with_zlayer is how you use the former, and with_z controls the z ordering on the same layer.
One other challenge here is that two ZLayers could have the same Id but different Z levels. I'm assuming we would tackle this by hashing ZLayer with both it's Id and it's ZOrder, but it might be confusing to the user if two layers with the same Id are considered "different" internally.


Show current number of cops online & allow other mods access to that

One thing that would be extremely helpful is the ability to see how many cops are in service at any given time. And some way to determine this via code before allowing banks to be robbed, etc.

Already available, see https://github.com/Kyominii/Cops_FiveM_dev/blob/master/police/config/config.lua#L14

You are talking about something that will do things like
Registere the number of players clocked in to some form of temporary database so that when (for example) you open up your F5 menu you might have a counter for clocked in cops at the bottom to see just how many there are instead of expanding the map and counting? and so a function can work something like this?
local copsonduty = {}
function CopsClockedIn ()
     if (#copsonduty < config.minimumCopsRequired) then
          setBanksRobAble = false
     end
end

The issue with that is that copsfivem does not have banks built in as RobAble or anything like that; however, if this were to become a function it would be useful for any future upgrades.

Okay, I'll work on it

Added this to v2.0, still not 100% satisfied so it could change before we push it to Github.


use fix height for cities and center text vertically

this changes the styling of the city-buttons on the cities-page

solves the problem of @eest9 in #3