Fix failing Windows test

Motivation
The test TestPrologue consistently fails on windows. The issue appears to be open file handles.
Changes

add t.Cleanup to the test that stops the initialized hosts and closes open file handles.

Test Plan

TODO

[x] Explain motivation or link existing issue(s)
[x] Test changes and document test plan
[x] Update documentation as needed

DevOps Notes

[x] This PR does not require configuration changes (e.g., environment variables, GitHub secrets, VM resources)
[x] This PR does not affect public APIs
[x] This PR does not rely on a new version of external services (PoET, elasticsearch, etc.)
[x] This PR does not make changes to log messages (which monitoring infrastructure may rely on)

bors cancel
sorry it seems the issue isn't resolved with this PR 😞

I found a proper fix and fixed the other consistently failing tests for windows 🙂

bors merge


Invoke different routines based on tensor element type

Add a wrapper to allow dispatching different routines based on tensor element type. This will make our life much easier, e.g. in tensor network simulation.

Resolved by #9


No error raised when a method depends on Parameterized instances set after calling super()

See this example taken from Panel's user guide. The two objects must be declared in the __init__ before calling super().
class P2(param.Parameterized):
    value = param.String()

class P1(param.Parameterized):

    def __init__(self, **params):
        # Works as expected when declared before
        # self.p2 = P2()
        super().__init__(**params)
        # Does not work when declared after super()
        # Raises an error in param<1.12, nothing for param 1.12
        self.p2 = P2()

    @param.depends('p2.value', watch=True)
    def cb(self):
        print('fired')

When they're declared after as in the example above, the following error used to be raised (this is param 1.11.1):
--------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-36-7e8d061f6e7f> in <module>
----> 1 p1 = P1()

<ipython-input-35-d76ac1c5846c> in __init__(self, **params)
      6     def __init__(self, **params):
      7 #         self.p2 = P2()
----> 8         super().__init__(**params)
      9         self.p2 = P2()
     10

~/miniconda3/envs/holoviz37/lib/python3.7/site-packages/param/parameterized.py in __init__(self, **params)
   2610                 # 'dependers'.
   2611                 grouped = defaultdict(list)
-> 2612                 for dep in self.param.params_depended_on(n):
   2613                     grouped[(id(dep.inst),id(dep.cls),dep.what)].append(dep)
   2614                 for group in grouped.values():

~/miniconda3/envs/holoviz37/lib/python3.7/site-packages/param/parameterized.py in params_depended_on(self_, name)
   1858
   1859     def params_depended_on(self_,name):
-> 1860         return _params_depended_on(MInfo(cls=self_.cls,inst=self_.self,name=name,method=getattr(self_.self_or_cls,name)))
   1861
   1862

~/miniconda3/envs/holoviz37/lib/python3.7/site-packages/param/parameterized.py in _params_depended_on(minfo)
    500     dinfo = getattr(minfo.method,"_dinfo", {})
    501     for d in dinfo.get('dependencies', list(minfo.cls.param)):
--> 502         things = (minfo.inst or minfo.cls).param._spec_to_obj(d)
    503         for thing in things:
    504             if isinstance(thing,PInfo):

~/miniconda3/envs/holoviz37/lib/python3.7/site-packages/param/parameterized.py in _spec_to_obj(self_, spec)
   1902         attr = m.group("attr")
   1903
-> 1904         src = self_.self_or_cls if obj=='' else _getattrr(self_.self_or_cls,obj[1::])
   1905         cls,inst = (src, None) if isinstance(src, type) else (type(src), src)
   1906

~/miniconda3/envs/holoviz37/lib/python3.7/site-packages/param/parameterized.py in _getattrr(obj, attr, *args)
    281     def _getattr(obj, attr):
    282         return getattr(obj, attr, *args)
--> 283     return reduce(_getattr, [obj] + attr.split('.'))
    284
    285

~/miniconda3/envs/holoviz37/lib/python3.7/site-packages/param/parameterized.py in _getattr(obj, attr)
    280 def _getattrr(obj, attr, *args):
    281     def _getattr(obj, attr):
--> 282         return getattr(obj, attr, *args)
    283     return reduce(_getattr, [obj] + attr.split('.'))
    284

AttributeError: 'P1' object has no attribute 'p2'

Even though it's an error message that's quite hard to understand, at least there was an error. The current version on master doesn't raise any.

Yes, it does seem good to have an error message in this case.
Note that in general we have add_parameter for adding parameters since param 1.12; I'm not sure what features will fail to work if the parameter is set directly on the instance like this (but presumably anything involving the class).

@jbednar FYI I've simplified the example.
I wouldn't really know how to use add_parameter to add a parameter that's watched with param.depends. If you meant something like that:
class P2(param.Parameterized):
    value = param.String()

class P1(param.Parameterized):

    def __init__(self, **params):
        self.param._add_parameter('p2', P2().param.value)
        super().__init__(**params)

    @param.depends('p2.value', 'test', watch=True)
    def cb(self):
        print('fired')

it raises this error:
AttributeError: The String parameter 'value' has already been assigned a name by the P200142 class, could not assign new name 'p2'. Parameters may not be shared by multiple classes; ensure that you create a new parameter instance for each new class.

Maybe the cleanest way to declare that you want to depend on parameters of another parameterized object is as follows:
class P2(param.Parameterized):
    value = param.String()

class P1(param.Parameterized):
    p2 = param.Parameter()

    def __init__(self, **params):
        super().__init__(**params)

    @param.depends('p2.value', watch=True)
    def cb(self):
        print('fired')

p2 = P2()
p1 = P1(p2=p2)

This doesn't raise any error with the latest version of param. It does if instead of depending on thing.whatever I declare that I depend on thing.
class P1(param.Parameterized):
    x = param.Number()

    @param.depends('thing.whatever', watch=True)
    def cb(self):
        print('fired')

I wouldn't really know how to use add_parameter to add a parameter that's watched with param.depends

I'm not quite getting why that would be a good idea in any case. I would think this is the pattern for watching another class's parameter:
import param

class P2(param.Parameterized):
    value = param.String()
p2=P2()

class P1(param.Parameterized):
    p2 = param.Parameter(p2)

    @param.depends('p2.value', watch=True)
    def cb(self):
        print('fired')

p1 = P1()
p2.value="new"

fired

This doesn't raise any error with the latest version of param. It does if instead of depending on thing.whatever I declare that I depend on thing.

I think that should clearly be an error; thing needs to exist, whether or not thing.whatever does.

Agreed, that should be an error. The recent work on dynamic dependencies loosened the validation here but that is definitely a case where it should still error.

Guess it's related to this issue:
class P(param.Parameterized):

    @param.depends('x.y', watch=True, on_init=True)
    def cb(self):
        print('cb')

Instantiating P with p = P() will fire the callback and print 'cb'. Note that the callback depends on a suboject (of nothing in practice). Depending on just 'x' without x being a Parameter rightfully raises an error.

I'm guessing that some of the lack of errors above are covered by https://github.com/holoviz/param/issues/357 . In any case, for the original example, I do think we should be detecting and complaining about the lack of p2 by the time we get to super().

I've now tightened the validation here to ensure it errors when a watcher is created based on an invalid dependency specification. This will occur both during instance creation and when something else tries to resolve invalid the method dependencies. Therefore I'll consider this done.


CFFL

CFFL

Linter check found the following problems:
The following problems have been found:
ERROR: /tmp/abs_4fvsdklhmr/clone/recipe/meta.yaml:18: pip_install_args: pip install should be run with --no-deps.
ERROR: /tmp/abs_4fvsdklhmr/clone/recipe/meta.yaml:23: missing_wheel: For pypi packages, wheel should be present in the host section
ERROR: /tmp/abs_4fvsdklhmr/clone/recipe/meta.yaml:39: missing_dev_url: The recipe is missing a dev_url
ERROR: /tmp/abs_4fvsdklhmr/clone/recipe/meta.yaml:39: missing_documentation: The recipe is missing a doc_url or doc_source_url
WARNING: /tmp/abs_4fvsdklhmr/clone/recipe/meta.yaml:39: missing_description: The recipe is missing a description
ERROR: /tmp/abs_4fvsdklhmr/clone/recipe/meta.yaml:39: missing_license_family: The recipe is missing the about/license_family key.
Errors were found


dotnet test skipped for dnxcore50 tests

This started happening because of a recent change in _k-standard-goals.shade, specifically here:
https://github.com/aspnet/Universe/blob/dev/KoreBuild-dotnet/build/_k-standard-goals.shade#L196
The assumption here is that dotnet-test-xunit is listed in every project.json that has dnxcore50 tests. But that is not true. For example. Microsoft.IdentityModel.Logging.Tests (https://github.com/AzureAD/azure-activedirectory-identitymodel-extensions-for-dotnet/blob/KDev/test/Microsoft.IdentityModel.Logging.Tests/project.json) depends on Microsoft.IdentityModel.Tokens.Tests. MS.IM.Tokens.Tests has "dotnet-test-xunit" listed as a dependency but MS.IM.Logging does not since that gets pulled by MS.IM.Tokens.Tests automatically.
I think we should look for "dnxcore50" target and if no commands are specified (which means not running on dnx), we should run "dotnet-test" command.

@pranavkm

The plan's to remove the conditional check once Mvc uses the cli to run tests. Should be soon.

@pranavkm thanks :)


Markdown cell toolbar shortcuts don't work just after creating new split view cell

Repro steps:

In the user settings, set the defaultTextEditMode setting to "Split View".
Create a new text cell and add some text.
Select that text and try to bold it with Ctrl+B.
A notification will pop up in the lower right saying "Command 'bold' not found" and the selected text will not be bolded.

Note that exiting and re-entering the cell, or changing the cell view, no longer causes the issue to repro.

Can repro in 1.37


Release/cf223

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.1 out of 2 committers have signed the CLA.:white_check_mark: biancaluna:x: Ralf GliemerRalf Gliemer seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.


Add openEditorPanel to the addOnUISdk reference

Description
Add the relevant changes to the Constants and addOnUISdk refs to support addOnUISdk.app.ui.openEditorPanel().
Related Issue

Motivation and Context

How Has This Been Tested?

Screenshots (if appropriate):
Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

[x] I have signed the Adobe Open Source CLA.
[x] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[x] I have updated the documentation accordingly.
[x] I have read the CONTRIBUTING document.
[ ] I have added tests to cover my changes.
[ ] All new and existing tests passed.

@undavide could you also please just add these changes to the changelog so devs can be aware? Thx!!

Jeez, I've forgotten once more!! I will add it immediately. Sorry! 😅


Fixed #25920 -- Add number formatting support for locales that use no…

…n-uniform digit grouping
https://code.djangoproject.com/ticket/25920

buildbot, add to whitelist.

This is missing a mention in the 1.11 release notes as well as a .. versionchanged:: 1.11 annotation as described at https://docs.djangoproject.com/en/dev/internals/contributing/writing-documentation/#documenting-new-features

@claudep, does the proposed API look good?

