Add BioNetGen Simulator support

This PR adds support for BioNetGen's ODE (Sundials CVODE), Partitioned-leaping algorithm, SSA and NFsim simulators. NFsim in particular requires significant changes, since there's no species list generated. I've also added logging support to the BioNetGen interface and removed the global usage in the netfile parser.
I intend to address pysb/pysb#267 (setting initials and param_values in run calls should not be persistent) soon, since network-free is the last major class of simulators for which I'm adding support for now, clearing the way for refactoring the initials support in a later PR.
Resolves: pysb/pysb#139

Coverage decreased (-1.8%) to 72.339% when pulling 197e05e39a37f6ed8fe0252f56fc1250c9b93c3e on LoLab-VU:bng_simulator into 1e33c98a7a51836436f0f1ee71e6183b2e4f1805 on pysb:master.

Coverage increased (+0.5%) to 74.638% when pulling 5093e68c893ed299eb6aeb6587537fa57665ccaa on LoLab-VU:bng_simulator into 1e33c98a7a51836436f0f1ee71e6183b2e4f1805 on pysb:master.

Coverage increased (+0.5%) to 74.638% when pulling 7481d0c625dd8f619e342ca00a24dbd2a5fae992 on LoLab-VU:bng_simulator into 1e33c98a7a51836436f0f1ee71e6183b2e4f1805 on pysb:master.

Coverage increased (+0.5%) to 74.645% when pulling 5fd937d66df390d3d8c06455ec68a9cf10ba6716 on LoLab-VU:bng_simulator into 1e33c98a7a51836436f0f1ee71e6183b2e4f1805 on pysb:master.

Coverage increased (+0.5%) to 74.648% when pulling a55396b90052d0fb06abf1a04c1b6f1591f5e9c7 on LoLab-VU:bng_simulator into 1e33c98a7a51836436f0f1ee71e6183b2e4f1805 on pysb:master.

Coverage increased (+0.5%) to 74.648% when pulling 799fc6ac11cb789e922040355ffc0c1ecda78844 on LoLab-VU:bng_simulator into 1e33c98a7a51836436f0f1ee71e6183b2e4f1805 on pysb:master.

Coverage increased (+0.4%) to 74.525% when pulling f291fc01d6380a2bf8f45ef219753a1f86ab7395 on LoLab-VU:bng_simulator into 1e33c98a7a51836436f0f1ee71e6183b2e4f1805 on pysb:master.

Coverage increased (+0.4%) to 74.529% when pulling 52122583f3aa4fc497e26df3ddbd77ec6f1ba9bb on LoLab-VU:bng_simulator into 1e33c98a7a51836436f0f1ee71e6183b2e4f1805 on pysb:master.

Coverage decreased (-1.7%) to 72.457% when pulling 75c8693e2d26d2c243c0f6f868449f37eb44c0c2 on LoLab-VU:bng_simulator into 5de8bb1bf3ccf4a074dfe9e5805058eb0d3c6f1e on pysb:master.

Coverage increased (+0.4%) to 74.532% when pulling c1119f0caf465f9327541d65737757a5a36db0c8 on LoLab-VU:bng_simulator into 5de8bb1bf3ccf4a074dfe9e5805058eb0d3c6f1e on pysb:master.

Coverage increased (+0.4%) to 74.532% when pulling b45c6e7a04e2287eb85d4042fe4a1858fae74b12 on LoLab-VU:bng_simulator into 5de8bb1bf3ccf4a074dfe9e5805058eb0d3c6f1e on pysb:master.

@jmuhlich Thanks for the helpful feedback. All implemented except where commented on PR page. On @lh64's advice, I removed the method="hpp" option - the user can do HPP simulations with method="nf" and supplying a population_maps argument.

Coverage decreased (-1.9%) to 72.204% when pulling d53caa1292bc77d294b3637b26933dc4c52ff5fa on LoLab-VU:bng_simulator into 5de8bb1bf3ccf4a074dfe9e5805058eb0d3c6f1e on pysb:master.

Fixes #287


Fix no shadow warnings

Fixes no-shadow eslint errors.
Test Plan:
Run yarn lint and check no eslint warnings for no-shadow on the modified files.
Changelog:
[INTERNAL] [ENHANCEMENT] [eslint] - Fixes no-shadow eslint errors

Do you mind removing the change to local-cli? That file is going away imminently.

Do you mind removing the change to local-cli? That file is going away imminently.

@cpojer done. Not sure why the tests are failing.

Thank you! Sorry for taking a while to get back to you, I'm landing this now :)


Cannot quit review mode from Changes in PR tree view

Right now we have to either open the description page or find the pr in the PRs tree view and use the context menu to quit the review mode.

Duplicate of https://github.com/microsoft/vscode-pull-request-github/issues/199


Semantics

It seems prevailent that the Semantic sujet arrives within an uncertain timeframe.
Wiki already has elements with implied semantics:

