feat(types/codes): add 20035 code to DiscordJsonErrorCodes

Added code 20035, which can be obtained in the following ways:
* Creating a private thread in a server that has only public thread support.

* Using `auto_archive_duration: 4320`/`10080` for public threads (without `THREE_DAY_AUTO_ARCHIVE` nor `SEVEN_DAY_AUTO_ARCHIVE`).

Both cases happen when running them in a library testing server (which has THREADS_ENABLED) that doesn't meet the criteria for the THREADS_ENABLED_TESTING feature. I'm not aware of this being reproducible elsewhere until general release.

Credits to @ckohen for finding the error code and the routes in which they appear.

Reference: discord/discord-api-docs#3189

@itohatweb if you have any issue, feel free to revert.

At least wait for my review


Move all components into ./pkg/operation/botanist/component/

How to categorize this PR?

/area dev-productivity
/kind enhancement
/priority normal
What this PR does / why we need it:
This PRs moves all the component packages which were scattered across several directories into the ./pkg/operation/botanist/component directory. Earlier, we tried to come up with an "artificial" dir structure (controlplane, systemcomponents, seedsystemcomponents, etc., but this cannot be done consistently anyways because some components might be reused in multiple places (most prominent example is the resourcemanager component).
For easier navigation throughout the project it's easier to maintain them in one place.
Release note:

NONE

Sorry for the delay. Can you rebase?

/squash

Can you check make verify?

@ialidzhikov done


Map location does not always move with timeline location

This issue seems to be more problematic on Chrome than Firefox, but sometimes, when moving from a location on the timeline, the map location does not shift.
For example:
In
http://timemapper.okfnlabs.org/arielsegal/camden1
When moving from
2005
309-311 Mechanic St., Camden, NJ
to
2004
919 S. 9th St., Camden, NJ
the map location and label does not shift. I checked the coordinates in my Google Spreadsheet and they appear to be accurate.

Hm. It seems that the main problem with map labels and timeline labels not matching up happens on the first item on the timeline. The first and second items on the Harlem timeline are the same which masked the problem.  When going from http://timemapper.okfnlabs.org/arielsegal/sbronx1#1 June 1980 Vyse Ave. at East 178th St., South Bronx, NY to 1980
Prospect Ave. at E. 149th St., South Bronx, NY http://timemapper.okfnlabs.org/arielsegal/sbronx1#0 the location point/label does not move to the 0 point. Should I start the timeline at the #1 point instead? If so, how would I do that?  Thanks--narrowing it down.


LetsEncrypt is failing when using route53 dns validation

Do you want to request a feature or report a bug?
bug

Getting the error below when attempting to renew or issue new certificates using lets encrypt + route53 dns validation.

What did you do?

Output of traefik version: (What version of Traefik are you using?)

Version:      2.3.6
Codename:     picodon
Go version:   go1.15.6
Built:        2020-12-17T16:34:27Z
OS/Arch:      linux/amd64

What is your environment & configuration (arguments, toml, provider, platform, ...)?
[certificatesResolvers]
[certificatesResolvers.default]
[certificatesResolvers.default.acme]
email = "REDACTED"
storage = "/etc/traefik/acme/acme.json"
[certificatesResolvers.default.acme.dnsChallenge]
provider = "route53"
delayBeforeCheck = "3m"

If applicable, please paste the log output in DEBUG level (--log.level=DEBUG switch)
Error I'm getting both when renewing and requesting new:
legolog: [INFO] retry due to: acme: error: 400 :: POST :: https://acme-v02.api.letsencrypt.org/acme/authz-v3/REDACTED:: urn:ietf:params:acme:error:badNonce :: JWS has an invalid anti-replay nonce: "REDACTED", url:
legolog: [INFO] Deactivating auth: https://acme-v02.api.letsencrypt.org/acme/authz-v3/REDACTED
Unable to obtain ACME certificate for domains "REDACTED": unable to generate a certificate for the domains [REDACTED]: error: one or more domains had a problem:\n[REDACTED] time limit exceeded: last error: NS ns-1153.awsdns-16.org. returned REFUSED for _acme-challenge.REDACTED.\n" rule="Host(REDACTED)" providerName=default.acme routerName=server@docker

Hi! I'm Træfiker :robot: the bot in charge of communication regulation.
Thanks for your interest in Traefik!
We dedicate the issue tracker to bug reports and feature requests only. My advanced AI has spotted that your issue might be a configuration problem or relates to something that doesn't look like a bug.
To confirm this, please join our Community Forum and reach out to us on the Traefik section.
In case I'm wrong (well, that would be embarrassing :sweat_smile:), my developers will re-open the issue and fix me!
In the meantime, you can double check Traefik's documentation.


Configure project for json serializable

Right now, the documentation details the way to do this manually. Will revisit this in future if the need arises.


README: Document which streams are provided automatically via webrtc

At the moment the readme is not clear when a webrtc stream is provided automatically by a source.
E.g: A RTSP redirect will also be provided as a webrtc.

maybe in the key-features section, change it as in:
--- WebRTC-ready, for modern control stations
+++ WebRTC-ready, for modern control stations, available from any H264 source.

what do you think?

Perfect!


[Mac: Chrome] "Edit" controls always visible

Hi,
Chrome for Mac, appear to be the only browser to always render/show the "Edit" mode controls even if no styleguide server is running.

OSX 10.11.5 (15F34)
Chrome Version 50.0.2661.102 (64-bit)
Opera, Firefox and Safari render it correctly (no Edit controls).

@yumyo I am using Mac Chrome but still doesnt show

thanks for checking @nynban, however, I still see them. Could you check it here? Weird enough, browsershots.org shows no Edit controls. Wondering what could cause it in my environment.

@yumyo, i clicked on the link and no i dont see the edit mode

Thanks @nynban
So, it seems there's something wrong in my local environment. Still, can't guess what could cause it. Apart from extensions, there's no much left. Frustrating. I'm closing the issue by now.


Building from Source / WebAssembly sidebar links don't work

These anchors don't work as intended when the > Enabling WebAssembly section is collapsed, which it is by default.
I don't think these need to be linked to from the sidebar, so we can just remove the :toc: line here:
https://github.com/nginx/unit-docs/blob/dcd2d7bb3e9b74583a49b3633eae8063ebdecaef/source/howto/source.rst?plain=1#L147-L154

I agree! This should NOT be linked from the sidebar! Good catch!


Normalize (consolidate) tokens of the same kind

The way underlying text/scanner package works is it produces two different tokens for combined punctuation like <=, >=, !=, :=, ||, :: and so on. For example, != would be represented in the highlighted output as follows:
!=

This is suboptimal in terms of final HTML size, and also prevents font ligatures from being displayed properly (see e.g. Fira Code font).
This PR implements token normalization so that adjacent tokens of the same kind are merged together. The example above now looks like this:
!=

...and allows for proper ligature rendering.

I think this is a reasonable change to consider because it affects only the text/scanner-based Print and Annotate. But here are some thoughts for your consideration.
It's an improvement in terms of reducing final HTML size, but it reduces how much control the underlying scanner has over the output.
It makes sense to join the two separate tokens of <= or != into one, but maybe not so much for unrelated tokens that just happen to be right next to each other. For example, ().
Practically speaking, users of the text/scanner-based scanner are probably not going to be picky and the simplified HTML will benefit them. But, it would be a problem if someone's using the distinct objects and are highlighting each distinct character with a border, for example.
Since you mentioned ligatures and I suspect you're using the scanner for code, you could also consider using a more specialized scanner rather than the generic text/scanner.
I don't know if you need it for just one language, or many different ones. But if you need it for just Go, there's a package go/scanner in Go standard library that can produce much more precise results than the generic text/scanner. I've created highlight_go that uses that go/scanner for syntax highlighting Go code. It produces a single syntaxhighlight.Keyword token for things like <=, >=, !=, :=, ||, etc.

Thanks for your extensive explanation, Dmitri. I was just acting under impression that this package is used for pure visual highlighting (pretty-printing) of the code, and from that perspective two consequent chunks of the same style have exactly the same visual effect as one combined, so there's no need for two. Your point about borders is a good one, as in this case the rendering will differ, but then it looks like that this specific use case is only needed when one wants to visualize how text/scanner works itself, and not for pretty-printing of the code.
So it definitely depends on how this package is supposed to be used, and you know that better, for sure. I'm currently using it to highlight only Go code, but I like how it gives good results on other code as well, so I was hoping that a generic highlighting package would benefit from this normalization.
If you feel that the individual punctuation wrappers should stay for specific use cases, I can make this normalization optional (as I did with
 decoration) — this way one can choose the behavior they need. What should be the default is up to you.
The Go-specific highlighting package that you're mentioning also produces code like () which is extraneous for usual highlighting purposes, so if I use that, I'll still need to implement both normalization and
-wrapping on top of it. :)

I think it would be acceptable to make this always on for the text/scanner-based scanner. That is just my opinion, I don't make final decisions in this package.
But if you do that, it'll be tightly integrated with just this printer/annotator. An alternative for you to consider is to perform the same-consequent-token-unification as a higher level wrapper, so that it can be optionally applied on top of the printer here, or the one I have in highlight_go. I'm not sure if it'd work out in code, but it's an idea to consider.

Please correct me if I'm wrong, but the way this is currently implemented is already Printer- and Annotator- agnostic (at least this is how I interpret the package code). The consolidation is done in global Print and Annotate wrapper functions that accept different Scanner, Printer and Annotator interfaces, so it might be possible to extend the code to use different interface implementations and still have the consolidation working.

different Scanner, Printer and Annotator interfaces

Look at the signature of the Print func you're modifying:
func Print(s *scanner.Scanner, w io.Writer, p Printer) error