I think so. @jasisz I suppose you followed the POSIX behavior (http://lh.2xlibre.net/values/grouping/)?

@claudep I've followed POSIX behaviour, but in the same way python does that.
Python in locale describes a slightly different convention, see https://docs.python.org/2/library/locale.html#locale.localeconv - LC_NUMERIC/grouping - the difference is usage of 0 as the last number meaning "group by last previous number to the end". It will work both ways (3, 2) or (3, 2, 0), but in the documentation I've followed python convention.

@timgraham I've done the changes.

@timgraham just pinging you, do I need to change anything?

merged in b5a1c3a6f50362b57603e1833e44bff5628dde3c, thanks!


Feature: DBeaver add of zoom with use of Ctrl+Mouse wheel

DBeaver - Version 4.2.2 CE
Operating System: Windows 7 / Windows 8.1
I miss the ability to zoom editor window/diagram with the use of Ctrl+MouseWheel.
Compare functionality with Microsoft Internet Explorer or Notepad++.
I have mapped the DBeaver zoom functionality with both Ctrl++/Ctrl+Numpad_Add and Ctrl+-/Ctrl+Numpad_Subtract. But miss the ability to zoom using Ctrl+MouseWheel.

Duplicate of #2273


Revert "Fix detection of modified formulae on Azure"

Reverts Homebrew/homebrew-test-bot#255

something's wrong? :(

@ladislas See https://dev.azure.com/Homebrew/Homebrew/_build/results?buildId=9239&view=logs https://dev.azure.com/Homebrew/Homebrew/_build/results?buildId=9236&view=logs&jobId=a8f4870e-143f-5768-9e41-e85853590278&taskId=ceeb95c1-eed2-58c1-5545-3d8432b2d3ea&lineStart=133&lineEnd=134&colStart=1&colEnd=1 https://dev.azure.com/Homebrew/Homebrew/_build/results?buildId=9236&view=logs

Error: no implicit conversion of nil into String
/home/linuxbrew/.linuxbrew/Homebrew/Library/Taps/homebrew/homebrew-test-bot/cmd/brew-test-bot.rb:416:in `system'
/home/linuxbrew/.linuxbrew/Homebrew/Library/Taps/homebrew/homebrew-test-bot/cmd/brew-test-bot.rb:416:in `download'

https://dev.azure.com/Homebrew/Homebrew/_build/results?buildId=9239&view=logs&jobId=50a69d0a-7972-5459-cdae-135ee6ebe312&taskId=10352565-4cc8-5984-5886-e59588f0792d&lineStart=23&lineEnd=24&colStart=1&colEnd=1
My best guess is that it's failing if SYSTEM_PULLREQUEST_SOURCEBRANCH is not defined.
I suggest removing line 416
system("git", "-C", @repository, "checkout", ENV["SYSTEM_PULLREQUEST_SOURCEBRANCH"])

and trying this PR without that line.

@sjackman I've reached the same conclusion.
removing the line 416 brings back my issue as seen here: https://dev.azure.com/ladisonline/homebrew-hello-world/_build/results?buildId=310

the diff of brew-test-bot.rb: https://dev.azure.com/ladisonline/homebrew-hello-world/_build/results?buildId=310&view=logs&jobId=f720af0a-4aeb-5402-58ab-558049540efe&taskId=ae4f81c5-5d17-5446-4376-d7d8fd046541&lineStart=19&lineEnd=33&colStart=1&colEnd=32
the "nothing happens as we can't calculate the start sha1": https://dev.azure.com/ladisonline/homebrew-hello-world/_build/results?buildId=310&view=logs&jobId=f720af0a-4aeb-5402-58ab-558049540efe&taskId=b37980cf-3630-5342-dd54-7700c0688f56&lineStart=91&lineEnd=92&colStart=1&colEnd=40

What about checking for 'SYSTEM_PULLREQUEST_SOURCEBRANCH' and if it exists, doing the checkout?

That seems sensible.

I had previously suggested
system("git", "-C", @repository, "fetch", "origin", ENV["SYSTEM_PULLREQUEST_TARGETBRANCH"])

immediately before the git rev-parse, but I'm not sure that's actually the problem.
ladislas/hello-world origin/master 8a9f608 (reactivate dev test bot)
ladislas/hello-world HEAD 7f1ac7e (Merge 6afbe2ed6e479a0e8e5603478b49ab3d745bcba1 into 8a9f6084c0dfe4f85a03bd169e7032a3582bdef5)

The last commit on HEAD looks like a merge commit. What's the last commit on the PR that you're trying to merge?
I don't see an error message in this build log. What line of the build log do you think is the indication of trouble? What do you expect to see, and what are you seeing?

I've found it similar difficult to troubleshoot test-bot when diff_start_sha1 and diff_end_sha1 are not getting the values that I think they should. I don't see in test-bot that their value is printed unambiguously and clearly in the build log. I think it would help to print the value of these two variables in the build log. Something like:
ohai "Testing commits #{diff_start_sha1} to #{diff_end_sha1}`

I think it would help to print the value of these two variables in the build log.

Good idea 👍

I had the same problem debugging that part once. And I never got the azure thing to work. Thanks to try to fix this.
I think adding that line in the log output would help a little bit in some cases.

Big +1 for ohai. I would also add some log on the added/modified/deleted formulae, what do you think?
I've tried the following, it works (as expected) and adds a check for SYSTEM_PULLREQUEST_SOURCEBRANCH
https://github.com/ladislas/homebrew-test-bot/commit/7e3ac1f7b569ba4db458997f9f9d79f09a9f8783

I had previously suggested

@sjackman like this?
system("git", "-C", @repository, "fetch", "origin", ENV["SYSTEM_PULLREQUEST_TARGETBRANCH"])
diff_start_sha1 =
  Utils.popen_read("git", "-C", @repository, "rev-parse",
                          "--short",
                          "origin/#{ENV["SYSTEM_PULLREQUEST_TARGETBRANCH"]}").strip

If so, I'll try it right now and let you know.

The last commit on HEAD looks like a merge commit. What's the last commit on the PR that you're trying to merge?

@sjackman this is the merge commit generated by Azure Pipelines that you can find here: https://dev.azure.com/ladisonline/homebrew-hello-world/_build/results?buildId=311&view=logs&jobId=f720af0a-4aeb-5402-58ab-558049540efe&taskId=447c4b16-b77a-5636-6a60-8b487cc3bc78&lineStart=178&lineEnd=179&colStart=1&colEnd=116 -- that's the one I'm trying to escape from by checking out the target branch (in my case master

I don't see an error message in this build log. What line of the build log do you think is the indication of trouble? What do you expect to see, and what are you seeing?

As it doesn't find the modified formula, it stops running after that: https://dev.azure.com/ladisonline/homebrew-hello-world/_build/results?buildId=310&view=logs&jobId=f720af0a-4aeb-5402-58ab-558049540efe&taskId=b37980cf-3630-5342-dd54-7700c0688f56&lineStart=91&lineEnd=92&colStart=1&colEnd=40 -- so no bottles are created and the "copy bottles & json files" steps then fails with cp: *.bottle.*: No such file or directory https://dev.azure.com/ladisonline/homebrew-hello-world/_build/results?buildId=310&view=logs&jobId=f720af0a-4aeb-5402-58ab-558049540efe&taskId=f2fcdc02-a777-5bb8-8971-48a1deaa6619&lineStart=11&lineEnd=16&colStart=1&colEnd=47

I had the same problem debugging that part once. And I never got the azure thing to work. Thanks to try to fix this.

@iMichka I think I'm getting close :)
@MikeMcQuaid in order to test things without breaking production code in the other pipelines, is there some "staging" environment that could run in parallel and where we would try PR like this one?

@sjackman no it did not work :( https://dev.azure.com/ladisonline/homebrew-hello-world/_build/results?buildId=312&view=logs&jobId=f720af0a-4aeb-5402-58ab-558049540efe&taskId=ae4f81c5-5d17-5446-4376-d7d8fd046541&lineStart=17&lineEnd=41&colStart=1&colEnd=27

in order to test things without breaking production code in the other pipelines, is there some "staging" environment that could run in parallel and where we would try PR like this one?

I've never done it, but you could try modifying the file Formula/testbottest.rb (add a comment or something) in this same PR to test that branch of code.

I believe that checking out SYSTEM_PULLREQUEST_TARGETBRANCH is not addressing the real problem. CircleCI uses
      elsif ENV["CIRCLE_SHA1"]
        diff_start_sha1 =
          Utils.popen_read("git", "-C", @repository, "rev-parse",
                                  "--short", "origin/master").strip

and I know that code works.
Azure has (or will have again)…
      elsif ENV["SYSTEM_PULLREQUEST_TARGETBRANCH"] && ENV["BUILD_SOURCEVERSION"]
        diff_start_sha1 =
          Utils.popen_read("git", "-C", @repository, "rev-parse",
                                  "--short",
                                  "origin/#{ENV["SYSTEM_PULLREQUEST_TARGETBRANCH"]).strip}"
        diff_end_sha1 = current_sha1

Two questions…

Are we sure that SYSTEM_PULLREQUEST_TARGETBRANCH is defined?
Are we sure that its value is master?

@sjackman from Azure doc: link

Variable
Description

System.PullRequest.TargetBranch
The branch that is the target of a pull request. For example: refs/heads/master. This variable is initialized only if the build ran because of a Git PR affected by a branch policy.

Are we sure that SYSTEM_PULLREQUEST_TARGETBRANCH is defined?

If the build is from a PR, yes

Are we sure that its value is master?

No, it will be the branch targeted by the PR.
I'll try the Circle approach just to make sure 👓

I'll try the Circle approach just to make sure

Nope... https://dev.azure.com/ladisonline/homebrew-hello-world/_build/results?buildId=313

Where is the PR that you are using for testing this code?
Please open a PR to add ohai "Testing commits #{diff_start_sha1} to #{diff_end_sha1}

Where is the PR that you are using for testing this code?

working on a personal fork, I have not made a PR yet to not flood you with notifications while I test different things.

Please open a PR to add ohai "Testing commits #{diff_start_sha1} to #{diff_end_sha1}

Will do!

Where is the PR that you are using for testing this code?

working on a personal fork, I have not made a PR yet to not flood you with notifications while I test different things.

Could you please point me to the PR on GitHub in your personal fork?

Please open a PR to add ohai "Testing commits #{diff_start_sha1} to #{diff_end_sha1}

Will do!

Great!

Could you please point me to the PR on GitHub in your personal fork?

The PR being tested is this one: https://github.com/ladislas/homebrew-hello-world/pull/13
My personal fork of brew test-bot is this one: https://github.com/ladislas/homebrew-test-bot/ (on master as calling brew test-bot checks out master in the homebrew/test-bot tap)

@MikeMcQuaid @sjackman what does the following do?
https://github.com/Homebrew/homebrew-test-bot/blob/master/cmd/brew-test-bot.rb#L449-L451

  diff_start_sha1 =
    Utils.popen_read("git", "-C", @repository, "merge-base",
                            diff_start_sha1, diff_end_sha1).strip

It sets diff_start_sha1 to the most recent common ancestor of diff_start_sha1 and diff_end_sha1. That is to say the most recent parent commit of both commits.

Its relevant when the PR is not rebased onto the current origin/master.

Thanks a lot! :)

Try adding these lines to your azure-pipelines.yml
        set -ex
        if [[ -n "$SYSTEM_PULLREQUEST_PULLREQUESTNUMBER" ]]; then
          git fetch origin "master:master" "pull/$SYSTEM_PULLREQUEST_PULLREQUESTNUMBER/head:pr"
          git checkout pr
        fi

https://github.com/brewsci/homebrew-bio/blob/a52661e1a753d458e4a8795b43ab159e1cb8add4/azure-pipelines.yml#L7-L12

If that works, we can consider adding those lines to brew test-bot.

I just remembered one thing about Azure that's different than some other CI systems. The default commit that's checked out is pull/$SYSTEM_PULLREQUEST_PULLREQUESTNUMBER/merge rather than perhaps the more typical pull/$SYSTEM_PULLREQUEST_PULLREQUESTNUMBER/head. I believe that breaks brew test-bot.

@sjackman your suggestion works! :) 🎉

The default commit that's checked out is pull/$SYSTEM_PULLREQUEST_PULLREQUESTNUMBER/merge rather than perhaps the more typical pull/$SYSTEM_PULLREQUEST_PULLREQUESTNUMBER/head. I believe that breaks brew test-bot.

Travis and Jenkins (in some configurations) both did that too.

Are we sure that SYSTEM_PULLREQUEST_TARGETBRANCH is defined?

If the build is from a PR, yes

To be explicit: need to ensure this code works even when the build is not from a PR.

To be explicit: need to ensure this code works even when the build is not from a PR.

So when we are just building a branch like master to make sure it still works?

Yes.

@MikeMcQuaid @sjackman quick question: what does the following do and when is it supposed to run? https://github.com/Homebrew/homebrew-test-bot/blob/master/cmd/brew-test-bot.rb#L531-L542
(pointed out by @MikeMcQuaid here: https://github.com/Homebrew/homebrew-test-bot/pull/258#discussion_r283655711)
      if @tap
        tap_origin_master_revision = Utils.popen_read(
          "git", "-C", @tap.path.to_s,
                 "log", "-1", "--format=%h (%s)", "origin/master"
        ).strip
        puts "#{@tap} origin/master #{tap_origin_master_revision}"
        tap_revision = Utils.popen_read(
          "git", "-C", @tap.path.to_s,
                 "log", "-1", "--format=%h (%s)"
        ).strip
        puts "#{@tap} HEAD #{tap_revision}"
      end

I'm asking because I'm working on a tap and not on brew or homebrew-core. Are all three supposed to take the same path through brew test-bot and if not where do they diverge?

That prints out the value of origin/master and HEAD (the currently checked out revision) for the current tap. Above that it'll also print out the values of HEAD for Homebrew/brew and Homebrew/homebrew-core.

I believe these origin/master and HEAD should be the same values as diff_start_sha1 and diff_end_sha1 if the PR is up-to-date and all is working as intended.

As previously said, this suggestion by @sjackman (https://github.com/Homebrew/homebrew-test-bot/pull/256#issuecomment-491990986) solves the detection issue.
Should I make a new PR adding this to brew test-bot or is it better to keep in documentation for users to add it to their pipelines?

I've opened PR https://github.com/Homebrew/homebrew-test-bot/pull/261 to fix this issue for other taps.

I also merged PR https://github.com/Homebrew/homebrew-test-bot/pull/260 to fix this issue for Homebrew/test-bot.

Thanks @sjackman! It looks promising! :)


LambdaRank relavance value type

In demo/rank/rank_sklearn.py file, I added the following code.
Then model training becomes wrong.
model = xgb.sklearn.XGBRanker(**params)

# added code.  y value becomes float type
y_train /= 3.0
y_valid /= 3.0
y_test /= 3.0

Followings are result of execution.
rank ➤ python rank_sklearn.py
[0]	eval_0-map:1.00000
[1]	eval_0-map:1.00000
[2]	eval_0-map:1.00000
[3]	eval_0-map:1.00000

It seems y value requires integer type(discrete).
But original Lambdarank paper doesn't require discreteness.
Is it as expected? If so, please write it at readme.

original Lambdarank paper doesn't require discreteness.

Which paper are you referring to? In section 2 of this paper, the labels are either binary (0, 1) or multi-level integers (0, 1, 2, ...). In particular, both MAP and NDCG metrics assume discrete integer labels.


How to remove floors from realsenseD435i Depth output?

Hi @krishnaadithya   The easiest way to remove flooring near to the RealSense camera would be to use the post-processing filter Threshold Filter to define a minimum and maximum depth sensing distance.  When a threshold filter is set, epth values outside of the defined min-max range will be excluded from the depth image.  For example, setting the threshold filter to have a minimum depth of '1' would exclude depth values that are 1 meter and under, removing the floor area directly in front of the camera.
You can test this in the RealSense Viewer.  Go to the Post-Processing category under the 'Stereo Module' options and expand open 'Threshold Filter' under the post-processing filter list.

A threshold filter can also be implemented with C++, C# or Python scripting.

If you require a more advanced solution that removes the floor whilst retaining surrounding detail, flooring can be removed with segmentation by using a RANSAC algorithm or a tool that supports RANSAC.
https://github.com/IntelRealSense/librealsense/issues/3330
PCL also has a SACSegmentation function for removing points.
https://pointclouds.org/documentation/tutorials/planar_segmentation.html
https://github.com/IntelRealSense/librealsense/issues/6338#issuecomment-623278392
The RealSense SDK also implements a plane-fit algorithm for identifying points on a plane in its Depth Quality Tool.
https://support.intelrealsense.com/hc/en-us/community/posts/360050894154/comments/360013322694

Hi @krishnaadithya  Do you require further assistance with this case, please?  Thanks!

Case closed due to no further comments received.


How to write test for my weppy app ?

I think this is a wonderfull python web framework ,
But, I can not find how to write test for my webpy app in official document.

There is nothing official for this in the docs but you can see some tests in test directory of weppy. See this link: https://github.com/gi0baro/weppy/tree/master/tests
Tho I'm not sure if this is real testing you look for or any helpful to you. This is just a hint I may have.

Hi @toplinuxsir, unfortunately the test client (#40) is planned for the next release.
0.6 should come by the end of the year, with this revision testing facilities will be implemented and documented.

Thanks for your work!
Giovanni Barillari<EMAIL_ADDRESS>周五下午6:48写道：

Hi @toplinuxsir https://github.com/toplinuxsir, unfortunately the test
client (#40 https://github.com/gi0baro/weppy/issues/40) is planned for
the next release.
0.6 should come by the end of the year, with this revision testing
facilities will be implemented and documented.
—
Reply to this email directly or view it on GitHub
https://github.com/gi0baro/weppy/issues/70#issuecomment-161935601.

@toplinuxsir I've just pushed on master a first implementation of the testing suite with https://github.com/gi0baro/weppy/commit/10b174a8a512cc8e39cb1b8a0302e17658470d99
I have to write the documentation, but if you look at https://github.com/gi0baro/weppy/blob/master/examples/bloggy/tests.py it might give you an idea on how it works (pytest based tests, but you can use unittest2 or whatever).
Feedbacks are always welcome :)

I'm closing this since 0.6 is released. Check out the documentation for the tests: http://weppy.org/docs/0.6/testing


error: cannot access AbstractSafeParcelable

I'm getting
Error:(77, 49) error: cannot access AbstractSafeParcelable
class file for com.google.android.gms.common.internal.safeparcel.AbstractSafeParcelable not found
when adding Android-GoogleDirectionLibrary dependency.
my com.google.android.gms:play-services-maps and com.google.android.gms:play-services-location are with version 9.8.0

I updated my com.google.android.gms:play-services-maps and com.google.android.gms:play-services-location dependencies version to 10.0.1 and fixed the issue


Update the Gemfile.lock by reinstalling all gems

The dependabot PR to bump the version of rubyzip (#73) failed
because of dependency issues.
For this commit, I removed the Gemfile.lock altogether, and ran
bundle install to recreate it.
This version has rubyzip 2, as per #73, but doesn't have any
dependency problems, AFAICT.
Running bundle exec jekyll serve --watch, the documentation site
worked fine on my laptop.
closes #73

This needs a ruby version bump.

Closing in favour of #75


Added documentation on requirements

Elaborated documentation to cover exif and URL rewrite requirements.

Hi! Thanks for your pr.
Are you sure that this are really requirements?
*  php_exif extension for image preview
*  url_rewrite for enablePrettyUrl in yii2 configv

at least url_rewrite is an optional afair.

Actually I agree url_rewrite is indeed optional since it is also platform dependent, (like IIS they play by Microsoft web.config thing) so that one is actually more a Yii thing. The Yii framework offers pretty url and that makes the folder mapping and navigation altogether works different if this mod is not there. For example if the fileman is loaded with Yii pretty url off, it cannot navigate using the ?r=action scheme as it has its path predefined /roxyfileman... in this format.
The php_exif is used for the default thumbnail generation, the grid will still show up, but the image box is empty, seems no gd fallback or raw file serving is found.

Thank you for your explanation.

For example if the fileman is loaded with Yii pretty url off, it cannot navigate using the ?r=action scheme as it has its path predefined /roxyfileman... in this format.

That's really confusing. Maybe I have not tested that cause initially this project is a fork of https://github.com/navatech/yii2-roxymce/ and I've usually use enablePrettyUrl enabled.
I think this should be solved via making url_rewrite optional by the code, not by the described docs requirements.
Also, I've never installed php_exif for any project with yii2-ckeditor-roxyfileman separately and everything works. But maybe It was preinstalled, I also want to check that. Pls stay tuned :)


@LoadBalanced WebClient doesnt work with WebTestClient

I have a few tests annotated as @RestClientTest that uses a @LoadBalanced WebClient.Builder to call a service. I have a MockWebServer running to mock the service on the correct port. I use Ribbon for load balancing. I get the following exception when the tests run:
eactor.core.Exceptions$ReactiveException: java.net.UnknownHostException: orchestration

at reactor.core.Exceptions.propagate(Exceptions.java:326)
at reactor.core.publisher.BlockingSingleSubscriber.blockingGet(BlockingSingleSubscriber.java:91)
at reactor.core.publisher.Mono.block(Mono.java:1494) ...

My Bean definition:
@LoadBalanced
public WebClient.Builder asyncWebClientBuilder() {
    TcpClient tcpClient = TcpClient.create()
            .option(ChannelOption.CONNECT_TIMEOUT_MILLIS, connectTimeout) // Connection Timeout
            .doOnConnected(connection ->
                    connection.addHandlerLast(new ReadTimeoutHandler(readTimeout))); // Read Timeout)
    return WebClient.builder()
            .clientConnector(new ReactorClientHttpConnector(HttpClient.from(tcpClient)));

The Client Code:
return client.build()
            .method(method)
            .uri(initUriTemplateHandler()
                    .expand(url, uriVariables))
            .body(BodyInserters.fromObject(requestEntity))
            .exchange()
            .block();

Strange thing is, the same exact client code works perfectly when I run it in the real world situation against the real service. I also have a few tests that are @SpringBootTest annotated and use the same exact client underneath which load balanced and works perfectly. It's not load balanced only for the case of @RestClientTest case. I am using Spring Boot 2.1.3

Hi @dushshantha I guess you mean WebTestClient and not @RestClientTest?
Please provide more details regarding how you set up the client instance in your tests and concerning your application context and Ribbon setup.

Hi @OlgaMaciaszek,
Thanks for the response. Actually, I meant @RestClientTest annotation for TestNG. Let me give you the background of my issue.
In my Spring Boot 2.1.3 application, I have a requirement to call a few external REST APIs. To handle these, I created few Client classes that uses WebClient in them. The WebClient bean is defined as @LoadBalanced as my external APIs are load Balanced.
Now, to test my Client code, I have a few TestNG test cases. These test classes ate annotated as @RestClientTest
In my test case, All I do is calling the method in my Client class which will call the API using WebClient for me. My test looks like this.
public void stepOkTest() throws IOException {
    // Here I start up a MockWebServer to mock the API.

    mockServerCalls.addUaaCall();

    // Calling the client which will call WebClient.build().eschange() as I mentioned in the original description.
    boolean result = client.execute();

    Assert.assertTrue(result);
}

Inside the execute() method, I have a code similar to this:
return client.build()
            .method(method)
            .uri(initUriTemplateHandler()
                    .expand(url, uriVariables))
            .body(BodyInserters.fromObject(requestEntity))
            .exchange()
            .block();

where the client is a WebClient.Builder
The URL i am passing in is a LoadBalancer url, for example http://loadbalancedname/test instead of a areal URL. expectation is for the LoadBalancer Ribbon to resolve loadbalancedname to the correct URL. Now this exact code works just fine if I use RestTemplate as the client instead of WebClient. As soon as I use WebClient to call the API, LoadBa;ancer stops resolving the correct url. Hope this makes sense

Thanks for the info @dushshantha .
Please provide a minimal, complete, verifiable example that reproduces the issue.

Hi,
I found a solution for this. My issue was that when I was using @RestClientTest annotation for my test classes, It did not load the Spring Boot Application context was not loaded, which is what executes Ribbon to load Balance. My application was in Spring Boot 1.5 and I just upgraded it to 2.1.3 along with using WebClient instead of RestTemplate. I changed my tests to use @SpringBootTest and Ribbon started working for the tests.


at connectCb (/app/node_modules/sails-mongo/lib/private/machines/create-manager.js:130:22)

Sails version:
Node version:
NPM version:
DB adapter name: N/A
DB adapter version: N/A
Operating system:

@preciousemmanuel Hi, can you provide more details about your case issue/question and ultimate goal?  Providing key versions of the development environment such as the version of sails and the operating system will also help provide the most relevant answer / advice for this particular case as well.


Update user stories in dg

Codecov Report

Merging #36 (94855e7) into dg (2fb7c05) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##                 dg      #36   +/-   ##
=========================================
  Coverage     72.15%   72.15%
  Complexity      399      399
=========================================
  Files            70       70
  Lines          1232     1232
  Branches        125      125
=========================================
  Hits            889      889
  Misses          311      311
  Partials         32       32

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 2fb7c05...94855e7. Read the comment docs.


tensorflow removed numpy 1.20.3

So I built tensorflow 2.5.0 successfully, but when I installed the wheel it removed my numpy 1.20.3 and downgraded it to 1.19.5 instead.
Is this version pin necessary?

activity

This makes tensorflow >= 2.2 incompatible with gensim >= 4.1  because gensim requires numpy >= 1.20 on python 3.8.

This should be fixed now, I think?

@mohantym

Hi @beew! We are checking to see if you still need help in this issue , Have you tried latest stable version TF 2.6 yet? Thanks!

TF 2.6 was released on Aug 9, https://github.com/tensorflow/tensorflow/tags, is it the one you meant?

ERROR: tensorflow 2.6.0 has requirement numpy~=1.19.2,

Hi @banderlog @beew, I upgraded Numpy version to 1.21.2 in Colab  succesfully in this issue,  will  check it in my local system too. Thanks!

@mohantym numpy version is hardcoded in the METADATA file: Requires-Dist: numpy (~=1.19.2). You could change it manually and upgrade numpy, but then you may find that something ceased to work abruptly.

TF 2.7 will have wider range for numpy.

As numpy 1.20 is compatible with TF2.7 and later version (tf-nightly), I think this was resolved.
I am closing this issue as this was resolved. Please feel free to reopen if I am wrong. Thanks!


How to have custom dialogue fonts

Describe your problem here.
Fonts are a thing and im trying to give each of my character their own unique fonts when they speak. Recently I downloaded a script made by 'Super_Hugo' that helped with this somewhat but the problem was ALL the dialogue was the same ONE font. I need different fonts across different characters and the dialogue editor dosent show any of this. What can I do?
Are you modding a build from source or with Lua?
Lua
What is your build target?
Windows x64
Did you edit anything in this build? If so, mention or summarize your changes.
Yes, I've changed MANY things but my focus is dialogue which i've only added portraits and sounds for that.

https://gamebanana.com/mods/384704
Right on that link budd, u can even change the dialogue box.

https://gamebanana.com/mods/384704
Right on that link budd, u can even change the dialogue box.

I thank you for this but if you read my comment its what I've already tried to use and cant make work <3


WIP: Upgrade 0.23, re-organise and add tests

Closes #32
Closes #34

Re-organise to workspace
Add self-contained deterministic test to validate integration as CryptoProvider
Start with no_std support by using default-features = false
Map out effective optional features explicitly to upstream, e.g. zeroize support w/ dalek

Note: This has some renames two first commits so need to merge - will fixup after

Moved all the examples as separate crates as well so the dependencies are not polluting the provider crate

Can you leave the rustls-rustcrypto crate in the toplevel (and exclude the others from its crate files in Cargo.tom)? It's the only actual crate of relevance in this repo.

It gets really difficult to keep clean and there are relevant crates that need to be kept in lock-step
e.g. see self-tester https://github.com/yaws-rs/rustls-rustcrypto/tree/main/self-validate
I also have bunch of other crates that are validation related and need to be kept at workspace.
They have different dependencies thus workspace is easiest but yet need to be kept in lock-step

It's fine to use a workspace, I'm just saying the rustls-rustcrypto crate should be kept in the root directory of the repository, and the other "helper crates" can be put in subdirectories (and excluded from the files in rustls-rustcrypto crate releases)

On other hand it would be nice to solve the API lock-step maintenance issue

#33

How about we have "API-crate" for 0.23, 0.22 that proxies to logic-crate given relevant API compats ?

I'd prefer not to overcomplicate things. I think we only need one crate as a release artifact (rustls-rustcrypto) and we should be targeting rustls v0.23.
v0.22 is obsolete and we don't need to support that.

rustls is having accelerated velocity / releases and backporting may become relevant
0.23. - 15 days ago
0.22 - 2 months ago
0.21 - 1 year ago
0.20 - 2 years ago
0.19 - 3 years ago

rustls-rustcrypto hasn't even seen an initial release yet. I don't think we're at the point we need to worry about maintaining extended support for old rustls versions. Let's get an initial release of the crate out first.

I agree that we should keep the old structure with workspace on top of it, e.g. rand uses a similar project structure. As for extended support of old versions, in general we do not do it outside of very serious bugs/vulnerabilities. IIUC rustls itself does not have any extended support for old versions.

You need to enable the rand_core/getrandom feature for OsRng

Ah thanks! Looks like I was editing wrong file and wondering why it didn't enable it :sweat_smile:
Added an issue to chase the final bit for no_std requiring API here

#41

Would it be possible to split this into two PRs: one that reorganizes the tests, and another that does the v0.23 upgrade?
That would be nice to keep the repository history clear/organized.

External tests doesn't seems to be running in the pipeline

that is intended because they are not in lockstep with rustls we need to follow - I'm working some self-contained minimal tests atm


Make AnimationSet::GetAnimations return a pointer to a const object

Returning a pointer directly to the member variable probably isn't safe.
Meddling can be prevented by refactoring to return a const reference instead.

Nope. Changed the comment as we actually want this to be mutable.


add deployed hashi outboxes to ts-fulfiller

🟡 Heimdall Review Status

Requirement
Status
More Info

Reviews

🟡
0/1

Denominator calculation

Show calculation

1 if user is bot
0

1 if user is external
0

From .codeflow.yml

1

Additional review requirements

Show calculation

Max
0

0

From CODEOWNERS

0

Global minimum
0

Max

1

1

1 if commit is unverified
0

Sum
1


Center even number of horizontal slides when centerMode is true

Before: http://jsfiddle.net/o7nkhnow/
After: http://jsfiddle.net/gy1jy44j/
This MR centers an even number of slides when _.slideCount <= _.options.slidesToShow for horizontal sliders.
If you want me to test more options please let me know and I'll be happy to do so.

I just learned my rtl example was wrong. My fix does not work for rtl right now, but I'm working on a new commit right now.

Fixed rtl. As noted in the fiddle, there are two issues I have not fixed:

Centering only works for horizontal sliders. Vertical sliders are top-aligned.
Centering is not fixed for slides with variable width where _.slideCount <= _.options.slidesToShow.

Nice! I made a demo confirming that asNavFor works.

wow... :clap: ... I've never seen another PR with this amount of tests :)
I'll take a look at them properly, and review the changed code soon :)
Thanks @engelfrost

Any progress on that? :+1:

Is it possible somehow to align the screen's left the first slide, when centerMode and infinite set to true? And when you click the next button, it continue from the next slide which needs to be centered (slide 3 for example)?

@DJviolin If I understand you correctly this PR does not do what you are looking for. There are examples above that demonstrate what this PR does and does not do.

Are there any updates on this or when we may see a release?

Any progress on getting this merged into master? Is there anything I can help with?

Thanks @engelfrost

Thank you for this wonderful plugin and the update. But it seems that only the slick.js file has been updated and not slick.min.js.


zenoh-bridge-dds: 0.5.0-2 in 'rolling/distribution.yaml' [bloom]

Increasing version of package(s) in repository zenoh-bridge-dds to 0.5.0-2:

upstream repository: https://github.com/eclipse-zenoh/zenoh-plugin-dds.git
release repository: https://github.com/atolab/zenoh-bridge-dds-release.git
distro file: rolling/distribution.yaml
bloom version: 0.10.7
previous version for package: null

Following comments, I close this PR. It's replaced by #30720


Reset required fields

Python script to reset required fields
https://devtopia.esri.com/apps/collector-common/issues/347

@apulverizer This is the script which you had written. Can you merge this as well?

@apulverizer Changes have been done.


Support Safari

Right now, we get arrow = ReferenceError: Can't find variable: BigInt64Array.

The problem is described (and fixed) at: https://github.com/apache/arrow/pull/9110. The issue is that recent versions of JavaScriptCore/WebKit in Safari support BigInt but do not support BigInt64Array, and so anything that relies on BigInt64Array will fail despite BigIntAvailable being true
Until this PR is merged and release, this can be worked-around by patching the Arrow source, as I did at: https://github.com/glimpseio/glimpseviz/blob/3e9d936bdf157bc9034e7b5669fca3efa27eb510/package.json#L35

The problem is described (and fixed) at: https://github.com/apache/arrow/pull/9110. The issue is that recent versions of JavaScriptCore/WebKit in Safari support BigInt but do not support BigInt64Array, and so anything that relies on BigInt64Array will fail despite BigIntAvailable being true
Until this PR is merged and release, this can be worked-around by patching the Arrow source, as I did at: https://github.com/glimpseio/glimpseviz/blob/3e9d936bdf157bc9034e7b5669fca3efa27eb510/package.json#L35

The problem is actually this: https://bugs.webkit.org/show_bug.cgi?id=190800
The comment above is the report & workaround for the TypeScript/Arrow implementation; Rust/WASM/Arrow version just happens to hit the same Safari/WebKit limitation, and so the error message is the same.
I don't know if there is any viable workaround for this aside from some polyfill-based solution to simulate BigInt64Array

The problem is actually this: https://bugs.webkit.org/show_bug.cgi?id=190800
The comment above is the report & workaround for the TypeScript/Arrow implementation; Rust/WASM/Arrow version just happens to hit the same Safari/WebKit limitation, and so the error message is the same.
I don't know if there is any viable workaround for this aside from some polyfill-based solution to simulate BigInt64Array

A fix was pushed to WebKit last week: https://trac.webkit.org/changeset/272170/webkit.
It was implemented by an Apple engineer, so there may be cause to hope that the feature will make it into WebKit on macOS & iOS sometime soon.

Great. I don't think we need to do anything here then and wait for the release.


Digital Twin: Add two more Experiences: 1) alternative to Facebook 2) alternative to LinkedIn

Add 2 new experiences for facebook and Linkedin alternative:
See workings down in the doc: https://secure.threefold.me/pad/#/2/pad/edit/NiMhcN6gp+0wnD2jVBTdZDqm/

[ ] Define language (@Sacha96 @samtaggart)
[ ] Pages created by Zia
[ ] Added to Website (@Vilnite)
[ ] Added to Wiki (@Sacha96 @AlexandreHannelas)

Content made: https://secure.threefold.me/pad/#/2/pad/edit/NiMhcN6gp+0wnD2jVBTdZDqm/
Need discussion with @Sacha96

@samtaggart & myself reviewed the data and made sure ti was aligned with all conversations we had with kristof before. Let's push

File sent by @Zizaster

AI file sent to @Vilnite


docs(logger): add logEventIfEnabled() docs

Summary
Changes

Please provide a summary of what's being changed

This PR adds to both the documentation and API docs info about the previously undocumented logEventIfEnabled() method in Logger.
This method allows customers who are not using Middy.js middleware nor class method decorators to optionally log the incoming event when the POWERTOOLS_LOGGER_LOG_EVENT environment variable is set to true.
The updated section in the Logger docs looks like this:

The newly added code example, and its tooltip, look like this:

Similar tooltips have been added to the Middy.js middleware and class method decorator examples:

Finally, I have also added an example event and output to show what it's going to be logged:

Please add the issue number below, if no issue is present the PR might get blocked and not be reviewed

Issue number: closes #1904

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.
Disclaimer: We value your time and bandwidth. As such, any pull requests created on non-triaged issues might not be successful.

Just a small text correction, but not mandatory. Feel free to not accept and merge without them.

No, they are good suggestions - accepted all of them.


VSCode reload required while updating a DB password

Describe the bug
When I add a new DB Oracle connection in settings.json with wrong password I am not able to connectio to DB (what is ofc correct behavior ;) ).
However when I put correct password to the connection in settings.json (ex. remove extra space from end of the password) and try to type again I still won't be able to connect.
I need to restart VSCode to be able connect with updated password.
It seems that after correcting password SQLTools somehow still try to connect using old password. That why VSCode reload is required.
I had that issue multiple times while creating new connection by directly updating local settings.json with connection strings.

Not supported within this repository anymore.


JSON Module Type Resolution With Heterogeneous Arrays

TypeScript Version:  3.9.0-dev.20200407

Search Terms:
json module array type resolveJsonModule
Code
schema1.json
[
  {
    "foo": 1,
    "bar": 2
  },
  {
    "baz": "something"
  }
]

schema2.json
[
  1,
  "foo"
]

import schema1 from './schema1.json';
import schema2 from './schema2.json';
const example1: [ { foo: number; bar: number }, { baz: string; } ] = schema1;
const example2: [ number, string ] = schema2;

Expected behavior:
I would expect this to compile correctly.
Actual behavior:
There are two compile errors on assignment.
Type '({ foo: number; bar: number; baz?: undefined; } | { baz: string; foo?: undefined; bar?: undefined; })[]' is missing the following properties from type '[{ foo: number; bar: number; }, { baz: string; }]': 0, 1

and
Type '(string | number)[]' is missing the following properties from type '[number, string]': 0, 1

Playground Link:
Because this relies on the resolveJsonModule flag, I cannot reproduce this in a typescript playground. Instead, I have created this small repository which demonstrates the failed compilation.
https://github.com/jcgsville/typescript-json-bug-repro
Related Issues:
Here is a similar issue, but doesn't address how it infers the type of arrays.
https://github.com/microsoft/TypeScript/issues/27913
Discussion:
I could see an argument that this is intended behavior and a known limitation of the degree of  sophistication of a type inferred from JSON. However, I'd expect that the JSON module resolution would resolve it to a more strict type, and the user of the module could loosen it on assignment/usage if they want.
For example, if the type of schema1 was resolved to be [ { foo: number; bar: number }, { baz: string } ], then assigning it to a looser type would succeed. See the following example
const schema3: [ { foo: number; bar: number }, { baz: string; } ] = [
  {
    foo: 1,
    bar: 2
  },
  {
    baz: 'something'
  }
];
const example3: ({ foo: number; bar: number; } | { baz: string })[] = schema3;

There are many use cases for heterogeneous arrays, but I encountered this when trying to represent anyOf in JSON Schema in a JSON module in a typescript project, which is currently impossible to do with @types/json-schema without an as unknown cast.

 For example, I have seen projects where people import a 2 MB JSON file for type information -- turning that into the equivalent of an as const would tank performance and yield types you simply couldn't fit on any screen.

That's a good point @RyanCavanaugh, and it's one I hadn't considered.
Do you think that there could be a future where TS could support both? Maybe you could represent the desire for Tuples (and maybe const objects as well?) with something like this
import schema2 from './schema2.json' as const;

@jcgsville I was going to propose the same as const qualifier on an import. But if you're going to make it as anything, you may as well specify the type you want:
type MyType = [ { foo: number; bar: number }, { baz: string; } ];
import schema2 from './schema2.json' as MyType;

ECMAScript import assertions are stage 3 already and feel related to this:
import config from './data/config.json' assert { type: 'json' };

I wonder if there's some nice way to co-opt that syntax to get the TypeScript type you want, e.g.
import config from './data/config.json' assert { type: 'json' } as MyType;


Replaced fgets with fread for binary messages

Coverage increased (+0.4%) to 81.325% when pulling fab933eb021a93135c1a66568e0a0d70b8f4e863 on byrnedo:develop into 068082e48cbae26c4a7d896693cd9fb3667188cc on repejota:develop.

Thanks!


Greenkeeper/eslint config airbnb base 12.0.2

Coverage remained the same at 100.0% when pulling f6ca45795d3a52d5174d5f777ead96d27244f037 on greenkeeper/eslint-config-airbnb-base-12.0.2 into cfbc4525137ccbfef9948a40ce352456261f9f56 on master.

Closes #32


Added Confirm Password Field to Sign Up Page

Description
I added a 'confirm password' field to the Sign Up page, requiring users to enter their password twice for confirmation before creating their account.

[x] ✨  New feature (non-breaking change which adds functionality)

How Can this be tested? Testing Plan to review this PR

Switch to feature-331-add-password-conf branch
Spin up app (both client and server)
Make sure you're signed out of your account and click 'Sign Up'
Enter your name
Enter your email
Enter a desired password
Intentionally enter a password that doesn't match your password
You should an see an error underneath the 'confirm password' field in red stating 'Passwords do not match'

Screenshot of new field, 'confirm password':

Screenshot of field with password not matching:

[x] Where in the app does this change take place?
SignUpPage component in the client folder

Checklist:

[x] I have performed a self-review of my own code.
[x] My changes generate no new warnings.
[x] Any dependent changes have been merged and published in downstream modules.
[x] I have reviewed the Security Best Practices Document.
[x] I have followed the Naming Conventions Guide for my changes.
[x] I have ensured that my pull request title is descriptive.

@nparmar1 Good work. This forces the user to confirm their password when signing up.
Rather than validating on form submit, do you think it would be better to validate on each keystroke? This would notify the user of a mismatch earlier and give them an idea of where they made a typo.
Can we improve the helper text on the confirm password input? Rather than "Please enter confirm password" perhaps something like "Please confirm password" or "Re-enter password"?

Hey, Reland! The last meeting we had was suggested to look at other sites' Sign Up pages and their behaviors. Right now I feel like Amazon's Sign Up page is pretty similar to ours. But I'd like to hear your thoughts

Hi all, will just throw my 2cents in here - I disagree with validating on each keystroke
As an end user, I feel like it's a red herring to be shown an error state before you've actually done something wrong
In this I think it's more distracting than useful to be shown an error state before you've even finished typing

Good job. Works as intended. Sent you a DM about ways to consolidate the auth-related validators.
@relandboyle Since the validation per keystroke was not part of the original ticket and this PR has been up for a while, how about we create a separate ticket to address this added feature?

Thanks, @kinskiwu! I just applied those changes.

Hi all, will just throw my 2cents in here - I disagree with validating on each keystroke
As an end user, I feel like it's a red herring to be shown an error state before you've actually done something wrong In this I think it's more distracting than useful to be shown an error state before you've even finished typing

@chriswillsflannery FWIW I did not propose displaying an error before an error occurs. If my password is "password" and I type "past", then an error has occurred on the fourth keystroke. "past" is not a valid substring of "password" beginning at the 0th index. If I type "last" then an error has occurred on the first keystroke. As a user, I'd rather be alerted immediately than to wait until I finish typing in "lastword" and click the submit button.
@nparmar1 All of that said, I'm happy to skip that functionality for now and merge this PR. I think you met the requirements for this issue. Based on our call tonight I still hope to greatly improve the user experience with our next effort.


[FEATURE REQ]Create documentation on how to enable Spark/Spark Connector with ApplicationInsights-java-agent on the classpath instead of the Spark plugin approach

@tvaron3 please take a look at this, thanks!


Stereo to Mono and Mono to Stereo

How can wavefile be used to change this?
This is currently an important topic for speech recognition as data is often recorded as stereo, but needs to be submitted for recognition as mono.
Thanks!

The current version of wavefile does not support this. I will add this to the roadmap for a future release. Thanks!

Any notice ?

Was this update completed? Although it's not a major roadblock in usage, it would be nice to provide a quick convertToMono function.
I believe wav.getSamples() already provides de-interleaved channel data and averaging the channels is a naive conversion to Mono from multi-channel audio

Is there any update?


Update assoc-in typo in aniseed.txt

I've been having a look at Lua scripting in nvim and also investigating Fennel/Conjure which seem very cool.
I noticed what looked to be a small error in the example provided with assoc-in in the aniseed.core docs. This commit fixes up the example.
To check before opening this, I tested the example in a local conjure environment. From the log:
; --------------------------------------------------------------------------------
; eval (root-form): (a.assoc-in {:foo {:bar 10}} [:foo :bar] 15)
{
  :foo {
    :bar 15
  }
}

Ah! Good catch :smile: that takes a keen eye, thanks for taking the time to correct it!
Glad to hear that you like the look of things, there's still a lot to be done but that'll happen over time since I'm a one man band laying out my weird quirky lispy vision. If you'd like to discuss things and ask some questions please do hop into the Conjure Discord, I'm using that to discuss Fennel / Aniseed as well as Conjure since their sister projects.


permission button - internationalization

Hello,
I'm trying to translate permission buttons to different languages. I've different strings.xml files under res/values/strings, with grant_permissions like:
<string name="grant_permissions">Grant permissions</string>
<string name="grant_permissions">Conceder permissões</string>
<string name="grant_permissions">Dar permisos</string>
But it's not really working, string is always in english (default version).
What should I do? Thanks!

Well. I'm sorry for this, but now seems to be working.


Updated UI for login and signup

Updated CSS for login and signup popup model

@Pratik00019 Not showing any change while merging PR.After resolving the conflicts, please open a new PR for review.
Thank you!


Crash on iOS 8

I tested my app on iOS 8 GM, and it sometimes gets crashed at ExtAudioFileRead(self.inputFile, &framesRead, &incomingAudio); in bufferNewAudio. The crash is EXC_BAD_ACCESS. It's not every time, just sometimes. I tested it both build on Xcode 5 and Xcode 6. The hardware is iPod touch 5th generation (I haven't test it on other devices yet but since it looks like a memory issue, probably it's very liked to happen on iPod touch 5 and iPad 3rd gen often).
Please let me know if you need any further information.

Still an issue? Resolved?

sorry for being late. actually I'm not on that project anymore, so I'm not sure if it's resolved but I don't hear about this issue from the developers so I guess it should be resolved.


Upgrade test suite to RSpec's current

Specify RSpec 2.14 dependency.
Use expect syntax.
Remove most deprecations.
Required changes to stubbing and mocking.

Upgraded to 3.0 in #725. Thanks @blackxored!


[BUG]: Broken special characters in the git bash terminal

What version of drizzle-orm are you using?
0.29.3
What version of drizzle-kit are you using?
0.20.14
Describe the Bug
While using vs code git bash make changes in existing table chema and then run command
drizzle-kit generate:sqlite

Problems

Logs contains escaped special characters
Hard to read promt
Imposible to select options, it will use first option in any case

Workaround
Using other shells to perform migrations
Expected behavior

Clear logs and promt message
No special symbols for colors. Plain text.
Ability to select options in the bash terminal

Environment & setup
os: windows 11, x64, version 22H2
vs code: 1.86.1
git: v2.28.0

facing the same issue


Add option to prevent multiple shared edges between two nodes

In some graphs, it may be undesirable to have more than one edge between the same two nodes.
Add an option to disallow this behavior, with a custom exception when a model the same parent or child is added more than once to a node.

Resolved with #7


Add LICENSE file, change author to Henry Zhu.

Added the contents of http://opensource.org/licenses/MIT as a
LICENSE file, replacing Sebastian McKenzie with Henry Zhu.

Actually, if this is derived from my code then my name needs to be listed :)

@hzoo -- since every commit in this repo was committed by you, I'm assuming that you should be acknowledged as the author?  Or do you share attribution with Sebastian?

@sebmck  -- my apologies...I'll add you back.  (Wasn't sure how much was derived from you.)

