XMake does not set toolchain kind to PATH

Xmake Version
v2.7.8+dev.76bfacb40
Operating System Version and Architecture
Windows 11 22H2
Describe Bug
Normally xmake is supposed to set PATH variable automatically for toolchain kind.
To reproduce, you can install mingw and try setting it as a toolchain:
xrepo install llvm-mingw
xmake f --toolchain=mingw

As mingw is supposed to try to get the toolchain from the PATH
https://github.com/xmake-io/xmake/blob/21fb04a180feb12bb57677fc1e1638d185fb10f1/xmake/modules/detect/sdks/find_mingw.lua#L48-L62
If the llvm-mingw package appears in the PATH, xmake should resolve it correctly, but that did not happen.
To confirm that llvm-mingw is not present in the PATH, I also wrote a small script to display the PATH variable print(os.getenv("PATH").
For reference, it displays this:
C:\Program Files\xmake;
C:\Program Files\Eclipse Adoptium\jdk-<IP_ADDRESS>-hotspot\bin;
C:\Program Files\Eclipse Adoptium\jdk-<IP_ADDRESS>-hotspot\bin;
C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;
C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;
C:\Program Files\Git\cmd;C:\Program Files\CMake\bin;
C:\Program Files\nodejs\;
C:\Program Files\GitHub CLI\;C:\Program Files\gitui\bin\;
C:\WINDOWS\system32;C:\WINDOWS;
C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;
C:\WINDOWS\System32\OpenSSH\;
C:\Program Files\nu\bin\;
C:\Program Files\dotnet\;
C:\Users\leres\AppData\Local\Programs\Python\Python310\Scripts\;
C:\Users\leres\AppData\Local\Programs\Python\Python310\;
C:\Users\leres\.cargo\bin;C:\Users\leres\AppData\Local\Microsoft\WindowsApps;
C:\Users\leres\AppData\Local\Programs\Microsoft VS Code\bin;
C:\Users\leres\AppData\Local\GitHubDesktop\bin;
C:\Users\leres\vcpkg;C:\Users\leres\.dotnet\tools;C:\Users\leres\AppData\Roaming\npm

Expected Behavior
XMake is supposed to set the PATH env for a package that which is a toolchain kind
Project Configuration
No response
Additional Information and Error Logs
No response

xrepo install llvm-mingw
xmake f --toolchain=mingw

The llvm-mingw package and the mingw toolchain are completely different things and they have nothing to do with each other.
The mingw packages are llvm-mingw, mingw-w64, and the mingw toolchain can be used without these packages and just use the mingw toolchain from the system installation path, e.g. /mingw64 for msys2, /usr/local/opt/mingw-w64 for macOS. it is usually necessary to switch to the mingw platform. and set the mingw path to xmake f -p mingw --mingw=/xxx, rather than just switching toolchains.
If you want to associate the mingw toolchain with the llvm-mingw package, this is also possible. You need to introduce the package using add_requires("llvm-mingw") and associate the package with the toolchain using set_toolchains("mingw@llvm-mingw") to enable automatic toolchain downloads. See the full example at https://github.com/xmake-io/xmake/blob/master/tests/projects/package/toolchain_llvm_mingw/xmake.lua
Of course, you can also associate the mingw-w64 package instead of llvm-mingw.

Thank you for your explanation, I understand better now. But the problem is that it is the same regardless of the toolchain installed. I tried to install mingw-w64 as well but like llvm-mingw it doesn't show up in the PATH.

Thank you for your explanation, I understand better now. But the problem is that it is the same regardless of the toolchain installed. I tried to install mingw-w64 as well but like llvm-mingw it doesn't show up in the PATH.

Installing any package does not modify the system PATH, only the environment variables set by the target can be retrieved from the various script fields in the target's before_build/after_link etc. if they are associated with the target using add_packages.
add_requires("xxx")
target("test")
    add_packages("xxx")
    after_build(fucntion (target)
        print(os.getenv("PATH"))
    end)

If you use set_toolchains("mingw@llvm-mingw"), it will associate the package to the toolchain and let xmake automatically use the mingw binary provided by the llvm-mingw package to compile the specified target

If you want to set llvm-mingw package to system PATH, you can use xrepo virtual environments. https://xrepo.xmake.io/#/getting_started?id=package-virtual-environment
$ xrepo env -b llvm-mingw shell
echo %PATH%

Sorry, I made an issue for not much. I was confused, I tought that the toolchain kind added to the system PATH. Again thanks for your explainations and advices.
I will close the issue, since it's resolved.


Use tox in contributing guide

Codecov Report

Merging #475 (e5773c8) into master (d4d2e6b) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##            master      #475   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files           13        13
  Lines          722       722
=========================================
  Hits           722       722

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 d4d2e6b...34ce9c7. Read the comment docs.


WebSocket bufferedAmount is always undefined

Description
WebSocket's bufferedAmount is always undefined. Either iOS or Android, after connecting to URL and sending data, socket.bufferedAmount is undefined.
Version
0.66.2
Output of npx react-native info
System:
OS: macOS 12.1
CPU: (8) x64 Intel(R) Core(TM) i5-8279U CPU @ 2.40GHz
Memory: 613.17 MB / 16.00 GB
Shell: 5.8 - /bin/zsh
Binaries:
Node: 15.3.0 - /usr/local/bin/node
Yarn: 1.22.10 - /usr/local/bin/yarn
npm: 7.19.1 - /usr/local/bin/npm
Watchman: 4.9.0 - /usr/local/bin/watchman
Managers:
CocoaPods: 1.11.2 - /usr/local/bin/pod
SDKs:
iOS SDK:
Platforms: DriverKit 21.4, iOS 15.4, macOS 12.3, tvOS 15.4, watchOS 8.5
Android SDK:
System Images: android-26 | Google APIs Intel x86 Atom, android-26 | Google Play Intel x86 Atom
Android NDK: Not Found
IDEs:
Android Studio: 2021.1 AI-211.7628.21.2111.8309675
Xcode: 13.3.1/13E500a - /usr/bin/xcodebuild
Languages:
Java: 1.8.0_265 - /usr/bin/javac
npmPackages:
@react-native-community/cli: Not Found
react: 17.0.2 => 17.0.2
react-native: 0.66.2 => 0.66.2
react-native-macos: Not Found
npmGlobalPackages:
react-native: Not Found
Steps to reproduce

Initialize a WebSocket, then check bufferedAmount is undefined.
Send some data, then check bufferedAmount is undefined.

Snack, code example, screenshot, or link to a repository
const sock = new WebSocket(url);

console.log(sock.bufferedAmount); // it's undefined

const data = new Uint8Array(8192); // (1<<13) = 8kBytes
sock.send(data);

console.log(sock.bufferedAmount); // it's also undefined

Description
WebSocket's bufferedAmount is always undefined. Either iOS or Android, after connecting to URL and sending data, socket.bufferedAmount is undefined.
Version
0.66.2
Output of npx react-native info
System: OS: macOS 12.1 CPU: (8) x64 Intel(R) Core(TM) i5-8279U CPU @ 2.40GHz Memory: 613.17 MB / 16.00 GB Shell: 5.8 - /bin/zsh Binaries: Node: 15.3.0 - /usr/local/bin/node Yarn: 1.22.10 - /usr/local/bin/yarn npm: 7.19.1 - /usr/local/bin/npm Watchman: 4.9.0 - /usr/local/bin/watchman Managers: CocoaPods: 1.11.2 - /usr/local/bin/pod SDKs: iOS SDK: Platforms: DriverKit 21.4, iOS 15.4, macOS 12.3, tvOS 15.4, watchOS 8.5 Android SDK: System Images: android-26 | Google APIs Intel x86 Atom, android-26 | Google Play Intel x86 Atom Android NDK: Not Found IDEs: Android Studio: 2021.1 AI-211.7628.21.2111.8309675 Xcode: 13.3.1/13E500a - /usr/bin/xcodebuild Languages: Java: 1.8.0_265 - /usr/bin/javac npmPackages: @react-native-community/cli: Not Found react: 17.0.2 => 17.0.2 react-native: 0.66.2 => 0.66.2 react-native-macos: Not Found npmGlobalPackages: react-native: Not Found
Steps to reproduce

Initialize a WebSocket, then check bufferedAmount is undefined.
Send some data, then check bufferedAmount is undefined.

Snack, code example, screenshot, or link to a repository
const sock = new WebSocket(url);

console.log(sock.bufferedAmount); // it's undefined

const data = new Uint8Array(8192); // (1<<13) = 8kBytes
sock.send(data);

console.log(sock.bufferedAmount); // it's also undefined

+1

Still has the same issue in RN 0.71.6
I am thinking to use this bufferedAmount property to inform user of too many instructions not sent when with bad network condition. Or is there a better way to do that?


Fix a link check (#5293)

Pull request opened by the merge tool on behalf of #5293

Merged into branches iso5 in 3260477b288297eef61c83eb34777110d8e69d1a


pythonPackages.pex: 1.2.7 -> 1.4.5

Motivation for this change
This packages a new version of pex and moves it to a top-level tool, similarly to how Pipenv is packaged.
I'm not sure what the impact is of the move from pkgs/top-level/python-packages.nix to pkgs/top-level/all-packages.nix, but since pex is more of a command line tool than a Python library, the change makes sense to me :-) Please advice if this is bad for some reason or if there is followup work to be done!
The packaging was tested locally on a MacOS machine and a Ubuntu VM. The packaging was also executed on a Hydra installation with the sandbox enabled.
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
Built on platform(s)

[ ] NixOS
[x] macOS
[x] Ubuntu

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[x] Fits CONTRIBUTING.md.

undefined variable 'pex' at /var/lib/ofborg/checkout/repo/38dca4e3aa6bca43ea96d2fcc04e8229/mr-est/eval-2-shlevy.ewr1.nix.ci/pkgs/development/tools/build-managers/pants/default.nix:28:61

Okay... I guess this is a hint that moving pex does have an impact :-)

Do you know if it is used as an executable or as a library in pantsbuild?

@Mic92, I looked it up and Pants do use PEX as a Python library.
So I guess that means that I should not be moving from buildPythonPackage to buildPythonApplication like I originally thought?

Yes otherwise pantsbuild might break because no dependencies from pex to pantsbuild are propagated: https://github.com/NixOS/nixpkgs/blob/master/pkgs/top-level/python-packages.nix#L66

I don't really see the value in having a buildPythonApplication variant. How does it deal with multiple interpreter versions?

I don't really see the value in having a buildPythonApplication variant.

Oh, I don't know if there's any value in it either :-) I just saw that Pipenv was packaged that way and since PEX is also a command line too, I thought that using buildPythonApplication would be a little  more correct somehow.
I'll try updating it back to buildPythonPackage and see if that works better. Thanks for the tips!

@GrahamcOfBorg build pythonPackages.pex python3Packages.pex

Success on x86_64-darwin (full log)
Attempted: pythonPackages.pex, python3Packages.pex
Partial log (click to expand)
warning: no previously-included files matching '*~' found under directory '*'
writing manifest file 'pex.egg-info/SOURCES.txt'
running build_ext