The *scanner.Scanner is the "text/scanner".Scanner struct. It's not an interface.
Similarly, Annotate doesn't even take a scanner argument, it just creates it itself:
func Annotate(src []byte, a Annotator) (annotate.Annotations, error) {
 	s := NewScanner(src)

That's why I had to create similar Print and Annotate funcs in highlight_go. But this may be a separate problem on its own.

You're right (and I agree that the ability to work with different scanners/printers interchangeably might then require a more high-level approach to the exposed API, including introducing some backward-incompatible changes). Maybe the package needs to define its own syntaxhighlight.Scanner interface which will satisfy the current implementation of text/scanner.Scanner, and use that.
Speaking of normalization as a second step, I don't think it's effective (at least I don't immediately see a good API for that). Normalization needs to be performed on top of the tokenizer stream (not the final printed output) and based on internal tokenKind() knowledge.
All in all, if the scope of the package is considered to be a simple text/scanner-based highlighter that only renders HTML or does annotations for code highlighting purposes only, then I guess my code fits the purpose, as it now produces the more compact set of code/annotations. Otherwise, I guess we need to define what that scope is, and with that this PR might simply become out-of-scope or not fitting the expected use cases.


Suffix always adds a -

I'm trying to achieve the following:
Layer-name: Lightbulb
Suffix: .scale-100
Output type: .png
I would expect, that the generated output would be Lightbulb.scale-100.png, however the actual result is Lightbulb**-**.scale-100.png. Is there a way to remove the extra - in the UI so it's excluded?

This is now possible!


venv installation requirements error

When installing rhasspy 2.5 in a python venv, I get this error message:

Successfully built rhasspy
ERROR: rhasspy-asr-deepspeech 0.1.2 has requirement rhasspy-nlu==0.1.9, but you'll have rhasspy-nlu 0.1.10 which is incompatible.
ERROR: rhasspy-asr-deepspeech-hermes 0.1.2 has requirement rhasspy-nlu==0.1.9, but you'll have rhasspy-nlu 0.1.10 which is incompatible.
ERROR: rhasspy-asr-kaldi 0.1.6 has requirement rhasspy-nlu==0.1.9, but you'll have rhasspy-nlu 0.1.10 which is incompatible.
ERROR: rhasspy-asr-kaldi-hermes 0.1.2 has requirement rhasspy-nlu==0.1.9, but you'll have rhasspy-nlu 0.1.10 which is incompatible.
ERROR: rhasspy-asr-pocketsphinx 0.1.7 has requirement rhasspy-nlu==0.1.9, but you'll have rhasspy-nlu 0.1.10 which is incompatible.
ERROR: rhasspy-fuzzywuzzy 0.1.2 has requirement rhasspy-nlu==0.1.9, but you'll have rhasspy-nlu 0.1.10 which is incompatible.
ERROR: rhasspy-fuzzywuzzy-hermes 0.1.1 has requirement rhasspy-nlu==0.1.9, but you'll have rhasspy-nlu 0.1.10 which is incompatible.
ERROR: rhasspy-nlu-hermes 0.1.4 has requirement rhasspy-nlu==0.1.9, but you'll have rhasspy-nlu 0.1.10 which is incompatible.
ERROR: rhasspy-rasa-nlu-hermes 0.1.1 has requirement rhasspy-nlu==0.1.9, but you'll have rhasspy-nlu 0.1.10 which is incompatible.
ERROR: rhasspy-remote-http-hermes 0.1.2 has requirement rhasspy-nlu==0.1.9, but you'll have rhasspy-nlu 0.1.10 which is incompatible.
ERROR: rhasspy-server-hermes 2.5.0 has requirement rhasspy-nlu==0.1.9, but you'll have rhasspy-nlu 0.1.10 which is incompatible.
ERROR: rhasspy-server-hermes 2.5.0 has requirement rhasspy-supervisor==0.1.4, but you'll have rhasspy-supervisor 0.1.5 which is incompatible.

The 0.1.10 version is required in requirements.txt:
grep rhasspy-nlu rhasspy-asr-kaldi/requirements.txt  rhasspy-nlu==0.1.10
while the 0.1.9 is required in pip:
pipdeptree -p rhasspy-asr-kaldi |grep rhasspy-nlu
  - rhasspy-nlu [required: ==0.1.9, installed: 0.1.9]

I suppose that the pip packages have to be updated.

So, is there any workaround for this?
pip install --upgrade pip before re-running make install-dependencies is not fixing it.
So rhasspy-nlu is is using the wrong dependencies - can we compile/fix that manually?

I'm modifying the venv instructions to use ./configure --enable-in-place so that the submodule source code will just be used directly instead of installing the packages with pip.
Keeping the package versions and pypi in sync has been a real hassle. Even the tiniest change requires a version bump in practically every package and a re-upload of everything to pypi.

Maybe because of this dependency hell, focusing purely on docker IS the right choice - not that I would like that, but I can see why it would make sense and make your life easier.

I may need to find someone who understands pip better than I do. I tried to switch away from "versions" to Git commits instead, which makes more sense to me. But it seems to randomly break with certain versions of pip.
I don't want to focus purely on Docker since the venv approach can be much lighter weight and more configurable. It's just so much harder to get it working across different hardware, distros, and distro versions.

What's the problem exactly with pip versions?

Closing due to inactivity. Please re-open if the problem persists.

Closing due to inactivity. Please re-open if the problem persists.


"CocCommand ruff.builtin.installServer" failed on windows10

Dear coc-ruff developer, coc-ruff are great. Thanks for your contribution.  While I tried to install ruff-lsp on windows10 using CocCommand, it failed. Here comes the error messages:
[coc.nvim] Installation of ruff-lsp failed. | Error: Command failed: D:\Program Files\Python38\python.EXE -m venv D:\Users\xxx\AppData\Local\coc\extensions\@yaegassy\coc-ruff-data\ruff-lsp\venv && D:\Users\xxx\AppData\Local\coc\extensions\@yaegassy\coc-ruff-data\ruff-lsp\venv\Scripts\python -m pip install -U pip ruff-lsp==0.0.27
'D:\Program' �����ڲ����ⲿ���Ҳ���ǿ����еĳ���

After I do the next three steps, everything goes fine. Hope It will benefit other junior windows users like me. And would you consider optimizing the install command?

create a virtulenv,
install ruff-lsp in exact virtualenv ,
assign the actual ruff path via CocConfig:
"ruff.path": ["D:/User/xxx/AppData/Local/coc/extensions/@yaegassy/coc-ruff-data/ruff-lsp/venv/Scripts/ruff"],

Hi. I tried using the PowerShell and Command Prompt in Windows 11, and it seems that the ruff.builtin.installServer command works fine in my environment.

Hi, my shell is PowerShell in Windows 10. Here comes some basic version info:
NVIM: v0.9.0
Coc: latest versoin
windows:  version 21H2 (OS build 19044.2846)
powershell:
Name                           Value

PSVersion                      5.1.19041.2673
PSEdition                      Desktop
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0...}
BuildVersion                   10.0.19041.2673
CLRVersion                     4.0.30319.42000
WSManStackVersion              3.0
PSRemotingProtocolVersion      2.3
SerializationVersion           <IP_ADDRESS>
Is there any other information I can offer to help you reproduce the problem? Thanks

Thank you for information.
You describe the error message in your first comment, but unfortunately some of it is garbled and I cannot see it on my computer. What error is this?
It will take some time to create a reproducible environment since I am basically not using Windows.
However, I think the problem is probably caused by the fact that the path to python contains spaces (Program Files).
Python in my environment was installed with the official installer and was ~\AppData\Local\Programs\Python\Python311\python.exe
I will try to find some time to consider preparing the reproduction environment.

I have made adjustments to ensure proper functionality even for Python command paths that include spaces. Please update @yaegassy/coc-ruff (v0.3.5) and test if the issue has been resolved.

It works fine, thanks for the quick fix.

Thanks for testing it, I will close this issue.


edited BUILD.md to reflect latest work of mapzen.js

closes #229
@kkowalsky feel free to edit this.

Looks good!


awscli install fails due to cpython error

$ python --version
Python 3.11.1

$  pip3 install ./dependencies/awscli-1.27.162-py3-none-any.whl --force-reinstall
Processing ./dependencies/awscli-1.27.162-py3-none-any.whl
Collecting botocore==1.29.162 (from awscli==1.27.162)
  Obtaining dependency information for botocore==1.29.162 from https://files.pythonhosted.org/packages/f5/b1/f171070c895f6ca3731da818a28a7f420dd2269a2e92893841a80c862d01/botocore-1.29.162-py3-none-any.whl.metadata
  Downloading botocore-1.29.162-py3-none-any.whl.metadata (5.9 kB)
Collecting docutils<0.17,>=0.10 (from awscli==1.27.162)
  Using cached docutils-0.16-py2.py3-none-any.whl (548 kB)
Collecting s3transfer<0.7.0,>=0.6.0 (from awscli==1.27.162)
  Using cached s3transfer-0.6.1-py3-none-any.whl (79 kB)
Collecting PyYAML<5.5,>=3.10 (from awscli==1.27.162)
  Using cached PyYAML-5.4.1.tar.gz (175 kB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... error
  error: subprocess-exited-with-error

  × Getting requirements to build wheel did not run successfully.
  │ exit code: 1
  ╰─> [68 lines of output]
      /private/var/folders/hw/qz34y_7n2tdb97zg6jmj03m00000gr/T/pip-build-env-ytda0uc3/overlay/lib/python3.11/site-packages/setuptools/config/setupcfg.py:293: _DeprecatedConfig: Deprecated config in `setup.cfg`
      !!

              ********************************************************************************
              The license_file parameter is deprecated, use license_files instead.

              By 2023-Oct-30, you need to update your project and remove deprecated calls
              or your builds will no longer be supported.

              See https://setuptools.pypa.io/en/latest/userguide/declarative_config.html for details.
              ********************************************************************************

      !!
        parsed = self.parsers.get(option_name, lambda x: x)(value)
      running egg_info
      writing lib3/PyYAML.egg-info/PKG-INFO
      writing dependency_links to lib3/PyYAML.egg-info/dependency_links.txt
      writing top-level names to lib3/PyYAML.egg-info/top_level.txt
      Traceback (most recent call last):
        File "/Users/dev/wrksp/amazon-bedrock-workshop/amazon-bedrock-workshop/.venv/lib/python3.11/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 353, in <module>
          main()
        File "/Users/dev/wrksp/amazon-bedrock-workshop/amazon-bedrock-workshop/.venv/lib/python3.11/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 335, in main
          json_out['return_val'] = hook(**hook_input['kwargs'])
                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "/Users/dev/wrksp/amazon-bedrock-workshop/amazon-bedrock-workshop/.venv/lib/python3.11/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 118, in get_requires_for_build_wheel
          return hook(config_settings)
                 ^^^^^^^^^^^^^^^^^^^^^
        File "/private/var/folders/hw/qz34y_7n2tdb97zg6jmj03m00000gr/T/pip-build-env-ytda0uc3/overlay/lib/python3.11/site-packages/setuptools/build_meta.py", line 341, in get_requires_for_build_wheel
          return self._get_build_requires(config_settings, requirements=['wheel'])
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "/private/var/folders/hw/qz34y_7n2tdb97zg6jmj03m00000gr/T/pip-build-env-ytda0uc3/overlay/lib/python3.11/site-packages/setuptools/build_meta.py", line 323, in _get_build_requires
          self.run_setup()
        File "/private/var/folders/hw/qz34y_7n2tdb97zg6jmj03m00000gr/T/pip-build-env-ytda0uc3/overlay/lib/python3.11/site-packages/setuptools/build_meta.py", line 338, in run_setup
          exec(code, locals())
        File "<string>", line 271, in <module>
        File "/private/var/folders/hw/qz34y_7n2tdb97zg6jmj03m00000gr/T/pip-build-env-ytda0uc3/overlay/lib/python3.11/site-packages/setuptools/__init__.py", line 107, in setup
          return distutils.core.setup(**attrs)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "/private/var/folders/hw/qz34y_7n2tdb97zg6jmj03m00000gr/T/pip-build-env-ytda0uc3/overlay/lib/python3.11/site-packages/setuptools/_distutils/core.py", line 185, in setup
          return run_commands(dist)
                 ^^^^^^^^^^^^^^^^^^
        File "/private/var/folders/hw/qz34y_7n2tdb97zg6jmj03m00000gr/T/pip-build-env-ytda0uc3/overlay/lib/python3.11/site-packages/setuptools/_distutils/core.py", line 201, in run_commands
          dist.run_commands()
        File "/private/var/folders/hw/qz34y_7n2tdb97zg6jmj03m00000gr/T/pip-build-env-ytda0uc3/overlay/lib/python3.11/site-packages/setuptools/_distutils/dist.py", line 969, in run_commands
          self.run_command(cmd)
        File "/private/var/folders/hw/qz34y_7n2tdb97zg6jmj03m00000gr/T/pip-build-env-ytda0uc3/overlay/lib/python3.11/site-packages/setuptools/dist.py", line 1234, in run_command
          super().run_command(command)
        File "/private/var/folders/hw/qz34y_7n2tdb97zg6jmj03m00000gr/T/pip-build-env-ytda0uc3/overlay/lib/python3.11/site-packages/setuptools/_distutils/dist.py", line 988, in run_command
          cmd_obj.run()
        File "/private/var/folders/hw/qz34y_7n2tdb97zg6jmj03m00000gr/T/pip-build-env-ytda0uc3/overlay/lib/python3.11/site-packages/setuptools/command/egg_info.py", line 314, in run
          self.find_sources()
        File "/private/var/folders/hw/qz34y_7n2tdb97zg6jmj03m00000gr/T/pip-build-env-ytda0uc3/overlay/lib/python3.11/site-packages/setuptools/command/egg_info.py", line 322, in find_sources
          mm.run()
        File "/private/var/folders/hw/qz34y_7n2tdb97zg6jmj03m00000gr/T/pip-build-env-ytda0uc3/overlay/lib/python3.11/site-packages/setuptools/command/egg_info.py", line 551, in run
          self.add_defaults()
        File "/private/var/folders/hw/qz34y_7n2tdb97zg6jmj03m00000gr/T/pip-build-env-ytda0uc3/overlay/lib/python3.11/site-packages/setuptools/command/egg_info.py", line 589, in add_defaults
          sdist.add_defaults(self)
        File "/private/var/folders/hw/qz34y_7n2tdb97zg6jmj03m00000gr/T/pip-build-env-ytda0uc3/overlay/lib/python3.11/site-packages/setuptools/command/sdist.py", line 104, in add_defaults
          super().add_defaults()
        File "/private/var/folders/hw/qz34y_7n2tdb97zg6jmj03m00000gr/T/pip-build-env-ytda0uc3/overlay/lib/python3.11/site-packages/setuptools/_distutils/command/sdist.py", line 251, in add_defaults
          self._add_defaults_ext()
        File "/private/var/folders/hw/qz34y_7n2tdb97zg6jmj03m00000gr/T/pip-build-env-ytda0uc3/overlay/lib/python3.11/site-packages/setuptools/_distutils/command/sdist.py", line 336, in _add_defaults_ext
          self.filelist.extend(build_ext.get_source_files())
                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "<string>", line 201, in get_source_files
        File "/private/var/folders/hw/qz34y_7n2tdb97zg6jmj03m00000gr/T/pip-build-env-ytda0uc3/overlay/lib/python3.11/site-packages/setuptools/_distutils/cmd.py", line 107, in __getattr__
          raise AttributeError(attr)
      AttributeError: cython_sources
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
error: subprocess-exited-with-error

× Getting requirements to build wheel did not run successfully.
│ exit code: 1
╰─> See above for output.

note: This error originates from a subprocess, and is likely not a problem with pip.

This is because of https://github.com/yaml/pyyaml/issues/601 and can be resolved with:
pip install wheel
pip install dependencies/awscli-1.27.162-py3-none-any.whl --no-build-isolation

A newer awscli might fix it as well.

Same error observed in SageMaker Studio Data Science 3.0 kernel (Python 3.10.6), blocking #12
In that environment, upgrading wheel (default is already 0.40.0, newest available is 0.41.0) does not solve the issue - maybe there's a downgrade that might? Either way it's a bit of a fundamental package that I prefer to avoid messing with when possible 🫤
As far as i can tell, nothing in the workshop actually uses the preview AWS CLI today: The only CLI commands I see are aws s3 cp ...
So another option (aside from waiting for new CLI) could be to just remove the custom awscli install from the workshop notebooks altogether? Pros: Python 3.10+ environments including DataSci3.0 should work; Cons: If anybody did want to explore/demonstrate the Bedrock CLI (or expand the workshop examples to show it in action), they couldn't.


Update iterate-through-an-array-with-a-for-loop

Checklist:

[x] I have read freeCodeCamp's contribution guidelines.
[x] My pull request has a descriptive title (not a vague title like Update index.md)
[x] My pull request targets the main branch of freeCodeCamp.
[x] All the files I changed are in the same world language, for example: only English changes, or only Chinese changes, etc.

Closes #41741

Typo error stating 'when i becomes equal to arr.length ' has been changed to 'when i becomes equal to arr.length-1 '.

Is it worth adding a sentence that says something like

Then i is increased to 5 and  i === arr.length, so the loop terminates before repeating the loop body again.

Is it worth adding a sentence that says something like

Then i is increased to 5 and  i === arr.length, so the loop terminates before repeating the loop body again.

It would be like repeating what already had been stated.

Not exactly. What happens last time the loop body is executed is explained currently. Exactly how termination of the loop is triggered is not explained.

Ok, then the statement can be

Then i increased to 5 and as i === arr.length , loop gets terminated.

I like the brevity. 'as' might be a bit awkward for some non native speakers?

Then i increases to 5, and the loop terminates because i < arr.length is false.

I might have reintroduced the wordiness problem with that version though.


[SPARK-18406][CORE][Backport-2.1] Race between end-of-task and completion iterator read lock release

This is a backport PR of  #18076 to 2.1.
What changes were proposed in this pull request?
When a TaskContext is not propagated properly to all child threads for the task, just like the reported cases in this issue, we fail to get to TID from TaskContext and that causes unable to release the lock and assertion failures. To resolve this, we have to explicitly pass the TID value to the unlock method.
How was this patch tested?
Add new failing regression test case in RDDSuite.

cc @gatorsmile

Test build #77311 has started for PR 18099 at commit aa59b1b.

Test build #77311 has finished for PR 18099 at commit aa59b1b.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

thanks, merging to 2.1!

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/77311/
Test PASSed.

Merged build finished. Test PASSed.

the following occur to me when I run lab with ALS in spark
8/08/22 21:24:14 ERROR Utils: Uncaught exception in thread stdout writer for python
java.lang.AssertionError: assertion failed: Block rdd_7_0 is not locked for reading
at scala.Predef$.assert(Predef.scala:170)
at org.apache.spark.storage.BlockInfoManager.unlock(BlockInfoManager.scala:299)
at org.apache.spark.storage.BlockManager.releaseLock(BlockManager.scala:769)
at org.apache.spark.storage.BlockManager$$anonfun$1.apply$mcV$sp(BlockManager.scala:540)
at org.apache.spark.util.CompletionIterator$$anon$1.completion(CompletionIterator.scala:44)
at org.apache.spark.util.CompletionIterator.hasNext(CompletionIterator.scala:33)
at org.apache.spark.InterruptibleIterator.hasNext(InterruptibleIterator.scala:37)
at scala.collection.Iterator$class.foreach(Iterator.scala:893)
at org.apache.spark.InterruptibleIterator.foreach(InterruptibleIterator.scala:28)
at org.apache.spark.api.python.PythonRDD$.writeIteratorToStream(PythonRDD.scala:213)
at org.apache.spark.api.python.PythonRunner$$anon$2.writeIteratorToStream(PythonRunner.scala:407)
at org.apache.spark.api.python.BasePythonRunner$WriterThread$$anonfun$run$1.apply(PythonRunner.scala:215)
at org.apache.spark.util.Utils$.logUncaughtExceptions(Utils.scala:1991)
at org.apache.spark.api.python.BasePythonRunner$WriterThread.run(PythonRunner.scala:170)
Exception in thread "stdout writer for python" java.lang.AssertionError: assertion failed: Block rdd_7_0 is not locked for reading
at scala.Predef$.assert(Predef.scala:170)
at org.apache.spark.storage.BlockInfoManager.unlock(BlockInfoManager.scala:299)
at org.apache.spark.storage.BlockManager.releaseLock(BlockManager.scala:769)
at org.apache.spark.storage.BlockManager$$anonfun$1.apply$mcV$sp(BlockManager.scala:540)
at org.apache.spark.util.CompletionIterator$$anon$1.completion(CompletionIterator.scala:44)
at org.apache.spark.util.CompletionIterator.hasNext(CompletionIterator.scala:33)
at org.apache.spark.InterruptibleIterator.hasNext(InterruptibleIterator.scala:37)
at scala.collection.Iterator$class.foreach(Iterator.scala:893)
at org.apache.spark.InterruptibleIterator.foreach(InterruptibleIterator.scala:28)
at org.apache.spark.api.python.PythonRDD$.writeIteratorToStream(PythonRDD.scala:213)
at org.apache.spark.api.python.PythonRunner$$anon$2.writeIteratorToStream(PythonRunner.scala:407)
at org.apache.spark.api.python.BasePythonRunner$WriterThread$$anonfun$run$1.apply(PythonRunner.scala:215)
at org.apache.spark.util.Utils$.logUncaughtExceptions(Utils.scala:1991)
at org.apache.spark.api.python.BasePythonRunner$WriterThread.run(PythonRunner.scala:170)

same issue in spark 2.2.1


Kubernetes namespace is undeletable after 3rd party resources are created

Due to upstream bug https://github.com/kubernetes/kubernetes/issues/37278.
Logs:
E1217 00:05:43.750418    2919 errors.go:63] apiserver received an error that is not an unversioned.Status: no kind "DeleteOptions" is registered for version "istio.io/v1"
E1217 00:05:43.750723    2919 namespace_controller.go:176] no kind "DeleteOptions" is registered for version "istio.io/v1"

