URL encoding is broken when the locale is Japanese

I encountered issue that my program cannot download S3 objects which have Japanese key name.
I looked into it, and I noticed the URL is broken when the locale is Japanese. You can confirm by adding following code to TestGetRFC3986URLEncodedPath in aws-cpp-sdk-core-tests\http\URITest.cpp:
// 日本 in UTF-8 hex notation
uri = "https://test.com/\xE6\x97\xA5\xE6\x9C\xAC";
std::setlocale(LC_ALL, "Japanese");  // test is passed when "C"
EXPECT_STREQ("/%E6%97%A5%E6%9C%AC", URI::URLEncodePathRFC3986(uri.GetPath()).c_str());

The main cause is std::isalnum. It depends on current locale. You should not use such kind of functions in this SDK.
What platform/OS are you using?
Windows 10
What compiler are you using? what version?
Visual Studio 2017 Update 6

Hi, thank you for reporting it to us.
To download/upload s3 objects with Japanese key name, you can follow these examples:

GetObject: https://github.com/awsdocs/aws-doc-sdk-examples/blob/master/cpp/example_code/s3/get_object_unicode.cpp
PutObject: https://github.com/awsdocs/aws-doc-sdk-examples/blob/master/cpp/example_code/s3/put_object_unicode.cpp

@wps132230 Thank you for the examples.
You added an enhancement label, but this is a regression by commit da76318.
https://github.com/aws/aws-sdk-cpp/commit/da7631823f9778a2c5b96aba27b684acea7c75b3

Tested uploading/downloading and copying s3 objects with Japanese & Chinese key names and I'm unable to reproduce the problem.
We don't set the C locale to anything and in our testing the operations work as expected.
Please provide a repro sample if you're still encountering the problem.

@marcomagdy I can reproduce this issue with 1.5.23.
I attached sample code. Before run the program, please upload "日本.txt" file to your bucket.
GetObject.zip
This program tries to download "日本.txt" file twice. First time, LC_ALL is set "C". Second, LC_ALL is set "Japanese". Both cases should be successful, but the second one will fail.

@marcomagdy Could you reopen this issue?

The SDK assumes utf8 in all of its strings. And since C++ doesn't have utf-8 strings, the idiomatic way to do that is by using arrays of char. When you set the locale to Japanese, you break this assumption and that's why you see the broken behavior.
I'm happy to re-open this issue if there is a solution to accommodate all the different locales.

The only thing I could thing of is replacing isalnum  with something like:
for(unsigned char c : segment)
    //if(std::isalnum(c)) // §2.3 unreserved characters
    if (c >= 'A' && c <= 'Z' || c >= 'a' && c <= 'z' || c >= '0' && c <= '9')
    {
        ss << c;
        continue;
    }

I'll have one of my teammates try that and update this ticket accordingly.

Working on it. Will have it merged this week

@yamasakia  v1.7.18 addresses this issue. We've replaced the locale-sensitive functions with ASCII only versions. I've run your repro program successfully.
Apologies that it took longer that I anticipated.
Let us know if you're still having problems.


Bug report: Cask not working

(Remember to run brew update; brew cleanup; brew cask cleanup before reporting your issue. It usually fixes things!)
Description of issue
I can't use brew cask list/brew cask install. I've ran all suggested commands with no success :(
Output of brew cask <command> --verbose
Error: Cask 'sublime-text3' definition is invalid: Bad header line: '{:v1=>"sublime-text3"}' does not match file name
Error: Kernel.exit

ktsarnakliyski@Kirils-MacBook-Pro ~ $ brew cask install google-chrome-canary --verbose                                                                                [2.3.0]
Error: Cask 'google-chrome-canary' definition is invalid: Bad header line: '{:v1=>"google-chrome-canary"}' does not match file name
Error: Kernel.exit

Output of brew doctor
Please note that these warnings are just used to help the Homebrew maintainers
with debugging if you file an issue. If everything you use Homebrew for is
working fine: please don't worry and just ignore them. Thanks!

Warning: "config" scripts exist outside your system or Homebrew directories.
`./configure` scripts often look for *-config scripts to determine if
software packages are installed, and what additional flags to use when
compiling and linking.

Having additional scripts in your path can confuse software installed via
Homebrew if the config script overrides a system or Homebrew provided
script of the same name. We found the following "config" scripts:
    /Library/Frameworks/Python.framework/Versions/3.5/bin/python3-config
    /Library/Frameworks/Python.framework/Versions/3.5/bin/python3.5-config
    /Library/Frameworks/Python.framework/Versions/3.5/bin/python3.5m-config

Warning: Python is installed at /Library/Frameworks/Python.framework

Homebrew only supports building against the System-provided Python or a
brewed Python. In particular, Pythons installed to /Library can interfere
with other software installs.

Warning: Unbrewed header files were found in /usr/local/include.
If you didn't put them there on purpose they could cause problems when
building Homebrew formulae, and may need to be deleted.

Unexpected header files:
    /usr/local/include/python2.7/greenlet/greenlet.h

Warning: You have unlinked kegs in your Cellar
Leaving kegs unlinked can lead to build-trouble and cause brews that depend on
those kegs to fail to run properly once built. Run `brew link` on these:
    ctags
    vim

Output of brew cask doctor
==> OS X Release:
10.11
==> OS X Release with Patchlevel:
10.11.4
==> Hardware Architecture:
intel-64
==> Ruby Version:
2.0.0-p648
==> Ruby Path:
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/ruby
==> Homebrew Version:
Homebrew 0.9.5 (git revision e0f5; last commit 2016-03-16)
==> Homebrew Executable Path:
/usr/local/bin/brew
==> Homebrew Cellar Path:
/usr/local/Cellar
==> Homebrew Repository Path:
/usr/local
==> Homebrew Origin:
https://github.com/Homebrew/homebrew
==> Homebrew-cask Version:
0.60.0 (git revision c56f; last commit 7 hours ago)
==> Homebrew-cask Install Location:
<NONE>
==> Homebrew-cask Staging Location:
/opt/homebrew-cask/Caskroom
==> Homebrew-cask Cached Downloads:
/Library/Caches/Homebrew
/Library/Caches/Homebrew/Casks
0 files, 0B
==> Homebrew-cask Default Tap Path:
/usr/local/Library/Taps/caskroom/homebrew-cask
==> Homebrew-cask Alternate Cask Taps:
/usr/local/Library/Taps/caskroom/homebrew-versions
==> Homebrew-cask Default Tap Cask Count:
3018
==> Contents of $LOAD_PATH:
/usr/local/Library/Taps/caskroom/homebrew-cask/lib
/usr/local/Library/Homebrew
/Library/Ruby/Site/2.0.0
/Library/Ruby/Site/2.0.0/x86_64-darwin15
/Library/Ruby/Site/2.0.0/universal-darwin15
/Library/Ruby/Site
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/vendor_ruby/2.0.0
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/vendor_ruby/2.0.0/x86_64-darwin15
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/vendor_ruby/2.0.0/universal-darwin15
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/vendor_ruby
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/x86_64-darwin15
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/universal-darwin15
==> Contents of $RUBYLIB Environment Variable:
<NONE>
==> Contents of $RUBYOPT Environment Variable:
<NONE>
==> Contents of $RUBYPATH Environment Variable:
<NONE>
==> Contents of $RBENV_VERSION Environment Variable:
<NONE>
==> Contents of $CHRUBY_VERSION Environment Variable:
<NONE>
==> Contents of $GEM_HOME Environment Variable:
<NONE>
==> Contents of $GEM_PATH Environment Variable:
<NONE>
==> Contents of $BUNDLE_PATH Environment Variable:
<NONE>
==> Contents of $PATH Environment Variable:
PATH="/Users/ktsarnakliyski/.dnx/runtimes/dnx-mono.1.0.0-rc1-update1/bin:/Users/ktsarnakliyski/.rbenv/shims:/Users/ktsarnakliyski/.rbenv/shims:/Library/Frameworks/Python.framework/Versions/3.5/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/ktsarnakliyski/.dnx/bin:/Users/ktsarnakliyski/.yadr/bin:/Users/ktsarnakliyski/.yadr/bin/yadr:/usr/local/Library/Taps/caskroom/homebrew-cask/cmd:/usr/local/Library/ENV/scm"
==> Contents of $SHELL Environment Variable:
SHELL="/usr/local/bin/zsh"
==> Contents of Locale Environment Variables:
LANG="en_US.UTF-8"
LC_CTYPE="UTF-8"
==> Running As Privileged User:
No

This error is not a bug, it's caused by an update to how homebrew-cask works. Details can be found here.
To fix the issue, please run:
brew update; brew cleanup; brew cask cleanup
brew uninstall --force brew-cask; brew update

This error is not a bug, it's caused by an update to how homebrew-cask works. Details can be found here.

Link is broken. Static link to the commit with the message referenced: https://github.com/caskroom/homebrew-cask/blob/e83c0099aaac27ab440b28bbca2ba1e0ec1a4d04/README.md#important-december-update-homebrew-cask-will-now-be-kept-up-to-date-together-with-homebrew-see-15381-for-details-if-you-havent-yet-run-brew-uninstall---force-brew-cask-brew-update-to-switch-to-the-new-system


Panic on assertion failed when using --reference-types

Describe the Bug
wasm-bindgen v0.2.80 panics when using --reference-types option.
Steps to Reproduce
Having a simple code like this seems to trigger the panic:
#[wasm_bindgen(start)]
pub fn start() {
    #[cfg(target_arch = "wasm32")]
    std::panic::set_hook(Box::new(console_error_panic_hook::hook));
}

Expected Behavior
wasm-bindgen succeeds.
Actual Behavior
wasm-bindgen panics with the following error:
thread 'main' panicked at 'assertion failed: !self.config.externref', ~/.cargo/registry/src/github.com-1ecc6299db9ec823/wasm-bindgen-cli-support-0.2.80/src/js/mod.rs:986:9

Additional Context
wasm-bindgen --target web --no-typescript --reference-types --omit-default-module-path --debug --keep-debug --out-dir out --out-name index file.wasm

The command succeeds when I remove the --reference-types option.

I can't reproduce this with your example, but I did fix some other issues with reference types in #2832 - does that branch fix your issue?

Yes your branch fixes my issue.
Thank you!


Installing on Windows requires Microsoft C++ Build Tools on Python 3.12

Issue
The gdxcc dependency does not have wheels for Python 3.12, which causes an issue when installing on Windows.
(gams_api) C:\>pip install gdxcc
Collecting gdxcc
  Using cached gdxcc-8.33.2.post1.tar.gz (70 kB)
  Preparing metadata (setup.py) ... done
Building wheels for collected packages: gdxcc
  Building wheel for gdxcc (setup.py) ... error
  error: subprocess-exited-with-error

  × python setup.py bdist_wheel did not run successfully.
  │ exit code: 1
  ╰─> [73 lines of output]
      running bdist_wheel
      running build
      running build_py
      creating build
      creating build\lib.win-amd64-cpython-312
      creating build\lib.win-amd64-cpython-312\gdxcc
      copying gdxcc\gdxcc.py -> build\lib.win-amd64-cpython-312\gdxcc
      copying gdxcc\__init__.py -> build\lib.win-amd64-cpython-312\gdxcc
      running egg_info
      writing gdxcc.egg-info\PKG-INFO
      writing dependency_links to gdxcc.egg-info\dependency_links.txt
      writing top-level names to gdxcc.egg-info\top_level.txt
      reading manifest file 'gdxcc.egg-info\SOURCES.txt'
      reading manifest template 'MANIFEST.in'
      warning: no files found matching '*.rst'
      warning: no files found matching '*.txt'
      warning: no previously-included files matching '*.py[co]' found anywhere in distribution
      warning: no previously-included files matching '__pycache__' found anywhere in distribution
      adding license file 'LICENSE'
      writing manifest file 'gdxcc.egg-info\SOURCES.txt'
      C:\Users\ttepsa\AppData\Local\miniconda3\envs\gams_api\Lib\site-packages\setuptools\command\build_py.py:215: _Warning: Package 'gdxcc.C' is absent from the `packages` configuration.
      !!

              ********************************************************************************
              ############################
              # Package would be ignored #
              ############################
              Python recognizes 'gdxcc.C' as an importable package[^1],
              but it is absent from setuptools' `packages` configuration.

              This leads to an ambiguous overall configuration. If you want to distribute this
              package, please make sure that 'gdxcc.C' is explicitly added
              to the `packages` configuration field.

              Alternatively, you can also rely on setuptools' discovery methods
              (for example by using `find_namespace_packages(...)`/`find_namespace:`
              instead of `find_packages(...)`/`find:`).

              You can read more about "package discovery" on setuptools documentation page:

              - https://setuptools.pypa.io/en/latest/userguide/package_discovery.html

              If you don't want 'gdxcc.C' to be distributed and are
              already explicitly excluding 'gdxcc.C' via
              `find_namespace_packages(...)/find_namespace` or `find_packages(...)/find`,
              you can try to use `exclude_package_data`, or `include-package-data=False` in
              combination with a more fine grained `package-data` configuration.

              You can read more about "package data files" on setuptools documentation page:

              - https://setuptools.pypa.io/en/latest/userguide/datafiles.html

              [^1]: For Python, any directory (with suitable naming) can be imported,
                    even if it does not contain any `.py` files.
                    On the other hand, currently there is no concept of package data
                    directory, all directories are treated like packages.
              ********************************************************************************

      !!
        check.warn(importable)
      copying gdxcc\gdxcc.i -> build\lib.win-amd64-cpython-312\gdxcc
      creating build\lib.win-amd64-cpython-312\gdxcc\C
      copying gdxcc\C\gclgms.c -> build\lib.win-amd64-cpython-312\gdxcc\C
      copying gdxcc\C\gcmt.c -> build\lib.win-amd64-cpython-312\gdxcc\C
      copying gdxcc\C\gdxcc.c -> build\lib.win-amd64-cpython-312\gdxcc\C
      copying gdxcc\C\gdxcc_wrap.c -> build\lib.win-amd64-cpython-312\gdxcc\C
      copying gdxcc\C\gclgms.h -> build\lib.win-amd64-cpython-312\gdxcc\C
      copying gdxcc\C\gcmt.h -> build\lib.win-amd64-cpython-312\gdxcc\C
      copying gdxcc\C\gdxcc.h -> build\lib.win-amd64-cpython-312\gdxcc\C
      running build_ext
      building '_gdxcc' extension
      error: Microsoft Visual C++ 14.0 or greater is required. Get it with "Microsoft C++ Build Tools": https://visualstudio.microsoft.com/visual-cpp-build-tools/
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for gdxcc
  Running setup.py clean for gdxcc
Failed to build gdxcc
ERROR: ERROR: Failed to build installable wheels for some pyproject.toml based projects (gdxcc)

After installing the Build Tools, pip install gdx2py and pip install gdxcc works as expected, but I would rather not install them because the package is huge. And I would rather not require the users of a certain app :) to install them too.
I'm not sure if there is going to be an official Python 3.12 wheel for gdxcc, because the GAMS API has been restructured in the latest versions. gdxcc is now just gdx as can be seen in the GAMS API documentation: https://www.gams.com/latest/docs/API_PY_OVERVIEW.html#PY_API_STRUCTURE
Possible solutions