----------------------------------------------------------------------
Ran 0 tests in 0.000s

OK
/nix/store/izc6s44r6y1kpq5l1fs01f98s6b0x7db-python2.7-pex-1.4.5
/nix/store/cn7ismrgfib91vbpkqqx5y33l6m2h514-python3.6-pex-1.4.5

Failure on aarch64-linux (full log)
Attempted: pythonPackages.pex, python3Packages.pex
Partial log (click to expand)
Reading https://pypi.org/simple/pytest/
Download error on https://pypi.org/simple/pytest/: [Errno -2] Name or service not known -- Some packages may not be found!
Couldn't find index page for 'pytest' (maybe misspelled?)
Scanning index of all packages (this may take a while)
Reading https://pypi.org/simple/
Download error on https://pypi.org/simple/: [Errno -2] Name or service not known -- Some packages may not be found!
No local packages or working download links found for pytest
error: Could not find suitable distribution for Requirement.parse('pytest')
builder for '/nix/store/7j76m6x2l1r6942adavm7c6ry73q4fil-python3.6-pex-1.4.5.drv' failed with exit code 1
error: build of '/nix/store/7j76m6x2l1r6942adavm7c6ry73q4fil-python3.6-pex-1.4.5.drv', '/nix/store/kbvirbswfdhjjffmhx8dzmwf65cmwk8z-python2.7-pex-1.4.5.drv' failed

Failure on x86_64-linux (full log)
Attempted: pythonPackages.pex, python3Packages.pex
Partial log (click to expand)
Reading https://pypi.org/simple/pytest/
Download error on https://pypi.org/simple/pytest/: [Errno -2] Name or service not known -- Some packages may not be found!
Couldn't find index page for 'pytest' (maybe misspelled?)
Scanning index of all packages (this may take a while)
Reading https://pypi.org/simple/
Download error on https://pypi.org/simple/: [Errno -2] Name or service not known -- Some packages may not be found!
No local packages or working download links found for pytest
error: Could not find suitable distribution for Requirement.parse('pytest')
builder for '/nix/store/m4rnfxhryrd36ccsih9sqmd7hg1cn3f4-python3.6-pex-1.4.5.drv' failed with exit code 1
error: build of '/nix/store/24xkcyzzxnkj4d81404c5bqngw5dvlw0-python2.7-pex-1.4.5.drv', '/nix/store/m4rnfxhryrd36ccsih9sqmd7hg1cn3f4-python3.6-pex-1.4.5.drv' failed

@GrahamcOfBorg build pythonPackages.pex python3Packages.pex

Success on x86_64-darwin (full log)
Attempted: pythonPackages.pex, python3Packages.pex
Partial log (click to expand)
warning: no previously-included files matching '*~' found under directory '*'
writing manifest file 'pex.egg-info/SOURCES.txt'
running build_ext

----------------------------------------------------------------------
Ran 0 tests in 0.000s

OK
/nix/store/7hy485pmia4h6mhfp1fhv4aimxfs72a4-python2.7-pex-1.4.5
/nix/store/0318k83l6lbpznfpxh4qlcmd1p6p9g3l-python3.6-pex-1.4.5

Failure on aarch64-linux (full log)
Attempted: pythonPackages.pex, python3Packages.pex
Partial log (click to expand)
Reading https://pypi.org/simple/twitter.common.dirutil/
Download error on https://pypi.org/simple/twitter.common.dirutil/: [Errno -2] Name or service not known -- Some packages may not be found!
Couldn't find index page for 'twitter.common.dirutil' (maybe misspelled?)
Scanning index of all packages (this may take a while)
Reading https://pypi.org/simple/
Download error on https://pypi.org/simple/: [Errno -2] Name or service not known -- Some packages may not be found!
No local packages or working download links found for twitter.common.dirutil<0.4.0,>=0.3.1
error: Could not find suitable distribution for Requirement.parse('twitter.common.dirutil<0.4.0,>=0.3.1')
builder for '/nix/store/1afi9zw1hlbn4mhz81k5b01ybf4291c7-python3.6-pex-1.4.5.drv' failed with exit code 1
error: build of '/nix/store/1afi9zw1hlbn4mhz81k5b01ybf4291c7-python3.6-pex-1.4.5.drv', '/nix/store/6kfijr4ma8gif468arl5v6p13xnw7w8p-python2.7-pex-1.4.5.drv' failed

Failure on x86_64-linux (full log)
Attempted: pythonPackages.pex, python3Packages.pex
Partial log (click to expand)
Reading https://pypi.org/simple/twitter.common.dirutil/
Download error on https://pypi.org/simple/twitter.common.dirutil/: [Errno -2] Name or service not known -- Some packages may not be found!
Couldn't find index page for 'twitter.common.dirutil' (maybe misspelled?)
Scanning index of all packages (this may take a while)
Reading https://pypi.org/simple/
Download error on https://pypi.org/simple/: [Errno -2] Name or service not known -- Some packages may not be found!
No local packages or working download links found for twitter.common.dirutil<0.4.0,>=0.3.1
error: Could not find suitable distribution for Requirement.parse('twitter.common.dirutil<0.4.0,>=0.3.1')
builder for '/nix/store/7h3k3y90hywx49s8xdn89pkxqszhxgby-python3.6-pex-1.4.5.drv' failed with exit code 1
error: build of '/nix/store/7h3k3y90hywx49s8xdn89pkxqszhxgby-python3.6-pex-1.4.5.drv', '/nix/store/kw8hpc3pviqwlb0rwp68nw4sdw435qb5-python2.7-pex-1.4.5.drv' failed

You can reproduce these problems locally, when enabling nix's sandbox.

Thanks @Mic92 -- I'll have to experiment a bit more with this offline! You're completely right that I should get my local setup done so that I can find a way to reproduce what you see.
I'll ping you guys later when I have worked out the kinks... thanks for all the feedback until now!


Add Verification for vibe event adding/editing fields when hitting save

Description:
AddEditVibeActivity currently crashes if a user tries to enter a new/existing vibe event without selecting a vibe or a social situation. This can be resolved by raising an error within the selectors or activity that does not allow a user to create or update an 'incomplete' vibe
//: # (If an issue is a bug or defect, please list steps to be able to reproduce bug and a screenshot of the defect i.e terminal message)
Story Points: 2
Related Issues: #32

Done under issue 88


Create haze list

Just like the affirmations list, the haze list will house insults to be lobbed at any user configured with the :haze action

I think this one may be done.
Is there anything else that Steven needs for hazing?

nope, just forgot to close the issue. still figuring out the workflow.
thanks!


start and stop phantomjs

this starts and stops phantomjs if it's not already running.
not sure if that's a good idea in general...

@manukall Thank you ~! This looks useful to me.
I haven't checked how the other webdriver libraries are starting phantomjs/selenium. I'll look at it and then add implementations for selenium too if necessary.
I'll keep the PR unmerged for a couple days.

@manukall just published a new version with refactored internals. I'll look into this this week.

@HashNuke thanks. i hope i get to play around with the new version soon :-)

@manukall Thank you. Merged ~!


[Launchbox] Missing boxarts

I'm trying to download box art for my N64 games and SNES games, but only a fraction of the available artworks end up in the search results.
is the "Region" selector borked?
For example, my N64 games only receive Japanese box art.

Can you post a screenshot of your Launchbox metadata cover settings, and name/link some games that it's not working for?

You can mark this as resolved. After hours of work I realized that you can specify the orientation of the artwork, and that the N64 box art count as "landscape".
Sorry for bothering you.

Alright, glad to hear it's working for you!


Dropdown appearance status notifier

Is there any way we can have a callback to know when the dropdown is opened or closed?

Hi @Zakariaedes
visibility callback is now available in the latest release 3.1.0. Also added overlayController support if you want to explicitly change the appearance of the dropdown. Thanks 👍


Support for "x-api-key" header for App callback over HTTP

In what area(s)?

/area runtime

/area operator

/area placement

/area docs

/area test-and-release

Describe the feature
Some HTTP API services, use x-api-key for API Token. Currently, Dapr always sends the app token as dapr-api-token. This feature request is to allow the sidecar to be configured to send the HTTP request to the app using x-api-key as well. It can be a setting in the Configuration CRD: app-token-header, so applications can use the one that makes more sense. This would also enable scenarios where developer does not have control over how the HTTP server authenticates tokens (see example below). In addition, allow a cmd arg as well, so override it per sidecar.
This idea came after trying to use Dapr using Postman's mock server feature and realized it uses x-api-key to authenticate API calls.
Release Note

RELEASE NOTE: ADDED support to x-api-key header to authenticate app calls from sidecar

@artursouza I would like to pick this up.

@sp6370 Great! I am assigning this to you.
A better way to solve this with little code, is to add support via an env variable instead and K8s annotation instead - same as it was done for APP_API_TOKEN: https://docs.dapr.io/operations/security/app-api-token/. Maybe call this new one APP_API_TOKEN_HEADER.
Don't forget to also create a new functional test and update the docs as part of the PR.

Hey @artursouza!
Looks like I will need some more time to dive deeper into Dapr Codebase. Feel free to unassign me from the issue, if someone else would like to pick it up. I would ping here again if it's available later.

/assign

So @artursouza  is like optional or do we send both that key and token to the service

@sadath-12 this would be great to get in next release if you have the time :)


Writer object doesn't implement full file API

In my python action I want to do redirect the stdout of a child command to doit's normal logging system which I realise is using sys.stdout. I need to use subprocess rather than just using a CmdAction because I'm doing a number of other python things first.
def task_foo():
    return {
        'actions': [lambda: subprocess.check_call('echo bar', stdout=sys.stdout)],
    }

However, since sys.stdout is set to an instance of the Writer class, this fails with:
AttributeError: 'Writer' object has no attribute 'fileno'

Can we add the fileno attribute and anything else to Writer required for this to work?

Can we add the fileno attribute and anything else to Writer required for this to work?

It is not that simple. How you would implement that? What would be the result if the Writer contains more than one stream with different fileno?
IMO the solution should be somehow expose the original stdout used by the Writer class.

But I don't want to write to stdout, subprocess is already doing that by default. I want to write to the Writer so it uses normal doit features (like supporting verbosity). How could this be done?

This is a nice feature. Can you try to implement it? If you do remember to test it also redirecting the output like:
 $ doit -o out.txt

I guess in this case you will have problem if you just try to implement a fileno call in Writer class.

This is a useful workaround:
from contextlib import contextmanager

        @contextmanager
        def real_stdio():
            'Workaround doit Writer() not supporting the fileno attribute'

            fake_stderr = sys.stderr
            fake_stdout = sys.stdout
            sys.stderr = sys.__stderr__
            sys.stdout = sys.__stdout__

            yield

            sys.stderr = fake_stderr
            sys.stdout = fake_stdout

Then use in your python action as:
with real_stdio():
    do_whatever()

I had to use this workaround for a task that used prompt_toolkit.


[Numpy] cumprod

Description
Use tvm to implement numpy compatible cumprod
Changes

Add cumprod forward/backward with tvm
Add tests and docs

Comments

[x] do not work until https://github.com/dmlc/tvm/pull/3723 is merged.
Thank @yzhliu for guidance and review.