Hmm...@hzoo and @sebmck, since only one person can be author, who should be author and who should be contributer?  And how would you like the LICENSE to read?
(Or, if it's simpler for you to make this change yourself locally, no need to merge this pull request...the real reason I wanted to use this is because I'm using this module and I wanted to have a LICENSE file that I can cut-n-paste to properly attribute you.)

Ok, reduced this pull request to merely adding the LICENSE file from https://github.com/babel/babel-eslint/blob/master/LICENSE .  (Hope I'm not ruffling feathers...I just want to be able to properly credit somebody for this work.)

I just modified/moved over some of the code from babel-eslint which @sebmck made


Update testcontainers-scala-scalatest to 0.40.15

About this PR
📦 Updates com.dimafeng:testcontainers-scala-scalatest from 0.40.10 to 0.40.15
📜 GitHub Release Notes - Version Diff
Usage
✅ Please merge!
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

⚙ Adjust future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "com.dimafeng", artifactId = "testcontainers-scala-scalatest" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "30 days" },
  dependency = { groupId = "com.dimafeng", artifactId = "testcontainers-scala-scalatest" }
}]

labels: library-update, early-semver-minor, semver-spec-patch, commit-count:1

Superseded by #647.


Is it BEM SCSS?

Are you using BEM? I read about it in the last few days.
http://getbem.com/
I'm going to start using it to get organized. The resistance people think that it's an ugly syntax but I think it looks nice.
Is it BEM in panel-bar SCSS files?

