Fix ci

https://github.com/tweag/jupyenv/pull/562

@GTrunSec I was hoping that would trigger build, but it didn’t.

still hangs. locally runs fine.

removed kernel tests from flake check

I'm puzzled. Seems like every minimal kernel installed via poetry is broken. Those defined via custom kernelFunc are working fine.
I can reproduce this behavior locally.

Scala kernel seems to be not compatible with current scala version. Elm, Julia, Haskel and Postgres I’m unable to compile at the moment.

@anpin thanks for your helping, I think we can just fix the Haskell part and website would be enough.  I'm going to rewrite jupyenv https://github.com/GTrunSec/jupyenv-next, there is no reason to spend time on the bump up to the latest locks.

I managed to fix missing deps for haskell, but it is still failing with some cryptic error
└[~/projects/jupyenv]> nix build .\#jupyterlab-kernel-example-haskell-minimal -L --show-trace
warning: Git tree '/home/a/projects/jupyenv' is dirty
ihaskell-with-packages-ghc910> created 3 symlinks in user environment
ihaskell-with-packages-ghc910> mv: cannot move '/nix/store/pfyja4zf6sjfwiv4ws1r7aapsa07fs6d-ihaskell-with-packages-ghc910/bin/HsColour' to '/nix/store/pfyja4zf6sjfwiv4ws1r7aapsa07fs6d-ihaskell-with-packages-ghc910/bin/.HsColour-wrapped': Permission denied
error: builder for '/nix/store/9i1mry02020c3gabz8dx8mm7dlfw16x2-ihaskell-with-packages-ghc910.drv' failed with exit code 1;
       last 2 log lines:
       > created 3 symlinks in user environment
       > mv: cannot move '/nix/store/pfyja4zf6sjfwiv4ws1r7aapsa07fs6d-ihaskell-with-packages-ghc910/bin/HsColour' to '/nix/store/pfyja4zf6sjfwiv4ws1r7aapsa07fs6d-ihaskell-with-packages-ghc910/bin/.HsColour-wrapped': Permission denied
       For full logs, run 'nix log /nix/store/9i1mry02020c3gabz8dx8mm7dlfw16x2-ihaskell-with-packages-ghc910.drv'.
error: 1 dependencies of derivation '/nix/store/cj20wqaiqi87izhc5g3scxgldjgnjpzn-wrapper-chmod-python3-3.12.7-env.drv' failed to build

which seems like an upstream issue https://github.com/IHaskell/IHaskell/issues/1434

@GTrunSec what is the rationale behind full rewrite? Are you planning to merge it in this repo or it will be separate project?

last commit allows the haskell kernel to compile, however tests are failing due to missing kernels / kernel.json file

I forked the ${ihaskell}/nix/release.nix to customize kernel.json generation. The kernel starts, but fails instantly with
> result/bin/python examples/haskell/minimal/test.py
/nix/store/cv8zpwnabrnggb1lxfjy6hksvfl6hfdr-python3-3.12.7-env/lib/python3.12/site-packages/IPython/paths.py:69: UserWarning: IPython parent '/' is not a writable location, using a temp directory.
  warn("IPython parent '{0}' is not a writable location,"
ihaskell:
Ran commands:
ghc-pkg check
which ghc-pkg

Exception: user error (shelly did not find ghc-pkg in the PATH: /nix/store/z0ivg3dbal4sk5h0c7p1pfkxc7ff98ri-nodejs-20.18.0/bin:/run/wrappers/bin:/home/a/.nix-profile/bin:/nix/profile/bin:/home/a/.local/state/nix/profile/bin:/etc/profiles/per-user/a/bin:/nix/var/nix/profiles/default/bin:/run/current-system/sw/bin:/home/a/.zsh/plugins/zsh-syntax-highlighting:/home/a/.zsh/plugins/zsh-autosuggestions:/home/a/.zsh/plugins/zsh-dotnet-completion)
HasCallStack backtrace:
  finally, called at compiler/GHC/Utils/Panic.hs:303:7 in ghc-9.10.1-inplace:GHC.Utils.Panic

Traceback (most recent call last):
  File "/home/a/projects/jupyenv/examples/haskell/minimal/test.py", line 14, in <module>
    test_nb()
  File "/nix/store/cv8zpwnabrnggb1lxfjy6hksvfl6hfdr-python3-3.12.7-env/lib/python3.12/site-packages/testbook/testbook.py", line 61, in wrapper
    with self.client.setup_kernel():
         ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/nix/store/px2nj16i5gc3d4mnw5l1nclfdxhry61p-python3-3.12.7/lib/python3.12/contextlib.py", line 137, in __enter__
    return next(self.gen)
           ^^^^^^^^^^^^^^
  File "/nix/store/cv8zpwnabrnggb1lxfjy6hksvfl6hfdr-python3-3.12.7-env/lib/python3.12/site-packages/nbclient/client.py", line 603, in setup_kernel
    self.start_new_kernel_client()
  File "/nix/store/cv8zpwnabrnggb1lxfjy6hksvfl6hfdr-python3-3.12.7-env/lib/python3.12/site-packages/jupyter_core/utils/__init__.py", line 165, in wrapped
    return loop.run_until_complete(inner)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/nix/store/px2nj16i5gc3d4mnw5l1nclfdxhry61p-python3-3.12.7/lib/python3.12/asyncio/base_events.py", line 687, in run_until_complete
    return future.result()
           ^^^^^^^^^^^^^^^
  File "/nix/store/cv8zpwnabrnggb1lxfjy6hksvfl6hfdr-python3-3.12.7-env/lib/python3.12/site-packages/nbclient/client.py", line 566, in async_start_new_kernel_client
    await ensure_async(self.kc.wait_for_ready(timeout=self.startup_timeout))
  File "/nix/store/cv8zpwnabrnggb1lxfjy6hksvfl6hfdr-python3-3.12.7-env/lib/python3.12/site-packages/jupyter_core/utils/__init__.py", line 198, in ensure_async
    result = await obj
             ^^^^^^^^^
  File "/nix/store/cv8zpwnabrnggb1lxfjy6hksvfl6hfdr-python3-3.12.7-env/lib/python3.12/site-packages/jupyter_client/client.py", line 203, in _async_wait_for_ready
    raise RuntimeError(msg)
RuntimeError: Kernel died before replying to kernel_info

At this point I'm out of ideas and time I can spend on this.

well that's rather peculiar: this last commit runs ihaskell fine in CI, but locally it has the error posted above

@anpin Could you try the change the julia to the nixpkgs_stable.julia? I think the julia-1.9.3 would be ok for passing the building.

I will try, but somehow current version worked on my nixos machine

I will try, but somehow current version worked on my nixos machine

if the current version works well, you can just revert the comment to  precompile = false; in the example/julia.nix.

both precompile = false, precompile = true and commented version make no difference in my case, build succeeds regardless of any change

both precompile = false, precompile = true and commented version make no difference in my case, build succeeds regardless of any change

Yeh, I knew it, just for passing the CI

@GTrunSec it is finally green

@anpin thanks, good job


v1.2.3: yaml.scanner.ScannerError

Version info

bcbio version (bcbio_nextgen.py --version): 1.2.3
OS name and version: Ubuntu 18 LTS

Clean install of stable release from bioconda is erroring out:
Downloading and Extracting Packages                                                                     [45/952]
bcbio-nextgen-1.2.3  | 1.6 MB    | ########## | 100%
certifi-2<IP_ADDRESS>   | 151 KB    | ########## | 100%
python-3.6.10        | 34.1 MB   | ########## | 100%
Preparing transaction: ...working... done
Verifying transaction: ...working... done
Executing transaction: ...working... done
Upgrading bcbio
Traceback (most recent call last):
  File "/usr/local/opt/bcbio/1.2.3/install/anaconda/bin/bcbio_nextgen.py", line 228, in <module>
    install.upgrade_bcbio(kwargs["args"])
  File "/usr/local/opt/bcbio/1.2.3/install/anaconda/lib/python3.6/site-packages/bcbio/install.py", line 70, in u
pgrade_bcbio
    _update_conda_packages()
  File "/usr/local/opt/bcbio/1.2.3/install/anaconda/lib/python3.6/site-packages/bcbio/install.py", line 285, in
_update_conda_packages
    channels = _get_conda_channels(conda_bin)
  File "/usr/local/opt/bcbio/1.2.3/install/anaconda/lib/python3.6/site-packages/bcbio/install.py", line 268, in
_get_conda_channels
    config = yaml.safe_load(subprocess.check_output([conda_bin, "config", "--show"]))
  File "/usr/local/opt/bcbio/1.2.3/install/anaconda/lib/python3.6/site-packages/yaml/__init__.py", line 162, in
safe_load
    return load(stream, SafeLoader)
  File "/usr/local/opt/bcbio/1.2.3/install/anaconda/lib/python3.6/site-packages/yaml/__init__.py", line 114, in
load
    return loader.get_single_data()
  File "/usr/local/opt/bcbio/1.2.3/install/anaconda/lib/python3.6/site-packages/yaml/constructor.py", line 49, i
n get_single_data
    node = self.get_single_node()
  File "/usr/local/opt/bcbio/1.2.3/install/anaconda/lib/python3.6/site-packages/yaml/composer.py", line 36, in g
et_single_node
    document = self.compose_document()
  File "/usr/local/opt/bcbio/1.2.3/install/anaconda/lib/python3.6/site-packages/yaml/composer.py", line 58, in c
ompose_document
    self.get_event()
  File "/usr/local/opt/bcbio/1.2.3/install/anaconda/lib/python3.6/site-packages/yaml/parser.py", line 118, in ge
t_event
    self.current_event = self.state()
  File "/usr/local/opt/bcbio/1.2.3/install/anaconda/lib/python3.6/site-packages/yaml/parser.py", line 193, in pa
rse_document_end
    token = self.peek_token()
  File "/usr/local/opt/bcbio/1.2.3/install/anaconda/lib/python3.6/site-packages/yaml/scanner.py", line 129, in p
eek_token
    self.fetch_more_tokens()
  File "/usr/local/opt/bcbio/1.2.3/install/anaconda/lib/python3.6/site-packages/yaml/scanner.py", line 223, in f
etch_more_tokens
    return self.fetch_value()
  File "/usr/local/opt/bcbio/1.2.3/install/anaconda/lib/python3.6/site-packages/yaml/scanner.py", line 579, in f
etch_value
    self.get_mark())
yaml.scanner.ScannerError: mapping values are not allowed here
  in "<byte string>", line 19, column 15:
            GitHub:  https://github.com/QuantStack ...
                  ^