I created 2 new files: cumprod.py and cumprod.cc. If there are better namespaces, plz let me know.

Regarding the namespace choice in the frontend (python), how about we just follow what NumPy does? For example, cumprod is in numpy/core/fromnumeric.py. We can create tvmop/core/fromnumeric.py and put cumprod in it. This can serve as an easy and clear guideline for others to follow in the future.

Regarding the namespace choice in the frontend (python), how about we just follow what NumPy does? For example, cumprod is in numpy/core/fromnumeric.py. We can create tvmop/core/fromnumeric.py and put cumprod in it. This can serve as an easy and clear guideline for others to follow in the future.

Great! I created two files:

contrib/tvmop/core/fromnumeric.py
src/operator/contrib/tvmop/core/fromnumeric.cc

Have Rebased. And a minor change: move the dispatch of req to func set_req in src/operator/tvmop/utils.h so it can be reused.

Another minor modification: Rename src/operator/contrib/tvmop/core/fromnumeric.cc as src/operator/numpy/np_cumprod.cc (following the naming convention of cumsum.cc)

@hzfan Could you disable fp16 on cuda for now? We will fix it later.

@hzfan @yzhliu what's the status for this?


Fix for H reduction in Python layer

Before submitting
Please complete the following checklist when submitting a PR:

[x] All new features must include a unit test.
If you've fixed a bug or added code that should be tested, add a test to the
tests directory!

[x] All new functions and code must be clearly commented and documented.
If you do make documentation changes, make sure that the docs build and
render correctly by running make docs.

[x] Ensure that the test suite passes, by running make test.

[x] Add a new entry to the .github/CHANGELOG.md file, summarizing the
change, and including a link back to the PR.

[x] Ensure that code is properly formatted by running make format.

When all the above are checked, delete everything above the dashed
line and fill in the pull request template.

