Consistency: Return Hash yields with key,value using tuples

Right now with the short block syntax, we are only able to get the first argument sent to yield. There have been many ways to get arguments beyond the first (such as &1, &2). In the meantime, there exists a discrepancy between some methods that yield multiple arguments but in different ways.
Hash#each yields a tuple of {key, value} meaning they are both available as the first argument. This is inconsistent with other yields such as Hash#select, Hash#reject, and others.
In this PR, I have moved any that yield key, value to pass them as a tuple for consistency. This has the unfortunate consequence of having to acknowledge each parameter using normal block arguments.
For example, before
{0=>'0', 1=>'1', 2=>'2'}.select do |k|
  k > 1
end

After, (or currently with each) this would error with Error: no overload matches 'Tuple(Int32, Char)#>' with type Int32. We must do the below instead.
{0=>'0', 1=>'1', 2=>'2'}.select do |k, _|
  k > 1
end

I did not include the protected method Hash#each_entry_with_index in this PR.
I looked into letting multiple argument yields be returned as Tuples, but this is a big language change and would lead to less concise code, as well as other problems.
An alternative approach to this PR would be to let #each return each value separately, but if we were to go down this avenue. this should be delayed until after we have a method of getting other arguments with the short block syntax.
If we extended this behaviour across the language, we'd end up with a mess like this

Making these methods consistent is good. But I would actually go in the opposite direction, i.e. make Hash#each not yield a tuple.
As your mess shows, it would really be a bad idea to use a tuple every time multiple values are yielded. So, I'm wondering why we would want to go that way with Hash methods.
At that point, it would definitely be better to have the compiler turn multiple yielded values into a tuple. But that already exists. It's just not automatic and requires a splat argument. But that just removes ambiguity. The first block argument doesn't suddenly change because you removed the second one.
If you want all arguments as a tuple, just use a splat.
Continuing this thought, I would even consider to remove auto splatting tuple arguments from the language entirely. There's not much benefit from it but it makes things more complicated.

Methods that redefine Enumerable(T) should continue yielding values of type T, like Hash#select in the example shown; it should be impossible to drop the value in the block arguments. Otherwise I don't see a reason to do this to every line of code that yields multiple values, e.g. Hash#merge does not come from Enumerable so its block arguments needn't be wrapped in a tuple. The solution is to simply not use the short block syntax if it ends up introducing ambiguity.
One possible generalization that handles Hash is to do Enumerable(*T) instead, requiring #each to yield values of types *T:
module Enumerable(*T)
  abstract def each(&block : *T -> _)

  # example of a method using `#each`
  def each_with_object(obj)
    each do |*elems|
      yield *elems, obj
    end
    obj
  end
end

class Hash(K, V)
  include Enumerable(K, V)

  # no tuple required
  def each : Nil
    each_entry_with_index do |entry, i|
      yield entry.key, entry.value
    end
  end
end

However this would complicate matters for blocks that currently take T more than once, like #each_cons_pair (we'd like to avoid yielding 1-tuples in these cases).

I don't think there's an inconsistency. They are just different methods. The ones from Enumerable are inherited from Hash and work on tuples.

I don't think there's an inconsistency. They are just different methods. The ones from Enumerable are inherited from Hash and work on tuples.


Bad code generated for API call returning DateTime

We have been generating a TypeScript 2.0 client (Angular 2) from our Web API using NSwagStudio (version <IP_ADDRESS>) for a while now, but hit a snag when we recently added a method on one of our controllers which returned a DateTime. We use MomentJS for DatetTime Type.
The generated client included this method:
`   protected processGetStart(response: Response): Observable<moment.Moment | null> {
const status = response.status;
    let _headers: any = response.headers ? response.headers.toJSON() : {};
    if (status === 200) {
        const _responseText = response.text();
        let result200: moment.Moment | null = null;
        result200 = new Date(_responseText);
        return Observable.of(result200);
    } else if (status !== 200 && status !== 204) {
        const _responseText = response.text();
        return throwException("An unexpected server error occurred.", status, _responseText, _headers);
    }
    return Observable.of<moment.Moment | null>(<any>null);
}`

The line
'result200 = new Date(_responseText);'
of course fails as result200 is a moment. It seems the date parsing doesn't honor the selected Date Time Type. Manually changing it to
'result200 = moment(_responseText);'
fixes the issue - but that's a pain to do every time the client is regenerated.

Fixed in v11.4.3

Excellent @RSuter - fantastic response time :)


GA release of @google-devtools/artifact-registry

Package name: @google-devtools/artifact-registry
Current release: BETA
Proposed release: GA
Instructions
Check the lists below, adding tests / documentation as required. Once all the "required" boxes are ticked, please create a release and close this issue.
Required

[ ] 28 days elapsed since last beta release with new API surface
[ ] Server API is GA
[ ] Package API is stable, and we can commit to backward compatibility
[ ] All dependencies are GA

Optional

[ ] Most common / important scenarios have descriptive samples
[ ] Public manual methods have at least one usage sample each (excluding overloads)
[ ] Per-API README includes a full description of the API
[ ] Per-API README contains at least one “getting started” sample using the most common API scenario
[ ] Manual code has been reviewed by API producer
[ ] Manual code has been reviewed by a DPE responsible for samples
[ ] 'Client Libraries' page is added to the product documentation in 'APIs & Reference' section of the product's documentation on Cloud Site

Wait for stable release


bug: deletes to much after

  x| -> <cr><cr>

  x

  |   -> <bs>

  x|

expected is
  x

|

Please refer the doc of control the behavior of smart deletion
If you don't like this behavior, set as the following
delete = {
  empty_line = {
    text_text = {
      strategy = nil,
      fallbacke = fb.delete,
    }
  }
}

I'll consider change the default behavior to the normal deletion.


How to stop buttons and background from moving

Describe your problem here.

I have two problems. The first one at the beginning when I go to the menu everything seems to be fine, but there is no settings button

But when I select the buttons below, everything is fine and the settings button is visible
Second problem: I would like the buttons and background to not move when I press up or down
That is, I want them to be static.. Please help
Are you modding a build from source or with Lua?
Source
What is your build target?
Windows x64
Did you edit anything in this build? If so, mention or summarize your changes.
A little

im not sure whats wrong with the settings button but for the scroll part,
find bg.scrollFactor.set(0, yScroll) and replace 'yScroll' with 0, do the same with the menu items. also remove bg.setGraphicSize and bg.updateHitbox()

im not sure whats wrong with the settings button but for the scroll part,
find bg.scrollFactor.set(0, yScroll) and replace 'yScroll' with 0, do the same with the menu items. also remove bg.setGraphicSize and bg.updateHitbox()

I replaced bg.scrollFactor.set(0, yScroll) from "yScroll" to "0". Removed bg.setGraphicSize and bg.updateHitbox(). The background doesn't move, but the buttons do.


switchTo

Name and description
switchTo(other : Observable<E>)
this operator will send all elements emitted by the source observable until the other observable starts emitting elements, at which point only elements emitted by other will be considered.
may need an additional optional flag to control whether the resulting observable completes when any of self and / or other completes
Motivation for inclusion
Allows subscribing to multiple sequences but irrevocably switching to the next when it starts emitting. This use case doesn't seem to be covered by any existing Rx operator.
Suggested implementation
extension ObservableType {
    func switchTo(other: Observable<E>) -> Observable<E> {
        return Observable.create { observer in
            let a = self.asObservable().subscribe(observer)
            let b = other.subscribe { (event) in
                a.dispose()
                observer.on(event)
            }
            return AnonymousDisposable {
                a.dispose()
                b.dispose()
            }
        }
    }
}