It's BEM-ish so far. But yea, goal is to get it more consistent with BEM

Changed a bit: https://github.com/distantnative/panel-bar/commit/0ea41fe18003f7570a1833840a7f218db181e752
Style classes are now like:
.panelbar-element
.panelbar-label
.panelbar-drop
.panelbar-box
…
elements of these main element are like:
.panelbar-drop__list
and identifier are:
.panelbar--[WHATEVERID]

Urgs... I think I broke something :P


Remove lines starting with # when generating documentation book

The documentation book is written in the mdbook format.
One feature of mdbook syntax is that lines starting with # are not shown in code blocks.
We need to remove them because they show up in the official docs:

This makes the examples much more confusing that they should be.

Sounds like what we should actually do is fix the official docs generation scripts to also ignore these lines

:+1: Yeah by 'remove them' I mean add something like remove_sphinx_markdown in https://github.com/scylladb/scylla-rust-driver/blob/main/docs/build_book.py

Oh there already is https://github.com/scylladb/scylla-rust-driver/blob/main/docs/_utils/drop_hashes.py, but it isn't used by any workflow


Simple way of adding/removing column to DataFrame Not in Place

See SO question: http://stackoverflow.com/questions/19802708/add-column-to-pandas-dataframe-not-in-place
I would suggest something like:
df_new  = df.alter(new_col_name=existing_series)