Context: A recent update to support batching with qml.expval(H) failed to preserve the correct observable for specific decomposed ops (mixtures of native and decomposed). Here we add support to ensure reduction is performed on the required decomposed operations at the Python level, and preserves the existing compatible with `parameter-shift.
Description of the Change: As above.
Benefits: Fixes inconsistent GPU batching results for decomposed Hamiltonians.
Possible Drawbacks:
Related GitHub Issues:

Thanks @mlxd ! Nice work and will approve after all checks pass.


filter out lists with template as 'webTemplateExtensionsList'

filter out lists with template as 'webTemplateExtensionsList' from details view
backup details without --skip-reduce
./backup-corso backup details sharepoint --backup 7775976f-b0e1-4254-a507-1f4a5ba0bc57
Logging to file: /home/hitesh/.cache/corso/logs/2023-12-19T04-54-54Z.log
Connecting to M365                               done
Connecting to repository                     32s done
  ID            List             Items  Created               Modified
  6ec0b2fcd4e1  Events           0      2023-06-10T16:11:19Z  2023-06-10T16:11:19Z
  b5506781cf9d  Access Requests  1      2023-12-18T06:33:04Z  2023-12-18T06:33:07Z
  508314222e0a  test-list        1      2023-12-18T13:56:06Z  2023-12-18T13:57:06Z
  cf63e8c7d30f  DocuLIb          5      2023-08-25T10:46:09Z  2023-12-18T05:39:27Z
  f4c1f2b75a17  Documents        11     2023-06-10T16:11:17Z  2023-12-18T05:37:13Z

backup details with --skip-reduce
./backup-corso backup details sharepoint --backup 7775976f-b0e1-4254-a507-1f4a5ba0bc57 --skip-reduce
Logging to file: /home/hitesh/.cache/corso/logs/2023-12-19T04-56-45Z.log
Connecting to M365                               done
Connecting to repository                     32s done
  ID            List                     Items  Created               Modified
  6ec0b2fcd4e1  Events                   0      2023-06-10T16:11:19Z  2023-06-10T16:11:19Z
  b5506781cf9d  Access Requests          1      2023-12-18T06:33:04Z  2023-12-18T06:33:07Z
  508314222e0a  test-list                1      2023-12-18T13:56:06Z  2023-12-18T13:57:06Z
  cf63e8c7d30f  DocuLIb                  5      2023-08-25T10:46:09Z  2023-12-18T05:39:27Z
  41e27ca9f92e  Web Template Extensions  9      2023-06-30T06:11:13Z  2023-12-18T13:56:06Z
  f4c1f2b75a17  Documents                11     2023-06-10T16:11:17Z  2023-12-18T05:37:13Z
  ID            Display Name
  b9a4b19fda54  Access Requests
  5536b8a71369  test-list
  4703b7853efa  DocuLIb
  94c57b516ef4  Web Template Extensions
  ff103bd4d52c  Documents
  a6b4b78355ff  Events

'Web Template Extensions' is the list that is intended to be hidden by default from CLI user unless specifically requested using --skip-reduce
Does this PR need a docs update or release note?

[x] :no_entry: No

Type of change

[x] :sunflower: Feature

Issue(s)
#4754
Test Plan

[x] :muscle: Manual
[x] :zap: Unit test
[x] :green_heart: E2E

see where this approach is creating more mental burden where we could, instead, be redu

hi @ryanfkeepers I believe I have gone with the apporach '2' here.

Adding it to the backup
Showing in details to user only when --skip-reduce is used: https://github.com/alcionai/corso/blob/e16dc4093b119da44a4dd5f16b02f6c8f1255afb/src/pkg/selectors/sharepoint.go#L244
Ignoring the list when restore

I believe I have gone with the apporach '2' here

@HiteshRepo Ah, my apologies.  I wrote a lot, but didn't explain much, or very well.  Check out this code: https://github.com/alcionai/corso/blob/40d1d4fb2171a5a8fe83a7a6d3fb62c33e5d4a48/src/pkg/backup/details/model.go#L83
What's happening there is that we filter out any unusable details entries (currently just the folder entries) even before they get put through the selectors reducer.  This is, I think, the appropriate place to folder out entries such as the templates without needing to introduce additional flags or selectors.
Some care has to be taken with the implementation.  That linked code isn't aware of service-specific behavior, and we don't want to inject a conditional like "if entry is sharepoint and a list and has template of type...".  That's too much external domain knowledge for good maintenance.  We can, however, get a similar result by determining these parameters at backup creation time.
How about the following: add a new property to the Entry struct in details/entry.go.  A boolean var named something like: NotRecoverable or DoNotUseForRecovery.  When running a backup for Lists ensure that this boolean gets set properly for all generated item info.  IE: true for WebTemplateExtensions, false for all other templates.  Finally, in the linked code above, make sure we also filter out any entries where DoNotUseForRecovery == true.
This is more along the lines of what I was thinking for 2/.  It gives us the same filtering as the current PR without needing to add flags or selectors, because the filtering happens as part of details enumeration, before flags or selectors get applied.  Even more important than being able to avoid the flags/selectors is that this ensures the entries read from details are always in a good state for display and recovery, regardless of who runs the query, and regardless of whether that caller follows up with a call to selectors.Reduce().  It makes the system more simple and clean overall by ensuring we only produce usable data, independent of the context.
Hopefully that explanation is more clear.  Apologies again; I didn't give you enough guidance with the first comment.  What's more, I myself had a hard time finding that linked code (had to get another person to help me find it again).  I'll try to give more complete suggestions in the future.


not working

if i execute it its not working

I need more details such as what executor you used, what platform (PC or Mobile), any error messages...???

just nothing happens when executed via solara

I fixed any Solara problems. Refer to: https://github.com/Exunys/AirHub-V2/issues/7
Enjoy using AirHub V2 ❤ !


Update README.md to explain kubernetes tags and the v5.0.0 tag

@cheftako could you help proof read? Thank you.

This change is

Thanks @cheftako for the review. Merging.


GFM support

Come up with the necessary plugins to format Github Flavored Markdown.
Features

[x] Tables (mdformat-tables)
[x] Task list items (mdformat-gfm)
[x] Strikethrough (mdformat-gfm)
[x] Extended autolinks (not sure if changes needed, not making any right now)
[x] Disallowed raw HTML (no changes needed)

Collection plugin
It might make sense to make a collection plugin (e.g. mdformat-gfm) that installs all GFM extensions.
Resources

Task list plugin about to be merged to markdown-it-py: https://github.com/executablebooks/markdown-it-py/pull/76
Strikethrough extension already a part of markdown-it-py: https://github.com/executablebooks/markdown-it-py/blob/master/markdown_it/rules_inline/strikethrough.py

Work started here https://github.com/hukkinj1/mdformat-gfm

Would GitHub flavoured emoji be out of scope for this? E.g.
markdown-it-emoji.

I'd say that's out of scope, as I'm going strictly for what's in https://github.github.com/gfm/ here. Also I think the emoji conversion should be a feature of a Markdown to HTML renderer, so I think a formatter that only deals with Markdown shouldn't care about this.

Done. For GFM support, do
pip install mdformat-gfm


Update Docs: migrate Beta Features - Image Size Limit

Relating to #7040

@decaporg/maintainers does anyone know if max_file_size applies to file type widget also?

@privatemaker yes. This is a media_library config which is used by the file widget also. Would you please mention it?

@martinjagodic done! I also trimmed the example blocks.


Submission of the latest modified file on PVB

Please review it as soon as possible. Thank you.

请检查 CI 报错


RemoteAddr from upstream

Is it possible to get the upstream remote address?
https://github.com/pires/go-proxyproto/blob/7e550d33f6da67842d921e49cbba0f5648a72cce/protocol.go#L141
As far I can tell reading the docs and the code, if the PROXY PROTOCOL is enabled we can't get the upstream IP anymore.
Is that right?

Correct.

Any chance of this getting exposed or do I need to make my own changes?
Thanks.

I suggest you go with your own changes and open a PR if you'd like so that I can take a look.


Added basic toggle - cabled mode for devices

Appears for each device, and when toggled - automatically adds local ip, disables client discovery and switches to TCP.
When disabled, it removes local ip (though really not that necessary, still did it), enables client discovery, and leaves TCP as is (because alvr doesn't know about previous state, it's safer to just leave it as is).
Supposed to be very easy and useful toggle to not force people to go and learn where those settings are.
In addition, i made label a hyperlink so people can check out what they need to be able to use that toggle.
I think that's my first "real" pr so any comments about how to do things better (especially when writing settings) appreciated.

I would change the wording from Cabled to "Use USB" or "Use Cable" for the toggle switch.

Also noticed this, unsure why spacing doesnt get enforced for all elements, only for last one

I would change the wording from Cabled to "Use USB" or "Use Cable" for the toggle switch.

done, changed to Use Cable

I also tried going into presets area (creating single toggle for multiple paths) and doing some things with them but i got too deep with creating boolean option within it and in the end it didn't work unfortunately

Also noticed this, unsure why spacing doesnt get enforced for all elements, only for last one

I think that I found the issue... check line 118 of file /alvr/dashboard/src/dashboard/components/connections.rs
Grid::new(2).num_columns(2).show(ui, |ui| {
try changing it to
Grid::new(2).num_columns(3).show(ui, |ui| {
just a guess as I haven't compiled it yet. I will reboot to linux and try to compile it and see.

Ignore last post, it breaks things. I tested and found a better fix. This should probably be implemented anyway so that you can always see everything. I set the minimum window size to the default window size so you can make the window bigger but not smaller. I changed /alvr/dashboard/src/main.rs after line 91 initial_window_size: Some(egui::vec2(870.0, 600.0)),
I added:
min_window_size: Some(egui::vec2(870.0, 600.0)),

Ignore last post, it breaks things. I tested and found a better fix. This should probably be implemented anyway so that you can always see everything. I set the minimum window size to the default window size so you can make the window bigger but not smaller. I changed /alvr/dashboard/src/main.rs after line 91 initial_window_size: Some(egui::vec2(870.0, 600.0)), I added:
min_window_size: Some(egui::vec2(870.0, 600.0)),

it works, though not sure if hi-dpi users (steam deck users, for example) will like it

Ignore last post, it breaks things. I tested and found a better fix. This should probably be implemented anyway so that you can always see everything. I set the minimum window size to the default window size so you can make the window bigger but not smaller. I changed /alvr/dashboard/src/main.rs after line 91 initial_window_size: Some(egui::vec2(870.0, 600.0)), I added:
min_window_size: Some(egui::vec2(870.0, 600.0)),

it works, though not sure if hi-dpi users (steam deck users, for example) will like it

For what it is worth I tried making elements specific sizes too but the main window ignores this. That is the only thing that I could see that worked. Does anyone have a steam deck that can post a screenshot of how big the window looks on it?

I believe we should arrange elements (labels/buttons) on two rows per client.

Another option is to put the switch inside the Edit client dialog box.

Finalized UI look

 Finalized UI look

Looks great!

For symmetry i believe we should also put a frame around the new clients individually.

For symmetry i believe we should also put a frame around the new clients individually.

You mean the ones that you need to trust first? That could be arranged, yes, i forgot about them

Looking awesome! 😄

Agreed.

Looking awesome! 😄


[FEATURE] The Longhorn doc website should have the current master branch

Is your feature request related to a problem? Please describe.
It'd be good to let the current master branch documentation publish to the Longhorn doc website, like https://longhorn.io/docs/master.
Describe the solution you'd like
After PR merge to https://github.com/longhorn/website master branch, release the latest doc to website.
Describe alternatives you've considered
Pull the https://github.com/longhorn/website and run hugo server --buildDrafts --buildFuture locally.
Additional context
N/A

The x.y.z-dev branch exists on the longhorn website, the issue be addressed.
Closing it.


Rename whitelist to allowlist

I was using this gem on a project recently and the whitelist term was flagged as being a non-inclusive term, this PR renames the whitelist_classes param to allowlist_classes.
I'd be open to feedback of a better way to depreciate gradually, rather than a straight rename, as this would also prevent the Major version bump.

Thanks @cartogram . I support this change. I'll merge it and take the occasion to release the first 1.0 version. Yeah, maybe it'd be better to add a deprecate warning for some time.

Sorry for having taken such a long time before merging it. It's now available on version 1.0.


Define indexes by document type in code

This is going to need a lot more thought. What I'd like is a way to define Marten index's in code for common queries that may:

Create extra fields and matching db indexes in the document tables to duplicate information in the son payloads specifically to make querying more performant

Somehow directs the Linq query support to use these extra fields

Adds something to the DB to duplicate that data upon inserts or updates

This is done except for creating db indexes. Not sure or not if we wanna try that in code or leave it to pure DDL

Done!

@jeremydmiller any special reason that you use an extra field instead of GIN indexes? gin indexes support indexing on properties of the json content (haven't checked the code yet)

@tim-cools I added another option for adding a gin index against the actual Json field at the end of yesterday. I'm collecting some performance numbers, but right now I can tell you that the btree index on a duplicated field is still a faster search than the containment operator + gin index. The gin + containment operator is clearly faster than the simplistic json operator queries. My next trick is trying to get an idea of the performance of doing inserts with and without gin indexes

Why don't you add the gin + containment index by default (if it doesn't cost too much performance)? If you search for a field not defined as searchfield it will not start a table scan...

We can talk about doing that. It does have some impact on insert performance and I don't know how much on storage:
Newtonsoft.Json
Index	Bulk Insert	Batch Update	Command per Document
No Index	62	149	244
Duplicated Field w/ Index	53	152	254
Gin Index on Json	96	186	300
Jil
Index	Bulk Insert	Batch Update	Command per Document
No Index	47	134	224
Duplicated Field w/ Index	57	151	245
Gin Index on Json	79	180	270
Let me write up that blog post next week then we talk about this some more?


chore: refactor dart generators and test

Description
This PR entirely fixes the dart generator and adapts the test for the new output.


Sentencia select * from where x=1 and y =1  firebase

Hi how can i do for retrieving data with (AND)

Thanks for the question. This repo is mainly for issues with the AngularFire library, not generic Firebase questions. Please ask your question on Stack Overflow or in our AngularFire Google Group.


Half-integer order for besselk

What do you think about something like this to handle half-integer orders of besselk? It uses the fact that the asymptotic expansion terminates and is exact for half-integer orders.
function _besselk_vhalfint(v, x)
  v<zero(v)  && return _besselk_vhalfint(-v, x)
  (v == 1/2) && return sqrt(pi/(2*x))*exp(-x)
  (v == 3/2) && return sqrt(pi/(2*x))*exp(-x)*(one(x) + inv(x))
  b0 = sqrt(pi/(2*x))*exp(-x)                    # v=1/2
  b1 = sqrt(pi/(2*x))*exp(-x)*(one(x) + inv(x))  # v=3/2
  _v = 3/2
  twodx = 2/x
  b2 = twodx*_v*b1 + b0
  for _ in 1:Int(floor(v-2)) # standard up-recurrence
    _v += 1
    b0  = b1
    b1  = b2
    b2  = muladd(twodx*_v, b1, b0)
  end
  b2
end

You can't pass AD through this w.r.t. v, of course, and this was in my experience the hardest derivative to get and is why I ended up coding up the very expensive Temme routine, which is by far the slowest routine for us. But if you wanted something in the mean time, this has to be pretty competitively fast except for outrageously large v.

I'm not for sure if there is another function I'm missing but that allocates because it is just misspelled (missing an _ in front) so it can't infer the correct type of that return. Using @code_warntype is always helpful for those kind of weird things.
One thing I would be concerned about is just the amount of branches. For the v<zero(v) I would probably just say v = abs(v) since K_{-v}(x) = K_{v}(x)?
Though there should be a way to eliminate those branches for constants like that... see comment https://github.com/JuliaMath/SpecialFunctions.jl/issues/178#issuecomment-1128113294 and related notes

Okay, well that's embarrassing about the _. I actually did look at the output of @code_warntype, but I did not understand it well enough to see that that was the problem. Oof. I've edited the top post so that code works correctly on a copy+paste. Also, makes sense about abs(v), although -v would give the same output in this case.
With regard to the branches, I'm not sure how they could really be removed and if there's something in that issue explaining how I don't think I understand it. Even with manual methods, how would you eventually avoid somehow checking if v is one of the two base cases?
In any case, I know you're working on bessely. Just bringing this up because stat people love half-order arguments and so a special branch like this that uses the extra fast option would probably be appealing.

I believe it should be something like the following (I probably have the details slightly wrong). The key is that you use the for loop running 0 times instead of the if statement.
function _besselk_vhalfint(v, x)
  v = abs(v)
  invx = inv(x)
  b0 = b1 = sqrt(invx*(pi/2))*exp(-x)
  twodx = 2*invx
  for _v in (1/2) : 1 : (v-1)
    b0, b1 = b1, muladd(b1, twodx*_v, b0)
  end
  b1
end

Haha ya I was about to comment the same thing.... You can completely avoid these branches.

function besslk_halfint(nu, x)
    nu = abs(nu)
    k0 = sqrt(pi/(2*x))*exp(-x)
    k1 = k0*(one(x) + inv(x))

    k2 = k1
    x2 = 2 / x
    arr = range(start=1.5, stop=nu, step=1)
    for n in arr
        a = x2 * n
        k2 = muladd(a, k1, k0)
        k0 = k1
        k1 = k2
    end
    return k0
end

oh, and your version is even right!

Oh wow, look at that! That's very clever to make k0 the return object and loop over that range. It's impressive that the compiler can optimize that so well that it beats the branches. TIL!

And you will probably want to combine Oscar's version with mine to avoid the excess divisions. You'll also want to make sqrt(pi/2) a constant then you can solve this with a single division. I've found the branches hard to measure in microbenchmarks until you piece together the full function. Often times when using @benchmark on the individual functions it will completely eliminate those branches that it may not be able to within the main function.
In regards to the constant-propagation that was mentioned in the other thread. I haven't looked into that, but I think @oscardssmith would better be able to answer that...

branches are expensive. The for loop is 1 branch per iteration, so this version is strictly better. What about constant-prop?

https://github.com/JuliaMath/SpecialFunctions.jl/issues/178#issuecomment-1128113294 this comment is what we are referring too

Amazing, thank you both. I'll tinker with this and try to come back with a refined version.

Okay, so here's a weird one: when I use those fancier range iterators it just destroys performance for me on
julia> versioninfo()
Julia Version 1.7.1
Commit ac5cc99908 (2021-12-22 19:35 UTC)
Platform Info:
  OS: Linux (x86_64-pc-linux-gnu)
  CPU: 11th Gen Intel(R) Core(TM) i5-11600K @ 3.90GHz
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-12.0.1 (ORCJIT, icelake-client)
Environment:
  JULIA_HOME = /home/cg/Scratch/julia-1.7.1/bin/

But I think I have a modification that works very well for me and still addresses your helpful points about performance:
const SQRT_PID2 = sqrt(pi/2)

function besk_halfint(v, x)
  v       = abs(v)
  invx    = inv(x)
  b0 = b1 = SQRT_PID2*sqrt(invx)*exp(-x)
  twodx   = 2*invx
  for _v in (1/2) : 1 : (v-1)
    b0, b1 = b1, muladd(b1, twodx*_v, b0)
  end
  b1
end

function besk_halfint2(v, x)
  v       = abs(v)
  invx    = inv(x)
  b0 = b1 = SQRT_PID2*sqrt(invx)*exp(-x)
  twodx   = 2*invx
  _v      = convert(eltype(v), 1/2)
  while _v < v
    b0, b1 = b1, muladd(b1, twodx*_v, b0)
    _v    += one(eltype(_v))
  end
  b1
end

With benchmark timings:
v = 21.5
x = 5.5
@benchmark besk_halfint($v, $x)
BenchmarkTools.Trial: 10000 samples with 842 evaluations.
 Range (min … max):  144.914 ns … 220.671 ns  ┊ GC (min … max): 0.00% … 0.00%
 Time  (median):     146.314 ns               ┊ GC (median):    0.00%
 Time  (mean ± σ):   148.091 ns ±   4.831 ns  ┊ GC (mean ± σ):  0.00% ± 0.00%

   ▄▇███▇▆▅▄▄▃▂                       ▁ ▁▂▃▄▄▃▂▁▁               ▂
  ▇█████████████▇▆▆▆▇▇▆▅▇▇▇▆█▇▇▆▇▇▇█▇██████████████▇█▇▇▇▆▅▆▆▇▆▆ █
  145 ns        Histogram: log(frequency) by time        160 ns <

 Memory estimate: 0 bytes, allocs estimate: 0.

Using the range also has the same performance properties. With the simple look in besk_halfint2, I get:
BenchmarkTools.Trial: 10000 samples with 998 evaluations.
 Range (min … max):  17.895 ns … 23.917 ns  ┊ GC (min … max): 0.00% … 0.00%
 Time  (median):     18.024 ns              ┊ GC (median):    0.00%
 Time  (mean ± σ):   18.158 ns ±  0.415 ns  ┊ GC (mean ± σ):  0.00% ± 0.00%

    ▂▆▅▇█▂
  ▂▅██████▄▂▂▂▂▂▂▁▂▂▂▂▁▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂▃▃▃▃▃▃▂ ▃
  17.9 ns         Histogram: frequency by time        19.3 ns <

 Memory estimate: 0 bytes, allocs estimate: 0.

Hard to imagine doing much better than that. But I've said that before and been very wrong as evidenced by a lot of things in this package....so, thoughts?

I can also say that I got a similar benchmark CPU: Intel(R) Core(TM) i7-8700K CPU @ 3.70GHz which is interesting...
Also, you'll probably want to hardcode those constants and do them in extended precision so you can get correctly rounded results

const SQRT_PID2(::Type{Float64}) = 1.2533141373155003
function besk_halfint2(v::T, x) where T
    v       = abs(v)
    invx    = inv(x)
    b0 = b1 = SQRT_PID2(T)*sqrt(invx)*exp(-x)
    twodx   = 2*invx
    _v      = T(1/2)
    while _v < v
      b0, b1 = b1, muladd(b1, twodx*_v, b0)
      _v    += one(T)
    end
    b1
end


Updating URL in Blog

Visio extensibility migration blog got moved to developer.microsoft.com. Updating the link for the same in description.

Thank you :)


[Security Risk] The distribution risk of security policy config file.

Under the security mechanism of image-rs, the role of image security policy file is to restrict the image pulling action and ensure that the pulled and deployed images come from the repo allowed by the owner, and some need to be protected by signature.
In the current implementation, the default location of the policy file is the /run directory. When image-rs pulls the image, it will first check whether the policy file already exists in the /run directory. If it does not exist, it will be obtained from KBS through remote attestation and written to the /run directory. This mechanism needs to ensure that the /run directory of pod is mounted in HW-TEE’s encrypted memory, otherwise there will be the following risks: malicious system administrators configure pod in advance to mount the /run directory into a specified rootfs directory, and then place malicious policy file in rootfs in advance, resulting in the failure of normal distribution of owner's policy files.
I'm not sure how to ensure that the /run directory of pod is mounted in the encrypted memory of HW-TEE, or whether there is a better storage location to ensure this?

So how can we ensure that the mount location of the /run directory is tmpfs through engineering means? I'm not familiar with this area. Does anyone else have any suggestions?


Import: exception for 'Node' object has no attribute 'blender_bone_name'

Traceback (most recent call last):
  File "/home/scurest/.config/blender/2.79/scripts/addons/io_scene_gltf2/__init__.py", line 468, in execute
    return self.import_gltf2(context)
  File "/home/scurest/.config/blender/2.79/scripts/addons/io_scene_gltf2/__init__.py", line 487, in import_gltf2
    BlenderGlTF.create(self.gltf_importer)
  File "/home/scurest/.config/blender/2.79/scripts/addons/io_scene_gltf2/blender/imp/gltf2_blender_gltf.py", line 35, in create
    BlenderScene.create(gltf, scene_idx)
  File "/home/scurest/.config/blender/2.79/scripts/addons/io_scene_gltf2/blender/imp/gltf2_blender_scene.py", line 78, in create
    BlenderSkin.create_vertex_groups(gltf, skin_id)
  File "/home/scurest/.config/blender/2.79/scripts/addons/io_scene_gltf2/blender/imp/gltf2_blender_skin.py", line 163, in create_vertex_groups
    obj.vertex_groups.new(name=gltf.data.nodes[bone].blender_bone_name)
AttributeError: 'Node' object has no attribute 'blender_bone_name'

Test file
Not sure what's wrong, but maybe caused by a mesh being instantiated on one of the joints of its skin.

Note that this same error occurs if a mesh is skinned by joints not in the same scene. See https://github.com/KhronosGroup/glTF/issues/1558.

Started a simple implementation on branch importer_multipletype
Only for objects for now (that means that the bug is not solved yet, because this is a object / rig case)


GetxController method onClose() not invoke when application is finish

It isn't possible with Flutter.
Look at: https://github.com/flutter/flutter/issues/28134#issuecomment-539749833 (comment)


[Bug] Broken links in the JRPC Documentation

Broken links in the JSON RPC Send method documentation
There are several broken links. For example in the Method submit page there is a broken link to the Raw transaction and Signed transaction. Typically, that are links that goes to the developers.diem.com/docs url
Steps to reproduce

Visit the JSON RPC Spec Send method page
Go to the  Raw transaction in the description
https://developers.diem.com/docs/rustdocs/diem_types/transaction/struct.RawTransaction.html - Page Not Found Error

Error message or problem
Page Not Found
We could not find what you were looking for.

Please contact the owner of the site that linked you to the original URL and let them know their link is broken.

Expected Behavior
All urls within docs should be valid
System information
OS - Arch linux
Browser - Google Chrome -Version 87.0.4280.66 (Official Build) (64-bit)

Thanks for pointing this out. After the move from libra to diem, we change some infra on how we build and host the site. The Rust docs have not built yet to be hosted to developers.diem.com, but we have a plan to get them back, and are working on getting them up there as soon as possible. Apologies for the inconvenience.
cc @ericnakagawa


Constant offsets causing loud pops

System Information

Steam Audio version: 4.1.4 - 4.5.1
(I didn't test any versions below 4.1.4 but I used v2.0.20 in another project where this never happened)
Unity version: 2022.3.17f1
Operating System and version: Windows 10, Linux (Kernel 6.6/Manjaro/Gnome 45.3/Wayland)
CPU architecture: x86-64
RME HDSPe MADI configured as 5.1 output on Windows, configured as 5.1 PA sink on Linux
CPU: AMD Ryzen 9 3950X, GPU: AMD Radeon RX 6900 XT

Issue Description
Using Steam Audio, it's possible to produce sudden constant offsets and pops. No DSP should ever do that as it can damage peoples hearing and their gear (and their trust).
Steps To Reproduce
Steps to reproduce the behavior:

Download the repro case and extract it into a new directory
Open it with Unity 2022.3.17f1
Load the included scene Scenes/Bug-SteamAudioOffsetPops/SteamAudio-OffsetPops
Unplug all audio speakers or turn down the volume! Just monitor what is happening using audio engineering monitoring tools or use SteamAudio's internal debugging options. There is no point in listening to pops caused by offsets.
Enter Play Mode
Keep scene and game view tab open so you can understand what is going on
Use WASD to walk 3 steps on the grid in front of you (so the GridBasedFPSController lands on the red marked area, perfectly lined up to the Audio Source Audio Water Drips)
Use the arrow keys to turn the camera towards the Audio Source Audio Water Drips (so that you're looking at the GameObject Audio Water Drops)
Note the constant offset on the left channel (causing a loud pop on your speakers)

Further notes:

doesn't happen when enabling Direct Binaural on the Audio Sources
this is just one specific pop issue that I have been able to isolate

in a slightly more complex project, the constant offsets happen in various situations
with a lot more output channels affected than just the left speaker
with more platforms affected (macOS Ventura/ARM64 using the MacBook's built-in stereo speakers)

@Schroedingers-Cat I followed the steps above (thanks for the detailed repro steps!), but was unfortunately unable to reproduce the issue. Can you try the following:

In the main menu, click Steam Audio > Settings.
Under Advanced Settings, check the box next to Enable Validation.

This should hopefully result in some console messages when the constant offset occurs. If so, can you share the console messages? That will help us narrow down the issue.

@lakulish thanks a lot for looking into this!
Setting Enable Validation to true doesn't help with the logging, unfortunately. The only message is the default HRTF message when entering play mode:
Loaded HRTF: default.
UnityEngine.Debug:Log (object)
SteamAudio.HRTF:.ctor (SteamAudio.Context,SteamAudio.AudioSettings,string,byte[],single,SteamAudio.HRTFNormType) (at Assets/Plugins/SteamAudio/Scripts/Runtime/HRTF.cs:52)
SteamAudio.SteamAudioManager:OnApplicationStart (SteamAudio.ManagerInitReason) (at Assets/Plugins/SteamAudio/Scripts/Runtime/SteamAudioManager.cs:298)
SteamAudio.SteamAudioManager:Initialize (SteamAudio.ManagerInitReason) (at Assets/Plugins/SteamAudio/Scripts/Runtime/SteamAudioManager.cs:637)
SteamAudio.SteamAudioManager:AutoInitialize () (at Assets/Plugins/SteamAudio/Scripts/Runtime/SteamAudioManager.cs:1508)

I noticed that the issue happens with the following Default Speaker Mode settings in Unity's project settings:

Surround 7.1
Surround 5.1
Quad

Setting Stereo as Default Speaker Mode makes the issue disappear. Maybe you're trying to reproduce this with a stereo output? You can check that via a C# script using AudioSettings.GetConfiguration().speakerMode.

@lakulish I created another repro case that causes pops on my MacBook (ARM/M1 Pro/Stereo) as well as Win10 (x86_64/AMD CPU,GPU/7.1).

Download and extract the project
Open with Unity v2022.3.17f1 and load scene Assets\Scenes\SteamAudio-PopsInStereo.unity
Open Steam Audio Settings
Enter play mode
Immediately after the editor becomes responsive change the Real Time Duration value from 1 to something else like 2 using numeric keyboard input (I didn`t use the mouse to slide)
Pops caused by constant offsets will be all over the place (if that didn't work, continue with the following steps)
Stop play mode
Reset Steam Audio Settings Real Time Duration to 1
Go to four and repeat until step 6 works

For five tries, I get the constant offset at least for once.
While this might not be a common use case, it might help us get to the bottom of these constant offsets.
The validation setting is already enabled with this project but I don't get it to log anything of interest.

@Schroedingers-Cat This turned out to be two separate issues.
The first one, that can't be reproduced when using stereo output, was a bug in quad/5.1/7.1 panning that only occurs when the source is exactly to your left. I was unable to reproduce this earlier because even though I had set my output format in Unity to 7.1, my audio driver was forcing everything to stereo. I changed that, and was able to reproduce the issue. A fix will be included in the next release.
The second issue was due to Steam Audio not correctly handling the case where the reflections duration is increased after entering play mode. That control is only intended to decrease the value to reduce CPU usage if needed. I was able to reproduce this issue as well, and a fix will be included in the next release.

@lakulish thank you so much for fixing this!
If these were separate issues, then it could be that my original project still produces constant offsets caused by other circumstances. I wonder what would be the best way to tackle this:

Should I wait for the next release and report back to this issue?
Should I send you the actual scene (+ code + audio) via email?
Could there be similar problems with surround setups causing these offsets in other contexts?
Do you see a way to prevent these constant offsets in a more generic way?

The above two issues have been fixed in v4.5.2: https://github.com/ValveSoftware/steam-audio/releases/tag/v4.5.2. I'm closing this issue, but feel free to create new issues if you observe similar behavior in other contexts. Thanks!


JPAQueryFactory and JPAQuery

I am new about QueryDSL and trying to use it in my new spring boot based project.
Could someone explain for me about:

Is JPAQueryFactory a 'HEAVY' object like SessionFactory so cannot be created frequently (to be singletion) ?
If so, how can I use it to update entities efficiently, because looks like no other objects have same ability ?
What is the relationship between JPAQueryFactory and JPAQuery ?

Thanks in advance!
PS: In fact, I have read Querydsl Reference Guide 4.1.2 Reference Document, but there are just a few words to introduce it.

JPAQueryFactory is in fact a small wrapper around useful methods regarding creating queries and dml clauses.

If so, how can I use it to update entities efficiently, because looks like no other objects have same ability ?

You can directly create JPA(Update/Delete/Insert)Clauses.
So you could create more than one, but it's not strictly necessary.
P.S. do you have a suggestion as to what to write about it in the reference documentation?

@Shredder121 Thanks a lot for your reply.
I know more about it by your explanation now.
The reference documentation has been pretty easy to understand, but it may have the potential to be more comprehensive by introducing some frequently-used classes, just like "JPAQueryFactory", in more detail (structures, purposes etc.) even in new version of the reference documentation, especially for the new learner, like me :)
Thanks again.