@kyessenov I see they have closed that issue and if I read it right, the suggested workaround is to delete all the resources before deleting the namespace.  Though apparently this solution is "not a silver bullet . . . use at your own discretion"

My understanding is that TPRs are shared across namespaces. So we cannot delete TPRs per namespace. The only workaround is to go under kube API and manipulate them directly in etcd.

Quick clarification - I mean TPR declarations, not TPRs themselves.

@zcahana @elevran: I think one or both of you have some experience working with third party resources in Kubernetes.  Any thoughts on this issue?

This seems to be fixed in 1.5.2.
$ kubectl create namespace mynamespace
namespace "mynamespace" created

$ kubectl create -f resource.yaml
thirdpartyresource "cron-tab.stable.example.com" created

$ kubectl delete namespace mynamespace
namespace "mynamespace" deleted

$ kubectl get namespace
NAME          STATUS        AGE
default       Active        3m
kube-system   Active        3m
mynamespace   Terminating   31s           # <=== 1.5.1 gets stuck here

[15:26:00] jasonyoung@ayj0:~
$ kubectl get namespace
NAME          STATUS    AGE
default       Active    3m
kube-system   Active    3m

Thanks for the heads up!


Set up production environment

[ ] Set up prod environment in Radix

[ ] Set up new dataset in Sanity for production