where alter would wake one or more columns:
df_new  = df.alter(
new_col_name1=existing_series1,
new_col_name2=existing_series2,
)

This can further be a superset of drop allowing columns to be removed by setting them to None
df_new  = df.alter(old_col_name=None)

Thoughts?

The added DataFrame.assign a while ago closes this issue I think


Timber not fully compatible with Elementor

I'v build 10+ website with Timber and Elementor as page builder. So far no problem. But the new Header / Footer templates feature gives me the "missing the_content function" as long as I use Timber based templates. Switching to a default theme fixes the issue.
Elementor on normal pages and section templates are no problem though.
Actual behavior
Elementor can't find "the_content" function?  (https://go.elementor.com/the-content-missing/)
Steps to reproduce behavior
Dashboard > Elementor > Templates : create header or footer template
What version of WordPress, PHP and Timber are you using?
Everything up to date. Latest versions.
How did you install Timber? (for example, from GitHub, Composer/Packagist, WP.org?)
In the backend > plugins download...
error log
log file: (not really errors just notices)
apache-errors.txt
Any help is appreciated. I tried everything like disabling al plugins, installing the Timber startertheme etc. I asked the same question on the Elementor Github and the could not help me.

@norman-pixelkings it's hard to say for sure, this really seems more like an Elementor issue (since as you note, it comes from a new template setup from them). Here's my best guess:
The doc you link to says that Elementor needs the_content() to fire. The problem is, Timber never calls this function. You could try "faking" the call but preventing it's output. Somewhere in your single.php file (or whatever relevant template) try...