Checking required dependencies
Installing isolated base python installation
Installing mamba
Installing conda-build
Installing bcbio-nextgen
Installing data and third party dependencies
Traceback (most recent call last):
  File "bcbio_nextgen_install.py", line 315, in <module>
    main(parser.parse_args(), sys.argv[1:])
  File "bcbio_nextgen_install.py", line 49, in main
    subprocess.check_call([bcbio, "upgrade"] + _clean_args(sys_argv, args))
  File "/usr/local/cellar/python/3.8.2/lib/python3.8/subprocess.py", line 364, in check_call
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['/usr/local/opt/bcbio/1.2.3/install/anaconda/bin/bcbio_nextgen.py', 'up
grade', '--tooldir=/usr/local/opt/bcbio/1.2.3/tools', '--upgrade=stable', '--datatarget=rnaseq', '--datatarget=v
ariation', '--isolate']' returned non-zero exit status 1.

Seems like scanner.py needs a fix

Hi @mjsteinbaugh !
It looks similar to https://github.com/bcbio/bcbio-nextgen/issues/3180
let us chase it there.
Sergey

Good catch! Thanks @naumenko-sa


Decreasing range should have -1 as incremetor

Versions

Elixir: see below
Styler: v0.11.6

Example Input
Erlang/OTP 26 [erts-14.1.1] [source] [64-bit] [smp:20:20] [ds:20:20:10] [async-threads:1] [jit:ns]

Interactive Elixir (1.16.0) - press Ctrl+C to exit (type h() ENTER for help)
iex(1)> Enum.to_list(10..0)
[10, 9, 8, ...]
iex(2)> Enum.to_list(10..0//1)
[]
iex(3)> Enum.to_list(10..0//-1)
[10, 9, 8, ...]
iex(4)>

Stacktrace / Current Behaviour
It adds "1" to a decreasing range, it should add -1 as I see here https://hexdocs.pm/elixir/1.16.0/Range.html

My bad, I misunderstood the point of the fix
iex(14)> String.slice("elixir", 1..-2)
warning: negative steps are not supported in String.slice/2, pass 1..-2//1 instead
  (elixir 1.16.0) lib/string.ex:2368: String.slice/2
  (elixir 1.16.0) src/elixir.erl:405: :elixir.eval_external_handler/3
  (stdlib 5.1.1) erl_eval.erl:750: :erl_eval.do_apply/7
  (elixir 1.16.0) src/elixir.erl:378: :elixir.eval_forms/4
  (elixir 1.16.0) lib/module/parallel_checker.ex:112: Module.ParallelChecker.verify/1
  (iex 1.16.0) lib/iex/evaluator.ex:331: IEx.Evaluator.eval_and_inspect/3

"lixi"
iex(15)> String.slice("elixir", 1..-2//1)
"lixi"
iex(16)>

Works like a charm, I didn't notice it was only applied to String/List.slice

no worries, appreciate the check.
not going to lie, i don't understand what //1 means at the end of a decreasing range or why these functions want it but... at least the warnings go away?

to answer my confusion, i guess when a range is decreasing but with a positive step it's called a slice and represents something different from what ranges typically do
https://hexdocs.pm/elixir/1.16.0/Range.html#module-ranges-as-slices

makes much more sense! thanks for double checking


The sudachipy executable fails: Package sudachidict_core does not exist

$ sudachipy
Traceback (most recent call last):
  File "/usr/local/bin/sudachipy", line 8, in <module>
    sys.exit(main())
             ^^^^^^
  File "/usr/local/lib/python3.11/site-packages/sudachipy/command_line.py", line 270, in main
    args.handler(args, args.print_usage)
  File "/usr/local/lib/python3.11/site-packages/sudachipy/command_line.py", line 117, in _command_tokenize
    dict_ = Dictionary(config_path=args.fpath_setting,
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/sudachipy/__init__.py", line 36, in _find_dict_path
    raise ModuleNotFoundError(
ModuleNotFoundError: Package `sudachidict_core` does not exist. You may install it with a command `$ pip install sudachidict_core`
[yuri@yv /usr/ports/japanese/py-SudachiPy]$ sudachipy
Traceback (most recent call last):
  File "/usr/local/bin/sudachipy", line 8, in <module>
    sys.exit(main())
             ^^^^^^
  File "/usr/local/lib/python3.11/site-packages/sudachipy/command_line.py", line 270, in main
    args.handler(args, args.print_usage)
  File "/usr/local/lib/python3.11/site-packages/sudachipy/command_line.py", line 117, in _command_tokenize
    dict_ = Dictionary(config_path=args.fpath_setting,
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/sudachipy/__init__.py", line 36, in _find_dict_path
    raise ModuleNotFoundError(
ModuleNotFoundError: Package `sudachidict_core` does not exist. You may install it with a command `$ pip install sudachidict_core`

List of installed files:
$ pkg info -l py311-SudachiPy-0.6.8
py311-SudachiPy-0.6.8:
        /usr/local/bin/sudachipy
        /usr/local/bin/sudachipy-3.11
        /usr/local/lib/python3.11/site-packages/SudachiPy-0.6.8.dist-info/METADATA
        /usr/local/lib/python3.11/site-packages/SudachiPy-0.6.8.dist-info/RECORD
        /usr/local/lib/python3.11/site-packages/SudachiPy-0.6.8.dist-info/WHEEL
        /usr/local/lib/python3.11/site-packages/SudachiPy-0.6.8.dist-info/entry_points.txt
        /usr/local/lib/python3.11/site-packages/SudachiPy-0.6.8.dist-info/top_level.txt
        /usr/local/lib/python3.11/site-packages/sudachipy/__init__.py
        /usr/local/lib/python3.11/site-packages/sudachipy/__pycache__/__init__.cpython-311.opt-1.pyc
        /usr/local/lib/python3.11/site-packages/sudachipy/__pycache__/__init__.cpython-311.pyc
        /usr/local/lib/python3.11/site-packages/sudachipy/__pycache__/command_line.cpython-311.opt-1.pyc
        /usr/local/lib/python3.11/site-packages/sudachipy/__pycache__/command_line.cpython-311.pyc
        /usr/local/lib/python3.11/site-packages/sudachipy/__pycache__/config.cpython-311.opt-1.pyc
        /usr/local/lib/python3.11/site-packages/sudachipy/__pycache__/config.cpython-311.pyc
        /usr/local/lib/python3.11/site-packages/sudachipy/__pycache__/errors.cpython-311.opt-1.pyc
        /usr/local/lib/python3.11/site-packages/sudachipy/__pycache__/errors.cpython-311.pyc
        /usr/local/lib/python3.11/site-packages/sudachipy/command_line.py
        /usr/local/lib/python3.11/site-packages/sudachipy/config.py
        /usr/local/lib/python3.11/site-packages/sudachipy/dictionary/__init__.py
        /usr/local/lib/python3.11/site-packages/sudachipy/dictionary/__pycache__/__init__.cpython-311.opt-1.pyc
        /usr/local/lib/python3.11/site-packages/sudachipy/dictionary/__pycache__/__init__.cpython-311.pyc
        /usr/local/lib/python3.11/site-packages/sudachipy/errors.py
        /usr/local/lib/python3.11/site-packages/sudachipy/morpheme/__init__.py
        /usr/local/lib/python3.11/site-packages/sudachipy/morpheme/__pycache__/__init__.cpython-311.opt-1.pyc
        /usr/local/lib/python3.11/site-packages/sudachipy/morpheme/__pycache__/__init__.cpython-311.pyc
        /usr/local/lib/python3.11/site-packages/sudachipy/morphemelist/__init__.py
        /usr/local/lib/python3.11/site-packages/sudachipy/morphemelist/__pycache__/__init__.cpython-311.opt-1.pyc
        /usr/local/lib/python3.11/site-packages/sudachipy/morphemelist/__pycache__/__init__.cpython-311.pyc
        /usr/local/lib/python3.11/site-packages/sudachipy/resources/char.def
        /usr/local/lib/python3.11/site-packages/sudachipy/resources/rewrite.def
        /usr/local/lib/python3.11/site-packages/sudachipy/resources/sudachi.json
        /usr/local/lib/python3.11/site-packages/sudachipy/resources/unk.def
        /usr/local/lib/python3.11/site-packages/sudachipy/sudachipy.cpython-311.so
        /usr/local/lib/python3.11/site-packages/sudachipy/sudachipy.pyi
        /usr/local/lib/python3.11/site-packages/sudachipy/tokenizer/__init__.py
        /usr/local/lib/python3.11/site-packages/sudachipy/tokenizer/__pycache__/__init__.cpython-311.opt-1.pyc
        /usr/local/lib/python3.11/site-packages/sudachipy/tokenizer/__pycache__/__init__.cpython-311.pyc
        /usr/local/share/licenses/py311-SudachiPy-0.6.8/APACHE20
        /usr/local/share/licenses/py311-SudachiPy-0.6.8/LICENSE
        /usr/local/share/licenses/py311-SudachiPy-0.6.8/catalog.mk

The package is built using PEP517 compatible build and install Python modules.
Python-3.11
FreeBSD 14.1

In Python version, the default dictionary data is loaded via SudachiDict_core package, i.e. you also need to install it by pip install sudachidict_core.


Allow bot admins to add floppa

floppin :appolf :floppa:

The reason I didn't want to do this was because I wanted to check every image url myself before adding them to the database... because trust issues you know


[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1125)

Describe the bug

Azure cloud shell not opening: both Bash and Powershell
Therefore I Installed azure-cli-2.34.1 and tried to login to Azure. Browser login is successful, but on command prompt get the below error:

az login
A web browser has been opened at https://login.microsoftonline.com/organizations/oauth2/v2.0/authorize. Please continue the login in the web browser. If no web browser is available or if the web browser fails to open, use device code flow with az login --use-device-code.
[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1125)

To Reproduce
az login on command prompt
Expected behavior
should get the azure command prompt with user logged in
Environment summary
Windows 10
C:\Users\310176540>az --version
azure-cli                         2.34.1
core                              2.34.1
telemetry                          1.0.6
Dependencies:
msal                              1.16.0
azure-mgmt-resource               20.0.0
Python location 'C:\Program Files (x86)\Microsoft SDKs\Azure\CLI2\python.exe'
Extensions directory 'C:\Users\310176540.azure\cliextensions'
Python (Windows) 3.8.9 (tags/v3.8.9:a743f81, Apr  6 2021, 13:22:56) [MSC v.1928 32 bit (Intel)]
Legal docs and information: aka.ms/AzureCliLegal
Your CLI is up-to-date.
Please let us know how we are doing: https://aka.ms/azureclihats
and let us know if you're interested in trying out our newest features: https://aka.ms/CLIUXstudy
Additional context
Logs of the problem:
Az_Login_Error_log.txt

@jiasli for awareness


Added Colégio Santa Dorotéia

Could you please validate the PR? If possible, can you give me the status of the request?

@gabriel-20210099-aluno-dorotheus Please provide us with:

the school official website URL
the school street address, including city and country
an URL of a page on the official website where the school offers an IT-related long-term (>1 year) course
a proof, which shows that the school recognizes the domain you are submitting as an official email domain for the students.

@gabriel-20210099-aluno-dorotheus You might miss my previous comment. Please react.

@gabriel-20210099-aluno-dorotheus I am sorry, this request remains unanswered for a while. I have to close it without merging. Please reopen and comment if you have an update regarding the aforementioned issue. Thank you for your understanding!


Compliance Report | Line 28 penalty not displaying in a net debit situation until after a value has been entered into Line 26 |1|

Issue:
See attached screenshot. Line 28 is not displaying a penalty value when in a net debit situation. Entering any value into Line 26 (even zero) causes the Line 28 to populate.
Desired State:
Line 28 displays the penalty amount when in a net debit situation immediately and does not require a value entered into Line 26 (before displaying)
https://trello.com/c/iXmwAy0Y/1978-compliance-report-line-28-penalty-not-displaying-in-a-net-debit-situation-until-after-a-value-has-been-entered-into-line-26-1

 Compliance Report | Line 28 penalty not displaying in a net debit situation until after a value has been entered into Line 26 |1|

Resolved in sprint vulcan.


how to use next-routes with the NextJS api routes

Hello,
I would like to know how to setup for example a sitemap.xml route. I am using the NextJS api/sitemap.ts folder in the hope that this will work out of the box but it seems only React routes are allowed.
Is there an example available how to set this up?

Did you find out how to do it? I am having same problem

I've faced with the same problem. Do you have any updates here?

I'm using newest version of NextJS 9.3.x which made the use of next-routes not necessary any more:
 experimental: {
      async rewrites () {
        return [
          {source: '/sitemap.xml', destination: '/api/sitemap'}
        ]
      }
    },

I have the same problme.


Syntax highlighting disappears when winhighlight option is set

When switching between windows, or occasionally just when making changes to a file, the syntax highlighting in some sections of the file completely disappear and the text all turns white. This happens until the cursor is moved over each line where the highlighting was removed, and the highlighting is restored.

Hi, thanks for this issue report.
I have been checking on this issue and have not been able to find the cause for a long time. At this point, I don't know if it's a front-end issue or a bug in the nvim core part of the back-end.
I'd like to confirm with you that my understanding is that this issue is not 100% reproducible, but rather occurs at some point in time (under hidden conditions), but is it the same in your environment? Do you have any guesses about any hidden conditions?
To avoid this problem, you could consider installing nvim-treesitter.

Thanks for your quick response,
I figured out that it is the winhighlight option being set that causes the highlighting to be messed up. I have a plugin installed that will change the background color of the current window to make it obvious which is active, and when I disabled it the problems with highlighting went away. I have also changed the name of the thread to reflect what seems to be the real problem.
For the hidden conditions you were referring to, it seems that the highlighting gets cleared right when setting the winhighlight option, as well as when opening folds or entering insert mode for a brief period of time after setting it. Hopefully that is helpful in figuring out why this is happening.
Certainly it won't be a problem living without winhl until this is fixed, given that this is by far my favorite neovim gui program (and I've tried about a dozen.) Thank you for your incredible work making this!

hi
Sorry for the delay in replying.
I appreciate your information.

I figured out that it is the winhighlight option being set that causes the highlighting to be messed up. I have a plugin installed that will change the background color of the current window to make it obvious which is active, and when I disabled it the problems with highlighting went away. I have also changed the name of the thread to reflect what seems to be the real problem.

What are the plugins to control winhighlight?
I have tried to run winhighlight at hand but it does not reproduce. If you would like to provide some more information, I would appreciate it.

The code that automatically sets the window highlighting is the following:
highlight Inactive guibg=#1C2028
highlight Active guibg=#20242C
autocmd WinLeave * setlocal winhl=Normal:Inactive
autocmd WinEnter * setlocal winhl=Normal:Active
For me though at least, this happens whenever using any winhl command no matter the context.

When I had this problem, I was running it on Manjaro using the AUR package, but after trying it on Fedora it seems to work fine, so it may be an issue with the AUR package.

Thanks for the confirmation and report.
I recognized that the problem was caused by an old version of the binary provided by the AUR package.
I will close this issue.


Test cluster upgrading on Azure - Test Release KubeOne 1.6

Required tests

[x] /test pull-kubeone-e2e-azure-default-stable-upgrade-containerd-from-v1.25.6-to-v1.26.1
[x] /test pull-kubeone-e2e-azure-default-stable-upgrade-containerd-from-v1.24.10-to-v1.25.6
[x] /test pull-kubeone-e2e-azure-default-stable-upgrade-containerd-external-from-v1.24.10-to-v1.25.6
[x] /test pull-kubeone-e2e-azure-default-stable-upgrade-containerd-external-from-v1.25.6-to-v1.26.1

Optional tests

[x] /test pull-kubeone-e2e-azure-centos-stable-upgrade-containerd-from-v1.25.6-to-v1.26.1
[ ] /test pull-kubeone-e2e-azure-flatcar-stable-upgrade-containerd-from-v1.25.6-to-v1.26.1
[x] /test pull-kubeone-e2e-azure-rhel-stable-upgrade-containerd-from-v1.25.6-to-v1.26.1
[x] /test pull-kubeone-e2e-azure-rockylinux-stable-upgrade-containerd-from-v1.25.6-to-v1.26.1
[x] /test pull-kubeone-e2e-azure-centos-stable-upgrade-containerd-from-v1.24.10-to-v1.25.6
[ ] /test pull-kubeone-e2e-azure-flatcar-stable-upgrade-containerd-from-v1.24.10-to-v1.25.6
[ ] /test pull-kubeone-e2e-azure-rhel-stable-upgrade-containerd-from-v1.24.10-to-v1.25.6
[x] /test pull-kubeone-e2e-azure-rockylinux-stable-upgrade-containerd-from-v1.24.10-to-v1.25.6
[ ] /test pull-kubeone-e2e-azure-centos-stable-upgrade-containerd-external-from-v1.24.10-to-v1.25.6
[ ] /test pull-kubeone-e2e-azure-flatcar-stable-upgrade-containerd-external-from-v1.24.10-to-v1.25.6
[ ] /test pull-kubeone-e2e-azure-rhel-stable-upgrade-containerd-external-from-v1.24.10-to-v1.25.6
[ ] /test pull-kubeone-e2e-azure-rockylinux-stable-upgrade-containerd-external-from-v1.24.10-to-v1.25.6
[ ] /test pull-kubeone-e2e-azure-centos-stable-upgrade-containerd-external-from-v1.25.6-to-v1.26.1
[ ] /test pull-kubeone-e2e-azure-flatcar-stable-upgrade-containerd-external-from-v1.25.6-to-v1.26.1
[ ] /test pull-kubeone-e2e-azure-rhel-stable-upgrade-containerd-external-from-v1.25.6-to-v1.26.1
[ ] /test pull-kubeone-e2e-azure-rockylinux-stable-upgrade-containerd-external-from-v1.25.6-to-v1.26.1

Required tests are done. Works as expected.


Can ESP RainMaker be used with BLE mesh? (MEGH-4207)

Hi, I just found out ESP RainMaker. Can ESP RainMaker be used with BLE Mesh? I will let the provisioner(gateway) connect to the ESP RainMaker cloud. Provisioner will process the MQTT messages to BLE Mesh mesages, send to Nodes and vice versa. Is this possible?

Does anyone help me?

Hi,
I am not sure whether this is possible. Is there a particular use case that you have identified for using BLE Mesh with Rainmaker?

@Vanperdung
RainMaker uses only Wi-Fi after provisioning is done, and you can find a Wi-Fi mesh implementation here. In your case, if you want to create a Bluetooth mesh, then you'll have to develop a local Bluetooth communication protocol that will translate to RainMaker devices/params.


Docstring from init method is placed just after class method docstring in Circuit Library and looks strange.

For all classes in the Circuit Library the docstring from the __init__ method is placed just after the Class one but they don't always mesh well together.
For example in the XGate page you are given a full explanation of the gate (from XGate Class docstring) and then, just before the list of methods and out of nowhere, there is the message (from __init__ docstring)

Create new X gate.

All of this can be better seen in the following image:

Agreed this looks weird. In many places we already omit this first sentence in the docstring of the initializer to avoid this setting you show here.


Admin adding mentors via Slack does not work

Just need to add the new admins to the mentors array.

Fixed in #2


Add support of rest/spread parameters

Useful when calling super() with parameters from the child class method/constructor

Finally not sure as there is a dedicated transform plugin for that:
https://babeljs.io/docs/en/babel-plugin-transform-parameters


URL formatting breaks in PR comments due to hyphens in org or repo names

Gitea version (or commit ref): 1.5.1
Git version:  Not relevant
Operating system: Ubuntu 16
Database (use [x]):

[ ] PostgreSQL
[x] MySQL
[ ] MSSQL
[ ] SQLite

Can you reproduce the bug at https://try.gitea.io:

[x] Yes (provide example URL) --> https://try.gitea.io/alofoxx/testing-pr-comments/pulls/1#issuecomment-8071
[ ] No
[ ] Not relevant

Log gist: Not relevant

Description
URL formatting breaks in PR comments when there is a hyphen in the URL (as there would be in any repo name that contains a hyphen). I recreated the issue in your demo site.
https://try.gitea.io/alofoxx/testing-pr-comments/pulls/1#issuecomment-8069
The parsing seems to not care about the hyphen in the "issuecomment-xxxx" when there are no other hyphens involved in the url. When the repo name has a single hyphen the parsing breaks at the issuecomment^- hyphen. When there are hyphens in the team name that owns the repo - the parsing breaks on the first one seen:
https://somesite.com/my^-orgname/repo-name/issuecomment-xxxx
This affects our install due to hyphens in repo names and hyphens in the org names that own the repo.
Screenshots

duplicated with #4435


Using .PCD files

Hi,
is it possible to calibrate with .pcd file as an input?!...could you provide any useful theory / blogs for lidar calibration.

The calibrate function itself just takes in corresponding 2D/3D points to estimate the pose. If you want to use the picker GUI, just get rid of all the ROS stuff and use the code from where the point cloud is in Numpy format. You may use Open3D to load your .pcd file and convert it to np.ndarray. Note, you may need multiple poses (of a checkerboard, possibly multiple pcd files) or multiple correspondences in the same point cloud/image should also work!
The theory is based on PnP algorithms and optionally non-linear refinement using LM optimization (see Factor Graphs book Ch 2/6).

Is there a repo, where someone has changed the code from ros to pcd/img pairs?


Issue with custom transport

Confirm this is an issue with the Python library and not an underlying OpenAI API

[X] This is an issue with the Python library

Describe the bug
So, I'm trying to resolve https://github.com/pyodide/pyodide/issues/4292
With these fixes in place: https://github.com/urllib3/urllib3/pull/3195, https://github.com/encode/httpx/discussions/2994, and the custom transport feature in the library the solution is more feasible.
To Reproduce
Testing environment: https://jupyter.org/try-jupyter/lab/
import micropip
await micropip.install('https://raw.githubusercontent.com/psymbio/pyodide_wheels/main/multidict/multidict-4.7.6-py3-none-any.whl', keep_going=True)
await micropip.install('https://raw.githubusercontent.com/psymbio/pyodide_wheels/main/frozenlist/frozenlist-1.4.0-py3-none-any.whl', keep_going=True)
await micropip.install('https://raw.githubusercontent.com/psymbio/pyodide_wheels/main/aiohttp/aiohttp-4.0.0a2.dev0-py3-none-any.whl', keep_going=True)
await micropip.install('https://raw.githubusercontent.com/psymbio/pyodide_wheels/main/openai/openai-1.3.7-py3-none-any.whl', keep_going=True)
await micropip.install('https://raw.githubusercontent.com/psymbio/pyodide_wheels/main/urllib3/urllib3-2.1.0-py3-none-any.whl', keep_going=True)
await micropip.install("ssl")
import ssl
await micropip.install("httpx", keep_going=True)
import httpx
await micropip.install('https://raw.githubusercontent.com/psymbio/pyodide_wheels/main/urllib3/urllib3-2.1.0-py3-none-any.whl', keep_going=True)
import urllib3
urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)
import json

class URLLib3Transport(httpx.BaseTransport):
    def __init__(self):
        self.pool = urllib3.PoolManager()

    def handle_request(self, request: httpx.Request):
        urllib3_response = self.pool.request('GET', str(request.url))  # Convert httpx.URL to string
        content = json.loads(urllib3_response.data.decode('utf-8'))  # Decode the data and load as JSON
        stream = httpx.ByteStream(json.dumps(content).encode("utf-8"))  # Convert back to JSON and encode
        headers = [(b"content-type", b"application/json")]
        return httpx.Response(200, headers=headers, stream=stream)

client = httpx.Client(transport=URLLib3Transport())
from openai import OpenAI

openai_client = OpenAI(
    base_url="https://api.openai.com/v1",
    api_key="xxx",
    http_client=client
)
response = openai_client.chat.completions.with_raw_response.create(
    messages=[{
        "role": "user",
        "content": "Say this is a test",
    }],
    model="gpt-3.5-turbo",
)
completion = response.parse()
print(completion)

But I get this output:
ChatCompletion(id=None, choices=None, created=None, model=None, object=None, system_fingerprint=None, usage=None, error={'message': "You didn't provide an API key. You need to provide your API key in an Authorization header using Bearer auth (i.e. Authorization: Bearer YOUR_KEY), or as the password field (with blank username) if you're accessing the API from your browser and are prompted for a username and password. You can obtain an API key from https://platform.openai.com/account/api-keys.", 'type': 'invalid_request_error', 'param': None, 'code': None})

I have provided the API key - so what am I doing wrong here?
Code snippets
No response
OS
Pyodide
Python version
Python v3.11.3
Library version
openai v1.3.7

Hi @psymbio , thanks for sharing your findings. Unfortunately we can't commit to providing support to help debug issues with user code in this way.
In this case, this line looks suspect to me:
urllib3_response = self.pool.request('GET', str(request.url))

You don't seem to be passing the request headers along here (or the body, and the method looks incorrect as well).
If you need further help from here, you may be able to ask fellow developers in the OpenAI Discord server.

You were right, thanks!
The correct way of doing it was:
class URLLib3Transport(httpx.BaseTransport):
    def __init__(self):
        self.pool = urllib3.PoolManager()

    def handle_request(self, request: httpx.Request):
        payload = json.loads(request.content.decode("utf-8").replace("'",'"'))
        urllib3_response = self.pool.request(request.method, str(request.url), headers=request.headers, json=payload)  # Convert httpx.URL to string
        content = json.loads(urllib3_response.data.decode('utf-8'))  # Decode the data and load as JSON
        stream = httpx.ByteStream(json.dumps(content).encode("utf-8"))  # Convert back to JSON and encode
        headers = [(b"content-type", b"application/json")]
        return httpx.Response(200, headers=headers, stream=stream)


⚠ BCR Bot has degraded performance

In ec1791b, BCR Bot (https://bcr.alternativasinteligentes.com/BCRApi/web/chatbot) experienced degraded performance:

HTTP code: 200
Response time: 1991 ms

Resolved: BCR Bot performance has improved in 20136ac.


Go indexer: Blame top-level entries on the package. [phab:D1224]

Created by fromberger at 2017-01-05 23:55:00:
Rather than blaming function calls and anonymous functions at file scope on the
file, blame them on the package initializer, which is now emitted as a dummy
function node. This node is created lazily on demand so that we won't have an
isolate in packages that don't need it.
Related

Use 'package' as the signature for a Go package.
Set up a dummy function for the package initializer.
Update tests for blame attribution change.
Add unit test for package associations.

zarko wrote at 2017-01-06 00:36:55:
Those new package URIs (kythe://golang.org?lang=go?path=go/types#package) look very nice.

zarko accepted this revision at 2017-01-06 00:36:55

fromberger closed via commit dcca2198c82c66b71dba37648e9102b1b296d84c at 2017-01-06 01:55:16


Set version of dependency

It could be in our interest to set the version of the used dependencies in requirements.txt.
There has already been an issue with h5py (#499) which could happend again with other packages.

My suggestion would be to use compatible release "~=" to allow the use of the latest patches in dependent packages, more info in PEP440

FWIW, the approach recommended by PyPA is to keep 2 sets of dependencies: install_requires and requirements.txt. The former is the minimal requirements needed, while the latter is precise for reproducibility. You can read more about the rationale behind this here. (As an aside, we kind of use requirements.txt for both, but that's beside the point for now...)
The part of the linked page most relevant to us is:

It is not considered best practice to use install_requires to pin dependencies to specific versions, or to specify sub-dependencies (i.e. dependencies of your dependencies). This is overly-restrictive, and prevents the user from gaining the benefit of dependency upgrades.

So, they seem to suggest that it's worth it to keep dependencies open and flexible, and pin only when things break.

My suggestion would be to use compatible release "~=" to allow the use of the latest patches in dependent packages, more info in PEP440

Speaking of ~=, I noticed we didn't use that here:
https://github.com/ivadomed/ivadomed/blob/82236b96efa126af23362f4b9c8668365d1443f0/requirements.txt#L2
As @jcohenadad mentions, ~= might be valuable to use here instead of ==. (I used it over at SCT.)

That makes sense @joshuacwnewton, thank you for your insight. Indeed, I was always wondering how we could follow the bleeding edge versions of all dependencies if we specify them (even with the "~=").

That makes sense @joshuacwnewton, thank you for your insight. Indeed, I was always wondering how we could follow the bleeding edge versions of all dependencies if we specify them (even with the "~=").

In our case it's tricky, as the material I linked to was written with developers in mind, but our target audience includes both developers and researchers. (Take SCT -- it wants to be both a Python API that developers can build on top of, and also provide CLI scripts that can be used reliably in studies.)  Each audience has different needs, and what works for one might not work for the other. (Flexibility vs. reproducibility.) The challenge is finding a way to balance the two mindsets! :sweat_smile:
It makes me wonder about having a pip install with flexible dependencies for developers, but a release install with fixed dependencies for regular users. Right now our projects are somewhere in the middle, if I understand correctly.

It makes me wonder about having a pip install with flexible dependencies for developers, but a release install with fixed dependencies for regular users.

That would be fantastic. That's what we do for SCT (with a pip freeze) and although it takes additional manual steps and diligence for each release, it seems to provide the perfect balance.
BTW, we could also automatize the pip-freeze step with GH actions...

It makes me wonder about having a pip install with flexible dependencies for developers, but a release install with fixed dependencies for regular users.

That would be fantastic. That's what we do for SCT (with a pip freeze) and although it takes additional manual steps and diligence for each release, it seems to provide the perfect balance.
BTW, we could also automatize the pip-freeze step with GH actions...

I know I'm bumping a closed thread here, but: the more you maintain separate "developer" and "user" versions the less reliable either will be. python has a way to handle "developer mode": pip install -e, and if you want to temporarily pin a version you can change do that in install_requires on a branch. If you can use that you get the same versions your users are seeing, but you're able to go in and easily override this or that piece for testing.


API Search business result is in different order from Yelp web search

Example: 'Super Chicken' at zipcode 22182.
On yelp web search, the top result is a restaurant named 'Super Chicken' located in Vienna VA, 22182 with 311 reviews.
However, through API, the first result is a restaurant named 'Super Chicken' but with location in 4323 Kenilworth Ave', u'Bladensburg, MD 20710 with 20 reviews.
Could you please help me understand why this is the case?
Thanks!

This repository is for the python clientlib for Yelp's Fusion API; Yelp has a separate repository dedicated to Yelp Fusion API as a whole where it would be better to open this issue: https://github.com/Yelp/yelp-fusion/issues
There are definitely differences in how search works on the www site from the API search that are tricky, and there are many answered and several open issues over there asking questions about it.


Location registry backend

What does this PR do?
This PR creates endpoints to be utilized by the location registry.
What JIRA task is related to this PR?
Many
How do I test out this PR?
Git clone this repo cd AirQo-api/src/location-registry. You should have anaconda installed on your machine. Run the following commands from your command prompt.

conda config --prepend channels conda-forge
conda create -n env --strict-channel-priority osmnx
conda activate env
pip install -r requirements.txt
Afterwards run 'flask run' to test out the end points using any REST client tool available to you.

Which end points should are ready for testing?

partial url: /api/v1/location_registry/create_id
partial url: /api/v1/location_registry/register
partial url: /api/v1/location_registry/locations
partial url: /api/v1/location_registry
partial url: /api/v1/location_registry/edit
partial url: /api/v1/location_registry/update
More infrmation can be forund in the api documentation

The endpoints are working as expected -  tested using docker. Just minor corrections needed following the reviews

I've made the suggested changes
On Fri, Jul 3, 2020 at 7:01 AM Daniel Ogenrwot<EMAIL_ADDRESS>wrote:

The endpoints are working as expected - tested using docker. Just minor
corrections needed following the reviews
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/airqo-platform/AirQo-api/pull/85#issuecomment-653331185,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AGMG4VNPZRMEHSVQE62EDA3RZVJYRANCNFSM4OO3UXGQ
.


Fix warnings and deprecations after updating tailwindcss

the remaining failing static check will be fixed in #215

Yeah, seems to be a false positive to me as well.
But removing the apply directive here doesn't make the calendar look bad, so I'd just circle back to this with the next tw release.


Automatic error report

<!---   *** BEFORE SUBMITTING: PASTE CLIPBOARD HERE TO COMPLETE YOUR REPORT ***   ---!>
with open(fname, 'w', encoding='utf-8') as configfile:
FileNotFoundError: [Errno 2] No such file or directory: 'sn_0_3965896/.spyproject/workspace.ini'

Thanks for reporting. This appears to be a duplicate of #5765 . If you can provide us more information over on that thread, please do so.


DFUZZTEST_COMPATIBILITY_MODE=libfuzzer failing on linking

I am using Ubuntu 22.04.2 LTS and the default clang version (14)
I am following exactly the documentation for the cmake for first_fuzz_test.cc file, but it fails in the linking:
../lib/libfuzztest_compatibility_mode.a(compatibility_mode.cc.o): in function fuzztest::internal::FuzzTestExternalEngineAdaptor::RunInFuzzingMode(int*, char***, fuzztest::internal::Configuration const&)': compatibility_mode.cc:(.text+0x113d): undefined reference to LLVMFuzzerRunDriver'
clang: error: linker command failed with exit code 1 (use -v to see invocation
Is this compatibility mode really working with clang 14?

@vrabaud
I am still facing this same linker issue, tried with 6a370aed314173f472b265c8196bd4810846c831, couldn't try main because of https://github.com/google/fuzztest/issues/1192

Hi, I believe I definitely fixed it with https://github.com/google/fuzztest/commit/ce454aced15f7dc2cc96aeae969a6204b563b4c9, can you please try? Thx

Can confirm it works now, thanks!
@vrabaud


update readme demo

What type of PR is this?
/kind documentation

What this PR does / why we need it:
update the demo video in readme.md

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
3 unchanged lines in 1 file lost coverage.
Overall coverage increased (+0.09%) to 71.982%

Files with Coverage Reduction
New Missed Lines
%

pkg/engine/operation/parser/parser.go
3
78.21%

Totals

Change from base Build<PHONE_NUMBER>:
0.09%

Covered Lines:
4776

Relevant Lines:
6635

💛  - Coveralls


Reinforced diagonal

About the PR

Wall
Why / Balance

I need it.
Technical details

Just a Wall
Media

[x] I have added screenshots/videos to this PR showcasing its changes ingame, or this PR does not require an ingame showcase

Breaking changes

Changelog

:cl: SonicHDC

add: Added reinforced diagonal!

It looks jarring in a very good way, nice


discuss: New feature in Apache APISIX Ingress controller v1.5

Hi, folks
The Apache APISIX Ingress controller v1.4 version has been released, and it is time to discuss the plans in the v1.5 version together.
I think the following features need to be included:

[x] Implement v2 version of CRD resources. https://github.com/apache/apisix-ingress-controller/issues/954
more details: https://github.com/apache/apisix-ingress-controller/issues/707

[x] Implement HTTPRoute controller loop for Gateway API.  #1037
more details: https://github.com/apache/apisix-ingress-controller/issues/644

What features do you want Apache APISIX Ingress controller v1.5 to include?
You can reply to this issue or reply in the mailing list
https://lists.apache.org/thread/b70vcjrl6sdg4vhgt3k76pd3x0prb0xf

docs: add doc for  ApisixPluginConfig  https://github.com/apache/apisix-ingress-controller/issues/638#issuecomment-1005397071

ApisixGlobalRule crd

ApisixGlobalRule crd

can you add some details?

ApisixGlobalRule crd

can you add some details?

only two global plugins can now be enabled via ApisixClusterConfig, when i want to enable more i can only go through admin api or dashboard.
hopefully, enable it via k8s crd.

I think if we can also optimize the documentations, that would be grateful for users' self-education.

@tao12345666333 @tokers i am very sorry, is there already this feature?

Sorry, what did you mean?

非常抱歉，我英语不好，就用中文吧。
我是想通过k8s crd添加全局插件，好想目前只能在ApisixClusterConfig配置开启prometheus和skywalking作为全局插件。

@zlhgo we can change ApisixClusterConfig https://github.com/apache/apisix-ingress-controller/blob/de522437bd3db3dc3e8d8f33c92f322de67531b8/samples/deploy/crd/v1/ApisixClusterConfig.yaml#L55-L71  ref to ApisixPluginConfig resource.

May be include mqtt proxy ? There is a clear market demand for this feature.

The development window for v1.5 has been closed, we are currently in the release window, I will close this issue, thank you everyone


makeCA() in certs.go saves the wrong ca.key

I think there is a cut-and-paste error here:
caPrivKeyPEM := new(bytes.Buffer)
pem.Encode(caPrivKeyPEM, &pem.Block{
	Type:  "RSA PRIVATE KEY",
	Bytes: x509.MarshalPKCS1PrivateKey(caKey),
})
if err := ioutil.WriteFile(path + "ca.key", caPEM.Bytes(), 0644); err != nil {
	log.Printf("Write the CA certificate file error: %v\n", err)
	return nil, nil, err
}

I suspect the caPrivKeyPEM.Bytes() rather than the caPEM.Bytes() should be written to ca.key.

I was wondering the same, maybe it's a copy error. Another one is the string "Write the CA certificate file error" in the makeCert function, which should have been something like "unable to write certificate/key file" since the operations there has nothing to do with CA (other than the signing part).
Sadly, though, the author of this repository has passed away back in May due to cardiovascular complications. I'm sure that he would gladly further improve his work if things played out differently for him, but under this reality, I guess for the rest of us who's still trying to setup this damn x509 certificate scheme correctly, we just have to read the code more carefully in the future.


Is there any consideration for H265 support?

Hi @wosledon
This library is designed to support h265 as well, however I haven't tested it yet.

Hi @wosledon This library is designed to support h265 as well, however I haven't tested it yet.

Thanks for your support! For my tests, H265 works wrong.

Thanks for reporting. I will check it when I have time.

HEVC/H.265 support has been added in v0.16.0

HEVC/H.265 support has been added in v0.16.0

Thanks for your support!


License restrictions not obeyed, when preroll server side ad present in manifest

Have you read the FAQ and checked for duplicate open issues?:
Yes
What version of Shaka Player are you using?:
2.4.3
Can you reproduce the issue with our latest release version?:
Yes
Can you reproduce the issue with the latest code from master?:
Yes
Are you using the demo app or your own custom app?:
Tried on Both
If custom app, can you reproduce the issue using our demo app?:
Yes
What browser and OS are you using?:
Mac OS, Chrome 68
What are the manifest and license server URIs?:
Unable to share
What did you do?
Played (on an external VGA screen) a manifest with a server side ad inserted as the first period. The content after the ad is DRM protected and the license enforces HDCP restrictions.
What did you expect to happen?
Since the ad is not protected it plays the highest possible bandwidth, then when the variants for the actual content were set it should've reevaluated the variants based on the license restrictions. Instead it adds all of them and freezes since it is neither able to play nor throw an output-restricted error
What actually happened?
It appears that Shaka only evaluates the restrictions on variants when playback begins, so if there are no restrictions to begin with and the later periods are restricted, it doesnt respect those restrictions. Since server side ads will often be unprotected, this means that the player will use no restrictions. I noticed that this function processKeyStatusChanges_() in drm_engine.js  gets called only once when initialising and not again when the license is obtained.
Please :)
If this is an easy fix can it please be cherry-picked to the current release. It is a blocker for me. If not I would really appreciate any advise on potential work arounds

Hi, thanks for reporting this issue, and we appreciate if you can send a test file to reproduce it. You can send it to us privately through email<EMAIL_ADDRESS>Thank you!

Correction<EMAIL_ADDRESS>is the email alias for sending us content URLs privately.

@joeyparrish @michellezhuogg I am working on getting the permissions to share the required URLs to test this with you. Until then I can describe the scenario more accurately based on my investigation.

Player loads the manifest
Period 1 doesnt require a license so it loads it and marks all variants as "allowedByKeySystem: true"
Player encounters the need for a license in Period 2
Player makes license request and successfully receives key
DRM Engine kicks in and experiences a "keystatuseschange" event and fires onKeyStatusesChange_ callback
This schedules the keyStatusTimer_ which calls processKeyStatusChanges_ which calls playerInterface_.onKeyStatus
From what I can see, the onKeyStatus_ callback is the one that reevaluates the variants with the new restrictions imposed by the license
However, when the license is acquired and these callbacks are fired, the player is still in period 1 and it runs the filters on the variants for period 1, which are clear and have no keyIds associated, so they are all allowed again.
But the variants for period 2 which need to be filtered never are because the keyStatusChange event is not fired again and the filters are not run on the variants of period 2

I don't know if this helps any more, but I thought better than nothing until I can get permissions to share the urls with you guys

Restrictions (as in the Restrictions object from the config) are applied to every new period when it is introduced in a manifest update.  DRM restrictions (as reported by key status) are applied every time we get a key status event, but we require key IDs in the manifest to match this information up.
Chrome definitely reports key status changes, but I can't say whether or not your content contains key ID info in the manifest.  If not, this would explain your problem.
I can look into it more when you are able to share manifest and license URIs with us, but in the mean time, you can check for the default_KID attributes in your DASH manifest.  If they are missing, then that's the root of your problem.


Rack awareness

Use the same code as datacenter awareness for rack

The feature isn't working, reopening


Running Target Failed for Both Client Sources & Docs

I'm unable to get this to work, even using just the sample spec.
⚡ DanielBreen@DBREENBC  C:\..\..\app   master ≢ +3 ~5 -0 ! nx generate @trumbitta/nx-plugin-openapi:api-spec
√ What name would you like to use? · test-spec
√ Do you want me to also create a sample spec file for you? (y/N) · true

UPDATE angular.json
UPDATE nx.json
CREATE libs/test-spec/src/test-spec.openapi.yml
⚡ DanielBreen@DBREENBC  C:\..\..\app   master ≢ +4 ~5 -0 ! nx generate @trumbitta/nx-plugin-openapi:api-lib
√ What name would you like to use? · test-lib
√ Which OpenAPITool generator would you like to use? (https://github.com/OpenAPITools/openapi-generator) · typescript-fetch
√ Is the API spec file published online? (y/N) · false
√ If it's online, what's the URL where I can get the API spec file from? ·
√ If it's online, which authorization headers do you need to add? ·
√ If it's local, what's the name of the lib containing the API spec file? · test-spec
√ If it's local, what's the path of the API spec file starting from the lib root? · src/test-spec.openapi.yml
√ Do you want to specify any additional properties for the generator? key1=value1,key2=value2 (https://openapi-generator.tech/docs/generators) ·
UPDATE angular.json
UPDATE nx.json
CREATE libs/test-lib/README.md
UPDATE tsconfig.base.json
⚡ DanielBreen@DBREENBC  C:\..\..\app   master ≢ +5 ~5 -0 ! nx run test-lib:generate-sources

> nx run test-lib:generate-sources
Deleting outputDir libs/test-lib/src...
Done deleting outputDir libs/test-lib/src.

———————————————————————————————————————————————

>  NX   ERROR  Running target "test-lib:generate-sources" failed

  Failed tasks:

  - test-lib:generate-sources

Hey @djbreen7 thanks for taking the time to submit this report 🙏
I'm going to take a look at it and see if I can fix it.
We recently had to update the plugin to Nx 11+ and it wasn't as easy as expected so I was really hoping for someone to spot bugs we didn't spot ourselves :D

@trumbitta No problem!
Here's everything I can answer in Windows. I'll boot into mac and see what happens.

Can you create a repo here on GitHub with a Nx workspace where this error happens?

https://github.com/djbreen7/nx-openapi-test

Which node and npm version are you using?

Node: 14.16.1
npm: 6.14.2

Which version of Nx, and of the plugin, are you using?

Nx: 12.3.4
nx-plugin-api: 1.3.0

Right after nx run test-lib:generate-sources fails, can you please check if <YOUR_PROJECT>/node_modules/.bin/openapi-generator-cli exists and if it's executable?

Yes, this is usable

@trumbitta

I develop and test on a Mac. I see you are using Windows. Do you have access to a Mac or Linux machine to try again?

This worked fine for me on Mac.
I have this repo cloned. If I get some time, I'll try to Dx.

Thanks @djbreen7 , I'm trying to find the time to review your much welcomed contributions :)


clear screen Cmd

I would like to clear top of screen from within my app (same as Ctrl+L in bash).
It seems I need to print "\033[H\033[2J" (for nix) and initiate full redraw. I see internal renderer.repaint is only initiated from WindowSizeMsg:
		case "ctrl+l":
			fmt.Print("\033[H\033[2J") // only nix
			w, h, _ := term.GetSize(0) // wouldnt work if out is set
			return m, func() tea.Msg { // hack to trigger redraw
				return tea.WindowSizeMsg{Width: w, Height: h}
			}
		}

Is there an easier way to do this?
Would be nice to have built-in tea.ClearScreen cmd or at least some way to trigger full redraw so solution is less hacky and cross-platform.

That’s an interesting idea. And thanks for the detailed explanation and GIF, all very helpful.
Just to make sure, are you trying to force a redraw of your application or clear the entire contents of the terminal?
Also, are you aware of the altscreen (tea.EnterAltScreen and tea.WithAltScreen) which will clear the screen, print the output of your application, and restore the former terminal state on exit (similar to how Vim works)?

I'm trying to do both clear and redraw, so when my app is exiting I have useful state on top of my term window. I just caught myself often trying to hit "ctrl+l" while in inline app, similar to this:

AltScreen will look same during app use, but after exit my last view will be in the middle of screen with all my typos from before:

While I was looking at AltScreen code, I found how to easily clear screen: termenv.ClearScreen() 👍🏻
So now I'm missing only redraw part.

Okay, cool, I see your use case here. It probably makes sense to add something like tea.ClearScreen as a command. It should really be done internally so it runs in-step with the renderer and given output (termenv.ClearScreen only operates on stdout, which is usually, but not always where Bubble Tea is writing output).
Side note for implementors: logic declares that there should never be a need to manually redraw the screen in a Bubble Tea application, so we likely won’t ever implement a screen clearing command.

I've used the following, with success:
type doProgram func()

// Run is part of the tea.ExecCommand interface.
func (d doProgram) Run() error {
        d()
        return nil
}

// SetStdin is part of the tea.ExecCommand interface.
func (d doProgram) SetStdin(io.Reader) {}

// SetStdout is part of the tea.ExecCommand interface.
func (d doProgram) SetStdout(io.Writer) {}

// SetStderr is part of the tea.ExecCommand interface.
func (d doProgram) SetStderr(io.Writer) {}

then inside the Update code:
 return m, tea.Exec(doProgram(termenv.ClearScreen))

Arguably, this could be automated inside tea.go.

@meowgorithm coming back to this:

Side note for implementors: logic declares that there should never be a need to manually redraw the screen in a Bubble Tea application, so we likely won’t ever implement a screen clearing command.

While I agree about "there should never be a need to redraw the screen", note that the Ctrl+L use case has another part: it's also a way to move the cursor to the top left, to gain more visual space to do things.
For example, we use this in bubbline to expand the viewing area.
Because of this legitimate use case, I think it's reasonable to integrate this feature as a logical  thing.

It's also a way for the user to remove the visual clutter of whatever output was present on the screen above the bubble output, when the alt screen is not used.


[V] 4G decoding is enabled.
[V] UEFIPatch is applied
[V] I have read Common issues (and fixes)

Description
I have tried to follow the guides to enable Resizable BAR, but it seems that I need some assistance :)
Here are the steps that I've done:

Used the UEFI Tool method to add the ReBarDxe.ffs
UEFI Patch

PS C:\Temp\BIOS\02_uefipatch> .\UEFIPatch.exe .\P8Z77-V-LX-ASUS-2501_rebardxe.CAP
parseImageFile: Aptio capsule signature may become invalid after image modifications
patch: replaced 29 bytes at offset EDBh 77B6488B0F493BCF73AE48FFC1E81BFFFFFF488B1748FFC8483BD0759B -><PHONE_NUMBER>66909066906690909090669090488B176690906690906690
patch: replaced 29 bytes at offset 13E3h 48BA000000000100000049B80000000004000000483BDA8BCE480F47D3 -> 49B800000000100000004929D8909090909090906690908BCE4889DA90
patch: replaced 11 bytes at offset 8A88h B8FFFFFFFF030000004C3B -> B8FFFFFFFFFFFFFF004C3B
patch: replaced 17 bytes at offset 7EBAh B9FFFFFFFF490FAFC14903C0483BC1776C -><PHONE_NUMBER>490FAFC14903C06690906690
patch: replaced 17 bytes at offset 7F96h B9FFFFFFFF490FAFC14903C0483BC1776C -><PHONE_NUMBER>490FAFC14903C06690906690
patch: replaced 7 bytes at offset 1795h 493B4C24C0771B -><PHONE_NUMBER>9090
patch: replaced 7 bytes at offset 183Dh 493B4C24C0771C -><PHONE_NUMBER>9090
Image patched
PS C:\Temp\BIOS\02_uefipatch> .\UEFIPatch.exe .\P8Z77-V-LX-ASUS-2501_rebardxe.CAP.patched .\IvyUSB3.txt -o P8Z77-V-LX-ASUS-2501_rebardxe_usb3.CAP.patched
parseImageFile: Aptio capsule signature may become invalid after image modifications
patch: replaced 13 bytes at offset DFD4h DE10D301FFFF00000B00000014 -> 8680311EFFFF00000B00000010
Image patched

DSDT patch using this guide: https://github.com/xCuri0/ReBarUEFI/issues/11#issuecomment-2544176811

Else
{
   CreateQWordField (BUF0, \_SB.PCI0._Y0F._LEN, M2LN)  // _LEN: Length
   CreateQWordField (BUF0, \_SB.PCI0._Y0F._MIN, M2MN)  // _MIN: Minimum Base Address
   CreateQWordField (BUF0, \_SB.PCI0._Y0F._MAX, M2MX)  // _MAX: Maximum Base Address
   M2MX = 0xFFFFFFFFF
   If ((TUUD >= 0x1000))
   {
      M2MN = (TUUD << 0x14)
   }
   Else
   {
      M2MN = 0x0000000100000000
   }
   M2LN = (M2MX - M2MN) + One
}

Unlock hidden "Above 4G decoding" using AMIBCP v4
Reset BIOS to default settings
Flashed the BIOS by using AFUDOS after removing the Aptio Capsule header. The Asus EZ Flash Utility gave me a "Security verification failed".
Disabled CSM
Used grub-mod-setup_var to enable Above 4G encoding. After this the Large Memory section is visible in device manager in Windows.

So this is where I am now:
GPU-Z shows that Resizable BAR is disabled

I have tried RebarState with different values (2GB, 4GB and unlimited), but it has no effect. I have also tried to reduce the RAM from 32GB to 16GB.
Device manager looks like this:

Intel Graphics Software crashes when I click on the GPU

Error event from Event Viewer

I don't know where to go from here, and some help is appreciated :)
Maybe someone already has a modded BIOS for my board (@03vmate https://github.com/xCuri0/ReBarUEFI/issues/77#issuecomment-2026967631)?

Unfortunately I cannot help, my use case was strictly compute and only on Linux, so I did not actually need ReBAR, just enough space for Linux to allocate a sufficiently large BAR(explained in https://github.com/xCuri0/ReBarUEFI/issues/77#issuecomment-1684007504)

It appears that the modified BIOS has reverted to the original version, 2501.
I used the following command: afudos.exe bios.rom /GAN
Without rebooting, I verified that the flashed image contained the ReBarDxe section by running: afudos.exe backup.rom /O
However, after rebooting, I performed the same verification and found that the ReBarDxe section was missing.
I also attempted to run:
afudos.exe bios.rom /P /B /N /GAN
but encountered the following error:
18 - Error: Unable to start a Secure Flash session error message.
The file was checked for padding issues. Does anyone have suggestions on how to proceed?

I had a lot of trouble with flashing too, so ended up buying a cheap EEPROM flasher and used that. It saved a bunch of time too, and cost about 5 bucks.

@simrem You need to use BIOS Flashback.
I'm interested in how B580 performs with Ivy Bridge so do update if possible.

Thank you for the feedback! I followed this guide and successfully flashed the BIOS: https://tomvanveen.eu/flashing-bios-chip-raspberry-pi/
With 16GB of RAM and ReBarState set to "unlimited," GPU-Z now reports a 16GB BAR size:

The computer would not boot with 32GB of RAM installed. However, reducing the RAM to 24GB worked. Additionally, setting ReBarState to 8GB and installing 32GB of RAM also worked.

What would be the recommended configuration in my case. Prefer BAR size or RAM size?
@xCuri0 I have not tested the performance yet, but I will give you an update later.

The B580 will almost certainly utilize a BAR larger than 8 gigs if it can, so I would personally go for 24GB RAM + 16GB BAR, but you should benchmark some workloads to see how much of a difference it makes.

@simrem Such a coincidence, I was looking into enable Resizable BAR for this exact same motherboard. Would you be so kind as to share the BIOS you flashed? Thanks for sharing this information.

@simrem Such a coincidence, I was looking into enable Resizable BAR for this exact same motherboard. Would you be so kind as to share the BIOS you flashed? Thanks for sharing this information.

Here you go:
P8Z77-V-LX-ASUS-2501_rebar.zip
Be aware that afudos did not work for me.

Thank you @simrem. I had patched mine following teh steps, but I probably made some mistakes. Will try yours soon. I use an EPROM programmer so I am covered there. Thank you again, and happy new year


Rails cannot precompile assets

Note: See this gist for relevant information: https://gist.github.com/1270849
With Rails 3.1.0 precompiling assets upon deploy would fail when the top-level stylesheet
does NOT include a UTF-8 character, but an imported scss/sass file did. This does not fail
during development on a OSX 10.7.1. It fails on a Redhat Server 5.7 release.
See the admin.css.scss file below. It is what fails. If I add a "@charset 'UTF-8'" declaration to the top of the file it still fails. In fact, digging into when Sprocket gets the code it treats the file as US-ASCII. It appears that Sass or Sprockets will strip all @charset declarations and provide.
If I add a UTF-8 character into the admin.css.scss then it works fine. ie: adding é in a comment.
On the RHEL server, without UTF-8 character in stylesheet:

file -i app/assets/stylesheets/admin.css.scss
app/assets/stylesheets/admin.css.scss: text/x-c; charset=us-ascii

With UTF-8 character in stylesheet:

file -i app/assets/stylesheets/converseon_admin.css.scss
app/assets/stylesheets/converseon_admin.css.scss: text/x-c; charset=utf-8

Other things to note about the environment:

echo $LANG
en_US.UTF-8

See this gist for relevant information: https://gist.github.com/1270849

are you using sprockets require statements?

ah yes. you are. Please do not use sprockets require. Use the sass @import directive. Sass handles encodings very nicely.

I added some notes to the reame about this.

I am NOT using the sprockets require lines to load my SASS stylesheets, I am using the @import directives instead. I am also experiencing the exact same issue as @zdennis, however. Even with an explicit @charset "utf-8"; as the very first line in my application.css.scss file, the compiled result was that of @charset "US-ASCII";. Only once I put a comment in that same file which contained a UTF-8 character did it actually keep the UTF-8 encoding.

@nex3 Is this the expected behavior of @charset?


Updated betauser.json

Added Harish-chander part of the users list

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


Error installing over Ubuntu 16.04

This video shows an error installing a executing play-with-docker.
https://youtu.be/7uNWnkDd0RY
This is the error:
Attaching to haproxy, l2, pwd haproxy    | <7>haproxy-systemd-wrapper: executing /usr/local/sbin/haproxy -p /run/haproxy.pid -f /usr/local/etc/haproxy/haproxy.cfg -Ds  pwd        | /bin/sh: 1: cd: can't cd to /go/src/github.com/play-with-docker/play-with-docker l2         | /bin/sh: 1: cd: can't cd to /go/src/github.com/play-with-docker/play-with-docker/router/l2 pwd        | stat api.go: no such file or directory l2         | stat l2.go: no such file or directory pwd exited with code 1 l2 exited with code 1
Those are the steps i following
`
go things...
cd /usr/local
curl -O https://storage.googleapis.com/golang/go1.8.linux-amd64.tar.gz
tar xvfz go1.8.linux-amd64.tar.gz
rm -f go1.8.linux-amd64.tar.gz
export PATH=$PATH:/usr/local/go/bin:/root/go/bin
export GOPATH=/root/go
mkdir -p $GOPATH/src/github.com
cd /root/go/src
go get -u github.com/golang/dep/cmd/dep
play-with-docker things...
cd /root/go/src/github.com
git clone https://github.com/play-with-docker/play-with-docker.git
dep init
dep ensure
docker things...
docker pull franela/dind
docker swarm init
curl -L https://github.com/docker/compose/releases/download/1.17.0/docker-compose-uname -s-uname -m -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
cd /root/go/src/github.com/play-with-docker
docker-compose up
`

cd /root/go/src/github.com
git clone https://github.com/play-with-docker/play-with-docker.git
Here's the issue.

You need to clonse PWD in $GOPATH/src/github.com/play-with-docker and not $GOPATH/src/github.com like you did


AWS v16.3.0 release

ℹ Team Phoenix is drafting AWS v16.3.0 to add support for South Africa region
Target release date: 2022-01-15
Pre-Release

[ ] Create release ticket on Releases board
[ ] Make an announcement on #sig-product that team is doing a release. Include a link to the ticket from the release board.
[ ] Make sure release was tested by creating new cluster, upgrading from older version and with HelloWorld app.
[ ] Aggregate release notes from all changed components and add to README.md in the release directory.
[ ] Send draft release announcement to #sig-product for review ASAP.
[ ] Verify documentation is up to date.

Releasing

[ ] Create release PR
Instructions

[ ] Define new release in release.yaml file.
[ ] Activate new release by setting state to active.
[ ] Deactivate old release if it's within same major version (state: deprecated). Verify with PO if you have doubts.
[ ] Check versions of all components included. They shouldn't be lower than those in the previous release unless there was a rollback.

Example PR

[ ] Release relevant operators.

[ ] Tag release branch.
[ ] Bump operator version in draft release.

[ ] Make sure that WIP releases in releases repo branch are removed and not merged to master since the master branch is deployed automatically after merging PR and that would make WIP releases visible in customers’ installations which should generally not happen.

Post-Release

[ ] Update front-end cluster with the new release.
[ ] Verify release is available on all installations. You can use this script.
[ ] Send out release announcement to all customers according to these instructions.
[ ] PO subscribes to release posts on Slack to get notifications if there are follow-up messages.
[ ] Close release task on Releases board.

Waiting for AWS operator to be tested and released in south africa


Support deprecating old root keys after rotation

This adds support for root key rotation as described in #835.
Previously, old root keys needed to sign for all subsequent root.json files in perpetuity. This changes root rotation so that new keys are trusted if signed by the previous root key/threshold. To support this behavior, root files can now be requested by version number from the server.
This also adds an additional command line flag for rotate, --key, which allows specifying keys to rotate the root to. This supports specifying multiple keys, but all must be available to sign locally (i.e. this doesn't support threshold/witness behavior at the moment).
Example:
# test/collection root.json signed by A, B
$ notary key rotate test/collection root --key=C --key=D
# test/collection root.json now signed by A, B, C, D
$ notary key rotate test/collection root --key=E
# test/collection root.json now signed by C, D, E

Closes #1014
Closes #835

Can one of the admins verify this patch?

Please sign your commits following these rules:
https://github.com/docker/docker/blob/master/CONTRIBUTING.md#sign-your-work
The easiest way to do this is to amend the last commit:
$ git clone -b "root-key-rotation" git@github.com:ecordell/notary.git somewhere
$ cd somewhere
$ git rebase -i HEAD~3
editor opens
change each 'pick' to 'edit'
save the file and quit
$ git commit --amend -s --no-edit
$ git rebase --continue # and repeat the amend for each commit
$ git push -f

Ammending updates the existing PR. You DO NOT need to open a new one.

Please sign your commits following these rules:
https://github.com/docker/docker/blob/master/CONTRIBUTING.md#sign-your-work
The easiest way to do this is to amend the last commit:
$ git clone -b "root-key-rotation" git@github.com:ecordell/notary.git somewhere
$ cd somewhere
$ git rebase -i HEAD~3
editor opens
change each 'pick' to 'edit'
save the file and quit
$ git commit --amend -s --no-edit
$ git rebase --continue # and repeat the amend for each commit
$ git push -f

Ammending updates the existing PR. You DO NOT need to open a new one.

thanks @ecordell for your work on this!  I have a couple of things:

I want to echo my comment about whether we should allow non-root roles to rotate to multiple keys -- it's fine with me but if so we should make sure it's adequately tested in unit and integration tests.  I'm also fine with leaving the scope of this PR to only root-roles and expanding on this later.

nit: can we rename the PR to something like Support specifying specific keys on root rotation?  It's a little confusing because root key rotation is technically already supported :)

@riyazdf thanks for taking a look!

Responded inline, but currently this will fail for non-root roles because the non-root keys are not generally encrypted. I dislike that this is an implicit restriction so I think we should choose one way or the other and I'll update.

I'll update the title

@riyazdf

Fixed the rethink queries
Supports rotating non-root keys as well
Added integration tests for rotating keys

Please take a look and let me know if there's anything I've forgotten. I think this is ready to go despite the codecov failure - take a look and see if you agree.

jenkins, test this please

jenkins, test this please

@endophage @cyli I believe I've addressed all comments in the current PR, thanks!
Before merging, I think I need to implement the --drop flag from #841, unless consensus has changed?
I'd prefer to get the server and the client in together, but if we need to split them up that's fine. I'll need to rewrite the commits since I did some refactoring across both. Let me know which is preferred!

jenkins, test this please

I believe this also at least partially addresses https://github.com/docker/notary/issues/410 and https://github.com/docker/notary/issues/445 , as it makes all metadata files addressable by version (assuming the db hasn't been pruned, etc etc)

Recap: The plan is to have a flag allowing users to sign with old keys. If provided, we pull old versions of the root file from the server, correlate the keys specified in the root role with those the signer has on disk, and sign with them.
We may choose to go back a certain amount of time (e.g. two months) or versions (e.g. two versions).
Food for thought: what about an automated --legacy flag that does some heuristics, like if you have >75% of the keys for the past X versions, sign without interaction?

Please sign your commits following these rules:
https://github.com/docker/docker/blob/master/CONTRIBUTING.md#sign-your-work
The easiest way to do this is to amend the last commit:
$ git clone -b "root-key-rotation" git@github.com:ecordell/notary.git somewhere
$ cd somewhere
$ git rebase -i HEAD~5
editor opens
change each 'pick' to 'edit'
save the file and quit
$ git commit --amend -s --no-edit
$ git rebase --continue # and repeat the amend for each commit
$ git push -f

Amending updates the existing PR. You DO NOT need to open a new one.

Please sign your commits following these rules:
https://github.com/docker/docker/blob/master/CONTRIBUTING.md#sign-your-work
The easiest way to do this is to amend the last commit:
$ git clone -b "root-key-rotation" git@github.com:ecordell/notary.git somewhere
$ cd somewhere
$ git rebase -i HEAD~5
editor opens
change each 'pick' to 'edit'
save the file and quit
$ git commit --amend -s --no-edit
$ git rebase --continue # and repeat the amend for each commit
$ git push -f

Amending updates the existing PR. You DO NOT need to open a new one.

I've implemented a potential solution for supporting legacy clients; I've pushed it up early for review (it still needs lots of testing).
Currently this hardcodes fetching the root keys from 5 previous versions. It's not clear to me that the number of versions back to fetch should necessarily be user-defined (if it looks like no one has rotated more than once, for example, we could just hardcode the number here to 20 and be done with it). If it's necessary to control how far back to sign for, should it be set by number of versions or date?

I like the idea of doing the backwards fetch based on time. It feels logical and in the spirit of TUF to say "if a client hasn't updated such that they have a version no older than X, they're so far out of date they need to do a more manual recovery."
Would could have a default of say, 2 months (completely flexible on the specific period), while allowing a user to supply a flag to change the period. I don't think the time needs to be particularly long.

I'd say if the immediately previous key isn't found (based on the old rotation logic for now), it should be a hard fail. Now that we have delete released, in that instance the user has to recover by deleting all their existing trust data and starting fresh, because no up to date client would accept the rotation.
If older keys aren't found, it should probably warn but publish. With this legacy signing mode, the user can  re-sign the root once they have recovered the older keys (if they consider that to even be necessary). That does mean we'll also need a way to re-sign roles, but that doesn't need to be in this PR, just needs to be in by the next release.

My only hangup with a time-based solution is that it's unpredictable. How many network calls is "4 months back"?

I agree it has the potential to be a lot of network calls. Could the endpoint be optimised to return multiple versions in a single response?
Time just seems like a more natural scale to think on. It's easier for a human to remember "I changed my key in February, it's now October, I want to go back 8 months" (and yes, I acknowledge this could be a lot of versions), vs thinking "I changed my key in February, I think I've published 20 new root.json versions since then"
I don't necessarily expect root rotations to be fast, my concerns are more about lowering the complexity to help humans use it. I'm sure we can find ways to get the speed elsewhere.

jenkins, test this please

Thanks for the review @cyli! I'll work on this and update soon.
Before merging, I also need to double check that this handles cases where intermediate versions do not exist, or enforce that version numbers always increment by 1.

Please sign your commits following these rules:
https://github.com/docker/docker/blob/master/CONTRIBUTING.md#sign-your-work
The easiest way to do this is to amend the last commit:
$ git clone -b "root-key-rotation" git@github.com:ecordell/notary.git somewhere
$ cd somewhere
$ git rebase -i HEAD~842354288336
editor opens
change each 'pick' to 'edit'
save the file and quit
$ git commit --amend -s --no-edit
$ git rebase --continue # and repeat the amend for each commit
$ git push -f

Amending updates the existing PR. You DO NOT need to open a new one.

@cyli @endophage Sorry for the delay in updating this - pretty sure I've addressed everything at this point.
Added a restriction that root updates must increment by 1 or 0 to the server.
For legacy support, is the current solution acceptable? Should the default be to sign with all old keys instead? (I prefer the default to sign with only the immediately previous, but we could start with signing with all by default and then at some future point flip that).

jenkins, test this please

Thanks @ecordell!  And no worries - we have also been super unresponsive :)  Thanks for your patience.  I'll have a look at this probably tomorrow or over the weekend!

Going to test this out this afternoon/tomorrow. Excited to see this wrapped up!

jenkins, test this please

@ecordell As an update, we are probably going to do a group review of this to try to get this merged as soon as we get back from the holiday break.  Apologies for the scheduling issues, and thanks again for your patience!
Hope you have a happy holiday!

Thanks for the review @cyli!

(As a separate issue, I just wanted to note it here for now - we may also want to allow witness of a root to also be able to add all the legacy signatures, in case someone rotated a root but then later decided they want to support legacy clients).

Agreed this sounds like a great idea.
Should I work on fixing the codecov or is this good to go?

Group review:  Fixing the code coverage would be awesome, but not super high priority.
There are a couple of specific test cases we'd like though:

Testing the notary server validation prevents users from skipping a root version (or pushing a root version to a new repo that starts at > 1).
Testing that if one of the intermediate roots does not verify (not properly root rotated), updating fails.
Testing that updating to the newest root still works if the intermediate roots are expired.

Please sign your commits following these rules:
https://github.com/docker/docker/blob/master/CONTRIBUTING.md#sign-your-work
The easiest way to do this is to amend the last commit:
$ git clone -b "root-key-rotation" git@github.com:ecordell/notary.git somewhere
$ cd somewhere
$ git rebase -i HEAD~842353493120
editor opens
change each 'pick' to 'edit'
save the file and quit
$ git commit --amend -s --no-edit
$ git rebase --continue # and repeat the amend for each commit
$ git push -f

Amending updates the existing PR. You DO NOT need to open a new one.

Thanks for the comments! I've addressed everything inline in a new commit, and added a test for (1).
If I understand correctly, the other requested tests exist in (2) TestRootRoleInvariant, and (3) TestUpdateFailsIfServerRootKeyChangedWithoutMultiSign

jenkins, test this please

@ecordell
Thanks for adding the version skip test!  (2) TestRootRoleInvariant tests that the latest root does not validate, but not intermediate downloaded roots, and (3) TestUpdateFailsIfServerRootKeyChangedWithoutMultiSign tests that if the cached root is expired, then an update succeeds so long as the new root is valid.
We were thinking for (3) something like having the local cache at v1 (either expired or not), and downloading an expired v2 and a valid v3?  It should successfully update to v3.
Similarly for (2), except v2 is not properly rotated.  The only reason being because some checks are skipped for intermediate roots (like checksum and expiry), and this would validate that the root signing is validated for the intermediate roots.

@cyli I gotcha - I added those extra tests to be safe, thanks for clarifying.
I also removed those other GetKeyInfo methods - somehow I missed them, sorry about that.

@ecordell Thanks for adding them!

I also removed those other GetKeyInfo methods - somehow I missed them, sorry about that.

Not at all, easy to lose track :)

jenkins, test this please

LGTM!  Thank you so much for all your work and patience on this @ecordell!

Please sign your commits following these rules:
https://github.com/docker/docker/blob/master/CONTRIBUTING.md#sign-your-work
The easiest way to do this is to amend the last commit:
$ git clone -b "root-key-rotation" git@github.com:ecordell/notary.git somewhere
$ cd somewhere
$ git rebase -i HEAD~842353866880
editor opens
change each 'pick' to 'edit'
save the file and quit
$ git commit --amend -s --no-edit
$ git rebase --continue # and repeat the amend for each commit
$ git push -f

Amending updates the existing PR. You DO NOT need to open a new one.

Thanks! I've rebased on master, so hopefully everything will be good shortly.

Jenkins, test this please

Thanks for your patience and great work on this @ecordell !

Thanks for all of the reviews! I can't merge myself if someone with write access would like to :) Glad to finally have this wrapped up.


Library import<PHONE_NUMBER>

PR was created by rightlib sync workflow run

Unable to merge PR All future check are suspended, please remove the rightlib-fail label to enable checks. Rightlib sync workflow logs can be found here.

The PR was successfully merged into main using workflow


Some node names that include numbers are not parsed

Per the HTML spec, an attribute name like data-id-25 is valid (albeit maybe unusual)

Attribute names must consist of one or more characters other than the space characters, U+0000 NULL, U+0022 QUOTATION MARK ("), U+0027 APOSTROPHE ('), U+003E GREATER-THAN SIGN (>), U+002F SOLIDUS (/), and U+003D EQUALS SIGN (=) characters, the control characters, and any characters that are not defined by Unicode. link

This can't be parsed by syn-rsx at present because each segment of the node name needs to be an Ident, and 25 isn't a valid Rust identifier.
You're probably more familiar with syn than I am but I wonder if changing the Punctuated variant of NodeName to something like
Punctuated(Punctuated<NodeNameFragment, Punct>),

where
pub enum NodeNameFragment {
  Ident(Ident),
  Number(u32)
}

would be a possibility. This only expands the possibilities to include numbers, and not other possibly-valid attribute names that aren't valid Rust identifiers, but would be a start.
Here's an issue in my repo with an example of where someone would use it—using a class: syntax to toggle a Tailwind-like CSS class name that included a number after a dash.

Turning the fragment into an enum sounds generally like a workaround that could work. However, while giving an implementation a quick look, it turned out that this might get tricky in terms of adjusting the node_name_punctuated_ident_with_alternate method.
An alternative would be to switch an approach that also relies on https://github.com/rust-lang/rust/issues/54725, just like the quoted text feature. Basically: Parse all tree tokens until we hit a whitespace, equal sign or slash. But given that's nightly only, it's probably not something that would work as solution right now for your consumers? Because further expanding the node_name_punctuated_ident_with_alternate method, which already is kinda hack-ish doesn't sound too appealing, tho I'd be totally fine with doing so if we have to.

I'd be comfortable relying on nightly if people want to be able to use this particular kind of node name. (As long as the library also works without nightly and just works as it does currently!)
We already encourage nightly for some features it enables, with an opt-out feature for stable, so it would work for me at least.

Didn't have a chance to continue working on this and probably won't for some time still. There's an unquoted-text branch, in case you are interested to give it look. I somehow didn't manage to get the correct line/column numbers for spans.


getSignedUrl giving Url that doesn't work

Hi everyone,
I'm trying to connect to a read-only URL giving back by getSignedUrl on my uploaded files but every time I try to access it on the browser, it gives me back an error of "Signature was not Base 64 encoded". I initialized the storage object from the bucket provided by Firebase admin SDK. I've read that getSignedUrl is the only way to get a url similar to the downloadURL provided by firebase storage. My code is the same as the one provided in their documentation.
file.getSignedUrl({         action: 'read',         expires: '04-01-2019'     }, (err, url) => {         console.log([url])         return [url]     })

The issue was that the url being console logged didn't contain the right signature when launched in the browser. The returned url works when sent back to the client from the server.


Information about showing the business card on the contact form

The business card is saved in a base64 format in the business card field on the entity. You are showing in the Kenny Smith Contoso Screenshot a picture of the business card. Can you please elaborate how to show the business card on the form? The quality of the OCR and mapping of the fields makes quality control mandatory, and for that the picture is needed. Thank you!

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

ID: 6f819155-e941-0ffa-6055-741db0858096
Version Independent ID: bf3b1811-3dbb-7516-623f-2285106071e4
Content: Scan business cards (Dynamics 365 Sales)
Content Source: ce/sales-enterprise/scan-business-cards.md
Service: dynamics-365-sales
GitHub Login: @shubhadaj
Microsoft Alias: shujoshi

After adding the Business Card field to your form, you need to customize it. Go to the Control tab on the field properties and add the AI Builder Business Card control and set it as the default for everything. You can map the fields to mimic the one on the Quick Create form if you would like but the important one to add is the Default Image mapping. Point it to the businesscard field on the form and it should show the image now on that form.

@Flinsenberger : Thank you for your feedback. To which form are you trying to add the business card? The business card is available on the out of the box lead and contact forms if the Always retain business card images after scanning option is set to Yes in the System Settings (See https://docs.microsoft.com/en-us/dynamics365/sales-enterprise/retain-business-card-image-after-scanning).

Closing the comment as there's no further feedback.


Latest releases are missing

https://www.npmjs.com/package/@bazel/typescript shows many versions that are missing releases in this repo.
Are they just missing, or will there be no more releases in this repo?

@bazel/typescript lives here now https://github.com/bazelbuild/rules_nodejs


Make it easier to return maps of select properties

CIR-2017-178
It is a common requirement to return only a handful of properties from a node, in cases where the actual node has many more properties than that. Currently this requires quite repetitive syntax:
MATCH (user:User{username:$username})
RETURN {
    username: user.username,
    email: user.email,
    firstName: user.firstName,
    lastName: user.lastName
} AS user

It would be nice to have a shorter syntax to allow selecting the properties to return:
MATCH (user:User{username:$username})
RETURN user{.username, .email, .firstName, .lastName}

One could also imagine extending this syntax to allow selecting variables for inclusion in the map, and for allowing regular map entries:
MATCH (manager:Employee{employmentId:$managerId})-[:MANAGES]->(employee:Employee)
MATCH (employee)-[:WORKS_IN]->(group)<-[:WORKS_IN]-(colleague)
WITH employee, manager.name AS manager, collect(colleague) AS colleagues
RETURN employee{
// select some properties of the 'employee' node:
    .employmentId,
    .email,
    .name,
// select a variable for inclusion as-is:
    manager,
// include a regular key-value entry:
    co_workers: [co_worker IN colleagues | co_worker{.name, .employmentId}]
}

Combining this with the comprehension subquery suggested in #177 would make things even nicer (and almost directly mappable from Facebook's GraphQL):
MATCH (manager:Employee{employmentId:$managerId})-[:MANAGES]->(employee:Employee)
RETURN employee{
    .employmentId,
    .email,
    .name,
    manager{.employmentId, .email, .name},
    co_workers: [
        MATCH (employee)-[:WORKS_IN]->(group)<-[:WORKS_IN]-(colleague)
        RETURN colleague{.name, .employmentId}
    ]
}

(Updated the original comment to include the name of the CIR)


datacenter not found error

I'm trying to converge but I keep getting a datacenter not found error. The datacenter is in a folder.
I have a datacenter on a lab cluster that isn't in a specific folder, and everything works great.
I tested this from knife and the datacenter is found. For some reason this is not able to find the datacenter if it's under a folder structure.
I think this code doesn't take datacenters in folders under account.
rootFolder = vim.serviceInstance.content.rootFolder
        dc = rootFolder.childEntity.grep(RbVmomi::VIM::Datacenter).find

When looking up data centers, folders should be traversed, not just doing a find on the rootFolder.
This is how knife vsphere does it:
      def traverse_folders_for_dc(folder, dcname)
        children = folder.children.find_all
        children.each do |child|
          if child.class == RbVmomi::VIM::Datacenter && child.name == dcname
            return child
          elsif child.class == RbVmomi::VIM::Folder
            dc = traverse_folders_for_dc(child, dcname)
            return dc if dc
          end
        end

datacenter: 'USF Support Centers/1P - Phoenix NPC - QA'

------Exception-------
Class: Kitchen::ActionFailed
Message: 1 actions failed.
Failed to complete #create action: [vSphere Datacenter not found [USF Support Centers/1P - Phoenix NPC - QA]] on default-redhat
Please see .kitchen/logs/kitchen.log for more details
Also try running kitchen diagnose --all for configuration

resolved with 2.0.0 release.


LLM inference on Lunar Lake 258v causes system reboot

it did not appear to have anything to do with running out of system ram, I the only difference between the vanilla implementation from the examples list, and the code that I wrote in python that causes the system crash on the ov_model.generate() function, is that I have also have cuda dependencies, because I am writing some code that auto-loads models regardless of hardware platform and model architecture, and multiplexes the inference endpoints from api providers.
https://github.com/endomorphosis/ipfs_accelerate_py/blob/a1cb9ca8e0d8623bf8ddc66daed350ff2cf27dfd/ipfs_accelerate_py/worker/skillset/hf_llava.py#L325

The computer has rebooted from a bugcheck.  The bugcheck was: 0x00000124 (0x0000000000000000, 0xffff830fc8602028, 0x00000000b2000000, 0x0000000008210402). A dump was saved in: C:\windows\MEMORY.DMP. Report Id: 3599d5d5-5f01-4290-8f01-34ac5c70de4f.
https://huggingface.co/datasets/endomorphosis/LunarLake_Crash_MemDump/resolve/main/MEMORY.DMP

Could you please share the following information with us to further investigate the issue?

Python version
OpenVINO™ GenAI version
Hardware specifications
Host Operating System
List any steps we should take to reproduce the error you are seeing
Additional environment information
If Other Deep Learning Framework, please specify
If applicable, Deep Learning Framework used

Can you please download this file so that I can remove it from huggingface, given that the memory dump has (most likely) intel github credentials in it.

Could you please share the following information with us to further investigate the issue?

Python version
3.10.11
OpenVINO™ GenAI version
2024.6
Hardware specifications
Lunar Lake PC, on the Tiber Devcloud
Host Operating System
Windows 11
List any steps we should take to reproduce the error you are seeing

I have provided the code where the breakpoint should be placed.
https://github.com/endomorphosis/ipfs_accelerate_py/blob/a1cb9ca8e0d8623bf8ddc66daed350ff2cf27dfd/ipfs_accelerate_py/worker/skillset/hf_llava.py#L325
Here is the entrypoint to that code.
https://github.com/endomorphosis/ipfs_accelerate_py/blob/a1cb9ca8e0d8623bf8ddc66daed350ff2cf27dfd/ipfs_accelerate_py/ipfs_accelerate.py#L1627
The code occurs intermittently once every 3 or 4 runs.

Additional environment information
Memory dump information was provided.

https://github.com/openvinotoolkit/openvino.genai/issues/1435#issuecomment-2562028245

If Other Deep Learning Framework, please specify
https://github.com/endomorphosis/ipfs_accelerate_py/blob/a1cb9ca8e0d8623bf8ddc66daed350ff2cf27dfd/requirements.txt

I no longer have access to this lunar lake system, but I was provided this feedback by another dev.

The error message from windows indicates its a drivers issue, and I will leave this for you all to figure out.

I've copied your repository and setup the environment with the following steps on a local Windows system:
git clone https://github.com/endomorphosis/ipfs_accelerate_py.git
cd ipfs_accelerate_py
python -m venv openvino_env
openvino_env\Scripts\activate
python -m pip install --upgrade pip
pip install -r requirements.txt

I ran the Python script, and it didn't reboot the system. However, I encountered an error: AttributeError: 'IndexError' object has no attribute 'keys'
cd ipfs_accelerate_py
python ipfs_accelerate.py

Do you encounter the issue when using a local Windows system?

oh, sorry, its a repository that I am actively committing to, its 330AM right now, but i will get that corrected when i wake up, but apparently the issue isnt so much with my code, but something to do with the driver instability.


media mixin for forming media queries

In every project I do, I find I'm writing a utility function such as this one to convert my breakpoints into media queries.
It would be nice to have this utility in polished. I think it would be a useful addition to the library.
I submit this PR as proof of concept; it's really intended as a discussion item.

Closing due to light interest from the community.


UpnpInet: remove iphlpapi include

Not only is it unused, projects that pass -DNOCOMM under Windows end up failing compilation as more headers need to be included. Simpler to just not include.

It does not pass compilation in the tests, could you review it?
Building Custom Rule D:/a/pupnp/pupnp/upnp/CMakeLists.txt
  upnpapi.c
D:\a\pupnp\pupnp\upnp\src\api\upnpapi.c(3657,24): error C2065: 'PIP_ADAPTER_ADDRESSES': undeclared identifier [D:\a\pupnp\pupnp\build\upnp\upnp_static.vcxproj]
D:\a\pupnp\pupnp\upnp\src\api\upnpapi.c(3657,24): error C2146: syntax error: missing ';' before identifier 'adapts' [D:\a\pupnp\pupnp\build\upnp\upnp_static.vcxproj]
D:\a\pupnp\pupnp\upnp\src\api\upnpapi.c(3657,31): error C2065: 'adapts': undeclared identifier [D:\a\pupnp\pupnp\build\upnp\upnp_static.vcxproj]
D:\a\pupnp\pupnp\upnp\src\api\upnpapi.c(3657,37): warning C4047: '=': 'int' differs in levels of indirection from 'void *' [D:\a\pupnp\pupnp\build\upnp\upnp_static.vcxproj]
D:\a\pupnp\pupnp\upnp\src\api\upnpapi.c(3658,24): error C2065: 'PIP_ADAPTER_ADDRESSES': undeclared identifier [D:\a\pupnp\pupnp\build\upnp\upnp_static.vcxproj]
D:\a\pupnp\pupnp\upnp\src\api\upnpapi.c(3658,24): error C2146: syntax error: missing ';' before identifier 'adapts_item' [D:\a\pupnp\pupnp\build\upnp\upnp_static.vcxproj]
D:\a\pupnp\pupnp\upnp\src\api\upnpapi.c(3658,35): error C2065: 'adapts_item': undeclared identifier [D:\a\pupnp\pupnp\build\upnp\upnp_static.vcxproj]
D:\a\pupnp\pupnp\upnp\src\api\upnpapi.c(3659,30): error C2065: 'PIP_ADAPTER_UNICAST_ADDRESS': undeclared identifier [D:\a\pupnp\pupnp\build\upnp\upnp_static.vcxproj]
D:\a\pupnp\pupnp\upnp\src\api\upnpapi.c(3659,30): error C2146: syntax error: missing ';' before identifier 'uni_addr' [D:\a\pupnp\pupnp\build\upnp\upnp_static.vcxproj]
...

Passes now.

Hi Rosen,
Thank you for your time to review this issue.
Best regards,
Marcelo.