Figure out how to use the studio for multiple environments. Same studio or new studio?

Doing some initial tests with spaces.
With spaces the publishers and other can select the dataset they want to edit by using a dropdown from the top menu inside the studio.

I added two dummy datasets just for testing the functionality inside the studio. The first is a copy from the original dataset we've been using so far but without the history test with no history (development). The second is an empty  dataset called global production.
We need to discuss the naming patterns for global datasets vs satellite pages.
We also need to look into exactly how this should work when previewing, on radix and the workflow in general.
Sanity is working on figuring out why copy with history doesn't work for our production dataset.

Need to catch up with the global satellite pages and an overall strategy for the workflow. Putting this on hold.

Covered by satellites pages


Improve CI workflow

Update checkout action to v3. Node.js 12 actions are deprecated
Test against Ruby 3.2
Test against Ruby and Rails head to detect breaking changes and deprecation
in advantage. Mark runs as experimental, so they are allowed to fail

@adzap thanks for the release
There is a suggestion on the CI workflow, but if you prefer I can split the experimental checks and schedule them weekly or something like that

Updated with latest RubyGems and Ruby 3.2

Updated to test against Rails 7.1 stable
/cc @adzap

Test against Ruby 3.3 stable

Need to bisect rails-edge

Reson for closing:
I've eventually moved to the built-in comparison validator
Relevant changes:
https://github.com/diowa/icare/commit/dd4a4677ab8b0f9aaf8fdcc2e3a05877480efb8d#diff-8f06df7d19040b42d0ab94249895f10fac375834ce5a6f4e55b93570b9dd7d8fL26-R27

That said, I don't see the reason for the EOD of this gem.

It is unmaintained, and the built-in rails validator is ok for most of the use cases
PS: didn't understand the use case, did you check allow_nil ?


fix: use deep equal in contains

Use deep equal in contains.
cc @springcomp

@eddycharly 👍
Ideally, there should be a test that show why this is needed ?

@springcomp i added a unit test


ASUSWRT Component: The command was not found or was not executable: ssh.

Make sure you are running the latest version of Home Assistant before reporting an issue.
You should only file an issue if you found a bug. Feature and enhancement requests should go in the Feature Requests section of our community forum:
Home Assistant release (hass --version):
0.65.6
Python release (python3 --version):
3.6.3
Component/platform:
ASUSWRT
Description of problem:
Error setting up platform asuswrt
Traceback (most recent call last):
File "/srv/homeassistant/homeassistant_venv/lib/python3.6/site-packages/homeassistant/components/device_tracker/init.py", line 181, in async_setup_platform
platform.get_scanner, hass, {DOMAIN: p_config})
File "/usr/lib/python3.6/asyncio/futures.py", line 332, in iter
yield self  # This tells Task to wait for completion.
File "/usr/lib/python3.6/asyncio/tasks.py", line 250, in _wakeup
future.result()
File "/usr/lib/python3.6/asyncio/futures.py", line 245, in result
raise self._exception
File "/usr/lib/python3.6/concurrent/futures/thread.py", line 56, in run
result = self.fn(*self.args, **self.kwargs)
File "/srv/homeassistant/homeassistant_venv/lib/python3.6/site-packages/homeassistant/components/device_tracker/asuswrt.py", line 82, in get_scanner
scanner = AsusWrtDeviceScanner(config[DOMAIN])
File "/srv/homeassistant/homeassistant_venv/lib/python3.6/site-packages/homeassistant/components/device_tracker/asuswrt.py", line 130, in init
data = self.get_asuswrt_data()
File "/srv/homeassistant/homeassistant_venv/lib/python3.6/site-packages/homeassistant/components/device_tracker/asuswrt.py", line 167, in get_asuswrt_data
devices.update(self._get_wl())
File "/srv/homeassistant/homeassistant_venv/lib/python3.6/site-packages/homeassistant/components/device_tracker/asuswrt.py", line 180, in _get_wl
lines = self.connection.run_command(_WL_CMD)
File "/srv/homeassistant/homeassistant_venv/lib/python3.6/site-packages/homeassistant/components/device_tracker/asuswrt.py", line 280, in run_command
self.connect()
File "/srv/homeassistant/homeassistant_venv/lib/python3.6/site-packages/homeassistant/components/device_tracker/asuswrt.py", line 308, in connect
password=self._password, port=self._port)
File "/srv/homeassistant/homeassistant_venv/lib/python3.6/site-packages/pexpect/pxssh.py", line 279, in login
spawn._spawn(self, cmd)
File "/srv/homeassistant/homeassistant_venv/lib/python3.6/site-packages/pexpect/pty_spawn.py", line 267, in _spawn
'executable: %s.' % self.command)
pexpect.exceptions.ExceptionPexpect: The command was not found or was not executable: ssh.
Expected:
Problem-relevant configuration.yaml entries and steps to reproduce:

device_tracker:
  - platform: asuswrt
    host: <IP_ADDRESS>
    username: !secret asuswrt_username
    password: !secret asuswrt_password
    mode: ap
    protocol: ssh
    port: 23
    track_new_devices: yes
    interval_seconds: 20
    consider_home: 40