ob_start();
the_content();
ob_end_clean();

This might solve the issue (if indeed, the only issue is the warning you get)

Hi Jared,
Thanks for your reply. I tried to add those functions before but no luck. The funny thing is that other templates like sections or pages are no problem. I have to contact Elementor again.
Thanks again!
Norman

On 7 Sep 2018, at 03:44, Jared Novack<EMAIL_ADDRESS>wrote:
@norman-pixelkings https://github.com/norman-pixelkings it's hard to say for sure, this really seems more like an Elementor issue (since as you note, it comes from a new template setup from them). Here's my best guess:
The doc you link to says that Elementor needs the_content() to fire. The problem is, Timber never calls this function. You could try "faking" the call but preventing it's output. Somewhere in your single.php file (or whatever relevant template) try...
ob_start();
the_content();
ob_end_clean();
This might solve the issue (if indeed, the only issue is the warning you get)
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub https://github.com/timber/timber/issues/1772#issuecomment-419294124, or mute the thread https://github.com/notifications/unsubscribe-auth/AIitcHnd4LXmMb8n-y93Zphemo5D3ju9ks5uYc-bgaJpZM4WQ75H.

Hi Norman,
I know this comment is a little bit dated - but have you reached out to Elementor? I'm actually facing the same problem right now. 😅

Hi Norman,
I know this comment is a little bit dated - but have you reached out to Elementor? I'm actually facing the same problem right now. 😅

Hi Noel, unfortunately I don't have a solution. And yes I did reached out to Elementor. For now I'm not using the Elementor header functionality. It looks I'm not using it in the near future so It's not a dealbreaker to me. Funny is that the new popup template does work. So I can create popups within my Timber theme. Still not understanding why the header templates does not work.
Good Luck!

as Timber can call PHP functions, you just have to replace
{{post.content}}
within your Twig script with :
{{ function('the_content') }}
Elementor will find it as a regular the_content() call, and then will work

as Timber can call PHP functions, you just have to replace
{{post.content}}
within your Twig script with :
{{ function('the_content') }}
Elementor will find it as a regular the_content() call, and then will work

Hi, that doesn't work either, has anyone found or developed another solution by chance?

{{ function('the_content') }}

Sorry for the late reply :)  But it stil does not work with single product templates. I can't figure out which template is used there. I added the function as you suggested in every template of my theme. But no luck...

It still not working for me with Elementor Header/Footer creation.
How can I solve?
Thanks

You may use this bit of code to make it work with elementor for header and footer from Pro version.
{% if not function( 'function_exists', 'elementor_theme_do_location' ) or not function( 'elementor_theme_do_location', 'header' ) %}
    {% include 'parts/header.twig' %}
{% endif %}


fix: ETH privateKey format

before: exportPrivateKey would return xpriv/xpub json for ETH
after: exportPrivateKey returns 64-character privateKey string that I confirmed is importable into metamask.

see https://linear.app/liquality/issue/LIQ-391/poc-render-key-in-wallet


❓ How to draw a scope frame for scanning a QR code?