Replace gdxcc dependency with GAMS API (pip install gamsapi) and modify imports in gdx2py to use gams.core.gdx instead.
Find some other replacement for gdxcc

I'm aware that the GAMS API contais a lot of stuff that's not needed in gdx2py and it's a lot bigger, but I'm not sure what else to do, unless there is some way to extract just the gams.core.gdx package as a wheel from there somehow.
What do you think @erkkar?

Hi! It’s possible to install only the core parts of GAMS API with pip install gams[core]. Could you make a for of GDX2py which requires gamsapi[core] and then instead of from gdxcc import ... do from gams.core.gdx import ... and import gams.core.gdx as gdxcc?

Will do.

Great! 👏 Please submit a PR then.

Hmm... should still publish to PyPI, I’ll do soon.

It’s in PyPI: https://pypi.org/project/GDX2py/2.2.0/


Create build to package up POSHChef

Create a build process to package up POSHChef as NuGet package

Initial tests for packaging up POSHChef are going well.
At the moment these are just CI builds.  I want to get to a point of having Release builds that are in NuGet.  More information soon.


Fix spelling mistakes

I spotted a mistake in the README, so cloned the repo to open a PR, and VSCode found a few more in the rest of the repo, so have also fixed those whilst I'm here :-)

ohh.. my dyslexia strikes again lol
thank you!


CI: update macos runner version

GitHub Action is sunsetting the macOS 10.15 Actions runner. It will stop working intermittently until being completely removed by 2022-8-30: https://github.blog/changelog/2022-07-20-github-actions-the-macos-10-15-actions-runner-image-is-being-deprecated-and-will-be-removed-by-8-30-22/

Thank you for taking the time to make this PR.
The same change was made a couple of days ago via commit https://github.com/lovell/sharp/commit/be331e958e05fbe8fa63e968342704a944e31191 on the work-in-progress branch for the forthcoming v0.31.0 release, which will be merged to the main branch shortly.


Following instructions for Next.JS boilerplate and running into some errors.

I've ran into a few errors when trying to run npm install and then npm run dev. Errors are below:
`Logan@LoganHPlaptop MINGW64 ~/DevMountain/github_command/CosmicJS/nextjs-website-boilerplate (master)
$ npm install
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none is installed. You must install peer dependencies yourself.
npm WARN optional SKIPPING OPTIONAL DEPENDENCY<EMAIL_ADDRESS>(node_modules\fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for<EMAIL_ADDRESS>wanted {"os":"darwin","arch":"any"} (current: {"os":"win32","arch":"x64"})
up to date in 23.374s
Logan@LoganHPlaptop MINGW64 ~/DevMountain/github_command/CosmicJS/nextjs-website-boilerplate (master)
$ npm run dev

<EMAIL_ADDRESS>dev C:\Users\Logan\DevMountain\github_command\CosmicJS\nextjs-website-boilerplate
babel-node server.js --presets es2015 stage-2

'babel-node' is not recognized as an internal or external command,
operable program or batch file.
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR<EMAIL_ADDRESS>dev: babel-node server.js --presets es2015 stage-2
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>dev script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR!      C:\Users\Logan\AppData\Roaming\npm-cache_logs\2018-05-12T18_03_09_522Z-debug.log
`
So do I just need to install some other dependencies?

I resolved my issue by updating react and react-dom to version 16.3.2

Can't reproduce this issue.


Hydrograph does not work with seasonal gauges