**Traceback (if applicable):**
```bash

Additional info:
(homeassistant_venv) homeassistant@ubuntu:/srv/homeassistant/homeassistant_venv/bin$ which ssh
/usr/bin/ssh
(homeassistant_venv) homeassistant@ubuntu:/srv/homeassistant/homeassistant_venv/bin$ ssh -V
OpenSSH_7.5p1 Ubuntu-10ubuntu0.1, OpenSSL 1.0.2g  1 Mar 2016

Are you sure you need to use port 23? The default is 22.

 I later found this problem, but I have already found the real problem.

Ok,just doing!

My solution:
Edit /srv/homeassistant/homeassistant_venv/lib/python3.6/site-packages/pexpect/pty_spawn.py
About 264 lines:
command_with_path = which(self.command)
Change to:
if self.command == 'ssh':
command_with_path = '/usr/bin/ssh'
else:
command_with_path = which(self.command)
It is not the best solution, but it work.
I don't know why which('ssh') return the value of none when it run in the HASS.
If I run which('ssh') in python console,it will return the correct value: /usr/bin/ssh.


Slider not working after latest refactoring

I believe sliders are not working because Image constructor changed to using (parent, options). Where options.texture holds the texture, instead of (parent, texture, options).

Fixed!:smile:


_.take(n)  will take all items if n is passed as string

Using highland@2, given this example:
"use strict";
const Highland = require("highland");
let stream = Highland([1, 2, 3, 5, 6, 7, 8, 9, 10]);
let take3 = stream.take(3);
take3.toArray((threeItems) => {
    console.log('will be three', threeItems);
});
stream = Highland([1, 2, 3, 5, 6, 7, 8, 9, 10]);
take3 = stream.fork().take('3');
take3.toArray((threeItems) => {
    console.log('will be all', threeItems);
});

the output will be:
will be three [ 1, 2, 3 ]
will be all [ 1, 2, 3, 5, 6, 7, 8, 9, 10 ]

As a developer using highland, I expect highland to throw an error if a false input parameter is provided. I might also expect it to infer the proper value from the faulty input (and at best issue a warning nontheless.)
I absolutely do not expect highland to just "ignore" the command and return all the items from the stream.
This may apply also to other function and the bug report may be generalized as:
Each highland function should validate its input throw errors if a false type is given, it may graciously try to infer the proper type, yet if that fails,  and error should be thrown.
(I stumbled across this error from passing in an integer as a command line argument ./node my-script --limit 10 via commander, and I assumed the entire time I was injecting an integer. I even typehinted for an integer within my typescript codebase, yet as the typecheck only happens on compile time, I had a hard time figuring out the source of this issue until I started a remote debugger session.)

I agree that this behavior is needlessly confusing, and if I had to do it again, I would have asked for fail-fast errors. I also agree on consistent type checking across all operators. Currently, some of them do, and some of them don't, which is a problem.
Unfortunately, for take specifically, this behavior is currently documented, so I don't think I can change it without forcing a major version bump, which I don't want to do right now, since we have a more substantial 3.0 in progress. I am happy to add this behavior to the current master, but you won't see it on the 2.x releases.


Some improvements

Current coverage is 75.44%

Merging #40 into develop will increase coverage by +20.97% as of 84824c9

@@            develop     #40   diff @@
=======================================
  Files            10       9     -1
  Stmts           536     668   +132
  Branches          0       0
  Methods
=======================================
+ Hit             292     504   +212
  Partial           0       0
+ Missed          244     164    -80

Review entire Coverage Diff as of 84824c9

Powered by Codecov. Updated on successful CI builds.


sor: sensible quote and the like

A few quotes are added back to remove the possibility of the shell even wasting time on trying to word-split
read -r for no mangling of backslashes
double-bracketed [[ ]] test for quote-free fun
change echo to printf '%s\n' for robustness against strange names starting with a dash
%q quoting for eval to guard against trivial injections

CLA signed, how do I make it recheck?


TDX verifier: revert ccel change

This change was applied because the given tdvf does not support CCEL. Now newest tdvf is brought and
CCEL is supported, thus we do not need this workground.

cc @jialez0


[MNG-7705] Socket based SyncContext for multi-process/single-host locking

The failure (reliance on JDK 16 at build time) is the reason why I stopped working on this issue.  I wonder if it would be preferable to move this in a separate maven extension that could be consumed by maven or mvnd. The original code in mvnd also included a native build of the server that could be used if available instead of starting a JVM.  An alternative would be to simply get it back in mvnd but that does not seem the right location.

I already planned to move build time java requirement to 11 for HTTP/2 transports, and leaving almost all modules at release=8 except for two HTTP/2 transport that would be release=11. Am fine to move build time req even to 17 and keep it on latest LTS... @michael-o ?

I already planned to move build time java requirement to 11 for HTTP/2 transports, and leaving almost all modules at release=8 except for two HTTP/2 transport that would be release=11. Am fine to move build time req even to 17 and keep it on latest LTS... @michael-o ?

It's purely build time because it's generating a multi-release jar, so runtime min requirement isn't changed.

I already planned to move build time java requirement to 11 for HTTP/2 transports, and leaving almost all modules at release=8 except for two HTTP/2 transport that would be release=11. Am fine to move build time req even to 17 and keep it on latest LTS... @michael-o ?

It's purely build time because it's generating a multi-release jar, so runtime min requirement isn't changed.

Why not use https://github.com/kohlschutter/junixsocket for everything below 17?
I wouldn't use 16 at all, it is dead and according to nio-dev there were still bugs in the UDS implementation.

I already planned to move build time java requirement to 11 for HTTP/2 transports, and leaving almost all modules at release=8 except for two HTTP/2 transport that would be release=11. Am fine to move build time req even to 17 and keep it on latest LTS... @michael-o ?

It's purely build time because it's generating a multi-release jar, so runtime min requirement isn't changed.

Why not use https://github.com/kohlschutter/junixsocket for everything below 17? I wouldn't use 16 at all, it is dead and according to nio-dev there were still bugs in the UDS implementation.

this one is very light https://github.com/jnr/jnr-unixsocket and works fine (used by Jetty project https://github.com/eclipse/jetty.project/tree/jetty-10.0.x/jetty-unixsocket).
Looking really quickly at the code, you could simplify really the code by using Jetty UnixSocketConnector easy example here: https://github.com/eclipse/jetty.project/blob/jetty-10.0.x/jetty-unixsocket/jetty-unixsocket-server/src/test/java/org/eclipse/jetty/unixsocket/UnixSocketServer.java

Superseded by https://github.com/apache/maven-resolver/pull/433


Old potion effects

Hello,
Will you add something to get the old strength potion system ? Currently, we can't really offer our players a combat experience like the one we had pre-1.9, since the strength potions (a key component in PvP) are now worthless compared to what they were before !
Thanks.

I just went through the 1.9 changeling and found several things that changed I hadn't noticed. Quite a few potions changed, so I'll be adding that to the to do list along with other unnoticed changes to combat.

Bumping this, do you think you will soon be able to do what we suggested in this topic ? (I'm co-founder of Blamo27' server, we're still waiting for this enhancement to be done x) )

I currently do not have time to implement this, but if you really want this done you could help by doing the research and finding exactly what potions changed and how.

Okay.
DIFFERENCES IN POTIONS FROM 1.8 TO LATEST VERSIONS
NORMAL POTIONS
-/DURATION-
Regeneration 1 extended now lasts 1:30m instead of 2m in previous versions of the game.
Poison 1 extended now lasts 1:30m instead of 2m in previous versions of the game.
-/EFFECT-
Strength I now adds +3 attack damage instead of +130%.
Strength II now adds +6 attack damage instead of +260%.
SPLASH POTIONS
-/DURATION-
Every splash potion that previously lasted 0:33 seconds now last 0:45 seconds (poison and regeneration).
Every splash potion that previously lasted 2m15s now last 3 minutes (speed, fire res, night vision, strength, jump boost, water breathing, invisibility).
Every splash potion that previously lasted 1m07s now last 1m30s (weakness and slowness).
Every extended splash potion that previously lasted 6 minutes now last 8 minutes (speed, fire res, night vision, strength, jump boost, water breathing, invisibility).
Every extended splash potion that previously lasted 3 minutes now last 4 minutes (weakness and slowness).
Every splash potion II that previously lasted 0:16 seconds now last 0:22 seconds (poison and regeneration).
Every splash potion II that previously lasted 1m07s now last 1m30s (speed, strength, jump boost).
-/EFFECT-
Strength I now adds +3 attack damage instead of +130%.
Strength II now adds +6 attack damage instead of +260%.
Also they added lingering potions but since this is a new feature you don't have to touch the values of those.
Please note that, as far as we are concerned, we ONLY CARE ABOUT THE STRENGTH POTION. All other changes are not absolutely crucial, but this one is. The change made with the strengh potion is is a key difference, because previously, the fact that it was a percentage means that the higher the damages of your sword, the higher the additionnal damages given by the potion. Now it's always 3 or 6 additionnal damages. This completely changes the damages dealt in end-game fights (with protection IV armors etc, where the strength potion is a must-have). In fact, because of this change, the fights in the latest versions of the game are entirely different that what they were in previous versions, because players deal far, far less damages without the old percentages given by the strength potions. This makes the very purpose of OldCombatMechanics -to recreate the way players used to fight in previous versions- an unachieved goal.
So, if you don't have time to work on all the changes made on these potions, we would greatly appreciate if you could focus specifically on the strength potion, in order to release an update which would allow us to recreate the way the old strength potion worked.
Thank you for your time.

Alright, thank you for doing the research.
I'll make the strength potion the priority, will implement it as soon as I have time.

Just found this which used to do a similar feature
https://github.com/MinelinkNetwork/LegacyStrength

Ok, I'm having a look at this. It starts getting complicated as critical hits (150% damage) are applied after potion effects but before enchantments.

@gvlfm78 So, any progress...?

Well, I had started working on this and produced some code but I found this feature to be a lot more complicated than I thought it would be. Currently, I am entering exam season, so I definitely won't have time to work on it. However, as soon as those are over this will be one of the main priorities for this plugin, along with long-needed bug-fixes.

Okay, please don't forget to let us know when you'll have this fixed, good luck for your finals !

@gvlfm78 ping ? 😢

Ah sorry man I forgot about this. Pleased ping me again in three days and I'll try to work on it

If you forget, I'll make sure to remind him ;p

I can't forget that haha 😆

@gvlfm78 Ping ! 🏓

@gvlfm78 timeout 1 200 000 ms ⚠

I'll try to have a look at this tomorrow.

@gvlfm78 Okey

@gvlfm78 some news about the fix ?

@blamo27 alright so I have been working on this and have most of the code ready, however you need to wait about a week until I get back and I can finish it off

@gvlfm78 Some news ?

@gvlfm78 Thanks, I'll test this build after work

Well in the meantime @Blamo27 I have completed this module adding configurable strength and weakness potion effects. In order to do so and retain compatibility with the old tool damage module I had to rewrite both to use a custom event system, also to avoid performing the calculations twice. You can try this new build here.

@gvlfm78 Jenkins down ?

@Blamo27 Seems to be working fine for me..

@gvlfm78 Yep it was down for few hours, it's working fine now
I downloaded the latest build but still not tested
I will test this soon, thank you 👍

@gvlfm78 @Rayzr522 Testing done : for now, we found two main issues.
1- With the "old effects for potions" module enabled, drinking potions no longer gives the empty bottle it should give.
2- Drinking from a stack of potions drinks the whole stack. This is mainly a problem for the use of Mobarena, with several classes giving players stacks of potions.
We had to disable the module for now because of these bugs, so we don't know yet if there's more. We'll be sure to let you know if we find anything else.

@Ferocimo are players normally given empty bottles when they drink a potion from the stack during Mobarena?

@Ferocimo @Blamo27 Those issues should now be fixed in test build 58, together with issue #220 and #225 . Please try the new build.

Okay these two issues are fixed, thanks, we'll do some more testing later to see if everything works fine.

@Ferocimo So do you mean the effect disappears before the countdown reaches 0?

@gvlfm78 No the countdown starts at 1 minute 8 seconds, even though it's written "(1:30)" in potion lore.

@Ferocimo But that's how it's supposed to work, if you go back to your original comment above it says:
Every splash potion II that previously lasted 1m07s now last 1m30s (speed, strength, jump boost).
So the potion in 1.9 should last 1:30 seconds, but instead I made it last 1m8s as it was in 1.8.

@gvlfm78 Yes, every SPLASH potion ! :p
I'm talking about drinkable potions : those lasted, have always lasted, and therefore should still last, 1:30 minute.

@Ferocimo What potion in particular did you drink?

@gvlfm78 Strength potion II. Should lasts 1:30.

It is also the case with Jump boost II and Speed II (1:30), they only last 1:07 instad of 1:30.
Moreover, here are the duration issues I spotted so far, besides the ones detailed previously :
Slowness I (4:00) lasts only 3:00 when drinkable,
Slowness I (1:30) lasts only 1:07 when drinkable, when prior to 1.9 it lasted 2:00,
Poison II (0:21) lasts only 0:17 when drinkable,
Water Breathing (8:00) lasts only 6:00 when drinkable,
Regeneration I (1:30) lasts only 1:30 when drinkable, when prior to 1.9 it lasted 2:00,
Poison I (1:30) lasts only 1:30 when drinkable, when prior to 1.9 it lasted 2:00.
I only tested drinkable potion so far, we'll see for the rest later.

@Ferocimo Well, it seems I forgot to add in a check for drinkable potions so it was always applying the splash potion times... Please try this test build and see if the times are now correct

@gvlfm78 It doesn't seem to have changed anything I'm affraid... Isues mentionned in my previous post are still there.

(note : when performing /version oldCombatMechanics, it just show that we have 1.7.0, is it the correct one ?)

@gvlfm78 Any news ?

Can you try this build? @Blamo27
OCM.zip
It is a dramatic change:
@@ -61,7 +61,7 @@ public class ModuleOldPotionEffects extends Module {
         if(isExcludedPotion(potionType)) return;
         event.setCancelled(true);

-        int duration = getPotionDuration(potionData, true);
+        int duration = getPotionDuration(potionData, false);

         PotionEffectType pet = potionType.getEffectType();

@I-Al-Istannen Can you do a commit please ?
To auto build / compile the jar ?

I do not have write access to the repository, so I can't. You'd either have to wait for @gvlfm78 or @Rayzr522 to make that change themselves (or merge a PR if I make one) or you trust me.
Or you build it yourself from my fork here. You can see the diff to the current master in this repo if you click compare:

I can not influence that diff, it is from github themselves. You can build it by cloning/downloading it and running mvn package when inside the directory.

@I-Al-Istannen if you make a PR I'll merge it immediately, unfortunately I can't edit the code right now

@gvlfm78 Done

From what I've seen so far it seems to work well. Will update if not. Thank you.

Ok so, duration seems to be okay but strength effect is far, far too high. You can 3 shots a player with Protection 4 diamond armor.
I don't quite understand how your module works though, regarding strength effect : how to use it to recreate pre 1.9 effect ?
Module says :
EFFECTS
If 'multiplier' is true value is multiplied by base tool damage, otherwise added
Strength potion
1.9: I = +3; II = +6;    1.8: I = +130%; II = +260%
strength:
modifier: 2.3
multiplier: true
Weakness potion
1.9 value: -4   1.8 value: -0.5
weakness:
modifier: -4.0
multiplier: false

@Ferocimo It's already set to recreate a pre-1.9 effect, as I was instructed in the information comment you posted a while ago. You said in 1.8 a strength I potion's effect was +130% of the damage, which means multiplying the damage by 2.3. Unless you meant 130% of the original damage, which would be +30% and thus a damage multiplier of 1.3.

@gvlfm78
It was indeed written +130%, like this :
https://www.google.com/search?q=minecraft+potion+of+strength&source=lnms&tbm=isch&sa=X&ved=0ahUKEwj27_W1mPLdAhWygM4BHfXoApsQ_AUIDigB&biw=1760&bih=827#imgrc=kShk4qZWRgQUmM:
So, from a logical point of view you are right, it is a multiplier of 2.3. However, practically speaking, your multiplier seems far too high. Maybe it wasn't really "+130%" like the game said, but +30% ?
I did several tests and found that, to my feeling and the feeling of several "1.8 pvp" players, the closest experience ressembling pre 1.9 strength potions you get is with a multiplier of 0.6. Don't ask me why...

Maybe because strength increments the generic.attackDamage by 1.3 * currentValue (so + 130%) and then armor, protection and everything is factored in after that?
I haven't looked to in-depth at where you apply those modifications, but I hope you also so it after adding strength modifiers.
Did not look like that from a swift look, but I could have very easily missed something.
@gvlfm78

The module acts on EntityDamageEvent's getDamage(), which is the 'raw damage', as opposed to getFinalDamage(), which is defined in the docs as "the amount of damage caused by the event after all damage reduction is applied" and thus the armour effects should be calculated after the plugin has intervened. The order of intervention is:

base damage
weakness modifier
strength modifier
critical hit multiplier
enchantments
it is then set back using setDamage() and Bukkit should be handling the damage reduction (armour, blocking etc.).

In fact, @Ferocimo , you can enable debug mode in the config and you should get a very detailed breakdown of what the module is doing at each step.

@gvlfm78 I'm not sure what you're asking, do you want me to test it in debug mode and post the results ?

@Ferocimo essentially, yes

@Ferocimo Can you do that without a critical hit?

@gvlfm78

[13:47:00] [Client thread/INFO]: [CHAT] [DEBUG] Raw damage: 13.0
[13:47:00] [Client thread/INFO]: [CHAT] [DEBUG] Mob: 0.0 Sharpness: 0.0
[13:47:00] [Client thread/INFO]: [CHAT] [DEBUG] No ench damage: 13.0
[13:47:00] [Client thread/INFO]: [CHAT] [DEBUG] Strength Modifier: 6.0
[13:47:00] [Client thread/INFO]: [CHAT] [DEBUG] Weakness Modifier: 0.0
[13:47:00] [Client thread/INFO]: [CHAT] [DEBUG] Base tool damage: 7.0
[13:47:00] [Client thread/INFO]: [CHAT] [DEBUG][ModuleOldToolDamage] Old tool damage: 7.0 New tool damage: 7.0
[13:47:00] [Client thread/INFO]: [CHAT] [DEBUG][ModuleOldToolDamage] Old sharpness damage: 0.0 New: 0.0
[13:47:00] [Client thread/INFO]: [CHAT] [DEBUG][ModuleOldPotionEffects] Old strength modifier: 6.0 New: 0.6
[13:47:00] [Client thread/INFO]: [CHAT] [DEBUG][EntityDamageByEntityListener] Base: 7.0
[13:47:00] [Client thread/INFO]: [CHAT] [DEBUG][EntityDamageByEntityListener] Weak: 0.0
[13:47:00] [Client thread/INFO]: [CHAT] [DEBUG][EntityDamageByEntityListener] Strength: 1.2
[13:47:00] [Client thread/INFO]: [CHAT] [DEBUG][EntityDamageByEntityListener] Crit: 1.0
[13:47:00] [Client thread/INFO]: [CHAT] [DEBUG][EntityDamageByEntityListener] Mob 0.0 Sharp: 0.0
[13:47:00] [Client thread/INFO]: [CHAT] [DEBUG][EntityDamageByEntityListener] New Damage: 8.4

@Ferocimo What weapon are you using? What Strength potion are you using? Are you attacking an entity that has some protection on?

@Ferocimo Did you set the strength modifier to 'multiplier' and 0.6? Because if so, the calculations are correct, giving you base damage * strength modifier * strength level = 7 * 0.6 * 2 = 8.4

@gvlfm78 Yes they are correct, that's not the issue : the thing is, it appears that 0.6 approximatively gives the correct damage that was dealt prior to 1.9. I don't know why, I know that Minecraft said Strength II increased damage by +260%, but some other factors must have certainly had an effect, and we missed them.
Long story short : you can't trust only the numbers written in the description of pre-1.9 potion, apparently.

@Ferocimo Well, how do you know it 'approximatively gives the correct damage that was dealt prior to 1.9'? Do you have any data for the old values?

@gvlfm78 Unfortunately no. It's just my personnal experience as a former PVP player, and the feedback of many of our old players. However, it is absolutely certain it is NOT +260% raw damage, because it's litterally two-shots a full protection 4 player.
What I suspect (for what it's worth since I do not have extensive knowledge on coding), is that Minecraft strength effect was a modifier for the "final" damage inflicted (after taking into account the armor and enchantments reductions). For instance, a player uses a diamond sword, deals 7 damage. The opponent actually takes, let's say, 2 damage points, because of his protection. Strength effect would be applied on these 2 points, making it 5.2 damages with Strength 2 +260%.
Now, if I understand it correctly, what your module is doing is increasing the raw damage inflicted (which makes sense, but maybe not in the "Minecraft logic"...). So the "7 damages" dealt to the player becomes a 18.2 damges dealt -> with armor reduction that would become, in the previous example where armor prevented 5 damage points, 13.2 damages actually inflicted. Which is 6.6 hearts taken a way in one shot. That's a lot.
But, I don't know, I'm not the expert, I'm just guessing from what I see.

@Ferocimo Well I just tested it by making a quick plugin that reports the damage done during an attack (like the debug text with the potions module) and running it in 1.8. It shows a base item damage for diamond sword of 8, and damage with strength I as 18.4 and damage with strength II as 28.8. This test was done on a spider (thus no armour), which would have lessened the effect significantly. The plugin (as with the potion debug text) reports the damage before armour damage reduction is applied. I'm going improve this damage debug plugin tomorrow and upload it here for you to test it better in a 1.8 setting.

@Ferocimo Well.. Here we go... This is the tiny plugin I made which simply reports the damage before and after the armour reduction is applied (so you can test this more):
DamageDebug.zip
I then ran tests with a diamond sword on another player in 1.8, 1.9 without OCM, and 1.9 with OCM. The results are contained in this spreadsheet:
Strength Combat Damages.zip
There does indeed seem to be a difference between 1.8 and 1.9 with OCM, especially with Strength II. Now I need to determine why that is the case, if it's because of some modules not playing nicely together, some calculations gone wrong, or whatever this sentence means for the setDamage() method: For compatibility this also recalculates the modifiers and scales them by the difference between the modifier for the previous damage value and the new one.
I invite you to perform some tests yourself and compare with the spreadsheet to see if you can gather more useful data.

@gvlfm78 Excuse me I had no time to test this lately, we opened our server and have massive amount of issues to fix. I will get back to this one as soon as possible.

@Ferocimo have you had a look at it?

There is something odd however.
We have these results on a near-vanilla server :
https://i.imgur.com/qT1pAFT.png
As you can see, strength I seems to REDUCE damage dealt...

Well @Ferocimo I'm back onto working on this and found a few things:

I was getting the same awkward results as you in a test server with just DamageDebug installed, then I realised it was the weapon cooldown that was causing the damage to decrease
I loaded DamageDebug into a 1.8 server and found that almost all weapons did 1 more damage than we set them to, because in 1.8 the tooltip damage was added to the base 'hand damage' of 1, which is no longer the case in 1.9 (the values have now been adjusted)
I found the strength modifier was not correctly scaling with the potion level (Strength II multiplied by 4.6 instead of 3.6) making it deal a lot more damage than it should have. (Also now fixed)

Lastly, I found the armour damage reduction to be less with OCM than it should have been, which is the issue I am currently working on and likely to be quite a big one.

Ok so after investigating for a while and looking at the Armour Wiki Page I found that indeed, increasing armour toughness to an arbitrarily large number should make 1.9 armour act like 1.8 armour.
However, I then found why this wasn't working, it states on the Attribute page that armour toughness has a maximum limit of 20.0, and indeed I get the same final damage values with 9999 and 20 toughness.
Thus, the options remaining would be to either find a way to change this maximum limit or have OCM calculate armour reduction too. Paging @Rayzr522 and @I-Al-Istannen if they happen to know how to implement the first option (possibly through NBT), otherwise I'll just go with the second one.

@gvlfm78
In the client code:
public static float getDamageAfterAbsorb(float damage, float totalArmor, float toughnessAttribute) {
    float f = 2.0F + toughnessAttribute / 4.0F;
    // clamp(value, min, max)
    float f1 = MathHelper.clamp(totalArmor - damage / f, totalArmor * 0.2F, 20.0F);
    return damage * (1.0F - f1 / 25.0F);
}

And in the spigot 1.13.1 jar:
public class CombatMath {
    public static float getDamageAfterAbsorb(float damage, float totalArmor, float toughnessAttribute) {
        float clamped = MathHelper.a(totalArmor - damage / (2.0f + toughnessAttribute / 4.0f), totalArmor * 0.2f, 20.0f);
        return damage * (1.0f -  / 25.0f);
    }
}

Looks like your only chance to change the limit is to instrument that static method at runtime (or the calculating method of LivingEnttiy (protected float applyArmorModifier(final DamageSource damagesource, float f) {) using it), which is not quite ideal.
So to sum it up, as the clamping is done in code and not controlled by any attribute it looks like we are out of luck sadly.

So it's properly hard-coded... At this point I'll have to have OCM perform the armour damage reduction calculations to make them accurate...
@I-Al-Istannen thank you for looking through the client code... Is there anywhere the actual formula for the armour damage reduction? Because the one given on the Minecraft wiki doesn't actually match the results, I suspect there is some rounding going on 🤔

Have fun...

Code in here

/**
 * Deals damage to the entity. If its a EntityPlayer then will take damage from the armor first and then health
 * second with the reduced value. Args: damageAmount
 */
protected void damageEntity(DamageSource damageSrc, float damageAmount) {
    if (!this.isEntityInvulnerable(damageSrc)) {
        if (!damageSrc.isUnblockable() && this.isBlocking() && damageAmount > 0.0F) {
            damageAmount = (1.0F + damageAmount) * 0.5F;
        }

        damageAmount = this.applyArmorCalculations(damageSrc, damageAmount);
        damageAmount = this.applyPotionDamageCalculations(damageSrc, damageAmount);
        float f = damageAmount;
        damageAmount = Math.max(damageAmount - this.getAbsorptionAmount(), 0.0F);
        this.setAbsorptionAmount(this.getAbsorptionAmount() - (f - damageAmount));

        if (damageAmount != 0.0F) {
            this.addExhaustion(damageSrc.getHungerDamage());
            float f1 = this.getHealth();
            this.setHealth(this.getHealth() - damageAmount);
            this.getCombatTracker().trackDamage(damageSrc, f1, damageAmount);

            if (damageAmount < 3.4028235E37F) {
                this.addStat(StatList.damageTakenStat, Math.round(damageAmount * 10.0F));
            }
        }
    }
}

/**
 * Reduces damage, depending on armor
 */
protected float applyArmorCalculations(DamageSource source, float damage) {
    if (!source.isUnblockable()) {
        int i = 25 - this.getTotalArmorValue();
        float f = damage * (float)i;
        this.damageArmor(damage);
        damage = f / 25.0F;
    }

    return damage;
}

/**
 * Reduces damage, depending on potions
 */
protected float applyPotionDamageCalculations(DamageSource source, float damage) {
    if (source.isDamageAbsolute()) {
        return damage;
    }
    else {
        if (this.isPotionActive(Potion.resistance) && source != DamageSource.outOfWorld) {
            int i = (this.getActivePotionEffect(Potion.resistance).getAmplifier() + 1) * 5;
            int j = 25 - i;
            float f = damage * (float)j;
            damage = f / 25.0F;
        }

        if (damage <= 0.0F) {
            return 0.0F;
        }
        else {
            int k = EnchantmentHelper.getEnchantmentModifierDamage(this.getInventory(), source);

            if (k > 20) {
                k = 20;
            }

            if (k > 0 && k <= 20) {
                int l = 25 - k;
                float f1 = damage * (float)l;
                damage = f1 / 25.0F;
            }

            return damage;
        }
    }
}

/**
 * Returns the modifier of protection enchantments on armors equipped on player.
 */
public static int getEnchantmentModifierDamage(ItemStack[] stacks, DamageSource source) {
    enchantmentModifierDamage.damageModifier = 0;
    enchantmentModifierDamage.source = source;
    applyEnchantmentModifierArray(enchantmentModifierDamage, stacks);

    if (enchantmentModifierDamage.damageModifier > 25) {
        enchantmentModifierDamage.damageModifier = 25;
    }
    else if (enchantmentModifierDamage.damageModifier < 0) {
        enchantmentModifierDamage.damageModifier = 0;
    }

    return (enchantmentModifierDamage.damageModifier + 1 >> 1) + enchantmentRand.nextInt((enchantmentModifierDamage.damageModifier >> 1) + 1);
}

@gvlfm78 Tried last version, but can't really be sure if problem is fixed, because of the Old Armour Strength module, which is currently broken (#277 ).

@gvlfm78 ping ?

@Blamo27 pong ?

Can now confirm, potion effect is now fixed. Still some isues with armour though.

@Blamo27 @Ferocimo closing this issue for now. If new issues arise that are not directly related to the implementation of this module please open a new ticket.


The lexer token does not keep consistent with sysl protobuf

Please do not post any internal, closed source snippets on this public issue tracker!
Description
Based on https://github.com/anz-bank/sysl/blob/master/pkg/sysl/sysl.pb.go#L162, sysl was supposed to be support bytes as primitive type. However, when I try to load following sysl file,
Model:
    !type Data:
        Name <: string
        Value <: bytes

it seems that the parser does not parse the bytes as primitive type. I think the root cause is that the lexer does not define the bytes as a primitive type token, refers to https://github.com/anz-bank/sysl/blob/master/pkg/grammar/SyslLexer.g4#L41
Steps to Reproduce

sysl protobuf -v -o test.textpb test.sysl

Expected behavior:
apps: <
  key: "Model"
  value: <
    name: <
      part: "Model"
    >
    types: <
      key: "Data"
      value: <
        tuple: <
          attr_defs: <
            key: "Name"
            value: <
              primitive: STRING
              source_context: <
                file: "test.sysl"
                start: <
                  line: 3
                  col: 16
                >
                end: <
                  line: 3
                  col: 16
                >
              >
            >
          >
          attr_defs: <
            key: "Value"
            value: <
              primitive: BYTES
              source_context: <
                file: "test.sysl"
                start: <
                  line: 4
                  col: 17
                >
                end: <
                  line: 4
                  col: 17
                >
              >
            >
          >
        >
        source_context: <
          file: "test.sysl"
          start: <
            line: 2
            col: 4
          >
          end: <
            line: 4
            col: 22
          >
        >
      >
    >
    source_context: <
      file: "test.sysl"
      start: <
        line: 1
        col: 1
      >
      end: <
        line: 1
      >
    >
  >
>

Actual behavior:
apps: <
  key: "Model"
  value: <
    name: <
      part: "Model"
    >
    types: <
      key: "Data"
      value: <
        tuple: <
          attr_defs: <
            key: "Name"
            value: <
              primitive: STRING
              source_context: <
                file: "test.sysl"
                start: <
                  line: 3
                  col: 16
                >
                end: <
                  line: 3
                  col: 16
                >
              >
            >
          >
          attr_defs: <
            key: "Value"
            value: <
              type_ref: <
                context: <
                  appname: <
                    part: "Model"
                  >
                  path: "Data"
                >
                ref: <
                  path: "bytes"
                >
              >
              source_context: <
                file: "test.sysl"
                start: <
                  line: 4
                  col: 17
                >
                end: <
                  line: 4
                  col: 17
                >
              >
            >
          >
        >
        source_context: <
          file: "test.sysl"
          start: <
            line: 2
            col: 4
          >
          end: <
            line: 4
            col: 22
          >
        >
      >
    >
    source_context: <
      file: "test.sysl"
      start: <
        line: 1
        col: 1
      >
      end: <
        line: 1
      >
    >
  >
>

Debug&Crash Output

Your Environments

$ sysl info
...

$ sysl env
...

@jecofang01 is this an issue with anything you're working on at the moment, or have you found a work around?

Just adding the bytes regex to the NativeDataTypes may have unforeseen consequences because of the way the lexer/parser interact, I would be wary about touching this unless it is priority 1

@joshcarp yes, our api will send out application/pdf which required the type bytes. We have a workaround.


ARROW-5071: [Archery] Implement running benchmark suite

Implements the archery benchmark run sub-command that performs a single run without comparing to another run. This is the main basic blocks to run a benchmark and publish the result to a database, e.g. codespeed and/or custom db. Push is not provided in this PR.
Implements serializing/de-serializing the result of a run in JSON.
Improved the from_rev_or_path method to also support the previous point json output. Thus, you can compare a mixture of commit(s)/build(s)/run's output(s). Effectively adding support for comparing on cached results of a run.
Implements redirecting the output to a named file via --output, - means stdout (the defaults).
Improved the GoogleBenchmarkRunner to output partial results to stdout for progress feedback.

@pitrou this adds your requested feature to compare against offline data.

Codecov Report

Merging #4249 into master will decrease coverage by 24.57%.
The diff coverage is n/a.

@@             Coverage Diff             @@
##           master    #4249       +/-   ##
===========================================
- Coverage   88.19%   63.62%   -24.58%
===========================================
  Files         660      375      -285
  Lines       72992    53019    -19973
  Branches     1251        0     -1251
===========================================
- Hits        64378    33735    -30643
- Misses       8501    19284    +10783
+ Partials      113        0      -113

Impacted Files
Coverage Δ

cpp/src/arrow/util/memory.h
0% <0%> (-100%)
:arrow_down:

cpp/src/parquet/hasher.h
0% <0%> (-100%)
:arrow_down:

cpp/src/arrow/extension_type.h
0% <0%> (-100%)
:arrow_down:

cpp/src/arrow/util/sse-util.h
0% <0%> (-100%)
:arrow_down:

cpp/src/arrow/flight/server.h
0% <0%> (-100%)
:arrow_down:

cpp/src/arrow/json/chunker.h
0% <0%> (-100%)
:arrow_down:

cpp/src/arrow/util/uri.cc
0% <0%> (-100%)
:arrow_down:

cpp/src/arrow/flight/client_auth.h
0% <0%> (-100%)
:arrow_down:

cpp/src/arrow/compute/logical_type.h
0% <0%> (-100%)
:arrow_down:

cpp/src/arrow/compute/kernels/filter.cc
0% <0%> (-100%)
:arrow_down:

... and 695 more

Continue to review full report at Codecov.

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

Should the JSON benchmark output format be documented? Any special instructions for those writing or modifying benchmarks (naming, how to maintain continuity with historical data and when to break it, etc.) so that they work correctly in this system?

I don't think it's worth documenting yet, as the goal is to simply pass the serialized state from one archery sub-command to another.
Adding documentation on writing/modifying benchmarks is definitively worth it. It reminds me that we need to add version to benchmark metadata once we want to track this in a (persisted) database.

Ok.
How necessary is version in the benchmark metadata itself? Isn't version knowable based on timestamp?

I'd say git commit is a better proxy for version. The problem with having only the proxy (say commit or timestamp), is that you can't decided whether 2 samples are comparable.
By version, I didn't mean an actual human/semver version, but a key to differentiate if 2 named benchmarks are comparable. Usually, the shasum of the function body (file in our case because it's the easiest proxy) will dictate if the benchmarks are comparable.
Note that this is low-medium priority as benchmark body don't change often, and you can always work around this by renaming the benchmark (making the old version not comparable with the new name) and making this an official policy.


change error message for assigning from object

Fixes #10462

The results look positive overall - @sandersn @RyanCavanaugh care to take a look?

Thanks. I fix file name typo.

You also need to delete the original, typoed baselines.
The baselines passed even without deleting them though, I'm not sure why.

I remove extra files.

The baselines passed even without deleting them though, I'm not sure why.

If I have a time, try to investigate.

Looks good. Thanks again @YuichiNukiyama !


Ntd1hc/feat/robfw 328/update readme and document

Hi Thomas,
I have just updated the README files. Please review them first.
I am working with package's document and will add to this branch soon.
Thank you,
Ngoan

Hi Ngoan, thank you for your pulll-request. Please look into my findings. Thank you, Thomas

Hi Thomas,
I have just updated some parts of package document and would like you to give your feeling about them.
There are the introduction section and document for datable view are under documenting.
Please review  the initial https://github.com/test-fullautomation/testresultwebapp/blob/ntd1hc/feat/ROBFW-328/update-readme-and-document/TestResultWebApp/TestResultWebApp.pdf file and let me know if it need to be improved.
I am trying to consolidate all the features and how to use them.
P/s: the missing sections and your findings will be fixed in next commits.
Thank you,
Ngoan

Hi Ngoan,
very good! I looked into TestResultWebApp.pdf.
It has small typos, but is already a very good starting point for somebody who want to use is.
At the beginning we should have a friendly hint, that somebody who want to use our WebApp need to have some knowledge about Web- and Database Technologies.
Thank you,
Thomas

Hi Ngoan,
your input was very good!
I made some corrections and extensions and merge now.
Thank you,
Thomas


Integrate mv-lookup to verifier

Summary

use halo2 mv-lookup branch.
implement mv-lookup in verifier (reference mv-lookup doc and han's code).
add a lookup table-column to test StandardPlonkConfig, and lookup same for multiple times to test mv-lookup.
update single_layer_aggregation test, could pass by cli commands:

rm -rf snark-verifier-sdk/data
cargo test --release -- single_layer_aggregation -- --nocapture

To see the specific tasks where the Asana app for GitHub is being used, see below:

https://app.asana.com/0/0/1205884986047323

scroll-prover chunk and aggregation tests could pass.


Update CRDs in operator

fix: https://github.com/istio/istio/issues/19224
fix: https://github.com/istio/istio/issues/19225

@jasonwzm: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

test_operator_release-1.4
be208157ab61ce1b401fd7c5b8cdfba42e91c776
link
/test test_operator_release-1.4

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.


Implemented greyscale thresholding

This PR implements greyscale thresholding -- convert all pixels in an image to either white, or black, depending on whether they are above or below a given threshold.
This operation is useful in a number of image-processing scenarios. In my case, I'll be utilizing it as part of a handwriting recognition system, which requires that the images are normalized in this sort of way.

The appveyor test run aborted with ELIFECYCLE on Node 5.0, with no detail.  Doesn't look like there's a way to force a re-run.  How would you like me to proceed?

Thanks for re-running.  Still failing however.  I looked up the error code:
npm ERR! code ELIFECYCLE
npm ERR<EMAIL_ADDRESS>test-win: `node ./node_modules/mocha/bin/mocha --slow=5000 --timeout=30000 ./test/unit/*.js`
npm ERR! Exit status<PHONE_NUMBER>

This appears to be "heap corruption".  However, it appears to be failing before it ever gets to a test that would execute my changes.
Any thoughts?

Hi David, thank you for this PR exposing a very useful feature of libvips.
The look branch on the Windows CI environment has been segfaulting in this manner for Node v4 and v5 since I switched to wrapping an input Buffer with a v8::Persistent instead of memcpy-ing it. I'm still trying to reproduce this problem on a local Windows machine. I've run valgrind tests on Linux but not found anything obvious yet; work continues.
I'll add a few comments inline...

Thanks for the updates David, looking good. Are you able to rebase/squash to a single commit?

Squashed.  Should be good to go, once CI is complete.

Great, thank you for this new feature.


nicotine-plus: Update homepage

The current homepage for Nicotine+ is https://nicotine-plus.org.

[x] I have read the Contributing Guide.

/verify


Adding SSL patch to build 2.7.3 on Debian

This allows me to build 2.7.3 on debian now. Without this patch, I get the following error:
/tmp/python-build.20151206091414.18928/Python-2.7.3/Modules/_ssl.c: In function ‘newPySSLObject’:
/tmp/python-build.20151206091414.18928/Python-2.7.3/Modules/_ssl.c:306:33: warning: implicit declaration of function ‘SSLv3_method’ [-Wimplicit-function-declaration]
         self->ctx = SSL_CTX_new(SSLv3_method()); /* Set up context */
                                 ^