An idea came up re-reading this proposal:
switchTo(other : Observable<E> ...)
In other words, the behavior of the proposed switchTo but applied to any number of parameters (of course a variant with a SequenceType will be available.
I think this is an affordable generalization of the operator. Opinions? @dpassage ?

Would the intent be that if any of the arguments pop, switch to that one? Or would it be a cascade of sorts?

I'm thinking about a cascade. Actually I was considering proposing the name casadeTo

Actually hedging towards cascade as a name. This way we can seemlessly offer implementations that cascade an observable to any number of subsequent observables, and also offer a Observable.cascade(obs : Observable<E> ...) implementation with a coherent naming scheme

In the same spirit, what about cascadeTo (someObservable.cascadeTo(someOtherObservable)) and cascade as a static function of Observable(Observable.cascade(a, b, c))

Implemented as cascadeTo and Observable.cascade in 972a1a5

What's been done is not enough. One issue is that a later sequence can complete before earlier ones, and the resulting sequence may never complete. Also, we need locking. Improvements forthcoming.

Done in 49281d8


Not Recognized Begin Commands

Hello there!
I have a quite strange problem and I hope someone can help me out with this.
I got "not a recognized BEGIN command, abbreviation, or macro.  This command will be ignored." error/warning for the main commands which are E,R, Real, Type,dk and some other common things.
Strange thing, I don't get them sometimes, from different scripts.  And also, it doesn't occur every time, but since I have a huge for loop, when it does, the results are not correct.
Thanks in advance for the concern.

Hello,
Would it be possible for you to post or upload your script here so I can look at it?  Also, please let me know the version of ANSYS and pyansys you're using.

Hello,
Would it be possible for you to post or upload your script here so I can look at it? Also, please let me know the version of ANSYS and pyansys you're using.

Hi,
I added both of them. The funny thing, it was working few days ago and I didn't do anything. The codes are more or less same.
I have Ansys 2019 R2 (student edition), pyansys 39.19 and python 3.7.
In addition, for working.py, since today, I have that issue. https://github.com/akaszynski/pyansys/issues/210
so now, I cannot run it as well.
Thanks a lot.
Regards.
not_working.txt
working.txt

I would like to add something.
I wrote down the code on console step by step and it worked, then I run the whole script and it worked again without an error.
Does it make any sense to you?
Thanks

I'm assuming you're running this on Windows, because I'm having no issues running this on Windows with either v15.0 or v19.4 on Linux with either CORBA or just with the terminal.  This sounds like a fundamental bug with CORBA on Windows, and it's not going to be something I'll be able to fix.
The good news is that ANSYS will likely have a new more modern interface coming out soon that will alleviate some of these issues.  If you have any way of running this on Linux, I recommend trying to use it there.
BTW, nice script!  It's great to see ANSYS/MAPDL used in this manner, and I apologize about it not running reliability.  This seems to me like it's a stability issue on Windows and/or CORBA.

Thanks a lot for checking out.
I was also thinking that it is related to the Windows OS and/or Ansys license, because I am getting numerous errors without any reason. But unfortunately I don't have any other access.
When I remove the sleep commands, now I am often able to run it. The problem is that for I am actually trying to do, I need the use a huge loop and after a while i get this error. So, I will be glad to hear if you have any advice in this regards.
However, you did a great job on this pyansys, thank you for that and I hope it will be stable with Windows too in a short while.
Regards

@anlblk, it turns out the CORBA feature for MAPDL isn't a well maintained interface and it has several known issues.  I think you're running into one of the limitations, and the best way of getting around it is likely to be solved by upgrading to a later release of ANSYS (2020R2 or later).  The feature has been long in coming, but with any luck later this year there will be a newer and more reliable interface for communicating with MAPDL.


Australian Dollar Countervalue Dream

Please add Australian Dollars as a countervalue option. I had a dream last night that it was added but when I woke up it wasn’t there.

Duplicate of #1154


editable install after pep660 breaks setup.py that relies on specific exception type to retry setup() after a build error

setuptools version
65.3, any after 64
Python version
3.7+
OS
any without compilers installed
Additional environment information
No response
Description
Not sure if this more of a bug or more of a discussion, feel free to move
I maintain two libraries, falcon and sqlalchemy, that have a similar install setup, namely they provide some optional extension modules that enable some speed up if compiled, but they have a pure python fallback in case compilation is not possible.
The setup.py take advantage of this and basically tries to compile the extension modules, then in case of a build error retries the setup() call without the extension modules, running a pure python install.
The setup.py files are these

sqlalchemy
falcon

Since version setuptools version 64 that enabled pep660 for editable builds this workflow no longer works, since among other things the exception raised by setup() is a SystemExit one.
Normal, non editable installs (pip install .) continues to work correctly.
I've tried to debug this and found a workaround, but it definitely seems like retrying the setup() call based on some condition is not something that should be done, at least in editable mode.
Will normal installs (pip install .) behave similarly to editable mode when installing from source?
Is there a better way of doing something similar in a supported or at least more robust way?
Should a custom backend be used, similar to what the documentation talks about here?
If that's the case, what's the best way for the backend to check if a compiler is available?
cc @zzzeek @vytas7
Expected behavior
Editable build installs in compiled or pure python version depending on the install machine
How to Reproduce
run in docker run -ti --rm --name py python:3.10-slim bash
apt update && apt install git
git clone --depth=1 https://github.com/sqlalchemy/sqlalchemy.git
cd sqlalchemy
pip install -e .

Output
Obtaining file:///sqlalchemy
  Installing build dependencies ... done
  Checking if build backend supports build_editable ... done
  Getting requirements to build editable ... done
  Preparing editable metadata (pyproject.toml) ... done
Collecting typing-extensions>=4.1.0
  Downloading typing_extensions-4.3.0-py3-none-any.whl (25 kB)
Collecting greenlet!=0.4.17
  Downloading greenlet-1.1.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (155 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 155.9/155.9 kB 6.8 MB/s eta 0:00:00
Building wheels for collected packages: SQLAlchemy
  Building editable for SQLAlchemy (pyproject.toml) ... error
  error: subprocess-exited-with-error

  × Building editable for SQLAlchemy (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> [105 lines of output]
      running editable_wheel
      creating /tmp/pip-wheel-khamx5vf/tmp98_gnvqg/SQLAlchemy.egg-info
      writing /tmp/pip-wheel-khamx5vf/tmp98_gnvqg/SQLAlchemy.egg-info/PKG-INFO
      writing dependency_links to /tmp/pip-wheel-khamx5vf/tmp98_gnvqg/SQLAlchemy.egg-info/dependency_links.txt
      writing requirements to /tmp/pip-wheel-khamx5vf/tmp98_gnvqg/SQLAlchemy.egg-info/requires.txt
      writing top-level names to /tmp/pip-wheel-khamx5vf/tmp98_gnvqg/SQLAlchemy.egg-info/top_level.txt
      writing manifest file '/tmp/pip-wheel-khamx5vf/tmp98_gnvqg/SQLAlchemy.egg-info/SOURCES.txt'
      reading manifest file '/tmp/pip-wheel-khamx5vf/tmp98_gnvqg/SQLAlchemy.egg-info/SOURCES.txt'
      reading manifest template 'MANIFEST.in'
      warning: no files found matching '*.html' under directory 'doc'
      warning: no files found matching '*.css' under directory 'doc'
      warning: no files found matching '*.js' under directory 'doc'
      warning: no previously-included files found matching 'lib/sqlalchemy/cyextension/*.c'
      warning: no previously-included files found matching 'lib/sqlalchemy/cyextension/*.so'
      no previously-included directories found matching 'doc/build/output'
      adding license file 'LICENSE'
      writing manifest file '/tmp/pip-wheel-khamx5vf/tmp98_gnvqg/SQLAlchemy.egg-info/SOURCES.txt'
      creating '/tmp/pip-wheel-khamx5vf/tmp98_gnvqg/SQLAlchemy-2.0.0b1.dev0.dist-info'
      adding license file "LICENSE" (matched pattern "LICENSE")
      creating /tmp/pip-wheel-khamx5vf/tmp98_gnvqg/SQLAlchemy-2.0.0b1.dev0.dist-info/WHEEL
      /tmp/pip-build-env-k6x4vz1l/overlay/lib/python3.10/site-packages/setuptools/command/install.py:34: SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and pip and other standards-based tools.
        warnings.warn(
      running build_py
      running build_ext
      cythoning lib/sqlalchemy/cyextension/collections.pyx to lib/sqlalchemy/cyextension/collections.c
      cythoning lib/sqlalchemy/cyextension/immutabledict.pyx to lib/sqlalchemy/cyextension/immutabledict.c
      cythoning lib/sqlalchemy/cyextension/processors.pyx to lib/sqlalchemy/cyextension/processors.c
      cythoning lib/sqlalchemy/cyextension/resultproxy.pyx to lib/sqlalchemy/cyextension/resultproxy.c
      cythoning lib/sqlalchemy/cyextension/util.pyx to lib/sqlalchemy/cyextension/util.c
      building 'sqlalchemy.cyextension.collections' extension
      creating /tmp/tmp1lvr9mj2.build-temp/lib
      creating /tmp/tmp1lvr9mj2.build-temp/lib/sqlalchemy
      creating /tmp/tmp1lvr9mj2.build-temp/lib/sqlalchemy/cyextension
      gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -fPIC -I/usr/local/include/python3.10 -c lib/sqlalchemy/cyextension/collections.c -o /tmp/tmp1lvr9mj2.build-temp/lib/sqlalchemy/cyextension/collections.o
      Traceback (most recent call last):
        File "/tmp/pip-build-env-k6x4vz1l/overlay/lib/python3.10/site-packages/setuptools/_distutils/spawn.py", line 57, in spawn
          proc = subprocess.Popen(cmd, env=env)
        File "/usr/local/lib/python3.10/subprocess.py", line 969, in __init__
          self._execute_child(args, executable, preexec_fn, close_fds,
        File "/usr/local/lib/python3.10/subprocess.py", line 1845, in _execute_child
          raise child_exception_type(errno_num, err_msg, err_filename)
      FileNotFoundError: [Errno 2] No such file or directory: 'gcc'

      The above exception was the direct cause of the following exception:

      Traceback (most recent call last):
        File "/tmp/pip-build-env-k6x4vz1l/overlay/lib/python3.10/site-packages/setuptools/_distutils/unixccompiler.py", line 186, in _compile
          self.spawn(compiler_so + cc_args + [src, '-o', obj] + extra_postargs)
        File "/tmp/pip-build-env-k6x4vz1l/overlay/lib/python3.10/site-packages/setuptools/_distutils/ccompiler.py", line 1007, in spawn
          spawn(cmd, dry_run=self.dry_run, **kwargs)
        File "/tmp/pip-build-env-k6x4vz1l/overlay/lib/python3.10/site-packages/setuptools/_distutils/spawn.py", line 63, in spawn
          raise DistutilsExecError(
      distutils.errors.DistutilsExecError: command 'gcc' failed: No such file or directory

      During handling of the above exception, another exception occurred:

      Traceback (most recent call last):
        File "<string>", line 83, in build_extension
        File "/tmp/pip-build-env-k6x4vz1l/overlay/lib/python3.10/site-packages/setuptools/_distutils/command/build_ext.py", line 547, in build_extension
          objects = self.compiler.compile(
        File "/tmp/pip-build-env-k6x4vz1l/overlay/lib/python3.10/site-packages/setuptools/_distutils/ccompiler.py", line 599, in compile
          self._compile(obj, src, ext, cc_args, extra_postargs, pp_opts)
        File "/tmp/pip-build-env-k6x4vz1l/overlay/lib/python3.10/site-packages/setuptools/_distutils/unixccompiler.py", line 188, in _compile
          raise CompileError(msg)
      distutils.errors.CompileError: command 'gcc' failed: No such file or directory

      The above exception was the direct cause of the following exception:

      Traceback (most recent call last):
        File "/tmp/pip-build-env-k6x4vz1l/overlay/lib/python3.10/site-packages/setuptools/command/editable_wheel.py", line 140, in run
          self._create_wheel_file(bdist_wheel)
        File "/tmp/pip-build-env-k6x4vz1l/overlay/lib/python3.10/site-packages/setuptools/command/editable_wheel.py", line 330, in _create_wheel_file
          files, mapping = self._run_build_commands(dist_name, unpacked, lib, tmp)
        File "/tmp/pip-build-env-k6x4vz1l/overlay/lib/python3.10/site-packages/setuptools/command/editable_wheel.py", line 261, in _run_build_commands
          self._run_build_subcommands()
        File "/tmp/pip-build-env-k6x4vz1l/overlay/lib/python3.10/site-packages/setuptools/command/editable_wheel.py", line 288, in _run_build_subcommands
          self.run_command(name)
        File "/tmp/pip-build-env-k6x4vz1l/overlay/lib/python3.10/site-packages/setuptools/_distutils/cmd.py", line 319, in run_command
          self.distribution.run_command(command)
        File "/tmp/pip-build-env-k6x4vz1l/overlay/lib/python3.10/site-packages/setuptools/dist.py", line 1217, in run_command
          super().run_command(command)
        File "/tmp/pip-build-env-k6x4vz1l/overlay/lib/python3.10/site-packages/setuptools/_distutils/dist.py", line 992, in run_command
          cmd_obj.run()
        File "<string>", line 77, in run
        File "/tmp/pip-build-env-k6x4vz1l/overlay/lib/python3.10/site-packages/Cython/Distutils/old_build_ext.py", line 186, in run
          _build_ext.build_ext.run(self)
        File "/tmp/pip-build-env-k6x4vz1l/overlay/lib/python3.10/site-packages/setuptools/_distutils/command/build_ext.py", line 346, in run
          self.build_extensions()
        File "/tmp/pip-build-env-k6x4vz1l/overlay/lib/python3.10/site-packages/Cython/Distutils/old_build_ext.py", line 195, in build_extensions
          _build_ext.build_ext.build_extensions(self)
        File "/tmp/pip-build-env-k6x4vz1l/overlay/lib/python3.10/site-packages/setuptools/_distutils/command/build_ext.py", line 466, in build_extensions
          self._build_extensions_serial()
        File "/tmp/pip-build-env-k6x4vz1l/overlay/lib/python3.10/site-packages/setuptools/_distutils/command/build_ext.py", line 492, in _build_extensions_serial
          self.build_extension(ext)
        File "<string>", line 85, in build_extension
      BuildFailed
      error: Support for editable installs via PEP 660 was recently introduced
      in `setuptools`. If you are seeing this error, please report to:

      https://github.com/pypa/setuptools/issues

      Meanwhile you can try the legacy behavior by setting an
      environment variable and trying to install again:

      SETUPTOOLS_ENABLE_FEATURES="legacy-editable"
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building editable for SQLAlchemy
Failed to build SQLAlchemy
ERROR: Could not build wheels for SQLAlchemy, which is required to install pyproject.toml-based projects

Hi @CaselIT, thank you very much for reporting the problem.
This is a tricky one!
I can see a clash between setuptools and the custom setup script: both parties want to control how the exception is handled. Setuptools wants to capture unknown errors and display instructions for how the user can workaround the situation and report the problem (this is specially important since PEP 660 changes the ways things used to work); the custom setup script wants to use exceptions in some sort of control flow.
I believe setuptools should not stop showing that error message to user, at least not at this point in time. It is very important in other situations (e.g. plugins or local customisations that are not prepared to handle PEP 660).
I can see that you guys already take into account the possibility that some command objects do not raise an exact exception class.
To ensure that happens, the custom script is sub-classing build_ext and using try-except statements to force an specific exception type.
Is there any chance you could do the same for the editable_wheel command?
I can also think about several other ways of doing it:

Have you guys considered using the optional kwarg in the Extension object?
(eg.: optional=not os.environ.get("REQUIRE_SQLALCHEMY_CEXT"))
(Not sure if it works with the deprecated Cython.Distutils.old_build_ext, but it should work with setuptools.command.build_ext which already takes into account Cython). This has the potential to simplify the setup.py script (the drawback are the less informative warning messages).
How about handling the exceptions directly inside build_ext instead of expecting it to bubble up unhandled throughout the entire call stack? Have you considered something like the following?class ve_build_ext(old_build_ext):
    # This class allows Cython building to fail.

    def run(self):  # Not sure if it is needed to wrap `run`
        with OverlookOptionalExtensions():
            super().run()

    def build_extension(self, ext):
        with OverlookOptionalExtensions():
            super().build_extension(ext)

class OverlookOptionalExtensions:
    def __enter__(self):
        return None

    def __exit__(self, exc_type, exc_value, traceback):
        if exc_value is None:
            return True
        if os.environ.get("REQUIRE_SQLALCHEMY_CEXT"):
            status_msgs(
                "NOTE: Cython extension build is required because "
                "REQUIRE_SQLALCHEMY_CEXT is set, and the build has failed; "
                "will not degrade to non-C extensions"
            )
            return
        if (
            isinstance(exc_value, ValueError) and "'path'" in str(exc_value)
            # ^-- this can happen on Windows 64 bit, see Python issue 7511
            or isinstance(exc_value, ext_errors)
            # ^-- in the case of compiling errors, simply use the Python fallback
        ):
            status_msgs(
                exc_value,
                "WARNING: The Cython extension could not be compiled, "
                "speedups are not enabled.",
                "Failure information, if any, is above.",
            )
            return True

Will normal installs (pip install .) behave similarly to editable mode when installing from source?

I would say that editable mode now works more closely to non-editable installs than before (it will never be 1:1)... But that is very subjective. Is there any specific aspect that you are looking for?

Is there a better way of doing something similar in a supported or at least more robust way?

I think the closest thing setuptools has is the optional keyword for the Extension constructor, but I discussed a few other things in the previous comment that you might be interested in trying out.

Should a custom backend be used, similar to what the documentation talks about here?

I don't think this is the case for a custom backend.

If that's the case, what's the best way for the backend to check if a compiler is available?

Currently there are some ongoing discussions on that regard. I am afraid there is nothing "final" yet, but you might want to have a look on https://github.com/pypa/setuptools/issues/2806.

Hi @abravalheri
Thanks for the detailed answer! I'll look into the things you suggested.
It looks like the optional keyword could work for what we are trying to do.
Regarding the other suggestion, without testing it, I'm not sure how that ve_build_ext would retry the build after a build error.

I would say that editable mode now works more closely to non-editable installs than before (it will never be 1:1)... But that is very subjective. Is there any specific aspect that you are looking for?

My question was motivated by the fact that a normal install is still bubbling up the errors, while the editable mode was not, I wanted to know if the idea was to modify the normal install mode to be like the editable one regarding bubbling modes

Based on the linked setup.py scripts, I can assume you want editable_wheel to bubble up errors instead of trying to handle them

Not necessarily, I mean the current setup.py is like it is because exception were bubbled up. The objective  of the issue is to find a working solution, if any, with the new system, not to make thing work like before since this is probably a really niche use case, and it's most likely not worth changing the implementation to accommodate for it.

I don't think this is the case for a custom backend. So far the primary use-case I found for a custom backend is to dynamically decide about build dependencies. Another use case would be modifying the config_settings dictionary to customise how setuptools works.

Ok thanks!

I'm not sure how that ve_build_ext would retry the build after a build error.

The suggestion using ve_build_ext is not properly a "retry" but rather a "keep going".
Do you need to restart the build and try again? If that is the case, then the suggestion about using a wrapper for the editable_wheel similar to what ve_build_ext might be more appropriate (I haven't tested this option myself, so I don't know if it will work).

I wanted to know if the idea was to modify the normal install mode to be like the editable one regarding bubbling modes

So far, the need for that hasn't presented itself. editable_wheel is a special case because it is a new implementation and there might be customisations/plugins that are not prepared to deal with it, so we need a way to inform the users.
I don't know to which extent we can classify exception handling as part of the explicit API or simply Hyrum's Law in action.

I just want to note that on our end (SQLAlchemy), the "retry" thing IMO is not the most important thing.   If we could instead have a way to make a very good estimation that compiler tools are not expected to be present, or that they are, we could just choose one build or another.        Another way I can see us going is that we go to an entirely non-intelligent system, but when a build fails, we can at least give our own error message that will say "Please use DISABLE_SQLALCHEMY_CEXT if build tools aren't installed".

If we could instead have a way to make a very good estimation that compiler tools are not expected to be present, or that they are, we could just choose one build or another

For that maybe the best is to engage in issue #2806. I believe that currently there is no API to check if the compiler is present (but I might be wrong).

I just want to note that on our end (SQLAlchemy), the "retry" thing IMO is not the most important thing. If we could instead have a way to make a very good estimation that compiler tools are not expected to be present, or that they are, we could just choose one build or another. Another way I can see us going is that we go to an entirely non-intelligent system, but when a build fails, we can at least give our own error message that will say "Please use DISABLE_SQLALCHEMY_CEXT if build tools aren't installed".

if optional works it seems we can just always declare them the extension mode and if it fails it automatically falls back, so we would not even need to detect the compilers.
Maybe the only thing we want to keep is a detection of errors to print a log to users regarding installing in pure python mode.
I'll try playing with it and report back!

@CaselIT please note that pip will by default hide anything from stdout. Users need to use pip -v install -e . to show the output.

Thanks for shedding light on this @abravalheri!


Effects for navigation bar in modal

Hello, I'm a newbie. I'm following the Demo from this repository completely, and I've come across the fact that the navbar in modal windows sometimes doesn't appear with a blur.
At first, I sinned on my HTML layout, but it doesn't seem to be the case. I recorded a video example from my device, where I opened the same page several times, where the blur effect appears / is absent. I don't see any pattern and would appreciate any advice.
https://user-images.githubusercontent.com/5102591/187005782-16b0b8ab-c697-4dc7-97aa-9a7fb9f38226.MOV

Whoa, weird! It looks like it's working the first time but then not on subsequent loads?
Do you have any code changes to the template?

Hi @joemasilotti I didn't notice any pattern in this. The effect can be applied both from the first opening and much later or not appear at all.
This is a copy from https://github.com/hotwired/turbo-ios/tree/main/Demo where the name and URL have been changed etc., I did change some code like disabling link previews (From your blog). But I don't think it led to it. I invited you to the project so that you can look at the code if you have a desire, and not just guess.

Got it – I don't see anything out of the ordinary in your code.
Can you try adding the following somewhere before the first modal is presented? It could be in AppDelegate even.
UINavigationBar.appearance().isOpaque = true
UINavigationBar.appearance().isTranslucent = false

https://user-images.githubusercontent.com/5102591/187031444-3cc2e64f-b8e6-410d-8b61-2fa3c857cd44.MOV

I'm noticing something similar, ncluding setup code that I add in my viewDidLoad extending VisitableViewController being reset when the session reloads. My simulator is an iPhone 13 running iOS 15.5.
I added the following line to force the visitableView to correctly adhere to the navigation controller's scroll behavior (fixing @tabuna's issue above) but upon navigation or session reload it detaches.
class ViewController: VisitableViewController, Storyboarded {
    override func viewDidLoad() {
        super.viewDidLoad()
        setContentScrollView(visitableView.webView?.scrollView)
    }
}

New additional information. In the console I see the following information:
[ViewportSizing] minimumViewportInset cannot be larger than frame

OK, one more try. Can you see if this helps?
let navigationBarAppearance = UINavigationBarAppearance()
navigationBarAppearance.configureWithDefaultBackground()

UINavigationBar.appearance().standardAppearance = navigationBarAppearance
UINavigationBar.appearance().scrollEdgeAppearance = navigationBarAppearance
UINavigationBar.appearance().isOpaque = true
UINavigationBar.appearance().isTranslucent = false

It seems to work great.
I tested it both in the emulator and on a real device, and I was no longer able to reproduce the effect.
Thank you!

I think that's the tradeoff with setting an opaque navigation bar, sadly.

#73 actually resolves this issue completely.

@henrysipp, do you need to make any of the appearance changes, too? Or only with the cover fix?

No, just pulling and using that branch seems to have solved everything.

Same here, completely resolved a similar issue I was having with the translucency no need for any appearance changes. Would be good to get it merged into main.

Noted that #73 fixes this issue as well. I'm going to close this and track work there.


Pager

What is the recommended way to page through the output of ccat? ccat README.md | less -R for example does not work (no colors) even though it works for cat my.patch | colordiff | less -R.
Or would it make more sense to integrate pager into ccat (ccat -p README.md)?

This is what I do.

Or would it make more sense to integrate pager into ccat (ccat -p README.md)?

less has done a great job of paging so a combination of ccat and less like above should do the trick.

Oh, so it was disabling colors automatically if stdout is not a term. I did not know about --color=always.


Custom FileSystem fails

Could you change the following line of the CreateScriptServices method:
scriptServicesBuilder.Overrides[typeof(IFileSystem)] = _options.FileSystem;

to
initializationServices.Overrides[typeof(IFileSystem)] = _options.FileSystem;

because the LoadModules method of the ScriptServicesBuilder calls InitializationServices.GetFileSystem()
Thanks

After some investigation it seems that both
new InitializationServices(logProvider, new Dictionary<Type, object> { { typeof(IFileSystem), _options.FileSystem } });

and
scriptServicesBuilder.Overrides[typeof(IFileSystem)] = _options.FileSystem;

are needed to use a custom IFileSystem in hosting scenarios, but the targeted script file need to exist on the system.
@glennblock is this correct or am I doing something wrong?

#11


Fix issue #285: Multi-line descriptions in messages on resolved issues are not properly parsed

This pull request fixes #285.
The issue has been successfully resolved. The PR addressed the core problem by:
Automatic fix generated by OpenHands 🙌

New OpenHands update


Can't get Tye to work with Blazor WASM deployed to AKS

Describe the bug
I can't get Tye to work with Blazor WASM deployed to AKS
It works when I do tye run, but tye deploy doesn't seem to generate the correct container for Blazor WASM.
Tye deploy doesn't support custom container file, so I'm blocked on this: #717
To Reproduce

Create Blazor WASM project
Deploy to AKS
You get this in the pod logs:
webapp
Could not execute because the application was not found or a compatible .NET SDK is not installed.
webapp
Possible reasons for this include:
webapp
* You intended to execute a .NET program:
webapp
The application 'WebApp.dll' does not exist.
webapp
* You intended to execute a .NET SDK command:
webapp
It was not possible to find any installed .NET SDKs.
webapp
Install a .NET SDK from:
webapp
https://aka.ms/dotnet-download

Further technical details

Include the output of tye --version

0.5.0-alpha.20520.1+739de2eeb94f0246f50fa4993e953abb4b0da18a

If possible rerun the command with -v debug and include the output

The platform (Linux/macOS/Windows)

WSL2
azsdke2e
azsdke2e2

As a workaround, I'm putting a Dockerfile in the Blazor project root, because deploy will automatically use it if it is there.

Here's what I'm using as a workaround:
Dockerfile
FROM nginx:alpine
WORKDIR /var/www/web
COPY ./wwwroot .
COPY wwwroot/_framework/nginx.conf /etc/nginx/nginx.conf
EXPOSE 80
EXPOSE 443

nginx.conf
events { }
   http {
      include mime.types;
      types {
         application/wasm wasm;
       }
     server {
        listen 80;
        index index.html;
        location / {
           root /var/www/web;
           try_files $uri $uri/ /index.html =404;
        }
     }
}

e deploy will automatically use it if it is there.

I tried this but Deploy does not use the existing dockerfile it errors out saying docker file already exists


Master should be renamed

Shouldn't this follow our standard branch naming?

Probably so, but OASIS admins are the only ones who can do it.


Getting Uncaught TypeError: Cannot read property 'length' of null

At imagesloaded.pkgd.js:627.
The callback is not firing at all. Any idea what might be causing this?

Can you provide a reduced test case? Here's a CodePen you can fork:  http://codepen.io/desandro/pen/zxaOVX

I figured it out after seeing all was working on CodePen. I was simply calling my script to early. Putting it before the closing </body> tag solved the issue.
Thanks!


Use packit_forge_project_allowed key from copr

Fixes packit/packit-service#1523
Merge before packit/packit.dev#520

RELEASE NOTES BEGIN
Users can now allow and disallow building in a custom Copr project from a git-forge project.
User has to add manually the git-forge project reference to the Copr project settings.
As an example, we should add github.com/packit/ogr to the list named Packit forge project allowed in our packit-dev Copr project settings: https://copr.fedorainfracloud.org/coprs/packit/packit-dev/edit#packit_forge_projects_allowed.
RELEASE NOTES END

So we should either work with the Copr team on importing the values from our service config into their DB or leave the setup to our users (I checked and we don't have the admin permissions for most of the custom projects, so that's not a way)


Test helper that asserts all transitions occurred

Automat should have a test helper that asserts all transitions occurred.
It might go a little something like this:
tracer = TraceAllTransitions()
someMachineInstance.traceWith(tracer)

# testing intensifies

assertHasAllTransitions(tracer, for_=SomeMachine)

...where the tracer stuff would come from #36

(Per @tomprince)

At dinner tonight, @markrwilliams and I came up with some ideas:

a context manager which takes one or more Transitioner instances, and returns an object with accumulates transitions that occur while the context is active (as a set)
a test function that takes a MethodicalMachine instance and returns a set of all transitions that are defined

Then standard set-intersection tests can be used to decide if the right transitions have been exercised. You could merge the traces of multiple context managers to look at combined coverage, or you could use setUp/tearDown to merge multiple test cases and check the results at the very end of the test class.
class Foo(object):
    m = MethodicalMachine()
    ...
f = Foo()
with gather_transitions(f.m) as edges:
    f.trigger_stuff()
assert edges.all_transitions() == Foo.m.all_transitions()

(the difference between a machine instance, like Foo.m, and a transitioner instance, like f.m, is pretty important, both for implementation and for discoverability/learnability/error-reporting. my example probably gets at least one of them wrong)
This also avoids the need to be able to name specific transitions, since the sets contain opaque objects (one per transition). This would let us continue to keep the tracing function private, and these opaque objects would be the strings or tuples that the tracing function provides.
#37 would, of course, need a way to name these things.
Other questions:

should the gatherer context-manager look at all transitions, of all Automat state machines? Or should we give it a list of classes, and it looks for all transitions of all machines used by those classes? Or a list of state machines? Or a list of transitioners?
pointing at specific transitioners would require that those objects exist before the context is entered, but many apps will only create the object that uses the state machine inside some wrapper method, so marking the class/factory object seems more usable (just like mock.patch can patch something other than what's about to be called)
using a context manager makes it easy to invoke multiple methods, in case it takes multiple steps to set up the transition
this would work by using the private tracing function from #56 to accumulate transitions. we might want to enhance that method to accomodate multiple tracers (added/removed with a set, rather than a push-pull stack or return-the-old-tracer one-at-a-time method). This would allow the set_trace method to be used in the tests, while debugging the code that is failing to hit all transitions.


ENH: Add spin and automatic calibration and to vtkIGSIOPivotCalibrationAlgo

This commit adds functions for performing spin calibration to vtkIGSIOPivotCalibrationAlgo using the same methods as pivot calibration.
This commit also adds the  ability to use the pivot/spin calibration algorithms continuously.
When AutoCalibrationEnabled is true, input poses will be placed into buckets. Once the latest bucket is filled, calibration is performed on the bucket to ensure that it contains pivoting/spinning motion. If the calibration error within the bucket is too high it means that the stylus is not pivoting/spinning, and all buckets are discarded.
Default behavior should not have changed.

@lassoan I think that most of the comments have been addressed, except for a couple that need clarification.


Bigquery udf support

@haman29 Thank you for opening this PR! The gcloud-common Contributing guide explains why the CLA is required. It looks like your change also breaks some simple style rules. It would also be great if you could squash your two commits into just one. Please let us know if you need any help!

My understanding is that this pull request intends to add the query job's experimental userDefinedFunctionResources configuration. This configuration looks to be added after BigQuery was added to gcloud and this is the first we've heard of it. To add this fully we will need the following:

[ ] optional parameter when creating a query job
[ ] passing build (tests and rubocop)
[ ] tests for the optional parameter
[ ] documentation for the optional parameter
[ ] code examples demonstrating how to use the optional parameter

@haman29 Thank you for the pull request and making us aware of this new feature! If you can sign the contributor agreement make the code changes needed to pass the build we will be happy to accept this contribution. If you cannot make all the changes outlined above we will be happy to add them after accepting your pull request.

BigQuery's user defined functions are also documented here.

@quartzmo thank you! I was able to sign a CLA.

It would also be great if you could squash your two commits into just one.
I will take care of the following.

@blowmage thank you following!

[x] optional parameter when creating a query job
[ ] passing build (tests and rubocop)
[ ] tests for the optional parameter

I want to do these tasks. please wait a minuites.

[ ] documentation for the optional parameter
[ ] code examples demonstrating how to use the optional parameter

These tasks I would leave it up to you.
Because I'm not good at writing English.
sorry...

Excellent! I am grateful to have you contributing, @haman29!

@haman29 You're still working on this PR, right?
We can add the documentation. But maybe in the documentation for the method, you can add a code example that shows a user-defined function? No English needed, just Ruby. :)

I'm sorry for being late...
i don't know why test failed on travis-ci.
please help me!
add code sample!
refs. https://cloud.google.com/bigquery/user-defined-functions
udf = <<EOS
// The UDF
function urlDecode(row, emit) {
  emit({title: decodeHelper(row.title),
        requests: row.num_requests});
}

// Helper function for error handling
function decodeHelper(s) {
  try {
    return decodeURI(s);
  } catch (ex) {
    return s;
  }
}

// UDF registration
bigquery.defineFunction(
  'urlDecode',  // Name used to call the function from SQL

  ['title', 'num_requests'],  // Input column names

  // JSON representation of the output schema
  [{name: 'title', type: 'string'},
   {name: 'requests', type: 'integer'}],

  urlDecode  // The function reference
);
EOS

query = <<EOS
SELECT requests, title
FROM
  urlDecode(
    SELECT
      title, sum(requests) AS num_requests
    FROM
      [fh-bigquery:wikipedia.pagecounts_201504]
    WHERE language = 'fr'
    GROUP EACH BY title
  )
WHERE title LIKE '%ç%'
ORDER BY requests DESC
LIMIT 100
EOS

gcloud = Gcloud.new('project name', 'key name')
bigquery = gcloud.bigquery
job = bigquery.query_job query, udfs: [udf]
job.wait_until_done!
if !job.failed?
  job.query_results.each do |row|
    puts row["table_count"]
  end
end

Hi @haman29, the reason the test fails is that you have not created the optional named argument pdfs on the Gcloud::Bigquery::Project#query_job method. The test is calling calling #query_job and passing the argument, but that argument is not defined on the method.
You can run the tests locally by running: $ bundle exec rake test

@haman29 I am going to place this PR on hold until the [Experimental] label is removed from query.userDefinedFunctionResources. When that happens, we will be happy to help you complete it. Thanks again for your help with this exciting new feature!

This feature is still listed as experimental. I'm going to close this PR until this changes. When it does please reopen or create a new PR. Thanks!

This looks to no longer be marked experimental.

Replaced by #1703.


Add withWhiteSpace to spacing lib

adds new withWhiteSpace function to spacing lib

generates spacing styles, accepting margin, padding and mb props
intended for use within styled component definitions

withWhiteSpace HOC refactored to use function, but is now deprecated
Aims to provide a solution to #522
Checklist:

[ ] Documentation
[x] Tests
[x] Ready to be merged

The CONTRIBUTING.md doc will need updating
https://github.com/govuk-react/govuk-react/blob/master/CONTRIBUTING.md#white-space

ah ok maybe not breaking... but breaking when we move to styled-components?

Yeah - this won't be breaking by itself.  When we actually remove the withWhiteSpace HOC that'd be breaking.  And yes - moving to styled-components changes the peer dependency, so that'd breaking too.


Improvements & typo fixes for getting-started & configuration docs

A few tweaks that I made as I was going through each 😄.

@aretecode @nchanged Thanks for the feedback. Just updated and rebased around your suggestions.

@BrianSipple thanks a million for your contribution!


Generate SBOMs for Operator Images

Changes
Upgrade ko to v0.11.2 - this includes support for automatic SBOM generation.
/kind cleanup
Submitter Checklist

[ ] Includes tests if functionality changed/was added
[ ] Includes docs if changes are user-facing
[x] Set a kind label on this PR
[x] Release notes block has been filled in, or marked NONE

See the contributor guide
for details on coding conventions, github and prow interactions, and the code review process.
Release Notes
Operator image includes a Software Bill of Materials (SBOM), published as a separate OCI artifact

/assign @imjasonh

/approve
Self-approve in light of Jason's review.

/lgtm


Feature Request: Custom card values

I would be great if one could define their own numbers/strings to use as card values. Maybe some teams only need a couple of values (like S, M, L).
For example our team uses S, M, L and also numbers from 1-5 for some other estimations. If we could have S, M, L, 1, 2, 3, 4, 5 as values that would really benefit us.

Thank you very much for the feature! ❤


[chore-ci] XML reporter

Description
Quick improvement to store our test results in JUnit XML format instead of raw text. This greatly improves readability.
Changes

Add the unittest-xml-reporting module but with a small change to support startTestRun and stopTestRun.
Update the CI to store the XML report and logs.
Call run.py instead of unittest main module. ⚠ There is a small regression here, for now run.py do not support filtering.

Preview

Switch over Pytest.


Le terme «-includePerformanceToolkit» n'est pas reconnu

Describe the issue
Error concerning -includePerformanceToolkit on New-BcContainer
Scripts used to create container and cause the issue
New-BcContainer `
    -accept_eula `
    -accept_outdated `
    -containerName $containerName `
    -credential $credential `
    -auth $auth `
    -artifactUrl $artifactUrl `
    -includeTestLibrariesOnly `
    -includePerformanceToolkit `
    -licenseFile $licenseFile `
    -memoryLimit 8G `
    -vsixFile (Get-LatestAlLanguageExtensionUrl) `
    -shortcuts Desktop `
    -assignPremiumPlan `
    -useBestContainerOS `
    -isolation hyperv `
    -updateHosts `
	-hostHelperFolder $hostHelperFolder `
    -bcartifactsCacheFolder $bcartifactsCacheFolder `
    -alwaysPull `

Full output of scripts
BcContainerHelper version 1.0.14-dev
BcContainerHelper is version 1.0.14-dev
BcContainerHelper is running as administrator
Host is Microsoft Windows 10 Professionnel - 2004
Docker Client Version is 19.03.13
Docker Server Version is 19.03.13
Removing container bcfr-17
Removing C:\ProgramData\BcContainerHelper\Extensions\bcfr-17
Fetching all docker images
Using image mcr.microsoft.com/dynamicsnav:10.0.19041.630-generic
Creating Container bcfr-17
Version: 17.1.18256.18792-fr
Style: onprem
Multitenant: No
Platform: 17.0.18204.18738
Generic Tag: <IP_ADDRESS>
Container OS Version: 10.0.19041.630 (2004)
Host OS Version: 10.0.19041.630 (2004)
Using process isolation
Using locale fr-FR
Disabling the standard eventlog dump to container log every 2 seconds (use -dumpEventLog to enable)
Files in C:\ProgramData\BcContainerHelper\Extensions\bcfr-17\my:

AdditionalOutput.ps1
MainLoop.ps1
SetupVariables.ps1
updatecontainerhosts.ps1
Creating container bcfr-17 from image mcr.microsoft.com/dynamicsnav:10.0.19041.630-generic
70a72da30eb4bf60211b2ea05968047f3e1e6a17a26803e067d9c6b9f200e989
Waiting for container bcfr-17 to be ready
Using artifactUrl https://bcartifacts.azureedge.net/onprem/17.1.18256.18792/fr
Using installer from C:\Run\150-new
Installing Business Central
Installing from artifacts
Starting Local SQL Server
Starting Internet Information Server
Copying Service Tier Files
Copying PowerShell Scripts
Copying dependencies
Copying ReportBuilder
Importing PowerShell Modules
Determining Database Collation from c:\dl\onprem\17.1.18256.18792\fr\database\Demo Database NAV (17-0).bak
Changing Database Server Collation to French_100_CI_AS
Restoring CRONUS Demo Database
Modifying Business Central Service Tier Config File for Docker
Creating Business Central Service Tier
Installing SIP crypto provider: 'C:\Windows\System32\NavSip.dll'
Copying Web Client Files
Copying Client Files
Copying ModernDev Files
Copying additional files
Copying ConfigurationPackages
Copying Test Assemblies
Copying Applications
Starting Business Central Service Tier
Importing license file
Stopping Business Central Service Tier
Installation took 73 seconds
Installation complete
Initializing...
Setting host.containerhelper.internal to <IP_ADDRESS> in container hosts file
Starting Container
Hostname is bcfr-17
PublicDnsName is bcfr-17
Using NavUserPassword Authentication
Creating Self Signed Certificate
Self Signed Certificate Thumbprint 51D5637A87F9AFFB7F41C446A9B41C78D909F6D6
Modifying Service Tier Config File with Instance Specific Settings
Starting Service Tier
Registering event sources
Creating DotNetCore Web Server Instance
Creating http download site
Setting SA Password and enabling SA
Creating Admin as SQL User and add to sysadmin
Creating SUPER user
Container IP Address: <IP_ADDRESS>
Container Hostname  : bcfr-17
Container Dns Name  : bcfr-17
Web Client          : http://bcfr-17/BC/
Dev. Server         : http://bcfr-17
Dev. ServerInstance : BC

Files:
http://bcfr-17:8080/ALLanguage.vsix
Container Total Physical Memory is 15.9Gb
Container Free Physical Memory is 7.7Gb
Initialization took 24 seconds
Ready for connections!
Reading CustomSettings.config from bcfr-17
Creating Desktop Shortcuts for bcfr-17
Container bcfr-17 successfully created
Use:
Get-BcContainerEventLog -containerName bcfr-17 to retrieve a snapshot of the event log from the container
Get-BcContainerDebugInfo -containerName bcfr-17 to get debug information about the container
Enter-BcContainer -containerName bcfr-17 to open a PowerShell prompt inside the container
Remove-BcContainer -containerName bcfr-17 to remove the container again
docker logs bcfr-17 to retrieve information about URL's again
-includePerformanceToolkit : Le terme «-includePerformanceToolkit» n'est pas reconnu comme nom d'applet de commande, fonction, fichier de script ou programme exécutable. Vérifiez
l'orthographe du nom, ou si un chemin d'accès existe, vérifiez que le chemin d'accès est correct et réessayez.
Au caractère xxx\Script Create BCContainer.ps1:35 : 5

-includePerformanceToolkit `

~~~~~~~~~~~~~~~~~~~~~~~~~~

CategoryInfo          : ObjectNotFound: (-includePerformanceToolkit:String) [], ParentContainsErrorRecordException
FullyQualifiedErrorId : CommandNotFoundException

You have some spaces after the grave symbol, which invalidates the grave symbol.

You can read more about it here: https://freddysblog.com/2019/08/04/powershell-for-non-experts/ (search for the Grave Symbol)

BTW - I think you also need to include the  -includeTestToolkit parameter.


Ryan M: Watch blog.certificationskart.com

Ryan M requests the watch of the watch_keyword blog\.certificationskart\.com. See the MS search here and the Stack Exchange search in text, in URLs, and in code.

blog\.certificationskart\.com has been seen in 1 true positive, 0 false positives, and 0 NAAs.

Approved by tripleee in Charcoal HQ


where is webhook/receiver in 2.x

1.x has this feature,but 2.x lost it.
i want to trigger a url to rancherto  redeploy.
such as "http://myrancherip:8888/" from aliyun trigger
work flow: aliyun gitlab ->aliyun docker register -> rancher webhook/receiver -> rancher workload
The CI/CD aims  i hope:
i push a tag:release-1.0.1(aliyun gitlab)
then rancher will deploy mydockerapp:1.0.1

See https://github.com/rancher/rancher/issues/13475 or https://rancher.com/docs/rancher/v2.x/en/project-admin/tools/pipelines/


Make compile reports table styling consistent with the other tables

Description
closes #2993
Self Check:
Strike through any lines that are not applicable (~~line~~) then check the box

[x] Attached issue to pull request
[x] Changelog entry
[x] Code is clear and sufficiently documented
[x] Sufficient test cases (reproduces the bug/tests the requested feature)
[x] Correct, in line with design
[x] ~End user documentation is included or an issue is created for end-user documentation (add ref to issue here: )~

Reviewer Checklist:

[ ] Sufficient test cases (reproduces the bug/tests the requested feature)
[ ] Code is clear and sufficiently documented
[ ] Correct, in line with design

Processing this pull request

Merged into branches master, iso5 in 01b231524a7e527385f83c37f2cc64616d233ee5

Processing #3059.


GridFS, MongoDB separate strategy. (Request Opinion)

If I use separated MongoDB Server for GridFS Meteor-Files service only,
would it be helpful to raise the performance up?
e.g. Use MongoDB A as a main DB and use MongoDB B as a file DB on a single Meteor application.
So the traffic would come into the single server but if the DB is separated as a Normal Data and Files, would it be helpful or not?
Thanks.

Hello @kakadais ,
It would only improve amount of concurrent connections and connection queue (or query queue).
It's much depends on what you're trying to solve or avoid. If your primary data DB has a lot of write/update queries (which would cause locks) it makes sense.
There are many options:

Two physical servers
Two DBs in the same MongoDB instance
Two MongoDB instances on the same server

Results would depend from your storage performance (HDD/SSD/SHDD), size of available RAM (Mongo, and most other DBs, would try to keep 100% of hash tables in the  RAM, and as many data as possible).
Anyways I'd recommend to run tests and rely on its results.
If you would run tests, I'd be happy to read its results, and even share as doc in this repo

yeah I should test it but just got curious you guys's opinion.
I'll set up physical new server for file DB so I expect the actual
performance up.
1physical meteor server
1physical main db(geo search)
1physical file db
would be connected via private cloud network.
In my expectation, Im sure that file search on the file db would be
separated the losing of performance from geo querying on main db.
so the geo search would be stable than file search included.
But I wonder that how much could i expect the performance to be?
Ok so the question was changed to 'How much performance losing expected on
a same db with the normal data and file data combined' and 'it could be
overcome by separated file db.' (bad english lol sorry --;)
e.g. if a big file is downloading, how much performance losing is occured
in another query on the same db.
thanks @dr.dimitru
On Thu, Jun 18, 2020 at 3:56 AM dr.dimitru<EMAIL_ADDRESS>wrote:

Hello @kakadais https://github.com/kakadais ,
It would only improve amount of concurrent connections and connection
queue (or query queue).
It's much depends on what you're trying to solve or avoid. If your primary
data DB has a lot of write/update queries (which would cause locks) it
makes sense.
There are many options:

Two physical servers
Two DBs in the same MongoDB instance
Two MongoDB instances on the same server

Results would depend from your storage performance (HDD/SSD/SHDD), size of
available RAM (Mongo, and most other DBs, would try to keep 100% of hash
tables in the RAM, and as many data as possible).
Anyways I'd recommend to run tests and rely on its results.
If you would run tests, I'd be happy to read its results, and even share
as doc in this repo
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/VeliovGroup/Meteor-Files/issues/752#issuecomment-645559560,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABIFPP3WAUZU7A5BKCMDGFDRXEGVJANCNFSM4OA3F7VQ
.

--
Team Codeasy
<EMAIL_ADDRESS>+82-(0)10-6617-6309 <+82-10-6617-6309>
http://codeasy.org

TL;TR;
Architecture planning is complex and beyond this discussion. Feel free to reach me out privately for further help.

But I wonder that how much could i expect the performance to be?

It really depends from file size. If file is small enough to read in single request it would only lock single connection in connections pool. But again depends from major operation types performed over DB.

Reading is cheap, blocking only single connection in the connections pool;
Writing would cause locks for period of writing chunk of the file, again timings depends from average file size;

I encourage to read this article to get deeper in understanding how locks are performed in MongoDB.
Architecture planning requires a lot if details, like:

Average file size;
Average connection speed;
Connection speed between servers;
Available bandwidth;
Concurrent uploads;
Concurrent downloads;
Chunking and chunk sizes;
Other critical details

After analyzing all available variables you should come up with optimal cost/time/complexity solution. At the end of analysis you may select different approach from GridFS, like storing only file references in DB and serving files with nginx or varnish 🤔

Hello @kakadais ,
Let me know if we can close this one ;)

Yeah thanks to good reply for silly question ;)
I didn't test this cause my services are not quite encountered this performance issues yet,
but I'll post if I test this to let the friends of here share.
Thanks and I'll close-


Single failure in comma-separated "put" sequence fails the whole operation

Repro is with Zed commit 8ca4e07.
It's possible to combine multiple expressions in the same put operation to modify multiple fields at once, e.g.:
$ zed -version
Version: v0.29.0-438-g8ca4e07a

$ echo '{"foo": 1, "bar": 10}' | zq -z 'put foo:=foo+1,bar:=bar+1' -
{foo:2,bar:11}

However, if one portion fails, now none of the fields get modified (notice how foo remains at 1).
$ echo '{"foo": 1, "bar": 10}' | zq -z 'put foo:=foo+1,baz:=baz+1' -
put: a referenced field is missing
{foo:1,bar:10}

This may be helpful if I made a typo in a field name, such that the warning may help me fix my mistake. OTOH, maybe it's not a typo, such that in my use case field baz is one that's sometimes present and sometimes not, and I want the put to succeed when it's there, and even when it's not, still modify all the other fields that are present. In order to achieve that today, I'd need to chain multiple put operations, e.g.:
$ echo '{"foo": 1, "bar": 10}' | zq -z 'put foo:=foo+1 | put baz:=baz+1' -
put: a referenced field is missing
{foo:2,bar:10}

As both modes seem to have their place, perhaps put could have a flag to control this behavior.

I happened to re-check this one as part of an audit of old issues and confirmed via binary search that it was addressed by some of the changes in #3368.
Verifying in Zed commit 07ddc90 that's associated with the changes in that PR, we now see that the put successfully increments our value foo as we'd hoped it would, and the failed attempt to increment the non-existent baz generates an error value.
$ zq -version
Version: v0.33.0-41-g07ddc902

$ echo '{"foo": 1, "bar": 10}' | zq -z 'put foo:=foo+1,baz:=baz+1' -
{foo:2,bar:10,baz:"missing"(error)}

Thanks @mccanne!


Audio stops working if the user receives incoming GSM call while in Room.

Before filing an issue please check that the issue is not already addressed by the following:

Video Guides
Github Issues
Changelog

Description
Audio stops working if the user receives incoming GSM call while in Room.
Steps to Reproduce

Alice and Bob are in a room. Alice and Bob can hear each other in Room.
Alice receives incoming GSM call on the native iPhone dialer. Alice rejects the GSM call.
iPhone shows Alice's app again. Alice is connected to Room but Alice and Bob cannot hear each other.

Code
NA
Expected Behavior
Alice and Bob should be able to hear each other.
Actual Behavior
Audio stops working.
Reproduces How Often
100%
Logs
NA
Versions
Video iOS SDK
Video SDK 2.0.0-preview8
Video SDK 2.0.0-preview9
Xcode
NA
iOS Version
iOS 9+
iOS Device
All iPhones

We are working on fixing this issue and hoping to have the Video SDK with the fix released in a few days. You can work around this problem by using CallKit in your app.
Sorry for the inconvenience caused by this bug.

Once again we're sorry about introducing this regression. We expect to release 2.0.0-beta1 tomorrow which will resolve the bug.

We are live with 2.0.0-beta1 which fixes regressions in interruption handling.

Closing now that the fix is widely available.


Implement PR Issue Checker Workflow

Description: We need to create a GitHub Actions workflow that automates the validation of pull requests (PRs). This workflow will ensure that all PRs meet the following criteria before being merged:
PR Description Check: Every PR must have a description. If the description is missing, the PR should fail the check.
Issue Reference Check: The PR description must include an issue reference in the format Fixes #. If the PR is not addressing an existing issue, it should mention Fixes #NEW as a placeholder.
Acceptance Criteria:

A GitHub Action workflow is triggered on PR events (opened, edited).

The workflow checks the PR body for:

A non-empty description.
The presence of Fixes # or Fixes #NEW.

If the criteria are not met:

The workflow should fail and return clear error messages.

If the checks pass:

A confirmation message is outputted.

Expected Output:

Error message if the PR description is missing.
Error message if the issue reference is missing or incorrectly formatted.
Success message when all checks are satisfied.

Additional Notes:

This issue may serve as a foundation for more advanced PR validation (e.g., commit message format, label enforcement).
We can later extend this to check for specific branch naming conventions or enforce the addition of specific labels.

Note: i'm expecting a gssoc-ext with level3 (or) level2 and a hacktoberfest-accepted label!
@vansh-codes

Go ahead!

Documentations and such workflows are meant to be level1, if I find that it should be awarded level2 then I will upgrade it dont worry

Just realized you have copied it from #145
Closing your issue and PR
Please avoid copying and stealing other's issue or else I have to report you to the GSSOC team


winget upgrade --all

Description of the new feature / enhancement
Winget upgrade --all
No installed package found matching input criteria.

why
if all the app in the sys were up to date the Winget-cli must inform the user after executing the command with proper message
like
applications in your systems are up to date

or
no need to action

all packages are up to date

Proposed technical implementation details
No response

Hello this question is suspected to #2666 https://github.com/microsoft/winget-cli/issues/2666

[Policy] Area-Output
[Policy] Command-Upgrade


[CdapIO] HasOffset interface was implemented

In SparkReceiverIO we will have different functions for working with Spark receivers that support offsets and those that don't. To determine if a receiver supports offsets, we need the HasOffset interface.
The goal of this PR is to implement it plus add some minor infrastructure needed changes.
Fixes https://github.com/apache/beam/issues/22148

Run Java PreCommit

Run Python PreCommit

Run Java PreCommit

Run Python PreCommit

Run Python PreCommit

Thanks. LGTM.


Filtering TimberQueryIterator

Is there a good way to filter the post array of a TimberQueryIterator?
I'm currently hacking around this using the get_posts method.
function (TimberQueryIterator $posts) {
  return array_filter($posts->get_posts(), function ($post) {
    return get_field('featured', $post->id);
  });
}

Is there a way to preserve the pages query variables while filtering it?

Is this still something you're actively working on or need addressed? Please respond in two weeks or we'll close this thread.


Full rewards script

First attempt at the full rewards script, which accepts a config file given via catalyst-toolbox rewards full path/to/config.
I'm not sure all the inputs/outputs are right, in particular, a few of the inputs look duplicated, and there's no obvious voter output (it seems to just write to the block0 file :/ )

This is currently failing CI due to a patch for jormungandr crates, once https://github.com/input-output-hk/jormungandr/pull/4046 is merged, we can remove these patches and get this PR green

@cameron1024 Can we make this PR green?


Current language popup does not close when the user presses yes

Currently, when a user selects a language they are given an option to set it as their default. Right now if a user presses yes the config file is altered, however the popup does not close afterwards which can cause confusion with the user

Was able to fix this bug by assigning the closing of the popup to the on_release event


Package installation is not working

Describe the bug
Can't install a package with nuxt 3.2.0.
To Reproduce
Create a new nuxt project with latest version and run yarn add @boindil/vue-file-agent-next.
Expected behavior
Package installs correctly.
Screenshots
yarn add @boindil/vue-file-agent-next
yarn add v1.22.19
[1/4] 🔍  Resolving packages...
[2/4] 🚚  Fetching packages...
warning<EMAIL_ADDRESS>The engine "vscode" appears to be invalid.
error<EMAIL_ADDRESS>The engine "node" is incompatible with this module. Expected version "^14.16.0 || ^16.10.0 || ^17.0.0 || ^18.0.0". Got "19.5.0"
error Found incompatible module.
info Visit https://yarnpkg.com/en/docs/cli/add for documentation about this command.

Additional context
Probably<EMAIL_ADDRESS>package needs to be moved into peerDependencies

Hi @sky-code,
the error message looks to me as if the nuxt version used is incompatible with node 19. I‘ll look into this and will provide a new version probably tomorrow or so.

Hi @sky-code
I'm sorry it took so long - I have some important private stuff going on here.
I've upgraded nuxt/kit to version 3.0.0 - can you confirm this solves the issue? v1.0.5 should work fine.
Please reopen this issue if it does not.

@boindil
Still seeing the same issue
https://www.npmjs.com/package/@boindil/vue-file-agent-next?activeTab=code
current version on npm specifies "@nuxt/kit": "3.0.0-rc.12" as dependency, can you please release next version with fixed dependencies.


openapi-client-axios-typegen 5.0.0 depends on an older openapi-client-axios

https://github.com/anttiviljami/openapi-client-axios/blob/d44e392a20b083be7ae20231eda1292f10e9e32a/packages/typegen/package.json
This dependency should be changed to ^5.0.0 as early versions won't work with axios 0.25.

Thanks! Fixed in<EMAIL_ADDRESS>


#88: fix dynamic label in mw-switch; add tests

Not sure why we had this line in there anyways, but it threw an error that prevented the toggling logic to be executed

@Fuasmattn LGTM


IndexMap doesn't implement Hash

Hi,
Thanks for this great package. When I use some type which contains IndexMap as keys to some other map, I get this error message. Could this be implemented or this is by design?
Thanks

It is by design, because Eq is based on containing equivalent items regardless of order, like HashMap, and Hash has to be consistent with Eq if they're both implemented. But this comes up often: #67, #75, #155, and a bit of #153.
The indexmap::map::Slice type does implement order-sensitive Eq and Hash, so you could possibly use a wrapper for your keys that forwards to the map .as_slice() for those operations.


Support using the Accent Color for cursorColor, selectionBackground, etc.

Can there be support for the Accent Color brushes, so if I were to set my cursor or selction to my Accent Color, as it changes, that change will be reflected in Windows Terminal?

So that might need to be it's own separate feature request. The cursor and the selection are drawn in DirectX down in TermControl, so they work differently than a lot of the things in this spec (which are all XAML elements).
For those, we'd need to accept something like "cursorColor": "accent". When we did that, CascadiaSettings would know that the string isn't a "#rrggbb" color, so it could look up the color when we're building the TerminalSettings to pass to the TermControl. However, after that point, if the user changes their accent color, that wouldn't be reflected dynamically in the Terminal, until the user manually refreshes their settings.
It's not a horrible idea, but probably something we should move to it's own thread for discussion, since I don't think it really fits in with a lot of the other things in this spec.
Originally posted by @zadjii-msft in https://github.com/microsoft/terminal/pull/5772#issuecomment-624908257
#6338 is related.

When Xaml becomes a theming system for the App, any WinUI System brushes should become valid strings for setting colours in the console settings.
Perhaps you could use a prefix like xaml: xaml:AccentColor when referencing known colours.

Note to future self: This should become the "ThemeColor can be used at the Control layer" thread. For unification of ThemeColor, SelectionColor, and generally the colors for a control. That would automatically get us accent support in color schemes.


What about including MySql as well

Hi @kinngh
thanks for this tool.
I am wondering why MySql is not included in databaseTech??? Do you leave it for purpose ? please elaborate more if you don't mind

I wouldn't recommend using this in prod.
There is MySQL support via Prisma ORM. I highly recommend against writing your own queries and use an ORM instead because an ORM would generally write more efficient queries and makes using data much easier compared to manually optimizing every single request.


Tie Ctrl-F shortcut to "Search" or "Find"

(I removed the template since it's not a bug.)
It would be neat if the Ctrl-F keyboard shortcut could be bound to expanding and focusing the search field for quicker keyboard navigation.

Apologies, this is a duplicate of #32, I should have searched better!

Uh, forgot about that issue actually :)
I took a different approach, but it doesn't seem to be very discoverable! If you start typing anything, you'll enter search mode; shortcuts use modifier keys (Alt + N and Alt + P for instance)

Thanks for the response; that's certainly sufficient for me, too!
I was also thinking about discoverability, but then again Nautilus and other GNOME apps also use this behavior and don't seem to make it very discoverable. Maybe keeping the current behavior and still tying Ctrl + F to the search field would work? This is also what Nautilus seems to do.

Fair! I think you're right that both ways should be possible!

If you start typing anything, you'll enter search mode;

That doesn't work for me (X11, Fedora 35, Flatpak). Ctrl + F would be a huge help in this case.

pushed somehting that should help on development!


Invalid custom exception inherited from Exception

flask_restful_init_.py  line327
 error_cls_name = type(e).__name__
 if error_cls_name in self.errors:
 custom_data = self.errors.get(error_cls_name, {})
    code = custom_data.get('status', 500)
    data.update(custom_data)
Type(Exception()) is "Exception", but type(Exception).name is "type". Sometimes the exception handling in some libraries is "raise Exception" but not "raise Exception()". This makes it necessary for us to use "try" "except". This design makes it useless to pass in errors during initialization.

flask_restful__init__.py line327
 error_cls_name = type(e).__name__
 if error_cls_name in self.errors:
 custom_data = self.errors.get(error_cls_name, {})
 code = custom_data.get('status', 500)
 data.update(custom_data)
Type(Exception()) is "Exception", but type(Exception).name is "type". Sometimes the exception handling in some libraries is "raise Exception" but not "raise Exception()". This makes it necessary for us to use "try" "except". This design makes it useless to pass in errors during initialization.


Signature Not Handling Complex Object Structure

Hi,
I am integrating with an API which uses oauth1 authentication.
I am able to perform get and post request.
However when I try to include Customer object in my below payload, the api reject with Authorization error probably due to signature issue.
I observe that authorize function returns empty Customer like &Customer=&
const visitDate = moment().tz('Australia/Sydney').add(2, 'h').format('YYYY-MM-DDTHH:mm:ss');
const bookingInfo = {
Covers: 1,
Duration: 60,
Status: 1,
Tables:24102,
VisitDateTime: visitDate,
Customer: {
"Email"<EMAIL_ADDRESS>"Title": "Mr",
"FirstName": "Zarni",
"Surname": "Aung",
"MobileNumber": "00112233"
}
};
Would you encounter such issue before?

you should turn it to json string JSON.stringify(bookingInfo) 1st then send it as data.


fix: Explore popovers issues

SUMMARY
Fixes issues https://github.com/apache/incubator-superset/issues/11388 and https://github.com/apache/incubator-superset/issues/11404.
Changes in AdhocFilterOption might be in conflict with https://github.com/apache/incubator-superset/pull/11412 by @mistercrunch - unfortunately it seems that mutating a adhocFilter.isNew prop is necessary until we do a deeper refactor. Simply making that prop a part of the state leads to various issues regarding auto-opening the popup when new filter is added - particularly when there are multiple unsaved filters.
BEFORE/AFTER SCREENSHOTS OR ANIMATED GIF
As shown on the gif, the popup opens automatically and typing spaces and comas works properly.

TEST PLAN

ADDITIONAL INFORMATION

[x] Has associated issue: https://github.com/apache/incubator-superset/issues/11388, https://github.com/apache/incubator-superset/issues/11404
[ ] Changes UI
[ ] Requires DB Migration.
[ ] Confirm DB Migration upgrade and downgrade tested.
[ ] Introduces new feature or API
[ ] Removes existing feature or API

@mistercrunch Can you take a look?

Codecov Report

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

@@            Coverage Diff             @@
##           master   #11428      +/-   ##
==========================================
- Coverage   66.55%   61.22%   -5.34%
==========================================
  Files         860      415     -445
  Lines       40866    25852   -15014
  Branches     3694        0    -3694
==========================================
- Hits        27198    15827   -11371
+ Misses      13570    10025    -3545
+ Partials       98        0      -98

Flag
Coverage Δ

#cypress
?

#javascript
?

#python
61.22% <ø> (-0.71%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

superset/db_engines/hive.py
0.00% <0.00%> (-85.72%)
:arrow_down:

superset/db_engine_specs/hive.py
53.90% <0.00%> (-30.08%)
:arrow_down:

superset/db_engine_specs/presto.py
69.76% <0.00%> (-11.67%)
:arrow_down:

superset/db_engine_specs/sqlite.py
65.62% <0.00%> (-9.38%)
:arrow_down:

superset/utils/celery.py
82.14% <0.00%> (-3.58%)
:arrow_down:

superset/examples/world_bank.py
97.10% <0.00%> (-2.90%)
:arrow_down:

superset/db_engine_specs/postgres.py
97.56% <0.00%> (-2.44%)
:arrow_down:

superset/examples/birth_names.py
97.59% <0.00%> (-2.41%)
:arrow_down:

superset/views/database/mixins.py
80.70% <0.00%> (-1.76%)
:arrow_down:

superset/result_set.py
96.69% <0.00%> (-1.66%)
:arrow_down:

... and 454 more

Continue to review full report at Codecov.

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

Not sure if it was the original behavior, but selection saved metrics (such as count in the energy_usage example dataset) did not auto-open the popover. So I just pushed a fix: https://github.com/apache/incubator-superset/commit/7ab7a534cbe982884e9a717f2db4ad0d7740d4d9

Some unrelated tests are failing. I've reran the tests two times.

    1) chart card view
         should edit correctly:
       AssertionError: Timed out retrying: Expected to find element: `[data-test="properties-name-input"]`, but never found it.
        at Context.eval (http://localhost:8081/__cypress/tests?p=cypress/integration/chart_list/card_view.test.ts:199:55)

@kgabryje @nytai could you take a look?

Some unrelated tests are failing. I've reran the tests two times.

    1) chart card view
         should edit correctly:
       AssertionError: Timed out retrying: Expected to find element: `[data-test="properties-name-input"]`, but never found it.
        at Context.eval (http://localhost:8081/__cypress/tests?p=cypress/integration/chart_list/card_view.test.ts:199:55)

@kgabryje @nytai could you take a look?

Seeing that same test causing issues on another PR. We're going to skip it for now in another PR, and then circle back to fix it separately.

I noticed that the popover for adhoc metrics are not fixed. So I pushed another fix.

A rebase should fix that failing unit test now.

@ktmud Thank you for your fixes! openPopover method wasn't used anywhere so I removed it. I also fixed that failing E2E test.


Feature : import JSON

JSON Export feature is so nice, I would like to edit my export json file and import it after to gain more time when I have to do lots of modifications

See this blogpost: Import data into Cockpit collections

If your database structure is different, you should map data to current fields - you may try my module: cockpit-import.


nettle 2.7.1: Gnutls configure script fails after not finding the brew installed nettle

[us ~]$ brew install nettle
Warning: nettle-2.7.1 already installed
[us ~]$ brew install gnutls
==> Downloading ftp://ftp.gnutls.org/gcrypt/gnutls/v3.3/gnutls-3.3.11.tar.xz
Already downloaded: /home/ronnypfa/.cache/Homebrew/gnutls-3.3.11.tar.xz
==> Patching
==> ./configure --disable-silent-rules --disable-static --prefix=/home/ronnypfa/.linuxbrew/Cellar/gnutls/3.3.11 --sysconfdir=/home/ronnypfa/.linuxbrew/etc --with-default-tru
checking for NETTLE... no
configure: error:
  ***
  *** Libnettle 2.7.1 was not found. Note that this version of gnutls doesn't support nettle 3.0.

READ THIS: https://github.com/Homebrew/linuxbrew/blob/master/share/doc/homebrew/Troubleshooting.md#troubleshooting

[us ~]$

[us ~/.linuxbrew/lib/pkgconfig]$ ln -s ../../Cellar/nettle/2.7.1/lib64/pkgconfig/hogweed.pc
[us ~/.linuxbrew/lib/pkgconfig]$ ln -s ../../Cellar/nettle/2.7.1/lib64/pkgconfig/nettle.pc

fixed it, i suspect lib64 isn't taken into account when brew links pkg-congfig files?
im not fluent enough in the details to fix it

another [us ~/.linuxbrew/lib]$ ln -s ../Cellar/nettle/2.7.1/lib64/*.so* .*a . was needed as well

Thanks for the helpful bug report.


Redirect Chromium Chronicle articles to dcc

Deletes are redirects articles to dcc

Whoops!
There were 13 warnings that will prevent this PR from being merged. Please take a look, and either fix, or provide a justification for why they can't be fixed.
WARNINGS
src/content/en/updates/2019/04/chromium-chronicle-1.md - Unable to read file, was it deleted?
src/content/en/updates/2019/05/chromium-chronicle-2.md - Unable to read file, was it deleted?
src/content/en/updates/2019/06/chromium-chronicle-3.md - Unable to read file, was it deleted?
src/content/en/updates/2019/07/chromium-chronicle-4.md - Unable to read file, was it deleted?
src/content/en/updates/2019/08/chromium-chronicle-5.md - Unable to read file, was it deleted?
src/content/en/updates/2019/09/chromium-chronicle-6.md - Unable to read file, was it deleted?
src/content/en/updates/2019/10/chromium-chronicle-7.md - Unable to read file, was it deleted?
src/content/en/updates/2019/11/chromium-chronicle-8.md - Unable to read file, was it deleted?
src/content/en/updates/2019/12/chromium-chronicle-9.md - Unable to read file, was it deleted?
src/content/en/updates/2020/02/chromium-chronicle.md - Unable to read file, was it deleted?
src/content/en/updates/2020/03/chromium-chronicle.md - Unable to read file, was it deleted?
src/content/en/updates/2020/10/chromium-chronicle.md - Unable to read file, was it deleted?
src/content/en/updates/2020/11/chromium-chronicle.md - Unable to read file, was it deleted?

Whoops!
There were 13 warnings that will prevent this PR from being merged. Please take a look, and either fix, or provide a justification for why they can't be fixed.
WARNINGS
src/content/en/updates/2019/04/chromium-chronicle-1.md - Unable to read file, was it deleted?
src/content/en/updates/2019/05/chromium-chronicle-2.md - Unable to read file, was it deleted?
src/content/en/updates/2019/06/chromium-chronicle-3.md - Unable to read file, was it deleted?
src/content/en/updates/2019/07/chromium-chronicle-4.md - Unable to read file, was it deleted?
src/content/en/updates/2019/08/chromium-chronicle-5.md - Unable to read file, was it deleted?
src/content/en/updates/2019/09/chromium-chronicle-6.md - Unable to read file, was it deleted?
src/content/en/updates/2019/10/chromium-chronicle-7.md - Unable to read file, was it deleted?
src/content/en/updates/2019/11/chromium-chronicle-8.md - Unable to read file, was it deleted?
src/content/en/updates/2019/12/chromium-chronicle-9.md - Unable to read file, was it deleted?
src/content/en/updates/2020/02/chromium-chronicle.md - Unable to read file, was it deleted?
src/content/en/updates/2020/03/chromium-chronicle.md - Unable to read file, was it deleted?
src/content/en/updates/2020/10/chromium-chronicle.md - Unable to read file, was it deleted?
src/content/en/updates/2020/11/chromium-chronicle.md - Unable to read file, was it deleted?


edit the formated double " to the right ``

Thanks for contributing! Fyi, this is fixed in our internal Git, and will be uploaded the next time we push that to Github. We don't have automatic pushing in place just yet, so it'll take until after the weekeind before you see this change.

Fixed in latest master.


Unable to send message getting "Failed to invoke \u0027SendMessage\u0027 due to an error on the server."

Hi, I'm trying to send the message but it fails with error. Below are the details:
    let messageObj = Message()
        messageObj.Id = 0
        messageObj.Text = message
        messageObj.UserId = "xyc"
        messageObj.UserName =<EMAIL_ADDRESS>        messageObj.ReceiverId = "abc"
        messageObj.ReceiverName =<EMAIL_ADDRESS>        messageObj.IsRead = false
        messageObj.When = Date()
        chatHubConnection?.invoke(method: "SendMessage", messageObj) { error in
            if let e = error {
                self.appendMessage(message: "Error: \(e)")
            }
        }

Error: Message received: {"type":3,"invocationId":"1","error":"Failed to invoke \u0027SendMessage\u0027 due to an error on the server."}

So, what’s the error on the server side?
On Tue, Nov 5, 2019 at 12:09 AM Kruks<EMAIL_ADDRESS>wrote:

Hi, I'm trying to send the message but it fails with error. Below are the
details:
let messageObj = Message()
    messageObj.Id = 0
    messageObj.Text = message
    messageObj.UserId = "xyc"
    messageObj.UserName =<EMAIL_ADDRESS>    messageObj.ReceiverId = "abc"
    messageObj.ReceiverName =<EMAIL_ADDRESS>    messageObj.IsRead = false
    messageObj.When = Date()
    chatHubConnection?.invoke(method: "SendMessage", messageObj) { error in
        if let e = error {
            self.appendMessage(message: "Error: \(e)")
        }
    }

Error: Message received: {"type":3,"invocationId":"1","error":"Failed
to invoke \u0027SendMessage\u0027 due to an error on the server."}
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/moozzyk/SignalR-Client-Swift/issues/78?email_source=notifications&email_token=AAK7JJF2APRD5ZR6FFBJEVLQSES3DA5CNFSM4JI7CF22YY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4HW2DGOA,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAK7JJA24M7ZJEY5J7NCIHLQSES3DANCNFSM4JI7CF2Q
.

Here is the server code chunk, the Client is not invoking the server method.
public async Task SendMessage(Message message, string receiverUserId="")
{
//await Clients.All.SendAsync("receiveMessage", message);
if (!string.IsNullOrEmpty(message.ReceiverId))
{
try
{
// means this is send from mobile app(for now)
receiverUserId = message.ReceiverId;
await _context.Messages.AddAsync(message);
await _context.SaveChangesAsync();
//  _logger.LogInformation("Send message Succesfully");
}
catch (Exception ex)
{
// _logger.LogInformation("Faild.....");
throw;
}
}
await Clients.User(receiverUserId).SendAsync("receiveMessage", message);
var senderId = _context.Users.FirstOrDefault(x => x.UserName == message.UserName).Id;
await Clients.User(senderId).SendAsync("receiveMessage", message);
}
Also, I'm able to send messages using below .Net code but it fails with swift code.
Message message = new Message();
message.Id = 0;
            message.UserId = "xyc;
            message.UserName =<EMAIL_ADDRESS>
            message.ReceiverId = "abc";
            message.ReceiverName =<EMAIL_ADDRESS>
            message.IsRead = false;
            message.When = DateTime.Now;

            var hubConnection = new HubConnectionBuilder()
                .WithUrl(new Uri("Server URL"))
                .WithAutomaticReconnect()
                .Build();

            await hubConnection.StartAsync();
            Console.Write("Write some message to send : ");
            message.Text = Console.ReadLine();
            await hubConnection.InvokeAsync("SendMessage", message,"");

Did you check the error on the server side? This is where the code is failing. You can check the server logs and/or enable errors to be sent to the client like this:
https://github.com/moozzyk/SignalR-Client-Swift/blob/d710f686ea7705c25355d0f86bbe2b00d5e42635/Examples/TestServer/Startup.cs#L16-L19
Note that detailed errors are disabled by default because sometimes error details may contain sensitive information so it may not be a good idea to have this turned on in production.
My gut feeling is that there is a parameter count mismatch. Your hub method takes two parameters but you are sending only one value from you Swift code. Note that you send two values from the C# code. The default parameter value does not make much sense on hub methods. Default parameter values are a compile time concept and are compiled into the caller not the callee. So at runtime the method being invoked has no notion of the default value.

Thanx, the issue is fixed.

@moozzyk Sorry to open this issue again, but I am running into the same issue. My parameter count is correct. Do you know in which of the server side logs additional diagnostics are recorded? Azure has many: app service app log, app service webserver log, azure SignalR service logs. Tried spitting through all of them but could not find anything regarding the client side error: 'Failed to invoke ... due to an error on the server.'

Can/Did you enable detailed error details as recommended above? From what I can see here:
https://github.com/dotnet/aspnetcore/blob/f283f8b7f7e152e0d603af39ec593213c6da5429/src/SignalR/server/Core/src/Internal/DefaultHubDispatcher.cs#L192-L196
and here:
https://github.com/dotnet/aspnetcore/blob/4931b1929188349b438575803bcec889a9a7d190/src/SignalR/server/Core/src/Internal/ErrorMessageHelper.cs#L12
you should get exception details sent to the client if you do.

Thanks for the reply @moozzyk. Problem is solved, the issue was caused by sending [""] where the server expected List<Guid> - an empty string can obviously not be converted to a Guid.


Undefined Microphone Error

Platform (Hardware/OS):
Raspberry Pi 3 Model B Rev 1.2
Raspbian Stretch
Linux raspberrypi 5.4.51-v7+ #1333 SMP Mon Aug 10 16:45:19 BST 2020 armv7l GNU/Linux
Node version:
v10.23.3
MagicMirror version:
MagicMirror: v2.14.0
Module version:
1.0.2
Description of the issue:
After Installing a fresh Raspberry Pi with a fresh Magic Mirror and all the dependencies for this module, I cannot get it to work.
I configured only these modules:
alert, clock, MMM-voice
After starting the Magic Mirror and opening the URL, it only shows "ERROR" in the lower section. Find my config attached
config.js.txt
(I renamed the config to config.js.txt as I couldn't upload it as config.js)
My Audio Hardware
I'm using the "ReSpeaker 2-Mics Pi HAT" Module for Microphone. I installed everything from https://wiki.seeedstudio.com/ReSpeaker_2_Mics_Pi_HAT/ and I can successfully hear myself, when I try "arecord -f cd -Dhw:2 | aplay -Dhw:2"
The config also contains "microphone: 2".
I wasn't able to debug some information (because the Chrome Developer Tools didn't gave me any hint and I have no idea how to enable debugging for "npm run start" or "npm run server"
Any idea, what's going wrong here?

@spencerandhill thank you for the detailed description. On a first glance the config seems right. To get more details you can run the module as:
{
  module: 'MMM-voice',
  position: 'bottom_bar',
  config: {
    debug: true,
    microphone: 2,
    keyword: 'MAGIC MIRROR',
    timeout: 15
  }
}

This will generate a debug and error log in the module directory with more informations.

@fewieden thanks for your fast response! I got the log and also some hints.

Error opening audio device plughw:2 for capture: Device or resource busy
FATAL: "continuous.c", line 245: Failed to open audio device

And later:

INFO: continuous.c(275): Ready....
INFO: continuous.c(261): Listening...

Unfortunately I have no idea, why it can't access the audio device.
The full debug.log is attached here
debug.log
and the error.log here
error.log
(Error Log only shows a couple of lines with the number "127", nothing else)

@spencerandhill resource busy usually was reported when a user had something else running that accessed the microphone.
You could try to run pocketsphinx standalone first without the mirror.
pocketsphinx_continuous -adcdev plughw:2 -inmic yes -lm PATH_TO_LM_FILE -dict PATH_TO_DIC_FILE
This is how the module is running it.

Hi, I have a similar issue, it says
ERROR undefined
Platform (Hardware/OS): RPI 4B 2GB
My config
                {                             module: 'MMM-voice',                             position: 'bottom_bar',                             config: {                                 debug: true,                                 microphone: 2,                                 keyword: 'MAGIC MIRROR',                                 timeout: 15                                 }                 }
error.log shows
127
debug.log shows
pocketsphinx_continuous: error while loading shared libraries: libpocketsphinx.so.3: cannot open shared object file: No such file or directory
I checked the file is there in /usr/local/lib
I also tried writing this in .bashrc but no luck
export LD_LIBRARY_PATH=/usr/local/lib export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
Appreciate any help with this!

@soubhik-khan try this forum post https://forum.magicmirror.builders/post/35364

Hi @fewieden , I have the same problem.
I have run the debug log and in the error.log is one Error several times:
GNU nano 5.4                        error.log
Error: spawn pocketsphinx_continuous ENOENT
-2
Error: spawn pocketsphinx_continuous ENOENT
-2
Error: spawn pocketsphinx_continuous ENOENT
-2
Error: spawn pocketsphinx_continuous ENOENT
-2
Error: spawn pocketsphinx_continuous ENOENT
-2
Error: spawn pocketsphinx_continuous ENOENT
-2
Error: spawn pocketsphinx_continuous ENOENT
-2
Error: spawn pocketsphinx_continuous ENOENT
-2
Error: spawn pocketsphinx_continuous ENOENT
-2
Error: spawn pocketsphinx_continuous ENOENT
-2
This is in my folder:
pi@raspberrypi:~/MagicMirror/modules/MMM-voice/pocketsphinx $ ls
AUTHORS       include    Makefile.am         pocketsphinx.sln  swig
autogen.sh indent.sh  model               README            test
configure.ac  LICENSE    NEWS                README.md         win32
doc           m4         pocketsphinx.pc.in  src
The command: pocketsphinx_continous is not found
Manfred

@maku1958 this sounds like something went wrong with the installation and he can't find the binary file.
I suggest deleting the module directory and starting from scratch.
With your debug.log file, this could be an older message. If you are sure the file exists it is usually a good idea to delete the log files again before the restart so you only see the still relevant entries.

Thanks. I will start with a complete new installation. I need first a new SD card. --Diese Nachricht wurde von meinem Android Mobiltelefon mit GMX Mail gesendet.Am 21.01.22, 05:59 schrieb fewieden @.***>:
@maku1958 this sounds like something went wrong with the installation and he can't find the binary file.
I suggest deleting the module directory and starting from scratch.
With your debug.log file, this could be an older message. If you are sure the file exists it is usually a good idea to delete the log files again before the restart so you only see the still relevant entries.
—Reply to this email directly, view it on GitHub, or unsubscribe.Triage notifications on the go with GitHub Mobile for iOS or Android. You are receiving this because you were mentioned.Message ID: @.***>


Fix version_gt to work with Kubernetes prefix

Keeping this function in sync with the hostpath version.
https://github.com/kubernetes-csi/csi-driver-host-path/blob/master/deploy/util/deploy-hostpath.sh#L104
Signed-off-by: Grant Griffiths<EMAIL_ADDRESS>

/assign @msau42
/release-note-none

Testing changes in https://github.com/kubernetes-csi/csi-driver-host-path/pull/131

/lgtm
/approve