The hydrograph tab will run into error when the gauge is seasonal:
Warning: Error in :: NA/NaN argument
168: %>%
167: renderPlot [/ShinyCFA/server.R#287]
165: func
125: drawPlot
111: reactive:plotObj
95: drawReactive
82: origRenderFunc
81: output$hydrograph
1: runApp

The hydrologic regime plot is generated by a function from the FlowScreen package (there are some not yet implemented trend test functions commented out in the code also from FlowScreen package).
However, it does not looks like FlowScreen is being actively developed (last commit in 2019). It is therefore better to move away from FlowScreen and use similar functions from fasstr instead.


Update lib for kotlin1.4.30

First of all, thanks four the great lib. Can you provide the lib also for kotlin 1.4.30? Compiling fails after updating the kotlin multiplatform version from 1.4.10 to 1.4.30.

what is the error?

i get a error on package import: "unresolved reference: mu"
part of my gradle:
plugins {
    kotlin("multiplatform") version "1.4.30"
   //...
}

kotlin {
    jvm {
        compilations.all {
            kotlinOptions.jvmTarget = "1.8"
        }
        testRuns["test"].executionTask.configure {
            useJUnit()
        }
    }
    sourceSets {
        val commonMain by getting {
            dependencies {
                implementation("io.github.microutils:kotlin-logging:2.0.3")
                implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:1.0.0")
                implementation("org.jetbrains.kotlinx:kotlinx-datetime:0.1.1")
            }
        }
}

Yes, I will release a new version.

released in version 2.0.5

Thank you very much!


Remove console.log

Hello,
First of all, I would like to congratulate the creators of the project. I found the Vuesax fantastic.
I'm using some components, and I noticed there are some console.log in some of them, such as: vs-select  and vs-button. I wonder if there would be any specific reason to be there?
If there are no problems, I wonder if I can send a PR by removing the console.log?

If I would love the truth they are console.log that can pass me the PR without problem and if they also eliminate the comments it would be great to thank you very much for the contribution and use vuesax


Revamping the navigation bar

Describe the bug
Currently the navigation bar is not fixed properly and when the site is viewed on smaller screens it gets split as shown below in the screenshot.
Expected behavior
I would like to revamp the navigation bar by adding a responsive navigation bar so that when user will resize the browser window or will try to access the site on smaller screen he should be able to navigate or i can say the navigation bar should work properly.
Screenshots

@Aakansha99 Please assign me this issue.

@Aakansha99  I would like to work on this issue.

Okay @sameersrivastava13  this issue is assigned to you


$app/env has been renamed to $app/environment

See https://github.com/sveltejs/kit/pull/6334
Might have to bump the SvelteKit version with this change, too. Bonus points: can we make it usable with both new and old versions?

Thank you. I'll close because #6 fixed this issue.


pintorita:0.1.2

I am submitting

[ ] a new package
[x] an update for a package

Fixed strange offset of text rows in class diagram, added render_svg function and more customization options.
Thanks to @sjrsjz for the PR.
Description: generates diagrams similar to mermaid.js
I have read and followed the submission guidelines and, in particular, I

[X ] selected a name that isn't the most obvious or canonical name for what the package does
[X ] added a typst.toml file with all required keys
[ X] added a README.md with documentation for my package
[X ] have chosen a license and added a LICENSE file or linked one in my README.md
[X ] tested my package locally on my system and it worked
[X ] excluded PDFs or README images, if any, but not the LICENSE

Thanks :)


Combobox's clear 'X' button is inset too far

Describe the bug
When comparing the location of the X to clear the combobox field with other input elements, it is too far inset from the right. Does not match design specs and wastes input space.
To Reproduce
Steps to reproduce the behavior:
Hover over a combobox on auro doc site or at alaskaair.com/search.
Expected behavior
The location of the X should match datepicker and other input fields and be more symmetrical on left/right sides, matching design specs.
Screenshots
Not symmetrical/Wasted space on right side of field:

Correct/Symmetrical:

Desktop (please complete the following information):

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

Smartphone (please complete the following information):

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

Additional context

This issue is validated. See the screen shot below, the additional spacing is caused by an incorrect CSS value.

Work specification
Remove the unnecessary right spacing.
Exit criteria
Validate that the padding is consistent with the design spec and that there are no unintended side-effects from removing this value.

I have verified that this issue was previously fixed by updates to the auro-input component and how it's implemented into auro-combobox. Closing this issue as already fixed.


Cannot use list comprehension inside FuzzyChoice field with Django

I recently went into an issue while using a list comprehension inside a FuzzyChoice field with a DjangoModelFactory, using factory_boy 2.7.0 and Python 2.7.11. For example:
FIELD_CHOICES = (
    (0, 'zero'),
    (1, 'one'),
)

class MyModel(django.db.models.Model):
    some_field = django.db.models.IntegerField(choices=FIELD_CHOICES)

class MyFactory(factory.django.DjangoModelFactory):
    some_field = factory.fuzzy.FuzzyChoice([choice[0] for choice in FIELD_CHOICES])

    class Meta:
        model = MyModel

This generates the following error while creating an instance of the factory:
Traceback (most recent call last):
  File "/my_project/my_django_project/my_django_app/tests.py", line 14, in some_test
    MyFactory()
  File "/my_project/eggs/factory_boy-2.7.0-py2.7.egg/factory/base.py", line 67, in __call__
    return cls.create(**kwargs)
  File "/my_project/eggs/factory_boy-2.7.0-py2.7.egg/factory/base.py", line 595, in create
    return cls._generate(True, attrs)
  File "/my_project/eggs/factory_boy-2.7.0-py2.7.egg/factory/base.py", line 520, in _generate
    obj = cls._prepare(create, **attrs)
  File "/my_project/eggs/factory_boy-2.7.0-py2.7.egg/factory/base.py", line 495, in _prepare
    return cls._create(model_class, *args, **kwargs)
  File "/my_project/eggs/factory_boy-2.7.0-py2.7.egg/factory/django.py", line 181, in _create
    return manager.create(*args, **kwargs)
  File "/my_project/eggs/Django-1.6.5-py2.7.egg/django/db/models/manager.py", line 157, in create
    return self.get_queryset().create(**kwargs)
  File "/my_project/eggs/Django-1.6.5-py2.7.egg/django/db/models/query.py", line 320, in create
    obj = self.model(**kwargs)
  File "/my_project/eggs/Django-1.6.5-py2.7.egg/django/db/models/base.py", line 417, in __init__
    raise TypeError("'%s' is an invalid keyword argument for this function" % list(kwargs)[0])
TypeError: 'choice' is an invalid keyword argument for this function

It appears that the variable choice, which is used inside the list comprehension, is also used to initialize the Django model ( which does not have such field).
Apparently, this variable is added here, while executing the method factory.base.FactoryOptions.contribute_to_class.
When I replace the list comprehension by a generator expression, everything is fine.
I do not know if we can modify the method factory.base.FactoryOptions._is_declaration to avoid this behavior. Otherwise, maybe put a note about this in the documentation?

Moreover, this problem does not happen in Python 3, as list comprehensions have their own scope in this version. The loop control variable "leaks" into the surround scope only in Python 2.

This is a great bug report, thanks for testing with both Python2/3.
I'm not super familiar with Django, but in general the Fuzzy attributes are deprecated: http://factoryboy.readthedocs.io/en/latest/fuzzy.html#module-factory.fuzzy
I'm going to close this, as I assume one of the alternatives available through the Faker library will do what you want. If not, leave a comment explaining why and we can re-open.

@alexandre-figura this is indeed a scope-bleeding bug, as documented in the tests and first discovered in #6.
In your case, you can fix it by naming your loop variable _choice, as shown in the test above.
This will affect all declarations using a list comprehension under Py2, not just Fuzzy ones.
Unfortunately, factory_boy has no easy way to detect such scope bleeding: the call to __new__(mcs, name, bases, attrs) from Python's type system will pass in the same list of attrs in the following two classes:
class Foo(object):
    x = [y ** 2 for y in range(4)]

# Equivalent to:
Foo = type.__new__('Foo', [], {'x': [0, 1, 4, 9], 'y': 3})

class Bar(object):
    x = [y ** 2 for y in range(4)]
    y = 3

# Equivalent to:
Bar = type.__new__('Bar', [], {'x': [0, 1, 4, 9], 'y': 3})


Saber despawns and spawns again on throw and catch

I am using Plasma Katanas as my sabers and every time I throw them, they despawn and spawn again. This bug (is it though?) appeared after 0.3.0 update.
The thing which bothers me is the fact that I really like those sabers and they have spawn animation with sound. So every time I throw my sabers, I am hearing the spawn sound two times - on a throw and on a catch.
Is it possible to fix this, or am I AWOL because of the sabers I use?

I will look into it


Extension: Rejecting a Tx should send an event with appropriate message

When a user rejects a Tx, dispatch event to display on interface

Figma designs:
https://www.figma.com/file/NFyHbLZXBSl3aUsMxtffvV/Namada-End-User-Interface-V1.0-%2F-Phase-1%3A-Block-Party?type=design&node-id=3968-2&mode=design&t=mWoF2N3EVo2YwmLj-0

closing this as not needed now! What is needed is an appropriate response from the extension when a signature is rejected so that the interface can update accordingly.


Scipy build on OS X assumes that "c++" will get it Clang, even when it won't

I am on OS X 10.13, with these compilers installed as cc and c++:
Vyoma:toil-vg anovak$ cc --version
Apple LLVM version 9.0.0 (clang-9<IP_ADDRESS>)
Target: x86_64-apple-darwin17.6.0
Thread model: posix
InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin
Vyoma:toil-vg anovak$ c++ --version
c++ (MacPorts gcc7 7.2.0_0) 7.2.0
Copyright (C) 2017 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

In a Python 2.7 virtualenv with numpy installed, doing pip2.7 install scipy produces a very long log, ending with something like:
    creating /var/folders/ws/t7b9wm2j2b7fy4_xyq0n5vh00000gn/T/tmpJVbgID/var
    creating /var/folders/ws/t7b9wm2j2b7fy4_xyq0n5vh00000gn/T/tmpJVbgID/var/folders
    creating /var/folders/ws/t7b9wm2j2b7fy4_xyq0n5vh00000gn/T/tmpJVbgID/var/folders/ws
    creating /var/folders/ws/t7b9wm2j2b7fy4_xyq0n5vh00000gn/T/tmpJVbgID/var/folders/ws/t7b9wm2j2b7fy4_xyq0n5vh00000gn
    creating /var/folders/ws/t7b9wm2j2b7fy4_xyq0n5vh00000gn/T/tmpJVbgID/var/folders/ws/t7b9wm2j2b7fy4_xyq0n5vh00000gn/T
    creating /var/folders/ws/t7b9wm2j2b7fy4_xyq0n5vh00000gn/T/tmpJVbgID/var/folders/ws/t7b9wm2j2b7fy4_xyq0n5vh00000gn/T/tmpJVbgID
    compile options: '-MMD -MF /var/folders/ws/t7b9wm2j2b7fy4_xyq0n5vh00000gn/T/tmpJVbgID/file.c.d -c'
    cc: /var/folders/ws/t7b9wm2j2b7fy4_xyq0n5vh00000gn/T/tmpJVbgID/file.c
    customize UnixCCompiler using build_ext
    get_default_fcompiler: matching types: '['gnu95', 'nag', 'absoft', 'ibm', 'intel', 'gnu', 'g95', 'pg']'
    customize Gnu95FCompiler
    customize Gnu95FCompiler
    customize Gnu95FCompiler using build_ext
    building 'scipy.interpolate._interpolate' extension
    compiling C++ sources
    C compiler: c++ -fno-strict-aliasing -fno-common -dynamic -arch x86_64 -arch i386 -g -Os -pipe -fno-common -fno-strict-aliasing -fwrapv -DENABLE_DTRACE -DMACOSX -DNDEBUG -Wall -Wshorten-64-to-32 -DNDEBUG -g -fwrapv -Os -Wall -Wstrict-prototypes -DENABLE_DTRACE -arch i386 -arch x86_64 -pipe

    compile options: '-Iscipy/interpolate/src -I/Users/anovak/Documents/Workspace/toil-vg/.venv/lib/python2.7/site-packages/numpy/core/include -I/System/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7 -c'
    c++: scipy/interpolate/src/_interpolate.cpp
    c++: warning: x86_64 conflicts with i386 (arch flags ignored)
    c++: error: unrecognized command line option '-Wshorten-64-to-32'
    c++: warning: x86_64 conflicts with i386 (arch flags ignored)
    c++: error: unrecognized command line option '-Wshorten-64-to-32'
    error: Command "c++ -fno-strict-aliasing -fno-common -dynamic -arch x86_64 -arch i386 -g -Os -pipe -fno-common -fno-strict-aliasing -fwrapv -DENABLE_DTRACE -DMACOSX -DNDEBUG -Wall -Wshorten-64-to-32 -DNDEBUG -g -fwrapv -Os -Wall -Wstrict-prototypes -DENABLE_DTRACE -arch i386 -arch x86_64 -pipe -Iscipy/interpolate/src -I/Users/anovak/Documents/Workspace/toil-vg/.venv/lib/python2.7/site-packages/numpy/core/include -I/System/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7 -c scipy/interpolate/src/_interpolate.cpp -o build/temp.macosx-10.13-intel-2.7/scipy/interpolate/src/_interpolate.o -MMD -MF build/temp.macosx-10.13-intel-2.7/scipy/interpolate/src/_interpolate.o.d" failed with exit status 1

It looks like the build is passing -Wshorten-64-to-32 to c++ on the assumption that it is Clang.
If the build needs Clang specifically when building on Mac, shouldn't the build be invoking clang and not c++? If the build doesn't rely on Clang, but can work with GCC on OS X, shouldn't it be able to work out which compiler it has actually got? Does the build assume that cc and c++ both point to "the same" compiler? (Because selecting MacPorts GCC hasn't ever and doesn't want to set cc, but does set c++.)
If this is an upstream issue (i.e. the scipy build is just using whatever compiler and options it was handed), which package should I report the issue to, and how would I describe it? It looks like https://stackoverflow.com/a/46610651 suggests that "Python2.7 on Mac OS X is compiled with the alias "cc""; is this behavior somehow attributable to a bug in the Python binary?
I can work around the problem by doing CC=/usr/bin/clang CXX=/usr/bin/clang++ pip2.7 install scipy, but really the build should be clever enough to invoke the compiler it is written for by itself.

If the build needs Clang specifically when building on Mac

It doesn't. Any sane compiler works, hence you can set CC and CXX to gcc as you found out.

If this is an upstream issue (i.e. the scipy build is just using whatever compiler and options it was handed), which package should I report the issue to

This is numpy.distutils behavior. I wouldn't call this a bug though; MacPorts setting c++ but not cc is quite unusual. No one has reported such an issue before as far as I can remember.

but really the build should be clever enough to invoke the compiler it is written for by itself.

Not really. numpy.distutils supports many compilers. If none is explicitly specified by the user, either via CC/CXX or via python setup.py --config ..., it just tries to grab a default one.
Unless I'm missing something in my explanation, I think this is a wontfix.
I'll close the issue because it's not a SciPy one, but feel free to keep discussing.


Use BDD semantics

First of all thanks for this awesome work!
I came accross your crate during searching for a BDD (Behavior Driven Development) framework for Rust. When I saw the before_each, after_each and it subblocks I thought there is a close relation between them and their BDD counterparts:

before_each == given (precondition)
it == when (a trigger)
after_each == then (postcondition)

I think it would be nice to access to these subblocks with their BDD names.

Adding aliases is pretty easy, if that's all you're asking for.

Yeah!
Thank you very much :)


FIx failure of  @OCP-69146

/approve

/lgtm