/tmp/python-build.20151206091414.18928/Python-2.7.3/Modules/_ssl.c:306:33: warning: passing argument 1 of ‘SSL_CTX_new’ makes pointer from integer without a cast [-Wint-conversion]
In file included from /tmp/python-build.20151206091414.18928/Python-2.7.3/Modules/_ssl.c:88:0:
/usr/include/openssl/ssl.h:2131:10: note: expected ‘const SSL_METHOD * {aka const struct ssl_method_st *}’ but argument is of type ‘int’
 SSL_CTX *SSL_CTX_new(const SSL_METHOD *meth);
          ^
gcc -pthread -shared -L/home/catlee/.pyenv/versions/2.7.3/lib -L/home/catlee/.pyenv/versions/2.7.3/lib -I. -IInclude -I./Include -I/home/catlee/.pyenv/versions/2.7.3/include build/temp.linux-x86_64-2.7/tmp/python-build.20151206091414.18928/Python-2.7.3/Modules/_ssl.o -L/home/catlee/.pyenv/versions/2.7.3/lib -L/usr/lib/x86_64-linux-gnu -L/usr/local/lib -lssl -lcrypto -o build/lib.linux-x86_64-2.7/_ssl.so
*** WARNING: renaming "_ssl" since importing it failed: build/lib.linux-x86_64-2.7/_ssl.so: undefined symbol: SSLv3_method