I actually have quite a bit of traction at my Stack Overflow answer regarding a similar question about the JPAQueryFactory: https://stackoverflow.com/questions/62569696/difference-between-jpaquery-and-jpaqueryfactory/62570145#62570145


Rook-ceph storageclass issue | Failed to configure ceph cluster

Hi,
Please help me out to resolve this !
Our jenkins pod is down as it stucks at Init:0/1
NAME                                         READY   STATUS              RESTARTS   AGE    IP                NODE                NOMINATED NODE
centraljenkins-688cb485d-mhnp8               0/2     Init:0/1            0          133m               sape-kube-worker5
After describing the pod, getting this error :
Warning  FailedMount  8m4s (x16 over 130m)   kubelet, sape-kube-worker5  Unable to attach or mount volumes: unmounted volumes=[jenkins-home], unattached volumes=[tmp jenkins-home jenkins-config centraljenkins-token-vzqv9 sc-config-volume]: timed out waiting for the condition
Warning  FailedMount  3m36s (x65 over 133m)  kubelet, sape-kube-worker5  MountVolume.MountDevice failed for volume "pvc-ee93e1bf-8769-417a-b006-75848c1ae6b4" : rpc error: code = Aborted desc = an operation with the given Volume ID 0001-0009-rook-ceph-0000000000000001-60dc1baf-d5e6-11eb-bc3d-6a280ad03b72 already exists
It is an issue with rook-ceph storage class we are using in our infrastructure
below are the details related to rook-ceph