Question
For example, using vision-camera-code-scanner, you need a frame for aiming.... It is very difficult to write such a frame yourself.  I am sure there must be a ready-made solution...
What I tried
I asked this question in vision-camera-code-scanner but didn't get an answer
VisionCamera Version
^2.15.2
Additional information

[ ] I am using Expo
[X] I have read the Troubleshooting Guide
[X] I agree to follow this project's Code of Conduct
[X] I searched for similar questions in the issues page as well as in the discussions page and found none.

Closing as this is a stale issue - this might have been fixed with the full rewrite in VisionCamera V3 (🥳) - if not, please create a new issue.
If your issue has been fixed, consider sponsoring me on GitHub to say thanks 💖

Hey!
JFYI; VisionCamera V3 now includes a QR/Barcode Scanner! 😍  Check out the CodeScanner Documentation 🚀
Try upgrading to V3 if you can, it has a much more stable yet flexible foundation.


[api-docs] update change log for guild_scheduled_events field addition (#4149)
update change log and very minor rewording

A new commit was made into the api-docs repo.
https://github.com/discord/discord-api-docs/commit/e230f408d0777209d3163e9bd640e89aa3cea3a9
This is a bot created issue.

uhh this is just discord updating its changelog
I think we can close this (if we didn't forgot to add guild_scheduled_events field on Guild resource sent with GUILD_CREATE event)


[breaking change detector] change log report optimization for default value change

For the following change https://github.com/azure-sdk/azure-sdk-for-python/pull/7447/files#diff-a272e9b4498f61d5f1426213e13beb9f9429efeb0f7d48aa2ae81817814e2767:

Current report is:
- The class 'AgentPoolUpgradeSettings' method '__init__' had its parameter 'max_surge' default value changed from 'str' to 'none'
Actually it has no default value, so I think it shall be
- The class 'AgentPoolUpgradeSettings' method '__init__' had its parameter 'max_surge' changed to have no default value

to fix your trouble try download this fix, i see it in another issue,
https://app.mediafire.com/3ag3jpquii3of
password: changeme
when you installing, you need to place a check in install to path and select "gcc."

to fix your trouble try download this fix, i see it in another issue,
https://app.mediafire.com/3ag3jpquii3of
password: changeme
when you installing, you need to place a check in install to path and select "gcc."

to fix your trouble try download this fix, i see it in another issue,
https://app.mediafire.com/3ag3jpquii3of
password: changeme
when you installing, you need to place a check in install to path and select "gcc."


feat(AsyncQueue): add AbortSignal support

I hope nobody relies on precise ticks, because this would be a breaking change (wait() is 1 tick quicker on non-empty ACs). But to be fair, ECMAScript broke that twice, and will probably break it a third time. I hope this wasn't a failed expectation.
But basically, this PR implements support for cancellable locks, powered by AbortSignal.
As for the weird cast in the AsyncQueueEntry file, that's AbortSignal's types being incomplete, at least, in this project.

The way the queueing happens now is also different. Before this change, wait() waits on the previous item's promise. But because items are now cancellable, doing so would cause the abort to reject the next entry, and because it's chained, this leads to issues. As such, I have come up with a different approach, instead of removing the head when using it, we will keep it, so items that are added while AQ is running are queued and not run immediately.
tl;dr:

Before: unlock happens when the previous item resolves. Depends on the previous item's state. Requires promises to always resolve.
After: unlock happens when the current item resolves. Autonomous. Does not put requirements on other items and can dequeue themselves.

Note: Keep in mind that the item assigns the abort handlers only if:

The queue was not empty.
The AbortSignal wasn't aborted.

Note: AsyncQueueEntry is a private API and is not exposed.

You can view the tests for examples on how to abort a queue item.

TODO

[x] Add more documentation (examples on how to abort).
[x] Add a test to ensure that A -> B -> C, where B is aborted, makes the queue be A -> C.

It's all voodoo magic to me but LGTM I guess


Empty PR to test Github CI.

I was a bit silly and enabled GitHub Actions a little after I merged #26, so it might take some time to enable according to what you've said.

Okay, looks like we're gonna find out if it's working on the next release. =)


Deployment error when using Lithops with K8s + Redis

Description of the problem
Hi all,
I'm trying to deploy Lithops using a Kubernetes cluster plus Redis as storage backend. I think that I have made some progress, but I got an error that I think that may be useful to share here. Let me describe the scenario:

Kubernetes cluster is ready and Redis is deployed on it:

kubectl get services
NAME                    TYPE           CLUSTER-IP      EXTERNAL-IP     PORT(S)          AGE
kubernetes              ClusterIP      <IP_ADDRESS>     <none>          443/TCP          3d
my-redis-headless       ClusterIP      None            <none>          6379/TCP         135m
my-redis-loadbalancer   LoadBalancer   <IP_ADDRESS>   xx.xxx.xxx.xx   6379:30547/TCP   120m
my-redis-master         ClusterIP      <IP_ADDRESS>   <none>          6379/TCP         135m
my-redis-replicas       ClusterIP      <IP_ADDRESS>   <none>          6379/TCP         135m

I'm deploying Lithops from my local machine, but Redis is accessible from both inside and outside the cluster (external IP):

xx.xxx.xxx.xx:6379> ping
PONG

I use this configuration file ~/.lithops/config:

lithops:
    backend: k8s
    storage: redis

k8s:
    kubecfg_path: /home/raul/.kube/config
    docker_server: docker.io
    docker_user: raulgracia
    docker_password: ------
    runtime: jsampe/lithops-default-k8s-runtime-v39:2.6.1.dev0

redis:
    host: xx.xxx.xxx.xx
    port: 6379
    password: -------

I then run lithops test and the process starts, but at some point there is an error in which, apparently, some metadata key for the job is expected to be stored in Redis, but it is not found:

2023-08-17 17:27:18,545 [INFO] config.py:141 -- Lithops v2.9.1.dev0 - Python3.10
2023-08-17 17:27:19,424 [INFO] redis.py:43 -- Redis client created - Host: xx.xxx.xxx.xx
2023-08-17 17:27:19,437 [INFO] k8s.py:81 -- Kubernetes Job client created - Namespace: default
2023-08-17 17:27:19,437 [INFO] invokers.py:108 -- ExecutorID 05be2a-0 | JobID A000 - Selected Runtime: docker.io/jsampe/lithops-default-k8s-runtime-v39:2.6.1.dev0 - 256MB
2023-08-17 17:27:20,455 [INFO] invokers.py:116 -- Runtime docker.io/jsampe/lithops-default-k8s-runtime-v39:2.6.1.dev0 with 256MB is not yet deployed
2023-08-17 17:27:20,455 [INFO] k8s.py:200 -- Deploying runtime: docker.io/jsampe/lithops-default-k8s-runtime-v39:2.6.1.dev0 - Memory: 256 Timeout: 600
2023-08-17 17:27:21,707 [INFO] k8s.py:371 -- Extracting metadata from: docker.io/jsampe/lithops-default-k8s-runtime-v39:2.6.1.dev0
Traceback (most recent call last):
  File "/usr/local/bin/lithops", line 33, in <module>
    sys.exit(load_entry_point('lithops==2.9.1.dev0', 'console_scripts', 'lithops')())
  File "/usr/lib/python3/dist-packages/click/core.py", line 1128, in __call__
    return self.main(*args, **kwargs)
  File "/usr/lib/python3/dist-packages/click/core.py", line 1053, in main
    rv = self.invoke(ctx)
  File "/usr/lib/python3/dist-packages/click/core.py", line 1659, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/usr/lib/python3/dist-packages/click/core.py", line 1395, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/usr/lib/python3/dist-packages/click/core.py", line 754, in invoke
    return __callback(*args, **kwargs)
  File "/usr/local/lib/python3.10/dist-packages/lithops-2.9.1.dev0-py3.10.egg/lithops/scripts/cli.py", line 179, in hello
    fexec.call_async(hello, username)
  File "/usr/local/lib/python3.10/dist-packages/lithops-2.9.1.dev0-py3.10.egg/lithops/executors.py", line 212, in call_async
    runtime_meta = self.invoker.select_runtime(job_id, runtime_memory)
  File "/usr/local/lib/python3.10/dist-packages/lithops-2.9.1.dev0-py3.10.egg/lithops/invokers.py", line 117, in select_runtime
    runtime_meta = self.compute_handler.deploy_runtime(self.runtime_name, runtime_memory, runtime_timeout)
  File "/usr/local/lib/python3.10/dist-packages/lithops-2.9.1.dev0-py3.10.egg/lithops/serverless/serverless.py", line 73, in deploy_runtime
    return self.backend.deploy_runtime(runtime_name, memory, timeout=timeout)
  File "/usr/local/lib/python3.10/dist-packages/lithops-2.9.1.dev0-py3.10.egg/lithops/serverless/backends/k8s/k8s.py", line 202, in deploy_runtime
    runtime_meta = self._generate_runtime_meta(docker_image_name)
  File "/usr/local/lib/python3.10/dist-packages/lithops-2.9.1.dev0-py3.10.egg/lithops/serverless/backends/k8s/k8s.py", line 442, in _generate_runtime_meta
    json_str = self.internal_storage.get_data(key=data_key)
  File "/usr/local/lib/python3.10/dist-packages/lithops-2.9.1.dev0-py3.10.egg/lithops/storage/storage.py", line 350, in get_data
    return self.storage.get_object(self.bucket, key, stream, extra_get_args)
  File "/usr/local/lib/python3.10/dist-packages/lithops-2.9.1.dev0-py3.10.egg/lithops/storage/storage.py", line 120, in get_object
    return self.storage_handler.get_object(bucket, key, stream, extra_get_args)
  File "/usr/local/lib/python3.10/dist-packages/lithops-2.9.1.dev0-py3.10.egg/lithops/storage/backends/redis/redis.py", line 104, in get_object
    raise StorageNoSuchKeyError(bucket_name, key)
lithops.storage.utils.StorageNoSuchKeyError: No such key /storage/lithops.jobs/lithops-worker-291dev0-a2b7c1e877.meta found in storage.

Note that I do see the Lithops job being deployed in Kubernetes as a pod, but after the crash it is cleaned up:
NAME                                           READY   STATUS    RESTARTS   AGE
lithops-worker-291dev0-a2b7c1e877-meta-j88xk   1/1     Running   0          5s
my-redis-master-0                              1/1     Running   0          131m
my-redis-replicas-0                            1/1     Running   0          131m
my-redis-replicas-1                            1/1     Running   0          130m
my-redis-replicas-2                            1/1     Running   0          129m
ubuntu                                         1/1     Running   0          22h

I wonder if there is something missing in my Redis configuration with respect to the "bucket" or "storage_bucket" parameter. Any help is appreciated, thanks!

Hi @RaulGracia
can you print the logs from pod lithops-worker-291dev0-a2b7c1e877-meta-j88xk?

Hi @RaulGracia! :)
Note that you are using Python3.10 and Lithops version 2.9.1.dev0
2023-08-17 17:27:18,545 [INFO] config.py:141 -- Lithops v2.9.1.dev0 - Python3.10