This is probably applicable to other versions of python too.

Looks good. Just for reference, which openssl version are you using?

I confirmed the build failure of 2.7.3 with Debian's 1.0.2e-1.

I'm on 1.0.2d
On Sun, Dec 6, 2015 at 6:27 PM, Yamashita, Yuu<EMAIL_ADDRESS>wrote:

Looks good. Just for reference, which openssl version are you using?
—
Reply to this email directly or view it on GitHub
https://github.com/yyuu/pyenv/pull/495#issuecomment-162368054.

I copied same patch to other 2.7 series in 3185dee8a28637f70d45acb171788635876b5cbc. Probably we'd need similar workaround for 2.6 and 3k....


Create 1466-Reorder-Routes-to-Make- All-Paths-Lead-to-the-City-Zero.cs

File(s) Modified:1466-Reorder-Routes-to-Make- All-Paths-Lead-to-the-City-Zero.cs
Language(s) Used: csharp
Submission URL: https://leetcode.com/submissions/detail/793804997/

Thanks, @agnihotriketan!


Valset: limit active valset query ("dumb implementation")

closes https://github.com/confio/poe-contracts/issues/33

in favor of https://github.com/confio/poe-contracts/pull/51/files


Adaptive card with controls not readable to screen reader

We are using webchat-es5.js for our Virtual assistant and some of the customers are using screen reader to access it. The screen reads the normal card and user messages properly. But for Adaptive card with controls, it doesn't read the content.
Screenshots