[root@sape-kube-master ~]# k get cephcluster -n rook-ceph
NAME        DATADIRHOSTPATH   MONCOUNT   AGE     PHASE     MESSAGE                            HEALTH
rook-ceph   /var/lib/rook     1          2y25d   Failure   Failed to configure ceph cluster   HEALTH_ERR
I have restarted all the pods under namespace rook-ceph and all are showing running status

Also, we have two jobs running under this namespace
[root@sape-kube-master ~]# k get jobs -n rook-ceph
NAME                           COMPLETIONS   DURATION   AGE
rook-ceph-csi-detect-version   1/1           3s         24h
rook-ceph-detect-version       1/1           4s         26h
Also, I have tried describing operator pod from rook-ceph and getting errors
2023-07-21 14:03:31.992500 E | op-cluster: failed to get ceph status. failed to get status. . Error initializing cluster client: ObjectNotFound('error calling conf_read_file',): exit status 1
2023-07-21 14:03:32.016064 I | op-config: CephCluster "rook-ceph" status: "Failure". "Failed to configure ceph cluster"
2023-07-21 14:03:32.448233 I | op-k8sutil: Retrying 8 more times every 2 seconds for ConfigMap rook-ceph-detect-version to be deleted
2023-07-21 14:03:34.451524 I | op-k8sutil: Retrying 7 more times every 2 seconds for ConfigMap rook-ceph-detect-version to be deleted
2023-07-21 14:03:36.455665 I | op-k8sutil: Retrying 6 more times every 2 seconds for ConfigMap rook-ceph-detect-version to be deleted
2023-07-21 14:03:38.459115 I | op-k8sutil: Retrying 5 more times every 2 seconds for ConfigMap rook-ceph-detect-version to be deleted
2023-07-21 14:03:40.463569 I | op-k8sutil: Retrying 4 more times every 2 seconds for ConfigMap rook-ceph-detect-version to be deleted
2023-07-21 14:03:41.849528 I | ceph-spec: ceph-file-controller: CephCluster "rook-ceph" found but skipping reconcile since ceph health is &{"HEALTH_ERR" map["error":{"Urgent" "failed to get status. . Error initializing cluster client: ObjectNotFound('error calling conf_read_file',): exit status 1"}] "2023-07-21T14:03:31Z" "2023-07-21T09:39:41Z" "HEALTH_WARN"}
2023-07-21 14:03:41.849615 I | ceph-spec: ceph-block-pool-controller: CephCluster "rook-ceph" found but skipping reconcile since ceph health is &{"HEALTH_ERR" map["error":{"Urgent" "failed to get status. . Error initializing cluster client: ObjectNotFound('error calling conf_read_file',): exit status 1"}] "2023-07-21T14:03:31Z" "2023-07-21T09:39:41Z" "HEALTH_WARN"}
2023-07-21 14:03:42.202061 W | op-mon: skipping mon health check since cluster details are not initialized
2023-07-21 14:03:42.466292 I | op-k8sutil: Retrying 3 more times every 2 seconds for ConfigMap rook-ceph-detect-version to be deleted
2023-07-21 14:03:44.470207 I | op-k8sutil: Retrying 2 more times every 2 seconds for ConfigMap rook-ceph-detect-version to be deleted
2023-07-21 14:03:46.473554 I | op-k8sutil: Retrying 1 more times every 2 seconds for ConfigMap rook-ceph-detect-version to be deleted
2023-07-21 14:03:48.476635 I | op-k8sutil: Retrying 0 more times every 2 seconds for ConfigMap rook-ceph-detect-version to be deleted
2023-07-21 14:03:48.476746 E | op-cluster: failed the ceph version check. failed to complete ceph version job: failed to run CmdReporter rook-ceph-detect-version successfully. failed to delete existing results ConfigMap rook-ceph-detect-version. failed to delete ConfigMap rook-ceph-detect-version. gave up waiting after 20 retries every 2ns seconds.
2023-07-21 14:03:50.394845 I | op-cluster: detecting the ceph image version for image ceph/ceph:v14.2.10...
2023-07-21 14:03:50.402924 I | op-k8sutil: Retrying 20 more times every 2 seconds for ConfigMap rook-ceph-detect-version to be deleted
2023-07-21 14:03:51.850063 I | ceph-spec: ceph-block-pool-controller: CephCluster "rook-ceph" found but skipping reconcile since ceph health is &{"HEALTH_ERR" map["error":{"Urgent" "failed to get status. . Error initializing cluster client: ObjectNotFound('error calling conf_read_file',): exit status 1"}] "2023-07-21T14:03:31Z" "2023-07-21T09:39:41Z" "HEALTH_WARN"}
2023-07-21 14:03:51.850103 I | ceph-spec: ceph-file-controller: CephCluster "rook-ceph" found but skipping reconcile since ceph health is &{"HEALTH_ERR" map["error":{"Urgent" "failed to get status. . Error initializing cluster client: ObjectNotFound('error calling conf_read_file',): exit status 1"}] "2023-07-21T14:03:31Z" "2023-07-21T09:39:41Z" "HEALTH_WARN"}
Any help would be appreciated as quick as possible !
Thanks

Can you simplify and/or explain how this might be a Helm related issue please.

@gjenkins8 This was not an issue with helm
it was related to PVC which we have tried attaching to pod still the pod doesn't come up

mistakenly created as Helm issue


More transcript

Rebased PR. @afred?

@mccalluc and without having tested it, I trust that clicking on the ::before content of an element will trigger said element's click() event?

@afred: yeah, worked for me. I should see if this can be capybara tested: Have we tested the JS around an html5 player before?

@mccalluc don't think so


We are not measuring code coverage

In Azure DevOps we could export code coverage reports and get an overview from the pull request. Can we do the same here?

It would be nice if we could make a code coverage check in the pr pipeline and then

Fail the pipeline if coverage is below a threshold
Publish the results as a comment in the PR automatically

Found these GH actions tasks we could consider using:
https://github.com/marketplace/actions/pytest-coverage-commentator
https://github.com/marketplace/actions/pytester-cov

There is also https://about.codecov.io/
I used it on an old project https://github.com/moneyball-dk/moneyball_app, but I can't remember how that went

I've tested pytester-cov here.
It seems good to me.

Closed by #20


docker import export to other host - data lost

hi,
i try to export and import my docker container to other host. but the data are lost.
i also try to commit and save , than load the image. but no success.
can anybody explain me what i do wrong ?

Thats strange, I tried it myself and for some reason the when I commit the changes of the container to a new image the mysql database changes are not saved, the same happens when I use a linked mysql container. What should work is to either pass the huginn or the linked mysql container a volume and then move the volume data to the second server.

i think the init script seed the database again. but i dont understand why.

It does recreate the database because the old one is not present when importing the container even though commit is supposed to store the changes.
On the other hand using a volume is the better solution anyways, because it allows you to update the container without losing the data.

sounds good. can you send me the cmd line, doestn know the path that i linked to independently volume.

docker run -it --name huginn-test -p 3000:3000 -v /local/path/to/the/data:/var/lib/mysql cantino/huginn should do the trick, the same -v argument can be used when you start the separate mysql container. Keep in mind this will now work when using boot2docker

Did that work for you @gdomod?

works thanks

Great!


Add an option to select default chrome fields

Currently the default is HEX,
We can add an option in props to select the default view option (hex \ hsl \ rgb)

Thanks @DarrenBangsund for the fix. This will be release as<EMAIL_ADDRESS>shortly


The user password is displayed in plain-text

Steps to reproduce:
On the user create page, check the password field
Result:
The password is displayed in plain-text

Suggestion:
It's not friendly to display the password in plain-text directly, moreover, maybe it's better to add some restrictions to the password because now we can create users using any kind of password

Validated


bug: Missing symbols when using treesitter as backend