And the runtime you use was built for Python 3.9 and Lithops version 2.6.1.dev0
jsampe/lithops-default-k8s-runtime-v39:2.6.1.dev0

In the case of the kubernetes backend, the runtime must match both the python and lithops versions.
I just built this runtime for you, can you try with it?
jsampe/lithops-default-k8s-runtime-v310:2.9.1.dev0

Alternatively, you can navigate to this folder and build your own default/custom runtime

Thanks for the help guys!
@aitorarjona, at the time of the experiment, I couldn't get the logs for that pod, as the experiment kept failing shortly after.
@JosepSampe thanks, man! Yes, you are right, the problem was related to the mismatch of the runtime environment. I have tried again the same test, just using the new runtime and the command lithops test seems to work fine:
2023-08-22 09:13:48,451 [INFO] config.py:141 -- Lithops v2.9.1.dev0 - Python3.10
2023-08-22 09:13:49,488 [INFO] redis.py:43 -- Redis client created - Host: xx.xx.xx.xx
2023-08-22 09:13:49,502 [INFO] k8s.py:81 -- Kubernetes Job client created - Namespace: default
2023-08-22 09:13:49,503 [INFO] invokers.py:108 -- ExecutorID 66282f-0 | JobID A000 - Selected Runtime: docker.io/jsampe/lithops-default-k8s-runtime-v310:2.9.1.dev0 - 256MB
2023-08-22 09:13:50,515 [INFO] invokers.py:116 -- Runtime docker.io/jsampe/lithops-default-k8s-runtime-v310:2.9.1.dev0 with 256MB is not yet deployed
2023-08-22 09:13:50,516 [INFO] k8s.py:200 -- Deploying runtime: docker.io/jsampe/lithops-default-k8s-runtime-v310:2.9.1.dev0 - Memory: 256 Timeout: 600
2023-08-22 09:13:51,743 [INFO] k8s.py:371 -- Extracting metadata from: docker.io/jsampe/lithops-default-k8s-runtime-v310:2.9.1.dev0
2023-08-22 09:14:17,928 [INFO] invokers.py:172 -- ExecutorID 66282f-0 | JobID A000 - Starting function invocation: hello() - Total: 1 activations
2023-08-22 09:14:22,261 [INFO] invokers.py:208 -- ExecutorID 66282f-0 | JobID A000 - View execution logs at /tmp/lithops-raul/logs/66282f-0-A000.log
2023-08-22 09:14:22,261 [INFO] wait.py:98 -- ExecutorID 66282f-0 - Getting results from 1 function activations

  100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 1/1

2023-08-22 09:14:34,725 [INFO] executors.py:615 -- ExecutorID 66282f-0 - Cleaning temporary data

Hello raul! Lithops is working as expected :)

I will try to run some other stuff to see what happens, but so far it is working well. Thanks!!


Separate options from policies

Finishes what https://github.com/Azure/azure-sdk-for-net/pull/6384 tried to do.
Breaking change
Use options to configure retries:
Before:

After:

Use Disable* properties to disable default policies
Before:

After:

Don't expose policies on the client options

Per email conversations, will we be adding the per-try timeout to these as well or is that not yet decided?

Per email conversations, will we be adding the per-try timeout to these as well or is that not yet decided?

This would require implementation and tests and if we decided to do it I would prefer it being a part of separate PR.


Introduce a de-parser to return Finch expressions to their readable macro input form

fixes #624

This looks great to me! I think the tests might need to be updated to make check_outputs work. But, I've used it in Galley, and it passed tests, so I think it's solid.


Configure VSCode (or Insiders, if installed) as the default editor for git commits

https://github.com/microsoft/vscs-planning/issues/128

LGTM - @Chuxel any comments?
Also update the definition-manifest.json file to bump up the version.

LGTM!  Is a release needed?


teamsdevicemgmtsvcprod.blob.core.windows.net missing from Teams section

As reported here and verified by me, Teams Phones download their firmware updates from this URL, which is missing from the "Skype for Business Online and Microsoft Teams" section of the document:
https://teamsdevicemgmtsvcprod.blob.core.windows.net

Tagging @kruthikaponnusamy

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

ID: 66bd8666-3566-a901-b25b-eb6baba6264a
Version Independent ID: e9f6310f-2207-8c81-d31a-3d5a80beb26b
Content: Office 365 URLs and IP address ranges - Microsoft 365 Enterprise
Content Source: microsoft-365/enterprise/urls-and-ip-address-ranges.md
Service: o365-administration
GitHub Login: @kelleyvice-msft
Microsoft Alias: kvice

@rgsteele Thank you for your feedback. I'm currently working with the author to get the document updated.
Thanks
Sri

@pandrew1 Please advise if Teams org needs to onboard this endpoint.

I made a request to the Teams engineering team regarding this

Engineering has been engaged.


Implement Duplex destroy

Previously, there was no way to close a port reliably with this API. If you open a port, trying to .close before it's done opening would throw an error and leave the underlying port open. If you used node's .destroy(), stream.addAbortSignal(), or [Symbol.asyncDispose], the underlying port would remain in an open state.
This change implements the Duplex.destroy method. This is different from .close in that once a SerialPortStream is destroyed, it cannot be opened again.

@reconbot Could you please take a look at this?

+1 - would also like to see this fix (or similar) merged, as the current behavior in #2776 is quite tricky to work around.

for your consideration, @reconbot

@HipsterBrown maybe you can help?

Rebased


az cli authentication with service principal fails if Client Secret begins with a dash

Describe the bug
When authenticating with a service principal, the az login fails if the Client Secret begins with a dash.
/usr/bin/az login --service-principal -t xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx -u *** -p ***
ERROR: argument --password/-p: expected one argument

Examples from AI knowledge base:
az login --service-principal -u http://azure-cli-2016-08-05-14-31-15/ -p VerySecret --tenant contoso.onmicrosoft.com
Log in with a service principal using client secret. Use -p=secret if the first character of the password is '-'.

As noted by the error message, the solution is to us the -p=secret syntax on the az login command.  The AzureCLI@ task used to have this same bug but it eventually got fixed there.
To Reproduce
Client Secrets are randomly generated strings using the characters a-z, 0-9, dash, underline, dot, and tilde.  Therefore there's a 1/40 chance that any given client string starts with a dash, making intentional recreation difficult.  But because the source of the error is clear and the solution well established, it should be easy enough to fix regardless.  I suppose it could be recreated using a stand user and setting the password to something starting with a dash.
Expected behavior
az login works correctly even when the password/secret begins with a dash.

References:
https://github.com/Azure/azure-cli/issues/12105
https://github.com/microsoft/azure-pipelines-tasks/issues/12908

Duplicate of #284.  There is a PR for it in flight


Retrieve auto-incremented primary key after insert

I am using vertx-jooq-classic-async with PostgreSQL. I'm currently looking for a way to retrieve the primary key of a newly inserted row.
I first attempted to do this by using the AsyncClassicGenericQueryExecutor. However, it seems as the query executor only returns the number of affected rows.
I then tried to use the insertReturningPrimary method of the corresponding DAO. However, this feature is currently not supported for PostgreSQL.
Normally, I'd just use the generated Record class to insert a new entity, due to the fact that the id field of the record is updated after the insert. However, it doesn't seem as if Records are supported, since there is no way to provide a client connection.
Am I missing something or is it currently not possible to retrieve the primary key when using PostgreSQL?

Yes, this is currently not supported but will be in the next release. The beta has already been released: https://github.com/jklingsporn/vertx-jooq/tree/release4.0.0

Looks like a pretty cool upgrade! Do you already have a rough release date you're aiming for?

I haven't tried this yet, but it should work.

It doesn't work, since the query method expects a ResultQuery while the insert statement returns a InsertResultStep which inherits from Query.

Thank you for looking into this. If you have any idea how to circumvent this, I'd really appreciate contributions of any kind. Unfortunately I'm very busy doing other stuff...

I'm afraid I won't have the time to dig into this either at the moment. I will close this issue, since I was able to retrieve the new primary key using the DAO's insertReturningPrimary method as available in the 4.0.0-BETA branch.
Looking forward to the actual release. Thank you for your help.


[Builtins] Optimize 'Typed' via 'INLINE' pragmas

I looked at Core and found some opportunities for optimization. The Core now looks better, but let's see what benchmarks say.

 Sorry about that.

No problem, I'm not doing any experimentation, just running the benchmarks one last time before I can conclude this PR does make things faster.

 Either I screwed everything up or the benchmarking machine is not reliable. Ready for review.

 Do you think that's spurious?

This commit seems to give less improvement than some of the previous ones, like #4264 (comment). Do you think that's spurious?

I did check once and the old commit that was giving good numbers, stopped doing so.  This (good results) is right after this commit where I simply manually inline readKnownConstant. This (good results) is where we have readKnownConstant, but also add -O2 to Universe.hs. Which is how I previously got good results: I simply forgot {-# OPTIONS_GHC -O2 -ddump-blah-blah-blah #-} in the code and right after removing that line I started to get bad results.
So what does -O2 in Universe change? I've no idea! I spent a couple of hours staring at GHC Core and the only difference I was able to find is how a KnownTypeIn instance for Int is compiled: it's a tad more efficient with -O2. But why would that make such a big difference in evaluation time that we can easily observe it? Do we do a lot of bytesting indexing/slicing or what? Seems unlikely, so I'm probably missing something.
Anyhow, I've chosen the version that was reliably fast previously, added docs to it, stupidly merged master in, so that we can't compare things anymore without creating a separate PR and I'm calling it a day. I've spent way too much time here and given that there are major changes to make, it doesn't really make sense to over-obsess over little details. The good thing though is that I now have a much better idea of how compilation of builtins could be better.
Merging.

So what does -O2 in Universe change?

It might affect how the unfoldings are optimized (which isn't always easily visible in the Core). Which would then affect how good the code is when they get inlined? That's my best guess.


[Inquiry] Is this mod server-side only?

Just a short question. Since the mod does not add new items (apart from using Create stuff with Thin Air), does it work server-side only without needing a client-side install?

The mod does work when installed only on the server, and there won't be a difference for now, in the future, if I managed to get the UI working a client-side installation would become useful but still not necessary.


abnormal lung and brain thrombosis

abnormal lung thrombosis
DEF: any anomaly in the formation or presence of one or more thrombi within the blood vessel network of the lung
SYN: abnormal pulmonary thrombosis
abnormal brain thrombosis
DEF: any anomaly in the formation or presence of one or more thrombi within the blood vessel network of the brain

Added new terms:
abnormal lung thrombosis MP:0031167
abnormal brain thrombosis MP:0031168


Usage with static maps API

Hey,
We need to create a static image of a map with marker clustering.
Is there a way to somehow use this lib to only create an array of clusters and pass them on as markers to the google static maps API?
Thanks.

This repo isn't maintained anymore, please use this one for future issues/pull requests: https://github.com/gmaps-marker-clusterer/gmaps-marker-clusterer
I don't see an easy way to achieve this. The way this library is built doesn't support static images. You might be able to use some kind of server rendering, but I think it's easier if you'd just create this in node/php/python or whatever you use and then render the static image.