lixue@Xue-Lis-MacBook-Pro terraform-provider-rhcs % ginkgo -focus 69146 tests/e2e
time="2023-12-11T19:21:58+08:00" level=info msg="Running against env staging with gateway url https://api.stage.openshift.com"
time="2023-12-11T19:21:58+08:00" level=info msg="Loaded cluster profile configuration from profile rosa-sts-ad : map[additional_sg_number:4 admin_enabled:true autoscale:true byok:true byovpc:true ccs:true channel_group:candidate cloud_provider:aws compute_machine_type:m5.2xlarge etcd_encryption:true fips:true hypershift:false imdsv2:required labeling:true major_version:4.14 multi_az:true oidc_config:un-managed private:false private_link:false product_id:rosa proxy:true region:ap-northeast-1 sts:true tagging:true version:latest worker_disk_size:200 zones:]"
time="2023-12-11T19:21:58+08:00" level=info msg="Loaded cluster profile configuration from profile rosa-sts-ad : map[additional_sg_number:4 admin_enabled:true autoscale:true byok:true byovpc:true ccs:true channel_group:candidate cloud_provider:aws compute_machine_type:m5.2xlarge etcd_encryption:true fips:true hypershift:false imdsv2:required labeling:true major_version:4.14 multi_az:true oidc_config:un-managed private:false private_link:false product_id:rosa proxy:true region:ap-northeast-1 sts:true tagging:true version:latest worker_disk_size:200 zones:]"
Running Suite: e2e tests suite - /Users/lixue/Workspace/ocm-tf/terraform-provider-rhcs/tests/e2e
================================================================================================
Random Seed:<PHONE_NUMBER>

Will run 1 of 36 specs
time="2023-12-11T19:21:58+08:00" level=info msg="Loaded cluster profile configuration from profile rosa-sts-ad : map[additional_sg_number:4 admin_enabled:true autoscale:true byok:true byovpc:true ccs:true channel_group:candidate cloud_provider:aws compute_machine_type:m5.2xlarge etcd_encryption:true fips:true hypershift:false imdsv2:required labeling:true major_version:4.14 multi_az:true oidc_config:un-managed private:false private_link:false product_id:rosa proxy:true region:ap-northeast-1 sts:true tagging:true version:latest worker_disk_size:200 zones:]"
time="2023-12-11T19:21:58+08:00" level=info msg="Running terraform init against the dir /Users/lixue/Workspace/ocm-tf/terraform-provider-rhcs/tests/tf-manifests/rhcs/clusters/rosa-classic"
time="2023-12-11T19:22:02+08:00" level=info msg="Running terraform output against the dir: /Users/lixue/Workspace/ocm-tf/terraform-provider-rhcs/tests/tf-manifests/rhcs/clusters/rosa-classic"
SSSSSSSSSSS
------------------------------
P [PENDING]
TF Test Verfication/Post day 1 tests Author:xueli-Critical-OCP-69145 @OCP-69145 @xueli Apply to change security group will be forbidden
/Users/lixue/Workspace/ocm-tf/terraform-provider-rhcs/tests/e2e/verfication_post_day1_test.go:190
------------------------------
SSSSSSSSSStime="2023-12-11T19:22:04+08:00" level=info msg="Running terraform init against the dir /Users/lixue/Workspace/ocm-tf/terraform-provider-rhcs/tests/tf-manifests/rhcs/machine-pools"
time="2023-12-11T19:22:04+08:00" level=info msg="Running terraform init against the dir /Users/lixue/Workspace/ocm-tf/terraform-provider-rhcs/tests/tf-manifests/aws/security-groups"
time="2023-12-11T19:22:07+08:00" level=info msg="Running terraform output against the dir: /Users/lixue/Workspace/ocm-tf/terraform-provider-rhcs/tests/tf-manifests/aws/security-groups"
time="2023-12-11T19:22:08+08:00" level=info msg="Running terraform output against the dir: /Users/lixue/Workspace/ocm-tf/terraform-provider-rhcs/tests/tf-manifests/aws/security-groups"
time="2023-12-11T19:22:10+08:00" level=info msg="Running terraform apply against the dir: /Users/lixue/Workspace/ocm-tf/terraform-provider-rhcs/tests/tf-manifests/rhcs/machine-pools"
time="2023-12-11T19:22:16+08:00" level=info msg="Running terraform apply against the dir: /Users/lixue/Workspace/ocm-tf/terraform-provider-rhcs/tests/tf-manifests/rhcs/machine-pools"
time="2023-12-11T19:22:19+08:00" level=error msg="rhcs_machine_pool.mp: Refreshing state... [id=ocp-69146]\n\nError: attribute \"aws_additional_security_group_ids\" must have a known value and may not be changed.\n\n  with rhcs_machine_pool.mp,\n  on main.tf line 29, in resource \"rhcs_machine_pool\" \"mp\":\n  29:   aws_additional_security_group_ids = var.additional_security_groups\n\nAttempted to change attribute \"aws_additional_security_group_ids\" from\n[\"sg-0edc162e332684b2f\",\"sg-01ef4e855acb0221f\",\"sg-0040015431e9c84c4\",\"sg-0550ae331369c69a6\"]\nto [\"sg-0edc162e332684b2f\"]."
time="2023-12-11T19:22:19+08:00" level=info msg="Running terraform destroy against the dir: /Users/lixue/Workspace/ocm-tf/terraform-provider-rhcs/tests/tf-manifests/rhcs/machine-pools"
rhcs_machine_pool.mp: Refreshing state... [id=ocp-69146]

Terraform used the selected providers to generate the following execution plan. Resource actions are indicated with the following symbols:
  - destroy

Terraform will perform the following actions:

  # rhcs_machine_pool.mp will be destroyed
  - resource "rhcs_machine_pool" "mp" {
      - autoscaling_enabled               = false -> null
      - aws_additional_security_group_ids = [
          - "sg-0edc162e332684b2f",
          - "sg-01ef4e855acb0221f",
          - "sg-0040015431e9c84c4",
          - "sg-0550ae331369c69a6",
        ] -> null
      - cluster                           = "281nrpo8mtfk706tga5gdvk02gutigcf" -> null
      - disk_size                         = 300 -> null
      - id                                = "ocp-69146" -> null
      - machine_type                      = "r5.xlarge" -> null
      - multi_availability_zone           = true -> null
      - name                              = "ocp-69146" -> null
      - replicas                          = 3 -> null
    }

Plan: 0 to add, 0 to change, 1 to destroy.

Changes to Outputs:
  - autoscaling_enabled = false -> null
  - cluster_id          = "281nrpo8mtfk706tga5gdvk02gutigcf" -> null
  - machine_pool_id     = "ocp-69146" -> null
  - machine_type        = "r5.xlarge" -> null
  - name                = "ocp-69146" -> null
  - replicas            = 3 -> null
rhcs_machine_pool.mp: Destroying... [id=ocp-69146]
rhcs_machine_pool.mp: Destruction complete after 3s

Destroy complete! Resources: 1 destroyed.
time="2023-12-11T19:22:25+08:00" level=info msg="Running terraform apply against the dir: /Users/lixue/Workspace/ocm-tf/terraform-provider-rhcs/tests/tf-manifests/rhcs/machine-pools"
time="2023-12-11T19:22:34+08:00" level=info msg="Running terraform destroy against the dir: /Users/lixue/Workspace/ocm-tf/terraform-provider-rhcs/tests/tf-manifests/rhcs/machine-pools"
rhcs_machine_pool.mp: Refreshing state... [id=add-69146]

Terraform used the selected providers to generate the following execution plan. Resource actions are indicated with the following symbols:
  - destroy

Terraform will perform the following actions:

  # rhcs_machine_pool.mp will be destroyed
  - resource "rhcs_machine_pool" "mp" {
      - autoscaling_enabled     = false -> null
      - cluster                 = "281nrpo8mtfk706tga5gdvk02gutigcf" -> null
      - disk_size               = 300 -> null
      - id                      = "add-69146" -> null
      - machine_type            = "m5.2xlarge" -> null
      - multi_availability_zone = true -> null
      - name                    = "add-69146" -> null
      - replicas                = 3 -> null
    }

Plan: 0 to add, 0 to change, 1 to destroy.

Changes to Outputs:
  - autoscaling_enabled = false -> null
  - cluster_id          = "281nrpo8mtfk706tga5gdvk02gutigcf" -> null
  - machine_pool_id     = "add-69146" -> null
  - machine_type        = "m5.2xlarge" -> null
  - name                = "add-69146" -> null
  - replicas            = 3 -> null
rhcs_machine_pool.mp: Destroying... [id=add-69146]
rhcs_machine_pool.mp: Destruction complete after 2s

Destroy complete! Resources: 1 destroyed.
time="2023-12-11T19:22:40+08:00" level=info msg="Running terraform destroy against the dir: /Users/lixue/Workspace/ocm-tf/terraform-provider-rhcs/tests/tf-manifests/rhcs/machine-pools"

No changes. No objects need to be destroyed.

Either you have not created any objects yet or the existing objects were already deleted outside of Terraform.

Destroy complete! Resources: 0 destroyed.
•SSSSSSSSSSSSS

Ran 1 of 36 Specs in 41.869 seconds
SUCCESS! -- 1 Passed | 0 Failed | 1 Pending | 34 Skipped
You're using deprecated Ginkgo functionality:
=============================================
  --ginkgo.slow-spec-threshold is deprecated --slow-spec-threshold has been deprecated and will be removed in a future version of Ginkgo.  This feature has proved to be more noisy than useful.  You can use --poll-progress-after, instead, to get more actionable feedback about potentially slow specs and understand where they might be getting stuck.

To silence deprecations that can be silenced set the following environment variable:
  ACK_GINKGO_DEPRECATIONS=2.11.0

PASS

Ginkgo ran 1 suite in 47.073627567s
Test Suite Passed

/retest

/retest

/retest

/retest


Add various code refactorings

I split the changes into separate commits to make review easier, initial highlights:

Avoid redundant 'as u16' casts
Use is_empty instead of len checks
Use Option::map if applicable
Use Option::as_deref to simplify some matches
Simplify match_or_insert
Use Deref to avoid clones and simplify expressions
Provide correct octal literal as file permissions
Use struct-init-with-default syntax
Avoid cloning where unnecessary
Use arrays as iterators
Use if let instead of match in parse_hosts
Simplify start subcommand procedure

it's gonna take a week or so to likely get through the changes here. Just wanted to set the expectation.

After a lot of thought, I'm really sorry to do this to you but...
these changes are a lot of ... stuff. And I'm really happy you did this! I just don't think I'll feel comfortable hitting the merge button on the whole set. Additionally, over the next few weeks zeronsd is going to change hopefully rapidly and in large complex ways.
So instead of throwing your patches away (not something I want to do) in lieu of not being able to merge them later, I would like to suggest this:
Submit one PR for each commit, or at least, independent changes. This way, if something conflicts as we're working on the new stuff(tm) we can address it quickly; either you rebase or we merge/reject and so on, without tramping the rest of your hard work.
Does that sound reasonable to you? I won't close this just yet, but I would ideally like this resolved by early next week if that's amenable to you. We should be making our big changes starting late next week.

Sounds OK! I'm really glad you've taken the time to get through these changes and I absolutely don't want to interfere with this project's design etc.
I won't have any problem splitting those changes in my local repo so this PR can be closed.

Wonderful! Thanks for being so understanding. Closing this, looking forward to the PRs!


Refactors to pluggable storage model

Codecov Report

Merging #65 (395c0ed) into develop (62e1199) will decrease coverage by 0.31%.
The diff coverage is 95.69%.

@@              Coverage Diff              @@
##             develop      #65      +/-   ##
=============================================
- Coverage      95.17%   94.86%   -0.32%
- Complexity       165      174       +9
=============================================
  Files             30       32       +2
  Lines            394      409      +15
  Branches          33       33
=============================================
+ Hits             375      388      +13
- Misses            13       14       +1
- Partials           6        7       +1

Impacted Files
Coverage Δ

...ava/com/citihub/configr/storage/MapOperations.java
90.62% <90.62%> (ø)

...itihub/configr/storage/StoreOperationsFactory.java
90.90% <90.90%> (ø)