Neovim version (nvim -v)
NVIM v0.10.0-dev-1873+g8f08b1efb
Operating system/version
Arch Linux
Output of :AerialInfo
Aerial Info
Filetype: lua
Configured backends:
treesitter (supported) (attached)
lsp (not supported) [No LSP client found that supports symbols]
markdown (not supported) [Filetype is not markdown]
man (not supported) [Filetype is not man]
Show symbols: all symbols
Describe the bug
Every time i try to use aerial with treesitter as main backend it generally doesn't show any symbols, and when it shows it's only the functions present in the file, even if i set filter_kind to false.
What is the severity of this bug?
breaking (some functionality is broken)
Steps To Reproduce

Execute nvim -u repro.lua
Open any file which filetype is supported by treesitter (i suggest to test with the minimal config file used)
Execute AerialToggle

Expected Behavior
In this scenario would be expected for aerial to show me all symbols existent in my file, not only the functions.
Minimal example file
The minimal config file below can be used to reproduce the issue.
Minimal init.lua
-- DO NOT change the paths and don't remove the colorscheme
local root = vim.fn.fnamemodify("./.repro", ":p")

-- set stdpaths to use .repro
for _, name in ipairs({ "config", "data", "state", "cache" }) do
  vim.env[("XDG_%s_HOME"):format(name:upper())] = root .. "/" .. name
end

local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
if not vim.loop.fs_stat(lazypath) then
    vim.fn.system({
        "git",
        "clone",
        "--filter=blob:none",
        "https://github.com/folke/lazy.nvim.git",
        "--branch=stable", -- latest stable release
        lazypath,
    })
end
vim.opt.rtp:prepend(lazypath)

local plugins = {
    {
        "nvim-treesitter/nvim-treesitter",
        build = ":TSUpdate",
        opts = {
            ensure_installed = { "c", "lua", "vim", "vimdoc", "query" },
            sync_install = false,
            auto_install = true,
            highlight = { enable = true },
            indent = { enable = true }
        },
        config = function(_, opts)
            require("nvim-treesitter.configs").setup(opts)
        end
    },
    {
        "stevearc/aerial.nvim",
        dependencies = {
            "nvim-treesitter/nvim-treesitter",
            "nvim-tree/nvim-web-devicons"
        },
        opts = {
            filter_kind = false
        }
    }
}

require("lazy").setup(plugins, {
    root = root .. "/plugins"
})

vim.cmd.colorscheme("retrobox")

Additional context
No response

This is expected. The treesitter backend doesn't support as many symbols as LSP because for each one I have to write a query and a test. Multiply that across all the supported languages and it's just far too much work for me to do. So I added the most important symbols for all the languages and have been relying on PRs to add anything that's missing.
By all means, use the LSP backend if you like seeing more symbols. There's absolutely nothing wrong with it (it's just a bit slower and requires the LSP to be installed). If you have an interest, I'd also love to review PRs that add treesitter support for more symbols of any language.


Tiles fail to load at the end of a zoom animation

As reported in https://github.com/openlayers/ol3/pull/6079#issuecomment-259140978.  Steps to reproduce:

open the simple.html example
click the zoom in button many times
see that new tiles do not load at the end of the animation

Unfortunatels #6103 only partially fixed the issue. When the zoom button is repeatedly pressed very quickly while a zoom animation is running, tiles still do not load at the end of the animation. In the gif below, I very quickly pressed the zoom-in button 4 times:

I'll take a look.
When animations are cancelled, we remove the animation hint on the view but don't make any changes that would trigger another render.  This may not be the root of the problem you are seeing, but I think this will need addressing as well (e.g. by calling view.changed() when animations are cancelled).

Hmm.  I'm not able to reproduce this.  Still trying.

Though I believe what you're seeing, I haven't been able to reproduce this with a variety of animation durations, network throttling, and clicking speeds.
I think it is not related, but I opened #6107 to tighten things up with cancelling animations.

Closing again based on https://github.com/openlayers/ol3/pull/6107#pullrequestreview-8301945.  Please reopen if this can be reproduced.


For simple needs, I recommend using FlatList with pagingEnabled property

If your needs are simple, like carousel and you want to avoid adding a new dependency, use the FlatList component with the pagingEnabled property. It worked for me like charm.

@egunsoma any chance you could share a basic example using FlatList?

@mgcrea Here you are :)
The width is the screen's width as this is a horizontal list, and each item's width of the list should also be to the screen's width.
<FlatList
  bounces={false}
  getItemLayout={(data, index) => (
      { length: width, offset: width * index, index }
  )}
  showsHorizontalScrollIndicator={false}
  pagingEnabled={true}
  horizontal={true}
  style={{ flex: 1 }}
  data={...}
  renderItem={...}
/>


User: when updating user state, save model instance before API call

This ensures the local copy is kept up-to-date for its next use, e.g. on the next call to the same function.
Part of https://github.com/CrisisCleanup/crisiscleanup-3-web/issues/676

I'm not sure if this will have any knock-on effects; might be fundamental


Version Packages

This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.
Releases
<EMAIL_ADDRESS>Patch Changes

#555 f652575 Thanks @threepointone! - use --with-env to define .env vars as globals in the project

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


Saved Songs Download and User Authentication

What's on the tin.
It does add a few packages, but allows the downloading of private playlists & full library download.
Still not working, but I'm nearly there.

I believe this would solve #1234

Please keep your commit messages clear, for example the last commit message:

Problem is how can I feed the access and refresh tokens to spotipy?

Is that the issue you fixed or the one you need to fix? If it's the latter, just what did you put into the commit then?
See point 2 at this subsection

I've also begun adding support for the "saved" keyword
If, when parsing arguments, the word "saved" is found in the place of a URL, spotipy will download the user's Saved Songs. That's if the user also has used the --user-authorization flag. Otherwise it will raise an Exception telling the user to use the flag.

There goes the functionality as far as I'm aware. Now I need to write the tests for literally 300 lines of new code. That's for tomorrow though.

One more note, Its a good practice to keep commits restricted to one-change-a-commit. If you have to rollback a commit and you've grouped multiple changes into a single commit you'll loose a lot of good work.

You can see the first point here for more details if you wish.
"How to figure out if my commit is good?" - simple diagram

I'll be the first to admit: I'm new to python, and even after reading through the existing tests, I can't seem to figure out how to test downloading private playlists and the saved songs library without a testing account on spotify. All current tests check out though, so after reverting to the old API keys I'm opening this for review.

Well I'm stumped. Tests run fine on my machine.
Also, one of the tests failed when installing dependencies. Ffmpeg again.

Well I'm stumped. Tests run fine on my machine.
Also, one of the tests failed when installing dependencies. Ffmpeg again.

Sometimes python3.8 checks are failing, you just have to re-run all jobs

I don't believe the macos 3.8 test should be taking this long... 20 minutes in when other tests finished in 1

I don't believe the macos 3.8 test should be taking this long... 20 minutes in when other tests finished in 1

GitHub actions are not perfect

I think that pywebview is overkill for task. We could open the default browser instead with webbrowser that comes included with stdlib
https://docs.python.org/3/library/webbrowser.html

The reason I'm choosing webview over the browser is that it makes the experience seamless. If the client closes the login window, for example, we can detect that and raise an Exception. In any case, webview could be replaced by a browser if you really think it's best.

Please don't send the .tox/ directory.
add it to the .gitignore maybe

Will do

ah I see #1233 adds it to gitignore

The reason I'm choosing webview over the browser is that it makes the experience seamless. If the client closes the login window, for example, we can detect that and raise an Exception. In any case, webview could be replaced by a browser if you really think it's best.
Edit: I'm also lobbying over at pywebview to make this process serverless, to make things cleaner.

Well the chances of accidentally closing the browser is present but very low. The end users will probably close the window if they decide against logging in with their accounts
I assume that if the browser is closed and login details aren't available we can proceed with the defaults without raising as exception

I'm not telling you to go with a browser yet - these are just my thoughts, I am probably  missing something here, if I am do let me know.

pywebview requires pythonnet to run which does not support python3.9 yet
/cc @MikhailZex

@AZMCode, majority of our users are py3.8 but the second highest fraction of users are py3.9, if pywebview isn't supported by py3.9 you'll have to switch to an alternative.

Understood. I'll work on it in a bit

It appears I have no other choice. Will fall back to spotipy's built-in OAuth2 module

Now the callback URL for OAuth is http://<IP_ADDRESS>:8080

:D

Please pull from upstream/dev

Please pull changes from upstream/dev

Nice! Happy to see this finally come through.


bot server defeans the players who dont have admin roles

Describe the bug
as soon as bot creates vcs for teams. the players other than admins are server deafened and cannot use voice activity. i have to mannualy remove their server defean and allow voice activity
To Reproduce
Steps to reproduce the behavior:
start a pug  players this error will show when players are moved to individual vcs.
Expected behavior
players shudnt be muted
Screenshots
https://cdn.discordapp.com/attachments/772754371938091018/776320751376138240/unknown.png
https://cdn.discordapp.com/attachments/772754371938091018/776320833056407552/unknown.png
https://cdn.discordapp.com/attachments/772754371938091018/776320913921802260/unknown.png

@thewickerman22, What is the Muted Role you have in the first screenshot. I believe that this issue comes from that.

removing the role fixed the issue thanks


Add Resource: "Security to go: a risk management toolkit for humanitarian aid agencies"  via: EISF

Security to go: a risk management toolkit for humanitarian aid agencies is intended to provide a simple, easy-to-use guide for non-security experts to quickly set up basic safety, security and risk management systems in new contexts or rapid onset emergency response situations. This guide is applicable to both international organisations and national agencies moving into new regions and/or setting up new programmes; it is especially applicable to environments where the risk levels have changed due to human or natural causes.
https://www.eisf.eu/library/security-to-go-a-risk-management-toolkit-for-humanitarian-aid-agencies/
Published: September 8, 2015 | By Davis, J. | EISF publication

Web Archive Link:
https://web.archive.org/web/20150911195119/https://www.eisf.eu/library/security-to-go-a-risk-management-toolkit-for-humanitarian-aid-agencies/


nvidia support

I want to know when will support the  nvidia 40x.

see https://apollo.baidu.com/community/article/1212


Ability to choose which input param to pass to a func

Is your feature request related to a problem? Please describe.
Yes, their are some frameworks where the event handlers pass the instance of the component as the first param.
Describe the solution you'd like
I'd like to see a function i could use to choose which param to take and pass to a containing func
Describe alternatives for how you do this now
I write in place funcs (_, a) => f(a)
Code
import { curry } from 'crocks'

const param = curry((index, f) => (...args) => f(args[index]))
const param1 = (index, f) => (...args) => f(args[index])

param(2, x => x + 2)(2, 3)
param1(2, x => x + 2)(2, 3, 4, 5, 6)

This is how Ramda implemented it