The journal by its model.
The story by its serialization S( S( S(protocol) - V(://) - O(FQDN) ) - V(view) - O(welcome-visitors) ) - V(FQDN) - O(welcome-visitors)
REST-API? I have to admit, I don't even know if it exists.
Authentication : OAuth / Persona

Which other ontology domains could you already identify?

@coevolving is talking of Graphs for knowledge representation, which makes me think about a thin JSON-LD layer for federated wiki again:
As its data model is already purely JSON-based, it should be simple to write a very minimal vocabulary, in JSON-LD's language a @context, which explains the keys of a given dataset, here a fedwiki page, a sitemap or an export. Further, a dedicated plugin could take care of injecting neccessary links, like @ids and @contexts, if a site owner decides to let it do so.
http://search.fed.wiki.org:3030/ gives us an idea about which items we may want to identify and publish (as seperate/# URLs) in a linked data format and thus have to be covered by a vocabulary definition of their meaning, itself expressed in RDF. Because then, by reusing existing terms and expressions, we understand wiki is not the place to publish everything from anew, but aggregating into the federation from a bigger web of data, in the same time contributing back to it without violating its autonomous architecture.
In a future with practical uses of the linked data publishing format we can imagine site owners to publish very diverse data via their loosely coupled wiki interfaces. Then we are all ready to contribute our part to the Linked Open Data cloud.


Remove libwebp-base upper bound.

Reverts the libwebp-base upper bound introduced in #541 because it causes conflicts seen in https://github.com/rapidsai/integration/pull/674.

/merge


SUGGESTION: Version Toggle

Just a button for each version at the top that swaps between legacy and d2r filtered versions of the cheat sheet.
Later on if you feel like putting the effort in you could do patch specific versions aswell but i think thats a bit much.
cheers

This is a good idea.  What needs to togglable?

2.4 runewords
Level 85 areas

Anything else?

Act II mercs’ auras (need to be updated to 2.4 - in nightmare and hell all 6 auras are available).


dashed line instead of solid line appears in SVG

minor issue where the SVG is not as expected: "--" (in SVG) vs. a solid line (in SVG elsewhere, with the same input chars) for part of a horizontal arrow.
Examples from RFC 9594: Figure 7 on the right side, Figure 16, Figure 18,  Figure 21, Figure 23 on the left side. (This difference is not significant within these figures; however, whether a line is dashed or solid could have an associated meaning in a different context.  Maybe this just needs documentation, i.e., the input should be at least 3 chars if a solid line is the desired output.)
Background: Presumably the authors ran aasvg in order to provide SVG in the submitted XML. However, seems that the .md file in the repo was not the one used, as it doesn't invoke 'aasvg' for this artwork.

This tool works on a bunch of detection rules.  In particular, lines are detected as a sequence of three characters.  These problems can be fixed by making the line segment longer, for instance, text --| turns into text ---|.  It is also possible in some of these cases to tweak things in other ways, like changing text --| to text --+.  You will find that --| has a small gap, whereas --+ joins the lines seamlessly, so that might be the best choice.
One of the key things to understand about this tool is that its imperfections.  Each represents a balance between detecting features and text.  Altering that balance can have an effect on existing figures.
In general, I recommend trying to work around these.  Most of these instances are pretty easy to work around.  Like many things, authors really need to preview the output and adjust.


az login: 'ValueError: need more than 2 values to unpack'

Description
Outline the issue here:
az login: 'ValueError: need more than 2 values to unpack'

Environment summary
Install Method: How did you install the CLI? (e.g. pip, interactive script, apt-get, Docker, MSI, nightly)
Answer here: curl -L https://aka.ms/InstallAzureCli | bash
CLI Version: What version of the CLI and modules are installed? (Use az --version)
Answer here: 2.0.6
OS Version: What OS and version are you using?
Answer here: macOS Sierra 10.12.5
Shell Type: What shell are you using? (e.g. bash, cmd.exe, Bash on Windows)
Answer here: terminal/bash
EVW-MBA-2013:~ eric$ az login
Traceback (most recent call last):
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/runpy.py", line 162, in _run_module_as_main
"main", fname, loader, pkg_name)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/runpy.py", line 72, in _run_code
exec code in run_globals
File "/Users/eric/lib/azure-cli/lib/python2.7/site-packages/azure/cli/main.py", line 23, in
exit_code = azure.cli.main.main(args)
File "/Users/eric/lib/azure-cli/lib/python2.7/site-packages/azure/cli/main.py", line 52, in main
error_code = handle_exception(ex)
File "/Users/eric/lib/azure-cli/lib/python2.7/site-packages/azure/cli/core/util.py", line 34, in handle_exception
from msrestazure.azure_exceptions import CloudError
File "/Users/eric/lib/azure-cli/lib/python2.7/site-packages/msrestazure/init.py", line 28, in
from .azure_configuration import AzureConfiguration
File "/Users/eric/lib/azure-cli/lib/python2.7/site-packages/msrestazure/azure_configuration.py", line 33, in
from msrest import Configuration
File "/Users/eric/lib/azure-cli/lib/python2.7/site-packages/msrest/init.py", line 27, in
from .configuration import Configuration
File "/Users/eric/lib/azure-cli/lib/python2.7/site-packages/msrest/configuration.py", line 36, in
import requests
File "/Users/eric/lib/azure-cli/lib/python2.7/site-packages/requests/init.py", line 49, in
major, minor, patch = urllib3.version.split('.')[:3]
ValueError: need more than 2 values to unpack

met same problem. How to resolve it?

I met this problem on FreeBSD 11.0 though curl -L https://aka.ms/InstallAzureCli | bash

Same here.

Exactly the same problem as ericvanwijk; exactly same environment.
Darrens-MacBook-Pro:~ dazzur$ az login
Traceback (most recent call last):
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/runpy.py", line 162, in _run_module_as_main
"main", fname, loader, pkg_name)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/runpy.py", line 72, in _run_code
exec code in run_globals
File "/Users/dazzur/lib/azure-cli/lib/python2.7/site-packages/azure/cli/main.py", line 23, in
exit_code = azure.cli.main.main(args)
File "/Users/dazzur/lib/azure-cli/lib/python2.7/site-packages/azure/cli/main.py", line 52, in main
error_code = handle_exception(ex)
File "/Users/dazzur/lib/azure-cli/lib/python2.7/site-packages/azure/cli/core/util.py", line 34, in handle_exception
from msrestazure.azure_exceptions import CloudError
File "/Users/dazzur/lib/azure-cli/lib/python2.7/site-packages/msrestazure/init.py", line 28, in
from .azure_configuration import AzureConfiguration
File "/Users/dazzur/lib/azure-cli/lib/python2.7/site-packages/msrestazure/azure_configuration.py", line 33, in
from msrest import Configuration
File "/Users/dazzur/lib/azure-cli/lib/python2.7/site-packages/msrest/init.py", line 27, in
from .configuration import Configuration
File "/Users/dazzur/lib/azure-cli/lib/python2.7/site-packages/msrest/configuration.py", line 36, in
import requests
File "/Users/dazzur/lib/azure-cli/lib/python2.7/site-packages/requests/init.py", line 49, in
major, minor, patch = urllib3.version.split('.')[:3]
ValueError: need more than 2 values to unpack

Same here on Raspberry03
File "/home/pi/lib/azure-cli/local/lib/python2.7/site-packages/requests/init.py", line 49, in
major, minor, patch = urllib3.version.split('.')[:3]
ValueError: need more than 2 values to unpack
Please resolve cause having a CLI on Raspi would be great!

This issue is not az login specific, rather any commands sending http request on the wire should trigger this. Of course, az login usually is the first command you would run.

your totally right, nonetheless a solution is greatly appreciated
Thanks Kamiel

We have made a new release with a fix that likely resolves this issue. Please verify, if still repro's please reactivate it

verified on FreeBSD 11. Works. Thank you.

Verfied in macOS, thx.


Request for File/Folder Encryption Feature with User-Defined Password in PowerToys for Windows

Description of the new feature / enhancement
I am writing to kindly request the addition of a new feature that would significantly benefit users like me. It would be incredible to have the ability to encrypt files and folders within PowerToys, with the added functionality of allowing users to choose their own passwords for encryption.
This feature would not only provide an extra layer of security for our sensitive data but also simplify the process of protecting our files without relying on external encryption tools. With the user-defined password option, we can ensure that our data remains safe from unauthorized access.
I understand the team's dedication to continually improving PowerToys, and I am confident that the addition of this encryption feature would be highly appreciated by the community. Thank you for considering this feature request, and please let me know if there is any additional information or feedback needed.
Thank you for your time and hard work in making PowerToys an incredible utility for Windows users.
Scenario when this would be used?
 With the new encryption feature in PowerToys, they can encrypt the crucial project folders using personalized passwords. This ensures that only authorized recipients can access the data, providing an added layer of security during file exchanges and safeguarding the project's confidentiality.
A privacy-conscious individual wants to store personal documents like financial records, legal papers, and personal photos securely on their computer. With the file/folder encryption feature in PowerToys, they can protect their sensitive data using their chosen password, keeping their private information safe from prying eyes and potential data breaches.
Supporting information
No response

bitlocker encryption is for this.  https://learn.microsoft.com/en-us/windows/security/operating-system-security/data-protection/bitlocker/


RuboCop Code Action "Disable for this entire file"

Follow-up to #1114, adding a code action to disable a cop for an entire file. Until that's merged, review 67fd30ef9364bca36f5f9904a7a8de03feec28c9 rather than this entire PR.
Automated Tests
Yep, but see: https://github.com/Shopify/ruby-lsp/pull/1114/files#r1370956628
Manual Tests

Check out this branch in vscode
Restart the LSP server
Edit .rubocop.yml to stop excluding "test/fixtures/**/*"
Edit .vscode/settings.json and disable editor.formatOnSave for `[ruby]
Open the test/fixtures directory.
Open files in there and run the "Disable X" code actions on the offenses.

@dleavitt I've set this PR to Draft to indicate it's not ready for review yet, feel free to update once https://github.com/Shopify/ruby-lsp/pull/1114 is merged.


Add Code Engine backend

Install IBM CLI for web EC2

Download and install:
curl -sL https://raw.githubusercontent.com/IBM-Cloud/ibm-cloud-developer-tools/master/linux-installer/idt-installer | bash
Install CE plugin:
ibmcloud plugin install code-engine
Log in:
ibmcloud login --apikey API_KEY
Targeted resource group (staging - dev-shared, production - metaspace-env-prod):
ibmcloud target -g RESOURCE_GROUP_NAME
Create kubernetis config file (staging - metaspace-staging-ce, production - metaspace-production-ce):
ibmcloud ce project select --name NAME --kubecfg
Show path:
ibmcloud ce project current

List of dependencies
There are no fixed versions of our core libraries in requirements.txt: numpy, pandas, scipy ... This led to different versions of libraries between staging and production. We also have a Dockerfile for CF and CE with our own versions of these libraries. In this regard, I conducted an analysis and fixed the verities based on the production environment.
         | prod  | staging |     latest
-------------------------------------------
pandas   |  1.2.0 |   1.1.4 | 1.2.5, 1.3.1
numpy    | 1.19.5 |  1.19.4 | 1.20.3, 1.21.0
scipy    |  1.6.0 |   1.5.4 | 1.6.3, 1.7.1

Docker image for the CE
A sample Dockerfile for CE is available in the lithops repository. Unfortunately, this Dockerfile is highly redundant. Also, the documentation does not describe how to create the lithops_codeengine.zip archive:

download appropriate version of Lithops.
unzip
selection of required files
archiving

Changes in configuration files
For CE, it is mandatory to set the number of CPUs, while there are only certain ratios between CPU and RAM.

@sergii-mamedov hold on please...you should never create that zip file on your own. i think something is wrong the way you use it... let me review it and let us discuss it then. if you create that zip file manually - something fundamentally wrong the way you use it (@LachlanStuart fyi )

@gilv I figured it out, thanks. Unfortunately, this was somehow not clearly stated in the documentation.
It is also not very convenient that I need to use ibm_cos to create a docker image. In this case, I need to create a temporary config file with all credentials.

@sergii-mamedov i don't think you need ibm_cos to create docker runtime image with Lithops. At what point it asked you COS?

@gilv
If I run lithops without config file, I see this:
$ lithops runtime build metaspace2020/metaspace-lithops-ce:test -b code_engine
2021-08-17 23:42:10,601 [INFO] lithops.config -- Lithops v2.4.1
2021-08-17 23:42:10,601 [DEBUG] lithops.config -- Config not found. Setting Lithops to localhost mode
2021-08-17 23:42:10,601 [DEBUG] lithops.config -- Loading Serverless backend module: code_engine
2021-08-17 23:42:10,873 [DEBUG] lithops.config -- Loading Storage backend module: localhost
Traceback (most recent call last):
  File "/home/finve/Documents/embl_code/metaspace/metaspace/engine/venv/bin/lithops", line 8, in <module>
    sys.exit(lithops_cli())
  File "/home/finve/Documents/embl_code/metaspace/metaspace/engine/venv/lib/python3.8/site-packages/click/core.py", line 829, in __call__
    return self.main(*args, **kwargs)
  File "/home/finve/Documents/embl_code/metaspace/metaspace/engine/venv/lib/python3.8/site-packages/click/core.py", line 782, in main
    rv = self.invoke(ctx)
  File "/home/finve/Documents/embl_code/metaspace/metaspace/engine/venv/lib/python3.8/site-packages/click/core.py", line 1259, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/home/finve/Documents/embl_code/metaspace/metaspace/engine/venv/lib/python3.8/site-packages/click/core.py", line 1259, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/home/finve/Documents/embl_code/metaspace/metaspace/engine/venv/lib/python3.8/site-packages/click/core.py", line 1066, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/home/finve/Documents/embl_code/metaspace/metaspace/engine/venv/lib/python3.8/site-packages/click/core.py", line 610, in invoke
    return callback(*args, **kwargs)
  File "/home/finve/Documents/embl_code/metaspace/metaspace/engine/venv/lib/python3.8/site-packages/lithops/scripts/cli.py", line 394, in build
    config = default_config(config, config_ow)
  File "/home/finve/Documents/embl_code/metaspace/metaspace/engine/venv/lib/python3.8/site-packages/lithops/config.py", line 239, in default_config
    raise Exception('Localhost storage backend cannot be used in {} mode'.format(mode))
Exception: Localhost storage backend cannot be used in serverless mode

if I create local config file .lithops_config:
lithops:
    backend: code_engine
    mode: serverless

I see this error:
2021-08-17 23:45:08,624 [DEBUG] lithops.config -- Loading Serverless backend module: code_engine
2021-08-17 23:45:08,893 [DEBUG] lithops.config -- Loading Storage backend module: ibm_cos
Traceback (most recent call last):
  File "/home/finve/Documents/embl_code/metaspace/metaspace/engine/venv/bin/lithops", line 8, in <module>
    sys.exit(lithops_cli())
  File "/home/finve/Documents/embl_code/metaspace/metaspace/engine/venv/lib/python3.8/site-packages/click/core.py", line 829, in __call__
    return self.main(*args, **kwargs)
  File "/home/finve/Documents/embl_code/metaspace/metaspace/engine/venv/lib/python3.8/site-packages/click/core.py", line 782, in main
    rv = self.invoke(ctx)
  File "/home/finve/Documents/embl_code/metaspace/metaspace/engine/venv/lib/python3.8/site-packages/click/core.py", line 1259, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/home/finve/Documents/embl_code/metaspace/metaspace/engine/venv/lib/python3.8/site-packages/click/core.py", line 1259, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/home/finve/Documents/embl_code/metaspace/metaspace/engine/venv/lib/python3.8/site-packages/click/core.py", line 1066, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/home/finve/Documents/embl_code/metaspace/metaspace/engine/venv/lib/python3.8/site-packages/click/core.py", line 610, in invoke
    return callback(*args, **kwargs)
  File "/home/finve/Documents/embl_code/metaspace/metaspace/engine/venv/lib/python3.8/site-packages/lithops/scripts/cli.py", line 394, in build
    config = default_config(config, config_ow)
  File "/home/finve/Documents/embl_code/metaspace/metaspace/engine/venv/lib/python3.8/site-packages/lithops/config.py", line 236, in default_config
    config_data = default_storage_config(config_data)
  File "/home/finve/Documents/embl_code/metaspace/metaspace/engine/venv/lib/python3.8/site-packages/lithops/config.py", line 261, in default_storage_config
    sb_config.load_config(config_data)
  File "/home/finve/Documents/embl_code/metaspace/metaspace/engine/venv/lib/python3.8/site-packages/lithops/storage/backends/ibm_cos/config.py", line 24, in load_config
    raise Exception("ibm_cos section is mandatory in the configuration")
Exception: ibm_cos section is mandatory in the configuration

@sergii-mamedov if you deploy Lithops to CE, then you need COS. But I thought you need to build Lithops runtime, for this i am not sure you need COS, but i can check. But what is the issue, you need COS anyway, no?

@gilv Imaging and our application are two different processes. We store all keys encrypted for the main application. It turns out that in order to just create an image, I need to decrypt the key store, create a temporary config file and only after that create a docker image. Moreover, after creating the docker image, I do not see any files on the COS.
Of course, all this can be done on our side. But I would like to understand if you really need access to an COS to create a docker image, or if this is a "feature" of the lithops code.


Mark ms_data_structures.py as obsolete

As discussed here

This should be a fine byte size contribution for someone who wants to try their hand at SoCo development.
What should be accomplished is:

Document in the module docstring that the module is deprecated and what the replacement is
Issue a warning at import time (so it should be done just below the imports at the module level) about the deprecation, and that the module will be removed 2 versions from 0.13. See the deprecated class in utils for an example of the warning.


fix decimal_places bug to show correct number of digits

Fixes a bug Julie found when implementing #744 that has been around for a while (Thanks Julie!)
See docs here about fix in Intl.NumberFormatOptions

Oh I see now, I missed this:


Ansible cannot find role in folder

Hey,
I keep getting this error when I install. It's looking for a roles folder but that doesn't exist. Do you know what the issue may be?
ERROR: cannot find role in /Users/me/Documents/drupal-vm-master/provisioning/roles/geerlingguy.repo-remi or /Users/me/Documents/drupal-vm-master/provisioning/geerlingguy.repo-remi or /usr/local/etc/ansible/roles/geerlingguy.repo-remi
Ansible failed to complete successfully. Any error output should be
visible above. Please fix these errors and try again.

Please try running: ansible-galaxy install -r provisioning/requirements.txt --force to get all the latest dependencies installed.

For anyone who may search for this error:
If you try the above and get error: you do not have permission to modify files in /etc/ansible/roles/..., you'll need to set the install path as well:
ansible-galaxy install -r provisioning/requirements.txt -p provisioning/roles/

@marleyblakedog - That's one way of doing it; otherwise, use sudo for the ansible-galaxy command and it will be able to save/update roles in the global role path.

it has changed to yml extension
sudo ansible-galaxy install -r provisioning/requirements.yml -p provisioning/roles/

@dcorb - Ha, no problem at all! It was a change in 2.1.0 for better forwards compatibility with Ansible 2.0.x and beyond.

I am getting
Traceback (most recent call last):   File "/usr/local/bin/ansible-galaxy", line 959, in <module>     main()   File "/usr/local/bin/ansible-galaxy", line 953, in main     fn(args, options, parser)   File "/usr/local/bin/ansible-galaxy", line 819, in execute_install     if len(role_versions) > 0: TypeError: object of type 'NoneType' has no len()
(full error feedback below).
Is this an issue, or should it be ignored?
I have not gotten the VM to work fully yet, so I cannot tell.
`sudo ansible-galaxy install -r provisioning/requirements.yml --force

downloading role 'selenium', owned by arknoll
downloading role from https://github.com/arknoll/ansible-role-selenium/archive/1.2.0.tar.gz
extracting arknoll.selenium to /etc/ansible/roles/arknoll.selenium
arknoll.selenium was installed successfully
downloading role 'adminer', owned by geerlingguy
downloading role from https://github.com/geerlingguy/ansible-role-adminer/archive/1.1.0.tar.gz
extracting geerlingguy.adminer to /etc/ansible/roles/geerlingguy.adminer
geerlingguy.adminer was installed successfully
downloading role 'apache', owned by geerlingguy
downloading role from https://github.com/geerlingguy/ansible-role-apache/archive/1.6.0.tar.gz
extracting geerlingguy.apache to /etc/ansible/roles/geerlingguy.apache
geerlingguy.apache was installed successfully
downloading role 'apache-php-fpm', owned by geerlingguy
downloading role from https://github.com/geerlingguy/ansible-role-apache-php-fpm/archive/1.0.1.tar.gz
extracting geerlingguy.apache-php-fpm to /etc/ansible/roles/geerlingguy.apache-php-fpm
geerlingguy.apache-php-fpm was installed successfully
dependency geerlingguy.apache is already installed, skipping.
downloading role 'composer', owned by geerlingguy
downloading role from https://github.com/geerlingguy/ansible-role-composer/archive/1.4.0.tar.gz
extracting geerlingguy.composer to /etc/ansible/roles/geerlingguy.composer
geerlingguy.composer was installed successfully
downloading role 'daemonize', owned by geerlingguy
downloading role from https://github.com/geerlingguy/ansible-role-daemonize/archive/1.1.0.tar.gz
extracting geerlingguy.daemonize to /etc/ansible/roles/geerlingguy.daemonize
geerlingguy.daemonize was installed successfully
downloading role 'drupal-console', owned by geerlingguy
downloading role from https://github.com/geerlingguy/ansible-role-drupal-console/archive/1.0.4.tar.gz
extracting geerlingguy.drupal-console to /etc/ansible/roles/geerlingguy.drupal-console
geerlingguy.drupal-console was installed successfully
dependency geerlingguy.php is already installed, skipping.
downloading role 'drush', owned by geerlingguy
downloading role from https://github.com/geerlingguy/ansible-role-drush/archive/1.1.3.tar.gz
extracting geerlingguy.drush to /etc/ansible/roles/geerlingguy.drush
geerlingguy.drush was installed successfully
dependency geerlingguy.composer is already installed, skipping.
dependency geerlingguy.git is already installed, skipping.
dependency geerlingguy.php is already installed, skipping.
downloading role 'firewall', owned by geerlingguy
downloading role from https://github.com/geerlingguy/ansible-role-firewall/archive/1.0.9.tar.gz
extracting geerlingguy.firewall to /etc/ansible/roles/geerlingguy.firewall
geerlingguy.firewall was installed successfully
downloading role 'git', owned by geerlingguy
downloading role from https://github.com/geerlingguy/ansible-role-git/archive/1.1.1.tar.gz
extracting geerlingguy.git to /etc/ansible/roles/geerlingguy.git
geerlingguy.git was installed successfully
downloading role 'java', owned by geerlingguy
downloading role from https://github.com/geerlingguy/ansible-role-java/archive/1.3.0.tar.gz
extracting geerlingguy.java to /etc/ansible/roles/geerlingguy.java
geerlingguy.java was installed successfully
downloading role 'mailhog', owned by geerlingguy
downloading role from https://github.com/geerlingguy/ansible-role-mailhog/archive/1.0.5.tar.gz
extracting geerlingguy.mailhog to /etc/ansible/roles/geerlingguy.mailhog
geerlingguy.mailhog was installed successfully
dependency geerlingguy.daemonize is already installed, skipping.
downloading role 'memcached', owned by geerlingguy
downloading role from https://github.com/geerlingguy/ansible-role-memcached/archive/1.0.4.tar.gz
extracting geerlingguy.memcached to /etc/ansible/roles/geerlingguy.memcached
geerlingguy.memcached was installed successfully
downloading role 'mysql', owned by geerlingguy
downloading role from https://github.com/geerlingguy/ansible-role-mysql/archive/2.0.2.tar.gz
extracting geerlingguy.mysql to /etc/ansible/roles/geerlingguy.mysql
geerlingguy.mysql was installed successfully
downloading role 'nginx', owned by geerlingguy
downloading role from https://github.com/geerlingguy/ansible-role-nginx/archive/1.8.0.tar.gz
extracting geerlingguy.nginx to /etc/ansible/roles/geerlingguy.nginx
geerlingguy.nginx was installed successfully
downloading role 'nodejs', owned by geerlingguy
downloading role from https://github.com/geerlingguy/ansible-role-nodejs/archive/2.1.1.tar.gz
extracting geerlingguy.nodejs to /etc/ansible/roles/geerlingguy.nodejs
geerlingguy.nodejs was installed successfully
downloading role 'php', owned by geerlingguy
https://galaxy.ansible.com/roles/432/versions/?page=2&page_size=50
Traceback (most recent call last):
File "/usr/local/bin/ansible-galaxy", line 959, in
main()
File "/usr/local/bin/ansible-galaxy", line 953, in main
fn(args, options, parser)
File "/usr/local/bin/ansible-galaxy", line 819, in execute_install
if len(role_versions) > 0:
TypeError: object of type 'NoneType' has no len()
`

It looks like this is the issue: No such file or directory: 'provisioning/requirements.txt' - you should be using requirements.yml in the command and not .txt.

I messed up the formatting of the error messages above. The first command

sudo ansible-galaxy install -r provisioning/requirements.yml --force

ended with

Traceback (most recent call last): File "/usr/local/bin/ansible-galaxy", line 959, in main() File "/usr/local/bin/ansible-galaxy", line 953, in main fn(args, options, parser) File "/usr/local/bin/ansible-galaxy", line 819, in execute_install if len(role_versions) > 0: TypeError: object of type 'NoneType' has no len()

so just to be thorough, I tried with .txt

sudo ansible-galaxy install -r provisioning/requirements.txt --force

which failed with

Traceback (most recent call last): File "/usr/local/bin/ansible-galaxy", line 959, in main() File "/usr/local/bin/ansible-galaxy", line 953, in main fn(args, options, parser) File "/usr/local/bin/ansible-galaxy", line 765, in execute_install f = open(role_file, 'r') IOError: [Errno 2] No such file or directory: 'provisioning/requirements.txt'`

Oh, okay. In that case, can you do an ansible --version as well?

Just updated today, along with updating your vagrant to the latest.
ansible --version
ansible 1.9.3
configured module search path = None

Can you upgrade to Ansible 2.0.x? There are a few tasks that now rely on features only in Ansible 2.

Well, that fixed the Ansible errors with roles and got me much farther than before.
I am still not able to use DrupalVM, but I think I am getting there.
I am now getting  "[Errno 13] Permission denied" errors, but I have yet to fully search for it in your Git Issues discussions. Hopefully, there will be a solution there.
Thank you for the recommendation to move to Ansible 2! This is a big step forward.
Also, I heard your interview on the Drupal podcast. Really enjoyed it, and it convinced me to persist in getting your DrupalVM to work instead of giving up and going back to MAMP or using Homestead or trying Docker.
Micheal
On 2016/04/04 20:22, "Jeff Geerling"<EMAIL_ADDRESS>wrote:
Can you upgrade to Ansible 2.0.x? There are a few tasks that now rely on features only in Ansible 2.
—
You are receiving this because you commented.
Reply to this email directly or view it on GitHub


Predicate and gateway caller script for deposits

Closes #5
Note : This currently doesn't have any tests (apart from POC) which I propose to leave in there for now (as it proves the fundamental functionality of the predicate works) until we can test everything end-to-end.
I'd like to get this merged into master (even if there may be future changes) so we have a reference point for merging other branches in. (e.g. in terms of names, ABIs, etc).

Should we wait a day for a new release of forc to include https://github.com/FuelLabs/sway/pull/2187 to reduce churn? There's nothing inherently blocking a new release, so we could do one tomorrow.

Yeah, that one and the other std::tx refactoring one would clean this up considerably.

forc v0.18.0 is now out! https://github.com/FuelLabs/sway/releases/tag/v0.18.0

@Braqzen
Fixed those points.
The gateway caller script calls the token contract, which will be merged in with @nfurfaro 's PR. Once that's all in we should be able to run some integration tests and see the whole thing working together.

It would be really nice is there were some CI checks, at least to run forc build. Right now I'm flying blind 😂

I'll see if I can cobble together some CI. Never done it before but I'm sure by analogy with our other repos I can work it out.

CI now format-checks and builds all the Sway files, and tests the POC (as it's the only component with any tests / Rust currently). A little more ad-hoc than I'd like but I wanted to follow the patten from sway-applications for getting up and running ASAP. Once we're running integration tests POC will be dropped anyway and we can re-work it around the actual testing harness.

@Braqzen

Probably. I think there's work being done to add all the different combinations to the std-lib with the new GTF opcode. We can tidy this up when that eventually goes in.

Yeah, in Sway the bytecode is "padded" to the nearest word by virtue of it being cast to an array of words. This means in order to generate the corresponding hash (in the SDK) that we hard-code in the predicate,  the bytecode needs to be padded manually. Added comments clarifying this.

We need to fetch the contract ID again in the script (since nothing persists from the predicate execution, there's no way of retrieving it from there), but we don't need to do the check on the type first since the predicate checked this for us. This just makes the script slightly cheaper. Added clarifying comments. MIN_GAS is needed to check the transaction can never revert out-of-gas. We'll be able to specify this constant once we have tests with the token contract.

Test is printing here as we need to take the padded bytcode hash and length to hard-code it into the predicate. If you prefer we can output to a file instead, but it's the same conceptually.

Thanks Syd. I'll leave time for @adlerjohn or @pixelcircuits  to review since they have a good overview of the overall mechanism.

Should we just have one .gitignore at the root instead of inside each sub folder?


Additional rewrites break next-intl

Description
Following the docs, additional rewrites should be implemented this way:
import createIntlMiddleware from 'next-intl/middleware';
import {NextRequest} from 'next/server';

export default async function middleware(request: NextRequest) {
  const [, locale, pathname] = request.nextUrl.pathname.split('/');

  if (pathname === 'profile') {
    const usesNewProfile =
      (request.cookies.get('NEW_PROFILE')?.value || 'false') === 'true';

    if (usesNewProfile) {
      request.nextUrl.pathname = `/${locale}/profile/new`;
    }
  }

  const handleI18nRouting = createIntlMiddleware({
    locales: ['en', 'de'],
    defaultLocale: 'en'
  });
  const response = handleI18nRouting(request);
  return response;
}

export const config = {
  matcher: ['/', '/(de|en)/:path*']
};

When the rewrite condition is true, the locale is not saved during navigation. In addition, the application may sometimes crash with a 404 error or an application error.
Mandatory reproduction URL (CodeSandbox or GitHub repository)
https://codesandbox.io/p/devbox/next-intl-bug-template-app-forked-qmp4t8?embed=1&file=%2Fsrc%2Fmiddleware.ts
Reproduction description
Steps to reproduce:

Open reproduction
Navigate
Update isAuthenticated to true in middleware
See error

Expected behaviour
Additional rewrites should work without breaking internationalization.

Hey, since you use localePrefix: 'as-necessary' you need to adapt the handling appropriately to handle unprefixed pathnames too.
This should work:
import createMiddleware from 'next-intl/middleware';
import { locales } from './navigation';
import { NextRequest } from 'next/server';

// Update to simulate authenticated user
const isAuthenticated = false;

export default async function middleware(request: NextRequest) {
  const [, localeOrFirstSegment, ...remainingSegments] =
    request.nextUrl.pathname.split('/');
  const hasLocalePrefix = locales.includes(localeOrFirstSegment as any);
  const localePrefix = hasLocalePrefix ? localeOrFirstSegment : undefined;
  const pathname = hasLocalePrefix
    ? remainingSegments.join('/') || '/'
    : request.nextUrl.pathname;

  if (pathname === '/' && isAuthenticated) {
    request.nextUrl.pathname = '/dashboard';
    if (hasLocalePrefix) {
      request.nextUrl.pathname = `/${localePrefix}` + request.nextUrl.pathname;
    }
  }

  const handleI18nRouting = createMiddleware({
    defaultLocale: 'en',
    locales,
    localePrefix: 'as-needed'
  });

  const response = handleI18nRouting(request);
  return response;
}

export const config = {
  matcher: [
    // Match all pathnames except for
    // - … if they start with `/api`, `/_next` or `/_vercel`
    // - … the ones containing a dot (e.g. `favicon.ico`)
    '/((?!api|_next|_vercel|.*\\..*).*)',

    // However, match all pathnames within `/users`, optionally with a locale prefix
    '/([\\w-]+)?/users/(.+)'
  ]
};

I've also added a note about this to the rewrite example in the docs.
Hope this helps!

Thanks @amannn,
It works very well like that! One last question, how can I make redirects instead of rewrites?

Great to hear!

how can I make redirects instead of rewrites?

You can early-return a NextResponse.redirect(…) if a certain condition is met. In this case you don't need to run the next-intl middleware!


Several of the documented mermaid diagram types don't work

I'm unable to create several mermaid diagram types in the Wiki, namely:

Pie charts
Requirement diagrams
State diagrams
User Journey

Instead, I get the following message: Unsupported diagram type.
Here, you describe that these diagram types are supported. This was also announced with the release notes of Sprint 200 (February 28, 2022) but never went really live for us (or was rolled back).
Could you provide a screenshot from the Wiki of a rendered Pie Chart, Requirements Diagram or State Diagram with the related mermaid code?

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

ID: 29f1e43f-a069-dd88-7fc7-9cc497fb94f0
Version Independent ID: c261afa7-6eb7-b3f0-9f92-6d2f3c5ac336
Content: Markdown syntax for wikis in Azure DevOps - Azure DevOps
Content Source: docs/project/wiki/wiki-markdown-guidance.md
Product: devops
Technology: devops-collab
GitHub Login: @chcomley
Microsoft Alias: chcomley

Hi @feustpat, thanks for reaching out. I'm going to do some research and get back to you early next week, thank you so much. Enjoy your weekend.

@feustpat, I've followed up again today. Thanks!

@chcomley Thx. Any news on this? I'd still be interested :)

Hi @feustpat, I've been introduced to a PM and am awaiting their feedback. If I don't hear back by EOD Friday, I'll re-ping. I know this is frustrating, thank you for your patience. Have a great day.

Re-pinged

@chcomley - thank you for investigating this! Just wanted to hop on the thread to say that I'm also very interested in getting support for all types of Mermaid diagrams, especially class diagrams which would aid in building up our team's documentation.

I am also having the same issue with creating stateDiagrams with sprint 209 version of Azure DevOps Service. Any update would be appreciated.

Hi all, Adding @bjanousek for input, thank you for your patience.

Hello all, I'll update as soon as update is available from the team

We've added support for the following diagram types:

Flow chart
Class diagram
State diagrams
User Journey
Pie charts
Requirement diagrams

In addition we've added support for the two experimental diagrams (To use this requires a flag to be switched on):

Git graph
ER diagrams

This will be available in the OnPrem server 2022 and in a few weeks in the hosted Azure DevOps.

Hi all, I've tested the following diagram types myself and they aren't working for me either:
•	User journey
•	State diagram
•	Pie chart
•	Requirement
I've removed these diagram types from the published article until we can confirm that they actually function in Azure DevOps. Once the update goes live, it will automatically close this issue.
There are many active requests in the Developer Community, which you can upvote if you feel it's appropriate. When I get more information, I'll reply to this issue. When we add more diagram types to the article, I'll add working examples as well.
I'm sorry for the inconvenience you've been experiencing.

@chcomley - Can you confirm where you've been testing this? It may not have been deployed to your instance yet.

I'm sorry but the classDiagram doesn't work. The message is:  Unsupported diagram type.

@BitawareUnleashed - in what org you're seeing this? The functionality may not be yet available in your org due to usual deployment scheme. It takes couple of weeks before the functionality is available to everyone.

@BitawareUnleashed - in what org you're seeing this? The functionality may not be yet available in your org due to usual deployment scheme. It takes couple of weeks before the functionality is available to everyone.

Ok thank you for info. My organization is a corporate.


Visual Studio Extension not compatible with Visual Studio 2019 (Preview)

The Visual Studio Extensions for Service Fabric Mesh is only compatible with VS 2017; is there an ETA for availability for VS 2019?

2019 has an officially supported release now (RC)
Any ETA on this?
Thank you for the hard work!

Hi @BigMorty & team,
Firstly, thank you for all your efforts!
Can you share when we could expect the SFM extension, please?
Thanks again for all your hard work!

Please please please

Hello folks and very sorry for not getting back to you sooner. Currently we only have a SF Mesh extension for Visual Studio 2017. I will let you know if this changes.

Hi @BigMorty, any updates on Service Fabric Mesh for VS 2019?

I uninstalled VS2017 weeks ago. As someone completely new to SFM and trying to learn it's annoying that I'll have to reinstall it to give it a go. Not necessarily complaining but this is likely to put others off as they fall into the same situation. 2019 has been out for a while now and all of my other extensions are compatible already (hence me uninstalling 2017)

We are working with the Service Fabric (SF) team as they evolve the SF Mesh app model and Mesh/Atlas control plane as mentioned in this session at Build, Build Mission Critical .NET microservices - BRK3047. There are currently no plans to release the existing SF Mesh tooling for Visual Studio 2019. The best solution at this time is to install Visual Studio 2017 which works great side-by-side with Visual Studio 2019.

No current plans for SF Mesh tools for VS2019 can mean two things:

Service fabric mesh is not the big thing we thought it was and it's just a side project
Something is being redesigned from scratch and the tooling will have to change anyway, so why invest on it.

I understand that scenario n1 is very unlikely since MS has been showing off with mesh a lot, so then, why the secret? This is not a product that you buy and that it's, we are developers and need to invest as well , and sometimes "bet" on technology stacks in order to succeed.
For example, if this continues, people might recommend other solutions for orchestration. which might, in turn, hurt the product adoption.
Current tooling has lots of flaws that need to be addressed in an agile way. One release every year or so, will not satisfy the demand.
Hope this feedback helps.
Cheers

#2 – The Service Fabric team is evolving the SF Mesh app model which will assuredly change how the tools need to work. We are engaged with them on this effort.

Good to know! :) Just keep us updated! :)

This is why people Microsoft has a reputation for being half-baked.  I've been poring over the Getting Started documents and hitting a dead-end because the tooling has not been updated to support it.  I'm seriously not sure what I'm supposed to do at this point. I'm seriously not on board with installing an old version of Visual Studio here.

@rmagruder Mesh is in early PREVIEW so there is no reason to complain. As team announced before, the model is evolving, so I'd think the new extension will target 2019 and bring new model at the same time. What's stopping you from playing in VS2017? They play well side by side.

Nothing is stopping me from 'playing'.  Except it sounds like I'd be more or less wasting my time as they will change everything again.

+1 uninstalled vs2017 after vs2019 GA, looks like I will need to reinstall it. : (

over a year now...

Any progress on this 18 months later?

Would love some update on this... Want to know if SF Mesh is going to be a viable tech stack for us in 2021 :-(

Bummers. I was excited about mesh and then found my way here. Looks like it's dead.

Bummers. I was excited about mesh and then found my way here. Looks like it's dead.


add lang-team Major Change Proposals as a "pre-RFC" step

Introduce a new step, a major change proposal (MCP), that is taken before an RFC is created.

Major change proposals are created by opening an issue on the lang-team repository. The issue includes a short summary of an idea with a focus on motivation and a de-emphasis on the details of the solution.
A Zulip topic is also created to discuss the proposal.

MCPs can be resolve in a few ways:

If the proposal is small and approved, then a PR against rust-lang/rust can be created and FCP'd.
If the proposal is larger, and there is a willing lang-team liaison, then a project group can be chartered to draft an RFC.
Finally, the proposal may be closed, along with an explanation as to why. This may simply be that there is no available bandwidth to move the proposal forward right now.

To help in tracking what the lang-team is up to, as well as the set of bandwidth available for each member, we will track (and make publicly visible)

Active project groups, grouped by liasion
Topics of interest that each member may wish to pursue
A design notes section that can be used to log exploration or discussions that yielded interesting results but didn't ultimately lead to a project group at this time.

Rendered view.
Flowchart of new process.

One thing that came to my mind while reading the RFC is what does the Major Change Process mean for lang PRs opened directly on rust-lang/rust? Should they be closed and redirected to rust/lang-team without prejudice? How major does a change need to be?
This is maybe self-evident by the fact that the idea is being proposed on internals or zulip rather than a PR, but I think it would be good to explicitly enumerate the kinds of changes that don't require the major change process, e.g. documentation.

I don't see any mention of what happens to RFCs without an MCP. i assume they are closed either automatically or manually, it would be nice to be explicit about it. Otherwise, the proposal looks great and I'm excited to see how it works in practice.

I don't see any mention of what happens to RFCs without an MCP. i assume they are closed either automatically or manually, it would be nice to be explicit about it. Otherwise, the proposal looks great and I'm excited to see how it works in practice.

Ah, you don't mean "pre-existing RFCs" (which I did try to address) but rather "new RFCs introduced after we adopt this system"?
If so, yes, I plan to close them. I'll add a note about it, good catch.

@XAMPPRocky

One thing that came to my mind while reading the RFC is what does the Major Change Process mean for lang PRs opened directly on rust-lang/rust?

Yeah, this is a good question. We had a similar question arise in the compiler team. Our conclusion there was that we can encourage the author to submit an MCP but (typically) leave the PR open, simply in a blocked state. It's also ok to close, but it often feels more polite to leave it open.
The idea in the compiler team at least was that this encouraged folks to write some docs and the high-level plan and to communicate that out to the wider team, which is difficult to do from a PR This stems in part from the observation that the primary role of MCPs on the compiler team is probably encouraging planning, documentation and communication, more so than regulating changes, although they do also serve that function. On the lang team, I think that regulating changes ("do we want this") is going to be a bigger part.
Have to think a bit about it, but it seems like encouraging folks to write-up an MCP if the change is "real enough" makes sense.
(Separately but relatedly, I'm wondering about stabilization reports-- we currently have folks write them up, but it's not well documented, I don't think there's a template, and I don't think we collect them anywhere. It'd be nice if we did.)

Just wanted to ask since projects like cargo also use the RFC process, whether the process here makes sense for it, e.g. I'm not particularly familiar with the lang-team's duties whether it is responsible for cargo RFCs. Or whether that would be better directed towards crates-io-cargo-teams?

@ratmice The Major change process is definitely something the governance WG is considering recommending to more teams in general, but we agreed to first let the compiler and lang teams try it out the process and iterate on it first before recommending it to the rest of the org.

As someone with a RFC in the queue, so to speak, I can only approve more transparency in the process.
That said, I'm not sure adding an additional step upstream will do anything except move the problem.
I expect with the new process, instead of RFCs accumulating in the PR queue without being assigned, we'll get MCPs accumulating in the lang-team issue queue, being reposted when they expire.

I also think that the root of the problem with the current RFC process is bandwidth issues rather than anything really to do with ideas regularly being too half-baked when first proposed.
There's literally just not enough spare time among lang team members to meet the demand.
That said I do think this proposal is a step in the right direction. I just think it's not the only step that's needed.

@XAMPPRocky Cool, I guess my concern is that since cargo currently uses the same RFC process and RFC repository with the T-cargo tag, if lang moves to MCP as a "stage" for RFCs, but cargo/other teams do not, then there is potential confusion for contributors and different processes for triage of the rfcs repo.
When someone posts a new T-cargo labeled RFC shouldn't redirect them to the MCP process (unless the cargo process changes), but should for the lang-team appropriate RFCs.
Anyhow, I guess this comment is just elaboration of

Rationale and alternatives

We could try this for all teams at once.

Why? Uniform process is good.
Why not? Not sure how it will work, and each team has somewhat different needs.

because in a sense the "Why not?" is really moving away from an existing uniform process.

I have two comments:
If different teams will have different procedures this poses a challenge for external contributors. The areas of responsibility of the different teams is a bit of an insider baseball thing and you can't rely on external contributors knowing them. This means that somewhere early in your flowchart you need a step where the contributor somehow finds out under which team's area of responsibility their proposal falls so they know which procedure to follow.
My second comment is a bit more of a devil's advocate thing so don't take it too seriously.
I wonder if the RFC step carries its own weight anymore. When the RFC step arrives the proposal will already have lang-team buy-in, a project group and a polished design. So in the RFC step the proposal will have so much momentum, buy-in and investment that comments received during the RFC is highly unlikely to be able to make any meaningful change in practice and the proposal is already de facto done and ready for final review by the lang-team.
So why not get rid of the RFC step entirely? Instead have the project group present the design to the lang-team, and have the lang-team do comments or final yay or nay on it. Then, if it is accepted, have a publication of design document step that functions as the way to document designs and track what is being worked on.

If omit the RFC step then what will be listed in "This Week in Rust" in section of ongoing decisions and commenting periods?

I wonder if the RFC step carries its own weight anymore.

I have wondered about the RFC processing carrying its own weight. I think it does still, but I could be wrong. I guess it will depend quite a bit on the RFC, but I still view the "RFC period" as the point where the idea gets exposure from the Rust community at large, and I think there's a good chance that this exposure turns up surprising cases that didn't come up when the group was first thinking about the problem or when the lang team was looking at it.
Of course those concerns may or may not prompt changes to the RFC, though at minimum I would expect the RFC to be extended with a summary of the concerns that arose from the RFC period and the thinking about them.
As an example of this, the inline assembly RFC was developing in a project group but I think it still underwent changes during its public RFC process.

I pushed some minor updates to the text.

I believe I addressed all the outstanding comments.

We are currently creating a few sample proposals on the lang-team repository -- I created one here in https://github.com/rust-lang/lang-team/issues/23, although I suspect that it is rather longer than most proposals would be (or have to be, anyway). The Zulip stream creation automation is also hooked up, and you can see the resulting topics created in the t-lang/major changes stream.

We will look at pending proposals during our weekly triage meetings and try to post updates or questions promptly. Since the intent of a proposal is not to iterate on a design, but rather to determine if there is an available and interested lang team liaison, we should be able to move much more quickly in deciding whether to assign a proposal or not. The intent is to avoid the kind of limbo that we've seen in the past with pending RFCs.

Can you expand on that part?
In particular, "try to post updates" is a very broad goal to state. Everyone "tries" to do their paperwork on time, the problem is what happens when the process is strained.
What would you expect to be the standard duration between a proposal being submitted and the lang team response? How do you expect the process will adapt if that duration is consistently exceeded?

Personally, I perceive this as making the process more opaque, mainly because it moves most discussion from GitHub to Zulip.  Doing so has several downsides from the perspective of people not already intimately involved with the language team:

Zulip streams, like any form of synchronous communication, don't make for good archives.  People always complain about GitHub threads with hundreds of messages, but at least it's possible to read through them all.  (Personally – yes, this is very subjective – I find this viable and, in fact, enjoyable.)
With synchronous communication, the difficulty of communicating with someone, or a group of people, is significantly affected by timezone differences.
Zulip requires a login; you can't just link to a conversation and let everyone view it without registering an account.
Zulip is less familiar than GitHub to most people.
Zulip is not compatible with existing clients.  With GitHub, you can read and participate in conversations from an email client, and this is my usual way of reading.  For Zulip, I suppose the closest equivalent would be IRC, but there's no good Zulip-to-IRC gateway (and IRC is pretty flawed anyway).  For this reason, I'm unlikely to be able to pay as much attention to Zulip conversations as I do to GitHub conversations.

I'm also a little torn about the goal of throttling proposals based on available implementor bandwidth.
Sure, the current situation is often counterproductive, with RFCs gathering large amounts of discussion only to be left open, closed as postponed, or even accepted but never implemented, all due to lack of bandwidth.  Throttling proposals will help set expectations and prevent people from wasting time designing things that won't be implemented.
On the other hand… at least it provides an outlet to spread awareness of ideas that might make Rust better, even if they won't be adopted in the short term.  Personally, I feel like I've learned a lot from RFCs that haven't been adopted.  Admittedly, the new process still leaves room for open-ended discussion in internals threads (plus rust-lang/rfcs issues that nobody looks at).  But I suspect there will be less of it.

Additionally, I've observed that with synchronous communication, people have a stronger tendency to refer to recent events without explicit links, which communicates information everyone understands at the time of the discussion, but becomes completely opaque when reading from archives.

There are good reasons for organizations to maintain internal synchronous communication channels, which includes shared assumptions, reduced editing, etc.  Yet, these platforms' advantages make them suck as an archive like @comex says, while github does the archive and cross referencing business extremely well.
We use Riot/Matrix for this where I work because Zulip's walled garden terrifies us, btw.  We do have public room but these exist to build community, provide outreach, and provide really low level technical support for sys admins, none of which appear relevant for rust.  We kinda only invite developers we pay into research and development rooms.
I suspect doing this would only invite more noise into the "space where you think", including making your workload tracking noisy.  You might instead consider stronger measures to reduce the github noise and move chatter to internals.rust-lang.org.

Yeah, I admit I share some of these concerns. The question of whether to use Zulip or not is one part of the proposal I've been rethinking.
I also definitely see the advantages of design proceeding "in parallel" -- I don't necessarily like how it's taking place on the RFC repository, but there might be a setup that "integrates better" with today's RFCs while achieving many of the same goals I'm reaching for here.
My concerns with Zulip are

barrier to entry
noise in the space where we think, as you say
conversation more spread out (note though that the https://zulip-archive.rust-lang.org/ does make conversations there relatively easy to link to and so forth)

One thing I really like about MCPs today is their super lightweight nature -- i.e., I think we envision that if you have an idea, you can open an issue and sketch out the contents of the MCP inline, or at least compose one with relative ease in a hackmd and paste it in. It often doesn't take much to convey the "high-level idea", and the hope is that we intercept and decide on designs and directions in relatively early stages this way. But I think that it is not really suitable for heavy drafting and revision (not that github PRs actually are very good at that, either).
Anyway, I'm going to think about it.

Anyways, it's good if the RFC approval process stays (a) slow enough that enough review accumulates, and (b) open and engaging enough to attract enough good review.

Yeah, I admit I share some of these concerns.
I also definitely see the advantages of design proceeding "in parallel" -- I don't necessarily like how it's taking place on the RFC repository, but there might be a setup that "integrates better" with today's RFCs while achieving many of the same goals I'm reaching for here.

Thanks for taking my thoughts into consideration :)
FWIW, I actually agree with most of those goals.

conversation more spread out (note though that the https://zulip-archive.rust-lang.org/ does make conversations there relatively easy to link to and so forth)

Also, I hadn't heard of this archive before.  That does help with the "can't view linked discussions without logging in" issue, though only if people actually use it.  Perhaps an archive link could be added to the "This issue is not meant to be used for technical discussion. There is a Zulip stream for that." boilerplate?  Having two links (one for participating, one for viewing without logging in) might be a bit confusing, but running into a login screen is also confusing (e.g. the first time I saw it, I wasn't sure whether or not it was open to the public), so I think adding it would be an improvement overall.

I'm going to withdraw this RFC and open a revised one. We've been trying out this policy for a while and @joshtriplett and I had some plans to do a revised version of this process, one that covered more of the lifecycle of a feature.


reduce version definitions in POMs (rework)

Beside what was done in #265 this PR adds the flatten-maven-plugin that resolves the ${revision} property in the POMs.

Hi @CCFenner I am still getting the exact same error pasted in https://github.com/corona-warn-app/cwa-server/issues/302#issue-624409833 regardless of whether I run
mvn spring-boot:run -Dspring-boot.run.fork=false -Dspring-boot.run.profiles=dev -f services/submission/pom.xml
from the project root or
mvn spring-boot:run -Dspring-boot.run.fork=false -Dspring-boot.run.profiles=dev -f pom.xml
from 'services/submission'

Did you do a mvn clean install upfront?
I guess this would be a good candidate for an automated test 😄

Thanks @CCFenner I confirmed:

mvn install works fine on root and all modules
submission and distribution services execute properly

Hi @CCFenner, could you add the flatten-maven-plugin Apache license to the THIRD-PARTY-NOTICES ?

@stevesap license added, please review again.


[AIRFLOW-3192] Remove deprecated post_execute logic

Make sure you have checked all steps below.
Jira

[ ] My PR addresses the following Airflow Jira issues and references them in the PR title. For example, "[AIRFLOW-3192] My Airflow PR"

https://issues.apache.org/jira/browse/AIRFLOW-3192
In case you are fixing a typo in the documentation you can prepend your commit with [AIRFLOW-3192], code changes always need a Jira issue.

Description

[ ] Here are some details about my PR, including screenshots of any UI changes:

Tests

[ ] My PR adds the following unit tests OR does not need testing for this extremely good reason:

Commits

[ ] My commits all reference Jira issues in their subject lines, and I have squashed multiple commits if they address the same issue. In addition, my commits follow the guidelines from "How to write a good git commit message":

Subject is separated from body by a blank line
Subject is limited to 50 characters (not including Jira issue reference)
Subject does not end with a period
Subject uses the imperative mood ("add", not "adding")
Body wraps at 72 characters
Body explains "what" and "why", not "how"

Documentation

[ ] In case of new functionality, my PR adds documentation that describes how to use it.

When adding new operators/hooks/sensors, the autoclass documentation generation needs to be added.

Code Quality

[ ] Passes git diff upstream/master -u -- "*.py" | flake8 --diff

Codecov Report

Merging #4040 into master will increase coverage by <.01%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master    #4040      +/-   ##
==========================================
+ Coverage   75.82%   75.83%   +<.01%
==========================================
  Files         199      199
  Lines       15949    15943       -6
==========================================
- Hits        12094    12091       -3
+ Misses       3855     3852       -3

Impacted Files
Coverage Δ

airflow/models.py
91.82% <100%> (+0.1%)
:arrow_up:

Continue to review full report at Codecov.

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


parentConfig doesnt work with wrong order of configs in configurations.names

❗ please do not add sensitive information in issues, you can provide extra information via email using issue number as reference ❗
Describe the issue
See title.
Example:
properties in DeploymentSpecifics.properties:
configurations.duploimport.parentConfig=COMMON
configurations.REGW.parentConfig=COMMON
configurations.LEGO.parentConfig=COMMON

property that is automatically filled:
configurations.names=ibis4duploos,LEGO,LEGOoutbound,COMMON,duploimport,REGW
duploimport and REGW have no problems but REGW does and gets the following error:
 error instantiating ClassLoader: failed to locate parent configuration [COMMON]
Reporter
Wouter van der Schoot
Environment
FF! 7.7.2: ibis4duploos
Running on LPZWNL000032967 using Apache Tomcat/9.0.50
Java Version: OpenJDK Runtime Environment (1.8.0_292-b10)
Heap size: 484M, total JVM memory: 802M
Free disk space: 131GB, total disk space: 237GB
Up since: 2022-10-11 15:21:35 (1m)

Additional Environment

DBMS: [Oracle]
Browser: [Chrome]

There is not much we can do about this. You cannot build a house unless the required foundation is present.
In this case think of each configuration as a floor in a house, and while constructing the house you wish to build the 3rd floor without having a 2nd floor.

ok, then in cases like this we have to go back to placing the full configurations.names in the deploymentspecifics.properties instead of relying on the automated version


[Gally]: master <- dev

Automatically created by Git-Ally

:tada: This PR is included in version 1.2.9 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Using OpenSSL's 'built in' zip functionality

Nice shell script!
Minor tip: I don't know if you're aware of this, but you could use the built-in compression utility of OpenSSL (if it's compiled with the zlib option). Currently there are several pipes being used
cat - | gzip | openssl enc -aes-256-cbc -kfile "$BACKUP_KEY" > "$BACKUP_FILE"
You could replace this by using
cat - | openssl enc -aes-256-cbc -kfile "$BACKUP_KEY" -z > "$BACKUP_FILE"
This probably is a bit more efficient, both processor- and space-wise.
Likewise you can use the -z flag for decompression as well:
Replace
cat - | openssl enc -aes-256-cbc -d -kfile "$BACKUP_KEY" | gzip -d
by
cat - | openssl enc -aes-256-cbc -d -kfile "$BACKUP_KEY" -z
Cheers,
Peter

Interesting, that's new to me. I have an update in the pipeline, I'll be sure to include it :)


Duplicated tests: 942290-3 and 942290-4

Describe the bug
Tests 942290-3 and 942290-4 are the same:
https://github.com/coreruleset/coreruleset/blob/v4.0/dev/tests/regression/tests/REQUEST-942-APPLICATION-ATTACK-SQLI/942290.yaml
Merged here:
https://github.com/coreruleset/coreruleset/pull/2579
Solution

Contact PR author (@rekter0) and ask him to fix the test as probably only he knows how it should look like.
If first step doesn't work, remove test 942290-4 and fix test_titles of tests below it.

Per comments on the tests, they should come from https://blog.securelayer7.net/mongodb-security-injection-attacks-with-php. So the first five tests should replicated the ones there.

@azurit Do you want to take this one?

@fzipi Sure.

We can close this one.


Add an option to select the file from the sidebar without moving cursor to the editor

Currently it is difficult to check the contents of multiple files from the sidebar (macOS) without using the mouse, because the default select action moves the cursor into the editor.
When using the mouse you can just click on the files to preview them, but clicking cmd+enter moves the cursor into editor area. (using list.select action)
It would be great to add a new action that previews the file in the editor without moving the cursor into it, that works exactly the same as the mouse click. Using space as shortcut would work great on macOS.
Below is the screen recording that shows that it's difficult to preview multiple files. It shows the following actions:

clicking with the mouse (does not move the cursor into editor, allows previewing easily)
enter (renames instead of previewing)
cmd+enter (moves the cursor into editor, difficult for preview)

VSCode Version: 1.10.1
OS Version: macOS 10.12.5

I guess it could be implemented as extension by mapping the space key to the following commands:
"list.select"
"workbench.files.action.focusFilesExplorer"
{ "key": "space", "command": "[TODO]", "when": "explorerViewletVisible && filesExplorerFocus"}

Related tickets #20440, #11517

Any updates?

mapping space key to the following command works for me:
"macros": {
	"previewAndFocusExplorer": [
		"list.select",
		{ "command": "delayedcommand.run", "args": { "delay": 100, "command": "workbench.view.explorer" }}
	]
},

extensions needed:

https://marketplace.visualstudio.com/items?itemName=geddski.macros
https://marketplace.visualstudio.com/items?itemName=sqreept.delayedcommand

Now it is possible to select any number of files in the explorer and press space and those files will be opened and the focus will be preserved in the explorer.
This keybinding is configurable via command filesExplorer.openFilePreserveFocus


move weapon stuff out of Controller.gd

Controller.gd is already huge, and the vast majority of it deals with player motion, movement input and physics.
There deserves to be a separate script to handle weapon interactions for the character.

.. need to follow up with connections into player.gd for weapon hookups.


feat: added new function

:tada: This PR is included in version 1.3.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


May I ask about the changes in the new version？

When I use a new version of pycolmap, I often see pycolmap' Image 'object has no attribute' rotmat or pycolmap ' Image 'object has no attribute' tvecerror. I know that CamFromWorld replace qvec/tvec in the new version. So what should I do if I want to use code similar to img. rotmat() or img. tvec in the new version?

hloc has been updated to support the new version: https://github.com/cvg/Hierarchical-Localization/commit/936040e8d67244cc6c8c9d1667701f3ce87bf075#diff-0de4cbc99c18b9dc5d1222addb08b24427cced6514d6a54ffae72bb2c860d701R153-R154


usage for Next14 components

sorry i can't understand how to use this method on nextjs components
import { Ripples } from "@figliolia/ripples";

const DOMElement = document.getElementByID("myElement");

const rips = new Ripples(DOMElement, {
  resolution: 512,
  dropRadius: 10,
  perturbance: 0.02,
});

// when you're all done rips.destroy()

i solved it

`import React, { useRef, useEffect } from 'react';
import { Ripples } from '@figliolia/ripples';
const MyComponent = () => {
const ripplesRef = useRef(null);
useEffect(() => {
const ripples = new Ripples(ripplesRef.current, {
resolution: 512,
dropRadius: 10,
perturbance: 0.02,
});
return () => {
  ripples.destroy();
};

}, []);
return (

{/* Your content here */}

);
};
export default MyComponent;`

if its possible add it to usage section in doc

No problem, will do!


Improvement : avoid unnecessary class casting on payload for mqtt message

Motivation :
Right now in order to get mqtt payload - class casting should be done (while it was already done on mqtt message creation) + payload field should be only for some mqtt messages and not for all.
Modifications :
payload field moved out from MqttMessage to only those messages that should have payload.
Result :
No class casting when getting payload. Non-payload messages now has -1 field.

@normanmaurer added null checks

I think we can not do the changes here because of breaking backward compatiblity :(
Closing


Feature: Add cropping menu to 🔧 Image Resize node

Hello,
If "keep_proportion" is set to true and "multiple_of" is set to not 0, the image will not keep its proportions.
My suggestion is to add the cropping position menu (from ImageCrop+) to the 🔧 Image Resize node so the image can be cropped when both keep_proportion and multiple_of are required.
This is my work around at the moment but if it could be combined into a single node that would be a great quality of life.
Thanks

I just updated the nodes today and the node works as expected now. Thank you!
I guess having a "position" menu would still be useful when cropping or padding?


Registered IDocumentFilter, IOperationFilter types instantiated very often on first http request

We do did a bit of heavy lifting in the constructor in classes which implement IDocumentFilter and IOperationFilter.
To our surprise the constructor seems to be called very often on the first http request (any request, I don't mean the swagger.json specifically), causing a rather long delay and a lot of GC pressure.
While both is due to the heavy lifting in the constructor, causing ~30ms delay and some MBs of garbage per constructor call. I think it would be better if the instances were reused, causing less surprises.
In our case it summed to 2244 constructor calls, ~20s delay and jump of 1GB of RAM after all constructor calls are finished.

Example:
services.AddSwaggerGen(c => {
	//We add multiple DocumentFilters/OperationFilters
	c.DocumentFilter<DocumentFilter>();
	c.OperationFilter<OperationFilter>();
});

public class DocumentFilter : IDocumentFilter {
	public DocumentFilter() { Thread.Sleep(20); }
	public void Apply(OpenApiDocument swaggerDoc, DocumentFilterContext context) {}
}
public class OperationFilter : IOperationFilter {
	public DocumentFilter() { Thread.Sleep(20); }
	public void Apply(OpenApiDocument swaggerDoc, DocumentFilterContext context) {}
}

Nuget Package: Swashbuckle.AspNetCore 6.5.0
Runtime: NET8
OS: Win11

Why do you need the first request to be so performant? The OpenAPI document is generated on startup and mostly reused after that for the life of the process. Outside of development, typically a warmup process of the web server would be used where some basic requests are initiated to get first-time startup logic out of the way so consumers can use the web service as expected.

As noted above, could you share a bit more information about the scenario where you see this? If it's production, then I'd agree we should look to improve it if there's an issue, but if this is just when starting the application under the debugger and your Swagger UI page is the default configured launch page (so the first request, every time), then I don't think there's anything we need to do here.

Ah sorry for the late reply, I didn't notice the question.
Yes it also happens in production. I don't have to call the Swagger UI for this to occur. Calling any api is enough.
Minimal Example:
using Microsoft.OpenApi.Models;
using Swashbuckle.AspNetCore.SwaggerGen;

var builder = WebApplication.CreateBuilder(args);
builder.Services.AddEndpointsApiExplorer();

for(int i = 0; i < 10; i++) {
    var x = i;
    builder.Services.AddSwaggerGen(c => {
        c.SwaggerDoc($"title-{x}", new OpenApiInfo { Title = $"SMARTR ({i})", Version = "1.0" });
        c.DocumentFilter<DocumentFilter>();
        c.OperationFilter<OperationFilter>();
    });
}

var app = builder.Build();
app.UseSwagger();
app.MapGet("/weatherforecast", () => 0).WithName("GetWeatherForecast").WithOpenApi();
app.Run();

public class DocumentFilter : IDocumentFilter {
    static int count;
    public DocumentFilter() {Thread.Sleep(20); Console.WriteLine("DocumentFilter " + count++);  }
    public void Apply(OpenApiDocument swaggerDoc, DocumentFilterContext context) { }
}
public class OperationFilter : IOperationFilter {
    static int count;
    public OperationFilter() { Thread.Sleep(20); Console.WriteLine("OperationFilter " + count++); }
    public void Apply(OpenApiOperation operation, OperationFilterContext context) { }
}

Notice the delay calling the "weatherforecast" endpoint and see the console for the constructor calls.

@martincostello I just added that test website, to help investigate, I plan on deleting it. I just needed something to put the example program.cs in from the issue.
This was mostly meant as a POC PR, to see if this would be the approach to solve it. I will now work on a proper solve

@DvdKhl In Swashbuckle 6.6.0 you can do the following:
using Microsoft.OpenApi.Models;
using Swashbuckle.AspNetCore.SwaggerGen;

var builder = WebApplication.CreateBuilder(args);
builder.Services.AddEndpointsApiExplorer();

var documentFilter = new DocumentFilter();
var operationFilter = new OperationFilter();

for(int i = 0; i < 10; i++) {
    var x = i;
    builder.Services.AddSwaggerGen(c => {
        c.SwaggerDoc($"title-{x}", new OpenApiInfo { Title = $"SMARTR ({i})", Version = "1.0" });
        c.AddDocumentFilterInstance(documentFilter );
        c.AddOperationFilterInstance(operationFilter );
    });
}

var app = builder.Build();
app.UseSwagger();
app.MapGet("/weatherforecast", () => 0).WithName("GetWeatherForecast").WithOpenApi();
app.Run();

public class DocumentFilter : IDocumentFilter {
    static int count;
    public DocumentFilter() {Thread.Sleep(20); Console.WriteLine("DocumentFilter " + count++);  }
    public void Apply(OpenApiDocument swaggerDoc, DocumentFilterContext context) { }
}
public class OperationFilter : IOperationFilter {
    static int count;
    public OperationFilter() { Thread.Sleep(20); Console.WriteLine("OperationFilter " + count++); }
    public void Apply(OpenApiOperation operation, OperationFilterContext context) { }
}

So, instead of using options.DocumentFilter<DocumentFilter>(); you should use options.AddDocumentFilterInstance(documentFilter); and passing in an existing instance.
This pattern has been added for all filters


An exception in break label

> cat t94.java
class t94 {
    public static void main(String[] args) {
        boolean t = true;
        first :
        {
            second :
            {
                third :
                {
                    System.out.println("Who is best?");
                    if (t)
                        break second;
                }
                System.out.println("BeanShell perhaps");
            }
            System.out.println("Nigel of course");
        }
    }
}

Process cat exited with code 0
As expected Java knows the truth
> javac t94.java
Process javac exited with code 0
> java t94
Who is best?
Nigel of course
Process java exited with code 0
BeanShell just can not bring itself to print it.
> java -classpath /opt/bsh-2.0b5.jar bsh.Interpreter
t94.java
Who is best?
Class: class t94 main method threw exception:'continue'
or 'break' in method body : at Line: 12 : in file: t94.java :
break second ;
Called from method: main : at Line: -1 : in file: <Called
from Java Code> : <Compiled Java Code>
Process java exited with code 0
Reported by: nigel_galloway
Original Ticket: "beanshell/bugs/239":https://sourceforge.net/p/beanshell/bugs/239

Confirmed still exists in 3.0.0-snapshot (a36bd52b5037ae9b442a077888a5e4874ac03ce0)

Changed to feature request, labels are not implemented yet

Tagging #379 as related

Something like this? =)
BeanShell 3.0.0-SNAPSHOT.3432
bsh % class t94 {
    public static void main(String[] args) {
        boolean t = true;
        first :
        {
            second :
            {
                third :
                {
                    System.out.println("Who is best?");
                    if (t)
                        break second;
                }
                System.out.println("BeanShell perhaps");
            }
            System.out.println("Nigel of course");
        }
    }
}
--> $0 = class t94 :Class
bsh % t94.main({""});
Who is best?
Nigel of course
--> void


⚠ Bofrost.at has degraded performance

In 6e4c68d, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 1203 ms

Resolved: Bofrost.at performance has improved in e45a80d.


Fix NPE in BIR symbol enter

Purpose
Fixes https://github.com/ballerina-platform/ballerina-lang/issues/34081
Remarks:
https://github.com/ballerina-platform/ballerina-lang/issues/34138
Check List

[x] Read the Contributing Guide
[ ] Updated Change Log
[ ] Checked Tooling Support (#)
[ ] Added necessary tests

[x] Unit Tests
[ ] Spec Conformance Tests
[ ] Integration Tests
[ ] Ballerina By Example Tests

[ ] Increased Test Coverage
[ ] Added necessary documentation

[ ] API documentation
[ ] Module documentation in Module.md files
[ ] Ballerina By Examples

Why would the referredType be null? 🤔  Ideally, it should never be null right? 🤔 Because we create type reference types for references of type defs and there's always a typedesc in a type def.

Why would the referredType be null? thinking Ideally, it should never be null right? thinking Because we create type reference types for references of type defs and there's always a typedesc in a type def.

This happens with something like
public type Foo object {
    Bar b;
};

public type Bar object {
    Baz b;
};

type Baz record {
    Foo|Bar c;
};

While resolving the type definition Foo, we try to resolve its fields which tries to resolve Bar and then goes back to Foo in Foo|Bar and tries to do the isNullable check. At this point since the referredType is null (since Foo is still being resolved), it results in an NPE. BarandBaz` aren't defined yet.
I think we need to revisit ordering/how the types are resolved to fix this properly. Created an issue (https://github.com/ballerina-platform/ballerina-lang/issues/34138) also.


Typo "cognitive search"→"Cognitive Search"

https://docs.microsoft.com/en-us/azure/search/cognitive-search-attach-cognitive-services
#PingMSFTDocs

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

Note that publishing in this repository is suspended until Tuesday, May 25. Merging will resume Tuesday. Authors can still review and sign off on PRs in the interim. Thanks.

#sign-off


Update/kiama lsp

Update kiama to support LSP notebooks

It would be great if one other person (maybe @dvdvgt or @phischu ?) could try out whether this breaks their vscode LSP integration.
It "should" just work ;)

check out this branch
sbt install
Restart vscode or extension host
see whether LSP still works (hover over stuff etc.)

I tested the following features:

[x] Go to definition
[x] Go to type definition
[x] Hover of definition for querying their (inferred) type
[x] Go to references
[x] Inlay run main button
[X] Show IR

All seems to be well and functions as expected.

Thanks @dvdvgt !


Allow specifying native gas token amount

Add nativeAmount argument to withdrawMulti. That will allow user to automatically swap specified amount of funds to the native gas token of the current network for further transactions.

The amount must be specified in standard minimal units of account for the current Pool token .
Check that specified amount is less than  withdrawal amount minus relayer fee

Add  nativeAmount argument  to  relayer's API invocation accordingly
[ ] relayer: corresponding extra field on transactions API, pass the field to contract

Additional info

Design draft https://www.figma.com/file/VgEAclPmc6tghBwaSfTWAn/zkBob-App?type=design&node-id=4695-97279&t=kbxnn26N0mCGEoXW-0

The contract https://github.com/zkBob/zkbob-contracts/blob/master/src/utils/UniswapV3Seller.sol

UI task: controls to specify native gas token amount, automatically get quote from Seller to show price and fee

Which logic should be applied inside transaction memo block? I have no questions on native_amount field in the memo block. But should we decrease delta_token value in that case?

may be we shouldn't change the memo? this has nothing to do with the protocol. AFAIK there are no plans to change history view. From the protocol standpoint it's the same ol' withdrawal but with extra automation


[E2E -- Robot] Robot integration.

1, Introduce Robot as the testing engine.
2, Deploy Harbor with Robot.
3, Integrate Selenium with Robot.
4, Test script implemention.

Done.


Feat: Improve the Booklist for Swapping page UI and add a Book Review Section

Describe the feature
GSSOC'24
The UI is not quite appealing and I aim to make it a bit attractive for that page.
Also, I suggest adding a book review section for the 1st time readers who are confused about which book to read. People can post their thoughts about a book there.
Add ScreenShots

Record

[X] I agree to follow this project's Code of Conduct
[X] I'm a GSSOC'24 contributor
[X] I want to work on this issue

Describe the feature
GSSOC'24
The UI is not quite appealing and I aim to make it a bit attractive for that page.
Also, I suggest adding a book review section for the 1st time readers who are confused about which book to read. People can post their thoughts about a book there.
Add ScreenShots

Record

[X] I agree to follow this project's Code of Conduct
[X] I'm a GSSOC'24 contributor
[X] I want to work on this issue

assigned! tag me when you create a PR!

Hi @huamanraj
I hope you're doing well.
I have a small query. Would you like me to make the book review section fully functional? Or just the UI will do as of now?
I have made a dummy section but it's not functional yet.

Hi @huamanraj
I hope you're doing well.
I have a small query. Would you like me to make the book review section fully functional? Or just the UI will do as of now?
I have made a dummy section but it's not functional yet.

hello @SampurnaDan09
UI will do for now! in future PR you can add complete functionality!

Ok thank you @huamanraj

Hi @huamanraj
I have created a PR.
You may have a look into it.

Hey @huamanraj
Did I do the PR correctly??
I guess maybe I have not done it the right way.
Could you please let me know if I have done it right or not?

Hi @huamanraj
Sorry to bother you again.
But could you please confirm whether I did the PR correctly or not?


Rename FreeBSD artifacts

The naming scheme used was different than the standard that ponyup uses
and thus, would cause problems when using ponyup to manage.

This will fail CI until it is rerun tomorrow as the FreeBSD ponyc nightly doesn't yet exist for the name freebsd-12.1
Additionally after the next ponyc release, we'll want to update to be using the release rather than the nightly.


Some enhancements for your consideration

Hey @dhess 👋
Thanks very much for this project! I've enhanced it a bit over at cmacrae/nixos-yubikey
For the moment I've treated it as a fork, as I've made some pretty opinionated changes:

Overhall the input model using Nix Flakes to provide a hermetic build system
By extension of this, I've also implemented an automated build pipeline to provide ISO images in releases

However, I'd like to contribute these changes upstream (sans "fork" changes), but figured I'd open this issue for discussion first in case these don't align with your views for the project.
If you do like the changes and you'd be interested in a PR, I'd like to request that I be added as a collaborator on the project for ease of further contributions/updating the flake.lock/image.

Oh, I've also included Dr Duh's guide as an input for the ISO that gets populated to $HOME/yubikey-guide.md.
I was thinking I might provide another build output that includes a graphical environment so the document can be viewed rendered whilst sorting out keys. This could be useful in the case that someone using the image might only have access to that one machine they're booting off.
Further to that, I missed the UK keymap image in my variation, so I need to add a separate output for that, too.

Hi,
After a quick look, I think most of the things in your fork are good changes. I've also recently converted most of my Nix projects to flakes, but hadn't gotten around to this one yet.
I'd be happy to add you as a collaborator and start reviewing PRs, with the following caveats:

We should break your large commit into smaller individual PRs. For example, convert the project to a flake first; then add the UK keymap output; then add the GitHub Actions. Order isn't particularly important to me, so long as each PR does just one thing.
We should maintain compatibility for non-flakes users by using flake-compat (https://github.com/edolstra/flake-compat)

I'm not sure what to do about the gpg-scripts. I wrote them for my particular use case, and I don't think they'd be particularly useful to others, unless they make USB keys and backups precisely as I do. The scripts are also a bit flaky, and I end up needing to work around their limitations more often than not. So I wonder if we should remove those from the main branch and then I'll just make a branch of my own where I can maintain them.
Thoughts?

Great, glad to hear you like the changes 👍
Yep, I think breaking down the changes individually for review is a good shout.
I like the flake-compat idea, too. I haven't tried using it yet, actually - so this is a good opportunity to learn.
Regarding the gpg-scripts, I'd certainly say you're more of an authority on their worth - I haven't tried using them.
Given your insights above, then yes, I'd say perhaps we should remove them :)
There are a few more quality-of-life changes I'd like to make (like customising the getty message) to make the environment feel more tailored and then I'll start splitting the changes up into branches for review.

OK, that sounds like a good plan. Feel free to make a PR to remove gpg-scripts as well. I can easily go back and re-add them in a branch later.


Expression UI improvement

An epic to group assisting user to write down conditional mapping expression in UI.

ref: https://github.com/atlasmap/atlasmap/issues/982


finish event not triggered when resizing in select mode

Hello @JamesLMilner , during my use, the polygon can trigger the finish event after editing is completed. Rectangle and circle not triggered
let draw = new TerraDraw({
   ...
})

 draw .on('finish', (e: string) => {
   //TODO
  });

After the drag and drop is completed, trigger the finish event

Good catch, should be an easy fix!

This should be available in 0.0.1-alpha.60


Update sbt-doctest to 0.10.0

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

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "com.github.tkawachi", artifactId = "sbt-doctest" } ]

labels: sbt-plugin-update, early-semver-major, semver-spec-minor, commit-count:1

Codecov Report

Merging #311 (4a21aa8) into master (8859ec4) will decrease coverage by 0.07%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master     #311      +/-   ##
==========================================
- Coverage   95.31%   95.23%   -0.08%
==========================================
  Files           6        5       -1
  Lines          64       63       -1
==========================================
- Hits           61       60       -1
  Misses          3        3

Impacted Files
Coverage Δ

...3+/main/scala/io.circe.config/compat/package.scala

Continue to review full report at Codecov.

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


Samsung QE75Q7FN: lost entity whe HA Reboot

I would like to report this problem:
When HA restarts and the TV is turned off, the entity is lost
If the TV is turned on and HA starts up again everything works.
The problem arose after updating to HA 108.
this is my confguration:

platform: samsungtv_tizen
name: Samsung TV Q75
host: samsungTV_ip
port: 8002
mac: samsungTV_MAC
api_key: "my_API_KEY"
device_id: "MY_DEVICE_ID"
source_list: '{"TV": "ST_TV", "1": "ST_HDMI1", "Decoder 1": "ST_HDMI3", "LG Blu-Ray": "ST_HDMI4"}'
update_method: "smartthings"

set app_list manually as explained in the readme

I've got  a similar problem with losing entity. If TV is turned off and Home Assistant will reboot then the entity is not found. If I will turn on TV and reboot HA then entity is once again found and working. Any idea how to fix it? Here is my configuration:
media_player:
  - platform: samsungtv_tizen
    host: IP
    port: 8002
    mac: "MAC_ADDRESS"

Problem resolved with HA 110 without any additional action


Updated browser.js to use test-fixture as js import in the npm case.

@polymer/test-fixture was incorrectly still loaded as html import-- converted to script include.
Updated wct-browser-legacy package.json to version 0.0.1-pre.7 (and published).
[x] CHANGELOG.md has been updated

Please note appveyor doesn't work for WCT yet so you can ignore those CI fails.
@FredKSchott PTAL


Use functions as parameters

Hello,
I wondered if it was possible to pass down functions as parameters?
I tried to tinker around param.state.ofType with no success.
Thank you so much for your help and your work!

It isn't possible to pass functions as parameters. I'm curious about your exact use case. Would you mind giving a few more details? I might be able to give a better answer with some more information.

Thank you for your quick reply.
I am migrating a project towards the stack that our team uses. It's an project that did not have the best coding practices but it's archived so I'm trying to not rewrite everything.
The way things were is that a menu would lead to a visualization tool on a different page. One of the parameters was a function that would take care of generating the data for the graphs. I assume the choice to pass down functions as parameters was because the whole logic would be different depending on the menu selected.
I could probably rewrite some parts of the code so that it runs before routing to the new page and use an object as the parameters. I just thought it would be quicker and easier to keep as much of the old project as I could.

Got it. Everything in the URL needs to be serializable so it can be persisted and functions aren't (easily) serializable. Do those pages which take functions as a parameter work after refreshing? If so, I imagine somehow that that information can be serialized. For instance, if there are a finite set of predetermined functions you can have a map between a set of strings and the actual function. Then the string key gets put into the url and you use that to look up the desired function.

The parameters were indeed not serialized. While definitely not a best case scenario, I feel like information does not have to be persistent, particularly when using state (instead of path or query)?
But I agree with you it would be cleaner to rework that code a bit to generate the data and pushing it to the router instead of pushing functions :)

For what it's worth state parameters are actually persisted and need to be serializable. They just don't appear in the users URL. They are stored in the browser history though.
Regardless, if needing the page to look the same after a refresh isn't a requirement you could have some separate global store where you could put the function you intend to use on the next page. Then you could navigate to the next page and retrieve the stored function. Again, not ideal but this could be a good work around for your situation. Just an idea :) Good luck figuring it out!

Indeed, there are definitely ways to make it work even if they're not ideal.
Thank you again for your time, I really appreciate it!


Build a container goblin

The minimum usable system goes through a goblin capable of handling container images.
I might want to start from raw dockers or something integrated, like spinnaker. TBD.

Let's start with something that can manipulate docker from the command line.
Docker Explorer [https://github.com/google/docker-explorer/tree/master/docker_explorer] has a pretty simple set of logic I can re-implement in Go to handle docker containers (as long as there is Kernel support, which is a fair assumption for a Goblin).


Add logic for quoting string metadata

In response to #17 as interim fix until non-backwards compatible changes for #12 are eventually made

If you merge this in I'll tag a release.


Detached entities throwing error

The entity is detached, so this line is throwing error :
https://github.com/tonysneed/trackable-entities/blob/develop/Source/TrackableEntities.EF.5/DbContextExtensions.cs#L174

All entities are detached when ApplyChanges is called.  Can you submit a pull request with a failing unit test?  (You'll be a Git pro in no time!) :smile:

Sure. I'll create a test case for that.

This is related to EF6, when setting state of detached entities throws exception because of various reasons. TE is not right place to handle these exceptions.
Thanks.


How can we enable this plugin to work in mobile ?!

Is it possible to work on mobiles ?!

Here I just answered this question (#4)