.../com/citihub/configr/jsonpath/QueryController.java
100.00% <100.00%> (ø)

.../citihub/configr/mongostorage/MongoOperations.java
92.53% <100.00%> (+7.68%)
:arrow_up:

...citihub/configr/namespace/NamespaceController.java
100.00% <100.00%> (ø)

...om/citihub/configr/namespace/NamespaceService.java
84.84% <100.00%> (-7.79%)
:arrow_down:

...a/com/citihub/configr/schema/SchemaController.java
100.00% <100.00%> (ø)

...va/com/citihub/configr/version/VersionService.java
100.00% <100.00%> (ø)

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 62e1199...395c0ed. Read the comment docs.


Implement ButtonsPlacement property to have possibility to set NUD on the left side

@QuantumDeveloper two notes...

why changing the buttons from "+ -" to "- +"
the ClearTextButton is still right...

I made mirroring of the buttons to make it symmetric. If you want, I can change order.
Need to deal with it.

Wouldn't be ButtonsPlacement a better name than ButtonsPlacementVariant? /cc @punker76

@thoemmi what about Location for the enumeration and ButtonLocation for the dp? (about how xceed does it)

Maybe ButtonsAlignment is more consistent with WPF's naming. And ...Buttons should be plural, because it refers to all buttons of a TextBox.

@thoemmi yeah, i forgot the s and i am agreed with ButtonsAlignment... for both? enum and dp?

Yes, I'd call both the enum and the dp ButtonsAlignment.

@thoemmi done 66e26652c249717ede763ae5cc842be3d78579f7

:+1:


integrate medias / component

Hye gerasimvol,
Very nice lib with the system of navbar, thanks !
I noticed that the content filled into value, can only be stringed and are placed inside a paragraph element.
Is there a way to place a video as a content or another component to display in the accordion ?
Thanks for your help.

@tpoussard absolutely! You can pass item as scoped-slot
I have updated README and you can check demo in /demo folder
https://github.com/gerasimvol/vue-faq-accordion#-slots


Decode URI if needed when create signature

What changes are proposed in this pull request?
Fix #18442.
Why are the changes needed?
Using URI. getPath() will decode the original path.

The test result is as follows, and the decoded URI is required to calculate the signature.

@Jackson-Wang-7 This pr fixes the issue with dora, just like #18444.


Update JSDoc template with current openui5/master

Coverage remained the same at 94.755% when pulling c10923b010c13eec292b88c4310956249b01e2c8 on update-jsdoc-template-master into c01e10929d09225ba91f273eb2f5b7e47b38c078 on master.

ping


git support

Fixes: #4
This PR implements a baseline solution to #4, and is not, by far, a complete one. Things will be significantly slower than other types until better caching and fallback support is added. The goal here, though, is purely to get it to work.
The good news here is that once this is implemented, pacote will have baseline support for all dependency types and we can start going all-in on integration with npm proper.
TODO

[x] git manifest fetching (with shasum, directories, and npm-shrinkwrap)
[ ] use spawn instead of execFile to avoid maxBuffer exceeded error with large git.revs requests (like, uh, npm/npm <_<;;)
[ ] implement tarball handler (this is basically done but needs to be hooked up to manifest's work
[ ] manifest caching support
[ ] baseline tests (these are a pain -- need to set up a mocking utility that can set up repos and a git daemon)
[ ] fallback cascade for hosted git types only when the default representation is shortcut (npm does git: then git+ssh: then git+https until one succeeds or they all fail). Explicit URIs should be left intact and used as-is.
[ ] Filter out /^GIT/ variables except GIT_ASKPASS and override --template.
[ ] (maybe?) if hosted-git-info is doing the default-to-master thing, fall back to HEAD instead.

Possibly unintentional differences between this and add-remote-git.js:

This doesn't pass in --template to override any local user config around that.
This isn't filtering the GIT_ environment variables. The list we use is:

  'GIT_ASKPASS',
  'GIT_EXEC_PATH',
  'GIT_PROXY_COMMAND',
  'GIT_SSH',
  'GIT_SSH_COMMAND',
  'GIT_SSL_CAINFO',
  'GIT_SSL_NO_VERIFY'

@iarna I'm intentionally not filtering git variables on the pacote end. There's a gitEnv config that I added with this PR. My stance is that this filtering is best left to client apps because they can pick what their UI is for their users from there. It's not stuff that really changes how package downloads happen.
I don't really understand what --template is doing there. I thought it was just something for the persistent mirrors we were keeping. I looked around for git template stuff and my casual searches didn't really clarify stuff so I moved on. What's it actually do for npm?... It seems to just point to .npm/_git-remotes/_templates? :\

...ugh, but then the default state of pacote will be incompatible with standard npm behavior. We're already gonna have one such wart in the npm.pack logic having to be injected. Let's go with "maximally useful defaults" I guess. You've convinced me 😭

So, templates are a thing where you can say "any time I create a new repository either via git init or git clone use these files in the module's .git directory". It let's you do things like have default git hooks that follow you around. (For example.)
We need to override this because the user's git hooks or other config can do, well, anything, and having them act that way on package sources is surprising.

I wanna get this merged in sooner rather than later, so I'm moving that over to #70 and merging this one for now, so I can start doing more integration work before having the whole test suite working.


Get ready for Python2 deprecation

@dlstadther @Tarrasch It's almost there. We will need to give people heads-up before dropping Python2 CI.

How should we handle versioning for this support deprecation? While day 0 will just be the removal of Python 2 testing, 2.7 will continue to work for a short time. Do we go ahead and major increase at that time?

I think I makes sense to do a major release on day 0 even there is nothing as major. It is a promise that we no longer support py2 and will start introducing py3 only features. I also think we should remove six and all the other try import catch thingy. Wdyt?

That sounds great
I would like to participate in it if you don't mind

@drowoseque Of course not.

I finally came with following idea about luigi.six
For each method in this module we

replace one with raising exception sth like SixUsageException
eliminate method from luigi
passing tests guarantee that no method invocation is performing

after that we remove luigi.six

I've found a lot of crunches in luigi for working on python 3.2-3.5
Does Luigi correctly work on those versions if it's not covered by travis?
Should we remove those crunches or should we leave them?
@honnix
@dlstadther

I think I'm done with erasing py2-support in luigi
any other ideas to do for that?
@honnix
@dlstadther

Nice to see it finally happening!

Removing six and related docs then I think we are good. Thanks a lot for your great contribution @drowoseque . Good job!
Next step I'm thinking to release a few beta versions on that branch before merging to master (we should hold on till 2020 at least). What do you think, folks? We should also try to find a few beta testers, including Spotify as one of them.

We might as well stop supporting old versions of py3.

@honnix

Removing six and related docs then I think we are good. Thanks a lot for your great contribution @drowoseque . Good job!
Next step I'm thinking to release a few beta versions on that branch before merging to master (we should hold on till 2020 at least). What do you think, folks? We should also try to find a few beta testers, including Spotify as one of them.

we in cian.ru will gladly test this beta-version

@honnix
@dlstadther
@Tarrasch
could you please merge master into py2-deprecation or give me permissions for doing that?
thanks

@drowoseque I rebased from master. I don't have permission to make the change you requested either. I'm actually not sure whether it is doable to give write permission to a branch.

Label makes it easier to track all the PRs: https://github.com/spotify/luigi/pulls?utf8=✓&q=label%3A"Python2+deprecation"+

@dlstadther @Tarrasch PTAL https://github.com/spotify/luigi/releases/tag/untagged-cb779e4bce20f2ddd497

@drowoseque 3.0.0b1 is now available on pypi: https://pypi.org/project/luigi/3.0.0b1/

@honnix release notes lgtm. I am not a luigi user at my job anymore so i can't easily validate the beta release against representative pipelines.

@dlstadther No worries. Let's try to get more people onboard, somehow. :)

3.0.0b2 released https://pypi.org/project/luigi/3.0.0b2/

I think we can give it two more weeks, then merge to master and release.

Now it has been more than 2 weeks. I think we can move on merging the PR and release 3.0.0. wdty @drowoseque @dlstadther @Tarrasch

@honnix sounds good!

SGTM

@honnix
will you do that ?

Sorry this has been taking longer. I unfortunately cannot just do it now. We are having a discussion internally and hopefully we can sort it out very soon.

@honnix Python3 for the win. :)

@Tarrasch @dlstadther PTAL at the release notes https://github.com/spotify/luigi/releases/tag/untagged-fe738e7cd4ef344c93fc and the PR to kick off the release https://github.com/spotify/luigi/pull/2953

3.0.0 has been shipped.


Default merge function for pair and triple should handle easy cases first

The default merge functions for pair and triple go for the recursive case without attempting the easy cases. The easy cases are for example,
let pair (da,a) (db,b) =
  let dt = Ir_type.pair da db in
  let pp = Ir_type.dump dt in
  dt, fun ~old x y -> (* assuming non-monadic values for simplicity *)
    if x = y then x
    else if x = old then y
    else if y = old then x
    else (* recursive case *)

The fix for this is to wrap the combinator with the default merge function. This is a regression from the 0.* releases.

See #420.

Fixed by #420. Closing issue.


Add Tigris Vector Store

Tigris VectorStore
Integration with the Tigris VectorStore.
More details about the Tigris VectorStore can be found here.
Note:
This is my first contribution to this repo. I have tried to follow the contribution guide. If I missed something, please let me know.

Looks great overall! See feedback.

Looks great overall, apologies for the delay! See feedback.

No worries, I can understand. I have addressed all the feedback, could you take a look again?

Merged the extension PR #1423, closing this. Thank you!


differential loading of additional (!) polyfills

🚀 Feature request
Command (mark with an x)

- [ ] new
- [ x ] build
- [ x ] serve
- [ x ] test
- [ x ] e2e
- [ ] generate
- [ ] add
- [ ] update
- [ ] lint
- [ ] xi18n
- [ ] run
- [ ] config
- [ ] help
- [ ] version
- [ ] doc

Description
Currently, there is no way to define custom polyfills that are only loaded for ES5 or ES2015+ browsers. While the polyfills for ES5 browsers are added automatically since some minor versions, we cannot influence them. This is, however, important when using web components b/c in this case we need to load polyfills for ES5 browsers and shims for ES2015+. The latter one is required for ES2015+ browsers if we don't use differential loading and downlevel to ES5. This feature request proposes a solution.
Describe the solution you'd like
While it's not the most known feature, we can already define that scripts go into specific additional bundles. The following extra-polyfills script would be put into a bundle extra.js
"scripts":[
  {
    "input": "src/extra-polyfills.ts",
    "bundleName": "extra"
  }
]

This proposal would just add a type property telling the CLI for which browsers the bundle is intented:
"scripts":[
  {
    "input": "src/extra-polyfill.ts",
    "bundleName": "extra",
    "type": "module"
  }
]

For the time being, we could go with three values: all (all browsers), module (ES2015+ browsers), and nomodule (ES5 browsers).
If we extend the possibilities of differential loading we could use this type property to point to more fine-grained information according to the srcset property.
This approach also solves the problem that specific polyfills have to be loaded in a specific order. E. g. the web component polyfills need to be loaded after the ES5 polyfills (core.js, etc.)
Describe alternatives you've considered
ng new could generate own polyfill files like polyfills-es2015.ts and polyfills-es5.ts and point to it with specific properties in angular.json. However, this is more intrusive, leads to confusion esp. if not needed and is less flexible.

This approach also solves the problem that specific polyfills have to be loaded in a specific order.

Is there a problem that we are not aware of? The order of polyfills should be retained already.
Also potentially, following differential loading, we can make certain polyfills added based on the known browser features and the features that the app needs. Using browserlist and canonise.