I'd like to chime in here with my opinion on this subject.
First, Crocks is a fantastic library, and I think adoption is going to start growing fast. It's beautiful, practical, accessible, and very much idiomatic javascript. With the added educational tools showing up on Youtube and Egghead, I'm very excited to watch the success of this project as it unfolds; and, I'd very much like to be a part of it.
I've been surveying different functional libraries in javascript for the past few weeks, specifically Sanctuary, Folktale, Crocks and various smaller libs from folks like Dr. Boolean and others. I have lot of different comments on each of them. Also, like many others coming to the deeper levels functional programing through javascript, I also have years of experience with utility libraries like Lodash, Lodash/fp, and Ramda.
While all of the above packages are javascript, and are somewhat compatible with each other, i.e., it is possible to use some parts of this lib and parts of that lib, there is one underlying decision that each of those libraries made that fundamentally determines compatibility with existing code bases and existing third-party libraries. That decision is how to handle currying.
The following are my arguments for why Crocks should adopt a philosophy of 100% or as close to 100% compatibility and interoperability with Ramda and Ramda style currying.

Ramda famously does not provide ADTs.
Crocks's focus is on providing high quality ADTs.
Ramda is idiomatic javascript.
Crocks is idiomatic javascript, more in the vein of a Professor Frisby where in contrast Sanctuary has taken a hard-line approach to be as much like Haskell as possible and Folktale is coming from a Scala type mind-set.
The point of 1-4 above is that Crocks and Ramda already have similar philosophies but cover separate and complimentary needs.
Sanctuary has abandoned its Ramda roots and has adopted simple currying in order to facilitate a complex run-time type checking system.
Simple curry style is fundamentally incompatible with Ramda style curry.
It is inadvisable for any one code base to adopt multiple styles of currying due to compatibility issues.
Almost all javascript programmers looking for ADTs will have experience using Ramda and probably have codebases that rely heavily upon Ramda style curry.
Ramda functions will defer to methods on ADTs if they exist; meaning, e.g., where refactoring a Ramda pointfree codebase, one would import Crock's constructor functions to replace some of Ramda's functions, such as find where the instantiation ADT is desired, there is no need to replace Ramda's map with Crock's map.

Obviously, much of the above is just opinion, but I think there is an opportunity here for Crocks to fill a real need in the javascript community: idiomatic javascript ADTs that are fully compatible with javascript's most popular FP utility library.

I had posted a big support for this but then removed it because I’ve been going back and forth. I can see a lot of pros and cons to the three different styles of currying, Ramda style, Simple Curry (Sanctuary), and the basic curry that Crocks currently uses. On balance, I think that the Ramda style is best for the consumer of the API. Of course the downside is that it increases the complexity of the library for the authors/contributors.
I think this is a good proposal and my only suggestion is that if Crocks does implement a placeholder it should be compatible with Ramda. I remember when I switched from lodash to Ramda it was a bit weird if you curried your own functions with one library and tried to use with the other.

I keep seeing this issue thinking that you’re  talking about a placeholder. Can’t you just use nthArg from Ramda?

Quite possibly but while for some it's common to use Ramda many people don't use it in conjunction with crocks. It's a bad habit to just grab all the libraries for the sake of a few functions and so if it would be valuable within the library it gets put forward as a discussion point.
Other than "it's already in Ramda" do you see a major issue with it?

TBH, It is my opinion that writing the in place function could read a bit better, because you can provide the name of the argument you are trying to capture and can see the "shape" of the function. That is the reason I am opposed to adding placeholders to crocks. Puts an undue cognitive burden, in my opinion, on anyone else (including future me) that has to parse and maintain it.
This could also open a can of "well what if I want the second and third".
I can say the same thing with this. BUT unlike placeholders, I am not totes opposed personally, if this gets support I do not see why this would be bad thing (other than possible additional cognitive load). Although we may wanna come up with a better name (says the person with no good examples of what that should be).

No issue with nthArg specifically. I suppose it's a difficult philosophical problem for library authors to decide just exactly where to draw these lines regarding compatibility/duplication with/of other libraries.
I will say that If Crocks is meant to completely supplant a utility library like Ramda, then it has a lot of missing functionality. It may serve to make a list of all the functions Ramda provides, separating the functions that should return an ADT, e.g., head, from those that merely operate on and return native arrays and objects or a provided data structure.
Speaking personally, I came looking into Crocks, Folktale, Sanctuary and others because Ramda does not provide Maybe and Either - simple as that. All of the functions that should return a Maybe can return undefined which is just not acceptable. The vast majority of Ramda's functions however don't suffer from that problem and I see no reason to duplicate them. I think it's okay to assume people will be tree-shaking.

closing for now till we find enough requests to validate adding it to the library


Application's configuration not applied (deis 1.12 with k8s schedular).

Hi all,
I am running on a weird problem, after I change a configuration with config:set, a new release is created and I can check that config:list return the right value, but when I check on the POD itself, it is a different configuration which is set (not even the one before I change the configuration, but sometime it is an old one.

I use deis 1.12.1 with k8s schedular

We've since fixed this in v2, and we're going to remove the scheduler tech previews in the LTS release. If you're using v1, please use the fleet scheduler as that's the only scheduler we support for v1 going forward. See #4860.


Test suite plays with hosts: localhost are not run

hosts: localhost is not being matched, so the test is skipped. This happens on vanilla Ansible runs as well, so appears to be a test suite bug rather than a Mitogen bug.
PLAY [regression/issue_655_wait_for_connection_error.yml] **********************
skipping: no hosts matched

https://github.com/mitogen-hq/mitogen/blob/0f34e2505b0226044564a4ea0b9e1b6edf0e20de/tests/ansible/regression/issue_655__wait_for_connection_error.yml#L7-L8

This is caused by the -l/--limit clause in https://github.com/mitogen-hq/mitogen/blob/0f34e2505b0226044564a4ea0b9e1b6edf0e20de/.ci/localhost_ansible_tests.py#L95-L97


Typo in instructions: Target a specific child element

Challenge http://beta.freecodecamp.com/challenges/waypoint-target-a-specific-child-of-an-element-using-jquery has an issue. Please describe how to reproduce it, and include links to screenshots if possible.
The instructions ask for the 1st element to be made to bounce, but the test indicates it tests against the 2nd element bouncing. Confirmed change to 2nd element passes test.

submitted a commit to fix this:
https://github.com/benflinn/freecodecamp/commit/87c4afcff5608b34ec086eb19437bb8dbcf1afe4

thanks @benflinn, much appreciated!


2.1 Sample Updates (Round 11)

Addresses #5495
Fixes #6398
Fixes #6876
Internal Review Topic

Windows Service topic updates
Sample to 2.1 and Razor Pages

@Tratcher AppInsights wasn't necessary, so I removed it. However, I wonder if that was there to gauge the use of Core for Windows Services. Do you know why it was in the original sample?
Thanks to @notes2c and @waxingsatirical for suggesting improvements to the topic.

I don't know why it was included before. It was likely copied from somewhere else.

@Tratcher There's a report by @gregbair that a Windows Service app can target netcoreapp2.1 ... I didn't see it in a blog post or the release notes. Can u confirm it? ... I'll patch this PR and the sample before you review this.

It's true. See https://docs.microsoft.com/en-us/dotnet/core/porting/windows-compat-pack and https://www.nuget.org/packages/Microsoft.AspNetCore.Hosting.WindowsServices/

Ok, thanks. I'll take care of it.

@Tratcher In addition to updating to netcoreapp2.1, I fleshed out the instruction for creating, starting, querying, stopping, and uninstalling the service.
It's ready whenever you are. No rush on my end ... I'm on ... what do they call it ... vacation??? ... sounds kind'a lame to me, but I guess I'll give it a try ... maybe. :grinning:

@Tratcher Ready for another :eye:.

So you fixed #6398 by no longer passing args to the WebHostBuilder?

@Tratcher I did it this way ... (you can see it in the diff for Program.cs) ...
var webHostArgs = args.Where(arg => arg != "--console").ToArray();

var host = WebHost.CreateDefaultBuilder(webHostArgs)
    ...

:point_up: Stolen from our friend @dasMulli.

Nevermind, I was looking at the wrong TFM


Fix links in webgazer docs

Fix some broken links in docs for the 3 webgazer plugins. Built docs locally to test.

Thanks @alisdt !
If you wouldn't mind updating the PR to include the .md extension on the links that would be helpful. We've learned that if we include the extension then mkdocs will check for broken links and it works nicely with the versioned docs. Clearly we haven't caught all of the cases where we neglected the extension yet.


Fails With Error

App doesn't work for me.  Output as shown below:
Running checks (around 1 second)....
Creating image '/tmp/macOS-Mojave.dmg' (around 20 seconds, version 14.0.11, will need sudo)...already exists.
Creating iso '/tmp/macOS-Mojave.iso.cdr' (around 25 seconds)....
ERROR: line 298 - command '[ $# -ne 0 ]' exited with status: 1.
ERROR: In :: called at line 0.
DEBUG: From function :: (line 0).
Any ideas?

The interesting part is Error erasing disk error number (22, 0). Also hdiutil: convert failed - Resource temporarily unavailable. Need some time to investigate on this. Have you tried after rebooting the machine?

So after a reboot of the machine I was able to progress further with installation. At present I have the grey screen that say's "MacOS Mojave Beta - Select the Disk Where You Want to Install MacOS."
However the install process seems to hang at this point (or is taking a very long time). Presently the screen has been at this point for at least 5 mins with no sign of progress. I'm installing on a Late 2013, 13" MBP. Is there a way to tell whether the install process is hung?
Thanks for your assistance with this by the way.

Actually it appears that the "Install" arrow is greyed out and is not active. I can select "back" from the screen which takes me back to the "Agree to License" selection however when I select "Agree" I end up back at the install screen with the greyed out button.
A problem with the configuration of the virtual machine?

Have you formatted the drive? See Step 2 at https://github.com/AlexanderWillner/runMacOSinVirtualBox/blob/master/README.md#step-by-step-guide

Yeah, just realized that I had missed this step.  Can't seem to get back to the screen that offered disk utilities though - seems like I may need to go through the entire configuration process once more?
I'll give it a go a little later and let you know how I fare.
Thanks.

Actually, just clicking on ‚back’ or probably rather ‚quit‘ will be enough. No need to restart or do the whole process again.


Doesn't work on Windows

Default settings are empty. Shortcuts behavior is Windows default, just switching all opened windows.

+1, doesn't work.

+1 doesn't work

In windows it shows program switcher. Please change shortcuts or help us to change shortcut. Thanks

+1 README.md says:

User can change the default key binding at Preferences -> Package Settings -> Extended Tab Switcher -> Key Bindings User

When I look for commands @ Extended Tab Switcher -> Key Bindings -> Default, it's just opens a blank file.
Is there another way to determine what the "command" is for switching tabs?


🌱 Bump golang to v1.22

This bump is done since golang version v1.21 will be deprecated in August.
Fixes #1828

Seems like a Prow config update is needed first! The PR for prow config update can be found here: https://github.com/metal3-io/project-infra/pull/821
@smoshiur1237 do I remember correctly that the configuration has still to be applied manually after the PR merges on project-infra side?

Seems like a Prow config update is needed first! The PR for prow config update can be found here: metal3-io/project-infra#821
@smoshiur1237 do I remember correctly that the configuration has still to be applied manually after the PR merges on project-infra side?

I think after we have changed the config in project-infra, we need to apply it manually in PROW.

/test ?

/test generate

/test ?

/retest

/test unit

/retest

/test metal3-centos-e2e-integration-test-release-1-7

/lgtm