Version
webchat es5 version 4.12.0
https://cdn.botframework.com/botframework-webchat/4.12.0/webchat-es5.js
Integrating the CDN version js directly on the page using script tag (No Iframe). Desktop Chrome Browser.
<meta name="botframework-directlinespeech:version" content="4.12.0">
<meta name="botframework-webchat:bundle:variant" content="full-es5">
<meta name="botframework-webchat:bundle:version" content="4.12.0">
<meta name="botframework-webchat:core:version" content="4.12.0">
<meta name="botframework-webchat:ui:version" content="4.12.0">

Describe the bug
We are using webchat-es5.js for our Virtual assistant and some of the customers are using screen reader to access it. The screen reader reads normal card text and user input text. But if Bot response is adaptive card with controls, then it doesn't read the card content.
•	On a Virtual Agent message/response with no links or click-able buttons, assistive technology like screen readers can read aloud the full message when in focus. Please see the code example below:
Refer Screenshot 1 above

A typical message in the Virtual Agent (no links/buttons) is arranged in an unordered list < ul > of messages. One message/response is one list item < li >.
The message to be spoken is within the < article > tag which contains paragraph tags < p > with one of them carrying the actual Virtual Agent response.
The “aria-labelledby” attribute in the list item tag < li > for the message is looking at the “id” attribute of the < article > tag for the message. This programmatically associates the Virtual Agent message with the control.
This approach is working normally and there is no issue. However when the Virtual Agent adds links or buttons to a response, things do not work as expected…

Refer Screenshot 2 above
• The “aria-labelledby” attribute for the list item (for the message) is still pointing to the “id” within the < article > tag, but the only information within that that tag is:
o	“Bot CB said:”
o	“1 attachment.”
o	The date stamp
o	and “Press ENTER to interact”
When we use the mouse or keyboard to focus that list item for the message, the 4 sub-items mentioned mentioned are the only information available to assistive technology. The paragraph with the actual Virtual Agent response is much lower in the DOM (visible in the previous example) and since it isn’t programmatically associated with the list item via “aria-labelledby” or any equivalent method like in the first example, it isn’t available to be read from assistive technology like screen readers. Low vision or other users relying a screen reader will not know what to focus and interact with as currently configured. This MUST be corrected.
Steps to reproduce

Deploy Web App Bot with adaptive cards.
Start NVDA screen reader or JAWS 2021 screen reader.
Open the web app bot on browser.
Interact with the bot till the adaptive card response arrives.
Observe how the screen reader reads the bot response.

Expected behavior
Using ARIA to programmatically associate the Virtual Agent response text with the list item for the message or moving the message text into the  tag itself somewhere so it is available to assistive technology like screen readers will correct the issue.
Please advice if any other fix to make the screen reader to read the adaptive card content.
[Bug]

Hi, Thanks for filing.

Just in case, could you try this behavior on Web Chat 4.13.0? I anticipate the behavior won't change, but let's be sure.
Could you provide the JSON for the Adaptive Card that is being used?

The topics are slightly different, but I believe the fix will be related to the changes for https://github.com/microsoft/BotFramework-WebChat/issues/3804

The issue remains even after change the webchat version to 4.13.0.
Will share the Adaptive card json.


docs: one line per sentence

follow-up on #225513
@NickCao @thomasjm

Add a :+1: reaction to pull requests you find important.

Commit message should be more specific (at least should include julia?)


vendor: update docker/go-metrics v0.0.1

Looks good, can you just rebase this

Whoops, forgot to ping you: @dmcgowan updated, PTAL


Improve unions between arrays

I found out that merging two arrays was quite slow while benchmarking our new search engine. Doing unions of array containers needed improvement. I reworked the algorithm to make it easier to read and removed the inserts triggering a lot of useless memory copy, and made it write into a new allocation.
I found out that CRoaring (which is the roaring implementation in c) was doing a lot SIMD based things to do fast array unions, I did not implement them because it would take me a lot of time and that I would prefer using the, soon to be released, stdsimd library.

bors r+

bors r+


Update c.c

Get hyped!

Not an appreciable change in function of code for a commit, love the excitement though!


[Feature]: API users cannot create a new build when one is already running

Blockers/Dependencies
[#1029]
Background
As an API user
I want be prevented from creating a second running build
So that I can avoid data inconsistency and bad UX (due to recent changes to support BuildWorkflow)
Acceptance Criteria
GIVEN a running instance of korifi on my k8s cluster
WHEN I create a build for my application (e.g. via cf push)
AND I attempt to create a second build before the first one is finished
THEN I should see a failure message explaining that only one build can be running per App at a time
AND I should see that GET /v3/apps/<APP GUID>/builds shows the first build but not a second
Dev Notes
Without this feature, there will be undefined behavior when multiple builds are running.

Prevent the second running build from being created in the k8s API. Some possible options:

Use a validating webhook to prevent the CFBuild creation. This could use a "lease" object, like we use for displayName uniqueness. If we go this route, we'll also need to remove the lease when the CFBuild succeeds or fails.
We could allow the CFBuild to be created, but instantly put it into the failed state with a message.

Upon further thought and research, I realized that this restriction doesn't actually make sense and will make alternative build reconciler implementations more difficult. In light of that, I'm closing this issue.


Reopening Issue: Laravel JSON Mysql number comparison query does not work #14011

Laravel Version: 5.3
PHP Version: 7
Database Driver & Version: mysql 5.7

Description:
$query->where('player->rank', '>', 2);
this does not seem to work.
Laravel creates a mysql query for this like..
select * from from users whereplayer->"$.rank" > '2';
The single quoted numerical value works in case of normal columns, but not in case of JSON columns.
This was said to have been cleared in 5.3 but still the case.

The generated sql based on your example is select * from userswhereplayer->"$.rank" > 2 which is correct, here's the check we use:
is_int($value) ? PDO::PARAM_INT : PDO::PARAM_STR

So is_int(2) will return true leading to the use of PDO::PARAM_INT.
Please provide the full laravel version you're using, use php artisan --version

Thanks for such a quick response and so sorry, actually my query is of float
$query->where('player->rank', '>', 2.0);
This does not work in case of floats but does in case of integers. Could you help as to how solve this in case of floats.


Refactor endpoints

They should be refactored into separate files. This will allow for instance to use the pcr endpoint in other more specific endpoints, such as the arabidopsis cloning avoiding circular imports.

This is a big one @dgruano, I guess you are not working on anything specific right now, but I am re-organising the code in the repo

Go ahead @manulera, I am still stuck on pydna with the USER implementation, so I haven't touched the SYC side of things yet. Good luck!