Regarding the order: If we put the additional polyfills to the end of the es5-polyfills this issue would also be solved. Currently, however, we cannot influence the es5-polyfills from the outside.
The browser list idea is a really nice one. In this case, we need a mapping b/w polyfills and caniuse features. This way we can answer the question "do we need this polyfill at all"? But it doesn't answer the question "do we have to load this polyfill now". To answer this question, we need to know whether the polyfill is needed for module- or nomodule-browsers. Of course, we could infer this by joining (in the sense of a relational DB) module/nomodule browsers with browsers supporting web components. On the other side, this is more difficult and I'm not sure if it is needed.
When it comes to web component polyfills the rule of tumb "an es5 browser needs the polyfill; an es2015+ browser does not" will be a safe and simple assumption once edge is using chromium.

I was actually thinking of opening a feature request along these same lines. Thank you!
As mentioned above, the story of web component polyfills is getting increasingly easier, but at the time of this writing it's definitely still trickier than the normal es5 vs es2015+ divide.
I like the idea of adding polyfills based on browserslist + app features being used, but (again, thinking of the web components use case) I'd imagine that may constrain developers to use web components via Angular only, unless the feature detection were super robust.

This seems like a no brainer, maybe it would be even more obvious with a polyfills.es5.ts and a regular polyfills.ts file? For the same reason we all love the new differential loading, it now pains me to have to put:
import 'core-js/es/object';
in my polyfills.ts file, just because I use Object.entries() in my app, and also still need to support IE 11, knowing that all the es2015 browsers already support this :(
https://caniuse.com/#feat=object-entries

This is a good idea.
I was very excited about es5BrowserSupport when I first saw it but soon feel it is useless to us bc if you want to support ie11, you often need to load other things for ie11 besides the es2015 polyfills. Why don't just a polyfill file will load only for nomodule browsers and let the developer decide what to be put in the file?

Without polyfills, my app won't run in IE11. I've created an example project here and you can see the relevant code here.
I was excited that maybe the compiler would know which polyfills I'd need automatically somehow but this doesn't seem to be the case. I'm confused what differential loading is even doing if we still need to manually import polyfills?

@adamdport

Is that false?

It's true, but only for native javascript features. So if you have some other polyfills such as css vars, interception observer, then you have no luck.

@crysislinux

It's true, but only for native javascript features.

Not quite. When you set IE11 in the browserslist file, the Array.prototype.includes won't be added either polyfills-es5 or polyfills-es2015 file.

@destus90 Array.prototype.includes is es7,  not es6 or es2015

In the meanwhile, what would be the correct way in Angular 8 to add a polyfill that is not automatically added like import 'core-js/es7/array'; for example?

I guess this doc isn't especially explicit:
https://angular.io/guide/browser-support
But for additional polyfills, you just add them at the end of the polyfills.ts in the "Application Imports" section, like:
/***************************************************************************************************
 * APPLICATION IMPORTS
 */
import 'core-js/es7/array';

Is there a way to exclude specific polyfills?
For my case would be to remove core-js/es6/string to avoid conflict with Microsoft Script Resource AXD code which is already included for SharePoint 2013.

The current recommended solution is to inject scripts through the workspace configuration and load the polyfills for both environments.
Separating between module/nomodule scripts is very error prone and we prefer to keep it entirely under CLI control at this point.


Allow the cards dialog to take different types of collections

E.g. a query, or card-id/links-bfs/2 or CARD-ID/inbound-links
Conceptually the cards dialog and query should actually be just a collection that could have been done as a URL pattern.
If you pop out the CollectionDescription as a concept, then each one can be serialized to a URL. They take: the set, the filters, the sort(s), and the dynamic filters. Dynamic filters are functors that take in arguments and return a functor of (card_id, cards, filters) => bool. The string name for them is used to fetch a functor. And there's a URL pattern for them (what issue ID is this? there was one for 'changes before date')
e.g.
before/2020-09-20 and between/2020-09-20/2020-11-15 and query/<urlencoded-query-terms>/sort/query and links/CARD-ID and links-bfs/CARD-ID/PLY where PLY is an integer of how many levels deep to go, and links/CARD-ID is equivalent to links-bfs/CARD-ID/1
Useful for #299, as well as #289.

Note the machinery in #301 now supports this (and is most of the difficulty and description text in the first bits)

This was done across many commits including on issues #385 #309 and others


Do not apply the interpolation fix when Thorium is installed - 1.19 edition

Bug report: https://github.com/DaFuqs/Spectrum/issues/66
The mod thorium (https://www.curseforge.com/minecraft/mc-mods/thorium) makes a list of bug fixes, including the same interpolation fix. Having both mixins being applied at once tints all animated blocks blue because of overflow by combining the two mixin effects at once.

Hm. Why do we even have an interpolation fix in incubus? For sure it's nice to have, but it seems a little out of place here. Do we make use of it anywhere?
I'll leave it up to @Azazelthedemonlord whether to keep it though

That fix is staying here til the day I die. Good pr though.

Also includes the rendering yeet now


Prisma <> Supabase - bind message supplies 1 parameters, but prepared statement "s1" requires 2

Bug description
Error occurred during query execution:
ConnectorError(ConnectorError { user_facing_error: None, kind: QueryError(Error { kind: Db, cause: Some(DbError { severity: "ERROR", parsed_severity: Some(Error), code: SqlState("08P01"), message: "bind message supplies 1 parameters, but prepared statement \"s1\" requires 2", detail: None, hint: None, position: None, where_: None, schema: None, table: None, column: None, datatype: None, constraint: None, file: Some("postgres.c"), line: Some(1697), routine: Some("exec_bind_message") }) }) })

How to reproduce
Running Seed file with a simple query as follows
await prisma.marketPlace.createMany({
                data: [
                    {
                        name: 'Opensea',
                        slug: 'opensea',
                        iconUrl: '',
                        description: '',
                        website: 'https://opensea.io/',
                    },
                    {
                        name: 'Art Block',
                        slug: 'art-block',
                        iconUrl: '',
                        description: '',
                        website: 'https://artblocks.io/',
                    },
                    {
                        name: 'Foundation',
                        slug: 'foundation',
                        iconUrl: '',
                        description: '',
                        website: 'https://foundation.app/',
                    },
                    {
                        name: 'Mintable',
                        slug: 'mintable',
                        iconUrl: '',
                        description: '',
                        website: 'https://mintable.app/',
                    },
                    {
                        name: 'Rarible',
                        slug: 'rarible',
                        iconUrl: '',
                        description: '',
                        website: 'https://rarible.com/',
                    },
                    {
                        name: 'SuperRare',
                        slug: 'superrare',
                        iconUrl: '',
                        description: '',
                        website: 'https://superrare.com/',
                    },
                ],
            });

Expected behavior
Create records
Prisma information

Environment & setup

OS: MacOS
Database: PostgreSQL
Node.js version: v16.9.0

Prisma Version
3.0.2

Which of the 2 available connection strings from Supabase are you using - the pooled or the direct one?
Is this reproducible or only happens sometimes?

Can you please also share the schema so that we can try the query ourselves?


Home assistant blocker

Hello,
First of all thanks! your project is giving my nook a second life ^^.
My bug is related to your
       await page.waitForSelector("home-assistant", {       timeout: Math.max(config.renderingTimeout - navigateTimespan, 1000)     });
Code, as I am personally not using lovelace but I am currently more of a Tileboard user... so this check is blocking.
Easy fix but just thought I would share it.

That's great to hear!
Probably we could make the selector configurable as well, defaulting to the current value home-assistant.
Will add it to my list (or appreciate a PR) 👍


Expose ports 8001-8008 for new multiinstance servers.

This can be closed... we do not need it: Reason: The rkt networking binds 8000 in each container.

instance1: 8000:PORT1
instance1: 8000:PORT2
...


org-fstree seems to be removed by Melpa or other elpa repo

Hello:
After I re-cloned your repo and started Emacs, I received an exception  by maybe-require-package.
Because of my current work, it is forbidden to copy any development information. So can not provide specific information, sorry.
In short, after I refreshed all elpa repos, execute package-install RET org-fstree, it shows package is unavailable.
Thank you.

I can reproduce something similar (on macOS GNU Emacs 25.3.1) by

delete org-fstree with the package manager UI
restart Emacs
evaluate (maybe-require-package 'org-fstree)

messages buffer:
Evaluating...
Importing package-keyring.gpg...done
Contacting host: orgmode.org:80
Contacting host: melpa.org:443 [2 times]
Package refresh done
41 packages can be upgraded; type ‘U’ to mark them for upgrading.
Couldn’t install optional package ‘org-fstree’: (error "Package ‘org-fstree-’ is unavailable")
nil

The above message is not an error, just a message, so Emacs works normally for me. Do you get an error? If so is there any way you can reproduce it, for example when not at work?
I can't find the package on MELPA or orgmode.org so I expect it has been pulled.
I don't use org-fstree. If you do then you'll probably have to install it manually: http://www.burtzlaff.de/org-fstree/

Yep, we dropped it from MELPA, and I didn't get around to updating my config. Done now, thanks!

Thank you.
And...Would you like to tell me why MELPA dropped org-fstree ?

Thank you.
And...Would you like to tell me why MELPA dropped org-fstree?

It didn't come from a secure source: https://github.com/melpa/melpa/commit/6824fa8fb5b34bef91fc5c0e1345a976ea53690f

@dcorking Thanks.
And...This seems to be the aftermath of the accident a few months ago...

What accident? (BTW melpa/melpa#3004 was opened in 2015)

Okay, I seem to be wrong...sorry.

Probably OT but please tell me about an accident (email address in my profile).
FWIW apparently org-fstree is considered too crufty to be worth moving to SSL/TLS: https://github.com/melpa/melpa/issues/3004#issuecomment-375910969

@dcorking
I confused it with melpa/melpa#5008.


Available content options

Check what content options can be produced with FFMPEG

Here is the list of content options which have been mentioned;

with and without picture timing SEI message
with and without VUI timing information
Sample entry, see CMAF clause <IP_ADDRESS>; 3 options;

avc1 sample entry type (parameter sets within the CMAF Header)
avc3 sample entry type (in-band parameter sets) without parameter sets within the CMAF header
avc3 sample entry type (in-band parameter sets) with parameter sets within the CMAF header

CMAF Fragment durations (e.g. 2s or 5s)
Initialization Constraints, either

Regular Switching Set, do not apply CMAF clause <IP_ADDRESS> and <IP_ADDRESS> or
Single initialization constraints, see CMAF clause <IP_ADDRESS> and <IP_ADDRESS>

Fragments containing one or multiple moof/mdat pairs [reference to Media profile spec]

Fragment is 1 chunk
Fragment contains multiple chunks (p-frame to p-frame with b-frames)
Each sample constitutes a chunk (p-frame only)

emsg box (v0 and v1)
negative composition time offset.
undefined ISOBMFF boxes
playlists

The content options are documented in the wiki page for each Profile. The available content options are documented. We may move this documentation back to the code creating markdown pages.

Ideally someone would take a list of content options, cross-reference this against ffmpeg to see which ones could be generated, generate an example of each and cross-check with stream analysis tools that the option is generated 1) as we would expect and 2) according to the specifications.

Feedback from @eceozturk
I have not done the complete check but some features that I know are as follows:

Sample entry avc1 is supported but not avc3. When specifying the encoder in the ffmpeg command (“libx264” can be searched in the source code), directly avc1 is used. (Representation class in the code.)
VUI information is optional. This can be provided with “color_primaries”, “color_trc” and “colorspace” options. (Representation class in the code.)
Fragment durations can be configured in the DASH class with seg_duration option. I do not know for the chunking but for this min_keyint, key_int, seg_duration options could be relevant.

Please let me know if any issues.

avc3 is supported by using the tag option and avc3 as argument, otherwise avc1 is used. The presence of in-band parameter sets depends on the output of the encoder, but there are bitstream filters available that remove or inject them if needed (dump_extradata and remove_extradata).
Fragmentation is handled by the frag_type, frag_duration and seg_duration dash muxer options as follows:
one chunk per segment -> frag_type none
p-frame to p-frame with b-frames -> frag_type pframes
each sample constitutes a chunk -> frag_type every_frame
arbitrary duration -> frag_type duration, combined with a value in seconds for frag_duration and/or seg_duration (the former must be smaller than the latter for obvious reasons), and min_keyint and key_int parameters for the encoder. Timebase/framerate plus the keyint values must be taken into consideration when choosing the duration value.
negative composition time offset can be enabled with the negative_cts_offsets flag passed to the movflags option from the mp4 muxer (from within the dash muxer, this is done with the format_options option). Alternatively, the cmaf flag for movflags, which enables negative cts offsets plus a few other considerations.

DPCTF 2020/07/29: add the above parameters to the script

Can this issue be closed? FYI here is the table of implemented parameters: Stream ID , picture timing SEI message , VUI timing information , Sample entry (CMAF <IP_ADDRESS>) , Sample entry (CMAF <IP_ADDRESS>) in header , CMAF fragment duration in seconds, Initialization constraints ,frag_type

I think this issue can be closed.
@haudiobe as the original proposer, do you agree?


BZ-1175395 - Add multi Instance completion condition support

Maciej and I talked about this and decided to apply his chances from this PL as a separate commit since it can no longer be automatically merged (due to some changes to MI code in designer).
This code has been applied to master and 6.2.x branches


Update SqlServerDatabaseType.appendEscapedEntityName to format entity names correctly

Should result in identifiers formatted according to the following pattern
[database].[schema].[table]

I'll change the associated tests and update the pull request as well, missed that part


Create CSA region-to-email mapping YAML file for cisagov/cyhy-mailer

🗣 Description
This pull request makes the necessary changes to create the CSA region-to-email mapping YAML file now required by cisagov/cyhy-mailer as of cisagov/cyhy-mailer#101.
💭 Motivation and context
Partly resolves cisagov/cyhy-system#114.  See also cisagov/cyhy-mailer#101.
🧪 Testing
All automated tests pass.
✅ Pre-approval checklist

[x] This PR has an informative and human-readable title.
[x] Changes are limited to a single goal - eschew scope creep!
[x] All relevant type-of-change labels have been added.
[x] I have read the CONTRIBUTING document.
[x] These code changes follow cisagov code standards.
[x] All new and existing tests pass.

Hi Team, one medium severity issue at terraform_egress_pub/cloudfront.tf line 144, detected an AWS CloudFront Distribution with an insecure TLS version. TLS versions less than 1.2 are considered insecure because they can be broken. To fix this, set minimum_protocol_version to "TLSv1.2_2018", "TLSv1.2_2019", or "TLSv1.2_2021".

Hi Team, one potential medium severity issue at terraform/ files bod_vpc_flow_logs.tf, cyhy_vpc_flow_logs.tf, and mgmt_vpc_flow_logs.tf each file at line 43, aws-cloudwatch-log-group-no-retention. The AWS CloudWatch Log Group has no retention. Missing retention in log groups can cause losing important event information.

Hi Team, one potential medium severity issue at terraform/ files bod_vpc_flow_logs.tf, cyhy_vpc_flow_logs.tf, and mgmt_vpc_flow_logs.tf each file at line 43, aws-cloudwatch-log-group-no-retention. The AWS CloudWatch Log Group has no retention. Missing retention in log groups can cause losing important event information.

The issue you bring up has nothing to do with this pull request, but I created #751 to capture your concern.

@jsf9k I forgot to ask this earlier, but did you already populate the correct CSA/email YAML in SSM (/cyhy/csa_email_yaml)?  If so, please mention that somewhere in the PR description above.


drivers: uart_ns16550: device config_info content mutated

The device config_info structure is intended to be read-only, and so
the generic pointer stored in struct device is a pointer-to-const.
The uart_ns16550 driver removes this qualifier when casting the pointer to
the device-specific type.  This removal is a violation of MISRA 11.8
as it evokes undefined behavior.
When the qualifier is preserved the driver does not build, because it
modifies the object content at runtime.  Consequently the fix for this
driver has been removed from #25248.
https://github.com/pabigot/zephyr/commits/nordic/issue/24745e provides
the changes necessary to preserve const correctness.  When applied it
produces the following diagnostic:
/home/buildslave/src/github.com/zephyrproject-rtos/zephyr/drivers/serial/uart_ns16550.c: In function 'uart_ns16550_configure':
/home/buildslave/src/github.com/zephyrproject-rtos/zephyr/drivers/serial/uart_ns16550.c:333:25: error: assignment of member 'port' in read-only object
  333 |   dev_cfg->devconf.port = pcie_get_mbar(dev_cfg->pcie_bdf, 0);
      |                         ^

The driver must be updated to resolve this and incorporate the change
from the referenced branch.

@pabigot can you please help me understand this - I made the change suggested, but did not see the diagnostic you mentioned. How can I reproduce that?

@jenmwms provided details in #25274.

@pabigot Thank you for the details and how to reproduce this. I'm looking at this

AFAICT this should have been fixed by af43e14bd0dbcdb0595b1e6620f85fd3513a9eaa.
Could you please confirm @jenmwms @dcpleung ?

af43e14bd0dbcdb0595b1e6620f85fd3513a9eaa fixed the assignment to a nominally const structure; #25462 preserves the qualifier in the helper macro and casts.  I don't know if there's anything else to do.

https://github.com/zephyrproject-rtos/zephyr/commit/af43e14bd0dbcdb0595b1e6620f85fd3513a9eaa is simply for the PCIE code to not change the config struct. I haven't vetted anywhere else in the code, so can't say for sure.

Thanks for asking! Great questions. I recognize #25462 looks to provide the minimal changes remaining to resolve the issue after af43e14 merged, however please reconsider the existing PR #25274 (which already contains these changes) along with improved consistency related to this topic.

@jenmwms I thought this might get more trade-off discussion relative to #25274 which you've been working.  I think you should be able to rebase #25274 on top of master to get your additional changes in.

@pabigot Ok, I will do that.


Create pip package

Use as reference: https://github.com/Bitergia/prosoul/issues/51

https://pypi.org/project/mcthings/
Done!


Issue with undefined reference to .L

Hi @MabezDev,
Thank you for your effort to bring xtensa arch to Rust!
I am in process to port our bare-metal SW written in Rust+C mix from Cortex-M device to ESP32.
Currently I able to blink by LED on the board :)
Now I trying to output some text (&str) into UART. I encountered to following error on linking:
target/xtensa-none-elf/release/deps/esp32_hello-53491af6071c1b49.esp32_hello.wtaa4xj7-cgu.0.rcgu.o:(.literal._ZN11esp32_hello10rust_blink17he8ce6b3bf0257d54E+0x8): undefined reference to `.L'
          collect2: error: ld returned 1 exit status

But, I fixed it (occasionally) by adding "-C", "save-temps" to rustflags table in .cargo/config.
So, I think it will be useful, if you add comment about such trick somewhere in Readme file.

Thanks! I haven't personally run into this issue but I'll add it to the FAQ asap.

Currently I able to blink by LED on the board :)

Do you mean you have an ESP32 blinking with Rust?

I use bindings to ESP-IDF that do all work. I've upload my project to github: https://github.com/lexxvir/esp32-hello

That's awesome thanks for sharing! I haven't had the time to test whether my custom rustc actually built proper xtensa binaries, glad to see it's working for you! If you don't mind, I'd like to link your project in the readme too?
Also if you are interested, in the next few weeks when my workload dies down a bit I will be starting work on proper runtime crates https://github.com/esp-rs . I had the same idea of using the IDF intially for the runtime and building the rust application on top. It would be cool if we could work together on this :).

Yes, link please my repo. I think ESP required significant efforts to be usable in Rust (as Cortex-M is). So if people see that there is quickstart (template) project, it can help to attract attention to development.
My plan is to write shims/wrappers around ESP-IDF, because I need to port existed SW from Cortex-M device ASAP. I think writing runtime/foundation crates in pure Rust from scratch is too complicated task for me.
So we can join efforts to write wrappers around ESP-IDF.

I've investigated it slightly further, it seems enough --emit llvm-bc,link to workaround this issue. -C save-temps annoyed with "warning: -C save-temps might not produce all requested temporary products when incremental compilation is enabled.". Also see https://github.com/espressif/llvm-xtensa/issues/4.


Disallow PHP 7.4 failures on Travis CI

PHP bug has been closed. Looks like the actual bug was in mikey179/vfsstream (https://github.com/bovigo/vfsStream/pull/204). The fix has been merged and released so we can now disallow Travis CI failures.

Shouldn't we update composer.json with:
         "justinrainbow/json-schema": "^5.0",
         "keradus/cli-executor": "^1.2",
-        "mikey179/vfsstream": "^1.6",
+        "mikey179/vfsstream": "^1.6.8",
         "php-coveralls/php-coveralls": "^2.1",
         "php-cs-fixer/accessible-object": "^1.0",

or is it overkill?
If we had Travis job with PHP 7.4 and COMPOSER_FLAGS="--prefer-lowest" it would fail.

For now it doesn't fail so I'd say it's fine.

Thank you @julienfalque .


Deleting account does not clears the transactions

Bug Description
After deleting an account the transactions of the account are not cleared and anyone can see them.
Steps to Reproduce
Steps to reproduce the behavior:

Delete an account with some transactions.
Login again or see it's transactions
See the error

Expected behavior
Transactions must be cleared
Actual behavior
Transactions are not cleared
OS and Browser

OS: Windows 10

Account Number
38a99b8f1916eab0471ca1df26e7fe5e71d845e6ea5b233cd3d93a75097ea2d6

Transactions remain on the blockchain. All Txs are public.

Transactions remain on the blockchain. All Txs are public.


"File is not a constructor" in Node 16 and below

I have the following index.js
const { File } = require('buffer');
console.log(new File(['Hello World'], 'hello.txt'))

node index succeeds on Node v20.0.0 and v18.16.0.
node index fails with the following error on Node v16.20.0 and v14.21.3
console.log(new File(['Hello World'], 'hello.txt'))
            ^

TypeError: File is not a constructor
    at Object.<anonymous> (/home/jeswr/Documents/GitHub/buffer-file-test/index.js:2:13)
    at Module._compile (node:internal/modules/cjs/loader:1196:14)
    at Object.Module._extensions..js (node:internal/modules/cjs/loader:1250:10)
    at Module.load (node:internal/modules/cjs/loader:1074:32)
    at Function.Module._load (node:internal/modules/cjs/loader:909:12)
    at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:81:12)
    at node:internal/main/run_main_module:22:47

Versions
buffer: 6.0.3

Did you get any solution for this?

No I did not, though not sure if this is particularly important now that Node 18 is deprecated.
@NSeydoux is this still a problem for solid-client?


Change create-react-class to es6 react class

Change create-react-class to es6 react class

Released in v2.0.0 !


problem with integrating bgfx to juce

I'm integrating bgfx to juce, and I have read the #663 and doing the same thing as he does.
When the juce initialse its opengl context, I initialse bgfx .

void canvas::initialise()
{
    bgfx::PlatformData pd;

    pd.ndt = NULL;
    pd.nwh = getPeer()->getNativeHandle();
    pd.context =  openGLContext.getRawContext();
    pd.backBuffer = NULL;
    pd.backBufferDS = NULL;
    bgfx::setPlatformData(pd);

    bgfx::Init init;
    int width = getWidth();
    int height = getHeight();

    init.vendorId = BGFX_PCI_ID_NONE;
    init.type = bgfx::RendererType::OpenGL;
    init.resolution.width = (uint32_t)width;
    init.resolution.height = (uint32_t)height;
    init.resolution.reset = BGFX_RESET_VSYNC;
    bgfx::renderFrame();

    if (!bgfx::init(init))
        return;

    //bgfx::setDebug(BGFX_DEBUG_TEXT);

    const bgfx::ViewId kClearView = 0;
    bgfx::setViewClear(kClearView, BGFX_CLEAR_COLOR | BGFX_CLEAR_DEPTH
        , 0x303030ff
        , 1.0f
        , 0
    );

    //openGLContext.setSwapInterval(0); // unlock the fps
}

and in its render function , I just set the color of screen, like this
void canvas::render()
{
    const bgfx::ViewId kClearView = 0;
    // Set view 0 clear state.
    bgfx::setViewClear(0
        , BGFX_CLEAR_COLOR | BGFX_CLEAR_DEPTH
        , 0x660000ff
        , 1.0f
        , 0
    );
    bgfx::setViewRect(kClearView, 0, 0, _w, _h);

    bgfx::touch(0);
    bgfx::frame();

}

like #663 said,  I think he got it worked in mac.
but on windows,  https://github.com/bkaradzic/bgfx/blob/8c2b99d81e7a2a212e18d68f42f6e85763705093/src/glcontext_wgl.cpp#L136
this line of code would fail, becasue I use the juce's opengl context (pd.context =  openGLContext.getRawContext();), and on windows it'll return zero, and when I get last error , it says ERROR_INVALID_PIXEL_FORMAT.
So I think on windows ,before we call https://github.com/bkaradzic/bgfx/blob/8c2b99d81e7a2a212e18d68f42f6e85763705093/src/glcontext_wgl.cpp#L136
we must set the pixel format of the HDC explicitly ?
So I add following code
			PIXELFORMATDESCRIPTOR  pfd;
			initpfd(pfd);  //just set the pfd the same as juce has.
			int pixelFormat = ChoosePixelFormat(m_hdc, &pfd);
			bool isSuccess = SetPixelFormat(m_hdc, pixelFormat, &pfd);

before the call wglMakeCurrent, and everything works fine.
Is it the same issuse as  https://github.com/google/filament/pull/165

I think bgfx is not taking opengl seriously! So I'll close this issue.


Workbooks exported from web app cannot be parsed

XLS workbook exported from a web app (I am not sure which library they are using on the back end, have an inquiry in to find that out) fails to parse with errors such as
xls.js:212 Uncaught Header Signature: Expected d0cf11e0a1b11ae1 saw 3c3f786d6c207665

Opening and re-saving the file in Excel appears to correct the issue, so I suspect the original generating library is doing something wrong.. if it is possible to support though that would be ideal.

xls.js:202 Uncaught Header Signature: Expected d0cf11e0a1b11ae1 saw 3c68746d6c20786dCheckField @ xls.js:202check_get_mver @ xls.js:1469parse @ xls.js:1381readSync @ xls.js:1695reader.onload @ oMLimitMasiveUpload.js:124
I have download xls file using FileSaver js, But when i try to read the same ! its showing above error.
Its working fine if i create new xls file.
Anyone resolved this ??
@thaeli @SheetJSDev


Provide a css class when component does not fit the screen

Basically, what I need is a css class to style the list in a certain way when the component is on bottom and another css class when the component is on the top.

@eduardolundgren is there a way to look the auto positioning feature?

We do something similar to do this for metal-tooltip already, so this should be simple to do once we have https://github.com/metal/metal-autocomplete/issues/1 working too :)

:tada:


Removed duplicated items

In accordance with the contribution guidelines, duplicated entries should be avoided. I have found numerous entries:

Docker for Developers by @jpetazzo: listed under 'Where to start?' and 'Useful Videos'
Docker Cheat Sheet by @wsargent: listed under 'Where to start?' and 'Useful Resources'
Project Web Dev: listed under 'Where to start?' and 'Useful Resources'
I realized that Docker Containers on the Desktop and Container Hacks and Fun Images by jessfraz are closely related. And both are listed twice, each under 'Where to start?' and 'Useful Resources'.

bold category is where the link is located now
If you find further duplicated items, please add them here as comments with a link and in which category it should belong to.

Meanwhile, I have found additional duplicated items. However, it seems to be necessary to keep them where they are.

Dokku: listed under 'Local Container Manager' and 'PaaS'
Panamax: listed under 'Where to start?' and 'Remote Container Manager / Orchestration'
Portainer: listed under 'Remote Container Manager / Orchestration' and 'Web Interface'
Rancher: listed under 'Paas' and 'Remote Container Manager / Orchestration'

Nice job once again! 😄
I would say to put those in the bold category:
Dokku: listed under 'Local Container Manager' and 'PaaS'
Panamax: listed under 'Where to start?' and 'Remote Container Manager / Orchestration'
Portainer: listed under 'Remote Container Manager / Orchestration' and 'Web Interface'
Rancher: listed under 'Paas' and 'Remote Container Manager / Orchestration'
What do you think?

Above items are accordingly listed. Yes, Portainer was the tricky part.
Just found out, while editing the CenturyLinkLabs' Panamax project, that another project by them Dray is also listed twice: 'Development Environments' and 'Local Container Manager' --> Seems to me overall a container manager. What do you think?

Travis error again?! Always an issue with tsuru.io
Anyway, was quite a mess with re-editing stuff.
But I learned a lot and it was fun 😃


Cleaner-component not called when deleting a cluster

Description
The cleaner-component is no longer called when executing a deletion of a cluster. See list of components when the cluster was scheduled for deletion (cleaner is missing):
  2022-03-10T08:07:53.17502239Z stderr F {"level":"INFO","time":"2022-03-10T08:07:53.174Z","message":"ReconRepo created reconciliation (schedulingID:73b5c285-986a-4276-a73e-68991138cdb1--30da79b7-6734-4be9-81eb-dd812efddb20) for cluster '73b5c285-986a-4276-a73e-68991138cdb1' including following operations: CRDs@default[1],cluster-essentials@kyma-system[2],istio-configuration@istio-system[2],certificates@istio-system[2],logging@kyma-system[3],monitoring@kyma-system[3],eventing@kyma-system[3],rafter@kyma-system[3],cluster-users@kyma-system[3],service-manager-proxy@kyma-system[3],service-catalog-addons@kyma-system[3],compass-runtime-agent@compass-system[3],busola-migrator@kyma-system[3],api-gateway@kyma-system[3],service-catalog@kyma-system[3],helm-broker@kyma-system[3],serverless@kyma-system[3],application-connector@kyma-integration[3],rma@kyma-system[3],connectivity-proxy@kyma-system[3],ory@kyma-system[3]"}

This leads to non-deletable CRDs as the finalizers doens't get dropped.
Seems setting the deletion-strategy on the ReconciliationSequenceConfig-instance during the StartReconciliation transition:  https://github.com/kyma-incubator/reconciler/blob/main/pkg/scheduler/service/transition.go#L95 is not happening.
Expected result
Cleaner component is called when deleting a cluster and removes finalizers from CRDs.
Actual result
Cleaner component is not called when deleting CRDs.
Steps to reproduce

Troubleshooting

This issue was fixed in #925


[FLINK-10052][ha] Tolerate temporarily suspended ZooKeeper connections

What is the purpose of the change
When ZooKeeper client experiences a ConnectionLossException, it doesn't mean that the latch on the ensemble is lost, which infer that the current contender is possibly still the leader.
Given a common case that we actually have one contender for leader election but the network environment between client and ensemble is unstable. In this case contender such as Dispatcher will experience a "revoke" - "regranted" loop that cleanups and recovers internal states. This causes two shortcomings.

It is unnecessary cycles cost since from ZK or said global perspective the contender never lost its leadership.
Unfortunately, Flink suffers several HA problems such as FLINK-10333 which will be in worse case when this leadership flip-flops happens frequently.

Although the general solution should be we properly fix the problems in our high-availability implementation, this PR eases quite a bit of user experience.
Following thoughts would be

As a previous common inside ZooKeeperLeaderElectionService. It says // Maybe we have to throw an exception here to terminate the JobManager. I agree on the statement and it would be better we use a JobManager(child) → Dispatcher(supervisor) and Dispatcher/RM(child) → ClusterEntrypoint(supervisor) model to properly handle failure as Actor Model does. It will totally regenerate the child instead of trying to handle states among different leader epochs, which is error-prone. And since we tolerate temporarily suspended leadership lost would be a rare event.
We internally implemented a LeaderStore based high-availability abstraction which is described in this thread. It is verified online for a while and I'm digging a way to contribute it back to our community. Basically the interface and architecture changed so it might cost some time for find a good rolling-up way.

Verifying this change
This change added tests and can be verified as follows:

ZooKeeperLeaderElectionConnectionLossTest

Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): (no)
The public API, i.e., is any changed class annotated with @Public(Evolving): (no)
The serializers: (no)
The runtime per-record code paths (performance sensitive): (no)
Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Kubernetes/Yarn/Mesos, ZooKeeper: (yes)
The S3 file system connector: (no)

Documentation

Does this pull request introduce a new feature? (yes)
If yes, how is the feature documented? (docs)

@zentol Thanks for your review! I answer your question inline and push two commits, respectively

Address code quality issue.
Always turn on the feature

we can revert 2 if we reach a consensus having an option. But as mentioned inline, the general case is, user suffers from unstable zk connection while leadership doesn't switch.

Is setting the session timeout to a low value equivalent to not tolerating suspended connections from a users point-of-view?

I will say "no" because they're totally different things.

SUSPENDED caused by ZK ConnectionLossException, which means the client-server socket broken. Then the ZK client will automatically retry to connect to other servers in the ensemble.
LOST caused by ZK SessionExpiredException, which (with Curator features) means the session timeout configured elapsed and the client cannot find a server.

Practically, if session timeout set to a low value, with this feature turn on, and client-server connection loss, from a users point-of-view, the suspended connection still in tolerance. But the leader services possibly revoke the leadership soon after the session timeout elapsed.
Often user suffers ZK connection issue(with or without this feature) when ZK ensemble unstable or high throughput on JM(said job with large parallelism in scheduling).
But whether or not a session timeout and whether or not we tolerate suspended connection have nothing to do with each other.

Hi @zentol , further concerns?

Chesnay asked for my feedback. I try to take a look at this PR asap.

@tillrohrmann ping as a reminder :-)

@tillrohrmann @zentol any ideas?

@zentol @tillrohrmann I've been running into this issue and have a lot of interest in getting it fixed, anything we can do to get this moving forward?

Sorry @paulangton. This is still on my plate to review. I'll try to get to it once we have the 1.12 release out. I hope that we can include this feature in the next release then.

Some users also complain about the same issue in the<EMAIL_ADDRESS>When they restart the ZooKeeper server node one by one, they find all the Flink running jobs have failed over.

This is a good additional data point @wangyang0918.

We're seeing lots of job terminations due to this as well as job not being to able to recover from checkpoint and starting out afresh. Can we expect this fix to be ready for 1.12.1 release?

@vishalovercome what exactly is causing the system to not recover from the checkpoints after the ZooKeeper connection has been temporarily suspended? Once a JobMaster regains leadership, it should be able to load the latest checkpoint and continue from where it left off.

Will be superseded by a pr based on master. Hope it gets reviewed in time this time.